명령어 집합 구조
인텔, 애플 등 각 제조사별 CPU마다 명령어의 종류, 연산 방식, 주소 지정 방식이 다르다.
x86 혹은 x86-64 명령어 구조를 따르는 CPU들은 ARM 명령어 집합을 따르는 CPU의 명령어를 이해하지 못한다.
명령어 집합은 CPU가 이해할 수 있는 명령어 모음으로 CPU의 언어와 같다.
이를 명령어 집합 구조 ISA Instruction Set Architecture라고 부른다.
명령어가 달라지면 그에 대한 나비효과로 많은 것들이 달라진다. 명령어 해석방식, 레지스터의 종류와 개수, 파이프라이닝의 용이성 등
즉, 명령어 집합에 따라서 CPU, 컴퓨터의 구조까지도 결정이 되기 때문에 명령어 집합 구조는 하드웨어가 소프트웨어를 어떻게 이해해야 될지에 대한 약속이다. 현대 명령어 집합은 가장 커다란 두 개의 축 CISC와 RISC로 대표된다.
CISC _ Complex Instruction Set Computer
- 복잡한 명령어 집합을 활용하는 컴퓨터 CPU
- x86, x86-64는 CISC 기반 명령어 집합 구조
- 명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용한다
- 다양하고 강력한 명령어를 활용하여 상대적으로 적은 수의 명령어로도 프로그램을 실행한다
- 메모리를 최대한 아끼며 개발해야 했던 시절에 인기가 높았으나 명령어 파이프라이닝이 불리하다
1. 명령어가 워낙 복잡하고 다양한 기능을 제공하는 탓에 명령어의 크기와 실행되기까지의 시간이 일정하지 않다
2. 명령어 하나를 실행하는 데에 여러 클럭 주기 필요하다
RISC _ Reduced Instruction Set Computer
- 명령어의 종류가 적고, 짧고 규격화된 명령어를 사용한다
- 단순하고 적은 수의 고정 길이 명령어 집합을 활용한다
- 메모리 접근 최소화, 레지스터 활용한다
- 명령어의 종류가 CISC보다 적어서 더 많은 명령어로 프로그램을 동작시킨다
'컴퓨터공학' 카테고리의 다른 글
13. 메모리의 주소 공간 (0) | 2024.10.09 |
---|---|
12. RAM의 특징과 종류 (1) | 2024.10.08 |
10. 명령어 병렬 처리 기법 (0) | 2024.10.06 |
9. 빠른 CPU을 위한 설계 기법 (0) | 2024.10.05 |
8. 명령어 사이클과 인터럽트 (0) | 2024.10.04 |