RISC
위키백과 ― 우리 모두의 백과사전.
RISC(reduced instruction set computer)는 마이크로프로세서를 설계하는 방법 중의 하나로, CPU의 명령어 갯수를 줄여, 하드웨어 구조를 좀 더 간단하게 만드는 방식을 사용한다. SPARC, MIPS 등의 아키텍처에서 사용된다.
전통적인 CISC CPU에는 프로그래밍을 돕기 위한 많은 개수의 명령과 주소 모드가 존재하지만, 실제로 사용되는 명령은 그 중 한정된 극히 몇 안 되는 명령이라는 사실을 바탕으로, 명령 집합을 간단한 몇 개의 명령으로 줄이고 많은 수의 명령어에서 주소 모드를 생략함으로써 프로세서의 전체적인 고속화 및 파이프라이닝를 지향한다. 또한, 메모리의 동작속도에 비해 CPU의 속도가 비약적으로 빨라짐에 따라, 메모리 접근 회수를 줄이는 일은 큰 성능향상을 가져온다. RISC는 CISC보다 더 단순한 구조 덕분에 더 많은 레지스터 및 큰 용량의 캐쉬를 가지고 있어 메모리 접근 회수가 적다.
[편집] 특징
- 빠른 명령어 해석을 위해 고정 명령어 길이를 사용한다.
- 모든 연산은 1클럭으로 실행하므로 파이프라인을 대기시키지 않는다.
- 연산은 레지스터간 연산만 실행하며 메모리 접근은 save load 등 몇개의 명령어로 제한한다. 이로서 회로가 단순화되고 불필요한 메모리 접근을 줄일 수 있다.
- 마이크로코드 로직을 사용하지 않아 높은 클럭을 유지할 수 있다.
- 메모리 접근을 줄이기 위해 많은 수의 레지스터를 사용한다.
- 파이프라인 해저드를 피하기 위해 지연 실행 기법을 사용한다.
CISC에서는 하드웨어에서 스택을 지원하지만, RISC에는 없다. 스택 조작(데이터의 PUSH, POP이 발생할 때 레지스터의 퇴피, 서브루틴에 점프 했을 때의 리턴 주소의 보존, 복귀)의 처리는 단순한 명령을 조합하여 소프트웨어로 구현한다. 명령의 순서로 인해 발생하는 파이프라인 해저드는 컴파일시 최적화 과정에서 제거된다.
명령어의 길이를 고정하면 파이프라인 처리의 고속화를 꾀할 수 있지만, 컴파일러의 최적화 과정이 복잡해지기 쉽다.
RISC는 대부분의 현대 프로세서 디자인에 채택되고 있고, 또한 비교적 전력 소모가 적기 때문에 임베디드 프로세서에도 채택되고 있다.
근래에는, 펜티엄과 같은 CISC CPU도 내부적으로는 복잡한 명령들을 단순한 명령들로 나누어 파이프라인에서 처리하기 때문에, 실제 작동 원리는 RISC와 같다.
[편집] RISC 철학에 따라 설계된 프로세서들
- MIPS 시리즈 - 대부분의 SGI 컴퓨터, 플레이스테이션, 플레이스테이션 2, 닌텐도 64 등에 사용
- IBM POWER 시리즈 - 대부분의 IBM 수퍼컴퓨터, 메인프레임에 사용
- 모토롤라와 IBM의 PowerPC 시리즈 - 현대의 애플 매킨토시 컴퓨터, Xbox 360, 닌텐도 레볼루션, 플레이스테이션 3 등에 사용.
- 썬 사의 SPARC와 UltraSPARC의 후기 기종.
- 휴렛 팩커드 사의 PA-RISC
- DEC 알파
- ARM 시리즈 - 최신 팜 파일럿 PDA 시리즈. 게임보이 어드밴스, 닌텐도DS 등 닌텐도 사의 소형 게임기 하드웨어. 한국 게임파크 사의 GP32 하드웨어.
RISC 아키텍처들 |
---|
파워 아키텍처 · ARM 아키텍처 · 알파 프로세서 · Atmel AVR · MIPS 아키텍처 · PA-RISC · PIC 마이크로컨트롤러 · SPARC |