Sei sulla pagina 1di 8

Unidad central de procesamiento

Ir a la navegaci�nIr a la b�squeda
Para otros usos de este t�rmino, v�ase Procesador.

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

Vista posterior de una Intel 80486DX2.

Procesador moderno con capacidades de hasta 8 n�cleos y 16 hilos de procesamiento.


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 de 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.

�ndice
1 Historia
1.1 CPU de transistores y de circuitos integrados discretos
1.2 Microprocesadores
2 Operaci�n
2.1 Fetch
2.2 Decode
2.3 Execute
2.4 Writeback
3 Dise�o e implementaci�n
3.1 Rango de enteros
3.2 Frecuencia de reloj
3.3 Paralelismo
3.3.1 ILP: Segmentaci�n y arquitectura superescalar
3.3.2 Paralelismo a nivel de hilos
3.3.3 Paralelismo de datos
4 Desempe�o
5 V�ase tambi�n
6 Notas
7 Referencias
8 Bibliograf�a
9 Enlaces externos
9.1 Dise�os de microprocesador
9.2 Lectura adicional
Historia
Art�culo principal: Anexo:Historia de la computaci�n

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.2? EDVAC fue dise�ado para realizar un
cierto n�mero de instrucciones (u operaciones) de varios tipos. Significativamente,
los programas escritos para el EDVAC se crearon para ser almacenados en la memoria
de alta velocidad del ordenador y no para que los especificara el cableado f�sico
del ordenador. Esto super� una severa limitaci�n del ENIAC, que era el importante
tiempo y esfuerzo requerido 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 EDVAC
podr�a ser cambiado simplemente cambiando el contenido de la memoria. Sin embargo,
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.3? Su sucesora, 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 la 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.4? 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 a�n
perdura en los ordenadores modernos, como el IBM zSeries. En el mismo a�o de 1964,
Digital Equipment Corporation (DEC) introdujo otro ordenador que ser�a muy
influyente, dirigido a los mercados cient�ficos y de investigaci�n, el PDP-8. DEC
introducir�a m�s adelante la muy popular l�nea del PDP-11, que originalmente fue
construido con IC SSI pero eventualmente fue implementado con componentes LSI
cuando se convirtieron en pr�cticos. En fuerte contraste con sus precursores hechos
con tecnolog�a SSI y MSI, la primera implementaci�n LSI del PDP-11 conten�a una CPU
integrada �nicamente por cuatro circuitos integrados LSI.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
Art�culo principal: Microprocesador

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 exclusivamentenota 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.nota 2? A medida que
la ya mencionada ley del Moore contin�a manteni�ndose verdadera,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.

Operaci�n
La operaci�n fundamental de la mayor�a de las CPU es ejecutar una secuencia de
instrucciones almacenadas llamadas �programa�. El programa es representado por una
serie de n�meros que se mantienen en una cierta clase de memoria de ordenador. Hay
cuatro pasos que casi todos las CPU de arquitectura de von Neumann usan en su
operaci�n: fetch, decode, execute, y writeback, (leer, decodificar, ejecutar y
escribir).

Diagrama mostrando como es decodificada una instrucci�n del MIPS32. (MIPS


Technologies 2005)
Fetch
El primer paso, leer, implica el recuperar una instrucci�n, (que es representada
por un n�mero o una secuencia de n�meros), de la memoria de programa. La
localizaci�n en la memoria del programa es determinada por un contador de programa
(PC), que almacena un n�mero que identifica la direcci�n de la siguiente
instrucci�n que se debe buscar. Despu�s se lee una instrucci�n, el PC es
incrementado por la longitud de la instrucci�n en t�rminos de unidades de memoria
de modo que contendr� la direcci�n de la siguiente instrucci�n en la secuencia.nota
3? Frecuentemente, la instrucci�n a ser le�da debe ser recuperada de memoria
relativamente lenta, haciendo detener al CPU mientras espera que la instrucci�n sea
devuelta. Esta cuesti�n se trata en gran medida en los procesadores modernos por
los cach�s y las arquitecturas pipeline (ver abajo).

