티스토리 뷰

기억하자정보

CISC와 RISC

LANIAN 2006. 12. 15. 14:54
RISC [ reduced instruction set computer ]  

범용 마이크로프로세서의 명령세트를 축소하여 설계한 컴퓨터.

범 용 마이크로프로세서를 구성하는 요소에는 명령세트, 레지스터, 메모리 공간 등이 있다. 이중 명령세트는 RISC와 CISC(complex instruction set computer)의 2가지로 크게 분류할 수 있다. CISC란 소프트웨어 특히, 컴파일러 작성을 쉽게 하기 위해 하드웨어화할 수 있는 것은 가능한 모두 하드웨어에게 맡긴다는 원칙 아래 설계된 컴퓨터이다. 반면 RISC는 실행 속도를 높히기 위해 가능한 한 복잡한 처리는 소프트웨어에게 맡기는 방법을 택한 컴퓨터이다.

RISC 의 특징을 CISC와 비교하여 알아보면 다음과 같다. 첫째, 명령의 대부분은 1머신 사이클에 실행되고, 명령길이는 고정이며, 명령세트는 단순한 것으로 구성되어 있는데, 가령 메모리에 대한 액세스는 Load/Store 명령으로 한정되어 있다. 둘째, 어드레싱 모드가 적으며, 마이크로 프로그램에 의한 제어를 줄이고, 와이어드 로직을 많이 이용하고 있다. 반면에 레지스터수가 많으며 마이크로 프로그램을 저장하는 칩의 공간에 레지스터를 배치한다. 셋째, 어셈블러 코드를 읽기 어려울 뿐 아니라 파이프라인을 효과적으로 사용하기 위해서 일부 어셈블러 코드를 시계열로 나열하지 않은 부분이 존재하여 컴파일러의 최적화가 필요하다. 최적화를 하지 않으면 파이프라인을 유효하게 이용할 수 없고, RISC을 사용하는 의미가 없어진다.


CISC [ complex instruction set computer ]  

여러 가지 복잡하고 다양한 명령어 회로로 구성된 중앙처리장치의 한 종류.

CPU 는 컴퓨터 시스템의 핵심 부분으로서 각종 연산을 수행하며 기억장치에 저장된 명령을 읽어서 수행하는 역할을 한다. 초기의 컴퓨터는 하드웨어를 최소화하기 위해 작고 간단한 명령어 집합을 사용하였다. 이후 고급 언어를 사용하면서. 기계어로의 번역 과정을 단순화하면서 전반적인 성능을 향상시키는 과정에서 명령어 집합이 복잡해졌다.

CISC는 마이크로프로그래밍을 통해 고급 언어에 각기 하나씩의 기계어를 대응시킴으로써 명령어 집합이 커지고, 가변 길이의 다양한 명령어를 가진다. 그러나 주로 쓰이는 명령어는 일부에 불과하고, 구조가 복잡하므로 가격이 비싸고 전력소모도 크다는 단점이 있다.

따라서 자주 쓰이지 않는 명령어들은 소프트웨어로 구현하고 자주 쓰이는 명령어만 간략화하여 CPU의 성능을 높인 RISC(reduced instruction set computer)가 고안되었다. 펜티엄을 포함한 인텔 계열의 모든 프로세서는 CISC 프로세서이다. RISC 프로세서는 IBM의 System/6000 기종과 매킨토시 컴퓨터에 사용되고 있다.


출처 : 네이버 백과사전


=============================
추가적인 글
=============================

컴 퓨터를 사용하면서 간혹 접하는 단어중에 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://nbinside.com/study/132.htm
댓글
안내
궁금한 점을 댓글로 남겨주시면 답변해 드립니다.