1. RISC
- Reduced Instruction Set Computer / 축양 명령어 셋 컴퓨터
- 간단한 명령어와 유연성이 강조된다.
- 특징
- 메모리 접근은 로드와 스토어 명령어에 의해서만 가능
- 데이터 처리 명령어는 레지스터와 레지스터 사이에서만 수행 가능
- 어드레싱 모드위 수는 제한된다.
- 명령어 형식은 모두 같은 길이를 갖는다.
- 명령어는 기초 연산만을 수행한다.
- 높은 throughput과 빠른 실행 속도를 목표함
- 명령어 인출을 제외하고는 메모리접근을 피한다.
- 큰 레지스터 파일
- 비교적 간단
- 하드와이어 제어 방식
- 파이프라인 방식 설계
2. CISC
- Complex Instruction Set Computer / 복합 명령어 셋 컴퓨터
- 고급 언어 연산들을 지원하는 하드웨어
- 프로그램이 간결해진다.
- 명령어의 대부분이 직접 메모리를 접근할 수 있다.
- 어드레싱 모드의 종류가 상당히 많다.
- 명령어 형식은 길이가 다르다.
- 명령어는 기초연산 뿐 아니라 복잡한 연산도 수행한다.
- 프로그래밍 언어에서 사용하는 연산에 가깝게 하면서 간결하고 메모리 절약을 하는 명령어 제공이 목표
- 수행 명령어의 수가 적기 때문에 메모리부터 명령어 인출 횟수가 줄어들어 성능 효율 향상
- 작은 레지스터 파일
- 명령어가 복잡하고 다양한 형식 가짐
- 마이크로프로그램 제어 방식
- 파이프라인 데이터 처리 장치를 제어하는 방식
- RISC 형태의 기초 연산들로 변환되어 유사한 파이프라인에서 수행된다.
실제 명령어 셋은 두 구조의 중간 정도를 쓴다.
CISC의 길고 복잡한 명령어들을 짧고 처리가 가능한 여러개의 명령어로 체계적으로 바꾼것이 RISC이다.
빠른 동작 속도와 하드웨어의 단순화와 효율화 때문에 가격 경쟁력도 좋다.
따라서 성능 RISC > CISC 인데
너무 많은 모델이 CISC로 구축되어있고 높은 호환성때문에 CISC가 아직 사용중이다.
Reference
[1] M. Mano Logic and Computer Design Fundamentals, 5th Edition⌟ , chapter 9
[2] "RISC 와 CISC 구조"
https://frontalnh.github.io/2018/04/17/%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0-risc-%EC%99%80-cisc-%EA%B5%AC%EC%A1%B0/