Decode
En el paso de decodificaci�n, la instrucci�n es dividida en partes que tienen
significado para otras unidades de la CPU. La manera en que el valor de la
instrucci�n num�rica es interpretado est� definida por la arquitectura del conjunto
de instrucciones (el ISA) de la CPU.nota 4? A menudo, un grupo de n�meros en la
instrucci�n, llamados opcode, indica qu� operaci�n realizar. Las partes restantes
del n�mero usualmente proporcionan informaci�n requerida para esa instrucci�n, como
por ejemplo, operandos para una operaci�n de adici�n. Tales operandos se pueden dar
como un valor constante (llamado valor inmediato), o como un lugar para localizar
un valor, que seg�n lo determinado por alg�n modo de direcci�n, puede ser un
registro o una direcci�n de memoria. En dise�os m�s viejos las unidades del CPU
responsables de decodificar la instrucci�n eran dispositivos de hardware fijos. Sin
embargo, en CPUs e ISAs m�s abstractos y complicados, es frecuentemente usado un
microprograma para ayudar a traducir instrucciones en varias se�ales de
configuraci�n para el CPU. Este microprograma es a veces reescribible de tal manera
que puede ser modificado para cambiar la manera en que el CPU decodifica
instrucciones incluso despu�s de que haya sido fabricado.

Execute

Diagrama de bloques de un CPU simple.


Despu�s de los pasos de lectura y decodificaci�n, es llevado a cabo el paso de la
ejecuci�n de la instrucci�n. Durante este paso, varias unidades del CPU son
conectadas de tal manera que ellas pueden realizar la operaci�n deseada. Si, por
ejemplo, una operaci�n de adici�n fue solicitada, una unidad aritm�tico l�gica
(ALU) ser� conectada a un conjunto de entradas y un conjunto de salidas. Las
entradas proporcionan los n�meros a ser sumados, y las salidas contendr�n la suma
final. La ALU contiene la circuiter�a para realizar operaciones simples de
aritm�tica y l�gica en las entradas, como adici�n y operaciones de bits (bitwise).
Si la operaci�n de adici�n produce un resultado demasiado grande para poder ser
manejado por el CPU, tambi�n puede ser ajustada una bandera (flag) de
desbordamiento aritm�tico localizada en un registro de banderas (ver abajo la
secci�n sobre rango de n�meros enteros).

Writeback
El paso final, la escritura, simplemente �escribe� los resultados del paso de
ejecuci�n a una cierta forma de memoria. Muy a menudo, los resultados son escritos
a alg�n registro interno del CPU para acceso r�pido por subsecuentes instrucciones.
En otros casos los resultados pueden ser escritos a una memoria principal m�s lenta
pero m�s barata y m�s grande. Algunos tipos de instrucciones manipulan el contador
de programa en lugar de directamente producir datos de resultado. Estas son
llamadas generalmente "saltos" (jumps) y facilitan comportamientos como bucles, la
ejecuci�n condicional de programas (con el uso de saltos condicionales), y
funciones en programas.nota 5? Muchas instrucciones tambi�n cambiar�n el estado de
d�gitos en un registro de "banderas". Estas banderas pueden ser usadas para
influenciar c�mo se comporta un programa, puesto que a menudo indican el resultado
de varias operaciones. Por ejemplo, un tipo de instrucci�n de "comparaci�n"
considera dos valores y fija un n�mero, en el registro de banderas, de acuerdo a
cu�l es el mayor. Entonces, esta bandera puede ser usada por una posterior
instrucci�n de salto para determinar el flujo de programa.

Despu�s de la ejecuci�n de la instrucci�n y la escritura de los datos resultantes,


el proceso entero se repite con el siguiente ciclo de instrucci�n, normalmente
leyendo la siguiente instrucci�n en secuencia debido al valor incrementado en el
contador de programa. Si la instrucci�n completada era un salto, el contador de
programa ser� modificado para contener la direcci�n de la instrucci�n a la cual se
salt�, y la ejecuci�n del programa contin�a normalmente. En CPUs m�s complejos que
el descrito aqu�, m�ltiples instrucciones pueden ser le�das, decodificadas, y
ejecutadas simult�neamente. Esta secci�n describe lo que es referido generalmente
como el "entubado RISC cl�sico" (Classic RISC pipeline), que de hecho es bastante
com�n entre los CPU simples usados en muchos dispositivos electr�nicos, a menudo
llamados microcontroladores.nota 6?

