CPU(Central Processing Unit)
개념
- 중앙 처리 장치.
- 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치.(컴퓨터의 대뇌)
=> 프로그램의 명령어를 해석하여 데이터를 연산/처리를 하고 그렇게 돌아가도록 제어해주는 부분 혹은 그 기능을 내장한 칩.
구성 요소
- 프로세서 레지스터 : 처리할 명령어를 저장하는 역할.
- 산술논리 연산장치(ALU) : 비교, 판단, 연산을 담당.
- 제어부와 내부 버스 : 명령어의 해석과 올바른 실행을 위해 CPU를 내부적으로 제어.
프로세서 레지스터
- 프로세서에 위치한 고속 메모리로 극히 소량의 데이터나 처리 중인 중간 결과와도 같은 프로세서가 바로 사용할 수 있는 데이터를 담고있는 영역.
- 컴퓨터 구조에 따라 크기와 종류가 다양.
- 범용 레지스터와 특수목적 레지스터로 구분됨.
- 범용 레지스터 : 연산에 필요한 데이터나 연산 결과를 임시로 저장.
- 특수목적 레지스터 : 특별한 용도로 사용하는 레지스터.
산술논리 연산장치(ALU)
- 덧셈, 뺄셈과 같은 산술연산과 논리 연산을 계산하는 디지털 회로.
제어부와 내부 버스
제어부
- 주 기억 장치에 저장되어 있는 명령어를 순서대로 호출해 해독하고, 제어신호를 발생시켜 컴퓨터의 각 장치를 동작하도록 하는 장치.
내부버스
- 기억, 연산, 제어 기능을 실현하기 위한 CPU와 주 기억 장치, 입출력 장치,외부 기억 장치, 주변 장치, 통신 처리 장치 등의 제어부 사이를 연결하는 버스.
동작 과정
- 주기억장치가 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.
- CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억 장치에 저장한다.
- 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보내서 출력시킨다.
- CPU 내의 제어장치가 1~3번 과정에서 명령어가 순서대로 실행되도록 각 장치들을 제어한다.
구조
하버드 구조

명령어 메모리 = 프로그램에서 사용할 명령어를 모아둔 메모리.
명령어 메모리 -> 제어장치 : 명령어 대한 정보를 보내줌.
데이터 메모리 = 명령어들로 사용될 메모리.
- 메모리가 두개이므로 역할이 나눠져 있고 속도가 빠르다.
- 구성이 많으므로 비싸고 복잡한 구성으로 고장이 날 확률이 높다.
폰노이만 구조

보조기억장치에서 데이터들이 CPU에서 연산되기 위해서 하나의 메모리에 올라간다.
제어장치는 산술논리장치에 데이터가 메모리 어디에 위치한지 알려주는 역할을 한다.
- 프로그램 메모리와 데이터 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있다.
=> 병목현상 발생.
개선된 구조
- 하버드 구조 + 폰노이만 구조
- CPU의 캐시 메모리 형상에 관여
- CPU 내부 - 하버드
- CPU 내부에 캐시를 둬서 RAM과 CPU 간의 속도 차이를 줄이려고 노력.
- CPU 외부 - 폰노이만
- 메모리 하나에 하나의 버스를 가지는 구조이기 때문에 병목현상이 아직까지는 존재.