CS

[CS] 명령어와 파이프라이닝 간 함의 : CISC, RISC

chandlerxx 2024. 4. 15. 14:24

2024.04.15 - [CS] - [CS] 효율적인 명령어 분배 : 명령어 파이프라인

 

명령어와 파이프라이닝 간 함의

모든 CPU가 이해할 수 있는 명령어가 똑같지 않고, CPU가 읽고 해석하고 실행하기에 최적화되지 않기도 합니다.

그래서 효율적으로 동작할 수 있게 즉, 파이프라이닝에 최적화된 명령어로 설계할 수 있어야 하는데요.

 

ISA

  • `ISA` : Instruction Set Architecture의 줄임말로, CPU가 이해할 수 있는 명령어들의 집합 구조 (= `CPU 언어`)
  • CPU제조사마다 ISA 설계 원칙이 다릅니다. (Intel Vs. ARM)
  • ISA가 다르면
    1) CPU끼리 서로의 명령어를 이해할 수 없습니다.
    2) HW 구조도 달라질 수 있습니다.
    → 명령어를 해석하는 제어장치 로직, 사용하는 레지스터 수, 메모리 관리 방법 등

 

 

명령어 처리 기법을 적용한 ISA

`CISC`와 `RISC`가 있습니다.

 

CISC

  • Complex Instruction Set Computer의 약자로 복잡하고 다양한 명령어들을 커버하는(`가변 길이 명령어`) CPU
  • 장점
    1) 적은 명령어의 수로 프로그램 실행 가능
    2) 메모리 공간 절약
  • 단점
    1) 다양한 명령어를 커버하지만, 사용하는 명령어만 사용하게 됨
    2) 실행 시간이 일정하지 않아 여러 클럭 주기 필요 → 명령어 파이프라인이 제대로 동작하지 않음 (효율 낮아짐)
    ▶명령어 규격화 어려움

 

 

 

RISC

  • Reduced Instruction Set Computer의 약자로, '적고 빠르게 수행하는' CPU (`고정 길이 명령어`)
  • 장점
    1) 명령어의 규격화 (메모리접근 명령어 : Load / Store)
    2) 대부분 1클럭 내외로 실행
    ▶명령어 파이프라이닝에 최적화
    3) 메모리 접근 단순화하여 레지스터 적극 활용
  • 단점
    1) 사용가능한 명령어의 개수가 적어, 프로그램의 코드 수가 길다

 

출처

교보문고 혼공컴운