RISC & CISC
1. 폰 노이만 컴퓨터의 구조
가. 프로세서 구조
- 주어진 소자의 물리적 조건하에서 최대의 성능을 구현하기 위한 시스템화 기술
- 고려대상이 되는 이유는 데이터 지연현상에 기인
- 메모리 계층구조, 즉 레지스터, 레벨1,2,3 캐쉬 및 각종 버퍼 메모리의 크기, 위치에 따라 성능 및 속도 향상에 결정적임
나. 폰 노이만 컴퓨터의 2가지 특징
1) 모든 명령어는 반드시 실행이전에 메모리에 Load되어 있어야 한다
2) 모든 명령어는 한번에 하나씩 처리된다
다. 프로세스 구조의 발전시 문제
- 명령어는 복잡한 계산을 수행하기 위해 보다 다양하고, 실행하는 시간도 더욱 길어지는 현상이 발생
- 마이크로 프로세서의 회로 설계가 곤란하고 프로세서의 크기는 물론 전력소모량을 더욱 많이 필요로 하는 현상을 초래
2. CISC와 RISC의 정의
가. CISC(Complex Instruction Set Computer)의 정의
- 복합명령 집합 컴퓨터
- 단순한 명령 처리에서 복합적인 명령 수행까지 하나의 명령집합으로 실행할 수 있도록 여러개의 명령어를 가진 구조
- 하나의 명령으로 복잡한 작업을 수행할 수 있으므로 한편은 편리한 듯 보이지만 명령이 수행 되면 전체의 처리속도가 저하되거나 여러 개의 트랜지스터를 하나의 CPU내에 넣어야 하는 문제점 발생
나. RISC(Reduced Instruction Set Computer)의 정의
- 축소명령집합 컴퓨터
- 약 20%의 단순 명령어가 전체업무의 80% 정도를 차지하고, 나머지 80%의 명령어가 사용빈도다 낮은 20%의 업무를 수행하기 위해 존재한다는 점을 착안
- 복잡한 80%의 명령어를 단순한 20%의 명령어로 조합하여 처리할 수 있도록하고, 나머지 복잡한 명령어를 제거하여 프로세서의 속도를 향상시킨 프로세서
3. RISC와 CISC의 특징 비교
RISC
CISC
- 적은 수의 명령어를 가짐
- 적은 수의 어드레싱 모드를 지원
- 메모리 참조는 Load와 Store 명령어로만 접근
- 모든 동작은 CPU레지스터 안에서 수행
- 고정길이 명령어 형식을 사용
- 단일 Cycle갖는 단순 명령어
- Pipelining 기법 사용- 하드 와이어된 제어방식(Hardwired Control)을 사용 - 많은 수의 명령어를 가짐
- 다양한 어드레싱 모드를 지원
- 가변길이 명령어 형식을 가짐
- 많은 명령어가 메모리에 접근
- 복잡한 마이크로 프로그램 존재
- Pipelining 기법이 사용되지 않음
- 마이크로 프로그래밍 제어방식(Micro Programmed Cotrol)을 사용
4. RISC 설계의 기본 원리
가. 복잡한 명령어의 제거
- 한 사이클 내에 명령어가 실행되도록 실행 과정을 Pipelining 하는 과정
나. 메모리 액세스 명령의 제한
- 연산에 필요한 데이터가 항상 레지스터 내에 있도록 하여 메모리로 부터 명령어 인출을 작게 함
다. 주소 지정방식의 단순화
- 주소 지정 방식의 종류를 최소화
라. Pipelining
- 여러 시이클 내에서 여러 개의 명령어가 동시에 실행 할 수 있도록 구성하는 방식
마. 마이크로 프로그램의 제거
- 명령어를 해석하고 제어신호를 발생하는 고정에서 마이크로프로그램이 아닌 하드웨어처리로 프로세서 고속화
바. 고정된 명령어 형식
- 고정된 하드웨어에 의해 처리될 수 있도록 코드마다 OP 코드 영역의 비트 수를 같도록 명령어의 형식을 조정
from : http://blog.naver.com/choies1/120002960370
레지스터 중심 구조와 누산기 중심 구조
종래의 CISC는 대부분의 명령어 처리가 누산기(accumulator)를 중심으로 이루어졌다. 오퍼랜드 중 하나는 항상 누산기이고, 출력값 또한 누산기에 저장되는 방식이다. 따라서 누산기에서 병목현상이 일어나게 되고, 이를 해결하기 위해 현재는 모든 레지스터를 누산기처럼 사용할 수 있는 레지스터 중심 구조를 채택하고 있다.
CPU, uP, MCU
CPU (Central Processing Unit) - 중앙처리장치
uP (Microprocessor) - 일반 중앙처리장치와 주기억장치를 제외한 연산장치, 제어장치, 각종 레지스터들을 포함하여 하나의 단일 IC 칩에 구현된 CPU.
MCU (Microcontroller Unit, Microcomputer Unit) - CPU + 메모리(ROM, RAM) + 입출력 제어 인터페이스 등의 여러 기능을 갖춘 CPU. 단일 소자에 완전한 하나의 컴퓨터시스템 기능을 갖추고 있어 single-chip microcomputer라고도 함. 주로 특정 기기 제어용으로 쓰이므로 'processor'보다 'controller'라고 부름.