이 글은 한빛미디어 출판사의 '혼자 공부하는 컴퓨터 구조+운영체제(강민철 저)'를 정리한 내용입니다.
앞선 포스팅에서 알아본 명령어 파이프라이닝과 슈퍼스칼라 기법을 실제로 CPU에 적용하려면 명령어가 파이프라이닝 하기 쉽게 생겨야 한다.
그렇다면 '파이프라이닝 하기 쉬운 명령어'란 무엇인지 알아보자.
CPU마다 명령어의 세세한 생김새, 연산, 주소 지정 방식은 조금씩 차이가 있다. CPU가 이해할 수 있는 명렁어들의 모음을 명령어 집합(instruction set) 또는 명령어 집합 구조(ISA, Instructino Set Architecture)라고 한다. CPU마다 ISA가 다를 수 있는 것이다.
인텔 노트북 CPU는 x86-64 ISA를 이해하고, 애플의 아이폰 CPU는 ARM ISA를 이해한다. 둘은 서로의 명령어를 이해할 수 없다. ISA가 다르면 CPU가 이해할 수 있는 명령어, 어셈블리어도 달라진다.
ISA는 CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속이다.
따라서 맨 처음에 언급한 '파이프라이닝 하기 쉬운 명령어'란 병렬 처리 기법들을 적용하기 용이한 ISA이다.
복잡한 명령어 집합을 활용하는 컴퓨터(CPU).
이름 그대로 복잡하고 다양한 명령어들을 활용하는 CPU 설계 방식이다.
다양하고 강력한 기능의 명령어 집합을 활용하기 떄문에 명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용한다. 주소 지정 방식도 다양하다.
다양하고 강력한 명령어를 활용하기 때문에 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있다.
이런 장점 덕분에 CISC는 메모리를 최대한 아끼며 개발해야 했던 시기에 인기가 많았다. 하지만 명령어가 워낙 복잡하고 다양한 기능을 제공하기 때문에 명령어 크기, 실행되기까지의 시간이 일정하지 않다는 치명적인 단점이 있다. 또한 복잡한 명령어 때문에 명령어 하나를 실행하는 데에 여러 클럭 주기를 필요로 한다.
이는 명령어 파이프라인을 구현하는 데 큰 걸림돌이다. 명령어 파이프라인 기법은 각 단계에 소요되는 시간이 가급적 1클럭으로 동일해야 한다. 하지만 CISC가 활용하는 명령어는 명령어 수행 시간이 길고 가지각색이기 때문에 파이프라인이 효율적으로 명령어를 처리할 수 없다. 이는 현대 CPU에서 아주 치명적인 약점이다.
또한 CISC의 대다수 복잡한 명령어는 사용 빈도가 낮다.
정리하자면 CISC는
장점
- 복잡하고 다양한 기능을 제공해 적은 수의 명령으로 프로그램 동작
- 메모리 절약
단점
- 파이프라이닝이 어려움
- 대다수 복잡한 명령어는 사용 빈도가 낮음

그림 출처: RISC vs CISC Microprocessor Philosophy in 2022
https://itnext.io/risc-vs-cisc-microprocessor-philosophy-in-2022-fa871861bc94
CISC에 비해 명령어의 종류가 적고, 짧고 규격화된 명렁어, 되도록 1클럭 내외로 실행되는 명령어를 지향한다.
즉, RISC는 고정 길이 명령어를 사용한다.
명령어가 규격화되어 있고, 하나의 명령어가 1클럭 내외로 실행되기 때문에 명령어 파이프라이닝에 최적화되어 있다.
또한 RISC는 메모리에 직접 접근하는 명령어를 단 2개, load, store로 제한해 메모리 접근을 단순화하고 최소화했다. 그렇기에 CISC보다 주소 지정 방식의 종류가 더 적다.
RISC는 메모리 접근을 단순화, 최소화하는 대신 레지스터를 적극 활용하기 때문에 CISC보다 레지스터를 이용하는 연산이 많고, 범용 레지스터 개수도 더 많다. 다만 사용 가능한 명령어 개수가 적기 때문에 더 많은 명령으로 프로그램을 작동시킨다.
RISC와 CISC를 비교해 정리해보자면 다음과 같다.
CISC
- 복잡하고 다양한 명령어
- 가변 길이 명령어
- 다양한 주소 지정 방식
- 프로그램을 이루는 명령어의 수가 적음
- 여러 클럭에 걸쳐 명령어 수행
- 파이프라이닝 하기 어려움
RISC
- 단순하고 적은 명령어
- 고정 길이 명령어
- 적은 주소 지정 방식
- 프로그램을 이루는 명령어의 수가 많음
- 1클럭 내외로 명령어 수행
- 파이프라이닝 하기 쉬움
출처 - '혼자 공부하는 컴퓨터 구조+운영체제(한빛미디어, 강민철 처)'