명령어 집합
명령어의 기본적인 구조와 작동 원리는 크게 다르지 않지만 명령어의 자세한 생김새, 할 수 있는 연산, 주소 지정 방식 등은 CPU마다 조금씩 차이가 있다.
병렬처리기법을 적용하기 용이한 ISA가 있고 아닌 ISA가 있다.
CPU가 이해할 수 있는 명령어들의 모음을 명령어 집합 또는 명령어 집합 구조(ISA)라고 한다.
예를들어 인텔의 노트북 속 CPU는 x86-64ISA 를 이해하고 애플의 아이폰 속 CPU는 ARM ISA와 같이 서로 다른 ISA를 이해한다. 그래서 서로의 명령어를 이해 할 수 없다.
즉, 같은 소스코드로 만들어진 프로그램이라고 해도 ISA가 다르면 CPU가 이해할 수 있는 명령어도 어셈블리어도 달라진다.
CISC
Complex Instruction Set Computer의 약자로 ‘복잡한 명령어 집합을 활용하는 컴퓨터’를 의미
다양하고 강력한 기능의 명령어 집합을 활용하기 때문에 명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용하기 때문에 적은 수의 명령으로 프로그램을 동작시키고 메모리를 절약할 수 있었다.
하지만 명령어의 규격화가 어려워 파이프라이닝이 어렵다는 큰 단접이 있다. 또한, 대다수의 복잡한 명령어는 그 사용 빈도가 낮아 CISC기반 CPU는 성장에 한계가 있다.
RISC
Reduced Instruction Set Computer의 약자로 CISC를 보완하여 CISC보다 명령어의 종류가 적고 짧고 규격화된 명령어, 되도록 1클럭 내외로 실행되는 명령어를 지향하는 고정 길어 명령어를 활용한다.
그래서 파이프라이닝에 최적화 되어있다.
메모리 접근을 단순화, 최소화하는 대신 레지스터를 적극적으로 활용하여 레지스터를 이용하는 연산이 많고, 일반적인 경우보다 범용 레지스터 개수도 많다.
'CS공부 > 컴퓨터구조' 카테고리의 다른 글
| 6-2. 메모리의 주소 공간 (0) | 2025.05.27 |
|---|---|
| 6-1. RAM의 종류 (0) | 2025.05.27 |
| 5-2. 명령어 병렬 처리 (1) | 2025.05.23 |
| 5-1. 클럭 코어 스레드 (0) | 2025.05.23 |
| 4-3. 명령어 사이클과 인터럽트 (0) | 2025.04.23 |
