Instruction Set Architecture: RISC vs. CISC
Reduced Instruction Set Computer (RISC)와 Complicated Instruction Set Compuer(CISC)는
Instruction Set의 구조(architecutre, 구성방식)으로 컴퓨터를 나눈 대표적 카테고리임.
이들은 CPU(or micorprocessor)를 구분하는 기준으로도 사용됨.
Reduced Instruction Set Computer (RISC)
대부분의 프로그램에서 많이 사용되는 instruction만으로 구성된 instruction set을 가짐.
- 적은 수의 최적화된 instruction들로 구성되어 매우 빠른 실행속도를 자랑하며
- 보다 단순한 구조의 CPU 설계가 가능
- 대표적인 예가 Advanced RISC Machine (ARM)과 RISC-V (open source)으로 현재 대부분의 테블릿, 휴대폰 등에서 사용됨.
- load-store structure를 사용함 (loading 및 storing instruction들만 memory에 접근이 가능하고, evaluating instruction들은 register들에만 접근 가능)
테블릿, 휴대폰 등의 CPU는 Application Processor (AP)라고 더 많이 불림.
다음과 같은 특징을 가짐.
- '한 clock cycle'당 하나의 instruction이 실행 됨. : Pipelining을 통해!
- instruction들이 일정한 길이를 가지며 종류가 적어 decode가 쉽고 병렬처리가 쉬움.
- 보다 단순한 내부회로 구성이 가능하여 저전력이면서 낮은 가격으로 구현 가능.
- 단, CISC와 비교하여 같은 task를 수행하는데 필요한 instruction의 수가 많음 (instruction 하나가 보다 단순한 구조임).
- RAM 소모 측면에서 CISC보다 불리 (보다 많은 register를 요구).
RISC 에서는 하나의 명령어 실행으로 심플한 프로세스를 굉장히 빨리 수행한다.
RISC 아키텍처는 간단한 명령어 다수를 신속하게 실행하여 성능을 전반적으로 향상시킨다.
2024.05.15 - [Computer/CE] - [CE] Pipelining (파이프라인 기법)
Complicated Instruction Set Computer (CISC)
- 하나의 instruction이 여러 execution을 처리할 수 있으며, RISC에 비해 복잡하고 다양한 instruction으로 구성된 instruction set을 가짐.
- Server나 Descktop 등의 우리가 생각하는 전형적인 PC(컴퓨터)에서 많이 사용됨 (Intel의 x86 CPU들이 대표적인 예로 범용 컴퓨터에서 사용됨.)
다음과 같은 특징을 가짐.
- instruction 하나를 수행하는데 여러 clock cycle이 필요.
- 특정 task를 수행하는데 필요한 instruction 수가 RISC에 비해 적음.
- 가변길이의 instruction으로 구성됨.
- RISC에 비해 복잡한 HW가 필요(보다 많은 transistor)하여 생산단가가 높음.
- 전력소모에서 RISC에 비해 불리한 경우가 많음.
Complicated의 부정적인 느낌 때문인지 Complex를 대신 사용하는 경우도 있음.
CISC 아키텍처는 하나의 명령어 실행으로 일련의 복잡한 프로세스들을 수행하며, 성능 향상을 위해 복합 명령어를 이용한다.
History
- 초기 컴퓨터는 CISC를 사용했으며, 1980년대에 CISC의 복잡성을 줄이고자 RISC가 고안됨.
- David Patterson(버클리)과 John Hennessey(스탠포드)가 1980년대 당시의 프로그램들을 통계적 분석을 하여 당시 CISC에서 거의 사용되지 않는 instruction들은 추려내고 프로그램에서 주로 사용되는 instruction들만으로 instruction set을 구성한 RISC를 제안함.
- 많이 사용되는 간단한 명령어들만으로 가지며, 복잡한 명령어는 이들 간단한 명령어들의 조합으로 구현한 RISC는 보다 효율적인 CPU 설계를 가능하게 했으며, 이를 통해 보다 저렴하면서도 빠른 CPU를 구현할 수 있었음.
- 1990년도 중후반까지는 RISC의 성능을 CISC가 따라잡지 못할 것이라는 의견이 중론이었기 때문에,
- workstation등에서는 RISC를, PC에서 CISC가 사용됨.
- 1980년 대는 비디오 또는 오디오 데이터를 컴퓨터가 그리 많이 처리하지 않던 시절로 현재의 컴퓨터와는 많이 사용되는 instruction set의 차이가 큼.
- 현재의 RISC는 보다 많은 새로운 instruction들이 추가되어 있기 때문에 이전의 CISC보다도 복잡한 instruction set을 가지고 있음.
- 최근에는 CISC와 RISC가 상대방의 특징을 도입하여 각각의 단점을 개선하고 있으며 명확하게 구분하기는 어려움.
Summary
'Computer > CE' 카테고리의 다른 글
[CE] Microprocessor (0) | 2022.12.18 |
---|---|
[CE] GPU (Graphics Processing Unit) (0) | 2022.12.18 |
[CE] Control Unit and Instruction (0) | 2022.12.17 |
[CE] Flash Memory (or PROM Flash) and SSD (Solid State Disk) (1) | 2022.12.10 |
[CE] Disk Drive (0) | 2022.12.10 |