Unidad central de procesamiento

Vista superior de una CPU Intel 80486DX2 en un paquete PGA de cerámica.
Vista posterior de una Intel 80486DX2.

La unidad central de procesamiento o unidad de procesamiento central (conocida por las siglas CPU, del inglés: central processing unit), es el hardware dentro de un ordenador u otros dispositivos programables, que interpreta las instrucciones de un programa informático mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema. El término, y su acrónimo, han estado en uso en la industria de la Informática por lo menos desde el principio de los años 1960.[1] La forma, el diseño de CPU y la implementación de las CPU ha cambiado drásticamente desde los primeros ejemplos, pero su operación fundamental sigue siendo la misma.

Un ordenador puede tener más de una CPU; esto se llama multiprocesamiento. Todas las CPU modernas son microprocesadores, lo que significa que contienen un solo circuito integrado (chip). Algunos circuitos integrados pueden contener varias CPU en un solo chip; estos son denominados procesadores multinúcleo. Un circuito integrado que contiene una CPU también puede contener los dispositivos periféricos, y otros componentes de un sistema informático; a esto se llama un sistema en un chip (SoC).

Dos componentes típicos de una CPU son la unidad aritmético lógica (ALU), que realiza operaciones aritméticas y lógicas, y la unidad de control (CU), que extrae instrucciones de la memoria, las decodifica y las ejecuta, llamando a la ALU cuando sea necesario.

No todos los sistemas computacionales se basan en una unidad central de procesamiento. Una matriz de procesador o procesador vectorial tiene múltiples elementos cómputo paralelo, sin una unidad considerada el "centro". En el modelo de computación distribuido, se resuelven problemas mediante un conjunto interconectado y distribuido de procesadores.

Historia

El EDVAC, una de las primeras computadoras de programas almacenados electrónicamente.

Los primeros ordenadores, como el ENIAC, tenían que ser físicamente recableados 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 con 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 Reporte sobre el EDVAC). Fue el esbozo de un ordenador de programa almacenado, que se terminó en agosto de 1949.[3] y la Manchester Mark I ejecutó su primer programa en la noche del 16 al 17 junio de 1949.

Las primeras CPU fueron diseñadas 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, computadoras centrales y microcomputadoras y fue acelerada rápidamente con la popularización del circuito integrado (IC), este ha permitido que sean diseñados y fabricados CPU más complejas en espacios pequeños en la orden de nanómetros). Tanto la miniaturización como la estandarización de las CPU han 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 o celulares y juguetes de niños.

Si bien von Neumann muchas veces acreditado por el diseño de la computadora con programa almacenado debido a su diseño del EDVAC, otros antes que él, como Konrad Zuse, habían sugerido 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 el almacenamiento y 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 los CPU con arquitectura Harvard se ven así, 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) eran usados comúnmente como elementos de conmutación; un ordenador útil requiere 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, tendieron en 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.[1] Al final, los CPU basados en tubo llegaron a ser dominantes porque las significativas ventajas de velocidad producidas generalmente pesaban más que los problemas de confiabilidad. 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 fueron construidos.

CPU de transistores y de circuitos integrados discretos

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 facilidad de la construcción de dispositivos electrónicos más pequeños y confiables. 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 ser construidos 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, fueron construidas CPU más complejas y más confiables 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 compacto. El circuito integrado (IC) permitió que una gran cantidad de transistores fueran fabricados en una simple oblea basada en semiconductor o "chip". Al principio, solamente circuitos digitales muy básicos, no especializados, como las puertas NOR fueron miniaturizados en IC. Las CPU basadas en estos IC de "bloques de construcción" generalmente son referidos como dispositivos de pequeña escala de integración "small-scale integration" (SSI). Los circuitos integrados SSI, como los usados en el computador guía del Apollo ( Apollo Guidance Computer), usualmente contenían transistores que se contaban en números de múltiplos de diez. Construir un CPU completo usando IC SSI requería miles de chips individuales, pero todavía consumía mucho menos espacio y energía que diseños anteriores de transistores discretos. A medida que la tecnología microelectrónica avanzó, en los IC fue colocado un número creciente de transistores, disminuyendo así la cantidad de IC individuales necesarios para una CPU completa. Los circuitos integrados MSI y el 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 ordenador System/360, que fue usada 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 que la mayoría de los ordenadores electrónicos eran incompatibles entre sí, incluso las hechas por el 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.[5]

