CPU는 인간의 두뇌에 해당하는 장치로 주기억장치에서 프로그램 명령어와 데이터를 인출, 해독, 실행, 저장한다.
산술 논리 연산장치(ALU, Arithmetic and Logic Unit)
- 덧셈, 뺄셈같은 산술연산과 AND, OR같은 논리연산을 계산하는 디지털 회로이다.
- ALU의 구성
- 산술 및 부울 논리 연산기 : 산술, 논리 연산 수행
- 상태플래그 : 데이터 상태를 표시(0, 음수, 오버플로우)
- 이동기 : 데이터 비트의 이동
- 보수기 : 보수연산을 수행
제어장치
- 명령어를 해독하는 기능과 제어 신호를 해당장치에 전달하는 역할을 수행
- 명령어를 해독하고 필요한 장치에 전달하기 위해서는 여러 요소들이 필요하다.
- 제어장치의 구성요소
- MAR(기억장치 주소 레지스터) : 다음 동작을 수행할 주기억장치 주소 저장
- MBR(기억장치 버퍼 레지스터) : 주기억장치에 읽어온 or 저장할 데이터를 임시저장
- IR(명령어 레지스터) : 현재 명령어를 수행하기 위해 일시적으로 저장
- Decoder(명령어 해독기) : IR에 저장된 명령어를 해독하여 수행할 연산을 결정
- PC(프로그램 카운터) : 다음에 실행할 명령어의 주소를 저장
레지스터
- 고속 기억장치로 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장한다.
- CPU의 종류에 따라서 사용할 수 있는 레지스터의 개수와 크기가 다르다.
- 레지스터는 용도에 따라서 범용 레지스터(연산에 필요한 데이터, 결과를 임시 저장)와 특수목적 레지스터(제어장치에서 사용되는 레지스터)로 구분된다.