Dise�o e implementaci�n
V�anse tambi�n: Arquitectura de computadoras y Circuito digital.
Rango de enteros
La manera en que un CPU representa los n�meros es una opci�n de dise�o que afecta
las m�s b�sicas formas en que el dispositivo funciona. Algunas de las primeras
calculadoras digitales usaron, para representar n�meros internamente, un modelo
el�ctrico del sistema de numeraci�n decimal com�n (base diez). Algunas otras
computadoras han usado sistemas de numeraci�n m�s ex�ticos como el ternario (base
tres). Casi todos los CPU modernos representan los n�meros en forma binaria, en
donde cada d�gito es representado por una cierta cantidad f�sica de dos valores,
como un voltaje "alto" o "bajo".nota 7?

Microprocesador MOS 6502 en un dual in-line package (encapsulado en doble l�nea),


un dise�o extremadamente popular de 8 bits.
Con la representaci�n num�rica est�n relacionados el tama�o y la precisi�n de los
n�meros que un CPU puede representar. En el caso de un CPU binario, un bit se
refiere a una posici�n significativa en los n�meros con que trabaja un CPU. El
n�mero de bits (o de posiciones num�ricas, o d�gitos) que un CPU usa para
representar los n�meros, a menudo se llama "tama�o de la palabra", "ancho de bits",
"ancho de ruta de datos", o "precisi�n del n�mero entero" cuando se ocupa
estrictamente de n�meros enteros (en oposici�n a n�meros de coma flotante). Este
n�mero difiere entre las arquitecturas, y a menudo dentro de diferentes unidades
del mismo CPU. Por ejemplo, un CPU de 8 bits maneja un rango de n�meros que pueden
ser representados por ocho d�gitos binarios, cada d�gito teniendo dos valores
posibles, y en combinaci�n los 8 bits teniendo 28 o 256 n�meros discretos. En
efecto, el tama�o del n�mero entero fija un l�mite de hardware en el rango de
n�meros enteros que el software corre y que el CPU puede usar directamente.nota 8?

El rango del n�mero entero tambi�n puede afectar el n�mero de posiciones en memoria
que el CPU puede direccionar (localizar). Por ejemplo, si un CPU binario utiliza 32
bits para representar una direcci�n de memoria, y cada direcci�n de memoria
representa a un octeto (8 bits), la cantidad m�xima de memoria que el CPU puede
direccionar es 232 octetos, o 4 GB. Esta es una vista muy simple del espacio de
direcci�n del CPU, y muchos dise�os modernos usan m�todos de direcci�n mucho m�s
complejos como paginaci�n para localizar m�s memoria que su rango entero permitir�a
con un espacio de direcci�n plano.

Niveles m�s altos del rango de n�meros enteros requieren m�s estructuras para
manejar los d�gitos adicionales, y por lo tanto, m�s complejidad, tama�o, uso de
energ�a, y generalmente costo. Por ello, no es del todo infrecuente, ver
microcontroladores de 4 y 8 bits usados en aplicaciones modernas, aun cuando est�n
disponibles CPU con un rango mucho m�s alto (de 16, 32, 64, e incluso 128 bits).
Los microcontroladores m�s simples son generalmente m�s baratos, usan menos
energ�a, y por lo tanto disipan menos calor. Todo esto pueden ser consideraciones
de dise�o importantes para los dispositivos electr�nicos. Sin embargo, en
aplicaciones del extremo alto, los beneficios producidos por el rango adicional,
(m�s a menudo el espacio de direcci�n adicional), son m�s significativos y con
frecuencia afectan las opciones del dise�o. Para ganar algunas de las ventajas
proporcionadas por las longitudes de bits tanto m�s bajas, como m�s altas, muchas
CPUs est�n dise�adas con anchos de bit diferentes para diferentes unidades del
dispositivo. Por ejemplo, el IBM System/370 us� un CPU que fue sobre todo de 32
bits, pero us� precisi�n de 128 bits dentro de sus unidades de coma flotante para
facilitar mayor exactitud y rango de n�meros de coma flotante.4? Muchos dise�os
posteriores de CPU usan una mezcla de ancho de bits similar, especialmente cuando
el procesador est� dise�ado para usos de prop�sito general donde se requiere un
razonable equilibrio entre la capacidad de n�meros enteros y de coma flotante.

Frecuencia de reloj
Art�culo principal: Frecuencia de reloj
La mayor�a de los CPU, y de hecho, la mayor�a de los dispositivos de l�gica
secuencial, son de naturaleza s�ncrona.nota 9? Es decir, est�n dise�ados y operan
en funci�n de una se�al de sincronizaci�n. Esta se�al, conocida como se�al de
reloj, usualmente toma la forma de una onda cuadrada peri�dica. Calculando el
tiempo m�ximo en que las se�ales el�ctricas pueden moverse en las varias
bifurcaciones de los muchos circuitos de un CPU, los dise�adores pueden seleccionar
un per�odo apropiado para la se�al del reloj.

