Você está na página 1de 89

EL NIVEL DE LOGICA DIGITAL CAP.

3
memoria flash puede borrarse y reescribirse por bloue. Al i!ual ue la EEP"O#$ la memoria
flash puede borrarse si% sacarla del circui&o. Varios fabrica%&es produce% peue'as &ar(e&as de
circui&os impresos co% dece%as de me!aby&es de memoria flash para usarse como ci%&a de
)ideo y almace%ar im*!e%es e% c*maras di!i&ales$ adem*s de muchos o&ros usos. Al!+% d,a
podr*% usarse las memorias flash para sus&i&uir a los discos$ lo cual represe%&ar,a u% a)a%ce
impor&a%&e$ e% )is&a de sus &iempos de acceso de -.. %s. El pri%cipal problema de i%!e%ier,a
e% la ac&ualidad es ue las memorias flash se des!as&a% despu/s de u%os -.$... borrados$
mie%&ras ue los discos dura% a'os$ por m*s frecue%&eme%&e ue se reescriba%. E% la fi!ura
3031 se prese%&a u% resume% de los di)ersos &ipos de memoria.
Tipo Categora Borrado
Alterable por
byte
Voltil Uso tpico
SRAM Lectura/escritura Elctrico S S Cach nivel 2
DRAM Lectura/escritura 'Elctrico S S Memoria principal
ROM Slo lectura mposi!le "o "o Aparatos en vol# $ran%es
&ROM Slo lectura mposi!le "o "o E'uipos en vol# pe'ue(os
E&ROM &rinc# lectura Lu) *+ "o "o &rototipos %e %ispositivos
EE&ROM &rinc# lectura Elctrico S "o &rototipos %e %ispositivos
,lash Lectura/escritura Elctrico "o "o &elcula para c-mara %i$ital
Figura 3-32. Comparaci2% de di)ersos &ipos de memoria.
3.4 CHIPS DE CPU Y BUSES
Ahora ue poseemos i%formaci2% acerca de los chips 33I$ #3I y de memoria$ podemos
come%4ar a (u%&ar &odas las pie4as y e5ami%ar sis&emas comple&os. E% es&a secci2%$ e5ami%a0
remos primero al!u%os aspec&os !e%erales de las CP6 desde la perspec&i)a del %i)el de l2!ica
di!i&al$ i%cluida la conexin de terminae! o "inout 7el si!%ificado de las se'ales de las
dis&i%&as &ermi%ales8. Pues&o ue las CP6 es&*% ,%&imame%&e relacio%adas co% el dise'o de
los buses ue usa%$ &ambi/% proporcio%aremos e% es&a secci2% u%a i%&roducci2% al dise'o
de buses. E% seccio%es pos&eriores daremos e(emplos de&allados de CP6 y de sus buses.
3.4.# C$i"! de CPU
Todas las CP6 moder%as es&*% co%&e%idas e% u% solo chip. Es&o hace ue su i%&eracci2% co% el
res&o del sis&ema es&/ bie% defi%ida. Cada chip de CP6 &ie%e u% co%(u%&o de &ermi%ales$ a
&ra)/s de las cuales debe pasar &oda su comu%icaci2% co% el mu%do e5&erior. Al!u%as &ermi0
%ales proporcio%a% se'ales de la CP69 o&ras acep&a% se'ales del mu%do e5&erior9 al!u%as
puede% hacer las dos cosas. 3i e%&e%demos la fu%ci2% de &odas las &ermi%ales$ podremos
co%ocer c2mo la CP6 i%&erac&+a co% la memoria y los disposi&i)os de E:3 e% el %i)el de
l2!ica di!i&al.
Las &ermi%ales de u% chip de CP6 se puede% di)idir e% &res &ipos; direcci2%$ da&os y
-<=
EL NIVEL DE LOGICA DIGITAL CAP. 3
co%&rol. Es&as &ermi%ales se co%ec&a% a &ermi%ales similares de los chips de memoria y de E:3
a &ra)/s de u%a colecci2% de alambres paralelos llamado bus. Para buscar u%a i%s&rucci2%$ la
CP6 primero coloca la direcci2% de memoria de esa i%s&rucci2% e% sus &ermi%ales de direc0
ci2%$ y lue!o habili&a u%a o m*s l,%eas de co%&rol para i%formar a la memoria ue uiere leer
7por e(emplo8 u%a palabra. La memoria co%&es&a coloca%do la palabra solici&ada e% las &ermi0
%ales de da&os de la CP6 y habili&a%do u%a se'al para i%dicar ue ya &ermi%2. Cua%do la CP6
)e es&a se'al$ acep&a la palabra y e(ecu&a la i%s&rucci2%.
La i%s&rucci2% podr,a reuerir leer o escribir palabras de da&os$ e% cuyo caso se repi&e
&odo el proceso para cada palabra adicio%al. #*s adela%&e )eremos los de&alles de c2mo
fu%cio%a la lec&ura y la escri&ura. Por ahora$ lo ue es impor&a%&e e%&e%der es ue la CP6 se
comu%ica co% la memoria y los disposi&i)os de E:3 &a%&o &ra%smi&ie%do como recibie%do
se'ales e% sus &ermi%ales. No es posible %i%!u%a o&ra comu%icaci2%.
Dos de los par*me&ros fu%dame%&ales ue de&ermi%a% el desempe'o de u%a CP6 so%
el %+mero de l,%eas de direcci2% y el %+mero de l,%eas de da&os. 6% chip ue &ie%e m l,%eas
de direcci2% puede direccio%ar has&a 1
m
localidades de memoria. Los )alores comu%es de
m so% ->$ 1.$ 31 y >=. De i!ual ma%era$ u% chip co% n l,%eas de da&os puede leer o escribir
u%a palabra de n bi&s e% u%a sola operaci2%. Los )alores comu%es de n so% ?$ ->$ 31$ 3> y
>=. 6%a CP6 co% ocho l,%eas de da&os reuiere cua&ro operacio%es para leer u%a palabra de
31 bi&s$ mie%&ras ue u%a co% 31 l,%eas de da&os puede reali4ar la misma &area e% u%a sola
operaci2%. As,$ el chip co% 31 &ermi%ales de da&os es mucho m*s r*pido$ pero siempre es
m*s cos&oso.
Adem*s de las l,%eas de direcci2% y de da&os$ &oda CP6 &ie%e al!u%as l,%eas de
co%&rol$ las cuales re!ula% el flu(o y la &empori4aci2% de los da&os ue e%&ra% e% la CP6 y
sale% de ella$ adem*s de &e%er )arios o&ros usos. Todas las CP6 &ie%e% &ermi%ales para la
alime%&aci2% 7casi siempre @ 3.3 )ol&s o @ < )ol&s8$ &ierra y u%a se'al de relo( 7u%a o%da
cuadrada8$ pero las dem*s &ermi%ales )ar,a% co%siderableme%&e de u% chip a o&ro. No
obs&a%&e$ las l,%eas de co%&rol puede% a!ruparse a !ra%des ras!os e% las si!uie%&es ca&e!or,as
pri%cipales;
-. Co%&rol de bus.
1. I%&errupcio%es.
3. Arbi&ra(e de bus.
=. 3e'ali4aci2% de coprocesador.
<. 3i&uaci2%.
>. Di)ersos.
Describiremos bre)eme%&e cada u%a de es&as ca&e!or,as a co%&i%uaci2%. Cua%do e5ami%emos
los chips Pe%&ium II$ 6l&ra3PA"C II y picoAa)a II m*s adela%&e$ daremos m*s de&alles. E% la
fi!ura 3033 se mues&ra u% chip de CP6 !e%/rico ue u&ili4a es&os !rupos de se'ales.
Las &ermi%ales de co%&rol de bus so% pri%cipalme%&e salidas de la CP6 al bus 7por &a%&o$
e%&radas a los chips de memoria y de E:38 ue dice% si la CP6 uiere leer o escribir e% la
-<<
3EC. 3.= CBIP3 DE CP6 C D63E3
Figura 3-33. Co%e5i2% l2!ica de &ermi%ales de u%a CP6 !e%/rica. Las flechas
i%dica% se'ales de e%&rada y de salida. Las l,%eas dia!o%ales cor&as i%dica% ue
se usa% )arias &ermi%ales. E% el caso de u%a CP6 espec,fica$ se dar,a u% %+mero
para i%dicar cu*%&as.
memoria o hacer al!u%a o&ra cosa. La CP6 u&ili4a es&as &ermi%ales para co%&rolar el res&o del
sis&ema y decirle lo ue uiere hacer.
Las &ermi%ales de i%&errupcio%es so% e%&radas a la CP6 pro)e%ie%&es de disposi&i)os de
E:3. E% casi &odos los sis&emas$ la CP6 puede orde%arle a u% disposi&i)o de E:3 ue i%icie
u%a operaci2% y lue!o dedicarse a hacer al!o +&il mie%&ras el le%&o disposi&i)o de E:3 es&*
hacie%do su &raba(o. 6%a )e4 comple&ada la E:3$ el chip co%&rolador de E:3 habili&a u%a se'al
e% u%a de es&as &ermi%ales para i%&errumpir a la CP6 y pedirle ue a&ie%da al disposi&i)o de
E:3 7di!amos$ para )er si ocurriero% errores de E:38. Al!u%as CP6 &ie%e% u%a &ermi%al de
salida para i%dicar ue recibiero% la se'al de i%&errupci2%.
Las &ermi%ales de arbi&ra(e de bus so% %ecesarias para re!ular el &r*fico e% el bus e impe0
dir ue dos disposi&i)os &ra&e% de usarlo al mismo &iempo. Para fi%es de arbi&ra(e$ la CP6
cue%&a como u% disposi&i)o.
Al!u%os chips de CP6 es&*% dise'ados para operar co% coprocesadores$ como chips de
pu%&o flo&a%&e$ de !r*ficos o de o&ro &ipo. Para facili&ar la comu%icaci2% e%&re la CP6 y el
coprocesador$ se i%cluye% &ermi%ales especiales para reali4ar y a&e%der di)ersas solici&udes.
Adem*s de es&as se'ales$ al!u%as CP6 &ie%e% )arias &ermi%ales de uso di)erso. Al!u%as
proporcio%a% o acep&a% i%formaci2% de es&ado$ o&ras so% +&iles para res&ablecer la compu0
&adora$ y o&ras m*s es&*% prese%&es para ase!urar la compa&ibilidad co% chips de E:3 a%&i!uos.
3.4.2 Bu!e! de com"utadora
6% %u! es u% cami%o el/c&rico com+% e%&re )arios disposi&i)os. Los buses puede% clasificarse
por su fu%ci2%.0Puede% usarse i%&er%ame%&e e% la CP6 para &ra%spor&ar da&os a y de la AL6$
o e5&er%os a la CP6 para co%ec&arla co% la memoria o los disposi&i)os de E:3. Cada &ipo de
bus &ie%e sus propios reuisi&os y propiedades. E% es&a secci2% y e% las ue si!ue% %os co%0
-<>
EL NIVEL DE LOGICA DIGITAL CAP. 3
ce%&raremos e% los buses ue co%ec&a% a la CP6 co% la memoria y los disposi&i)os de E:3. E%
el si!uie%&e cap,&ulo e5ami%aremos co% m*s de&e%imie%&o los buses i%&er%os de la CP6.
Las primeras compu&adoras perso%ales &e%,a% u% solo bus e5&er%o o %u! de !i!tema ue
co%s&aba de <. a -.. hilos de cobre paralelos !rabados e% la &ar(e&a madre$ co% co%ec&ores
espaciados a i%&er)alos re!ulares para i%ser&ar &ar(e&as de memoria y de E:3. Las
compu&adoras perso%ales moder%as !e%eralme%&e &ie%e% u% bus de prop2si&o especial e%&re la
CP6 y la memoria y 7por lo me%os8 u% bus m*s para los disposi&i)os de E:3. E% la fi!ura 303=
se ilus&ra u% sis&ema m,%imo$ co% u% bus de memoria y u% bus de E:3.
E% la li&era&ura los buses a )eces se dibu(a% como flechas !ruesas$ como e% es&a fi!ura. La
dis&i%ci2% e%&re u%a flecha !ruesa y u%a sola l,%ea a&ra)esada por u%a l,%ea dia!o%al cor&a y
u% %+mero de bi&s (u%&o a ella es su&il. Cua%do &odos los bi&s so% del mismo &ipo$ di!amos bi&s
de direcci2% o bi&s de da&os$ es com+% usar la represe%&aci2% co% la l,%ea dia!o%al cor&a.
Cua%do i%&er)ie%e% l,%eas de direcci2%$ da&os y co%&rol$ la flecha !ruesa es m*s com+%.
3i bie% los dise'adores de la CP6 es&*% e% liber&ad de usar el &ipo de bus ue les pla4ca
de%&ro del chip$ si se uiere ue &ar(e&as dise'adas por &erceros pueda% co%ec&arse al bus del
sis&ema debe% e5is&ir re!las bie% defi%idas ue di!a% c2mo fu%cio%a el bus$ mismas ue &odos
los disposi&i)os co%ec&ados a /l deber*% obedecer. Es&as re!las so% el "rotocoo de %u!. Ade0
m*s$ debe haber especificacio%es mec*%icas y el/c&ricas para ue las &ar(e&as de &erceros
a(us&e% e% la ca(a de &ar(e&as y &e%!a% co%ec&ores ue coi%cida% co% los de la &ar(e&a madre
&a%&o mec*%icame%&e como e% &/rmi%os de )ol&a(es$ &empori4aci2%$ e&c/&era.
E% el mu%do de las compu&adoras se usa% ampliame%&e )arios buses. 6%os de los m*s
co%ocidos$ &a%&o ac&uales como his&2ricos 7co% e(emplos8 so% el 2m%ibus 7PDP0?8$ 6%ibus
7PDP0--8$ #ul&ibus 7?.?>8$ el bus de ID# PC 7PC:ET8$ el bus I3A 7PC:AT8$ el bus EI3A
7?.3?>8$ #icroCha%%el 7P3:18$ el bus PCI 7muchas PC8$ el bus 3C3I 7muchas PC y es&acio0
%es de &raba(o8$ Nubus 7#aci%&osh8$ Dus 3erial 6%i)ersal 7PC moder%as8$ FireGire 7elec0
&r2%ica para co%sumidor8$ el bus V#E 7euipo de labora&orio de f,sica8 y el bus CA#AC
7f,sica de al&a e%er!,a8. Es probable ue el mu%do fuera u% me(or lu!ar si &odos me%os
-<H
3EC. 3.= CBIP3 DE CP6 C D63E3
u%o se
desapareciera% repe%&i%ame%&e de la fa4 de la Tierra 7es&* bie%$ de acuerdo$ Iu/ &al &odos
me%os dosJ8. Desafor&u%adame%&e$ la es&a%dari4aci2% e% es&a *rea es poco probable porue
ya se ha i%)er&ido mucho e% &odos es&os sis&emas i%compa&ibles.
I%iciemos ahora %ues&ro es&udio del fu%cio%amie%&o de los buses. Al!u%os disposi&i)os
ue se co%ec&a% a u% bus so% ac&i)os y puede% i%iciar &ra%sfere%cias de bus$ mie%&ras ue
o&ros so% pasi)os y espera% solici&udes. Los ac&i)os se llama% amo! o mae!tro!& los pasi)os
se llama% e!ca'o!. Cua%do la CP6 orde%a a u% co%&rolador de disco ue lea o escriba u%
bloue$ la CP6 es&* ac&ua%do como amo y el co%&rolador de disco es&* ac&ua%do como escla0
)o. 3i% embar!o$ u%os mome%&os despu/s el co%&rolador de disco podr,a ac&uar como amo al
orde%ar a la memoria ue acep&e las palabras ue es&* leye%do de la u%idad de disco. E% la
fi!ura 303< se e%umera% )arias combi%acio%es &,picas de amo y escla)o. E% %i%!u%a circu%s0
&a%cia la memoria puede ser u% amo.
Figura 3-3(. E(emplos de amos 7co%&roladores8 y escla)os de bus.
Las se'ales bi%arias ue los disposi&i)os de c2mpu&o produce%$ a me%udo %o so% lo
bas&a%&e fuer&es como para impulsar u% bus$ sobre &odo si /s&e es rela&i)ame%&e lar!o y &ie%e
co%ec&ados muchos disposi&i)os. Por es&a ra42%$ casi &odos los amos de bus se co%ec&a% al
bus co% u% chip llamado controador o drver de %u!) ue e% ese%cia es u% amplificador
di!i&al. As, mismo$ casi &odos los escla)os se co%ec&a% al bus co% u% rece"tor de %u!. E% el
caso de disposi&i)os ue puede% ac&uar como amo y como escla)o$ se emplea u% chip combi0
%ado llamado tran!ce"tor de %u!. Es&os chips de i%&erfa4 co% el bus suele% ser disposi&i)os
de &res es&ados$ para poder Kflo&arK 7desco%ec&arse8 cua%do %o se %ecesi&a%$ o es&ar co%ec&ados
de forma u% &a%&o dis&i%&a$ llamada de coector a%ierto) cuyo efec&o es el mismo. Cua%do dos
o m*s disposi&i)os de u%a l,%ea de colec&or abier&o habili&a% la l,%ea al mismo &iempo$ el
resul&ado es u% O" boolea%o de &odas las se'ales. Es&e sis&ema se co%oce como *+ aam-
%rado. E% la mayor par&e de los buses$ al!u%as de las l,%eas so% de &res es&ados y o&ras$ ue
%ecesi&a% la propiedad de O" alambrado$ so% de colec&or abier&o.
Al i!ual ue u%a CP6$ u% bus &ambi/% &ie%e l,%eas de direcci2%$ de da&os y de co%&rol.
3i% embar!o$ %o %ecesariame%&e hay u%a correspo%de%cia u%o a u%o e%&re las &ermi%ales de
la CP6 y las se'ales del bus. Por e(emplo$ al!u%as CP6 &ie%e% &res &ermi%ales ue codifica%
si se es&* efec&ua%do u%a lec&ura de memoria$ u%a escri&ura de memoria$ u%a lec&ura de E:3$
u%a escri&ura de E:3 o al!u%a o&ra operaci2%. 6% bus &,pico podr,a &e%er u%a l,%ea para lec&ura
de memoria$ u%a se!u%da para escri&ura de memoria$ o&ra para lec&ura de E:3$ u%a cuar&a para
escri&ura de E:3$ e&c. E% &al caso se %ecesi&ar,a u% chip decodificador e%&re la CP6 y el bus
para coordi%ar ambos lados$ es decir$ para co%)er&ir la se'al codificada de &res bi&s e% se'ales
i%di)iduales ue se alime%&e% a las l,%eas del bus.
Amo Esclavo Ejemplo
CP6 Memoria .raer instrucciones / %atos
C&* Dispositivo E/S niciar trans0erencia %e %atos
C&* Coprocesa%or Dele$acin %e instrucciones %e la C&* al Coprocesa%or
E/S Memoria DMA 1acceso %irecto a memoria2
Coprocesa%or C&* O!tencin %e operan%os %e la C&* por el Coprocesa%or
-<?
EL NIVEL DE LOGICA DIGITAL CAP. 3
El dise'o y la operaci2% de buses so% &emas lo bas&a%&e comple(os como para ue se
haya% escri&o libros e%&eros sobre ellos 73&a%ley y A%derso%$ -LL<b9 3olari$ -LL39 y 3olari y
Gillse$ -LL?8. Los aspec&os pri%cipales del dise'o de u% bus so% su a%chura$ &empori4aci2%$
arbi&ra(e y operacio%es. Cada u%a de es&as cues&io%es &ie%e u% impac&o co%siderable sobre la
rapide4 y el a%cho de ba%da del bus. E5ami%aremos cada u%o de es&os aspec&os e% las cua&ro
seccio%es ue si!ue%.
3.4.3 ,nc$o de %u!
El a%cho de bus es el par*me&ro de dise'o m*s ob)io$ Cua%&as m*s l,%eas de direcci2% &e%!a
u% bus$ m*s memoria podr* direccio%ar la CP6 direc&ame%&e. 3i u% bus &ie%e n l,%eas de
direcci2%$ u%a CP6 podr* usarlo para direccio%ar 1K localidades de memoria dis&i%&as. Para
ma%e(ar memorias !ra%des los buses %ecesi&a% muchas l,%eas de direcci2%. 3e%cillo$ I%oJ
El problema es ue los buses a%chos %ecesi&a% m*s l,%eas ue los a%!os&os9 adem*s$
ocupa% m*s espacio f,sico 7por e(emplo$ e% la &ar(e&a madre8 y %ecesi&a% co%ec&ores m*s
!ra%des. Todos es&os fac&ores hace% ue el bus sea m*s caro. Por &a%&o$ hay u% euilibrio
e%&re &ama'o m*5imo de memoria y cos&o del sis&ema. 6% sis&ema co% u% bus de direccio%es
de >= l,%eas y 1
31
by&es de memoria cos&ar* m*s ue u%o co% 31 l,%eas de direcci2% y los
mismos 1
31
by&es de memoria. La posibilidad de u%a e5pa%si2% fu&ura %o es !ra&ui&a.
El resul&ado de es&a obser)aci2% es ue muchos dise'adores de sis&emas &ie%de% a ser
miopes$ y las co%secue%cias puede% ser !ra)es. La ID# PC ori!i%al co%&e%,a u%a CP6 ?.??
y u% bus de direccio%es de 1. bi&s$ como se mues&ra e% la fi!ura 303>7a8. Es&os 1. bi&s permi0
&,a% a la PC direccio%ar - #D de memoria.
Figura 3-3-. Crecimie%&o de u% bus de direccio%es co% el &iempo.
Cua%do sur!i2 el chip de CP6 7el ?.1?>8$ I%&el decidi2 i%creme%&ar el espacio de direc0
cio%es a -> #D$ por lo ue fue %ecesario a'adir cua&ro l,%eas m*s de bus de direcci2% 7si%
me&erse co% las 1. ori!i%ales$ por ra4o%es de compa&ibilidad co% modelos a%&eriores8$ como
se mues&ra e% la fi!ura 303>7b8. Lame%&ableme%&e$ fue %ecesario a'adir m*s l,%eas de co%&rol
para ocuparse de las %ue)as l,%eas de direcci2%. Cua%do apareci2 el ?.3?>$ se a'adiero%
-<L
3EC. 3.= CBIP3 DE CP6 C D63E3
o&ras ocho l,%eas de direcci2%$ (u%&o co% m*s l,%eas de co%&rol$ como se mues&ra e% la fi!ura
303>7c8. El dise'o resul&a%&e 7el bus EI3A8 es mucho me%os ele!a%&e de lo ue habr,a sido si
hubiera &e%ido 31 l,%eas desde el pri%cipio.
El %+mero de l,%eas de direcci2% %o es lo +%ico ue &ie%de a aume%&ar co% el &iempo9 lo
mismo sucede co% el %+mero de l,%eas de da&os$ pero por u%a ra42% u% poco dis&i%&a. Bay dos
formas de i%creme%&ar el a%cho de ba%da de da&os de u% bus; reducir el &iempo de ciclo de bus
7m*s &ra%sfere%cias por se!u%do8 o i%creme%&ar la capacidad del bus de da&os 7m*s bi&s:
&ra%sfere%cia8. Es posible acelerar el bus$ pero %o es f*cil porue las se'ales de las difere%&es
l,%eas )ia(a% a )elocidades li!erame%&e dis&i%&as$ problema ue se co%oce como !e!go de
%u!. Cua%&o m*s r*pido es el bus$ m*s impor&a%&e es el efec&o del ses!o de bus.
O&ro problema ue sur!e al hacer m*s r*pido u% bus es ue se )uel)e i%compa&ible co% lo
e5is&e%&e. Las &ar(e&as a%&i!uas dise'adas para el bus m*s le%&o %o fu%cio%a% co% el %ue)o.
Bacer obsole&as las &ar(e&as )ie(as po%e de mal humor &a%&o a los due'os de las &ar(e&as como a
sus fabrica%&es. Por ello$ la es&ra&e!ia usual para me(orar el desempe'o es a'adir m*s l,%eas de
da&os$ al!o a%*lo!o a lo ue se mues&ra e% la fi!ura 303>. 3i% embar!o$ como era de esperarse$
es&e crecimie%&o i%creme%&al %o produce u% dise'o claro al fi%al. La ID# PC y sus sucesoras$
por e(emplo$ pasaro% de ? l,%eas de da&os a -> y lue!o a 31$ co% pr*c&icame%&e el mismo bus.
Para ali)iar el problema de los buses e5cesi)ame%&e a%chos$ al!u%os dise'adores op&a%
por usar u% %u! muti"exado. E% es&e dise'o$ e% lu!ar de &e%er l,%eas de direccio%es y de
da&os por separado$ hay$ por e(emplo$ 31 l,%eas para ambos$ direccio%es y da&os. Al pri%cipio
de u%a operaci2% de bus las l,%eas se usa% para la direcci2%9 m*s adela%&e$ se usa% para da&os.
E% el caso de u%a escri&ura e% memoria$ por e(emplo$ es&o implica ue las l,%eas de direcci2%
debe% co%fi!urarse y propa!arse a la memoria a%&es de ue los da&os pueda% colocarse e% el
bus. Co% l,%eas separadas$ la direcci2% y los da&os puede% e%)iarse al mismo &iempo. La
mul&iple5i2% de las l,%eas reduce la a%chura 7y el cos&o8 del bus$ pero hace m*s le%&o al
sis&ema. Los dise'adores &ie%e% ue sopesar cuidadosame%&e &odas es&as opcio%es al &omar sus
decisio%es.
3.4.4 .em"ori/acin de %u!
Los buses se puede% di)idir e% dos ca&e!or,as se!+% su &empori4aci2%. 6% %u! !incrnico
&ie%e u%a l,%ea alime%&ada por u% oscilador de cris&al. La se'al de es&a l,%ea co%sis&e e% u%a
o%da cuadrada cuya frecue%cia !e%eralme%&e es&* e%&re < #B4 y -.. #B4. Todas las ac&i)i0
dades del bus &arda% u% %+mero e%&ero de es&os ciclos$ llamados cico! de %u!. El o&ro &ipo de
bus$ el %u! a!incrnico$ %o &ie%e u% relo( maes&ro. Los ciclos de bus puede% &e%er la lo%!i&ud
ue se reuiera y %o &ie%e ue ser la misma e%&re &odos los pares de disposi&i)os. A co%&i%ua0
ci2% e5ami%aremos los dos &ipos de buses.
Bu!e! !incrnico!
Como e(emplo del fu%cio%amie%&o de u% bus si%cr2%ico$ co%sidere la &empori4aci2% de la
fi!ura 303H7a8. E% es&e e(emplo$ usaremos u% relo( de =. #B4$ lo ue da u% ciclo de bus de
1< %s. 3i bie% es&o podr,a parecer al!o le%&o e% comparaci2% co% las )elocidades de CP6
de <.. #B4 y m*s$ pocos buses de PC e5is&e%&es so% mucho m*s r*pidos. Por e(emplo$ el bus
->.
EL NIVEL DE LOGICA DIGITAL CAP. 3
I3A ue se usa e% &odas las PC basadas e% I%&el opera a ?.33 #B4$ e i%cluso el popular bus
PCI por lo re!ular opera a 33 #B4 o bie% >> #B4. Ca e5plicamos las ra4o%es por las ue los
buses ac&uales so% le%&os; problemas &/c%icos de dise'o como el ses!o de bus$ y la %ecesidad
de compa&ibilidad co% modelos a%&eriores.
E% %ues&ro e(emplo supo%dremos &ambi/% ue u%a lec&ura de la memoria &arda =. %s
desde el mome%&o e% ue la direcci2% es es&able. Como )eremos e% bre)e$ co% es&os
par*me&ros se reuiere% &res ciclos de bus para leer u%a palabra. El primer ciclo i%icia e% el
fla%co asce%de%&e de T
-
y el &ercero &ermi%a e% el fla%co asce%de%&e de T
=
$ como se mues&ra
e% la fi!ura. Obser)e ue %i%!u%o de los fla%cos asce%de%&es o desce%de%&es se dibu(2
)er&ical$ porue %i%!u%a se'al el/c&rica puede cambiar su )alor e% u% &iempo cero. E% es&e
e(emplo supo%dremos ue u%a se'al &arda - %s e% cambiar. Las l,%eas de relo($ ADD"E33
7direcci2%8$ DATA 7da&os8$ #"EM 7solici&ud de memoria8$ "D 7leer8 y GAIT 7esperar8 aparece%
e% la misma escala de &iempo.
El i%icio de TI es&* defi%ido por el fla%co asce%de%&e del relo(. Ca i%iciado T
-
la$CP6
coloca la direcci2% de la palabra ue uiere e% las l,%eas de direcci2%. Pues&o ue la direcci2%
%o es u% )alor i%di)idual$ como el relo($ %o podemos mos&rarlo como u%a sola l,%ea e% la
fi!ura9 e% )e4 de ello$ se mues&ra como dos l,%eas$ co% u% cruce e% el mome%&o e% ue cambia
la direcci2%. Adem*s$ el sombreado pre)io al cruce i%dica ue el )alor a%&es del cruce %o es
impor&a%&e. 6&ili4a%do la misma co%)e%ci2% de sombreado$ )emos ue el co%&e%ido de las
l,%eas de da&os %o es si!%ifica&i)o si%o has&a ya bie% e%&rado T
3
.
6%a )e4 ue las l,%eas de direcci2% ha% &e%ido &iempo de es&abili4arse e% sus %ue)os
)alores$ se aser&a% #"EM y "D. La primera i%dica ue se es&* accedie%do a la memoria 7%o a
u% disposi&i)o de E:38$ y la se!u%da se habili&a si se &ra&a de u%a lec&ura y se deshabili&a si se
&ra&a de u%a escri&ura. Pues&o ue la operaci2% de memoria &arda =. %s despu/s de ue la
direcci2% es es&able 7ya i%iciado el primer ciclo de relo(8$ %o puede proporcio%ar los da&os
solici&ados dura%&e T
1
. Para a)isarle a la CP6 ue %o los espere$ la memoria habili&a la l,%ea
GATT al pri%cipio de T
1
. Es&a acci2% i%ser&ar* e!tado! de e!"era 7ciclos de bus e5&ra8 has&a
ue la memoria &ermi%e y deshabili&e GAIT. E% %ues&ro e(emplo se i%ser&2 u% es&ado de espera
7T
1
8 porue la memoria es demasiado le%&a. Al pri%cipio de T
3
$ cua%do la memoria es&* se!ura
de ue &e%dr* los da&os dura%&e el ciclo e% curso$ deshabili&a GAIT.
Dura%&e la primera mi&ad de T
3
la memoria coloca los da&os e% las l,%eas de da&os. E% el
fla%co desce%de%&e de T
3
la CP6 habili&a 7es decir$ lee8 las l,%eas de da&os y almace%a el )alor
e% u% re!is&ro i%&er%o. Despu/s de leer los da&os$ la CP6 i%)alida #"EM y "D. 3i es %ecesario$
se puede i%iciar o&ro ciclo de memoria e% el si!uie%&e fla%co asce%de%&e del relo(.
E% la especificaci2% de &empori4aci2% de la fi!ura 303H7b8 se aclara% ocho s,mbolos ue
ocurre% e% el dia!rama de &empori4aci2%. T
AD
$ por e(emplo$ es el i%&er)alo de &iempo e%&re el
fla%co asce%de%&e del relo( T$ y el es&ablecimie%&o de las l,%eas de direcci2%. 3e!+% la espe0
cificaci2% de &empori4aci2%$ T
AD
N -- %s. Es&o implica ue el fabrica%&e de la CP6 !ara%&i4a
ue dura%&e cualuier ciclo de lec&ura la CP6 producir* la direcci2% ue se )a a leer e% u%
&iempo de -- %s despu/s del pu%&o medio del fla%co asce%de%&e de T
-
.
Las especificacio%es de &empori4aci2% &ambi/% reuiere% ue los da&os es&/% dispo%ibles
e% las l,%eas de da&os al me%os T
D3
7< %s8 a%&es del fla%co desce%de%&e de T
3
$ para ue
&e%!a% &iempo de es&abili4arse a%&es de ue la CP6 habili&e su e%&rada. La combi%aci2% de
->-
3EC. 3.= CBIP3 DE CP6 C D63E3
1!2
Figura 303H. 7a8 Tempori4aci2% de lec&ura e% u% bus si%cr2%ico$ 7b8
Especificaci2% de al!u%os &iempos cr,&icos.
res&riccio%es sobre T
AD
y T
D3
implica ue$ e% el peor de los casos$ la memoria s2lo dispo%dr*
de >1.< 0--0< O =>.< %s desde el mome%&o e% ue apare4ca la direcci2% has&a ue &e%!a ue
producir los da&os. Pues&o ue bas&a% =. %s$ au% e% el peor de los casos$ u%a memoria de =. %s
siempre puede respo%der dura%&e T
3
. 6%a memoria de <. %s$ e% cambio$ &e%dr,a ue i%ser&ar
u% se!u%do es&ado de espera y respo%der dura%&e T
=
.
Smbolo Parmetro Mn Ma Unidad
.AD Retraso %e sali%a %e %ireccin 33 ns
.ML Direccin esta!le antes %e MRE4 5 ns
.M Retraso %e MRE4 %es%e el 0lanco %esc# en .3 6 ns
.RL Retraso %e RD %es%e el 0lanco %esc7 %e O en O 6 ns
.DS .iempo %e preparacin %e %atos antes %el 0lanco %esc7 %e O 8 ns
.M9 Retraso %e MRE4 %es%e el 0lanco %se7 %e O en 3: 6 ns
.R9 Retraso %e RD %es%e el 0lanco %se7 %e O en 3: 6 ns
.D9 .iempo %e retencin %e %atos %es%e la %esha!ilitacin %e RD ; ns
->1
EL NIVEL DE LOGICA DIGITAL CAP. 3
La especificaci2% de &empori4aci2% !ara%&i4a adem*s ue la direcci2% es&ar* preparada
al me%os > %s a%&es de ue se habili&e #"EM. Es&e &iempo puede ser impor&a%&e si #"EM
co%&rola la selecci2% de chip e% la memoria$ porue al!u%as memorias reuiere% u% &iempo de
preparaci2% de la direcci2% pre)io a la selecci2% del chip. Es ob)io ue el dise'ador del
sis&ema %o debe esco!er u% chip de memoria ue reuiera u% &iempo de preparaci2% de -. %s.
Las res&riccio%es sobre T
#
y T
"L
implica% ue &a%&o #"EM como "D se aser&ar*% e% u%
pla4o de ? %s despu/s del relo( desce%de%&e TI. E% el peor de los casos$ el chip de memoria
&e%dr* s2lo 1< @ 1< 0 ? 0 < O 3H %s despu/s de la aserci2% de #"EM y "D para colocar sus da&os
e% el bus. Es&a res&ricci2% es adicio%al respec&o 7e i%depe%die%&e8 del i%&er)alo de =. %s ue
se reuiere despu/s de ue la direcci2% se es&abili4a.
T#B y T"B %os dice% cu*%&o &arda% #"EM y "D e% deshabili&arse u%a )e4 ue se ha
habili&ado la e%&rada de los da&os. Por +l&imo$ T
DB
%os dice cu*%&o &iempo la memoria debe
ma%&e%er los da&os e% el bus despu/s de ue "D se ha deshabili&ado. E% lo ue a %ues&ra CP6
de e(emplo co%cier%e$ la memoria puede ui&ar los da&os del bus &a% pro%&o como "D se ha
deshabili&ado9 si% embar!o$ e% al!u%as CP6 reales los da&os debe% ma%&e%erse es&ables du0
ra%&e u% &iempo cor&o despu/s de eso.
Cabe se'alar ue la fi!ura 303H es u%a )ersi2% muy simplificada de las res&riccio%es de
&empori4aci2% reales. E% la pr*c&ica siempre se especifica% muchos m*s &iempos cr,&icos. No
obs&a%&e$ es&o da cier&a idea de c2mo fu%cio%a u% bus si%cr2%ico.
Como +l&imo pu%&o ue )ale la pe%a me%cio%ar es ue las se'ales de co%&rol puede% ser
asi!%adas$ como al&as o ba(as. Compe&e a los dise'adores del bus de&ermi%ar u/ es lo mas
co%)e%ie%&e$ pero la elecci2% es ese%cialme%&e arbi&raria. 6%o puede co%siderarlo como u%
eui)ale%&e de hardPare de la opci2% de u% pro!ramador para represe%&ar bloues de disco
libres e% u% mapa de bi&s como ceros versus u%os.
Bu!e! a!incrnico!
Au%ue es f*cil &raba(ar co% buses si%cr2%icos !racias a sus i%&er)alos de &iempo discre&os$
&ambi/% &ie%e% cier&os problemas. Por e(emplo$ &odo fu%cio%a e% m+l&iplos del relo( del bus.
3i u%a CP6 y u%a memoria puede% comple&ar u%a &ra%sfere%cia e% 3.- ciclos$ &e%dr*% ue
prolo%!arlo a =.. porue es&*% prohibidas las fraccio%es de ciclo.
Peor a+%$ u%a )e4 ue se ha esco!ido u% ciclo de bus$ y ue se ha% co%s&ruido &ar(e&as de
memoria y de E:3 para /l$ es dif,cil apro)echar me(oras fu&uras e% la &ec%olo!,a. Por e(emplo$
supo%!a ue$ u%os cua%&os a'os despu/s de co%s&ruirse el sis&ema de la fi!ura 303H$ sale% al
mercado memorias co% &iempos de acceso de 1. %s e% lu!ar de =. %s. Ca %o ser,a %ecesario el
es&ado de espera$ y la m*ui%a &raba(ar,a m*s r*pidame%&e. Ahora supo%!a ue aparece%
memorias de -. %s. El desempe'o del sis&ema %o me(orar,a$ porue el &iempo m,%imo para
u%a lec&ura es de 1 ciclos co% es&e dise'o.
E5presa%do es&e hecho e% &/rmi%os u% poco difere%&es$ si u% bus si%cr2%ico &ie%e u%a
colecci2% he&ero!/%ea de disposi&i)os$ al!u%os r*pidos y o&ros le%&os$ el bus &ie%e ue a(us0
&arse al m*s le%&o$ y los r*pidos %o podr*% apro)echar &odo su po&e%cial.
->3
3EC. 3.= CBIP3 DE CP6 C D63E3
Figura 3-30. Fu%cio%amie%&o de u% bus asi%cr2%ico.
La &ec%olo!,a mi5&a puede ma%e(arse cambia%do a u% bus asi%cr2%ico$ es decir$ u%o
ue %o &e%!a relo( maes&ro$ como el de la fi!ura 303?. E% lu!ar de )i%cular &odo co% el
relo($ u%a )e4 ue el amo del bus ha habili&ado la direcci2%$ #"EM$ "D y &odo lo dem*s ue
%ecesi&e habili&ar$ habili&a u%a se'al especial ue llamaremos #3CN 7si%cro%i4aci2% de
amo$ Master SYNchronization). Cua%do el escla)o percibe es&o$ reali4a su &raba(o lo m*s
r*pidame%&e ue puede. Cua%do &ermi%a$ habili&a 33CN 7si%cro%i4aci2% de escla)o$ Slave
SYNchronization).
Ta% pro%&o como el amo reco%oce ue se habili&2 33CN$ sabe ue los da&os es&*% dispo%i0
bles$ as, ue los almace%a y lue!o deshabili&a las l,%eas de direcci2% (u%&o co% #"EM$ "D y
#3CN. Cua%do el escla)o de&ec&a la deshabili&aci2% de #3CN$ sabe ue el ciclo se comple&2
y deshabili&2 33CN$ co% lo ue es&amos o&ra )e4 e% la si&uaci2% ori!i%al$ co% &odas las se'ales
deshabili&adas$ espera%do el si!uie%&e amo.
Los dia!ramas de &empori4aci2% de buses asi%cr2%icos 7y a )eces &ambi/% los
si%cr2%icos8 u&ili4a% flechas para i%dicar causa y efec&o$ como e% la fi!ura 303?. La
habili&aci2% de #3CN hace ue las l,%eas de da&os se habili&e% y &ambi/% hace ue el escla)o
habili&e 33CN. La habili&aci2% de 33CN$ a su )e4$ causa la deshabili&aci2% de las l,%eas de
direcci2%$ #"EM$ "D y #3CN. Por +l&imo$ la deshabili&aci2% de #3CN causa la deshabili&aci2%
de 33CN$ co% lo ue &ermi%a la lec&ura.
6% co%(u%&o de se'ales ue i%&erac&+a de es&a ma%era se llama !audo com"eto. La
par&e fu%dame%&al co%sis&e e% cua&ro sucesos;
3# Babili&ar #3CN.
1. Babili&ar K33CN como respues&a a #3CN.
3. Deshabili&ar #3CN como respues&a a 33CN.
=. Deshabili&ar 33CN como respues&a a la i%)alidaci2% de #3CN.
Debe ser ob)io ue los saludos comple&os so% i%depe%die%&es de la &empori4aci2%. Cada
suceso es causado por u% suceso a%&erior$ %o por u% pulso de relo(. 3i u% par amo0escla)o
dado es le%&o$ %o afec&ar* e% absolu&o a u% par amo0escla)o subsecue%&e ue sea mucho m*s
->=
EL NIVEL DE LOGICA DIGITAL CAP. 3
r*pido.
-><
3EC. 3.= CBIP3 DE CP6 C D63E3
La )e%&a(a de u% bus asi%cr2%ico ha uedado clara$ pero el hecho es ue casi &odos los
buses so% si%cr2%icos. La ra42% es ue es m*s f*cil co%s&ruir u% sis&ema si%cr2%ico. La CP6
simpleme%&e habili&a sus se'ales$ y la memoria simpleme%&e reaccio%a. No hay re&roalime%0
&aci2% 7causa y efec&o8$ pero si los compo%e%&es se esco!iero% debidame%&e$ &odo fu%cio%ar*
bie% si% saludos. Adem*s$ e5is&e u%a i%)ersi2% co%siderable e% la &ec%olo!,a de los buses
si%cr2%icos.
3.4.( ,r%itra1e de %u!
Bas&a ahora$ hemos supues&o &*ci&ame%&e ue s2lo hay u% co%&rolador de bus$ la CP6. E%
realidad$ los chips de E:3 &ie%e% ue co%)er&irse e% co%soladores de bus para leer y escribir
e% la memoria$ y &ambi/% para causar i%&errupcio%es. Los coprocesadores &ambi/% podr,a%
%ecesi&ar co%)er&irse e% co%&roladores de bus. E%&o%ces sur!e la pre!u%&a; KIMu/ sucede si
dos o m*s disposi&i)os uiere% co%)er&irse e% co%&rolador del bus al mismo &iempoJ La res0
pues&a es ue se reuiere al!+% meca%ismo de ar%itra1e de %u! para e)i&ar el caos.
Los meca%ismos de arbi&ra(e puede% ser ce%&rali4ados o desce%&rali4ados. Co%sidere0
mos primero el arbi&ra(e ce%&rali4ado. 6%a forma especialme%&e se%cilla de arbi&ra(e ce%&rali0
4ado se mues&ra e% la fi!ura 303L7a8. E% es&e esuema$ u% solo arbi&ro de bus de&ermi%a ui/%
si!ue. #uchas CP6 &ie%e% el arbi&ro i%&e!rado a su chip$ pero a )eces se reuiere u% chip
apar&e. El bus co%&ie%e u%a sola l,%ea de solici&ud de O" alambrado ue u%o o m*s disposi&i 0
)os puede% habili&ar e% cualuier mome%&o. El arbi&ro %o &ie%e forma de saber cu*%&os dispo0
si&i)os solici&aro% el bus. Las +%icas ca&e!or,as ue puede dis&i%!uir so%; hay solici&udes y %o
hay solici&udes.
Cua%do el arbi&ro de&ec&a u%a solici&ud de bus$ emi&e u%a co%cesi2% habili&a%do la
l,%ea de o&or!amie%&o del bus. Es&a l,%ea es&* co%ec&ada a &odos los disposi&i)os de E:3 e%
serie$ como u%a serie bara&a de luces de Na)idad. Cua%do el disposi&i)o ue es&* m*s cerca%o
f,sicame%&e al arbi&ro percibe la co%cesi2%$ )erifica si /l emi&i2 u%a solici&ud. 3i lo hi4o$
se apodera del bus pero %o propa!a la co%cesi2% l,%ea aba(o. 3i %o hi4o u%a solici&ud$
propa!a la co%cesi2% al si!uie%&e disposi&i)o e% la l,%ea$ ue se compor&a de la misma
ma%era$ y as, has&a ue al!+% disposi&i)o acep&a la co%cesi2% y se apodera del bus. Es&e
esuema se llama encadenamiento circuar) y &ie%e la propiedad de ue e% la pr*c&ica
asi!%a prioridades a los disposi&i)os co% base e% su cerca%,a al arbi&ro. El disposi&i)o m*s
cerca%o !a%a.
Para supedi&ar las prioridades impl,ci&as basadas e% la dis&a%cia al arbi&ro$ muchos buses
&ie%e% )arios %i)eles de prioridad. Para cada %i)el de prioridad hay u%a l,%ea de solici&ud de
bus y u%a l,%ea de o&or!amie%&o de bus. El bus de la fi!ura 303L7b8 &ie%e dos %i)eles$ - y 1
7los buses reales a me%udo &ie%e% =$ ? o -> %i)eles8. Cada disposi&i)o se co%ec&a a u%o de los
%i)eles de solici&ud de bus$ y los disposi&i)os para los ue el &iempo es m*s cr,&ico se co%ec&a%
a los de m*s al&a prioridad. E% la fi!ura 303L7b8 los disposi&i)os -$ 1 y = usa% la prioridad -
mie%&ras ue los disposi&i)os 3 y < usa% la prioridad 1.
3i hay solici&udes e% )arios %i)eles de prioridad al mismo &iempo$ el arbi&ro emi&e u%a
co%cesi2% s2lo e% el de m*s al&a prioridad. E%&re disposi&i)os co% la misma prioridad se usa el
e%cade%amie%&o circular. E% la fi!ura 303L7b8$ si hay co%flic&os$ el disposi&i)o 1 )e%ce al
->>
EL NIVEL DE LOGICA DIGITAL CAP. 3
Figura 3-32. 7a8 Arbi&ro de bus ce%&rali4ado de u% %i)el co% e%cade%amie%&o
circular$ 7b8 El mismo arbi&ro$ pero co% dos %i)eles.
disposi&i)o =$ el cual )e%ce al 3. El disposi&i)o < &ie%e la prioridad m*s ba(a porue es&* al
fi%al de la cade%a de m*s ba(a prioridad.
Por cier&o$ %o es &/c%icame%&e %ecesario co%ec&ar la l,%ea de o&or!amie%&o de bus del
%i)el 1 e% serie a los disposi&i)os - y 1$ porue %o puede% hacer solici&udes e% ese %i)el. No
obs&a%&e$ por comodidad de impleme%&aci2%$ se co%ec&a% &odas las l,%eas de o&or!amie%&o a
&odos los disposi&i)os$ e% lu!ar de co%ec&ar u% cableado especial ue depe%da de cu*l dispo0
si&i)o &ie%e cu*l prioridad.
Al!u%os arbi&ros &ie%e% u%a &ercera l,%ea ue u% disposi&i)o habili&a cua%do acep&2 u%a
co%cesi2% y se apoder2 del bus. Ta% pro%&o como el disposi&i)o habili&a es&a l,%ea de acuse$
las l,%eas de solici&ud y de o&or!amie%&o puede% deshabili&arse. El resul&ado es ue o&ros
disposi&i)os puede% solici&ar el bus mie%&ras el primer disposi&i)o es&* usa%do el bus. Para
cua%do &ermi%a la &ra%sfere%cia ac&ual e% el bus$ ya se ha seleccio%ado el si!uie%&e co%&rola0
dor de bus$ el cual puede i%iciar &a% pro%&o como se deshabili&a la l,%ea de acuse$ mome%&o e%
el cual se puede i%iciar la si!uie%&e ro%da de arbi&ra(e. Es&e esuema reuiere u%a l,%ea de bus
e5&ra y m*s l2!ica e% cada disposi&i)o$ pero apro)echa me(or los ciclos de bus.
E% sis&emas e% los ue la memoria es&* e% el bus pri%cipal$ la CP6 debe compe&ir co%
&odos los disposi&i)os de E:3 por el bus e% casi cada ciclo. 6%a soluci2% com+% para es&a
si&uaci2% es dar a la CP6 la prioridad m*s ba(a$ de modo ue reciba el bus s2lo cua%do %adie
m*s lo uiere. La idea au, es ue la CP6 siempre puede esperar$ pero los disposi&i)os de E:3
co% frecue%cia debe% aduirir el bus r*pidame%&e o perder da&os de e%&rada. Los discos ue
!ira% a al&a )elocidad %o puede% esperar. Es&e problema se e)i&a e% muchas compu&adoras
moder%as coloca%do la memoria e% u% bus dis&i%&o del de los disposi&i)os de E:3$ para ue
->H
3EC. 3.= CBIP3 DE CP6 C D63E3
/s&os %o &e%!a% ue compe&ir por el acceso al bus.
O&ra posibilidad es el arbi&ra(e de bus desce%&rali4ado. Por e(emplo$ u%a compu&adora
podr,a &e%er -> l,%eas de solici&ud de bus por prioridades. Cua%do u% disposi&i)o uiere usar
el bus$ habili&a su l,%ea de solici&ud. Todos los disposi&i)os mo%i&orea% &odas las l,%eas de
solici&ud$ as, ue al &/rmi%o de cada ciclo de bus cada disposi&i)o sabe si fue el solici&a%&e co%
m*s al&a prioridad y por &a%&o si &ie%e permiso de usar el bus dura%&e el si!uie%&e ciclo. E%
comparaci2% co% el arbi&ra(e de bus ce%&rali4ado$ es&e m/&odo de arbi&ra(e reuiere m*s l,%eas
de bus pero e)i&a los posibles cos&os del arbi&ro9 adem*s$ limi&a el %+mero de disposi&i)os$
ue %o puede ser mayor ue el %+mero de l,%eas de solici&ud.
O&ro &ipo de arbi&ra(e de bus desce%&rali4ado$ ue se mues&ra e% la fi!ura 30=.$ s2lo usa
&res l,%eas$ por m*s disposi&i)os ue es&/% prese%&es. La primera l,%ea de bus es u%a de O"
alambrado para solici&ar el bus. La se!u%da se llama D63C 7ocupado8 y es aser&ada por el amo
de bus )i!e%&e. La &ercera l,%ea sir)e para arbi&rar el bus$ y se co%ec&a e% serie a &odos los
disposi&i)os. La cabe4a de es&a cade%a se ma%&ie%e habili&ada co%ec&*%dola a la fue%&e de
alime%&aci2% de < )ol&s.
Figura 3-43. Arbi&ra(e de bus desce%&rali4ado.
3i %i%!+% disposi&i)o uiere el bus$ la l,%ea de arbi&ra(e aser&ada se propa!a por &odos
los disposi&i)os. 3i u% disposi&i)o uiere aduirir el bus$ primero )e si el bus es&* i%ac&i)o y la
se'al de arbi&ra(e ue es&* recibie%do$ IN$ es&* aser&ada. 3i IN es&* i%)alidada$ el disposi&i)o %o
podr* co%)er&irse e% co%&rolador del bus e i%)alidar* our. E% cambio$ si IN es&* habili&ada$ el
disposi&i)o deshabili&ar* our. Es&o har* ue su )eci%o cade%a aba(o )ea IN deshabili&ado y
deshabili&e su O6T. As,$ &odos los disposi&i)os cade%a aba(o )e% IN deshabili&ado y por &a%&o
deshabili&a% O6T. Al fi%al$ s2lo u% disposi&i)o &e%dr* IN habili&ado y O6T deshabili&ado. Es&e
disposi&i)o se co%)er&ir* e% el co%&rolador del bus$ habili&ar* D63C y O6T$ e i%iciar* su
&ra%sfere%cia.
3i lo pe%samos$ )eremos ue el disposi&i)o m*s a la i4uierda ue uiera el bus lo reci0
bir*. As,$ es&e esuema es similar al arbi&ra(e de cade%a circular ori!i%al$ e5cep&o ue %o &ie%e
arbi&ro$ por lo ue es m*s eco%2mico$ m*s r*pido$ y %o es )ul%erable a u% fallo del arbi&ro.
3.4.- *"eracione! de %u!
Bas&a ahora$ s2lo hemos )is&o ciclos de bus ordi%arios$ e% los ue u% co%&rolador 7!e%eral0
me%&e la CP68 lee desde u% escla)o 7!e%eralme%&e la memoria8 o escribe e% /l. De hecho$
e5is&e% )arios &ipos de ciclos de bus. A co%&i%uaci2% )eremos al!u%os de ellos.
Normalme%&e$ s2lo se &ra%sfiere u%a palabra a la )e4. 3i% embar!o$ cua%do se usa cach/$
->?
EL NIVEL DE LOGICA DIGITAL CAP. 3
es deseable &raer &oda u%a l,%ea de cach/ 7por e(emplo$ -> palabras co%secu&i)as de 31 bi&s8 a
la )e4. E% muchos casos es posible efec&uar &ra%sfere%cias de bloues co% mayor eficie%cia
ue &ra%sfere%cias i%di)iduales sucesi)as. Cua%do se i%icia u%a lec&ura de bloue$ el co%&ro0
lador del bus le dice al escla)o cu*%&as palabras debe &ra%sferir$ por e(emplo$ coloca%do la
cue%&a de palabras e% las l,%eas de da&os dura%&e TQ. E% lu!ar de de)ol)er s2lo u%a palabra$ el
escla)o produce u%a palabra dura%&e cada ciclo has&a a!o&ar la cue%&a. La fi!ura 30=- mues&ra
u%a )ersi2% modificada de la fi!ura 303H7a8$ pero ahora co% u%a se'al adicio%al$ DLOCR$ ue
se habili&a para i%dicar ue se solici&a u%a &ra%sfere%cia de bloue. E% es&e e(emplo$ la lec&ura
de u% bloue de = palabras &arda > ciclos e% lu!ar de -1.
Figura 3-4#. Tra%sfere%cia de u% bloue.
Tambi/% e5is&e% o&ras clases de ciclos de bus. Por e(emplo$ e% u% sis&ema
mul&iprocesador ue &ie%e dos o m*s CP6 e% el mismo bus$ a me%udo es %ecesario ase!urarse
de ue s2lo u%a CP6 a la )e4 u&ilice al!u%a es&ruc&ura de da&os cr,&ica e% la memoria. 6%a
forma com+% de lo!rar es&o es &e%er u%a )ariable e% la memoria ue sea . cua%do %i%!u%a
CP6 es&/ usa%do la es&ruc&ura de da&os y - cua%do es&/ e% uso. 3i u%a CP6 uiere accesar a la
es&ruc&ura de da&os$ primero deber* leer la )ariable y si es .$ po%erla e% -. El problema es ue$
co% u% poco de mala suer&e$ dos CP6 podr,a% leerla e% ciclos de bus co%secu&i)os. 3i los dos
)e% ue la )ariable es .$ los dos la po%dr*% e% - y cada u%a creer* ue es la +%ica CP6 ue
es&* usa%do la es&ruc&ura de da&os. Es&a serie de sucesos lle)a al caos.
Para e)i&ar es&* si&uaci2%$ los sis&emas mul&iprocesador a me%udo &ie%e% u% ciclo de bus
especial de leer0modificar0escribir ue permi&e a cualuier CP6 leer u%a palabra de la memo0
ria$ i%speccio%arla y modificarla$ y escribirla de )uel&a e% la memoria$ &odo si% desocupar el
bus. Es&e &ipo de ciclo e)i&a ue las CP6 compe&idoras pueda% usar el bus y as, i%&erfiera% la
->L
3EC. 3.= CBIP3 DE CP6 C D63E3
operaci2% de la primera CP6.
O&ro &ipo impor&a%&e de ciclo de bus sir)e para ma%e(ar i%&errupcio%es. Cua%do la CP6
orde%a a u% disposi&i)o de E:3 hacer al!o$ !e%eralme%&e espera u%a i%&errupci2% u%a )e4 ue
se co%cluye el &raba(o. La se'ali4aci2% de la i%&errupci2% reuiere el bus.
Pues&o ue )arios disposi&i)os podr,a% uerer causar u%a i%&errupci2% simul&*%eame%&e$
sur!e% los mismos &ipos de problemas de arbi&ra(e ue &e%,amos co% los ciclos de bus ordi%a0
rios. La soluci2% usual es asi!%ar prioridades a los disposi&i)os$ y usar u% arbi&ro ce%&rali4ado
para dar prioridad a los disposi&i)os para los ue el &iempo es m*s cr,&ico. E5is&e% chips
co%&roladores de i%&errupcio%es es&*%dar y se usa% ampliame%&e. La ID# PC y &odas sus
sucesoras usa% el chip I%&el ?1<LA$ ue se ilus&ra e% la fi!ura 30=1.
Figura 3-42. 6so del co%&rolador de i%&errupcio%es ?1<LA.
Bas&a ocho chips co%&roladores de E:3 se puede% co%ec&ar direc&ame%&e a las ocho
e%&radas I"E 7solici&ud de i%&errupci2%$ Interrupt Request) del ?1<LA. Cua%do cualuiera de
es&os disposi&i)os desea causar u%a i%&errupci2%$ habili&a su l,%ea de e%&rada. Cua%do se
habili&a u%a o m*s e%&radas$ el ?1<LA habili&a INT 7INTerrupci2%8$ ue alime%&a direc&ame%&e
la &ermi%al de i%&errupci2% de la CP6. Cua%do la CP6 es&* e% co%dicio%es de a&e%der la
i%&errupci2%$ de)uel)e u% pulso al ?1<LA por INTA 7acuse de i%&errupci2%$ INTerrupt
Acknowlede). E% ese mome%&o el ?1<LA deber* especificar cu*l e%&rada caus2 la
i%&errupci2% coloca%do el %+mero de esa e%&rada e% el bus de da&os. Es&a operaci2% reuiere
u% ciclo de bus especial. Lue!o$ el hardPare de la CP6 u&ili4a ese %+mero como ,%dice de u%a
&abla de apu%&adores$ llamados )ec&ores de i%&errupci2%$ para e%co%&rar la direcci2% del
procedimie%&o ue debe e(ecu&ar para a&e%der la i%&errupci2%.
El ?1<LA co%&ie%e )arios re!is&ros ue la CP6 puede leer y escribir emplea%do ciclos
de bus ordi%arios y las l,%eas "D$ G" 7escribir$ G"i&e8$ C3 y Ao. 6%a )e4 ue el sof&Pare ha
ma%e(ado la i%&errupci2% y es&* lis&o para recibir la si!uie%&e$ escribe u% c2di!o especial e%
u%o de los re!is&ros$ y es&o hace ue el ?1<LA deshabili&e INT$ a me%os ue &e%!a o&ra
i%&errupci2% pe%die%&e. Es&os re!is&ros &ambi/% puede% modificarse para colocar el ?1<LA e%
u%o de )arios modos$ e%mascarar u% co%(u%&o de i%&errupcio%es y habili&ar o&ras fu%cio%es.
Cua%do es&*% prese%&es m*s de ocho disposi&i)os de E:3$ los ?1<LA puede% co%ec&arse
e% cascada. E% el caso m*s e5&remo$ las ocho e%&radas puede% co%ec&arse a las salidas de
-H.
EL NIVEL DE LOGICA DIGITAL CAP. 3
ocho ?1<LA adicio%ales$ lo ue permi&e &e%er has&a >= disposi&i)os de S:3 e% u%a red de
i%&errupcio%es de dos e&apas. El ?1<LA &ie%e u%as cua%&as l,%eas dedicadas a ma%e(ar es&a
co%e5i2% e% cascada$ ue hemos omi&ido para simplificar.
3i bie% es&amos muy le(os de a!o&ar el &ema del dise'o de buses$ el ma&erial a%&erior
deber* bas&ar para e%&e%der los fu%dame%&os del fu%cio%amie%&o de los buses y la i%&eracci2%
e%&re ellos y las CP6. Pasemos ahora de lo !e%eral a lo espec,fico y e5ami%emos al!u%os
e(emplos de CP6 reales y sus buses.
3.( E4E5P6*S DE CHIPS DE CPU
E% es&a secci2% e5ami%aremos los chips Pe%&ium II$ 6l&ra3PA"C II y picoAa)a II co% cier&o
de&alle e% el %i)el de hardPare.
3.(.# E Pentium II
El Pe%&ium II es u% desce%die%&e direc&o de la CP6 ?.?? ue se us2 e% la ID# PC ori!i%al.
Au%ue el Pe%&ium II co% sus H.< millo%es de &ra%sis&ores es&* muy le(os del ?.?? co% 1L$...
&ra%sis&ores$ es &o&alme%&e compa&ible co% el ?.?? y puede e(ecu&ar pro!ramas bi%arios para
el ?.?? si% modificaci2% 7adem*s de pro!ramas para &odos los procesadores i%&ermedios8.
Desde el pu%&o de )is&a del sof&Pare$ el Pe%&ium II es u%a m*ui%a de 31 bi&s comple&a.
Tie%e la misma I3A e% el %i)el de usuario ue los chips ?.3?>$ ?.=?>$ Pe%&ium y Pe%&ium
Pro$ i%cluidos los mismos re!is&ros$ las mismas i%s&ruccio%es y u%a impleme%&aci2% comple&a
e% el chip del es&*%dar de pu%&o flo&a%&e IEEE H<=.
Desde el pu%&o de )is&a del hardPare$ el Pe%&ium II es al!o m*s porue puede
direccio%ar >= GD de memoria f,sica y puede &ra%sferir da&os de y a la memoria e% u%idades
de >= bi&s. Au%ue el pro!ramador %o puede obser)ar es&as &ra%sfere%cias de >= bi&s$ hace%
ue la m*ui%a sea m*s r*pida ue u%a m*ui%a de 31 bi&s pura.
I%&er%ame%&e$ e% el %i)el de microarui&ec&ura$ el Pe%&ium II es b*sicame%&e u% Pe%&ium
Pro al ue se a'adiero% las i%s&ruccio%es ##E. Las i%s&ruccio%es e% el %i)el de I3A se
ob&ie%e% de la memoria co% mucha a%&icipaci2% y se descompo%e% e% microoperacio%es &ipo
"I3C. Es&as microoperacio%es se almace%a% e% u% buffer$ y &a% pro%&o como u%a dispo%e
de los recursos %ecesarios para e(ecu&arse$ puede i%iciarse. 3e puede% i%iciar )arias mi0
crooperacio%es e% el mismo ciclo$ lo ue co%)ier&e al Pe%&ium II e% u%a m*ui%a super0
escalar.
El Pe%&ium II &ie%e u%a cach/ de dos %i)eles. Bay u% par de caches e% el chip$ -> RD
para i%s&ruccio%es y -> RD para da&os$ adem*s de u%a cach/ u%ificada de se!u%do %i)el de
<-1 RD. El &ama'o de la l,%ea de cach/ es de 31 by&es. La cach/ de se!u%do %i)el se e(ecu&a a
la mi&ad de la frecue%cia de relo( de la CP6. Bay relo(es de CP6 de 133 #B4 o m*s.
3e usa% dos buses e5&er%os primarios e% los sis&emas Pe%&ium 6$ ambos si%cr2%icos. El
bus de memoria sir)e para accesar la D"A# pri%cipal9 el bus PCI se usa para comu%icarse
co% los disposi&i)os de E:3. A )eces se co%ec&a u% bus de le!ado 7o sea$ a%&i!uo8 al bus de PCI
para poder co%ec&ar a /l disposi&i)os perif/ricos de &ec%olo!,a a%&erior.
-H-
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
6% sis&ema Pe%&ium II puede &e%er u%o o dos CP6 ue compar&e% u%a memoria com+%.
E% u% sis&ema de dos CP6$ e5is&e el peli!ro de ue si u%a palabra se lee y se coloca e% u%a
cach/$ y se modifica ah, si% ue se escriba de )uel&a e% la memoria$ si la o&ra CP6 &ra&a de
leer la palabra ob&e%dr* u% )alor i%correc&o. 3e i%cluye apoyo especial 7espio%a(e8 para e)i&ar
es&e problema.
6%a difere%cia impor&a%&e e%&re el Pe%&ium II y &odos sus predecesores es su
empaue&ado. Desde la ?.?? has&a el Pe%&ium Pro$ &odas las CP6 de I%&el era% chips
%ormales$ co% &ermi%ales e% los lados o la base ue se pod,a% co%ec&ar e% 42calos. E%
co%&ras&e$ el Pe%&ium II es&* pro)is&o de lo ue I%&el llama u% 3EC 7car&ucho de u%a sola
aris&a$ Sinle !de "artride). Como puede )erse e% la fi!ura 30=3$ u% 3EC es u%
e%capsulado de pl*s&ico rela&i)ame%&e !ra%de ue co%&ie%e la CP6$ la cach/ %i)el 1 y u%
co%ec&or de aris&a para e5por&ar las se'ales. El 3EC de Pe%&ium II &ie%e 1=1 co%ec&ores.
Figura 30=3. El paue&e 3EC del Pe%&ium II.
Au%ue si% duda I%&el &u)o sus mo&i)os para cambiar a es&e modelo de e%capsulado$
produ(o u% problema e% u%a dime%si2% ue (am*s pre)io. Al parecer$ muchos clie%&es &ie%e%
la cos&umbre de abrir sus compu&adoras para buscar el chip de CP6. E% los primeros Pe%&ium
II ue saliero% a la )e%&a$ los clie%&es %o pod,a% e%co%&rar la CP6 y se ue(aro% a !ra%des
)oces 7KQ#i compu&adora %o &ie%e CP6TK8. I%&el resol)i2 es&e problema pe!a%do u%a ima!e%
del chip de CP6 7e% realidad$ u% holo!rama8 e% la par&e dela%&era de &odos los 3EC ue se
dis&ribuyero% pos&eriorme%&e.
El co%&rol de e%er!,a es u% aspec&o impor&a%&e del Pe%&ium II. La ca%&idad de calor ue
se despre%de depe%de de la frecue%cia de relo($ pero es del orde% de 3.0<. Pa&&s. Es&a
ca%&idad es e%orme cua%do se &ra&a de u% chip de compu&adora. Para &e%er u%a idea de
c2mo se sie%&e% <. Pa&&s$ acerue su ma%o a u%a bombilla de <. Pa&&s 7si% &ocarla8 ue ha
es&ado e%ce%dida dura%&e u% ra&o. Por co%si!uie%&e$ el 3EC es&* co%fi!urado para acep&ar u%
-H1
EL NIVEL DE LOGICA DIGITAL CAP. 3
radiador de calor$ ue es %ecesario para disipar el calor !e%erado. Es&o implica ue cua%do
u% Pe%&ium II haya de(ado de ser +&il como CP6 siempre podr* usarse como es&ufa para
acampar.
3e!+% las leyes de la f,sica$ cualuier cosa ue emi&a !ra% ca%&idad de calor deber*
co%sumir mucha e%er!,a. E% u%a compu&adora por&*&il e% la ue la car!a de la ba&er,a es
limi&ada %o es deseable co%sumir mucha e%er!,a. Para subsa%ar es&e problema$ I%&el ha hecho
posible po%er a la CP6 a dormir cua%do es&* ociosa y e% u%a %arcolepsia profu%da cua%do
parece ue )a a es&ar ociosa dura%&e mucho &iempo. Cua%do la CP6 es&* e% el sue'o
profu%do$ los )alores de la cach/ y los re!is&ros se co%ser)a%$ pero el relo( y &odas las
u%idades i%&er%as se desac&i)a%. No se sabe si u% Pe%&ium II sue'a cua%do es&* profu%dame%&e
dormido.
6a conexin gica de terminae! de Pentium II
Los 1=1 co%ec&ores de aris&a del 3EC se usa% para -H. se'ales$ 1H co%e5io%es de po&e%cia 7a
difere%&es )ol&a(es8$ 3< &ierras y -. repues&os para uso fu&uro. Al!u%as de las se'ales l2!icas
emplea% dos o m*s &ermi%ales 7como la direcci2% de memoria solici&ada8$ as, ue s2lo hay <3
se'ales dis&i%&as. E% la fi!ura 30== se mues&ra la co%fi!uraci2% de co%e5i2% l2!ica de &ermi0
%ales #pinout) u% &a%&o simplificada. E% el lado i4uierdo de la fi!ura es&*% los seis !rupos
pri%cipales de se'ales del bus de memoria9 e% el lado derecho es&*% se'ales de di)ersos &ipos.
Los %ombres ue es&*% &o&alme%&e e% may+sculas so% los %ombres reales dados por I%&el a las
se'ales. Los dem*s so% %ombres colec&i)os de )arias se'ales relacio%adas.
I%&el emplea u%a co%)e%ci2% para asi!%ar %ombres ue es impor&a%&e e%&e%der. Dado
ue &odos los chips ac&uales se dise'a% co% compu&adoras$ es %ecesario poder represe%&ar los
%ombres de las se'ales como &e5&o A3CII. Es demasiado dif,cil usar &es&as para i%dicar las
se'ales ue se habili&a% e% %i)el ba(o$ por lo ue e% )e4$ de ello I%&el coloca el s,mbolo U
despu/s del %ombre. As,$ DP"I se e5presa como DP"IU. Como puede )erse e% la fi!ura$ casi
&odas las se'ales de Pe%&ium II se habili&a% e% %i)el ba(o.
E5ami%emos las se'ales$ come%4a%do co% las de bus. El primer !rupo de se'ales sir)e
para solici&ar el bus 7es decir$ efec&uar arbi&ra(e8. DP"IU permi&e a u% disposi&i)o hacer u%a
solici&ud de al&a prioridad$ ue &ie%e precede%cia respec&o a u%a %ormal. LOCRU permi&e a
u%a CP6 blouear el bus para e)i&ar ue la o&ra lo use a%&es de ue la primera &ermi%e.
6%a )e4 ue u%a CP6 u o&ro co%&rolador de bus se ha apropiado del bus$ puede prese%0
&ar u%a solici&ud u&ili4a%do el si!uie%&e !rupo de se'ales. Las direccio%es so% de 3> bi&s$
pero los &res bi&s de orde% ba(o siempre debe% ser O y por &a%&o %o se les asi!%a% l,%eas. Por
&a%&o$ AU s2lo &ie%e 33 l,%eas. Todas las &ra%sfere%cias so% de ? by&es$ ali%eadas a u%a
fro%&era de ? by&es. Co% 3> bi&s de direcci2%$ el m*5imo de memoria direccio%able es 1
3>
$ ue
es >= GD.
Cua%do u%a direcci2% se coloca e% el bus$ la se'al AD3U se habili&a para i%dicar al
ob(e&i)o 7o sea$ la memoria8 ue las l,%eas de direcci2% so% )*lidas. El &ipo de ciclo de bus
7por e(emplo$ leer u%a palabra o escribir u% bloue8 se coloca e% las l,%eas "EMU. Dos de las
se'ales de paridad pro&e!e% a AU y u%a pro&e!e a AD3U y "EMU. Las ci%co l,%eas de error so%
u&ili4adas por el escla)o para i%formar errores de paridad y por &odos los dem*s disposi&i)os
-H3
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
para i%formar de o&ros errores.
Figura 3-44. Co%e5i2% l2!ica de &ermi%ales del Pe%&ium II. Los %ombres e%
may+sculas so% los %ombres oficiales de I%&el para se'ales i%di)iduales. Los %ombres
e% may+sculas y mi%+sculas so% !rupos de se'ales relacio%adas o descripcio%es de
se'ales.
El !rupo de Espio%a(e se usa e% sis&emas mul&iprocesador para ue u%a CP6 pueda
a)eri!uar si u%a palabra ue %ecesi&a es&* e% la cach/ de la o&ra CP6. Describiremos la forma
de espiar del Pe%&ium II e% el cap,&ulo ?.
El !rupo "espues&a co%&ie%e se'ales ue el escla)o u&ili4a para e%)iar i%formes al amo
7co%&rolador8. "3U co%&ie%e el c2di!o de si&uaci2%. T"DCU i%dica ue el escla)o 7el ob(e&i)o8
es&* lis&o para acep&ar da&os del amo. Es&as se'ales &ambi/% &ie%e% )erificaci2% de paridad.
El +l&imo !rupo del bus sir)e para &ra%sferir realme%&e los da&os. DU sir)e para colocar
? by&es de da&os e% el bus. 6%a )e4 ue es&*% ah,$ s/ aser&a D"DCU para a%u%ciar su prese%cia.
D3DCU sir)e para decirle al mu%do ue el bus es&* ocupado.
"E3ETU sir)e para res&ablecer la CP6 e% caso de ocurrir u%a calamidad. El Pe%&ium II
puede co%fi!urarse de modo ue use las i%&errupcio%es i!ual ue el ?.?? 7para fi%es de com0
pa&ibilidad co% lo e5is&e%&e8 pero &ambi/% puede usar u% %ue)o sis&ema de i%&errupcio%es co%
u% disposi&i)o llamado ,PIC 7controador de interru"cione! "rograma%e a'an/ado$
Advanced $roramma%le Interrupt "ontroller).
-H=
EL NIVEL DE LOGICA DIGITAL CAP. 3
El Pe%&ium II puede operar a )arios )ol&a(es$ pero %ecesi&a saber cu*l. Las se'ales VID
sir)e% para seleccio%ar au&om*&icame%&e el )ol&a(e de la fue%&e de po&e%cia. Las se'ales de
Compa&ibilidad sir)e% para e%!a'ar a disposi&i)os a%&i!uos e% el bus ue pie%sa% ue es&*%
habla%do co% u% ?.??. El !rupo de Dia!%2s&ico co%&ie%e se'ales para probar y depurar sis&e0
mas .se!+% la %orma de prueba IEEE --=L.- ATAG. El !rupo de I%iciali4aci2% se ocupa de
arra%car el sis&ema #%ootin). El !rupo de Co%&rol de e%er!,a permi&e po%er a dormir a la
CP6 %ormal y profu%dame%&e. Por +l&imo$ el !rupo #iscel*%eo es u%a re)ol&ura de se'ales
ue i%cluye u%a ue la CP6 habili&a si su &empera&ura i%&er%a lle!a a -3.VC 71>>VF8. 3i u%a
CP6 alca%4a al!u%a )e4 es&a &empera&ura$ probableme%&e es&* so'a%do e% re&irarse y co%)er0
&irse e% u%a es&ufa para acampar.
Fia! de "roce!amiento en e %u! de memoria de Pentium II
Las CP6 moder%as como el Pe%&ium II so% mucho m*s r*pidas ue las memorias D"A#
moder%as. Para e)i&ar ue la CP6 muera de i%a%ici2% por fal&a de da&os$ es i%dispe%sable
ob&e%er u% re%dimie%&o m*5imo de la memoria. Por es&a ra42%$ el bus de memoria del
Pe%&ium II usa las filas de procesamie%&o$ y se puede% es&ar e(ecu&a%do has&a ocho
&ra%saccio%es de bus al mismo &iempo. Ca )imos el co%cep&o de filas de procesamie%&o e% el
cap,&ulo 1 e% el co%&e5&o de u%a CP6 co% filas de procesamie%&o 7)ea la fi!ura 10=8$ pero las
memorias &ambi/% puede% usarlos.
Para ello$ las solici&udes de memoria del Pe%&ium II$ llamadas &ra%saccio%es$ &ie%e% seis
e&apas;
-. La fase de arbi&ra(e de bus.
1. La fase de solici&ud.
3. La fase de i%formar errores.
=. La fase de espio%a(e.
<. La fase de respues&a
>. La fase de da&os.
No &odas las fases se %ecesi&a% e% &odas las &ra%saccio%es. La fase de arbi&ra(e de bus de&ermi0
%a cu*l de los posibles co%soladores de bus &oma su &ur%o. La fase de solici&ud permi&e
colocar la direcci2% e% el bus y hacer la solici&ud. La fase de i%formar errores permi&e al
escla)o a%u%ciar ue la direcci2% &u)o u% error de paridad o ue al!o m*s a%da mal. La fase
de espio%a(e permi&e a u%a CP6 espiar a la o&ra$ al!o ue s2lo se %ecesi&a e% u% sis&ema
mul&iprocesador. La fase de respues&a es auella do%de el co%&rolador se e%&era de si es&* a
pu%&o de ob&e%er los da&os ue uiere o %o. Por +l&imo$ la fase de da&os permi&e de)ol)er los
da&os.
El secre&o del bus de memoria co% co%duc&os del Pe%&ium II es ue cada fase u&ili4a
difere%&es se'ales de bus$ de modo ue cada u%a es &o&alme%&e i%depe%die%&e de las dem*s.
Los seis !rupos de se'ales reueridas so% los ue se mues&ra% e% la fi!ura 30== a la i4uierda.
-H<
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
Por e(emplo$ u%a CP6 puede &ra&ar de ob&e%er el bus u&ili4a%do las se'ales de arbi&ra(e. 6%a
)e4 ue aduiri2 el derecho a ser el si!uie%&e$ libera es&as l,%eas del bus y comie%4a a usar las
l,%eas del !rupo de 3olici&ud. #ie%&ras &a%&o$ la o&ra CP6 o al!+% disposi&i)o de E:3 puede
i%!resar e% la fase de arbi&ra(e del bus$ y as, sucesi)ame%&e. La fi!ura 30=< mues&ra c2mo
)arias &ra%saccio%es de bus puede% es&ar pe%die%&es al mismo &iempo.
Figura 3-4(. Colocaci2% de solici&udes e% filas de procesamie%&o e% el bus de
memoria del Pe%&ium II.
E% la fi!ura 30=< %o se mues&ra la fase de arbi&ra(e de bus porue %o siempre se
%ecesi&a. Por e(emplo$ si el due'o ac&ual del bus 7por lo re!ular la CP68 uiere e(ecu&ar o&ra
&ra%sacci2%$ %o &ie%e ue readuirir el bus9 s2lo &ie%e ue pedir el bus o&ra )e4 despu/s de
ceder la propiedad del bus a o&ro disposi&i)o solici&a%&e. Las &ra%saccio%es - y 1 so% se%cillas;
ci%co fases e% ci%co ciclos de bus. La &ra%sacci2% 3 i%&roduce u%a fase de da&os m*s lar!a$ por
e(emplo$ porue es u%a &ra%sfere%cia de bloue o porue la memoria direccio%ada i%ser&2 u%
es&ado de espera. Por co%si!uie%&e$ la &ra%sacci2% = %o puede i%iciar su fase de da&os cua%do
uisiera hacerlo. La &ra%sacci2% = obser)a ue la se'al DD3CU &oda),a es&* habili&ada y sim0
pleme%&e espera ue la deshabili&e%. E% la &ra%sacci2% < )emos ue la fase de respues&a
&ambi/% puede &ardar )arios ciclos de bus$ lo ue re&arda la &ra%sacci2% >. Por +l&imo$ e% la
&ra%sacci2% H obser)amos ue u%a )e4 ue se ha i%&roducido u%a burbu(a e% la fila de proce0
samie%&o perma%ece ah, si se si!ue% i%icia%do co%secu&i)ame%&e %ue)as &ra%saccio%es. 3i%
embar!o$ e% la pr*c&ica es poco probable ue la CP6 i%&e%&e i%iciar u%a %ue)a &ra%sacci2% e%
cada ciclo de bus$ as, ue las burbu(as %o dura% &a%&o.
-H>
EL NIVEL DE LOGICA DIGITAL CAP. 3
3.(.2 E UtraSP,+C II
Como se!u%do e(emplo de chip de CP6$ e5ami%aremos la familia 6l&ra3PA"C de 3u%. Es&a
familia es la l,%ea de las CP6 3PA"C de >= bi&s de 3u%. La familia 6l&ra3PA"C se a(us&a
cabalme%&e a la arui&ec&ura 3PA"C )ersi2% L$ ue &ambi/% es para las CP6 de >= bi&s$ y se
usa e% es&acio%es de &raba(o y ser)idores 3u%$ as, como e% )arias aplicacio%es m*s. Es&a
familia i%cluye el 6l&ra3PA"C I$ el 6l&ra3PA"C II y el 6l&ra3PA"C III$ cuya arui&ec&ura es
muy similar9 difiere% pri%cipalme%&e e% la fecha de i%&roducci2% y la rapide4 del relo(. Para
ue la e5plicaci2% ue si!ue sea m*s co%cre&a$ %os referiremos al 6l&ra3PA"C II$ pero casi
&odo aplica &ambi/% a los dem*s 6l&ra3PA"C.
El 6l&ra3PA"C II es u%a m*ui%a "I3C &radicio%al y es ple%ame%&e compa&ible e%
lo bi%ario co% la arui&ec&ura 3PA"C V? de 31 bi&s. Puede e(ecu&ar pro!ramas bi%arios para
3PA"C V? de 31 bi&s si% modificaci2% porue la arui&ec&ura 3PA"C VL es compa&ible co%
la arui&ec&ura 3PA"C V?. El +%ico aspec&o e% ue el 6l&ra3PA"C II se des),a de la
arui&ec&ura 3PA"C VL es e% la adici2% del co%(u%&o de i%s&ruccio%es para mul&imedia VI3$
ue se dise'2 para aplicacio%es !r*ficas$ decodificaci2% #PEG e% &iempo real$ e&c/&era.
El 6l&ra3PA"C II se dise'2 para co%s&ruir mul&iprocesadores de cua&ro %odos co%
memoria compar&ida si% la adici2% de circui&os e5&er%os$ y mul&iprocesadores m*s !ra%des
co% u% m,%imo de circui&os e5&er%os. E% o&ras palabras$ !ra% par&e del Kadhesi)oK ue se
%ecesi&a para co%s&ruir u% mul&iprocesador ya es&* i%cluido e% cada chip 6l&ra3PA"C II.
A difere%cia del 3EC del Pe%&ium II$ la CP6 6l&ra3PA"C II es u% chip au&2%omo$ au%0
ue moderadame%&e !ra%de$ co% <.= millo%es de &ra%sis&ores. Tie%e H?H &ermi%ales e% su
base$ dispues&as como se mues&ra e% la fi!ura 30=>. Es&a !ra% ca%&idad de &ermi%ales se e5pli0
ca e% par&e por el uso de >= bi&s para las direccio%es y -1? bi&s para los da&os$ pero &ambi/% se
debe e% par&e a la forma como fu%cio%a% las caches. Adem*s$ muchas de las &ermi%ales %o
se usa% o so% redu%da%&es. 3e esco!i2 el %+mero H?H para poder usar u% e%capsulado es&*%dar
e% la i%dus&ria. La i%dus&ria probableme%&e co%sidera ue es de bue%a suer&e &e%er u% %+mero
primo de &ermi%ales.
El 6lfra3PA"C II &ie%e dos caches i%&er%as; -> RD para i%s&ruccio%es y -> RD para
da&os. Al i!ual ue el Pe%&ium II$ &ambi/% usa u%a cach/ de %i)el 1 e5&er%o al chip$ pero a
difere%cia del Pe%&ium II esa cach/ %o )ie%e empaue&ada co% el 6l&ra3PA"C II e% u% car&u0
cho pa&e%&ado. Los dise'adores de sis&emas es&*% e% liber&ad de esco!er cualuier chip de
cach/ comercial ue desee% para la cach/ de %i)el 1.
La decisi2% de i%&e!rar la cach/ %i)el 1 e% el Pe%&ium II y separarlo e% el 6l&ra3PA"C
II se debe e% par&e a las opcio%es &/c%icas y e% par&e a los difere%&es modelos comerciales ue
I%&el y 3u% usa%. E% el aspec&o &/c%ico$ u%a cach/ e5&er%a es m*s fle5ible 7las caches del
6l&ra3PA"C II puede% ir de <-1 RD a -> #D9 las del Pe%&ium II es&*% fi(as e% <-1 RD8$ pero
podr,a ser m*s le%&o a causa de su mayor dis&a%cia de la CP6. Adem*s$ se reuiere% m*s
se'ales )isibles para direccio%ar la cach/ 7los 1=1 co%ec&ores del car&ucho 3EC del Pe%&ium II
%o i%cluye% se'ales para la cach/$ ya ue la i%&eracci2% CP60cach/ es i%&er%a al car&ucho8$
pero las H?H &ermi%ales del 6l&ra3PA"C II s, i%cluye% co%&rol de cach/.
-HH
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
Figura 3-4-. El chip de CP6 6l&ra3PA"C II.
E% el aspec&o comercial$ I%&el es u% fabrica%&e de semico%duc&ores y puede dise'ar y
fabricar su propio chip de cach/ de %i)el 1 y co%ec&arlo a la CP6 co% u%a i%&erfa4 pa&e%&ada
de al&o desempe'o. 3u%$ e% cambio$ es u% fabrica%&e de compu&adoras$ %o de chips. 3, dise'a
al!u%os de sus chips 7como los 6l&ra3PA"C8$ pero subco%&ra&a fabrica%&es de
semico%duc&ores como Te5as I%s&rume%&s y Fu(i&su. Cua%do puede$ 3u% prefiere usar chips
comerciales ue ha% sido depurados por el mercado &a% compe&i&i)o. Las 3"A# ue se usa%
e% las caches de %i)el 1 se puede% co%se!uir de muchos pro)eedores de chips$ por lo ue 3u%
%o si%&i2 u%a %ecesidad especial de dise'ar su propia 3"A#. Es&a decisi2% implica hacer la
cach/ de %i)el 1 i%depe%die%&e del chip de la CP6.
Casi &odas las es&acio%es de &raba(o 3u% &ie%e% u% bus asi%cr2%ico de 1< #B4 llamado
SBu!. Los disposi&i)os de E:3 se puede% co%ec&ar al 3Dus$ pero /s&e es demasiado le%&o para
la memoria$ as, ue 3u% cre2 u% meca%ismo difere%&e para ue u%a o m*s CP6 6l&ra3PA"C
se comu%iue% co% u%a o m*s memorias; la UP, 7ar8uitectura de utra"uerto$ &ltra
$on Architecture). La 6PA se puede impleme%&ar como u% bus$ u% co%mu&ador$ o u%a
combi%aci2% de las dos cosas. Difere%&es modelos de es&acio%es de &raba(o y ser)idores usa%
difere%&es impleme%&acio%es de la 6PA. A la CP6 %o le impor&a u/ impleme%&aci2% de la
6PA se usa porue la i%&erfa4 co% la 6PA es&* perfec&ame%&e defi%ida$ y es es&a i%&erfa4 la ue
el chip de la CP6 debe reco%ocer 7y reco%oce8.
E% la fi!ura 30=H )emos el cora42% de u% sis&ema 6l&ra3PA"C II$ ue mues&ra el chip
de CP6$ la i%&erfa4 6PA y la cach/ de %i)el 1 7dos 3"A# comerciales8. La fi!ura &ambi/%
i%cluye u% chip UDB II 7UtraSP,+C Data Bu99er II:$ cuya fu%ci2% se e5plicar* m*s ade0
la%&e. Cua%do la CP6 %ecesi&a u%a palabra de la memoria$ primero la busca e% u%a de sus
caches i%&er%as 7%i)el -8. 3i la e%cue%&ra$ co%&i%+a su e(ecuci2% a &oda )elocidad9 si %o e%0
cue%&ra la palabra e% la cach/ de %i)el -$ prueba e% la de %i)el 1.
f
Au%ue a%ali4aremos el uso de caches co% de&alle e% el cap,&ulo =$ co%)ie%e hablar u%
poco al respec&o au,. Toda la memoria pri%cipal es&* di)idida e% l,%eas de cach/ 7bloues8 de
-H?
EL NIVEL DE LOGICA DIGITAL CAP. 3
Figura 3-4;. Pri%cipales carac&er,s&icas del cora42% de u% sis&ema 6l&ra3PA"C II.
>= by&es. Las 1<> l,%eas de i%s&ruccio%es ue m*s se usa% y las 1<> l,%eas de da&os ue m*s
se usa% es&*% e% la cach/ %i)el -. Las l,%eas de cach/ ue se usa% mucho pero ue %o cabe% e%
la cach/ de %i)el - se !uarda% e% la cach/ de %i)el 1. Ss&e co%&ie%e l,%eas de da&os y de
i%s&ruccio%es me4cladas alea&oriame%&e$ y se almace%a% e% el rec&*%!ulo ro&ulado KDa&os de
cach/ de %i)el 1K. El sis&ema &ie%e ue saber cu*les l,%eas es&*% e% la cach/ de %i)el 1. Es&a
i%formaci2% se !uarda e% u%a se!u%da 3"A#$ ro&ulada KE&iue&as de cach/ de %i)el 1K.
Cua%do %o se e%cue%&ra u%a l,%ea e% la cach/ de %i)el -$ la CP6 e%),a su ide%&ificador
7direcci2% de e&iue&a8 a la cach/ de %i)el 1. La respues&a 7da&os de e&iue&a8 proporcio%a la
i%formaci2% ue permi&e a la CP6 saber si la l,%ea es&* o %o e% la cach/ de %i)el 1 y$ si es&*$
e% u/ es&ado es&*. 3i la l,%ea es&* !uardada ah,$ la CP6 la &rae. Las &ra%sfere%cias de da&os
&ie%e% u%a a%chura de -> by&es$ por lo ue se %ecesi&a% cua&ro ciclos para &raer &oda u%a l,%ea
a la cach/ de %i)el -.
3i la l,%ea de cach/ %o es&* e% la cach/ de %i)el 1$ deber* &raerse de la memoria
pri%cipal ),a la i%&erfa4 6PA. La 6PA del 6l&ra3PA"C II se impleme%&a co% u% co%&rolador
ce%&rali4ado. Las se'ales de direcci2% y co%&rol de la CP6 7de &odas las CP6 si hay m*s de
u%a8 lle!a% ah,. Para accesar la memoria$ la CP6 debe usar primero las l,%eas de arbi&ra(e de
bus para ob&e%er permiso de co%&i%uar. 6%a )e4 co%cedido el permiso$ la CP6 e%),a la
direcci2% de memoria$ especifica el &ipo de solici&ud$ y habili&a la l,%ea de direcci2% )*lida.
7Es&as l,%eas so% bidireccio%ales porue o&ras CP6 de u% mul&iprocesador 6l&ra3PA"C II
%ecesi&a% &e%er acceso a las caches remo&as para ma%&e%er la cohere%cia de &odas las caches.8
La direcci2% y el &ipo de ciclo de bus se coloca% e% las l,%eas de Direcci2% e% dos ciclos; el
re%!l2% e% el primer ciclo y la colum%a e% el se!u%do$ como )imos e% la fi!ura 303-.
-HL
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
#ie%&ras espera los resul&ados$ la CP6 bie% podr,a co%&i%uar co% o&ros &raba(os. Por
e(emplo$ u%a cach/ %o i%hibe la e(ecuci2% de u%a o m*s i%s&ruccio%es ue ya se ob&u)iero%
mie%&ras se preob&ie%e u%a i%s&rucci2% $ las cuales podr,a% hacer refere%cia a da&os ue %o
es&*% e% %i%!u%a cach/. As,$ podr,a haber )arias &ra%saccio%es co% la 6PA pe%die%&es e% u%
mome%&o dado. La 6PA puede ma%e(ar dos flu(os de &ra%sacci2% i%depe%die%&es 7por lo
re!ular lec&uras y escri&uras8$ cada u%o co% m+l&iples &ra%saccio%es pe%die%&es. Correspo%de
al co%&rolador ce%&rali4ado se!uir la pis&a a &odo es&o y efec&uar las solici&udes de memoria
propiame%&e dichas e% el orde% m*s eficie%&e.
Cua%do por fi% lle!a% los da&os de la memoria$ podr,a% )e%ir e% !rupos de ? by&es$ y
co% u% c2di!o de correcci2% de errores de -> bi&s para mayor co%fiabilidad. 6%a &ra%sacci2%
podr,a pedir &odo u% bloue de cach/$ u%a palabra cu*druple 7? by&es8 o i%cluso me%os by&es.
Todos los da&os ue lle!a% se coloca% e% buffers e% el 6DD. El prop2si&o del 6DD es
desacoplar au% m*s la CP6 del sis&ema de memoria$ de modo ue pueda% operar
asi%cr2%icame%&e. Por e(emplo$ si la CP6 &ie%e ue escribir u%a palabra o l,%ea de cach/ e% la
memoria$ e% lu!ar de esperar para accesarla 6PA puede escribir los da&os e% el 6DD de
i%media&o y de(ar ue el 6DD se e%car!ue de hacerlos lle!ar a la memoria pos&eriorme%&e. El
6DD &ambi/% !e%era y )erifica el c2di!o de correcci2% de errores. Cabe se'alar ue la
descripci2% del 6l&ra3PA"C II ue acabamos de prese%&ar$ al i!ual ue la del Pe%&ium II ue
la precedi2$ se ha simplificado co%siderableme%&e$ au%ue se describi2 la ese%cia del
fu%cio%amie%&o.
3.(.3 E "ico4a'a II
Ta%&o el Pe%&ium II como el 6l&ra3PA"C II so% e(emplos de CP6 de al&o desempe'o dise'a0
das para co%s&ruir PC y es&acio%es de &raba(o e5&remadame%&e r*pidas. Cua%do la !e%&e pie%sa
e% las compu&adoras$ /s&e es el &ipo de sis&emas e% el ue &ie%de% a co%ce%&rarse. 3i% embar!o$
e5is&e &odo u% mu%do de compu&adoras dis&i%&o ue e% realidad es mucho m*s !ra%de;
los sis&emas i%corporados. E% es&a secci2% daremos u% )is&a4o a ese mu%do.
Es probable ue %o e5a!eremos mucho si decimos ue cualuier disposi&i)o el/c&rico
ue cues&e m*s de -.. d2lares probableme%&e i%cluye u%a compu&adora. 3i% duda los &ele)i0
sores$ &el/fo%os celulares$ or!a%i4adores perso%ales elec&r2%icos$ hor%os de microo%das$ c*0
maras de )ideo$ )ideo!rabadoras$ impresoras l*ser$ alarmas co%&ra robo$ adi&ame%&os para la
sordera$ (ue!os elec&r2%icos y o&ros disposi&i)os es&*% co%&rolados por compu&adoras. Las
compu&adoras co%&e%idas e% es&os ar&,culos suele% es&ar op&imadas para &e%er u% precio ba(o
m*s ue para &e%er u% bue% desempe'o$ lo ue da lu!ar a co%cesio%es difere%&es de las ue se
hace% e% las CP6 de al&a &ec%olo!,a ue hemos es&ado es&udia%do has&a ahora.
Tradicio%alme%&e$ los procesadores i%corporados se ha% pro!ramado e% le%!ua(e
e%samblador$ pero a medida ue los apara&os se )uel)e% m*s complicados y las co%secue%cias
de los errores de sof&Pare se hace% m*s se)eros$ o&ros e%foues se ha% )uel&o compe&i&i)os.
E% par&icular$ el uso de Aa)a como le%!ua(e de pro!ramaci2% para sis&emas i%corporados es
a&rac&i)o e% )ir&ud de su rela&i)a facilidad de pro!ramaci2%$ el &ama'o reducido del c2di!o y
su i%depe%de%cia de la pla&aforma. La pri%cipal des)e%&a(a de usar Aa)a e% aplicacio%es
i%corporadas es la %ecesidad de &e%er u% i%&/rpre&e !ra%de e% sof&Pare ue e(ecu&e el c2di!o
AV# producido por el compilador de Aa)a$ y la le%&i&ud del proceso de i%&erpre&aci2%.
-?.
EL NIVEL DE LOGICA DIGITAL CAP. 3
3u% y o&ras compa',as ha% a&acado es&e problema dise'a%do y co%s&ruye%do chips de
CP6 ue &ie%e% AV# como su co%(u%&o de i%s&ruccio%es %a&i)o. Es&e e%foue combi%a las
)e%&a(as de usar Aa)a como le%!ua(e de pro!ramaci2%$ la &ra%spor&abilidad y el &ama'o com0
pac&o del c2di!o AV# bi%ario producido por el compilador de Aa)a$ y la rapide4 de e(ecuci2%
por hardPare especiali4ado. E% es&a secci2% e5ami%aremos u%a arui&ec&ura de CP6 moder%a
basada e% Aa)a dise'ada espec,ficame%&e para el mercado de los sis&emas i%corporados.
La CP6 es la picoAa)a II de 3u% e% ue se basa el chip microAa)a H.- de 3u%$ au%ue
3u% &ambi/% ha o&or!ado lice%cias para el dise'o a o&ras compa',as. Es u%a CP6 de u% solo
chip co% dos i%&erfaces de bus$ u%a para el bus de memoria ue &ie%e u%a a%chura de >= bi&s
y u%a para el bus PCI ue &ie%e u%a a%chura de 31 bi&s$ como se mues&ra e% la fi!ura 30=?. Al
i!ual ue el Pe%&ium II y el 6l&ra3PA"C II$ el picoAa)a II &ie%e u%a cach/ %i)el - 7opcio%al8
di)idida e% el chip$ co% has&a -> RD para i%s&ruccio%es y has&a -> RD para da&os. 3i% embar 0
!o$ a difere%cia de esas dos CP6$ el picoAa)a II %o &ie%e u%a cach/ %i)el 1 porue u%o de los
par*me&ros de dise'o fu%dame%&ales de los sis&emas i%corporados es el ba(o cos&o. A co%&i0
%uaci2% describiremos la impleme%&aci2% del picoAa)a II hecha por 3u%; el microAa)a H.-.
El chip es peue'o se!+% los cri&erios ac&uales; s2lo dos millo%es de &ra%sis&ores para el
%+cleo m*s o&ro mill2% y medio para las dos caches de -> RD (u%&as.
Figura 3-40. 6% sis&ema microAa)a H.-.
Tres carac&er,s&icas de la fi!ura 30=? sal&a% a la )is&a. Primera$ el microAa)a H.- u&ili4a
el bus PCI 7a 33 #B4 o bie% >> #B48. Es&e bus fue creado por I%&el para usarse e% los
sis&emas Pe%&ium del e5&remo superior$ pero es i%depe%die%&e del procesador. La )e%&a(a de
usar el bus PCI es ue es u% es&*%dar$ y as, se e)i&a &e%er ue dise'ar u% bus %ue)o. Adem*s$
ya e5is&e% muchas &ar(e&as hechas para i%ser&arse e% /l. Au%ue la e5is&e%cia de &ar(e&as para
PCI %o es !ra% )e%&a(a cua%do se es&*% co%s&ruye%do &el/fo%os celulares$ e% el caso de
&ele)isores de Geb y o&ros apara&os m*s !ra%des s, es u% pu%&o e% fa)or.
3e!u%da$ u% sis&ema microAa)a H.- %ormalme%&e i%cluye u%a P"O# flash. La cues&i2%
au, es ue e% el caso de u% apara&o u%a bue%a par&e del pro!rama$ si %o es ue &odo$ &ie%e
ue es&ar i%cluido ya e% el disposi&i)o. 6%a P"O# flash es u% bue% lu!ar para almace%ar el
pro!rama$ as, ue es +&il &e%er u%a i%&erfa4 para u%a de ellas. O&ro chip ue se puede a'adir al
sis&ema 7%o se mues&ra8 co%de%e las i%&erfaces de E:3 serial y paralela ue se e%cue%&ra% e%
u%a PC.
-?-
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
Tercera$ el microAa)a H.- &ie%e -> l,%eas de E:3 pro!ramable ue puede% co%ec&arse a
bo&o%es$ i%&errup&ores y l*mparas del apara&o. Por e(emplo$ u% hor%o de microo%das suele
&e%er u% &eclado %um/rico y al!u%os o&ros bo&o%es ue podr,a% co%ec&arse direc&ame%&e al
chip de CP6. Te%er l,%eas de E:3 pro!ramable direc&ame%&e e% la CP6 hace i%%ecesario
i%cluir chips co%soladores de E:3 pro!ramables$ as, ue el dise'o es m*s simple y me%os
cos&oso. El chip &ambi/% &ie%e &res &empori4adores pro!ramables i%cluidos$ lo cual &ambi/%
es +&il porue los apara&os a me%udo opera% e% &iempo real.
El microAa)a H.- se )e%de e% u% e%capsulado DGA 7Ba <rid ,rra=: de 3-> &ermi0
%ales ue es u% es&*%dar de la i%dus&ria. De es&as &ermi%ales$ <L es&*% co%ec&adas al bus
PCI. Es&udiaremos es&e bus e% u%a secci2% pos&erior del cap,&ulo. O&ras -13 &ermi%ales
so% para el bus de memoria$ i%cluidas >= &ermi%ales de da&os bidireccio%ales as, como
&ermi%ales de direcci2% apar&e. O&ras &ermi%ales se usa% para co%&rol 7H8$ &empori4adores 738$
i%&errupcio%es 7--8$ pruebas 7-.8 y E:3 pro!ramable 7->8. Al!u%as de las &ermi%ales res&a%&es
se usa% 7co% redu%da%cia8 para la alime%&aci2% y la &ierra$ pero o&ras %o se usa%. O&ros
fabrica%&es del picoAa)a II es&*% e% liber&ad de esco!er u% bus dis&i%&o$ o&ro paue&e$ e&c/&era.
El chip &ambi/% &ie%e )arias carac&er,s&icas de hardPare m*s$ como u% modo i%ac&i)o
para ahorrar e%er!,a de ba&er,as$ u% co%&rolador de i%&errupcio%es e% el chip y apoyo ple%o
para el es&*%dar de prueba IEEE --=L.- ATAG.
3.- E4E5P6*S DE BUSES
Los buses so% el &e(ido co%ec&i)o de los sis&emas de compu&aci2%. E% es&a secci2% e5ami%a0
remos de cerca al!u%os buses muy u&ili4ados; el bus I3A$ el bus PCI y el Dus 3erial 6%i)er0
sal. El bus I3A es u%a e5pa%si2% del bus ori!i%al de la ID# PC. Por ra4o%es de
compa&ibilidad hacia a&r*s$ se si!ue i%cluye%do e% &odas las PC basadas e% I%&el$ au%ue &odas
es&as m*ui%as &ie%e% &ambi/% u% se!u%do bus$ m*s r*pido; el PCI. El bus PCI es m*s a%cho
ue el I3A y opera co% u%a &asa de relo( m*s al&a. El Dus 3erial 6%i)ersal es u% bus de E:3
cada )e4 m*s popular para perif/ricos de ba(a )elocidad$ como los ra&o%es y los &eclados. E%
las seccio%es
f
ue si!ue% e5ami%aremos cada u%o de es&os buses.
3.-.# E %u! IS,
El bus de la ID# PC era de hecho el es&*%dar e% los sis&emas basados e% el ?.?? porue casi
&odos los fabrica%&es de clo%es de la PC lo copiaro% para poder usar e% sus sis&emas las
muchas &ar(e&as de E:3 e5is&e%&es hechas por o&ros fabrica%&es. Ese bus &e%,a >1 l,%eas de
se'al$ i%cluidas 1. para u%a direcci2% de memoria$ ? para da&os y u%a e% cada caso para
habili&ar lec&ura de memoria$ escri&ura de memoria$ lec&ura de E:3 y escri&ura de E:3. Tambi/%
hab,a se'ales para solici&ar y co%ceder i%&errupcio%es y usar D#A$ y %ada m*s. Era u% bus
muy se%cillo.
F,sicame%&e$ el bus es&aba !rabado e% la &ar(e&a madre de la PC$ co% u%a media doce%a de
co%ec&ores si&uados a i%&er)alos de 1 cm para i%ser&ar e% ellos &ar(e&as #plu'ins). Cada &ar(e&a
-?1
EL NIVEL DE LOGICA DIGITAL CAP. 3
&e%,a u%a pes&a'a ue embo%aba e% el co%ec&or. La pes&a'a &e%,a 3- &iras chapeadas e% oro e%
cada lado ue hac,a% co%&ac&o el/c&rico co% el co%ec&or.
Cua%do ID# i%&rodu(o la PC:AT basada e% el ?.1?>$ e%fre%&2 u% problema !ra)e. 3i
hubiera come%4ado desde cero y dise'ado u% bus de -> bi&s &o&alme%&e %ue)o$ muchos clie%0
&es e% po&e%cia habr,a% dudado e% comprar la m*ui%a porue %i%!u%a de las %umerosas
&ar(e&as para PC i%ser&ables hechas por &erceros fabrica%&es habr,a fu%cio%ado co% la %ue)a
m*ui%a. Por o&ra par&e$ se!uir co% el bus de PC y sus 1. l,%eas de direcci2% y ? l,%eas de
da&os habr,a impedido apro)echar la capacidad del ?.1?> para direccio%ar -># de memoria y
&ra%sferir palabras de -> bi&s.
La soluci2% ue se esco!i2 fue e5&e%der el bus de PC. Las &ar(e&as i%ser&ables para PC
&ie%e% u% co%ec&or de aris&a co% >1 co%&ac&os$ pero ue %o corre a &odo lo lar!o de la &ar(e&a.
La soluci2% para la PC:AT fue colocar u% se!u%do co%ec&or de aris&a e% la par&e i%ferior de la
&ar(e&a$ (u%&o al pri%cipal$ y dise'ar los circui&os de la AT de modo ue fu%cio%ara% co%
ambos &ipos de &ar(e&as$ la idea !e%eral se ilus&ra e% la fi!ura 30=L.
Figura 3-42. El bus PC:AT &ie%e dos compo%e%&es$ la par&e de la PC ori!i%al y
la par&e %ue)a.
El se!u%do co%ec&or del bus PC:AT co%&ie%e 3> l,%eas. De /s&as$ 3- se dedica% a m*s
l,%eas de direcci2%$ m*s l,%eas de da&os$ m*s l,%eas de i%&errupcio%es y m*s ca%ales de D#A$
adem*s de alime%&aci2% y &ierra. El res&o se ocupa de difere%cias e%&re las &ra%sfere%cias de ?
bi&s y las de -> bi&s.
Cua%do ID# i%&rodu(o la serie P3:1 como sucesora de la PC y la PC:AT$ decidi2 ue era
hora de come%4ar de %ue)o. E% par&e$ es&a decisi2% pudo haber sido &/c%ica 7el bus de PC a
-?3
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
esas al&uras ya era realme%&e obsole&o8$ pero e% par&e se debi2 si% duda a u% deseo de po%er
u% obs&*culo e% el cami%o de las compa',as ue fabricaba% clo%es de la PC$ las cuales se
hab,a% apoderado de u%a porci2% preocupa%&e del mercado. As,$ las m*ui%as P3:1 de precio
medio y al&o se euiparo% co% u% bus$ el #icrocha%%el$ ue era &o&alme%&e %ue)o y ue es&aba
pro&e!ido por u%a pared de pa&e%&es respaldada por u% e(/rci&o de abo!ados.
El res&o de la i%dus&ria de las compu&adoras perso%ales reaccio%2 adop&a%do su propio
es&*%dar$ el bus IS, 7ar8uitectura e!t>ndar de a indu!tria) Industr( Standard
Architectur))* ue es b*sicame%&e el bus de la PC:AT a ?.33 #B4. La )e%&a(a de es&e e%foue
es ue ma%&ie%e la compa&ibilidad co% las m*ui%as y las &ar(e&as e5is&e%&es9 adem*s$ se basa
e% u% bus para el ue ID# hab,a o&or!ado !e%erosame%&e lice%cias a muchas compa',as co%
el fi% de ase!urar ue el mayor %umero de fabrica%&es posible produ(era &ar(e&as para el PC
ori!i%al$ al!o ue resul&2 co%&raproduce%&e para ID#. Todas las PC basadas e% I%&el &ie%e%
a+% es&e bus$ au%ue !e%eralme%&e acompa'ado por u%o o m*s buses dis&i%&os. 3e puede
e%co%&rar u%a descripci2% e5haus&i)a del bus I3A e% 73ha%ley y A%derso%$ -LL<a8.
#*s adela%&e$ el bus I3A se e5&e%di2 a 31 bi&s co% u%as cua%&as fu%cio%es adicio%ales
7por e(emplo$ para mul&iprocesamie%&o8. Es&e %ue)o bus se llam2 EIS, 7IS, extendido:. 3i%
embar!o$ casi %o se ha% producido &ar(e&as para /l.
3.-.2 E %u! PCI
E% la ID# PC ori!i%al$ casi &odas las aplicacio%es se basaba% e% &e5&o. Gradualme%&e$ co% la
i%&roducci2% de Gi%doPs$ come%4aro% a usarse las i%&erfaces !r*ficas co% el usuario. Ni%!u0
%a de es&as aplicacio%es for4aba mucho al bus I3A$ pero al pasar el &iempo cada )e4 m*s
aplicacio%es$ sobre &odo los (ue!os de mul&imedia$ come%4aro% a usar compu&adoras para
e5hibir )ideo de pa%&alla comple&a y ple%o mo)imie%&o$ y la si&uaci2% cambi2 radicalme%&e.
Ba!amos u% c*lculo se%cillo. Co%sideremos u%a pa%&alla de -.1= 5 H>? ue se usa para
im*!e%es e% mo)imie%&o de color %a&ural 73 by&es:pi5el8. 6%a pa%&alla co%&ie%e 1.1< #D de
da&os. Para ue el mo)imie%&o sea co%&i%uo$ se reuiere% al me%os 3. pa%&allas por se!u%do$
lo ue correspo%de a u%a &asa de da&os de >H.< #D:s. De hecho$ la si&uaci2% es peor$ porue
para e5hibir u% )ideo desde u% disco duro$ CD0"O# o DVD los da&os debe% pasar por el bus
de la u%idad de disco a la memoria. Lue!o$ para e5hibirlos$ los da&os debe% pasar o&ra )e4 por
el bus hacia el adap&ador de !r*ficos. As,$ pues$ %ecesi&amos u% a%cho de ba%da de bus de -3<
#D:s s2lo para el )ideo$ si% co%&ar el a%cho de ba%da ue %ecesi&a% la CP6 y o&ros
disposi&i)os. El bus I3A opera co% u%a rapide4 m*5ima de ?.33 #B4 y puede &ra%sferir dos
by&es por ciclo$ lo ue da u% a%cho de ba%da m*5imo de ->.H #D:s. El bus EI3A puede
&ra%sferir cua&ro by&es por ciclo$ as, ue alca%4a los 33.3 #D:s. Es e)ide%&e ue %i%!u%o de
ellos se acerca siuiera a lo ue se %ecesi&a para )ideo de pa%&alla comple&a.
E% -LL. I%&el pre)io es&o y dise'2 u% %ue)o bus co% u% acho de ba%da mucho mayor ue
i%cluso el del bus EI3A$ y lo llam2 %u! PCI 7interconexin de com"onente! "eri9?rico!)
$eripheral "omponent Interconnec+). Para fome%&ar su uso$ I%&el pa&e%&2 el bus PCI y lue!o
puso &odas las pa&e%&es e% el domi%io p+blico para ue cualuier compa',a pudiera co%s&ruir
perif/ricos para /l si% &e%er ue pa!ar re!al,as. Adem*s$ I%&el form2 u% co%sorcio de la
i%dus&ria$ el PCI 3pecial I%&eres& Group$ para co%&rolar el fu&uro del bus PCI. Como resul&ado de
-?=
EL NIVEL DE LOGICA DIGITAL CAP. 3
es&as accio%es$ el bus PCI se ha populari4ado e%ormeme%&e. Casi &odas las compu&adoras
basadas e% I%&el a par&ir de la Pe%&ium &ie%e% u% bus PCI$ y muchas o&ras compu&adoras
&ambie% lo &ie%e%. I%cluso 3u% &ie%e u%a )ersi2% del 6l&ra3PA"C ue usa el bus PCI$ el
6l&ra3PA"C Ili. El bus PCI se cubre co% lu(o de de&alle e% 73ha%ley y A%derso% -LL<b9 y
3olari y Gillse$ -LL?8.
El bus de PCI ori!i%al &ra%sfer,a 31 bi&s por ciclo y operaba a 33 #B4 7&iempo de ciclo
de 3. %s8$ para u% a%cho de ba%da &o&al de -33 #D:s. E% -LL3 se i%&rodu(o PCI 1..$ y e% -LL<
sali2 PCI 1.-. El PCI 1.1 cue%&a co% fu%cio%es para compu&adoras m2)iles 7pri%cipalme%&e
para ahorrar la e%er!,a de las ba&er,as8. El bus PCI opera has&a >> #B4 y puede ma%e(ar
&ra%sfere%cias de >= bi&s$ para u% a%cho de ba%da &o&al de <1? #D:s. Co% es&e &ipo de capaci 0
dad es posible &e%er )ideo de pa%&alla comple&a y ple%o mo)imie%&o 7supo%ie%do ue el disco
y el res&o del sis&ema es&*% a la al&ura del re&o8. E% &odo caso$ el bus PCI %o ser* el cuello de
bo&ella.
Au%ue <1? #D:s parece muy r*pido$ a+% &ie%e dos problemas. Primero$ %o es lo bas0
&a%&e bue%o como para ser bus de memoria. 3e!u%do$ %o es compa&ible co% &odas las )ie(as
&ar(e&as para I3A ue &oda),a e5is&e%. La soluci2% ue ide2 I%&el fue dise'ar compu&adoras co%
&res o m*s buses$ como se mues&ra e% la fi!ura 30<.. Au, )emos ue la CP6 puede
comu%icarse co% la memoria pri%cipal por u% bus de memoria especial$ y ue se puede co0
%ec&ar u% bus I3A al bus PCI. Es&a or!a%i4aci2% sa&isface &odos los reuisi&os$ as, ue pr*c&i 0
came%&e &odas las compu&adoras Pe%&ium II emplea% es&a arui&ec&ura.
Dos compo%e%&es cla)e de es&a arui&ec&ura so% los dos chips de pue%&e 7ue I%&el fabri0
ca; de ah, su i%&er/s e% &odo es&e proyec&o8. El pue%&e PCI co%ec&a la CP6$ la memoria y el
bus PCI. El pue%&e I3A co%ec&a el bus PCI al bus I3A y &ambi/% apoya u%o o dos discos IDE.
Casi &odos los sis&emas Pe%&ium II )ie%e% co% u%a o m*s ra%uras PCI libres para a'adir
%ue)os perif/ricos de al&a )elocidad$ y u%a o m*s ra%uras I3A para a!re!ar perif/ricos de ba(a
)elocidad.
La !ra% )e%&a(a del dise'o de la fi!ura 30<. es ue la CP6 &ie%e u% a%cho de ba%da a la
memoria !i!a%&esco. Al usar u% bus de memoria pa&e%&ado$ el bus PCI &ie%e u% a%cho de
ba%da muy !ra%de para perif/ricos r*pidos como discos 3C3I$ adap&adores de !r*ficos$ e&c.$
y es posible se!uir usa%do &ar(e&as I3A )ie(as. El cuadro 63D de la fi!ura se refiere al Dus
3erial 6%i)ersal$ ue )eremos m*s adela%&e e% es&e cap,&ulo.
Au%ue ilus&ramos u% sis&ema co% u% bus PCI y u% bus I3A$ es posible &e%er )arios
e(emplares de cada u%o. E5is&e% chips de pue%&e PCI a PCI ue co%ec&a% dos buses PCI$ de
modo ue los sis&emas m*s !ra%des puede% &e%er dos o m*s buses PCI i%depe%die%&es. Tam0
bi/% es posible &e%er dos o m*s chips de pue%&e PCI a I3A e% u% sis&ema$ y as, i%cluir )arios
buses I3A.
Babr,a sido +&il ue s2lo e5is&iera u% &ipo de &ar(e&a para PCI. Lame%&ableme%&e$ %o es
as,. 3e ofrece% opcio%es de )ol&a(e$ capacidad y &empori4aci2%. #uchas compu&adoras )ie(as
usa% < )ol&s$ mie%&ras ue las m*s %ue)as &ie%de% a usar 3.3 )ol&s$ por lo ue el bus PCI apoya
ambos )ol&a(es. Los co%ec&ores so% i!uales e5cep&o por dos &ro4os de pl*s&ico ue impide%
ue la !e%&e i%ser&e u%a &ar(e&a de < )ol&s e% u% bus PCI de 3.3 )ol&s o )ice)ersa. Por for&u%a
e5is&e% &ar(e&as u%i)ersales ue ma%e(a% ambos )ol&a(es y puede% i%ser&arse e% cualuier &ipo
de ra%ura. Adem*s de la opci2% de )ol&a(e$ hay &ar(e&as e% )ersio%es de 31 bi&s y de >= bi&s.
-?<
3EC. 3.< EAE#PLO3 DE CBIP3 DE CP6
Figura 3-(3. Arui&ec&ura de u% sis&ema Pe%&ium II represe%&a&i)o. Los buses
m*s !ruesos &ie%e% m*s a%cho de ba%da ue los m*s del!ados.
Las &ar(e&as de 31 bi&s &ie%e% -1. &ermi%ales9 las de >= bi&s posee% las mismas -1. &ermi%ales
m*s >= adicio%ales$ seme(a%&e a la ma%era e% ue se e5&e%di2 a -> bi&s el bus de la ID# PC
7)ea la fi!ura 30=L8. 6% sis&ema de bus PCI ue acep&a &ar(e&as de >= bi&s &ambi/% puede
acep&ar &ar(e&as de 31 bi&s$ pero %o al re)/s. Por +l&imo$ los buses y las &ar(e&as PCI puede%
operar a 33 #B4 o >> #B4. La decisi2% se &oma co%ec&a%do perma%e%&eme%&e u%a &ermi%al
ya sea a la fue%&e de alime%&aci2% o a &ierra. Los co%ec&ores so% id/%&icos para ambas )eloci0
dades.
El bus PCI es si%cr2%ico$ como lo fuero% &odos los buses de PC has&a el de la ID# PC
ori!i%al. Todas las &ra%saccio%es se efec&+a% e%&re u% amo$ llamado oficialme%&e i%iciador$ y
u% escla)o$ llamado oficialme%&e ob(e&i)o. Para reducir el %+mero de co%&ac&os del bus PCI$
las l,%eas de direccio%es y de da&os se mul&iple5a%. As,$ s2lo se %ecesi&a% >= &ermi%ales e% las
&ar(e&as PCI para las se'ales de direcci2% y de da&os$ au%ue PCI ma%e(a direccio%es de >=
bi&s y da&os de >= bi&s.
Las l,%eas de direcci2% y da&os mul&iple5adas fu%cio%a% como si!ue. E% u%a operaci2%
de lec&ura$ dura%&e el ciclo -$ el i%iciador coloca la direcci2% e% el bus. E% el ciclo 1 el
i%iciador ui&a la direcci2% y el bus se i%)ier&e para ue el escla)o pueda usarlo. E% el ciclo 3$
el escla)o e%),a los da&os solici&ados. E% las operacio%es de escri&ura$ el bus %o &ie%e ue
i%)er&irse porue el i%iciador coloca e% /l &a%&o la direcci2% como los da&os. No obs&a%&e$ la
-?>
EL NIVEL DE LOGICA DIGITAL CAP. 3
&ra%sacci2% m,%ima si!ue sie%do de &res ciclos. 3i el escla)o %o puede respo%der e% &res
ciclos$ puede i%ser&ar es&ados de espera. Tambi/% se permi&e% &ra%sfere%cias de bloues de
&ama'o ilimi&ado$ as, como )arios o&ros &ipos de ciclos de bus.
,r%itra1e de %u! PCI
Para usar el bus PCI u% disposi&i)o primero debe aduirirlo. El arbi&ra(e del bus PCI emplea
u% sis&ema ce%&rali4ado ue se mues&ra e% la fi!ura 30<-. E% casi &odos los dise'os$ el arbi&ro
de bus )ie%e i%corporado e% u%o de los chips de pue%&e. Todo disposi&i)o PCI &ie%e dos l,%eas
dedicadas ue )a% de /l al arbi&ro. 6%a l,%ea$ "EMU$ sir)e para solici&ar el bus. La o&ra$ GNTU$
es +&il para recibir co%cesio%es de bus.
Figura 3-(#. El bus PCI emplea u% arbi&ro de bus ce%&rali4ado.
Para solici&ar el bus$ u% disposi&i)o PCI 7i%cluida la CP68 aser&a "EMU y espera has&a
de&ec&ar ue el arbi&ro habili&2 su l,%ea GNTU. Cua%do eso sucede$ el disposi&i)o puede usar el
bus e% el si!uie%&e ciclo. El al!ori&mo empleado por el arbi&ro %o es&* defi%ido e% la especifi0
caci2% de PCI. 3e permi&e% arbi&ra(es por &ur%o circular$ por prioridad y o&ros esuemas. Es
e)ide%&e ue u% bue% arbi&ro es (us&o y %o de(a ue al!u%os disposi&i)os espere% e% forma
i%defi%ida.
6%a co%cesi2% de bus es )*lida para u%a &ra%sacci2%$ au%ue la lo%!i&ud de dicha &ra%0
sacci2% e% &eor,a es ilimi&ada. 3i u% disposi&i)o uiere e(ecu&ar u%a se!u%da &ra%sacci2% y
%i%!+% o&ro disposi&i)o es&* solici&a%do el bus$ podr* co%&i%uar$ au%ue %ormalme%&e es pre0
ciso i%ser&ar u% ciclo ocioso e%&re las &ra%saccio%es. 3i% embar!o$ e% circu%s&a%cias especiales
y si %o hay compe&e%cia por el bus$ u% disposi&i)o puede efec&uar &ra%saccio%es u%a &ras
o&ra si% &e%er ue i%ser&ar u% ciclo ocioso. 3i u% i%iciador de bus es&* efec&ua%do u%a &ra%sfe0
re%cia muy lar!a y al!+% o&ro disposi&i)o solici&2 el bus$ el arbi&ro puede deshabili&ar la l,%ea
GNTU. 3e espera ue el i%iciador de bus e% &ur%o )i!ile la l,%ea GNTU$ as, ue cua%do percibe
la deshabili&aci2% debe liberar el bus e% el si!uie%&e ciclo. Es&e esuema permi&e
&ra%sfere%cias muy lar!as 7ue so% eficie%&es8 cua%do s2lo hay u% ca%dida&o a i%iciador de
bus$ pero &ambi/% ofrece u%a respues&a r*pida a los disposi&i)os compe&idores.
-?H
3EC. 3.> EAE#PLO3 DE D63E3
Se@ae! de %u! PCI
El bus PCI &ie%e )arias se'ales obli!a&orias ue se mues&ra% e% la fi!ura 30<17a8$ y )arias
se'ales opcio%ales$ ue se mues&ra% e% la fi!ura 30<17b8. El res&o de las -1. o -?= &ermi%ales
se usa para alime%&aci2%$ &ierra y o&ras fu%cio%es di)ersas relacio%adas9 %o se mos&rar*% au,.
Las colum%as Amo 7i%iciador8 y !sclavo 7ob(e&i)o8 i%dica% ui/% habili&a la se'al e% u%a
&ra%sacci2% %ormal. 3i u% disposi&i)o dis&i%&o 7di!amos CLR8 habili&a la se'al$ las dos colum0
%as se de(a% e% bla%co.
E5ami%emos bre)eme%&e cada u%a de las se'ales del bus PCI. Come%4aremos co% las
se'ales obli!a&orias 7de 31 bi&s89 lue!o pasaremos a las se'ales opcio%ales 7de >= bi&s8. La
se'al CLR co%&rola el bus9 casi &odas las dem*s se'ales so% si%cr2%icas co% ella. E% co%&ras&e
co% el bus I3A$ u%a &ra%sacci2% de bus PCI se i%icia e% el fla%co desce%de%&e de CLR$ ue es&*
a la mi&ad del ciclo$ %o al pri%cipio.
Las 31 se'ales AD so% para la direcci2% y los da&os 7e% &ra%saccio%es de 31 bi&s8.
E% !e%eral$ dura%&e el ciclo - se habili&a la direcci2% y dura%&e el ciclo 3 se habili&a% los da&os.
La se'al PA" es u% bi& de paridad para AD. La se'al C:DEU se usa para dos cosas dis&i%&as; e% el
ciclo -$ co%&ie%e el coma%do de bus 7leer u%a palabra$ leer u% bloue$ e&c.89 e% el ciclo 1
co%&ie%e u% mapa de bi&s de = bi&s ue i%dica cu*les by&es de la palabra de 31 bi&s so% )*lidos.
Co% la ayuda de C:DEU es posible leer o escribir cualesuier -$ 1 o 3 by&es$ as, como u%a
palabra e%&era.
El i%iciador de bus habili&a la se'al F"A#EU para i%iciar u%a &ra%sacci2% de bus. Es&a
se'al le dice al escla)o ue la direcci2% y los coma%dos de bus ya so% )*lidos. E% u%a lec&ura
casi siempre se habili&a I"DCU al mismo &iempo ue F"A#EU. Esa se'al i%dica ue el i%iciador
es&* lis&o para acep&ar los da&os. E% u%a escri&ura$ I"DCU se habili&a despu/s$ cua%do los da&os
ya es&*% e% el bus.
La se'al ID3EL &ie%e ue )er co% el hecho de ue &odo disposi&i)o PCI debe &e%er u%
espacio de co%fi!uraci2% de 1<> by&es ue o&ros disposi&i)os puede% leer 7habili&a%do ID3EL8.
Es&e espacio de co%fi!uraci2% co%&ie%e propiedades del disposi&i)o. La carac&er,s&ica de Kco0
%ec&ar y operarK #$lu ,n $la() de al!u%os sis&emas opera&i)os emplea el espacio de co%fi!u0
raci2% para a)eri!uar cu*les disposi&i)os es&*% e% el bus.
Ahora lle!amos a las se'ales ue el escla)o habili&a. La primera$ DEV3ELU$ a%u%cia ue
el escla)o de&ec&2 su direcci2% e% las l,%eas AD y es&* lis&o para i%&er)e%ir e% la &ra%sacci2%. 3i
DEV3ELU %o se habili&a de%&ro de cier&o l,mi&e de &iempo$ el i%iciador supo%e ue el
disposi&i)o direccio%ado es&* ause%&e o bie% descompues&o.
La se!u%da se'al de escla)o es T"DCU$ la cual habili&a e% las lec&uras para a%u%ciar ue
los da&os es&*% e% las l,%eas AD$ y e% las escri&uras para a%u%ciar ue es&* preparado para
acep&ar da&os.
Las si!uie%&es &res se'ales so% para i%formar sobre los errores. La primera es 3TOPU$ ue
el escla)o habili&a si ocurre al!+% desas&re y uiere abor&ar la &ra%sacci2% e% curso. La si0
!uie%&e$ PE""U$ sir)e para i%formar de u% error de paridad de da&os e% el ciclo a%&erior. E% el
caso de u%a lec&ura el i%iciador la habili&a9 e% u%a escri&ura el escla)o lo hace. Correspo%de al
recep&or &omar las medidas apropiadas. Por +l&imo$ 3E""U sir)e para i%formar sobre errores
de direcci2% y errores de sis&ema.
-??
EL NIVEL DE LOGICA DIGITAL CAP. 3
Se!al "neas Amo Esclavo #escripci$n
CL< 3 Relo= 1:: M9) o 55 M9)2
AO :2 > > Lneas %e %ireccin / %atos multiple?a%os
&AR 3 > @it %e pari%a% %e %ireccin o %atos
C/@E A > Coman%o %e !us/mapa %e !its para !/tes ha!ilita%os
,RAMEB 3 > n%ica 'ue AD / C/@E est-n acerta%as
RDCB 3 > LecturaD el amo aceptar-E escrituraD %atos presentes
DSEL 3 > Seleccionar espacio %e con0i$uracin en lu$ar %e memoria
DE+SElB 3 > El esclavo %eco%i0ic su %ireccin / est- escuchan%o
.RDCB 3 > LecturaD %atos presentesE escritura7 el esclavo aceptar-
S.O&/ 3 > El esclavo 'uiere parar la transaccin %e inme%iato
&ERRB 3 El receptor %etect error %e pari%a% %e %atos
SERR 3 Se %etect error %e pari%a% %e %ireccin o error %e sistema
RE4B 3 Ar!itra=e %e !usD solicitu% para tener el !us
F".G 3 Ar!itra=e %e !usD conce%er el !us
RS.B 3 Resta!lecer el sistema / to%os los %ispositivos
1a2
Se!al "neas Amo Esclavo #escripci$n
RE45AG 3 > Solicitu% para e=ecutar una transaccin %e 5A !its
AC<5AG 3 > Se %a permiso para una transaccin %e 5A !its
AD :2 > :2 !its %e %ireccin o %atos a%icionales
&AR5A 3 > &ari%a% para los :2 !its %e %ireccin/%atos e?tra
C/@EB A > A !its a%icionales para ha!ilitar !/tes
LOC< 3 > @lo'uear el !us para e0ectuar mHltiples transacciones
S@OB 3 Acierto en cach remoto 1en multiprocesa%or2
SDO"E 3 Espiona=e e0ectua%o 1en multiprocesa%or2
".? A Solicitar interrupcin
I.AF 8 Se(ales %e prue!a EEE 33 AJ#3 I.AF
M55E" 3 Conecta%o a potencia o tierra 155 M9) o :: M9)2
1!2
Figura 3-(2. 7a8 3e'ales obli!a&orias del bus PCI. 7b8 3e'ales opcio%ales del
bus PCI.
Las se'ales "EMU y GNTU sir)e% para efec&uar arbi&ra(e de bus. Ss&as %o las habili&a el
i%iciador de bus )i!e%&e$ si%o u% disposi&i)o ue uiere co%)er&irse e% i%iciador de bus. La
+l&ima se'al obli!a&oria es "3TU$ ue sir)e para res&ablecer el sis&ema$ sea porue el usuario
oprimi2 el bo&2% "E3ET o porue al!+% disposi&i)o del sis&ema de&ec&2 u% error fa&al. La
habili&aci2% de es&a se'al res&ablece &odos los disposi&i)os y ac&i)a %ue)ame%&e la
compu&adora.
-?L
3EC. 3.> EAE#PLO3 DE D63E3
Ahora lle!amos a las se'ales opcio%ales$ ue e% su mayor,a se relacio%a% co% la e5pa%0
si2% de 31 a >= bi&s. Las se'ales
"EM
>=U y
ACR
>=U permi&e% al i%iciador pedir permiso para
reali4ar u%a &ra%sacci2% de >= bi&s$ y al escla)o$ acep&ar. Las se'ales AD$
PA"
>= y C:DEU %o so%
m*s ue e5&e%sio%es de las se'ales de 31 bi&s correspo%die%&es.
Las si!uie%&es &res se'ales %o &ie%e% ue )er co% el %+mero de bi&s$ si%o co% los
sis&emas mu&iprocesador$ al!o ue las &ar(e&as PCI %o es&*% obli!adas a apoyar. La se'al LOCR
permi&e blouear el bus para efec&uar m+l&iples &ra%saccio%es. Las dos se'ales si!uie%&es
&ie%e% ue )er co% el espio%a(e de bus para ma%&e%er la cohere%cia de las caches.
Las se'ales INTE so% para solici&ar i%&errupcio%es. 6%a &ar(e&a PCI puede co%&e%er has&a
cua&ro disposi&i)os l2!icos i%di)iduales$ y cada u%o puede &e%er su propia l,%ea para solici&ar
i%&errupcio%es. Las se'ales ATAG so% para el procedimie%&o de prueba IEEE --=L.- ATAG. Por
+l&imo$ la se'al #WWEN se po%e perma%e%&eme%&e al&a o ba(a$ para fi(ar la )elocidad del relo($
y %o debe cambiar dura%&e la operaci2% del sis&ema.
.ran!accione! en e %u! PCI
El bus PCI es e% realidad muy se%cillo 7e% comparaci2% co% o&ros buses8. Para e%&e%derlo
me(or$ co%sidere el dia!rama de &empori4aci2% de la fi!ura 30<3. Au, )emos u%a &ra%sacci2%
de lec&ura$ se!uida de u% ciclo ocioso y u%a &ra%sacci2% de escri&ura por el mismo i%iciador de
bus.
Cua%do el fla%co desce%de%&e del relo( ocurre dura%&e T
l&
el i%iciador coloca la direcci2%
de memoria e% AD y el coma%do de bus e% C:DEU9 lue!o habili&a F"A#EU para i%iciar la
&ra%sacci2% de bus.
Dura%&e T
1
$ el i%iciador de(a ue flo&e el bus de direcci2% a fi% de ue pueda i%)er&irse
como preparaci2% a ser alime%&ado por el escla)o dura%&e T
3
. El i%iciador &ambi/% modifica
C:DEU para i%dicar cu*les by&es de la palabra direccio%ada uiere habili&ar 7es decir$ leer8.
E% T
3
$ el escla)o aser&a DEV3ELU para ue el i%iciador sepa ue recibi2 la direcci2% y
pla%ee respo%der9 adem*s$ coloca los da&os e% las l,%eas AD y habili&a T"DCU para a)isarle al
i%iciador ue lo hi4o. 3i el escla)o %o puede respo%der co% &a%&a rapide4$ de &odas ma%eras
habili&a DEV3ELU para a%u%ciar su prese%cia pero ma%&ie%e T"DCU deshabili&ado has&a ue
puede colocar los da&os e% el bus. Es&e procedimie%&o i%&roducir,a u%o o m*s es&ados de
espera.
E% es&e e(emplo 7y co% frecue%cia e% la realidad8$ el si!uie%&e ciclo es ocioso. A par&ir
de T< )emos al mismo amo i%iciar u%a escri&ura. Lo primero ue hace es colocar la direcci2%
y el coma%do e% el bus$ como siempre$ s2lo ue ahora habili&a los da&os dura%&e el se!u%do
ciclo. Pues&o ue el mismo disposi&i)o es&* alime%&a%do las l,%eas AD$ %o hay %ecesidad de u%
ciclo de i%)ersi2%. E% T
H
la memoria acep&a los da&os.
3.-.3 E %u! !eria uni'er!a
El bus PCI es&* bie% para co%ec&ar perif/ricos de al&a )elocidad a u%a compu&adora$ pero es
demasiado cos&oso &e%er u%a i%&erfa4 PCI para cada disposi&i)o de E:3 de ba(a )elocidad$
como u% &eclado o u% ra&2%. Bis&2ricame%&e$ &odos los disposi&i)os de E:3 es&*%dar se co%ec0
&aba% a la compu&adora de u%a forma especial$ de(a%do al!u%as ra%uras I3A y PCI libres para
-L.
EL NIVEL DE LOGICA DIGITAL CAP. 3
Figura 3-(3. E(emplos de &ra%saccio%es de bus PCI de 31 bi&s. Los primeros
&res ciclos se emplea% para u%a operaci2% de lec&ura$ lue!o u% ciclo ocioso y
lue!o &res ciclos para u%a operaci2% de escri&ura.
a'adir %ue)os disposi&i)os. Lame%&ableme%&e$ es&e esuema &u)o muchos problemas desde
el pri%cipio. Por e(emplo$ cada disposi&i)o de E:3 %ue)o por lo re!ular )ie%e co% su propia
&ar(e&a I3A o PCI. El usuario a me%udo &ie%e la respo%sabilidad de a(us&ar i%&errup&ores y
pue%&eadores e% la &ar(e&a y ase!urarse de ue los a(us&es %o es&/% e% co%flic&o co% o&ras
&ar(e&as. Lue!o$ el usuario debe abrir el !abi%e&e de la compu&adora$ i%ser&ar la &ar(e&a co%
mucho cuidado$ cerrar el !abi%e&e y rearra%car la compu&adora. Para muchos usuarios es&e
proceso es dif,cil y hay u%a posibilidad al&a de come&er errores. Adem*s$ el %+mero de ra%uras
I3A y PCI es muy limi&ado 7dos o &res$ por lo re!ular8. Las &ar(e&as Plu! X% Play elimi%a% los
a(us&es de pue%&eadores$ pero de &odos modos el usuario &ie%e ue abrir la compu&adora para
i%ser&ar la &ar(e&a$ y el %+mero de ra%uras si!ue sie%do limi&ado.
Para resol)er es&e problema$ a mediados de la d/cada de los %o)e%&a se reu%iero% repre0
se%&a%&es de sie&e compa',as 7Compa$ DEC$ ID#$ I%&el$ #icrosof&$ NEC y Nor&her%
Telecom8 para dise'ar u%a me(or ma%era de co%ec&ar disposi&i)os de E:3 de ba(a )elocidad a
u%a compu&adora. Desde e%&o%ces$ cie%&os de compa',as m*s se les ha% u%ido. El es&*%dar
resul&a%&e se llama USB 7Bu! Seria Uni'er!a: y se le es&* impleme%&a%do ampliame%&e e%
las compu&adoras perso%ales. Es&e bus se describe co% de&alle e% 7A%derso%$ -LLH9 y Ta%$
-LLH8.
Al!u%os de los ob(e&i)os de las compa',as ue ori!i%alme%&e co%cibiero% el 63D e i%i0
ciaro% el proyec&o so% los si!uie%&es;
-L-
3EC. 3.> EAE#PLO3 DE D63E3
-. Los usuarios %o debe% &e%er ue a(us&ar i%&errup&ores %i pue%&eadores e% las &ar(e&as
o disposi&i)os.
1. Los usuarios %o debe% &e%er ue abrir la ca(a para i%s&alar disposi&i)os de E:3 %ue)os.
3. 32lo debe haber u% &ipo de cable$ ue sir)a para co%ec&ar &odos los disposi&i)os.
=. Los disposi&i)os de E:3 deber*% ob&e%er su e%er!,a del cable.
<. 3e deber*% poder co%ec&ar has&a -1H disposi&i)os a u%a sola compu&adora.
>. El sis&ema deber* apoyar disposi&i)os de &iempo real 7por e(emplo$ so%ido$ &el/fo%o8.
H. Los disposi&i)os deber*% poder i%s&alarse mie%&ras la compu&adora es&* fu%cio%a%do.
?. No se deber* reuerir u% rearra%ue despu/s de i%s&alar u% %ue)o disposi&i)o.
L. El %ue)o bus y sus disposi&i)os de E:3 deber*% ser de ba(o cos&o.
El 63D cumple co% &odos es&os ob(e&i)os9 se le dise'2 para disposi&i)os de ba(a )elocidad
como &eclados$ ra&o%es$ c*maras de fo&o fi(a$ di!i&ali4adores de im*!e%es$ &el/fo%os di!i&ales$
e&c. El a%cho de ba%da &o&al del 63D es de -.< #D:s$ ue es suficie%&e para u%a ca%&idad
sus&a%cial de &ales disposi&i)os. 3e esco!i2 es&e l,mi&e ba(o para ma%&e%er ba(os los cos&os.
6% sis&ema 63D co%sis&e e% u% e(e ra,4 ue se co%ec&a al bus pri%cipal 7)ea la fi!ura
30<.8. Es&e e(e &ie%e 42calos para cables ue se puede% co%ec&ar a disposi&i)os de E:3 o a e(es
de e5pa%si2%$ a fi% de &e%er m*s 42calos$ de modo ue la &opolo!,a de u% sis&ema 63D es u%
*rbol co% su ra,4 e% el e(e ra,4$ de%&ro de la compu&adora. Los cables &ie%e% difere%&es
co%ec&ores e% el e5&remo del e(e y e% el e5&remo del disposi&i)o$ para e)i&ar ue las perso%as
co%ec&e% accide%&alme%&e u% 42calo de e(e a o&ro.
El cable co%s&a de cua&ro hilos; dos para da&os$ u%o para alime%&aci2% #- . )ol&s8 y u%o
para &ierra. El sis&ema de se'ali4aci2% &ra%smi&e u% O como u%a &ra%sici2% de )ol&a(e y u% -
como la ause%cia de u%a &ra%sici2% de )ol&a(e$ de modo ue las series lar!as de ceros !e%era%
u%a serie de pulsacio%es re!ular.
Cua%do se co%ec&a u% %ue)o disposi&i)o de E:3$ el e(e ra,4 de&ec&a es&e suceso e i%&e0
rrumpe el sis&ema opera&i)o. Lue!o /s&e co%sul&a al disposi&i)o para a)eri!uar u/ es y u/
a%cho de ba%da de 63D %ecesi&a. 3i el sis&ema opera&i)o decide ue hay suficie%&e a%cho de
ba%da para el disposi&i)o$ asi!%a a /s&e u%a direcci2% +%ica 7-0-1H8 y coloca es&a direcci2% y
o&ra i%formaci2% e% los re!is&ros de co%fi!uraci2% de%&ro del disposi&i)o. De es&e modo es
posible a'adir disposi&i)os %ue)os sobre la marcha$ si% ue el usuario &e%!a ue co%fi!urarlos
y si% &e%er ue i%s&alar %ue)as &ar(e&as I3A o PCI. Las &ar(e&as %o i%iciali4adas &ie%e% la
direcci2% .$ para poderlas direccio%ar. A fi% de simplificar el cableado$ muchos disposi&i)os
63D co%&ie%e% e(es i%&e!rados ue acep&a% disposi&i)os 63D adicio%ales. Por e(emplo$ u%
mo%i&or podr,a &e%er dos 42calos de e(e para dar cabida a los al&a)oces derecho e i4uierdo.
L2!icame%&e$ el sis&ema 63D puede )erse como u% co%(u%&o de co%duc&os de bi& ue
)a% del e(e ra,4 a los disposi&i)os de E:3. Cada disposi&i)o puede di)idir su co%duc&o de bi&s
-L1
EL NIVEL DE LOGICA DIGITAL CAP. 3
e%$ cua%do m*s$ -> subco%duc&os para difere%&es &ipos de da&os 7por e(emplo$ audio y )ideo8.
De%&ro de cada co%duc&o o subco%duc&o$ fluye% da&os del e(e ra,4 al disposi&i)o o e% la o&ra
direcci2%. No hay &r*fico e%&re dos disposi&i)os de E:3.
Precisame%&e cada -... Y ...< ms$ el e(e ra,4 &ra%smi&e u%a %ue)a &rama para ma%&e%er
a &odos los disposi&i)os si%cro%i4ados e% el &iempo. 6%a &rama se asocia a u% co%duc&o de bi&s
y co%sis&e e% paue&es$ el primero de los cuales )a del e(e ra,4 al disposi&i)o. Los paue&es
subsecue%&es de la &rama &ambi/% podr,a% e%)iarse e% es&a direcci2%$ pero &ambi/% podr,a%
re!resar del disposi&i)o al e(e ra,4. E% la fi!ura 30<= se mues&ra u%a sucesi2% de cua&ro &ramas.
Figura 3-(4. El e(e ra,4 63D e%),a &ramas cada -... ms.
E% la fi!ura 30<= %o hay &raba(o ue reali4ar e% las &ramas . y 1$ as, ue &odo lo ue se
%ecesi&a es u% paue&e 3OF 7i%icio de &rama$ Start o/0rame). Es&e paue&e siempre se difu%de
a &odos los disposi&i)os. La &rama - es u% escru&i%io$ por e(emplo$ u%a solici&ud a u% esc*%er
para ue de)uel)a los bi&s ue ha e%co%&rado e% la ima!e% ue es&* di!i&ali4a%do. La &rama 3
co%sis&e e% da&os ue se e%),a% a al!+% disposi&i)o$ di!amos u%a impresora.
63D reco%oce cua&ro clases de &ramas; de co%&rol$ isocr2%icas$ de )olume% y de
i%&errupci2%. Las &ramas de co%&rol sir)e% para co%fi!urar disposi&i)os$ dar 2rde%es y
pre!u%&ar por su es&ado. Las &ramas isocr2%icas so% para disposi&i)os de &iempo real como
micr2fo%os$ al&a)oces y &el/fo%os ue %ecesi&a% e%)iar o acep&ar da&os a i%&er)alos de &iempo
precisos. Es&as &ramas &ie%e% u% re&raso al&ame%&e predecible pero %o ofrece% re&ra%smisi2% e%
caso de ocurrir errores. Las &ramas de )olume% so% para &ra%sfere%cias !ra%des hacia o desde
disposi&i)os ue %o reuiere% &iempo real$ como las impresoras. Por +l&imo$ las &ramas de
i%&errupci2% so% %ecesarias porue 63D %o reco%oce i%&errupcio%es. Por e(emplo$ e% lu!ar de
hacer ue u% &eclado cause u%a i%&errupci2% cada )e4 ue se pulsa u%a &ecla$ el sis&ema
opera&i)o puede escru&arlo cada <. ms para recolec&ar cualesuier di!i&acio%es ue es&/%
pe%die%&es.
6%a &rama co%sis&e e% u%o o m*s paue&es$ posibleme%&e al!u%os para cada direcci2%.
E5is&e% cua&ro &ipos de paue&es; de &es&i!o$ de da&os$ de saludo y especiales. Los paue&es de
&es&i!o )a% de la ra,4 a u% disposi&i)o y sir)e% para co%&rol del sis&ema. Los paue&es 3OF$ IN y
-L3
3EC. 3.H INTE"FACE3
O6T de la fi!ura 30<= so% paue&es de &es&i!o. El paue&e 3OF 7i%icio de &rama8 es el primero
de cada &rama y marca su pri%cipio. 3i %o hay &raba(o ue efec&uar$ el paue&e 3OF es el +%ico
de la &rama. El paue&e de &es&i!o IN es u% escru&i%io$ ue pide al disposi&i)o de)ol)er cier&os
da&os. Los campos del paue&e IN i%dica% cu*l co%duc&o de bi&s se es&* escru&a%do para ue el
disposi&i)o sepa u/ da&os debe de)ol)er 7si &ie%e m+l&iples flu(os8. El paue&e de &es&i!o O6T
a%u%cia ue a co%&i%uaci2% )ie%e% da&os para el disposi&i)o. 6% cuar&o &ipo de paue&e de
&es&i!o$ 3ET6P 7ue %o se mues&ra e% la fi!ura8$ sir)e para co%fi!uraci2%.
Adem*s del paue&e de &es&i!o$ hay o&ros &res &ipos. Ss&os so% los paue&es DATA 7ue
sir)e% para &ra%smi&ir has&a >= by&es de i%formaci2% e% cualuier direcci2%8$ los de saludo y
los especiales. E% la fi!ura 30<= se mues&ra el forma&o de u% paue&e de da&os; co%sis&e e% u%
campo de si%cro%i4aci2% de ? bi&s$ u% &ipo de paue&e 7PID8 de ? bi&s$ la car!a +&il$ y u% C+C
7Cdigo de +edundancia CAcica: para de&ec&ar errores. 3e ha% defi%ido &res clases de pa0
ue&es de saludo; ACR 7el paue&e de da&os a%&erior se recibi2 correc&ame%&e8$ NAR 7se de&ec&2
u% error de C"C8 y 3TALL 7espera por fa)or9 es&oy ocupado8.
E5ami%emos o&ra )e4 la fi!ura 30<=. Cada -... ms debe e%)iarse u%a &rama del e(e ra,4$
i%cluso si %o hay &raba(o. Las &ramas O y 1 co%sis&e% e% u% solo paue&e 3OF$ lo ue i%dica
ue %o hubo &raba(o. La &rama - es u% escru&i%io$ de modo ue pri%cipia co% paue&es 3OF e IN
de la compu&adora al disposi&i)o de E:3$ se!uidos de u% paue&e DATA del disposi&i)o a la
compu&adora. El paue&e ACR le i%dica al disposi&i)o ue los da&os se recibiero%
correc&ame%&e. E% caso de haber u% error$ se de)ol)er,a u% NAR al disposi&i)o y el paue&e se
re&ra%smi&ir,a e% el caso de da&os de )olume% 7pero %o e% el de da&os isocr2%icos8. La &rama 3
&ie%e u%a es&ruc&ura similar a la -$ e5cep&o ue ahora los da&os fluye% de la compu&adora al
disposi&i)o.
3.; IB.E+F,CES
6% sis&ema de compu&aci2% de &ama'o peue'o a media%o co%sis&e e% u% chip de CP6$ chips
de memoria y al!u%os co%&roladores de E:3$ &odos co%ec&ados por u% bus. Ca es&udiamos las
memorias$ las CP6 y los buses co% cier&o de&alle. Ba lle!ado el mome%&o de e5ami%ar la
+l&ima pie4a del rompecabe4as$ los chips de E:3. Es a &ra)/s de es&os chips ue la
compu&adora se comu%ica co% el mu%do e5&erior.
3.;.# C$i"! de ECS
Ca e5is&e% %umerosos chips de E:3 y co%s&a%&eme%&e se i%&roduce% %ue)os. E%&re los chips
m*s comu%es es&*% los 6A"T$ los 63A"T$ los co%&roladores de C"T$ los co%&roladores de
disco y los PIW. 6% U,+. 7rece"tor tran!mi!or uni'er!a a!incrnico) &niversal
As(nchronous Receiver Transmitter) es u% chip ue puede leer u% by&e del bus de da&os y
e%)iarlo bi& por bi& a &ra)/s de u%a l,%ea serial hacia u%a &ermi%al$ o recibir da&os de u%a
&ermi%al. Los 6A"T por lo re!ular ma%e(a% )arias )elocidades9 a%churas de carac&eres de <
a ? bi&s9 -$-.< o 1 bi&s de paro9 y paridad par$ impar o %i%!u%a$ &odo ba(o co%&rol de u%
pro!rama. 6% US,+. 7rece"tor tran!mi!or uni'er!a !incrnico a!incrnico$ &niversal
S(nchronous As(nchronous Receiver Transmitter) puede ma%e(ar &ra%smisio%es si%cr2%icas
u&ili4a%do di)ersos pro&ocolos$ adem*s de reali4ar &odas las fu%cio%es del 6A"T. Pues&o
-L=
EL NIVEL DE LOGICA DIGITAL CAP. 3
-L<
3EC. 3.H INTE"FACE3
ya e5ami%amos los 6A"T e% el cap,&ulo 1$ es&udiemos ahora la i%&erfa4 paralela como e(em0
plo de chip de E:3
C$i"! PI*
6% chip de entradaC!aida "araea 7PI*) $arallel Input12u+pu+) represe%&a&i)o es el I%&el
?1<3A$ ue se mues&ra e% la fi!ura 30<<. Es&e chip &ie%e 1= l,%eas de E:3 ue puede% co%ec0
&arse po% cualuier disposi&i)o compa&ible co% TTL$ por e(emplo$ &eclados$ i%&errup&ores$
l*mparas o impresoras. E% pocas palabras$ el pro!rama de la CP6 puede escribir u% . o u% -
e% cualuier l,%ea$ o leer el es&ado de e%&rada de cualuier l,%ea$ lo ue ofrece !ra% fle5ibili 0
dad. 6% sis&ema peue'o basado e% CP6 ue usa u% PIO a me%udo puede sus&i&uir a &oda u%a
&ar(e&a lle%a de chips 33I o #3I$ sobre &odo e% los sis&emas i%corporados.
Figura 3-((. Chip PIW ?1<<A.
Au%ue la CP6 puede co%fi!urar el ?1<<A de muchas ma%eras car!a%do re!is&ros de
si&uaci2% de%&ro del chip$ %os co%ce%&raremos e% al!u%os de los modos de operaci2% m*s
se%cillos. La forma m*s simple de usar el ?1<<A es como &res puer&os de ? bi&s i%depe%die%0
&es$ A$ D y C. Cada puer&o &ie%e asociado u% re!is&ro la&ch de ? bi&s. Para es&ablecer las l,%eas
de u% puer&o$ la CP6 s2lo &ie%e ue escribir u% %+mero de ocho bi&s e% el re!is&ro correspo%0
die%&e9 el %+mero de ocho bi&s aparecer* e% las l,%eas de salida y perma%ecer* ah, has&a ue
se coloue u% )alor dis&i%&o e% el re!is&ro. 3i la CP6 uiere usar u% puer&o para recibir e%&ra0
das$ s2lo &ie%e ue leer el re!is&ro correspo%die%&e.
O&ros modos de operaci2% permi&e% si%cro%i4arse co% disposi&i)os e5&er%os. Por
e(emplo$ para e%)iar salidas a u% disposi&i)o ue %o siempre es&* lis&o para acep&ar da&os$ el
?1<< A puede prese%&ar da&os e% u% puer&o de salida y esperar a ue el disposi&i)o e%),e de
)uel&a u%a pulsaci2% para i%dicar ue acep&2 los da&os y uiere m*s. La l2!ica %ecesaria para
cap&ar &ales pulsacio%es y proporcio%arlas a la CP6 )ie%e i%cluida e% el hardPare del ?1<<A.
E% el dia!rama fu%cio%al del ?1<< A podemos )er ue$ adem*s de 1= &ermi%ales para
los &res puer&os$ el chip &ie%e ocho l,%eas ue se co%ec&a% direc&ame%&e co% el bus de da&os$
u%a l,%ea de selecci2% de chip$ l,%eas de lec&ura y escri&ura$ dos l,%eas de direcci2% y u%a l,%ea
para res&ablecer el chip. Las dos l,%eas de direcci2% 7AZ y AT8 seleccio%a% u%o de los cua&ro
re!is&ros i%&er%os$ ue correspo%de% a los puer&os A$ D$ C y el re!is&ro de si&uaci2%$ ue &ie%e
bi&s ue de&ermi%a% cu*les puer&os so% para e%&rada y cu*les para salida$ adem*s de o&ras
-L>
EL NIVEL DE LOGICA DIGITAL CAP. 3
fu%cio%es. Normalme%&e$ las dos l,%eas de direcci2% es&*% co%ec&adas a los bi&s de orde% ba(o
del bus de direcci2%.
3.;.2 Decodi9icacin de direccione!
Bas&a ahora hemos e)i&ado deliberadame%&e e5plicar co% claridad c2mo se habili&a la l,%ea de
selecci2% de chip7cs8 e% los chips de memoria y de E:3 ue hemos e5ami%ado. Ba lle!ado el
mome%&o de )er co% m*s de&alle c2mo se hace es&o. Co%sideremos u%a se%cilla compu&adora
de -> bi&s ue co%sis&e de u%a CP6$ u%a EP"O# de 1R 5 ? by&es para el pro!rama$ u%a
"A# de 1R 5 ? by&es para los da&os$ y u% PIO. Es&e peue'o sis&ema podr,a usarse como
pro&o&ipo del cerebro de u% (u!ue&e bara&o o u% apara&o dom/s&ico se%cillo. Ca e% producci2%$
la EP"O# podr,a sus&i&uirse por u%a "O#.
El PIO puede seleccio%arse de u%a de dos ma%eras; como )erdadero disposi&i)o de E:3
o como par&e de la memoria. 3i op&amos por usarla como disposi&i)o de E:3$ deberemos
seleccio%arla usa%do u%a l,%ea de bus e5pl,ci&a ue i%diue ue se es&* hacie%do refere%cia a
u% disposi&i)o de E:3$ %o a la memoria. 3i usamos la o&ra es&ra&e!ia$ ECS con ma"a en a
memoria) deberemos asi!%ar = by&es del espacio de memoria para los &res puer&os y el
re!is&ro de co%&rol. La decisi2% es u% &a%&o arbi&raria. Esco!eremos E:3 co% mapa e% la
memoria porue ilus&ra al!u%os aspec&os i%&eresa%&es de las i%&erfaces de E:3.
La EP"O# %ecesi&a 1R de espacio de direccio%es$ la "A# &ambi/% %ecesi&a 1R de
espacio de direccio%es$ y el PIO %ecesi&a = by&es. Pues&o ue e% %ues&ro e(emplo el espacio
de direccio%es es de >=R$ deberemos decidir d2%de po%er los &res disposi&i)os. 6%a posible
opci2% se mues&ra e% la fi!ura 30<>. La EP"O# ocupa las direccio%es has&a 1R$ la "A#
ocupa las direccio%es de 31R a 3=R$ y el PIO ocupa los = by&es m*s al&os del espacio de
direccio%es$ ><<31 a ><<3<. Desde el pu%&o de )is&a del pro!ramador %o impor&a cu*les direc0
cio%es se use%$ pero para las i%&erfaces s, impor&a. 3i hubi/ramos op&ado por direccio%ar el
PIW a &ra)/s del espacio de E:3$ %o %ecesi&ar,a direccio%es de memoria 7pero s, %ecesi&ar,a
cua&ro direccio%es del espacio de E:38.
Figura 3-(-. 6bicaci2% de la EP"O#$ la "A# y el PIO e% %ues&ro
espacio de direccio%es de >=R.
Co% las asi!%acio%es de direccio%es de la fi!ura 30<>$ la EP"O# deber* seleccio%arse co%
cualuier direcci2% de memoria de -> bi&s de la forma .....55555555555 7bi%ario8. E% o&ras
palabras$ cualuier direcci2% de memoria cuyos < bi&s de orde% al&o sea% &odos cero
uedar* e% los 1R m*s ba(os de la memoria$ y por e%de e% la EP"O#. As,$ la selecci2% de
-LH
3EC. 3.H INTE"FACE3
chip de la EP"O# podr,a co%ec&arse a u% comparador de < bi&s$ u%a de cuyas e%&radas es&ar,a
co%ec&ada perma%e%&eme%&e a ......
Figura 3-(;. 7a8 Decodificaci2% de direcci2% comple&a$ 7b8 Decodificaci2% de
direcci2% parcial.
6%a me(or forma de lo!rar el mismo efec&o es usar u%a compuer&a O" de ci%co e%&radas$
co%ec&a%do /s&as a las l,%eas de direcci2% A-- a A-<. 32lo si las ci%co l,%eas so% . la salida
ser* .$ lo ue habili&ar*
C3
. Lo malo es ue %o e5is&e% compuer&as O" de ci%co e%&radas e% las
-L?
EL NIVEL DE LOGICA DIGITAL CAP. 3
series 33I es&*%dar. Lo m*s cerca%o ue hay es u%a compuer&a NO" de ocho e%&radas. 3i
co%ec&amos a &ierra &res e%&radas e i%)er&imos la salida podremos producir la se'al correc&a$
como se mues&ra e% la fi!ura 30<H7a8. Los chips 33I so% &a% bara&os ue$ e5cep&o e% circu%s0
&a%cias especiales$ %o impor&a si se usa u%o de ellos de forma i%eficie%&e. Por co%)e%ci2%$ las
e%&radas ue %o se usa% %o se mues&ra% e% los dia!ramas de circui&o.
3e puede usar el mismo pri%cipio para la "A#$ s2lo ue e% es&e caso la "A# deber*
respo%der a direccio%es bi%arias de la forma -....55555555555. Por ello$ se %ecesi&a u%
i%)ersor adicio%al como se mues&ra e% la fi!ura. La decodificaci2% de direccio%es del PIO es
u% poco m*s complicada$ porue se seleccio%a co% las cua&ro direccio%es de la forma
------------- I55. E% la fi!ura se mues&ra u% posible circui&o ue habili&a C3 s2lo cua%do la
direcci2% correc&a aparece e% el bus de direccio%es. Es&e circui&o usa dos compuer&as NAND de
ocho e%&radas para alime%&ar u%a compuer&a O". La co%s&rucci2% de la l2!ica de
decodificaci2% de direccio%es de la fi!ura 30<H7a8 u&ili4a%do 33I reuiere seis chips; los
cua&ro chips de ocho e%&radas$ u%a compuer&a O" y u% chip co% &res i%)ersores.
3i% embar!o$ si la compu&adora realme%&e co%sis&e s2lo e% u%a CP6$ dos chips de me0
moria y el PIW$ podemos usar u% &ruco para simplificar mucho la decodificaci2% de direccio0
%es. El &ruco se basa e% el hecho de ue &odas las direccio%es de la EP"O#$ y s2lo esas di 0
reccio%es$ &ie%e% u% . e% el bi& de orde% al&o$ Al<. Por &a%&o$ bas&a co% co%ec&arse a cs a A-<
direc&ame%&e$ como se mues&ra e% la fi!ura 30<H7b8.
A es&as al&uras la decisi2% de colocar la "A# e% ?...B es&ar* parecie%do me%os arbi0
&raria. La decodificaci2% de "A# puede efec&uarse obser)a%do ue las +%icas direccio%es
)*lidas de la forma -.55555555555555 es&*% e% la "A#$ de modo ue bas&a co% dos bi&s de
decodificaci2%. As, mismo$ cualuier direcci2% ue comie%ce co% -- deber* ser u%a direcci2%
del PIO. La l2!ica de decodificaci2% comple&a reuiere ahora dos compuer&as NAND y u%
i%)ersor. Pues&o ue se puede crear u% i%)ersor a par&ir de u%a compuer&a NAND co% s2lo u%ir
las dos e%&radas$ u% solo chip NAND cu*druple es ahora m*s ue suficie%&e.
La l2!ica de decodificaci2% de direccio%es de la fi!ura 30<H7b8 se llama decodi9Acacin
de direccione! "arcia) porue %o se usa% las direccio%es comple&as. Es&a l2!ica &ie%e la
propiedad de ue u%a lec&ura de las direccio%es ...-............$ ...--........... o
..-............. dar* el mismo resul&ado. De hecho$ &odas las direccio%es de la mi&ad
i%ferior del espacio de direccio%es seleccio%ar*% la EP"O#. Dado ue %o se usa% las direc0
cio%es adicio%ales$ %o hay problema$ pero si se es&* dise'a%do u%a compu&adora ue podr,a
e5pa%dirse e% el fu&uro 7al!o ue %o es muy probable e% u% (u!ue&e8$ debe e)i&arse la
decodificaci2% parcial porue ocupa mucho espacio de direccio%es.
O&ra &/c%ica com+% para decodificar direccio%es es emplear u% decodificador$ como el
ue se mues&ra e% la fi!ura 30-3. 3i co%ec&amos las &res e%&radas a las &res l,%eas de direcci2%
de orde% al&o$ ob&e%dremos ocho salidas$ ue correspo%de% a direccio%es e% los primeros ?R$
los se!u%dos ?R$ y as,. E% el caso de u%a compu&adora co% ocho memorias "A#$ cada u%a
de ?R 5 ?$ u% chip de es&e &ipo bas&a para &oda la decodificaci2%. E% el caso de u%a
compu&adora co% ocho chips de memoria de 1R 5 ? &ambi/% es suficie%&e u% solo
decodificador$ siempre ue cada chip de memoria es&/ si&uado e% u% bloue de ?R dis&i%&o del
espacio de direccio%es. 7"ecuerde lo ue di(imos a%&es$ de ue la posici2% de los chips de
memoria y de E:3 de%&ro del espacio de direccio%es es impor&a%&e.8
-LL
3EC. 3.H INTE"FACE3
3.0 +ESU5EB
Las compu&adoras se co%s&ruye% co% chips de circui&os i%&e!rados ue co%&ie%e% dimi%u&os
eleme%&os de co%mu&aci2% llamados compuer&as. Las compuer&as m*s comu%es so% AND$ O"$
NAND$ NO" y NOT. Es posible co%s&ruir direc&ame%&e circui&os se%cillos combi%a%do compuer0
&as i%di)iduales.
O&ros circui&os m*s comple(os so% los mul&iple5ores$ desmul&iple5ores$ codificadores$
decodificadores$ despla4adores y los AL6. Puede% pro!ramarse fu%cio%es boolea%as arbi&ra0
rias emplea%do u% PLA. 3i se reuiere% muchas fu%cio%es boolea%as$ los PLA a me%udo so%
m*s eficie%&es. Podemos u&ili4ar las leyes del *l!ebra boolea%a para &ra%sformar circui&os de
u%a forma a o&ra. E% muchos casos es posible producir circui&os m*s eco%2micos.
La ari&m/&ica de compu&adora se efec&+a co% sumadores. 3e puede co%s&ruir u% sumador
comple&o de u% bi& co% dos medios sumadores. 6% sumador para palabras de )arios bi&s se
puede co%s&ruir co%ec&a%do )arios sumadores comple&os de modo ue el acarreo de salida de
cada u%o se alime%&e a su )eci%o de la i4uierda.
Los compo%e%&es de las memorias 7es&*&icas8 so% la&ches y flip0flops$ ue puede% alma0
ce%ar u% bi& de i%formaci2%. Ss&os puede% combi%arse li%ealme%&e para formar la&ches y flip0
flops oc&ales$ o lo!ar,&micame%&e para crear memorias a !ra% escala orie%&adas hacia las
palabras. Los &ipos de memoria dispo%ibles so% "A#$ "O#$ P"O#$ EP"O#$ EEP"O# y
flash. Las "A# es&*&icas %o %ecesi&a% refrescarse9 co%ser)a% sus )alores e% &a%&o hay ali0
me%&aci2% el/c&rica. Las "A# di%*micas$ e% cambio debe% refrescarse peri2dicame%&e para
compe%sar las fu!as de los dimi%u&os co%de%sadores del chip.
Los compo%e%&es de u% sis&ema de compu&aci2% se co%ec&a% co% buses. #uchas de las
&ermi%ales de u% chip de CP6 &,pico$ pero %o &odas$ alime%&a% direc&ame%&e u%a l,%ea de bus.
Las l,%eas de bus puede% di)idirse e% l,%eas de direcci2%$ de da&os y de co%&rol. Los buses
si%cr2%icos se co%&rola% co% u% relo( maes&ro. Los buses asi%cr2%icos u&ili4a% pro&ocolos
comple&os para si%cro%i4ar el escla)o co% el i%iciador.
El Pe%&ium II es u% e(emplo de CP6 moder%a. Los sis&emas moder%os ue lo usa%
&ie%e% u% bus de memoria$ u% bus PCI$ u% bus I3A y u% bus 63D. El bus PCI puede &ra%sferir
>= bi&s a la )e4 co% u%a rapide4 de >> #B4$ lo ue lo hace lo bas&a%&e r*pido para casi &odos
los perif/ricos$ pero %o para la memoria.
Los i%&errup&ores$ las l*mparas$ las impresoras y muchos o&ros disposi&i)os de E:3
puede% co%ec&arse a las compu&adoras u&ili4a%do chips de E:3 paralela como el ?1<<A. Es&os
chips puede% co%fi!urarse de modo ue sea% par&e del espacio de E:3 o del espacio de
memoria$ se!+% sea %ecesario. Puede% decodificarse &o&al o parcialme%&e$ depe%die%do de la
aplicaci2%.
P+*B6E5,S
-. 6% l2!ico lle!a a u% res&aura%&e de comida r*pida y dice; KMuiero u%a hambur!uesa o u%a salchicha
y papas fri&asK. Por des!racia$ el coci%ero %o pas2 del se5&o !rado y %o sabe 7%i le impor&a8 si KyK
&ie%e precede%cia o %o sobre KoK. E% lo ue a /l co%cier%e$ u%a i%&erpre&aci2% es &a% bue%a
1..
EL NIVEL DE LOGICA DIGITAL CAP. 3
como o&ra. ICu*les de los si!uie%&es casos so% i%&erpre&acio%es )*lidas de la orde%J 7Cabe se'alar
ue e% espa'ol KoK es u%a Ko e5clusi)aK.8
a. 32lo u%a hambur!uesa.
b. 32lo u%a salchicha.
c. 32lo papas fri&as.
d. 6%a salchicha y papas fri&as.
e. 6%a hambur!uesa y papas fri&as.
f. 6%a salchicha y u%a hambur!uesa.
!. Las &res cosas.
h. Nada9 el l2!ico se ueda co% hambre por pasarse de lis&o.
1. 6% misio%ero perdido e% el sur de Califor%ia se de&ie%e e% u%a bifurcaci2% del cami%o. Sl sabe ue
dos pa%dillas de mo&ociclis&as habi&a% e% la re!i2%$ u%a ue siempre dice la )erdad y u%a ue
siempre mie%&e. Sl uiere saber cu*l cami%o lle)a a Dis%eyla%d. IMu/ pre!u%&a deber* hacerJ
3. E5is&e% cua&ro fu%cio%es boolea%as de u%a sola )ariable y -> fu%cio%es de dos )ariables. ICu*%&as
fu%cio%es de &res )ariables hayJ IDe % )ariablesJ
=. 6&ilice u%a &abla de )erdad para demos&rar ue P O 7P a%d M8 or 7P a%d %o& M8.
<. #ues&re c2mo puede co%s&ruirse la fu%ci2% a%d co% dos compuer&as %a%d.
>. 6se la ley de De#or!a% para e%co%&rar el compleme%&o de AD.
H. 6&ili4a%do el chip mul&iple5or de &res )ariables de la fi!ura 30-1$ impleme%&e u%a fu%ci2% cuya
salida sea la paridad de las e%&radas$ es decir$ la salida es - si y s2lo si u% %+mero impar de e%&radas
so% -.
?. P2%!ase su !orro de pe%sar. El chip mul&iple5or de &res )ariables de la fi!ura 30-1 e% realidad
puede calcular u%a fu%ci2% arbi&raria de cua&ro )ariables boolea%as. Describa c2mo y d/ u%
e(emplo$ dibu(e el dia!rama de l2!ica de la fu%ci2% ue es . si la palabra e% i%!l/s para el %+mero
de fila de la &abla de )erdad &ie%e u% %+mero impar de le&ras 7por e(emplo$ .... O cero O cua&ro
le&ras .9 .--- O sie&e O ci%co le&ras -9 --.- O &rece O ocho le&ras .8. 3u!ere%cia0. 3i
llamamos a la cuar&a )ariable de e%&rada D$ las ocho l,%eas de e%&rada podr,a% co%ec&arse a Vcc$
&ierra$ D o D.
L. Dibu(e el dia!rama de l2!ica de u% demul&iple5or de 1 bi&s$ u% circui&o cuya +%ica l,%ea de e%&rada
se e%),a a u%a de las cua&ro l,%eas de salida depe%die%do del es&ado de las dos l,%eas de co%&rol.
-..Dibu(e el dia!rama de l2!ica de u% codificador de dos bi&s$ co% cua&ro l,%eas de e%&rada$ de las
cuales e5ac&ame%&e u%a es&* al&a e% cualuier i%s&a%&e$ y dos l,%eas de salida cuyo )alor bi%ario de
dos bi&s i%dica cu*l e%&rada es&* al&a.
--. "edibu(e el PLA de la fi!ura 30-< co% suficie%&e de&alle para mos&rar c2mo puede impleme%&arse la
fu%ci2% l2!ica de mayor,a de la fi!ura 303. E% par&icular$ %o ol)ide mos&rar cu*les co%e5io%es es&*%
prese%&es e% ambas ma&rices.
-1.IMu/ hace es&e circui&oJ
1.-
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
podr,a ser fac&ible co%s&ruir u%a co% -... CP6$ cada u%a de ellas co% u% &iempo de ciclo de
- %s. 3i bie% es&e +l&imo dise'o usa CP6 m*s le%&as ue el primero$ e% &eor,a su capacidad
de c2mpu&o &o&al es la misma. Es e% es&o e% lo ue es&*% fi%cadas las espera%4as.
Podemos i%&roducir paralelismo e% di)ersos %i)eles. E% el %i)el de i%s&ruccio%es$ por
e(emplo$ el uso de filas de procesamie%&o y los dise'os superescalares puede% ele)ar el
desempe'o e% u% fac&or de -. respec&o a los dise'os purame%&e secue%ciales. 3i% embar!o$
para lo!rar u% me(oramie%&o por u% fac&or de cie% o mil o u% mill2% es %ecesario repe&ir CP6
e%&eras$ o al me%os porcio%es sus&a%ciales de ellas$ y lo!rar ue &odas colabore% de forma
eficie%&e. Au, es do%de es&* el re&o.
E% es&e cap,&ulo e5ami%aremos los pri%cipios de dise'o de compu&adoras paralelas y
es&udiaremos )arios e(emplos. Todas es&as m*ui%as co%sis&e% e% eleme%&os de procesamie%&o
y eleme%&os de memoria. Los dise'os difiere% e% la ca%&idad de cada eleme%&o ue es&*
prese%&e$ e% su co%s&i&uci2% y e% su i%&erco%e5i2%. Al!u%os dise'os emplea% u% %+mero
rela&i)ame%&e ba(o de compo%e%&es de !ra% po&e%cia$ mie%&ras ue o&ras usa% ca%&idades
e%ormes de compo%e%&es m*s d/biles. Tambi/% so% comu%es los dise'os i%&ermedios. 3e ha
&raba(ado mucho e% el *rea de las arui&ec&uras paralelas9 e% es&e cap,&ulo ape%as podemos
rascar la superficie. El lec&or puede e%co%&rar i%formaci2% adicio%al e% 7Loshi%$ -LL=9 Pfis&er$
-LL?9 3ima et al.* -LLH9 y Gil\i%so%$ -LL=8.
0.# ,SPEC.*S DE6 DISED* DE C*5PU.,D*+,S P,+,6E6,S
Al a%ali4ar u% %ue)o sis&ema de c2mpu&o paralelo$ las &res pre!u%&as fu%dame%&ales ue
debemos hacer so%;
-. ICu*%&os eleme%&os de procesamie%&o hay$ de u/ &ama'o y de u/ &ipoJ
1. ICu*%&os m2dulos de memoria hay$ de u/ &ama'o y de u/ &ipoJ
3. IC2mo se i%,erco%ec&a% los eleme%&os de procesamie%&o y de memoriaJ
E5ami%emos bre)eme%&e cada u%o de es&os pu%&os. Los eleme%&os de procesamie%&o puede%
)ariar desde las AL6 m,%imas has&a las CP6 comple&as$ co% &ama'os ue )a% desde u%a
peue'a fracci2% de u% chip has&a u% me&ro c+bico de circui&os elec&r2%icos por eleme%&o.
Como cabr,a esperar$ cua%do el eleme%&o de procesamie%&o es u%a fracci2% de u% chip$ es
posible euipar u%a compu&adora co% u%a !ra% ca%&idad de &ales eleme%&os$ ui4* has&a u%
mill2% de ellos. 3i el eleme%&o de procesamie%&o es u%a compu&adora comple&a$ co% su propia
memoria y euipo de E:3$ el %+mero de eleme%&os es %a&uralme%&e m*s reducido$ au%ue se
ha% i%s&alado sis&emas co% casi -.$... CP6. Cada )e4 se es&*% co%s&ruye%do m*s
compu&adoras paralelas a par&ir de pie4as comerciales$ sobre &odo CP6. Las capacidades y
limi&acio%es de es&as pie4as a me%udo i%fluye% co%siderableme%&e e% el dise'o.
Los sis&emas de memoria a me%udo se di)ide% e% m2dulos ue opera% de forma i%de0
pe%die%&e u%os de o&ros$ e% paralelo para ue muchas CP6 pueda% accesar a ellos al mismo
&iempo. Dichos m2dulos puede% ser peue'os 7\iloby&es8 o !ra%des 7me!aby&es8 y es&ar i%&e0
!rados a la CP6 o si&uados e% u%a &ar(e&a de circui&os dis&i%&a. Pues&o ue las memorias
di%*micas 7D"A#8 !ra%des suele% ser mucho m*s le%&as ue las CP6$ es com+% u&ili4ar
--
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
comple(os esuemas de cach/ para a!ili4ar el acceso a la memoria. Co% frecue%cia se usa%
dos$ &res y has&a cua&ro %i)eles de cach/.
Au%ue e5is&e cier&a )ariaci2% e%&re los dise'os de CP6 y de memoria$ el *rea e% la ue
m*s difiere% los sis&emas paralelos es e% la forma e% ue se combi%a% las pie4as. Los
esuemas de i%&erco%e5i2% se puede% di)idir a !ra%des ras!os e% dos ca&e!or,as; es&*&icos y
di%*micos. Los esuemas es&*&icos simpleme%&e co%ec&a% &odos los compo%e%&es e% u%a
co%fi!uraci2% fi(a$ como es&rella$ a%illo o cuadr,cula. E% los esuemas de i%&erco%e5i2%
di%*mica &odas las pie4as se co%ec&a% a u%a red de co%mu&aci2% ue puede e%cami%ar
di%*micame%&e me%sa(es e%&re los compo%e%&es. Los dos esuemas &ie%e% pu%&os fuer&es y
d/biles$ como e% bre)e )eremos.
Ver las compu&adoras paralelas como u%a colecci2% de chips co%ec&ados e%&re s, de u%a
forma u o&ra es b*sicame%&e u%a perspec&i)a asce%de%&e del mu%do. E% u% e%foue
desce%de%&e la pre!u%&a ue se har,a ser,a; KIMu/ es lo ue se )a a e(ecu&ar e% paraleloJK Au,
&ambi/% &e%emos &oda u%a !ama de posibilidades. Al!u%as compu&adoras paralelas se dise'a%
de modo ue pueda% e(ecu&ar )arios &raba(os i%depe%die%&es al mismo &iempo. Dichos &raba(os
%ada &ie%e% ue )er u%os co% o&ros y %o se comu%ica%. 6% e(emplo &,pico es u%a compu&adora
co% e%&re ? y >= CP6 creada para u% !ra% sis&ema 6NIE de &iempo compar&ido ue a&ie%de a
miles de usuarios remo&os. Los sis&emas de procesamie%&o de &ra%saccio%es de los ba%cos 7por
e(emplo$ ca(eros au&om*&icos8$ l,%eas a/reas 7por e(emplo$ sis&emas de reser)acio%es8 y
!ra%des ser)idores de Geb &ambi/% per&e%ece% a es&a ca&e!or,a$ lo mismo ue las
simulacio%es i%depe%die%&es ue se e(ecu&a% de forma co%curre%&e emplea%do difere%&es
co%(u%&os de par*me&ros.
E% u%a 4o%a difere%&e de es&e espec&ro se e%cue%&ra% las compu&adoras paralelas ue se
usa% para e(ecu&ar u% solo &raba(o ue co%sis&e e% muchos procesos paralelos. Por e(emplo$
co%sideremos u% pro!rama de a(edre4 ue a%ali4a u% &ablero dado !e%era%do u%a lis&a de
mo)imie%&os )*lidos y lue!o !e%era procesos paralelos para a%ali4ar 7recursi)ame%&e8 cada
%ue)o &ablero e% paralelo. Lo ue se busca co% el paralelismo au, %o es a&e%der a m*s
usuarios$ si%o resol)er co% mayor rapide4 u% solo problema.
Pasa%do a o&ra 4o%a del espec&ro$ %os e%co%&ramos co% m*ui%as e% las ue el paralelis0
mo pro)ie%e del uso i%&e%si)o de filas de procesamie%&o o de muchas AL6 ue opera% co% el
mismo flu(o de i%s&ruccio%es al mismo &iempo. Las supercompu&adoras %um/ricas co%
hardPare especial para procesar )ec&ores per&e%ece% a es&a ca&e!or,a. Au, %o s2lo se es&*
resol)ie%do u% solo problema pri%cipal$ si%o ue &odas las par&es de la compu&adora es&*%
&raba(a%do e% muy es&recha colaboraci2% e% casi el mismo aspec&o del problema 7por e(emplo$
difere%&es eleme%&os de los mismos dos )ec&ores se es&*% suma%do e% paralelo8.
Au%ue es dif,cil defi%irlo co% e5ac&i&ud$ es&os &res e(emplos difiere% e% lo ue al!u%os
llama% tama@o de grano. E% los sis&emas de &iempo compar&ido co% m+l&iples CP6$ la u%i0
dad de paralelismo es !ra%de; &odo u% pro!rama de usuario. La e(ecuci2% de pro!ramas !ra%0
des e% paralelo co% poca o %i%!u%a comu%icaci2% e%&re los pro!ramas es "araei!mo de
grano grue!o. El e5&remo opues&o$ ue ilus&ramos co% el procesamie%&o de )ec&ores$ se llama
"araei!mo de grano 9ino.
El &ama'o de !ra%o se refiere a los al!ori&mos y al sof&Pare$ pero &ie%e u% a%*lo!o
direc&o e% el hardPare. Los sis&emas co% u% %+mero reducido de CP6 !ra%des e
i%depe%die%&es ue &ie%e% co%e5io%es de ba(a )elocidad e%&re s, se dice ue es&*% d?%imente
aco"ado!. Lo
-1
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
opues&o so% los sis&emas 9uertemente aco"ado!) e% los ue los compo%e%&es !e%eralme%&e
so% m*s peue'os$ m*s (u%&os e i%&erac&+a% u%os co% o&ros co% frecue%cia a &ra)/s de redes
de comu%icaci2% co% !ra% a%cho de ba%da. E% casi &odos los casos$ los problemas ue &ie%e%
paralelismo de !ra%o !rueso se resuel)e% me(or e% sis&emas d/bilme%&e acoplados9 as, mismo$
los problemas co% paralelismo de !ra%o fi%o se resuel)e% me(or e% sis&emas fuer&eme%&e
acoplados. No obs&a%&e$ es &a%&a la )ariedad de al!ori&mos$ sof&Pare y hardPare$ ue e% el
me(or de los casos /s&a es s2lo u%a !u,a !e%eral. La amplia !ama de &ama'os de !ra%o de los
problemas y de posibilidades para el acoplamie%&o de los sis&emas ha dado pie a la amplia
)ariedad de arui&ec&uras ue es&udiaremos e% es&e cap,&ulo.
E% las seccio%es ue si!ue% e5ami%aremos al!u%os de los aspec&os del dise'o de
compu&adoras paralelas$ come%4a%do co% los modelos de comu%icaci2% y las redes de i%&er0
co%e5i2%. Lue!o a%ali4aremos cues&io%es de desempe'o y de sof&Pare. Por +l&imo$ co%clui0
remos co% u%a &a5o%om,a de las arui&ec&uras de compu&adoras paralelas ue de&ermi%ar* la
or!a%i4aci2% del res&o del cap,&ulo.
0.#.# 5odeo! de comunicacin
E% cualuier sis&ema de c2mpu&o paralelo$ las CP6 ue &raba(a% e% difere%&es par&es del
mismo problema se debe% comu%icar e%&re s, para i%&ercambiar i%formaci2%. La forma precisa
e% la ue lo debe% hacer es &ema de muchos deba&es e% la comu%idad arui&ec&2%ica. 3e ha%
propues&o e impleme%&ado dos dise'os dis&i%&os$ mul&iprocesadores y mul&icompu&adoras. E%
es&a secci2% e5ami%aremos ambos dise'os.
5uti"roce!adore!
E% el primer dise'o$ &odas las CP6 compar&e% u%a misma memoria f,sica$ como se ilus&ra e%
la fi!ura ?0- 7a8. 6% sis&ema basado e% memoria compar&ida como /s&e se llama
muti"roce!ador o a )eces simpleme%&e !i!tema con memoria com"artida.
El modelo del mul&iprocesador se e5&ie%de al sof&Pare. Todos los procesos ue es&*%
e(ecu&*%dose e% u% mul&iprocesador puede% compar&ir u% solo espacio de direccio%es )ir&ual
mapeado e% la memoria com+%. Cualuier proceso puede leer o escribir u%a palabra de me0
moria co% s2lo e(ecu&ar u%a i%s&rucci2% LOAD o 3TO"E. No se %ecesi&a %ada m*s. Dos
procesos puede% comu%icarse co% s2lo hacer ue u%o de ellos escriba da&os e% la memoria y
ue el o&ro los lea despu/s.
La capacidad de dos 7o m*s8 procesos para comu%icarse co% s2lo leer y escribir e% la
memoria es la ra42% por la ue los mul&iprocesadores so% &a% populares. 3e &ra&a de u% modelo
f*cil de e%&e%der para los pro!ramadores ue se puede aplicar a u%a amplia !ama de pro0
blemas. Co%sideremos$ por e(emplo$ u% pro!rama ue e5ami%a u%a ima!e% de mapa de bi&s
y e%umera &odos los ob(e&os ue co%&ie%e. 6%a copia de la ima!e% se !uarda e% la memoria$
como se mues&ra e% la fi!ura ?0- 7b8. Cada u%a de las -> CP6 e(ecu&a u% solo proceso$ al cual
se ha asi!%ado u%a de las -> seccio%es para ue la a%alice. 3i% embar!o$ cada proceso &ie%e
acceso a &oda la ima!e%$ lo cual es i%dispe%sable porue al!u%os ob(e&os ocupa% )arias sec0
-3
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
cio%es. 3i u% proceso descubre ue u%o de sus ob(e&os rebasa la fro%&era de su secci2%$ sim0
Figura 0-#. 7a8 #ul&iprocesador co% -> CP6 ue compar&e% u%a misma
memoria$ 7b8 Ima!e% di)idida e% -> seccio%es$ cada u%a de las cuales se a%ali4a
co% u%a CP6 dis&i%&a.
pleme%&e si!ue al ob(e&o a la si!uie%&e secci2% leye%do las palabras de esa secci2%. E% es&e
e(emplo$ )arios procesos descubrir*% el mismo ob(e&o$ por lo ue se reuiere cier&a coordi%a0
ci2% al fi%al para de&ermi%ar cu*%&as$ casas$ *rboles y a)io%es hay.
#uchos fabrica%&es de compu&adoras )e%de% mul&iprocesadores. Como e(emplos pode0
mos ci&ar el 3u% E%&erprise -....$ el 3eue%& N6#A0M$ el 3GI Ori!i% 1... y el BP:Co%)e5
E5emplar.
5uticom"utadora!
El se!u%do dise'o de arui&ec&ura paralela es auel e% el ue cada CP6 &ie%e su propia me0
moria pri)ada$ accesible +%icame%&e a ella y a %i%!u%a o&ra CP6. 6% dise'o as, se llama
muticom"utadora o !i!tema de memoria di!tri%uida) y se ilus&ra e% la fi!ura ?017a8. Las
mul&icompu&adoras suele% es&ar d/bilme%&e acopladas 7au%ue %o siempre8. El aspec&o cla)e
de u%a mul&icompu&adora ue la dis&i%!ue de u% mul&iprocesador es ue cada CP6 de u%a
mul&icompu&adora &ie%e su propia memoria local pri)ada a la ue puede acceder co% s2lo
e(ecu&ar i%s&ruccio%es LOAD y 3TO"E$ pero a la ue %i%!u%a o&ra CP6 puede acceder
usa%do esas i%s&ruccio%es. As, pues$ los mul&iprocesadores &ie%e% u% solo espacio de direc0
cio%es f,sico compar&ido por &odas las CP6$ mie%&ras ue las mul&icompu&adoras &ie%e% u%
espacio de direccio%es f,sico por CP6.
Pues&o ue las CP6 de u%a mul&icompu&adora %o puede% comu%icarse co% s2lo leer y
escribir e% la memoria com+%$ %ecesi&a% u% meca%ismo de comu%icaci2% dis&i%&o. Lo ue
hace% es pasarse me%sa(es e%&re s, u&ili4a%do la red de i%&erco%e5i2%. Como e(emplos de
mul&icompu&adoras podemos me%cio%ar al ID# 3P:1$ la I%&el:3a%dia Op&io% "ed y la
Gisco%si% COG.
La ause%cia de memoria compar&ida e% hardPare e% u%a mul&icompu&adora &ie%e impor&a%&es
implicacio%es para la es&ruc&ura del sof&Pare. Te%er u% solo espacio de direccio%es )ir&ual e%
el ue &odos los procesos puede% leer y escribir co% s2lo e(ecu&ar i%s&ruccio%es LOAD
-=
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
Figura 0-2. 7a8 #ul&icompu&adora co% -> CP6$ cada u%a de las cuales &ie%e su
propia memoria pri)ada 7b8 La ima!e% de mapa de bi&s de la fi!ura ?0- di)idida
e%&re las -> memorias.
y 3TO"E es imposible e% u%a mul&icompu&adora. Por e(emplo$ si la CP6 O 7la de la esui%a
superior i4uierda8 de la fi!ura ?0-7b8 descubre ue par&e de su ob(e&o se e5&ie%de hacia la
secci2% asi!%ada a la CP6 -$ podr* se!uir leye%do la memoria para acceder a la cola del
a)i2%. Por o&ra par&e$ si la CP6 . de la fi!ura ?017b8 efec&+a el mismo descubrimie%&o$ %o
puede leer simpleme%&e la memoria de la CP6 -9 &ie%e ue hacer al!o muy dis&i%&o para
ob&e%er los da&os ue %ecesi&a.
E% par&icular$ la CP6 . &ie%e ue descubrir 7de al!u%a ma%era8 cu*l CP6 &ie%e los da&os
ue %ecesi&a y e%)iar a esa CP6 u% me%sa(e e% el ue solici&a u%a copia de los da&os. Por lo
re!ular$ lo ue har,a e%&o%ces la CP6 . ser,a blouearse 7es decir$ esperar8 has&a recibir u%a
respues&a a su solici&ud. Cua%do el me%sa(e lle!a a la CP6 -$ el sof&Pare de esa CP6 debe
a%ali4arlo y de)ol)er los da&os solici&ados. Cua%do el me%sa(e de respues&a lle!a a la CP6 .$
el sof&Pare se desblouea y puede co%&i%uar su e(ecuci2%.
E% u%a mul&icompu&adora$ la comu%icaci2% e%&re procesos a me%udo u&ili4a primi&i)as
e% sof&Pare como se%d 7e%)iar8 y recei)e 7recibir8. Es&o hace ue el sof&Pare &e%!a u%a
es&ruc&ura difere%&e$ mucho %,as complicada$ ue e% u% mul&iprocesador$ y &ambi/% implica
ue la di)isi2% correc&a de los da&os y su colocaci2% e% los lu!ares 2p&imos es u%a cues&i2%
impor&a%&e e% u%a mul&icompu&adora. Es&o es me%os impor&a%&e e% u% mul&iprocesador por0
ue la colocaci2% %o afec&a la correcci2% %i la pro!ramabilidad$ au%ue s, podr,a afec&ar el
desempe'o. E% pocas palabras$ pro!ramar u%a mul&icompu&adora es mucho m*s dif,cil ue
pro!ramar u% mul&iprocesador.
E% es&as co%dicio%es$ Ipara u/ co%s&ruir mul&icompu&adoras$ si los mul&iprocesadores
so% m*s f*ciles de pro!ramarJ La respues&a es se%cilla; las mul&icompu&adoras !ra%des so%
mucho m*s se%cillas y eco%2micas de co%s&ruir ue los mul&iprocesadores co% el mismo
-<
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
%+mero de CP6. Impleme%&ar u%a memoria compar&ida por u%os cua%&os cie%&os de CP6 es
u%a empresa de !ra% ma!%i&ud$ pero es rela&i)ame%&e f*cil co%s&ruir u%a mul&icompu&adora
co% -.$... CP6 o m*s.
As, pues$ &e%emos u% dilema; los mul&iprocesadores so% dif,ciles de co%s&ruir pero f*ci0
les de pro!ramar$ mie%&ras ue las mul&icompu&adoras so% f*ciles de co%s&ruir pero dif,ciles
de pro!ramar. Es&a obser)aci2% ha dado pie a muchos i%&e%&os por co%s&ruir sis&emas h,bridos
ue sea% rela&i)ame%&e f*ciles de co%s&ruir y rela&i)ame%&e f*ciles de pro!ramar. Tales &raba0
(os ha% co%ducido a la re)elaci2% de ue hay )arias formas de impleme%&ar u%a memoria
compar&ida$ cada u%a co% sus )e%&a(as y des)e%&a(as. De hecho$ !ra% par&e de las i%)es&i!a0
cio%es ac&uales sobre arui&ec&uras paralelas &ie%e ue )er co% la co%)er!e%cia de las arui0
&ec&uras de mul&iprocesador y mul&icompu&adora e% formas h,bridas ue combi%a% las
)e%&a(as de cada u%a. El 3a%&o Grial au, es e%co%&rar dise'os escalables$ es decir$ ue si!a%
fu%cio%a%do bie% a medida ue se a'ade% m*s y m*s CP6.
6%a es&ra&e!ia para co%s&ruir sis&emas h,bridos se basa e% el hecho de ue los sis&emas
de c2mpu&o moder%os %o so% mo%ol,&icos si%o ue se co%s&ruye% e% u%a serie de capas; el
&ema de es&e libro. Es&e co%cep&o abre la posibilidad de impleme%&ar la memoria compar&ida
e% cualuiera de )arios %i)eles$ como se mues&ra e% la fi!ura ?03. E% la fi!ura ?037a8 )emos
c2mo el hardPare impleme%&a la memoria compar&ida como )erdadero mul&iprocesador. E%
es&e dise'o$ hay u%a sola copia de sis&ema opera&i)o co% u% solo co%(u%&o de &ablas$ e% par0
&icular la &abla de asi!%aci2% de memoria. Cua%do u% proceso %ecesi&a m*s memoria$ &ra%s0
fiere el co%&rol al sis&ema opera&i)o a &ra)/s de u%a &rampa$ /s&e busca e% su &abla u%a p*!i%a
libre y hace correspo%der la p*!i%a co% el espacio de direccio%es del proceso. E% lo ue al
sis&ema opera&i)o co%cier%e$ hay u%a sola memoria y /l lle)a la co%&abilidad de u/ proceso
posee u/ p*!i%a e% sof&Pare. Bay muchas formas de impleme%&ar la memoria compar&ida
e% hardPare$ como )eremos m*s adela%&e.
6%a se!u%da posibilidad es usar hardPare de mul&icompu&adora y hacer ue el sis&ema
opera&i)o simule la memoria compar&ida proporcio%a%do u% solo espacio de direccio%es )ir0
&ual pa!i%ado compar&ido para &odo el sis&ema. E% es&a es&ra&e!ia$ llamada memoria com-
"artida di!tri%uida 7D3#$ 3istri%uted Shared Memor() 7Li$ -L??9 Li y Buda\$ -L?>$-L?L8$
cada p*!i%a se ubica e% u%a de las memorias de la fi!ura ?017a8. Cada m*ui%a &ie%e su
propia memoria )ir&ual y sus propias &ablas de p*!i%as. Cua%do u%a CP6 efec&+a u%a LOAD
o 3TO"E co% u%a p*!i%a ue %o &ie%e$ ocurre u%a &rampa al sis&ema opera&i)o. Ss&e locali4a
e%&o%ces la p*!i%a y pide a la CP6 ue ac&ualme%&e la &ie%e ue a%ule su mapeo y e%),e la
p*!i%a por la red de i%&erco%e5i2%. Cua%do la p*!i%a lle!a$ se mapea y la i%s&rucci2% ue
caus2 el fallo se rei%icia. E% realidad$ lo ue el sis&ema opera&i)o es&* hacie%do es a&e%der los
fallos de p*!i%a co% la memoria remo&a e% lu!ar de co% el disco. Para el usuario$ parece como
si la m*ui%a &u)iera memoria compar&ida. E5ami%aremos D3# m*s adela%&e e% es&e
cap,&ulo.
6%a &ercera posibilidad es hacer ue u% sis&ema de &iempo de e(ecuci2% e% el %i)el de
usuario impleme%&e u%a forma 7&al )e4 espec,fica para el le%!ua(e8 de memoria compar&ida.
Co% es&a es&ra&e!ia$ el le%!ua(e de pro!ramaci2% proporcio%a al!+% &ipo de abs&racci2% de
memoria compar&ida$ ue lue!o el compilador y el sis&ema de &iempo de e(ecuci2% impleme%0
&a%. Por e(emplo$ el modelo Li%da se basa e% la abs&racci2% de u% espacio de &upias 7re!is&ros
de da&os ue co%&ie%e% u%a colecci2% de campos8 compar&ido. Los procesos de cualuier
->
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
Figura 0-3. Di)ersas capas e% las ue puede impleme%&arse la memoria
compar&ida$ 7a8 El hardPare$ 7b8 El sis&ema opera&i)o$ 7c8 El sis&ema de &iempo
de e(ecuci2% del le%!ua(e.
m*ui%a puede% &raer u%a &upia del espacio de &upias compar&ido o e%)iar u%a &upia a ese
espacio. Dado ue el acceso al espacio de &upias se co%&rola &o&alme%&e e% sof&Pare 7por el
sis&ema de &iempo de e(ecuci2% Li%da8$ %o se reuiere hardPare especial %i apoyo del sis&ema
opera&i)o.
O&ro e(emplo de memoria compar&ida espec,fica para u% le%!ua(e impleme%&ada por el
sis&ema de &iempo de e(ecuci2% es el modelo Orea de ob(e&os de da&os compar&idos. E% Orca$
los procesos compar&e% ob(e&os !e%/ricos$ %o s2lo &upias$ y puede% e(ecu&ar m/&odos espec,0
ficos para cada ob(e&o co% ellos. Cua%do u% m/&odo modifica el es&ado i%&er%o de u% ob(e&o$
correspo%de al sis&ema de &iempo de e(ecuci2% ase!urarse de ue &odas las copias del ob(e&o
e% &odas las m*ui%as se ac&ualice% simul&*%eame%&e. 6%a )e4 m*s$ pues&o ue los ob(e&os
so% u% co%cep&o es&ric&ame%&e de sof&Pare$ el sis&ema de &iempo de e(ecuci2% puede efec&uar
&o&alme%&e la impleme%&aci2%$ si% ayuda del hardPare %i del sis&ema opera&i)o. E5ami%are0
mos &a%&o a Li%da como a Orea m*s adela%&e e% es&e cap,&ulo.
0.#.2 +ede! de interconexin
E% la fi!ura ?01 )imos ue las mul&icompu&adoras debe% su cohesi2% a las redes de i%&erco0
%e5i2%. Ba lle!ado el mome%&o de e5ami%ar co% mayor de&e%imie%&o esas redes. "esul&a
i%&eresa%&e y sorpre%de%&e lo parecido ue so% los mul&iprocesadores y las mul&icompu&adoras
e% es&e se%&ido$ porue los mul&iprocesadores a me%udo &ie%e% )arios m2dulos de memoria
-H
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
ue &ambi/% debe% co%ec&arse e%&re s, y co% las CP6. Por ello$ el ma&erial de es&a secci2% a
me%udo se aplica a ambos &ipos de sis&emas.
La ra42% fu%dame%&al por la ue las redes de i%&erco%e5i2% de los mul&iprocesadores y
las mul&icompu&adoras so% similares es ue e% lo m*s fu%dame%&al ambas usa% &ra%sfere%cia
de me%sa(es. I%cluso e% u%a m*ui%a co% u%a sola CP6$ si el procesador %ecesi&a leer o
escribir u%a palabra$ lo ue %ormalme%&e hace es acer&ar cier&as l,%eas del bus y esperar u%a
respues&a. Es&a acci2% es fu%dame%&alme%&e similar a la &ra%sfere%cia de me%sa(es; el i%icia0
dor e%),a u%a solici&ud y espera u%a respues&a. E% los mul&iprocesadores !ra%des$ la comu%i0
caci2% e%&re las CP6 y la memoria remo&a casi siempre co%sis&e e% ue la CP6 e%),a u%
me%sa(e e5pl,ci&o$ llamado paue&e$ a la memoria solici&*%dole cier&os da&os$ y la memoria
de)uel)e u% paue&e de respues&a.
Las redes de i%&erco%e5i2% puede% &e%er has&a ci%co compo%e%&es;
-. CP6.
1. #2dulos de memoria.
3. I%&erfaces.
=. E%laces.
<. Co%mu&adores.
Ca e5ami%amos las CP6 y las memorias co% cier&o de&alle e% o&ros cap,&ulos y %o lo haremos
m*s au,. D*sicame%&e$ se &ra&a de los pu%&os fi%ales de &oda la comu%icaci2%. Las i%&erfaces
so% los disposi&i)os ue saca% los me%sa(es de las CP6 y las memorias y los i%&roduce% e%
ellas. E% muchos dise'os$ u%a i%&erfa4 es u% chip o &ar(e&a ue es&* co%ec&ada al bus local de
cada CP6 y puede hablar co% ella y co% la memoria local$ si la hay. Es com+% ue la i%&erfa4
i%cluya u% procesador pro!ramable as, como al!o de "A# pri)ada. Por lo re!ular$ la i%&erfa4
puede leer y escribir e% di)ersas memorias$ a fi% de &rasladar bloues de da&os de u% lu!ar a
o&ro.
Los e%laces so% los ca%ales f,sicos por los cuales se despla4a% los bi&s9 puede% ser el/c0
&rieos o de fibra 2p&ica y seriales 7a%chura de u% bi&8 o paralelos 7a%chura de m*s de u% bi&8.
Cada e%lace &ie%e u% a%cho de ba%da m*5imo$ ue es el %+mero de bi&s por se!u%do ue
puede &ra%sferir. Los e%laces puede% ser simple5 7u%idireccio%ales8$ semid+ple5 7e% u% se%0
&ido a la )e48 o d+ple5 7e% ambos se%&idos a la )e48.
Los co%mu&adores so% disposi&i)os co% )arios puer&os de e%&rada y )arios puer&os de
salida. Cua%do u% paue&e lle!a a u% co%mu&ador por u% puer&o de e%&rada$ cier&os bi&s del
paue&e se usa% para seleccio%ar el puer&o de salida al ue se e%)iar* el paue&e. 6% paue&e
podr,a &e%er s2lo 1 o = by&es$ pero &ambi/% podr,a ser mucho m*s lar!o 7di!amos$ ? RD8.
E5is&e cier&a a%alo!,a e%&re u%a red de i%&erco%e5i2% y las calles de u%a ciudad. Las
calles so% como e%laces9 cada u%a &ie%e u%a direccio%alidad 7de u%o o dos se%&idos8$ u%a &asa
de da&os m*5ima 7l,mi&e de )elocidad8 y u%a a%chura 7%+mero de carriles8. Las i%&erseccio%es
-?
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
so% como co%mu&adores. E% cada i%&ersecci2%$ u% paue&e ue lle!a 7pea&2% o )eh,culo8
puede esco!er cu*l puer&o de salida 7calle8 usar*$ depe%die%do de cu*l es su des&i%o fi%al.
Al dise'ar o a%ali4ar u%a red de i%&erco%e5i2%$ )arias *reas des&aca% por su impor&a%cia.
E% primer lu!ar es&* la cues&i2% de &opolo!,a$ es decir$ la forma e% ue es&*% dispues&os los
compo%e%&es. E% se!u%do lu!ar es&* la forma e% ue el co%mu&ador fu%cio%a y c2mo ma%e(a
la lucha por recursos. E% &ercer lu!ar es&* el al!ori&mo de e%ru&amie%&o ue se usa para ue
los me%sa(es lle!ue% a su des&i%o de forma eficie%&e. A co%]%uaci2% e5ami%aremos bre)e0
me%&e cada u%o de es&os &emas.
.o"oogAa
La &opolo!,a de u%a red de i%&erco%e5i2% describe la forma como es&*% dispues&os los e%laces
y los co%mu&adores9 por e(emplo$ e% forma de a%illo o de cuadricula. Los dise'os &opol2!icos
puede% modelarse como !rafos$ e% los ue los e%laces so% aris&as y los co%mu&adores so%
%odos$ como se mues&ra e% la fi!ura ?0=. Cada %odo de u%a red de i%&erco%e5i2% 7o de su
!rafo8 &ie%e cier&o %+mero de e%laces co%ec&ados a /l. Los ma&em*&icos llama% al %+mero de
e%laces grado del %odo9 los i%!e%ieros lo llama% a%anico de !aida. E% !e%eral$ cua%&o
mayor es el aba%ico de salida$ m*s opcio%es de e%ru&amie%&o hay y mayor es la &olera%cia de
fallos$ es decir$ la capacidad para se!uir fu%cio%a%do au%ue falle u% e%lace$ des)ia%do el
&r*fico por o&ros cami%os. 3i cada %odo &ie%e k aris&as y el cableado es el debido$ es posible
dise'ar la red de modo ue perma%e4ca ple%ame%&e co%ec&ada au%ue falle% k 0 - e%laces.
O&ra propiedad de u%a red de i%&erco%e5i2% 7o su !rafo8 es su di>metro. 3i medimos la
dis&a%cia e%&re dos %odos por el %+mero de aris&as ue es preciso recorrer para lle!ar de u%o
al o&ro$ el &,&ulo de u%a !r*fica es la dis&a%cia e%&re los dos %odos ue es&*% m*s separados 7es
decir$ e%&re los ue la dis&a%cia es m*5ima8. El di*me&ro de u%a red de i%&erco%e5i2% se
relacio%a co% el re&raso de peor caso al e%)iar paue&es de u%a CP6 a o&ra o de u%a CP6 a la
memoria porue cada bri%co por u% e%lace &oma u%a ca%&idad de &iempo fi%i&a. Cua%&o m*s
peue'o sea el di*me&ro$ me(or ser* el desempe'o de peor caso. O&ra cosa impor&a%&e es la
dis&a%cia media e%&re dos %odos$ la cual se relacio%a co% el &iempo de &r*%si&o medio de los
paue&es. ;
O&ra propiedad impor&a%&e de u%a red de i%&erco%e5i2% es su capacidad de &ra%smisi2%$
es decir$ cu*%&os da&os puede &ra%sferir por se!u%do. 6%a medida +&il de es&a capacidad es el
anc$o de %anda %i!ectri/. Para calcular es&a ca%&idad$ primero &e%emos ue di)idir
7co%cep&ualme%&e8 la red e% dos par&es i!uales 7e% &/rmi%os del %+mero de %odos8 pero
disco%e5as elimi%a%do u% co%(u%&o de aris&as de su !rafo. Lue!o calculamos el a%cho de
ba%da &o&al de las aris&as ue se elimi%aro%. Puede haber muchas formas dis&i%&as de di)idir la
red e% dos par&es i!uales. El a%cho de ba%da bisec&ri4 es el m,%imo de &odas las di)isio%es
posibles. La impor&a%cia de es&e %+mero radica e% ue si el a%cho de ba%da bisec&ri4 es$
di!amos$ de ?.. bi&s:s$ e%&o%ces si hay mucha comu%icaci2% e%&re las dos mi&ades el re%di0
mie%&o &o&al podr,a es&ar limi&ado a s2lo ?.. bi&s:s$ e% el peor de los casos. #uchos
dise'adores cree% ue el a%cho de ba%da bisec&ri4 es la m/&rica m*s impor&a%&e de u%a red de
i%&erco%e5i2%. #uchas redes de i%&erco%e5i2% se dise'a% co% el ob(e&i)o de ma5imi4ar el
a%cho de ba%da bisec&ri4.
-L
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
Figura 0-4. Di)ersas &opolo!,as. Los pu%&os !ruesos represe%&a% co%mu&adores.
No se mues&ra% las CP6 %i las memorias$ 7a8 6%a es&rella$ 7b8 6%a
i%&erco%e5i2% &o&al$ 7c8 6% *rbol$ 7d8 6% a%illo$ 7e8 6%a cuadr,cula. 7O 6%
&oroide doble$ 7!8 6% cubo$ 7h8 6% hipercubo =D.
Las redes de i%&erco%e5i2% se puede% carac&eri4ar por su dimen!ionaidad. Para %ues0
&ros fi%es$ la dime%sio%alidad es&* de&ermi%ada por el %+mero de opcio%es ue hay para lle!ar
del ori!e% al des&i%o. 3i %u%ca hay opcio%es 7es decir$ s2lo hay u% cami%o de cada ori!e% a
cada des&i%o8$ la red es cero0dime%sio%al. 3i hay u%a dime%si2% e% la ue se puede &omar u%a
decisi2%$ por e(emplo$ ir al orie%&e o ir al po%ie%&e$ la red es u%idime%sio%al. 3i hay dos e(es$
1.
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
de modo ue u% paue&e puede ir al orie%&e o al po%ie%&e$ o bie% ir al %or&e o al sur$ la red es
bidir%e%sio%al$ e&c/&era.
E% la fi!ura ?0= se mues&ra% )arias &opolo!,as. 32lo se ha% i%cluido los e%laces 7l,%eas8
y los co%mu&adores 7pu%&os8. Las memorias y las CP6 7ue %o se mues&ra%8 por lo re!ular
es&ar,a% co%ec&adas a los co%mu&adores media%&e i%&erfaces. E% la fi!ura ?0=7a8 &e%emos u%a
co%fi!uraci2% de e!trea cero0dime%sio%al$ e% la ue las CP6 y memorias es&ar,a% co%ec&a0
das a los %odos e5&eriores$ y el %odo ce%&ral s2lo reali4ar,a co%mu&aci2%. Au%ue su dise'o es
se%cillo$ si el sis&ema es !ra%de es muy probable ue el co%mu&ador ce%&ral sea u% impor&a%&e
cuello de bo&ella. Adem*s$ desde el pu%&o de )is&a de la &olera%cia de fallos$ es&e dise'o es
deficie%&e porue u% solo fallo e% el co%mu&ador ce%&ral des&ruye por comple&o el sis&ema.
E% la fi!ura ?0=7b8 &e%emos o&ro dise'o cero0dime%sio%al ue es&* e% el o&ro e5&remo
del espec&ro$ u%a interconexin tota. Au, cada %odo &ie%e u%a co%e5i2% direc&a co% &odos
los dem*s %odos. Es&e dise'o ma5imi4a el a%cho de ba%da bisec&ri4$ mi%imi4a el di*me&ro y
es e% e5&remo &olera%&e de fallos 7puede perder cualuier e%lace y au% as, se!uir ple%ame%&e
co%ec&ado8. Lo malo es ue el %+mero de e%laces reueridos para k %odos es k#k 0 l8:1$ cifra
ue pro%&o se )uel)e i%ma%e(able cua%do k es !ra%de.
6%a &ercera &opolo!,a cero0dime%sio%al es el *rbol$ ue se ilus&ra e% la fi!ura ?0=7c8. 6%
problema co% es&e dise'o es ue el a%cho de ba%da bisec&ri4 es i!ual a la capacidad de u% e%0
lace. Pues&o ue %ormalme%&e hay mucho &r*fico cerca de la par&e al&a del *rbol$ los %odos de
arriba se co%)er&ir*% e% cuellos de bo&ella. 6%a forma de remediar es&e problema es i%cre0
me%&ar el a%cho de ba%da bisec&ri4 da%do a los e%laces superiores mayor a%cho de ba%da. Por
e(emplo$ los e%laces del %i)el m*s ba(o podr,a% &e%er u%a capacidad de b$ el si!uie%&e %i)el
podr,a &e%er u%a capacidad de 1b$ y los e%laces del %i)el superior podr,a% &e%er 4% cada u%o.
6% dise'o as, se de%omi%a >r%o grue!o y se ha usado e% mul&icompu&adoras comerciales
como la 7ahora difu%&a8 C#0< de Thi%\i%! #achi%es.
El anio de la fi!ura ?0=7d8 es u%a &opolo!,a u%idime%sio%al se!+% %ues&ra defi%ici2%
porue cada paue&e ue se e%),a &ie%e la opci2% de ir a la derecha o ir a la i4uierda. La
cuadrAcua o maa de la fi!ura ?0=7e8 es u% dise'o bidir%e%sio%al ue se ha usado e% muchos
sis&emas comerciales. Es muy re!ular$ f*cil de cambiar de escala has&a &ama'os muy !ra%des$
y &ie%e u% di*me&ro ue aume%&a se!+% la ra,4 cuadrada del %+mero de %odos. 6%a )aria%&e de
la cuadr,cula es el do%e toroide de la fi!ura ?0=7f8$ ue es u%a cuadr,cula cuyas aris&as es&*%
co%ec&adas. Es&a &opolo!,a %o s2lo es m*s &olera%&e de fallos ue la cuadr,cula$ si%o ue su
di*me&ro &ambi/% es me%or porue las esui%as opues&as ahora puede% comu%icarse co% s2lo
dos pasos.
El cu%o de la fi!ura ?0=7!8 es u%a &opolo!,a &ridime%sio%al re!ular. Bemos ilus&rado u%
cubo de 1 5 1 5 1$ pero e% el caso !e%eral podr,a ser u% cubo de k 5 k 5 k. !n la fi!ura ?0=7h8
&e%emos u% cubo &e&radime%sio%al co%s&ruido a par&ir de dos cubos &ridime%sio%ales cuyas
aris&as correspo%die%&es es&*% co%ec&adas. Podr,amos crear u% cubo pe%&adime%sio%al
clo%a%do la es&ruc&ura de la fi!ura ?0=7h8 y co%ec&a%do los %odos correspo%die%&es para
formar u% bloue de cua&ro cubos. Para lle!ar a seis dime%sio%es podr,amos repe&ir el bloue
de cua&ro cubos e i%&erco%ec&ar los %odos correspo%die%&es$ y as,. 6% cubo :i0dime%sio%al
formado de es&a ma%era se de%omi%a hipercubo. #uchas compu&adoras paralelas usa% es&a
&opolo!,a porue el di*me&ro crece li%ealme%&e co% la dime%sio%alidad. E% o&ras palabras$ el
di*me&ro
1-
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
es el lo!ari&mo base 1 del %+mero de %odos$ de modo ue$ por e(emplo$ u% hipercubo -.0
dime%sio%al &ie%e -.1= %odos pero u% di*me&ro de s2lo -.$ lo ue da e5cele%&es propiedades
de re&raso. Obser)e ue$ e% co%&ras&e$ -.1= %odos dispues&os e% u%a cuadr,cula de 31 5 31
&ie%e u% di*me&ro de >1$ m*s de seis )eces m*s !ra%de ue el del hipercubo. El precio ue se
pa!a por el di*me&ro m*s peue'o es ue el aba%ico de salida y por &a%&o el %+mero de
e%laces 7y el cos&o8 es mucho mayor para el hipercubo. No obs&a%&e$ el hipercubo es u%a
opci2% com+% e% sis&emas de al&o desempe'o.
Conmutacin
6%a red de i%&erco%e5i2% co%sis&e e% co%mu&adores y alambres ue los co%ec&a%. E% la fi!ura
?0< )emos u%a red peue'a co% cua&ro co%mu&adores. Cada co%mu&ador de es&e e(emplo &ie%e
cua&ro puer&os de e%&rada y cua&ro puer&os de salida. Adem*s$ cada co%mu&ador &ie%e al!u%as
CP6 y circui&os de i%&erco%e5i2% 7ue %o se mues&ra% e% su &o&alidad8. La &area del
co%mu&ador es acep&ar paue&es ue lle!a% por cualuier puer&o de e%&rada y e%)iarlos por el
puer&o de salida correc&o.
Figura 0-(. "ed de i%&erco%e5i2% e% forma de cuadr,cula de cua&ro
co%mu&adores. 32lo se mues&ra% dos de las CP6.
Cada puer&o de salida es&* co%ec&ado a u% puer&o de e%&rada ue per&e%ece a o&ro
co%mu&ador por medio de u% e%lace serial o paralelo$ ue se mues&ra como l,%eas pu%&eadas
e% la fi!ura ?0<. Los e%laces seriales &ra%sfiere% u% bi& a la )e4. Los e%laces paralelos
&ra%sfiere% )arios bi&s a la )e4 y por &a%&o &ie%e% &ambi/% se'ales para co%&rolar el e%lace. Los
e%laces paralelos so% m*s r*pidos ue los e%laces seriales co% la misma frecue%cia de relo($
pero
11
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
&ie%e% el problema del ses!o 7ase!urarse de ue &odos los bi&s lle!ue% al mismo &iempo8 y so%
mucho m*s cos&osos.
Bay )arias posibles es&ra&e!ias de co%mu&aci2%. E% u%a de ellas$ llamada conmutacin
de circuito!) a%&es de e%)iar u% paue&e se reser)a por adela%&ado el cami%o comple&o desde
el ori!e% has&a el des&i%o. 3e ase!ura% &odos los puer&os y buffers$ de modo ue cua%do la
&ra%smisi2% se i%icie es&/ !ara%&i4ado ue &odos los recursos es&*% dispo%ibles y los bi&s
puede% )ia(ar a &oda )elocidad desde el ori!e%$ a &ra)/s de &odos los co%mu&adores$ has&a el
des&i%o. La fi!ura ?0< ilus&ra la co%mu&aci2% de circui&os$ co% u% circui&o reser)ado de la CP6
- a la CP6 1$ ue se i%dica co% la flecha %e!ra cur)a. Au, se ha% reser)ado &res puer&os de
e%&rada y &res puer&os de salida.
La co%mu&aci2% de circui&os puede compararse co% reser)ar la ru&a de u% desfile a
&ra)/s de u%a ciudad$ pidie%do a la polic,a ue blouee &odas las calles la&erales co%
barricadas. 3e reuiere pla%ificaci2% por adela%&ado$ pero u%a )e4 ue se ha efec&uado$ el
desfile puede a)a%4ar a &oda )elocidad si% i%&erfere%cia por par&e de o&ro &r*fico. La
des)e%&a(a es ue se reuiere pla%ificaci2% a%&icipada y se prohibe cualuier o&ro &r*fico$
au%ue de mome%&o %o haya %i%!+% i%&e!ra%&e del desfile 7paue&e8 a la )is&a.
6%a se!u%da es&ra&e!ia de co%mu&aci2% es la conmutacin de "a8uete! con amacena-
miento = reen'Ao. Au, %o es %ecesario reser)ar %ada co% a%&icipaci2%. #*s bie%$ el ori!e%
e%),a u% paue&e comple&o al primer co%mu&ador$ do%de se almace%a e% su &o&alidad. E% la
fi!ura ?0>7a8$ la CP6 - es el ori!e%$ y el paue&e e%&ero$ des&i%ado a la CP6 1$ se coloca
primero e% u% buffer de%&ro del co%mu&ador A. 6%a )e4 ue el paue&e se ha acumulado
cabalme%&e e% el co%mu&ador A$ se &ra%sfiere al co%mu&ador C$ como se mues&ra e% la fi!ura
?0>7b8. Ca ue el paue&e e%&ero ha lle!ado a C$ se &ra%sfiere al co%mu&ador D$ como se
mues&ra e% la fi!ura ?0>7c8. Por +l&imo$ el paue&e se e%),a al des&i%o$ la CP6 1. Obser)e ue
%o se reuiere preparaci2% y %o se reser)a% recursos por adela%&ado.
Figura 0--. Co%mu&aci2% de paue&es de almace%amie%&o y ree%),o.
Los co%mu&adores de almace%amie%&o y ree%),o debe% colocar los paue&es e% buffers
porue cua%do u% ori!e% 7u%a CP6$ memoria o co%mu&ador8 prese%&a u% paue&e$ cabe la
13
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
posibilidad de ue el puer&o de salida reuerido es&/ ocupado &ra%smi&ie%do o&ro paue&e. 3i
%o se usara% buffers$ los paue&es ue lle!ara% y %ecesi&ara% u% puer&o ocupado &e%dr,a% ue
desecharse$ y la red de i%&erco%e5i2% ser,a muy poco co%fiable. 3e usa% &res es&ra&e!ias de
buffers. E% la primera$ u!o de %u99er! en a entrada) cada puer&o de e%&rada &ie%e asociados
u%o o m*s buffers e% forma de cola de Kprimero ue e%&ra$ primero ue saleK. 3i el paue&e
ue es&* a la cabe4a de la cola %o puede &ra%smi&irse porue el puer&o de salida ue %ecesi&a
es&* ocupado$ simpleme%&e espera.
El problema co% es&e dise'o es ue$ si u% paue&e es&* espera%do ue se desocupe u%
puer&o de salida$ el paue&e ue )ie%e a&r*s &ie%e ue esperar$ au%ue es&/ des&i%ado para u%
puer&o desocupado. Es&a si&uaci2% se llama %o8ueo de ca%e/a de Anea) y se puede comparar
a u%a sucesi2% de au&om2)iles e% u%a carre&era de dos carriles ue &ie%e ue esperar porue el
primer au&om2)il uiere dar )uel&a a la i4uierda pero %o puede hacerlo a causa del &r*fico e%
el o&ro se%&ido. Au%ue el se!u%do au&om2)il y los ue le si!ue% uiera% se!uir de fre%&e$ el
au&om2)il ue es&* a la cabe4a los es&* blouea%do.
El bloueo de cabe4a de l,%ea puede elimi%arse co% u!o de %u99er! en a !aida. E% es&e
dise'o$ los buffers es&*% asociados a los puer&os de salida$ %o a los de e%&rada. A medida ue
lle!a% los bi&s de u% paue&e$ se almace%a% e% u% buffer asociado al puer&o de salida correc&o.
As,$ los paue&es des&i%ados al puer&o m %o puede% blouear a los paue&es des&i%ados al
puer&o n.
El %+mero de buffers asociado a u% puer&o &a%&o de e%&rada como de salida es limi&ado.
3i es preciso almace%ar m*s paue&es de los ue cabe% e% los buffers$ habr* ue desechar
paue&es. 6%a forma de me(orar es&a si&uaci2% es el uso de %u99er! comune!) e% el ue u%a
sola reser)a de buffers se repar&e di%*micame%&e e%&re los puer&os co%forme se %ecesi&a%. 3i%
embar!o$ es&e esuema reuiere u%a admi%is&raci2% m*s comple(a para lle)ar la co%&abilidad
de los buffers$ y &ambi/% permi&e a u%a co%e5i2% co% mucho &r*fico acaparar &odos los buffers
y as, blouear o&ras co%e5io%es. Adem*s$ cada co%mu&ador %ecesi&a poder co%&e%er el paue&e
m*s !ra%de$ y probableme%&e )arios paue&es de &ama'o m*5imo$ lo ue &ie%de a i%creme%&ar
las %ecesidades de memoria y reducir el &ama'o m*5imo de paue&e.
Au%ue la co%mu&aci2% de paue&es co% almace%amie%&o y ree%),o es fle5ible y eficie%0
&e$ &ie%e el problema de aume%&ar la la&e%cia 7re&raso8 de la red de i%&erco%e5i2%. 3upo%!amos
ue el &iempo reuerido para ue u% paue&e a)a%ce u% &ramo e% la fi!ura ?0> es de T ns.
Pues&o ue el paue&e debe copiarse cua&ro )eces para ue lle!ue de la CP6 - a la CP6 1 7e%
A$ e% C$ e% D y e% la CP6 de des&i%o8$ y %i%!+% copiado puede i%iciarse a%&es de ue &ermi%e
el a%&erior$ la la&e%cia de la red de i%&erco%e5i2% es de =H. 6%a soluci2% es dise'ar u%a red
h,brida$ co% al!u%as de las propiedades de la co%mu&aci2% de circui&os y al!u%as de la co%0
mu&aci2% de paue&es. Por e(emplo$ cada paue&e podr,a di)idirse l2!icame%&e e% u%idades
m*s peue'as. Ta% pro%&o como la primera u%idad lle!a a u% co%mu&ador$ se le puede &ra%s0
ferir al si!uie%&e co%mu&ador$ au% a%&es de ue haya lle!ado la cola del paue&e.
3eme(a%&e es&ra&e!ia difiere de la co%mu&aci2% de circui&os e% cua%&o a ue %o se reser0
)a% co% a%&icipaci2% recursos de e5&remo a e5&remo$ y puede haber compe&e%cia por los
recursos 7puer&os y buffers8. E% el enrutamiento 'irtua de corte a tra'?!) si la primera
u%idad de u% paue&e %o puede a)a%4ar$ el res&o del paue&e si!ue lle!a%do. E% el peor de los
casos$ es&e esuema se de!rada has&a co%)er&irse e% co%mu&aci2% de paue&es co% almace%a0
mie%&o y ree%),o. E% u%a es&ra&e!ia al&er%a&i)a$ el enrutamiento "or tEne) si la primera
1=
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
u%idad %o puede a)a%4ar$ se le pide al ori!e% ue de(e de &ra%smi&ir$ y as, el paue&e podr,a
uedar &e%dido a lo lar!o de dos o &al )e4 a+% m*s co%mu&adores. 6%a )e4 ue es&*% dispo%i0
bles los recursos %ecesarios$ el paue&e puede co%&i%uar.
Vale la pe%a se'alar ue ambas es&ra&e!ias de e%ru&amie%&o u&ili4a% al!o a%*lo!o a las
i%s&ruccio%es de filas de procesamie%&os de u%a CP6. E% u% i%s&a%&e dado$ cada co%mu&ador
s2lo es&* efec&ua%do u%a fracci2% peue'a del &raba(o$ pero (u%&os lo!ra% u% me(or desempe'o
ue el ue cada u%o podr,a lo!rar i%di)idualme%&e.
,goritmo! de enrutamiento
E% cualuier red ue %o sea cero0dime%sio%al hay ue &omar decisio%es acerca de la ru&a ue
los paue&es ha% de se!uir del ori!e% al des&i%o. E% muchos casos e5is&e% )arias ru&as. La
re!la ue de&ermi%a por cu*l sucesi2% de %odos debe )ia(ar u% paue&e para ir del ori!e% al
des&i%o se de%omi%a agoritmo de enrutamiento.
3e reuiere% bue%os al!ori&mos de e%ru&amie%&o porue es com+% ue haya )arios
cami%os dispo%ibles. 6% bue% al!ori&mo de e%ru&amie%&o puede dis&ribuir la car!a e%&re )arios
e%laces a fi% de apro)echar al m*5imo el a%cho de ba%da dispo%ible. Adem*s$ el al!ori&mo de
e%ru&amie%&o debe e)i&ar los bloueos mu&uos de%&ro de la red de i%&erco%e5i2%. Ocurre u%
%o8ueo mutuo 7o bloueo mor&al8 cua%do )arios paue&es ue es&*% e% &r*%si&o al mismo
&iempo se ha% apoderado de recursos de &al ma%era ue %i%!u%o de ellos puede a)a%4ar y
&odos ueda% bloueados i%defi%idame%&e.
E% la fi!ura ?0H se da u% e(emplo de bloueo mu&uo e% u%a red de i%&erco%e5i2% de
co%mu&aci2% de circui&os. 7Tambi/% puede haber bloueos mu&uos e% las redes de co%mu&a0
ci2% de paue&es$ pero es m*s f*cil ilus&rarlo e% las de co%mu&aci2% de circui&os.8 Au, cada
CP6 es&* &ra&a%do de e%)iar u% paue&e a la CP6 ue es&* e% la posici2% dia!o%alme%&e
opues&a. Cada u%a ha lo!rado reser)ar los puer&os de e%&rada y de salida de su co%mu&ador
local$ as, como u% puer&o de e%&rada e% el co%mu&ador ue si!ue$ pero %o puede ob&e%er el
puer&o de salida del se!u%do co%mu&ador$ por lo ue &ie%e ue esperar has&a ue ese puer&o se
desocupe. Lo malo es ue si las cua&ro CP6 i%icia% es&e proceso simul&*%eame%&e$ &odas ellas
se blouear*% y la red se suspe%der* i%defi%idame%&e.
Los al!ori&mos de e%ru&amie%&o se puede% clasificar como de e%ru&amie%&o de ori!e% o
de e%ru&amie%&o dis&ribuido. E% el enrutamiento de origen) el ori!e% de&ermi%a co% a%&i0
cipaci2% la ru&a comple&a ue se se!uir* por la red de i%&erco%e5i2%$ e5presada como u%a lis&a
de %+meros de puer&o ue se usar*% e% cada co%mu&ador del cami%o. Por lo re!ular$ si la ru&a
pasa por k co%mu&adores$ los primeros k by&es de cada paue&e co%&e%dr*% los k %+meros de
puer&o de salida reueridos$ u% by&e por puer&o. Cua%do el paue&e lle!a a u% puer&o$ el primer
by&e se separa y se usa para de&ermi%ar el puer&o de salida ue se usar*. El res&o del paue&e se
e%cami%a e%&o%ces al puer&o correc&o. E% cada paso del cami%o$ el paue&e se acor&a e% u%
by&e$ y e5po%e u% %ue)o %+mero de puer&o ue ser* el si!uie%&e e% seleccio%arse.
E% el e%ru&amie%&o dis&ribuido$ cada co%mu&ador &oma u%a decisi2% respec&o al puer&o al
ue e%)iar* cada paue&e ue lle!ue. 3i &oma la misma decisi2% para cada paue&e diri!ido a
u% des&i%o dado$ se dice ue el e%ru&amie%&o es e!t>tico. 3i el co%mu&ador &oma e% cue%&a el
!r*fico ac&ual$ se dice ue el e%ru&amie%&o es ada"tati'o.
1<
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
Figura 0-;. Dloueo mu&uo e% u%a red de i%&erco%e5i2% co% co%mu&aci2% de
circui&os.
6% al!ori&mo de e%ru&amie%&o muy u&ili4ado e% cuadr,culas rec&a%!ulares co% cualuier
ca%&idad de dime%sio%es y ue se sabe %o causa bloueos mu&uos es el enrutamiento di-
men!iona. E% es&e al!ori&mo$ el paue&e primero se despla4a a lo lar!o del e(e 5 has&a la
coorde%ada correc&a$ y lue!o a lo lar!o del e(e ( has&a la coorde%ada correc&a$ y as, sucesi)a0
me%&e si hay m*s dime%sio%es. Por e(emplo$ para ir de 73$H$<8 a 7>$L$ ?8 el paue&e primero
ir,a de 5 O 3 a (e O > pasa%do por 7=$ H$ <8$ 7<$ H <8 y 7>$ H$ <8. Lue!o )ia(ar,a por el e(e (
)ia(a%do a 7>$ ?$ <8 y 7>$ L$ <8. Por +l&imo$ el paue&e )ia(ar,a por el e(e z a 7>$ L$ >8$ 7>$ L$ H8
y 7>$ L$ ?8. Es&e al!ori&mo e)i&a los ciclos ue causa% u% bloueo mu&uo.
0.#.3 De!em"e@o
Lo ue se busca al co%s&ruir u%a compu&adora paralela es ue opere m*s r*pidame%&e ue u%a
m*ui%a u%iprocesador. 3i %o lo!ra es&e se%cillo ob(e&i)o$ %o &ie%e ra42% de e5is&ir. Adem*s$
la me&a debe alca%4arse co% eficacia de cos&os. 6%a m*ui%a ue es dos )eces m*s r*pida ue
u% u%iprocesador pero cues&a <. )eces m*s probableme%&e %o &e%dr* muchas )e%&as. E% es&a
secci2% e5ami%aremos al!u%os de los aspec&os de desempe'o asociados a las arui&ec&uras de
compu&adoras paralelas.
5?trica! de $ardFare
Desde el pu%&o de )is&a del hardPare$ las m/&ricas de desempe'o ue i%&eresa% so% la )eloci0
dad de la CP6 y de E:3$ y el desempe'o de la red de i%&erco%e5i2%. Las )elocidades de la
CP6 y de E:3 so% las mismas ue e% el u%iprocesador$ de modo ue los par*me&ros cla)e de
1>
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
i%&er/s e% u% sis&ema paralelo so% los asociados a la i%&erco%e5i2%. Dos so% los eleme%&os
cla)e; la la&e%cia y el a%cho de ba%da$ ue e5ami%aremos a co%&i%uaci2%.
La la&e%cia de )ia(e redo%do es el &iempo ue u%a CP6 &arda e% e%)iar u% paue&e y
recibir u%a respues&a. 3i el paue&e se e%),a a u%a memoria$ la la&e%cia mide el &iempo ue
&oma leer o escribir u%a palabra o u% bloue de palabras. 3i el paue&e se e%),a a o&ra CP6$ la
la&e%cia mide el &iempo de comu%icaci2% i%&erprocesador para paue&es de ese &ama'o. Por
lo re!ular$ la la&e%cia ue i%&eresa es la correspo%die%&e a paue&es m,%imos$ ue a me%udo
so% u%a palabra o u%a l,%ea de cach/ peue'a.
La la&e%cia compre%de )arios fac&ores$ y es difere%&e para las i%&erco%e5io%es de
co%mu&aci2% de circui&os$ de almace%amie%&o y ree%),o$ de cor&e a &ra)/s )ir&ual y de
e%ru&amie%&o por &+%el. E% el caso de la co%mu&aci2% de circui&os$ la la&e%cia es la suma del
&iempo de preparaci2% y el &iempo de &ra%smisi2%. Para preparar u% circui&o$ es preciso e%)iar
u% paue&e Kde so%deoK ue reser)e los recursos e i%forme de los resul&ados de su !es&i2%.
Despu/s$ hay ue armar el paue&e de da&os. 6%a )e4 ue es&* lis&o$ sus bi&s puede% fluir a
&oda )elocidad$ de modo ue si el &iempo de preparaci2% &o&al es T
s
$ el &ama'o del paue&e es
de p bi&s y el a%cho de ba%da es de % bi&s:s$ la la&e%cia e% u% se%&ido ser* T
s
-p1%. 3i el
circui&o es d+ple5$ %o habr* &iempo de preparaci2% para la respues&a$ de modo ue la la&e%cia
m,%ima para e%)iar u% paue&e de p bi&s y ob&e%er u%a respues&a de p bi&s es de T
s
@ 6p1%
se!u%dos.
E% el caso de la co%mu&aci2% de paue&es %o es %ecesario e%)iar u% paue&e de so%deo
al des&i%o co% a%&icipaci2%$ pero de &odos modos hay cier&o &iempo de preparaci2% i%&er%o
para armar el paue&e$ T
a
Au, el &iempo de &ra%smisi2% e% u% se%&ido es T
a
-p1%* pero /s&e es
s2lo el &iempo reuerido para ue el paue&e lle!ue al primer co%mu&ador. Bay u% re&ardo
fi%i&o de%&ro del co%mu&ador$ di!amos T
d
y lue!o el proceso se repi&e co% el si!uie%&e
co%mu&ador$ e&c. El re&raso T
d
se compo%e de u% &iempo de procesamie%&o y u% re&raso de la
cola de espera$ mie%&ras se desocupa el puer&o de salida. 3i hay n co%mu&adores$ la la&e%cia
&o&al e% u% se%&ido ser* T
a
@ n#p1% - TX
d
8 @ p:b$ do%de el &/rmi%o fi%al se debe al copiado del
+l&imo co%mu&ador al des&i%o.
Las la&e%cias e% u% se%&ido para el cor&e )ir&ual a &ra)/s y el e%ru&amie%&o por &+%el e% el
me(or de los casos so% cerca%as a T
a
@ p1% porue %o se reuiere u% paue&e de so%deo para
es&ablecer u% circui&o$ y &ampoco hay re&raso de almace%amie%&o y ree%),o. D*sicame%&e$ la
la&e%cia co%sis&e e% el &iempo de preparaci2% i%icial mie%&ras se arma el paue&e$ m*s el
&iempo ue &oma Ksacar los bi&s a la calleK. E% &odos los casos hay ue sumar el re&raso de
propa!aci2%$ pero /s&e suele ser peue'o.
La o&ra m/&rica de hardPare es el a%cho de ba%da. #uchos pro!ramas paralelos$ sobre
&odo e% las cie%cias %a&urales$ &ra%sfiere% de au, para all* u%a !ra% ca%&idad de da&os$ por lo
ue el %+mero de by&es:s ue el sis&ema puede &ra%sferir es cr,&ico para el desempe'o. E5is&e%
)arias m/&ricas para el a%cho de ba%da. Ca )imos u%a de ellas$ el a%cho de ba%da bisec&ri4.
O&ra es el anc$o de %anda agregado) ue se calcula por la simple suma de las capacidades de
&odos los e%laces. Es&e %+mero proporcio%a la ca%&idad m*5ima de bi&s ue puede% es&ar e%
&r*%si&o e% u% mome%&o dado. O&ra m/&rica impor&a%&e es el a%cho de ba%da medio e% la salida
de cada CP6. 3i cada CP6 puede &ra%smi&ir - #D:s$ %o sir)e de mucho ue la i%&erco%e5i2%
&e%!a u% a%cho de ba%da bisec&ri4 de -.. GD:s. La comu%icaci2% es&ar* limi&ada a la ca%&idad
de da&os ue cada CP6 puede e%)iar.
1H
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
E% la pr*c&ica es muy dif,cil acercarse siuiera al a%cho de ba%da &e2rico. #uchas fue%0
&es de !as&o e5&ra reduce% la capacidad. Por e(emplo$ siempre hay cier&o !as&o e5&ra asociado
a cada paue&e; para armarlo$ co%s&ruir su cabecera y po%erlo e% marcha. El e%),o de -.1=
paue&es de = by&es %u%ca lo!rar* el mismo a%cho de ba%da ue el e%),o de u% paue&e de
=.L> by&es. Lame%&ableme%&e$ el uso de paue&es peue'os es me(or para lo!rar la&e%cias
ba(as$ pues&o ue los paue&es !ra%des blouea% demasiado &iempo las l,%eas y los co%mu&a0
dores. As,$ hay u% co%flic&o i%here%&e e%&re lo!rar u%a la&e%cia ba(a y apro)echar al m*5imo el
a%cho de ba%da. E% al!u%as aplicacio%es$ u%a cosa es m*s impor&a%&e ue la o&ra$ y e% o&ras
aplicacio%es es al re)/s. No obs&a%&e$ cabe se'alar ue siempre es posible comprar m*s a%cho
de ba%da 7i%s&ala%do m*s cables o cables m*s a%chos8$ pero %o es posible comprar la&e%cias
m*s ba(as. Por ello$ !e%eralme%&e es me(or &ra&ar de hacer ue las la&e%cias sea% lo m*s ba(as
posibles$ y preocuparse por el a%cho de ba%da despu/s.
5?trica! de !o9tFare
Las m/&ricas de hardPare como la la&e%cia y el a%cho de ba%da se ocupa% de lo ue el
hardPare hace. 3i% embar!o$ los usuarios &ie%e% u% pu%&o de )is&a dis&i%&o. Ellos uiere%
saber u/ &a%&o )a a aume%&ar la rapide4 de e(ecuci2% de sus pro!ramas e% u%a compu&adora
paralela$ e% comparaci2% co% u% u%iprocesador. Para ellos$ la m/&rica cla)e es la aceleraci2%;
cu*%&as )eces m*s r*pidame%&e se e(ecu&a u% pro!rama e% u% sis&ema de n procesadores ue
e% u%o de u% solo procesador. Por lo re!ular$ es&os resul&ados se prese%&a% e% !r*ficas como la
de la fi!ura ?0?. E% ella )emos la e(ecuci2% de )arios pro!ramas paralelos dis&i%&os e% u%a
mul&icompu&adora formada por >= CP6 Pe%&ium Pro. Cada cur)a mues&ra la aceleraci2% de
u% pro!rama co% k CP6 e% fu%ci2% de k. La l,%ea pu%&eada i%dica la aceleraci2% perfec&a$ e%
la ue el uso de k CP6 hace ue el pro!rama sea k )eces m*s r*pido$ para cualuier k. Pocos
pro!ramas lo!ra% u%a aceleraci2% perfec&a$ pero al!u%os se acerca%. El problema de N
cuerpos se adap&a muy bie% a u%a e(ecuci2% paralela9 aPari 7u% (ue!o de mesa africa%o8
ob&ie%e resul&ados ra4o%ables9 pero la i%)ersi2% de cier&a ma&ri4 de perfilado %o &arda me%os
de ci%co )eces me%os por m*s CP6 ue es&/% dispo%ibles. Los pro!ramas y los resul&ados se
a%ali4a% e% 7Dal et al.* -LL?8.
6%a par&e de la ra42% por la ue es casi imposible lo!rar u%a aceleraci2% perfec&a es ue
casi &odos los pro!ramas &ie%e% al!+% compo%e%&e secue%cial$ como la fase de i%iciali4aci2%$
la lec&ura de da&os o la reu%i2% de los resul&ados. Te%er muchas CP6 %o ayuda mucho a es&as
ac&i)idades. 3upo%!a ue u% pro!rama se e(ecu&a dura%&e T se!u%dos e% u% u%iprocesador$ y
ue u%a fracci2% :de es&e &iempo correspo%de a c2di!o secue%cial y u%a fracci2% 7- '/) es
po&e%cialme%&e paraleli4able$ como se mues&ra e% la fi!ura ?0L7a8. 3i es&e +l&imo c2di!o se
puede e(ecu&ar e% n CP6 si% !as&o e5&ra$ su &iempo de e(ecuci2% podr* reducirse de 7- '/)T a
#I '7)Tln e% el me(or de los casos$ como se mues&ra e% la fi!ura ?0L7b8. Es&o da u% &iempo de
e(ecuci2% &o&al para las par&es secue%cial y paralela de/T@ 7- '/)T1n. La aceleraci2% %o es m*s
ue el &iempo de e(ecuci2% del pro!rama ori!i%al$ T* di)idido e%&re es&e %ue)o &iempo de
e(ecuci2%;


1?
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
Co% /O . podemos ob&e%er u%a aceleraci2% li%eal$ pero co%:^ O %o es posible lo!rar la aceleraci2%
perfec&a a causa del compo%e%&e secue%cial. Es&e resul&ado se co%oce como e= de ,mda$.
Figura 0-0. Los pro!ramas reales lo!ra% u%a aceleraci2% me%or ue la perfec&a
i%dicada por la l,%ea pu%&eada.
Figura 0-2. 7a8 Pro!rama ue &ie%e u%a par&e secue%cial y u%a par&e
paraleli4able. 7b8 Efec&o de e(ecu&ar u%a par&e del pro!rama e% paralelo.
La ley de Amdahl %o es la +%ica ra42% por la ue es casi imposible lo!rar u%a
aceleraci2% perfec&a. Las la&e%cias de comu%icaci2% dis&i%&as de cero$ los a%chos de ba%da de
comu%icaci2% fi%i&os y las i%eficie%cias al!or,&micas &ambi/% so% fac&ores. Adem*s$ au%ue se
co%&ara
1L
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
co% -... CP6$ %o &odos los pro!ramas puede% escribirse de modo ue apro)eche% &a%&as
CP6$ y el !as&o e5&ra de po%erlas &odas e% marcha puede ser co%siderable. Por a'adidura$ es
com+% ue el al!ori&mo me(or co%ocido %o se pueda paraleli4ar bie%$ y sea %ecesario usar u%
al!ori&mo sub2p&imo e% el caso paralelo. A pesar de &odo es&o$ para muchas aplicacio%es es
al&ame%&e deseable lo!rar ue el pro!rama fu%cio%e co% u%a rapide4 n )eces mayor$ au%ue se
%ecesi&e% 6n CP6 para ello. Despu/s de &odo$ las CP6 %o so% &a% caras$ y muchas compa',as
se co%forma% co% u%a eficie%cia muy por deba(o del -.._ e% o&ras face&as de su operaci2%.
Cmo ograr un %uen de!em"e@o
La forma m*s se%cilla de me(orar el desempe'o es a!re!ar m*s CP6 al sis&ema. 3i% embar!o$
es&a adici2% debe efec&uarse de &al ma%era ue se e)i&e la creaci2% de cuellos de bo&ella. 6%
sis&ema e% el ue es posible a'adir m*s CP6 e i%creme%&ar de ma%era acorde la po&e%cia de
c2mpu&o es u% sis&ema e!caa%e.
Para )er al!u%as de las implicacio%es de la escalabilidad$ co%sidere cua&ro CP6
co%ec&adas por u% bus$ como se ilus&ra e% la fi!ura ?0-.7a8. Ahora ima!i%e aume%&ar la escala
del sis&ema a -> CP6 a'adie%do -1 m*s$ como se mues&ra e% la fi!ura ?0-.7b8. 3i el a%cho de
ba%da del bus es de % #D:s$ e%&o%ces si cuadruplicamos el %+mero de CP6 &ambi/% habremos
reducido el a%cho de ba%da dispo%ible por CP6 de %14 #D:s a %189 #D:s. 6% sis&ema as, %o
es escalable.
Figura 0-#3. 7a8 3is&ema co% cua&ro CP6 basado e% bus. 7b8 3is&ema de ->
CP6 basado e% bus. 7c8 3is&ema de cua&ro CP6 basado e% cuadr,cula$ 7d8
3is&ema de -> CP6 basado e% cuadr,cula.
Ba!amos ahora lo mismo co% u% sis&ema basado e% u%a cuadr,cula$ como el ue se
mues&ra e% la fi!ura ?0-.7c8 y ?0-.7d8. Co% es&a &opolo!,a$ la adici2% de %ue)as CP6 &ambi/%
implica la adici2% de %ue)os e%laces$ por lo ue el aume%&o de escala del sis&ema %o hace ue
el a%cho de ba%da por CP6 se redu4ca$ como e% el caso de u% bus. De hecho$ la proporci2%
e%laces:CP6 aume%&a de -.. co% = CP6 7= CP6$ = e%laces8 a -.< co% -> CP6 7-> CP6$
1= e%laces8$ as, ue la adici2% de CP6 me(ora el a%cho de ba%da colec&i)o por CP6.
Desde lue!o$ el a%cho de ba%da %o es la +%ica co%sideraci2%. La adici2% de CP6 al bus
%o aume%&a el di*me&ro de la red de i%&erco%e5i2% %i la la&e%cia e% ause%cia de &r*fico$ pero la
adici2% de CP6 a la cuadr,cula s, lo hace. E% el caso de u%a cuadr,cula de n 5 n$ el di*me&ro
es de 6#n 0 -8$ de modo ue la la&e%cia de peor caso 7y la la&e%cia media8 aume%&a apro5ima0
3.
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
dame%&e co% la ra,4 cuadrada del %+mero de CP6. 3i hay =.. CP6$ el di*me&ro es de
3?$ mie%&ras ue si hay ->.. CP6 el di*me&ro es de H?. Cuadruplicar el %+mero de CP6
duplica apro5imadame%&e el di*me&ro y por &a%&o la la&e%cia media.
Idealme%&e$ u% sis&ema escalable debe ma%&e%er el mismo a%cho de ba%da medio por
CP6 y u%a la&e%cia media co%s&a%&e a medida ue se a'ade% m*s CP6. E% la pr*c&ica$ es
posible ma%&e%er suficie%&e a%cho de ba%da por CP6$ pero e% &odos los dise'os pr*c&icos la
la&e%cia crece al aume%&ar el &ama'o. Lo me(or ue puede hacerse es ue el crecimie%&o sea
lo!ar,&mico$ como e% u% hipercubo.
El aume%&o de la la&e%cia al aume%&ar la escala del sis&ema es u% problema porue la
la&e%cia a me%udo es fa&al para el desempe'o e% las aplicacio%es de !ra%o media%o y fi%o. 3i
u% pro!rama %ecesi&a da&os ue %o es&*% e% la memoria local$ a me%udo su ob&e%ci2% implica
u% re&raso sus&a%cial$ y cua%&o mayor es el sis&ema$ m*s lar!o es el re&raso$ como acabamos de
)er. Es&e problema se prese%&a &a%&o e% mul&iprocesadores como e% mul&icompu&adoras$ por0
ue e% ambos casos la memoria f,sica se di)ide e% m2dulos dispersos.
6%a co%secue%cia de es&a obser)aci2% es ue los dise'adores de sis&emas a me%udo
hace% has&a lo imposible por reducir$ o al me%os ocul&ar$ la la&e%cia$ emplea%do )arias
&/c%icas ue me%cio%aremos a co%&i%uaci2%. La primera &/c%ica para ocul&ar la la&e%cia es la
repe&ici2% de da&os. 3i es posible ma%&e%er copias de u% bloue de da&os e% )arios lu!ares$
ser* posible acelerar los accesos desde esos lu!ares. 6%a de las &/c%icas de repe&ici2% es el
uso de caches$ e% el ue u%a o m*s copias de al!u%os bloues de da&os se ma%&ie%e% cerca de
do%de se es&*% usa%do$ y &ambi/% cerca de do%de Kdebe% es&arK. O&ra es&ra&e!ia co%sis&e e%
ma%&e%er )arias copias pares `copias ue &ie%e% la misma ca&e!or,a` e% co%&raposici2% a la
relaci2% asim/&rica primario:secu%dario ue se usa e% las caches. Cua%do se ma%&ie%e% )arias
copias$ e% cualuier forma$ las cues&io%es fu%dame%&ales so% d2%de se coloca% los bloues de
da&os$ cu*%do y ui/% los coloca ah,. Las respues&as )ar,a% desde la colocaci2% di%*mica por
dema%da efec&uada por hardPare has&a la colocaci2% i%&e%cio%al e% el mome%&o de la car!a
si!uie%do direc&rices del compilador. Todos los casos$ la cohere%cia de !es&i2% es impor&a%&e.
6%a se!u%da &/c%ica para ocul&ar la la&e%cia es la "re%E!8ueda. 3i se puede &raer u%
da&o a%&es de ue se %ecesi&e$ el proceso de b+sueda podr* &raslaparse co% la e(ecuci2%
%ormal para ue cua%do el da&o se %ecesi&e$ ya es&/ ah,. La preb+sueda puede ser au&om*&ica
o es&ar ba(o el co%&rol del pro!rama. Cua%do u%a cach/ car!a %o s2lo la palabra a la ue se
hi4o refere%cia$ si%o &oda u%a l,%ea de cach/ ue co%&ie%e la palabra$ es&* apos&a%do a ue
las palabras ue si!ue% &ambi/% )aya% a %ecesi&arse pro%&o.
La preb+sueda &ambi/% puede co%&rolarse e5pl,ci&ame%&e. Cua%do u% compilador se da
cue%&a de ue )a a %ecesi&ar cier&os da&os$ puede i%cluir u%a i%s&rucci2% e5pl,ci&a para ob&e0
%erlos$ y colocar esa i%s&rucci2% e% u%a posici2% suficie%&eme%&e adela%&ada como para ue
los da&os lle!ue% a &iempo. Es&a es&ra&e!ia reuiere ue el compilador &e%!a u% co%ocimie%&o
&o&al de la m*ui%a subyace%&e y de su &empori4aci2%$ as, como co%&rol sobre d2%de se colo0
ca% &odos los da&os. Tales i%s&ruccio%es LOAD especula&i)as fu%cio%a% 2p&imame%&e cua%do
se sabe co% se!uridad ue los da&os se )a% a %ecesi&ar. Causar u% fallo de p*!i%a por u%
LOAD ue es&* e% u%a rama ue despu/s %o se &oma resul&a muy cos&oso.
6%a &ercera &/c%ica ue puede ocul&ar la la&e%cia es el mutienace #mullithreadin).
Casi &odos los sis&emas moder%os ma%e(a% el co%cep&o de mul&ipro!ramaci2%$ e% el ue
)arios
3-
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
procesos puede% e(ecu&arse simul&*%eame%&e 7o e% seudoparalelo por &iempo compar&ido8. 3i
puede lo!rarse ue la co%mu&aci2% e%&re procesos sea lo bas&a%&e r*pida 7por e(emplo$ si se
proporcio%a a cada proceso su propio mapa de memoria y re!is&ros e% hardPare8$ e%&o%ces
cua%do u% proceso se blouea mie%&ras espera la lle!ada de da&os remo&os el hardPare puede
co%mu&ar r*pidame%&e a o&ro proceso ue s, pueda co%&i%uar. E% el caso limi&a%&e$ la CP6
e(ecu&a la primera i%s&rucci2% del e%lace -$ la se!u%da i%s&rucci2% del e%lace 1$ e&c. De es&e
modo$ la CP6 puede ma%&e%erse ocupada$ au%ue los e%laces i%di)iduales &e%!a% la&e%cias de
memoria lar!as.
De hecho$ al!u%as m*ui%as co%mu&a% au&om*&icame%&e e%&re los procesos de forma
c,clica$ despu/s de cada i%s&rucci2%$ a fi% de ocul&ar las la&e%cias lar!as. 6%a de las primeras
supercompu&adoras$ la CDC >>..$ lle)2 es&a idea a &al e5&remo ue e% sus a%u%cios se ase!u0
raba ue &e%,a -. u%idades de procesamie%&o perif/ricas ue pod,a% operar e% paralelo. E%
realidad s2lo hab,a u% procesador perif/rico ue simulaba -. procesadores e(ecu&a%do i%s0
&ruccio%es de cada u%o por &ur%o circular$ primero u%a i%s&rucci2% del procesador perif/rico -$
lue!o u%a i%s&rucci2% del procesador perif/rico 1$ y as,.
6%a cuar&a &/c%ica para ocul&ar la la&e%cia es el uso de escri&uras ue %o se blouea%.
Normalme%&e$ cua%do se e(ecu&a u%a i%s&rucci2% 3TO"E$ la CP6 espera has&a ue se fi%ali4a
la i%s&rucci2% a%&es de co%&i%uar. Co% escri&uras ue %o se blouea%$ se i%icia la operaci2% de
memoria$ pero el pro!rama de &odos modos co%&i%+a. Co%&i%uar despu/s de u% LOAD es m*s
dif,cil$ pero co% e(ecuci2% e% desorde% has&a eso es posible.
0.#.4 So9tFare
Au%ue es&e cap,&ulo &ra&a primordialme%&e las arui&ec&uras de compu&adora paralelas$ es
apropiado hablar u% poco acerca del sof&Pare &ambi/%. Despu/s de &odo$ si% sof&Pare paralelo
el hardPare paralelo %o sir)e de mucho$ y es por ello ue los bue%os dise'adores de hardPare
&oma% e% cue%&a las %ecesidades del sof&Pare al dise'ar el hardPare. 3i desea u% &ra&amie%&o
del sof&Pare para compu&adoras paralelas$ )ea 7Gil\i%so% y Alie%$ -LLL8.
E5is&e% cua&ro es&ra&e!ias !e%erales para producir sof&Pare para compu&adoras paralelas.
E% u% e5&remo es&* la adici2% de biblio&ecas %um/ricas especiales a le%!ua(es secue%ciales
por lo dem*s %ormales. Por e(emplo$ se podr,a i%)ocar desde u% pro!rama secue%cial u%
procedimie%&o de biblio&eca ue i%)ier&a u%a ma&ri4 !ra%de o resuel)a u% co%(u%&o de
ecuacio%es difere%ciales parciales e% u% procesador paralelo si% ue el procesador siuiera se
d/ cue%&a de la e5is&e%cia de paralelismo. El problema co% es&e e%foue es ue el paralelismo
s2lo puede usarse e% u%os cua%&os procedimie%&os y el !rueso del c2di!o se!uir* sie%do
secue%cial.
6%a se!u%da es&ra&e!ia es la adici2% de biblio&ecas especiales ue co%&ie%e% primi&i)as
de comu%icaci2% y co%&rol. Au, el pro!ramador &ie%e la respo%sabilidad de crear y co%&rolar
el paralelismo de%&ro de u% le%!ua(e de pro!ramaci2% co%)e%cio%al$ emplea%do es&as primi0
&i)as adicio%ales.
El si!uie%&e paso es a'adir u%as cua%&as co%s&ruccio%es especiales a le%!ua(es de pro0
!ramaci2% e5is&e%&es$ como la capacidad de bifurcar f*cilme%&e %ue)os procesos paralelos$
e(ecu&ar las i&eracio%es de u% ciclo e% paralelo$ o efec&uar operacio%es ari&m/&icas co%
31
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
&odos los eleme%&os de u% )ec&or al mismo &iempo. Es&e e%foue se ha adop&ado amplia0
me%&e y se ha% modificado muchos le%!ua(es de pro!ramaci2% para ue i%cluya% al!o de
paralelismo.
La es&ra&e!ia m*s e5&rema ser,a i%)e%&ar u% le%!ua(e &o&alme%&e %ue)o especialme%&e
para el procesamie%&o e% paralelo. La )e%&a(a ob)ia de i%)e%&ar u% %ue)o le%!ua(e es ue /s&e
ser,a id2%eo para la pro!ramaci2% e% paralelo$ pero la des)e%&a(a i!ualme%&e ob)ia es ue los
pro!ramadores &e%dr,a% ue apre%der u% %ue)o le%!ua(e. #uchos de ellos &ie%e% o&ras cosas
ue hacer co% su &iempo. Casi &odos los le%!ua(es paralelos %ue)os so% impera&i)os 7co%
i%s&ruccio%es para modificar )ariables de es&ado8$ pero u%os cua%&os so% fu%cio%ales$ basados
e% l2!ica u orie%&ados a ob(e&os.
Ba habido &a%&as biblio&ecas$ e5&e%sio%es y le%!ua(es i%)e%&ados para la pro!ramaci2%
e% paralelo$ y abarca% u%a !ama &a% amplia de posibilidades$ ue es imposible clasificarlos
&odos de al!u%a forma ra4o%able. E% lu!ar de i%&e%&arlo$ %os co%ce%&raremos e% ci%co
cues&io%es b*sicas ue co%s&i&uye% el cora42% de &odo el sof&Pare para compu&adoras
paralelas.
-. #odelos de co%&rol.
1. Gra%ularidad del paralelismo.
3. Paradi!mas compu&acio%ales.
=. #/&odos de comu%icaci2%.
<. Primi&i)as de si%cro%i4aci2%.
Cada u%a de es&as cues&io%es se es&udiar* e% su opor&u%idad.
5odeo! de contro
Tal )e4 la decisi2% fu%dame%&al ue el sof&Pare debe &omar es si habr* u% solo e%lace de
co%&rol o )arios. E% el primer modelo hay u% pro!rama y u% co%&ador de pro!rama$ pero
)arios co%(u%&os de da&os. Cua%do se emi&e u%a i%s&rucci2%$ se e(ecu&a co% &odos los co%(u%&os
de da&os simul&*%eame%&e$ co% difere%&es eleme%&os de procesamie%&o.
Por e(emplo$ ima!i%e u% pro!rama me&eorol2!ico ue cada hora recibe medicio%es de
&empera&ura de miles de se%sores remo&os ue &ie%e% ue promediar para cada se%sor. Cua%do
el pro!rama emi&e la i%s&rucci2%
CARFAR LA .EM&ERA.*RA &ARA LA 3 A#M# E" EL REFS.RO R3
cada procesador la e(ecu&a u&ili4a%do sus propios da&os y su propio "-. Despu/s$ cua%do el
pro!rama emi&e la i%s&rucci2%
S*MAR LA .EM&ERA.*RA &ARA LAS 2 A#M# AL REFS.RO R3
u%a )e4 m*s$ cada procesador lo hace u&ili4a%do sus propios da&os. Al fi%al del c*lculo$ cada
procesador habr* calculado la &empera&ura media para u% se%sor dis&i%&o.
33
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
Las implicacio%es de es&e modelo de pro!ramaci2% para el hardPare so% e%ormes.
De hecho$ lo ue dice es ue cada eleme%&o de procesamie%&o es b*sicame%&e u%a AL6 y
u%a memoria$ si% l2!ica propia para decodif,car i%s&ruccio%es. E% )e4 de ello$ u%a sola u%idad
ce%&rali4ada &rae i%s&ruccio%es y le dice a las AL6 lo ue &ie%e% ue hacer a co%&i%uaci2%.
E% el modelo al&er%a&i)o hay )arios e%laces de co%&rol$ cada u%o co% su propio co%&ador
de pro!rama$ re!is&ros y )ariables locales. Cada e%lace de co%&rol e(ecu&a su propio pro!rama
co% sus propios da&os$ posibleme%&e comu%ic*%dose o si%cro%i4*%dose co% o&ros e%laces de
co%&rol cada cier&o &iempo. E5is&e% muchas )ariacio%es de es&a idea b*sica$ y (u%&as co%s&i&u0
ye% el modelo domi%a%&e del procesamie%&o e% paralelo. Por es&a ra42%$ ahora %os co%ce%&ra0
remos primordialme%&e e% la compu&aci2% e% paralelo co% m+l&iples e%laces de co%&rol.
<ranuaridad de "araei!mo
3e puede i%&roducir paralelismo de co%&rol e% di)ersos %i)eles. E% el %i)el m*s ba(o$ las
i%s&ruccio%es de m*ui%a i%di)iduales puede% co%&e%er paralelismo 7por e(emplo$ el IA0>=8.
E% es&e %i)el$ los pro!ramadores %ormalme%&e %o &ie%e% co%ocimie%&o del paralelismo9 es&*
ba(o el co%&rol del compilador o del hardPare.
6% %i)el m*s arriba es&* el paralelismo e% el %i)el de bloues$ ue permi&e a los pro!ra0
madores co%&rolar e5pl,ci&ame%&e cu*les e%u%ciados debe% e(ecu&arse secue%cialme%&e y
cu*les debe% e(ecu&arse e% paralelo. 6%a de las formas m*s ele!a%&es de e5presar es&e &ipo de
paralelismo se debe a Al!ol >?$ e% el cual se usaba
begin Enuncia%oK3E Enuncia%oK2E Enuncia%oK: end
para crear u% bloue co% 7por e(emplo8 &res e%u%ciados arbi&rarios ue se deb,a% e(ecu&ar e%
sucesi2%. E% co%&ras&e$
begin Enuncia%oK37 Enuncia%oK27 Enuncia%oK: end
ser),a para e(ecu&ar los mismos &res e%u%ciados e% paralelo. #edia%&e u%a colocaci2% cuida0
dosa de si!%os de pu%&o y coma$ comas$ par/%&esis y delimi&adores %eginCend) se pod,a%
e5presar combi%acio%es arbi&rarias de e(ecuci2% secue%cial y paralela.
3e prese%&a u% paralelismo co% !ra%o u% poco m*s !rueso cua%do es posible llamar a u%
procedimie%&o y %o obli!ar al i%)ocador a esperar a ue &ermi%e a%&es de co%&i%uar. No espe0
rar implica ue el i%)ocador y el i%)ocado se e(ecu&ar*% e% paralelo. 3i el i%)ocador es&* e%
u% ciclo ue llama a u% procedimie%&o e% cada i&eraci2% y %o espera a ue &ermi%e %i%!u%o de
ellos$ es posible i%iciar u% !ra% %+mero de procedimie%&os e% paralelo a la )e4.
O&ra forma de paralelismo es &e%er u% m/&odo para ue u% proceso cree o bifurue m+l 0
&iples enace! o "roce!o! igero!) &odos los cuales se e(ecu&a% de%&ro del espacio de direccio0
%es del proceso. Cada e%lace &ie%e su propio co%&ador de pro!rama$ re!is&ros y pila$ pero fuera
de eso compar&e el res&o del espacio de direccio%es 7y &odas las )ariables !lobales8 co% &odos
los dem*s e%laces. 7E% co%&ras&e co% los e%laces$ difere%&es procesos %o compar&e% u% mismo
espacio de direccio%es.8 Los e%laces se e(ecu&a% co% i%depe%de%cia u%os de o&ros$
posibleme%&e e% difere%&es CP6. E% al!u%os sis&emas$ el sis&ema opera&i)o &ie%e co%oci0
3=
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
mie%&o de &odos los e%laces y se e%car!a de pla%ificarlos9 e% o&ros$ cada proceso de usuario se
e%car!a de su propia pla%ificaci2% y !es&i2% de e%laces$ si% ue el sis&ema opera&i)o siuiera
sepa ue e5is&e% e%laces.
Por +l&imo$ la forma m*s burda de paralelismo es hacer ue )arios procesos i%depe%0
die%&es colabore% para resol)er u% problema. A difere%cia de los e%laces$ ue compar&e% u%
solo espacio de direccio%es$ cada proceso i%depe%die%&e &ie%e su espacio propio$ por lo ue
los procesos debe% cooperar a cier&a dis&a%cia. Es&o implica ue el problema &ie%e ue di)i0
dirse e% fra!me%&os rela&i)ame%&e !ra%des$ u%o para cada proceso. 3i% embar!o$ los procesos
i%depe%die%&es ofrece% la mayor opor&u%idad para apro)echar el paralelismo a !ra% escala$
sobre &odo e% mul&icompu&adoras.
Paradigma! com"utacionae!
Casi &odos los pro!ramas paralelos$ sobre &odo los ue implica% !ra%des %+meros de e%laces
o procesos i%depe%die%&es$ usa% al!+% paradi!ma subyace%&e para es&ruc&urar su &raba(o.
E5is&e% muchos de esos paradi!mas. E% es&a secci2% s2lo me%cio%aremos al!u%os de los m*s
u&ili4ados.
6%a !e%erali4aci2% de la idea de &e%er u% pro!rama paralelo ue co%s&a de u% e%lace de
co%&rol y m+l&iples u%idades de e(ecuci2% es el "aradigma de "rograma Enico) mEti"e!
dato! 73P#D$ Sinle $roram M:ltiple 3ata). La idea au, es ue au%ue el sis&ema co%sis&e
e% )arios procesos i%depe%die%&es$ &odos e(ecu&a% el mismo pro!rama pero co% difere%&es
co%(u%&os de da&os. 32lo ue ahora$ a difere%cia del e(emplo de las &empera&uras$ %o es&*% e%
coordi%aci2%$ si%cro%i4ados has&a la +l&ima i%s&rucci2%. E% )e4 de ello$ cada u%o reali4a el
mismo c*lculo$ pero a su propio ri&mo.
6% se!u%do paradi!ma es la 9ia de "roce!amiento #pipeline)* ue se ilus&ra e% la fi!ura
?0-- 7a8 co% &res procesos. Los da&os se alime%&a% al primer proceso$ ue los &ra%sforma y los
alime%&a al se!u%do proceso$ e&c. 3i el flu(o de da&os es lar!o 7por e(emplo$ u%a prese%&aci2%
e% )ideo8$ &odos los procesadores podr,a% es&ar ocupados al mismo &iempo. Las filas de pro0
cesamie%&o 6NIE fu%cio%a% as, y se puede% e(ecu&ar como procesos i%di)iduales e% paralelo
e% u%a mul&icompu&adora o u% mul&iprocesador.
O&ro paradi!ma es el c*lculo de la fi!ura ?0- l7b8$ e% el ue el &raba(o se di)ide e% fases$
por e(emplo$ i&eracio%es de u% ciclo. Dura%&e cada fase$ )arios procesos &raba(a% e% paralelo$
pero cua%do cada u%o &ermi%a espera has&a ue los dem*s ha% &ermi%ado &ambi/% a%&es de
i%iciar la si!uie%&e fase. 6% cuar&o paradi!ma es el de di'ide = 'encer>!) ue se ilus&ra e% la
fi!ura ?0- l7c8. E% es&e paradi!ma u% proceso i%icia y lue!o se bifurca e% o&ros procesos a los
ue puede dele!ar par&e del &raba(o. 6%a a%alo!,a e% el mu%do de la co%s&rucci2% es u%
co%&ra&is&a !e%eral ue recibe u% pedido$ y lue!o subco%&ra&a !ra% par&e del &raba(o a
subco%&ra&is&as de alba'iler,a$ elec&ricidad$ plomer,a$ pi%&ura y o&ras especialidades. Ss&os$
a su )e4$ podr,a% subco%&ra&ar par&e de su &raba(o a o&ros subco%&ra&is&as especiali4ados.
Nues&ro +l&imo modelo es el "aradigma de tra%a1ador re"etido) a )eces llamado
gran1a de tarea!) el cual se ilus&ra e% la fi!ura ?0- l7d8. Au, se &ie%e u%a cola de &raba(o
ce%&rali4ada y los &raba(adores saca% &areas de la cola y las lle)a% a cabo. 3i u%a &area !e%era
%ue)as &areas$ /s&as se a'ade% a la cola ce%&ral. Cada )e4 ue u% &raba(ador &ermi%a su &area
ac&ual$ acude a
3<
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
Figura 0-##. Paradi!mas compu&acio%ales. 7a8 Fila de procesamie%&o$ 7b8
C2mpu&o e% fases$ 7c8 Di)ide y )e%cer*s$ 7d8 Traba(ador repe&ido.
la cola de &areas para ob&e%er u%a %ue)a. Es&e paradi!ma &ambi/% puede impleme%&arse co%
u% admi%is&rador ac&i)o e% la par&e superior ue repar&e el &raba(o$ e% lu!ar de obli!ar a los
&raba(adores ue lo co%si!a% por su cue%&a.
5?todo! de comunicacin
Cua%do u% pro!rama se di)ide e% fra!me%&os 7di!amos$ procesos8 ue se e(ecu&a% e% paralelo$
los fra!me%&os 7procesos8 a me%udo %ecesi&a% comu%icarse e%&re s,. Es&a comu%icaci2% puede
efec&uarse de u%a de dos ma%eras; )ariables compar&idas o &ra%sfere%cia e5pl,ci&a de
me%sa(es. E% el primer m/&odo$ &odos los procesos &ie%e% acceso a la memoria l2!ica com+% y
puede% comu%icarse ley/%dola y escribie%do e% ella. Por e(emplo$ u% proceso puede a(us&ar
u%a )ariable y o&ro proceso puede leerla.
E% u% mul&iprocesador$ las )ariables puede% compar&irse e%&re m+l&iples procesos
mapea%do la misma p*!i%a al espacio de direccio%es de cada proceso. E%&o%ces se puede%
leer y escribir )ariables compar&idas emplea%do i%s&ruccio%es de m*ui%a LOAD y 3TO"E.
E% u%a mul&icompu&adora$ au%ue %o &ie%e memoria f,sica compar&ida$ &ambi/% es posible
compar&ir )ariables l2!icame%&e$ au%ue es u% poco m*s complicado. Como )imos a%&es$
Li%da ma%e(a el co%cep&o de espacio de &upias compar&ido$ au% e% u%a mul&icompu&adora$
y Orca ma%e(a el co%cep&o de ob(e&os compar&idos cru4a%do fro%&eras de m*ui%as. O&ra
posibilidad es compar&ir u% solo espacio de direccio%es e% u%a mul&icompu&adora y pa!i%ar a
&ra)/s de la red de i%&erco%e5i2%. E% s,%&esis$ es posible permi&ir ue los procesos se
comu%iue% a &ra)/s de )ariables compar&idas &a%&o e% mul&iprocesadores como e% mul0
&icompu&adoras.
3>
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
La al&er%a&i)a a la comu%icaci2% a &ra)/s de memoria compar&ida es la comu%icaci2%
por &ra%sfere%cia e5pl,ci&a de me%sa(es. E% es&e modelo$ los procesos usa% primi&i)as como
se%d y recei)e para comu%icarse. 6% proceso emi&e u% se%d$ %ombra%do a o&ro proceso como
des&i%o. Ta% pro%&o como el se!u%do emi&e u% recei)e$ el me%sa(e se copia e% el espacio de
direccio%es del recep&or.
La &ra%sfere%cia de me%sa(es &ie%e muchas )ariacio%es$ pero &odas se reduce% a &e%er
dos primi&i)as se%d y recei)e ue sir)e% para &ra%smi&ir me%sa(es. Ss&as !e%eralme%&e se
impleme%&a% como llamadas al sis&ema. Veremos al!u%os de los de&alles m*s adela%&e e% es&e
cap,&ulo.
O&ro aspec&o impor&a%&e de la &ra%sfere%cia de me%sa(es es el %+mero de recep&ores. El
caso m*s simple es el de u% &ra%smisor y u% recep&or$ llamado tran!9erencia de men!a1e!
"unto a "unto. 3i% embar!o$ a )eces es +&il e%&re!ar u% me%sa(e a &odos los procesos$ e% lo
ue se co%oce como di9u!in #%roadcastin)* o a u% subco%(u%&o espec,fico de los procesos$
e% lo ue se co%oce como mutidi9u!in #multicastin).
Cabe se'alar ue la &ra%sfere%cia de me%sa(es es f*cil de impleme%&ar e% u% mul&ipro0
cesador co% s2lo copiar del &ra%smisor al recep&or. Por &a%&o$ las cues&io%es de memoria f,sica
compar&ida 7mul&iprocesador versus mul&icompu&adora8 y memoria l2!ica compar&ida 7co0
mu%icaci2% a &ra)/s de )ariables compar&idas versus &ra%sfere%cia e5pl,ci&a de me%sa(es8 so%
i%depe%die%&es. Las cua&ro combi%acio%es &ie%e% se%&ido y puede% impleme%&arse9 se e%u0
mera% e% la fi!ura ?0-1.
%sico
&'ard(are)
"$gico
&so*t(are) Ejemplos
Multiprocesa%or +aria!les comparti%as &rocesamiento %e im-$enes como en la 0i$ura 6K3
Multiprocesa%or .rans07 %e mensa=es .rans07 %e mensa=es simula%a con !uers en la memoria
Multicomputa%ora +aria!les comparti%as DSM7 Lin%a7 Orea7 etc# en un S&/2 o una re% %e &C
Multicomputa%ora .rans07 %e mensa=es &+M o M& en un S&/2 o una re% %e &C
Figura 0-#2. Combi%acio%es de compar&imie%&o f,sico y l2!ico.
Primiti'a! de !incroni/acin
Los procesos paralelos %o s2lo %ecesi&a% comu%icarse9 co% frecue%cia &ambi/% %ecesi&a%
si%cro%i4ar sus accio%es. 6% e(emplo de si%cro%i4aci2% es cua%do los procesos compar&e%
)ariables l2!icame%&e y &ie%e% ue ase!urarse de ue mie%&ras u% proceso es&* escribie%do
e% u%a es&ruc&ura de da&os compar&ida %i%!+% o&ro proceso es&/ &ra&a%do de leerla. E% o&ras
palabras$ se reuiere al!u%a forma de excu!in mutua para e)i&ar ue )arios procesos use%
los mismos da&os al mismo &iempo.
E5is&e% di)ersas primi&i)as de sof&Pare ue puede% ser)ir para ase!urar la e5clusi2%
mu&ua. Ss&as i%cluye% sem*foros$ ca%dados$ mu&e5es y seccio%es cr,&icas. La carac&er,s&ica
com+% de &odas es&as primi&i)as es ue permi&e% a u% proceso solici&ar el uso e5clusi)o de
al!+% recurso 7)ariable compar&ida$ disposi&i)o de E:3$ e&c.8. 3i se o&or!a el permiso$ el pro
ceso puede usar el recurso. 3i u% se!u%do proceso pide permiso mie%&ras el primero &oda),a
es&* usa%do el recurso$ se le %e!ar* el permiso o se blouear* has&a ue el primer proceso
3H
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
haya liberado el recurso.
6% se!u%do &ipo de primi&i)a de si%cro%i4aci2% ue se %ecesi&a e% muchos pro!ramas
paralelos es al!u%a forma de permi&ir ue &odos los procesos se blouee% has&a ue fi%alice
cier&a fase del &raba(o$ como se mues&ra e% la fi!ura ?0- l7b8. 6%a primi&i)a com+% au, es la
%arrera. Cua%do u% proceso lle!a a u%a barrera$ se blouea has&a ue &odos los procesos
lle!a% a ella. Cua%do lle!a el +l&imo proceso$ &odos los procesos se libera% simul&*%eame%&e
y puede% co%&i%uar.
0.#.( .axonomAa de com"utadora! "araea!
Au%ue podr,amos hablar mucho m*s acerca del sof&Pare para compu&adoras paralelas$ las
limi&acio%es de espacio %os obli!a% a re!resar al &ema pri%cipal de es&e cap,&ulo$ la arui&ec0
&ura de las compu&adoras paralelas. 3e ha% propues&o y co%s&ruido muchos &ipos de compu0
&adoras paralelas$ por lo ue es %a&ural pre!u%&arse si hay al!u%a forma de clasificarlas de%&ro
de al!u%a &a5o%om,a. #uchos i%)es&i!adores lo ha% i%&e%&ado$ co% re!ular /5i&o 7Fly%%$ -LH19
Ga(s\i y Pier$ -L?<9 Trelea)e%$ -L?<8. Lame%&ableme%&e$ &oda),a %o ha sur!ido el Carlos
Li%%eo& de la compu&aci2% e% paralelo. El +%ico esuema ue se usa mucho es el de Fly%%$
pero has&a el de /l es$ e% el me(or de los casos$ u%a apro5imaci2% muy burda 7fi!ura ?0-38.
%l+jos de
instr+cciones
%l+jos de
datos
,ombre Ejemplos
3 3 SSD M-'uina cl-sica %e von "eumann
3 +arios SMD Supercomputa%ora vectorial7 procesa%or %e arre$los
+arios 3 MSD .al ve) nin$uno
+arios +arios MMD Multiprocesa%or7 multicomputa%ora
Figura 0-#3. Ta5o%om,a de Fly%% para compu&adoras paralelas.
La clasificaci2% de Fly%% se basa e% dos co%cep&os; flu(os de i%s&ruccio%es y flu(os de
da&os. 6% flu(o de i%s&ruccio%es correspo%de a u% co%&ador de pro!rama. 6% sis&ema ue &ie%e
n CP6 &ie%e n co%&adores de pro!rama$ y por &a%&o n flu(os de i%s&ruccio%es.
6% flu(o de da&os co%sis&e e% u% co%(u%&o de opera%dos. El e(emplo de c*lculo de
&empera&uras ue se dio a%&es &ie%e )arios flu(os de da&os$ u%o para cada se%sor.
Los flu(os de i%s&ruccio%es y de da&os so%$ has&a cier&o pu%&o$ i%depe%die%&es$ por lo ue
e5is&e% cua&ro combi%acio%es$ las cuales se e%umera% e% la fi!ura ?0-3$ 3I3D es la compu0
&adora secue%cial cl*sica de )o% Neuma%%9 &ie%e u% flu(o de i%s&ruccio%es$ u% flu(o de da&os y
00000000000000000000000000000
@Carlos Li%%eo 7-H.H0-HH?8 fue el bi2lo!o sueco ue ideo el sis&ema ue ahora se usa para clasificar
&odas las pla%&as y a%imales se!+% su rei%o$ phylum$ clase$ familia$ !e%ero y especie.
3?
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
hace u%a cosa a la )e4. Las m*ui%as 3I#D &ie%e% u%a sola u%idad de co%&rol ue emi&e u%a
i%s&rucci2% a la )e4$ pero &ie%e% m+l&iples AL6 para e(ecu&arla co% )arios co%(u%&os de da&os
simul&*%eame%&e. La ILLIAC IV 7fi!ura 10?8 es el pro&o&ipo de las m*ui%as 3I#D. E5is&e%
m*ui%as 3I#D moder%as y se usa% para c*lculos cie%&,ficos.
Las m*ui%as #I3D so% u%a ca&e!or,a u% &a%&o e5&ra'a$ e% la ue )arias i%s&ruccio%es
opera% co% u% mismo da&o. No se sabe a cie%cia cier&a si e5is&e% m*ui%as de es&e &ipo$
au%ue al!u%as perso%as clasifica% a las m*ui%as co% filas de procesamie%&o como #I3D.
Por +l&imo$ &e%emos las #I#D$ ue %o so% m*s ue m+l&iples CP6 i%depe%die%&es ue
opera% como par&e de u% sis&ema mayor. Casi &odos los procesadores paralelos per&e%ece% a
es&a ca&e!or,a. Ta%&o los mul&iprocesadores como las mul&icompu&adoras so% m*ui%as
#I#D.
La &a5o%om,a de Fly%% &ermi%a au,$ pero la hemos e5&e%dido e% la fi!ura ?0-=. Bemos
di)idido a 3I#D e% dos sub!rupos. El primero es el de las supercompu&adoras %um/ricas y
o&ras m*ui%as ue opera% co% )ec&ores$ reali4a%do la misma operaci2% co% cada eleme%&o
del )ec&or. El se!u%do es para las m*ui%as &ipo paralelo$ como la ILLIAC IV$ e% las ue u%a
u%idad de co%&rol maes&ra$ difu%de i%s&ruccio%es a muchas AL6 i%depe%die%&es.
Figura 0-#4. 6%a &a5o%om,a de compu&adoras paralelas.
%ues&ra &a5o%om,a$ la ca&e!or,a #I#D se ha di)idido e% mul&iprocesadores 7m*ui%as
co% memoria compar&ida8 y mul&icompu&adoras 7m*ui%as ue &ra%sfiere% me%sa(es8.
E5is&e% &res clases de mul&iprocesadores$ ue se dis&i%!ue% por la forma e% ue se impleme%&a
la memoria compar&ida; acce!o uni9orme a a memoria 76#A$ &ni/orm Memor( Access)*
3L
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
acce!o no uni9orme a a memoria 7N6#A$ Non&ni/orm Memor( Access) y !o acce!o a
memoria cac$? 7CO#A$ "ache 2nl( Memor( Access). Es&as ca&e!or,as e5is&e% porue e%
los mul&iprocesadores !ra%des la memoria %ormalme%&e se di)ide e% )arios m2dulos. Las
m*ui%as 6#A &ie%e% la propiedad de ue cada CP6 &ie%e el mismo &iempo de acceso a
&odos los m2dulos de memoria. E% o&ras palabras$ cada palabra de memoria se puede leer co%
la misma rapide4 ue cualuier o&ra palabra de memoria. 3i es&o es &/c%icame%&e imposible$
las refere%cias m*s r*pidas se fre%a% de modo ue &arde% lo mismo ue las m*s le%&as y los
pro!ramadores %o %o&e% las difere%cias. Ss&e es el si!%ificado de Ku%iformeK au,. Es&a
u%iformidad hace ue el desempe'o sea predecible$ lo cual es u% fac&or impor&a%&e para
escribir c2di!o eficie%&e.
E% co%&ras&e$ u% mul&iprocesador N6#A %o posee es&a propiedad. Es com+% ue haya
u% m2dulo de memoria cerca%o a cada CP6 y ue el acceso a ese m2dulo sea mucho m*s
r*pido ue el acceso a m2dulos dis&a%&es. El resul&ado es ue$ por ra4o%es de desempe'o$ es
impor&a%&e d2%de se coloue% el c2di!o y los da&os. Las m*ui%as CO#A &ampoco so%
u%iformes$ pero de difere%&e ma%era. Es&udiaremos cada u%o de es&os &ipos y sus
subca&e!or,as co% de&alle m*s adela%&e.
La o&ra ca&e!or,a pri%cipal de m*ui%as #I#D compre%de las mul&icompu&adoras ue$
a difere%cia de los mul&iprocesadores$ %o &ie%e% u%a memoria primaria compar&ida e% el %i)el
arui&ec&2%ico. E% o&ras palabras$ el sis&ema opera&i)o de u%a CP6 de mul&icompu&adora %o
puede acceder a memoria co%ec&ada a u%a CP6 dis&i%&a co% s2lo e(ecu&ar u%a i%s&rucci2%
LOAD9 &ie%e ue e%)iar u% me%sa(e e5pl,ci&o y esperar u%a respues&a. La capacidad del sis&e0
ma opera&i)o para leer u%a palabra dis&a%&e co% s2lo emi&ir u%a LOAD es lo ue dis&i%!ue a
los mul&iprocesadores de las mul&icompu&adoras. Como ya di(imos$ au% e% u%a mul&icompu0
&adora los pro!ramas de usuario podr,a% &e%er la capacidad para acceder a memoria remo&a
usa%do i%s&ruccio%es LOAD y 3TO"E$ pero es&a ilusi2% es ma%&e%ida por el sis&ema opera0
&i)o$ %o por el hardPare. La difere%cia es su&il$ pero muy impor&a%&e. Dado ue las
mul&icompu&adoras %o &ie%e% acceso direc&o a memoria remo&a$ suele describ,rseles como
m*ui%as !in acce!o a memoria remota) 7NO"#A$ N2 Remote Memor( Access).
Las mul&icompu&adoras se puede% di)idir a !ra%des ras!os e% dos ca&e!or,as. La
primera ca&e!or,a co%&ie%e los "roce!adore! ma!i'amente "araeo! 7#PP$ Massivel(
$arallel $rocessors)* ue so% supercompu&adoras caras ue co%sis&e% e% muchas CP6
acopladas es&rechame%&e por u%a red de i%&erco%e5i2% pa&e%&ada de al&a )elocidad. La Cray
T3E y la 3P:1 de ID# so% e(emplos muy co%ocidos.
La o&ra ca&e!or,a co%sis&e e% PC o es&acio%es de &raba(o %ormales$ &al )e4 mo%&adas e%
a%aueles$ y co%ec&adas media%&e &ec%olo!,a comercial ordi%aria. E% el aspec&o l2!ico %o
hay mucha difere%cia$ pero las e%ormes supercompu&adoras ue cues&a% muchos millo%es de
d2lares se usa% de difere%&e ma%era ue las redes de PC armadas por los usuarios a u%a
fracci2% del precio de u% #PP. Es&as m*ui%as Khechas e% casaK recibe% di)ersos %ombres$
como rede! de e!tacione! de tra%a1o 7NOG$ Network o/;orkstations) y cEmuo! de e!ta-
cione! de tra%a1o 7COG$ "luster o/ ;orkstations).
E% las seccio%es ue si!ue% e5ami%aremos co% cier&o de&alle las pri%cipales ca&e!or,as;
3I#D$ #I#D:mul&iprocesadores y #I#D:mul&icompu&adoras. La me&a es prese%&ar u% pa0
%orama !e%eral de cada &ipo$ sus subca&e!or,as y sus pri%cipios de dise'o fu%dame%&ales. 3e
usar*% )arios e(emplos como ilus&raci2%.
=.
3EC. ?.- A3PECTO3 DEL DI3E[O DE CO#P6TADO"A3 PA"ALELA3
0.2 C*5PU.,D*+,S SI5D
Las compu&adoras 3I#D 7u% solo flu(o de i%s&ruccio%es$ m+l&iples flu(os de da&os9 Sinle
Instruction stream M:ltiple 3ata stream) se usa% para resol)er problemas cie%&,ficos y de
i%!e%ier,a ue so% compu&acio%alme%&e i%&e%si)os e implica% es&ruc&uras de da&os re!ulares
como )ec&ores y arre!los. Es&as m*ui%as se carac&eri4a% por &e%er u%a sola u%idad de co%&rol
ue e(ecu&a i%s&ruccio%es u%a por u%a$ pero cada i%s&rucci2% opera co% )arios da&os. Las dos
especies pri%cipales de compu&adoras 3I#D so% los arre!los de procesadores y los
procesadores de )ec&ores$ ue e5ami%aremos a co%&i%uaci2%.
0.2.# ,rrego! de "roce!adore!
La idea de u% arre!lo de procesadores sur!i2 hace m*s de =. a'os 76%!er$ -L<?8$ pero &u)ie0
ro% ue pasar -. a'os para ue se co%s&ruyera el primero$ ILLIAC IV$ y e%&rara e% ser)icio
7para la NA3A8. Desde e%&o%ces$ )arias compa',as ha% co%s&ruido arre!los de procesadores
comerciales$ como el C#01 de Thi%\i%! #achi%es y el #aspar #P01$ pero %i%!u%o de ellos
ha &e%ido u% /5i&o comercial espec&acular.
La idea e% ue se basa el arrego de "roce!adore! es ue u%a sola u%idad de co%&rol
proporcio%a las se'ales ue co%&rola% muchos eleme%&os de procesamie%&o$ como se mues&ra
e% la fi!ura 10H. Cada eleme%&o de procesamie%&o co%sis&e e% u%a CP6 o AL6 ampliada y por
lo re!ular u% poco de memoria local. Pues&o ue u%a sola u%idad de co%&rol es&* alime%&a%do
a &odos los eleme%&os de procesamie%&o$ /s&os opera% de forma si%cro%i4ada.
Au%ue &odos los arre!los de procesadores si!ue% es&e modelo !e%eral$ hay )arios as0
pec&os de dise'o e% los ue puede% diferir. El primero es la es&ruc&ura del eleme%&o de proce0
samie%&o. Dichos eleme%&os puede% ir desde los e5&raordi%ariame%&e simples has&a o&ros m*s
comple(os. E% el e5&remo i%ferior$ los eleme%&os de procesamie%&o puede% ser poco m*s ue
u%a AL6 de u% bi&$ como e% el caso del C#01. E% esa m*ui%a$ cada AL6 &omaba dos
opera%dos de u% bi& de su memoria local$ m*s u% bi& de su palabra de si&uaci2% del pro!rama
7di!amos$ el bi& de acarreo8. El resul&ado de la operaci2% era u% bi& de da&os y al!u%os bi&s
i%dicadores. Para reali4ar u%a suma e%&era de 31 bi&s$ la u%idad de co%&rol &e%,a ue difu%dir
u%a i%s&rucci2% de suma de u% bi& 31 )eces. A >.. %s por i%s&rucci2%$ se reuer,a% -L.1 l us
para efec&uar u%a suma e%&era$ m*s &iempo ue e% la ID# PC ori!i%al. 3i% embar!o$ si &raba0
(aba% &odos los ><$<3> eleme%&os de procesamie%&o$ era posible reali4ar 3... millo%es de
sumas por se!u%do$ lo ue daba u% &iempo de suma efec&i)o de 3.. picose!u%dos.
O&ras opcio%es para el eleme%&o de procesamie%&o i%cluye% u%a AL6 de ? bi&s$ u%a
AL6 de 31 bi&s o u%a u%idad m*s po&e%&e co% capacidad de pu%&o flo&a%&e. Bas&a cier&o pu%&o$
la decisi2% de u/ i%cluir e% el eleme%&o de procesamie%&o depe%de de los ob(e&i)os de la
m*ui%a. Para &ri&urar %+meros$ la capacidad de pu%&o flo&a%&e es ra4o%able 7au%ue su cos&o
se!urame%&e reducir* mucho el %+mero de eleme%&os de procesamie%&o8$ pero para recupera0
ci2% de i%formaci2% &al )e4 %o se %ecesi&e.
6% se!u%do aspec&o de dise'o es la forma de i%&erco%ec&ar los eleme%&os de procesa0
mie%&o. E% pri%cipio$ casi &odas las &opolo!,as ue se ilus&ra% e% la fi!ura ?0= so% posibles
ca%dida&os. Las cuadr,culas rec&a%!ulares so% u%a opci2% com+% porue se a(us&a% bie% a
=-
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
muchos problemas bidime%sio%ales ue implica% ma&rices e im*!e%es y su escala se puede
aume%&ar co% facilidad ya ue la adici2% de m*s procesadores au&om*&icame%&e aume%&a el
a%cho de ba%da.
6%a &ercera cues&i2% de dise'o es el !rado de au&o%om,a local ue los eleme%&os de
procesamie%&o &ie%e%. E% el &ipo de dise'o ue es&amos describie%do$ la u%idad de co%&rol
especifica la i%s&rucci2% ue debe e(ecu&arse$ pero e% muchos procesadores de arre!los cada
eleme%&o de procesamie%&o puede op&ar por e(ecu&ar o %o e(ecu&ar u%a i%s&rucci2%$ co% base
e% da&os locales como bi&s de c2di!o de co%dici2%. Es&a carac&er,s&ica a'ade mucha fle5ibili0
dad. Pues&o ue los procesadores de arre!los &ie%e% u% fu&uro i%cier&o$ %o profu%di4aremos
m*s e% ellos.
0.2.2 Proce!adore! 'ectoriae!
El o&ro &ipo de m*ui%a 3I#D es el "roce!ador 'ectoria) ue ha &e%ido u% /5i&o comercial
mucho mayor. 6% li%a(e de m*ui%as dise'adas por 3eymour Cray para Cray "esearch 7ahora
par&e de 3ilico% Graphics8$ come%4a%do co% la Cray0- e% -LH> y co%&i%ua%do has&a la CL. y
la TL.$ ha domi%ado la compu&aci2% cie%&,fica dura%&e d/cadas. E% es&a secci2% e5ami%a0
remos los pri%cipios fu%dame%&ales ue se aplica% e% es&as compu&adoras de al&o desempe'o.
6%a aplicaci2% de &ri&uraci2% de %+meros &,pica co%&ie%e muchos e%u%ciados como
*or &i - ./ i 0 n/ i++) a1i2 - b1i2 3 c1i2/
do%de a$ % ( c so% 'ectore!) es decir$ arre!los de %+meros$ casi siempre e% pu%&o flo&a%&e. El
ciclo orde%a a la compu&adora sumar los i0/simos eleme%&os de % y c y almace%ar el resul&ado
e% el i0/simo eleme%&o de a. T/c%icame%&e$ el pro!rama especifica ue los eleme%&os debe%
sumarse e% sucesi2%$ pero %ormalme%&e el orde% %o impor&a.
E% la fi!ura ?0-< se mues&ra u%a posible arui&ec&ura 3I#D apropiada para es&e &ipo de
procesamie%&o )ec&orial. La m*ui%a recibe dos )ec&ores de n eleme%&os como e%&radas y
opera co% los eleme%&os correspo%die%&es e% paralelo u&ili4a%do u%a AL6 )ec&orial ue puede
operar co% los n eleme%&os simul&*%eame%&e y produce como resul&ado u% )ec&or. Los
)ec&ores de e%&rada y de salida se puede% almace%ar e% la memoria o e% re!is&ros )ec&oriales
especiales.
Las compu&adoras )ec&oriales &ambi/% %ecesi&a% efec&uar operacio%es escalares 7%o
)ec&oriales8 y operacio%es mi5&as escalares0)ec&oriales. Los &ipos b*sicos de operacio%es )ec0
&oriales se e%umera% e% la fi!ura ?0->. La primera$ /
8
$ efec&+a al!u%a operaci2%$ como cose%o
o ra,4 cuadrada$ co% cada eleme%&o de u% solo )ec&or. La se!u%da$ /
6
&oma u% )ec&or como
e%&rada y produce u% escalar como salida. 6% e(emplo &,pico es sumar &odos los eleme%&os.
La &ercera$ /
<
reali4a u%a operaci2% di*dica co% dos )ec&ores$ como sumar los eleme%&os
correspo%die%&es. Por +l&imo$ /
=
combi%a u% opera%do escalar co% u%o )ec&orial. 6% e(emplo
&,pico es mul&iplicar cada eleme%&o de u% )ec&or por u%a co%s&a%&e. A )eces es m*s r*pido
co%)er&ir el escalar e% u% )ec&or$ cuyos eleme%&os so% &odos i!uales al escalar$ y lue!o reali4ar
la operaci2% co% dos )ec&ores.
Todas las operacio%es comu%es co% )ec&ores puede% co%s&ruirse u&ili4a%do es&as formas.
Por e(emplo$ el produc&o i%&erior 7produc&o pu%&o8 de dos )ec&ores co%sis&e e% mul&iplicar
primero los eleme%&os correspo%die%&es 7/
3
8 y ob&e%er despu/s la suma&oria del resul&ado #/
6
).
=1
3EC. ?.1 CO#P6TADO"A3 3I#D
Figura 0-#-. Di)ersas combi%acio%es de operacio%es )ec&oriales y escalares.
E% la pr*c&ica$ pocas supercompu&adoras se co%s&ruye% e% realidad como lo ue se
mues&ra e% la fi!ura ?0-<. La ra42% %o es &/c%ica `cier&ame%&e es fac&ible co%s&ruir &ales
m*ui%as` si%o eco%2mica. 6% dise'o co%$ di!amos$ >= AL6s de muy al&a )elocidad ser,a
demasiado cos&oso$ i%cluso para u%a supercompu&adora.
El m/&odo ue se emplea %ormalme%&e es combi%ar el procesamie%&o de )ec&ores co% el
uso de filas de procesamie%&o. Las operacio%es de pu%&o flo&a%&e so% muy comple(as$ reuie0
re% )arios pasos$ y cualuier operaci2% de m+l&iples pasos es ca%dida&a para u%a
impleme%&aci2% co% filas de procesamie%&o. 3i %o es&* familiari4ado co% la ari&m/&ica de
pu%&o flo&a%&e$ lea el Ap/%dice D.
Como e(emplo de uso de filas de procesamie%&o para operacio%es de pu%&o flo&a%&e$
co%sidere la fi!ura ?0-H. E% es&e e(emplo$ u% %+mero %ormali4ado &ie%e u%a ma%&isa mayor o
i!ual ue -$ pero me%or ue -.. De lo ue se &ra&a au, es de res&ar L.1-1 5 -.
--
a -..?1 5 -.
-1
.
Para res&ar dos %+meros de pu%&o flo&a%&e primero es %ecesario a(us&arlos de modo ue
sus e5po%e%&es &e%!a% el mismo )alor. E% es&e e(emplo podemos co%)er&ir el sus&rae%do 7el
=3
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
Figura 0-#;. Pasos de u%a res&a de pu%&o flo&a%&e.
%+mero ue se res&a8 a ..L1-1 5 -.
-1
o bie% co%)er&ir el mi%ue%do 7el %+mero del cual se
res&a8 a -..?1 5 -.K. E% !e%eral$ ambas co%)ersio%es implica% ries!os. Ele)ar u% e5po%e%&e
podr,a causar u% subdesbordamie%&o de la ma%&isa$ y ba(ar u% e5po%e%&e podr,a causar u%
desbordamie%&o de la ma%&isa. El subdesbordamie%&o es el me%os !ra)e de los dos$ porue el
%+mero se puede apro5imar co% .$ as, ue se!uiremos la primera ru&a. Despu/s de a(us&ar
ambos e5po%e%&es a -1$ &e%emos los )alores ue se mues&ra% e% el paso 1 de la fi!ura ?0-H. A
co%&i%uaci2% reali4amos la res&a$ se!uida de la %ormali4aci2% del resul&ado.
El uso de filas de procesamie%&o puede aplicarse al ciclo for loop ue se prese%&2 al
pri%cipio de es&a secci2%. E% la fi!ura ?0-? )emos u% sumador de pu%&o flo&a%&e co% filas de
procesamie%&o de cua&ro e&apas. E% cada ciclo$ la primera e&apa ob&ie%e u% par de opera%dos.
Lue!o$ la se!u%da e&apa a(us&a el e5po%e%&e del opera%do m*s peue'o de modo ue coi%cida
co% el del m*s !ra%de. La &ercera e&apa efec&+a la operaci2%$ y la cuar&a %ormali4a el
resul&ado. De es&e modo$ u% resul&ado sale de la fila de procesamie%&o e% cada ciclo.
Figura 0-#0. 3umador de pu%&o flo&a%&e co% filas de procesamie%&o.
6%a difere%cia impor&a%&e e%&re usar filas de procesamie%&o para operacio%es co%
)ec&ores y usarla para la e(ecuci2% de i%s&ruccio%es de prop2si&o !e%eral es la ause%cia de
sal&os al operar co% )ec&ores. Cada ciclo se apro)echa al m*5imo$ y %o se desperdicia%
ra%uras.
6a !u"ercom"utadora 'ectoria Cra=-#
Las supercompu&adoras por lo re!ular &ie%e% m+l&iples AL6s$ cada u%a especiali4ada e%
al!u%a operaci2% espec,fica$ y &odas capaces de operar e% paralelo. Por e(emplo$ co%sidere0
mos la Cray0-$ u%a de las primeras supercompu&adoras. Au%ue ya %o se usa$ &ie%e u%a arui 0
&ec&ura simple &ipo "I3C ue la co%)ier&e e% u% bue% ob(e&o de es&udio$ y su arui&ec&ura
perdura e% muchas supercompu&adoras )ec&oriales moder%as.
==
3EC. ?.1 CO#P6TADO"A3 3I#D
Como la !e%eralidad de las m*ui%as "I3C$ la Cray0- es&* orie%&ada hacia los re!is&ros$
co% i%s&ruccio%es e% su mayor,a de -> bi&s ue co%sis&e% e% u% c2di!o de operaci2% de sie&e
bi&s y &res %+meros de re!is&ro de &res bi&s para los &res opera%dos. Bay ci%co clases de re!is0
&ros$ como se mues&ra e% la fi!ura ?0-L. Los ocho re!is&ros A de 1= bi&s sir)e% para
direccio%ar la memoria. Los >= re!is&ros D de 1= bi&s sir)e% para !uardar re!is&ros A cua%do
%o se %ecesi&a%$ e% lu!ar de escribirlos de )uel&a e% la memoria. Los ocho re!is&ros 3 de >=
bi&s sir)e% para co%&e%er ca%&idades escalares 7e%&eras y de pu%&o flo&a%&e8. Los )alores de
es&os re!is&ros puede% u&ili4arse como opera%dos para operacio%es &a%&o e%&eras como de
pu%&o flo&a%&e. Los >= re!is&ros T de >= bi&s so% almace%amie%&o adicio%al para los re!is&ros
3$ o&ra )e4 co% ob(e&o de reducir el %+mero de i%s&ruccio%es LOAD y 3TO"E.
Figura 0-#2. "e!is&ros y u%idades fu%cio%ales de la Cray0-.
La par&e m*s i%&eresa%&e del co%(u%&o de re!is&ros de la Cray0- es el !rupo de ocho
re!is&ros )ec&oriales. Cada re!is&ro puede co%&e%er u% )ec&or de pu%&o flo&a%&e de >= eleme%0
&os. Es posible sumar$ res&ar o mul&iplicar dos )ec&ores co% u%a sola i%s&rucci2% de -> bi&s. No
es posible di)idir$ pero s, calcular rec,procos. Los re!is&ros )ec&oriales se puede% car!ar de la
memoria y !uardarse e% ella$ pero &ales &ra%sfere%cias so% cos&osas$ y lo me(or es
mi%imi4arlas. Todas las operacio%es co% )ec&ores usa% opera%dos e% re!is&ros.
No &odas las supercompu&adoras &ie%e% la propiedad es&ilo "I3C de reuerir ue &odos
los opera%dos es&/% e% re!is&ros. La CDC Cyber 1.<$ por e(emplo$ reali4aba operacio%es co%
)ec&ores e% la memoria. Es&e e%foue permi&,a ma%e(ar )ec&ores de lo%!i&ud arbi&raria pero
hac,a mucho m*s le%&a la m*ui%a porue la memoria era u% cuello de bo&ella impor&a%&e.
La Cray0- &ie%e -1 u%idades fu%cio%ales dis&i%&as$ como se ilus&ra e% la fi!ura ?0-L. Dos
so% para ari&m/&ica co% direccio%es de 1= bi&s y cua&ro so% para operacio%es co% escalares
e%&eros de >= bi&s. Al i!ual ue su a%&epasada$ la CDC >>..$ la Cray0- carece de u%a u%idad
para efec&uar mul&iplicaci2% e%&era 7au%ue s, &ie%e u%a para mul&iplicaci2% de pu%&o flo&a%&e8.
Las seis u%idades res&a%&es &raba(a% co% )ec&ores$ y su es&ruc&ura i%&er%a u&ili4a muchas filas
de procesamie%&o. Las u%idades de suma$ mul&iplicaci2% y rec,proco &ambi/% opera% co%
%+meros escalares de pu%&o flo&a%&e$ adem*s de co% )ec&ores.
=<
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
Al i!ual ue muchas o&ras compu&adoras )ec&oriales$ la Cray0- permi&e encadenar o"e-
racione!. Por e(emplo$ u%a forma de calcular
R3 L R3 G R2 M R:
do%de "-$ "1 y "3 so% re!is&ros )ec&oriales$ ser,a efec&uar la mul&iplicaci2% )ec&orial$ ele0
me%&o por eleme%&o$ !uardar el resul&ado e% al!+% lu!ar$ y lue!o efec&uar la suma )ec&orial.
Co% el e%cade%amie%&o$ &a% pro%&o como se ha% mul&iplicado los primeros eleme%&os$ el
produc&o puede ir direc&ame%&e al sumador$ (u%&o co% el primer eleme%&o de "3. No se re0
uiere u% almace%amie%&o i%&ermedio. Es&a &/c%ica me(ora co%siderableme%&e el desempe'o.
Como come%&ario fi%al acerca de la Cray0-$ resul&a i%&eresa%&e e5ami%ar su desempe'o
absolu&o. El relo( opera a ?. #B4 y &ie%e u%a memoria pri%cipal de ? #D. E% su /poca 7de
mediados a fi%es de los a'os se&e%&a8 era la compu&adora m*s po&e%&e del mu%do. Boy d,a
ya %o es posible comprar u%a PC co% u% relo( &a% le%&o %i u%a memoria &a% peue'a9 ya %adie
las fabrica. Es&a obser)aci2% es u% &es&imo%io a la rapide4 co% ue a)a%4a la i%dus&ria de las
compu&adoras.
0.3 5U6.IP+*CES,D*+ES C*B 5E5*+I, C*5P,+.ID,
Como )imos e% la fi!ura ?0-=$ los sis&emas #I#D se puede% di)idir e% mul&iprocesadores y
mul&icompu&adoras. E% es&a secci2% e5ami%aremos los mul&iprocesadores9 la si!uie%&e es&ar*
dedicada a las mul&icompu&adoras. 6% mul&iprocesador es u% sis&ema de c2mpu&o ue &ie%e
)arias CP6 y u% solo espacio de direccio%es )isible para &odas las CP6. La m*ui%a e(ecu&a
u%a copia del sis&ema opera&i)o$ co% u% co%(u%&o de &ablas ue i%cluye% las &ablas e% las ue
se lle)a la co%&abilidad de cu*les p*!i%as de memoria es&*% ocupadas y cu*les es&*% libres.
Cua%do u% proceso se blouea$ su CP6 !uarda su es&ado e% las &ablas del sis&ema opera&i)o y
busca e% esas &ablas o&ro proceso ue pueda e(ecu&ar. Es es&a ima!e% de sis&ema +%ico lo ue
dis&i%!ue u% mul&iprocesador de u%a mul&icompu&adora.
6% mul&iprocesador$ como &odas las compu&adoras$ debe &e%er disposi&i)os de E:3$
como discos$ adap&adores de red y o&ros euipos. E% al!u%os sis&emas de mul&iprocesador s2lo
cier&as CP6 &ie%e% acceso a los disposi&i)os de E:3$ y por &a%&o &ie%e% u%a fu%ci2% de E:3
especial. E% o&ros$ cada CP6 &ie%e el mismo acceso a &odos los disposi&i)os de E:3. 3i &oda
CP6 &ie%e i!ual acceso a &odos los m2dulos de memoria y &odos los disposi&i)os de E:3$ y el
sis&ema opera&i)o la &ra&a como i%&ercambiable co% las dem*s$ el sis&ema se describe como
muti"roce!ador !im?trico 73#P$ S(mmetric Muhi$rocessor). La e5plicaci2% ue si!ue es&*
orie%&ada hacia es&e &ipo de sis&emas.
0.3.# Sem>ntica de a memoria
Au%ue &odos los mul&iprocesadores prese%&a% a las CP6 la ima!e% de u% solo espacio de
direccio%es compar&ido$ a me%udo hay muchos m2dulos de memoria prese%&es$ y cada u%o
co%&ie%e al!u%a porci2% de la memoria f,sica. Las CP6 y las memorias a me%udo es&*%
co%ec&adas por u%a red de i%&erco%e5i2% comple(a$ como se e5plic2 e% la secci2% ?.-.1. Va0
=>
3EC. ?.= #6LTIP"OCE3ADO"E3 CON #E#O"IA CO#PA"TIDA
r,as CP6 puede% es&ar i%&e%&a%do leer u%a palabra de memoria al mismo &iempo ue )arias
o&ras CP6 es&*% &ra&a%do de escribir la misma palabra$ y al!u%os de los me%sa(es de solici&ud
podr,a% rebasar a o&ros e% el cami%o y e%&re!arse e% u% orde% dis&i%&o de auel e% ue fuero%
emi&idos. 3i a es&e problema sumamos la e5is&e%cia de m+l&iples copias de al!u%os bloues
de memoria 7por e(emploa e% caches8$ el resul&ado puede co%)er&irse f*cilme%&e e% u% caos si
%o se &oma% medidas es&ric&as para e)i&arlo. E% es&a secci2% )eremos lo ue si!%ifica real0
me%&e la memoria compar&ida y c2mo puede% respo%der ra4o%ableme%&e las memorias e%
es&as co%dicio%es.
6%a perspec&i)a de la sem*%&ica de memoria es )erla como u% co%&ra&o e%&re el sof&Pare
y el hardPare de memoria 7Ad)e y Bill$ -LL.8. 3i el sof&Pare acep&a cumplir co% cier&as
re!las$ la memoria co%)ie%e e% e%&re!ar cier&os resul&ados. La discusi2% se ce%&ra e%&o%ces
e% la %a&urale4a de las re!las. Es&as re!las se de%omi%a% modeo! de con!i!tencia y se ha%
propues&o e impleme%&ado )arios de ellos.
Para &e%er u%a idea de la %a&urale4a del problema$ supo%!amos ue la CP6 . escribe el
)alor - e% al!u%a palabra de memoria y poco despu/s la CP6 - escribe el )alor 1 e% la misma
palabra. Ahora la CP6 1 lee la palabra y ob&ie%e el )alor -. IEl due'o de la compu&adora debe
lle)ar la m*ui%a al &aller para ue la repare%J Todo depe%de de lo ue la memoria prome&i2
7su co%&ra&o8.
Con!i!tencia e!tricta
El modelo m*s se%cillo es el de con!i!tencia e!tricta. Co% es&e modelo$ cualuier lec&ura de
u%a posici2% 5 siempre de)uel)e el )alor de la escri&ura m*s recie%&e e% 5. Los pro!ramadores
ama% a es&e modelo$ pero e% la pr*c&ica es imposible de impleme%&ar de o&ra ma%era ue %o
sea &e%er u% solo m2dulo de memoria ue a&ie%de &odas las solici&udes ba(o el r/!ime% de
primero ue lle!a$ primero ue se a&ie%de$ si% uso de caches %i repe&ici2% de da&os. 6%a
impleme%&aci2% as, co%)er&ir,a a la memoria e% u% e%orme cuello de bo&ella y por ello %o es
u% ca%dida&o serio$ lo cual es lame%&able.
Con!i!tencia !ecuencia
El si!uie%&e me(or modelo se llama con!i!tencia !ecuencia 7Lampor&$ -LHL8. La idea au,
es ue$ e% prese%cia de m+l&iples solici&udes de lec&ura y escri&ura$ el hardPare esco!e 7de
forma %o de&ermi%is&a8 cier&a i%&ercalaci2% de &odas las solici&udes$ pero &odas las CP6 perci0
be% el mismo orde%.
Para e%&e%der u/ si!%ifica es&o$ co%sideremos u% e(emplo. 3upo%!a ue la CP6 -
escribe el )alor -.. e% la palabra 5* ( - %s despu/s la CP6 1 escribe el )alor 1.. e% la palabra
5. Ahora supo%!a ue - %s despu/s de emi&irse la se!u%da i%s&rucci2% de escri&ura 7ue %o
%ecesariame%&e ha &ermi%ado de e(ecu&arse8 o&ras dos CP6$ la 3 y la =$ lee% la palabra 5 dos
)eces e% r*pida sucesi2%$ como se mues&ra e% la fi!ura ?01.7a8. E% la fi!ura ?01.7b807d8 se
mues&ra% &res posibles orde%amie%&os de los seis sucesos 7dos escri&uras y cua&ro lec&uras8. E%
la fi!ura ?01.7b8$ la CP6 3 ob&ie%e 71..$1..8 y la CP6 = ob&ie%e 71..$1..8. E% la fi!ura ?0
1.7c8$ las CP6 ob&ie%e% 7-..$ 1..8 y 71..$ 1..8$ respec&i)ame%&e. E% la fi!ura ?01.7d8 las
CP6 ob&ie%e% 7-..$ -..8 y 71..$ 1..8$ respec&i)ame%&e. Todas es&as posibilidades so% )*lidas$
=H
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
adem*s de o&ras ue %o se mues&ra%.
Figura 0-23. 7a8 Dos CP6 escribe% y dos CP6 lee% u%a palabra de memoria e%
com+%$ 7b8 0 7d8 Tres posibles i%&ercalados e% el &iempo de las dos escri&uras y
cua&ro lec&uras.
3i% embar!o `y /s&a es la ese%cia de la co%sis&e%cia secue%cial` pase lo ue pase$ u%a
memoria secue%cialme%&e co%sis&e%&e %u%ca permi&ir* ue la CP6 3 ob&e%!a 7-..$1..8
mie%&ras la CP6 = ob&ie%e 71..$-..8. 3i ocurriera es&o$ implicar,a ue$ se!+% la CP6 =$ la
escri&ura de -.. por la CP6 - &ermi%2 a%&es ue la escri&ura de 1.. por la CP6 1. No hay
problema co% eso$ pero &ambi/% implicar,a ue$ se!+% la CP6 3$ la escri&ura de 1.. por la
CP6 1 &ermi%2 a%&es ue la escri&ura de -.. por la CP6 -. Por s, solo$ es&e resul&ado &ambi/%
es posible. El problema es ue la co%sis&e%cia secue%cial !ara%&i4a ue hay u% solo
orde%amie%&o !lobal de &odas las escri&uras ue &odas las CP6 )e%. 3i la CP6 3 obser)a ue
-.. se escribi2 primero$ e%&o%ces la CP6 = &ambi/% deber* )er es&e orde%.
Au%ue la co%sis&e%cia secue%cial %o es u%a re!la &a% po&e%&e como la co%sis&e%cia es0
&ric&a$ de &odos modos es muy +&il. E% realidad$ lo ue es&* dicie%do es ue$ cua%do sucede%
)arias cosas al mismo &iempo$ e5is&e u% orde% )erdadero e% el ue ocurre%$ &al )e4 de&ermi%a0
do por los &iempos y la casualidad$ pero &odos los procesadores obser)a% es&e mismo orde%.
Au%ue es&a afirmaci2% puede parecer ob)ia$ a co%&i%uaci2% a%ali4aremos modelos de co%0
sis&e%cia ue %o !ara%&i4a% %i siuiera es&o.
Con!i!tencia de "roce!ador
6% modelo de co%sis&e%cia me%os r,!ido$ pero ue es m*s f*cil de impleme%&ar e% mul&ipro0
cesadores !ra%des$ es la con!i!tencia de "roce!ador 7Goodma%$ -L?L8. Es&e modelo &ie%e
dos propiedades;
-. Todas las CP6 )e% las escri&uras de cualuier CP6 e% el orde% e% ue se emi&iero%.
1. Para cada palabra de la memoria$ &odas las CP6 )e% &odas las escri&uras e% ella e% el
mismo orde%.
=?
3EC. ?.= #6LTIP"OCE3ADO"E3 CON #E#O"IA CO#PA"TIDA
Ambos pu%&os so% impor&a%&es. El primero dice ue si la CP6 - emi&e escri&uras co% los
)alores - A$ -D y -C a al!u%a localidad de memoria e% ese orde%$ e%&o%ces &odos los dem*s
procesadores las )er*% e% ese orde% &ambi/%. E% o&ras palabras$ cualuier o&ro procesador
ue es&/ e% u% ciclo cor&o obser)a%do - A$ -D y -C leye%do las palabras escri&as %u%ca )er* el
)alor escri&o por -D y lue!o el )alor escri&o por - A$ e&c. El se!u%do pu%&o es %ecesario para
ase!urar ue cada localidad de memoria &e%dr* u% )alor i%eu,)oco despu/s de ue )arias
CP6 escribe% e% ella y despu/s se de&ie%e%. Todo mu%do debe es&ar de acuerdo e% ui/% fue
el +l&imo.
I%cluso co% es&as res&riccio%es$ el dise'ador &ie%e mucha fle5ibilidad. Co%sidere lo ue
sucede si la CP6 1 emi&e las escri&uras 1A$ 1D y 1C al mismo &iempo ue la CP6 - emi&e sus
&res escri&uras. O&ras CP6 ue es&/% leye%do ac&i)ame%&e la memoria obser)ar*% cier&a i%&er0
calaci2% de las seis escri&uras$ di!amos -A$ -D$ 1A$ 1D$ -C$ 1C o 1A$ -A$ 1D$ 1C$ -D$ -C o
muchas o&ras. La co%sis&e%cia de procesador no !ara%&i4a ue &oda CP6 )er* el mismo orde0
%amie%&o 7a difere%cia de la co%sis&e%cia secue%cial$ ue s, ofrece es&a !ara%&,a8. Por &a%&o$
es&* permi&ido ue el hardPare se compor&e de &al ma%era ue al!u%as CP6 )ea% el primero
de los dos orde%amie%&os ue pusimos de e(emplo$ ue al!u%as )ea% el se!u%do y ue al!u%as
)ea% o&ros orde%amie%&os. Lo ue s, se !ara%&i4a es ue %i%!u%a CP6 )er* u%a secue%cia e%
la ue -D ocurre a%&es ue -A$ e&c. El orde% e% ue cada CP6 reali4a sus escri&uras se
obser)a e% &odos lados.
Con!i!tencia d?%i
Nues&ro si!uie%&e modelo$ con!i!tencia d?%i) %i siuiera !ara%&i4a ue las escri&uras de u%a
sola CP6 se )er*% e% orde% 7Dubois el al.* -L?>8. E% u%a memoria co% co%sis&e%cia d/bil$
u%a CP6 podr,a )er -A a%&es ue -D y o&ra CP6 podr,a )er -A despu/s de -D. 3i% embar!o$
a fi% de po%er cier&o orde% e% el caos$ las memorias co% co%sis&e%cia d/bil &ie%e% )ariables de
si%cro%i4aci2% o u%a operaci2% de si%cro%i4aci2%. Cua%do se e(ecu&a u%a si%cro%i4aci2%$
&odas las escri&uras pe%die%&es se &ermi%a% y %o se i%icia %i%!u%a %ue)a has&a ue &odas las
)ie(as se lle)a% a cabo y la si%cro%i4aci2% misma &ermi%a. Lo ue u%a si%cro%i4aci2% hace
realme%&e es K)aciar la fila de procesamie%&oK y po%er la memoria e% u% es&ado es&able si%
operacio%es pe%die%&es. Las operacio%es de si%cro%i4aci2% so% e% s, secue%cialme%&e co%0
sis&e%&es9 es decir$ cua%do )arias CP6 las emi&e%$ se esco!e al!+% orde%$ pero &odas las CP6
)e% el mismo orde%.
E% la co%sis&e%cia d/bil$ el &iempo se di)ide e% /pocas bie% defi%idas delimi&adas por
las si%cro%i4acio%es 7secue%cialme%&e co%sis&e%&es8$ como se ilus&ra e% la fi!ura ?01-. No
se !ara%&i4a u% orde% rela&i)o para -A y -D$ y difere%&es CP6 podr,a% )er las dos escri&uras
e% difere%&e orde%9 es decir$ u%a CP6 podr,a )er -A y lue!o -D$ mie%&ras ue o&ra CP6
podr,a )er ID y despu/s - A. Es&a si&uaci2% se permi&e. 3i% embar!o$ &odas las CP6 )e% -D
a%&es ue -C porue la primera operaci2% de si%cro%i4aci2% obli!a a ue -A$ -D y 1A
&ermi%e% a%&es ue se permi&a el i%icio de -C$ 1D$ 3A o 3D. As, pues$ al reali4ar operacio%es
de si%cro%i4aci2%$ el sof&Pare puede impo%er cier&o orde% sobre la secue%cia de sucesos$
au%ue %o si% cos&o porue el )aciado de la fila de procesamie%&o de memoria &oma cier&o
&iempo.
=L
A"M6ITECT6"A DE CO#P6TADO"A3 PA"ALELA3 CAP. ?
Figura 0-2#. 6%a memoria co% co%sis&e%cia d/bil usa operacio%es de
si%cro%i4aci2% para di)idir el &iempo e% /pocas secue%ciales.
Con!i!tencia de i%eracin
La co%sis&e%cia d/bil &ie%e el problema de ue es muy i%eficie%&e porue debe &ermi%ar &odas
las operacio%es de memoria pe%die%&e y de&e%er las %ue)as has&a ue &ermi%e% las ac&uales. La
con!i!tencia de i%eracin me(ora la si&uaci2% al adop&ar u% modelo parecido al de seccio%es
cr,&icas 7Gharachorloo et al.* -LL.8. La idea e% ue se basa es&e modelo es ue$ cua%do u%
proceso sale de u%a secci2% cr,&ica %o es %ecesario hacer ue &odas las escri&uras se lle)e% a
cabo i%media&ame%&e9 s2lo es %ecesario ase!urarse de ue &ermi%e% a%&es de ue cualuier
proceso i%!rese o&ra )e4 e% esa secci2% cr,&ica.
E% es&e modelo$ la operaci2% de si%cro%i4aci2% ue ofrece la co%sis&e%cia d/bil se
di)ide e% dos operacio%es dis&i%&as. 3i uiere leer o escribir u%a )ariable de da&os compar&ida$
u%a CP6 7es decir$ su sof&Pare8 debe efec&uar primero u%a operaci2% acuire 7aduirir8 sobre
la )ariable de si%cro%i4aci2% para ob&e%er acceso e5clusi)o a los da&os compar&idos. Lue!o la
CP6 puede usarlos como desee$ ley/%dolos y escribi/%dolos a )olu%&ad. Cua%do &ermi%a$ la
CP6 efec&+a u%a operaci2% rel/ase 7liberar8 sobre la )ariable de si%cro%i4aci2% para i%dicar
ue ya &ermi%2. La rel/ase %o hace ue las escri&uras pe%die%&es fi%alice%$ pero ella misma %o
&ermi%a si%o has&a ue &odas las escri&uras emi&idas pre)iame%&e se lle)a% a cabo. Adem*s$ %o
se impide ue %ue)as operacio%es de memoria se i%icie% de i%media&o.
Cua%do se emi&e la si!uie%&e acuire$ se )erifica si ya se fi%ali4aro% &odas las operacio0
%es rel/ase pre)ias. 3i %o$ la acuire se de&ie%e has&a ue &odas &ermi%a% 7y por &a%&o &ermi%a%
&ambi/% &odas las escri&uras reali4adas a%&es8. De es&e modo$ si la si!uie%&e acu,re ocurre
suficie%&e &iempo despu/s de la rel/ase m*s recie%&e$ %o &ie%e ue esperar a%&es de i%iciar
y se puede i%!resar e% la secci2% cr,&ica si% re&raso. 3i ocurre demasiado pro%&o despu/s de
u%a rel/ase$ la acu,re 7y &odas las i%s&ruccio%es ue le si!ue%8 se re&rasar*% has&a ue
&odas las rel/ase pe%die%&es &ermi%e%$ lo ue !ara%&i4a ue las )ariables de%&ro de la secci2%
cr,&ica se ha% ac&uali4ado. Es&e esuema es u% poco m*s complicado ue la co%sis&e%cia
d/bil$ pero &ie%e la impor&a%&e )e%&a(a de ue %o re&rasa i%s&ruccio%es co% &a%&a frecue%cia a
fi% de ma%&e%er la co%sis&e%cia.
<.
3EC. ?.= #6LTIP"OCE3ADO"E3 CON #E#O"IA CO#PA"TIDA
<-

Você também pode gostar