[컴퓨터구조] RISC, CISC 차이

2022. 9. 30. 23:37TIL💡/Design Pattern

중앙 처리 장치(CPU)는 두 가지가 있다. → RISC, CISC

CISC의 단점을 처리하기 위해 RISC가 세상에 나왔다.

 

CISC(Complex Instruction Set Computer)

연산에 처리되는 복잡한 명령어들을 수백 개 이상 탑재하고 있는 프로세서

 

ex) Intel x86

CISC는 말그대로 복잡한 명령어 집합을 갖는 CPU 아키텍처이다.

명령어가 복잡하기 때문에 명령어를 해석하는 데 시간이 오래 걸리며, 명령어 해석에 필요한 회로도 복잡하다.

명령어가 가변 길이이기 때문에 병렬처리도 불가능하다.

복잡한 명령은 발열이 날 수 있으므로 휴대폰에 사용 불가하다.

설계가 복잡하나 복합적인 명령으로 인해 프로그래밍 작업이 간단해진다.

다양한 주소 지정 모드를 사용한다. 

RISC 프로세서에 비해 전력 소모가 많으며 처리 속도가 느리다.

다양한 명령어로 메모리 접근한다.

마이크로 프로그래밍 제어 방식 사용한다.

 

RISC(Reduced Instruction Set Computer)

- 복잡한 80% 명령어를 제거하여 사용빈도가 높은 명령어 위주로 20%의 명령어를 H/W화 하여 처리 속도를 향상

- 컴퓨터의 실행 속도를 높이기 위해 복잡한 처리는 S/W에게 맡기는 방법을 채택하여, 명령 세트를 축소

 

ex) ARM, Apple

 

CPU에서 수행하는 모든 동작의 대부분이 몇 개의 명령어만으로 가능하다는 사실을 전제로 설계된 프로세스이다.

명령어의 길이가 같아서 병렬처리가 가능하다. 왜냐하면 데이터의 크기가 일정하기 때문에 배치 간격이 일정하기 때문에 병렬효과가 크다.

메모리 참조는 Load, Store 만으로 가능하다.

CISC CPU 내의 ROM에 SW적으로 적재된 내부 명령어들을 하드웨어적으로 구성하여 제어기가 제거된 부분에 프로세서 레지스터 뱅크와 캐시를 둔다. 이렇게 함으로써 CPU가 상대적으로 느린 메모리에 접근하는 횟수를 줄여주어 파이프라이닝 등 시스템 수행 속도가 전체적으로 향상된다.