Este per�odo debe ser m�s largo que la cantidad de tiempo que toma a una se�al
moverse, o propagarse en el peor de los casos. Al fijar el per�odo del reloj a un
valor bastante mayor sobre el retardo de la propagaci�n del peor caso, es posible
dise�ar todo el CPU y la manera que mueve los datos alrededor de los "bordes" de la
subida y bajada de la se�al del reloj. Esto tiene la ventaja de simplificar el CPU
significativamente, tanto en una perspectiva de dise�o, como en una perspectiva de
cantidad de componentes. Sin embargo, esto tambi�n tiene la desventaja que todo el
CPU debe esperar por sus elementos m�s lentos, aun cuando algunas unidades de la
misma son mucho m�s r�pidas. Esta limitaci�n ha sido compensada en gran parte por
varios m�todos de aumentar el paralelismo del CPU (ver abajo).

Sin embargo, las mejoras arquitect�nicas por s� solas, no solucionan todas las
desventajas de CPUs globalmente s�ncronas. Por ejemplo, una se�al de reloj est�
sujeta a los retardos de cualquier otra se�al el�ctrica. Velocidades de reloj m�s
altas en CPUs cada vez m�s complejas hacen m�s dif�cil de mantener la se�al del
reloj en fase (sincronizada) a trav�s de toda la unidad. Esto ha conducido que
muchos CPU modernos requieran que se les proporcione m�ltiples se�ales de reloj
id�nticas, para evitar retardar una sola se�al lo suficiente como para hacer al CPU
funcionar incorrectamente. Otro importante problema cuando la velocidad del reloj
aumenta dram�ticamente, es la cantidad de calor que es disipado por el CPU. La
se�al del reloj cambia constantemente, provocando la conmutaci�n de muchos
componentes (cambio de estado) sin importar si est�n siendo usados en ese momento.
En general, un componente que est� cambiando de estado, usa m�s energ�a que un
elemento en un estado est�tico. Por lo tanto, a medida que la velocidad del reloj
aumenta, as� lo hace tambi�n la disipaci�n de calor, causando que el CPU requiera
soluciones de enfriamiento m�s efectivas.

Un m�todo de tratar la conmutaci�n de componentes innecesarios se llama el clock


gating, que implica apagar la se�al del reloj a los componentes innecesarios,
efectivamente desactiv�ndolos. Sin embargo, esto es frecuentemente considerado como
dif�cil de implementar y por lo tanto no ve uso com�n fuera de dise�os de muy baja
potencia. Un notable dise�o de CPU tard�o que utiliza una amplia compuerta del
reloj para reducir los requisitos de potencia de la consola de videojuegos es la de
la Xbox 360 basada en la PowerPC de IBM.7? Otro m�todo de tratar algunos de los
problemas de una se�al global de reloj es la completa remoci�n de la misma.
Mientras que quitar la se�al global del reloj hace, de muchas maneras,
considerablemente m�s complejo el proceso del dise�o, en comparaci�n con dise�os
s�ncronos similares, los dise�os asincr�nicos (o sin reloj) tienen marcadas
ventajas en el consumo de energ�a y la disipaci�n de calor. Aunque se trate de algo
infrecuente, las CPUs completas se han construido sin utilizar una se�al global de
reloj. Dos notables ejemplos de esto son el AMULET, que implementa la arquitectura
del ARM, y el MiniMIPS, compatible con el MIPS R3000. En lugar de remover
totalmente la se�al del reloj, algunos dise�os de CPU permiten que ciertas unidades
del dispositivo sean asincr�nicas, como por ejemplo, usando ALU en conjunci�n con
pipelining superescalar para alcanzar algunas ganancias en el desempe�o aritm�tico.
Mientras que no est� completamente claro si los dise�os totalmente asincr�nicos
pueden desempe�arse a un nivel comparable o mejor que sus contrapartes s�ncronas,
es evidente que por lo menos sobresalen en las operaciones matem�ticas m�s simples.
Esto, combinado con sus excelentes caracter�sticas de consumo de energ�a y
disipaci�n de calor, los hace muy adecuados para sistemas embebidos.8

Potrebbero piacerti anche