본문 바로가기

Study/Embedded

RISC와 CISC

컴퓨터를 사용하면서 간혹 접하는 단어중에 RISC(Reduced Instruction Set Computer) 와 CISC(Complex Instruction Set Computer)가 있습니다. 마이크로 프로세서의 명령어 처리 방식을 나타내는 이 말은 과거 인텔 펜티엄과 애플 PowerPC 와의 경쟁 때, 그리고 최근의 펜티엄과 트랜스메타의 크루소 경쟁 등에서도 자주 등장하였던 바 있습니다.

  일반적으로 우리가 사용하는 IBM 호환기종의 데스크 탑이나 상당수 노트북의 CPU 는 CISC 방식인 경우가 많습니다. CISC 방식은 연산에 처리되는 복잡한 명령어들을 수백개 이상 탑재하고 있는 마이크로 프로세서입니다. 하지만 CISC 는 명령어 개수의 증가에 따라 프로세서 내부구조가 매우 복잡하게 되고 고속으로 작동되는 프로세서를 만들기가 힘든 편입니다. 따라서 이런 단점을 극복하기 위해 등장한 것이 RISC CPU 입니다.

  CISC 방식의 경우 사용되는 모든 명령어들을 내장하고 있지만 실제 주로 사용되는 명령어들은 그중 10% 이하에 불과합니다. 이에 착안해서 만들어진 것이 RISC 방식으로서 사용빈도가 높은 명령어들만을 내장하여 CPU 를 구성하게 됩니다. RISC 에 대해 간단히 설명하면 축약형 프로세서라고 할 수 있는데 CISC 처럼 많은 수의 단순한 명령어들을 탑재하는 것이 아니라 여러 종류의 명령을 포괄해 처리할 수 있는 작은 수의 명령어만을 탑재하는 방식이라고 할 수 있습니다.

  초기에는 단순히 RISC 가 CISC 를 간소화시킨 정도로 보기도 했지만 RISC 방식으로 CISC 에서 처리할 수 있는 기능들을 모두 처리할 수 있게 됨에 따라 RISC 방식이 점차 주목받게 되었습니다. RISC 방식은 명령어 수를 줄이는 대신 CPU 내부 캐쉬, 수퍼스칼라, 파이프 라이닝, 비순차 명령 실행, 레지스터 개수 증가 등 CPU 의 근본적인 기능을 향상시켜 CISC 에 비해 월등히 높은 처리 속도를 가질 수 있게 되었습니다.

  우리가 흔히 볼 수 있는 CPU 들중에서 인텔의 x86 계열 CPU 와 AMD 의 인텔 호환 CPU 등은 CISC 방식으로, 트랜스메타의 크루소와 애플의 PowerPC 등은 RISC 방식으로 분류할 수 있습니다. 개인용 컴퓨터에서 사용되는 CPU 중 대표적인 RISC 방식이라고 할 수 있는 PowerPC(Power Optimized with Enhanced RISC PC)는 애플과 IBM 그리고 모토로라가 합작해서 만든 CPU 입니다. 이 PowerPC 의 경우 CISC 방식인 인텔의 x86 CPU 와 비교하면 같은 클럭에서 수배 이상의 처리속도를 보여주고 있습니다. 이런 빠른 속도 때문에 워크스테이션이나 대형 서버 같은 컴퓨터들은 대부분 RISC 방식의 CPU 를 사용하고 있습니다.

  인텔의 x86 계열 CPU 들의 경우 CISC 방식의 구조를 유지함에 따라 현재는 비슷한 수준의 RISC CPU 에 비해 탑재된 트랜지스터가 수배 이상 많아지게 되었습니다. 트랜지스터 수가 많아지면 그만큼 높은 집적도 기술이 필요하게 되고 성능 향상에도 여러 제약이 따르게 됩니다. 그래서 인텔에서도 CISC 방식만으로는 속도향상에 한계가 있다고 판단하여 펜티엄 이후부터는 CISC CPU 에 RISC 구조의 일부를 채용하여 사용하고 있습니다. 이런 제품들을 CISC 와 RISC 가 혼합되었다고 하여 CRISC 라고 부르기도 합니다. 사실상 최근에 출시되는 CPU 중에는 순수하게 CISC 방식만으로 구성된 제품은 거의 없는 편이며 대부분 RISC 와 혼합된 방식을 채용하고 있어 CISC 와 RISC 의 구분이 점차 모호해지고 있는 편입니다.

  RISC 의 장점들이 많아 이런 점을 설명하다보니 CISC 는 무조건 비효율적인 방식이라고 보기 쉽지만 그런 것은 아닙니다. CISC 는 수백개의 명령어를 내장함에 따라 이 명령어들을 이용해 프로그램을 짜기가 보다 편리하고 CPU 를 좀 더 복잡하고 세밀하게 다룰 수 있다는 장점이 있습니다. 또 하위호환성을 갖게 되고 다양한 환경에서도 제 성능을 발휘할 수 있습니다.

  반면 RISC 방식은 일부 명령어들만 포함함에 따라 구조는 효율적이게 되었지만 하위 호환성을 위해서는 보통 에뮬레이션 방식을 사용하게 되고 이런 작업에서는 CISC 에 비해서 성능이 떨어지게 됩니다. 즉 RISC 방식은 특정한 목적에 특화된 방식이기 때문에 다양한 용도로 사용하기에는 다소 적합하지 않다고 할 수 있습니다. 인텔 CPU 에 비해 월등히 빠른 PowerPC 가 실패한 가장 큰 이유도 호환성면에서 x86 CPU 에 비해 떨어지기 때문이었습니다.

  앞으로도 효율성 문제 때문에 점차 RISC 방식을 사용하는 경우가 점차 늘어날 것으로는 생각할 수 있습니다. 하지만 개인용 컴퓨터와 같이 호환성이 절대적으로 필요한 PC 환경에서는 당분간 CISC 가 강세를 보이게 될 것이며 좀 더 전문적인 용도에서는 효율적이고 빠른 성능의 RISC 가 우위를 점할 것으로 예상됩니다.


출처 - http://www.nbinside.com/study/132.htm

'Study > Embedded' 카테고리의 다른 글

SPECIAL FUNCTION REGISTER MAP  (0) 2010.07.15
MPU와 MUC의 차이점  (0) 2010.07.12
Mango64 보드에 안드로이드 포팅  (0) 2010.03.04
WindowsCE ActiveSync 하는방법  (0) 2010.03.04