Los ordenadores basados en transistores tenían varias ventajas frente a sus predecesores. Aparte de facilitar una creciente fiabilidad y un menor consumo de energía, los transistores también permitían que CPU operara a velocidades mucho más altas debido al corto tiempo de conmutación de un transistor en comparación a un tubo o relé. Gracias tanto a esta creciente fiabilidad como al dramático 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 que las CPU de transistores discretos y circuitos integrados se usaban comúnmente, comenzaron a aparecer los 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 Cray Inc.

Microprocesadores

Oblea de un microprocesador Intel 80486DX2 (tamaño: 12×6,75 mm) en su empaquetado.
CPU Intel Core i5 en una placa madre del ordenador portátil Vaio serie E (a la derecha, debajo del tubo termosifón bifásico.

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 e 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 miniordenadores de ese tiempo lanzaron programas de desarrollo de IC propietarios para actualizar sus arquitecturas de computadoras más viejas y eventualmente producir microprocesadores con conjuntos de instrucciones que eran retrocompatibles con sus hardwares y softwares más viejos. Combinado con el advenimiento y el eventual vasto éxito de la ahora ubicua computadora personal, el término "CPU" es aplicado ahora casi exclusivamente[nota 1] a los microprocesadores.

Las generaciones previas de CPU fueron implementadas como componentes discretos y numerosos circuitos integrados de pequeña escala de integración en una o más tarjetas de circuitos. Por otro lado, los microprocesadores son CPU fabricados con un número muy pequeño de IC; usualmente solo uno. El tamaño más pequeño del CPU, como resultado de estar implementado en una simple pastilla, significa tiempos de conmutación más rápidos debido a factores físicos como el decrecimiento de la capacitancia parásita de las puertas. Esto ha permitido que los microprocesadores síncronos tengan tiempos de reloj con un rango de decenas de megahercios a varios gigahercios. Adicionalmente, como ha aumentado la capacidad de construir transistores excesivamente pequeños en un IC, la complejidad y el número de transistores en un simple CPU también se ha incrementado dramáticamente. Esta tendencia ampliamente observada es descrita por la ley de Moore, que ha demostrado hasta la fecha, ser una predicción bastante exacta del crecimiento de la complejidad de los CPUs y otros IC.[6]

Mientras que, en los pasados sesenta años han cambiado drásticamente, la complejidad, el tamaño, la construcción y la forma general de la CPU, es notable que el diseño y el funcionamiento básico no ha cambiado demasiado. Casi todos los CPU comunes de hoy se pueden describir con precisión como máquinas de programa almacenado de von Neumann.[6] se han presentado preocupaciones sobre los límites de la tecnología de transistor del circuito integrado. La miniaturización extrema de puertas electrónicas está causando los efectos de fenómenos que se vuelven mucho más significativos, como la electromigración y el subumbral de pérdida. Estas nuevas preocupaciones están entre los muchos factores que hacen a investigadores estudiar nuevos métodos de computación como la computación cuántica, así como ampliar el uso de paralelismo y otros métodos que extienden la utilidad del modelo clásico de von Neumann.

Other Languages
azərbaycanca: Mərkəzi prosessor
башҡортса: Процессор
беларуская (тарашкевіца)‎: Цэнтральны працэсар
བོད་ཡིག: Cpu
bosanski: Procesor
Чӑвашла: Процессор
dansk: CPU
Esperanto: Procesoro
suomi: Suoritin
français: Processeur
furlan: CPU
گیلکی: سی پی یو
עברית: מעבד
Հայերեն: Մշակիչ
interlingua: Processator central
Bahasa Indonesia: Unit Pemroses Sentral
íslenska: Miðverk
italiano: CPU
日本語: CPU
Gĩkũyũ: Cipiyu
қазақша: Процессор
ភាសាខ្មែរ: Central processing unit
къарачай-малкъар: Процессор
Кыргызча: Процессор
lietuvių: Procesorius
олык марий: Рӱдӧ процессор
Bahasa Melayu: Unit pemprosesan pusat
Plattdüütsch: Perzesser
norsk nynorsk: CPU
norsk bokmål: CPU
polski: Procesor
پنجابی: پروسیسر
саха тыла: Киин процессор
srpskohrvatski / српскохрватски: Procesor
Simple English: Central processing unit
slovenčina: CPU
slovenščina: Procesor
Soomaaliga: CPU
српски / srpski: Процесор
svenska: Processor
Tagalog: CPU
اردو: سی پی یو
oʻzbekcha/ўзбекча: Protsessor
Tiếng Việt: CPU
ייִדיש: פראצעסאר
粵語: 處理器