ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Computer Science] CPU : 명령어 집합 구조, CISC와 RISC
    Computer Science 2024. 5. 15. 12:35

    CPU의 언어인 명령어 집합 구조에 대해 정리하였습니다.


    참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'


    < 명령어 집합 구조(Instruction Set Architecture) >

    CPU가 이해할 수 있는 명령어들의 모음, 즉 CPU의 언어입니다.
    => CPU는 명령어 집합에 속해 있는 명령어들만 이해할 수 있습니다.

    대표적으로 CISCRISC가 있습니다.

     

    +. 인텔의 CPU는 일반적으로 "x86 (x86-64)" 명령어 집합을, 애플의 CPU는일반적으로 "ARM" 명령어 집합을 따릅니다.

     

    +.같은 소스코드를 컴파일 하더라도 CPU의 종류에 따라서 Assemblier의 종류도 달라질 수 있습니다.

    컴파일 : X86 (X86-64), ARM

     

     


    < CISC(Complex Instruction Set Computer) >

    CISC는 복잡하고 다양한 수의 가변 길이 명령어 집합을 활용하는 CPU를 말합니다.

    x86, x86-64는 CISC 기반 명령어 집합 구조입니다.

     

    CISC

     

    [ 장점 ]

    • 다양하고 강력한 명령어를 활용하기 때문에, 상대적으로 적은 수의 명령어로도 프로그램을 실행가능.

     

    [ 단점 ]

    • 명령어가 복잡하고 다양한 기능을 제공 하는 탓에 명령어의 크기와 실행되기 까지의 시간이 일정하지 않음.
    • 명령어 하나를 실행하는 데에 여러 클럭 주기 필요.
    • 대다수의 복잡한 명령어는 사용 빈도가 낮음.

    => 명령어 파이프라이닝이 불리함

     

     


    < RISC(Reduced Instruction Set Computer) >

    RISC는 단순하고 적은 수의 고정 길이 명령어 집합을 활용하는 CPU를 말합니다.

    ARM은 CISC 기반 명령어 집합 구조입니다.

     

    RISC

     

    [ 장점 ]

    • 다양하고 강력한 명령어를 활용하기 때문에, 상대적으로 적은 수의 명령어로도 프로그램을 실행가능.

     

    [ 특징 ]

    • 메모리 접근을 최소화하고 대신 레지스터를 십분 활용 => CISC에 비해 범용 레지스터의 종류가 더 많은 경우가 많음.
    • CISC보다 더 많은 명령어로 프로그램을 동작시킴.

     

     

     

     

     

     


    CISC RISC
    복잡하고 다양한 명령어 단순하고 적은 명령어
    가변 길이 명령어 고정 길이 명령어
    다양한 주소 지정 방식 적은 주소 지정 방식
    프로그램을 이루는 명령어의 수가 적음 프로그램을 이루는 명령어의 수가 많음
    여러 클럭에 걸쳐 명령어 수행 1클럭 내외로 명령어 수행
    파이프라이닝하기 어려움 파이프라이닝하기 쉬움

     

     

     

    댓글

Designed by Tistory.