Post

CISC와 RISC

CISC(Complex Instruction Set Computing)와 RISC(Reduced Instruction Set Computing)는 CPU를 설계할떄 사용하는 두 가지 주요한 컴퓨터 아키텍처다.

CISC (Complex Instruction Set Computing)

  • 명령어 세트: 복잡하고 다양한 명령어 세트를 가지고 있다. 이 명령어들은 다양한 길이와 형태를 가지며, 여러 단계의 연산을 한 번의 명령어로 수행할 수 있다.
  • 목적: 소프트웨어 개발을 단순화하는 것을 목적으로 하며, 복잡한 명령어를 통해 고급 언어의 구조를 직접적으로 지원한다.
  • 성능과 효율성: 명령어 당 많은 사이클이 필요하다. 이는 하드웨어가 더 복잡해지고, 속도가 느려질 수 있음을 의미한다.
  • 주요 사용기업과 아키텍처
    • intel: 가장 널리 알려진 CISC 아키텍처 제공자 중 하나다. Intel의 x86 아키텍처는 CISC 설계의 대표적인 예로, 개인용 컴퓨터(PC)와 서버에서 널리 사용된다.
    • AMD (Advanced Micro Devices): AMD 역시 x86 기반의 CISC 아키텍처를 제공한다. 이들의 프로세서는 특히 고성능 컴퓨팅과 게이밍 시장에서 인기가 높다.

RISC (Reduced Instruction Set Computing)

  • 명령어 세트: 간소화된 명령어 세트를 사용한다. 명령어는 일반적으로 고정된 길이를 가지며, 간단한 연산만 수행한다.
  • 목적: RISC는 하드웨어의 복잡성을 줄이고, 프로세서의 속도를 높이는 것에 중점을 둔다. 간단한 명령어를 통해 빠른 실행 시간과 높은 처리량을 달성한다.
  • 성능과 효율성: 일반적으로 명령어 당 한 사이클만을 필요로 한다. 이는 전체적인 성능 향상과 에너지 효율성이 증가한다.
  • 주요 사용기업과 아키텍처
    • ARM Limited: ARM 아키텍처는 모바일 기기, 임베디드 시스템, 최근에는 노트북 및 서버 시장에서도 사용되는 RISC의 대표적인 예이다. ARM은 아키텍처를 설계하고, 다른 기업들이 이를 기반으로 칩을 제조한다.
    • Apple: 자체 개발한 M1, M2 칩은 RISC 아키텍처를 사용하며, 고성능 및 에너지 효율적인 연산을 제공한다.

cisc-vs-risc

CW(제어 워드): 각 명령어에는 다양한 제어 신호로 구성된 제어 워드가 포함되어 있다.
이러한 신호는 CPU의 다른 부분(예: ALU, 레지스터 등)에 해당 단계에 필요한 특정 작업을 수행하도록 지시한다.
Program Memory: CPU의 명령을 저장하는 메모리이다.
Data path: 데이터 신호가 이동하는 CPU 내부 경로이다.

CISC와 RISC 구성요소

CISC

  • mPC(마이크로 프로그램 카운터): CISC 아키텍처에서 마이크로 프로그램 카운터는 마이크로 프로그램 내에서 어떤 마이크로 명령이 실행되고 있는지 추적하는 마이크로 시퀀서의 일부이다. 마이크로 프로그램은 컴퓨터 아키텍처에서 상위 수준 기계 명령어를 구현하는 데 필요한 하위 수준 작업을 정의하는 일련의 마이크로 명령어이다.
  • mPM(마이크로 프로그램 메모리): 마이크로프로그램이 저장되는 곳으로, CISC 아키텍처에서 복잡한 명령이 실행되면 해당 마이크로프로그램이 이 메모리에서 읽힌다. 마이크로프로그램 내의 각 마이크로명령은 CPU의 하드웨어가 전체 명령을 완료하는 데 필요한 매우 기본적인 작업을 수행하도록 지시한다.

RISC

  • IR(명령어 레지스터): 이 레지스터는 RISC 파이프라인에서 현재 실행 중인 명령을 보유한다. 이는 명령어를 메모리에서 읽고 IR에 로드하는 명령어 가져오기 단계의 일부이다.
  • Decoder: 디코더는 RISC 아키텍처의 중요한 구성 요소이다. RISC 명령어는 간단하고 일반적으로 크기가 고정되어 있기 때문에 디코더는 각 명령어를 일련의 제어 신호로 신속하게 변환할 수 있다. 이러한 신호는 CISC에 비해 훨씬 간단하다.
This post is licensed under CC BY 4.0 by the author.