{{위키데이터 속성 추적}}
{{출처 필요|날짜=2013-02-19}}
{{다른 뜻 넘어옴|RISC}}
[[파일:KL Sun UltraSparc.jpg|섬네일|썬 UltraSPARC: RISC 마이크로프로세서의 하나]]
'''축소 명령어 집합 컴퓨터'''({{llang|en|Reduced Instruction Set Computer, RISC, 리스크}})는 CPU 명령어의 개수를 줄여 명령어 해석시간을 줄임으로써 개별 명령어의 실행속도를 빠르게 한 컴퓨터다. RISC의 중요한 목표는 [[명령어 파이프라인]]을 통해 개별 명령어의 실행속도를 높여 [[복잡 명령어 집합 컴퓨터]] (CISC)에 비해 더 많은 명령어를 처리해야 하는 단점을 상쇄하는 것이다. RISC는 [[마이크로프로세서]]를 설계하는 방법 가운데 하나이며, [[RISC-V]], [[SPARC]], [[MIPS 아키텍처|MIPS]] 등의 아키텍처에서 사용된다.

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

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

== 역사 ==
1960년대로 거슬러 올라가면 수많은 시스템들이 최초의 RISC 아키텍처라고 볼 수도 있는데, 이는 부분적으로 [[로드/스토어 아키텍처|로드/스토어]] 접근 방식에 기반을 두기 때문이다.<ref name=Fisher55 >{{서적 인용 |title=Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools |url=https://archive.org/details/embeddedcomputin00fish_859 |first=Joseph A. |last=Fisher |first2=Paolo |last2=Faraboschi |first3=Cliff |last3=Young |year=2005 |isbn=1558607668 |page=[https://archive.org/details/embeddedcomputin00fish_859/page/n91 55] }}</ref> RISC라는 용어는 [[버클리 RISC]] 프로젝트의 [[데이비드 패터슨]]이 만든 용어이지만 비슷한 개념은 이미 그 이전에 등장하였다.<ref name=coinrisk >{{서적 인용 |first=Edwin D. |last=Reilly |title=Milestones in computer science and information technology |publisher= |year=2003 |isbn=1-57356-521-0 |pages=[https://archive.org/details/milestonesincomp0000reil/page/50 50] |url=https://archive.org/details/milestonesincomp0000reil|url-access=registration }}</ref>

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

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

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

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

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

== RISC 형태에 따라 설계된 프로세서들 ==
* [[MIPS 아키텍처|MIPS]] 계열 - 대부분의 [[SGI 워크스테이션|SGI]] 컴퓨터, [[플레이스테이션]], [[플레이스테이션 2]], [[닌텐도 64]] 등에 쓰임.
* [[IBM]] [[IBM 파워|파워]] 계열 - 대부분의 IBM [[슈퍼컴퓨터]], 메인프레임에 쓰임.
* [[모토롤라]]와 [[IBM]]의 [[PowerPC]] 시리즈 - 이전의 [[애플]] [[매킨토시]] 컴퓨터, [[엑스박스 360]], [[닌텐도 Wii]], [[플레이스테이션|플레이스테이션 3]] 등에 쓰임.
* [[썬 마이크로시스템즈|썬]] 사의 [[SPARC]]와 [[UltraSPARC]]의 후기 기종.
* [[휴렛 팩커드]] 사의 [[PA-RISC]]
* [[DEC 알파]]
* [[ARM 아키텍처|ARM]] 계열 - 최신 [[팜 파일럿]] PDA 시리즈. [[게임보이 어드밴스]], [[닌텐도DS]]과 같은 [[닌텐도]]사의 소형 게임기 하드웨어. 한국 [[게임파크 홀딩스|게임파크]]사의 [[GP32]] 하드웨어, 스마트폰, 태블릿 PC.

== 같이 보기 ==
* [[RISC OS]]

== 각주 ==
{{각주}}

{{RISC 아키텍처}}
{{CPU 기술}}

{{전거 통제}}

[[분류:마이크로프로세서]]
[[분류:명령어 집합 구조]]