Sie sind auf Seite 1von 16

Unidad central de procesamiento

Oblea de un microprocesador Intel 80486DX2 (tamao: 126,! mm" en su empa#uetado$


%a Unidad Central de Procesamiento (del in&l's: Central Processing Unit, CPU" o
procesador, es el componente principal del ordenador ( otros dispositi)os pro&ramables,
#ue interpreta las instrucciones contenidas en los pro&ramas ( procesa los datos$ %as *+,
proporcionan la caracter-stica .undamental del ordenador di&ital (la pro&ramabilidad" ( son
uno de los componentes necesarios encontrados en los ordenadores de cual#uier tiempo,
/unto con la memoria principal ( los dispositi)os de entrada0salida$ 1e conoce como
microprocesador el *+, #ue es manu.acturado con circuitos inte&rados$ Desde mediados
de los aos 120, los microprocesadores de un solo c3ip 3an reempla4ado casi totalmente
todos los tipos de *+, ( 3o( en d-a, el t'rmino 5*+,5 es aplicado usualmente a todos los
microprocesadores$ %a e6presi7n 5unidad central de proceso5 es, en t'rminos &enerales, un
dispositi)o l7&ico #ue pueden e/ecutar comple/os pro&ramas de ordenador$ 8sta amplia
de.inici7n puede .9cilmente ser aplicada a muc3os de los primeros ordenadores #ue
e6istieron muc3o antes #ue el t'rmino 5*+,5 estu)iera en amplio uso$ 1in embar&o, el
t'rmino en s- mismo ( su acr7nimo 3an estado en uso en la industria de la In.orm9tica por
lo menos desde el principio de los aos 60$ %a .orma, el diseo ( la implementaci7n de las
*+, 3a cambiado dr9sticamente desde los primeros e/emplos, pero su operaci7n
.undamental 3a permanecido bastante similar$ %as primeras *+, .ueron diseados a la
medida como parte de un ordenador m9s &rande, &eneralmente un ordenador :nico en su
especie$ 1in embar&o, este costoso m'todo de disear las *+, a la medida, para una
aplicaci7n particular, 3a desaparecido en &ran parte ( se 3a sustituido por el desarrollo de
clases de procesadores baratos ( estandari4ados adaptados para uno o muc3os prop7sitos$
8sta tendencia de estandari4aci7n comen47 &eneralmente en la era de los transistores
discretos, ordenadores centrales ( microordenadores ( .ue acelerada r9pidamente con la
populari4aci7n del circuito inte&rado (I*", 'ste 3a permitido #ue sean diseados (
.abricados *+, m9s comple/as en espacios pe#ueos (en la orden de mil-metros"$ ;anto la
miniaturi4aci7n como la estandari4aci7n de las *+, 3an aumentado la presencia de estos
dispositi)os di&itales en la )ida moderna muc3o m9s all9 de las aplicaciones limitadas de
m9#uinas de computaci7n dedicadas$ %os microprocesadores modernos aparecen en todo,
desde autom7)iles, tele)isores, ne)eras, calculadoras, a)iones, 3asta tel'.onos m7)iles o
celulares, /u&uetes, entre otros$
ndice
1 <istoria
o 1$1 *+, de transistores ( de circuitos inte&rados discretos
o 1$2 =icroprocesadores
2 Operaci7n del *+,
> Diseo e implementaci7n
o >$1 ?an&o de enteros
o >$2 @recuencia de relo/
o >$> +aralelismo
>$>$1 I%+: 8ntubado de instrucci7n ( ar#uitectura superescalar
>$>$2 ;%+: e/ecuci7n simult9nea de 3ilos
o >$4 +rocesadores )ectoriales ( el 1I=D
4 A'ase tambi'n
! Botas
6 Ciblio&ra.-a
8nlaces e6ternos
Historia
8l 8DAD*, uno de los primeros ordenadores de pro&ramas almacenados electr7nicamente$
Drt-culo principal: Historia del hardware de ordenador
Dntes de la aceptaci7n comercial del transistor, los rel's el'ctricos ( los tubos de )ac-o
()9l)ulas termoi7nicas" eran usados com:nmente como elementos de conmutaci7n$ Dun#ue
'stos ten-an distintas )enta/as de )elocidad sobre los anteriores diseos puramente
mec9nicos, no eran .iables por )arias ra4ones$ +or e/emplo, 3acer circuitos de l7&ica
secuencial de corriente directa re#uer-a 3ardEare adicional para 3acer .rente al problema
del rebote de contacto$ +or otro lado, mientras #ue los tubos de )ac-o no su.ren del rebote
de contacto, 'stos deben calentarse antes de lle&ar a estar completamente operacionales (
e)entualmente .allan ( de/an de .uncionar por completo$ Feneralmente, cuando un tubo 3a
.allado, la *+, tendr-a #ue ser dia&nosticada para locali4ar el componente #ue .alla para
#ue pueda ser reempla4ado$ +or lo tanto, los primeros computadores electr7nicos, (basados
en tubos de )ac-o", &eneralmente eran m9s r9pidos pero menos con.iables #ue los
ordenadores electromec9nicos, (basados en rel's"$ %os ordenadores de tubo, como el
8DAD*, tendieron en tener un promedio de oc3o 3oras entre .allos, mientras #ue los
ordenadores de rel's, (anteriores ( m9s lentas", como el <ar)ard =arG I, .allaban mu(
raramente$ Dl .inal, los *+, basados en tubo lle&aron a ser dominantes por#ue las
si&ni.icati)as )enta/as de )elocidad producidas &eneralmente pesaban m9s #ue los
problemas de con.iabilidad$ %a ma(or parte de estas tempranas *+, s-ncronas corr-an en
.recuencias de relo/ ba/as comparadas con los modernos diseos microelectr7nicos$ 8ran
mu( comunes en este tiempo las .recuencias de la seal del relo/ con un ran&o desde 100
G<4 3asta 4 =<4, limitado en &ran parte por la )elocidad de los dispositi)os de
conmutaci7n con los #ue .ueron construidos$
CPU de transistores y de circuitos integrados discretos
*+,, memoria de n:cleo e inter.a4 de bus e6terno de un =1I +D+H80I$
%a comple/idad del diseo de las CPU aument7 /unto con .acilidad de la construcci7n de
dispositi)os electr7nicos m9s pe#ueos ( con.iables$ %a primera de esas me/oras )ino con
el ad)enimiento del transistor$ %as *+, transistori4adas durante los aos !0 ( los aos 60
no tu)ieron #ue ser construidos con elementos de conmutaci7n abultados, no .iables (
.r9&iles, como los tubos de )ac-o ( los rel's el'ctricos$ *on esta me/ora, .ueron construidas
*+, m9s comple/as ( m9s con.iables sobre una o )arias tar/etas de circuito impreso #ue
conten-an componentes discretos (indi)iduales"$ Durante este per-odo, &an7 popularidad un
mtodo de .abricar muc3os transistores en un espacio compacto$ 8l circuito inte&rado (IC"
permiti7 #ue una &ran cantidad de transistores .ueran .abricados en una simple oblea
basada en semiconductor o 5c3ip5$ Dl principio, solamente circuitos di&itales mu( b9sicos,
no especiali4ados, como las puertas BO? .ueron miniaturi4ados en I*$ %as *+, basadas en
estos I* de 5blo#ues de construcci7n5 &eneralmente son re.eridos como dispositi)os de
pe#uea escala de inte&raci7n 5smallHscale inte&ration5 (SSI"$ %os circuitos inte&rados 11I,
como los usados en el computador &u-a del Dpollo (Dpollo Fuidance *omputer",
usualmente conten-an transistores #ue se contaban en n:meros de m:ltiplos de die4$
*onstruir un *+, completo usando I* 11I re#uer-a miles de c3ips indi)iduales, pero
toda)-a consum-a muc3o menos espacio ( ener&-a #ue diseos anteriores de transistores
discretos$ D medida #ue la tecnolo&-a microelectr7nica a)an47, en los I* .ue colocado un
n:mero creciente de transistores, disminu(endo as- la cantidad de I* indi)iduales
necesarios para una *+, completa$ %os circuitos inte&rados MSI ( el LSI (de mediana (
&ran escala de inte&raci7n" aumentaron el n:mero de transistores a cientos ( lue&o a miles$
8n 1264, IC= introdu/o su ar#uitectura de ordenador 1(stem0>60, #ue .ue usada en una
serie de ordenadores #ue pod-an e/ecutar los mismos pro&ramas con )elocidades (
desempeos di.erentes$ 8sto .ue si&ni.icati)o en un tiempo en #ue la ma(or-a de los
ordenadores electr7nicos eran incompatibles entre s-, incluso los 3ec3as por el mismo
.abricante$ +ara .acilitar esta me/ora, IC= utili47 el concepto de micropro&rama, a menudo
llamado 5microc7di&o5, ampliamente usado a:n en las *+, modernas$ %a ar#uitectura
1(stem0>60 era tan popular #ue domin7 el mercado del main.rame durante las si&uientes
d'cadas ( de/7 una 3erencia #ue toda)-a a:n perdura en los ordenadores modernos, como el
IC= 41eries$ 8n el mismo ao de 1264, Di&ital 8#uipment *orporation (D8*" introdu/o
otro ordenador #ue ser-a mu( in.lu(ente, diri&ido a los mercados cient-.icos ( de
in)esti&aci7n, el +D+H8$ D8* introducir-a m9s adelante la mu( popular l-nea del +D+H11,
#ue ori&inalmente .ue construido con I* 11I pero e)entualmente .ue implementado con
componentes %1I cuando se con)irtieron en pr9cticos$ 8n .uerte contraste con sus
precursores 3ec3os con tecnolo&-a 11I ( =1I, la primera implementaci7n %1I del +D+H11
conten-a una *+, inte&rada :nicamente por cuatro circuitos inte&rados %1I$ %os
ordenadores basados en transistores ten-an )arias )enta/as .rente a sus predecesores$ Dparte
de .acilitar una creciente .iabilidad ( un menor consumo de ener&-a, los transistores
tambi'n permit-an al *+, operar a )elocidades muc3o m9s altas debido al corto tiempo de
conmutaci7n de un transistor en comparaci7n a un tubo o rel'$ Fracias tanto a esta creciente
.iabilidad como al dram9tico incremento de )elocidad de los elementos de conmutaci7n #ue
por este tiempo eran casi e6clusi)amente transistores, se .ueron alcan4ando .recuencias de
relo/ de la *+, de decenas de me&a3ert4$ Ddem9s, mientras #ue las *+, de transistores
discretos ( circuitos inte&rados se usaban com:nmente, comen4aron a aparecer los nue)os
diseos de alto rendimiento como procesadores )ectoriales 1I=D (1in&le Instruction
=ultiple Data" (1imple Instrucci7n =:ltiples Datos"$ 8stos primeros diseos
e6perimentales dieron lu&ar m9s adelante a la era de los superordenadores especiali4ados,
como los 3ec3os por *ra( Inc$
Microprocesadores
=icroprocesador Intel 80486DX2 en un pa#uete +FD de cer9mica$
8l mismo microprocesador tal como se )e desde arriba$
Drt-culo principal: Microprocesador
Desde la introducci7n del primer microprocesador, el Intel 4004, en 121 ( del primer
microprocesador ampliamente usado, el Intel 8080, en 124, esta clase de *+, 3a
despla4ado casi totalmente el resto de los m'todos de implementaci7n de la ,nidad *entral
de +roceso$ %os .abricantes de main.rames ( miniordenadores de ese tiempo lan4aron
pro&ramas de desarrollo de I* propietarios para actuali4ar sus m9s )ie/as ar#uitecturas de
ordenador ( e)entualmente produ/eron microprocesadores con con/untos de instrucciones
#ue eran compatibles 3acia atr9s con sus m9s )ie/os 3ardEares ( so.tEares$ *ombinado con
el ad)enimiento ( el e)entual )asto '6ito del a3ora ubicuo ordenador personal, el t'rmino
5*+,5 es aplicado a3ora casi e6clusi)amente a los microprocesadores$ %as &eneraciones
pre)ias de *+, .ueron implementadas como componentes discretos ( numerosos circuitos
inte&rados de pe#uea escala de inte&raci7n en una o m9s tar/etas de circuitos$ +or otro
lado, los microprocesadores son *+, .abricados con un n:mero mu( pe#ueo de I*I
usualmente solo uno$ 8l tamao m9s pe#ueo del *+,, como resultado de estar
implementado en una simple pastilla, si&ni.ica tiempos de conmutaci7n m9s r9pidos debido
a .actores .-sicos como el decrecimiento de la capacitancia par9sita de las puertas$ 8sto 3a
permitido #ue los microprocesadores s-ncronos ten&an tiempos de relo/ con un ran&o de
decenas de me&a3ercios a )arios &i&a3ercios$ Ddicionalmente, como 3a aumentado la
capacidad de construir transistores e6cesi)amente pe#ueos en un I*, la comple/idad ( el
n:mero de transistores en un simple *+, tambi'n se 3a incrementado dram9ticamente$
8sta tendencia ampliamente obser)ada es descrita por la le( de =oore, #ue 3a demostrado
3asta la .ec3a, ser una predicci7n bastante e6acta del crecimiento de la comple/idad de los
*+,s ( otros I*$ =ientras #ue, en los pasados sesenta aos 3an cambiado dr9sticamente, la
comple/idad, el tamao, la construcci7n ( la .orma &eneral de la *+,, es notable #ue el
diseo ( el .uncionamiento b9sico no 3a cambiado demasiado$ *asi todos los *+,
comunes de 3o( se pueden describir con precisi7n como m9#uinas de pro&rama
almacenado de )on Beumann$ D medida #ue la (a mencionada le( del =oore contin:a
manteni'ndose )erdadera, se 3an presentado preocupaciones sobre los l-mites de la
tecnolo&-a de transistor del circuito inte&rado$ %a miniaturi4aci7n e6trema de puertas
electr7nicas est9 causando los e.ectos de .en7menos #ue se )uel)en muc3o m9s
si&ni.icati)os, como la electromi&raci7n ( el subumbral de p'rdida$ 8stas nue)as
preocupaciones est9n entre los muc3os .actores #ue 3acen a in)esti&adores estudiar nue)os
m'todos de computaci7n como la computaci7n cu9ntica, as- como ampliar el uso de
paralelismo ( otros m'todos #ue e6tienden la utilidad del modelo cl9sico de )on Beumann$
Operacin del CPU
%a operaci7n .undamental de la ma(or-a de las *+, es e/ecutar una secuencia de
instrucciones almacenadas llamadas 5pro&rama5$ 8l pro&rama es representado por una serie
de n:meros #ue se mantienen en una cierta clase de memoria de ordenador$ <a( cuatro
pasos #ue casi todos las *+, de ar#uitectura de )on Beumann usan en su operaci7n: fetch,
decode, eecute, ( !rite"ac#, (leer, decodi.icar, e/ecutar ( escribir"$
Dia&rama mostrando como es decodi.icada una instrucci7n del =I+1>2$ (=I+1
;ec3nolo&ies 200!"
8l primer paso, leer (.etc3", implica el recuperar una instrucci7n, (#ue es representada por
un n:mero o una secuencia de n:meros", de la memoria de pro&rama$ %a locali4aci7n en la
memoria del pro&rama es determinada por un contador de pro&rama (+*", #ue almacena un
n:mero #ue identi.ica la posici7n actual en el pro&rama$ 8n otras palabras, el contador de
pro&rama indica al *+,, el lu&ar de la instrucci7n en el pro&rama actual$ Despu's de #ue se
lee una instrucci7n, el *ontador de +ro&rama es incrementado por la lon&itud de la palabra
de instrucci7n en t'rminos de unidades de memoria$ @recuentemente la instrucci7n a ser
le-da debe ser recuperada de memoria relati)amente lenta, 3aciendo detener la *+,
mientras espera #ue la instrucci7n sea retornada$ 8ste problema es tratado en procesadores
modernos en &ran parte por los cac3's ( las ar#uitecturas pipeline$ %a instrucci7n #ue la
*+, lee desde la memoria es usada para determinar #u' deber9 3acer la *+,$ 8n el paso
de decodificacin, la instrucci7n es di)idida en partes #ue tienen si&ni.icado para otras
unidades de la *+,$ %a manera en #ue el )alor de la instrucci7n num'rica es interpretado
est9 de.inida por la ar#uitectura del con/unto de instrucciones (el IS$" de la *+,$ D
menudo, un &rupo de n:meros en la instrucci7n, llamados opcode, indica #u' operaci7n
reali4ar$ %as partes restantes del n:mero usualmente proporcionan in.ormaci7n re#uerida
para esa instrucci7n, como por e/emplo, operandos para una operaci7n de adici7n$ ;ales
operandos se pueden dar como un )alor constante (llamado )alor inmediato", o como un
lu&ar para locali4ar un )alor, #ue se&:n lo determinado por al&:n modo de direcci7n, puede
ser un re&istro o una direcci7n de memoria$ 8n diseos m9s )ie/os las unidades del *+,
responsables de decodi.icar la instrucci7n eran dispositi)os de 3ardEare .i/os$ 1in embar&o,
en *+,s e I1Ds m9s abstractos ( complicados, es .recuentemente usado un micropro&rama
para a(udar a traducir instrucciones en )arias seales de con.i&uraci7n para el *+,$ 8ste
micropro&rama es a )eces reescribible de tal manera #ue puede ser modi.icado para
cambiar la manera en #ue el *+, decodi.ica instrucciones incluso despu's de #ue 3a(a
sido .abricado$
Dia&rama de blo#ues de un *+, simple$
Despu's de los pasos de lectura ( decodi.icaci7n, es lle)ado a cabo el paso de la e%ecucin
de la instrucci7n$ Durante este paso, )arias unidades del *+, son conectadas de tal manera
#ue ellas pueden reali4ar la operaci7n deseada$ 1i, por e/emplo, una operaci7n de adici7n
.ue solicitada, una unidad aritm'tico l7&ica ($LU" ser9 conectada a un con/unto de
entradas ( un con/unto de salidas$ %as entradas proporcionan los n:meros a ser sumados, (
las salidas contendr9n la suma .inal$ %a D%, contiene la circuiter-a para reali4ar
operaciones simples de aritm'tica ( l7&ica en las entradas, como adici7n ( operaciones de
bits (bitEise"$ 1i la operaci7n de adici7n produce un resultado demasiado &rande para poder
ser mane/ado por el *+,, tambi'n puede ser a/ustada una bandera (.la&" de desbordamiento
aritm'tico locali4ada en un re&istro de banderas ()er aba/o la secci7n sobre ran&o de
n:meros enteros"$
8l paso .inal, la escritura (EritebacG", simplemente 5escribe5 los resultados del paso de
e/ecuci7n a una cierta .orma de memoria$ =u( a menudo, los resultados son escritos a
al&:n re&istro interno del *+, para acceso r9pido por subsecuentes instrucciones$ 8n otros
casos los resultados pueden ser escritos a una memoria principal m9s lenta pero m9s barata
( m9s &rande$ Dl&unos tipos de instrucciones manipulan el contador de pro&rama en lu&ar
de directamente producir datos de resultado$ Jstas son llamadas &eneralmente 5saltos5
(/umps" ( .acilitan comportamientos como bucles (loops", la e/ecuci7n condicional de
pro&ramas (con el uso de saltos condicionales", ( .unciones en pro&ramas$
1
=uc3as
instrucciones tambi'n cambiar9n el estado de d-&itos en un re&istro de 5banderas5$ 8stas
banderas pueden ser usadas para in.luenciar c7mo se comporta un pro&rama, puesto #ue a
menudo indican el resultado de )arias operaciones$ +or e/emplo, un tipo de instrucci7n de
5comparaci7n5 considera dos )alores ( .i/a un n:mero, en el re&istro de banderas, de
acuerdo a cu9l es el ma(or$ 8ntonces, esta bandera puede ser usada por una posterior
instrucci7n de salto para determinar el .lu/o de pro&rama$
Despu's de la e/ecuci7n de la instrucci7n ( la escritura de los datos resultantes, el proceso
entero se repite con el si&uiente ciclo de instrucci7n, normalmente le(endo la si&uiente
instrucci7n en secuencia debido al )alor incrementado en el contador de pro&rama$ 1i la
instrucci7n completada era un salto, el contador de pro&rama ser9 modi.icado para contener
la direcci7n de la instrucci7n a la cual se salt7, ( la e/ecuci7n del pro&rama contin:a
normalmente$ 8n *+,s m9s comple/os #ue el descrito a#u-, m:ltiples instrucciones pueden
ser le-das, decodi.icadas, ( e/ecutadas simult9neamente$ 8sta secci7n describe lo #ue es
re.erido &eneralmente como el 5entubado ?I1* cl9sico5 (*lassic ?I1* pipeline", #ue de
3ec3o es bastante com:n entre los *+, simples usados en muc3os dispositi)os
electr7nicos, a menudo llamados microcontroladores$
2
&ise'o e implementacin
Drt-culo principal: Diseo del CPU
Prerre(uisitos
$r(uitectura inform)tica
Circuitos digitales
*ango de enteros
%a manera en #ue un *+, representa los n:meros es una opci7n de diseo #ue a.ecta las
m9s b9sicas .ormas en #ue el dispositi)o .unciona$ Dl&unas de las primeras calculadoras
di&itales usaron, para representar n:meros internamente, un modelo el'ctrico del sistema de
numeraci7n decimal com:n (base die4"$ Dl&unas otras computadoras 3an usado sistemas de
numeraci7n m9s e67ticos como el ternario (base tres"$ *asi todos los *+, modernos
representan los n:meros en .orma binaria, en donde cada d-&ito es representado por una
cierta cantidad .-sica de dos )alores, como un )olta/e 5alto5 o 5ba/o5$
>
=icroprocesador =O1 6!02 en un dual inHline pacGa&e (encapasulado en doble l-nea", un
diseo e6tremadamente popular de 8 bits$
*on la representaci7n num'rica est9n relacionados el tamao ( la precisi7n de los n:meros
#ue un *+, puede representar$ 8n el caso de un *+, binario, un "it se re.iere a una
posici7n si&ni.icati)a en los n:meros con #ue traba/a un *+,$ 8l n:mero de bits (o de
posiciones num'ricas, o d-&itos" #ue un *+, usa para representar los n:meros, a menudo
se llama 5tamao de la palabra5, 5anc3o de bits5, 5anc3o de ruta de datos5, o 5precisi7n del
n:mero entero5 cuando se ocupa estrictamente de n:meros enteros (en oposici7n a n:meros
de coma .lotante"$ 8ste n:mero di.iere entre las ar#uitecturas, ( a menudo dentro de
di.erentes unidades del mismo *+,$ +or e/emplo, un *+, de 8 bits mane/a un ran&o de
n:meros #ue pueden ser representados por oc3o d-&itos binarios, cada d-&ito teniendo dos
)alores posibles, ( en combinaci7n los 8 bits teniendo 2
8
7 2!6 n:meros discretos$ 8n
e.ecto, el tamao del n:mero entero .i/a un l-mite de 3ardEare en el ran&o de n:meros
enteros #ue el so.tEare corre ( #ue el *+, puede usar directamente$
4
8l ran&o del n:mero entero tambi'n puede a.ectar el n:mero de posiciones en memoria #ue
el *+, puede direccionar (locali4ar"$ +or e/emplo, si un *+, binario utili4a >2 bits para
representar una direcci7n de memoria, ( cada direcci7n de memoria representa a un octeto
(8 bits", la cantidad m96ima de memoria #ue el *+, puede direccionar es 2
>2
octetos, o 4
FC$ Jsta es una )ista mu( simple del espacio de direcci7n del *+,, ( muc3os diseos
modernos usan m'todos de direcci7n muc3o m9s comple/os como pa&inaci7n para locali4ar
m9s memoria #ue su ran&o entero permitir-a con un espacio de direcci7n plano$
Bi)eles m9s altos del ran&o de n:meros enteros re#uieren m9s estructuras para mane/ar los
d-&itos adicionales, ( por lo tanto, m9s comple/idad, tamao, uso de ener&-a, (
&eneralmente costo$ +or ello, no es del todo in.recuente, )er microcontroladores de 4 ( 8
bits usados en aplicaciones modernas, a:n cuando est9n disponibles *+, con un ran&o
muc3o m9s alto (de 16, >2, 64, e incluso 128 bits"$ %os microcontroladores m9s simples son
&eneralmente m9s baratos, usan menos ener&-a, ( por lo tanto disipan menos calor$ ;odo
esto pueden ser consideraciones de diseo importantes para los dispositi)os electr7nicos$
1in embar&o, en aplicaciones del e6tremo alto, los bene.icios producidos por el ran&o
adicional, (m9s a menudo el espacio de direcci7n adicional", son m9s si&ni.icati)os ( con
.recuencia a.ectan las opciones del diseo$ +ara &anar al&unas de las )enta/as
proporcionadas por las lon&itudes de bits tanto m9s ba/as, como m9s altas, muc3as *+,s
est9n diseadas con anc3os de bit di.erentes para di.erentes unidades del dispositi)o$ +or
e/emplo, el IC= 1(stem0>0 us7 un *+, #ue .ue sobre todo de >2 bits, pero us7 precisi7n
de 128 bits dentro de sus unidades de coma .lotante para .acilitar ma(or e6actitud ( ran&o
de n:meros de coma .lotante$ =uc3os diseos posteriores de *+, usan una me4cla de
anc3o de bits similar, especialmente cuando el procesador est9 diseado para usos de
prop7sito &eneral donde se re#uiere un ra4onable e#uilibrio entre la capacidad de n:meros
enteros ( de coma .lotante$
+recuencia de relo%
Drt-culo principal: Frecuencia de reloj
%a ma(or-a de los *+,, ( de 3ec3o, la ma(or-a de los dispositi)os de l7&ica secuencial, son
de naturale4a s-ncrona$
!
8s decir, est9n diseados ( operan en .unci7n de una seal de
sincroni4aci7n$ 8sta seal, conocida como se'al de relo%, usualmente toma la .orma de una
onda cuadrada peri7dica$ *alculando el tiempo m96imo en #ue las seales el'ctricas
pueden mo)erse en las )arias bi.urcaciones de los muc3os circuitos de un *+,, los
diseadores pueden seleccionar un per-odo apropiado para la seal del relo/$
8ste per-odo debe ser m9s lar&o #ue la cantidad de tiempo #ue toma a una seal mo)erse, o
propa&arse en el peor de los casos$ Dl .i/ar el per-odo del relo/ a un )alor bastante ma(or
sobre el retardo de la propa&aci7n del peor caso, es posible disear todo el *+, ( la manera
#ue mue)e los datos alrededor de los 5bordes5 de la subida ( ba/ada de la seal del relo/$
8sto tiene la )enta/a de simpli.icar el *+, si&ni.icati)amente, tanto en una perspecti)a de
diseo, como en una perspecti)a de cantidad de componentes$ 1in embar&o, esto tambi'n
tiene la des)enta/a #ue todo el *+, debe esperar por sus elementos m9s lentos, a:n cuando
al&unas unidades de la misma son muc3o m9s r9pidas$ 8sta limitaci7n 3a sido compensada
en &ran parte por )arios m'todos de aumentar el paralelismo del *+, ()er aba/o"$
1in embar&o, las me/oras ar#uitect7nicas por s- solas, no solucionan todas las des)enta/as
de *+,s &lobalmente s-ncronas$ +or e/emplo, una seal de relo/ est9 su/eta a los retardos de
cual#uier otra seal el'ctrica$ Aelocidades de relo/ m9s altas en *+,s cada )e4 m9s
comple/as 3acen m9s di.-cil de mantener la seal del relo/ en .ase (sincroni4ada" a tra)'s de
toda la unidad$ 8sto 3a conducido #ue muc3os *+, modernos re#uieran #ue se les
proporcione m:ltiples seales de relo/ id'nticas, para e)itar retardar una sola seal lo
su.iciente como para 3acer al *+, .uncionar incorrectamente$ Otro importante problema
cuando la )elocidad del relo/ aumenta dram9ticamente, es la cantidad de calor #ue es
disipado por el *+,$ %a seal del relo/ cambia constantemente, pro)ocando la conmutaci7n
de muc3os componentes (cambio de estado" sin importar si est9n siendo usados en ese
momento$ 8n &eneral, un componente #ue est9 cambiando de estado, usa m9s ener&-a #ue
un elemento en un estado est9tico$ +or lo tanto, a medida #ue la )elocidad del relo/
aumenta, as- lo 3ace tambi'n la disipaci7n de calor, causando #ue el *+, re#uiera
soluciones de en.riamiento m9s e.ecti)as$
,n m'todo de tratar la conmutaci7n de componentes innecesarios se llama el clocG &atin&,
#ue implica apa&ar la seal del relo/ a los componentes innecesarios, e.ecti)amente
desacti)9ndolos$ 1in embar&o, esto es .recuentemente considerado como di.-cil de
implementar ( por lo tanto no )e uso com:n a.uera de diseos de mu( ba/a potencia$
6


Otro m'todo de tratar al&unos de los problemas de una seal &lobal de relo/ es la completa
remoci7n de la misma$ =ientras #ue #uitar la seal &lobal del relo/ 3ace, de muc3as
maneras, considerablemente m9s comple/o el proceso del diseo, en comparaci7n con
diseos s-ncronos similares, los diseos asincr7nicos (o sin relo/" tienen marcadas )enta/as
en el consumo de ener&-a ( la disipaci7n de calor$ Dun#ue al&o in.recuente, *+,s
completas se 3an construido sin utili4ar una seal &lobal de relo/$ Dos notables e/emplos de
esto son el D=,%8;, #ue implementa la ar#uitectura del D?=, ( el =ini=I+1,
compatible con el =I+1 ?>000$ 8n lu&ar de remo)er totalmente la seal del relo/, al&unos
diseos de *+, permiten a ciertas unidades del dispositi)o ser asincr7nicas, como por
e/emplo, usar D%,s asincr7nicas en con/unci7n con pipelinin& superescalar para alcan4ar
al&unas &anancias en el desempeo aritm'tico$ =ientras #ue no est9 completamente claro si
los diseos totalmente asincr7nicos pueden desempearse a un ni)el comparable o me/or
#ue sus contrapartes s-ncronas, es e)idente #ue por lo menos sobresalen en las m9s simples
operaciones matem9ticas$ 8sto, combinado con sus e6celentes caracter-sticas de consumo
de ener&-a ( disipaci7n de calor, los 3ace mu( adecuados para sistemas embebidos$
Paralelismo
Drt-culo principal: Computacin paralela
=odelo de un *+, subescalar$ Bote #ue toma #uince ciclos para terminar tres
instrucciones$
%a descripci7n de la operaci7n b9sica de un *+, o.recida en la secci7n anterior describe la
.orma m9s simple #ue puede tomar un *+,$ 8ste tipo de *+,, usualmente re.erido como
su"escalar, opera sobre ( e/ecuta una sola instrucci7n con una o dos pie4as de datos a la
)e4$
8ste proceso da lu&ar a una ine.icacia in3erente en *+,s subescalares$ +uesto #ue
solamente una instrucci7n es e/ecutada a la )e4, todo el *+, debe esperar #ue esa
instrucci7n se complete antes de proceder a la si&uiente instrucci7n$ *omo resultado, el
*+, subescalar #ueda 5parali4ado5 en instrucciones #ue toman m9s de un ciclo de relo/
para completar su e/ecuci7n$ Incluso la adici7n de una se&unda unidad de e/ecuci7n ()er
aba/o" no me/ora muc3o el desempeo$ 8n lu&ar de un camino #uedando con&elado, a3ora
dos caminos se parali4an ( aumenta el n:mero de transistores no usados$ 8ste diseo, en
donde los recursos de e/ecuci7n del *+, pueden operar con solamente una instrucci7n a la
)e4, solo puede, posiblemente, alcan4ar el desempeo escalar (una instrucci7n por ciclo de
relo/"$ 1in embar&o, el desempeo casi siempre es subescalar (menos de una instrucci7n por
ciclo"$
%as tentati)as de alcan4ar un desempeo escalar ( me/or, 3an resultado en una )ariedad de
metodolo&-as de diseo #ue 3acen comportarse al *+, menos linealmente ( m9s en
paralelo$ *uando se re.iere al paralelismo en los *+,, &eneralmente son usados dos
t'rminos para clasi.icar estas t'cnicas de diseo$
8l paralelismo a ni)el de instrucci7n, en in&l's Instruction %e)el +arallelism (I%+",
busca aumentar la tasa en la cual las instrucciones son e/ecutadas dentro de un *+,,
es decir, aumentar la utili4aci7n de los recursos de e/ecuci7n en la pastilla$
8l paralelismo a ni)el de 3ilo de e/ecuci7n, en in&l's t3read le)el parallelism (;%+",
#ue se propone incrementar el n:mero de 3ilos (e.ecti)amente pro&ramas
indi)iduales" #ue un *+, pueda e/ecutar simult9neamente$
*ada metodolo&-a se di.erencia tanto en las maneras en las #ue est9n implementadas, como
en la e.ecti)idad relati)a #ue producen en el aumento del desempeo del *+, para una
aplicaci7n$
8
ILP, -ntu"ado de instruccin y ar(uitectura superescalar
Artculo principal: ntu!ado de instruccin " superescalar
;uber-a b9sica de cinco etapas$ 8n el me/or de los casos, esta tuber-a puede sostener un
ratio de completado de una instrucci7n por ciclo$
,no de los m9s simples m'todos usados para lo&rar incrementar el paralelismo es
comen4ar los primeros pasos de leer ( decodi.icar la instrucci7n antes de #ue la instrucci7n
anterior 3a(a terminado de e/ecutarse$ Jsta es la .orma m9s simple de una t'cnica conocida
como instruction pipelinin& (entubado de instrucci7n", ( es utili4ada en casi todos los *+,
de prop7sito &eneral modernos$ Dl di)idir la ruta de e/ecuci7n en etapas discretas, la tuber-a
permite #ue m9s de una instrucci7n sea e/ecutada en cual#uier tiempo$ 8sta separaci7n
puede ser comparada a una l-nea de ensambla/e, en la cual una instrucci7n es 3ec3a m9s
completa en cada etapa 3asta #ue sale de la tuber-a de e/ecuci7n ( es retirada$
1in embar&o, la tuber-a introduce la posibilidad de una situaci7n donde es necesario
terminar el resultado de la operaci7n anterior para completar la operaci7n si&uienteI una
condici7n llamada a menudo como con.licto de dependencia de datos$ +ara 3acer .rente a
esto, debe ser tomado un cuidado adicional para comprobar estas clases de condiciones, ( si
esto ocurre, se debe retrasar una porci7n de la tuber-a de instrucci7n$ Baturalmente, lo&rar
esto re#uiere circuiter-a adicional, los procesadores entubados son m9s comple/os #ue los
subescalares, pero no muc3o$ ,n procesador entubado puede lle&ar a ser casi
completamente escalar, solamente in3ibido por las abruptas paradas de la tuber-a (una
instrucci7n durando m9s de un ciclo de relo/ en una etapa"$
;uber-a superescalar simple$ Dl leer ( despac3ar dos instrucciones a la )e4, un m96imo de
dos instrucciones por ciclo pueden ser completadas$
,na me/ora adicional sobre la idea del entubado de instrucci7n (instruction pipelinin&"
condu/o al desarrollo de un m'todo #ue disminu(e incluso m9s el tiempo ocioso de los
componentes del *+,$ Diseos #ue se dice #ue son superescalares inclu(en una lar&a
tuber-a de instrucci7n ( m:ltiples unidades de e/ecuci7n id'nticas$ 8n una tuber-a
superescalar, m:ltiples instrucciones son le-das ( pasadas a un despac3ador, #ue decide si
las instrucciones se pueden o no e/ecutar en paralelo (simult9neamente"$ De ser as-, son
despac3adas a las unidades de e/ecuci7n disponibles, dando por resultado la capacidad para
#ue )arias instrucciones sean e/ecutadas simult9neamente$ 8n &eneral, cuanto m9s
instrucciones un *+, superescalar es capa4 de despac3ar simult9neamente a las unidades
de e/ecuci7n en espera, m9s instrucciones ser9n completadas en un ciclo dado$
%a ma(or parte de la di.icultad en el diseo de una ar#uitectura superescalar de *+,
descansa en crear un despac3ador e.ica4$ 8l despac3ador necesita poder determinar r9pida
( correctamente si las instrucciones pueden e/ecutarse en paralelo, tan bien como
despac3arlas de una manera #ue manten&a ocupadas tantas unidades de e/ecuci7n como sea
posible$ 8sto re#uiere #ue la tuber-a de instrucci7n sea llenada tan a menudo como sea
posible ( se incrementa la necesidad, en las ar#uitecturas superescalares, de cantidades
si&ni.icati)as de cac3' de *+,$ 8sto tambi'n crea t'cnicas para e)itar peli&ros como la
predicci7n de bi.urcaci7n, e/ecuci7n especulati)a, ( la e/ecuci7n .uera de orden, cruciales
para mantener altos ni)eles de desempeo$
%a predicci7n de bi.urcaci7n procura predecir #u' rama (o tra(ectoria" tomar9 una
instrucci7n condicional, el *+, puede minimi4ar el n:mero de tiempos #ue toda la
tuber-a debe esperar 3asta #ue sea completada una instrucci7n condicional$
%a e/ecuci7n especulati)a .recuentemente proporciona aumentos modestos del
desempeo al e/ecutar las porciones de c7di&o #ue pueden o no ser necesarias
despu's de #ue una operaci7n condicional termine$
%a e/ecuci7n .uera de orden cambia en al&:n &rado el orden en el cual son
e/ecutadas las instrucciones para reducir retardos debido a las dependencias de los
datos$
8n el caso donde una porci7n del *+, es superescalar ( una parte no lo es, la parte #ue no
es superescalar su.re en el desempeo debido a las paradas de 3orario$ 8l Intel +entium
ori&inal (+!" ten-a dos D%,s superescalares #ue pod-an aceptar, cada una, una instrucci7n
por ciclo de relo/, pero su @+, no pod-a aceptar una instrucci7n por ciclo de relo/$ Ds- el +!
era superescalar en la parte de n:meros enteros pero no era superescalar de n:meros de
coma (o punto KdecimalL" .lotante$ 8l sucesor a la ar#uitectura del +entium de Intel, el +6,
a&re&7 capacidades superescalares a sus .unciones de coma .lotante, ( por lo tanto produ/o
un si&ni.icati)o aumento en el desempeo de este tipo de instrucciones$
8l entubado simple ( el diseo superescalar aumentan el I%+ de un *+, al permitir a un
solo procesador completar la e/ecuci7n de instrucciones en ratios #ue sobrepasan una
instrucci7n por ciclo (IPC"$
2
%a ma(or-a de los modernos diseos de *+, son por lo menos
al&o superescalares, ( en la :ltima d'cada, casi todos los diseos de *+, de prop7sito
&eneral son superescalares$ 8n los :ltimos aos al&o del 'n.asis en el diseo de
computadores de alto I%+ se 3a mo)ido del 3ardEare del *+, 3acia su inter.ace de
so.tEare, o I1D$ %a estrate&ia de la mu( lar&a palabra de instrucci7n, )er( lon& instruction
Eord (A%IM", causa a al&:n I%+ a ser impl-cito directamente por el so.tEare, reduciendo la
cantidad de traba/o #ue el *+, debe reali4ar para darle un empu/e si&ni.icati)o al I%+ ( por
lo tanto reducir la comple/idad del diseo$
.LP, e%ecucin simult)nea de hilos
Otra estrate&ia com:nmente usada para aumentar el paralelismo de los *+, es incluir la
3abilidad de correr m:ltiples 3ilos (pro&ramas" al mismo tiempo$ 8n &eneral, *+,s con
alto ;%+ 3an estado en uso por muc3o m9s tiempo #ue los de alto I%+$ =uc3os de los
diseos en los #ue 1e(mour *ra( .ue pionero durante el .inal de los aos 120 ( los aos
1280 se concentraron en el ;%+ como su m'todo primario de .acilitar enormes capacidades
de computaci7n (para su tiempo"$ De 3ec3o, el ;%+, en la .orma de me/oras en m:ltiples
3ilos de e/ecuci7n, estu)o en uso tan temprano como desde los aos 12!0$ 8n el conte6to
de diseo de procesadores indi)iduales, las dos metodolo&-as principales usadas para lo&rar
el ;%+ son, multiprocesamiento a ni)el de c3ip, en in&l's c3ipHle)el multiprocessin&
(*=+", ( el multi3ilado simult9neo, en in&l's simultaneous multit3readin& (1=;"$ 8n un
alto ni)el, es mu( com:n construir computadores con m:ltiples *+, totalmente
independientes en arre&los como multiprocesamiento sim'trico (s(mmetric multiprocessin&
(1=+"" ( acceso de memoria no uni.orme (BonH,ni.orm =emor( Dccess (B,=D""$
10

Dun#ue son usados medios mu( di.erentes, todas estas t'cnicas lo&ran la misma meta:
incrementar el n:mero de 3ilos #ue el *+,(s" puede correr en paralelo$
%os m'todos de paralelismo *=+ ( de 1=+ son similares uno del otro ( lo m9s directo$
Jstos implican al&o m9s conceptual #ue la utili4aci7n de dos o m9s *+, completos ( *+,
independientes$ 8n el caso del *=+, m:ltiples 5n:cleos5 de procesador son incluidos en el
mismo pa#uete, a )eces en el mismo circuito inte&rado$
11
+or otra parte, el 1=+ inclu(e
m:ltiples pa#uetes independientes$ B,=D es al&o similar al 1=+ pero usa un modelo de
acceso a memoria no uni.orme$ 8sto es importante para los computadores con muc3os *+,
por#ue el tiempo de acceso a la memoria, de cada procesador, es a&otado r9pidamente con
el modelo de memoria compartido del 1=+, resultando en un si&ni.icati)o retraso debido a
los *+, esperando por la memoria$ +or lo tanto, B,=D es considerado un modelo muc3o
m9s escalable, permitiendo con '6ito #ue en un computador sean usados muc3os m9s *+,
#ue los #ue pueda soportar de una manera .actible el 1=+$ 8l 1=; se di.erencia en al&o de
otras me/oras de ;%+ en #ue el primero procura duplicar tan pocas porciones del *+,
como sea posible$ =ientras es considerada una estrate&ia ;%+, su implementaci7n
realmente se aseme/a m9s a un diseo superescalar, ( de 3ec3o es .recuentemente usado en
microprocesadores superescalares, como el +OM8?! de IC=$ 8n lu&ar de duplicar todo el
*+,, los diseos 1=; solamente duplican las pie4as necesarias para lectura,
decodi.icaci7n, ( despac3o de instrucciones, as- como cosas como los re&istros de
prop7sito &eneral$ 8sto permite a un *+, 1=; mantener sus unidades de e/ecuci7n
ocupadas m9s .recuentemente al proporcionarles las instrucciones desde dos di.erentes
3ilos de so.tEare$ ,na )e4 m9s esto es mu( similar al m'todo superescalar del I%+, pero
e/ecuta simult9neamente instrucciones de m:ltiples 3ilos en lu&ar de e/ecutar
concurrentemente m:ltiples instrucciones del mismo 3ilo$
Procesadores /ectoriales y el SIM&
Drt-culos principales: Procesador #ectorial ( $%MD$
,n menos com:n pero cada )e4 m9s importante paradi&ma de *+, (( de 3ec3o, de
computaci7n en &eneral" trata con /ectores$ %os procesadores de los #ue se 3a 3ablado
anteriormente son todos re.eridos como cierto tipo de dispositi)o escalar$
12
*omo implica
su nombre, los procesadores )ectoriales se ocupan de m:ltiples pie4as de datos en el
conte6to de una instrucci7n, esto contrasta con los procesadores escalares, #ue tratan una
pie4a de dato por cada instrucci7n$ 8stos dos es#uemas de ocuparse de los datos son
&eneralmente re.eridos respecti)amente como 1I1D (1in&le Instruction, 1in&le DataN"
(1imple Instrucci7n, 1imple Dato" ( 1I=D (1in&le Instruction, =ultiple Data" (1imple
Instrucci7n, =:ltiples Datos"$ %a &ran utilidad en crear *+,s #ue se ocupen de )ectores de
datos radica en la optimi4aci7n de tareas #ue tienden a re#uerir la misma operaci7n, por
e/emplo, una suma, o un producto escalar, a ser reali4ado en un &ran con/unto de datos$
Dl&unos e/emplos cl9sicos de este tipo de tareas son las aplicaciones multimedia
(im9&enes, )-deo, ( sonido", as- como muc3os tipos de tareas cient-.icas ( de in&enier-a$
=ientras #ue un *+, escalar debe completar todo el proceso de leer, decodi.icar, ( e/ecutar
cada instrucci7n ( )alor en un con/unto de datos, un *+, )ectorial puede reali4ar una
simple operaci7n en un comparati)amente &rande con/unto de datos con una sola
instrucci7n$ +or supuesto, esto es solamente posible cuando la aplicaci7n tiende a re#uerir
muc3os pasos #ue apli#uen una operaci7n a un con/unto &rande de datos$
%a ma(or-a de los primeros *+, )ectoriales, como el *ra(H1, .ueron asociados casi
e6clusi)amente con aplicaciones de in)esti&aci7n cient-.ica ( cripto&ra.-a$ 1in embar&o, a
medida #ue la multimedia se despla47 en &ran parte a medios di&itales, 3a lle&ado a ser
si&ni.icati)a la necesidad de una cierta .orma de 1I=D en *+,s de prop7sito &eneral$ +oco
despu's de #ue comen4ara a ser com:n incluir unidades de coma .lotante en procesadores
de uso &eneral, tambi'n comen4aron a aparecer especi.icaciones e implementaciones de
unidades de e/ecuci7n 1I=D para los *+, de uso &eneral$ Dl&unas de estas primeras
especi.icaciones 1I=D, como el ==X de Intel, .ueron solamente para n:meros enteros$
8sto demostr7 ser un impedimento si&ni.icati)o para al&unos desarrolladores de so.tEare,
(a #ue muc3as de las aplicaciones #ue se bene.iciaban del 1I=D trataban sobre todo con
n:meros de coma .lotante$ +ro&resi)amente, 'stos primeros diseos .ueron re.inados (
re3ec3os en al&una de las comunes, modernas especi.icaciones 1I=D, #ue &eneralmente
est9n asociadas a un I1D$ Dl&unos e/emplos modernos notables son el 118 de Intel ( el
DltiAec relacionado con el +oEer+* (tambi'n conocido como A=X"$
1>

Das könnte Ihnen auch gefallen