명령어 집합 구조, CISC와 RISC

컴퓨터 구조

목록 보기
13/20

명령어 집합 구조와 CISC vs RISC 요약


1. 명령어 집합 (Instruction Set)

(1) 개념

  • CPU가 이해할 수 있는 명령어들의 모음.
  • CPU마다 실행할 수 있는 명령어가 다름.
    • 예: 인텔(Intel) CPU vs 애플(Apple) CPU → 서로 다른 명령어 집합을 사용.
  • 같은 소스 코드를 컴파일하더라도 CPU마다 생성되는 기계어(어셈블리어) 코드가 다름.

(2) 명령어 집합 구조 (ISA, Instruction Set Architecture)

  • 명령어 집합에 따라 CPU의 설계 방식이 결정됨.
  • 명령어 집합 구조(ISA)는 하드웨어와 소프트웨어 간의 약속.

🔹 ISA(Instruction Set Architecture)란?

CPU가 실행할 수 있는 "명령어의 규칙"
✅ 프로그램이 CPU에게 "이렇게 계산해!"라고 명령하는 방법
CPU의 언어 같은 개념! (사람이 영어, 한국어를 쓰듯이)


🔹 ISA가 중요한 이유

🛠 컴퓨터가 프로그램을 실행하려면 CPU가 이해할 수 있는 명령어로 변환해야 함.
🚀 같은 ISA를 사용하는 CPU라면 같은 프로그램을 실행할 수 있음!
🖥 PC, 모바일, 서버 등 다양한 환경에서 CPU 선택에 따라 ISA가 달라짐.


🔹 대표적인 ISA 종류

ISA 종류특징어디에 쓰일까?
x86 / x86-64 (CISC)복잡한 명령어 지원, 성능 높음PC, 서버 (Intel, AMD CPU)
ARM (RISC)명령어 단순, 저전력스마트폰, 태블릿, Mac (Apple M 시리즈)
RISC-V오픈소스, 커스텀 가능IoT, 연구용 CPU, 서버

2. CISC (Complex Instruction Set Computer)

(1) 개념

  • 복잡하고 다양한 명령어 집합을 사용하는 CPU 구조.
  • 대표적인 예: 인텔(Intel) x86, AMD x86-64.

(2) 특징

특징설명
명령어 개수많음, 복잡한 기능 지원
명령어 길이가변 길이 (명령어마다 크기가 다름)
명령어 실행 시간일정하지 않음 (명령어마다 실행 시간이 다름)
메모리 접근다양한 방식 지원
장점강력한 기능을 가진 명령어 제공 → 적은 명령어로 프로그램 작성 가능
단점명령어 파이프라이닝에 불리함 (명령어 실행 시간이 일정하지 않음)

(3) 단점: 파이프라이닝과의 비호환성

  • 명령어마다 실행 시간이 다르므로 CPU의 명령어 파이프라이닝이 어렵다.
  • 예를 들어, 한 명령어는 1클럭, 다른 명령어는 4클럭이 걸리는 경우 파이프라인이 효율적으로 동작하지 않음.

(4) 해결 방법

  • 현대 CISC CPU에서는 명령어를 더 작은 단위(마이크로 명령어)로 쪼개어 실행하여 RISC처럼 동작.

3. RISC (Reduced Instruction Set Computer)

(1) 개념

  • 간단하고 정형화된 명령어 집합을 사용하는 CPU 구조.
  • 대표적인 예: ARM (스마트폰, 태블릿, 애플 M 시리즈).

(2) 특징

특징설명
명령어 개수적음, 단순한 연산 위주
명령어 길이고정 길이 (모든 명령어가 동일한 크기)
명령어 실행 시간일정 (대부분 1클럭 이내 실행)
메모리 접근최소화 (주로 레지스터 활용)
장점명령어 파이프라이닝에 유리함 (일정한 실행 시간)
단점시스크보다 많은 명령어를 사용해야 함

(3) 장점: 파이프라이닝에 유리

  • 모든 명령어의 크기가 일정하여 CPU의 명령어 파이프라인을 효율적으로 운영 가능.
  • 복잡한 명령어 대신 단순한 연산을 빠르게 반복하여 처리.

(4) 단점

  • 명령어 개수가 적어 프로그램을 실행하려면 더 많은 명령어가 필요.
  • 같은 기능을 수행하려면 CISC보다 더 많은 기계어 코드가 생성됨.

4. CISC vs RISC 정리

비교 항목CISC (시스크)RISC (리스크)
명령어 개수많음적음
명령어 길이가변 길이고정 길이
명령어 실행 시간명령어마다 다름대부분 1클럭 이내
명령어 파이프라인불리함유리함
메모리 접근 방식다양한 방식 지원최소화 (레지스터 활용)
성능 최적화강력한 명령어 제공 (적은 명령어로 동작)단순한 명령어를 빠르게 반복 실행
대표적인 CPU인텔 x86, AMD x86-64ARM (애플, 스마트폰, 태블릿)

5. 현대 CPU의 실제 설계

  • 이론적으로는 CISC = 복잡, RISC = 단순하지만, 현대 CPU는 두 가지 개념을 혼합하여 사용.
  • CISC CPU (예: 인텔, AMD)
    • 내부적으로 명령어를 더 작은 단위로 쪼개어 실행하여 RISC처럼 동작.
  • RISC CPU (예: ARM, 애플 M1/M2)
    • 현대적인 설계로 CISC의 기능을 일부 지원.

6. 결론

  1. CPU는 명령어 집합 구조(ISA)를 기반으로 동작하며, CISC와 RISC가 대표적인 두 가지 방식.
  2. CISC는 강력한 명령어를 사용하지만, 명령어가 복잡하여 파이프라이닝에 불리함.
  3. RISC는 단순한 명령어를 사용하여 파이프라이닝에 최적화됨.
  4. 현대 CPU는 CISC와 RISC의 장점을 조합하여 성능을 최적화하고 있음.

이제 CPU의 명령어 집합 구조CISC vs RISC의 차이점을 명확히 이해할 수 있을 거예요! 🚀

0개의 댓글