[계산기 구조] 13.CPU(Central Processing Unit)

이번에는 정보처리기사 필기 과목인 전자계산기 구조의 CPU에 관해 알아보아요.

CPU(Central Processing Unit)
컴퓨터 시스템의 두뇌 역할을 하는 중앙처리장치입니다.
레지스터, 산술논리유닛(ALU), 제어장치(CU), 버스로 구성합니다.

레지스터(Register)
CPU내에서 데이터를 기억하는 메모리 장치입니다.
CPU내에서 처리할 명령어나 연산에 사용할 값이나 연산 결과를 일시적으로 기억하는 장치입니다.
메모리 장치중에 가장 빠릅니다.
플리플롭과 래치(Latch)를 병렬로 구성합니다.
PC(Program Counter): 다음 번에 실행할 명령어 주소를 기억하는 레지스터
IR(Instruction Register): 현재 실행 중인 명령을 기억하는 레지스터
AC(Accumulator): 연산 결과를 임시로 저장하는 레지스터로 누산기라 부름
플래그 레지스터(Flag Register): 상태를 기억하는 레지스터(오버플로우, 언더플로, 캐리, 인터럽트 등의 PSW를 기억)
*PSW(Program Status Word)는 시스템 내부의 순간순간의 상태를 기록하고 있는 정보를 말합니다.
MAR(Memory Address Register): 데이터의 주소를 기억하는 레지스터
MBR(Memory Buffer Register): 데이터를 임시로 기억하는 레지스터로 데이터를 처리하기 위해 반드시 거쳐감
BR(Base Register): 명령의 시작 주소를 기억하는 레지스터
MSR(Major Status Register): CPU의 주 상태를 저장하는 레지스터
인덱스 레지스터: 프로그래머가 내용을 변경할 수 있으며 주소의 변경, 서브루틴 연결 및 반복 연산의 횟수에 사용
데이터 레지스터: 연산에 사용할 데이터를 기억
쉬프트 레지스터: 자리 이동 레지스터

산술논리유닛(ALU, Arithmetic and Logic Unit)
산술과 논리 연산을 하는 장치입니다.
연산장치라고 부릅니다.
가산기, 누산기, 보수기, 오버플로우 검출기, 쉬프트 레지스터, 데이터 레지스터로 구성합니다.

제어장치(CU, Control Unit)
장치들에게 동작을 명령하고 제어하는 장치입니다.
명령어를 해독하여 처리할 수 있게 제어신호를 전송하여 수행하게 명령하는 역할을 담당합니다.
명령어 레지스터, 제어 주소 레지스터, 제어 버퍼 레지스터, 명령 해독기, 제어신호 발생기, 제어 기억장치, 순서 제어 모듈, 순차 카운터로 구성합니다.
명령어 레지스터: 현재 수행하는 명령어를 기억하는 레지스터
명령 해독기: 명령어를 해독하는 회로로 디코더(Decoder)라 부름
제어신호 발생기: 해독한 명령어에 따라 제어 신호를 생성하는 회로로 인코더(Encoder)라 부름
제어 주소 레지스터: 다음 실행할 마이크로 명령어의 주소를 저장하는 레지스터
제어 버퍼 레지스터: 읽어온 마이크로 명령어를 일시적으로 저장하는 레지스터
순서 제어 모듈: 마이크로 명령어의 수행 순서를 결정하는 모듈
순차 카운터: 해독한 명령에 따라 선택한 번호의 타이밍 신호를 생성합니다.

버스(Bus)
장치와 장치사이에 정보를 주고받기 위한 전송선입니다.
주소, 자료, 제어 정보를 보내는 버스가 있습니다.
CPU 와 메모리 내에 구성하는 버스를 내부 버스라 부르고 주변 입출력 장치에 구성하는 버스를 외부버스라 부릅니다.