miniaturadeimagen|Procesador moderno con 8 núcleos y 16 hilos de procesamiento. La Unidad Central de Procesamiento (UCP) (también CPU, del inglés central processing unit) o procesador es un componente del hardware dentro de un ordenador, teléfonos inteligentes, y otros dispositivos programables.
Su función es interpretar las instrucciones de un programa informático mediante la realización de las operaciones básicas: aritméticas, lógicas, y externas (procedentes de la unidad de entrada/salida). Su diseño y su avance han variado notablemente desde su creación, aumentando su eficiencia y potencia y reduciendo el consumo de energía y el coste.
Un ordenador puede contener más de una CPU (multiprocesamiento). En la actualidad, los microprocesadores están constituidos por un único circuito integrado (chip) aunque existen los procesadores multinúcleo (varias CPU en un solo circuito integrado). Un circuito integrado que contiene una CPU también puede contener los dispositivos periféricos y otros componentes de un sistema informático; similar a un microcontrolador (menos potente en RAM) se le denomina sistema en un chip (SoC).
Los componentes de la CPU son:
Unidad aritmético lógica o unidad de cálculo (del inglés: Arithmetic Logic Unit o ALU): realiza operaciones aritméticas y lógicas. Unidad de control (CU): dirige el tráfico de información entre los registros de la CPU y conecta con la ALU las instrucciones extraídas de la memoria. Registros internos: no accesibles (de instrucción, de bus de datos y bus de dirección) y accesibles de uso específico (contador programa, puntero pila, acumulador, flags, etc.) o de uso general.
Historia
thumb|220px|right|El ENIAC, uno de los primeros ordenadores de programas almacenados electrónicamente.
Los primeros ordenadores, como el ENIAC, tenían que recablearse físicamente para realizar diferentes tareas, lo que hizo que estas máquinas se denominaran "ordenadores de programa fijo". Dado que el término "CPU" generalmente se define como un dispositivo para la ejecución de software (programa informático), los primeros dispositivos que con razón podríamos llamar CPU vinieron con el advenimiento del ordenador de programa almacenado.
La idea de un ordenador con programa almacenado ya estaba presente en el diseño de John Presper Eckert y en el ENIAC de John William Mauchly, pero esta característica se omitió inicialmente para que el aparato pudiera estar listo antes. El 30 de junio de 1945, antes de que se construyera la ENIAC, el matemático John von Neumann distribuyó el trabajo titulado First Draft of a Report on the EDVAC (Primer Borrador de un Informe sobre el EDVAC). Fue el esbozo de un ordenador de programa almacenado, que se terminó en agosto de 1949. El EDVAC se diseñó para realizar un cierto número de instrucciones (u operaciones) de varios tipos. Significativamente, los programas escritos para el EDVAC se crearon para almacenarse en la memoria de alta velocidad del ordenador y no para que los especificara su cableado físico. Esto permitió superar una grave limitación del ENIAC, que era el tiempo y el esfuerzo necesarios para volver a configurar el equipo para realizar una nueva tarea. Con el diseño de von Neumann, el programa (o software) que corría en el EDVAC podría cambiarse simplemente cambiando el contenido de la memoria. Sin embargo, el EDVAC no fue el primer ordenador de programa almacenado: la Máquina Experimental de Pequeña Escala de Mánchester, un pequeño prototipo de ordenador de programa almacenado, ejecutó su primer programa el 21 de junio de 1948. Su sucesor, el Manchester Mark I, ejecutó su primer programa en la noche del 16 al 17 de junio de 1949.
Las primeras CPU se diseñaron a medida como parte de un ordenador más grande, generalmente un ordenador único en su especie. Sin embargo, este método de diseñar las CPU a medida, para una aplicación particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o varios propósitos. Esta tendencia de estandarización comenzó generalmente en la era de los transistores discretos, los ordenador centrales, y los microprocesadores y se aceleró rápidamente con la popularización del circuito integrado (IC). Este ha permitido que se diseñen y se fabriquen CPU más complejas en espacios pequeños, del orden de nanómetros. Por la miniaturización y la estandarización de las CPU, ha aumentado la presencia de estos dispositivos digitales en la vida moderna mucho más allá de las aplicaciones limitadas de máquinas de computación dedicadas. Los microprocesadores modernos aparecen en todo, desde automóviles hasta teléfonos móviles (celulares) y juguetes de niños.
Si bien von Neumann ha sido muchas veces acreditado por el diseño del ordenador con programa almacenado debido a su diseño del EDVAC, otros antes que él, como Konrad Zuse, habían propuesto y aplicado ideas similares. La denominada arquitectura Harvard del Harvard Mark I, que se completó antes de EDVAC, también utilizó un diseño de programa almacenado usando cinta de papel perforada en vez de memoria electrónica. La diferencia clave entre las arquitecturas de von Neumann y la de Harvard es que la última separa, dentro del almacenamiento, el tratamiento de instrucciones de la CPU y los datos, mientras que el primero utiliza el mismo espacio de memoria para ambos. La mayoría de los CPU modernos son de diseño von Neumann, pero las CPU con arquitectura Harvard se ven, sobre todo, en aplicaciones embebidas; por ejemplo, los microcontroladores Atmel AVR son procesadores de arquitectura Harvard.
Los relés eléctricos y los tubos de vacío (válvulas termoiónicas) se usaban comúnmente como elementos de conmutación; un ordenador útil requería miles o decenas de miles de dispositivos de conmutación. La velocidad global de un sistema depende de la velocidad de los conmutadores. Los ordenadores de tubo, como el EDVAC, solían tener un promedio de ocho horas entre fallos, mientras que los ordenadores de relés (anteriores y más lentos), como el Harvard Mark I, fallaban muy raramente. Al final, las CPU basadas en tubo llegaron a ser dominantes porque las significativas ventajas de velocidad producidas generalmente pesaban más que los problemas de fiabilidad. La mayor parte de estas tempranas CPU síncronas corrían en frecuencias de reloj bajas comparadas con los modernos diseños microelectrónicos. Eran muy comunes en este tiempo las frecuencias de la señal del reloj con un rango desde 100 kHz hasta 4 MHz, limitado en gran parte por la velocidad de los dispositivos de conmutación con los que se construyeron.
CPU de transistores y de circuitos integrados discretos thumb|200px|CPU, memoria de núcleo e interfaz de bus externo de un MSI PDP-8/I. Hecho de circuitos integrados de mediana escala.
La complejidad del diseño de las CPU aumentó junto con la facilidad de la construcción de dispositivos electrónicos más pequeños y fiables. La primera de esas mejoras vino con el advenimiento del transistor. Las CPU transistorizadas durante los años 1950 y los años 1960 no tuvieron que construirse con elementos de conmutación abultados, no fiables y frágiles, como los tubos de vacío y los relés eléctricos. Con esta mejora, se construyeron CPU más complejas y más fiables sobre una o varias tarjetas de circuito impreso que contenían componentes discretos (individuales).
Durante este período, ganó popularidad un método de fabricar muchos transistores en un espacio reducido. El circuito integrado (IC) permitió fabricar una gran cantidad de transistores en una simple oblea basada en semiconductor o «chip». Al principio, solamente se miniaturizaron en IC circuitos digitales muy básicos, no especializados, como las puertas NOR. Las CPU basadas en estos IC de "bloques de construcción" generalmente denominan dispositivos de pequeña escala de integración "small-scale integration" (SSI). Normalmente los circuitos integrados SSI, como los usados en el computador guía del Apolo (Apollo Guidance Computer), contenían transistores que se contaban en números de múltiplos de diez. Construir una CPU completa usando IC SSI requería miles de chips individuales, pero aún consumía mucho menos espacio y energía que los diseños anteriores de transistores discretos. A medida que la tecnología microelectrónica avanzó, en los circuitos integrados se fue colocando un número creciente de transistores, disminuyendo así la cantidad de circuitos integrados individuales necesarios para una CPU completa. Los circuitos integrados MSI y LSI (de mediana y gran escala de integración) aumentaron el número de transistores a cientos y luego a miles.
En 1964, IBM introdujo su arquitectura de computador System/360, que se usó en una serie de ordenadores que podían ejecutar los mismos programas con velocidades y desempeños diferentes. Esto fue significativo en un tiempo en el que la mayoría de los ordenadores electrónicos eran incompatibles entre sí, incluso los hechas por un mismo fabricante. Para facilitar esta mejora, IBM utilizó el concepto de microprograma, a menudo llamado «microcódigo», ampliamente usado aún en las CPU modernas. La arquitectura System/360 era tan popular que dominó el mercado del mainframe durante las siguientes décadas y dejó una herencia que todavía perdura en los ordenadores modernos, como el IBM zSeries. En el mismo año 1964, Digital Equipment Corporation (DEC) introdujo otro ordenador que fue muy influyente, dirigido a los mercados científicos y de investigación: el PDP-8. DEC introdujo más adelante la muy popular línea del PDP-11, que originalmente se construyó con IC SSI pero se implementó con componentes LSI cuando se convirtieron en prácticos. En fuerte contraste con sus precursores hechos con tecnologías SSI y MSI, la primera implementación LSI del PDP-11 contenía una CPU compuesta solamente por cuatro circuitos integrados LSI.
Los ordenadores basados en transistores tenían varias ventajas frente a sus predecesores. Aparte de una creciente fiabilidad y un menor consumo de energía, los transistores también permitían que la CPU operara a velocidades mucho más altas debido al corto tiempo de conmutación de un transistor en comparación con un tubo o un relé. Gracias tanto a esta creciente fiabilidad como al enorme incremento de velocidad de los elementos de conmutación, que por este tiempo eran casi exclusivamente transistores, se fueron alcanzando frecuencias de reloj de la CPU de decenas de megahercios. Además, mientras se usaban comúnmente las CPU de transistores discretos y de circuitos integrados, comenzaron a aparecer nuevos diseños de alto rendimiento, como procesadores vectoriales SIMD (single instruction multiple data – instrucción única, datos múltiples). Estos primeros diseños experimentales dieron lugar más adelante a la era de los superordenadores especializados, como los hechos por la Cray Inc.
Microprocesadores
En la década de 1970 los inventos fundamentales de Federico Faggin (ICs Silicon Gate MOS con puertas autoalineadas junto con su nueva metodología de diseño de lógica aleatoria) cambió el diseño y la implementación de las CPU para siempre. Desde la introducción del primer microprocesador comercialmente disponible, el Intel 4004, en 1970 y del primer microprocesador ampliamente usado, el Intel 8080, en 1974 esta clase de CPU ha desplazado casi totalmente el resto de los métodos de implementación de la Unidad Central de Procesamiento. Los fabricantes de mainframes y de miniordenadores de ese tiempo lanzaron programas de desarrollo de IC propietarios para actualizar sus arquitecturas de ordenadores más viejas y producir microprocesadores con conjuntos de instrucciones que eran retrocompatibles con sus hardwares y sus softwares más viejos. Combinado con el advenimiento y el vasto éxito del ahora ubicuo ordenador personal, el término "CPU" se aplica ahora casi exclusivamente a los microprocesadores.