[컴퓨터] CISC 와 RISC 정의와 차이점

September 27, 2022 - 3 minute read -
computer cpu cisc risc

CPU 는 메모리의 명령어들을 읽어와서 실행하는 장치이다.
하지만 이러한 명령어들은 구조와 원리는 비슷하지만 CPU 마다 차이가 있다.


ISA (Instruction Set Architecture)

CPU 가 인식, 해석, 실행할 수 있는 명령어들의 모음을 명령어 집합(instruction set) 또는 명령어 집합 구조(instruction set architecture, ISA) 라고 한다.

instruction set architecture
instruction set architecture
  • 소프트웨어와 하드웨어 사이의 인터페이스
  • 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 클럭 내외에 실행
파이프라이닝 어려움 파이프 라이닝 쉬움
적은 레지스터 필요 많은 레지스터 필요
느린 처리속도 빠른 처리속도
많은 전력 소모 적은 전력 소모
복잡한 하드웨어 구조 단순한 하드웨어 구조

출처