CS

[컴퓨터 구조] CISC와 RISC

하늘☁️ 2025. 1. 3. 23:02

1. 명령어 집합, 명령어 집합 구조 (ISA: Instruction Set Architecture)

  • CPU가 이해할 수 있는 명령어들의 모음
  • CPU마다 다를 수 있고 ISA가 달라지면 같은 소스 코드로 만들어진 프로그램도 서로 다른 어셈블리어를 사용
  • 이로 인해 ISA가 다르면 명령어 해석 방식, 레지스터 종류, 메모리 관리 방법 등이 달라진다.
  • ISA는 CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속

 

2. CISC (Complex Instruction Set Computer)

  • 복잡하고 다양한 명령어 집합을 사용하는 CPU 설계 방식
  • 대표적인 예 : x86, x86-64 아키텍처
  • 특징 :
    • 가변 길이 명령어 : 명령어가 길고 복잡하여 실행 시간이 일정하지 않다.
    • 적은 수의 명령어로 프로그램 실행 가능
    • 메모리 절약 : 적은 명령어로 프로그램을 동작시킬 수 있어 메모리 공간 절약
  • 단점
    • 명령어 파이프라인에 비효율적 : 명령어 실행 시간이 일정하지 않아 파이프라인 처리에 어렵다.
    • 복잡한 명령어는 사용 빈도가 낮아 실제로는 자주 쓰이는 기본적인 명령어만 사용

✍🏻 CISC 기반의 CPU는 복잡한 명령어 세트를 제공하나, 대부분의 복잡한 명령어는 드물게 사용되고 명령어 실행 시간이 일정하지 않아 파이프라인 처리에서 효율성이 떨어진다.

 

3. RISC (Reduced Instruction Set Computer)

  • CISC의 한계를 극복하고자 등장한 방식으로 명령어의 종류를 최소화하고 단순화한 CPU 설계 방식
  • 특징 :
    • 고정 길이 명령어 : 명령어의 길이가 일정
    • 짧고 규격화된 명령어 : 자주 쓰이는 명령어를 빠르고 효율적으로 실행
    • Load-Store 아키텍처 : 메모리 적근은 load와 store 명령어로만 제한, 메모리 접근을 최소화하고 레지스터를 적극적으로 사용하고 일반적으로 더 많은 범용 레지스터 사용
  • 장점 :
    • 명령어 파이프라인 최적화 : 명령어 실행 시간이 일정하고, 파이프라인에 최적화되어 있어 성능 향상에 유리
    • 단순화된 메모리 접근 : 메모리 접근을 최소화하고 레지스터 활용도를 높여 처리 속도가 빠르다.
  • 단점 :
    • 많은 수의 명령어 : CISC에 비해 명령어의 수가 적지만 동일한 작업을 위해 더 많은 명령어가 필요
특징 CISC RISC
명령어 길이 가변 길이 명령어 고정 길이 명령어
명령어 복잡성 복잡하고 다양한 명령어 단순하고 적은 명령어
명령어 실행 시간 실행 시간이 불규칙,
여러 클럭에 걸쳐 명령어 수행
실행 시간이 일정,
1클럭 내외로 명령어 수행
파이프라인 호율성 파이프라인에 비효율적 파이프라인에 최적화
메모리 접근 명령어 내에서 복잡한 메모리 접근 가능 메모리 접근은 load, store 명령어만 사용
주요 사용 예시 x86, x86-64 ARM, MIPS, PowerPC
프로그램을 이루는 명령어의 수 적음 많음
주요 장점 메모리 절약,
적은 명령어로 프로그램 실행
빠르고 예측 가능한 성능,
파이프라인 최적화