축소 명령어 집합 컴퓨터

위키백과, 우리 모두의 백과사전.
Ykhwong (토론 | 기여)님의 2014년 2월 23일 (일) 23:06 판

RISC(Reduced Instruction Set Computer)는 CPU 명령어의 개수를 줄여 하드웨어 구조를 좀 더 간단하게 만드는 방식으로, 마이크로프로세서를 설계하는 방법 가운데 하나이며, SPARC, MIPS 등의 아키텍처에서 사용된다.

전통적인 CISC CPU에는 프로그래밍을 돕기 위한 많은 수의 명령어과 주소 모드가 존재했다. 그러나 그중에서 실제로 쓰이는 명령어는 몇 개 되지 않는다는 사실을 바탕으로, 적은 수의 명령어만으로 명령어 집합을 구성한 것이 RISC이다. 그래서, RISC는 CISC보다 구조가 더 단순하다. 복잡한 연산도 적은 수의 명령어들을 조합하는 방식으로 수행이 가능하다.

그리고 CISC 형식의 CPUROM소프트웨어적으로 적재된 내부 명령어들을 하드웨어적으로 구성하여 제어기가 제거된 부분에 프로세서 레지스터 뱅크와 캐시를 둔다. 이렇게 함으로써 CPU가, 상대적으로 느린 메인 메모리에 접근하는 횟수를 줄여주어 파이프라이닝 등 시스템 수행속도가 전체적으로 향상된다.

특징

  • 고정 길이의 명령어를 사용하여 더욱 빠르게 해석할 수 있다.
  • 모든 연산은 하나의 클럭으로 실행되므로 파이프라인을 기다리게 하지 않는다.
  • ­레지스터 사이의 연산만 실행하며, 메모리 접근은 세이브(save), 로드(load) 등 명령어 몇 개로 제한된다. 이렇게 함으로써 회로가 단순해지고, 불필요한 메모리 접근을 줄일 수 있다.
  • 마이크로코드 논리를 사용하지 않아 높은 클럭을 유지할 수 있다.
  • 많은 수의 레지스터를 사용하여 메모리 접근을 줄인다.
  • 지연 실행 기법을 사용하여 파이프라인의 위험을 피한다.

CISC에서는 하드웨어가 스택을 지원하지만, RISC에는 없다. 스택 제어(데이터의 PUSH, POP이 발생할 때 레지스터의 퇴피, 서브루틴에 점프했을 때의 리턴 주소의 보존, 복귀)의 처리는 단순한 명령을 조합하여 소프트웨어로 구현된다. 명령어의 순서로 인해 발생할 수 있는 파이프라인의 위험은 컴파일하는 동안 최적화되어 사라진다.

명령어의 길이를 고정하면 파이프라인 처리의 고속화를 꾀할 수 있지만, 컴파일러의 최적화 과정이 복잡해지기 쉽다.

RISC는 대부분의 현대 프로세서 디자인에 채택되고 있고, 또 비교적 전력 소모가 적기 때문에 임베디드 프로세서에도 채택되고 있다.

펜티엄과 같은 CISC CPU도 내부적으로는 복잡한 명령들을 단순한 명령들로 나누어 파이프라인에서 처리하기 때문에, 실제 작동 원리는 RISC와 같다.

RISC 형태에 따라 설계된 프로세서들

같이 보기