ISA: CISC와 RISC

김은혜·2023년 11월 20일
0

ISA


나라마다 언어가 다르듯이 CPU도 이해하고 실행하는 명령어가 다릅니다.
CPU가 이해할 수 있는 명령어들의 모음을 명령어 집합 구조(ISA:Instruction Set Architecture)라고 합니다.
따라서 CPU마다 ISA가 다를 수 있습니다.

ISA의 역할

ISA의 역할에는

역할설명
명령어 집합CPU가 이해하고 실행할 수 있는 명령어의 종류 규정
레지스터레지스터의 수, 종류 및 용도 규정
명령어 형식명령어가 어떻게 구성되어 있는지 규정
명령어 실행 방법명령어가 어떻게 실행되는지 규정

등이 있습니다. 여기서 명령어 집합과 명령어 실행 방법에 해당하는 CISC와 RISC에 대해 알아보겠습니다.

CISC(Complex Instruction Set Computing)?


다양한 명령어들을 활용하는 CPU 설계 방식입니다.

  • 다양하고 강력한 기능의 명령어 집합을 활용
    -> 명령어의 형태와 크기가 다양한 가변 길이 명령어 활용

즉, 상대적으로 적은 수의 명령어로도 프로그램 실행 가능

명령어가 작다 = 컴파일된 프로그램의 크기가 작다(메모리를 절약할 수 있음)

<단점>

  • 활용하는 명령어가 워낙 복잡하고 다양한 기능 제공
    -> 명령어의 크기와 실행되기까지의 시간 일정하지 않음

즉, 명령어 파이프라인이 효율적으로 명령어를 처리할 수 없음

명령어 파이프라인 기법을 위한 이상적인 명령어는 다음 그림과 같이 각 단계에 소요되는 시간이(가급적 1클럭으로) 동일해야 함

  • 복잡하고 다양한 명령어 활용 가능, but 대다수의 복잡한 명령어는 사용 빈도 낮음

CISC의 한계로 인한 교훈


  1. 빠른 처리를 위해 명령어 파이프라인을 활용
  2. 원활한 파이프라이닝을 위해 '명령어 길이와 수행 시간 짧고 규격화'
  3. '자주 쓰이는 기본적인 명령어를 작고 빠르게 만드는 것' 중요

RISC(Reduced Instruction Set Computer)란?


단순하고 적은 수의 고정 길이 명령어사용

  • CISC에 비해 명령어의 종류가 적음
  • CISC와 달리 짧고 규격화된 명령어(되도록 1클럭 내외로 실행되는 명령어 지향)
    즉, 명령어 파이프라이닝에 최적화 되어 있음
  • 메모리에 직접 접근하는 명령어(load, store) 두 개로 제한 -> 메모리 접근 단순화 & 최소화 추구

RISC를 load-store 구조라고 부르기도 함

마무리


CISCRISC
명령어복잡하고 다양함단순하고 적음
명령어 형식가변 길이 명령어고정 길이 명령어
주소 지정 방식다양함적음
명령어의 수적음많음
명령어 수행여러 클럭에 걸쳐서1클럭 내외로
파이프라이닝어려움쉬움

0개의 댓글

관련 채용 정보