PC정비사 Study

CISC와 RISC의 차이

우주아빠TV 2014. 10. 11. 16:59

CPU를 기본 아케텍처로 분류하는 경우, CISC RISC 크게 두가지로 나눌 수 있다.

 

CISC(Complex Instruction Set Computer)
 CISC는 CPU가 출현하고 나서 현재에 이르기까지 폭넓게 CPU에서 사용하고 있는 아키텍처이다.
인텔사가 출시하는 최근의 CPU만 보아도 알 수 있듯이 CISC아키텍처는 아직도 발달하고 있다고 한다.
CISC를 번역해보면 '확장 명령형 컴퓨터'라는 의미이다. CPU에 대한 명령의 종류를 증가하거나 고도화하는 것에 의해 처리 능력을 향상시키는 것이다. 예를 들어 연산 명령의 경우를 생각해 보겠다. C=A*B라는 곱셈 알고리즘을 짠다고 하면 C에 A를 B회 더한다. 그리고 이와 같은 명령을 구현하기 위해서 프로그래머는 다음과 같은 알고리즘을 코딩해야 할 것이다. 위의 경우는 단순한 경우의 예이지만 이와 같은 알고리즘이 하드웨어적으로 구현이 되어 있다면 프로그래머 입장에서는 프로그래밍 하기에 더없이 좋을 것이다. 이처럼 CISC는 비교적 오랜전통에 바탕을 두어 프로그램을 번잡하게 하는 연산과 기능을 CPU 쪽의 하드웨어로 준비해놓고 간단한 명령으로만 실현할 수 있게 한 CPU 아키텍처이다. 따라서 명령어 집합이 많고, 하드웨어의 구조가 복잡하므로 가격이 비싸고 전력소모가 크다고 한다.

 

RISC(Reduced Instruction Set Computer)
RISC의 개념은 1975년 미국 IBM 와트슨 연구소의 John Cocke에 의해 나온 것이라 한다.
RISC의 발상은 다음과 같다. 전통적인 CISC CPU에는 프로그래밍을 돕기 위한 많은 수의 명령어와 주소 모드가 존재하였다. 그러나 각 명령의 사용 빈도를 조사해보니 프로그램의 80%는 전체 명령의 약 20% 명령만을 사용한다는 것이다. 이 결과를 토대로 사용 빈도가 높은 명령어 집합을 구성한 것이 RISC이다.
그리고 한가지 더 말하자면 CISC는 레지스터 수가 적고 다양한 어드레싱 모드를 지원하도록 설계되었다.  이것은 CPU 내부 처리와 CPU 외부와의 처리에 큰 오차가 발생하도록 하였다. CPU가 고속처리를 하여도 외부 장치의 처리 속도에 의존하기 때문에 비효율적이라는 것이다.

따라서 RISC는 다음과 같은 특징을 가진다.

1. Load/Store 아키텍처 - 복잡한 어드레싱 모드를 피하고 메모리와 레지스턴 간의 데이터 전송은 Load 명령 Store 명령만으로 실행

2. 한정된 명령의 길이 - 메모리 액세스를 Load/Store로 한정함으로 명령어 길이의 고정이 가능

3. 많은 레지스터 - Load/Store의 메모리 액세스만으로 뒤는 모든 CPU내부에서 처리하도록 하는 발상 메모리대신에 레지스터가 많이 필요.


이처럼 RISC는 단순한 구조이기 때문에 논리 설계와 실제 장치에서도 집적화가 비교적 간편하다고 한다.

단 하드웨어의 기능이 간단해진만큼 프로그램 크기가 커지게 되는 것은 당연한 이야기 일 것이다. 따라서 CISC와는 반대로 '하드웨어는 쉬어도 소프트웨어는 어려운' 아키텍처라고 할 수 있겠다.

'PC정비사 Study' 카테고리의 다른 글

국가공인 PC정비사 1급 자격증...  (0) 2016.01.13
메모리 라벨의 용량표시 알아보기  (0) 2014.10.11
DVD 용량  (0) 2014.10.11
IP주소체계 IPv4에 대한 정리....  (0) 2014.10.10
NETSTAT 명령어 옵션  (0) 2014.10.09