[TIL] 명령어 집합 구조(ISA), CISC vs RISC

2025. 3. 13. 20:27·CS

명령어 집합 구조(ISA)

CPU가 이해하고 실행할 수 있는 명령어들의 집합

즉, ISA는 CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속

 

CPU 마다 ISA가 다르기 때문에, 인텔 CPU(x86)를 사용하는 프로그램은 ARM 기반 아이폰에서 실행되지 않음

즉, ISA의 차이는 소프트웨어 호환성에도 영향을 미치며, 동일한 프로그램을 다른 ISA에서 실행하려면 별도의 변환이 필요

 

CISC

CISC는 Complex Instruction Set Computer의 약자로, 복잡한 명령어 집합을 사용하는 CPU

다양하고 강력한 기능의 명령어 집합을 활용하기 때문에 명령어의 형태와 크기가 다양한 가변 길이 명령어 사용

 

  •  장점
    • 적은 수의 명령어만으로 프로그램을 동작시킬 수 있고, 이를 통해 메모리 절약 가능
  • 단점
    • 활용하는 명령어가 복잡하여 명령어의 크기와 실행 시간을 규격화하기 어려움
      • 따라서, 파이프라인을 구성하기 어렵고, 파이프라인이 효율적으로 명령어를 처리할 수 없음
    • 명령어 해석기가 복잡해지며, CPU 설계가 어려워지고 전력 소비가 증가할 수 있음

 

 

RISC

RISC는 Reduced Instruction Set Computer의 약자로, CISC와 반대로 짧고 규격화된 명령어(고정 길이 명령어)를 사용하여 파이프라이닝에 최적화된 구조

 

또한, 메모리 접근 명령어를 load, store 두개로 제한하여 load-store 구조라고도 불림

 

이러한 특징으로 메모리 접근을 단순화, 최소화하는 대신 레지스터를 적극 활용하여

CISC 보다 레지스터를 사용하는 연산이 많고, 범용 레지스터 개수도 많음

 

  • 장점
    • 파이프라인 최적화 가능
      • 명령어 크기가 일정하고 실행 시간이 예측 가능하여 파이프라인을 효율적으로 운영 가능
      • 따라서, CPU 내부에서 명령어 병렬 실행이 더욱 용이
    • 하드웨어 설계가 단순해짐
      • 명령어 해석이 간단하므로, CPU 설계를 단순하게 할 수 있어 전력 소비가 적고 성능이 좋음
      • 특히, 모바일 및 임베디드 시스템에서 전력 효율이 중요한 경우 RISC 구조가 많이 사용
  • 단점
    • CISC에서는 하나의 복잡한 명령어로 처리할 수 있는 작업을 여러 개의 명령어로 분리해야 하므로, 명령어 개수가 증가할 수 있음
    • 이로 인해, 메모리 사용량이 증가할 가능성이 높음

 

 

비교

구분 CISC RISC
명령어 길이 가변 길이 명령어 고정 길이 명령어
명령어 복잡성 복잡한 명령어 구조 단순한 구조
메모리 접근 방식 연산 중에도 메모리 접근 가능 Load-Store 방식으로 메모리 접근 최소화
파이프라이닝 비효율적 최적화
레지스터 개수 적음 (메모리 의존) 많음
하드웨어 복잡성 높음 (명령어 해석기가 복잡) 낮음

'CS' 카테고리의 다른 글

[TIL] 메모리 계층 구조  (1) 2025.03.13
[TIL] 명령어 병렬 처리 기법 (파이프 라이닝, 슈퍼스칼라)  (0) 2025.03.13
'CS' 카테고리의 다른 글
  • [TIL] 메모리 계층 구조
  • [TIL] 명령어 병렬 처리 기법 (파이프 라이닝, 슈퍼스칼라)
hongjeZZ
hongjeZZ
백엔드 개발자로서의 성장 과정을 기록합니다.
  • hongjeZZ
    Hong's Dev Note
    hongjeZZ
  • 전체
    오늘
    어제
    • 분류 전체보기 (40)
      • Back-End (9)
        • Java (0)
        • Spring (9)
        • Docker & Kubernetes (0)
      • Database (0)
        • MySQL (0)
        • Redis (0)
        • 데이터베이스 (0)
      • CS (4)
        • 운영체제 & 네트워크 (1)
        • 아키텍쳐 & 분산시스템 (0)
      • 회고 (0)
      • PS (27)
        • 백준 (16)
        • 알고리즘 (2)
        • 프로그래머스 (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    우선순위큐
    웹소켓
    시뮬레이션
    mongodb
    DP
    그래프 이론
    BFS
    스택
    구현
    spirng boot
    그리디
    컴퓨터구조
    CS
    큐
    dfs
    Spring
    운영체제
    문자열
    Redis
    Stomp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
hongjeZZ
[TIL] 명령어 집합 구조(ISA), CISC vs RISC
상단으로

티스토리툴바