Unha unidade central de procesamento (UCP) ou CPU () é un circuíto electrónico dunha computadora que leva a cabo as instrucións dun programa informático realizando as tarefas básicas aritméticas, lóxicas, de control e de entrada/saída especificadas polas instrucións.
O termo CPU comezouse a empregar na industria informática a comezos da década dos 60, e adoita empregarse tradicionalmente para referirse ao propio procesador e á unidade de control, facendo distinción entre estes elementos e outros coma a memoria ou os compoñentes de entrada/saída.
O formato, deseño e posta en funcionamento das CPU foron evolucionando ó longo da súa historia, pero o seu funcionamento fundamental segue sendo o mesmo que nos seus comezos. Os dous compoñentes principais dunha CPU son a unidade aritmético-lóxica (ALU), que realiza operacións aritméticas e lóxicas, e a unidade de control (CU), que extrae, descodifica e executa as instrucións dende a memoria, empregando a ALU cando é necesario.
Historia miniatura|Vista parcial do Harvard Mark E, un computador electromecánico de 1944. miniatura|Programando o ENIAC. miniatura|Vista do EDVAC coa unidade de cinta perforada ao fondo. Os primeiros procesadores foron deseñados a medida como parte dun computador máis grande, no entanto, este custoso método de deseñar procesadores a medida, por unha aplicación particular, desapareceu e foi substituído polo desenvolvemento de clases de CPU baratas e estandarizadas adaptadas para diferentes propósitos. Esta estandarización empezou na era dos transistores discretos, computadoras centrais, e microcomputadores, e acelerouse rapidamente coa popularización do circuíto integrado, este permitiu que sexan deseñados e fabricados procesadores máis complexos en espazos pequenos. Tanto a miniaturización como a estandarización das CPU aumentaron a presenza destes dispositivos dixitais na vida moderna moito máis alá das aplicacións limitadas de máquinas de computación dedicadas. Os microprocesadores modernos están presentes por todas partes.
Antes da chegada das máquinas parecidas ás unidades centrais de proceso de hoxe en día, os computadores como o ENIAC tiñan que ser recableados fisicamente antes de executar cada tarefa, por iso foron denominados 'computadores de programa fixo' (fixed-program computers), dado que tiñan que ser reconfigurados para poder executar un novo programa. Dado que o termo 'unidade central de proceso' defínese habitualmente como un dispositivo para a execución de software (Programa informático), os primeiros programas que podían recibir esta denominación chegaron cos computadores con programas gravados.
A idea de almacenar os programas informáticos xa estaba presente nos deseños de J. Presper Eckert e John William Mauchly no ENIAC, pero fora descartada para poder finalizar a máquina máis rapidamente. O 30 de xuño de 1945, antes de remtar o ENIAC, o matemático John von Neumann difundiu o documento titulado First Draft of a Report on the EDVAC (Primeiro borrador dun informe sobre o EDVAC). Neste documento describiu o deseño dun computador con programa almacenado que foi completado en agosto de 1949.Primeiro borrador dun informe sobre o EDVAC John von Neumann, (1945). Stanford University. O EDVAC foi deseñado para executar un certo número de instrucións de diferentes tipos. Estas instrucións podían ser combinados para crear programas útiles para o funcionamento do EDVAC. De maneira significativa, os programas escritos polo EDVAC foron almacenados na memoria de alta velocidade do ordenador no canto de ser definidos por medio do cableado físico no computador. Con isto superouse unha das limitacións importantes do ENIAC que necesitaba unha gran cantidade de tempo e esforzo para reconfigurar o ordenador para poder executar unha nova tarefa. Co deseño de von Neumann o programa, ou software, que executaba o EDVAC podía ser cambiado de maneira sinxela cambiando o contido da memoria do computador.A pesar de que o EDVAC foi deseñado algúns anos despois que o ENIAC estivese en construción, en 1948 o ENIAC foi dotado da funcionalidade de almacenar programas, antes da finalización do EDVAC (1949), a pesar do feito de ser descartada do deseño debido aos custos e o prazo de finalización.
A pesar de que habitualmente se atribúe o deseño dos programas almacenados no computador a von Neumann debido ao seu deseño do EDVAC, antes outros investigadores como Konrad Zuse xa suxeriran e implementaran ideas parecidas. Ademais a denominada arquitectura Harvard do Harvard Mark E, que foi finalizado antes do EDVAC, tamén utilizara un deseño de programa almacenado utilizando cinta perforada no canto de memoria electrónica. A diferenza fundamental entre as arquitecturas de von Neumann e Harvard é que a última separa o almacenamento e o tratamento das instrucións e os datos, mentres que a primeira utiliza o mesmo espazo de memoria para ambas. A maioría das unidades centrais de proceso de hoxe en día seguen o deseño de von Neumann pero tamén é habitual atopar elementos da arquitectura Harvard.
Como todos os dispositivos dixitais, as unidades centrais de proceso só poden tratar un número limitado de estados e, xa que logo, requiren algúns elementos de conmutación para poder diferenciar e cambiar estes estados. Antes do desenvolvemento comercial do transistor os elementos de conmutación que se utilizaban habitualmente eran os relés e as válvulas de baleiro ou termoiónicas. A pesar de que estes dispositivos presentaban vantaxes de velocidade sobre os precedentes, puramente mecánicos, eran poucos fiables por diferentes razóns, por exemplo, para realizar un circuíto de lóxica secuencial en corrente continua con relés era necesario corrixir o problema do cimbreo do contacto. A pesar de que as válvulas termoiónicas non sufrían o problema do cimbreo do contacto, tiñan que ser quentadas antes de poder chegar a ser totalmente operativas e eventualmente deixaban de funcionar debido á pequena contaminación dos seus cátodos que se producía co funcionamento normal. Cando fallaba a estanqueidade acelerábase a contaminación do cátodo. Cando unha válvula fallaba había que proceder a un diagnóstico da CPU para localizar o compoñente afectado para proceder á súa substitución. En consecuencia, os primeiros computadores electrónicos baseados en válvulas termoiónicas eran máis rápidos pero menos fiables que os computadores electromecánicos baseados en relés.
Os computadores construídos baseándose nas válvulas termoiónicas, como o EDVAC, funcionaban unha media de oito horas seguidas sen avarías, mentres que os computadores baseados en relés, máis lentos pero máis antigos, como o Harvard Mark I raramente fallaban.A Third Survey of Domestic Electronic Digital Computing Systems Weik, Martin H. (1961). Ballistic Research Laboratories. Finalmente as CPU baseadas en válvulas de baleiro acabaron para substituír as de relés, a pesar dos problemas de fiabilidade, debido á diferenza substancial da velocidade de proceso que ofrecían. A maioría das primeiras CPU eran síncronas e traballaban en baixas frecuencias de reloxo en comparación cos deseños da microelectrónica actual. As frecuencias do sinal de reloxo de entre 100 quilohertz (kHz) e 4 megahercios (MHz) eran comúns na época e estaban limitadas en gran parte pola velocidade de conmutación dos dispositivos que utilizaban.
A expresión "unidade central de proceso" é, en termos xerais, unha descrición dunha certa clase de máquinas de lóxica que poden executar complexos programas de computador. Esta ampla definición pode facilmente ser aplicada a moitos dos primeiros computadores que existiron moito antes que o termo "CPU" estivese en amplo uso. Con todo, o termo en si mesmo e o seu acrónimo estiveron en uso na industria da informática como mínimo desde principios dos anos 1960.
CPU a base de transistores e circuítos integrados miniatura|Un procesador construído con circuítos integrados de mediana integración. Corresponde ao computador PDP-8 (1965) de Digital Equipment Corporation, na fotografía tamén aparece a memoria de núcleos de ferrita, o bus externo, a interface TTY e a interface do lector de cinta perforada. A complexidade dos deseños dos procesadores foise incrementando a medida que a tecnoloxía permitía a construción de dispositivos electrónicos cada vez máis pequenos e fiables. A primeira destas melloras tecnolóxicas chegou coa aparición do transistor. Os procesadores transistorizados das décadas de 1950 e 1960 xa non necesitaban os dispositivos de conmutación fráxiles e pouco fiables como as válvulas de baleiro ou os relés electromecánicos. Cos transistores construíronse CPU sobre un ou varios circuítos impresos que contiñan compoñentes discretos.
Durante este período apareceu un novo método de fabricación de transistores que permitía crear grupos de transistores sobre material semicondutor ocupando moi pouco espazo, era o nacemento dos circuítos integrados. Estes dispositivos permitían a creación dun gran número de transistores nun único bloque de material semicondutor (die) ou chip. Ao principio só se fixeron integracións miniaturizadas de circuítos moi básicos como as portas lóxicas de tipos NOR. As CPU baseadas nestes bloques son coñecidas habitualmente como dispositivos de baixa integración (SSI, nas siglas inglesas de small-scale integration). Este tipo de circuítos de 'baixa integración', como os que foron utilizados nos computadores das naves do programa Apollo, normalmente incorporaban unha decena de transistores en cada bloque. Polo tanto, a construción dunha CPU requiría a utilización de miles de chips, pero aínda así o espazo e a enerxía requiridos eran moi inferiores que no caso das baseadas en transistores discretos. A medida que avanzaba a tecnoloxía da microelectrónica e se incrementaba o número de transistores que se podían integrar nos circuítos, foi diminuíndo o número de circuítos integrados necesarios para construír unha CPU completa. Os circuítos de mediana integración (MSI de Medium-scale integration) traían un centenar de transistores mentres que os de grande integración (LSI de Large-scale integration) xa podían chegar aos 10.000.
En 1964 IBM presentou a arquitectura System/360 que foi utilizada nunha serie de computadores que podían executar os mesmos programas a diferentes velocidades e rendemento. Este feito foi unha novidade significativa dado que entón a maioría dos computadores, incluídos os dun mesmo fabricante, eran incompatibles entre eles. Para facer posible esta mellora IBM utilizou o concepto de microcódigo que aínda é habitual nas CPU modernas.Architecture of the IBM System/360. Amdahl, G. M., Blaauw, G. A., & Brooks, F. P. Jr. (1964) IBM Research. A arquitectura System/360 chegou a ser tan popular que dominou o mercado dos computadores centrais durante décadas e deixou un legado que continúa sendo utilizado en computadores modernos como a serie System z (2000) de IBM. O mesmo ano 1964, Digital Equipment Corporation (DEC) presentou outro computador que tivo unha grande influencia, o PDP-8, destinado ao mercado dos computadores científicos e de investigación. Máis tarde DEC presentaría a liña PDP-11, que chegou a ser moi popular, e que orixinalmente se baseaba en circuítos de baixa integración pero que pasou a utilizar compoñentes de grande integración cando estiveron ao alcance. En contraste cos seus predecesores baseados en circuítos de baixa e mediana integración, o primeiro desenvolvemento do PDP-11 que utilizaba compoñentes de grande integración traía unha CPU só baseada en catro circuítos integrados."LSI-11 Module Descriptions" LSI-11, PDP-11/03 Manual do usuario. Maynard, Massachusetts: Digital Equipment Corporation. páx. 4-3. Digital Equipment Corporation (3a edición, 1976).