김상면 님이 쓰신 글 :
: 시스크 보다 리스크가 성능이 더 좋다고 하는데...
: 왜 우리가 사용하는 IBM은 시스크 방식을 사용하는지 궁금합니다.
:
: 물론 호환성과 프로그램의 용이성 누구나 잘 알고 있지만...
: 제가 생각하기엔 요즘 컴퓨터 시스템이 워낙에 메모리량도 좋고 속도도 빨라서 ...
: 이런거는 문제가 되지 않을 거라는 생각이 드는데...
: 고수님의 생각은 어떠신지...
:
: 그럼
RISC는 Hardwired 지요. 즉, 명령 회로 하나 하나를 디자이너가 직접 디자인 해서 집어 넣게 됩니다.
A라는 다소 복잡한 어떤 기능을 수행하기 위해 명령어 개수가 많아져야 하는 단점은 있을 수 있겠지만,
능력있는 디자이너의 설계라면, 이보다 더 좋은 방법은 없습니다.
앞서 어떤 분이 RISC가 더 비싸진다라고 말씀을 하셨는데, 이는 양산을 고려하지 않은 문제인듯 합니다.
CISC는 내부에 명령어를 처리할 수 있는 명령어 처리 전담 프로세서를 갖고 있는 형식이기에
업그레이드나 명령어의 추가가 용이한 부분이 있긴합니다만,
즉, 덩치가 커집니다.
칩을 개발하는 공정이, 와이퍼 하나에 여러개의 칩을 사진기술로 집적해 뽑아내는 방식이니까요.
티비 같은데서 흔히 볼 수 있는 실리콘 혹은 게르마늄 원기둥을 잘게 썬 녀석을 와이퍼라고 하죠?
그 와이퍼는 순수 결정이 아닌 불순물 덩어리이므로, 와이퍼 크기만한 커다란 칩을 찍어 내게 되면
100% 불량이 나오게 되는게 자명한 일입니다.
즉, 한장의 (거의 원형의) 와이퍼에서 칩의 크기(다이 사이즈 라고 합니다)를 작게 만들 수록
보다 많은 칩을 얻을 수 있는것이죠.
가령, 불순물 네 개가 적당히 흩어져 있을 때, 칩을 네 개 찍어 낸다면, 100% 불량,
8개를 찍어낸다면, 50% 불량이겠죠.
이런 와이퍼 상의 칩을 얻어내는 수율을 Yield Ratio라고 하고, 수율을 높이기 위해서는
거듭 말씀드리지만, 다이사이즈를 작게 하는 기술이 필수적입니다.
따라서, CISC처럼 별도의 명령어 처리기를 갖는 구조는 다이싸이즈가 커질 수 밖에 없고,
최적화된 크기의 최소 명령어군인 RISC보다 비싸지게 됩니다.
그럼에도 불구하고, 초기 RISC의 특징들이었던 Pipeline 이나 Scalar 기법들이
CISC에 많이 도입되어 CISC와 RISC간의 갭이 준 것과, 하위 호환성을 고려하면서
새로운 기능을 추가하기 용이한점을 바탕으로 CISC쪽의 시장 점유율이 많이진 것이죠.
다르게 생각하면,
RISC는 기계어로 소프트웨어를 개발하는 것과 같고,
CISC는 C언어와 같은 컴파일러로 소프트웨어를 개발하는 것과 같습니다.
성능, 용량으로 볼 때 전자가 우수하지만, 유저의 요구에 얼마만큼 빠르게 대응할 수 있느냐는
후자가 나은것이 자명한 일이겠지요.
가까운 미래의 언젠가, 사용자의 요구와 같은 필요요소들의 정의가 나름대로 Fix된다면,
보다 최적화된 RISC칩이 시장을 주도하는 날이 올 수도 있을 것 같습니다.
* 여담이지만, 과거 RISC를 사용한 제품들의 프로그램 용량과
CISC를 사용한 제품들의 프로그램 용량을 비교해 보면, 오히려 RISC쪽이 용량이 더 적었던
(적은 명령어를 여러개 사용해야 함에도 불구하고) 일이 있었습니다.
그 이유는, CISC쪽의 운영체제가 제공해주는 함수(API)가 허접했기 때문이지요.
(CISC쪽 Register들이 각각의 사용목적이 정해져있기 때문에 대피 코드들이 많이 필요하기 때문이기도
합니다만)
즉, 해당 프로세서의 성능은, 그것을 제어할 운영체제의 지원 없이는 보장될 수 없다는걸 의미합니다.
MS가 만들면 다르죠. (제 아무리 CISC라도 API가 허접한 이상 용량이 불어날 수 밖에 없습니다)
반대로 Rhapsody 나 MacOS쪽 API가 아름답다고 여긴 것은 저만의 생각일지도 모르겠네요.
|
리스크쪽은 하드웨어단에서 최적화를 한다면 시스크쪽은 컴파일러 쪽에서 최적화를 한다고 생각했을때 시스크쪽이 아무래도 비용대비효율에서 더 높겠죠..
최근의 CPU들은 시스크와 리스크가 어느정도씩은 혼합되어있다고도 보여집니다^6