Microprocessor
CPU의 기능을 하나의 집적회로 칩 안에 구현한 하드웨어
- 제어장치 + 연산장치 + 레지스터
- CPU 기능을 LSI(대규모 집적회로)에 탑재한 장치
- 클럭 주파수와 내부 버스 폭으로 성능 평가
- PC 내의 중앙 처리 장치
- CPU 명령어 처리 및 구성 방식에 따라 RISC, CISC, EISC로 구분함
RISC
- Reduced Instruction Set Computer
- 단순 기능 명령어 집합
- 주소 지정 방식을 최소화하여 제어장치가 간단하고 실행 속도가 빠름
- 고정배선제어로 마이크로프로그램보다 빠름
- 복잡한 처리는 SW의 역할로 하여 명령세트를 축소
- 메모리 엑세스는 LOAD, STORE로 한정
- 어드레싱 모드가 적음->와이어드 로직 다수
하드와이어드 제어(와이어드 로직)
- 제어 신호를 고정된 논리회로(와이어드 로직)으로 생성하는 방식
CISC
- Complex Instruction Set Computer
- 복잡한 명령어가 많음(수백 이상)
- 데이터 경로, 마이크로프로그램 제어장치, 캐시, 메모리로 구성
- 명령어 집함 매우 큼, 프로그래머에게 쉬운 작업 환경
- 명령어가 많고 복잡하기에 프로그램 제어 방식이 유리함
- 마이크로프로그램으로 사용자 작성 고급언어에 각각의 기계어 대응시킨 회로로 구성된 중앙 처리 장치
마이크로프로그래밍 제어
- 명령어 실행을 위한 제어 신호를 제어 메모리 안에 저장된 마이크로프로그램을 읽어 발생시키는 방식
마이크로 프로그램
- CPU 내부에서 ISA(명령어 집합)를 실제로 실행하기 위해 하드웨어 동작을 제어하는 저수준의 프로그램
- 기계어 명렁(ADD, MOC) 하나를 실행하기 위해 CPU 내부의 레지스터 이동, ALU 연산, 메모리 접ㅈ근 등을 순서대로 제어함
- 여러 개의 마이크로명령(micro-instruction)으로 이루어짐
- 마이크로 명령: 제어메모리(control memory)에 저장되어 CPU 제어장치가 참조함
하드와이어드 제어와 마이크로프로그래밍 제어
RISC는 간단하고 규칙적인 명령어 집합을 사용
-> 굳이 제어를 마이크로프로그램으로 할 필요가 없음
-> 하드 와이어드 로직(논리회로기반제어)으로 직접 구현하는 것이 효율적
-> RISC = 하드와이어드제어(와이어드로직)으로 볼 수 있음
마이크로프로그래밍 제어는
유연(명령어 집합 변경 쉬움, 마이크로 코드만 바꾸면 됨)하고
상대적으로 느림(메모리에서 마이크로명령을 읽어야 하므로 속도저하 발생)
-> 명령어 종류가 많고, 복잡한 명령어가 존재할 경우 프로그램 방식 제어가 유리
-> 주로 CISC 구조에서 채택
EISC
- Extensible Instruction Set Computer
- 임베디드 프로세서를 RISC 기반 명령어 집합
- RISC의 간결성 + CISC의 확장성
- 확장 레지스터와 확장 플래그 사용
RISC와 CISC
| RISC | CISC |
|---|
| 처리 속도 | 빠름 | 느림 |
| 명령어 수 | 적음 | 많음 |
| 전력 소모 | 적음 | 많음 |
| 레지스터 | 많음 | 적음 |
| 프로그래밍 | 복잡 | 간단 |
마이크로프로세서와 CPU의 상관관계
- CPU(Central Processing Unit): 중앙 처리 장치. 연산과 제어 담당.
- Microprocessor: CPU를 포함한 연산, 제어 기능을 하나의 IC(집적회로)칩 내에 구현한 것
-> CPU를 반도체 칩 형태로 만든 것
과거에는 CPU가 여러 개의 회로 기판이나 모듈로 구성되었으나, 이를 하나의 칩에 넣으며 마이크로프로세서 개념 등장.
마이크로프로세서 = CPU 칩
현대 컴퓨터에서 CPU라고 부르는 것은 대개 microprocessor
마이크로프로세서와 마이크로프로그램..
둘은 완전히 다른 개념이다
| microprocessor | micro program |
|---|
| 형태 | HW(IC칩) | SW적 제어 코드 |
| 역할 | 컴퓨터 전체 연산, 제어 담당 | CPU 내부 동작을 세부적으로 제어 |
| 예시 | Intel i7, ARM cotex | ADD 실행을 위한 레지스터 이동 시퀀스 |