CPU?
: 컴퓨터가 사용자의 명령에 대한 작업을 수행하는 처리장치
CPU의 구성
- 산술논리 연산장치(ALU) : 비교, 판단, 연산을 담당
- 제어부(CU)와 내부 버스 : 명령어의 해석과 올바른 실행을 위하여 CPU를 내부적으로 제어
- 메모리 유닛
- 레지스터 : 처리할 명령어를 저장
- 캐시 메모리(L1) : 처리속도를 높여주는 역할
레지스터
: 연산에 필요한 데이터를 저장하고 빠른속도로 접근할 수 있는 저장공간
프로세서 레지스터
- 범용 레지스터 : 연산에 필요한 데이터나 연산 결과를 임시로 저장
- 특수목적 레지스터 : 특별한 용도로 사용하는 레지스터
ex)
- 메모리 주소 레지스터: (MAR) : 읽고 쓰기 위한 주기억장치의 주소를 저장한다.
- 프로그램 카운터 (PC) : 다음에 수행할 명령어의 주소를 저장
- 명령어 레지스터 (IR) : 현재 실행 중인 명령어를 저장
- 메모리 버퍼 레지스터 (MBR) : 주기억장치에서 읽어온 데이터나 저장할 테이터를 임시로 저장
- 누산기 (AC, ACCUMULATOR) : 연산 결과를 임시로 저장
제어장치(CU)
-
제어부
: 주기억 장치에 저장되어 있는 명령어를 순서대로 호출하여 해독하고, 제어 신호를 발생시켜 컴퓨터의 각 장치를 동작하도록하는 장치
-
내부버스
: 기억, 연산, 제어 기능을 실현하기 위한 CPU와 주기억 장치, 입출력 장치, 외부 기억 장치, 주변 장치, 통신 처리 장치 등의 제어부 사이를 연결하는 버스
연산장치(ALU)
: 산술 논리 장치 / 덧셈, 뺄셈같은 산술연산과 논리 연산을 계산하는 디지털 회로
CPU의 동작
[참고]
기계어(0과 1) --하드웨어적--> 어셈블리어(CPU) --사람적--> 프로그래밍 언어(사람)
CPU가 명령어를 읽고 수행하는 동작
- 명령어 인출
- 명령어 해독
- 명령어 정보 인출 후 명령어를 해독작업 진행
- 보통 opcode라는 명령어 코드를 인출하고, opcode의 성격에 맞게 레지스터들을 준비한다
- 실행
- 해독된 명령어를 수행
ex) 산술/논리 관련된 연산이면 ALU가 주체가 되어서 실행된다
- 반영
- 명령어의 수행 결과를 반영함으로써 명령어 수행의 한 사이클이 끝이 난다