RISC는 CISC와 어떤 차이가 있을까?
기존 CISC는 필요한 모든 명령어 셋을 갖추도록 설계된 마이크로프로세서에 용어로, 요구되는 능력을 가장 효율적인 방법으로 제공한다.
이는 하나의 명령어당 최대한 많은 작업을 하게하는 것이고, 적은 수의 명령어로 많은 일을 할 수 있어 프로그램 작성하기도 쉽고 컴파일러의 코드 생성도 쉽다.
그런데 이런 명령어들 중 불과 20%정도가 80%일을 처리한다.(EX IBM)
대부분의 Complier 제작사들이 CISC의 Instruction Set들을 잘 사용하지 않는다. 여기서 말하는 Instrution Set는 하드웨어가 직접 해독.실행이 가능한 명령어 집합을 말한다.
그래서 복잡한 나머지 80%명령어를 제거하여 사용빈도가 높은 명령어 위주로 20%의 명령어를 H/W화하여 처리속도를 향상시킨 것입니다. 컴퓨터의 실행속도를 높이기 위해 복잡한 처리는 소프트웨어에게 맡기는 방법을 채택해, 명령세트를 축소 설계한 컴퓨터가 RISC다.
CISC와 RISC는 모두 컴퓨터이고 작동방식에 차이점이 있지만, 성능이 많이 좋아지면서 이의 구분이 크게 의미가 없어졌다.
그래도 굳이 장단점을 구분해 보자면,
CISC (Complex Instruction Set Computer)
장점
컴파일러 작성이 쉽다.
복잡한 명령도 마이크로코드(microcode)이므로 실행효율이 좋다.
호환성이 좋다.
단점
하나의 명령어가 복잡하여 해석(디코딩)에 시간이 오래걸리며, 해석에 필요한 회로가 복잡하다.
적은 수의 일부 명령어만 주로 쓰인다.
명령어의 길이가 달라서 동시의 여러개의 명령처리는 어렵다.
RISC (Reduced Instruction Set Computer)
CPU에서 수행하는 동작 대부분이 몇개의 명령어 만으로 가능하다는 사실에 기반하여 구현함.
고정된 길이의 명령어를 사용한다.
적은수의 명령어로 명령어 집합을 구성하며 기존의 복잡한 명령은 보유한 명령어를 조합해서 사용한다.
보통 많은 수의 범용 레지스터를 가진다.
대표적으로 ARM.
소프트웨어의 비중이 큼.
장점
각 명령어가 한 클럭에 실행되도록 고정되어, 파이프라인 성능에 최적화 됨
고정된 명령어이기 때문에 해석(디코딩)속도가 빠르며, 여러개의 명령어를 처리할 수 있다.
단점
컴파일러의 최적화 과정이 복잡해진다.
명령길이가 고정되어 있기 때문에 코드효율이 낮다.
정리
두 방식은 서로 가지는 특징이 있기 때문에 누가 더 빠르다 할 수 없다.
최근에는 기존의 CISC방식은 RISC 방식의 특징을 도입하고 RISC 방식은 CISC방식의 특징을 도입하기 때문에
어떤 프로세서가 CISC방식이다 RISC방식이다를 명확하게 말할 수 없다.
'IT기술 > CS(ComputerScience)' 카테고리의 다른 글
메타 OS란? (0) | 2022.11.27 |
---|---|
파일시스템 이란? (0) | 2022.11.27 |
ARM 칩이란? (0) | 2022.11.27 |
데이터센터의 3요소 (0) | 2022.11.27 |
bottleneck(바틀넥) 현상이란? (0) | 2022.11.27 |