축소 명령어 집합 컴퓨터는 (영어: Reduced Instruction Set Computer, RISC, 리스크) 컴퓨터 중앙 처리 장치(CPU)의 명령어 집합 아키텍처(ISA) 중 하나로, 적고 단순한 명령어들을 사용하여 컴퓨터의 처리 속도를 높이는 것을 목표로 한다. 이는 복잡한 명령어 집합 컴퓨터(CISC)와 대조되는 개념이다.
주요 특징
- 단순한 명령어 집합: RISC 프로세서는 소수의, 그리고 간단한 명령어들로 구성된 명령어 집합을 사용한다. 각 명령어는 특정하고 단순한 작업을 수행하며, 대부분은 고정된 길이를 가진다.
- 단일 사이클 실행: 대부분의 RISC 명령어는 하나의 클록 사이클 내에 실행될 수 있도록 설계된다. 이는 파이프라이닝(pipelining) 기법을 효율적으로 적용하는 데 유리하다.
- 로드/스토어 아키텍처: 메모리 접근은 '로드(load)'와 '스토어(store)' 명령어에 의해서만 이루어진다. 다른 모든 연산(산술, 논리 등)은 CPU 내의 레지스터 간에 수행된다. 이는 메모리 접근 횟수를 줄이고 파이프라인 효율을 높인다.
- 많은 범용 레지스터: RISC 아키텍처는 많은 수의 범용 레지스터를 제공하여 데이터를 CPU 내부에 더 오래 보관할 수 있게 함으로써 메모리 접근 횟수를 줄인다.
- 하드웨어 제어 논리: 명령어 디코딩 및 실행을 위한 제어 논리가 대부분 하드웨어로 구현되어 있어(하드와이어드) CISC의 마이크로코드 방식보다 더 빠르다.
- 파이프라이닝 효율성: 명령어의 단순성과 고정된 길이는 명령어 파이프라인을 쉽게 구현하고 효율적으로 작동하게 하여 동시에 여러 명령어의 다른 단계를 처리할 수 있도록 한다.
CISC와의 대비
CISC(Complex Instruction Set Computer)는 복잡하고 다양한 명령어들을 사용하여 단일 명령어로 복잡한 작업을 수행할 수 있도록 설계되었다. 이는 컴파일러의 부담을 줄이고 메모리 사용 효율을 높이는 데 초점을 맞췄다. 반면, RISC는 명령어 자체를 단순화하고, 복잡한 작업은 여러 개의 단순한 RISC 명령어를 조합하여 수행하는 방식을 취한다. 이는 컴파일러의 역할이 더욱 중요해진다는 것을 의미한다.
장점
- 높은 성능: 단순한 명령어와 효율적인 파이프라이닝 덕분에 클록당 더 많은 명령어를 처리할 수 있어 전반적인 성능이 향상된다.
- 낮은 전력 소비: 단순한 구조는 더 적은 트랜지스터를 사용하고, 이는 낮은 전력 소비와 낮은 발열로 이어진다.
- 작은 칩 면적: 명령어 집합과 제어 논리의 단순성 덕분에 칩의 크기가 작아질 수 있어 제조 비용을 절감할 수 있다.
- 설계 용이성: 복잡성이 낮아 설계 및 디버깅이 비교적 용이하다.
단점
- 코드 크기 증가: 복잡한 작업을 수행하기 위해 더 많은 수의 단순한 명령어가 필요할 수 있어 전체 프로그램의 코드 크기가 CISC보다 커질 수 있다.
- 컴파일러 의존성: RISC의 성능을 최대한 활용하려면 효율적인 명령어 스케줄링 및 레지스터 할당을 수행하는 고급 컴파일러가 필수적이다.
역사 및 발전
RISC의 개념은 1970년대 후반부터 1980년대 초반에 IBM 801, 스탠포드 대학교의 MIPS, UC 버클리 대학교의 RISC-I 및 RISC-II 프로젝트를 통해 구체화되었다. 이 프로젝트들은 명령어 집합을 단순화하여 프로세서의 성능을 획기적으로 향상시킬 수 있음을 입증했다. 초기에는 워크스테이션 및 서버 시장에서 강세를 보였으나, 2000년대 이후 저전력 특성을 바탕으로 모바일 기기 시장에서 ARM 아키텍처가 독보적인 위치를 차지하게 되었다. 최근에는 완전 개방형 표준인 RISC-V 아키텍처가 주목받고 있다.
주요 RISC 아키텍처 예시
- ARM 아키텍처: 스마트폰, 태블릿, 임베디드 시스템 등 모바일 및 저전력 기기의 사실상 표준으로 자리 잡았으며, 최근에는 서버 및 개인용 컴퓨터(예: 애플 M 시리즈 칩) 시장으로 확장되고 있다.
- MIPS 아키텍처: 임베디드 시스템, 라우터, 게임 콘솔 등에서 널리 사용되었다.
- SPARC 아키텍처: 과거 선 마이크로시스템즈의 워크스테이션 및 서버에서 사용되었다.
- PowerPC 아키텍처: 과거 애플 매킨토시, IBM 서버, 게임 콘솔 등에서 사용되었다.
- RISC-V 아키텍처: 완전한 개방형 표준으로, IoT 기기부터 데이터센터까지 다양한 응용 분야에서 새로운 가능성을 제시하고 있다.