1. 명령어 집합, 명령어 집합 구조(ISA)
- CPU가 이해할 수 있는 명령어들의 모음
- 인텔의 x86-64 ISA, 애플의 ARM ISA등등
- ISA가 다르면 컴퓨터가 이해할 수 있는 명령어와 어셈블리가 달라짐
- 같은 소스 코드로 만들어진 같은 프로그램이라 할지라도 ISA가 다르면 CPU가 이해할 수 있는 명령어와 어셈블리어도 달라짐
- ISA가 달라지면 제어장치가 명령어를 해석하는 방식, 사용되는 레지스터의 종류와 개수, 메모리 관리 방법 등 많은 것들이 달라짐
- CPU 설계에도 큰 영향
2. CISC
- Complex Instruction Set Computer
- 복잡한 명령어 집단
- x86, x86-64 등이 대표적인 CISC 기반의 ISA
- 다양하고 강력한 기능의 명령어 집합을 활용
- 명령어의 형태와 크기가 다양함
- 가변 길이 명령어를 사용
- 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있음
- 메모리를 최대한 아끼며 개발해야하던 시절에 인기
- 단점
- 활용하는 명령어가 워낙 복잡하고 다양한 기능을 제공하는 탓에 명령어의 크기와 실행되기까지의 시간이 일정하지 않음
- 복잡한 명령어 때문에 명령어 하나를 실행하는 데에 여러 클럭 주기를 필요로 함
- 명령어 파이프라인을 구현하는데 큰 에로사항이 됨
- 명령어 수행 시간이 길고 가지각색이기 때문에 파이프라인이 효율적으로 명령어 처리 불가
- 정리
1. 복잡하고 다양한 기능을 제공
2. 적은 수의 명령으로 프로그램을 동작시키고 메모리를 절약
3. 명령어의 규격화가 어려워 파이프라이닝이 어려움
4. 대다수의 복잡한 명령어는 사용 빈도가 낮음
3. RISC
- Reduced Instruction Set Computer
- CISC에 비해 명령어의 수가 적음
- 1클럭 내외로 실행되는 짧고 규격화된 명령어를 가짐
- 고정 길이 명령어를 활용
- 위의 특성들 덕분에 명령어 파이프라이닝에 최적화됨
- 메모리 접근을 단순화하고 최소화를 추구함
- CISC보다 주소 지정 방식의 종류가 적은 경우가 많음
- 대신, 레지스터를 적극적으로 활용
- CISC보다 레지스터를 이용한 연산이 많고, 일반적인 경우보다 범용 레지스터의 개수도 더 많음
- 따라서, CISC보다 많은 명령으로 프로그램을 실행함
'CS > 컴퓨터 구조' 카테고리의 다른 글
캐시 메모리 [혼공컴구] (1) | 2023.11.30 |
---|---|
RAM의 특징과 종류 [혼공컴구] (0) | 2023.11.29 |
명령어 병렬 처리 기법 [혼공컴구] (0) | 2023.11.22 |
컴퓨터 구조 - 클럭, 코어, 스레드 [혼공컴구] (0) | 2023.11.17 |
컴퓨터 구조 - 명령어 사이클과 인터럽트 [혼공컴구] (1) | 2023.11.17 |