RISC / CISC

KWANHO PARK·2025년 10월 21일

RISC / CISC

컴퓨터의 CPU(중앙 처리 장치)가 명령어를 처리하는 아키텍처

  • 차이 : 명령어 집합의 복잡성처리 속도 사이의 균형을 어떻게 맞추느냐

1. CISC (Complex Instruction Set Computer)

  • 복잡한 명령어 집합을 가진 컴퓨터

  • 하나의 복잡한 명령어가 하드웨어 수준에서 여러 단계의 작업을 한 번에 처리하도록 설계된 아키텍처

  • 핵심 철학: 소프트웨어 단계(개발자, 컴파일러)의 부담을 줄이고 하드웨어가 더 많은 일을 하도록 함

CISC의 특징

  • 복잡하고 다양한 명령어: 수백 개의 명령어가 존재하며, 하나의 명령어가 메모리 접근과 연산을 동시에 수행하는 등 복잡한 작업 포함
  • 가변 길이 명령어: 다양한 명령어의 형태와 길이
  • 다양한 주소 지정 방식: 다양하고 복잡한 메모리 접근 방식
  • 적은 수의 레지스터: 연산에 필요한 데이터를 주로 메모리에서 직접 가져와서 처리

2. RISC (Reduced Instruction Set Computer)

  • 축소된 명령어 집합을 가진 컴퓨터

  • 자주 사용되는 간단한 명령어들만으로 명령어 집합을 구성하고, 복잡한 연산은 간단한 명령어들의 조합으로 해결하도록 설계된 아키텍처

  • 핵심 철학: 하드웨어(CPU)를 단순하게 만들고, 복잡한 작업은 소프트웨어(컴파일러)가 처리하도록 함. 모든 명령어를 빠르고 균일하게(주로 1클럭) 처리하여 CPU의 속도를 높이는 것이 목표

RISC의 특징

  • 단순하고 적은 명령어: 명령어의 수가 적고, 각 명령어는 단순한 작업(예: '메모리에서 데이터 가져오기(Load)', '데이터 저장하기(Store)', '덧셈하기(Add)')만 수행
  • 고정 길이 명령어: 모든 명령어의 길이가 동일. 이는 CPU가 명령어를 해석(Decode)하는 속도를 매우 빠르게 함
  • 제한된 주소 지정 방식: 메모리 접근은 LoadStore 명령어로만 제한하고, 모든 연산은 레지스터에서만 수행
  • 많은 수의 레지스터: 데이터를 메모리가 아닌 CPU 내부의 빠른 레지스터에 저장하고 활용하여 메모리 접근 최소화

구분CISC (Complex Instruction Set)RISC (Reduced Instruction Set)
명령어복잡하고 다양함, 가변 길이단순하고 규격화됨, 고정 길이
명령어 수많음 (예: 200~300개)적음 (예: 100개 미만)
실행 시간명령어마다 다름 (오래 걸림)대부분 1클럭 (빠르고 균일함)
메모리 접근연산 명령어가 메모리에 직접 접근 가능Load / Store 명령어로만 접근
레지스터수가 적고, 용도가 정해진 경우가 많음수가 많고, 범용적으로 사용
파이프라이닝어려움 (명령어 길이가 달라 병목 발생)쉬움 (명령어가 규격화되어 효율적)
컴파일러단순 (하드웨어가 복잡한 일 처리)복잡 (최적화가 매우 중요)
하드웨어복잡 (전력 소모가 큼)단순 (전력 소모가 적음)
코드 밀도높음 (프로그램 용량이 작음)낮음 (프로그램 용량이 커짐)
  • 파이프라이닝(Pipelining): 명령어를 여러 단계(인출, 해석, 실행, 저장)로 나누어 공장처럼 동시에 처리하는 기술. RISC는 명령어 길이가 같기 때문에 파이프라인에 최적화되어 있음

  • 코드 밀도: 같은 작업을 수행하는 프로그램의 전체 크기. CISC는 하나의 명령어가 많은 일을 하므로 코드 밀도가 높음


장단점

CISC

  • 장점:
    • 높은 코드 밀도: 프로그램의 크기가 작아 메모리 절약에 용이
    • 하위 호환성: 기존의 복잡한 소프트웨어를 그대로 실행하기에 유리
  • 단점:
    • 복잡한 하드웨어: CPU 설계가 복잡하고, 개발 및 테스트에 시간이 오래 걸림
    • 느린 속도: 복잡한 명령어는 실행에 여러 클럭이 필요하며, 파이프라이닝이 비효율적
    • 높은 전력 소모: 복잡한 회로만큼 낮은 전력 효율

RISC

  • 장점:
    • 빠른 속도: 단순한 명령어를 1클럭에 처리하고, 파이프라이닝에 최적화
    • 단순한 하드웨어: CPU 설계가 단순하여 개발 비용과 시간이 적게 소요됨
    • 낮은 전력 소모: 회로가 단순하여 전력 효율이 매우 높음
  • 단점:
    • 낮은 코드 밀도: 같은 작업을 하려면 더 많은 명령어가 필요해 프로그램 용량이 커짐
    • 컴파일러 의존성: CPU 성능이 컴파일러의 최적화 능력에 크게 좌우됨

활용

  • CISC (예: x86, x86-64):

    • 주요 제조사: Intel, AMD
    • 사용처: 개인용 데스크톱 PC, 노트북, 서버 등 고성능과 하위 호환성이 중요한 분야
  • RISC (예: ARM, RISC-V):

    • 주요 제조사: Apple, Qualcomm, Samsung
    • 사용처: 스마트폰, 태블릿, 웨어러블 기기, 임베디드 시스템 등 저전력과 효율성이 중요한 모바일 시장

0개의 댓글