특징
- 다양한 명령어 세트를 제공하며, 한 명령어로 복잡한 작업 수행 가능.
- 명령어가 다양하고 복잡하여 CPU 설계가 복잡.
- 명령어 실행이 느릴 수 있으나, 메모리 사용 효율이 높음.
- x86 아키텍처(Intel, AMD CPU)가 대표적 사례.
장점
명령어 하나로 여러 작업을 수행할 수 있어 프로그래밍이 간단.
메모리와 명령어의 상호작용이 최적화되어 메모리 사용량 감소.
단점
명령어 디코딩이 복잡하여 CPU 설계 및 전력 소모가 증가.
명령어 실행 시간이 길어질 수 있음.
특징
- 간단한 명령어 세트를 제공하며, 하나의 명령어는 한 작업만 수행.
- CPU 설계가 단순하고 효율적.
- 대부분의 명령어가 고정된 크기를 가지며, 명령어 실행 속도가 빠름.
- ARM 아키텍처(모바일, 임베디드 기기)가 대표적 사례.
장점
실행 속도가 빠르고, 전력 소모가 적음.
CPU 설계가 간단하여 비용 효율적.
파이프라이닝과 같은 성능 최적화 기법 적용이 용이.
단점
명령어가 간단하여 동일 작업을 수행하기 위해 더 많은 명령어가 필요.
메모리 사용량이 증가할 수 있음.
| 구분 | CISC | RISC |
|---|---|---|
| 명령어 구조 | 복잡하고 다양한 명령어 제공 | 간단하고 적은 명령어 제공 |
| 명령어 실행 시간 | 길다 | 짧다 |
| CPU 설계 | 복잡 | 단순 |
| 파이프라이닝 | 구현 어려움 | 구현 용이 |
| 사용 사례 | x86 (PC, 서버) | ARM (모바일, IoT) |
ADD [10], [20], [30] ; 메모리 주소 10과 20의 값을 더해 결과를 주소 30에 저장
LOAD R1, [10] ; 메모리 주소 10의 값을 레지스터 R1에 로드
LOAD R2, [20] ; 메모리 주소 20의 값을 레지스터 R2에 로드
ADD R3, R1, R2 ; R1과 R2 값을 더해 R3에 저장
STORE R3, [30] ; R3의 값을 메모리 주소 30에 저장
킁킁