본문 바로가기

CS/컴퓨터구조

[컴퓨터 구조] CISC와 RISC 비교, 장단점

728x90


CISC (Complex Instruction Set Computer)


CISC는 명령어의 길이가 가변적으로 구성된 것입니다.

한 명령어의 길이를 줄여 디코딩 속도를 높이고 최소크기의 메모리 구조를 가집니다.

대표적으로 X86.

하드웨어의 비중이 큼.


장점

컴파일러 작성이 쉽다.

복잡한 명령도 마이크로코드(microcode)이므로 실행효율이 좋다.

호환성이 좋다.


단점

하나의 명령어가 복잡하여 해석(디코딩)에 시간이 오래걸리며, 해석에 필요한 회로가 복잡하다.

적은 수의 일부 명령어만 주로 쓰인다.

명령어의 길이가 달라서 동시의 여러개의 명령처리는 어렵다.



+마이크로코드(micro code)

CPU에 하드웨어에 내자된 기계어와 관련된 프로그램.

CPU의 명령하나는 더 작은 동작들로 세분화 될 수 있는데, 하나의 기계어의 동작을 더 작은 동작들의 조합으로 구현한 것



RISC (Reduced Instruction Set Computer)


CPU에서 수행하는 동작 대부분이 몇개의 명령어 만으로 가능하다는 사실에 기반하여 구현함.

고정된 길이의 명령어를 사용한다.

적은수의 명령어로 명령어 집합을 구성하며 기존의 복잡한 명령은 보유한 명령어를 조합해서 사용한다.

보통 많은 수의 범용 레지스터를 가진다.

대표적으로 ARM.

소프트웨어의 비중이 큼.


장점

각 명령어가 한 클럭에 실행되도록 고정되어, 파이프라인 성능에 최적화 됨

고정된 명령어이기 때문에 해석(디코딩)속도가 빠르며, 여러개의 명령어를 처리할 수 있다.


단점

컴파일러의 최적화 과정이 복잡해진다.

명령길이가 고정되어 있기 때문에 코드효율이 낮다.


정리

두 방식은 서로 가지는 특징이 있기 때문에 누가 더 빠르다 할 수 없다.

최근에는 기존의 CISC방식은 RISC 방식의 특징을 도입하고 RISC 방식은 CISC방식의 특징을 도입하기 때문에

어떤 프로세서가 CISC방식이다 RISC방식이다를 명확하게 말할 수 없다.

'CS > 컴퓨터구조' 카테고리의 다른 글

[컴퓨터구조] Addressing Mode(주소지정 방식)  (4) 2016.06.15