RISC

위키백과 ― 우리 모두의 백과사전.

RISC(reduced instruction set computer)는 마이크로프로세서를 설계하는 방법 중의 하나로, CPU의 명령어 갯수를 줄여, 하드웨어 구조를 좀 더 간단하게 만드는 방식을 사용한다. SPARC, MIPS 등의 아키텍처에서 사용된다.

전통적인 CISC CPU에는 프로그래밍을 돕기 위한 많은 개수의 명령과 주소 모드가 존재하지만, 실제로 사용되는 명령은 그 중 한정된 극히 몇 안 되는 명령이라는 사실을 바탕으로, 명령 집합을 간단한 몇 개의 명령으로 줄이고 많은 수의 명령어에서 주소 모드를 생략함으로써 프로세서의 전체적인 고속화 및 파이프라이닝를 지향한다. 또한, 메모리의 동작속도에 비해 CPU의 속도가 비약적으로 빨라짐에 따라, 메모리 접근 회수를 줄이는 일은 큰 성능향상을 가져온다. RISC는 CISC보다 더 단순한 구조 덕분에 더 많은 레지스터 및 큰 용량의 캐쉬를 가지고 있어 메모리 접근 회수가 적다.

[편집] 특징

  • 고정 명령어 길이(빠른 명령어 해석을 위해)
  • 모든 연산은 1클럭으로 실행한다.(파이프라인을 대기(wait)시키지 않는다)
  • 연산은 ­레지스터간 연산만.(회로를 단순화하고 메모리 접근을 줄이기 위해)
  • 와이어드 로직으로 구성.(고클락을 가능하게 한다)
  • 레지스터가 극단적으로 많다.(메모리 접근을 줄이기 위해)
  • 지연 실행(파이프라인 해저드(hazard)를 피하기 위해)

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

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

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

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

[편집] RISC 철학에 따라 설계된 프로세서들