중앙처리장치(Central Processing Unit: CPU)에는 계산을 실행하는 연산장치(ALU) 와 전체적인 제어를 담당하는 제어장치(control unit)가 있으며 이를 수행하기위하여 복잡한 전기적 회로들로 구성된다. 입력 장치를 통하여 데이터를 받아들여 임시기억장치에 기억된 프로그램의 명령어들을 실행
하여 이를 정보처리 그 결과를 출력장치인 monitor나 printer로 내보내는 역할을 한다.

1. 연산장치
   연산장치는 사칙연산(덧셈,뺄셈,곱셈, 나눗셈)등의 계산과 자리올림편집, 논리연산등을 실행하는 장치다. 연산은 비수치적인 연산과 수치적연산으로 구분된다. 비수치적연산은 논리연산을 의미하며
move, and, or, complement, shift, rotate 등이 있으며 수치연산은 사칙연산인 산술연산을 의미한다.
CPU내에는 필요한 연산을 하기위해서 연산에 사용될 데이터를 기억해두는 많은 레지스터가 있다.
computer 내부에서의 데이터 전송, 연산의 진행방식은 대개 각 동작을 클록 펄스에 동기시켜 정해진 시간마다 동작을 진행시키는 동기식으로 이루어진다. 데이터의 전송방식을 분류하면 직렬식과 병렬식이 있으며 직렬식은 2진의 숫자가 1자리씩 직렬로 전송되고 하나의 연산회로에서 한자리씩 연산이 이루어진다. 병렬식에는 전부의 자리 수치가 동시에 전송되고 자리수와 같은 수의 연산회로에 의하여 연산이 이루어진다.

연산장치는 가산기를 중심으로 누산기, A레지스터, 자리올림플립프롭, 오버플로검출플립플롭, 보수기
등으로 구성된다. 가산기는 여러개의 전 가산기가 병렬로 연결되어 있으며 누산기, A레지스터는 가산기의 연산데이타를 일시 기역하는 역할을 한다. 또 연산 결과는 다시누산기에 기억된다. 보수기는
뺄셈 연산기에 사용된다. 오버플로는 연산장치엥서 어러가지 연산을 수행할때 연산결과가 누산기에 기억될수 없는 상태이다. 이러한 오바플로가 일어나면 오버플로 검출 플립플롭에 의해서 검출된다. 자리올림플립플롭은 가산기의 연산에서 생기는 자리올림수를 일시 기억한다.

2. 제어장치

 CPU는 ram에 올라와있는 프로그램명령어를 호출하여 해석하고 해석한 결과에 따라 자료의 이동, 연산및 입출력을 실행하도록 제어하는 기능을 가지고 있다. 제어장치는 ram에 와있는 명령어를 순서대로 호출하고 해석하며 해석결과에 따라 순서대로 실행하기위하여 논리연산장치, 기억장치, 입출력장치에 제어신호를 보내고 또 이들 각 장치들로부터 신호를 받아서 다음에 해야할 동작을 결정하는 역할을 한다. 제어장치가 이러한 작업을 자동적으로 실행하기위하여 필요로 하는 장치로는
다음과 같은 것이 있다.

프로그램계수기: 다음에 실행할 명령어가 기억되어 있는 주기억장치의 주소를 갖고 있는 레지스터
명령레지스터: IR이라고 하며 프로그램 계수기가 지정하는 주소에 기억되어 있는 명령어를 해독하기위
해 임시보관해 두고 있는 레지스터
명령해독기: 명령레지스터에 들어있는 명령코드 부분에 있는 기계어 명령어를 각종 제어를 위해 필요한 제어신호로 번역하여 기계사이클암호기에 보내는 논리회로
제어장치: 명령해독기에서 보내져온 신호에 따라 명령어를 실행하는데 필요한 기계사이클을 클록에 따라 발생시켜 각 장치에 제어 신호를 보내는 논리회로이다.
범용레지스터: 작업레지스터에 데이터를 용이하게 처리하도록 일시적으로 데이터를 저장하는 레지스터
작업레지스터: 산술논리연산을 실행할 수있도록 데이터를 저장하고그 결과를 저장하는 레지스터이다.
범용레지스와 차이는 산술 및 장치에 연결되어있다는 점이다.
상대레지스터: 중아처리장치의 상태를 나타내는 레지스터로 연산결과의 상태 0, sign, overflow, carry
interrupt  등의 발생여부를 나타내는 특수목적 레지스터 

 CPU의 속도 : 컴퓨터는 내부에 시계와 같은 역할을 하는 클럭(clock)이라는 장치가 있어서 이 클럭이 한번 신호를 보낼 때마다 CPU가 한번씩 동작을 한다. 어떤 자료를 처리하는데 CPU가 10번 동작한다고 하자. 만일 클럭이 1초에 10번 신호를 발생시킨다고 한다면 이 자료의 처리에는 1초가 걸릴 것이다. 그러나 초당 100번의 클럭을 발생시키는 컴퓨터로는 이 자료를 처리하는데 1/10초밖에 걸리지 않을 것이다. 클럭의 속도는 보통 Hertz로 표시되는데 1 MHz는100만 Hz이다.