CPU 는 메모리의 명령어들을 읽어와서 실행하는 장치이다.
하지만 이러한 명령어들은 구조와 원리는 비슷하지만 CPU 마다 차이가 있다.
ISA (Instruction Set Architecture)
CPU 가 인식, 해석, 실행할 수 있는 명령어들의 모음을 명령어 집합(instruction set) 또는 명령어 집합 구조(instruction set architecture, ISA) 라고 한다.
- 소프트웨어와 하드웨어 사이의 인터페이스
- ISA 에 따라 명령어 해석 방식, 레지스터 사용 종류와 개수, 메모리 관리 방법 등이 달라질 수 있음
- CPU 마다 ISA 가 다를 수 있음
- ISA 가 다르면 CPU 서로 명령어를 이해할 수 없음
- ISA 를 물리적으로 구현하는 방법을 마이크로 아키텍처(microarchitecture) 라고 한다.
CISC (Complex Instruction Set Computer)
CISC 는 Complex Instruction Set Computer 의 약자로 그대로 해석하면 ‘복잡한 명령어 집합을 활용하는 컴퓨터(CPU)’다.
CISC 는 명령어의 형태와 크기가 다양해서 명령어의 길이가 가변적이다.
대표적으로 x86과 그 확장판인 x86-64 가 존재한다.
장점
- 복합적이고 명령어가 많아 호환성이 좋음
- 강력한 명렁어 활용으로 명령어 몇 개만으로 수행 가능
- 메모리 공간 절약 가능
- 가변 길이 명령어를 사용하므로 마이크로코드 구현이 비교적 편함
단점
- 멸여어가 복잡하고 다양한 기능을 제공하여 실행 시간이 일정하지 않음
- 한 명령어가 여러 클럭 주기가 필요하고 규격화 되어 있지 않아 파이프라인이 효율적으로 처리 불가
- 속도가 느림
- 전력 소모가 많음
- 구조가 복잡해서 설계가 어려움
- 대다수의 복잡한 명령어는 사용 빈도가 낮음
- 메모리 성능이 좋아지면서 장점들의 의미가 없어짐
RISC (Reduced Instruction Set Computer)
RISC 는 Reduced Instruction Set Computer 의 약자로 CISC 보다 명령어 종류가 적다. (CISC 보다 많은 명령어들로 실행)
명령어는 짧은 형태의 고정 길이로 규격화 되어 있어 1클럭 내외로 실행되는 것을 지향한다.
대표적으로 ARM(Advanced RISC Machine) ISA 가 있다.
장점
- 메모리 접근 명령어는 load / store 두 개로 단순화, 최소화
- 레지스터 적극 활용하여 하드웨어 구조가 단순해지고 레이턴시를 낮아짐
- 명령어 낭비 감소
- 명령어가 1클럭 내외 실행되어 파이프라이닝에 최적화
- 명령어 길이가 정해져있어서 해석 속도가 빠름
- 전력 소모가 적음
단점
- 명령어가 하드웨어적으로 호환성이 낮음
- 많은 레지스터 필요
- 명령어 길이가 제약되어 명령의 점프 불가
비교
CISC (Complex Instruction Set Computer) | RISC (Reduced Instruction Set Computer) |
---|---|
복잡하고 다양한 명령어 | 단순하고 적은 명령어 |
가변 길이 명령어 | 고정 길이 명령어 |
다양한 주소 지정 방식 | 적은 주소 지정 방식 |
실행되는 명령어 수가 적음 | 실행되는 명령어 수가 많음 |
명령어가 여러 클럭에 걸쳐 실행 | 명령어가 1 클럭 내외에 실행 |
파이프라이닝 어려움 | 파이프 라이닝 쉬움 |
적은 레지스터 필요 | 많은 레지스터 필요 |
느린 처리속도 | 빠른 처리속도 |
많은 전력 소모 | 적은 전력 소모 |
복잡한 하드웨어 구조 | 단순한 하드웨어 구조 |
출처
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- https://velog.io/@apphia39/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0ISA-CISC-vs.-RISC
- [https://ko.wikipedia.org/wiki/%EB%AA%85%EB%A0%B9%EC%96%B4%EC%A7%91%ED%95%A9](https://ko.wikipedia.org/wiki/%EB%AA%85%EB%A0%B9%EC%96%B4%EC%A7%91%ED%95%A9)
- https://velog.io/@kjw2298/CISC-RISC-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%B0%A8%EC%9D%B4
- https://cooling.tistory.com/19
- https://namu.wiki/w/CISC