CPU
CPU 다른 말로 Processor라고도 합니다.
1. CPU 구성요소
(1) 연산장치 (ALU, Arithmetic and Logic operation Unit)
A. ALU의 구성
- 상태 레지스터(Status Register) : 연산결과의 상태(status=flag)를 저장합니다.
- 2의 보수화기(2's Complementer) : 음수 연산을 위해 2의 보수를 말합니다.
- 산술연산장치 : 사칙 연산등의 산출연산을 수행합니다.
- 논리연산장치 : NOT, AND, ORO, XOR 등의 논리 영상을 수행합니다.
= 시프트 레지스터 : 비트열을 이동시키는 기능을 합니다.
(2) 제어 장치 (Control Unit)
A. CU 구성
- 제어 메모리(Control Memory) : 제어장치 내부의 기억장치로 제어신호 발생에 필요한 마이크로 명령어들이 마이크로 프로그램으로 저장됩니다.
- 명령어 해독기(Instruction decoder) : IR에 들어온 명령어를 해독해 연산코드를 구합니다. 이를 근거로 연산코드가 지시하는 동작을 실행한 제어 서브루틴의 시작 주소를 마이크로 프로그램에서 찾아냅니다
- 주소 해독기(address decoder) : 명령어의 오퍼랜드에서 유효주소나 간접수로를 찾아 실제 사용할 수 있는 유효주소를 만들어 레지스터에 저장합니다.
- 제어신호 발생기 : CPU 내외부의 각 부분에 필요한 제어신호를 만듭니다.
- 타이밍 발생회로 : 제어신호 발생을 위한 정확한 타이밍을 만들어냅니다.
- 기타 장치들 : 마이크로명령어를 일시적으로 저장하는 버퍼 레지스터, 제어 메모리의 주소를 저장하는 레지스터, 마이크로명령어의 실행순서를 결정하는 장치등
(3) 레지스터 (Register)
CPU내의 임시 기억장소로 처리할 명령이나 연산의 중간 값 등을 일시적으로 저장합니다.
A. 레지스터 종류
-
GPR(General Purpose Register) : 연산에 필요한 데이터나 연산 결과를 임시로 저장하는 레지스터 (범용레지스터)
-
SPR(Special Purpose Register) : 특별한 용도로 사용하는 레지스터, 용도와 기능에 따라 구분되는 레지스터 (특수 목적 레지스터)
- PC(Program Counter) : 다음에 인출할 명령어 주소를 저장
- IR(Instruction Register) : 현재 수행 중인 명령어를 저장(가장 최근에 인출된 명령어 저장)
- MAR(Memory Address Register) : 메모리로부터 읽어오거나 메모리에 쓰기 위한 주소를 저장
- MBR(Memory Buffer Register) : 메모리로부터 읽어온 데이터 또는 메모리에 써야할 데이터 저장
- AC(Accumulator) : 연산 결과를 자신에게 다시 누적시키는 장치(누산기)
- Flag Register : 연산결과의 상태를 나타내는 플래그 비트들로 구성 (=status register)
- SP(Stack Pointer) : 현재 실행 중인 스레드의 스택 Top 가상 주소를 저장
- Count Register : 반복 명령어 사용시 반복 카운터로 사용되는 값을 저장
(4) Bus
장치와 장치 사이에 정보를 주고받기 위한 전송선입니다.
-
주소 버스(Address Bus)
CPU에서 주기억장치 특정 위치를 가리키기 위한 단방향 회선입니다.
-
데이터 버스(Data Bus)
CPU와 메모리 사이에 데이터를 주고받기 위한 양방향 회선입니다.
-
제어 버스(Control Bus)
CPU나 채널에서 입출력 장치에 동작을 지시하기 위하여 제어신호를 전달하는 단방향 회선입니다./
(5) 기억장치
-
주 기억장치(Main memory)
-
캐시메모리
-
보조기억장치
출처
https://gamedevlog.tistory.com/69
http://itnovice1.blogspot.com/2019/09/cpu.html