"열혈강의 윈도우즈 시스템 프로그래밍"이란 책을 보면서 의문에 빠져 들었다. 

책 내용 중 내 눈에 들어온 한 문장이 있었는데

"인텔의 32비트, 64비트 CPU 뿐만 아니라, 근래에 임베디드 환경에서 사용되는 대부분의 CPU가 RISC 구조이다."

위의 문장이었다.


난 x86은 CISC 구조이고 ARM, MIPS 등등 많은 프로세서가 RISC 구조인데 어째서 저런 말이 나왔나 생각하게 되었다.

인터넷 검색 결과 아래와 같은 문장을 발견할 수 있었다.


사실상 CISC와 RISC의 구분은 모호하다. 다만, 이전의 아키텍쳐를 계속 발전시켜온 형태의 CPU, 즉 8086부터 발전해온 x86계열을 CISC, 비교적 최근에 개발된 CPU들을 RISC라 부르게 되는 경향이 있다. 현재 둘의 경계가 모호해진 이유는 최근의 CISC CPU들이 성능향상의 방안으로 RISC의 기술들을 채용했기 때문이다. 


위와 같다면 현재 아니 예전부터 CISC는 그 구조의 한계성 때문에 성능 향상을 꾀할 수 없게 되었고 RISC의 기술을 채용했다는 것이다.

RISC는 회로가 간단해 지고 성능이 좋아진다. 단점으로는 프로세서간에 차이가 많기 때문에 명령어가 달라서 프로그램을 공유해서 사용하기 어렵다는 것이다.

CISC의 장점은 범용성이 좋은 대신에 성능은 느리고 회로가 복잡해진다.

CISC는 성능 향상을 꾀하기 위해 슈퍼스칼라 구조를 도입하는 한편 RISC 기술을 채용했다. (슈퍼스칼라가 제대로 동작하려면 RISC 구조여야 한다.)

그래서 현재는 RCISC라는 괴상한 이름을 갖게 되었다.


예전에 선보였던 프레스캇은 엄청난 열을 발생하는 CPU였다. 오죽하면 "어머니 댁에 프레스캇 한대 놔드려야 겠어요". 이말이 나왔을까.

이때가 30단계 파이프라인을 갖는다고 했다. 현재 사용되는 'i7' 린필드의 파이프라인은 14단계라고 한다. 그 때문에 클럭은 줄었지만 성능은 예전보다 훨씬 뛰어나다. (게다가 소모 전력도 더 적다.)


결론은 CISC와 RISC는 각각 장단점을 갖고 있으며 우리가 가장 많이 사용하는 IA-32(IA-32는 x86으로 불린다.)은 RCISC이다. CISC의 길다란 명령을 잘게 잘라서 RISC 처럼 처리한다.


다른 페이지가 있는데 거기도 둘러 보도록

'Programming > 이것저것' 카테고리의 다른 글

Handshking  (0) 2010.03.19
Sliding Window  (0) 2010.03.19
CISC, RISC, CRISC(EPIC)  (0) 2010.03.18
펜티엄부터 린필드 i5까지, 인텔 어떻게 걸어왔나  (0) 2010.03.18
MTU  (0) 2010.03.18

+ Recent posts