289 80 61MB
Spanish Pages [344] Year 2015
Diseño y evaluación de arquitecturas de computadoras
M arta Beltrán Pardo Profesora T itular de U niversidad Á rea de A rquitectura y Tecnología de C om putadores Universidad Rey Juan Carlos de M adrid
A ntonio G uzm án Sacristán Profesor C ontratado D octor Á rea de A rquitectura y Tecnología de C om putadores Universidad Rey Juan Carlos de M adrid
P re n tlc e H a ll es un s e llo e d ito ria l de PEARSON
H a r lo w , E n g la n d • L o n d o n • N e w Y o r k • B o s t o n • S a n F r a n c is c o • T o r o n t o • S y d n e y • S in g a p o r e • H o n g K o n g T o k y o • S e o u l • T a ip e i • N e w D e l h i • C a p e T o w n • M a d r i d • M é x ic o C i t y • A m s t e r d a m • M u n i c h • P a ris • M ilá n
D a to s d e c a ta l o g a c i ó n b ib lio g r á f ic a
M a r ta B e ltr á n P a r d o , A n to n io G u z m á n S a c r is tá n
D iseño y evaluación d e arquitecturas d e com putadoras P E A R S O N E D U C A C I Ó N , S .A ., M a d r id , 2 0 1 0
IS B N : 9 7 8 -8 4 -8 3 2 2 -6 5 0 -6 M a lc r ía : 0 0 4 , C o m p u ta d o r e s
F o r m a to : 1 9 5 * 2 5 0 m m
P á g in a s : 3 4 4
T o d o s los d e rech o s reservados. C ualquier fo rm a d e reproducción, distribución, co m u n icació n pública o transform ación d e es ta obra sólo puede se r realizad a c o n la autorización d e su s titu lares, sa lv o ex c e p c ió n prevista por la ley. L a infracción d e los d e rech o s m en cio n ad o s p u ed e se r co n stitu tiv a d e delito c o n tra la propiedad in telectu al (arts. 2 7 0 y
sgts. Código penal). D iríjase a c e d r o (C en tro E sp añ o l d e D erech o s R eprográficos: w w w .ced ro .o rg ), escan ear alg ú n frag m ento de e s ta obra.
si
n e cesita fo to co p iar o
D E R E C H O S R E SER V A D O S © 2010, P E A R S O N E D U C A C IÓ N , S.A. C / R ib era d e l L oira, 28 28 0 4 2 M a d rid (E sp aña) w w w .p earso n ed u cacion.com P R E N T IC E H A L L e s un se llo ed ito rial au to rizad o d e P E A R S O N E D U C A C IÓ N IS B N : 9 7 8 -8 4 -8 3 2 2 -650-6 D ep ó sito L egal: M E q u ip o editorial: E d ito r: M ig u el M artín-R om o T écn ico ed itorial: E sther M artín E q u ip o d e prod u cción : D irector: Jo s é A n to n io C la re s T écn ico: Isab el M uñoz D iseño d e cu b ierta : E quipo d e D iseño d e P E A R S O N E D U C A C IÓ N , S. A . C om p o sició n : JO SU R TRATAM IENTO D E TE X TO S, S.L. Im p reso por:
N ota sob re en la ces a p á g in a s w eb ajen as: E ste libro p u ed e incluir en laces a sitios w e b g e stio n a d o s por tercero s y ajen o s a P E A R S O N E D U C A C IÓ N S .A . q u e se in clu y en só lo c o n fin alid a d inform ativa. P E A R S O N E D U C A C IÓ N S .A . no asu m e ningún tipo d e resp o n sab ilid ad p o r los d a ñ o s y p erju icio s d e r i v ad o s d e l uso d e los d ato s p erso n ales q u e pu ed a h a c e r un tercero e n c a rg a d o d e l m an ten im ien to d e la s p á g in as w e b aje n a s a P E A R S O N E D U C A C IÓ N S .A . y d e l funcionam iento, a c c e sib ilid a d o m antenim iento d e los sitio s w e b no g estio n a d o s po r P E A R S O N E D U C A C IÓ N S .A . L as refe ren cias se p roporcionan en e l e s ta d o e n q u e se en cu en tran e n e l m om ento d e p u b licació n sin g aran tías, ex p resa s o im plícitas, sobre la info rm ació n q u e se p roporcione e n ellas. IM P R E S O E N E SPA Ñ A - P R IN T E D IN SP AIN E s l e lib r o h a s i d o im p r e s o c o n p a p e l y t in t a s e c o l ó g i c o s .
Contenido Introducción 1. 2. 3. 4.
Definición d e a rq u ite c tu ra d e c o m p u ta d o ra s....................................................................................... O bjetivos d e este lib ro ................................................................................................................................. C óm o u sar este lib ro .................................................................................................................................... A g radecim ientos...........................................................................................................................................
XI X II X IV XV
Capítulo t : Conceptos básicos de procesadores 1.1.
1.2. 1.3. 1.4.
1.5.
D iseño d e u n rep erto rio d e in stru ccio n es..............................................................................................
2
1.1.1. D ecisiones acerca del tip o d e alm acenam iento d e o p e ra n d o s........................................... 1.1.2. Decisiones acerca d e la interpretación de las direcciones de m em oria y d e los m odos d e direccionam iento so p o rta d o s................................................................................................ 1.1.3. O tra s d ecisio n es............................................................................................................................ 1.1.4. C odificación del rep erto rio d e instrucciones.......................................................................... 1.1.5. M ejo ras y optim izaciones del rep ertorio d e in strucciones.................................................
3 7 11 12 14
M ecanism o com pleto d e ejecución d e u n a in strucción ...................................................................... Evaluación d e prestaciones d e un p ro c e sa d o r...................................................................................... D iseño d e procesadores secuenciales.......................................................................................................
15 18 19
1.4.1. P rocesador m o nociclo.................................................................................................................. 1.4.2. P rocesador m ulticiclo................................................................................................................... 1.4.3. T ratam ien to d e excepciones en procesadores secuenciales.................................................
20 25 33
D iseño d e procesadores segm entados.....................................................................................................
35
1.5.1. C o nceptos básicos d e segm entación........................................................................................ 1.5.2. R esolución d e riesgos en procesadores seg m en tad o s.......................................................... 1.5.3. P rocesadores segm entados m u ltifuncionales......................................................................... 1.5.4. T ratam ien to d e excepciones........................................................................................................
36 40 58 63
R E S U M E N D E D E C IS IO N E S D E D IS E Ñ O D E L R E P E R T O R IO D E IN S T R U C C IO N E S
66
R E S U M E N D E D E C IS IO N E S D E D IS E Ñ O D E L P R O C E S A D O R ................................................... Procesadores secuenciales......................................................................................................................... Procesadores segm en tad o s........................................................................................................................
67 67 67
B IB L IO G R A F ÍA Y L E C T U R A S R E C O M E N C A D A S ...........................................................................
68
P R O B L E M A S .........................................................................................................................................................
69
A U T O E V A L U A C IÓ N ...........................................................................................................................................
73
Capítulo 2: Conceptos básicos de memoria y E/S 2.1. 2.2.
D iseño d e u n a je ra rq u ía d e m em oria b ásica........................................................................................ M ecanism o com pleto d e acceso a m e m o ria ........................................................................................
76 79
C O N T E N ID O
2.3. 2.4.
Evaluación d e prestaciones d e la je ra rq u ía d e m e m o ria ................................................................... Niveles d e la je ra rq u ía d e m e m o ria ......................................................................................................... 2.4.1. 2.4.2. 2.4.3.
2.5. 2.6. 2.7. 2.8.
2.9.
81 82
D iseño d e la m em oria caché...................................................................................................... D iseño d e la m em oria p rin c ip a l.............................................................................................. D iseño d e la m em oria v irtu a l...................................................................................................
82 100 104
D iseño d e u n sistem a d e E/S b á s ic o ........................................................................................................ M ecanism o com pleto d e u n a operación d e E/S................................................................................... Evaluación d e prestaciones del sistem a d e E /S .................................................................................... B u s e s d e E /S ...................................................................................................................................................
108 110 111 112
2.8.1. 2.8.2.
D iseño d e buses d e E/S................................................................................................................. D iseño d e je ra rq u ía s d e buses.....................................................................................................
113 117
G estión d el sistem a d e E /S ........................................................................................................................
120
2.9.1. 2.9.2. 2.9.3.
120 120 126
E/S p ro g ram ad a con esp era d e respuesta................................................................................ E/S con in te rru p c io n e s................................................................................................................. E/S con acceso d irecto a m e m o ria ...........................................................................................
R E S U M E N D E D E C IS IO N E S D E D IS E Ñ O D E L A JE R A R Q U ÍA D E M E M O R IA ..................
130
M em o ria c a c h é ............................................................................................................................................ M em o ria p rin c ip a l...................................................................................................................................... M em o ria v irtu al........................................................................................................................................... B u s e sd e E /S .................................................................................................................................................. G estió n E /S...................................................................................................................................................
130 130 131 131 132
B IB L IO G R A F ÍA Y L E C T U R A S R E C O M E N D A D A S ...........................................................................
132
P R O B L E M A S .........................................................................................................................................................
133
A U T O E V A L U A C IÓ N ...........................................................................................................................................
136
Capítulo 3: Técnicas de aumento de prestaciones para procesadores 3.1.
Planificación d in ám ica d e instrucciones................................................................................................
138
3.1.1. 3.1.2. 3.1.3.
Planificación d e instrucciones d e acceso a m e m o ria .......................................................... Planificación d in á m ic a d e instrucciones c e n tra liz ad a ........................................................ Planificación d in á m ic a d e instrucciones d istrib u id a ..........................................................
139 141 145
Predicción d in ám ica d e s a lto s ..................................................................................................................
150
3.2.1. 3.2.2.
E stru ctu ras hardw are p a ra la predicción d e s a lto ................................................................. Predictores d e s a lto .......................................................................................................................
151 161
Em isión m últiple d e instrucciones...........................................................................................................
167
3.3.1. V L IW ................................................................................................................................................ 3.3.2. Superescalar e s tá tic a .................................................................................................................... 3.3.3. Superescalar d in ám ica..................................................................................................................
167 169 172
E speculación.................................................................................................................................................. M u ltith read in g ..............................................................................................................................................
173 181
R E S U M E N D E D E C IS IO N E S D E D IS E Ñ O D E T É C N IC A S D E A U M E N T O D E P R E S T A C IO N E S P A R A P R O C E S A D O R E S .................................................................................................................
184
Planificación d in ám ica d e instrucciones................................................................................................ Predicción d in ám ica d e s a lto s ..................................................................................................................
184 184
3.2.
3.3.
3.4. 3.5.
C O N T E N ID O
Em isión m últiple d e instrucciones y e sp ecu lació n ............................................................................. Paralelism o a nivel d e th r e a d ...................................................................................................................
185 185
B IB L IO G R A F ÍA Y L E C T U R A S R E C O M E N D A D A S ...........................................................................
185
P R O B L E M A S .........................................................................................................................................................
186
A U T O E V A L U A C IÓ N ...........................................................................................................................................
190
Capítulo 4: Técnicas de aumento de prestaciones para memoria y E/S 4.1.
Técnicas d e optim ización p a ra la m em o ria cach é.............................................................................. 4.1.1. R educción d e la penalización p o r fallo .................................................................................. 4.1.2. R educción d e la tasa d e f a llo s .................................................................................................. 4.1.3. R educción d el tiem po d e a cceso..............................................................................................
192 192 196 200
4.2.
Técnicas d e optim ización p a ra la m em o ria p rincipal........................................................................
206
4.2.1. 4.3.
4.4.
4.5. 4.6.
Increm ento del ancho d e b a n d a ..............................................................................................
207
Técnicas d e optim ización c o n ju n ta p a ra to d o s los niveles d e la jerarq u ía: visión global d e la je ra rq u ía d e m e m o ria ..................................................................................................................................
211
4.3.1. S op o rte a las técnicas d e optim ización del p ro c e sa d o r...................................................... 4.3.2. A lm acenam iento local vs m em oria cach é...............................................................................
211 212
Técnicas d e optim ización p a ra los buses d e E /S .................................................................................
212
4.4.1. 4.4.2. 4.4.3.
A ncho d e d a to s y frecuencia d e o p e ra c ió n ........................................................................... N úm ero d e transferencias p o r c ic lo ........................................................................................ U tilización d e p ro to co lo s d e com unicaciones d e alto re n d im ie n to ................................
212 214 215
Técnicas d e optim ización p a ra los dispositivos d e E/S......................................................................
217
4.5.1.
217
O ptim ización p a ra los dispositivos d e alm acén am iento: R A I D ....................................
Técnicas d e optim ización p a ra la gestión d e E /S ...............................................................................
223
4.6.1.
P rocesador p a r a el sistem a gráfico: G P U .............................................................................
223
R E S U M E N D E D E C IS IO N E S D E D IS E Ñ O D E T É C N IC A S D E A U M E N T O D E P R E S T A C IO N E S P A R A M E M O R IA Y E /S ..................................................................................................................
228
A um ento A um ento A um ento A um ento A um ento
de de de de de
prestaciones d e prestaciones d e prestaciones d e prestaciones d e prestaciones en
la m em oria c a c h é ................................................................................... la m em oria p rin c ip al............................................................................. buses d e E /S ............................................................................................ dispositivos d e E/S: alm acenam iento................................................ la gestión d e E /S.....................................................................................
228 228 228 229 229
B IB L IO G R A F ÍA Y L E C T U R A S R E C O M E N D A D A S ...........................................................................
229
P R O B L E M A S .........................................................................................................................................................
230
A U T O E V A L U A C IÓ N ...........................................................................................................................................
233
Capítulo 5: Sistemas multiprocesador y multicomputador 5.1. G asificación d e arq u itectu ras co n varios pro cesad o res......................................................................
236
5.1.1. A rq u itectu ras d e m em oria co m p artid a.................................................................................... 5.1.2. A rq u itectu ras d e m em oria co m p a rtid a -d istrib u id a .............................................................. 5.1.3. A rq u itectu ras d e m em oria d istrib u id a ......................................................................................
237 238 239
C O N T E N ID O
5.1.4. 5.1.5.
A rq u itectu ras on-ch ip d e m em oria co m p a rtid a ................................................................... A rq u itectu ras on-ch ip d e m em oria d istrib u id a....................................................................
240 242
R edes d en tro d e a rq u itectu ras d e c o m p u ta d o ra s.................................................................................
242
T o p o lo g ía ....................................................................................................................................... Técnicas d e c o n m u ta c ió n .......................................................................................................... Técnicas d e en cam in am ien to .................................................................................................... Técnicas d e co n tro l d e flu jo .......................................................................................................
245 249 252 253
D iseño d e a rq u itectu ras d e m em oria c o m p a rtid a ................................................................................
254
5.3.1. 5.3.2. 5.3.3.
Soluciones p a ra el p ro b lem a d e la coherencia........................................................................ Soluciones p a ra el p ro b lem a de la c o n siste n c ia .................................................................... Soluciones p a ra el p ro b lem a d e la sincronización.................................................................
257 269 272
D iseño d e a rq u itectu ras d e m em oria co m p artid a-d istrib u id a..........................................................
274
5.4.1.
Soluciones p a ra el p ro b lem a d e la coherencia........................................................................
275
D iseño d e a rq u itectu ras d e m em oria d istrib u id a .................................................................................
283
5.5.1. 5.5.2.
C lu sters........................................................................................................................................... G rid s................................................................................................................................................
283 286
R E S U M E N D E D E C IS IO N E S D E D IS E Ñ O D E SISTEM A S M U L T IP R O C E S A D O R Y M U L T I C O M P U T A D O R ...............................................................................................................................................
288
5.2.
5.2.1. 5.2.2. 5.2.3. 5.2.3. 5.3.
5.4. 5.5.
D iseño D iseño D iseño D iseño
de de de de
redes d en tro d e arq u itectu ras................................................................................................ a rq u itectu ras d e m em oria c o m p a rtid a ............................................................................... a rq u itectu ras d e m em oria co m p artid a-d istrib u id a......................................................... a rq u itectu ras d e m em oria d istrib u id a ................................................................................
288 288 288 289
B IB L IO G R A F ÍA Y L E C T U R A S R E C O M E N D A D A S ...........................................................................
289
P R O B L E M A S .........................................................................................................................................................
290
A U T O E V A L U A C IÓ N ...........................................................................................................................................
296
Capítulo 6: Evaluación de prestaciones 6.1. 6.2. 6.3.
Definición d e m étricas d e ren d im ien to................................................................................................... M étricas d e rendim iento sen cillas........................................................................................................... E valuación y com paració n d e re n d im ie n to ..........................................................................................
298 299 300
6.3.1.
Ley d e A m dhal y L ey d e G u s ta fs o n ........................................................................................
303
Técnicas d e m edida y b e n c h m a rk s..........................................................................................................
307
6.4.1. Técnicas d e m e d id a ....................................................................................................................... 6.4.2. T ip o s d e b en ch m ark .....................................................................................................................
308 310
M étricas d e rendim iento com p lejas.........................................................................................................
312
6.5.1. Speedup en sistem as paralelos y eficiencia............................................................................. 6.5.2. E scalabilidad...................................................................................................................................
313 315
B IB L IO G R A F ÍA Y L E C T U R A S R E C O M E N D A D A S ...........................................................................
317
P R O B L E M A S .........................................................................................................................................................
318
A U T O E V A L U A C IÓ N ...........................................................................................................................................
320
índice analítico .................................................................................................................................................
321
6.4.
6.5.
Introducción
Contenidos 1. 2. 3. 4.
D e fin ic ió n d e a rq u ite c tu ra d e c o m p u ta d o ra s O b je tiv o s d e e s te lib r o C ó m o u s a r e s te lib r o A g r a d e c im ie n to s
7
IN TR O D U C C IÓ N
L a id ea d e este libro surge tra s im p artir las asignaturas d e A rq u itectu ra d e C o m p u tad o res d e 3.° d e Ingeniería In fo rm ática y A rq u itectu ra e Ingeniería d e C o m p u tad o res d e 4.° de Ingeniería In fo rm ática en la U niversidad R ey Juan C a rlo s d e M ad rid d u ra n te los seis últim os cursos. El objetivo principal q u e nos p lanteam os fue d d e p ro p o rd o n a r a los docen tes y a los estu diantes un libro d e texto en castellano q u e cu b riera los con ten id o s típicos d e las asignaturas d e A rq u itectu ra d e C om p u tad o res d e los últim o s a ñ o s d e c a rre ra con u n a visión com pleta y eq u ilib rad a del tem a, y u n e n foque p u ram en te pedagógico. Este objetivo h a supuesto un g ran reto, principalm ente p o r tre s m otivos. El prim ero, la gran variedad de sistem as q u e h o y en d ía se ag rupan en la d enom inación “c o m p u ta d o ra ” (variedad en aplicación, prestad o n es, com plejidad, coste, etc.). El segundo, d ritm o vertiginoso al q u e cam bian to d o s estos sistemas, tan to en lo q u e se refiere a la tecnología com o al diseño, y la com plejidad d e las técnicas em pleadas en la actualidad. Y el tercero, y n o p o r ello m enos im portante, la incertidum bre g a le ra d a p o r la adaptación d e los estudios al E spacio E uropeo d e E d u c a d ó n S uperior (EEES). A p esar d e todo, este libro in te n ta p resen tar los conceptos fundam entales relacionados con el diseño y evaluación d e arq u itectu ras d e co m p u tad o ras, teniendo e n c u e n ta las técnicas generales q u e pueden aplicarse a cu alq u ier tip o d e arq u itectu ra, sen tando las bases p a ra q u e el estu d ian te p u ed a com prender las tecnologías y diseños q u e aparezcan en el futuro p o r com plejas q u e éstas sean, y p ro p orcionando u n a herram ienta d e trab ajo m uy valiosa p a ra la a d q u isid ó n p o r p arte d e los estu diantes d e los conocim ientos, ca p a d d a d es y destrezas correspondientes, ta n to a i sus clases lectivas, teóricas o prácticas, com o en sus horas d e estu d io individual.
O
Definición de arquitectura de computadoras
L a d efin id ó n d e la A rq u itectu ra d e C o m p u tad o ras h a generado m ultitud d e discusiones d esd e la a p a rid ó n d e la q u e puede consid erarse la p rim era c o m p u ta d o ra a i 1943, la E N IA C . D esde este m om ento diferentes a u to re s han propuesto diferentes d esco m posidones d e u n a c o m p u ta d o ra según el nivel d e d etalle y a b stra c d ó n con q u e se estudie. E n to d o s los caso s c a d a uno d e los niveles de d e sc rip d ó n e s tá g o b ernado p o r sus pro p io s lenguajes d e representación, p o r sus reglas d e diseño y p o r sus leyes d e funcionam iento. C a d a nivel to m a com o d e m e n to s fundam entales o prim itivas los c o n stitu i d o s a i los niveles inferiores. A dem ás d e existir esta je ra rq u ía externa, den tro d e c a d a nivel suele existir una je ra rq u ía in tern a d e sis to n a s y su b sisto n a s q u e facilita el estudio d e sus e lo n e n to s y d e las rd acio n es o itr e ellos. L a idea p rincipal d e to d a s las p ropuestas realizadas en este sentido es la m ia ñ a : definir u n a descom posición d e la c o m p u ta d o ra a i n iv d es d e estu d io q u e p e rm ita su descripción jerárq u ica y q u e fa d lite su com prensión y diseño. ¿Qué relación tienen esto s niveles d e estu d io con la A rq u itectu ra d e C om putadoras? L a prim era vez que se definió este térm ino fue en u n artículo q u e p re so ita b a la fam ilia 360 d e IB M y se definía com o “ L a estru ctu ra d e u n a c o m p u ta d o ra q u e debe co nocer u n pro g ram ad o r en lenguaje m áq u in a p a ra escribir program as co rrecto s p a ra e sa m áq u in a” . U n a definición sim ilar propusieron A m dhal, Blaaw y B rooks o í 1964 “ L os atrib u to s d e u n a c o m p u ta d o ra tal y com o los ve un pro g ram ad o r e n lenguaje ensam blador, com prende la e stru c tu ra co nceptual y el m o d d o fu n d o n a l (m odelo d e program ación)” . I^ ro hoy en d ía las c o m p u ta d o ra s son sis to n a s dem asiado sofisticados p a r a sim plificar ta n to la d e finición d e su arq u itectu ra. P ara co m p letar u n poco esta s aproxim adones basadas en niv d es d e d e scrip d ó n , c o m e n c a n o s p o r alg u n as definiciones q u e se encu en tran en la literatura d d área y q u e n o s perm iten acercarnos a e s ta cuestión: • M ateria q u e co m prende el diseño, la fabricación, la configuración y la explotación eficiaite d e las com putadoras.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
• C am po d e la in form ática q u e se encarg a del estudio d e to d o s los elem entos, softw are y hardw are necesarios p a ra el d iseño d e un sistem a com putacional com pleto. • A rte d e d iseñ ar u n a c o m p u ta d o ra q u e cum pla las necesidades del usuario teniendo en c u e n ta las lim itaciones tecnológicas y económ icas existentes. • M ateria q u e se encarg a del estu d io d e las relaciones entre los com ponentes q u e form an u n a c o m pu tad o ra. • Estudio d e la e stru c tu ra y organización d e los com ponentes hardw are y softw are q u e form an u n a co m p u tad o ra. D e e sta s definiciones y d e m u ch as o tra s sim ilares q u e pueden en co n trarse en la bibliografía, se pueden e x tra e r a lg u n as conclusiones. L a p rim era, se p u ed e c o n sid e ra r q u e la A rq u ite c tu ra d e C o m p u ta d o ra s se e n carg a del e stu d io d e los elem en to s d e la c o m p u ta d o ra q u e e stá n p o r d e b a jo d e la visión ofrecida a los u su a rio s y p ro g ram ad o res finales y a sus aplicaciones. E ste e stu d io d e b e c o m p re n d er cu atro tip o s d e aspectos: los relacio n ad o s co n el rep erto rio d e instrucciones d e la c o m p u ta d o ra , los relacio n ad o s con su organización, los re la c io n ad o s co n su im p lem entación c o n creta, y p o r últim o, los relacio n ad o s c o n la evaluación d e su rendim iento. L a segunda, se tra ta d e u n a m ateria e strecham ente relacio n ad a co n el e stu d io d e la e s tru c tu ra y organización d e la c o m p u ta d o ra y co n las relaciones e n tre sus com p o n en tes. Pero no se tra ta sólo d e u n e stu d io teórico, sino q u e tam bién es necesario saber cóm o dise ñ a r la c o m p u ta d o ra , según e s ta o rg an izació n y las relaciones e n tre sus elem entos, p a ra q u e cu m p la un o s req u isito s específicos. Por últim o, cabe d e sta c a r d o s aspectos com únm ente olvidados: • L a A rq u itectu ra d e C o m p u ta d o ra s n o sólo se encarga d e los elem entos hardw are sino tam bién d e tos elem entos software. E sto se d eb e a q u e en m uchos casos am b o s aspectos se hallan estrecham en te relacio nad o s y n o se pueden e stu d ia r p o r separado. El ejem plo m ás claro es el d e los sistem as operativos, estu d iad o s m uy frecuentem ente d e n tro del área d e A rq u itectu ra d e C o m p u tad o ra s p o r su estrech a relación co n el hardw are d e la co m p u tad o ra. P o r ejem plo, en el estudio d e la m em oria virtual, q u e n o puede co m prenderse d e m a n e ra exhaustiva atendiendo sólo a aspectos hardw are. • El térm in o C o m p u ta d o ra s d eb e ser com pletam ente general y no restrictivo. E s decir, no se deben estudiar sólo c o m p u ta d o ra s d e p ro p ó sito general sino tam bién sistem as específicos diseñados p a ra aplicaciones o tareas co n cretas d e diferentes tam años, costes y prestaciones. U n a vez definida la A rq u itectu ra d e C o m putadoras, q u e d a c la ra la im portancia q u e el estudio de esta m ateria adquiere en las diferentes titulaciones d e ingeniería relacionadas co n las T ecnologías d e la Inform ación y las C om unicaciones (T IC ). D esde los añ o s 70, organism os internacionales com o A C M o IE E E h a n em itido periódicam ente inform es q u e realizan recom endaciones p a ra el currículum d e las titulaciones relacionadas con la infor m ática. F in alm en te am b as instituciones han unificado sus esfuerzos y desde 1980 realizan u n a serie d e recom endaciones com unes q u e se h a n resum ido en los Computing Curricula. L as recom endaciones d e es tas d o s organizaciones establecen las grandes líneas q u e deben o rie n ta r la educación d e los profesionales del m u n d o d e la in form ática teniendo en c u e n ta las necesidades y dem andas d e la sociedad actual, y en la m ayor p a rte d e los perfiles profesionales propuestos, la A rq u itectu ra d e C o m p u tad o ras tiene un g ran peso en la form ación d e los egresados y en las com petencias q u e é sto s deben adquirir.
Objetivos de este libro C om o se señalaba en la introducción d e este capítulo, nuestro objetivo principal es pro p o rcio n ar a los d ocentes y a los estu d ian tes d e A rq u itectu ra d e C o m p u ta d o ra s un libro d e texto en castellano q u e
IN TR O D U C C IÓ N
recopile d e m an era sistem ática las técnicas m ás im portantes d e diseño y evaluación de arq u itec tu ras d e co m putadoras. A este objetivo se sum a n u estra intención d e escribir d libro co n un enfoque pu ram en te didáctico, por lo q u e el texto in co rp o ra un gran núm ero d e figuras ilustrativas y ejem plos resueltos, resú m a les con los con cep to s m ás im portantes, p ropuestas d e eje rc id o s y autoevaluaciones, etc. A dem ás, a lo largo d e todo e ste libro se utiliza la a rq u ite c tu ra d e un p ro cesador d e tipo R IS C , el nanoM IP S , com o ejem plo d i dáctico q u e p erm ita co m p ren d er to d a s las técnicas e stu d iad a s y concretarlas en u n a m ism a arq u itectu ra para to d a s las explicaciones y ejem plos. E ste p ro c esa d o r sólo tiene fines pedagógicos, pero su arq u itec tu ra se b a sa en los m ism os principios d e diseño q u e o tra s d e tip o R IS C co m o el M IPS, el SPARC o el PowerPC. N uestro objetivo es q u e tra s el estu d io d e este libro el estu d ian te adq u iera las siguientes com petend a s: 1. 2. 3. 4. 5. 6.
C om p ren d er el funcionam iento d e las principales unidades fu n d o n a le s q u e com ponen la c o m p u ta d o ra (procesador, m em o ria y sistem a d e E/S). A nalizar los aspectos d e rendim iento m ás im p o rtan tes d e c a d a u n a d e las u n idades fu n d o n a le s y re la d o n a rlo s con el rendim iento d e las dem ás. D iseñ ar y configurar u n a c o m p u ta d o ra p a r a q u e cu m p la u n o s requisitos d e a lta s prestaciones. C onocer las técnicas d e au m en to d e prestaciones q u e se aplican en diferentes niveles en las c o m p u ta d o ra s actuales. E valu ar d e m an e ra fiable el rendim iento d e u n a c o m p u tad o ra y/o d e las u n idades funcionales q u e la com p o n en utilizando p a ra d io las m étricas d e rendim iento adecuadas. U tilizar los resu ltad o s ob ten id o s d e e s ta evaluación p a ra detectar c u d lo s d e b o td la , co m p a ra r diferentes alternativas, o p tim izar el rendim iento, etc.
Y q u e d p rofesor d isp o n g a d e u n a h erram ien ta q u e directam ente le p erm ita p rep ara r su asig n atu ra para q u e el alum no o b ten g a estas com petencias sin necesidad d e e sta r filtrando y fusionando inform ad ó n d e d istin ta s fuentes d e referencia. P a ra ello este libro se o rg an iza en tres partes: • P rim era p arte: D iseño y evaluación d e procesadores, m em orias y sistem as d e E/S básicos (com pe tencias 1 y 2). — Capítulo 1. Conceptos Básicos de Procesadores. E n este capítulo se com ienza p o r estu d ia r el diseño de u n repertorio d e instrucciones p a ra p asar a com prender el m ecanism o com pleto de ejecu d ó n d e u n a instrucción. A co n tin u ació n se p ro p o rcionan los fun d am en to s d e evaluación d e prestaciones del p ro cesador y se e stu d ia d diseño de procesadores secuendales y d e proce sadores segm entados básicos. — Capítulo 2. Conceptos Básicos de Memoria y E/S. E n este capítulo se com ienza estu d ian d o el diseño d e u n a je ra rq u ía d e m em oria básica, el m ecanism o com pleto d e acceso a m em oria y la evaluación d e p re sta d o n e s d e la je ra rq u ía d e m em oria p a ra p asa r a an alizar los diferentes nive les q u e com p o n en la je ra rq u ía d e m em oria. A continuación se estudia el diseño de un sistem a d e E/S básico, el m ecanism o com pleto d e u n a o p e ra d ó n d e E/S y la evaluación d e prestaciones d d sistem a d e E/S. Por últim o, con to d o s estos conceptos básicos de E/S, se p a sa a p rofundizar a i el diseño d e buses d e E/S y d e m ecanism os de gestión d e E/S. • Segunda p arte: D iseño y evaluación d e procesadores, m em orias y sistem as d e E/S avanzados (com petencias 3 ,4 , 5 y 6). — Capítulo 3. Técnicas de aumento de prestaciones para procesadores. En este capítulo se estu d ian las técnicas d e aum ento d e prestaciones m ás utilizadas en la actualidad a i el diseño de procesa dores: planificación d in ám ica d e instrucciones, predicción d inám ica de saltos, em isión m últiple d e instrucciones, especulación y m ultithreading.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
— Capítulo 4. Técnicas de aumento de prestaciones para memoria y E/S. E ste ca p ítu lo se c e n tra en el e stu d io d e las técnicas q u e p erm iten a u m e n ta r el rendim iento d e la je ra rq u ía d e m em o ria (estu d ian d o técnicas p a ra la m em oria caché y p a ra la m em oria principal) y del sistem a de E/S (au m en to d e p restacio n es d e los buses, d e los dispositivos y d e los m ecanism os d e gestión). — Capítulo 5. Sistem as multiprocesador y multicomputador. E n el últim o capítulo d e esta segunda parte se com ienza p o r realizar u n a clasificación d e arq u itectu ras co n varios procesadores p a ra pasar a contin u ació n a e stu d ia r los conceptos básicos d e redes den tro de arq u itectu ras d e c o m putadoras. A co n tin u ació n se estu d ia el diseño d e arq u itectu ras de m em oria co m p artid a, d e m em oria co m p artid a-d istrib u id a y d e m em oria distribuida. • Tercera p arte: P rofundización en la evaluación d e rendim iento, selección d e m étricas, técnicas y herram ientas d e m edida, co m p aració n d e rendim iento, etc. (com petencias 5 y 6). — Capítulo 6. Evaluación de prestaciones. En este capítulo se discute acerca d e la definición d e m étricas d e rendim iento adecuadas, se estudian m étricas d e rendim iento sencillas y cóm o utili z a d a s p a ra realizar evaluación y com paración d e rendim iento. A c o n tin u a d ó n se estudian las técnicas d e m ed id a y b en ch m ark s necesarios p a ra o b ten er los valores de e sta s m étricas y p o r últim o, se estudian m étricas d e rendim iento com plejas necesarias p a ra evaluar las prestaciones d e arq u itectu ras c o n m ás d e u n procesador.
Cómo usar este libro P ir a co m en zar a estu d iar este libro es necesario haber estudiado previam ente alguna asignatura d e In form ática B ásica q u e haya pro p o rcio n ad o al estu d ian te u n a visión p anorám ica d e la inform ática y las prim eras nociones básicas acerca d e la representación d e inform ación den tro de la c o m p u ta d o ra y d e la arq u itectu ra Von N eu m an n . P o r o tro lado, tam bién sería deseable q u e el e stu d ia n te conociera los c o n ceptos básicos d e F u n d am en to s d e C o m p u ta d o ra s (con to d a la base en electrónica analógica y digital) y de E stru c tu ra y Tecnología d e C om putadoras, p a r a tener c la ra u n a descripción básica d e las diferentes unidades funcionales d e la c o m p u ta d o ra (procesador, m em oria y periféricos) y nociones d e lenguaje ensam blador. Los cap ítu lo s d e e ste libro están o rd en ad o s p a ra q u e su estudio secuencial p erm ita al estu d ian te obtener las com petencias antes m encionadas. Sin em bargo, to d o s d io s son auto co n ten id o s y existen d ife rentes itin erario s q u e se p u ed en seguir p a ra e stu d ia r con este libro si no se e stá siguiendo el p ro g ram a de ninguna asign atu ra co n creta o si se em p lea la técnica del estudio autónom o. A continuación se sugieren los m ás habituales:
Itin e r a r io 1: A r q u it e c tu r a d e C o m p u ta d o r a s
Itin e r a r io 2 : A r q u it e c tu r a e In g e n ie r ía d e C o m p u ta d o r a s o A m p lia c ió n d e A r q u it e c tu r a d e C o m p u ta d o r a s
Itin e ra r io 3 : A r q u ite c tu r a d e P r o c e s a d o re s
C a p ítu lo 1 C a p ítu lo 2 C a p ítu lo C a p ítu lo C a p ítu lo C a p ítu lo
3 4 5 6
C a p ítu lo 1 C a p ítu lo 3 C a p ítu lo 5
E n c u a lq u ie r c a so se su g ie re al e s tu d ia n te q u e e s tu d ie c o n a te n d ó n lo s ejem p lo s, q u e in te n te reso lv e r los p ro b lem as p ro p u e s to s (q u e e s tá n sie m p re e n o rd e n ex p o sitiv o , seg ú n se h a n p re se n ta d o lo s c o n c e p to s
IN TR O D U C C IÓ N
en c a d a capítulo) y q u e utilice las autoevaluaciones p a ra cuantificar el grado d e obtención d e las c o m petencias asociadas a c a d a capítulo. Y q u e p rofundice a i sus tem as de interés siguiendo p a ra ello las referencias d e ta lla d a s al final d e c a d a capítulo. En c u a n to a los docentes, se p roporcionan los siguientes d a to s p a ra q u e les sirvan d e referencia. El prim er itinerario corresp o n d e casi p o r com pleto co n la asignatura de A rq u itectu ra d e C om p u tad o res d e 3.° d e Ingeniería In fo rm ática (planes antiguos). E sta asignatura se h a im partido en estos planes d e e stu dio s en 60 h o ra s d u ra n te u n cuatrim estre, 4 0 h o ra s d e clases teórico/prácticas y 20 h o ra s d e prácticas. El segundo itinerario corresponde, igualm ente, con la asignatura d e A rq u ite ctu ra e Ingeniería d e C o m p u ta dores d e 4.° d e Ingeniería In form ática (planes antiguos). E sta asignatura se h a im partido en 120 h o ra s a lo largo d e to d o el curso, 75 h o ra s d e clases teórico/prácticas y 45 h o ras d e prácticas. A dem ás del libro d e texto, hem os p rep arad o u n a serie d e recursos web disponibles p a ra el apoyo tan to d e estu d ian tes com o d e profesores. L a finalidad es pro p o rcio n ar docum entos, inform ación, h e rra m ientas y enlaces ú tiles p a ra to d o s los lectores. El sitio se actu alizará según las necesidades y sugerencias d e los lectores, aunque en principio c o n ten d rá u n a fe d e e rra ta s del libro, las figuras, soluciones a problem as escogidos, ejem plos d e prácticas y exám enes y tran sp aren cias p a ra las clases.
Agradecimientos No qu erem o s finalizar e s ta introducción sin m anifestar nuestro agradecim iento a los au to re s d e los textos y libros q u e n o s h a n servido com o referencia en nuestra labor d o cen te y e n la redacción d e este li bro: Patterson& H ennessy, H ennessy& Patterson, Stallings, Shen& Lipasti, O rtega& A nguita& P rieto, Parham i, H w ang, C uller& S ingh& G upta, etc. Tam bién a Pearson E ducación p o r la confianza d ep o sitad a en nosotros. Y p o r supuesto, a nuestros alum nos d e to d o s esto s cu rso s p o r la m agnífica experiencia q u e h a supuesto co m p a rtir h o ras d e clase y tu to rías con ellos. Los a u to res Febrero 2010
Conceptos básicos de procesadores
Contenidos
v V
|
1.1. 1.2.
D is e ñ o d e u n r e p e r to r io d e in s tru c c io n e s M e c a n is m o c o m p le to d e e je c u c ió n d e u n a in s tru c c ió n
1.3. 1.4. 1.5.
E v a lu a c ió n d e p re s ta c io n e s d e u n p ro c e s a d o r D is e ñ o d e p ro c e s a d o re s s e c u e n c ia le s D is e ñ o d e p ro c e s a d o re s s e g m e n ta d o s
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
En este capítulo se co m ien za p o r e stu d ia r el diseño del repertorio d e instrucciones d e un procesador, ya q u e d esde el p u n to d e v ista del d iseñador, este repertorio d ete rm in a m uchos d e los aspectos d e diseño del procesador, q u e d eb e ser capaz d e ejecu tar to d as las instrucciones incluidas en este repertorio. Este análisis d e los aspectos d e diseño d e un repertorio d e instrucciones se c e n tra en los repertorios de tipo R IS C (Reduced In stru ctio n S et C om p u ter), ya que, com o se explica en este capítulo, las tendencias de diseño actuales se b asan casi com p letam en te en las técnicas d e optim ización q u e se aplican a estos procesadores. U n a vez estu d iad as las diferentes alternativas p a ra el diseño d e un repertorio d e instrucciones R ISC , se d escribe el m ecanism o c o m p leto d e ejecución d e u n a instrucción d e n tro d e u n p rocesador d e este tipo y se p ro p o rcio n an las h erram ien tas básicas q u e perm iten d e term in ar d rendim iento de u n p ro cesad o r y así evaluar c o n técnicas cu an titativ as las técnicas d e diseño d e procesadores q u e se e stu d ian en el resto del capítulo. A co n tin u ad ó n se presentan las técnicas básicas de diseño d e procesadores R IS C secuenciales, es decir, de procesadores e n los q u e sólo se puede ejecutar u n a in stru cd ó n e n c a d a m om ento. Se analizan los d o s tipos d e tem porización q u e se pueden utilizar a i procesadores secuenciales, m onodclo cuando c a d a instruc d ó n ta rd a u n único ciclo d e reloj e n ejecutarse o multiciclo cuando puede ejecutarse en m ás d e un ciclo. El resto del capítulo se cen tra en las técnicas d e seg m en tad ó n d e procesadores, q u e perm iten com en za r a explotar el paralelism o a nivel d e in s tru c d ó n y a u m e n ta r así d rendim iento d e los procesadores secuenciales sin necesidad d e in crem en tar significativam ente la com plejidad del hardw are. En concreto se e stu d ia n los concep to s básicos re la d o n a d o s co n la segm entación (m otivación, rendi m iento, lim itadones, etc), las técnicas d e d iseño d e procesadores segm entados d e única fu n d ó n y m ultifuncionales, las alternativas existentes p a ra la resolución d e riesgos en este tipo de procesadores, y p o r últim o, las técnicas d e tratam ien to d e excepdones.
m
Diseño de un repertorio de instrucciones
El fu n d o n a m ie n to y diseño d e un p ro cesador está com pletam ente determ in ad o p o r el repertorio de instrucciones m áq u in a o en sam b lad o r q u e puede ejecutar, p o r eso este capítulo com ienza co n el estudio de los con cep to s básicos relacionados con este repertorio. Influye directam ente en el núm ero d e instrucd o n e s q u e h ace falta ejecu tar p a ra realizar u n a d e term in ad a ta re a (I), p o r lo q u e repercute directam ente a i el tiem po d e C P U d e la ta re a (com o se estu d ia rá un poco m ás adelante en este m ism o cap ítu lo ). A de más, el rep erto rio influye decisivam ente en el diseño del c o m pilador (en la figura 1.1 se resum e d proceso de tran sfo rm ació n d e u n código d e alto nivel a lenguaje m áquina) y está estrecham ente rd a c io n a d o con d diseño d e la ru ta d e d a to s y la u n id ad d e co n trol del procesador. H asta los añ o s 80 la m ayor p a rte d e los rep erto rio s d e instrucciones e ra n d e tipo C IS C (C om plex Instruction Set C om puter), pero a p a rtir d e ese m om ento la tendencia com enzó a cam biar, im poniéndose los repertorios d e tipo R IS C (R educed In stru ctio n Set C om puter). Por ello es este tipo d e repertorio el qu e se va a e stu d ia r a lo largo d e este libro, ya q u e los procesadores actuales o son com pletam ente R IS C o, au n q u e aparezcan com o C IS C hacia d exterior, en realidad m antienen en su núcleo u n a arq u itectu ra qu e in co rp o ra las técnicas típicas d e diseño R IS C (com o es el caso d e las arq u itectu ras x86). L as arquitecturas d e tipo C ISC m anejan repertorios con un gran núm ero d e instrucdones complejas, es decir, con gran variedad d e tip o s d e datos, d e m odos de direcdonam iento y d e operaciones. E sto perm ite implem entar instrucdones d e alto nivel directam ente o con un núm ero pequeño d e instrucdones ensamblador. En el caso d e las arq u itectu ras R ISC , el repertorio está com puesto p o r pocas instrucciones y m uy b á sicas. Se tra ta d e repertorios sim ples y ortogonales, a i los q u e los form atos d e instrucción son uniform es y se utilizan pocos tip o s d e d a to s y d e m o d o s d e direcd o n am ien to , siem pre los m ás sendllos. A dem ás son fád lm en te extensibles y p o r tan to , p e rm ite n d ise ñ a r nuevos rep erto rio s com o m odificaciones y/o exten siones d e rep erto rio s y a existentes.
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
Tam bién se debe d e ten er en c u e n ta q u e el hardw are d e este tipo de procesadores es m ucho m ás sen cillo d e diseñar, m ás b a ra to y puede tra b a ja r a m ayor frecuencia d e reloj. Y qu izás lo m ás im portante: las técnicas d e optim ización son m ucho m ás sencillas d e im plem entar, tan to en el propio hardw are del procesador com o en el com pilador. Todo esto com pensa la principal desventaja q u e im plican e sto s re pertorios ta n sencillos, q u e siem pre necesitan un m ayor núm ero de instrucciones q u e un repertorio C IS C para realizar la m ism a tarea. E stas son las principales razones p o r las q u e se h a n im puesto las a rq u itectu ras R IS C y p o r ello, es el tipo d e rep erto rio q u e se e stu d ia en este libro.
1.1.1.
Decisiones acerca del tipo de almacenamiento de operandos
L os diferentes rep erto rio s d e instrucciones se diferencian principalm ente en el tip o d e alm acenam ien to in tern o q u e u tilizan. Se distinguen d istin to s tip o s (figura 1.2): • • •
Pila. L o s o p eran d o s son im plícitos, siem pre en la p arte superior d e la p ila (Top o f Stack, T O S). Es decir, no es necesario indicar en las instrucciones d ó n d e se en c u en tran los operandos. Acumulador. U n o d e los o p eran d o s es im plícito (el q u e está en el acum ulador) y el o tro se debe especificar d e m an e ra explícita. Registros de propósito general (G PR o General Purpose Registers). L os operan d o s se especifican de m an era explícita, pueden ser d o s o p eran d o s (si uno d e los op eran d o s fuente alm acena tam bién d resultado d e la o p e ra d ó n ) o tres operandos. Y se puede perm itir q u e alguno o to d o s los o p e ran d o s se en cuentren e n m em oria. P o r lo tan to se pueden d ise ñ ar repertorios: — Registro-Registro d e 3 operandos, en los q u e los tres op eran d o s deben e sta r en registros del procesador an tes d e o p e ra r co n ellos. P a ra llevar los op eran d o s desde la m em oria h a sta los re gistros se utilizan in stru c d o n e s d e carg a (load) y p a ra llevar los resultados desde los registros hasta la m em o ria se utilizan in stru c d o n e s de alm acenam iento (store). — R egistro-M em oria d e 2 operandos, en los q u e com o m ínim o uno d e los op eran d o s debe e sta r en u n registro, pero d o tro puede e s ta r en m em oria. — M em oria-M em oria d e 2 o 3 operandos, en los q u e se perm ite q u e to d o s los o peran d o s estén en la m em oria.
C a á to d a s las arq u itectu ras actuales se b asan e n registros d e propósito general ya q u e los registros son m ás ráp id o s q u e o tro s tip o s d e alm acenam iento, sobre to d o q u e la m em oria (porque están den tro del
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
A lm acen am ie n to tipo A cum ulad o r
A lm acen am iento tipo Pila
M E M O R IA P R IN C IP A L
A lm acen am iento tipo
A lm acen am ien to tipo
M em oria - M em oria
Registro-Registro
F ig u r a A lt e r n a tiv a s p a ra e l a lm a c e n a m ie n to d e lo s o p e ra n d o s .
propio procesador), y son utilizados d e m an e ra m ucho m ás eficiente p o r los com piladores. Por ejem plo, se pu ed en utilizar p a ra alm acen ar tem poralm ente variables del program a y reducir así el tráfico c o n m e m oria. P o r to d o esto, es el tipo d e alm acenam iento q u e m ejo r se c o m p o rta con rep erto rio s R ISC . D e las diferentes alternativas disponibles p a ra d iseñ a r u n repertorio G P R , hay q u e tener en c u e n ta que en los rep erto rio s registro-registro la codificación d e las instrucciones es sencilla puesto q u e to d as tienen la m ism a longitud y adem ás to d a s las instrucciones se ejecutan e n u n núm ero sim ilar d e ciclos. Si los o p eran d o s siem pre están en registros, p a ra indicar en u n a instrucción la ubicación d e los o p e ran d o s siem pre h ab rá q u e especificar el identificador d e tres registros y p a ra acceder a d io s, siem pre h a b rá q u e leer o escrib ir d e registros. Sin em bargo hay u n a desventaja, y es q u e los program as o cu p an m ás p o rq u e se necesitan m ás instrucciones q u e en arq u itectu ras q u e p erm itan tener operan d o s en m em oria: las q u e leen d e m em oria p a ra tra e r los o p eran d o s a registros d en tro del procesador y las q u e llevan los resultados d esde los registros d d p ro cesador h a sta la m em oria. Es d e d r, se necesitan instrucciones de carga (lectu ra o load) y d e alm acenam iento (escritura o store). En el o tro extrem o, las a rq u ite c tu ras m em oria-m em oria perm iten o b ten er códigos m ás com p acto s p o rq u e n o hacen fa lta in stru c d o n e s d e c a rg a y alm acenam iento. A dem ás no se m algastan registros en alm acen ar valores tem porales. Sin em bargo, la m em oria puede llegar a ser un cuello d e b o tella ya q u e se accede a ella constantem ente. Y puede h aber grandes diferencias entre la longitud d e las instrucciones (se necesitan m uchos m ás bits p a ra especificar la dirección de m em oria de u n o perando q u e p a ra especificar d identificador d e un registro d en tro d d procesador) y en tre su d u ra d ó n (los tiem pos d e acceso a m em o ria y a registros son m uy diferentes). E stos d o s factores com plican la codificación d d repertorio y hacen qu e p u e d a v ariar m ucho el C P I (Ciclos P o r In stru c d ó n ) d d p ro cesador en tre u nas instrucciones y otras.
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
E je m p lo 1.1 A lternativas para el alm acenam iento de los operandos. V a m o s a c o m p a r a r c o n u n e je m p lo s e n c illo la s d ife re n c ia s e n tre lo s d is tin to s tip o s d e a lm a c e n a m ie n to de o p e ra n d o s . S u p o n g a m o s q u e v a m o s a e v a lu a r c u a tro a lte rn a tiv a s :
a) b) c) d)
Pila (im p le m e n ta d a d e m a n e ra q u e n o e x is te la p o s ib ilid a d d e r e u tiliz a c ió n d e o p e ra n d o s ). A c u m u la d o r. R e g is tro -R e g is tro d e 3 o p e ra n d o s c o n 8 re g is tr o s d e p r o p ó s ito g e n e ra l. M e m o ria -M e m o ria d e 3 o p e ra n d o s .
Para re a liz a r la c o m p a ra c ió n s u p o n g a m o s q u e se desea re a liz a r u n a s e n c illa s e c u e n c ia d e o p e ra c io n e s a ritm é tic o -ló g ic a s : R =X AND Y Z = X OR Y Y=R AND X A d e m á s n e c e s ita m o s s a b e r q u e el c ó d ig o d e o p e ra c ió n (o p c o d e ) d e la s in s tru c c io n e s en e ste r e p e r to rio s ie m p re o c u p a 1 B, la s d ire c c io n e s d e m e m o ria y lo s o p e ra n d o s o c u p a n 4 B y q u e la s in s tru c c io n e s s ie m p re tie n e n u n a lo n g itu d q u e es u n n ú m e r o e n te ro d e b y te s p a ra fa c ilita r su a lm a c e n a m ie n to y d e c o d ific a c ió n . Los o p e ra n d o s están in ic ia lm e n te a lm a c e n a d o s en la m e m o ria . Las c u a tro se c u e n c ia s d e c ó d ig o pa ra la o p e ra c ió n ló g ic a q u e d e s e a m o s re a liz a r se ría n :
a)
Pila. T rá fic o c o n la m e m o r ia d e in s tru c c io n e s
T rá fic o c o n la m e m o r ia d e d a to s
A p ila r X
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
A p ila r Y
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
AND
O p c o d e = 1B
—
D e s a p ila r R
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
A p ila r X
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
A p ila r Y
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
OR
0 p c o d e = 1B
—
D e s a p ila r Z
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
A p ila r X
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
A p ila r R
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
AND
O p c o d e = 1B
—
D e s a p ila r Y
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
Las in s tru c c io n e s A N D y O R n o in d ic a n c u á le s so n su s o p e ra n d o s ya q u e están im p líc ito s : a lm a c e n a d o s en la p a rte s u p e rio r d e la p ila .
b)
A c u m u la d o r. T rá fic o c o n la m e m o r ia d e in s tru c c io n e s
T rá fic o c o n la m e m o r ia d e d a to s
Load X
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
AND Y
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
S to re R
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
T rá fic o c o n la m e m o r ia d e in s tru c c io n e s
T rá fic o c o n la m e m o r ia d e d a to s
Load X
0 p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
OR Y
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
S to re Z
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
Load R
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
AND X
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
S to re Y
O p c o d e + d ir e c c ió n = 5 B
1 o p e ra n d o = 4 B
En e s te c a s o la s in s tru c c io n e s d e A N D y O R tie n e n q u e in d ic a r e x p líc ita m e n te u n o d e su s o p e ra n d o s , el o tr o está s ie m p re en el a c u m u la d o r.
c)
R e g is tro -R e g is tro d e 3 o p e ra n d o s c o n 8 r e g is tro s d e p r o p ó s ito g e n e ra l. Si h a y 8 r e g is tr o s , se n e c e s ita n 3 b its p a ra in c lu ir la e tiq u e ta d e u n r e g is tro en u n a in s tru c c ió n .
d)
T rá fic o c o n la m e m o r ia d e in s tru c c io n e s
T rá fic o c o n la m e m o r ia d e d a to s
Load R1,X
O p c o d e + d ir e c c ió n + r e g is tr o = 6 B
1 o p e ra n d o = 4 B
Load R2,Y
O p c o d e + d ir e c c ió n + r e g is tr o = 6 B
1 o p e ra n d o = 4 B
A N D R3,R1,R2
O p c o d e + 3 re g is tr o s (9 b its q u e se re d o n d e a n a 2 B) = 3B
—
OR R4,R1,R2
O p c o d e + 3 re g is tr o s (9 b its q u e se re d o n d e a n a 2 B) = 3B
—
A N D R2,R3,R1
O p c o d e + 3 re g is tr o s (9 b its q u e se re d o n d e a n a 2 B) = 3B
—
S to re R3,R
O p c o d e + d ir e c c ió n + r e g is tr o = 6B
1 o p e ra n d o = 4 B
S to re R4,Z
O p c o d e + d ir e c c ió n + r e g is tr o = 6B
1 o p e ra n d o = 4 B
S to re R2,Y
O p c o d e + d ir e c c ió n + r e g is tr o = 6B
1 o p e ra n d o = 4 B
M e m o ria -M e m o ria d e 3 o p e ra n d o s . T ró fic o c o n la m e m o r ia d e in s tru c c io n e s
T ró fic o c o n la m e m o r ia d e d a to s
A N D R ,X ,Y
O p c o d e + 3 d ire c c io n e s = 13B
3 o p e ra n d o s = 12B
OR Z ,X ,Y
O p c o d e + 3 d ire c c io n e s = 13B
3 o p e ra n d o s = 1 2 B
A N D Y,R,X
O p c o d e + 3 d ire c c io n e s = 13B
3 o p e ra n d o s = 1 2 B
Si c o m p a ra m o s el tr á fic o to ta l c o n la m e m o ria d e in s tru c c io n e s y co n la m e m o r ia d e d a to s en ca d a ca so : T ró fic o t o t a l co n la m e m o r ia d e in s tru c c io n e s
T rá fic o t o t a l c o n la m e m o r ia d e d a to s
Pila
48B
36B
A c u m u la d o r
45B
36B
R e g is tro -R e g is tro
39B
20B
M e m o ria -M e m o ria
39B
36B
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
P o d e m o s o b s e rv a r q u e el a lm a c e n a m ie n to R e g is tro -R e g is tro im p lic a el m e n o r t r á fic o co n la m e m o r ia de d a to s y a q u e p e rm ite la re u tiliz a c ió n d e lo s o p e ra n d o s q u e se c a rg a n en lo s r e g is tro s d e l p ro c e s a d o r. Sin e m b a rg o , c o n e ste t ip o d e a lm a c e n a m ie n to el tr á fic o c o n la m e m o r ia d e in s tru c c io n e s n o se p u e d e r e d u c ir e x c e s iv a m e n te y a q u e el c ó d ig o tie n e m á s in s tru c c io n e s d e b id o a la s in s tru c c io n e s d e c a rg a y a lm a c e n a m ie n to n e c e s a ria s p a ra tr a e r lo s o p e ra n d o s a lo s re g is tro s . En el o t r o e x tre m o se e n c u e n tra el a lm a c e n a m ie n to M e m o r ia -M e m o r ia , q u e p e rm ite c o n s e g u ir u n c ó d ig o m u y c o m p a c to d e s ó lo 3 in s tru c c io n e s (a u n q u e d e g ra n ta m a ñ o p o rq u e in c lu y e n h a sta 3 d ire c c io n e s d e m e m o ria ), p e ro n o p e rm ite n in g ú n t ip o d e r e u tiliz a c ió n d e o p e ra n d o s , a c c e d ie n d o a m e m o r ia p a ra lo s d o s o p e ra n d o s fu e n te y p a ra el d e s tin o en to d a s la s in s tru c c io n e s . Con u n c ó d ig o ta n s e n c illo el e fe c to d e e s to s c o n tin u o s a c c e s o s a la m e m o r ia d e d a to s n o es c r ític o , p e ro en u n c ó d ig o re a l (c o n m u c h a s m á s in s tru c c io n e s ), e s to h aría q u e la m e m o r ia se c o n v irtie ra , ca si c o n to d a p r o b a b ilid a d , en el c u e llo d e b o te lla d e l s is te m a .
1.1.2.
Decisiones acerca de la interpretación de las direcciones de memoria y de los modos de direccionamiento soportados
El d iseñ ad o r d e u n rep erto rio d e instrucciones debe d e term in ar cóm o se especifican e in terp retan las direcciones d e m em oria. L a m ayor p a rte d e los rep erto rio s perm iten acceder a 1 ,2 , 4 u 8 bytes d e inform ación. H ay d o s p o sibilidades d e ordenación, según d ó n d e se co lo q u e el byte m ás significativo d e inform ación en la p alab ra de m em oria (figura 1.3): • •
Big Endian. El byte m enos significativo d e inform ación se colo ca e n la posición m enos significati va d e la p ala b ra d e m em oria (big end). Little Endian. El byte m enos significativo se co loca en la posición m ás significativa d e la p ala b ra d e m em o ria (little end).
En algu n o s casos se d e n o m in a Middle-Endian a u n a arq u itectu ra q u e es capaz d e trab ajar co n am b as ordenaciones (p o r ejem plo, el p ro cesad o r M IP S o el PowerPC, am b o s arq u itectu ras R IS C ).
7 6 5 4 3 2 1 0
M e m o ria Principal 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
H 0
l 1
LSB
w
w
v
r r r ^
7 6 5 4 3 2 10
W 'W 'W 'W '
n
2 BIG ENDIAN
T 3
H
M SB
M e m o ria Principal 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2
mmmmwmfv ' ■mrrn I 1IIIIII wmwmwffffim rrr 11 ■■ i n i i 3
MSB
2
1 0
7 6 5 4 3 2 1 0
1
UTTLE ENDIAN
0
LSB
F ig u r a 1 .3 |
D ife r e n c ia e n tre L ittle E n d ia n y B ig E n d ia n .
|
A dem ás hay q u e especificar cóm o deben ser los accesos a inform ación d e tam añ o m ayor q u e 1 byte. N orm alm ente esto s accesos deben e sta r alineados (figura 1.4). U n acceso a u n a inform ación d e s bytes en la dirección del byte B e s tá alineado si B m ódulo s = 0.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Memoria Principal
M edia Palabra (2 Bytes)
1 A cce so A lin e a d o
1 0
1_______ 2
3
4
5
............... w m 6
|
A c c e s o No A lin e a d o
7
Memoria Principal A c c e s o A lin e a d o
Palabra (4 Bytes) 0
1
IIIHIHIIIIIH mi 2
3
|
4
5
A c c e s o N o A lin e a d o 6
7
Memoria Principal
Doble Palabra (8 Bytes)
N o A lin e a d o
F ig u r a 1 .4 A lin e a c ió n d e a c c e s o s a m e m o r ia .
E stas restricciones d e alineam iento se deben a q u e las m em orias, físicamente, e stán diseñadas p a ra hacer accesos alineados. Si un rep erto rio d e instrucciones perm ite hacer accesos no alineados, se debe recordar q u e e sto s suelen ser m uy lentos p o rq u e en realidad suponen varios accesos alineados a la m e m oria. P o r ú ltim o , ta m b ié n re la c io n a d a c o n el alin ea m ien to , h a y u n a ú ltim a decisió n q u e se d e b e to m a r al d is e ñ a r u n re p e rto rio d e instru ccio n es. ¿Si los reg istro s del p ro c e sa d o r tie n e n u n d e te rm in a d o ta m añ o y se lee d e m e m o ria u n a in fo rm a c ió n c o n u n ta m a ñ o m enor, có m o se alin e an los d a to s leídos d e n tro d e l registro? Se d e b e especificar si e n los b its m en o s significativos o en los m ás significativos (fig u ra 1.5).
A lm a ce n a m ie n to en R e g istro de 64 b its de una palabra de 32 b its
[RO |R1
|R2
A lm a c e n a m ie n to en lo s b its m ás s ig n ifica tivo s del re g istro
|R3 |R4 R5 |R6 |R7
|R8 |R9 Banco de Registros de 64 bits F ig u r a 1 .5 A lin e a c ió n d e n tr o d e lo s r e g is tr o s d e l p ro c e s a d o r.
A lm a ce n a m ie n to en lo s bits m en o s sig n ifica tivo s del re g istro
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
E n c u a n to a lo s m o d o s d e d ire c c io n a m ie n to s o p o r ta d o s p o r el re p e rto rio , h a y q u e d e c id ir c ó m o se p u ed e esp ecificar la lo c aliza ció n d e u n o p e ra n d o d e n tro d e la s in stru c cio n e s. L o s m o d o s d e d ire c c io n a m ie n to b ásico s so n lo s sig u ien tes:
• • • • •
Inmediato. El o p eran d o se codifica d en tro d e la instrucción (figura 1.6). Registro. Se incluye en la instrucción d identificador del registro del procesador en el q u e está alm acenado el o p eran d o (figura 1.7). Directo o absoluto. Se incluye en la in stru c d ó n la dirección d e m em oria en la q u e está alm acenado d o p eran d o (figura 1.8). Indirecto. Se incluye e n la instrucción el identificador del registro del procesador en el q u e está alm acenada la dirección d e m em oria en la q u e se en cu en tra el operando. Indirecto con desplazamiento. Igual q u e d anterior, pero se incluye tam bién en la instrucción un o p eran d o inm ediato d en o m in ad o desplazam iento q u e debe sum arse al contenido del registro p a ra o b ten er la dirección d e m em oria en la q u e se e n cu en tra el operando. E n m uchos casos se considera q u e el m odo d e direccionam iento indirecto es un caso p articu lar d e éste, en d q u e el desplazam iento vale 0 (figura 1.9).
F ig u r a 1 .6 M o d o d e d ir e c c io n a m ie n to in m e d ia to .
El co n ju n to d e m o d o s so p o rtad o p o r el repertorio d e instrucciones, si es lo suficientem ente rico, p u e d e lograr q u e se realicen o p e ra d o n e s com plejas con pocas instrucciones. Pero los m odos m uy com plejos pueden au m e n ta r la com plejidad del hardw are e increm entar el C PI d e algunas instrucdones. Prácticam ente todos los repertorios R IS C induyen com o mínim o los siguientes m odos (y no suden incluir m uchos más), q u e son los m ás naturales p ara la m ayoría d e las instrucciones típicas en estos repertorios: •
•
D irecd o n am ien to inm ediato. P rincipalm ente hay q u e to m a r d o s decisiones p a ra d iseñ a r el reper torio. L a p rim era, si to d a s las in stru c d o n es deben s o p o rta r este m odo o b asta c o n q u e lo haga un subconjunto d e ellas. L a segunda, el rango d e valores q u e puede to m a r el o perando inm ediato, ya q u e esto influye d irectam en te en la longitud d e las instrucciones. D irecd o n am ien to indirecto c o n desplazam iento. E ste m odo incluye al direccionam iento in d i recto, b a sta c o n q u e el desplazam iento tom e el valor 0. L a d e d sió n m ás im p o rtan te consiste, de nuevo, e n fijar el rango d e valores q u e puede to m a r el desplazam iento.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Banco Registros
JUÜUUJL _=
\
O perando
-\
jT T G T f
F ig u r a 1 .7 M o d o d e d ir e c d o n a m ie n t o d e r e g is tr o .
M e m o ria In stru ccio n e s
Instru cció n F ig u r a 1 .8 M o d o d e d ir e c d o n a m ie n t o d ir e c t o o a b s o lu to .
TFOTT
RO |R1
J R2r >
n
R3 |R4
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
M em oria Instrucciones
sp la z a m ie n to
M e m oria Datos
Banco Registros
ID. R egistro 1*
IL U L L L i J J .1 U .J J D irección O perando
Y
: X D IT d “ O TTTJT
k l'
F ig u r a 1 .9 M o d o d e d ir e c c io n a m ie n to in d ir e c t o c o n d e s p la z a m ie n to .
1.1.3.
Otras decisiones
A dem ás d e definir to d o lo relacionado c o n d ó n d e se encuentran los op eran d o s y cóm o especificar d ó n d e se en cu en tran , existen o tra s decisiones q u e tam bién afectan al diseño del repertorio d e instruccio nes y del procesador: •
•
•
Tipo y tamaño de los operandos. Se d eb e d ecidir q u é tip o s de d a to s se so p o rtan (carácter, enteros, com a flotante, etc) y con q u é tam añ o s. N orm alm ente, al codificar las instrucciones, el código d e operación in d icará siem pre cuáles son los tipos d e los op eran d o s im plicados e n la ejecución d e esta instrucción. L a o tr a opción, q u e sería q u e c a d a o perando llevara u n a etiq u e ta en la ins trucción q u e indicara cuál es su tipo, consum iría d em asiados b its y h a ría q u e las instrucciones o cu p a ra n d em asiado espacio innecesariam ente. Conjunto de operaciones soportadas. Tam bién hay q u e decidir q u é tipo d e operaciones van a realizar las instrucciones del repertorio. C om o se está estudiando el diseño d e un repertorio RISC, debe ser un conjunto reducido d e operaciones sencillas, norm alm ente aritmético-lógicas, d e acceso a m em o ria, d e control d e flujo (saltos) y llam adas al sistem a operativo. Además, dependiendo d e los tipos de d atos soportados, se incluirán instrucciones capaces de operar con caracteres, co m a flotante, etc. Tratamiento de las instrucciones de control de flujo. L a s instrucciones d e salto suelen im plicar decisiones adicionales ya q u e se tra ta d e instrucciones algo m ás com plejas, q u e pueden m odificar d flujo secuencial d e ejecución d e u n código. E stas decisiones se pueden resum ir en las siguientes preg u n tas si se tienen en c u e n ta las in stru c d o n e s de co n tro l d e flujo m ás com unes: — Saltos condicionales: ¿C óm o se espedfica la c o n d id ó n ? ¿C óm o se especifica la dirección d e s tino d e salto? — S altos incondicionales: ¿C óm o se especifica la dirección destino d e salto?
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Existen d o s alternativas p a ra la especificación del destino del salto: — Direccionamiento relativo a l PC. C u an d o se conoce d destino del salto en tiem po d e com pilad ó n , se p u ed e expresar com o un desplazam iento respecto del c o n ta d o r d e program a. C om o n o rm alm ente los d estinos d e los saltos están cercanos al salto, se utilizan m uchos m enos bits q u e a se tu v iera q u e incluir d e n tro d e la instrucción la dirección co m p leta de la instrucción destino. Y ad em ás se perm ite independencia respecto d e la posición d e m em oria a i la q u e se carg u e el p ro g ram a (esto a h o rra tiem po en d lineado d e los program as). L o q u e hay q u e decidir es c u á n to s b its se dedican al cam po q u e espedfica el desplazam iento d e n tro d e las instrucciones. — Direccionamiento indirecto con registro. Se utiliza en los casos en los q u e no se conoce d d e s tino del salto en tiem po d e com pilación o si se conoce, d cam po d e desplazam iento se q u e d a corto p a ra in clu ir su valo r d en tro d e la in stru e d ó n . Sim plem ente se incluye e n la instrucción d identificador d e u n registro q u e c o n tio ie la d ire c d ó n destino d e salto. En c u a n to a la c o n d id ó n d e los saltos condicionales, siem pre se b a sa a i u n a co m p arac ió n y exis ten tre s opciones p a ra e s ta com paración: — E v alu ar los códig o s d e c o n d id ó n d e la ALU. — E v alu ar u n o o varios registros. — Especificar la com paració n en la p ro p ia instrucción. C om o la prim era alternativa es m uy inflexible y no siem pre se pueden expresar las co n d id o n es re curriendo a los códig o s de con d ició n d e la A LU , y la ú ltim a alternativa, a pesar de su flexibilidad suele llevar a instrucciones d em asiado com plejas p a ra un repertorio R ISC , la condición d e los saltos suele ir siem pre referida a com p aracio n es q u e se realizan co n uno o varios registros, d e m anera q u e en la instrue d ó n sólo se to ig a n q u e incluir u n o o varios identificadores d e registro.
1.1.4.
Codificación del repertorio de instrucciones
L a c o d ificad ó n b in a ria d e las instrucciones afecta al tam a ñ o del código d e los program as y, sobre todo, a la im p lem en tad ó n del procesador, q u e d ebe decodificar las instrucciones m áq u in a d e la m anera m ás eficiaite q u e sea posible. R ira escoger u n a c o d ificad ó n ad ec u a d a se deben conocer las características del repertorio de instrucdo n es, e in fluirán to d o s los facto res estu d iad o s h a sta el m om ento: tipo d e alm acenam iento d e operandos, núm ero d e registros, m o d o s d e direccionam iento soportados, tipos y tam añ o s d e los operandos, etc. Existen tres o p d o n e s p a ra h acer la c o d ificad ó n del repertorio: •
•
•
Longitud variable. Se so p o rta c u alq u ier núm ero de op eran d o s y cualquier com binación instrucd ó n /m o d o d e d irecd o n am ien to . L o s o p eran d o s llevan asociados u n o s especificadores o etiquetas de direccionam iento p a ra in d icar d m odo d e c a d a uno. P o r lo tan to se añaden ta n to s c a m p o s a las instrucciones com o sea necesario, a ñ a d io id o a estos cam pos los especificadores y etiquetas q u e p erm itan in terp retarlo s d u ra n te la decodificación a i el procesador. Longitud fija. El m odo d e d ire c d o n a m io ito d e los op eran d o s se especifica en el código d e o p e ración p o rq u e sólo se p erm iten u n as com binaciones d eterm in ad as de o p era d o n es y m odos. L os cam p o s d e la instrucción son siem pre los m ism os, lo único q u e puede variar es su interpretación d e p o id io id o del tipo d e instrucción. Híbrida. Se p erm iten sólo u n o s d eterm inados form atos d e instrucción, q u e incluyen d istin to nú m ero d e especificadores d e m o d o y d e operandos.
L a c o d ificad ó n d e longitud variable se suele utilizar cuando se so p o rtan m uchos tipos d e m odos d e d ire c d o n a m io ito y o p erad o n es, y d istin to núm ero d e operandos. C onsigue los códigos d e m en o r tam año
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
ya q u e sólo se incluyen los cam p o s d e instrucción q u e se necesitan, pero la decodificación hace q u e em peore su rendim iento. P o r lo ta n to es típica en arq u itectu ras d e tip o CISC. L a codificación d e longitud fija se utiliza cuando se so p o rta n pocos m odos d e direccionam iento y operaciones. C om o n o se particu lariza el tam a ñ o de las instrucciones a sus necesidades, a veces se q u e d a n c a m p o s en blanco o infrautilizados, y el código tiene u n ta m añ o m ayor del q u e p o d ría tener. Pero se consigue un gran rendim iento en la decodificación, q u e es m ucho m ás sencilla, p o r lo q u e es la típica en arqu itectu ras R ISC . Sin em bargo la h íb rid a suele ser la m ás utilizada en este tipo de arquitecturas, ya q u e consigue c o m b in a r las ventajas d e los d o s tip o s d e codificación. En cu alq u iera d e los tres casos interesa q u e la longitud d e las instrucciones sea siem pre u n núm ero « ite ro d e bytes, p o rq u e así es m ucho m ás sencilla la decodificación en d procesador y el alm acenam iento a i la m em oria. Instrucción tip o I --------------------------------------------------- 7 1 OPCODE
RS
RT
IN M ED IATO
L----- 6 b it------ 1— 5 b it— L - 5 b it— J ---------------------- 16 b it----------------------- J
Instrucción tip o R OPCODE
RS
RT
RD
SHAMT
FUNCT
*------6 b it------ ►— 5 b it— * *— 5 b it— *— 5 b it— *— 5 b it — ------ 6 b it ------J
Instrucción tip o J OPCODE
OFFSET S U M A D O A L PC
.------6 b it------ .--------------------------------------- 26 b it---------------------------------------- J F ig u r a 1 .1 0 E je m p lo d e c o d ific a c ió n h íb rid a : t ip o s d e in s tr u c c ió n p a ra e l M IP S 6 4 .
C a s o p r á c t ic o
1 .1 .
R e p e rto rio d e in s t r u c c io n e s d el p ro c e sa d o r M IP S 6 4
El M IP S 6 4 es una a rq u ite c tu ra b a sa da en re g is tr o s d e p r o p ó s ito g e n e ra l t ip o c a rg a /a lm a c e n a m ie n to (re g is tro - r e g is tr o ), c o n d ire c c io n e s d e m e m o r ia d e 64 b its. Este p ro c e s a d o r tie n e u n b a n c o d e re g is tr o s d e 32 re g is tr o s d e p ro p ó s ito g e n e ra l d e 64 b its (R 0,....R 3 1 ). El r e g is tr o R0 s ie m p re a lm a c e n a u n 0 y n o se p u e d e v a ria r su c o n te n id o así q u e en re a lid a d es c o m o si s ó lo h u b ie ra 31 re g is tro s . T a m b ié n tie n e u n b a n c o d e 32 re g is tr o s p a ra c o m a flo ta n te (F 0 ,....F 3 1 ) q u e p u e d e n a lm a c e n a r n ú m e r o s en p re c is ió n s im p le o d o b le . S o p o rta tip o s e n te ro s d e 8 , 16, 32 y 64 b its y tip o s en c o m a flo ta n te d e 32 y 6 4 b its . T a m b ié n p e rm ite t r a b a ja r c o n n ú m e r o s en c o m a flo ta n te d e p re c is ió n s im p le e m p a q u e ta d o s d e d o s en d o s. L o s m o d o s d e d ir e c c io n a m ie n to q u e se s o p o rta n so n : • In m e d ia to : C o n u n c a m p o p a ra el o p e ra n d o d e 16 b its d e n tro d e la in s tru c c ió n .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
• In d ire c to c o n d e s p la z a m ie n to : C o n u n c a m p o p a ra el d e s p la z a m ie n to d e 16 b its . S i se p o n e u n c e ro en e s te c a m p o te n e m o s el m o d o in d ir e c to p u ro . Y si se e s c o g e el r e g is tr o RO c o m o r e g is tro b a s e , este m o d o n o s p e rm ite a d e m á s u n d ir e c c io n a m ie n to a b s o lu to . A s í q u e en la p rá c tic a es c o m o si tu v ié ra m o s c u a tro m o d o s d e d ire c c io n a m ie n to d ife re n te s . C o m o s ó lo h a y d o s tip o s d e d ire c c io n a m ie n to (en c u a n to al t ip o d e in s tru c c ió n ) , el m o d o se c o d ific a ju n to c o n el o p c o d e . T o d a s la s in s tru c c io n e s so n d e 32 b its (lo n g itu d fija ) c o n u n o p c o d e d e 6 b its. S e e s c o g e u n a c o d ific a c ió n h íb rid a en la q u e se in c lu y e n tr e s fo rm a to s d ife re n te s d e in s tru c c ió n ( fig u ra 1. 10): • T ip o I (In m e d ia to ). • T ip o R (R e g is tro ). • T ip o J (J u m p ). Las in s tru c c io n e s d e T ip o I c o d ific a n la s s ig u ie n te s o p e ra c io n e s : • L o a d /s to re — RS (re g is tro fu e n te ): R e g is tro b a se p a ra el a c c e s o a m e m o ria . — R T (re g is tro d e s tin o ): R e g is tro p a ra lo s d a to s . — In m e d ia to : D e s p la z a m ie n to p a ra el c á lc u lo d e la d ire c c ió n d e m e m o r ia a la q u e h a y q u e a cce d er. • O p e ra c io n e s a ritm é tic o -ló g ic a s c o n d ire c c io n a m ie n to in m e d ia to — RS (re g is tro fu e n te ): R e g is tro q u e c o n tie n e el o p e ra n d o 1. — R T (re g is tro d e s tin o ): R e g is tro d e s tin o d e la o p e ra c ió n . — In m e d ia to : O p e ra n d o 2 (d ire c ta m e n te su v a lo r). • S a lto s c o n d ic io n a le s /in c o n d ic io n a le s — RS (re g is tro fu e n te ): R e g is tro d e c o n d ic ió n (pa ra la c o m p a ra c ió n )/R e g is tro q u e c o n tie n e la d ire c c ió n d e s tin o d e l sa lto . — R T (re g is tro d e s tin o ): R e g is tro d e c o n d ic ió n (pa ra la c o m p a ra c ió n )/N o se u tiliza . — In m e d ia to : D e s p la z a m ie n to r e s p e c to d e l PC/O. En c u a n to a la s in s tru c c io n e s d e T ip o R, se u tiliz a n p a ra c o d ific a r la s o p e ra c io n e s a ritm é tic o -ló g ic a s r e g is tr o - r e g is tr o : — — — —
R S : R e g is tro q u e c o n tie n e el o p e ra n d o 1. RT: R e g is tro q u e c o n tie n e el o p e ra n d o 2. RD: R e g is tro d e s tin o . S h a m t (s h ift a m o u n t): In d ic a el d e s p la z a m ie n to en la s in s tru c c io n e s s h ift.
— F u n c t: J u n to c o n el o p c o d e in d ic a el t ip o d e o p e ra c ió n q u e s e d e b e realizar. P o r ú ltim o , la s in s tru c c io n e s d e T ip o J c o d ific a n la s in s tru c c io n e s d e s a lto in c o n d ic io n a l y d e r e to r n o de p ro c e d im ie n to q u e u tiliz a n d ir e c c io n a m ie n to c o n d e s p la z a m ie n to r e la tiv o al PC ( O ffs e t d e 26 b its ).
1.1.5.
Mejoras y optimizaciones del repertorio de instrucciones
Casi to d a s las m ejoras d e los rep erto rio s d e in stru cd o n es R IS C se aprovechan d e la extensibilidad qu e p resen tan esto s rep erto rio s y q u e ya se h a m encionado en este capítulo. Por ello, a lo largo d d tiem po se h a n ido añadiendo instrucciones a estos repertorios q u e pueden m ejorar el rendim iento d e los procesadores d e propósito general en la ejecución d e aplicadones y códigos concretos: instrucciones q u e in co rp o ran p redicados y a h o rra n así b ifu rca d o n es (esto se e n ten d erá m ejor al e stu d ia r d capítulo 3), instrucciones q u e co m binan d o s o m ás operaciones q u e suelen aparecer siem pre agrupadas, etc. El ejem p lo típ ico d e e s ta s ex ten sio n es q u e m e jo ra n la ejec u ció n d e c ie rto tip o d e a p lica cio n es s o n las « te n s io n e s m u ltim e d ia . E n e ste tip o d e ap licació n e s h a b itu a l re a liz a r o p e r a d o n e s rep e titiv a s s o b re d ife
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
rentes o p eran d o s q u e no llegan a los 32 bits d e un típico tipo entero (un píxel son 8 bits, u n a m uestra d e audio son 16 bits). E sto h ace q u e se desaprovechen recursos d u ra n te su ejecución, p o r lo q u e se in co rp o ran al rep erto rio instrucciones capaces d e o p e ra r co n vectores (instrucciones Single In stru ctio n M últiple D a ta o S IM D ) q u e agrupen en los registros típicos d e 64 bits, 8 op eran d o s d e 8 bits, 4 op eran d o s d e 16 bits o 2 o p eran d o s d e 32 bits. R ira c a d a tipo d e vector se su d e n incluir e n e sta extensiones in stru c d o n es aritm ético-lógicas (sum a, resta, m ultiplicación, c o m p a ra d ó n , desplazam iento, a n d , o r y xor, típicam ente), d e acceso a m em oria (load y store) y d e em paquetam iento, reord en am iento y co p ia d e datos. E stos repertorios surgieron p a ra tra b a ja r c o n vectores d e núm eros a lte ro s pero luego se h a n realizado nuevas extensiones p a ra p o d er a g ru p a r tam bién op eran d o s en c o m a flo tan te en los registros d e 128 bits. A lgunos ejem plos d e extensiones m ultim edia en repertorios R IS C so n las M IP S D igital M edia eX tension (M D M X ) o las M u ltim edia A ccd eratio n eX tensions (M A X ). Pero q u izás las m ás conocidas sean las extensiones d e las arq u itectu ras x86, prim ero fueron las M M X , y después las diferentes versiones d e las 3Dnow! y las SSE.
(D
Mecanismo completo de ejecución de una instrucción
Este libro se c e n tra en d estu d io d e diferentes arq u itectu ras M IPS am plificadas c o n fines pedagó gicos (denom inadas n an o M IP S ) p a ra co m p render el funcionam iento de los procesadores actuales y las técnicas d e aum ento d e p re sta d o n e s q u e pueden a y u d ar a m ejorar su rendim iento. E s d e d r, se to m a rá com o p u n to d e p a rtid a u n p ro cesador R IS C cuyo diseño sirve d e referencia p a ra la m ayor p a rte d e las arqu itectu ras actuales. L a com prensión del fu n rionam iento y de las técnicas de optim ización d e este p ro cesad o r p e rm itirá co m p ren d er los m ism os aspectos p a ra otros procesadores. A lgunos ejem plos de proce sadores trem en d am en te parecidos al M IP S so n el Pow erPC de IB M , el SPARC d e S u n M icrosystem s o el D igital A lpha. H ay q u e recordar q u e e n el diseño de procesadores R IS C p rácticam ente se h a llegado a un estándar, p o r lo q u e las diferencias e n tre u n as a rq u ite ctu ras y o tras suelen ser m uy pequeñas. Ya se h a estu d iad o en el caso p ráctico 1.1 q u e el procesador M IPS64, al igual q u e la m ayor p a rte de los procesadores actuales, es u n a arq u itectu ra registro-registro d e 3 operandos. E sto significa q u e el repertorio d e instrucciones e stá d iseñ ad o p a ra q u e los tres op eran d o s q u e utiliza com o m áxim o cualquier instrucción (los d o s fuente y uno destin o ), estén en registros den tro del procesador, ninguno puede e sta r ubicado en la m em oria. Sabiendo esto, se puede resum ir la ejecución d e u n a instrucción co m p leta a i un procesador d e este tipo en cinco etapas, c a d a instrucción p a sa rá p o r aquéllas q u e necesite p a ra co m p leta r su ejecución: •
•
• • •
Fetch (F). E n esta p rim era e ta p a se busca en la m em oria la instrucción q u e e stá alm acenada en la dirección q u e indica el c o n ta d o r d e program a (Program C o u n ter o P C ). N orm alm ente, ya se d eja p rep arad o el c o n ta d o r d e program a (sum ando o restando u n a c a n tid a d fija q u e depende d e la a rq u ite c tu ra y del rep erto rio d e instrucciones) p a ra bu scar la sig u io ite instrucción. Decode (D ). A con tin u ació n , se decodifica la instrucción separando sus diferentes cam pos. El código d e operación d e la instrucción indica q u é tipo d e instrucción es, y p o r tan to , q u é tip o de operación se d eb e realizar a i la ru ta d e datos. Si es necesario, se leen 1 o 2 op eran d o s d e los re gistros del procesador. Execution (X ). E n e sta e ta p a se ejecuta la operación q u e indicaba el opcode, n o rm alm o ite, utili z an d o p a ra ello algún tipo d e A L U o d e u n id a d funcional aritm ético-lógica. Memory Access (M ). Si es necesario acceder a m o n o n a p a ra leer o escribir, el acceso se realiza a i e s ta fase. Writeback (W ). Por últim o, si es necesario volcar algún resultado a un registro, se realiza esta escritura.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
M e ca n ism o c o m p le to d e e je c u c ió n de la s in s tr u c c io n e s d e l re p e rto rio d e l M IP S 6 4 V e a m o s a c o n tin u a c ió n la s ta re a s q u e lo s d ife re n te s tip o s d e in s tru c c ió n d e l M IP S 6 4 re a liza n en ca d a una d e la s e ta p a s d e s c rita s p a ra la e je c u c ió n d e in s tru c c ió n . Esta d iv is ió n d e t r a b a jo c o rre s p o n d e c o n su im p le m e n ta c ió n m o n o c ic lo .
Instrucciones de Tipo 1: • L o a d /s to re F
B ú sq u e d a d e la in s tru c c ió n en la d ire c c ió n d e la m e m o ria de in s tru c c io n e s q u e in d ic a el PC. P re p a ra c ió n d e l PC p a ra la s ig u ie n te in s tru c c ió n .
M I[[PCJ]
D
D e c o d ific a c ió n d e la in s tru c c ió n . L e c tu ra d e l r e g is tr o RS y d e l r e g is tr o RD si la in s tru c c ió n es u n S to re . E x te n s ió n d e s ig n o p a ra In m e d ia to (q u e es u n e n te ro d e 16 b its).
[RS] e x t(ln m e d ia to ) Y si es u n S to re : [RD]
X
La A L U realiza la s u m a d e l c o n te n id o d e l r e g is tr o b a se p a ra el a c c e s o a m e m o r ia y el d e s p la z a m ie n to .
[RS] + e x t(ln m e d ia to )
M
A c c e s o a la d ire c c ió n d e m e m o r ia q u e s e ha o b te n id o en la e ta p a a n te rio r. S i e s u n a in s tru c c ió n L o a d , pa ra le e r el c o n te n id o d e esta p o s ic ió n . Si es u n a in s tru c c ió n d e S to re , p a ra e s c rib ir el c o n te n id o d e l r e g is tr o RD en esta p o s ic ió n .
Si es u n L o a d : M D [[R S ] + e x t(ln m e d ia to )]
En el c a s o d e la s in s tru c c io n e s d e L o a d , se e s c rib e lo q u e se ha le íd o d e m e m o r ia en el r e g is tr o RD.
Si es u n L o a d : [R D ]< - M D [[R S ]+ e x t(ln m e d ia to )]
W
PC < - P C + 4 (p o r q u e las in s tru c c io n e s so n d e 3 2 b its , 4 b yte s)
Si es u n S to re : M D [[R S ] + e x t(ln m e d ia to ) ] < -[R D ]
• O p e ra c io n e s a ritm é tic o -ló g ic a s c o n d ire c c io n a m ie n to in m e d ia to F
B ú sq u e d a d e la in s tru c c ió n en la d ire c c ió n d e la m e m o ria de in s tru c c io n e s q u e in d ic a el PC. P re p a ra c ió n d e l PC p a ra la s ig u ie n te in s tru c c ió n .
M I[[P C ]]
D
D e c o d ific a c ió n d e la in s tru c c ió n . L e c tu ra d e l r e g is tro RS. E x te n s ió n d e s ig n o p a ra In m e d ia to (q u e es un e n te ro d e 16 b its).
[RS] e x t(ln m e d ia to )
X
La A L U rea liza la o p e ra c ió n q u e in d iq u e el o p c o d e de la in s tru c c ió n .
[RS] O P e x t(ln m e d ia to )
M
—
W
S e e s c rib e el re s u lta d o d e la o p e ra c ió n en el r e g is tro RD.
PC < - P C + 4
[R D ]< - [R S ] O P e x t(ln m e d ia to )]
• S a lto s c o n d ic io n a le s ( c o n d ic ió n e v a lu a d a s o b re el c o n te n id o d e d o s re g is tro s ) F
D
B ú sq u e d a d e la in s tru c c ió n en la d ire c c ió n d e la m e m o ria de in s tru c c io n e s q u e in d ic a el PC. P re p a ra c ió n d e l PC p a ra la s ig u ie n te in s tru c c ió n .
M I[[P C ]]
D e c o d ific a c ió n d e la in s tru c c ió n . L e ctu ra d e lo s re g is tro s RS y RD. E x te n s ió n d e s ig n o p a ra In m e d ia to (q u e e s un e n te ro d e 16 b its).
[RS] [RD] ext( In m e d ia to )
PC < - P C + 4
I.
X
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
S e s u m a al PC el In m e d ia to pa ra o b te n e r la d ire c c ió n d e s tin o d e l sa lto . A d e m á s se e v a lú a la c o n d ic ió n d e l s a lto s o b re el c o n te n id o d e RS y RD. S i la e v a lu a c ió n d e la c o n d ic ió n ha te n id o u n re s u lta d o p o s itiv o , se c a rg a el PC c o n el v a lo r o b te n id o p a ra la d ire c c ió n d e s tin o d e l sa lto .
M
—
W
—
[PC] + e x t(ln m e d ia to )
c o n d ([R S ],[R D ]) Si c o n d = TRUE P C < -[P C ] + e x t(ln m e d ia to )
• S a lto s in c o n d ic io n a le s (d ire c c io n a m ie n to in d ire c to c o n re g is tro ) F
B ú s q u e d a d e la in s tru c c ió n en la d ire c c ió n d e la m e m o ria de in s tru c c io n e s q u e in d ic a el PC. P re p a ra c ió n d e l PC p a ra la s ig u ie n te in s tru c c ió n .
M I[[P C ]]
PC < - P C + 4 D
D e c o d ific a c ió n d e la in stru cció n . Lectura d e l re g is tro RS.
[R S ]
X
Se carga el PC con el v a lo r q u e se ha le íd o d e l re g is tro RS.
P C < -[R S ]
M
—
W
—
Instrucciones de Tipo R: F
B ú s q u e d a d e la in s tru c c ió n en la d ire c c ió n d e la m e m o ria de in s tru c c io n e s q u e in d ic a el PC. P re p a ra c ió n d e l PC p a ra la s ig u ie n te in s tru c c ió n .
M I[[P C ]]
D
D e c o d ific a c ió n d e la in s tru c c ió n . L e ctu ra d e lo s re g is tro s RS y RT.
[RS] [RT]
X
La A L U rea liza la o p e ra c ió n in d ic a d a p o r la c o m b in a c ió n d e l o p c o d e d e la in s tru c c ió n y d e l c a m p o F u n ct.
[RS] O P [RT]
M
—
W
Se e s c rib e el re su lta d o d e la o p e ra ció n en el re g is tro RD.
PC < - P C + 4
[R D ]< - [RS] O P [RT]
Instrucciones de Tipo J (saltos incondicionales con direccionam iento relativo al PC): F
B ú s q u e d a d e la in s tru c c ió n en la d ire c c ió n d e la m e m o ria de in s tru c c io n e s q u e in d ic a el PC. P re p a ra c ió n d e l PC p a ra la s ig u ie n te in s tru c c ió n .
M I[[P C ]]
D
D e c o d ific a c ió n d e la in s tru c c ió n . L e c tu ra d e l r e g is tro RS. E x te n s ió n d e s ig n o p a ra O ffs e t (q u e es u n e n te ro d e 16 b its ).
[RS] e xt( O ffs e t)
X
S e s u m a al PC el O ffs e t p a ra o b te n e r la d ir e c c ió n d e s tin o d e l sa lto . S e c a rg a el PC c o n el v a lo r o b te n id o p a ra la d ire c c ió n d e s tin o d e l sa lto .
[P C ]+ e x t(O ffs e t)
PC < - P C + 4
P C < -[P C ]+ e x t(O ffs e t)
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
u n
Evaluación de prestaciones de un procesador
L a ecuación m ás general q u e p erm ite cuantificar el rendim iento d e un procesador s u d e denom inarse ecuación d e prestaciones y utiliza com o m étrica d e rendim iento del p ro cesador el tiem po q u e un código tard a en ejecutarse en él (tiem po d e C P U ). Si T es el perio d o d e r d o j d d procesador, C P I son los ciclos q u e en m edia ta rd a u n a instrucción en ejecutarse e I es el núm ero d e in stru c d o n e s ensam b lad o r q u e com ponen el código, el tiem po q u e este código ta rd a e n ejecutarse en el p ro cesad o r es:
tcpu= 1' CPI' T O bservando e sta ecuación d e p restad o n es, q u e d a claro q u e p a ra m ejo rar d diseño d e u n p rocesador siem pre hay q u e in te n ta r reducir uno d e los tres factores d e los q u e depende el tiem po q u e ta rd a en eje cu tarse u n código. El núm ero d e instrucciones q u e co m ponen el código depende casi exclusivam ente del repertorio de instrucciones d d p ro cesador y del com pilador, ya q u e en prácticam ente to d o s los casos el d esarrollador p ro g ram ará en u n lenguaje d e alto n iv d y será el c o m pilador el q u e trad u zca las instrucciones p ro g ram a d a s en C, Visual Basic o Java, p o r p o n e r algunos ejem plos, al repertorio a bajo nivel del procesador. L os an tig u o s repertorios C IS C conseguían u n m enor núm ero d e instrucciones q u e los repertorios R IS C actuales, pero p o r o tro lado, al ser las instrucciones m ucho m ás com plejas, necesitaban m ás ciclos para ejecu tarse y el C P I e ra b a sta n te mayor. Si se fija d núm ero d e instrucciones, p o r ser u n facto r q u e dep en d e del repertorio d e instrucciones y d d com pilador, ta n to d C PI com o d perio d o d e reloj dependen d d diseño d e la a rq u ite ctu ra del procesa dor. Y d perio d o d e reloj (inversam ente rd a c io n a d o co n la frecuencia d e fu n d o n am ie n to ) tam bién g uar d a u n a relación m uy estrecha c o n la tecnología d e fa b ric ad ó n del procesador. A lo largo d e este capítulo y d d capítulo 3, se estu d iarán técnicas q u e perm iten re d u d r ta n to el C PI com o el periodo del procesador para m ejo rar los tiem pos d e C P U d e los códigos. Pero p o r n o rm a general, cu an d o se consigue reducir uno d e los d o s factores, suele ser a c o s ta d e in crem en tar el otro. A ntes d e continuar, sólo u n a ú ltim a a c la ra d ó n . El tiem po q u e un código ta rd a en ejecutarse en un procesador no suele coincidir hoy en d ía co n lo q u e solem os d en o m in a r tiem po d e ejecución o tiem po d e respuesta. E ste tiem po es el q u e el usuario p e rd b e q u e transcurre desde q u e la aplicación se lanza h asta q u e devuelve resultados. Teniendo e n cu en ta q u e d sistem a operativo co nsum e tiem po e n realizar sus tareas y q u e la m ayor p a rte d e los sistem as operativos actuales so n m ultitarea, casi siem pre se cum ple ^re s p u e s ta
^C P U ’
C om o este capítulo se c e n tra en la evaluación d e prestaciones d e u n procesador, desde el p u n to de vista d e su a rq u itectu ra, y sin ten er en c u e n ta al resto del sistem a o al sistem a operativo, el tiem po de procesador es el m ás adecuado p a ra cuantificar el rendim iento en nuestro caso.
E je m p lo 1 .2 Utilización de la ecuación de prestaciones del procesador. U n p ro c e s a d o r q u e fu n c io n a a u n a fre c u e n c ia d e 2.1 GHz e je cu ta u n c ó d ig o c o m p u e s to p o r 1200 in s tr u c c io n e s e n s a m b la d o r. S e ha e s tu d ia d o el r e p e r to rio d e in s tru c c io n e s d e e ste p ro c e s a d o r y se sa b e q u e en m e d ia el 20 % d e las in s tru c c io n e s e je c u ta d a s so n s a lto s , el 5 0 % so n in s tru c c io n e s a ritm é tic o -ló g ic a s y el 3 0 % re s ta n te so n in s tru c c io n e s d e a c c e s o a m e m o ria . L o s s a lto s ta rd a n 3 c ic lo s en e je c u ta rs e , la s in s tru c c io n e s a ritm é tic o -ló g ic a s ta rd a n 4 c ic lo s y la s in s tru c c io n e s d e a c c e s o a m e m o ria ta rd a n 5 c ic lo s . C on to d a esta in fo rm a c ió n p o d e m o s s a b e r c u á n to t ie m p o ta rd a en e je c u ta rs e e ste c ó d ig o en el p ro c e s a d o r:
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
T =- =
f
----- = 0.48 ns
2.1-109
C P / =4 - ^\ fin s t r u c c ió n• CPI in str u c c ió n = 0 . 2 - 3 + 0 . 5 - 4 + 0 .3 - 5 = 4.1 tCP u = h
C P I
T
= 1200 -4.1 -0 .4 8 = 2361.6 ns
O tra ecuación m uy relacionada con la evaluación d e prestaciones del procesador es la q u e perm ite cal cular el speedup (ganancia) conseguido al realizar u n a determ inada m ejora en el diseño del p ro ce sad o r
^_
t a n m e jo r a te o n m e jo r a
O bviam ente si la m ejora lo es d e verdad, el speedup te n d rá siem pre un valor m ayor q u e 1 (se h a c o n seguido g racias a la m ejora red u cir el tiem po d e C P U d e un determ inado código). L os tiem pos con o sin m ejora pueden m edirse directam ente, pero tam bién pueden calcularse co n la ecuación d e prestaciones, p o r lo que: s = ( I C P I T U meiora [ I ’ C
en
P I ’ ' T ) Co n m e jo r a
Diseño de procesadores secuenciales
A ctualm ente el diseño d e procesadores sigue u n a m etodología prácticam ente universal g ra d a s al e stá n d a r d e facto en el q u e se h a n convertido las arq u itectu ras R IS C . En este d iseño a e m p re se p u ed en d istin g u ir d o s grandes m ódulos den tro del p ro c e sa d o r la ru ta d e d a to s y la u n id ad d e co n tro l. N o se d eb e o lv idar q u e el procesador no es m ás q u e un d rc u ito digital, p o r lo q u e la ru ta d e d a to s es la p a rte c o m b in a d o n a l del procesador, en carg ad a d e o p e ra r c o n d a to s y producir resultados. P o r o tro lado, la unidad d e control es la responsable d d estad o del procesador y d e gestionar las operaciones q u e se realizan en la ru ta d e datos. C om o se verá en las próxim as secdones, puede ser un d rc u ito com binación al o secuencial. Un procesador secuencial es aquel q u e hasta q u e no term ina d e ejecutar u n a in stru c d ó n no com ienza a ejecutar la siguiente. Es decir, en d procesador sólo se enco n trará u n a in stru cd ó n ejecutándose c a d a vez. Existen d o s tip o s d e procesadores secuenciales dependiendo del m étodo d e tem porización escogido d u ra n te su diseño: • •
Procesador monociclo. C a d a in stru c d ó n debe com pletarse en u n único d c lo d e reloj. Procesador multiciclo. C a d a instrucción puede ta rd a r m ás d e un d c lo en ejecutarse, ta n to s com o sea necesario.
O bviamente, en un procesador m on o d clo el C PI es aem p re igual a 1. Pero d problem a está e n q u e la duración del ciclo d e reloj d d procesador vendrá fijada p o r la in stru cd ó n q u e m ás tarde en ejecutarse, ya que le tiene q u e d a r tiem po a finalizar en un único ciclo d e reloj. P o r el contrario, un procesador m ultidclo tendrá aem p re C P I m ayor 1, pero el periodo d e reloj será m enor q u e en el caso d d procesador monociclo. N orm alm ente, la eje c u d ó n d e u n a instrucción e stá dividida en e ta p a s (ya se h a estudiado u n a d iv i sión habitual d d trab ajo e n la sección 1.2) y se fija d periodo de reloj p a ra q u e c a d a u n a de estas etap as se com plete en u n d c lo . P o r lo ta n to en el c aso del p ro cesador m ulticiclo es la d u rac ió n de la e ta p a m ás larga la q u e fija el perio d o d e reloj.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
S upongam os q u e se diseña un p ro cesad o r sim ilar al M IPS64, denom inado nanoM IP S , co n u n re pertorio d e instrucciones m uy sencillo en el q u e sólo están presentes las siguientes instrucciones p a ra núm eros enteros: • • •
Acceso a m em oria: LW y SW (tip o I). O peraciones aritm ético-lógicas: A D D , SUB, A N D , O R y SLT (tipo R ). C on tro l d e flujo: BEQ (tip o I).
Este rep erto rio ta n sencillo sólo p erm ite la ejecución de tareas tam bién m uy sencillas (tabla 1.1), pero es suficiente p a ra co m p ren d er en pro fu n d id ad el funcionam iento y diseño d e las ru ta s d e d a to s y unidades de co n tro l p a r a la alternativa m onociclo y p a ra la m ulticiclo. T a b la 1.1 V a lo re s d e l o p c o d e y d e l c a m p o F u n c t p a ra la s in s tr u c c io n e s d e l r e p e r t o r io d e l n a n o M IP S .
Instrucción
Pseudocódigo
Opcode
Funct
LW
LW R T ¡n m e d ¡a to (R S )
100011
—
SW
S W R T ,in m e d ia to (R S )
101011
—
ADD
A D D RD,RSfRT
000000
100000
SU B
S U B RD,RS,RT
000000
100010
AND
A N D RD,RS,RT
000000
100100
OR
OR RD,RS,RT
000000
100101
SLT
SLT RD(RS,RT
000000
101010
B EQ
BE Q R S ,R T ,d e stin o
000100
—
D i am b o s casos se siguen los m ism os p a so s p a ra realizar d diseño del procesador: 1. 2. 3. 4. 5. 6. 7.
A n alizar el rep erto rio d e instrucciones q u e se va a ejecu tar e n el procesador. E stablecer la m etodología d e te m p o riz a d ó n (m onoriclo o m ulticiclo). Seleccionar el co n ju n to d e m ódulos q u e com ponen la ru ta d e d ato s teniendo en cuen ta am b o s factores: el rep erto rio d e instrucciones y la m etodología d e te m p o riz ad ó n . E nsam blar la ru ta d e d a to s co n ectan do los m ó d u lo s escogidos e identificando los p u n to s de control. D e te rm in a r los valores d e los p u n to s d e control p a ra c a d a in stru c d ó n del repertorio. D iseñ ar la u n id ad d e co n tro l. O p tim izar el diseño obtenido ajustándose a las especificadones d e área y coste, a la funcionali d a d del procesador, a las lim itaciones d e calo r y potencia, etc.
E ste capítulo se c e n tra d e m o m en to en los seis prim eros pasos d e esta m etodología, y en la optim iz a d ó n básica q u e se u tiliza siem pre e n la actu alidad, la segm entación del procesador, d ejan d o el resto d e técnicas d e optim ización p a ra el cap ítu lo 3 d e este libro.
1.4.1.
Procesad or mo nocido
Teniendo e n c u e n ta el rep erto rio d e instrucciones q u e debe ejecutarse y la tem p o riza d ó n escogida para el p rocesador en este caso, la r u ta d e d a to s del nan o M IP S m onociclo debe in d u ir los siguientes m ódulos: •
C o n ta d o r d e p rogram a. E s d registro q u e alm acena la dirección de m em oria en la q u e se debe buscar la siguiente instrucción q u e se va a ejecutar e n el procesador.
I.
•
•
•
•
• •
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
M em orias d e instrucciones y d e datos. E stas d o s m em orias tienen q u e e sta r separadas p orque u n a instrucción n o puede acceder al m ism o recurso m ás d e u n a vez a la im plem entación es m onociclo. D e m om ento se su p o n e q u e son m em orias ideales en las q u e siem pre se encuentra la inform ación q u e se b usca y q u e su tiem po d e acceso e s m en o r q u e el tiem po de ciclo del procesador. A dem ás, son direccionables p o r bytes pero cap aces d e devolver 4 bytes en c a d a acceso. Banco d e registros d e d atos visibles p ara d program ador. L os 32 registros necesarios para alm acenar números enteros se agrupan en un banco d e registros p orque en las instrucdones de tipo R es nece sario acceder a d o s registros sim ultáneamente. Este banco tiene por tan to dos salidas de datos d e 32 bits, una en tra d a d e dato s d e 32 bits y tres entradas d e 5 bits para la identificación de los registros. D o s sum adores. El prim ero se utiliza p a ra su m ar 4 (las instrucciones son d e 32 bits, e s decir, e n tre u n a instrucción y la siguiente siem pre hay 4 bytes) al PC y dejarlo p rep arad o p a ra la b úsqueda de la siguiente in stru c d ó n . El segundo se utiliza p a r a su m ar el desplazam iento relativo al P C en las instrucciones d e salto y d e ja r la A L U p a ra la evaluación d e la condición. U n a A L U d e en tero s c ap az d e realizar las operaciones incluidas en el repertorio de instrucciones. P ara la co m p a ra c ió n q u e se realiza en d salto condicional BEQ , b a sta co n hacer u n a resta y ver a el resultado o b ten id o es igual a 0. U n extensor d e signo p a ra extender el signo d e los o p eran d o s inm ediatos, q u e so n d e 16 bits. U n d esp lazad o r a la izquierda d e 2 posiciones. P a ra recuperar los d o s ceros al final del desp laza m iento relativo d e los saltos. C om o las instrucciones siem pre son d e 32 bits, el desplazam iento siem pre es un m últiplo d e 4. E sto significa q u e siem pre term in a p o r 00 y q u e no es necesario m alg astar d o s b its del cam po d e in stru c d ó n q u e perm ite alm acenar d desplazam iento d e salto en alm acenar esto s d o s ceros. P o r eso el desplazam iento se alm acena sin ellos a i la instrucción (p o r lo q u e pueden llegar a alm acenarse desplazam ientos d e h a sta 2 ,8- l a pesar de tener sólo 16 bits) y luego se recuperan a n te s d e sum arlo c o n el P C co n este d esp lazad o r a la izquierda.
Se puede o bservar en la figura 1.11 q u e no es necesario incluir u n hardw are específico p a ra la d ecodi ficación d e in stru c d o n e s ya q u e al tra ta rse d e un repertorio ta n sencillo con u n a codificación d e longitud fija (au n q u e sea híb rid a), b a sta con sep arar los diferentes ca m p o s de la in stru c d ó n y utilizar su contenido directam ente.
F ig u r a 1.11 R u ta d e d a to s d e l n a n o M IP S m o n o c ic lo .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
E je m p lo 1 .3 Cálculo de la frecuencia m áxim a de funcionam iento de un procesador nanoMIPS m onociclo. Con la ru ta d e d a to s d e l n a n o M IP S m o n o c ic lo d is e ñ a d a y la s s ig u ie n te s la te n c ia s p a ra lo s m ó d u lo s h a rd w a re q u e la c o m p o n e n , p o d e m o s c a lc u la r la fre c u e n c ia m á x im a d e fu n c io n a m ie n to d e l p ro c e s a d o r te n ie n d o en c u e n ta q u e el p e rio d o d e r e lo j estará lim ita d o p o r la in s tru c c ió n q u e m á s ta r d e en e je c u ta rs e : • • • • • • •
L e c tu ra d e la m e m o ria d e in s tru c c io n e s : 0.3 ns L e c tu ra d e la m e m o r ia d e d a to s : 0 .3 5 ns E s c ritu ra en la m e m o r ia d e d a to s : 0 .5 ns L e c tu ra y e s c ritu ra en el b a n c o d e re g is tr o s (d o s p u e rto s d e le c tu ra y u n o d e e s c ritu ra ): 0 .0 5 ns O p e ra c ió n a ritm é tic o -ló g ic a c o n la A L U : 0 .2 5 ns S u m a pa ra p re p a ra r el PC s ig u ie n te : 0.1 ns S u m a d e l PC y el d e s p la z a m ie n to d e l s a lto : 0.1 ns
C o n e s to s d a to s p o d e m o s c a lc u la r la d u ra c ió n d e ca d a u n a d e la s in s tru c c io n e s , v a m o s a s u p o n e r q u e n o se u tiliz a n m ó d u lo s d e la ru ta d e d a to s en p a ra le lo : • L o a d : la te n c ia = le c tu ra d e la m e m o r ia d e in s tru c c io n e s + su m a p a ra p re p a ra r el PC s ig u ie n te + le c tu ra d e l b a n c o d e r e g is tro s + o p e ra c ió n a ritm é tic o -ló g ic a c o n la A L U + le c tu ra d e la m e m o r ia d e d a to s + e s c ritu ra en el b a n c o d e re g is tr o s = 0 .3 + 0 .1 + 0 .0 5 + 0 .2 5 + 0 .3 5 + 0 .0 5 = 1 .1 ns • S to re : la te n c ia = le c tu ra d e la m e m o ria d e in s tru c c io n e s + s u m a p a ra p re p a ra r el PC s ig u ie n te + le c tu ra d e l b a n c o d e re g is tr o s + o p e ra c ió n a ritm é tic o -ló g ic a c o n la A L U + e s c ritu ra en la m e m o ria d e d a to s = 0 .3 + 0 .1 + 0 .0 5 + 0 .2 5 + 0 .5 = 1 .2 ns • A r itm é tic o - ló g ic a s : la te n c ia = le c tu ra d e la m e m o ria d e in s tru c c io n e s + s u m a p a ra p re p a ra r el PC s i g u ie n te + le c tu ra d e l b a n c o d e re g is tr o s + o p e ra c ió n a ritm é tic o -ló g ic a c o n la A L U + e s c ritu ra en el b a n c o d e r e g is tr o s = 0 .3 + 0 .1 + 0 .0 5 + 0 .2 5 + 0 .0 5 = 0 .7 5 ns • B E Q : la te n c ia = le c tu ra d e la m e m o r ia d e in s tru c c io n e s + s u m a p a ra p re p a ra r el PC s ig u ie n te + le c tu ra d e l b a n c o d e r e g is tr o s + o p e ra c ió n a ritm é tic o -ló g ic a c o n la A L U + s u m a d e l PC y el d e s p la z a m ie n to del s a lto = 0 .3 + 0 .1 + 0 .0 5 + 0 .2 5 + 0 .1 = 0 .8 ns Por lo ta n to , la in s tru c c ió n q u e lim ita el c ic lo d e re lo j es el S to re , y c o m o su la te n cia es d e 1.2 n s , te n e m o s : 7 \ = 1 .2 /> s -> f
= ---------1.2 . 10-9
=
0.8 GHz
En la figura 1.11 se h a n señalado los p u n to s d e control identificados p a ra los m ódulos hardw are q u e se h a n incluido en la ru ta d e d ato s. C om o el control d e la A LU es algo m ás com plejo (dependerá del opcode d e la instrucción, pero tam b ién del cam po F u n c t en las instrucciones d e tip o R ) , se introduce un hardw are específico p a ra realizar este co n tro l, un poco m ás adelan te se an alizará e n detalle. U n a vez d iseñ ad a la ru ta d e d a to s e identificados los p u n to s d e co n trol, es necesario d e term in ar los valores q u e deben to m a r esto s p u n to s p a r a c a d a in stru c d ó n del repertorio (tablas 1.2 y 1.3). T a b l a 1.2 V a lo re s p a ra lo s p u n to s d e c o n t r o l d e l b a n c o d e r e g is tr o s y la A L U e n la r u ta d e d a to s d e l n a n o M IP S m o n o c ic lo .
In stru cció n
R eg D st
RegW rite
A L U S re
A LU O p
Load
0
1
1
00
S to re
—
0
1
00
A ritm ético -ló g ica s
1
1
0
10
BEQ
—
0
0
01
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
Tabla 1.3 V a lo re s p a ra lo s p u n to s d e c o n t r o l d e m e m o r ia y d e l P C e n la r u t a d e d a to s d e l n a n o M IP S m o n o c ic lo .
In stru cció n
M em R ead
M em W rite
P C S rc
M em to R eg
Load
1
0
0
0
S to re
0
1
0
—
A ritm ético -ló g ica s
0
0
0
1
BEQ
0
0
0/1 ( s e g ú n e v a lu a c ió n d e la c o n d ic ió n d e l s a lto )
R ira u n diseño d e este tip o lo m ejor es u tilizar d o s unidades d e control diferentes (figura 1.12). L a prim era e s la u n id ad d e co n tro l global, en carg ad a d e decodificar el cam po d e código d e operación y d e configurar glo b alm en te la ru ta d e d ato s. A dem ás se añ ad e un segundo control local p a ra la ALU, q u e decodifica d cam p o F u n c t a i las instrucciones d e tipo R y selecciona la operación co n creta q u e debe realizar la A L U m ediante la señal A L U C o n tro l. Así la u n idad d e control global no tiene q u e diferenciar entre los d istin to s tip o s d e instrucciones (I y R e n este caso) y se g a n a a i sen álle z y eficiencia. E ste tip o d e e s tru c tu ra se d e n o m in a en o casio n es d e decodificación m ultinivel ya q u e en el p ri m er nivel la u n id a d d e c o n tro l global d eco d ifica la in stru cc ió n leyendo su o p co d e y sólo si se tra ta
F ig u r a 1 .1 2
[
R u ta d e d a to s y u n id a d d e c o n t r o l d e l n a n o M IP S m o n o c ic lo .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
F ig u r a 1.13 D is e ñ o d e la u n id a d d e c o n tr o l p a ra e l n a n o M IP S m o n o c ic lo m e d ia n te d e c o d ific a d o r e s y p u e rta s ló g ic a s .
d e u n a in stru cció n d e tip o R , el c o n tro l local d e la A L U realiza u n a seg u n d a decodificación leyendo p a ra ello el c a m p o F u n c t d e la in stru c c ió n y averig u an d o la o p e ra c ió n a ritm ético -ló g ic a q u e debe realizarse. L a u n id a d d e co n tro l global recibe com o e n tra d a el opcode d e la instrucción decodificada (los bits e n tre el 31 y el 26 d e la instrucción q u e se h a leído d e la m em oria d e instrucciones). A p a rtir de este opcode genera los valores adecu ad o s p a r a las diferentes señales d e co n trol. L a ú nica peculiaridad es q u e el valo r d e P C Src no se genera directam ente, a n o q u e se gen era u n a se ñal B ran ch q u e vale 1 cu a n d o la instrucción es un salto. Por eso se incluye u n a p u e rta A N D e n la ru ta de d a to s q u e g en era la señal P C Src en fun ció n d e esta señal y del resultado d e la evaluación de la condición (com paración d e igualdad) en la A L U m ediante u n a resta. Se puede o bservar q u e en el caso d e la im plem entación m onociclo del procesador, la u n idad d e c o n trol e s u n circu ito com binación al m uy sencillo ya q u e se decodifica la instrucción, a p a rtir del opcode (y del cam p o F u n c t en d caso d e las instrucciones d e tipo R) se generan las señales d e control q u e p e rm a necen activas h a sta q u e finaliza el ciclo y cu an d o llega u n a nueva su b id a del flanco d e reloj, al com enzar u n a nueva instrucción, se vuelve a co m en zar el proceso. E sta unidad d e co n tro l suele d iseñ arse m ediante decodificadores y puertas O R , ya q u e si se tra ta d e otro tip o d e im p lem en tad ó n , a ñ a d ir u n a instrucción al repertorio puede obligar a m odificar to d o el diseño d e la u n id a d d e co n tro l. Sin em bargo con los decodificadores, las m odificaciones en el repertorio son casi inm ediatas. P o r o tro lad o la u n id a d d e c o n tro l local d e la A LU recibe co m o e n tra d a s la señal A L U O p y el cam p o F u n c t d e las instrucciones d e tip o R . Y g enera la señal A L U C o n tro l según la tabla 1.4. L a im plem entación se p u ed e o b te n e r co n c u a lq u ie ra d e las m eto d o lo g ías d e d iseño típ icas d e circu ito s com binacionales.
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
T a b l a 1 .4 V a lo r e s p a ra e l p u n to d e c o n t r o l d e la A L U e n la s in s tr u c c io n e s d e t ip o R.
1.4.2.
Funct
O p e r a c ió n
A L U C o n tr o l
100000
ADD
0010
100010
SUB
0110
100100
AND
0000
100101
OR
0001
101010
SLT
0111
Procesad or m u Iticiclo
L os diseños m onociclo no se em plean en la actu alid ad ya q u e no son lo suficientem ente eficientes, al tener q u e a d a p ta r la d u ra c ió n del ciclo d e reloj p a ra q u e dé tiem po a q u e se ejecute la instrucción m ás lar ga del repertorio. E sto es im pensable si, p o r ejem plo, se quieren introducir instrucciones d e co m a flotante en el repertorio, d e d u ració n m ucho m ayor q u e las de enteros. A dem ás es casi im posible op tim izar la ru ta d e datos, p orque e s siem pre la instrucción m ás larga la q u e lim ita el rendim iento del procesador. Y la m ayor p arte d e los recursos del procesador e stá n d esap ro vechados la m ayor p a rte del tiem po (figura 1.14). R ira d ise ñ a r la ru ta d e d a to s m ulticiclo se utiliza u n a división d e trabajo co m o la presen tad a en la sección 1.2 p a r a ejecutar u n a instrucción co m p leta (típica de los procesadores con rep erto rio s R IS C ), d e m anera q u e c a d a u n a d e ellas e s tá relacionada c o n d hardw are d e la ru ta d e d a to s q u e se utiliza. C ad a una d e estas e ta p a s d eb e co m p letarse a i u n ciclo de reloj, p o r lo q u e se reduce significativam ente el p e riodo del procesador, au n q u e a cam bio, el C PI m edio será m ayor q u e 1. C a d a instrucción ta rd a rá ta n to s d c lo s e n ejecutarse com o sea necesario.
R e loj Tiempo de utilización de recursos HW
■
i
T ie m p o
R e lo j Tiempo de utilización de recursos HW
13
Ji r i r i - H r i r i r i r i _ l l i - J T - r i j - m r i ! ■ 1 1 ml i l i ! i
*
T ie m p o
F ig u r a 1 .1 4 C o m p a r a c ió n d e la u t iliz a c ió n d e r e c u r s o s e n e l n a n o M IP S m o n o c ic lo y e l m u ltic ic lo .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
C om o u n a instrucción ta rd a m ás d e u n ciclo en ejecutarse, la ru ta d e d a to s es m uy sim ilar a la del procesador m onociclo, pero es necesario incluir registros interm edios q u e alm acenen los resultados tem porales q u e se van generan d o según la instrucción avanza en su ejecución (figura 1.15).
R u ta d e d a to s d e l n a n o M IP S m u ltic ic lo .
Con esta ru ta d e datos, cu an d o en el prim er ciclo de ejecución se busca la instrucción q u e se va a ejecutar e n la m em oria (etap a F ), se d eja alm acenada en el registro d e instrucción IR . A sí, cu an d o c o mienza el segundo ciclo d e ejecución, la instrucción se lee d e este registro p a ra proceder a su codificación en la e ta p a D. E n esta m ism a e ta p a se leen los o p eran d o s d e la instrucción, y se dejan alm acenados en los registros A y B p a ra q u e a i el siguiente ciclo d e ejecución, la A L U tenga disponibles en estos registros sus operan d o s fuente p a ra la e ta p a X . Y así sucesivam ente, sin estos registros interm edios no sería posible realizar la ejecución d e u n a in s tru c d ó n e n m ás d e u n ciclo d e reloj. O bservando los m ódulos hardw are q u e son necesarios en este caso p a ra d correcto funcionam iento de la ru ta d e d ato s, son p rácticam en te los m ism os q u e e n el caso d e la ru ta d e d a to s m onociclo. L as únicas diferencias e s tá n en la aparición d e esto s registros interm edios (registro d e instrucción o IR , registro de d a to s d e m em oria o M D R , registros p a ra los op eran d o s de la A LU A y B, y registro A L U O ut p a ra los resultados d e las operaciones) y en q u e a h o ra ya no es necesario ningún su m ad o r o c o m p ara d o r extra, se puede utilizar siem pre la ALU, n i ten er d o s m em orias separadas, b a sta c o n una. L a ex p licadón es m uy sencilla, ya que, al ta rd a r la instrucción m ás d e u n ciclo e n ejecutarse, un m ism o recurso (la A LU o la m em oria) p u ed e utilizarse en diferentes e ta p a s d e la ejecu d ó n d e la instrucción sin problem as. Por ejem plo, en d caso d e u n a in stru c d ó n d e salto BEQ , la A LU se utiliza e n tres ocasiones. L a p ri m era vez, com o e n el resto d e instrucciones, p a ra su m a r 4 al c o n ta d o r d e program a y te n e r p rep arad o su valor p o r si se tiene q u e buscar la in stru c d ó n siguiente. L a segunda vez, p a ra calcular la d ire c d ó n destino de salto, sum ando al c o n ta d o r d e p ro g ram a el desplazam iento incluido com o inm ediato en la instrucción. Y la tercera vez, p a ra evaluar la condición d d salto c o m p a ra n d o los d o s registros indicados en la instruc d ó n , d e m an e ra q u e se carg a rá en el P C un valor u otro (el q u e co rresp o n d e a la in stru c d ó n siguiente o d q u e corresp o n d e a la instrucción destino d e salto) dependiendo del resultado d e la evaluación d e la condición.
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
D e igual m an era, u n a instrucción LW accede a la m em oria única en d o s ocasiones, en la prim era com o el resto d e instrucciones, p a ra leer la instrucción y volcarla al registro IR . E n la segunda p a ra leer d d a to d e la m em o ria y volcado al registro interm edio M D R antes d e escribirlo e n el registro destino correspondiente.
E je m p lo 1 .4 C om paración de una versión m on ociclo del nanoMIPS con una versión m ulticiclo. R e c o rd e m o s q u e te n e m o s u n e je m p lo d e im p le m e n ta c ió n m o n o c ic lo d e l n a n o M IP S q u e fu n c io n a a una fre c u e n c ia m á x im a d e 0 .8 G Hz (en e ste c a s o la lim ita c ió n a la fre c u e n c ia d e re lo j la im p o n ía n la s in s tru c c io n e s d e S to re , q u e n e c e s ita b a n 1.2 n s pa ra c o m p le ta rs e ). S i c o n v e rtim o s esta im p le m e n ta c ió n en m u ltic ic lo , te n e m o s la s s ig u ie n te s la te n c ia s pa ra lo s c o m p o n e n te s h a rd w a re d e la ru ta d e d a to s : • • • • •
L e c tu ra d e la m e m o ria : 0 .3 ns. E s c ritu ra en la m e m o r ia : 0.45 ns L e c tu ra y e s c ritu ra en el b a n c o d e re g is tro s : 0 .0 5 ns O p e ra c ió n a ritm é tic o -ló g ic a c o n la A L U : 0 .2 5 ns S u m a pa ra p re p a ra r el PC s ig u ie n te : 0.1 ns
E s to s ig n ific a q u e el p e rio d o d e re lo j, lim ita d o p o r la e ta p a m á s le n ta , v e n d ría d e te rm in a d o p o r la e ta p a M . N e c e s ita m o s T = 0 .4 5 n s p a ra q u e esta e ta p a te n g a tie m p o d e c o m p le ta rs e en u n c ic lo d e re lo j. Por lo q u e en e s te c a s o f n w x = 1 /0.4 5 -10 -® = 2.2 GHz. Pero pa ra c o m p a ra r la s d o s v e rs io n e s d e l p ro c e s a d o r, m o n o c ic lo y m u ltic ic lo , n o p o d e m o s te n e r en cu e n ta s ó lo la fre c u e n c ia m á x im a d e fu n c io n a m ie n to (o el p e rio d o m ín im o ) , y a q u e s a b e m o s q u e lo s CPI so n d is tin to s e n a m b o s tip o s d e p ro c e s a d o r. Para la im p le m e n ta c ió n m o n o c ic lo te n e m o s CPI = 1, m ie n tra s q u e p a ra la m u ltic ic lo , c o n e sta s fre c u e n c ia s d e a p a ric ió n d e in s tru c c io n e s p o d e m o s c a lc u la r el CPI: • • • •
L o a d : 20 % S to re : 10 % A r itm é tic o - ló g ic a s : 35 % B E Q : 35 %
Cada u n o d e e s to s tip o s d e in s tru c c io n e s a tra v ie s a la s s ig u ie n te s e ta pa s, cada u n a d e e lla s co n d u ra c ió n d e 1 c ic lo d e re lo j: • • • •
L o a d : F + D + X + M + W = 5 c ic lo s S to re : F + D + X + M = 4 c ic lo s A r itm é tic o - ló g ic a s : F + D + X + W = 4 c ic lo s B E Q : F + D + X = 3 c ic lo s
Por lo ta n to el CPI en el c a s o d e l p ro c e s a d o r m u ltic ic lo es: CPI = 0.20 • 5 + 0 .1 0 • 4 + 0 .3 5 • 4 + 0 .3 5 • 3 = 3.85 Por lo ta n to , c o m p a ra n d o la s im p le m e n ta c io n e s d e l n a n o M IP S m o n o c ic lo y m u ltic ic lo c o n el m is m o re p e r t o r io d e in s tru c c io n e s : s
L.
( / • CPI ■T
U CPI T) m
1 -1.2
Q 60
3.85 0.45
O b s e rv a m o s q u e el re n d im ie n to d e l p ro c e s a d o r m o n o c ic lo es m e jo r q u e el d e l p ro c e s a d o r m u ltic ic lo , p o r q u e c o n u n p ro c e s a d o r ta n s e n c illo pesa m á s el CPI = 1 q u e el h e c h o d e fu n c io n a r c o n u n p e rio d o d e r e lo j ta n le n to . Lo id e a l sería q u e c o n s ig u ié ra m o s a p lic a r a lg u n a té c n ic a d e o p tim iz a c ió n al p ro c e s a d o r m u ltic ic lo q u e p e rm itie ra m a n te n e r el p e rio d o en 0 .4 5 n s p e ro r e b a ja n d o el CPI y a c e rc á n d o lo m á s a 1.
R eflex io n an d o a c e rc a d e lo q u e im p lica q u e u n a in stru c c ió n p u e d a p a s a r m á s d e u n ciclo e je c u tá n d o se e n el p ro ce sad o r, la p rin c ip a l d ife re n c ia c o n el p ro c e sa d o r m o n o ciclo e s q u e a h o r a lo s v alo re s d e lo s
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
p u n to s d e c o n tro l ya n o se pueden d a r com o u n a tabla de verdad, ya q u e no se m antienen co n stan tes a lo largo d e to d a la ejecución d e la instrucción. C om o se tra ta d e u n a im plem entación m ulticiclo, los valores d e estas señales se van m odificando en los diferentes ciclos d e reloj y d ependerán d e la e ta p a en la q u e se encuentre la instrucción. El conjunto d e señales que hay q u e generar está com puesto por IorD , M emRead, MemWrite, MemToReg, R egD st, RegW rite, A LU SrcA , A LU SrcB , A L U O p, PC Src, PCW rite, PC W riteC ond e IRW rite. L as señales d e co n tro l p a ra e sta ru ta d e d a to s son m uy sim ilares a las d e la ru ta de d a to s d e la ver sión m onociclo. L a s principales diferencias con la versión m onociclo son q u e en este caso hace fa lta u n a señal A L U S rcA y q u e A LU SrcB es u n a señal d e control d e 2 b its p orque hay q u e escoger e n tre cuatro alternativas en el m ultiplexor q u e selecciona la segunda e n tra d a d e la A LU . A dem ás es necesaria la señal IRW rite p a ra c o n tro la r la escritu ra del resultado d e las lecturas d e m em oria en los registros IR o M D R (la señal equivalente M D R W rite no es m ás q u e IR W rite negada). El resto d e señales d e carg a d e los registros interm edios no se han incluido en el diseño d e la u n idad d e control p o rq u e so n m ucho m ás sencillas d e gestionar, ya q u e n o vuelve a o cu rrir q u e a la salida d e u n m ódulo hardw are d e la ru ta d e d ato s se p u e d a volcar el resultado en d o s registros diferentes. D e nuevo la ru ta d e d a to s del n an o M IP S in co rp o ra d o s u n idades d e control diferentes, la u nidad de control global (a h o ra algo m ás com pleja q u e la del procesador m onociclo) y el control local d e la A LU (figura 1.16).
F ig u r a 1 .1 6 R u ta d e d a to s y u n id a d d e c o n t r o l d e l n a n o M IP S m u ltic ic lo .
L a u n id ad d e co n tro l global se tra ta en este caso d e un circuito secuencial, ya q u e hay q u e tener en cu en ta la sincronización d e to d a s las e ta p a s d e c a d a instrucción. Sigue recibiendo com o e n tra d a el opeod e d e la instrucción y se p u ed e d ise ñ a r com o u n a m áq u in a d e esta d o s o m ediante m icroprogram ación.
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
L a u n id ad d e co n tro l local d e la A L U no se m odifica respecto del pro cesad o r m onociclo, ya q u e sólo se encarga d e c o n tro la r el funcionam iento d e la A LU en el ciclo en d q u e é sta debe d e realizar la operación asociada a la instrucción. R ira el diseño d e la u n id ad d e co n tro l global del nano M IP S com o m á q u in a de estados, se tienen en c u e n ta ocho estad o s q u e se ejecutan en un m áxim o d e cinco ciclos o etapas. L os d o s prim eros ciclos, F y D, se co rresponden c o n las d o s p rim eras etap as d e la ejecución d e instrucciones y son esta d o s d e la unidad d e co n tro l q u e se ejecutan p a ra to d a s las instrucciones p o r igual. A p a rtir d e este punto, y co n un repertorio ta n se n d llo com o d del nan o M IP S , c a d a tipo d e instrucción evoluciona p o r unos estad o s d i ferentes. E s decir, referencias a m em oria (load y store), aritm ético-lógicas (tipo R ) y saltos (BEQ ), siguen cam inos diferentes (figura 1.17). CICLO 1
CICLO 2
CICLO 3
CICLO 4
CICLO 5
F ig u r a 1 .1 7 D is e ñ o d e la u n id a d d e c o n t r o l p a r a e l n a n o M IP S m u ltic ic lo c o m o m á q u in a d e e s ta d o s .
L a u n id a d d e c o n tro l com o m á q u in a d e e sta d o s (tam bién lla m a d a e n alg u n o s c aso s cableada) presenta serios prob lem as c u a n d o los re p e rto rio s d e in stru c d o n e s son m ás com plejos q u e el d e l nanoM IPS . A dem ás, c u a n d o se m odifica u n a ú nica in strucción es necesario rediseñar to d a la u n id a d d e co n tro l. f ó r a solucionarlo se p ro p o n e utilizar el c o n tro l m icroprogram ado, q u e no es m ás q u e u n a m em oria, no rm alm ente u n a P L A o u n a R O M , q u e alm acena vectores co n el valor de las señales d e control q u e se deben gen erar a i c a d a m om ento (figura 1.18). P a ra ejecu tar u n a instrucción del repertorio a d ecu ad a m ente b a sta c o n leer las sucesivas p alabras d e e sta m em oria en un orden determ inado. A c a d a p alab ra de la m em oria d e co n tro l se le llam a m icroinstrucción, y el con ju n to o rdenado d e m icroinstrucciones q u e perm iten ejecutar u n a instrucción del rep erto rio se llam a m icroprogram a.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
HlR
► * 0-*
M em o ria de m icro p ro g ra m a
HPC
Tabla 1
Tabla 2
4
OPCODE
Tablas de tran sfe ren cia F ig u r a 1 .1 8 D is e ñ o d e la u n id a d d e c o n t r o l m ic r o p r o g r a m a d a p a r a e l n a n o M IP S m u ltic ic lo .
Este tip o d e unidad d e co n tro l es m ás flexible q u e la b asa d a en m á q u in a de esta d o s y o cu p a m ucha m enos área, pero p resen ta el inconveniente d e su velocidad, ya q u e p o r n o rm a general se tra ta d e u n i dades d e co n tro l b astan te m ás lentas q u e las cableadas. H ay q u e tener en c u e n ta q u e p a ra ejecu tar u n a instrucción del rep erto rio del n an o M IP S es necesario recuperar 3 o 4 m icroinstrucciones d e la m em oria d e m icroprogram a, alm acenarlas e n el registro d e m icroinstrucción ( jiIR ), d e jar tiem po p a ra q u e se e sta bilicen las señales d e co n tro l generadas, etc. E n el c a s o m á s sencillo, la u n id a d d e c o n tro l m ic ro p ro g ra m a d a d e l n a n o M IP S u tiliza co d ificació n h o riz o n ta l p a r a la s m ic ro in stru cc io n es, e s d ecir, c a d a m ic ro in stru c c ió n in c o rp o ra d ire c ta m e n te lo s v a lo res q u e d e b e n to m a r la s s á la le s d e c o n tro l. E n el c a s o d e a r q u ite c tu ra s M IP S m á s c o m p le ja s, se u tiliz a n m ic ro in stru c c io n e s a lta m e n te c o d i fic a d a s p a r a e v ita r q u e é s ta s se a n d e m a s ia d o larg as. E s to o b lig a a re a liz a r u n p a s o d e d e c o d ific a c ió n p rev io a la a c tiv a c ió n d e la s se ñ a le s d e c o n tr o l, p e ro e v ita q u e la u n id a d d e c o n tro l o c u p e d e m a s ia d a á re a .
Si se utiliza e s ta técnica d e diseño en el n an o M IP S se llega a u n a codificación vertical c o n 6 cam pos, cad a u n o d e ellos codifica u n g ru p o d e señales d e control relacionadas e n tre sí: control d e la A LU (A LU C ontrol), selección d e los o p eran d o s 1 (SRC1) y 2 (SRC2), control del banco d e registros (R egisterC ontrol), control d e la m em oria (M em ory) y co n tro l del c o n ta d o r d e program a (PC W riteC ontrol). A estos cam pos se les a ñ ad e la etiq u eta d e la m icroinstrucción y la inform ación d e secuencia. El significado de esto s cam pos y los posibles valores d e c a d a uno d e ellos según los valores d e las señales d e co n trol, se m u estran en la tab la 1.5. C om o se puede o bservar en la figura 1.19, c o n cu alq u iera d e los d o s tipos d e codificación den tro d e las m icroinstrucciones no sólo se e n cu en tra inform ación acerca d e las señales d e control q u e deben activarse, sino tam bién acerca del secuenciam iento de las m icroinstrucciones (últim o cam po de 2 bits). En el caso d e la unidad d e co n tro l del n an o M IP S es un secuenciam iento explícito, p o r lo q u e en c a d a m icroinstrucción se alm acena inform ación acerca d e la siguiente m icroinstrucción q u e se debe ejecutar.
I.
C O NCEPTO S B Á S IC O S DE PR O CESADO RES
R ira co m en zar a ejecu tar u n a nueva instrucción en la ru ta d e datos, siem pre se com ienza p o r la dirección 0 del m icroprogram a.
T a b l a 1.5 C a m p o s d e la s m ic r o in s t r u c c io n e s d e l n a n o M IP S ( c o d if ic a c ió n d e m ic r o in s tr u c c ió n v e r tic a l) .
C am po
A LU C o n tro l (2 bits)
SRC1 d bit)
S eñales c o d ifica d a s
V alores del cam po
V alores de la s señales
E xp lica ció n
ALU O p
Add
ALUO p=00
La A L U r e a liz a u n a s u m a
Sub
ALUO p=01
La A L U re a liz a u n a re s ta
F unct
ALUO p=10
L a A L U r e a liz a la o p e r a c ió n e s p e c ific a d a p o r e l c a m p o F unct
PC A
A L U S rc A = 0
S e e s c o g e e n tr e lo s d o s v a lo re s p o s ib le s p a ra el o p e r a n d o A d e la A L U
A L U S rc A
A L U S rc A = 1
SRC2 (2 bits)
A L U S rc B
A L U S rc B = 0 0 A L U S rc B = 0 1 A L U S rc B = 10 A L U S rc B = 1 1
S e e s c o g e e n tr e lo s d o s v a lo re s p o s ib le s p a ra el o p e r a n d o B d e la A L U
R ead
R e g W r ite = 0 , R e g W rite = 1 y R e g D s t= 1
S e le e n lo s d o s r e g is tr o s y b s r e s u lta d o s s e g u a rd a n e n lo s r e g is tr o s A y B
W r ite A L U
M e m to R e g = 0 y R e g W rite = 1
Se e s c r ib e e n u n r e g is tr o el r e s u lta d o o b t e n id o p o r la A L U
W r ite M D R
R e g D s t= 0 y M e m to R e g = 1
Se e s c r ib e e n u n r e g is tr o el v a lo r q u e s a le d e la m e m o r ia a c c e d id a p a ra d a to s
ReadPC
M e m R e a d = 1, lo r D = 0 y IR W rite = 1
L e c tu ra d e in s tr u c c ió n en m e m o r ia
ReadALU
M em R ead = 1 y lo r D = 1
L e c tu ra d e d a to s en m e m o r ia
W r ite A L U
M e m W r ite = 1 y lo r D = 1
E s c r itu ra d e d a to s en m e m o r ia
ALU
P C S rc = 0 y P C W rite = 1
C a rg a e n e l PC d e P C + 4
A L U O u tC o n d
P C S rc = 1 y P C W rite C o n d = 1
C a rg a e n e l P C d e la d ir e c c ió n d e in s tr u c c ió n d e s a lto s i la c o n d ic ió n d e s a lto s e c u m p le
B
4 E x te n d E x te n d S h ift
R e g iste r C o n tro l (2 bits)
M em o ry (2 bits)
P C W rite C o n tro l (1 bit)
R egD st R e g W rite M em ToR eg
lo r D M em R ead M e m W r ite IR W rite
P C W rite P C W rite C o n d P C S rc
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
O) T F ¡
n ú m ero de fallos
mañero total de accesos a memoria
p F : P enalización p o r fallo en M C
En el capítulo 1, p a ra calcu lar d tiem po q u e un d eterm in ad o fragm ento d e código ta rd a b a en ejecu tarse e n d procesador, se su p o n ía q u e este código sólo invertía tiem po en la pro p ia ejecución. Pero tra s estu d iar las d o s p rim eras secciones d e este capítulo q u e d a claro q u e los accesos a m em oria llevan un tiem po asociado y q u e n o se puede su p o n er q u e la je ra rq u ía d e m em oria es perfecta. Por lo ta n to , p a ra ser realistas, hay q u e ten er en c u en ta d tiem po invertido en acceder a la m em oria con los posibles fallos q u e se pro d u zcan . O bien p orque están incluidos en el C P I cu an d o se aplica la ecuación d e prestaciones del p ro cesador o bien p orque se su m a al tiem po d e C P U (calculado co n el C PI qu e tiene en c u e n ta q u e to d o s los accesos al p rim er n ivd d e la m em oria caché a d e rta n ), el tiem po q u e se ta rd a en resolver los fallos d e m em oria q u e se producen. Este segundo caso, t= tcpu+ tMEM, es el m ás habitual p o r lo discutido en la sección anterior. Si lo q u e interesa es evaluar las p re sta d o n e s d e la m em oria principal o de la m em oria virtual com o niveles aislados d e la je ra rq u ía , las m étricas q u e suelen utilizarse son: • Latencia. T iem p o q u e tran scu rre d esde q u e un acceso a m em oria com ienza h asta q u e finaliza. E stá m uy re la d o n a d a c o n la tecnología con la q u e e stá fabricada la m em oria. • Ancho de banda. C a n tid a d d e inform ación p o r u n id a d d e tiem po q u e p u ed e transferirse desde/ hacia la m em oria. E n este caso está m uy rd a c io n a d o con la organización de la m em oria m ás q u e con la tecnología.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
E je m p lo 2 .1 C om paración entre una jerarquía de m em oria perfecta y una jerarquía de m em oria real. U n p ro c e s a d o r q u e fu n c io n a c o n u n a fre c u e n c ia d e r e lo j d e 2 G Hz y c o n u n CPI id e a l d e 1, e je c u ta u n c ó d ig o d e 100 in s tru c c io n e s . E ste p ro c e s a d o r in c o rp o ra d o s m e m o ria s c a c h é , u n a p a ra in s tru c c io n e s (M I) y o tra pa ra d a to s (M D ), q u e ¡n ic ia lm e n te se s u p o n e n id e a le s. Es d e cir, se s u p o n e q u e su tie m p o d e a c c e s o es d e s p re c ia b le y q u e n u n c a fa lla n . P o r lo ta n to , el tie m p o d e e je c u c ió n d e e s te c ó d ig o es el t ie m p o d e CPU:
t= t
= / C P I T = 100 1--- -- — = 50 10"9s - 50 ns cw
2 109
Pero en re a lid a d e sta s d o s m e m o ria s c a c h ó n o so n p e rfe c ta s , y a u n q u e s u p o n g a m o s q u e su s tie m p o s de a c c e s o s o n d e s p re c ia b le s , en o c a s io n e s fa lla n o b lig a n d o a re a liz a r a c c e s o s a m e m o ria p rin c ip a l. S u p o n g a m o s q u e la m e m o ria c a c h é d e in s tru c c io n e s tie n e u n a ta sa d e fa llo s d e l 4 % y u n a p e n a liz a c ió n p o r f a llo d e 100 n s ; y q u e la m e m o ria c a c h ó d e d a to s tie n e u n a ta sa d e fa llo s d e l 6 % y una p e n a liz a c ió n p o r fa llo d e 115 ns. T e n ie n d o en c u e n ta q u e p a ra e je c u ta r e ste c ó d ig o , h a c e n fa lta 100 a c c e s o s a la m e m o r ia d e in s tru c c io n e s (la b ú s q u e d a d e ca d a in s tru c c ió n ) y 25 a c c e s o s a la m e m o r ia d e d a to s (25 in s tru c c io n e s d e l c ó d ig o s o n lo a d o s to re ), el t ie m p o q u e se in v ie rte en a c c e d e r a m e m o r ia es: = n .° d e a c c e s o s a M I ( t ^
Ml + TFMI • p F J + n .° d e a c c e s o s a M D
MD + TFMD • p F MD) =
100 (0 + 0 .0 4 • 100) + 25 (0 + 0 .0 6 • 115) = 5 7 2 .5 ns P o r lo q u e el t ie m p o d e CPU d e e ste c ó d ig o es re a lm e n te : * = fCfHj +
m 2.4.1.
— 5 0 n s + 5 7 2 .5 n s = 6 2 2 .5 ns
Niveles de la jerarquía de memoria Diseño de la memoria caché
L a m em oria caché alm acena e n c a d a m om ento unos d e term in ad o s bloques d e inform ación, p o r lo tan to se divide en m arco s capaces d e albergar e sto s bloques e n su interior. L a c ach é n o sólo se c o m p o n e d e m arcos, ya q u e p a ra d e te rm in a r q u é b loque e stá o cu p a n d o un d e te rm in a d o m arco en un in sta n te c o n c re to se utilizan e tiq u e ta s o tags q u e tam bién deben alm acenarse en la m em o ria. E sta s e tiq u e ta s se c o m p a ra n co n la del b lo q u e q u e se e stá b u scan d o p a ra d e te rm in a r si éste se e n c u e n tra o no en la m e m o ria c ach é y si p o r lo ta n to se h a pro d u cid o u n acierto o un fallo (figura 2.5). f ó r a co m p ren d er el funcionam iento d e la m em oria caché y p a ra diseñar este nivel d e la je ra rq u ía d e m an era ad ecu ad a hay q u e en ten d er cu atro aspectos básicos d e su diseño. 2 .4 .1 .1 .
O
r g a n iz a c ió n d e la m e m o r ia c a c h é
El prim er aspecto im p o rta n te q u e hay q u e d ecidir es el tam a ñ o d e la m em oria caché. Si la c ach é es dem asiado p eq u eñ a, esto afectará negativam ente a la ta sa d e fallos, ya q u e no se c a p tu ra rá bien la lo ca lidad, y m uchos d e los accesos a m em oria realizados p o r el procesador term in arán produciendo fallos de capacidad. Sin em bargo, la caché tam poco puede ser d em asiado grande. E n prim er lugar, p o rq u e se integra en d m ism o ch ip q u e d procesador, lo q u e im plica q u e hay q u e tener en cuen ta el co nsum o d e área y el de
2.
C O N C E PTO S B Á S IC O S DE M E M O R IA Y E/S
M e m o ria Caché Etiqueta
M arcos
F ig u r a 2 .5 F u n c io n a m ie n to d e la m e m o r ia c a c h é .
potencia, y en general, las restricciones e n el coste d d diseño. Y en segundo lugar, p orque las cachés m ás grandes son m ás lentas, ya q u e la lógica necesaria p a ra su gestión es m ás com pleja, p u ed e q u e esto im pli que m ás com p aracio n es d e etiquetas, etc. Por lo tan to hay q u e escoger cu idadosam ente el tam añ o d e esta m em oria p a ra c a d a arq u itectu ra. U n a vez q u e se h a d ecidido el tam añ o d e la caché, es necesario escoger el tam añ o d e m arco (y de H oque) q u e se va a m anejar. D e nuevo es u n a decisión d d ic a d a q u e afecta al rendim iento d e la m em oria. U tilizando bloques d e gran ta m a ñ o se c a p tu ra m ejor la localidad espacial y se pueden reducir los fallos iniciales. I^ ro hay q u e ten er en c u e n ta q u e al au m e n tar el tam añ o del bloque tam bién se au m en ta la penalizad ó n p o r fallo, ya q u e se necesita m á s tiem po p a ra tra e r los bloques del siguiente niv d d e la je ra rq u ía d e m em oria. H ab rá q u e llegar a u n com prom iso en tre am b o s aspectos teniendo e n c u e n ta la latencia y el ancho d e b an d a d e la conexión c o n el siguiente nivel d e m em oria. O tro d e los aspectos fu ndam entales en la organización de la caché es la unificarión o división d e las instrucciones y los datos. Según lo estu d iad o en el capítulo 1 d e este libro, la segm entación del procesador obligará en m uchos casos a d iv id ir la caché d e instrucciones y la d e d a to s p a ra ev itar los riesgos estructurales en tre las etap as d e búsqueda d e instrucción y las d e acceso a m em oria p a ra lectura o escritu ra d e operandos/resultados (las e ta p a s d e F y M del n an o M IP S ). Pero c u a n d o no se tra te del prim er nivel d e m em oria caché, se p u e d e o p ta r p o r seguir m anteniendo esta separación o p o r unificar a i bloques d e inform ación com unes las instrucciones y los datos. T odas estas decisiones d e diseño suelen tom arse co n a y u d a d e herram ientas d e sim ulación y siguien do reglas em píricas y heurísticas q u e han surgido d e la experiencia d e o tro s diseñadores. Por últim o, d e sta c a r d e n tro d e la organización d e la caché uno d e los aspectos q u e m ás influye en el rendim iento d e la je ra rq u ía d e m em oria: la im plem entación d e cachés m ultinivel.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
U tiliz a c ió n d e d o s n iv e le s d e m e m o r ia c a c h é .
Si se o p ta p o r u tilizar un ú nico nivel d e m em oria caché, cu a n d o este nivel falle, h ab rá q u e ir direc tam ente a m em oria p rincipal a buscar el bloque necesario p a ra resolver este fallo. L a penalización q u e im plica b uscar e ste b lo q u e y traerlo a la m em o ria caché puede ser excesiva e n m uchos casos. Además, cu an d o se d iseñ a u n a m em oria caché d e un único nivel se p lan te a la siguiente cuestión, ¿es m ejor u n a m em oria caché p e q u e ñ a y ráp id a q u e p u ed a tra b a ja r a la velocidad del p ro cesador o u n a m e m oria d e tam a ñ o m ayor, m ás len ta pero q u e cap tu re y aproveche m ejor el principio d e localidad y reduzca la ta s a d e fallos? L a solución a las d o s cuestiones e s casi siem pre la utilización d e m ás d e u n nivel d e m em oria caché (figura 2.6). N o rm alm en te se utilizan d o s niveles d e m em oria caché (aunque m uchas arq u itectu ras d e hoy en d ía em piezan a in c o rp o ra r un tercero): • Nivel 1 ( L l) . E ste nivel e s el m ás cercano al procesador, p o r lo tanto, e sta m em oria caché es p eq u e ñ a y rápida. • Nivel 2 (L2). E s el siguiente nivel d e la je ra rq u ía, d e m ayor tam a ñ o (p o r lo q u e aprovecha m ejo r el principio d e localidad) y p o r lo tan to , m ás lento au n q u e co n m enos fallos d e capacidad. D e e s ta m an era, cu a n d o se p ro d u zca u n fallo en d nivel 1 d e la m em oria, la penalización d e este fallo será m en o r q u e si sólo h u b iera u n nivel d e caché, porque en lu g ar d e ir a la m em oria principal irá a la caché d e nivel 2 (siem pre con m enor tiem po d e acceso q u e la m em oria principal y adem ás sin necesidad d e salir del ch ip en el q u e se e n cu en tra el procesador).
E je m p lo 2 .2 C om paración entre una jerarquía de m em oria con un nivel de caché con otra jerarquía de m em oria con dos niveles de caché. In ic ia lm e n te te n e m o s u n p ro c e s a d o r c o n u n ú n ic o n iv e l d e m e m o ria c a c h ó , u n ific a d a , c o n tie m p o d e a c c e s o d e 1 n s , ta s a d e fa llo s d e l 5 % y p e n a liz a c ió n p o r f a llo d e 90 ns. A Procesador
K
Cachó L1
>
..Mv
M pm nriA
tp j
n n c' pa
2.
C O N C E PTO S B Á S IC O S DE M E M O R IA Y E/S
En esta s itu a c ió n el t ie m p o m e d io d e a c c e s o a m e m o ria p a ra re a liz a r u n a le c tu ra es:
d e c tu r e ) = l KienoU + TFL, ■p F L, = 1 + 0 .0 5 • 9 0 = 5.5 ns Para m e jo r a r la s p re s ta c io n e s d e esta je ra rq u ía d e m e m o r ia se d e c id e in c lu ir u n s e g u n d o n iv e l d e m e m o ria ca ch ó , ta m b ié n u n ific a d a , y en e ste c a s o c o n u n t ie m p o d e a c c e s o d e 12 n s y u n a ta sa d e fa llo s d e l 10% .
G ra c ia s a la in tr o d u c c ió n d e e s te n iv e l, la p e n a liz a c ió n p o r fa llo q u e a n te s te n ía el p r im e r n iv e l d e m e m o ria c a c h é , d e b id a a la n e c e s id a d d e t r a e r u n b lo q u e d e s d e m e m o r ia p rin c ip a l, a h o ra p a sa a s e r la p e n a liz a c ió n p o r f a llo d e l s e g u n d o n iv e l d e c a c h é . El t ie m p o m e d io d e a c c e s o a m e m o r ia pa ra le c tu ra es (s u p o n ie n d o q u e lo s m o v im ie n to s d e in fo r m a c ió n e n tre s lo s n iv e le s d e la je r a r q u ía d e m e m o r ia im p lic a n u n t ie m p o d e s p re c ia b le ): W w (lectu ra ) =
pFu =
+ TFL1 p F L1 = 1 + 0 .0 5 ■p F L1
= tacierto L2 + TFL2 ' p F L2 — 12 + 0.1 • 9 0 = 21 nS
P o r lo q u e :
t MEM (lectu ra ) = 1 + 0.05 • p F Lf= 1 + 0 .0 5 - 2 1 = 2.05 ns Es d e c ir, la g a n a n c ia q u e se o b tie n e g ra c ia s a la in tro d u c c ió n d e u n s e g u n d o n iv e l d e m e m o ria c a c h ó es de 5 .5 /2 .0 5 = 2.68.
2 .4 .1 .2 .
P
o l ít ic a d e e v ip l a z a m ie n t o
Si en la m em o ria caché sólo se alm acenan unos d e term in ad o s bloques d e inform ación, ¿cualquier H o q u e d e d a to s puede alojarse en cu alq u ier m arco d e la m em oria caché? L a respuesta e s q u e d epende el tip o d e po lítica d e em plazam iento q u e se decid a im plem entar e n la m a n o ria caché. H ay tres tip o s d e em plazam iento: • Directo. A c a d a bloque le co rresp o n d e un único m arco d e caché y sólo puede alojarse e n este marco. • Asociativo. U n b lo q u e puede alojarse en cualquier m arco d e la m a n o ria caché. • Asociativo por conjuntos. L a m em oria caché se divide e n c o n ju n to s con u n núm ero determ in ad o d e m arcos p o r c o n ju n to (o vías). A u n d e te rm in ad o bloque le co rresp o n d e u n único co n ju n to , pero dentro d e él, puede alojarse en c u alq u ier m arco. E s decir, es u n a solución interm edia en tre los d o s tipos d e o n p la z a m ie n to anteriores.
E je m p lo 2 .3 E jem plo de las tres políticas de em plazam iento. S u p o n g a m o s q u e te n e m o s u n a m e m o ria c a c h ó m u y s e n c illa d e s ó lo c u a tro m a rc o s d e b lo q u e . V e a m o s d ó n d e se p o d ría u b ic a r el b lo q u e 5 d e m e m o ria p rin c ip a l en esta m e m o ria c a c h ó si es d ire c ta , a s o c ia tiv a o a s o c ia tiv a p o r c o n ju n to s d e 2 vías.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
En la fig u ra a p a re c e n s o m b re a d a s la s p o s ib le s u b ic a c io n e s p a ra el b lo q u e 5 d e n tr o d e la ca ch é . D ir e c ta
B lo q u e 5 m o d 4 m a r c o s -
1
A s o c ia tiv a
B lo q u e S m o d 2 c o n ju n t o s - 1
S e p u e d e o b s e rv a r q u e en el c a s o d e la ca c h ó d ire c ta , u n a se n c illa o p e ra c ió n d e m ó d u lo D IREC CIÓ N DE BLO Q U E m o d N Ú M E R O DE M A R C O S (5 m o d 4 = 1 en e s te c a s o ), n o s in d ic a en q u é m a r c o d e la c a c h ó d e b e u b ic a rs e el b lo q u e . Y esta es la ú n ic a p o s ib ilid a d d e e m p la z a m ie n to . S in e m b a rg o , e n el c a s o d e la m e m o ria a s o c ia tiv a , el b lo q u e 5 p u e d e u b ic a rs e en c u a lq u ie ra d e lo s c u a tro m a rc o s d is p o n ib le s . Por ú ltim o , en el c a s o d e la c a c h ó a s o c ia tiv a p o r c o n ju n to s d e 2 vía s, d e n u e v o u n a o p e ra c ió n d e m ó d u lo n o s in d ic a en q u é c o n ju n to d e b e u b ic a rs e el b lo q u e : D IREC CIÓN DE BLO Q U E m o d N Ú M E R O DE C O N JU N T O S (5 m o d 2 = 1 p a ra el e je m p lo ). D e n tro d e l c o n ju n to 1, el b lo q u e 5 p u e d e u b ic a rs e en c u a lq u ie ra d e lo s d o s m a rc o s d is p o n ib le s .
L as diferentes alternativas p a ra d em plazam iento en la m o n o n a caché llevan a diferentes interpretad o n e s d e la d ire c d ó n física d esde el p u n to d e vista d e e sta m em oria (figura 2.7). Según el tip o d e em p la zam iento d e la m o n o n a caché: • Directo. El índice indica el m arco q u e le co rresp o n d e a ese bloque d e m em oria. • Asociativo. N o existe este cam p o en la dirección, ya q u e el bloque puede alojarse en cualquier marco. • Asociativo por conjuntos. El índice indica el c o n ju n to q u e le corresponde a ese b loque d e m em o ria.
E je m p lo 2 .4 Ejem plo de las tres políticas de em plazam iento utilizando direcciones de m em oria. Si v o lv e m o s al e je m p lo 2.3, p o d e m o s re a liz a r la m is m a d is c u s ió n , p e ro u tiliz a n d o en e ste c a s o la d ire c c ió n fís ic a d e l b lo q u e 5 d e m e m o r ia p rin c ip a l.
2.
C O N C E PTO S B Á S IC O S DE M E M O R IA Y E/S
S u p o n g a m o s q u e la m e m o ria p rin c ip a l es d e 2 GB (231 B), q u e el ta m a ñ o d e p á g in a es d e 16 KB (2 14 B) y q u e el ta m a ñ o d e b lo q u e es d e 256 p a la b ra s (1 0 2 4 o 210B). E n to n c e s c u a lq u ie r d ire c c ió n q u e c o rre s p o n d a al b lo q u e 5 d e m e m o ria te n d rá el f o r m a to q u e se m u e s tra en la fig u ra .
§ ! MVei rmt uoar il a c o —o' 3
N ? P á g in a V i r t u a l
PO
x x x x x ••• x x x x x x x x x x x x
0 0 0 0 0 O O O O O O lO lx x x x x x x x x x
.......................................B B —
1 M e m o r ia V ir tu a l/P r in c ip a l
N ? M a rc o d e M P
1
0000000
PO O O O O O O O O O O O lO lx x x x x x x x x x
«--------------------- 1 7 b i t s --------------------- •}«---------------------------- 1 4 b i t s ----------------------------- *
-5 M e m o r ia S i. P r i n c i p a l / C a c h é
N a d e B lo q u e e n M P
BO
000000000000000000101
xxxxxxxxxx
- 2 1 b it s -
- 1 0 b its -
E T IQ U E T A
IN D IC E
BO
0000000000000000001
01
XXXXXXXXXX
1 9 b its
2 b it s
1 0 b its
D ir e c t a
Si la c a c h ó es d e e m p la z a m ie n to d ir e c to , al in te rp r e ta r la d ire c c ió n fís ic a d e s d e el p u n to d e v is ta d e la c a c h é , el ín d ic e será d e 2 b its (ya q u e h a y en la c a c h é 22 m a rc o s d ife re n te s ). Y d e l ín d ic e se d e d u c e q u e el b lo q u e 5 d e b e u b ic a rs e s ie m p re en el m a r c o 1 d e ca ch ó . En el c a s o d e la c a c h e a s o c ia tiv a , to d a la d ir e c c ió n d e b lo q u e es e tiq u e ta y n o h a y ín d ic e , y a q u e el b lo q u e p u e d e u b ic a rs e en c u a lq u ie r m a r c o d e la m e m o ria ca ch ó . Por ú ltim o , en el c a s o d e la m e m o ria a s o c ia tiv a p o r c o n ju n to s d e 2 vía s, el ín d ic e n e ce sita 1 b it (te n e m o s 2 1 c o n ju n to s d ife re n te s en la c a c h ó ). Y el v a lo r d e l ín d ic e n o s in d ic a q u e el b lo q u e 5 s e d e b e u b ic a r s ie m p re en u n m a rc o d e l c o n ju n to 1 d e la m e m o ria ca ch é .
IN DICE
Directa
Asociativa
p o r co n ju n to s L
ETIQ U ETA
ETIQ U E TA
BO
BO
J IN DICE
BO
F ig u r a 2 .7 I n te r p r e ta c ió n d e la d ir e c c ió n fís ic a d e s d e e l p u n to d e v is t a d e la m e m o r ia c a c h é .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
En c u a n to al rendim iento d e los d istin to s tipos d e em plazam iento, las m em orias c ach é d e m ayor asociatividad reducen los fallos p o r conflicto. Pero son m ás lentas, p orque c u a n to m ayor sea la asociativida d m ayor será la longitud d e las etiq u etas q u e deben alm acenarse y com pararse. Y m ás com paraciones deberán realizarse. Existen d o s reglas em píricas q u e se utilizan m ucho p a ra escoger la asociatividad d e la m em oria c a ché: • U n a caché asociativa p o r c o n ju n to s d e 8 vías (8 m arcos p o r conjunto) se co m p o rta , en c u a n to a la tasa d e fallos, igual q u e u n a m em oria com pletam ente asociativa. E s decir, no com pensa q u e las m em orias sean com p letam en te asociativas, ya q u e tienen los m ism os fallos q u e las m em orias a so ciativas p o r c o n ju n to s d e 8 vías pero son m ás lentas. • U n a caché d ire c ta d e tam a ñ o N tiene la m ism a ta sa d e fallos q u e u n a asociativa p o r co n ju n to s de 2 vías (2 m arcos p o r co n ju n to ) d e tam a ñ o N /2. Y los sim uladores son d e nuevo h erram ien tas m uy potentes p a ra to m a r este tip o d e decisión. 2 .4 .1 .3 .
P
o l ít ic a d e r e e m p l a z a m ie n t o
A dem ás d e d e c id ir la p o lítica d e e m p lazam ien to d e la m em o ria caché, tam b ién es necesario definir q u é o c u rre c u a n d o se p ro d u c e u n fallo. Si no se e n c u e n tra un d e te rm in a d o b lo q u e d e m e m o ria e n la caché, h a b rá q u e tra e rlo del siguiente nivel d e la je ra rq u ía d e m em o ria. Pero, ¿qué b lo q u e se reem plaza? En el caso d e u n a caché d irecta, no cabe n inguna d u d a , puesto q u e c a d a bloque sólo puede alojarse a i u n determ in ad o m arco. Pero en el caso d e m em orias co n u n a asociatividad mayor, el reem plazam iento puede hacerse con d istin to s tip o s d e políticas. E stas so n las m ás com unes: • Aleatoria. Se utiliza un g en erad o r d e núm eros aleatorios p a ra escoger el bloque q u e se reem plaza. • LRU (Least Recently Used). Se escoge el bloque q u e lleva m ás tiem po sin utilizarse. Así se m inim i za la probabilidad d e su stitu ir u n bloque q u e vaya a necesitarse en el futuro (siguiendo d principio de localidad tem poral). • FIFO (First In, First Out). Se reem plaza el b loque q u e lleva m ás tiem po en la caché. 2 .4 .1 .4 .
P
o l ít ic a d e e s c r it u r a
L as lecturas son m ucho m ás frecuentes q u e las escrituras en la m em oria caché, pero no hay q u e d es cu id ar estas ú ltim a s ya q u e suelen ser m ás costosas. L as escritu ras llevan m ás tiem po ya q u e no pueden solaparse con la co m p a ra ció n d e las etiquetas com o se hace c o n las lecturas. E n m uchos casos se recupera la inform ación d e un m arco determ inado de caché a n te s d e sab er si el bloque q u e e s tá u bicado en él es el q u e se e stá buscando. E sto sólo puede hacerse c o n operaciones d e lectura, ya q u e si finalm ente el bloque no es el adecuado, no se h a m odificado su contenido. J^ro u n a o p e ra d ó n d e escritu ra sólo puede hacerse a la com p aració n d e etiq u eta s d a com o resultado qu e el bloque u b icado en ese m arco es el q u e se e sta b a buscando; no se puede hacer trabajo e n paralelo. H ay d o s form as d e p la n te a r las escritu ras a i la m em oria caché: • Escritura Directa. C u ando se m odifica u n a p alab ra co n u n a in stru c d ó n d e alm acenam iento, se realiza la e sc ritu ra en el p rim er nivel d e caché y en el siguiente nivel d e la jerarq u ía. • R>st-Escritura. C u an d o se m odifica u n a p a lab ra sólo se h ace en el p rim er nivel de la m em oria c a ché. C u an d o este b loque m odificado sea reem plazado, se actu alizará d contenido del nivel siguien88
2.
C O N C E PTO S B Á S IC O S DE M E M O R IA Y E/S
te. P ara n o a ctu alizar la m em oria c o n c a d a reem plazam iento q u e se h aga (puede ser innecesario si en ese bloque n o se h a llevado a cab o ninguna escritura), suele utilizarse un bit q u e indica si el bloque q u e e stá en caché h a sido m odificado (sucio) y p o r lo ta n to debe actualizarse la m em oria, o n o (limpio). L a po lítica d e escritu ra d irecta g ara n tiz a q u e las diferentes copias d e u n a m ism a inform ación q u e hay en la je ra rq u ía d e m em oria se m antien en coherentes en to d o m om ento y adem ás es fácil d e im plem entar. f t r o la política d e p ost-escritura perm ite h acer escrituras consecutivas e n u n m ia ñ o bloque sin a c tu a lizar c a d a vez el siguiente nivel d e la je ra rq u ía , sólo se actualiza cu a n d o el bloque es reem plazado. E sto perm ite consum ir, p o r n o rm a general, m ucho m enos ancho de b a n d a del siguiente nivel d e la jerarq u ía, au n q u e im plica q u e d u ra n te u n tiem po las escrituras sólo están alm acenadas e n un único nivel d e la je rarquía, p o r lo q u e m an ten er la co herencia im plica com plicar el hardw are.
E je m p lo 2 .5 C om paración del ancho de banda de m ejora principal consum ido con las dos políticas de escritura. T e n e m o s u n p ro c e s a d o r c u y a fre c u e n c ia d e r e lo j es d e 2.5 G H z q u e rea liza una m e d ia d e 2 -107 a c c e s o s a m e m o ria p o r s e g u n d o . La je ra rq u ía d e m e m o ria está c o m p u e s ta p o r u n ú n ic o n iv e l d e m e m o ria ca c h ó u n ific a d a , c o n ta s a d e fa llo s d e l 12 % y c o n u n ta m a ñ o d e b lo q u e d e 16 p a la b ra s . En e s te s is te m a , en m e d ia , u n 70 % d e lo s a c c e s o s a m e m o r ia so n le c tu ra s y u n 3 0 % so n e s c ritu ra s . Si la m e m o ria c a c h é u tiliz a e s c ritu ra d ire c ta , p o d e m o s c a lc u la r el a n c h o d e b a n d a d e m e m o r ia p rin c ip a l c o n s u m id o h a c ie n d o la s s ig u ie n te s c o n s id e ra c io n e s : T ip o d e a cce so
A c c io n e s
T rá fic o c o n MP
A c ie r t o d e le c tu ra
L e c tu ra en la m e m o r ia ca ch ó .
0
Fallo de lectura
H a y q u e tr a e r 1 b lo q u e d e m e m o ria p rin c ip a l p a ra r e s o lv e r el fa llo . L e c tu ra en la m e m o r ia ca ch ó .
16 p a la b ra s
A c ie r t o d e e s c ritu ra
E s c ritu ra en la m e m o ria c a c h ó y en la m e m o ria p rin c ip a l (e s c ritu ra d ire c ta ).
1 p a la b ra
Fallo de escritura
H a y q u e tr a e r 1 b lo q u e d e m e m o ria p rin c ip a l p a ra r e s o lv e r el fa llo . E s c ritu ra en la m e m o ria c a c h é y en la m e m o ria p rin c ip a l (e s c ritu ra d ire c ta ).
17 p a la b ra s
Ftor lo ta n to el a n c h o d e b a n d a c o n s u m id o es:
A B MP = r e fe r e n c ia s a m e m o r ia p o r s e g u n d o • (% fa /lo s d e le c tu r a • 16 + % a c ie r to s d e e s c r itu r a • 1 + % fa //o s d e e sc ritu r a -1 7 ) = 2 • 107 • (0 .1 2 • 0.7 • 16 + 0 .8 8 • 0.3 • 1 + 0 .1 2 • 0 .3 • 17) = 4 .4 4 • 107p a la b r a s p o r s e g u n d o Si p o r el c o n tra r io la m e m o ria c a c h ó se d is e ñ a p a ra u tiliz a r una p o lític a d e p o s t-e s c ritu ra , te n ie n d o en c u e n ta q u e el 10% d e lo s b lo q u e s so n m o d ific a d o s m ie n tra s se e n c u e n tra n u b ic a d o s en la c a c h ó :
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Tipo de acceso
Acciones
Tráfico con MP
A cierto de lectura
L e ctu ra en la m e m o ria ca ch ó .
0
Fallo de lectura con reem plaza m iento de bloque lim pio (no ha sido m odificado m ientras estaba en m em oria cachó)
Hay q u e tr a e r 1 b lo q u e d e m e m o ria p rin c ip a l pa ra r e s o lv e r el fa llo . L e ctu ra en la m e m o ria ca ch ó .
16 p a la b ra s
Fallo de lectura con reem plaza m iento de bloque sucio (ha sido m odificado m ientras estaba en m em oria caché)
H a y q u e lle v a r el b lo q u e s u c io a m e m o ria p rin c ip a l p a ra a c tu a liz a r to d a s la s e s c ritu ra s q u e se h a b ía n h e c h o en m e m o ria ca ch é . Hay q u e tr a e r 1 b lo q u e d e m e m o ria p rin c ip a l pa ra r e s o lv e r el fa llo . L e ctu ra en la m e m o ria ca ch ó .
32 p a la b ra s
A cierto de escritura
E sc ritu ra en la m e m o r ia ca ch ó .
Fallo de escritura con reem plaza m iento de bloque lim pio (no ha sido m odificado m ientras estaba en m em oria caché)
Hay q u e tr a e r 1 b lo q u e d e m e m o ria p rin c ip a l pa ra r e s o lv e r el fa llo . E sc ritu ra en la m e m o r ia ca ch ó .
16 p a la b ra s
Fallo de escritura con reem plaza m iento de bloque sucio (ha sido m odificado m ientras estaba en m em oria caché)
H a y q u e lle v a r el b lo q u e s u c io a m e m o ria p rin c ip a l p a ra a c tu a liz a r to d a s la s e s c ritu ra s q u e se h a b ía n h e c h o en m e m o ria ca ch ó . Hay q u e tr a e r 1 b lo q u e d e m e m o ria p rin c ip a l pa ra r e s o lv e r el fa llo . E sc ritu ra en la m e m o r ia ca ch ó .
32 p a la b ra s
0
Es d e c ir, en el c a s o d e la p o s t-e s c ritu ra , la s le c tu ra s y la s e s c ritu ra s tie n e n el m is m o c o m p o r ta m ie n to re s p e c to al c o n s u m o d e a n c h o d e b a n d a d e m e m o ria p rin c ip a l. T e n e m o s :
A B mp = r e fe r e n c ia s a m e m o r ia p o r s e g u n d o • (% fa llo s c o n r e e m p la z a m ie n to d e b l o q u e lim p io • 16 + % fa //o s c o n r e e m p la z a m ie n to d e b l o q u e s u c io • 32) = 2 • 107 * (0 .1 2 • 0.9 • 16 + 0 .1 2 - 0 .1 -3 2 ) = 4 .2 2 • 10 1 p a la b r a s p o r s e g u n d o
E je m p lo 2 .6 Com paración del tie m p o m e dio de acceso a m em oria con las dos políticas de escritura. En el m is m o c a s o d e l e je m p lo a n te rio r, v a m o s a c a lc u la r lo s tie m p o s m e d io s d e a c c e s o a m e m o r ia co n c a d a u n a d e la s p o lític a s d e e s c ritu ra . S u p o n g a m o s p a ra e llo q u e el t ie m p o d e a c c e s o a la m e m o ria c a c h ó es de 4 n s , la la te n c ia d e a c c e s o a m e m o ria p rin c ip a l d e 8 5 n s y q u e tr a n s fe r ir una p a la b ra e n tre la m e m o ria p rin c ip a l y la m e m o ria c a c h ó s u p o n e 0 .5 n s ( t ^ J . En el c a s o d e la m e m o ria c a c h é c o n e s c ritu ra d ire c ta te n e m o s : B (i). A dem ás, la penalización p o r salto cu a n d o se a c ie rta la predicción es d e 0 ciclos, y cu a n d o se falla es d e 3 ciclos. 3.8.
Se ejecuta la siguiente secuencia d e código en un pro cesad o r de tipo M IP S q u e realiza predicción dinám ica d e saltos c o n u n a e stru c tu ra d e buffer d e predicción u n id a a un BTB: for (i=0;i+ + ;iD F
3/7 índice = 3 (1* Ubicación) índice = 7 (2* Ubicación)
i a
Acierto con txwno como en de una caché directa
Segundo marco en el que se busca (índice de 2* ubicación)
Ti Acierto con TF de una caché asociativa por conjuntos de 2 vías
FALLO -» Siguiente Nivel de la Jerarquía
F ig u r a 4 . 4 C a ch é p s e u d o a s o c ia tiv a .
E je m p lo 4 .3 Ejem plo de caché predictiva. C o m e n c e m o s a h o ra a in tr o d u c ir en la je ra rq u ía té c n ic a s q u e n o s p e rm ita n r e d u c ir la ta sa d e fa llo s d e la m e m o ria c a c h é . Hasta a h o ra n o n o s h a b ía m o s p re o c u p a d o p o r la o rg a n iz a c ió n d e la c a c h é q u e se in c lu ía en la je ra rq u ía de m e m o ria . S e tra ta d e u n a m e m o ria c o n e m p la z a m ie n to d ir e c to , y a s a b e m o s q u e c o n tie m p o d e a c c e s o d e 4 ns y ta s a d e fa llo s d e u n 12% . Esta m e m o ria p u e d e c o n v e rtir s e en u n a c a c h é p re d ic tiv a , d is e ñ á n d o la c o m o una m e m o ria a s o c ia tiv a p o r c o n ju n to s d e 4 v ía s. D e esta fo rm a , c u a n d o se b u s c a u n b lo q u e en la c a c h é , p r im e r o se b u s c a en u n m a rc o c o n c re to d e l c o n ju n to q u e le c o rre s p o n d e . Esta p re d ic c ió n se rea liza c o n lo s d o s b its ú ltim o s d e la e tiq u e ta (ju s to a n te s d e l ín d ic e ). La p re d ic c ió n a c ie rta en u n 6 0 % d e lo s ca so s, p o r lo q u e en to d o s e s to s ca s o s se rea liza u n a ú n ic a c o m p a ra c ió n d e e tiq u e ta q u e p e rm ite m a n te n e r el tie m p o d e a c c e s o d e 4 n s . En lo s c a s o s re s ta n te s , e s n e c e s a rio re a liz a r tr e s c o m p a ra c io n e s d e e tiq u e ta m á s, p o r lo q u e fin a lm e n te el tie m p o d e a c c e s o es d e 5 n s . P e ro g ra c ia s a e s te a u m e n to d e a s o c ia tiv id a d , q u e p e rm ite p a s a r d e u n a c a c h ó d ire c ta a u n a a s o c ia tiv a p o r c o n ju n to s d e 4 v ía s , la ta s a d e fa llo s se re d u c e a u n 9 % .
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
Ftor lo ta n to te n e m o s e x a c ta m e n te la m is m a p e n a liz a c ió n p o r f a llo q u e en el ú ltim o e je m p lo :
pF =
(1- T F c ) • t c v + T F c j • [latericiaMP + t bus) + % s u c io s • ((1 - TFBE) • tw/CBdo BE + TFBE • 16 •(la te n cia MP)) = = 0 .2 8 • 19 + 0 .7 2 • (85 + 0.5) + 0.1 • (0.95 • 15 + 0 .0 5 • 16 • 8 5) = 7 5 .1 0 ns
P e ro en e s te c a s o se m o d ific a n lo s tie m p o d e a c ie rto y la ta sa d e fa llo s , p o r lo q u e :
t MEM = tacertó + TF p F = (0 .6 • 4 + 0 .4 • 5) + 0 .0 9 • 7 5 .1 0 = 1 1 . 1 6 ns Esd e c ir, c o n s e g u im o s u n s p e e d u p d e 16.44 g ra c ia s a la u tiliz a c ió n d e la s té c n ic a s d e p a la b ra c rític a p r im e ro, d e fa llo s p rio r ita r io s , c a c h ó d e v íc tim a s y c a c h ó p re d ic tiv a (1 8 3 .5 2 /1 1 .1 6 = 1 6 .4 4 ).
E je m p lo 4 .4 Ejem plo de caché pseudoasociativa. En e s te e je m p lo v a m o s a u tiliz a r u n a c a c h ó p s e u d o a s o c ia tiv a en lu g a r d e u n a p re d ic tiv a . D e esta m a n e ra , c u a n d o se b u s c a u n b lo q u e en la c a c h ó , p r im e r o se b u s c a en u n m a rc o c o n c re to p o rq u e se c o m p o rta c o m o u n a c a c h ó d ire c ta . S i la ca c h ó a c ie rta , a q u í te rm in a la b ú s q u e d a y e s to o c u rre u n 8 8 % de la s ve ce s. S i fa lla , se in v ie rte n to d o s lo s b its d e l ín d ic e y se b u s c a en la lo c a liz a c ió n q u e in d ic a e ste ín d ic e in v e rtid o . Es d e c ir, h a y u n a s e g u n d a c o m p a ra c ió n d e e tiq u e ta p o rq u e e s p o s ib le u n a s e g u n d a u b ic a c ió n p a ra el b lo q u e d e n tr o d e la ca ch é . El tie m p o d e a c c e s o s ig u e s ie n d o d e 4 n s c u a n d o se rea liza u n a ú n ic a c o m p a ra c ió n (c o m o c u a n d o la ca c h ó es d ire c ta ). En lo s ca s o s re s ta n te s , es n e c e s a rio re a liz a r una c o m p a ra c ió n m á s , p o r lo q u e fin a lm e n te el tie m p o d e a c c e s o es d e 4 .5 n s . Pero g ra c ia s a e ste a u m e n to d e a s o c ia tiv id a d , q u e p e rm ite p a s a r d e una c a c h ó d ire c ta a u n a a s o c ia tiv a p o r c o n ju n to s d e 2 v ía s (h a y d o s u b ic a c io n e s p o s ib le s p a ra ca d a b lo q u e ), la ta sa d e fa llo s se re d u c e a u n 10% . Por lo ta n to te n e m o s e x a c ta m e n te la m is m a p e n a liz a c ió n p o r f a llo q u e en el ú lt im o e je m p lo :
p F = (1 - TF fy) • t c v + TFf y • [la ten cia MP + t bus) + % s u c io s • ((1 - TFBE) • t wlcad0 BE + TFBE • 16 • (la te n cia MP)) = = 0 .2 8 • 19 + 0 .7 2 • (85 + 0.5)
+ 0.1 • (0.95 • 15 + 0 .0 5 • 16 • 8 5) = 7 5 .1 0 ns
P e ro d e n u e v o se m o d ific a n lo s tie m p o s d e a c ie rto y la ta sa d e fa llo s , p o r lo q u e :
t MEM = t ^
+ TF • p F = (0.88 • 4 + 0 .1 2 • 4.5) + 0 .1 0 • 7 5 .1 0 = 1 1 .5 7 ns
Es d e c ir, c o n s e g u im o s u n s p e e d u p d e 15.86 g ra c ia s a la u tiliz a c ió n d e la s té c n ic a s d e p a la b ra c rític a p r im e ro , d e fa llo s p rio r ita r io s , c a c h ó d e v íc tim a s y c a c h ó p s e u d o a s o c ia tiv a (1 8 3 .5 2 /1 1 .5 7 = 15.86). C o m p a ra n d o e ste e je m p lo c o n el re a liz a d o p a ra la c a c h é p re d ic tiv a , se o b s e rv a q u e la ta sa d e fa llo s se m e jo ra en m a y o r m e d id a c o n la c a c h ó p re d ic tiv a q u e c o n la p s e u d o a s o c ia tiv a . E s to s e d e b e a q u e la ca c h é p re d ic tiv a a u m e n ta m á s la a s o c ia tiv id a d d e la c a c h ó y e s to re d u c e en m a y o r m e d id a lo s fa llo s p o r c o n flic to . Por o tro la d o , en el c a s o d e la c a c h ó p re d ic tiv a , el m a y o r n ú m e r o d e c o m p a ra c io n e s h a c e q u e el tie m p o d e a c c e s o a la c a c h ó a u m e n te m á s q u e pa ra la c a c h ó p s e u d o a s o c ia tiv a . A s í q u e se o b te n d rá m e jo r r e n d im ie n to c o n una a lte rn a tiv a u o tra d e p e n d ie n d o d e c ó m o se c o m p e n s e n las v a ria c io n e s d e e s to s d o s fa c to re s : tie m p o d e a c c e s o y ta sa d e fa llo s .
4 .1 . 2 . 3 .
T
é c n ic a s d e p r e b ú s q u e d a
E sta técnica consiste e n tra e r a la m o n o ria caché, o a un buffer cercano, bloques d e m o n o ria q u e to davía n o h a n sido referenciados p o r d procesador. Se tra ta d e tra e r a la m o n o ria caché, o a u n a e stru ctu ra cercana, los bloques q u e se predice q u e el p ro cesad o r va a necesitar antes d e q u e provoquen un fallo. C uan d o la prebúsqueda es p o r hardw are, su d e n im plem entarse técnicas d e prebúsqueda p o r fallo, d e m a n e ra q u e c a d a vez q u e se p roduce u n fallo, se busca el bloque q u e lo h a provocado y el siguiente (siguiendo el principio d e localidad e s p a d a l, e s probable q u e el pro cesad o r lo p id a a continuación).
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
í^ ro en algu n o s casos, p a ra evitar las m odificaciones q u e deben hacerse e n el hardw are p a ra im plem en tar la prebúsqueda, ésta se h ace p o r softw are, de m an era q u e es el co m p ilad o r o el propio d e s a b o lla d o r el encargado d e p redecir los bloques q u e van a referenciarse. Sea im p lem entada p o r hardw are o p o r softw are, esta técnica se b a sa en la utilización del an ch o de b an d a d e m em o ria q u e d e o tra m an e ra se desaprovecharía, pero si n o se im plem enta co rrectam ente puede interferir c o n la resolución d e los fallos y red u cir d rendim iento d e la je ra rq u ía d e m em oria, p o r lo ta n to hay q u e ser ex trem adam ente cu id ad o so s e n su im plem entación. En algu n o s casos se utilizan estru c tu ra s hardw are d en o m inadas buffets de prebúsqueda en las q u e se alm acenan los bloques prebuscados p a ra q u e no reem placen en la m em oria caché a bloques q u e el procesador sí h a solicitado realm ente.
4.1.3.
Reducción del tiempo de acceso
Con lo estu d iad o h a sta d m om ento acerca d e la organización d e u n a m em oria caché básica, sabem os que las cachés pequeñas y sencillas (con p o ca asociatividad y p o r lo tanto, con pocas com paraciones d e etiquetas e n c a d a acceso) son las m ás rápidas. Pero d e nuevo existen técnicas espeáficas p a ra m ejorar este aspecto concreto del rendim iento d e u n a m o n o ria caché. 4 .1 .3 .1 .
E v ita r
l
\
tr a d u c c ió n d e d ire c c io n e s v ir tu a le s a d ire c c io n e s fís ic a s
C uan d o el p rocesador realiza u n acceso a m em oria, es necesario tra d u d r la d ire c d ó n virtual q u e ge nera a u n a dirección física con la q u e acceder a la m em oria caché y a la m em oria p rin d p a l (en la figura 4.5 se m uestra u n ejem plo en el q u e la traducción se realiza co n un T L B y la m em oria virtual es paginada). DV
N .° P á g in a V irtu a l
PO
TLB
' i N .° M a ree
F ig u r a 4 . 5
M e m o r ia c a c h é a c c e d id a c o n d ir e c c io n e s fís ic a s .
P ir a a h o rrarse e s ta tra d u e d ó n , cuyo tiem po se sum a al tiem po d e acceso a la m em oria caché, pueden utilizarse m em orias caché d ireccionadas c o n las direcciones virtuales, sin el paso previo de traducción a d ire c d ó n física. L a traducción sólo se hace cu a n d o hay u n fallo q u e hace necesario p a ra su resolución un acceso a un nivel d e la m em oria q u e es accedido c o n direcciones físicas (figura 4.6).
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
M e m o r ia c a c h é a c c e d id a c o n d ir e c c io n e s v ir tu a le s .
E sta técnica p resen ta d o s inconvenientes fundam entales: • C uando se realiza un cam b io d e contexto (se p asa a ejecu tar un nuevo proceso), las direcciones virtuales se refieren a o tra s direcciones físicas, p o r lo q u e hay q u e b o rra r d contenido de la caché y co m en zar d esde cero. E sto no perm ite aprovechar óptim am ente el p rin d p io d e localidad e n al gunos casos. • Además, es posible q u e haya m ás d e u n a d ire c d ó n virtual q u e se refiera a la m ism a dirección física (aliaan g o colisión). E sto puede llevar a tener d o s co p ias d e la m ism a inform ación e n la c ach é y a problem as d e coherencia. E sto s p ro b le m a s tienen d iv e rsa s soluciones, ta n to h ard w are co m o softw are. D esd e e l p u n to de vista q u e m ás n o s in teresa en este libro, el h ardw are, las a lte rn a tiv a s m ás e x te n d id a s p a ra re d u cir los tiem p o s q u e se e m p le a n en la tra d u c c ió n d e d ireccio n es son soluciones in te rm e d ia s e n tre el acceso c o n d ireccio n es físicas y e l acceso c o n d irecciones virtuales, ta m b ié n lla m a d a s cach és d e dirección h íb rid a: • Memoria caché accedida con direcdones físicas pero realizando la traducdón de dirección en parale lo. C om o se puede o bservar en la figura 4.7, ya q u e las operaciones m ás frecuentes son las lecturas de m em oria, m ientras se h ace la trad u cció n d e dirección virtual a física, se puede e xtraer el índice directam ente d e la dirección v irtual. C o n este índice, p u ed e accederse a m em oria caché y leer to d a s las e tiq u e ta s y bloques d e los m arcos en los q u e po d ría ubicarse el bloque q u e se e stá buscando. C uan d o ya se h a trad u cid o la d ire c d ó n virtual a física, ya se tiene la e tiq u e ta del b loque buscado y s e puede seleccionar ese bloque d e e n tre los q u e se h ab ían leído o d e te c ta r q u e se h a producido un fallo. P a ra q u e se p u ed a utilizar e s ta técnica (figura 4.8), es necesario q u e p u ed a extraerse d índice directam ente d e la dirección virtual (tiene q u e e sta r den tro del Page O ffset (PO ), q u e es la p a rte de la dirección virtual q u e n o se m odifica al hacer la trad u cció n a dirección física) y q u e la operación en m em oria sea u n a lectura (obviam ente no se puede escribir e n m o n o ria y m odificar un contenido sin saber an tes si se tra ta del bloque adecuado).
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
N? P á g in a V ir tu a l
M
|
N9 M a r c o d e M P
PO
P
ETIQ
ET|
DATOS
A MP
-FALLO
1
ACIERTO
F ig u r a 4 . 7
M e m o r ia c a c h é a c c e d id a c o n d ir e c c io n e s fís ic a s p e r o r e a liz a n d o la t r a d u c c ió n d e d ir e c c ió n e n p a ra le lo .
N.° d e Página V irtu a l
E tiq u e ta
Page Off¡set
1 f .. 1 ln d lc e
1 B lo ck 1 O ffs e t
i
i
F ig u r a 4 . 8
C o r r e s p o n d e n c ia e n tre d ir e c c ió n v ir t u a l y fís ic a n e c e s a r ia p a ra p o d e r a p lic a r la té c n ic a d e tr a d u c c ió n e n p a ra le lo .
M e m o ria ca ch é a cce d id a co n d ireccio n e s virtu ales pero con etiq u etas fís ic a s (física m e n te acced i
Si n o cabe la p o sibilidad d e u tiliz ar la técnica a n te rio r p o rq u e d índice n o se p u ed e e x tra e r d e la dirección virtu al, se utiliza u n índice q u e provenga d e la dirección v irtu al. Sin em b arg o , p a ra e v ita r los p ro b lem a s a so ciad o s a las cachés accedidas con direcciones virtuales, p a r a e x tra e r la e tiq u e ta se sigue u tilizan d o la d irección física. P o r lo tan to esta a ltern ativ a es m ix ta y em p lea las d o s direcciones p a ra co m p leta r un acceso a m em o ria caché (figura 4.9). d a , pero virtu alm e n te in d ex ad a).
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
DV
____ /
N2 Página Virtual
PO
Caché
NS M a rc o d e M P
ETIQ JETA
PO
DATOS
¿n a W
MP
FALLO
DATOS
ACIERTO
F ig u r a 4 . 9
M e m o r ia c a c h é fís ic a m e n te a c c e d id a p e r o v ir tu a lm e n t e ¡ n d e x a d a .
E je m p lo 4 .5 Ejem plo del efecto de un TLB no ideal en el tie m p o m edio de acceso a m em oria con una caché accedida con direcciones físicas. H asta a h o ra n o h e m o s te n id o en cu e n ta en n in g ú n e je m p lo el tie m p o q u e se in v ie rte en tr a d u c ir la d ir e c c ió n v irtu a l g e n e ra d a p o r el p ro c e s a d o r a la d ire c c ió n fís ic a n e ce sa ria p a ra a c c e d e r a la m e m o ria c a c h ó . Es c o m o si h u b ié ra m o s s u p u e s to u n T L B id e a l q u e s ie m p re es ca p a z d e re a liz a r esta tr a d u c c ió n en u n tie m p o d e s p re c ia b le . En el e je m p lo d e u n n iv e l d e m e m o ria c a c h é q u e h e m o s v e n id o u tiliz a n d o en el c a p ítu lo 2 y en é s te es c o m o si h u b ié ra m o s s u p u e s to lo s ig u ie n te :
U con tw-w:
=
= tr
+ lacerto + T F • P F
0.
En e s te e je m p lo v a m o s a s e r a lg o m á s re a lis ta s y v a m o s a s u p o n e r q u e el T L B n o es id e a l, e s d e c ir, q u e en a lg u n a s o c a s io n e s n o p u e d e re a liz a r la tr a d u c c ió n y p o r lo ta n t o es n e c e s a rio r e c u r r ir a la m e m o ria p rin c ip a l pa ra o b te n e rla . S u p o n g a m o s q u e el T L B tie n e u n a ta sa d e fa llo s d e l 4 % , y q u e c u a n d o fa lla , el 9 0 % d e la s v e c e s basta co n u n a c c e s o a m e m o r ia p rin c ip a l m ie n tr a s q u e el 10% re s ta n te so n n e c e s a rio s d o s a c c e s o s p a ra o b te n e r la tra d u c c ió n . Y el a c c e s o al T L B se re a liz a en 1 ns. T e n ie n d o en c u e n ta e s to s d a to s , el tie m p o m e d io d e a c c e s o a m e m o r ia sería:
C on: Í d v -* d f —
^a c ce so t l b +
TF T L B • p F t l b
—
^
+ 0 .4 • p F j i b
—
1 + 0 .0 4
•
9 3 .5
—
4 .7 4 ns
p F nB = 0.9 • latericia MP + 0.1 • 2 • latericia MP = 0 .9 • 8 5 + 0.1 • 2 • 8 5 = 9 3 .5 ns P o r lo q u e en re a lid a d el tie m p o m e d io d e a c c e s o a m e m o r ia en el e je m p lo c o n p a la b ra c rític a p rim e ro , fa llo s p rio r ita r io s , c a c h ó d e v íc tim a s y c a c h é p s e u d o a s o c ia tiv a sería:
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
tMEM = tDV^ DF +
+ TF • p F = 4 .7 4 + (0 .8 5 • 4 + 0.15 • 4.5 ) + 0 .1 0 • 7 5 .1 0 = 16.32 ns
P o r e s o e s ta n im p o r ta n te a p lic a r té c n ic a s d e o p tim iz a c ió n q u e p e rm ita n r e d u c ir el im p a c to d e la tra d u c c ió n de d ir e c c ió n en el t ie m p o d e a c c e s o a m e m o ria .
E je m p lo 4 .6 Ejem plo del efecto de un TLB no ideal en el tie m p o m edio de acceso a m em oria con una caché accedida con direcciones virtuales. A u n q u e la m e m o ria c a c h ó u tilic e d ire c c io n e s v irtu a le s p a ra su a c c e s o , s i se es re a lis ta c o n el re n d im ie n to d e l TLB , é s te s ig u e te n ie n d o e fe c to en el t ie m p o m e d io d e a c c e s o a m e m o ria . S u p o n g a m o s e x a c ta m e n te el m is m o T L B q u e en el e je m p lo a n te r io r ( tie m p o d e a c c e s o d e 1 ns, ta s a de fa llo s d e l 4 % , y en lo s fa llo s , el 9 0 % d e la s ve c e s b a sta c o n u n a c c e s o a m e m o ria p rin c ip a l m ie n tra s q u e el 10% re s ta n te s o n n e c e s a rio s d o s a c c e s o s pa ra o b te n e r la tra d u c c ió n ). Si la c a c h ó es a c c e d id a c o n d ire c c io n e s v irtu a le s y a c ie rta , n o se lle g a a h a c e r la tr a d u c c ió n d e d ir e c c ió n v ir tu a l a fís ic a . Pero si la ca c h ó fa lla , h a y q u e h a c e r la tra d u c c ió n a d ire c c ió n fís ic a a n te s d e s a lir a la m e m o ria p r in c ip a l a r e s o lv e r el fa llo , p o r lo ta n to el r e n d im ie n to d e l T L B a fe c ta , en e ste c a s o , a la p e n a liz a c ió n p o r fa llo . El tie m p o m e d io d e a c c e s o a m e m o r ia sería en el e je m p lo co n p a la b ra c rític a p rim e ro , fa llo s p rio r ita r io s , c a c h ó d e v íc tim a s y c a c h ó p s e u d o a s o c ia tiv a : *MEM
= facierto + T F ’ p F
Y h a y q u e re c a lc u la r la p e n a liz a c ió n p o r fa llo te n ie n d o en cu e n ta el tie m p o q u e se ta rd a en tr a d u c ir de d ire c c ió n v ir tu a l a fís ic a :
P F = t DV_>DF + ( 1 " TFcv ) ' tcv + T F c v ' [latericiaMP +
+ % s u c io s • ((1 - TFBE) • twlcadoBE+ TFBE • 1 6 • [la
tericia v p )) = 0 .2 8 • 19 + 0 .7 2 • (85 + 0.5) + 0.1 • (0 .9 5 • 15 + 0 .0 5 • 16 • 8 5) = 7 9 .8 4 ns C on:
*DV->DF = txcesoTLB + TF nB ' p F nB = 4 .7 4 nS P o r lo que.
tMEM = tuerto + TF • p F = (0.85 • 4 + 0 .1 5 • 4.5) + 0 .1 0 • 7 9 .8 4 = 1 2 .0 6 ns En e s te c a s o , te n e r en c u e n ta q u e el T L B n o es id e a l e m p e o ra lig e ra m e n te el tie m p o d e a c c e s o a m e m o ria , p e ro n o ta n t o c o m o c o n u n a c a c h ó a cc e d id a c o n d ire c c io n e s fís ic a s , y a q u e el t ie m p o d e tr a d u c c ió n d e d ir e c c ió n s ó lo se s u fre c u a n d o h a y u n fa llo . S in e m b a rg o , y a se h a n c o m e n ta d o lo s p rin c ip a le s in c o n v e n ie n te s de a c c e d e r c o n d ire c c io n e s v irtu a le s a la m e m o r ia ca ch ó .
4. 1 . 3 . 2 .
C a c h é s s e g m e n ta d a s
L a técnica d e segm entación n o sólo se utiliza p a ra m ejorar el rendim iento d e los procesadores, sino tam bién d e o tro s co m p o n en tes d e la c o m p u ta d o ra com o puede ser la m em oria caché. C om o o c u rría co n el procesador, en realidad e sta técnica no reduce el tiem po d e acceso d e u n único acceso a m em oria, pero al perm itir so lap ar la ejecución d e diferentes accesos, reduce d tiem po m edio observado p o r el procesador. C ad a acceso p asa a realizarse en m ás d e u n ciclo de reloj, pero estos ciclos pueden ser m ás cortos. Y en c a d a u n o d e d io s se ejecuta u n a d e las etap as en las q u e puede dividirse el acceso a la m o n o ria caché: tra d u c d ó n d e d ire c d ó n virtual a física, decodificación y acceso a fila, d ecodificadón y acceso a colum na, com paración d e etiq u eta, etc.
4.
4. 1 . 3 . 3 .
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
C A C H É S D E TRA ZA S
E stá técnica d e optim ización es exclusiva d e cachés de instrucciones, y no sólo reduce el tiem po de acceso sino q u e tam bién reduce la ta s a d e fallos. En este tipo d e caché n o se alm acenan instrucciones individuales, sino q u e se alm acenan tra z a s co m pletas d e instrucciones. U n a tra z a no es m ás q u e u n a secuencia d e instrucciones en d o rd en en el q u e se predice q u e van a ser buscadas (esto incluye los saltos, las llam adas a procedim ientos ...). A m enudo se alm acenan diferentes secuencias p a ra un m ism o fragm ento de código, m ientras se van resolviendo las predicciones d e los saltos, p o r lo q u e e n estos casos se desaprovecha e sp a d o alm acenando instrucciones replicadas. Pero c a d a vez q u e se accede a la caché d e trazas se recupera u n co n junto d e instrucciones e n lu g ar de una so la (p o r eso se reduce d tiem po d e acceso). A dem ás, com o las instrucciones recuperadas e stá n en d o rd en en el q u e el p ro cesador las va a so lid ta r, se reduce la ta sa d e fallos. Y p o r últim o, se optim iza la utilización del espacio d e la caché ya q u e no se alm acenan en e lla in stru ed o n e s q u e se predice q u e no se van a ejecutar.
E je m p lo 4 .7 Diseño de una jerarquía de m em oria con dos niveles de caché (el p rim e r nivel de escritura directa y el segundo nivel de post-escritura) com pletam ente optim izada. S u p o n g a m o s a h o ra q u e te n e m o s el m is m o e je m p lo d e je ra rq u ía d e m e m o ria q u e en el c a p ítu lo 2, el e je m p lo 2.7. La c a c h ó d e n iv e l 1 tie n e u n ta m a ñ o d e b lo q u e d e 8 p a la b ra s , u n t ie m p o d e a c c e s o d e 1 n s y u n a ta s a de fa llo s d e l 5 % . La c a c h é d e n iv e l 2 tie n e un ta m a ñ o d e b lo q u e d e 16 p a la b ra s , u n t ie m p o d e a c c e s o d e 9 n s y una ta s a d e fa llo s d e l 9% . A d e m á s la c a c h ó d e n iv e l 1 u tiliz a e s c ritu ra d ire c ta y la c a c h ó d e n iv e l 2 u tiliz a p o s t-e s c ritu ra , c o n u n 26 % d e b lo q u e s q u e s o n m o d ific a d o s m ie n tra s e stá n u b ic a d o s en ella. La tra n s fe re n c ia d e u n a p a la b ra e n tre m e m o ria p rin c ip a l y la c a c h ó d e n iv e l 2 s u p o n e 0.5 n s y la tr a n s fe re n c ia d e u n a p a la b ra e n tre la m e m o r ia c a c h ó d e n iv e l 2 y la d e n iv e l 1 s u p o n e 0.1 ns. La la te n c ia d e a c c e s o a m e m o ria p rin c ip a l es d e 8 5 ns. C o n to d o s e s to s d a to s s a b ía m o s q u e :
tMEM = %0/e c tu r a • tMEM (le c tu ra ) + % e s c r itu r a • t MEM (e sc ritu r a ) = 0 .7 • 6 6 .6 9 + 0.3 • 7 5 .6 9 = 6 9 .3 9 ns Y e s te t ie m p o es in to le ra b le pa ra u n p ro c e s a d o r a c tu a l. Pero a h o ra q u e s a b e m o s c ó m o se a p lic a n la s d i fe re n te s té c n ic a s d e o p tim iz a c ió n d e m e m o ria c a c h ó , p o d e m o s v e r h a sta q u é p u n to n o s sería p o s ib le r e d u c ir e s te t ie m p o m e d io d e a cce so . V a m o s a in c o rp o r a r la s s ig u ie n te s m o d ific a c io n e s y o p tim iz a c io n e s a esta je ra rq u ía d e m e m o ria in ic ia l: • A ñ a d im o s u n b u ffe r d e e s c ritu ra p a ra el n iv e l 1 d e ca ch é . E ste b u ffe r p e rm ite re a liz a r la s e s c ritu ra s d ir e c ta s en u n t ie m p o d e 1.5 n s en u n 9 0 % d e la s o ca sio n e s. • A d e m á s el n iv e l 1 d e c a c h é se tr a n s fo rm a en u n a m e m o r ia q u e fu n c io n a s in a s ig n a c ió n en e s c ritu ra . • U tiliz a m o s la té c n ic a d e p a la b ra c rític a p r im e r o en la c a c h é d e n iv e l 1. • En el n iv e l 2 d e c a c h é , d a m o s p rio r id a d a lo s fa llo s c o n u n b u ffe r d e e s c ritu ra q u e p e rm ite v o lc a r lo s b lo q u e s s u c io s el 9 2 % d e la s v e c e s en u n tie m p o d e 18 ns. • T a m b ié n se a ñ a d e a e ste n iv e l una ca c h ó d e v íc tim a s q u e el 3 1 % d e la s o c a s io n e s p e rm ite r e s o lv e r lo s fa llo s en 16 ns. • S e re d u c e la ta sa d e f a llo s d e la c a c h é d e n iv e l 1 d e l 5 % al 4 % c o n v irtié n d o la en u n a c a c h é p s e u d o a s o c ia tiv a s in q u e e sto te n g a re p e rc u s io n e s s ig n ific a tiv a s en su tie m p o d e a cce so . • S e re d u c e la ta sa d e fa llo s d e l n iv e l 2 d e l 9 % al 7 % u tiliz a n d o pa ra e llo té c n ic a s d e p re b ú s q u e d a h a rd w a re .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
C o n t o d o e s to , te n e m o s :
Í mem [lectura) = tMEM [escritura) = (1 - T F n )
+
+ TFLÍ • p F n
(1 - TFBEJ • tBE1 + TFBE1 • t xigrroL2)
+ TFL1 • tL2
En a m b o s c a s o s la p e n a liz a c ió n p o r fa llo d e l n iv e l 1 es la m is m a , c o n la té c n ic a d e p a la b ra c rític a p rim e r o : P F L\ = ^¿2 + tbusL\L2
El t ie m p o m e d io d e a c c e s o a la c a c h ó d e n iv e l 2 (ya q u e c u a n d o la c a c h ó d e n iv e l 1 fa lla y se b u s c a el b lo q u e en la c a c h ó d e n iv e l 2 , ésta p u e d e a c e rta r o fa lla r), se c a lc u la d e la m is m a m a n e ra :
t¡.2 = tgcfgrtoL2 + FF 12 ' P FL2 Y c o m o la c a c h ó d e n iv e l 2 es d e p o s t-e s c ritu ra :
p F L2
= (1 “ TFcv) • tcv + TFc v '
16
• HatenciaMP) +
0 .2 6
• ((1 - TFBE2) • twlcad0 BE2 + TFBE2 • 16 • patenciaMP))
RDr lo ta n to :
p F L2 = (1 - 0 . 6 9 ) •16 + 0 .6 9 • 16 • 8 5 + 0 .2 6 • ((1 - 0.08) • 18 + 0 .0 8 • 16 • 8 5 ) = 9 7 5 .9 5 ns tL2 = 9 + 0 .0 7 • 9 7 5 .9 5 = 7 7 .3 2 ns p F n = 7 7 .3 2 + 0.1 = 7 7 .4 2 ns Y lo s tie m p o s m e d io s p ara le c tu ra y e s c ritu ra q u e d a n :
tMEM [lectura) = 1 + 0 .0 4 • 7 7 .4 2 = 4.1 ns tMEM[e sc ritu ra ) = (1 - 0 .04) (1 + (1 - 0 . 1 ) • 1.5 + 0.1 • 9) +
0.04 •7 7 .3 2 = 6.21 ns
En m e d ia , si d e n u e v o te n e m o s q u e u n 7 0 % d e lo s a cc e s o s so n le c tu ra s y u n 3 0 % so n e s c ritu ra s :
tMEM = % /e c tu r a • tMEM[Jectura) + % e sc ritu ra • tMEM[e sc ritu ra ) = 0 .7 • 4.1 + 0 .3 - 6 . 2 1 = 4 .7 3 ns E ste t ie m p o m e d io d e a c c e s o a m e m o r ia sí q u e es ra z o n a b le p a ra una a rq u ite c tu ra a c tu a l p e ro e s q u e co n to d a s la s té c n ic a s d e o p tim iz a c ió n a p lic a d a s s e ha c o n s e g u id o u n s p e e d u p d e ca si 15 re s p e c to d e l d is e ñ o sin o p tim iz a r (6 9 .3 9 /4 .7 3 = 14.67). A d e m á s h a y q u e te n e r en c u e n ta q u e e s te t ie m p o m e d io se ha c o n s e g u id o , d e m o m e n to , o p tim iz a n d o s ó lo la m e m o ria c a c h ó , p e ro q u e c u a lq u ie r o p tim iz a c ió n q u e p o d a m o s re a liz a r s o b re la m e m o ria p rin c ip a l (p ró x im a s e c c ió n ) in flu irá d ire c ta m e n te en la p e n a liz a c ió n p o r fa llo d e la c a c h ó d e n iv e l 2 y p e rm itirá r e d u c ir to d a v ía m á s e s te t ie m p o m e d io d e a cce so .
t u
Técnicas de optimización para la memoria principal
L a m em oria principal es el nivel d e la je ra rq u ía d e m em oria q u e se sitúa a contin u ació n d e la m em o ria caché. P or lo ta n to , se accederá a esta m em oria cu a n d o o cu rran fallos d e caché. Esto im plica q u e la la te n d a d e la m em oria principal afecta a la penalización p o r fallo d e la m em oria caché. Sin em bargo, la m ayor p a rte d e las técnicas d e optim ización d e m em oria principal van d irig id as a au m en tar su ancho d e b a n d a (q u e tam bién influye en la penalización p o r fallo) ya q u e resulta bastan te m ás sencillo q u e reducir la la te n d a , q u e d epende casi exclusivam ente d e la tecnología. Con la generalización d e las cachés m ultinivd y esta s técnicas q u e aum entan el ancho d e b a n d a d e m em oria p rin d p a l, se h a n com enzado a u tilizar bloques d e un tam a ñ o b a stan te m ayor e n la caché de nivel 2, lo q u e h a reducido su ta s a d e fallos considerablem ente.
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
En el capítulo 2 ya se estud iaro n las m ejoras q u e las diferentes tecnologías d e m em oria principal in trodu jero n c o n su ap arición. E sta sección se c e n tra exclusivam ente en las m ejoras q u e pueden conseguirse m ediante el diseño, to d a s d ía s rd a c io n a d a s c o n el ancho d e b an d a. H ay q u e ten er a i c u e n ta q u e la m ayor p a rte d e e sta s técnicas no sólo afectan al diseño d e la m o n o ria principal sino tam bién al diseño d e su co n tro lad o r, encargado del m apeo d e la dirección física y d e la planificación d e los accesos.
4.2.1. 4 .2 .1 .1 .
Incremento del ancho de banda M
e m o r ia p r in c ip a l c o n p a l a b r a e n s a n c h a d a
T radicionalm ente la je ra rq u ía d e m em oria c om pleta trab a ja con un ancho d e u n a palabra, ya q u e la m ayor p a rte d e los accesos a m em oria del p ro cesador son d e e sta longitud. Ptro a u m o ita n d o el ancho d e p ala b ra d e la m o n o ria p rin d p a l, p o r ejem plo a 2 o 4 palabras, se au m en tará el ancho d e b a n d a ya q u e e n c a d a acceso se p o d rá recuperar el doble o el cu ád ru p le de in form ación. E n la m ayor p a rte d e los casos, la caché d e nivel 1 perm anece con u n ancho d e u n a p a la b ra y es d resto d e la je ra rq u ía la q u e se o isa n c h a , ta n to las m em orias com o los buses q u e las interconectan (ejemplo con cu atro p alab ras d e ancho en la figura 4.10). D e e sta m an era b a sta c o n utilizar un m ultiplexor p a ra s d e c d o n a r las p alabras q u e p asan d e la zo n a e n san ch ad a d e la je ra rq u ía a la z o n a co n ancho de u n a palabra.
M e m o r ia P rin d p a l
F ig u r a 4 .1 0 M e m o r ia p r in c ip a l e n s a n c h a d a a 4 p a la b ra s .
El ancho d e b a n d a q u e se consigue si se en san ch a la je ra rq u ía d e m em oria a N palabras es N veces el que se tiene cu a n d o el ancho e s d e u n a p alab ra. El problem a de esta técnica es q u e encarece o io rm o n e n te los diseñ o s d ebido a su g ra n consum o d e á re a y d e p o te n d a . A dem ás, al en san ch ar las m em orias, éstas su d en o n p e o r a r su latencia. Así que, au n q u e esta técnica se s u d e utilizar com o refero icia del rendim ien to q u e sería deseable obtener, c asi nunca se utiliza en la práctica.
4 .2 .1 .2 .
M
e m o r ia p r in c ip a l e n t r e l a z a d a
D i e ste caso la m em oria se o rganiza o í bancos lógicos, norm alm ente d e u n a p alab ra d e ancho c a d a uno (ejem plo c o n cuatro b an co s e n la figura 4.11). Si se d ire c d o n a n varios bancos al m ism o tiem po, con u n a ú nica dirección, c a d a uno d e d io s p o d rá recuperar u n a p ala b ra (pero sólo se observa la la to ic ia u n a vez p o rq u e trab ajan en paralelo, el acceso se realiza sim ultáneam ente en to d o s los bancos). A to d o s los efectos es com o tener u n a m em oria c o n un a n cho m ayor d e u n a palabra, la principal d iferencia es q u e la tra n sfe re n d a d e las palab ras q u e se recuperan o í p a ra ld o se m ultiplexa en el tiem po p a ra co m p artir los recursos q u e siguen teniendo ancho d e p alab ra uno o itr e to d o s los bancos. P o r e jo n p lo , el bus d e m em oria sigue siendo d e u n a p alab ra d e ancho. El en trelazad o d e la inform ación, es d e d r, d reparto d e los d a to s en tre los diferentes b ancos lógicos, puede realizarse a d o s niveles:
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
F ig u r a 4 .1 1 M e m o r ia p r in c ip a l e n tre la z a d a c o n 4 b a n c o s .
• A bajo nivel (nivel de palabra). D irecciones consecutivas d e m em oria se alm acenan en b ancos c o n secutivos. • A alto nivel. D irecciones consecutivas d e m em oria se alm acenan en e l m ism o banco d e m em oria. C a á to d a s las m em orias utilizan el en trelazado a nivel d e palabra, p o rq u e consigue optim izar los accesos secuenciales a m em oria, q u e son los m ás frecuentes. D e e sta m anera, á N es el núm ero d e b ancos qu e co m p o n en la m em oria, c o n este tip o d e en trelazado c a d a p a la b ra se alm acena e n el banco d a d o p o r su dirección m ó d u lo N (figura 4.12).
F ig u r a 4 .1 2 E je m p lo d e e n tre la z a d o a b a jo n iv e l e n u n a m e m o r ia p r in c ip a l e n tre la z a d a c o n 4 b a n c o s .
U no d e los principales inconvenientes d e esta técnica es q u e las a rq u ite ctu ras actuales utilizan m uy pocos chips de m em oria (que c a d a vez tienen u n a c ap acid ad m ayor). E sto supone u n problem a cuando
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
se d esea im plem entar m o n o ria en trelazad a, ya q u e resulta m ucho m ás caro c rea r los diferentes bancos de m em oria. Además, o tro inconvoiiente d e la m em oria en trelazada es q u e cualquier am pliación d e m o n o ria re sulta m ás costosa. Y se d eb e ten er en c u e n ta q u e en el caso d e accesos no secuenciales d paralelism o q u e puede extraerse en los accesos a m em oria será m ucho m en o r q u e el planificado inidalm ente. Por últim o cab e d e sta c a r q u e p a r a o b to ie r el rendim iento ó ptim o de u n a m em oria o itre la z a d a, el núm ero d e bancos, N , d eb e ser realm ente elevado, ya q u e debe ser m ayor q u e la latencia d e c a d a u n o de d io s 01 dclo s. D e esta form a se pueden ir solap ando los tiem pos de dirección y transferencia d e d ato s p o r d bus, c o n las latencias d e los b an co s d e m em oria (ejo n p lo 4.8). C om o conclusión, a u n q u e con un o itr d a z a d o d e N bancos, el an ch o d e b a n d a de la m o n o ria debería ser N veces el ancho d e b a n d a q u e en u n a m o n o ria p rin d p a l d e ancho u n a palabra, en m edia la m ejora su d e ser y[N.
E je m p lo 4 .8 E je m p lo d e m e m o r i a e n t r e la z a d a c o n d i s t i n t a s c o n f i g u r a c i o n e s . S u p o n g a m o s q u e te n e m o s u n a m e m o r ia e n tre la z a d a c o n 8 b a n c o s d e m e m o r ia y q u e el t ie m p o d e d ire c c io n a m ie n to es 1 c ic lo ( td ir), la la te n c ia d e a c c e s o es d e 5 c ic lo s y el t ie m p o d e b u s es d e 1 c ic lo (tb u s). En e s te c a s o te n e m o s q u e N = 8 > la t e n c ia = 5 , v e a m o s c ó m o se c o m p o rta ría la m e m o ria : C ic lo 1 (td ir)
D ire c c io n a m ie n to d e la p rim e ra p a la b ra q u e el p ro c e s a d o r s o lic ita .
C ic lo s 2 -6 (la te n c ia )
L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo .
C ic lo s 7 -14 (8 v e c e s tb u s y en p a ra le lo , t d ir y la te n c ia )
T ra n s fe re n c ia d e la s 8 p a la b ra s re c u p e ra d a s p o r el bus. D ire c c io n a m ie n to d e la se g u n d a p a la b ra q u e el p ro c e s a d o r s o lic ita . L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo .
C ic lo s 1 5-22 (8 ve c e s tb u s y en p a ra le T ra n s fe re n c ia d e la s 8 p a la b ra s re c u p e ra d a s p o r el bus. lo , t d ir y la te n c ia ) D ire c c io n a m ie n to d e la te rc e ra p a la b ra q u e el p ro c e s a d o r s o lic ita . L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo . S u p o n g a m o s a h o ra q u e la la te n c ia d e a c c e s o a m e m o r ia e s d e 10 c ic lo s en lu g a r d e s e r d e 5 c ic lo s , es decir, s u p o n g a m o s q u e e s ta m o s en la s itu a c ió n c o n tra ria c o n N = 8 < la te n c ia = 1 0 : C ic lo 1 (td ir)
D ire c c io n a m ie n to d e la p rim e ra p a la b ra q u e el p ro c e s a d o r s o lic ita .
C ic lo s 2-11 (la te n c ia )
L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo .
C ic lo s 12-19 (tb u s y en p a ra le lo t d ir y p a rte d e la la te n c ia )
T ra n s fe re n c ia d e la s 8 p a la b ra s re c u p e ra d a s p o r el bus. D ire c c io n a m ie n to d e la se g u n d a p a la b ra q u e el p ro c e s a d o r so lic ita . L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo .
C iclo s hasta el 22 (p a rte de la la te n cia )
L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo .
C ic lo s 2 3-30 (tb u s y en p a ra le lo t d ir y p a rte d e la la te n c ia )
T ra n s fe re n c ia d e la s 8 p a la b ra s re c u p e ra d a s p o r el bus. D ire c c io n a m ie n to d e la te rc e ra p a la b ra q u e el p ro c e s a d o r s o lic ita . L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo .
C iclo s hasta el 33 (p a rte de la la te n cia )
L a te n cia d e a c c e s o d e lo s 8 b a n c o s e n tre la z a d o s en p a ra le lo .
S e o b s e rv a q u e en e ste ú lt im o c a s o se s u fre m u c h o m á s la p e n a liz a c ió n d e b id a a la s la te n c ia s d e a c c e s o a m e m o ria . D e a h í q u e en la s c o n fig u ra c io n e s c o n N c la te n c ia n o se p u e d a c o n s e g u ir el a n c h o d e b a n d a ó p tim o d e s e a d o c o n e s te t ip o d e té c n ic a d e a u m e n to d e p re s ta c io n e s .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
4 .2 .1 .3 .
C
a n a l e s d e m e m o r ia p r in c ip a l in d e p e n d ie n t e s
El elevado coste q u e im plica en san ch ar la m em oria principal y los inconvenientes q u e presenta la m em oria en trelazad a h a n obligado a p ro p o n e r nuevas técnicas d e optim ización del ancho d e b a n d a d e la m em oria principal. L a q u e m ás se h a extendido es la utilización d e canales d e m em oria independientes. E sta técnica es u n a generalización d e la m em oria en trelazad a. L a ú nica diferencia e stá en q u e c a d a b a n co d e m em oria e s com p letam en te independiente de los dem ás, es decir, c a d a u n o tiene su propio bus d e direcciones y d e d a to s y su propio co n tro lad o r. P o r ejem p lo , las tecn o lo g ías D u a l C h an n el o T h re e C h an n el q u e se e n c u e n tra n a c tu alm en te en la m ayor p a r te d e c o m p u ta d o re s p e rso n a les p erm ite n ten er d o s o tres b an c o s d e m e m o ria c o m p le ta m e n te in d ep en d ien tes resp ectiv am en te, a u m e n ta n d o así el a n ch o d e b a n d a en u n fa c to r 2 ó 3 respectivam ente.
M e m o r ia p r in c ip a l c o n d o s c a n a le s d e m e m o r ia in d e p e n d ie n te s .
E je m p lo 4 .9 C om paración de las diferentes técnicas de optim ización del ancho de banda de m em oria principal. S u p o n g a m o s u n a m e m o ria p rin c ip a l s in o p tim iz a r en la q u e el d ir e c c io n a m ie n to d e u n a p a la b ra s u p o n e 1 c ic lo d e r e lo j, la la te n c ia d e a c c e s o sean 100 c ic lo s y la tra n s fe re n c ia d e u n a p a la b ra p o r el b u s sea d e n u e v o d e 1 c ic lo . Para fa c ilita r la c o m p re n s ió n d e l e je m p lo , s u p o n g a m o s q u e en esta m e m o r ia n o es p o s ib le s o la p a r el d ire c c io n a m ie n to , c o n la la te n c ia d e a c c e s o o c o n la s tra n s fe re n c ia s . Si el ta m a ñ o d e b lo q u e d e la c a c h é d e n iv e l 2 e s d e 64 p a la b ra s , re c u p e ra r e ste b lo q u e d e m e m o ria p r in c i pal s u p o n d ría u n tie m p o :
taoqug = 6 4 • (1 + 100 + 1) = 6 5 2 8 c ic lo s Si d e c id im o s e n s a n c h a r la je ra rq u ía d e m e m o ria , p o r e je m p lo , a c u a tro p a la b ra s , e ste t ie m p o sería:
w
=
y
• ( 1 + 1 0 0 + 1 | = 1 6 3 2 c i c lo s
E ste c á lc u lo n o es m u y re a lis ta , y a q u e al e n s a n c h a r la je ra rq u ía d e m e m o ria , ta n t o la s ta re a s d e g e s tió n /m a n te n im ie n to c o m o el p r o p io h a rd w a re se c o m p lic a n , y e s to s u e le ra le n tiz a r su fu n c io n a m ie n to . P e ro a
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
e fe c to s d e e s tim a c ió n , s u p o n g a m o s q u e la s c o n s e c u e n c ia s d e l e n s a n c h a m ie n to n o so n m u y im p o rta n te s . En re a lid a d , y a s a b e m o s q u e el p rin c ip a l p ro b le m a d e esta o p tim iz a c ió n es q u e s u e le s e r im p ra c tic a b le d e b id o a su e le v a d o co ste . Si p ro b a m o s a u tiliz a r una m e m o r ia e n tre la z a d a co n c u a tro b a n c o s , te n e m o s :
t
b lo qu e
=—
4
- ( 1+ 100) + 6 4 - 1 = 1680 ciclo s
Esta s o lu c ió n , m u c h o m á s b a ra ta y a s e q u ib le q u e el e n s a n c h a m ie n to d e to d a la je ra rq u ía , c o n s ig u e un re n d im ie n to b a s ta n te s im ila r c o n c o s te s m u c h o m e n o re s . El p ro b le m a está en q u e y a h e m o s v is to q u e si el n ú m e r o d e b a n c o s es in fe r io r al n ú m e r o d e c ic lo s q u e se in v ie r te n en la la te n c ia d e a c c e s o , n o s e p u e d e a p ro v e c h a r al m á x im o . Por ú ltim o , p o d e m o s o p ta r p o r la s o lu c ió n d e c a n a le s d e m e m o ria in d e p e n d ie n te s . H o y en día p o d e m o s e n c o n tra rn o s o p c io n e s d e D u a l C h a n n e l o d e T h re e C h a n n e l:
tU o c u e
= Y
* bloque
■(1 + 1 0 0 + 1 ) = 3 2 6 4 c ic lo s
(1+ 1 0 0 + 1) = 2244 ciclo s
Y es esta ú ltim a a lte rn a tiv a la m á s u tiliz a d a d e b id o al c o m p r o m is o q u e o b tie n e e n tre c o s te , c o m p le jid a d y p re s ta c io n e s .
4 .2 .1 .4 .
M
e m o r ia p r in c ip a l s e g m e n t a d a
E sta técnica se aplica d e m an e ra m uy sim ilar q u e e n las m em orias caché, pero en este caso se utilizan todavía m ás e ta p a s d e segm entación, ya q u e se tra ta d e u n acceso bastan te m ás com plejo (m apeo de dirección física a ubicación en m em o ria principal, activación d e señales R A S y CA S, decodificación de direcciones d e fila y co lu m n a, etc). D epende c asi exclusivam ente d e q u e d co n tro lad o r d e m em oria soporte esta técnica, ya q u e al ser el encargado d e plan ificar los accesos a la m a n o ria principal, será tam b ién el principal encargado d e gestio n a r la tem porización d e las etapas, d e evitar posibles conflictos p o r recursos, etc.
ESI Técnicas de optimización conjunta para todos los niveles de la jerarquía: visión global de la jerarquía de memoria 4.3.1.
Soporte a las técnicas de optimización del procesador
U n a vez co m p ren d id as las técnicas d e o p tim iza d ó n d e la je ra rq u ía d e m em oria conviene p a ra rse a pen sar si son adecu ad as p a ra alim en tar d e instrucciones y d ato s a un procesador q u e incorpore las técni cas d e o p tim iz a d ó n estu d iad as e n el cap ítu lo 3 a u n ritm o suficiente. D i p rim er lugar, p a ra o b ten er el m áxim o rendim iento d e un procesador segm entado, es necesario q u e la m a n o ria c ach é sea no bloqueante. Además, p a ra realizar em isión m últiple d e instruedones, será necesario que, com o m ínim o, la m em oria caché d e instrucciones sea segm entada y/o m ultipuerto. T am bién po d ría utilizarse u n a caché d e trazas. Y adem ás, en d caso d e la ejecución especulativa, se deberán ignorar las excepciones q u e causen las referencias a m a n o ria c o n direcciones incorrectas, habituales cuando se utilizan esquem as d e especulad ó n m ínim am ente sofisticados.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Teniendo en c u e n ta estas consideraciones, y u n a vez vista la m ejora q u e se consigue en la je ra rq u ía de m em o ria básica in tro d u cid a en el capítulo 2 gracias a to d a s las técnicas d e optim ización estu d iad as en este capítulo, se puede concluir q u e es posible p a ra la je ra rq u ía de m em oria servir d e instrucciones y d ato s a un p ro cesad o r optim izado c o n las prestaciones requeridas.
4.3.2.
Almacenamiento local vs memoria caché
En alg u n as arq u itectu ras actuales se h a d ecidido d a r un p a so a trá s y no incluir m o n o ria caché den tro de la je ra rq u ía d e m em o ria sino u n nivel den o m inado norm alm en te d e alm acenam iento local, q u e no es m ás q u e un segundo n iv d d e b an co d e registros. L as a rq u itectu ras q u e se deciden p o r e s ta o p d ó n so n m ucho m ás com plicadas d e program ar, ya q u e exigen q u e d esde las aplicaciones se ordene carg ar a este alm acenam iento local, casi siem pre m ediante D M A d e bloques d e inform ación (en el o rden de m agnitud d e K B), la inform ación q u e d procesador necesita p a ra tra b a ja r en c a d a m om ento. El alm acenam iento local se e stá utilizando p a ra reducir la com plejidad del hardw are en sistem as q u e in duyen varios procesadores e n u n único chip. D e e sta m a n era el diseño es m ás sencillo (se evitan to d a s las tareas d e gestión d e acierto s y fallos d e la m em oria caché, las com paraciones d e etiquetas, etc) y se evi ta im plem entar pro to co lo s d e c o h e re n d a d e caché. A dem ás, los tiem pos d e acceso a un alm acenam iento local son m ás ráp id o s q u e a u n a m em oria caché, au n q u e obviam ente, se trasp a sa a los desarrolladores la responsabilidad d e q u e los d a to s q u e necesita el procesador estén en d alm acenam iento local. Por eso esta técnica se utiliza n o rm alm en te en procesadores d e propósito específico, a i los q u e las aplicadones son siem pre del m ism o tip o y es relativam ente sen d llo predecir los d ato s q u e tienen q u e llevarse al a lm a cenam iento local. E n u n p ro cesador d e p ro p ó sito general, prescindir de los niveles d e m o n o ria caché d e la je ra rq u ía y p reten d er q u e to d a s las aplicadones, del tipo q u e sean, predigan los d a to s q u e van a necesitar en este alm acenam iento local, llevaría a u n a deg rad ación im p o rta n te de este rendim iento. En la m ism a d ire c d ó n q u e los alm acenam ientos locales, se pueden en c o n tra r arq u itectu ras de p ro p ó sito específico q u e sí im plem entan m em oria caché pero q u e perm iten blo q u ear algunas zo n as de este nivel d e la je ra rq u ía (locking) p a ra q u e funcionen com o un alm acenam iento local. N o rm alm ente este bloqueo se realiza cu a n d o se tra b a ja intensivam ente c o n u n con ju n to d e bloques de la caché, ya q u e bloqueando esta z o n a d e la m o n o n a , se g ara n tiz a u n tiem po d e acceso m ás rápido y q u e ninguno d e esto s bloques se va a reem plazar m ientras el p ro cesador los necesita.
m
Técnicas de optimización para los buses de E/S L a expresión d d an ch o d e b a n d a d e u n bus q u e se estudió en el cap ítu lo 2 es: B W = ancho d e d atos • f n . ° d e transferencias p o r ciclo
A p a rtir d e e s ta expresión se intuye q u e cualquier optim ización q u e preten d a m ejorar d ancho de b an d a d e un bus d eb e ir o rien tad a a increm entar alguno d e esto s tres aspectos: el ancho de datos, la fre cuencia d e o peració n del bus o el núm ero d e transferencias p o r d clo . Se estu d ia rá a contin u ació n q u e ad em ás existen técnicas q u e perm iten m ejo rar los tres aspectos si m ultáneam ente.
4.4.1.
Ancho de datos y frecuencia de operación
Tradidonalm ente, d ancho d e d atos d e un bus viene determ inado por d número de líneas d e datos que incorpora (siempre hay señales d e control, d e reloj, etc, q u e no se utilizan para la transferenda de inform adón).
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
E n el c a p ítu lo 2 (sección 2.7) se se ñ aló q u e e ste a n c h o e s tá lim ita d o p o r las in te rfe re n c ia s q u e se p r o d u c e n e n tre u n a s lín e as y o tra s, e sp e c ia lm e n te a fre cu e n cia s d e o p e ra c ió n altas. P o r e ste m o tiv o e s d ifícil e n c o n tr a r b u se s c o n u n a n c h o d e d a to s p o r e n c im a d e 6 4 o 128 bits. D e h e ch o , la te n d e n c ia d e o p tim iz a c ió n a c tu a l e s la u tiliz a c ió n d e b u ses c o n u n a n c h o c a d a vez m en o r, c a s i serie en lu g a r d e p a ra le lo , y q u e u tilicen se ñ alizac ió n d iferen cial p a r a s o p o r ta r fre cu e n cia s d e fu n c io n a m ie n to m ayores. ¿E n q u é c o n siste e s ta té c n ic a d e o p tim iz a c ió n ? L o s b u se s tra d ic io n a le s d e d ic a n u n c o n d u c to r p a r a c a d a b it d e in fo rm a c ió n q u e se d e s e a tra n s m itir p o r el bus. P a r a s a b e r el v alo r lógico d e c a d a u n o d e lo s b its d e in fo rm a c ió n , se c o m p a r a el v alo r d e la te n sió n q u e lleva c a d a u n o d e lo s c o n d u c to re s c o n u n a tie rra g lo b a l. Sin em b a rg o , al tra b a ja r a fre cu e n cia s d e b u s elevadas, la te n sió n d e c a d a u n o d e lo s c o n d u c to re s p u ed e su frir flu c tu a c io n e s q u e h a g a n q u e v alo re s d e 1 lógico se ac ab e n in te rp re ta n d o p o r e r r o r c o m o u n 0 lógico, y viceversa. L a se ñ alizac ió n d iferen c ia l u tiliz a d o s c o n d u c to re s p a r a c a d a b it d e in fo rm a c ió n q u e se d e s e a tr a n s m itir p o r d bus. P a ra sa b e r el v alo r lógico d e c a d a u n o d e lo s b its d e in fo rm a c ió n , se c o m p a ra n la s te n sio nes d e lo s d o s c o n d u c to re s. D e e s ta m a n e ra , si ex isten in te r fe re n d a s o ru id o s q u e o rig in e n f lu c tu a d o n e s a i la s te n sio n e s d e los c o n d u c to re s, se rá n sim ila re s a i lo s d o s q u e se d e d ic a n a c a d a b it (siem p re u b ic a d o s p ró x im o s físic a m o ite ), p o r lo q u e d b u s se rá m u c h o m á s ro b u sto a n te el ru id o y se p o d r á tr a b a ja r a fre c u e n c ia s m u c h o m a y o re s sin p ro b lo n a s .
E je m p lo 4 .1 0 Ejem plo de optim ización de un bus m ediante la utilización de señalización diferencial. S u p o n g a m o s q u e se desea o p tim iz a r u n b u s c o n u n a n c h o d e d a to s d e 32 b its , q u e rea liza u n a tra n s fe r e n cia p o r c ic lo y c u y a fre c u e n c ia d e fu n c io n a m ie n to es d e 333 M H z. El a n c h o d e b a n d a o rig in a l d e e ste b u s es de:
B W = a n ch o d e d a to s - f - n ° d e transferencias p o r ciclo = 4 B • 333 M H z -1 = 1.3 G B/s El p ro b le m a q u e p re s e n ta e ste b u s es q u e se o b se rva q u e ta n to si se a u m e n ta el a n c h o d e d a to s c o m o si se a u m e n ta la fre c u e n c ia d e fu n c io n a m ie n to , c o m ie n z a n a a p a re c e r in te rfe re n c ia s e n tre la s lín e a s d e l bus. Para p o d e r e v ita r e sta s in te rfe re n c ia s se d e c id e u tiliz a r s e ñ a liza ció n d ife re n c ia l. En el b u s o rig in a l, ca d a una d e la s lín e a s lle v a u n a te n s ió n d e e n tre 0 y 5 V. L o s v a lo re s e n tre 0 y 1.5 V se in te rp re ta n c o m o O ló g ic o , y lo s v a lo re s e n tre 3.5 y 5 V se in te rp re ta n c o m o 1 ló g ic o (el re s to d e v a lo re s so n in d e te rm in a d o s ). S u p o n g a m o s q u e en el b u s o rig in a l se p ro d u c e u n a in te rfe re n c ia q u e re sta 0 .5 V a to d a s la s lín e a s d e l b u s, e n to n c e s : 3.8 V - 0.5 V = 3.3 V - In d e fin id o 4.0 V - 0.5 V = 3.5 V - 1 Lógico 0 V - 0.5 V = -0 .5 V - In d e fin id o 3.5 V - 0.5 V = 3.0 V - In d efin id o
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
En a lg u n a s lín e a s c o m e n z a ría n a a p a re c e r in d e te rm in a c io n e s . Pero si c o n v e rtim o s el b u s a s e ñ a liza ció n d ife re n c ia l, a u n q u e e x is ta u n a in te rfe re n c ia q u e re s te 0 .5 V a to d a s la s lín e a s , la in fo rm a c ió n q u e se tr a n s m ite p o r el b u s n o se c o rr o m p e :
En e s te c a s o , la s 32 lín e a s q u e se e m p le a b a n en el b u s o rig in a l pa ra tr a n s m itir 32 b its , a h o ra se e m p le a n p a ra t r a n s m itir 16 b its . Pero g ra c ia s a la m a y o r ro b u s te z fr e n te al ru id o , la fre c u e n c ia d e fu n c io n a m ie n to del b u s p u e d e a u m e n ta rs e h a sta 1.5 G Hz. A u n a fre c u e n c ia m a y o r n o d a ría t ie m p o a c o m p le ta r u n a tra n s fe re n c ia c o m p le ta p o r c ic lo d e re lo j, p o r e s o se d e c id e d e ja r e ste v a lo r p a ra la fre c u e n c ia . El a n c h o d e b a n d a d e l b u s o p tim iz a d o es:
B W = a n c h o d e d a to s - f -n .° d e tr a n s fe r e n c ia s p o r c ic lo = I B • 1.5 G H z - 1 = 3 G B /s
4.4.2.
Número de transferencias por ciclo
D u ra n te m u c h o s añ o s, y a q u e no se p o d ía a u m e n ta r d a n c h o d e b a n d a d e lo s b u se s in c re m e n ta n d o el a n c h o d e d a to s o la fre c u e n c ia d e b id o a los p ro b le m a s q u e g e n e ra b a n las in te rfe re n c ia s y la d isip a c ió n d e calor, la ú n ic a fo rm a d e o p tim iz a r el a n c h o d e b a n d a e r a m e jo ra r e n to d o lo p o sib le el m o d o d e o p e ra c ió n d el b u s y su s p ro to c o lo s d e tr a n s f e re n d a , sin c ro n iz a c ió n y a rb itra je p a r a q u e le d ie ra tie m p o a re a liz a r m á s d e u n a tr a n s f e re n d a d e in fo rm a c ió n p o r ciclo. f ó r a d i o se ap ro v ech an lo s fla n c o s d e s u b id a y d e b a ja d a d e la s se ñ ale s d e relo j, o se c o m b in a n v aria s señales d e reloj d esfa sad a s. C a si sie m p re se rea liza u n n ú m e ro d e tra n sfe re n c ia s p o r ciclo q u e sea p o te n c ia dedos.
E je m p lo 4 .1 1 Utilización de varias transferencias p o r ciclo para o ptim izar el ancho de banda de un bus. H a ce y a u n o s a ñ o s, el b u s e s tá n d a r pa ra la c o n e x ió n d e ta rje ta s g rá fic a s en p la c a s d e PC se d e n o m in a b a A G P S e tra ta b a d e un b u s b a s ta n te tr a d ic io n a l, c o n u n a fre c u e n c ia d e fu n c io n a m ie n to d e 66 M H z y u n a n c h o d e d a to s d e 32 b its . Las d ife re n te s v e rs io n e s d e e s te b u s fu e ro n m e jo r a n d o su s p re s ta c io n e s in c re m e n ta n d o s im p le m e n te el n ú m e ro d e tra n s fe re n c ia s d e in fo rm a c ió n p o r c ic lo , d e m a n e ra q u e se p a s ó d e l A G P in ic ia l al A G P 2 X (d o s tra n s fe re n c ia s p o r c ic lo ), al A G P 4 X (c u a tro tra n s fe re n c ia s p o r c ic lo ) y p o r ú ltim o , al A G P 8 X ( o c h o tra n s fe r e n c ia s p o r c ic lo ):
B W (A G P ) = a n c h o d e d a t o s • f • n .° d e tr a n s fe r e n c ia s p o r c ic lo = 4 5 • 6 6 M H z • 1 = 2 6 4 M B /s B W (A G P 2X ) = a n c h o d e d a t o s • f • n ,° d e tr a n s fe r e n c ia s p o r c ic lo = 4 5 - 6 6 M H z • 2 = 5 2 8 M B /s
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
B W (A G P 4 X ) = a n c h o d e d a t o s • f • n .° d e tr a n s fe r e n c ia s p o r c ic lo = 4 5 - 6 6 M H z • 4 = 1.05 G B /s B W [A G P 8X ) = a n c h o d e d a t o s • f • n .° d e tr a n s fe r e n c ia s p o r c ic lo = 4 5 - 6 6 M H z • 8 = 2.1 G 5 /s D e s p u é s d e esta ú ltim a v e rs ió n , la té c n ic a d e a u m e n ta r el n ú m e r o d e tra n s fe re n c ia s p o r c ic lo n o se p u d o u tiliz a r m á s y se c a m b ió el e s tá n d a r d e c o n e x ió n d e ta rje ta s g rá fic a s a PCI E x p re s s x1 6 , c o m o v e re m o s m á s a d e la n te , u n b u s q u e in c o rp o ra té c n ic a s d e o p tim iz a c ió n m á s s o fis tic a d a s .
4.4.3.
Utilización de protocolos de comunicaciones de alto rendimiento
L a s té c n ic a s d e o p tim iz a c ió n d e buses q u e se h a n im p u e sto en la a c tu a lid a d se b a s a n e n la u tiliza ció n d e p ro to c o lo s d e c o m u n ic a c ió n d e a lto re n d im ie n to . L o s buses d e E /S d e n tro d e u n a c o m p u ta d o r a c a d a vez se p are cen m á s a la s red e s d e c o m u n ic a c io n e s y se m a n e ja la m is m a te rm in o lo g ía : c o n e x ió n p u n to a p u n to , p a q u e te d e d a to s , sw itch. L a id e a p rin c ip a l e s e v ita r la se ñ alizació n d e c o n tro l, y u tiliz a r p ro to c o lo s d e re d d e n tro d e las a r q u i tectu ras, co d ific a n d o la in fo rm a c ió n d e c o n tro l ju n to c o n lo s d a to s, e n r u ta n d o lo s p a q u e te s re su lta n te s m e d ia n te sw itches d e s d e el o rig en h a s ta el d estin o . G a r o s e je m p lo s d e e s te tip o d e o p tim iz a c ió n so n b u ses c o m o P C I E x p re ss o H ip e rtra n s p o rte .
Caso
p r á c t ic o
4 .1 .
P C I E x p re ss.
Se tra ta d e una te c n o lo g ía d e c o n e x ió n p u n to a p u n to b a sa da en el a n tig u o b u s PCI q u e p e rm ite la m ín im a la te n c ia d e c o m u n ic a c io n e s en e n la c e s e n tre c h ip s . Está b a s a d a en u n o o v a rio s s w itc h e s d e n tr o d e l siste m a q u e a c tú a n c o m o c o n tro la d o re s d e to d o s lo s d is p o s itiv o s q u e u tiliz a n P C I-E xp re ss y q u e s e e n c a rg a n d e la g e s tió n d e lo s p a q u e te s q u e se u tiliz a n pa ra tr a n s fe r ir in fo rm a c ió n p o r el b u s.
El p r o to c o lo d e c o d ific a c ió n d e p a q u e te s q u e u tiliz a P C I-E xp re ss es s ín c ro n o , c o d ific a n d o la se ñ a l d e re lo j ju n to c o n lo s d a to s d e m a n e ra q u e se tra n s m ite n 10 b its d e in fo rm a c ió n p o r ca d a 8 d e d a to s . E x is te ta m b ié n un m o d o is ó c ro n o d e fin id o en el e s tá n d a r p a ra q u e se p u e d a fu n c io n a r a t ie m p o re a l, re s e rv a n d o u n a n c h o de b a n d a d e te r m in a d o p a ra el d is p o s itiv o q u e lo n e ce site .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
El e s tá n d a r s o p o rta c u a tro tip o s b á s ic o s d e p a q u e te s , lo s d e tra n s a c c ió n co n m e m o ria , tra n s a c c ió n d e E/S, c o n fig u ra c ió n y m e n s a je s (g e s tió n a va n za d a d e in te rru p c io n e s ). El a n c h o d e d a to s d e e ste b u s p u e d e s e r d e 1, 2, 4 , 8 , 12 o 16 b its , c o n u n c a n a l p a ra ca d a d ire c c ió n y se ñ a liz a c ió n d ife re n c ia l. De a h í la s v e rs io n e s PCI E x p re s s x 1 , x 2 , x 4 , x 8 , x 1 2 o x16, esta ú ltim a se ha c o n v e r tid o en el b u s e s tá n d a r p a ra c o n e x ió n d e ta rje ta s g rá fic a s en lo s PCs. P o r lo ta n to u n e n la c e PCI E x p re s s p u e d e s e r x 1 , x 2 , x 4 , x 8 , x 1 2 o x 1 6 se g ú n el n ú m e r o d e la ñ e s q u e lo c o m p o n g a n . U n la ñ e n o es m á s q u e el c o n ju n to d e 4 lín e a s, d o s en u n s e n tid o y d o s en el c o n tra r io (p o r q u e se u tiliz a s e ñ a liza ció n d ife re n c ia l y es u n b u s fu ll- d u p le x ) , q u e p e rm ite la tra n s m is ió n d e 1 b it en lo s d o s s e n tid o s al m is m o tie m p o . L o s d is p o s itiv o s P C I-E xp re ss n e g o c ia n co n el s w itc h c u á n to s c a n a le s o la ñ e s p o d rá n u tiliz a r p a ra su s c o m u n ic a c io n e s .
PCI-e x l
PCI-e x 2
S w itc h
La fre c u e n c ia d e fu n c io n a m ie n to d e e ste b u s es s ie m p re d e 2.5 GHz, p e ro la v e rs ió n 1.0 h a c e 0.8 tr a n s fe re n c ia s p o r c ic lo , y la 2.0, ju s to el d o b le , 1.6.
B W {PC ¡ E x p r e s s * 1 6 1.0) = a n c h o d e d a t o s • f • n .° d e tr a n s fe r e n c ia s p o r c ic lo = 2B • 2 .5 G H z • 0 .8 = = 4 G B /s en ca d a s e n tid o (p o r q u e es fu ll- d u p le x )
B W (P C I E x p r e s s x 1 6 2.0 ) = a n c h o d e d a t o s • f • n .° d e tr a n s fe r e n c ia s p o r c ic lo = 2B • 2 .5 G H z • 1.6 = = 8 G B /s en ca d a s e n tid o (p o r q u e es fu ll- d u p le x )
Caso
p r á c t ic o
4 .2 .
H ip e rtra n sp o rte .
T a m b ié n se tr a ta d e una te c n o lo g ía d e c o n e x ió n p u n to a p u n to q u e p e rm ite la m ín im a la te n c ia d e c o m u n i c a c io n e s en e n la ce s e n tre c h ip s , p e ro en e ste ca so , el e s tá n d a r está d is e ñ a d o c o m o u n p r o to c o lo d e c o n e x ió n u n iv e rs a l, q u e n o se lim ita a lo s b u s e s d e n tr o d e u n a c o m p u ta d o ra .
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
T a m b ié n está b a s a d o en u n o o v a rio s s w itc h e s d e n tr o d e l s is te m a q u e a c tú a n c o m o c o n tro la d o re s de to d o s lo s d is p o s itiv o s q u e u tiliz a n H ip e rtra n s p o rte y q u e se e n c a rg a n d e la g e s tió n d e lo s p a q u e te s q u e se u tiliz a n p a ra tr a n s fe r ir in fo rm a c ió n p o r el bus. D e n u e v o el p r o to c o lo d e c o d ific a c ió n d e p a q u e te s es s ín c ro n o , a u n q u e en e ste c a s o es m u c h o m á s e fi c ie n te q u e el q u e u tiliz a PCI E x p re s s (se re d u c e m u c h o la in fo rm a c ió n d e c o n tro l, se u tiliz a n m e n o s ca b e ce ra s, etc). El ta m a ñ o d e lo s p a q u e te s es s ie m p re u n m ú ltip lo d e 4 b y te s .
H IP E R T R A N S P O R T E
DATA 4B - 64B
H eader 8 B o 12B
Capa Enlace (transacción/datos) ----------- Capa F ís ic a --------------
P C I-E XP R E SS
I
FRAME
SN M uqUt m bnCe e r |I Header
4BD 4096B
|
ECRC
I’
LCRC
FRAME
Capa Transacclonal (12B o 16B da información de control) Capa Enlace de Datos (8B de información de control) - Capa F ís ic a ---------------------------------------El a n c h o d e d a to s d e e ste b u s p u e d e s e r d e 2, 4 , 8, 16 o 32 b its , co n u n ca n a l p a ra cada d ir e c c ió n y s e ñ a li z a c ió n d ife re n c ia l. La fre c u e n c ia d e fu n c io n a m ie n to varía e n tre 8 0 0 M Hz y 3.2 G Hz d e p e n d ie n d o d e la v e rs ió n , y s ie m p re se re a liza n d o s tra n s fe re n c ia s d e in fo rm a c ió n p o r c ic lo . E ste b u s se está u tiliz a n d o c o m o b u s d e l s is te m a y c o m o b u s d e m e m o r ia , n o s ó lo p a ra la c o n e x ió n de d is p o s itiv o s p e rifé ric o s c o m o PCI E x p re s s h a s ta el m o m e n to . U n e je m p lo tí p ic o d e a n c h o d e b a n d a p a ra b u s d e l s is te m a sería:
B W (H T v e r s ió n 3.0) = a n c h o d e d a t o s • f ■n .° d e tr a n s fe r e n c ia s p o r c ic lo = 4 B • 2.6 G H z • 2 = 2 0 .8 G B /s en ca d a s e n tid o (p o r q u e es fu ll- d u p le x )
E B il
Técnicas de optimización para los dispositivos de E/S
E sta se cc ió n se c e n tr a e n la o p tim iz a c ió n d e l d isc o d u r o y a q u e e s el d isp o sitiv o en el q u e resid e la m e m o ria v irtu a l, y p o r lo ta n to , su s o p tim iz a c io n e s a fe c ta rá n al re n d im ie n to d e la je r a r q u ía d e m e m o ria . E n c u a n to a las o p tim iz a c io n e s del re sto d e d isp o sitiv o s, al ig u al q u e e n el c a p ítu lo 2, el fu n c io n a m ie n to d e lo s p e rifé ric o s c o n c re to s e s c a p a b a d e lo s o b je tiv o s d e e s te lib ro , el e s tu d io d e la s o p tim iz a c io n e s específicas p a r a u n m o n ito r, u n a im p re so ra o u n c á m a ra d e vídeo, p o r p o n e r a lg u n o s ejem plos, e sc a p a n d e nuevo a la s in te n cio n es d e e s te libro.
4.5.1.
Optimización para los dispositivos de almacenamiento: RAID
U n R A I D e s un c o n ju n to d e d isc o s d u r o s tr a b a ja n d o e n p a ra le lo ( R e d u n d a n t A rra y o f In ex p en siv e D isks). S e tr a t a d e u n a so lu c ió n p a r a in c re m e n ta r el a n c h o d e b a n d a d e l sistem a d e a lm a c e n a m ie n to , y a q u e é ste p re s e n ta d m ism o p ro b le m a q u e la m e m o ria p r in d p a l: la laten c ia d e l sis te m a d e p e n d e f u n d a m e n ta lm e n te d e la te cn o lo g ía c o n la q u e e s tá fa b ric a d o , p o r e s o lo s e sfu e rz o s d e d ise ñ o d e b e n ir m á s o rie n ta d o s a m e jo ra r el a n c h o d e b a n d a .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
A d em á s e s ta so lu c ió n p e rm ite m e jo ra r el re n d im ie n to d e l sis te m a d e a lm a c e n a m ie n to d e s d e o tro s d o s p u n to s d e v ista: la d is p o n ib ilid a d y la to le ra n c ia a fallos, tre m e n d a m e n te im p o rta n te s e n m u ltitu d d e a rq u ite c tu ra s. ¿E n q u é c o n s iste u n R A I D ? L a id e a p rin c ip a l e s re p a rtir lo s d a to s e n tre d ife re n te s d isc o s d u r o s p a r a q u e p u e d a n ser ac c e d id o s e n p a ra le lo . E s ta té c n ic a se d e n o m in a strip p in g . I ^ r o así se d ism in u y e la fia b ilid a d d e l sistem a d e a lm a c e n a m ie n to , si se u tiliza n v a rio s d isc o s d u ro s, a u m e n ta la p ro b a b ilid a d d e q u e se p ro d u z c a u n fa llo en u n o d e ellos. P o r eso la té c n ic a d e strip p in g s u d e c o m b in a rs e c o n re d u n d a n c ia (c o m p le ta o m e d ia n te c ó d ig o s d e p a rid a d ). D e e s ta m a n e r a se tie n e to le ra n c ia a fallos, p o rq u e si hay u n e r r o r c o n u n d a to e n u n d e te rm in a d o d isco , ese m ism o d a to e s ta r á a lm a c e n a d o e n o tro /s d isc o /s o in fo rm a c ió n q u e p e rm ita re c u p e ra rlo . E l p ro b le m a e s q u e la in tro d u c c ió n d e la in fo rm a c ió n d e r e d u n d a n c ia c o m p lic a la g e s tió n d el R A I D y o c u p a esp ac io . E xisten d ife re n te s niveles d e R A I D d e p e n d ie n d o d e c ó m o se c o m b in e n y se u tilicen e s ta s d o s técnicas, d strip p in g y la r e d u n d a n d a , y a q u e p a r a d is e ñ a r u n R A I D h a y q u e to m a r d o s d e d s io n e s f u n d a m e n tales: • L a g ra n u la rid a d d e l strip p in g . Si es m u y fin a, u n acceso d e E /S sie m p re in v o lu c ra rá a to d o s lo s d iscos d e l R A ID . D e e s ta m a n e ra se a u m e n ta el a n c h o d e b a n d a p ero n o e s p o sib le h a c e r v aria s o p e ra cio n e s d e E /S e n p a r a ld o . Si e s m á s g ru esa, u n acceso p u e d e se r serv id o p o r u n ú n ic o d isc o y p o r lo ta n to , si el c o n tro la d o r d e l R A I D lo p erm ite, se p o d r á n h a c e r v ario s acce so s a d is c o en paralelo . • T ip o d e re d u n d a n c ia . S e p u e d e esco g e r la o p c ió n d el m irro rin g o r e d u n d a n c ia c o m p le ta , e s decir, te n e r u n a c o p ia c o m p le ta d e to d a la in fo rm a c ió n , o c o m o e s to e s d e m a s ia d o c o s to so , u tiliz a r có d ig o s d e p a r id a d . Y a d e m á s la in fo rm a c ió n d e re d u n d a n c ia p u e d e e s ta r lo c a liz a d a e n d isc o s c o n c re to s o d is trib u id a e n tre to d o s lo s d isco s. T en ien d o e n c u e n ta e s ta s decisio n es, se p u e d e n e n c o n tr a r lo s sig u ien tes niveles d e R A I D : • R A ID 0 . S e u tiliza sólo strip p in g (fig u ra 4 .1 4 ), e s decir, se r e p a rte la in fo rm a c ió n e n tre lo s d isc o s d u ro s q u e c o m p o n e n el R A ID , y la g ra n u la rid a d n o e s tá d e fin id a (el d is e ñ a d o r p u e d e d e c id ir si es fina o g ru esa ). U n a v e n ta ja d e e ste nivel es q u e p a r a d sis te m a o p e ra tiv o to d o s lo s d isc o s d u ro s q u e c o m p o n e n d R A I D ap arece n c o m o u n ú n ic o d isc o d u r o d e c a p a c id a d la s u m a d e to d o s ello s, lo q u e fa c ilita e n o rm e m e n te su gestió n . O b v ia m e n te la d e s v e n ta ja e s q u e n o h a y to le ra n c ia a fa llo s y si un d isc o falla, se p ie rd e n lo s d a to s q u e a lm a c e n a b a .
F ig u r a 4 . 1 4 R A ID 0.
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
• RAID 1. E s la so lu c ió n q u e p r o p o rc io n a to le ra n c ia a fallo s al R A I D 0 (fig u ra 4.1 5 ), y a q u e la m ita d d e los d isc o s se u tiliz a n c o m o d isc o s e s p g 'o d e la o t r a m ita d (re d u n d a n c ia c o n m irro rin g ). L a d e s v en taja e s q u e re s u lta u n a so lu c ió n m u y c a r a d e b id o a la g r a n c a n tid a d d e e s p a c io q u e se e m p le a en a lm a c e n a r la in fo rm a c ió n d e re d u n d a n c ia .
FlGURA 4 .1 5 R A ID 1.
• RAID 3 . P a r a re d u c ir el c o s te d e l R A I D 1, se u tiliz a o tr a s o lu c ió n q u e p ro p o rc io n e to le ra n c ia a folios al R A I D 0 sin n ec esid ad d e d u p lic a r d n ú m e ro d e d is c o s (fig u ra s 4.16 y 4.1 7 ). S im p le m en te se u tiliza u n d isc o d u ro e x tra p a r a a lm a c e n a r in fo rm a c ió n d e p a r id a d c a lc u la d a m e d ia n te el c ó d ig o d e H a m m in g . D i e ste nivel d e R A I D la g ra n u la rid a d d d strip p in g e s fin a, e s d e d r , se re p a rte la in fo rm ac ió n e n tre lo s d isc o s e n ta m a ñ o s d e b it o byte. L a d e s v e n ta ja es q u e c a d a v ez q u e se h a c e u n a e s c ritu ra e n u n d isco , h a y q u e leer to d o s lo s d e m á s p a r a c a lc u la r la p a r id a d y es c rib irla e n el d isco d e p a rid a d . • RAID 4. P a ra s u p e ra r e s te in c o n v en ie n te se u tiliza g ra n u la rid a d d e strip p in g g ru e sa (b lo q u e s d e in fo rm a c ió n d e ta m a ñ o m ayor, tip o sectores) y se ap ro v e c h a q u e n o e s n ec esario leer lo s d is c o s q u e no se h a n m o d ific ad o p a r a c a lc u la r la n uev a p a r id a d , b a s ta c o n su a n tig u o v a lo r y c o n lo s v alo res q u e se h a n m o d ific ad o (fig u ra s 4.16 y 4.18 ). • RAID 5. E s c o m o d R A I D 4 , p e ro la in fo rm a c ió n d e p a r id a d y a n o se a lm a c e n a e n u n d isc o d e d ic a d o a e s ta f u n d ó n , sin o q u e se re p a rte e n tre to d o s lo s d isc o s q u e c o m p o n e n el R A I D (figu-
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
ra 4.19). D e e s ta m an era se pu ed en realizar escrituras en paralelo p orque e n m uchos c aso s ya no h abrá riesgo estru ctu ral al actu alizar la p arid ad (siem pre y cu an d o el co n tro lad o r d d R A ID lo perm ita). • RAID 6. E s te nivel a ñ a d e al a n te rio r té c n ic a s d e d e te c c ió n y c o r r e c d ó n d e e rro re s P + Q , m á s c o m plejas q u e la p a r id a d a m p ie c a lc u la d a c o n H a m m in g d e m a n e r a q u e se p u e d e n c o rre g ir fallo s d e d o s d isc o s e n lu g a r d e u n o solo. A c a m b io , la in fo rm a c ió n d e p a r id a d o c u p a m á s esp acio . U n a ú ltim a d ec isió n q u e d e b e to m a rs e a i c u a n to al d ise ñ o d e u n R A I D e s tá r e la d o n a d a c o n la r e c u p e r a d ó n d e in fo rm a c ió n c u a n d o fa lla u n d isc o (o d o s e n d c a s o d e l R A I D 6). E x isten d o s tip o s d e rec u p eració n :
• O ff line. E l R A ID d e ja d e d a r se rv id o a las p e tic io n e s d e le c tu ra y e s c ritu ra m ie n tra s se re c u p e ra n los d a to s q u e se h a n p erd id o . P o r lo ta n to , to d o d a n c h o d e b a n d a e s tá c o m p le ta m e n te d isp o n ib le p a ra re a liz a r e s ta re c u p e ra c ió n . • On line. E l R A I D rese rv a u n a p a r te d d a n c h o d e b a n d a p a r a re a liz a r la re c u p e ra c ió n y el re sto se u tiliza p a r a seguir a te n d ie n d o a la s p e tid o n e s d e le c tu ra y e s c ritu ra . P o r lo ta n to , la fiab ilid ad d el sistem a d e a lm a c e n a m ie n to e s m ayor, pero ta m b ié n el tie m p o d e re c u p e ra c ió n e s m ayor.
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
R A ID 5.
E sta d ec isió n p u e d e lle g ar a se r im p o r ta n te p a r a d re n d im ie n to d el R A ID , y a q u e a d e m á s d e m e d ir las p re sta c io n e s o b te n id a s c o n la s m é tric a s y a m e n c io n a d a s, a n c h o d e b a n d a y la ten c ia , e n d c a so d e u n R A ID so n im p o rta n te s el tie m p o m e d io h a s ta fallo d e u n d isc o (M e a n T im e T o F a ilu r e o M T T F ) y el tio n p o m e d io h a s ta p é r d id a d e d a to s (M ea n T im e T o D a ta L o s s o M T T D L ).
E je m p lo 4 .1 2 Cálculo del MTTF y del M TTDL en un RAID 0. Se c o n e c ta a u n s is te m a u n R AID 0 d e 6 d is c o s SCSI d e 4 0 GB ca d a u n o . El tie m p o m e d io h a sta el f a llo (M e a n T im e T o F a ilu re , M T T F ) d e e s to s d is c o s e s d e 1.5 m illo n e s d e h o ra s. A d e m á s , si u n d is c o fa lla , la r e c u p e ra c ió n se p u e d e h a c e r o fflin e , e s d e c ir, el R AID d e ja d e fu n c io n a r hasta q u e el f a llo se c o r r ija , o se p u e d e h a c e r o n lin e , es d e cir, m ie n tr a s el s is te m a s ig u e a te n d ie n d o p e tic io n e s . Para h a c e r e s tim a c io n e s re s p e c to a lo s tie m p o s d e re c u p e ra c ió n , s e sa b e q u e el b u s es u n U ltra S C S I 320 c o n un a n c h o d e b a n d a to ta l d e 3 2 0 M B /s y q u e pa ra la re c u p e ra c ió n o n lin e s ó lo se d e ja u n 10 % d e l a n c h o d e b a n d a to ta l d e l b u s . C o n to d a esta in fo rm a c ió n p o d e m o s c a lc u la r q u e el tie m p o m e d io h a sta q u e se p ro d u z c a u n f a llo en el R AID e s de:
M TTF =
^ (1 dÍSCo) = 1-5 m / / W r f e / ) ° , a S = 250.000 horas N ú m e r o d e d is c o s 6
Ya q u e la p ro b a b ilid a d d e q u e fa lle n 6 d is c o s e s 6 v e c e s s u p e rio r a la p ro b a b ilid a d d e q u e fa lle u n ú n ic o d is c o . Por e s o el tie m p o m e d io h a sta f a llo d e l R A ID se o b tie n e d iv id ie n d o el t ie m p o m e d io d e u n ú n ic o d is c o e n tre 6. C o m o se tr a ta d e u n RAIDO en el q u e n o e x is te n in g ú n t ip o d e in fo rm a c ió n re d u n d a n te , en c u a n to fa lle un d is c o se p ie rd e n d a to s , p o r lo q u e el tie m p o m e d io h a sta p é rd id a d e d a to s c o in c id e c o n el tie m p o m e d io hasta fa llo d e d is c o :
M TT D L = M T T F = 2 5 0 .0 0 0 h o ra s Y en e s te c a s o n o e x is te re c u p e ra c ió n p o s ib le . S i fa lla u n d is c o , la in fo rm a c ió n q u e a lm a c e n a b a se p ie rd e y es im p o s ib le re a liz a r u n a re c u p e ra c ió n .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
E je m p lo 4 .1 3 Cálculo del MTTF y del M TTDL en un RAID 5. S u p o n g a m o s q u e c a m b ia m o s la o rg a n iz a c ió n d e l R AID d e l e je m p lo a n te r io r y lo c o n v e rtim o s en un R AID 5.
El t ie m p o m e d io h a sta f a llo d e d is c o n o c a m b ia re s p e c to d e l e je m p lo a n te rio r, p o rq u e s ó lo d e p e n d e del n ú m e r o y t ip o d e d is c o s q u e fo r m e n el R AID , n o d e su o rg a n iz a c ió n :
M I l h (1 d isco)
M TTF
1.5 m illo n e s d e h o ra s
= 250.000 horas
N ú m e r o d e d is c o s S in e m b a r g o en e ste c a s o , el t ie m p o m e d io h a sta p é rd id a d e d a to s es b a s ta n te in fe rio r al t ie m p o m e d io h asta f a llo d e d is c o : s ó lo se p ie rd e n d a to s si al fa lla r u n d is c o , m ie n tra s é ste se re c u p e ra a p a rtir d e la in fo rm a c ió n d e re d u n d a n c ia , fa lla u n s e g u n d o d is c o . H a y q u e re c o rd a r q u e c o n el t ip o d e c ó d ig o d e p a rid a d q u e se u tiliz a en u n R A ID 5, s ó lo se p u e d e re c u p e ra r u n fa llo , n o dos. Si la re c u p e ra c ió n tr a s el p rim e r fa llo se re a liz a d e m a n e ra o n lin e , el R AID s ig u e fu n c io n a n d o m ie n tr a s se re c u p e ra la in fo rm a c ió n d e l d is c o q u e ha fa lla d o , p o r lo q u e la re c u p e ra c ió n d e lo s 4 0 GB s ó lo p u e d e n u tiliz a r u n 10% d e l a n c h o d e b a n d a to ta l:
c a p a c id a d d e d isc o
4 0 GB
a n c h o d e b a n d a d e r e c u p e ra c ió n
0.1 • 320 M B /s
t re c u p e ra c ió n (on Une) =
=1250s
D u ra n te e s te tie m p o , el R AID está fu n c io n a n d o s ó lo c o n 5 d is c o s d u ro s , y el tie m p o q u e en m e d ia ta rd a un d is c o d e e n tre e s to s 5 en fa lla r es: =
M TT F Q d isc o )
= 1.5 m illo n e s d e h o r a s = ^
N ú m e r o d e d is c o s
^
^
5
Por lo ta n to la p ro b a b ilid a d d e q u e en lo s 1250 s q u e se ta rd a en re c u p e ra r el d is c o q u e ha fa lla d o , fa lle u n o d e lo s o tro s c in c o d is c o s q u e s ig u e n fu n c io n a n d o es:
p = t re c u p e ra c ió n (o n \\ne)/M TTF s = 1250 s /(3 0 0 .0 0 0 h o ra s • 36 0 0) s = 1.16 • 10~6 Ftor lo ta n to , el t ie m p o m e d io h a sta p é rd id a d e d a to s es:
M TTD L(on Une) =
M TT F
250.000 h o ra s
= 2 .1 6 - 1011 horas
1.16 •10-6 Si p o r el c o n tra r io la re c u p e ra c ió n tr a s el p rim e r f a llo se rea liza d e m a n e ra o f f lin e , la re c u p e ra c ió n e s m u c h o m á s rá p id a ya q u e tie n e t o d o el a n c h o d e b a n d a d is p o n ib le :
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
. c a p a c id a d d e d is c o 4 0 GB t re c u p e ra c ió n (o ff /m e ) = ------------------------------------------------------ = ------------------- = 125 s a n c h o d e b a n d a d e re c u p e ra c ió n 320 M B /s D u ra n te e s te tie m p o , el R AID está fu n c io n a n d o s ó lo c o n 5 d is c o s d u ro s , y el t ie m p o q u e en m e d ia ta rd a un d is c o d e e n tre e s to s 5 en fa lla r es: _
M T 7 F V disco)
= 1.5 m illo n e s d e h o r a s =
N ú m e r o d e d is c o s
5
^
Por lo ta n to la p ro b a b ilid a d d e q u e en lo s 125 s q u e se ta rd a en re c u p e ra r el d is c o q u e ha fa lla d o , fa lle u n o d e lo s o tro s c in c o d is c o s q u e s ig u e n fu n c io n a n d o es:
p = t re c u p e ra c ió n (o n \\ne)/M TTF s = 125 s/(3 0 0 .0 0 0 h o ra s • 3 600) s = 1.16 • 1 0 * R sr lo ta n to , el t ie m p o m e d io h a sta p é rd id a d e d a to s es: .. . M TT F 250.000 h o ra s « , Ai2u M TTDL [o n /m e ) = ---------- = -------------------------= 2 .1 6 -10 12 horas p 1.1 6*1 0~7 Es d e c ir, al h a c e r la re c u p e ra c ió n o f f lin e la r e c u p e ra c ió n e s m á s rá p id a , y e s to d is m in u y e la p ro b a b ilid a d de q u e o c u rra u n s e g u n d o fa llo m ie n tr a s se re c u p e ra el p rim e r o , lo q u e al f in a l se tr a d u c e en u n M T T D L , en e ste e je m p lo , u n o rd e n d e m a g n itu d m a yo r.
Técnicas de optimización para la gestión de E/S L a p rin c ip a l o p tim iz a c ió n q u e se in c o rp o ra a c tu a lm e n te e s la d e u n p ro c e sa d o r d e E /S , en el p ro p io d isp o sitiv o p eriféric o o en su in te rfa z, q u e h a g a q u e el p ro c e sa d o r n i s iq u ie ra in te rv en g a e n las fase s d e in ic ia liz a d ó n y fin aliza ció n d e la tra n s fe re n c ia d e E/S. P o r ta n to , e n e ste tip o d e g e s tió n o p tim iz a d a , ex iste u n p ro c e sa d o r c o n a u to n o m ía p ro p ia p a r a re a li z a r e s ta s fu n c io n e s sin n ec esid ad d e in te rv en ció n d el p ro c e sa d o r p rin c ip a l. E n m u c h o s caso s, e s te p r o c e sa d o r in cluso d is p o n d r á d e u n a m e m o ria o je r a r q u ía d e m e m o ria p ro p ia . Y p a r a su d ise ñ o se u tiliz a rá n el m ism o tip o d e té c n ic a s q u e se h a n e s tu d ia d o e n lo s c a p ítu lo s 1 y 3 d e e s te libro. O b v iam en te , n o es u n a so lu c ió n q u e se e s c o ja e n m u c h o s c a s o s d e b id o a su elev a d o p recio , p e ro en los c a so s c o n c re to s d e l sistem a g ráfico y d e l sis te m a d e co m u n ic a c io n e s, h a re su lta d o ser la ú n ic a té cn ic a d e o p tim iz a c ió n q u e c o n sig u e la s p re sta c io n e s ad e cu a d as. P or lo ta n to h oy en d ía se p ueden e n c o n tra r e n m u ltitu d d e a rq u ite c tu ra s u n p ro ce sad o r d e p ro p ó sito es pecífico d ed ica d o a las ta re a s d e E /S d d sistem a g ráfico (G P U o G ra p h ic P rocessing U n it) y u n p ro cesad o r d e p ro p ó sito espedfico d ed ica d o a las ta re a s d e E /S d d sistem a d e c o m u n ic a d o n e s (N P U o N etW ork P rocessing U nit), a m b o s d e sim ilares p re s ta d o n e s a la s d d p ro cesad o r p ero d ise ñ ad o s p a ra ta re a s m u ch o m ás co n c reta s y p o r lo ta n to c o n rep e rto rio s d e in s tru c d o n e s esp ed fico s p a ra d tip o d e a p lic a d ó n q u e d eb en ejecutar.
4.6.1.
Procesador para el sistema gráfico: CPU
M u ltitu d d e a p lica cio n es h o y en d ía exigen la g e n e r a d ó n d e g ráfico s 3 D a i tie m p o real (vid eo ju eg o s, h e rra m ie n ta s C A D , a m u la d o res, etc). L a r e a liz a d ó n d e la s ta re a s d e E /S n ec e sa ria s p a r a c o n s e g u ir la ca lid a d d e g ráfico s d e s e a d a e n tie m p o real c o n s u m iría d e m a sia d o s re c u rso s d e l p ro c e sa d o r d e p ro p ó sito g eneral p o r lo q u e h a c e a ñ o s se o p tó p o r u tiliz a r u n p ro c e s a d o r específico p a r a la rea liza ció n d e e s ta s tareas, la G P U .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
E n a rq u ite c tu ra s q u e u tiliza n e ste tip o d e p ro c e sa d o r, la C P U en v ía p rim itiv a s al p ro c e sa d o r g ráfico p a ra q u e p ro ce se los d a to s q u e d e sc rib e n la e s c e n a 3 D q u e se d e s e a m o s tra r e n el d isp la y o m o n ito r. E s ta s p rim itiv as suelen se r lla m a d a s a u n a A P I p a r a sim p lifica r la p ro g ra m a c ió n d e la s aplicacio n es. L o s d a to s q u e d e sc rib e n la e sce n a 3 D re p re se n ta n la esce n a q u e se d e b e g e n e ra r d e s d e d ife re n te s p u n to s d e v ista: s u g e o m e tría , la s fu e n te s d e lu z , lo s m ateriales, la s te x tu ras, la p o sic ió n d e la c á m a ra , etc. N o rm a lm e n te la G P U c o m e n z a rá a tr a b a ja r c o n e s to s d a to s e n u n a p rim e ra e ta p a d e G e o m e tría , d e n o m in a d a así p o r q u e se tr a b a ja c a si sie m p re c o n triá n g u lo s y c o n su s v értices (se su ele d e n o m in a r v ertex a u n v értice d e un triá n g u lo q u e a d e m á s d e la in fo rm a c ió n d e su p o sic ió n 3 D su ele in c lu ir in fo rm a c ió n d e n o rm ales, c o lo r y te x tu ra s). E n e s ta p rim e ra e ta p a se aplican o p e ra c io n e s g e o m é tric a s a lo s d a to s d e e n tr a d a seg ú n la s p rim itiv a s q u e llegan d e la C P U . E s ta s o p e ra c io n e s p u ed e n ser m over, r o ta r y p ro y e c ta r o b je to s, m o v e r la c á m a ra , ilu m in a r o b je to s, ig n o r a r lo s o b je to s q u e e s tá n fu e r a d e la e s c e n a se g ú n d p u n to d e v ista, etc. A c o n tin u a c ió n se suele p ro d u c ir u n a e ta p a d e R a ste riz a c ió n , e n la q u e se c o n v ie rte la sa lid a d e las o p e r a d o n e s g e o m é tric a s e n u n a im agen 2 D fo rm a d a p o r fra g m e n to s d iscreto s. D esp u é s se p a s a a la e ta p a d e F ra g m en to s, e n la se rea liza to d o el tra b a jo en d o s d im e n sio n e s, se a p lica la m a y o r p a r te d e la s te x tu ra s y se re a liz a la in te r p o la d ó n d e l co lo r. P o r últim o , el re n d e riz a d o se o c u p a d e h a c e r el te st d e p ro fu n d id a d p a r a v er q u é fra g m e n to s so n visibles y p a r a c a lc u la r lo s p íxeles q u e fo rm a r á n la im ag en final e n el d isplay. L a s G P U s a c tu a le s in c o rp o ra n p rá c tic a m e n te to d a s las té cn ic as d e d ise ñ o d e p ro c e sa d o re s q u e se h a n e s tu d ia d o p a r a la C P U , y a q u e si n o se ría im p o sib le re a liz a r to d a s e s ta s ta re a s e n tie m p o re a l. Pero las ap lica n te n ie n d o e n c u e n ta las c a ra c te rístic a s c o n c re ta s d e l tra b a jo q u e rea liza n , y a q u e en e ste ca so , n o se tr a t a d e u n p ro c e sa d o r q u e d e b a ser c a p a z d e e je c u ta r c u a lq u ie r ap lica ció n , só lo d e b e se r c a p a z d e e je c u ta r c ie rta s ta re a s c o n c re ta s a i la s q u e el p ara lelism o d e d a to s e s m u y h a b itu a l. A dem ás, la s G P U s a c tu a le s son p ro g ra m ab les, a u n q u e d e nuevo su m o d e lo d e p ro g ra m a c ió n d ifiere lig e ram e n te del d e la s C P U s d e b id o a la especificid ad d e s u s aplicaciones.
Caso
p r á c t ic o
4 .3 .
G P U s de N V id ia .
En la fig u ra se m u e s tra el e sq u e m a fu n c io n a l d e l q u e se p a rte p ara d is e ñ a r la s G PU s d e la se rie 6 d e N V idia.
MEMORIA GRÁFICA
C o m o se p u e d e o b se rva r, se tr a ta d e u n d ia g ra m a d e b lo q u e s q u e re s u m e la s e ta p a s d e l c a u c e g rá fic o c lá s ic o q u e a c a b a m o s d e e stu d ia r. L o m á s d e s ta c a b le es q u e se e s p e c ific a d e s d e u n p rin c ip io q u e el h a rd w a re q u e se e n c a rg a d e la e ta p a d e G e o m e tría y d e la e ta p a d e p ro c e s a m ie n to d e F ra g m e n to s y T e xtu ra s, d e b e ser p ro g ra m a b le .
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
E ste e s q u e m a fu n c io n a l se ¡m p le m e n ta c o n la a rq u ite c tu ra q u e se m u e s tra en la s ig u ie n te fig u ra .
Procesam iento d e V értices
P rocesam iento de Texturas y Fragm enos
R enderización
S e p u e d e o b s e rv a r q u e el d is e ñ o d e la GPU s e b a sa en d o s t ip o s d e m ó d u lo s p ro g ra m a b le s : lo s p ro c e s a d o re s d e v é rtic e s (en la e ta p a d e P ro c e s a m ie n to d e V ó rtic e s ) y lo s p ro c e s a d o re s d e F ra g m e n to s (en la etapa de P ro c e s a m ie n to d e T e x tu ra s y F ra g m e n to s ). El re s to d e l h a rd w a re está d is e ñ a d o p a ra re a liz a r s ie m p re la s m is m a s ta re a s . A d e m á s se o b s e rv a q u e la je ra rq u ía d e m e m o ria d e la G PU in c lu y e d o s m e m o r ia s c a c h ó , la d e te x tu ra s y el Z -b u ffe r q u e se u tiliza d u ra n te la re n d e riz a c ió n , y u n a m e m o r ia D R A M q u e es el e q u iv a le n te a su m e m o ria p rin c ip a l (se s u e le d e n o m in a r m e m o ria g rá fic a ). En la s e rie 6 d e N V id ia lo s p ro c e s a d o re s d e v é rtic e s p u e d e n a c c e d e r a la c a c h ó d e te x tu ra s en a lg u n o s ca so s c o n c re to s . A u n q u e lo n o rm a l es q u e se a cce d a d e s d e lo s p ro c e s a d o re s d e fr a g m e n to s . En e ste c a s o se h a ce a tr a v é s d e un h a rd w a re e s p e c ífic o q u e p re p a ra lo s d a to s y lo s p o n e en el f o r m a to a d e c u a d o . Los p ro c e s a d o re s d e v ó rtic e s y fr a g m e n to s tie n e n re p e r to rio s d e in s tru c c io n e s d ife re n te s . A m b o s tra b a ja n c o n tip o s d e d a to s en c o m a flo ta n te (16 , 24 o 32 b its ), d e m a n e ra q u e lo s n ú m e r o s e n te ro s se s im u la n . El h a rd w a re n o p ro g ra m a b le p u e d e fu n c io n a r c o n e s to s m is m o s tip o s o c o n c o m a fija . Los se is p ro c e s a d o re s d e v é rtic e s so n c o m p le ta m e n te in d e p e n d ie n te s . Cada u n o d e e llo s tie n e la s ig u ie n te a rq u ite c tu ra :
A c c e so a la caché de te x tu r a s
C ull/C lip/S etup
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
En la G PU se a p lic a un p ro g ra m a a ca d a v ó rtic e d e e n tra d a : tra n s fo rm a c io n e s , s k in n in g , e tc. Para e llo se e m p le a n d o s u n id a d e s fu n c io n a le s en c o m a flo ta n te , u n a e sca la r y o tra v e c to ria l. Y si es n e c e s a rio , s e a cce d e a la c a c h ó d e te x tu ra s . En la e je c u c ió n d e e s to s p ro g ra m a s se h a ce u n tr a ta m ie n to m u y s e n c illo d e la s in s tr u c c io n e s d e s a lto . A c o n tin u a c ió n , se e n s a m b la n p rim itiv a s a p a r tir d e lo s v ó rtic e s (p u n to s , lín e a s y tr iá n g u lo s ) y se e lim in a n la s p rim itiv a s q u e n o se rá n v is ib le s te n ie n d o en c u e n ta el p u n to d e v is ta . En c u a n to a la a rq u ite c tu ra d e lo s p ro c e s a d o re s d e fr a g m e n to s : T exture D ata
Input F ragm ent Data
F ra g m en t Data D e n u e v o se a p lic a u n p ro g ra m a a ca d a fr a g m e n to d e e n tra d a . En e ste c a s o lo s p ro c e s a d o re s n o so n in d e p e n d ie n te s , y a q u e se a g ru p a n d e c u a tro en c u a tro p a ra p o d e r a p ro v e c h a r la lo c a lid a d e sp a cia l tra b a ja n d o c o n lo s p íx e le s p o te n c ia le s en 2 x 2. T o d o s lo s p ro c e s a d o re s d e fr a g m e n to s in c o rp o ra n u n a c a c h ó d e n iv e l 1 d e te x tu ra s y u n m ó d u lo p a ra el tr a ta m ie n to d e lo s s a lto s , a d e m á s d e d o s u n id a d e s fu n c io n a le s en FP q u e p u e d e n tr a b a ja r en p a ra le lo , o tra u n id a d fu n c io n a l en FP d is e ñ a d a e s p e c ífic a m e n te p a ra la s o p e ra c io n e s típ ic a s c o n te x tu ra s y u n a A LU , ta m b ié n e s p e c ífic a pa ra c ie r to t ip o d e o p e ra c io n e s m u y c o m u n e s en esta e ta p a d e l ca u ce . C u a n d o N V id ia d is e ñ a la s G PU s d e su n u e v a se rie , la s e rie 7, n o se rea liza un c a m b io e s p e c ta c u la r en la a rq u ite c tu ra . S im p le m e n te se a ñ a d e n 2 n u e v o s p ro c e s a d o re s d e v ó rtic e s y 2 (x4) n u e v o s p ro c e s a d o re s de fra g m e n to s . A d e m á s , se re d is e ñ a n lo s m ó d u lo s h a rd w a re q u e s u p u s ie ro n u n c u e llo d e b o te lla en la s e rie 6. En c o n c re to , se m e jo ra el r e n d im ie n to d e lo s p ro c e s a d o re s d e fr a g m e n to s en la re a liz a c ió n d e o p e ra c io n e s m a te m á tic a s (a ñ a d ie n d o d o s m in i-A L U S en e s to s p ro c e s a d o re s q u e se c o m p o rta n c o m o c o p ro c e s a d o re s pa ra las d o s u n id a d e s fu n c io n a le s d e FP en la s o p e ra c io n e s c o m p le ja s ) y se o p tim iz a n la s té c n ic a s d e p re b ú s q u e d a de la c a c h ó d e te x tu ra s . Las a rq u ite c tu ra s d e la s s e rie s a n te rio re s , la 6 y la 7 p re s e n ta n d o s p ro b le m a s im p o rta n te s : • El d e s e q u ilib rio en la c a rg a d e lo s p ro c e s a d o re s d e v é rtic e s y fr a g m e n to s , ya q u e n o to d a s la s im á g e n e s p re s e n ta n la m is m a c o m p le jid a d en tr e s y d o s d im e n s io n e s y en m u c h o s ca s o s a lg u n o d e lo s d o s tip o s d e p ro c e s a d o re s q u e d a ¡n fra u tiliz a d o . • La d ife re n c ia e n tre lo s r e p e r to rio s d e in s tru c c io n e s d e a m b o s tip o s d e p ro c e s a d o re s . P o r e s o en la s e rie 8 se b u s c a u n a a rq u ite c tu ra u n ific a d a q u e n o d is tin g a e n tre a m b o s tip o s d e p ro c e s a d o res. S e d is e ñ a u n a ú n ic a u n id a d d e p ro c e s o ca p a z d e re a liz a r to d o t ip o d e ta re a s y q u e sea c o h e re n te c o n el c a u ce g r á fic o d e fin id o p o r D ire c tX 10. Para e llo se in tro d u c e n en la s n u e v a s G PU s tr e s e ta p a s p ro g ra m a b le s : v ó rtic e s , g e o m e tría y fra g m e n to s . T o d a s e lla s n e c e s ita n el m is m o r e p e r to rio y p rá c tic a m e n te lo s m is m o s re c u rs o s . El n ú c le o d e e je c u c ió n d e la s n u e v a s a rq u ite c tu ra s u n ific a d a s se basa en u n n u e v o h a rd w a re q u e g e s tio n a lo s t r e s t ip o s d e th re a d s q u e se e je c u ta n en la G P U : d e v ó rtic e s , d e g e o m e tría y d e fr a g m e n to s . En el e je m p lo de la fig u ra e s te h a rd w a re re p a rte el tr a b a jo e n tre 8 m ó d u lo s , ca d a u n o d e e llo s c o n tie n e 16 S tre a m in g P ro ce ss o rs (SP), 4 T e x tu re F ilte rin g U n its (TF) y el p r im e r n iv e l d e m e m o ria c a c h ó c o m p a r tid a (L1).
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
A in q u e s in e n tra r en m u c h o d e ta lle re la c io n a d o co n la s c a ra c te rís tic a s e s p e c ífic a s d e la s a rq u ite c tu ra s para g rá fic o s , se p u e d e o b s e rv a r g ra c ia s a e ste r e c o r r id o p o r la s a rq u ite c tu ra s d e la s G PU s d e N V id ia pa ra su s s e rie s 6, 7 y 8 , q u e la s té c n ic a s e m p le a d a s p a ra el d is e ñ o d e p ro c e s a d o re s d e E /S so n la s m is m a s q u e para lo s p ro c e s a d o re s d e p r o p ó s ito g e n e ra l e s tu d ia d a s en lo s c a p ítu lo 1 y 3 d e e ste lib r o . A u n q u e , c la r o está, a p ro v e c h a n d o en la s o p tim iz a c io n e s d e lo s d is e ñ o s la e s p e c ific id a d d e la s a p lic a c io n e s q u e s e va n a e je cu tar. En e s te t ip o d e p ro c e s a d o re s se s u e le n u tiliz a r m u y p o c a s té c n ic a s d in á m ic a s (p la n ific a c ió n d e in s tru c c io n e s , p re d ic c ió n d e s a lto s , e s p e c u la c ió n , e tc ) y s in e m b a rg o , p o r el tip o d e a p lic a c ió n q u e e je c u ta n , se s u e le b u s c a r la e x p lo ta c ió n m a s iv a d e l p a ra le lis m o d e d a to s , ya q u e es típ ic o re a liz a r la s m is m a s o p e ra c io n e s s o b re g ra n d e s c o n ju n to s d e d a to s . En re s u m e n p o d e m o s e n c o n tra r: • S e g m e n ta c ió n . — A a lto n iv e l (c a u c e g rá fic o ). — A b a jo n iv e l ( d e n tr o d e lo s p ro c e s a d o re s d e v ó rtic e s y d e fra g m e n to s ). • T ra ta m ie n to y p re d ic c ió n d e s a lto s s e n c illa . • P a ra le lis m o . — A a lto n iv e l (s o lu c io n e s q u e in c lu y e n 2 G PU s d e n tro d e una ta rje ta o q u e p e rm ite n q u e d o s ta rje ta s g rá fic a s tra b a je n en p a ra le lo c o n SLI o C ro s s fire ). — A b a jo n iv e l (v a rio s p ro c e s a d o re s tr a b a ja n d o en p a ra le lo en ca d a e ta p a , s o b re d ife re n te s v ó rtic e s o fra g m e n to s , u n id a d e s v e c to ria le s , ru ta s d e d a to s m u ltifu n c io n a le s ). • O p tim iz a c io n e s en la m e m o ria . — P re b ú s q u e d a d e m e m o r ia en la c a c h ó d e te x tu ra s . — T e c n o lo g ía s d e m e m o ria g rá fic a q u e in c lu y e n el e n tre la z a d o . — C u a tro a c c e s o s en p a ra le lo a la m e m o ria p rin c ip a l d e la ta rje ta (c u a tro c a n a le s in d e p e n d ie n te s ).
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Resumen de decisiones de diseño de técnicas de aumento de prestaciones para memoria y E/S Aum
e n t o d e p r e s t a c io n e s d e la m e m o r ia c a c h é
D ecisió n
A lte rn a tiva s
C ó m o red u cir la p e n a liza ció n p o r fallo
D a r p r io r id a d a lo s fa llo s O p tim iz a c io n e s d e l b u f f e r d e e s c ritu r a C a c h é d e v íc tim a s U tiliz a c ió n d e c a c h é n o b lo q u e a n te
D e cisio n e s a so cia d a s
C a c h é p r e d ic tiv a
A lg o r it m o d e p r e d ic c ió n
C a ch é p s e u d o a s o c ia tiv a
A lg o r it m o d e s e g u n d o e m p la z a m ie n to
P re b ú s q u e d a
H W o S W , a lg o r it m o d e p re b ú s q u e d a
C ó m o red u cir la ta s a d e fa llo s
C a c h ó d e tra z a s ( p a r a in s tr u c c io n e s ) M e jo r a s e n la tr a d u c c ió n d e D V a DF
C ó m o red u cir e l tiem p o d e acierto
S e g m e n ta c ió n d e la ca c h ó
D is e ñ o d e la s e g m e n ta c ió n , n ú m e r o d e e ta p a s
C a c h é d e tra z a s ( p a r a in s tr u c c io n e s )
Aum
e n t o d e p r e s t a c io n e s d e la m e m o r ia p r in c ip a l
D ecisió n
A lte rn a tiva s
C ó m o red u cir la laten cia d e a c c e so
C u a lq u ie ra q u e im p liq u e u n a m e jo r a e n la t e c n o lo g í a c o n la q u e e s tá fa b r ic a d a la m e m o r ia
C ó m o au m en ta r e l anch o d e b and a
Aum
E n s a n c h a d o d e la m e m o r ia p rin c ip a l
N ú m e r o d e p a la b ra s
E n tre la z a d o d e la m e m o r ia p rin c ip a l
A a lto o b a jo n iv e l, n ú m e r o d e bancos
C a n a le s d e m e m o r ia in d e p e n d ie n te s
N ú m e r o d e c a n a le s
S e g m e n ta c ió n d e la m e m o r ia p rin c ip a l
D is e ñ o d e la s e g m e n ta c ió n , n ú m e r o d e e ta p a s
e n t o d e p r e s t a c io n e s d e b u s e s d e
D ecisión
C ó m o au m en ta r e l anch o d e b and a
D e cisio n e s a so cia d a s
E/S
A lte rn a tiv a s
D e cisio n e s a so cia d a s
S e ñ a liz a c ió n y a u m e n to d e f r e c u e n c ia d e f u n c io n a m ie n t o
C o m p r o m is o e n tre a n c h o d e d a to s , f r e c u e n c ia , d is ip a c ió n d e p o te n c ia y r u id o
S e ñ a liz a c ió n d if e r e n c ia l y a u m e n to d e f r e c u e n c ia d e f u n c io n a m ie n to
C o m p r o m is o e n tre a n c h o d e d a to s , f r e c u e n c ia , d is ip a c ió n d e p o te n c ia y r u id o
U tiliz a c ió n d e p r o to c o lo s d e c o m u n ic a c io n e s d e a lto r e n d im ie n t o
P r o p ie ta r io s o e s tá n d a r e s (P C IE x p r e s s , H ip e r tr a n s p o r te )
4.
Aum
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
e n t o d e p r e s t a c io n e s d e d is p o s it iv o s d e
D ecisió n
E/S:
a l m a c e n a m ie n t o
A lte rn a tiva s
D e cisio n e s a so cia d a s
N úm ero d e d is c o s d e l FIAID
G ra n u ra lid a d d e l strip p in g
F in a G ru e s a S in e s p e c ific a r M ir r o r in g
Inform ació n d e red u n d an cia C ó d ig o s d e p a r id a d
H a m m in g , P + Q
O n -lin e
P o rc e n ta je d e l a n c h o d e b a n d a d e l b u s d e d ic a d o a la r e c u p e r a c ió n
R ecu p eració n O ff-lin e
Aum
e n t o d e p r e s t a c io n e s e n la g e s t ió n d e
E/S
D ecisió n
A lte rn a tiv a s
In co rp o ra ció n d e un p ro ce sa d o r d e E / S
P r o c e s a d o r d e r e d (N P U ) P r o c e s a d o r g r á fic o (G P U ) D is e ñ o s e s p e c ífic o s
D e cisio n e s a so cia d a s
BIBLIOGRAFÍA Y LECTURAS RECOMENDADAS HANDY, J. (1998): The cache m em ory b o o k (2.a ed.), M organ K aufmann. HENNESSY, J. L. & PATTERSON, D. A. (2007): C om puter Architecture: A Q uantitative Approach (4.a ed.), M organ Kaufmann. H ypertransport C onsortium http://www.hypertransport.org/. HW ANG, K. (1992): Advanced C om puter Architecture: Parallelism, Scalability, Program mability, M cGraw Hill. JACOB, B.; SPE N C E R N G . & W ANG D. (2007): M em ory S ystem s: Cache, D R A M , D isk, M organ Kaufm ann. Intel Developer N etw ork f o r P C I E xpress Architecture http://www.intel.com /technology/ pciexpress/ devnet/. LU EBK E, D. & H U M PH REY S, G. (2007): «How G PU s work», Computer, 40(2), 96-100. M O N TRY M , J. & M O RETO N , H. (2005): «The GeForce 6800», IE E E M icro, 25(2), 41-51. PA R H A M I, B. (2007): Arquitectura d e Computadoras. D e los m icroprocesadores a las supercomputadoras (1.a ed.), M cGraw Hill. SHIVA, S. G. (2005): Advanced C om puter Architectures, CRC Press. SIM A , D.; FO U N TA IN , T. & K A R SU K , P. (1997): A dvanced C om puter Architectures: A Design S pace Approach , A ddison Wesley.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
PROBLEMAS 4.1.
Se d ise ñ a u n a je ra rq u ía d e m em o ria co n u n único nivel d e m em oria caché, co n instrucciones y d a to s sep arad o s. El p ro c e sa d o r realiza 5 • 106 referencias p o r segundo a d a to s (de las c u a les el 80% son lectu ras y el 20% son escritu ras) y 107 referencias p o r segundo a instrucciones (obviam ente, to d a s lecturas). L a m em oria cach é d e instrucciones tiene un tiem po d e acceso d e 1.5 ns, u n a ta s a d e fallos del 8% y el tam a ñ o d e b lo q u e es d e 32 palabras. L a m em o ria caché d e d a to s tien e un tiem p o d e acceso d e 1.2 ns, u n a ta sa d e fallos del 9% y un ta m a ñ o d e b loque d e 16 palab ras. L a laten cia d e m em o ria principal es d e 92 n s y se utiliza la técnica d e p alab ra crítica prim ero . E s d e c ir se tra ta d e la m ism a je ra rq u ía d e m em o ria q u e se diseñ ó en el pro b le m a 2.7. a)
C alcular el tiem po m edio d e acceso a m a n o ria p a ra instrucciones y p a ra d a to s si la caché es d e escritu ra d ire c ta y se h a n incluido e n el diseño las siguientes m ejoras: — L a c ach é d e d a to s se convierte en u n a cach é sin asignación e n escritura. — U n a caché d e víctim as p a ra la caché de d a to s q u e puede resolver los fallos d 45% d e las veces en u n tio n p o d e 13 ns. — U n a caché d e trazas q u e sustituye a la caché d e in stru e d o n e s y q u e consigue u n tiem po de acierto d e 0.7 n s y u n a tasa d e fallos del 4%.
b) c)
C alcular el a n ch o d e b a n d a co n m em oria p rin d p a l consum ido con e sta s m ejoras. Si resolviste el problem a 2.7, c o m p a ra los resultados q u e obtuviste co n los obtenidos a h o ra gracias a las m ejoras realizadas en e sta jerarq u ía.
4.2.
Suponiendo q u e el bus d e m em oria es d e 64 b its d e ancho, y funciona a u n a frecu o icia de 667 M H z, calcular el ancho d e b a n d a q u e q u e d a libre p a ra q u e el sistem a de E/S acceda a m em o ria principal o í el problem a anterior. D iscutir d resultado obtenido y p ro p o n e r m odificaciones al d iseño realizado p a ra m ejorarlo.
4.3.
Se d iseñ a u n a je ra rq u ía d e m em oria co n d o s n iv d es d e caché y las siguientes características: • C aché d e nivel 1 d e em plazam iento d ire cto y escritu ra directa, unificada, con un tiem po de acceso d e 1 ns, u n a ta s a d e fallos del 11% y ta m añ o d e bloque d e 16 palabras. • C aché d e nivel 2 asociativa p o r c o n ju n to s d e 4 vías y d e post-escritura, unificada, c o n un tiem po d e acceso d e 9 ns, u n a ta s a d e fallos del 6% y un ta m a ñ o d e bloque d e 32 palabras. • M em oria principal c o n u n a latencia d e acceso d e 92 ns. • Se utiliza la técnica d e p ala b ra crítica prim ero. • T iem pos d e transferencia d e inform ación en tre niveles despreciables. Sabiendo q u e el 75% d e los accesos a m em oria son lecturas y el 25% restan te son escrituras (es decir, se tio ie d e nuevo la je ra rq u ía d iseñ ad a en d problem a 2.8), calcular el tiem po m edio de acceso a m em oria si se introducen en el diseño las siguientes m ejoras: a) b)
4.4.
Se im plem enta u n algoritm o d e p reb ú sq u ed a p a ra la caché d e nivel 1 q u e consigue reducir su tasa d e fallos a u n 9%. Se d a p rio rid a d a los fallos d e caché del segundo nivel a ñ a d io id o un buffer d e escritu ra con u n a tasa d e fallos del 18% y e n el q u e se ta rd a n 10 ns e n volcar un bloque sucio.
Se d iseñ a u n a je ra rq u ía d e m em oria con d o s niv d es de caché q u e utilizan la técnica d e p ala b ra crítica prim ero y las siguientes características:
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
• C aché d e nivel 1 d e em plazam ien to d irec to y escritu ra directa, unificada, con un tiem po de acceso d e 1 ns, u n a ta s a d e fallos del 5% y tam añ o d e bloque d e 16 palabras. • C aché d e nivel 2 asociativa p o r c o n ju n to s d e 4 vías y d e post-escritura, unificada, c o n u n tiem po d e acceso d e 9 ns, u n a ta s a d e fallos del 12% y u n tam a ñ o d e bloque d e 32 palabras. • M em oria principal c o n u n a latencia d e acceso d e 92 ns. • T iem pos d e transferencia d e inform ación en tre niveles despreciables. A h o ra vam os a c e n tra rn o s en reducir en to d o lo posible la penalización p o r fallo d e la c ach é de nivel 2. P a ra ello: a)
b)
Introducim os en la je ra rq u ía d e m em oria u n buffer d e escritu ra q u e perm ite d a r p rio rid ad a los fallos d e la c ach é d e nivel 2. V d c a r un bloque sucio a este buffer supone un tiem po d e 14 n s y el buffer evita h a c e r este volcado a m em oria principal el 82% d e las veces. A ñadim os u n a caché d e víctim as tam bién al segundo nivel d e caché, q u e perm ite resolver los fallos el 50% d e las ocasiones e n un tiem po d e 18 ns.
C alcular el tiem po m edio d e acceso a m em oria cu an d o se in co rp o ran estas optim izaciones. 4 .5 .
Todavía no hem os optim izado suficientem ente e sta je ra rq u ía d e m em oria, así q u e in ten tam o s introducir nuevas m odificaciones. El nivel 1 se convierte e n u n a caché pseudoasociativa y el nivel 2 en u n a c ach é predictiva. C on e sta s transform aciones tenem os: • C uan d o la c ach é d e nivel 1 acierta, se sigue co m p o rtan d o co m o u n a caché d ire cta y su tiem po de acceso no varía. E sto ocurre el 95% d e las veces. C u an d o falla, podem os buscar e n u n a segunda localización, lo q u e im plica q u e en estos casos el tiem po d e acceso es d e 2 ns. Pero la tasa d e fallos global se consigue red ucir a un 3.5%. • C u an d o la caché d e nivel 2 acierta la predicción d e caché predictiva, el tiem po d e acceso es de 7.5 ns. E sto ocurre e n u n 65% d e los accesos, en el resto, no varía el tiem po d e acceso. C alcular el tiem po m edio d e acceso a m em oria co n e sta s nuevas optim izaciones. ¿Se consigue una m ejo ra significativa respecto d e los resultados obtenidos en el problem a 4.4?
4 .6 .
Se incluye en u n a c o m p u ta d o ra u n a je ra rq u ía d e m em oria c o n las siguientes características: • C aché d e in stru c d o n e s d e nivel 1 c o n tiem po d e acceso d e 1 ns, tasa d e fallos del 6% y ta m a ñ o d e bloque d e 16 palabras. • C aché d e d a to s d e nivel 1 co n escritu ra directa, tiem po d e acceso d e 2.5 ns, tasa d e fallos del 8% y ta m a ñ o d e bloque d e 16 palabras. • Buffer d e escritu ra q u e perm ite realizar las escrituras directas el 85% d e las veces y co n un tiem po d e acceso d e 1 ns. • TLB c o n un tiem p o d e acceso d e 1.5 ns, ta sa d e fallos d d 9% y q u e en los fallos necesita hacer en m ed ia 1.2 accesos a m o n o ria principal p a ra realizar la tra d u c d ó n de d ire c d ó n v irtu al a dirección física. • M em oria principal c o n u n a latencia d e acceso d e 76 ns. • T ransferir u n a p ala b ra d e m em oria principal a m em oria caché supone 1.3 ns. a)
b)
C alcular el tiem po m edio d e acceso a m o n o ria p a ra instrucciones y p a ra d a to s (ten io id o en cu en ta q u e el 85% d e los accesos a d a to s son lecturas y el 15% son escrituras) si en las cachés d e instrucciones y d a to s se utiliza la técnica d e p a la b ra crítica prim ero. C alcular d e nuevo este tiem po si se introducen las siguientes optim izaciones en la je ra r quía:
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
— El buffer d e escritu ra se o ptim iza c o n la técnica de write-m erging de m anera q u e perm ite realizar las escritu ras directas el 95% d e las ocasiones. — Se utiliza prebúsqueda hardw are a i la caché d e d a to s y se reduce su ta sa d e fallos al 6.5%. — L a caché d e instrucciones se convierte en u n a caché trazas, con tiem po de medio de acceso a instrucción d e 0.2 n s y ta sa d e fallos del 4%. — Se accede a la c ach é d e d a to s c o n direcciones virtuales. 4.7.
E n u n a je ra rq u ía d e m o n o n a co n un nivel de cach é se decide optim izar el an ch o de b a n d a d e la m em oria principal. P a ra ello se b arajan tres alternativas: • E nsan ch ar to d a la je ra rq u ía a u n a n ch o d e 4 palabras. • U tilizar u n a m em oria p rin cip al e n trelazada d e 4 bancos. • In c o rp o ra r d o s can ales d e m em oria p rincipal independientes a la jerarq u ía. C alcular la penalización p o r fallo d e la caché si el tam a ñ o d e bloque es d e 128 palabras, el tiem po de direccionam iento d e u n a p a la b ra es despreciable, la latencia d e m o n o n a principal es d e 76 ns y el tiem po d e tra n sfe ro ic ia d e u n a p alab ra p o r el bus es de 1.3 ns. H acer este cálculo c o n las tres optim izaciones posibles y d iscu tir cuál sería m ás conveniente p a ra nuestro diseño.
4.8.
In co rp o rar a la je ra rq u ía d e m o n o ria d iseñ ad a en el problem a 4.5 la optim ización escogida e n el problem a 4.6 y calcu lar la g an an cia o b ten id a.
4.9.
Escoger u n a p laca d e base actual p a ra PC , d ib u jar la je ra rq u ía d e buses q u e in c o rp o ra y calcular b s anchos d e b a n d a d e los buses m ás im portantes. ¿Q ué buses inco rp o ran técnicas d e aum ento d e prestaciones d e las estu d iad as en este capítulo? ¿C uáles siguen siendo buses tradicionales?
4.10.
Se d iseñ a un R A ID 5 d e 8 discos d u ro s SCSI d e 100 GB c a d a uno. El tiem po m edio h a sta el fallo (M ean T im e To Failure, M T T F ) d e estos discos es d e 1.2 m illones d e horas. A dem ás, si un disco falla, la recuperación se puede h acer offline o se puede h acer online. a) b) c)
d) 4.11.
¿Cuál es el tiem po m edio q u e p asará antes d e q u e uno d e los discos falle y sea necesaria u n a recuperación? ¿Qué operaciones d e lectu ra y escritu ra serán necesarias p a ra realizar esa recuperación? ¿C uáles d e d ía s pueden realizarse en paralelo? Si el bus es u n U ltraS C S I 320 con u n ancho d e b a n d a to ta l d e 320 M B/s, ¿cuánto tiem po tard arán las recuperaciones offline y online? Tener e n c u en ta q u e p a ra la recuperación Onli ne sólo se d e ja un 15% del ancho d e b a n d a to ta l del bus. C alcular el M T D L p a r a la recuperación offline y p a ra la online.
Escoger u n a ta rjO a gráfica actual y buscar inform ación acerca d e su arq uitectura, o í concreto acerca d e su G P U y d e su m em oria d e vídeo. ¿Q ué técnicas d e diseño d e las aprendidas h asta el m om ento in c o rp o ra e sta arquitectu ra? ¿Q ué peculiaridades ap areco i en el diseño debido a su aplicación específica?
4.
T É C N IC A S DE A U M E N T O DE PRESTAC IO N E S P A R A M E M O R IA Y E/S
AUTOEVALUACIÓN
_________________________________________
1.
¿Cómo funciona una caché d e víctimas? ¿Por qué reduce la penalización por fallo de la mem oria caché?
2.
¿Por qué la mayor parte de las cachés actuales son n o bloqueantes?
3.
¿Qué es una caché pseudoasociativa y cóm o funciona?
4.
¿Qué alternativas existen para evitar que la traducción de dirección virtual a dirección física afecte negativamente al tie m po de acceso a la memoria caché? ¿Qué ventajas e inconve nientes tienen cada de una de ellas?
5.
¿Cómo funciona una caché de trazas? ¿Qué aspectos del funcionam iento de la memoria caché ayuda a optimizar?
6.
¿Qué diferencias hay entre una mem oria principal entrelazada con 4 bancos y otra con 4 canales de mem oria independientes?
7.
¿Por qué en la últim a generación de consolas algunos procesadores incorporan almacena m iento local en lugar de mem oria caché?
8.
¿En qué consiste la señalización diferencial? ¿Por qué perm ite aumentar el ancho de banda de los buses de E/S?
9.
¿Qué técnicas d e aum ento de prestaciones para buses incorporan tecnologías com o PCIExpress o Hipertransporte?
10.
¿Qué diferencias hay entre un RAID 3 y un RAID 4?
Sistem as multiprocesador y multicomputador
Contenidos
j X
5.1. 5.2.
C la s ific a c ió n d e a rq u ite c tu ra s c o n v a rio s p ro c e s a d o re s R edes d e n tr o d e a rq u ite c tu ra s d e c o m p u ta d o ra s
5.3. 5.4.
D is e ñ o d e a rq u ite c tu ra s d e m e m o ria c o m p a rtid a D is e ñ o d e a rq u ite c tu ra s d e m e m o ria c o m p a rtid a d is trib u id a D is e ñ o d e a rq u ite c tu ra s d e m e m o ria d is trib u id a
5.5. V
v
J
y
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
A p esar d e las grandes m ejoras q u e se h a n producido en el rendim iento d e arq u itectu ras m onoprocesador gracias a los avances en las tecnologías d e fabricación y a las técnicas d e diseño estu d iad as e n los anteriores capítulos, p a ra algu n as aplicaciones el rendim iento obten id o con ellas todavía no es suficiente. L as m ejoras en m icroprocesadores c a d a vez son m ás sofisticadas, y c a d a avance im plica crecer e n co m plejidad y consum o d e á re a y p otencia (es decir, en coste). Sin em bargo, se h a prod u cid o u n a c la ra m ejora en el softw are y e n los sistem as operativos q u e hace m ás sencillo y económ ico explotar el paralelism o de las aplicaciones cu a n d o se ejecutan sobre varios p ro cesadores. P o r ta n to la utilización d e arq u itectu ras com puestas p o r varios procesadores es u n a solución sencilla, n a tu ra l y en general, c o n u n a buena relación coste-prestaciones. En este capítulo se com ienza realizando u n a clasificación de las arq u itectu ras com puestas p o r varios procesadores, atendiendo principalm ente a su m odelo d e m em oria (co m p artid a o distribuida). A c o n ti nuación se presentan los con cep to s básicos d e redes den tro d e arq u itectu ras d e co m putadoras, ya q u e la red es d nuevo com p o n en te q u e aparece en este tipo d e a rq u itec tu ras y cuyos aspectos de diseño pueden tener u n a g ran influencia en el rendim iento global d e la arq u itectura. Y a contin u ació n se p a sa a an alizar en pro fundidad el diseño d e arq u itectu ras co m puestas p o r m ás d e u n procesador, em pleando la clasificación p ro p o rcio n ad a al principio del capítulo. Por lo ta n to se e stu d ia n las técnicas y decisiones d e diseño asociadas a las arq u itectu ras d e m em oria co m p artid a (m ultiprocesadores) y a las d e arq u itectu ra d e m em oria d istrib u id a (m ulticom putadores). En am bos casos se to m a n com o p u n to d e p a rtid a los problem as típicos q u e es necesario resolver e n c a d a tipo de arq u itectu ra al incluir m ás d e un p ro cesad o r y p o r utilizar u n determ in ad o m odelo d e m em oria, p a ra centrarse en el estu d io d e aquéllos q u e pueden ser resueltos d esd e el propio hardw are.
m
Clasificación de arquitecturas con varios procesadores
H asta a h o ra to d a s las técnicas estu d iad as en este libro se han cen trad o en exp lo tar d paralelism o a nivel d e instrucción (grano fino) p a ra au m en tar el rendim iento d e las arq u itectu ras co n un único proce sador, d e m an era q u e el propio hardw are d etecta in stru c d o n e s independientes y planifica su ejecución en paralelo. í^ ro los sis to n a s co m p u esto s p o r varios procesadores explotan el paralelism o a n ivd d e proceso (g ra no grueso), a s o d a d o a la re p lic a d ó n d e los recursos d e cóm puto. E n este caso d paralelism o se d e te c ta a alto n iv d , p o r p a rte del co m p ilad o r y d d sistem a operativo, au n q u e tam bién puede program arse d e for m a ex p líd ta. A p esar d e e sta colaboración del c o m pilador y del sistem a operativo todavía existen m uchos problem as q u e deben resolverse d esde el h ard w are y m uchas o p tim iza d o n e s re la d o n a d a s c o n su diseño. Este tipo d e a rq u itectu ras com puestas p o r varios procesadores se utilizan hoy en d ía en m ultitud de en to rn o s diferentes, d esde las aplicaciones d e cálculo científico h a sta los servidores d e aplicadones, bases d e d a to s e In tern et, p asan d o p o r d procesam iento d e gráficos y m ultim edia o las aplicadones d e alta disponibilidad. R ira estu d iar las diferentes alternativas d e diseño e n d caso d e arq u itectu ras paralelas, existen d istin tas clasificaciones. L a clásica es la tax o n o m ía d e Flynn, q u e distingue e n tre cu atro categorías d e a rq u i tecturas atendiendo a su explotación del p ara ld ism o de d ato s y del paralelism o funcional: SISD (Single In stru ctio n Single D ata), S IM D (Single In stru ctio n M últiple D a ta), M ISD (M últiple In stru c tio n Single d a ta ) y M IM D (M últiple In stru ctio n M ú ltiple D ata). Sin em bargo en este libro se utiliza la clasificación q u e atiende al diseño de la je ra rq u ía d e m em oria del sistem a. Según esta clarificación se pueden d iseñ a r arq u itectu ras d e m em oria co m p artid a, co m p artida-distribuida o distrib u id a. Pero ad em ás hoy en d ía se d ebe distinguir en esta clasificación e n tre las arqu itectu ras tradicio n ales y las a rq u ite c tu ras on-chip, a i las q u e a pesar d e te n e r varios procesadores, no es d en tro d e u n sistem a d e g ran tam añ o sino d e un único ch ip o em p aq u etad o q u e integra to d o s los com ponentes d e la arq u itectu ra.
5.
5.1.1.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
Arquitecturas de memoria compartida
En este caso la arq u itectu ra e stá co m p u esta p o r un con ju n to d e procesadores (casi siem pre h om ogé neos) q u e co m p arten u n a ú nica m em o ria cen tralizada, norm alm ente la m em oria principal. En este tipo d e diseño el espacio d e direcciones físicas es global: to d o s los n o d o s tienen u n a visión d e la m em oria sim étrica. P o r ello estas arq u itectu ras suelen denom inarse m ultiprocesadores o arq u ite ctu ras S M P (Sym m etric M ultiProcessing). A dem ás, com o los tiem pos d e acceso a to d as las direcciones d e m o n o ria son uniform es, es decir, siem pre se ta rd a lo m ism o e n realizar un acceso a m em oria principal, tam bién pueden d en o m in arse arq u itectu ras U M A (U niform M em ory Access). A veces tam bién se d e nom inan sistem as fuertem ente acoplados, ya q u e to d o s los procesadores c o m p a rten un com ponente tan crítico com o la m em oria principal. Los d ifero ites procesadores y m ódulos d e m em oria se interconectan a través d e un bus o red d e medio com partido. D e la m ism a form a, los m ecanism os d e E/S tam bién su d en ser com partidos y se encuentran conectados a este bus (figura 5.1). L os procesos q u e se ejecutan o í p a ra ld o en los diferoites procesadores que com ponen la arquitectura se sincronizan y com unican a través de la m em oria co m partida e interactúan m ediante variables com partidas. E s decir, la com unicación en tre procesos es im p líd ta y se realiza con ins trucciones d e load y store (leyendo y escribioido variables com partidas e n la m em oria centralizada). G racias a este tipo d e com unicación e n tre procesos, la program ación d e estos sisto n a s es m uy sim i lar a la d e sisto n a s m onoprocesador, lo q u e suele su p o n er u n a gran ventaja. A dem ás, la com unicación im p líd ta e n tre procesos a través d e la m em oria, a h o rra la sobrecarga o í la red de c o m u n icad o n es d e la arquitectura. E sto h ace q u e los desarro llad o res se to ig a n q u e c e n tra r sólo en el acceso a recursos críticos (m em oria y E/S, ya q u e son los recursos co m p artidos) p a ra o ptim izar el rendim iento d e sus códigos. C om o se estu d ia rá m ás ad elan te o í pro fu n didad (sección 5.3), la c o m p a rtid ó n d e la m em oria princi pal conlleva siem pre la aparición d e tres problem as q u e deben resolverse p a ra el correcto fu n d o n am ien to d e la arq u itectu ra: la coherencia, la c o n siste n d a y la sincronización. Pero estos tres problem as q u e p re senta la co m partición d e la m em oria pueden ser resueltos o bien p o r el sistem a operativo, el co m p ilad o r o la p ro g ram ació n explícita (consistencia y sincronización) o bien p o r el propio hardw are (coherencia).
M e m o ria f e S í i í d P rin c ip a l \T a I
N ú c le o d e p ro c e s a d o r a > m p le jo
N ú c le o d e p ro c e s a d o r c o m p l e jo
N ú c le o d e p ro c e s a d o r c o m p l e jo
F ig u r a 5 .6
A r q u it e c tu r a s o n - c h ip d e m e m o r ia d is tr ib u id a .
A unque los con cep to s fundam entales d e redes de c o m p u ta d o ras escapan d d alcance d e este libro, sí q u e es im p o rtan te analizar brevem ente los aspectos m ás relacionados c o n las arq u itectu ras d e c o m p u tad o ras q u e inco rp o ran redes en su in terio r y con su rendim iento. E s decir, los aspectos rd a c io n a d o s con la to p o lo g ía d e las redes y con las técnicas de c o n m u ta d ó n , encam inam iento y control d e flujo q u e utilizan. Y tam bién c o n las p re sta d o n e s d e las redes, q u e d e nuevo se pueden cuantificar (p o r lo m enos las p re sta d o n e s extrem o a extrem o) c o n las m étricas q u e ya se h an em pleado p a r a la m o n o ria y p a ra d sis tem a d e E/S en cap ítu lo s an terio res d e este libro: la latencia y el ancho d e b an d a. En el caso d e la red, la la te n d a se define com o el tiem po to ta l d e com unicación, es decir, el tiem po que ta rd a en transferirse un m ensaje com pleto p o r la red. C asi siem pre se utilizan m ensajes pequeños para c a racterizar esta latencia (unos p ocos bytes), pero en la literatura especializada se pueden e n c o n tra r m ultitud d e definiciones diferentes d e esta la te n d a q u e pueden ten er en cu e n ta diferentes aspectos de rendim iento d e la red d e com u n icad o n es. Igual q u e se pueden en c o n tra r definiciones p a ra o tra s m étricas algo m ás com plejas com o p u e d a n ser la escalabilidad d e la red, su disponibilidad, su calidad d e servicio o su efidencia. E n c u a n to al ancho d e b a n d a d e la red, se define com o el núm ero d e bytes q u e es c ap az de tran sm itir la red p o r u n id ad d e tiem po, al igual q u e se definía el ancho d e b a n d a d e un bus. En la figura 5.7 se observan los niveles d e transferencia d e inform ación e n cualquier arq u itectu ra paralela. L a red d e interconexión d eb e p ro p o rc io n ar los m ecanism os q u e p erm itan trasm itir inform ación entre los n o d o s q u e form an la arq u itectu ra. E n general, se d en o m in a m ensaje a la u n idad de inform ación
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
MENSAJE
NODO
INTERFAZ HW
NODO
PAQUETE
INTERFAZ HW
N IV E L D E E N C A M IN A M IE N T O
N IV E L D E C O N M U T A C IO N
R ed d e . In te rc o n e x ió n
n r u ta m ie n to y a r b itr a je
m u ta d o r
E n ru ta d o r
N IV E L F ÍS IC O
C o la d e s a lid a d e m e n s a je s
F ig u r a 5 . 7
N iv e le s d e t r a n s fe r e n c ia d e in fo r m a c ió n e n u n a r e d d e in te r c o n e x ió n .
q u e intercam bian esto s nodos. E s necesario, com o m ínim o, un interfaz hardw are d e red q u e p e rm ita el acceso d e c a d a n o d o a la red d e interconexión. Este interfaz d e red puede u bicarse en d istin to s lugares den tro de la arq u itectura, dependiendo del diseño concreto del q u e se tra te en c a d a caso. Puede e s ta r integrado ju n to co n el procesador, ju n to con la m em o ria caché, puede co nectarse a la m em oria principal de m anera sim ilar a com o lo hace la ta rje ta gráfica o puede co nectarse com o o tro dispositivo periférico a través d e algún bus d e expansión. En cu alq u ier caso, la transferencia d e u n mensaje, e n la m ayor p a rte d e los casos, requerirá q u e los interfaces d e red generen m ás d e u n a transferencia d e inform ación y se suele den o m in ar p aq u ete a la u n i d a d d e transferencia d e inform ación e n tre interfaces. E sto s paquetes tienen tam añ o s m uy variables q u e van d esd e u n o s pocos bytes h a s ta los kilobytes. En general, d interfaz d e red es el encarg ado d e d a r form ato a estos paquetes, realizar el co n tro l d e flujo y p ro p o rc io n a r m ecanism os d e direccionam iento den tro d e la re d (p ara q u e p u ed a especificarse el nodo origen y el no d o d estin o d e cu alq u ier com unicación). Tam bién se responsabiliza del alm acenam ien to tem p o ral d e datos, ta n to d e e n tra d a com o d e salida y en algunos casos, de realizar tareas de encam i nam iento. A unque son los en ru ta d o re s (switches) los q u e perm iten q u e los paquetes d e inform ación lleguen d es d e el origen h a s ta el d estin o siguiendo un cam ino o secuencia de enlaces y enrutadores. P a ra c a d a paquete que llegue p o r alg u n a d e sus en trad as, el e n ru ta d o r decide el canal de salida p o r el q u e se d ebe reenviar para q u e alcance su destino. C a d a e n tra d a y c a d a salida d d e n ru ta d o r s u d e tener asignado un espacio d e alm acenam iento (buffer) q u e p erm ita g u a rd a r tem poralm ente la inform ación q u e se está en ru tan d o . L os enlaces p roporcionan conexiones p u n to a p u n to p a ra co m u n icar en ru tad o res en tre sí o e n ru ta d ores con interfaces d e red. C u an d o se utiliza el térm ino canal, su d e referirse al co n junto form ado p o r
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
un enlace, los c o n tro lad o res d e este enlace a i d origen y en el destino y los recursos d e alm acenam iento asociados a dicho o ila c e en a m b o s extrem os. L a u n id ad d e info rm ació n q u e se transfiere p o r un canal en tre d o s co n m u tad o res se d o io m in a F lit (F L ow co n tro l u nIT ) y suele e sta r fo rm ad a p o r u n o s pocos bytes d e inform ación (h asta 32 o 64 bytes com o m ucho). P o r últim o, la u n id ad d e inform ación q u e se transfiere p o r un enlace físico e n c a d a ciclo d e red (la u n id ad m ín im a d e inform ación p a ra la red d e interconexión, ya no se puede dividir m ás) es el P h it (PHysical unIT ). E n este caso se tra ta d e u n o s pocos b its d e inform ación (no m ás de 128 bits).
5.2.1.
Topología
E n u n a arq u itectu ra d e m em oria co m p a rtid a , u n n o d o es u n p ro cesador c o n uno o varios niveles de m o n o n a caché. El m ensaje q u e u n n o d o le envía a otro es la consecuencia d e un acceso a m em oria y es la p ro p ia m em oria la q u e a c tú a com o red d e interconexión, p o r lo q u e los co n troladores d e m a n o ria integran a los interfaces d e red. L a red d e interconexión es tra n sp a re n te al pro g ram ad o r ya q u e la com unicación e n tre d o s procesos se realiza con u n a escritu ra en m a n o ria (store) seguida de u n a lectura de m em oria (load). P ara q u e la com unicación te n g a lu g ar d e m an era co rrecta es necesario solucionar de m an era explícita el problem a de la sincronización com o se e stu d ia rá en secciones posteriores, es decir, hay q u e g ara n tiza r q u e la lectura tiene lu g a r después d e la escritura. En el extrem o c o n tra rio están las arq u itectu ras de m em oria distribuida, en las q u e c a d a nodo co n sta de un p rocesador c o n uno o varios niveles d e m em oria caché, m em oria principal y m ecanism os d e E/S, incluida u n a ta rje ta d e red q u e a c tú a com o interfaz d e red. E n este caso se utilizan funciones explícitas de send y receive p a ra la com unicación e n tre procesos, y com o to d o el proceso d e com unicación e s b astan te m ás com plejo q u e en el caso d e las arq u itectu ras d e m em oria co m p artid a, su d e ser necesaria u n a capa softw are a i d interfaz d e com unicaciones. C o n las arq u itectu ras de m em oria com p artid a-distribuid a ocurre lo mismo, y adem ás es necesario u n m iddlew are q u e trad u zca las instrucciones load y store a los send y re c a v e necesarios, d e m an e ra tra n sp a re n te al usuario. C om o se puede observar, a u n q u e existen aspectos com unes en las redes d e interconexión los d istin to s tipos d e arq u itectu ra, existen o tro s m uchos e lo n e n to s d iferen d a d o res q u e se m aterializan, a i prim er lugar, en el tip o d e to p o lo g ía d e red q u e se utiliza en c a d a caso. E sta to p o lo g ía d e te rm in a la e stru c tu ra física d e las interconexiones q u e com ponen la red. N o rm alm a ite se represen ta m ed ian te u n grafo en e l q u e los vértices son o iru ta d o re s o interfaces d e red y las aristas son los enlaces e n tre en ru ta d o re s o e n tre en ru ta d o res e interfaces. C uan d o en este grafo se observ a u n p atró n q u e se repite, las redes s u d e n d o io m in a rse regulares, m ientras q u e si e n este grafo no se puede reconocer ningún patrón repetitivo, las redes suelen d enom inarse irregulares. E sta clasificación no suele ser m uy relevante hoy e n d ía , sin em bargo, existe o tra clasificación q u e es m ucho m ás significativa d esde el p u n to d e v ista d e la arq u itectu ra d e co m putadoras. L as redes pueden clasificarse e n estáticas y dinám icas. 5 .2 .1 .1 .
Redes
e s t á t ic a s
Tam bién d en o m in ad as redes directas. E n este caso los o iru ta d o re s están fuertem ente acoplados a los nodos d e có m p u to , d e m an era q u e la red está fo rm ad a p o r conexiones directas p u n to a p u n to e n tre los nodos (figura 5.8). E n los grafos q u e representan este tip o d e topologías, los vértices rep reso lta n a los e n rutadores, incluidos d e n tro d e los p ro p io s n o d o s d e cóm puto. O bviam ente a i este tip o d e red la conexión de un n o d o a un e n ru ta d o r suele ser m ucho m ás ráp id a q u e u n a conexión e n tre o iru ta d o re s, ya q u e en el prim er caso se tra ta d e u n a conexión local. E stas redes son co sto sas y poco escalables, pero se pueden encontrar, en casos m uy concretos, ta n to a i arq u itectu ras d e m em oria c o m p a rtid a com o e n arq u itectu ras d e m em o ria distribuida.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
LINEAL
Enrutador N o d o de có m p u to ESTRELLA
ÁRBOL
ANILLO M A LLA F ig u r a 5 . 8
E je m p lo s d e r e d e s e s tá tic a s .
5 .2 .1 .2 .
Redes
d in á m ic a s
L os en ru ta d o re s son dispositivos independientes d e los n o d o s d e có m p u to , p o r lo q u e las conexiones ya n o son p u n to a pun to . U n e n ru ta d o r puede e sta r conectado a uno o varios n o d o s d e cóm p u to y a uno o varios enrutadores. E n e ste caso, las conexiones n o d o -e n ru ta d o r presentan u nas prestaciones m uy sim ilares a las conexiones e n ru tad o r-en ru tad o r. C a d a e n ru ta d o r puede com unicar según d m om ento, a d o s n o d o s d e có m p u to diferentes. E stas redes se subdividen a su vez e n otro s d o s tipos: 1.
Redes de medio compartido o buses
Se tra ta d e red es e n las q u e hay u n único e n ru ta d o r in tern o b asad o e n un m edio c o m p a rtid o p o r to d o s los n o d o s c o n e c ta d o s a la red. Sólo un n o d o puede u tiliza r la red e n un m o m en to d a d o p a ra tra n sm itir in form ación, es decir, n o se pueden im p lem en tar co n esta s redes m últiples co n exiones u noa-uno sim ultáneas. Sin em b arg o es m uy fácil realizar difusiones d e inform ación a m últiples nodos, ya q u e al tra ta rse d e u n m edio c o m p a rtid o , to d o s los n o d o s tienen acceso a su co n ten id o e n u n m o m en to dad o . U n aspecto m uy im p o rta n te en este tip o d e redes e s la estrategia d e arbitraje q u e d e te rm in a cóm o se resuelven los conflictos d e acceso al m edio. L a solución m ás sencilla es utilizar técnicas b asad as en co n te n d ó n , es d e d r, en q u e los n o d o s co m p itan p a ra tener d acceso exclusivo al bus. D ebido a la co m p artid ó n del m edio to d o s los n o d o s pueden m o n ito rizar el estado d d bus y d ete c ta r colisiones (á tu a d o n e s
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
en las q u e d o s o m ás n o d o s estén u san d o el bus al m ism o tiem po). C u an d o se d e tec ta u n a colisión, los dispositivos cau san tes d e la m ism a ab o rtan la transm isión p a ra in te n ta rla posteriorm ente. E sta solución es sencilla pero no es d eterm inista, ya q u e no se puede predecir cu án to debe esperar un no d o p a ra g an ar d acceso al bus. P or lo ta n to , el bus d e contención no es el idóneo p a ra so p o rtar aplicaciones d e tiem po real, p o r ejem plo. P a ra d im in a r el com portam iento no determ inista, aparece un enfoque alternativo q u e im plica p a sa r u n testigo (token) en tre los nodos, d e m a n era q u e el dispositivo que tiene en su p o d er d testigo tien e el acceso al bus. C u an d o term ina d e tran sm itir sus datos, el testigo se p a sa al siguiente dispositivo según algún esquem a de p rioridades predeterm inado. A cotando el tiem po m áxim o d e posesión d d testigo, sí q u e se puede saber el tiem po q u e u n nodo d eberá esp e ra r com o m áxi m o p a ra conseguir el acceso al bus. Sea cual sea la solución escogida p a ra el arbitraje, este tipo d e redes suelen p resen tar problem as d e escalabilidad. A dem ás suelen lim itar el núm ero d e n o d o s q u e pueden conectarse a d ía s y la d istan c ia a la qu e pueden e s ta r esto s dispositivos. Sin em bargo, son redes d e b ajo coste q u e se utilizan casi siem pre e n las arq u itectu ras d e m em oria co m p artid a, p o r lo q u e se han propuesto algunas soluciones com o las redes m ultibus (existen varios medios c o m p a rtid o s al m ism o nivel y to d o s los n o d o s se co n ectan a to d o s ellos, de m an era q u e pueden utilizar el q u e e sté libre e n c a d a m om ento) o las redes jerárq u icas (tam bién b asad as en la u tiliz a d ó n d e varios m edios co m p artid o s, pero n o to d o s al m ism o nivel de p rioridad). 2.
Redes conmutadas o indirectas
En este caso n o existe u n m edio com partido, sino q u e los e n ru tad o res q u e form an la red perm iten q u e la inform ación llegue del origen al destino. Son las redes típicas en a rq u ite ctu ras de m em oria d istrib u id a y d e nuevo existe u n a clasificad ó n q u e distingue en tre d o s tipos d e redes: • Redes M onoetapa. Se pueden co n ectar d o s n o d o s cualesquiera con un único salto. Suelen d en o m i narse redes cro ssb ar o d e b a rra s cruzadas, y son m uy eficientes pero tam bién m uy caras. Perm iten que c u alq u ier no d o se co m u n iq u e c o n otro e n u n a única e ta p a y q u e existan conexiones sim ultá neas uno-a-u n o siem pre y cu a n d o no sean c o n el mism o nodo destino (figura 5.9). E s decir, un nodo origen puede co nectarse siem pre con un nodo destino libre ya q u e c a d a pareja origen/destino tiene su propio cam in o independiente en la red.
F ig u r a 5 . 9
R e d c o n m u ta d a m o n o e t a p a : b a rra s c ru z a d a s .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
• Redes Multietapa (M IN o Multistage Interconnection Network). Si no se puede garan tizar la a n te rior condición, p a ra llegar d e u n no d o a o tro puede q u e sea necesario m ás d e un salto e n tre e n ru tadores. E n este caso hay d o s posibilidades: — Redes Bloqueantes. N o siem pre es posible establecer u n a conexión entre u n origen y u n destino q u e estén libres ya q u e se co m p arten conexiones (figura 5.10). N o rm alm en te hay un único c a m ino posible p a ra llegar d e un no d o origen a otro destino (de esta form a se m inim iza el núm ero d e en ru ta d o re s y d e etap as en la red), p o r lo q u e si alguno d e los enlaces q u e hay q u e atravesar está o cupado, no será posible establecer la conexión. L as redes m ás conocidas d e este tip o son las o m eg a y las d e m ariposa. B loqueo
E nru tado r
F ig u r a 5 .1 0
R e d c o n m u ta d a m u ltie ta p a b lo q u e a n te .
Redes N o Bloqueantes. C u alq u ier origen puede conectarse co n cualquier destino libre sin q u e esto afecte a o tra s conexiones q u e p uedan establecerse a continuación (figura 5.11). E s decir, se c o m p o rta d e m an era sim ilar a u n a red cro ssb ar (perm ite cualquier com binación origen/des tino) p ero sin g a ra n tiz a r q u e la conexión p u ed a realizarse sólo co n u n salto, p o r lo tanto, con u n a latencia m ayor. L as redes d e este tipo m ás conocidas son las de Clos.
R e d c o n m u ta d a m u ltie t a p a n o b lo q u e a n te .
5.
5.2.2.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
Técnicas de conmutación
E stas técnicas d eterm in an cóm o se transm iten los d a to s p o r la red desde el nodo origen h a sta d nodo destino, y tienen u n a gran influencia en las prestaciones d e la red. D e h e d ió , puede d e d rs e q u e en la ac tualidad, es el aspecto d e los an alizados en e sta sección 5.2 q u e m ás repercute en d rendim iento d e la red, ya q u e estas técnicas d eterm in an d ta m a ñ o d e la u n idad d e in fo rm ad ó n q u e se asigna a los bufíers d e los en ru tad o res así co m o d tam a ñ o d e la u n id ad q u e se transfiere e n tre interfaces d e red. 5 .2 .2 .1 .
C
o n m u t a c ió n d e c ir c u it o s
Con esta técnica se reserva d cam ino com pleto desde el origen h a sta el destino antes d e com enzar la transferencia d e inform ación. P ara d io , d interfaz origen envía u n a so n d a (con ta m añ o d e flit) con la inform ación d e encam inam iento q u e necesitan conocer los enrutadores. C uan d o la so n d a llega al d estin o q u e d a establecido un cam ino form ado p o r un circuito d e co m u n i c a d ó n continuo. El destino envía u n a señal d e reconocim iento a la fuente si tiene suficiente espacio p a ra alm acenar los d a to s q u e se le van a enviar. E n c u a n to d origen recibe la señal d e reconocim iento em pieza la transferencia. Es m uy im p o rtan te co m p ren d er q u e co n e s ta técnica to d o s los enlaces q u e com ponen el cam ino están reservados d u ra n te la transferencia com pleta, y q u e d a d o el coste q u e supone hacer esta reserva, siem pre se transfiere el m ensaje co m pleto. Existen d o s m ecanism os p a ra lib erar el d rc u ito reservado: • L a co la del m ensaje va liberando los enlaces q u e lo c o n stitu ían . • Lo libera el d estin o enviando u n a señal d e reconocim iento cu a n d o finaliza la transferencia. E sta técnica d e conm u tació n es m uy fiable, su latencia es prácticam ente co n stan te y adem ás no es necesario alm acen ar in fo rm ació n en los en ru ta d o re s q u e co m p o n en el cam ino. J^ro pueden aparecer situ a d o n e s d e interbloqueo d ebido a la necesidad d e reservar los circuitos a n tes d e co m en zar con las transferencias d e inform ación (figura 5.12). Por ello se utiliza b astan te poco en diseños reales.
S in in te r b lo q u e o
C o n in te rb lo q u e o
1 -> 2
1—>2 3 -> 4 A -> B C -» D F ig u r a 5 .1 2
C o n m u ta c ió n d e c ir c u ito s . E je m p lo s s in y c o n in te r b lo q u e o .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
S .2 .2 .2 .
C o n m u ta c ió n d e p a q u e te s
E sta técnica tam bién se den o m in a d e alm acenam iento y reenvío, p o rq u e en ella c a d a e n ru ta d o r recibe un p aq u ete d e inform ación co m p leto y lo alm acena, antes d e ejecutar el algoritm o d e encam inam iento qu e le indicará cu ál d eb e ser el siguiente salto del paquete p o r la red (figura 5.13).
I—k-l—i-\ —U —\-á—14—I
H asn eo
1 \n n Sin ¡nte rb lo q ue o
n
n
n
I
Con ¡nte rb lo q ue o 1— > 2
3~>4 A -» B C->D F ig u r a 5 .1 3 C o n m u ta c ió n d e p a q u e te s . E je m p lo s s in y c o n ¡ n te r b lo q u e o .
Por lo ta n to , el m ensaje se divide en p aq u etes d e u n tam a ñ o m áxim o establecido en el interfaz d e red d d n o d o origen. E n c a d a en ru ta d o r, u n a vez ejecutado d algoritm o d e encam inam iento, todo el paquete se reenvía al siguiente en ru ta d o r. Así q u e se asigna buffer y canal a un p a q u e te y e n un m om ento d a d o un paqu ete sólo o cu p a u n can al, no reserva ningún enlace. C om o c a d a paqu ete se transfiere d e m an e ra independiente desde d origen h a sta el destino, el interfaz destino d eb e ser capaz d e reco n stru ir la inform ación original reensam blando to d o s los paq u etes q u e le llegan, probablem ente, desordenados. Con e sta técnica se evitan m uchas situaciones d e interbloqueo, pero pueden seguir produciéndose p o r falta d e espacio en los en ru ta d o re s p a ra alm acenar los paquetes (figura 5.13). En general, el tam a ñ o de los p aquetes d eb e ser el m en o r posible p a ra q u e no se exija u n a gran c a p a d d a d d e alm acenam iento a los enrutadores, sin influir negativam ente en la latencia d e com unicaciones. E sta técnica d e c o n m u ta d ó n se utiliza n o rm alm en te e n redes L A N y S A N p a r a arq u itectu ras d e tipo cluster (m o n o ria distribuida). 5 .2 .2 .3 .
C
o n m u t a c ió n v ir t u a l c u t - t h r o u g h
Se tra ta d e u n a solución interm edia e n tre las d o s técnicas clásicas explicadas c o n an terioridad, c o n m u ta d ó n d e circuitos y d e paquetes. De hecho, funciona com o la c o n m u ta d ó n d e paquetes pero perm ite q u e los paquetes avancen m ientras los enlaces q u e necesitan atravesar estén libres, elim inando alm acenam ientos interm edios de los paquetes cuando son innecesarios. E n este sentido se puede decir q u e fu n d o n a com o la c o n m u ta d ó n d e circuitos, pero sin la necesidad d e reservar d cam ino com pleto, se pueden realizar avances p o r cam inos parciales. C uando un paqu ete no puede avanzar más, se d ebe alm acenar com pleto a i un en ru ta d o r (figura 5.14). Es d e d r, un paqu ete n o bloqueado puede e sta r ocupando con sus transferencias varios canales d e la red q u e form en su cam ino parcial en ese m om ento, p o r lo q u e tam bién se tra ta d e u n a técnica d e cam ino
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
Paso 1
Paso 2
S in in te rb lo q u e o en 2 pasos
1—>2 3—>4 A —»B C -> D F ig u r a 5 .1 4
C o n m u ta c ió n v ir t u a l c u t- th r o u g h .
segm entado. L a latencia c o n e s ta técnica vuelve a ser p rácticam ente co n stan te y e n la actualidad se puede en co n trar en el B lueG ene d e IB M , p o r ejem plo. 5 .2 .2 .4 .
C
o n m u t a c ió n v e r m if o r m e
Se tra ta d e u n a técnica m uy p arecid a a la d e virtual cu t-th ro u g h pero exige m enor capacidad d e al m acenam iento en lo en rutadores. El paqu ete se divide en flits, d e m an era q u e en cu an to el prim ero d e un paqu ete llega al en ru ta d o r, se puede co m en zar a ejecu tar el algoritm o d e encam inam iento. T erm inada la ejecución d e este algoritm o, se perm ite q u e avance el flit cabecera del p a q u ete aunque los siguientes no hayan llegado to d av ía al en ru tador. E stos flits, q u e irán llegando e n orden, seguirán a la cabecera, q u e irá abriendo cam in o im itando el m ovim iento d e un g usano (figura 5.15).
E je m p lo de tra n s m is ió n de in fo rm a c ió n F ig u r a 5 .1 5
C o n m u ta c ió n v e r m if o r m e .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
R )r eso co n e sta técnica se reduce la necesidad d e alm acenam iento en los e n ru tad o res, q u e sólo necesitan c a p a c id ad p a ra u n flit. D e hecho, se asig n an ta n to el buffer com o el en lace a u n flit. E s la técnica d e c o n m u ta c ió n q u e u tiliza M y rin et, u n a red m u y ex ten d id a e n la actu alid ad p a ra clusters (m em oria d istrib u id a).
5.2.3.
Técnicas de encaminamiento
T anto si se utiliza co n m u tació n d e p aq u etes com o si se utilizan técnicas m ás recientes com o virtual cut-through o verm iform e, es necesario d e te rm in a r el cam ino q u e los paquetes van a seguir p a ra llegar del origen al d estin o (en el caso d e la co n m u tació n d e circuitos el encam inam iento tam bién se realiza, p ero es trem endam ente sencillo ya q u e se fija en d no d o origen c u an d o se realiza la reserva d d circuito com pleto para la tran sferen cia del m ensaje). U n algoritm o d e encam inam iento d eb e d e term in ar este cam ino asegurando la conectividad to tal (que cu alq u ier no d o puede enviar u n p a q u e te a cualquier otro) y evitando en to d o lo posible las situacio nes d e interbloqueo, e n las q u e d o s o m ás p aq u etes no pueden co n tin u a r su avance p o rq u e se bloquean esperando a q u e el o tro o los otro s lib e ra l un recurso. A dem ás, hay q u e in te n ta r ev itar q u e un paquete vague p o r la red ocu p an d o recursos sin llegar nunca a su destino, hay q u e p ro p o rcio n ar tolerancia a fallos y p ro c u ra r q u e exista u n a d istrib u ció n eq u ilib rada del tráfico en to d a la red. R ira d ise ñ a r algoritm os d e encam inam iento q u e perm itan conseguir esto s objetivos hay q u e to m a r tres decisiones fundam entales: 1.
2.
3.
C óm o se v a a realizar la selección del cam ino en tre to d a s las alternativas posibles. Existen d o s m a n e ra s d e re alizar e s ta selección, d e m a n e ra inconsciente o d e m a n e ra a d a p ta tiv a. En d p rim er caso se to m a la decisión sin tener en c u en ta p a ra n a d a el esta d o d e la re d y d e los co m p o n en tes q u e la fo rm an . Por lo ta n to se p u ed e u tilizar un alg o ritm o aleatorio, ro ta to rio o determ in ístico (q u e siem pre esco ja el m ism o cam in o p a ra ir d e un origen a u n d estin o d e te r m inado) q u e esco ja e n tre to d a s las o p ciones posibles. E n el caso d e u n alg o ritm o adaptativo, p o r el c o n tra rio , p a ra to m a r e s ta decisión se te n d rá en c u e n ta la info rm ació n m ás actu a lizad a q u e se te n g a acerca del e sta d o d e los recu rso s q u e form an la red (g rad o d e o cu p ació n , alertas y errores, etc.). A dem ás los alg o ritm o s d e encam in am ien to p u ed e n clasificarse en m ínim os y n o m ínim os. E n el p rim e r caso, sólo se pueden realizar e n cam in a m ien to s q u e acerquen los p a qu etes a su d estin o , m ien tras q u e en el segundo caso es posible alejarse del d e stin o e n alguno de los saltos. Q u é e n ru ta d o r va a to m a r e s ta decisión. E n este caso existen tres alternativas diferentes. E n p ri m er lugar, puede ser el propio n o d o origen el q u e incorpore en la cabecera del p aq u ete in fo rm a ció n acerca del encam inam iento. Puede in co rp o rar sólo alternativas y d e jar q u e los e n ru tad o res realicen la selección e n tre ellas (p o r ejem plo, si se utiliza u n algoritm o adaptativo, ya q u e serán los e n ru tad o res los q u e tengan la inform ación m ás actu alizada acerca del estad o d e la red). Pero tam bién pu ed en in co rp o rar las decisiones definitivas acerca del encam inam iento en d caso de algoritm os inconscientes. L a segunda alternativa im plica u n a decisión d istrib u id a e n tre to d o s los en rutadores. En este caso la cabecera del p aq u ete sólo in co rp o ra la dirección destino, q u e será la q u e perm ita a los en ru ta d o re s to m a r sus decisiones. P s r lo tanto, d paquete tiene un tam año m enor q u e c o n la prim era alternativa, pero p o r o tro lado, se invierte m ás tiem po a i to m a r las decisiones d e encam inam iento. P o r últim o, existe la alternativa del o ic a m in a d o r co itralizad o , u n a unidad hardw are en carg ad a exclusivam ente d e to m a r las d ed sio n es d e encam inam iento, p o r ejem plo, en las redes crossbar. D e qué m an e ra se va a im p lem en tar d algoritm o. H a sta el m om ento, d o s soluciones h an d a d o b u o i resultado, las tablas d e e n c a m in a m io ito y las m áq u in as d e estad o s finitos. C on cualquiera
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
de las d o s técnicas se tra ta d e averiguar las posibles alternativas d e encam inam iento en función de la dirección del no d o d estin o y d e to m a r u n a decisión a i base a los criterios d e encam inam ien to p a ra escoger u n a d e estas alternativas.
5.2.3.
Técnicas de control de flujo
E stas técnicas g aran tizan q u e las unidades d e inform ación (mensajes, p aq uetes o flits) llegan al d es tino sin q u e exista solapam iento c o n unidades previas o posteriores. A dem ás, aseguran q u e se produce u n a recepción sin errores, g a ra n tiz a n u n a c alid a d d e servicio m ínim a en la red y gestionan los posibles conflictos p o r recursos (especialm ente, p o r los recursos d e alm acenam iento a i los en ru tad o res y p o r los o il aces). L as técnicas d e co n tro l d e flujo se deben aplicar a diferentes niveles p a ra cu m p lir con to d as estas funcionalidades. N o rm alm o ite, se distingue e n tre control d e flujo extrem o a e x tra ñ o , control d e flujo d e conm utación y co n tro l d e flujo físico. C a d a u n o d e estos niveles co n fía en los q u e e stá n p o r debajo p a ra realizar sus funciones. El co n tro l d e flujo físico g a ra n tiz a q u e las unidades físicas d e inform ación o phits se reciben e n el destino correctam ente. P ir a ello pueden utilizarse técnicas síncronas o asincronas. E n el caso d e utilizar control d e flujo sín crono, es u n a señal d e reloj la q u e d eterm in a cuándo d nodo o rig o i deposita nuevos phits en el enlace y cu án d o e l n od o destino m uestrea el can al físico p a ra re d b id o s. Si las líneas q u e com ponen el o ila c e son m uy largas y existe el p d ig ro d e q u e el origen y el destino se des-sincronicen, se recurre a las so lu d o n es tradicionales; se envía la señal d e reloj del origen al destino p o r u n a línea adicional o se codifica e sta señal de reloj ju n to c o n los datos. En el caso d e u tilizar u n co n tro l d e flujo asincrono, se o n p le a n señales d e sincronización p a ra q u e el origen ind iq u e al d estin o q u e h a y un p h it en el enlace y p a ra q u e el destino confirm e al origen q u e lo ha recibido c o rre c ta m o ite y q u e e s tá esperan d o la transm isión d e u n nuevo phit. El co n tro l d e flujo d e c o n m u ta d ó n g a ra n tiz a q u e la u n idad d e inform ación utilizada en la co n m u tad ó n se transfiere co rrectam en te e n tre e n ru ta d o re s E sta s unidades son el p aq u ete p a ra técnicas d e c o n m u ta d ó n d e paquetes o virtual cu t-th ro u g h , y el flit p a ra la conm u tació n d e d rc u ito s (sonda d e reserva del d rc u ito ) o verm iform e. L as técnicas d e co n tro l d e flujo a i e ste nivel g aran tiz an q u e en el siguiente e n ru ta d o r haya espacio d e alm aco iam ien to suficiente p a ra r e d b ir la u n id a d d e inform ación. Si el co n tro l d e flujo físico es asincrono, la p ro p ia señalización d e control en v ío /recepdón e n tre origen y destino, perm ite realizar tam bién el co n tro l d e flujo d e conm utación. Por el c o n trario , si el co n tro l d e flujo físico es síncrono, se deben utilizar técnicas d e otro tipo p a ra el control d e flujo de c o n m u ta d ó n . L a s m ás con o cidas son el control d e flujo b asado en créditos y el control de flujo ST O P& G O . E n el c a so d e los créd ito s, se a ñ a d e u n a señal d e c o n tro l q u e se en v ía d esd e e l e n r u ta d o r destino h a c ia el e n r u ta d o r o rig en y q u e in fo rm a a c e rc a d e la d isp o n ib ilid a d d e e sp acio d e alm acen am ien to en el e n ru ta d o r d e stin o . E sta señal es la q u e c o n c ed e c réd ito p a r a el envío d e la u n id a d d e in fo rm a ción. Si se utilizan técnicas d e ST O P & G O , el c o n tro l d e flujo se b a sa en d o s tip o s d e señales, la d e G O , qu e in d ica al o ir u ta d o r origen q u e pu ed en en v iar u n id ad e s d e info rm ació n h a cia el d estino, y la de STOP, q u e in d ica q u e d e b e c e sa r el envío d e in form ación p o rq u e no q u e d a espacio d e alm acenam iento suficiente e n el e n ru ta d o r destino. E n el buffer d e c a d a e n ru ta d o r hay d o s niveles d e o cu p ació n d ife re n tes, el q u e h ace q u e se active la señal d e S T O P (cu an d o sólo q u e d a espacio p a ra alm acen ar las u n idades q u e en ese m o m en to se e stá n tra n sm itie n d o p o r el enlace) y el q u e hace q u e se active la señal d e G O (cuando se calcu la q u e en el tiem po q u e la señal d e G O llega al e n ru ta d o r origen se h a b rá liberado espacio suficiente en el buffer). E sta s técnicas son especialm ente in teresan tes en enlaces c o n an ch o de
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
b a n d a lim itado, y a q u e a h o rra n la m ayor p a rte d e la señalización d e c o n tro l q u e su p o n d ría u n a gestión p o r créditos. Por últim o, d co n tro l d e flujo extrem o a extrem o g arantiza q u e el m ensaje o paquete se transm ite correctam ente d esde la interfaz del no d o origen h asta la interfaz del nodo destino. E n este caso se pueden utilizar tam bién técnicas b a sad as en créditos o en ST O P& G O , au n q u e existen m ultitud d e propuestas específicas p a ra diferentes red es y arquitecturas.
E£1 Diseño de arquitecturas de memoria compartida En las arq u itectu ras d e m o n o ria c o m p a rtid a varios procesadores co m p arten u n a única m o n o ria principal c o n la q u e se com unican p o r un único bus y a través d e la cual se realiza la com unicación en tre los procesadores u tilizan d o instrucciones d e ca rg a y alm acoiam iento. R ira q u e la m em oria c o m p a rtid a no se c o nvierta en el cuello d e b o tella del sistem a son necesarias m o n o ria s caché d e g ran eficiencia, es decir, con u n a tasa d e fallos lo m en o r posible. Así los procesadores recurrirán lo m enos posible a la m o n o ria principal co m p a rtid a . E n las arq u itectu ras d e m em oria co m p a rtid a on-chip, en las q u e p u ed e q u e se esté c o m p artien d o u n nivel de la m em oria caché e n lugar d e la m o n o ria principal, este principio se cum ple igualm ente, c u a n to m o io s falle la caché d e nivel 1 d e los procesadores, m enos recu rrirán al nivel d e la m em oria caché q u e se com parte. L as técnicas d e diseño d e procesadores estu d iad as e n los cap ítulos 1 y 3 y las d e diseño d e je ra rq u ía d e m em orias estu d iad as e n los cap ítu lo s 2 y 4 se utilizan p a ra el diseño d e este tipo d e arquitecturas. Pero es necesario a ñ a d ir nuevas técnicas q u e p erm itan resolver los p ro b lo n a s ya m encionados: coherencia, consistencia y sincronización. Prim ero se estu d ia rá q u é im plican esto s p ro b lo n a s p a ra luego p asa r a discutir cuáles d e d io s se p o d rán resolver d esde la p ro p ia arq u itectu ra y cuáles se resolverán a un nivel superior. E ste estudio se cen tra rá en arq u itectu ras d e m o n o ria co m p artid a tra d id o n a le s (hom ogéneas y c o m p artien d o la m em oria principal), pero la m ayor p a rte d e las so lu d o n es p re so ita d a s pueden aplicarse directam ente o ad ap tarse con facilidad a arq u itectu ras on-chip (au n q u e sean heterogéneas y c o m p artan u n n ivd d e la m o n o ria caché). El problem a d e la coherencia aparece en el m om ento e n q u e existen diferentes copias d d m ism o d ato e n diferentes m em orias del sistem a. P o r e jo n p lo , e n el caso d e un bloque d e inform ación q u e esté riendo u tilizado p o r varios procesadores del s isto n a , se p o d rá e n c o n tra r co p ia d e este m ism o bloque en diferentes m em orias caché d e la arq u itectu ra y en la m em oria principal co m p a rtid a. En el m om ento en d q u e estas co p ias sean diferentes e n tre sí, aparece u n a falta de c o h e re n d a q u e puede llevar a resultados equivocados en la ejecución d e códigos, ya q u e hay q u e reco rd ar q u e en este tipo de arq u itectu ras los procesadores se com unican d e m an e ra im p líd ta a través d e lecturas y escrituras en m o n o ria . E sta co m u nicación n o se realizará co rrectam en te si n o se g a ra n tiz a q u e cu a n d o un procesador lee u n a variable esta lectura le e s tá devolviendo el ú ltim o valor q u e se h a escrito en ella.
E je m p lo 5.1 Ejem plo d el problem a de coherencia en una arquitectura de m em oria com partida. S u p o n g a m o s q u e te n e m o s u n a a rq u ite c tu ra d e m e m o ria c o m p a rtid a c o n 2 p ro c e s a d o re s , PO y P1. Cada u n o d e e s to s p ro c e s a d o re s tie n e u n ú n ic o n iv e l d e c a c h é c o n e s c ritu ra d ire c ta .
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
En e ste e je m p lo te n e m o s a PO y P1 e je c u ta n d o d o s p ro c e s o s q u e c o m p a rte n una v a ria b le A u b ic a d a en el b lo q u e 3 d e m e m o ria . S i lo s d o s p ro c e s o s re a liza n s ó lo le c tu ra s d e esta v a ria b le c o m p a rtid a , n o s u rg e n in g ú n p ro b le m a . P e ro , ¿ qué o c u rre si P1 e s c rib e u n n u e v o v a lo r pa ra la v a ria b le A en su c o p ia d e B3? A l s e r la s c a c h é s d e e s c ritu ra d ire c ta , este n u e v o v a lo r se a ctu a liza rá ta n to en la ca c h é d e P1 c o m o en la m e m o ria p rin c ip a l. Pero la s ig u ie n te le c tu ra q u e h a g a PO del v a lo r d e A , lo ha rá d e su c o p ia d e B 3 en su c a c h ó , q u e te n d rá a lm a c e n a d o el v a lo r an tig u o d e A . E ste es el típ ic o p ro b le m a d e c o h e re n c ia q u e s u rg e c u a n d o se p u e d e n a lm a c e n a r en las m e m o r ia s ca c h é la s v a ria b le s c o m p a r ti d a s y q u e d e b e re s o lv e rs e d e a lg u n a m a n e ra p a ra q u e lo s re s u lta d o s d e la s a p lic a c io n e s sean lo s c o rre c to s .
En d c aso d e la consistencia, este problem a aparece p o rq u e la existencia d e varios procesadores en el sistem a obliga a definir el o rden en el q u e se m aterializan las operaciones en m a n o ria principal. En sistem as m o n o p ro cesad o r este o rd o i e stá claro, y a q u e siem pre es el o rd o i del program a, es decir, debe parecer q u e las in stru c d o n e s q u e acceden a m em oria se h a n ejecutado e n d orden secuencial en el qu e aparecen en d código. E n realidad no tienen p o r q u é ejecutarse e n este orden (existen técnicas de ejecución fuera d e o rd o i com o se estu d ió a i el capítulo 3), pero sí tiene q u e parecer, p o r los resultados obtenidos, q u e se h a n ejecu tad o en este o rd en . En d caso d e u n a arquitectura con varios procesadores, hay q u e definir este orden. E s decii; hay q u e ded d ir cóm o se intercalan las instrucciones d e los códigos q u e se ejecutan a i c a d a uno d e los procesadores.
E je m p lo 5 .2 Ejem plo del problem a de consistencia en una arquitectura de m em oria com partida. S u p o n g a m o s q u e en el p ro c e s a d o r PO d e l e je m p lo 5.1 a p a re c e la s ig u ie n te se cu e n cia d e a s ig n a c ió n de v a lo re s a la v a ria b le c o m p a rtid a A :
PO
S a b e m o s q u e s e g ú n el m o d e lo d e p ro g ra m a c ió n d e la s a rq u ite c tu ra s m o n o p ro c e s a d o r, se d e b e re s p e ta r el o rd e n s e c u e n c ia l d e e sta s a s ig n a c io n e s , d e m a n e ra q u e el v a lo r d e la v a ria b le A q u e p re v a le c e es A = 1. S in e m b a rg o , en la a rq u ite c tu ra c o n d o s p ro c e s a d o re s , si n o s e n c o n tra m o s c o n e sta s e c u e n c ia d e a s ig n a c io n e s p a ra la v a ria b le c o m p a rtid a :
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
PO
P1
¿Cuál es el v a lo r d e la v a ria b le c o m p a rtid a q u e d e b e p re v a le c e r? E s to es lo q u e tie n e q u e d e fin ir el m o d e lo d e c o n s is te n c ia . D e p e n d ie n d o d e l q u e se im p le m e n to en esta a rq u ite c tu ra la v a ria b le m a n te n d rá el v a lo r A = 0 o el v a lo r A = 1.
Por últim o, el problem a d e la sincronización aparece, ya q u e la com unicación entre procesos se realiza a través d e u n a m em oria co m p artid a. P a ra q u e e sta com unicación sea correcta, es necesario sincronizar los accesos a las variables co m partidas, ta n to en com unicación u n o a u n o com o en com unicaciones c o lectivas.
E je m p lo 5 .3 E jem plo del problem a de sincronización en una arquitectura de m em oria com partida. S u p o n g a m o s en e ste c a s o q u e s ó lo el p ro c e s a d o r P1 tie n e c o p ia d e la v a ria b le c o m p a rtid a A en su m e m o ria c a c h ó p o rq u e está a c u m u la n d o en e lla el re s u lta d o d e u n a o p e ra c ió n m a te m á tic a . C u a n d o te rm in e esta o p e ra c ió n , el p ro c e s o q u e se está e je c u ta n d o en PO tie n e q u e le e r su v a lo r, m o d ific a r lo e im p r im ir lo en p a n ta lla pa ra q u e el u s u a rio v is u a lic e el re s u lta d o o b te n id o .
A u n q u e se h a ya d e fin id o u n m o d e lo d e c o n s is te n c ia , e s to n o re s u e lv e el p ro b le m a p la n te a d o , y a q u e en e s te c a s o n e c e s ita m o s a lg ú n m e c a n is m o q u e a s e g u re al p ro c e s o q u e se e je c u ta en P O c u a n d o re a lic e la le c tu ra d e la v a ria b le c o m p a rtid a A q u e el p ro c e s a d o r P1 y a ha te r m in a d o d e tr a b a ja r c o n esta v a ria b le y q u e se está le y e n d o d e m e m o ria p rin c ip a l el re s u lta d o fin a l.
5.
5.3.1.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
Soluciones para el problema de la coherencia
E ste p ro b lem a se p u e d e resolver exclusivam ente d esd e la p ro p ia a rq u ite c tu ra , a ñ a d ien d o c o n tro la d o re s d e co h e re n c ia a las m e m o ria s cach és q u e e stá n en el ú ltim o nivel d e la je ra rq u ía d e m e m o ria q u e no e s tá co m p a rtid o . E s decir, si se c o m p a rte la m em oria p rin cip al, se a ñ ad en e sto s c o n tro lad o res a las cachés d e nivel 2 d e to d o s los procesadores. Si se c o m p a rte el nivel 2 d e caché, se a ñ ad e n a las cachés de nivel 1. E stos c o n tro lad o res d e co herencia se b asan a i u n a idea m uy sencilla: pueden esp iar en todo m o m ento lo q u e e stá n haciendo el resto d e procesadores del sistem a ya q u e existe u n m edio co m p artid o de com unicaciones, un bus. P o r eso se b asan en p rotocolos d e coherencia q u e se d en om inan d e espionaje o Snoopy (figura 5.26).
P roce sador \
/I
P rocesador
P rocesador
C om a n d o (D irección X)
M e m o ria P rincipa l
E s p a c io d e D ire c c io n e s ú n ic o
Bus C o m p a rtid o |
i
F ig u r a 5 .1 6
P r o to c o lo d e c o h e r e n c ia b a s a d o e n e s p io n a je c o n u n n iv e l d e c a c h é .
f ó r a d ise ñ a r un p ro to co lo d e este tipo e s necesario especificar: • Los posibles esta d o s d e u n bloque alo jado en u n determ in ad o m arco d e la caché d e un p ro ce sador. • Los co m an d o s del p rotocolo, es decir, las órdenes o peticiones q u e los co n tro lad o res envían p o r el bus p a ra q u e sean vistas p o r o tro s controladores. • El d iag ram a d e tran sició n d e estad o s d e los bloques en caché, co n los eventos q u e pueden provocar estas transiciones y las acciones q u e hay q u e llevar a cabo an te d eterm in ad o s eventos, transiciones o com andos. L os esta d o s y co m an d o s pueden v ariar m ucho d e u nos protocolos a otros, p o r lo q u e es difícil p ro poner u n a n otación general. Sin em bargo, p a ra la definición d e eventos, en e ste libro se va a diferenciar siem pre e n tre d o s tipos, los locales y los globales. L os e v en to s locales son aquellos q u e se p ro d u cen p o r acciones q u e lleva a cabo el p ro ce sad o r asod a d o a la p ro p ia c ach é y a su co n tro lad o r. L os eventos globales, p o r el c o n trario , se producen cu a n d o
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
se o b serv an en el b u s c o m p a rtid o c o m a n d o s en v iados p o r los c o n tro la d o re s d e coh eren cia d e cachés rem otas. L os eventos locales pueden ser, p o r ta n to , d e cu atro tipos: • • • •
PRHit. Petición local d e lectura c o n acierto en caché. PRM iss. Petición local d e lectu ra c o n fallo en caché. PW Hit. Petición local d e e sc ritu ra con acierto en caché. PW M iss. Petición local d e escritu ra c o n fallo en caché.
En el caso d e los eventos globales, siem pre se utilizará la notación B us p a ra identificarlos, seguida del nom b re del co m an d o q u e se observa. H a b rá siem pre un tip o d e evento global p o r c a d a co m a n d o del protocolo. E sto s eventos globales ten d rán lug ar cu an d o un co n tro lad o r d e coherencia detecte q u e un determ in ad o co m a n d o q u e o tro co n tro la d o r h a volcado a i el bus se refiere a u n a dirección d e m a n o ria qu e está u b icad a en ese m om ento e n la m em oria caché local. Por ejem plo, BusRMiss(X) sería el evento en el q u e se observa e n el bus q u e otro procesador ha volcado un c o m an d o d e fallo d e lectu ra p o r la dirección d e m em oria X, q u e e stá u b icad a en la m a n o ria caché local. Además, hay q u e ten er en cu en ta q u e ex isto i d o s alternativas p a ra diseñar estos protocolos, la inva lidación y la actualización. En d caso d e los p rotocolos d e invalidación, se basan en asegurar q u e un procesador tiene acceso ex clusivo a u n bloque d e d a to s antes d e escribir en él. P a ra ello, cuando un p ro cesador desea escribir sobre un bloque, a n te s o iv ía u n co m a n d o d e invalidación p o r el bus q u e invalida el resto d e las co p ias e n o tra s cachés d d sistem a. A p a rtir d e ese m om ento n o quedan m ás co p ias válidas d e ese bloque a i o tra s cachés y los fu tu ro s accesos sobre el bloque m odificado serán en exclusiva. U n bloque inválido es equivalente a un bloque n o p resente en caché, cu an d o se solicita p roduce u n fallo. Al produ cirse este fallo p u ed en o cu rrir d o s cosas. Si las cachés son d e post-escritura, la única co p ia co rrecta del d a to está a i la caché q u e lo tiene e n exclusiva. E n ese caso, d co n tro lad o r d e caché m onitoriza el bus p a ra d etectar solicitudes del b lo q u e m odificado y enviarlo actualizado a los procesadores q u e lo necesiten o a la m a n o ria p rin d p a l p a ra q u e sea ésta la q u e se o ic a rg u e d e resolver el fallo con el d ato ya actualizado (lo q u e o cu rre n orm alm ente). Si las cachés son d e escritu ra d ire c ta h a b rá u n a c o p ia co rrecta d e la inform ación a i la m em oria principal tra s la escritura, así q u e e s ta m onitorización no es necesaria y es la m em oria p rin d p a l la q u e resuelve el fallo com o o cu rre norm alm ente. L a a c tu a liz ac ió n se b a sa en q u e to d o s los d a to s e stá n siem pre a c tu a liz ad o s en las d iferen tes cachés. P a ra ello, c u a n d o se escrib e en u n b lo q u e en un p ro c e sa d o r d e te rm in a d o se d ifu n d en p o r el bus las m odificacio n es realizad as a to d a s las cach és q u e tienen u n a c o p ia d e este bloque, y ésta s lo actu alizan . L a actualizació n es n ecesaria sólo a i caso d e d a to s co m p artid o s, es d ec ir q u e tengan m últiples co p ias en d iferen tes cachés. P o r ello se h ace u n a c la ra d istin ció n e n tre d a to s c o m p a rtid o s y locales. E sto perm ite ev itar actualizacio n es innecesarias y reducir las necesidades d e an ch o d e b a n d a p a ra la actualización. Si las cachés son d e escritu ra d irecta, c a d a actualización d e u n a escritu ra servirá tam b ién p a ra m o dificar el con ten id o d e la m em oria principal. Si p o r el co n trario , las cachés son de post-escritura, las actualizaciones sólo se realizarán e n o tra s cachés y la m em oria principal sólo se actu alizará en los reem plazam ientos, com o es h ab itu al. Veamos la diferencia e n tre invalidación y actualización co n d o s e jo n p lo s sencillos. P a ra ello vam os a d iseñ ar d o s p rotocolos d e co herencia d e caché, u n o de invalidación y otro d e actualización, am bos d e tres estados, ya q u e son los m ás soicillos q u e pueden p ro p o n e rse En am b o s casos vam os a suponer q u e las cachés son d e post-escritura.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
E je m p lo 5 .4 P rotocolo de coherencia de caché basado en espionaje, de 3 estados y con invalidación. Cachés de post-escritura. En este e je m p lo te n e m o s un p ro to c o lo q u e d e fin e tre s esta do s p o s ib le s pa ra tos b lo q u e s u b ic a d o s en caché: • In v á lid o (I). El b lo q u e n o está en la c a c h ó y si lo ha e s ta d o en a lg ú n m o m e n to , ha s id o in v a lid a d o , p o r lo q u e c u a n d o el p ro c e s a d o r lo s o lic ita p a ra le e r o p a ra e s c rib ir se p ro d u c e u n fa llo . • C o m p a rtid o o S h a re d (S). El b lo q u e está en la c a c h ó y es c o h e re n te c o n la m e m o ria p rin c ip a l. P u e d e q u e e x is ta n o tra s c o p ia s e n e sta s m is m a s c o n d ic io n e s en la s c a c h ó s d e o tro s p ro c e s a d o re s . • M o d ific a d o (M ). El b lo q u e está en la c a c h ó y n o es c o h e re n te c o n la m e m o r ia p rin c ip a l. E s to s ig n ific a q u e se ha re a liz a d o al m e n o s u n a e s c ritu ra s o b re él y q u e p o r lo ta n to , es la ú n ic a c o p ia en la s c a c h ó s del s is te m a (la c a c h ó lo c a l tie n e el b lo q u e en e x c lu s iv a ). E ste p ro to c o lo M S I u tiliza d o s c o m a n d o s pa ra m a n te n e r la c o h e re n c ia en el s is te m a , R M iss (fa llo d e le c tu ra ) y W M 'iss (fa llo d e e s c ritu ra + in v a lid a c ió n im p líc ita ). P o r ú ltim o , se c o n te m p la n d o s a c c io n e s , la p rim e ra d e n o m in a d a W B im p lic a el v o lc a d o d e u n b lo q u e c o m p le to al b u s c o m p a rtid o pa ra a c tu a liz a r su c o n te n id o en la m e m o ria p rin c ip a l, la se g u n d a es una a c c ió n In v a lid a r q u e im p lic a m a rc a r c o m o in v á lid o u n b lo q u e d e la c a c h ó lo ca l. El d ia g ra m a d e tra n s ic ió n d e e s ta d o s p a ra e ste p r o to c o lo es el s ig u ie n te :
A n a lic e m o s la s tr a n s ic io n e s q u e se p ro d u c e n d e s d e ca d a u n o d e lo s e sta d o s: ESTADO
ESTADO
U K Iu c i M
H Ct C IA U o T1IIKI M U
DELA TRANSICIÓN
DELA TRANSICIÓN
1
S
EVENTO QUE LA PROVOCA
PR M iss
EXPLICACIÓN
El p ro c e s a d o r lo c a l s o lic ita le e r u n b lo q u e q u e n o está u b ic a d o en la ca c h ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l c o n un c o m a n d o R M iss q u e re s u e lv a e ste fa llo d e le c tu ra . El re s to d e p ro c e sa d o re s s u fre n u n e v e n to g lo b a l B u sR M iss si ve n e ste c o m a n d o en el b u s c o m p a r tid o y le s a fe cta. La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
ESTADO
s
M
ESTADO
EVENTO QUE LA PROVOCA
EXPLICACIÓN
M
P W M is s
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir u n b lo q u e q u e n o está u b ic a d o en la c a c h ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l co n un c o m a n d o W M is s q u e re s u e lv a e ste f a llo d e e s c ritu ra . La c o p ia q u e se re c ib e d e l b lo q u e es la ú n ic a u b ic a d a en c a c h ó de to d a la a rq u ite c tu ra .
S
PR H it
El p ro c e s a d o r lo c a l s o lic ita le e r un b lo q u e q u e y a está u b ic a d o en la ca ch ó , p o r lo q u e se p ro d u c e u n a c ie rto y el e s ta d o d e e ste b lo q u e n o se m o d ific a .
S
PR M iss
El p ro c e s a d o r lo c a l s o lic ita le e r u n b lo q u e q u e n o está u b ic a d o en la ca c h ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l c o n un c o m a n d o R M is s q u e re s u e lv a e ste fa llo d e le c tu ra . La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a . Esta c o p ia re e m p la z a a la d e u n b lo q u e q u e ta m b ié n e sta ba e n e s ta d o c o m p a r tid o (S), p o r lo q u e la e tiq u e ta a so c ia d a al m a r c o e s c o g id o pa ra el e m p la z a m ie n to n o se m o d ific a .
M
P W H it
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir un b lo q u e q u e ya está u b ic a d o en la c a c h ó , p o r lo q u e se p r o d u c e un a c ie rto . P e ro se v u e lc a u n c o m a n d o W M is s en el b u s c o m p a r tid o q u e s irv e c o m o o rd e n d e in v a lid a c ió n d e e s te b lo q u e p a ra su s p o s ib le s c o p ia s en o tra s ca ch é s. La c o p ia d e l b lo q u e en c a c h ó es e x c lu s iv a .
M
P W M iss
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir u n b lo q u e q u e n o está u b ic a d o en la c a c h ó , se p ro d u c e u n fa llo y se s o lic ita a la m e m o ria p rin c ip a l co n un c o m a n d o W M is s q u e re s u e lv a e ste f a llo d e e s c ritu ra . E ste c o m a n d o s irv e al m is m o tie m p o c o m o o rd e n d e in v a lid a c ió n d e e ste b lo q u e p a ra su s p o s ib le s c o p ia s en o tra s ca ch é s. La c o p ia q u e se r e c ib e d e l b lo q u e es e x c lu s iv a , n o h a y m á s c o p ia s en las c a c h é s d e l siste m a .
S
B u sR M iss
Se o b s e rv a en el b u s c o m p a r tid o u n f a llo d e le c tu ra d e o t r o p ro c e s a d o r p o r u n b lo q u e q u e está u b ic a d o en la ca c h ó lo c a l. S u e s ta d o n o se m o d ific a .
1
B u s W M is s
Se o b s e rv a en el b u s c o m p a r tid o u n fa llo d e e s c ritu ra d e o t r o p ro c e s a d o r p o r u n b lo q u e q u e está u b ic a d o en la c a c h ó lo c a l. E ste c o m a n d o lle va im p líc ita una o rd e n d e in v a lid a c ió n ya q u e en lo s p r o to c o lo s d e in v a lid a c ió n la s e s c ritu ra s se h a c e n en c o p ia s e x c lu s iv a s . Se in v a íd a la c o p ia lo c a l d e l b lo q u e .
M
PR H it
El p ro c e s a d o r lo c a l s o lic ita le e r un b lo q u e q u e ya está u b ic a d o en la ca ch ó , p o r lo q u e se p ro d u c e u n a c ie rto y el e s ta d o d e e ste b lo q u e n o se m o d ific a .
S
PR M iss
El p ro c e s a d o r lo c a l s o lic ita le e r u n b lo q u e q u e n o está u b ic a d o en la ca ch ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l c o n un c o m a n d o R M is s q u e re s u e lv a e ste f a llo d e le c tu ra . La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a . Esta c o p ia re e m p la z a a la d e un b lo q u e q u e e sta ba en e s ta d o m o d ific a d o (M ), p o r lo q u e a n te s d e re e m p la z a rlo h a y q u e v o lc a r las m o d ific a c io n e s re a liz a d a s a m e m o ria p rin c ip a l (p o s t-e s c ritu ra ) co n una a c c ió n W B .
5.
ESTADO
ESTADO
DELA TRANSICIÓN
D ELA TRANSICIÓN
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
EVENTO QUE LA PROVOCA
EXPLICACION
M
P W H it
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir un b lo q u e q u e ya está u b ic a d o en la c a c h é y en e x c lu s iv a , p o r lo q u e se p r o d u c e u n a c ie rto y el e s ta d o d e e ste b lo q u e n o se m o d ific a .
M
P W M is s
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir u n b lo q u e q u e n o está u b ic a d o en la c a c h ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l co n i n c o m a n d o W M is s q u e re s u e lv a e ste f a llo d e e s c ritu ra . Este c o m a n d o s irv e al m is m o tie m p o c o m o o rd e n d e in v a lid a c ió n d e e ste b lo q u e pa ra su s p o s ib le s c o p ia s en o tra s ca ch ó s. La c o p ia q u e se r e c ib e d e l b lo q u e es e x c lu s iv a , n o h a y m á s c o p ia s en las c a c h ó s d e l siste m a . Esta c o p ia re e m p la z a a la d e u n b lo q u e q u e ta m b ié n e sta ba en e s ta d o m o d ific a d o (M ), p o r lo q u e a n te s d e re e m p la z a rlo h a y q u e v o lc a r las m o d ific a c io n e s re a liz a d a s a m e m o ria p rin c ip a l (p o s t-e s c ritu ra ) co n in a a c c ió n W B .
S
B u sR M iss
Se o b s e rv a en el b u s c o m p a r tid o u n f a llo d e le c tu ra d e o tr o p ro c e s a d o r p o r u n b lo q u e q u e está u b ic a d o en la c a c h é lo c a l y n o es c o h e re n te c o n m e m o ria p rin c ip a l. Se realiza u n a a c tu a liz a c ió n d e la m e m o ria p rin c ip a l c o n una a c c ió n de W B p a ra q u e se p u e d a r e s o lv e r el fa llo y se c a m b ia d e e s ta d o al b lo q u e p u e s to q u e ya n o es c o p ia e x c lu s iv a y pasa a s e r c o h e re n te con m e m o ria p rin c ip a l.
I
B u s W M is s
Se o b se rva en el b u s c o m p a r tid o u n fa llo d e e s c ritu ra d e o tr o p r o c e s a d o r p o r un b lo q u e q u e está u b ic a d o en la ca c h ó lo c a l y n o es c o h e re n te c o n m e m o ria p rin c ip a l. Se re a liz a u n a a c tu a liz a c ió n d e la m e m o r ia p rin c ip a l c o n u n a a c c ió n d e W B p a ra q u e s e p u e d a r e s o lv e r el f a llo y s e c a m b ia d e e s ta d o al b lo q u e p u e s to q u e el W M is s d e o tr o p ro c e s a d o r lle v a u n a o rd e n d e in v a lid a c ió n im p líc ita . Es d e c ir, s e in v a lid a la c o p ia lo c a l d e l b lo q ue.
E je m p lo 5 .5 A plicación práctica del p ro to co lo del ejem plo 5.4. Para c o m p r e n d e r m e jo r el fu n c io n a m ie n to d e e ste p ro to c o lo , v a m o s a p la n te a r u n c a s o p rá c tic o en el q u e se u tiliz a rá pa ra m a n te n e r la c o h e re n c ia d e u n a a rq u ite c tu ra d e m e m o ria c o m p a rtid a . S u p o n g a m o s q u e te n e m o s una a rq u ite c tu ra d e e ste tip o c o n tr e s p ro c e s a d o re s (PO, P1 y P2) c u y a s c a c h ó s e stán in ic ia lm e n te va cía s. ¿ C ó m o e v o lu c io n a n lo s c o n te n id o s d e la s c a c h é s y el p r o to c o lo si se e je c u ta la s i g u ie n te s e c u e n c ia d e le c tu ra s y e s c ritu ra s en lo s b lo q u e s 0 y 1 d e M P? * N ota: Las le ctu ra s y e scritu ra s se realizan c o n in s tru c c io n e s de load y s to re a pa la bra s con creta s, en este c a so estam os s im p lific a n d o la m anera de expresar e l p a tró n d e accesos a m e m o ria p o rq u e lo ú n ic o q u e n o s im p o rta es en q u é b lo q u e s se e n cuentran esas palabras y s i se s o lic ita una lectura o una escritura.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Procesador 0
le e el
Procesador 1 l e e
el
Bloque 1 Bloque 1
Procesador 2 escribe el bloque 0 Procesador 0 escribe el bloque 1 Procesador 0 lee el bloque 0 Procesador 2 escribe el bloque 1
Caché PO
C aché PO
S
Caché PO
S
B1
B1
Caché PO
S
Caché PO
M
B1
Caché Pl
B1
M
b
:
rrrw n Caché P1
Caché P1
Caché P1
S
Caché P2
Caché P2
B1
Caché P2
Caché P l
¡ Si l f t l
L e c tu r a /e s c ritu r a
m rR H Caché P2
Caché P!
BO 1
m ih b o ~
S jC E D BB
PO ESCRIBE B1
E v e n to lo c a l
LU ESL.
1
w INICIO
Caché P.
Caché P1
Caché P2
IM
Caché PO
LU LU J r s if B o i
PO IEE
10
Caché P l
[1
~B
l
Caché P2
ESC S C I 3 E P2 ESCRIBE B 1
C o m a n d o s y a c c io n e s
PO le e B1
F allo d e le c tu ra
PO v u e lca u n c o m a n d o R M is s al bus. M P re s u e lv e el f a llo d e le c tu ra .
P1 le e B1
F allo d e le c tu ra
P1 v u e lca u n c o m a n d o R M is s al bus. PO d e te c ta e ste c o m a n d o (e v e n to B u sR M iss) p e ro n o m o d ific a el e s ta d o d e su co p ia . M P re s u e lv e el f a llo d e le c tu ra .
P2 e s c rib e BO
F a llo d e e s c ritu ra
P2 v u e lca u n c o m a n d o W M is s al bus. M P re s u e lv e el f a llo d e e s c ritu ra .
PO e s c rib e B1
A c ie r to d e e s c ritu ra
PO v u e lv a un c o m a n d o W M is s al b u s. P1 d e te c ta e ste c o m a n d o (e v e n to B u s W M is s ) e in v a lid a s u c o p ia d e B1. M P re s u e lv e el f a llo d e e s c ritu ra (en e ste c a s o in n e c e s a rio ).
PO le e BO
F allo d e le c tu ra
PO v u e lca u n c o m a n d o R M is s al bus. P2 d e te c ta e s te c o m a n d o (e v e n to B u sR M iss) y h a c e u n W B de BO a m e m o ria p rin c ip a l, m o d ific a n d o a d e m á s el e s ta d o d e su co p ia . M P re s u e lv e el f a llo d e le c tu ra .
P2 e s c rib e B1
F a llo d e e s c ritu ra
P2 v u e lca u n c o m a n d o W M is s al bus. PO d e te c ta e ste c o m a n d o (e v e n to B u s W M is s ) y h a ce u n W B de B1 a m e m o ria p rin c ip a l, in v a lid a n d o d e s p u é s su co p ia . M P re s u e lv e el f a llo d e e s c ritu ra .
C o n e s te e je m p lo se p u e d e o b s e rv a r q u e e ste s e n c illo p r o to c o lo d e tr e s e s ta d o s y d o s c o m a n d o s re s u e lv e el p ro b le m a d e la c o h e re n c ia .
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
O b v ia m e n te , esta s e n cille z h a c e q u e su c o m p re n s ió n e im p le m e n ta c ió n sea m u y se n cilla p e ro ta m b ié n p re s e n ta a lg u n o s in c o n v e n ie n te s , e s p e c ia lm e n te d o s: • C u a n d o u n p ro c e s a d o r tie n e u n a c ie rto lo c a l d e e s c ritu ra e n vía u n c o m a n d o W M is s p o r el b u s c o m p a r ti d o ya q u e e ste c o m a n d o lle v a una o rd e n d e in v a lid a c ió n im p líc ita pa ra el re s to d e c a c h ó s . El p ro b le m a es q u e la m e m o ria p rin c ip a l re s p o n d e a e ste c o m a n d o re s o lv ie n d o u n fa llo q u e r e a lm e n te n o s e ha p r o d u c id o , lo q u e s u p o n e u n t r á fic o in n e c e s a rio en el b u s c o m p a r tid o (un b lo q u e c o m p le to en ca d a a c ie rto de e s c ritu ra d e u n p ro c e s a d o r). La m a n e ra d e e v ita r e s to sería a ñ a d ir u n c o m a n d o d e in v a lid a c ió n e x p líc ito , In v , in d e p e n d ie n te d e l c o m a n d o d e f a llo d e e s c ritu ra W M is s . • A u n q u e re s o lv a m o s e ste p ro b le m a , s ie m p re q u e u n p ro c e s a d o r s o lic ite e s c rib ir en u n d e te r m in a d o b lo q u e e n v ia rá una o rd e n d e in v a lid a c ió n p a ra e ste b lo q u e p o r el b u s c o m p a r tid o (sea c o n W M is s o c o n In v si lo h e m o s a ñ a d id o c o m o c o m a n d o ) y a q u e n o tie n e fo rm a d e s a b e r si su c o p ia es la ú n ic a d e l s is te m a o si p o r el c o n tra r io , e x is te n c o p ia s d e l m is m o b lo q u e en o tra s c a c h é s . Si su c o p ia es ú n ic a , e ste c o m a n d o n o s irv e p a ra n a d a , p o r lo q u e d e n u e v o te n d ría m o s tr á fic o in n e c e s a rio en el b u s c o m p a r tid o . La m a n e ra d e e v ita r e s to sería a ñ a d ir u n c u a rto e s ta d o . E x c lu s iv o (E), q u e e s p a ra lo s b lo q u e s q u e so n c o p ia ú n ic a e n el s is te m a y so n c o h e re n te s c o n m e m o ria p rin c ip a l. D e esta m a n e ra se d ife re n c ia co n fa c ilid a d en q u é s itu a c io n e s so n n e c e s a ria s la s in v a lid a c io n e s (c u a n d o el b lo q u e está c o m p a r tid o y h a y q u e in v a lid a r el re s to d e c o p ia s ) y en q u é s itu a c io n e s n o (c u a n d o la c o p ia d e l b lo q u e es ú n ic a y se p u e d e p a s a r a e s c rib ir s o b re él d ire c ta m e n te ). E sto s p r o to c o lo s d e 4 e s ta d o s s u e le n d e n o m in a rs e M E S I y so n a m p lia m e n te u tiliz a d o s .
E je m p lo 5 .6 P rotocolo de coherencia de caché basado en espionaje, de 3 estados y con actualización. Cachés de post-escritura. En e s te e je m p lo te n e m o s d e n u e v o u n p r o to c o lo q u e d e fin e t r e s e s ta d o s p o s ib le s p a ra lo s b lo q u e s u b ic a d o s en c a c h é : • E s ta d o in ic ia l o u n c a c h e d (U). El b lo q u e n o está en la c a c h é , p o r lo q u e c u a n d o el p ro c e s a d o r lo s o lic ita pa ra le e r o p a ra e s c rib ir se p ro d u c e u n fa llo . • V á lid o (V). El b lo q u e está en la c a c h ó y n o ha s id o m o d ific a d o m e d ia n te e s c ritu ra s lo c a le s . P u e d e q u e e x is ta n o tra s c o p ia s en la s c a c h ó s d e o tro s p ro c e s a d o re s , to d a s e lla s c o h e re n te s e n tre sí. • M o d ific a d o (M ). El b lo q u e está en la c a c h ó y n o es c o h e re n te co n la m e m o r ia p rin c ip a l p o rq u e el p ro c e s a d o r lo c a l ha re a liz a d o al m e n o s u n a e s c ritu ra s o b re él. P u e d e q u e e x is ta n o tra s c o p ia s en la s c a c h ó s de o tro s p ro c e s a d o re s , to d a s e lla s c o h e re n te s e n tre sí. *N o ta : C on esta d e fin ic ió n es p o s ib le q u e un b lo q u e esté en esta d o M o d ific a d o en m ás de una m e m o ria c a c h é d e l s is tem a.
Este p r o t o c o b u tiliz a d o s c o m a n d o s pa ra m a n te n e r la c o h e re n c ia en el s is te m a , M is s (fa llo ) y U p d (a c tu a li z a c ió n d e la p a la b ra m o d ific a d a ). Por ú ltim o , se c o n te m p la n d o s a c c io n e s , W B ( v o lc a d o d e u n b lo q u e c o m p le to al b u s c o m p a r tid o p a ra a c tu a liz a r su c o n te n id o en la m e m o ria p rin c ip a l) y A c tM C (a c tu a liz a c ió n d e la m e m o ria ca c h ó b c a l c o n lo s c o n te n id o s d e u n c o m a n d o U p d en el b u s c o m p a rtid o ).
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
El d ia g ra m a d e tra n s ic ió n d e e s ta d o s p a ra e ste p r o to c o lo es el s ig u ie n te :
M is s i W B»Upd
A n a lic e m o s la s tr a n s ic io n e s q u e se p ro d u c e n d e s d e ca d a u n o d e lo s e sta d o s:
ESTADO
ESTADO
DELA TRANSICIÓN
DELA TRANSICIÓN
u
V
PR M iss
El p ro c e s a d o r lo c a l s o lic ita le e r u n b lo q u e q u e n o está u b ic a d o en la ca ch é , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l, c o n un c o m a n d o M is s , q u e re s u e lv a e ste fa llo d e le c tu ra . La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a .
M
P W M iss
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir u n b lo q u e q u e n o está u b ic a d o en la c a c h ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l, co n un c o m a n d o M is s , q u e re s u e lv a e ste f a llo d e e s c ritu ra . La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a . C u a n d o se rea liza la e s c ritu ra lo c a lm e n te se e n vía c o n u n c o m a n d o U p d el n u e v o v a lo r d e la p a la b ra e s c rita p o r el b u s c o m p a rtid o .
V
PR H it
El p ro c e s a d o r lo c a l s o lic ita le e r un b lo q u e q u e ya está u b ic a d o en la ca c h ó , p o r lo q u e se p ro d u c e u n a c ie rto y el e s ta d o d e e ste b lo q u e n o se m o d ific a .
V
PR M iss
El p ro c e s a d o r lo c a l s o lic ita le e r u n b lo q u e q u e n o está u b ic a d o en la ca ch ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l, c o n un c o m a n d o M is s , q u e re s u e lv a e ste fa llo d e le c tu ra . La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a . Esta c o p ia re e m p la z a a la d e u n b lo q u e q u e ta m b ié n e sta ba e n e s ta d o v á lid o (V), p o r lo q u e la e tiq u e ta a so cia d a al m a rc o e s c o g id o p a ra el e m p la z a m ie n to n o se m o d ific a .
V
EVENTO QUE LA PROVOCA
EXPLICACION
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
EVENTO QUE LA PROVOCA
M
EXPLICACIÓN
M
P W H it
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir un b lo q u e q u e ya está u b ic a d o en la c a c h ó , p o r lo q u e se p ro d u c e u n a c ie rto . C u a n d o se rea liza la e s c ritu ra lo c a lm e n te se e n vía c o n u n c o m a n d o U p d el n u e v o v a lo r d e la p a la b ra e s c rita p o r el b u s c o m p a rtid o .
M
P W M is s
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir u n b lo q u e q u e n o está u b ic a d o en la c a c h ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l, co n un c o m a n d o M is s , q u e re s u e lv a e ste f a llo d e e s c ritu ra . La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a . C u a n d o se rea liza la e s c ritu ra lo c a lm e n te se e n vía c o n u n c o m a n d o U p d el n u e v o v a lo r d e la p a la b ra e s c rita p o r el b u s c o m p a rtid o .
S
B u s M is s
Se o b se rva en el b u s c o m p a rtid o u n fa llo d e o tr o p ro c e s a d o r p o r un H o q u e q u e está u b ic a d o en la c a c h ó lo c a l. Su e s ta d o n o se m o d ific a .
S
B u sU p d
Se d e te c ta en el b u s c o m p a rtid o una a ctu a liza ció n q u e afecta a un b lo q u e u b ic a d o en la c a c h ó . S e realiza la a c c ió n A c tM C pa ra a c tu a liz a r el c o n te n id o d e este b lo q u e c o n la p a la b ra e s c rita en o tr o p ro ce sa d o r.
M
PR H it
El p ro c e s a d o r lo c a l s o lic ita le e r un b lo q u e q u e y a está u b ic a d o en la ca ch ó , p o r lo q u e se p ro d u c e u n a c ie rto y el e s ta d o d e e ste b lo q u e n o se m o d ific a .
V
PR M iss
El p ro c e s a d o r lo c a l s o lic ita le e r u n b lo q u e q u e n o está u b ic a d o en la ca ch ó , se p ro d u c e u n f a llo y se s o lic ita a la m e m o ria p rin c ip a l, c o n un c o m a n d o M is s , q u e re s u e lv a e ste fa llo d e le c tu ra . La c o p ia d e l b lo q u e q u e se re c ib e p u e d e s e r la ú n ic a d e l s is te m a o p u e d e e sta r c o m p a rtid a . Esta c o p ia re e m p la z a a la d e u n b lo q u e q u e e sta ba en e s ta d o m o d ific a d o (M ), p o r lo q u e a n te s d e re e m p la z a rlo h a y q u e v o lc a r las m o d ific a c io n e s re a liz a d a s a m e m o ria p rin c ip a l (p o s t-e s c ritu ra ) co n una a c c ió n W B .
M
P W H it
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir un b lo q u e q u e ya está u b ic a d o en la c a c h ó , p o r lo q u e se p r o d u c e u n a c ie rto y el e s ta d o d e e ste b lo q u e n o se m o d ific a . C u a n d o se rea liza la e s c ritu ra lo c a lm e n te se e n vía c o n u n c o m a n d o U p d el n u e v o v a lo r d e la p a la b ra e s c rita p o r el b u s c o m p a rtid o .
M
P W M iss
El p ro c e s a d o r lo c a l s o lic ita e s c rib ir u n b lo q u e q u e n o está u b ic a d o en la c a c h ó , se p ro d u c e u n fa llo y se s o lic ita a la m e m o ria p rin c ip a l co n un c o m a n d o M is s q u e re s u e lv a e ste f a llo d e e s c ritu ra . Esta c o p ia re e m p la z a a la d e u n b lo q u e q u e ta m b ié n e sta ba e n e s ta d o m o d ific a d o (M ), p o r lo q u e a n te s d e re e m p la z a rlo h a y q u e v o lc a r las m o d ific a c io n e s re a liz a d a s a m e m o ria p rin c ip a l (p o s t-e s c ritu ra ) co n in a a c c ió n W B . C u a n d o se rea liza la e s c ritu ra lo c a lm e n te se e n vía c o n u n c o m a n d o U p d el n u e v o v a lo r d e la p a la b ra e s c rita p o r el b u s c o m p a rtid o .
V
B u sM iss
Se o b s e rv a en el b u s c o m p a r tid o u n fa llo d e o t r o p ro c e s a d o r p o r u n b lo q u e q u e está u b ic a d o en la c a c h ó lo c a l y n o es c o h e re n te co n m e m o ria p rin c ip a l. Se realiza u n a a c tu a liz a c ió n d e la m e m o ria p rin c ip a l c o n una a c c ió n d e W B p a ra q u e se p u e d a r e s o lv e r el fa llo y se c a m b ia d e e s ta d o al b lo q u e p u e s to q u e pasa a s e r c o h e re n te c o n m e m o r ia p rin c ip a l.
M
B u sU p d
Se d e te c ta en el b u s c o m p a rtid o una a ctu a liza ció n q u e afecta a un b lo q u e u b ic a d o en la c a c h ó . S e realiza la a c c ió n A c tM C pa ra a c tu a liz a r el c o n te n id o d e este b lo q u e c o n la p a la b ra e s c rita en o tr o p ro ce sa d o r.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
E je m p lo 5 .7 A plicación práctica del p ro to co lo del ejem plo 5.6. Para c o m p r e n d e r m e jo r el fu n c io n a m ie n to d e e ste p r o to c o lo , v a m o s a p la n te a r u n c a s o p rá c tic o en el q u e se u tiliz a p a ra m a n te n e r la c o h e re n c ia d e una a rq u ite c tu ra d e m e m o ria c o m p a rtid a . S u p o n g a m o s q u e te n e m o s la m is m a a rq u ite c tu ra q u e en el c a s o p rá c tic o q u e h e m o s e m p le a d o p a ra ilu s tr a r el p r o to c o lo b a s a d o en in v a lid a c ió n y el m is m o p a tró n d e le c tu ra s y e s c ritu ra s en m e m o ria .
C aché PO
Caché PO
V
Caché P1
B1
Caché PO
V
Caché P1
B1
C aché P1
711 B1 Caché P2
Caché PO
V
C aché P2
Caché P1
rviren
Caché P2
Caché P2
M
IN IC IO
P
L e c tu r a /e s c ritu r a
PO LÍE
81
'IP\ '
P 11E É B 1
E v e n to lo c a l
B1
BO |
’ P 2 ESCRIBE BO
'
M
P» B1
V
BO 1
Caché PO
M
B1
Caché
Caché
P1
BO
B ill
L S L lo l
Caché P.
Caché P1
r v ir s i
(V 1 C E
Cache P!
C aché P2
Caché P2
M
Caché PO
V
\t
c b ín
| V J . BO M
POESCRIBE B1
PO LEE JO
B1
P 2 ESCRIBE B 1 |
C o m a n d o s y a c c io n e s
PO le e B1
F a llo d e le c tu ra
PO v u e lc a u n c o m a n d o M is s al bus. M P re s u e lv e el f a llo d e le c tu ra .
P1 le e B1
F a llo d e le c tu ra
P1 v u e lc a u n c o m a n d o M is s al bus. PO d e te c ta e ste c o m a n d o (e v e n to B u sM iss) p e ro n o m o d ific a el e s ta d o d e su c o p ia . M P re s u e lv e el f a llo d e le c tu ra .
P2 e s c rib e BO
F a llo d e e s c ritu ra
P2 v u e lc a u n c o m a n d o M is s al bus. M P re s u e lv e el f a llo d e e s c ritu ra . P2 vu e lca u n c o m a n d o U p d al b u s c o n la p a la b ra q u e ha e s c rito lo c a lm e n te .
PO e s c rib e B1
A c ie r t o d e e s c ritu ra
PO vu e lca u n c o m a n d o U p d al b u s c o n la p a la b ra q u e ha e s c rito lo c a lm e n te y m o d ific a el e s ta d o d e su c o p ia d e l b lo q u e . P1 d e te c ta e ste c o m a n d o (B u s U p d ) y rea liza u n a a c c ió n A s tM C p ara a c tu a liz a r el c o n te n id o d e su m e m o ria c a c h ó c o n la p a la b ra in c lu id a en el c o m a n d o .
PO le e BO
F a llo d e le c tu ra
PO v u e lc a u n c o m a n d o M is s al bus. P2 d e tecta e ste c o m a n d o (e v e n to B u sM iss) y h a ce u n W B d e BO a m e m o ria p rin c ip a l, m o d ific a n d o a d e m á s el e s ta d o de su co p ia . M P re s u e lv e el f a llo d e le c tu ra .
5.
L e c tu r a /e s c ritu r a P2 e s c rib e B1
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
E v e n to lo c a l F a llo d e e s c ritu ra
C o m a n d o s y a c c io n e s P2 v u e lc a u n c o m a n d o M is s al bus. PO d e te c ta e s te c o m a n d o (e v e n to B u s M is s ) y h a c e u n W B de B1 a m e m o ria p rin c ip a l, m o d ific a n d o a d e m á s el e s ta d o d e su c o p ia . M P re s u e lv e el f a llo d e e s c ritu ra . P2 vu e lca u n c o m a n d o U p d al b u s c o n la p a la b ra q u e ha e s c rito lo c a lm e n te . PO y P1 d e te c ta n e ste c o m a n d o (B u s U p d ) y re a liza n u n a a c c ió n A c tM C p a ra a c tu a liz a r el c o n te n id o d e su m e m o ria c a c h ó co n la p a la b ra in c lu id a en el c o m a n d o .
D e n u e v o te n e m o s u n s e n c illo p r o to c o lo d e tr e s e s ta d o s y d o s c o m a n d o s q u e re s u e lv e el p ro b le m a d e la c o h e re n c ia . ¿Q ué in c o n v e n ie n te s p o d e m o s e n c o n tra r a la s o lu c ió n e x p lic a d a en e ste ca s o ? N o s e n c o n tra m o s u n p r o b le m a s im ila r q u e en el c a s o d e in v a lid a c ió n ; to d o s lo s p ro c e s a d o re s q u e re a liza n u n a e s c ritu ra lo c a l e n vían u n c o m a n d o d e a c tu a liz a c ió n p o r el b u s . Pero lo h a c e n s in s a b e r si e x is te a lg u n a o tra c o p ia d e l b lo q u e en el s is te m a , p o rq u e si n o la hay, la a c tu a liz a c ió n es c o m p le ta m e n te in n e c e s a ria . De n u e v o la s o lu c ió n está en a ñ a d ir u n c u a rto e s ta d o E x c lu s iv o (E), en el q u e el b lo q u e es c o h e re n te c o n la m e m o ria p rin c ip a l y es la ú n ic a c o p ia en u n a c a c h ó d e l siste m a . G ra c ia s a e s te c u a rto e s ta d o , s ó lo se e n v ia rá n a c tu a liz a c io n e s c u a n d o sea n e c e s a rio n o tific a r la s e s c ritu ra s lo c a le s al re s to d e c o p ia s q u e h a ya en o tra s c a c h ó s d e la a rq u ite c tu ra . Pero si n o e x is te n in g u n a o tra c o p ia , n o se e n v ia rá esta a c tu a liz a c ió n , e v ita n d o así u n a s o b re c a rg a in n e c e s a ria en el b u s c o m p a rtid o . El o t r o in c o n v e n ie n te e stá en q u e , ta l y c o m o se ha d e fin id o el fu n c io n a m ie n to d e l p r o to c o lo , to d o s lo s p ro c e s a d o re s q u e te n g a n su b lo q u e en e s ta d o m o d ific a d o h a rá n u n W B a m e m o ria p rin c ip a l c o n u n e v e n to B u s M is s , es d e c ir, a c tu a liz a rá n la m e m o ria p a ra q u e p u e d a r e s o lv e r el f a llo c o n lo s d a to s c o rre c to s . P e ro to d o s e s to s v o lc a d o s so n in n e c e s a rio s , b a sta c o n q u e u n o d e lo s p ro c e s a d o re s h a g a el W B , ya q u e to d a s la s c a c h ó s tie n e n e x a c ta m e n te la m is m a c o p ia d e la in fo rm a c ió n . La m a n e ra d e r e s o lv e r e ste p ro b le m a es h a c e r q u e s ó lo el ú ltim o p ro c e s a d o r q u e ha e s c rito s o b re u n b lo q u e d e te rm in a d o lo m a r q u e c o m o M o d ific a d o , m ie n tra s q u e el q u e o c u p a b a ese p u e s to h a sta el m o m e n to p a s e a e s ta d o V á lid o p a ra q u e n o re s p o n d a c o n u n W B c u a n d o se p ro d u z c a u n B u s M is s . B astaría c o n q u e un p ro c e s a d o r c o n u n b lo q u e en e s ta d o M o d ific a d o lo p a se a V á lid o c u a n d o o b s e rv e u n B u sU p d q u e a fe c te a ese b lo q u e (e s to s ig n ific a q u e o tr o p ro c e s a d o r ha e s c rito e ste b lo q u e c o n p o s te r io r id a d a él).
C o m p aran d o am b as alternativas, invalidación y actualización, cabe señalar que: • M últiples escritu ras consecutivas del m ism o procesador sobre la m ia ñ a palabra o sobre palabras consecutivas del m ism o bloque sin lecturas interm edias, requieren m últiples operaciones d e a c tu a lización pero sólo u n a d e invalidación. • L a actualización requiere u n a operación p o r p ala b ra escrita, la invalidación u n a p o r bloque. • El retard o e n tre e scritu ra y lectu ra es m en o r en actualización pues el d a to ya está actualizado en tod as las cachés. C on el protocolo d e invalidación, p a ra q u e u n procesador escriba e n un bloque, el iesto d e co p ias se deben invalidar. P or lo tanto, las lecturas posteriores siem pre provocan un fallo que hay q u e resolver antes d e p o d er h a c er la lectura co n éxito. Por to d o esto, y teniendo e n c u e n ta el g ran consum o d e ancho d e b a n d a del bus q u e se produce con las actualizaciones, se su d e n utilizar m ás los p ro to co lo s d e invalidación. Pero en aplicaciones co n d e rto s patrones d e acceso a m em oria, el aum ento d e la ta sa d e fallos q u e producen las invalidadones puede llegar a d e g ra d a r b a sta n te el rendim iento d e la arq uitectura, no se tra ta d e u n a solución perfecta. En algunos casos se diseñan p ro to co lo s d e co herencia m ixtos, q u e aplican la invalidación o la actualización según la situación p a ra in te n ta r aprovechar las ventajas d e am b o s tip o s d e solución.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
E je m p lo 5 .8 C om paración de p ro to co lo s de coherencia basados en invalidación y en actualización. En lo s e je m p lo s 5.5 y 5.7 q u e h e m o s u tiliz a d o pa ra c o m p r e n d e r m e jo r el fu n c io n a m ie n to d e lo s p r o to c o lo s d e in v a lid a c ió n y a c tu a liz a c ió n d e tr e s e sta d o s, h e m o s v is to q u e co n el p r o to c o lo d e in v a lid a c ió n se g e n e ra n tre s c o m a n d o s d e in v a lid a c ió n (d o s d e e llo s so n en re a lid a d p e tic io n e s d e re s o lu c ió n d e fa llo d e t ip o W M is s q u e lle v a n a d e m á s la in v a lid a c ió n im p líc ita , y el o tr o es u n W M is s q u e se e n vía s ó lo p a ra in v a lid a r) m ie n tra s q u e c o n el p r o to c o lo d e a c tu a liz a c ió n se h a n g e n e ra d o tr e s c o m a n d o s d e a c tu a liz a c ió n ( u n o p o r ca d a e s c ritu ra rea lizad a ) q u e im p lic a n el tr á fic o d e tr e s p a la b ra s p o r el b u s c o m p a rtid o . S i d e s p u é s d e la e s c ritu ra q u e P2 re a liz a s o b re el b lo q u e 0 se h u b ie ra n re a liz a d o 255 e s c ritu ra s m á s s o b re ese m is m o b lo q u e p o r p a rte d e ese p ro c e s a d o r ( s u p o n g a m o s q u e en el p ro c e s o q u e se e je c u ta en P 2 se e s c rib e n c o n s e c u tiv a m e n te lo s 2 5 6 e le m e n to s d e u n v e c to r, to d o s en el b lo q u e 0 d e m e m o ria ), el p r o to c o lo d e in v a lid a c ió n s e g u iría g e n e ra n d o tr e s c o m a n d o s d e in v a lid a c ió n . Sin e m b a r g o el p r o to c o lo d e a c tu a liz a c ió n g e n e ra ría en to ta l 258 c o m a n d o s d e a c tu a liz a c ió n , u n o p o r ca d a p a la b ra e s c rita en el c ó d ig o , lo q u e s u p o n d ría u n t r á fic o d e 258 p a la b ra s p o r el b u s c o m p a r tid o en lu g a r d e la s tr e s p a la b ra s q u e te n ía m o s in ic ia lm e n te . A h o ra s u p o n g a m o s u n a n u e v a m o d ific a c ió n en el p a tró n d e a c c e s o s a m e m o ria , in c lu y a m o s ju s to al fin a l q u e PO le e B1. ¿Qué o c u rre en e ste ca s o ? S i h e m o s u tiliz a d o el p r o to c o lo d e in v a lid a c ió n , el e s ta d o d e B1 en la c a c h ó d e PO es In v á lid o , p o r lo q u e h a b rá q u e r e s o lv e r un f a llo d e le c tu ra p a ra p o d e r re a liz a r e ste a c c e s o . E sto c o n lle v a tr a e r u n b lo q u e c o m p le to d e s d e m e m o ria p rin c ip a l, s u p o n g a m o s q u e d e 512 p a la b ra s. S in e m b a rg o , si h e m o s u tiliz a d o u n p r o to c o lo d e a c tu a liz a c ió n , esta n u e v a le c tu ra n o p ro v o c a rá n in g ú n fa llo y n o s a h o rra re m o s el t r á fic o p o r el b u s c o m p a r tid o g e n e ra d o pa ra la re s o lu c ió n d e l fa llo . Por lo ta n to , q u e el re n d im ie n to d e u n tip o d e p r o to c o lo u o t r o sea m e jo r d e p e n d e rá d e l p a tró n d e a c c e s o s a m e m o r ia y d e l ta m a ñ o d e b lo q u e .
C uan d o las jerarq u ías d e m o n o ria incluyen sólo u n niv d d e caché, cualquier tra n sa c d ó n p o r el bus im plica u n a co m p a ra c ió n d e etiq u etas q u e puede interferir co n accesos d e los procesadores a sus cachés. H ay q u e ten er en c u e n ta q u e si c a d a p ro cesador genera T tran sa cd o n e s de bus p o r segundo y hay N procesadores en el sistem a, c a d a p ro cesador d eb erá exam inar T *N transacciones p o r segundo p a ra aplicar el p ro to co lo d e coherencia. C ad a u n o d e e sto s exám enes im plica, com o m ínim o, bu scar en la caché local p a ra c o m p ro b a r si la d ire c d ó n involucrada en la transacción se e n cu en tra u b icad a en la caché y, si p o r lo tanto, hay q u e reacd o n a r a n te la transacción e sp ia d a e n el bus. P ir a evitar estas interferencias del protocolo de c o h e re n d a con los procesadores se pueden dup licar las etiq u etas d e la m em oria caché. E sto im plica la actualización d e los d o s ju eg o s d e etiq u etas pero así sólo hay conflicto e n tre d co n tro la d o r d e caché y el procesador si se produce un acceso sim ultáneo al mism o bloque d esde am b o s com ponentes. Este problem a q u e d a re su d to e n casi to d o s los sistem as actuales, q u e inco rp o ran caches multinivel en sus jerarquías. D e esta m an e ra el p rocesador tra b aja la m ayor p arte del tiem po con el nivel d e caché m ás cercano y la actividad d e m onitorización se hace sobre o tro nivel. N orm alm ente las cachés q u e llevan a cab o las tareas d e espionaje son las d e nivel 2, q u e están co n ec tad as al bus co m ú n y la m em oria principal c o m p a rtid a (figura 5.17). Pero en tonces será necesario c o m pletar los p rotocolos d e coherencia, sean d e invalidación o d e actualización, con algún tipo de m ecanism o q u e p erm ita involucrar tam b ién en la solución al problem a a las cachés d e nivel 1. L a so lu d ó n m ás u tilizada im plica a ñ a d ir a las cachés d e nivel 1 las etiquetas con el estad o d e los H oques y u tilizar u n a política d e escritu ra d ire cta en esta caché. Así, c ualquier m odificación en d estad o d e un bloque en la caché d e nivel 1 se p ro p a g a rá inm ediatam ente a la caché d e nivel 2 y al resto d e p ro cesadores del sistem a a través d e la im plem entación del protocolo d e c o h ere n d a. Por otro lado, com o d principio d e inclusión d eb e e sta r g aran tizad o en la je ra rq u ía d e m o n o ria , cualquier cam bio q u e se produzca en la caché d e nivel 2 se d eb erá reflejar en la cach é de nivel 1 inm ediatam ente, ya q u e é sta debe contener siem pre u n subconjunto d el con ten id o d e la caché d e nivel 2.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
Procesador
Procesador
Procesador
F ig u r a 5 .1 7
P r o to c o lo d e c o h e r e n c ia b a s a d o e n e s p io n a je c o n d o s n iv e le s d e c a c h é .
Por últim o, c ab e m en cio n ar q u e en la m ayor p a rte d e los p ro to co lo s d e coheren cia hay q u e resolver problem as d e interb lo q u eo e in anición. Por ejem plo, ¿qué ocu rre si d o s procesadores vuelcan u n c o m ando d e e sc ritu ra en exclusiva al m ism o tiem po en el bus? Será el a rb itraje del bus el q u e d ecid a cuál de los co m an d o s se tra n sm itirá prim ero. E sto h a rá q u e el pro cesad o r cuyo co m ando q u ed e en segundo lug ar te n g a q u e invalidar el b lo q u e en su m o n o ria c ach é y no p u e d a realizar la escritu ra, sino q u e te n d rá qu e en v iar un co m a n d o d e fallo d e e sc ritu ra p o r el b loque q u e a cab a d e invalidar y so b re el q u e q u e ría escribir. f ó r a m an ejar este tipo d e situaciones m uchos protocolos term inan introduciendo estados interm e dios C om partido/M odificado, d e m an e ra q u e u n bloque pasa a este estad o cu an d o se hace la petición de escritu ra en exclusiva y dependiendo del resultado d e esta solicitud, se pasa al esta d o M odificado o no. U n a vez discu tid o s e sto s problem as prácticos de im plem entación, hay q u e señalar q u e la principal desventaja d e los p rotocolos d e coherencia d e espionaje, sea cual sea la opción d e diseño escogida, está en su fa lta d e escalabilidad. E n sistem as co n un gran núm ero d e procesadores el tiem po en el q u e p u ed e resolverse un fallo d e caché a cab a lim itado siem pre p o r los tiem pos relacionados c o n las tareas de esp io naje y co m probación, en lug ar d e c o n la latencia del bus y d e la m o n o ria principal.
5.3.2.
Soluciones para el problema de la consistencia
Este problem a se resuelve definiendo u n m odelo d e consistencia p a ra co m p letar d repertorio de instrucciones d e la a rq u ite c tu ra d e m em o ria c o m p artid a. E s decir, el problem a d e la consistencia no se resuelve desde d hardw are, sino q u e se resuelve definiendo u n m odelo q u e ordene las referen d as a la m e m oria c o m p a rtid a d e los diferentes procesadores. El m o d d o d e co n sisten cia m ás se n d llo es el d e consisten cia secuencial, q u e im p o n e u n o rd en abso luto a to d a s las referencias a m em o ria q u e realizan to d o s los procesadores. C on u n m odelo d e co n sis
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
tencia secuencial es co m o si se establecieran tu rn o s p a ra acceder a la m em o ria c o m p a rtid a (los accesos son atóm icos, se realizan d e u n o e n u n o ), en tre laz an d o las referencias a m e m o ria d e los d istin to s procesadores co m o si se tra ta ra d e u n có d ig o co m p ila d o co n m u ltith read in g p a r a u n sistem a m o n o procesador. D e n tro d e c a d a procesador, las referencias se o rd en an c o n el o rd en d e p ro g ra m a trad icio n al, es decir, d eb e parecer q u e los accesos a m em o ria se h a n realizado en el orden secuencial en el q u e a p a re cen en el código. L a s referencias realizad as p o r d iferen tes pro cesad o res se o rd e n a rá n d e la fo rm a q u e especifique el u su a rio o d e sa rro lla d o r m ed ia n te m ecanism os d e sincronización explícitos, el m odelo d e consistencia secuencial no p ro p o n e n in g u n a fo rm a c o n c re ta d e establecer los tu rn o s p a r a el acceso a m em oria. A unque e ste m odelo d e consistencia es m uy sencillo de com prender e intuitivo p a ra un usuario o desarrollador, las lim itaciones q u e im plica im poner u n orden to ta l a to d as las referencias a m em oria son dem asiado fuertes, im pidiendo utilizar m u ch as de las optim izaciones q u e incorporan los co m piladores y procesadores actuales, q u e tienden a n o resp etar el o rd en d e program a d u ra n te la ejecución de los proce sos (reordenan instrucciones, d im in a n resu ltad os interm edios, etc). El m odelo d e consistencia secu en d al exige u n a s características concretas en la a rq u ite ctu ra hardw are qu e lo im plem enta: 1.
2.
L a s referencias a m e m o ria re a liz a d as p o r d iferen tes procesos d eb en realizarse d e m a n e ra a tó m ica. E sto exige q u e se serialicen las e sc ritu ra s realizad as a u n a m ism a d irecció n d e m em oria y q u e to d a s las e scritu ras, sean a la m ism a o a d iferen tes direcciones, se vean e n el m ism o o rd en en to d o s los p ro cesad o res q u e c o m p o n e n la a rq u ite c tu ra . P a ra c u m p lir co n e sta s exi gencias, es n ecesario q u e la red in c lu id a en la a rq u ite c tu ra e n treg u e los m ensajes en los n o d o s d estin o ex a c ta m en te en el m ism o o rd e n en el q u e se env iaro n d esd e el n o d o origen y q u e se p ro h íb a leer un nuevo v a lo r escrito p o r u n p ro c e sa d o r h a sta q u e to d a s las cachés c o n c o p ia d e e ste v a lo r hayan recibido to d a s las invalidaciones o actu alizacio n es del p ro to c o lo d e c o h e rencia. Las referencias a m em oria realizadas d e n tro d e un proceso deben realizarse en el orden d e p ro gram a, p o r lo q u e no se perm ite ejecución fuera d e orden. E sto im plica q u e los procesadores no pueden utilizar n in g u n a técnica d e aum ento d e prestaciones q u e desordene la ejecución d e las instrucciones y d e nuevo, q u e la re d q u e incluya la a rq u ite ctu ra g arantice q u e to d o s los m ensajes que se envían p o r ella llegan a sus d estin o s exactam ente e n el m ism o orden en el q u e se h an e n viado.
Por lo tan to , p a ra u tilizar u n m odelo d e consistencia secuencial será necesario q u e los procesadores, la red y los c o n tro lad o res d e co herencia d e las cachés, así com o el com pilador, cu m p lan con unos requi sitos determ in ad o s, p o r n o rm a general, m uy difíciles d e cum plir. Es p o r esto q u e n o rm alm en te se utilizan m odelos relajados d e consistencia. En este caso se exige al usuario o d esarro llad o r q u e etiq u ete d e m an era explícita las referencias a m em oria q u e deben ser o rd en a das, reb ajan d o m ucho las exigencias q u e la solución del problem a de consistencia im pone al hardw are y al com pilador, ya q u e así no es necesario m an te n er la atom icidad d e los accesos a m em oria o el orden d e pro g ram a d e n tro d e c a d a procesador. N o rm alm en te esto s m odelos relajan: 1.
2.
La atom icidad. A lgunos m odelos p e rm ite n q u e un procesador lea el valor escrito p o r otro p ro cesador en u n a posición d e m em oria a n te s d e q u e e sta escritu ra sea visible p o r los dem ás proce sadores. El o rden d e p rogram a. A lgunos m odelos p e rm iten q u e los accesos a m em oria d e u n único p ro cesador n o se realicen en el orden secuencial del program a.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
E je m p lo 5 .9 Ejem plo de consistencia secuencial. S u p o n g a m o s q u e en u n a a rq u ite c tu ra d e m e m o ria c o m p a rtid a c o n tr e s p ro c e s a d o re s (PO, P1 y P2) s e re a liza n la s s ig u ie n te s o p e ra c io n e s :
| Proce s a d o r 0
Procesador
FYocesador 2
R= 100; A=0;
lf(A = 0 ) B=0;
If (B = 0) R e su lta d o= R ;
: • Nota: No se han incluido en los có digos los mecanismos de sincronización necesarios para acceder a las variables compartidas. Suponemos de m om ento que este problem a está resuelto, ya verem os en la sección siguiente las alternativas que existen. La p re g u n ta en e ste c a s o es, ¿ p o d e m o s e s ta r s e g u ro s co n u n m o d e lo d e c o n s is te n c ia s e c u e n c ia l d e q u e en la v a ria b le R e s u lta d o q u e d a rá a lm a c e n a d o el v a lo r 100? S i a n a liz a m o s lo q u e im p lic a el m o d e lo d e c o n s is te n c ia s e c u e n c ia l, q u e se re s p e ta el o rd e n d e p ro g ra m a d e n tro d e cada p ro c e s a d o r y q u e la a to m ic id a d g a ra n tiz a q u e to d a s la s e s c ritu ra s se ve a n al m is m o tie m p o en to d o s lo s p ro c e s a d o re s , p o d e m o s d e d u c ir q u e sí, q u e R e s u lta d o = 1 0 0 . E so es así p o rq u e PO e s c rib e R = 100 y A = 0 ju s to en e ste o rd e n , e n to n c e s P1 v e A = 0 y h a c e B = 0 y p o r ú ltim o c u a n d o P2 v e B = 0 , h a c e R e s u lta d o = R = 100. O b v ia m e n te , si a P2 lle g a a n te s el v a lo r B = 0 q u e el v a lo r R = 100, el re s u lta d o y a n o sería el e s p e ra d o . E sto p o d ría o c u rr ir p rin c ip a lm e n te p o r d o s m o tiv o s : • P o r la s d ife re n te s la te n c ia s d e c o m u n ic a c io n e s e n tre u n o s p ro c e s a d o re s y o tro s d e la a rq u ite c tu ra . • P o rq u e la p ro p a g a c ió n d e u n a e s c ritu ra en m e m o ria p rin c ip a l a to d a s la s m e m o ria s c a c h é q u e tie n e n c o p ia d e l b lo q u e m o d ific a d o n o so n a tó m ic a s ca si n u n c a . Por e s o p a ra g a ra n tiz a r la c o n s is te n c ia s e c u e n c ia l es n e c e s a rio ta m b ié n q u e la re d in c lu id a en la a rq u ite c tu ra e n tre g u e lo s m e n s a je s en lo s n o d o s d e s tin o e x a c ta m e n te en el m is m o o rd e n en el q u e se e n v ia ro n d e s d e el n o d o o rig e n y q u e se p ro h íb a le e r un n u e v o v a lo r e s c rito p o r un p ro c e s a d o r h a sta q u e to d a s la s c a c h é s co n c o p ia d e e s te v a lo r h a y a n r e c ib id o to d a s la s in v a lid a c io n e s o a c tu a liz a c io n e s d e l p r o to c o lo d e c o h e re n c ia . A ú n c u m p lie n d o e sta s c o n d ic io n e s , p o d ría n s u rg ir m u ltitu d d e " im p r e v is to s " s im ila re s q u e c o n el m o d e lo d e c o n s is te n c ia s e c u e n c ia l n o n o s g a ra n tiz a ría n u n R e s u lta d o = 1 0 0 .
E je m p lo 5 .1 0 M odelo de ordenación débil para consistencia. E ste m o d e lo es u n e je m p lo típ ic o d e lo s m o d e lo s re la ja d o s d e c o n s is te n c ia q u e in te n ta n r e d u c ir to d a s las re s tric c io n e s im p u e s ta s p o r el m o d e lo d e c o n s is te n c ia s e c u e n c ia l tr a n s fir ié n d o le p a rte d e la re s p o n s a b ilid a d al u s u a rio o d e s a rro lla d o r. Se basa en m a n te n e r el o rd e n d e lo s a cc e s o s a m e m o ria s ó lo c u a n d o e x is te u n c ó d ig o e x p líc ito d e s in c ro n iz a c ió n q u e así lo in d iq u e . S e g ú n e s te m o d e lo h a y d o s c la s e s d e a c c e s o s a m e m o ria : la s o p e ra c io n e s d e d a to s (D O p ) y la s o p e ra c io n e s d e s in c ro n iz a c ió n (S O p ). El d e s a rr o lla d o r d e b e e tiq u e ta r c o m o o p e ra c io n e s d e s in c ro n iz a c ió n a q u e lla s en la s q u e e s n e c e s a rio m a n te n e r u n o rd e n c o n c re to , el re s to d e o p e ra c io n e s s e rá n d e d a to s.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Si S O p es u n a o p e ra c ió n d e s in c ro n iz a c ió n , el m o d e lo d e o rd e n a c ió n d é b il g a ra n tiz a : • T o d a s la s D O p q u e a p a re ce n a n te s en el o rd e n d e p ro g ra m a se h a n c o m p le ta d o a n te s d e e je c u ta r la SO p.
• Esta S O p se c o m p le ta a n te s q u e to d a s la s D O p p o s te rio re s en el o rd e n d e p ro g ra m a . En el e je m p lo d e la fig u r a , lo q u e n o s g a ra n tiz a el m o d e lo d e o rd e n a c ió n d é b il e s q u e to d a s la s le c tu ra s y e s c ritu ra s d e l b lo q u e DO p1 fin a liz a rá n a n te s d e la e je c u c ió n S O p 1 . Y a l m is m o tie m p o , q u e esta s in c ro n iz a c ió n se c o m p le ta rá s ie m p re a n te s d e re a liz a r la s o p e ra c io n e s le c tu ra y e s c ritu ra d e l b lo q u e D O p 2 . N o h a y n in g u n a o tra g a ra n tía , es d e c ir, n o h a c e fa lta q u e se c u m p la el o rd e n d e p ro g ra m a p a ra la s D O p d e l b lo q u e 1, si h u b ie ra o tr o b lo q u e c o n S O p su s a cc e s o s a m e m o ria p o d ría n re o rd e n a rs e e in te rc a la rs e c o n el b lo q u e S O p 1 , etc.
5.3.3.
Soluciones para el problema de la sincronización
C om o se h a m encionado co n an terio rid ad , en las arq u itectu ras d e m em oria c o m p a rtid a la co m u nicación e n tre procesos se realiza d e m an era explícita a través d e las variables com partidas. Por ello es necesario sincronizar el acceso a estas variables com partidas. A unque casi to d a s las a rq u ite c tu ras in co rp o ran m ejoras e n el hardw are q u e ayudan a increm entar el rendim iento d e la sincronización y d e la com unicación en tre procesos (registros explícitos p a ra co m u n i cación, líneas especiales en d bus c o m p artid o ), d e nuevo la solución al problem a no viene d a d a desde el hardw are, sino d esde el sistem a operativo o la p rogram ación explícita. Sin em bargo, estas soluciones se basan en instrucciones o prim itivas de sincronización q u e debe ofrecer d repertorio d e instrucciones d e la arq uitectura. L as prim itivas atóm icas m ás habituales en los repertorios d e instrucciones son las siguientes: E sta prim itiva perm ite leer u n a posición de la m o n o ria co m partida m(x), volcar su co n te nido a un registro d d procesador local R y modificar el valor de la posición d e m em oria m(x) hacien d o q u e valga 1. P or ta n to se pueden h acer de m anera atóm ica las operaciones R =m (x) y m(x)= 1. • S w a p . E sta prim itiva perm ite in tercam b iar el contenido de u n a posición d e m em oria m(x) y un registro d d p ro cesador local R . E s decir, se com pletan de m an era atóm ica las operaciones m (x)= R y R = m (x). • C ó m p are& Sw a p . En este caso d intercam bio e n tre un registro y u n a posición d e m em oria viene d e term inado p o r d c o n ten id o d e o tro registro. E s decir, si m (x )= R l, entonces se hace e l intercam bio R 2=m (x) y m (x)= R 2. • Fetch& Op. E sta prim itiva perm ite volcar d co n ten id o de u n a posición de m em oria a un registro del p ro cesador local y realizar u n a operación O p en tre este contenido y u n a variable a. D espués, se
• T est& S et.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
escribe el resultado d e e sta operación en la m ism a posición d e m em oria. P o r lo tan to , se realizan de m a n e ra atóm ica las operaciones m (x)=m (x) O p a y R = m (x). • L o a d L in k e d & S to re C o n d itio n a l: L a instrucción L L carg a u n a p o á c ió n d e m em oria m(x) en un registro R y reserva el bloque d e cache en el q u e está la posición m(x). L a instrucción S C in tenta actualizar d contenido d e la posición d e m em oria m(x). L a actu alizad ó n sólo tiene éxito si se m an tiene la reserva en la caché. L a reserva se pierde si se recibe u n a orden d e invalidación d e otro p ro cesador, si se p ro d u ce u n reem plazam iento d e ese bloque en la caché o si se p roduce un cam bio de contexto. Si la a c tu a liz a d ó n no tiene éxito p orque la reserva se h a perdido, no se p roduce d Store. Con estas prim itivas se puede realizar sincronización m ediante exdusión m utua, es decir, se puede garan tizar q u e sólo u n proceso puede acceder a la m em oria c o m p a rtid a e n u n m om ento d a d o (o a c u a l quier o tro recurso co m p artid o ). R ira llegar a e s ta exclusión m utua, suelen utilizarse cerrojos b asad o s en las prim itivas d e sincronizad ó n . S ea cual sea la fo rm a en la q u e se im plem enta el cerrojo, siem pre se b a sa en d o s acciones. L a prim era, el d e rre del cerrojo o lock, con la q u e un proceso in te n ta ad q u irir el derecho a u tilizar el recurso co m p artid o . P o r lo ta n to , si varios procesos intentan c e rra r el cerrojo al m ism o tiem po, sólo uno d e ellos lo d eb e conseguir. L o s d em ás deben q u e d a r a la esp era de u tilizar el recurso c o m partido cu a n d o les llegue su tu rn o . L a segunda, la a p e rtu ra d e cerrojo o unlock, co n la q u e se libera el recurso com partido. Si ningún proceso estab a esperan d o p o r él, el próxim o en hacer un lock, p o d rá p a sa r a utilizarlo directam ente. Si había procesos esperan d o p o r el recurso, uno d e ellos p o d r á hacer el lock.
E je m p lo 5 .1 1 Ejem plo de cerrojo sim ple. V e a m o s p rim e r o u n e je m p lo d e u tiliz a c ió n d e c e rro jo p a ra c o n s e g u ir e x c lu s ió n m u tu a en el a c c e s o a una v a ria b le c o m p a rtid a . S u p o n g a m o s q u e e s ta m o s a c u m u la n d o en u n a v a ria b le a c u m la s u m a d e to d o s lo s e le m e n to s d e u n v e c to r d e lo n g itu d K:
f o r ( i= 0 ; ¡ < k ; i + + ) a c u m = a c u m + v e c t o r [i];
S i e je c u ta m o s e ste m is m o c ó d ig o en u n a a rq u ite c tu ra d e m e m o ria c o m p a rtid a , a ca d a p ro c e s a d o r le c o rre s p o n d e re a liz a r la a c u m u la c ió n p a rc ia l d e u n a p a rte d e lo s e le m e n to s d e l v e c to r (d e s d e el ín d ic e in ic ia l h a s ta el ín d ic e fin a l). D e s p u é s se h a c e la su m a d e to d o s lo s a c u m u la d o re s p a rc ia le s en la v a ria b le g lo b a l a c u m :
f o r ( i= in ic ia l; ¡ < f in a l; i + + ) p a r c ia l = p a r c ia l + v e c t o r p ) ; b c k ( c e r r o jo ) a c u m = a c u m + p a r c ia l; u n lo c k ( c e r r o jo )
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Para g a ra n tiz a r la e x c lu s ió n m u tu a en el a c c e s o a la v a ria b le c o m p a rtid a a c u m se ha u tiliz a d o un c e rro jo , q u e p e rm ite q u e se s e ria lic e n la s s u m a s d e la s a c u m u la c io n e s p a rc ia le s re a liz a d a s p o r lo s d ife re n te s p ro c e s a d o re s . La im p le m e n ta c ió n d e la s fu n c io n e s lo c k y u n lo c k pa ra el m a n e jo d e l c e rr o jo d e p e n d e rá d e la s p rim itiv a s d e s in c ro n iz a c ió n q u e e s té n d is p o n ib le s en la a rq u ite c tu ra . Por e je m p lo , la fu n c ió n d e lo c k se p u e d e ¡ m p le m e n ta r c o n T est& S et:
w h ile (T e s t & S e t ( c e r r o jo ) = = 1)
{}
Ftero ta m b ié n co n C o m p a re & S w a p :
Aux=1; do c o m p a r e & s w a p ( 0 , a u x , c e r r o jo ) ; w h ile ( a u x = = 1) c o m p a r e & s w a p ( o , a u x , c e r r o jo ) ¡f ( c e r r o jo = = 0) t e m p = c e r r o jo ; c e r r o jo = a u x ; a u x = te m p ;
O c o n F etch & O p , e s c o g ie n d o c o m o o p e ra c ió n el O R:
w h ile (F e tc h & O R (ce
{}
A dem ás d e la utilización d e cerrojos p a ra conseguir la exclusión m utua, existen otros m ecanism os para la sincronización y com unicación e n tre procesos. P o r ejem plo, se pueden utilizar barreras p a ra la sincronización global, pero estas soluciones escapan d d alcance d e este libro.
M
I
Diseño de arquitecturas de memoria compartida-distribuida
C om o ya se h a m en d o n a d o con an terio rid ad, este tipo de a rq u itectu ras perm iten m ejo rar la escala bilidad d e las d e m em oria c o m p a rtid a al elim in ar el c u d lo d e botella q u e suponen la m em oria principal c o m p a rtid a y el bus. E ste bus se sustituye p o r u n a red d e com unicación m ás sofisticada q u e perm ite un m ayor ancho de banda, d e m an e ra q u e la m em oria se distrib u y e en tre los nodos, pero se tiene un único espacio d e direcd ones.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
L os problem as q u e surgen al tra b a ja r con este tipo d e arq u itectu ras son los m ía n o s q u e c o n las d e m o n o ria c o m p a rtid a , ya q u e existe u n único espacio d e direcciones físicas com partido: coherencia, c o n sistencia y sincronización. L a consistencia y la sincronización se solucionan c o n las m ism as alternativas q u e en d caso d e las arqu itectu ras d e m em oria d istrib u id a (teniendo en c u en ta q u e la red d e com unicaciones ya no es un bus y esto puede in tro d u d r algo m ás d e com plejidad), pero la solución p a ra el problem a d e la coherencia es com pletam ente d iferente q u e en estas arquitecturas, ya q u e al no existir un bus de medio co m partido no puede utilizarse com o h erram ien ta el espionaje.
5.4.1.
Soluciones para el problema de la coherencia
En el caso d e ten er u n único espacio d e d irecd o n es distribuido sobre diferentes m em orias físicas, la solución m ás sen d lla p a ra resolver d problem a d e la c o h ere n d a es m arcar los d ato s com partidos para no llevarlos a las cachés d e los diferentes procesadores. O bviam ente esta solución presenta d o s desventajas im portantes. L a prim era, puede llegar a ser m uy com plicado q u e el com pilador o d program ador m arquen estos d a to s com partidos q u e deben ser siem pre accedidos a i m em oria principal. L a segunda, el rendim iento de los accesos a m em oria em peora drásticam ente p a ra los d ato s com partidos, ya q u e no se puede aprove ch ar la localidad espacial com o se hace habitualm ente y es com o si no existiera u n a jerarquía d e m o n o ria. L a solución son los p ro to co lo s d e c o h e re n d a b asad o s en d irectorio, ya q u e los d e snoopy no pueden utilizarse con las redes d e com unicaciones utilizadas 01 este tipo d e arq u itectu ras (no son d e m edio co m partido). El directo rio es, en prim era instancia, u n a e stru c tu ra cen tralizad a q u e m a n tio ie el estad o d e to d o s los bloques q u e contienen las m o n o ria s p rincipales del sistem a (figura 5.18).
BO
VO
SO
BN
VN
SN F ig u r a 5 .1 8
P r o to c o lo d e c o h e r e n c ia b a s a d o e n d ir e c t o r io c e n tra liz a d o .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Es decir, se asocia u n a e n tra d a en el d irectorio a c a d a bloque d e m em oria principal y se m antiene actualizado su estad o en c a d a caché del sistem a. E s im p o rtan te q u e se m an ten g a inform ación sobre q u é caches tienen copias d e c a d a bloque (vector d e com partidos, V) y si lo h an m odificado (estado del blo que, S). El v e c to r d e c o m p a rtid o s su ele c o n te n e r ta n to s e le m e n to s c o m o n o d o s tiene el sistem a, e indica q u é n o d o s tienen u n a c o p ia c o m p a rtid a d e c a d a b lo q u e en su c ach é p o n ie n d o u n 1 en la posición q u e c o rre sp o n d e a ese n o d o en el vector. C u a n d o se p ro d u c e u n a e sc ritu ra en u n b lo q u e en estad o co m p a rtid o sólo es n ecesario en v iar u n m ensaje d e invalidación a los p ro ce sa d o re s in d icad o s en este vector. H a y q u e s e ñ a la r q u e los p ro to c o lo s b a s a d o s en d ire c to rio sie m p re fu n c io n a n m e d ia n te in v ali d a c ió n , y a q u e u n m e can ism o d e a c tu a liz a c ió n re s u lta ría d e m a sia d o c o sto so c o n u n a re d c o m o la q u e in clu y en la s a r q u ite c tu ra s d e m e m o ria c o m p a rtid a -d is trib u id a (h a r ía fa lta u n m en saje nuevo p a r a c a d a p ro c e s a d o r c o n c o p ia d e u n b lo q u e en su c a c h é p o r c a d a p a la b ra q u e se m o d ific a ra de éste). f ó r a evitar q u e d directo rio se co n v ierta en u n nuevo cuello d e botella, la m ayor p arte d e las arq u itec tu ras d e m em oria co m p artid a-d istrib u id a actuales distribuyen el directorio e n tre to d o s los n o d o s del sis tem a (figura 5.19). N o rm alm en te a c a d a n o d o le corresponden las e n tra d a s del directorio q u e alm acenan d estad o d e los bloques ubicados e n su m em oria principal. H ay q u e reco rd ar q u e en esta s arq u itectu ras d espacio d e direcciones e s tá dividido d e form a estática en tre los procesadores y p o r lo ta n to e sta división es co n o cid a p o r to d o s ellos.
M em oria C aché
M em rv ia
M em oria
Principal
Principal M em oria
M em oria
C aché
Principal
El diroctoripx so almacena en la Memoria Pnncipal de cada nodo
R e d d e I n t e r c o n e x ió n
F ig u r a 5 .1 9
P r o to c o lo d e c o h e r e n c ia b a s a d o e n d ir e c t o r io d is t r ib u id o .
C uan d o el directo rio e stá d istrib u id o se suele u tilizar la siguiente nom enclatura: • •
N odo lo c a l. O rig in a
la solicitud d e lectu ra o e sc ritu ra d e un dato. N o d o en el q u e residen el d ato (en la m em oria principal) y su estad o (en la e n tra d a del directo rio q u e corresp o n d a). N odo propietario.
5.
•
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
N o d o q u e tiene co p ias adicionales del d a to e n su m em oria caché, en estad o exclusivo o com partido.
N odo remoto.
L o s tres n o d o s pueden coincidir, o bien d o s de ellos, y el protocolo no varía salvo en q u e los m ensajes generados son locales (no h ace falta q u e salgan a la red d e com unicaciones p a ra enviarse). C a b e se ñ a la r q u e p a ra q u e e s te tip o d e p ro to c o lo s fu n cio n en se d e b e c u m p lir la h ip ó tesis de co n siste n c ia secuencial, e s decir, q u e to d o s los m ensajes se reciben en el m ism o o rd en en el q u e se envían. D e nuevo es necesario a ñ a d ir a la arq u itectu ra co n troladores d e coherencia p a ra resolver d problem a de la c o h e re n d a d esde el hardw are. Pero en este caso hay q u e d iseñ a r d o s tipos d e co n troladores diferen tes, los d e las m em orias cachés y los d e los directorios. Por lo tan to , p a ra d ise ñ a r un p ro to co lo d e este tip o es necesario especificar: • Los posibles estad o s d e un bloque alojado en u n determ in ad o m arco d e la caché d e un procesador, desde el p u n to d e vista d e la p ro p ia c ach é y desde el p u n to d e vista del directorio. • Los m ensajes del p rotocolo, es decir, las órdenes o peticiones q u e los c o n tro lad o res envían p o r la ied a o tro s c o n tro lad o res m ediante prim itivas d e envío Send. E s necesario especificar el tip o de mensaje, su contenido, y los n o d o s origen y destino del mismo. • El d ia g ra m a d e transición d e esta d o s d e los bloques e n caché y en d directorio, c o n los eventos que pueden provocar estas transiciones y las a cd o n e s q u e hay q u e llevar a cabo a n te d eterm inados eventos, transiciones o com andos. D e nuevo existen m ultitud d e alternativas p a r a la im plem entación d e los protocolos d e coherencia, por lo q u e sigue siendo difícil p ro p o n e r u n a n otación general. Sin em bargo, p a ra la definición d e eventos, se puede m an ten er la diferenciación e n tre eventos locales y globales. L os eventos locales son exactam ente los m ism os q u e en el caso d e arq u itectu ras de m em oria co m p artid a. E n el caso d e los e v e n to s glob ales, siem pre se u tiliz a en este libro la n o ta c ió n R ecv(m ensaje) p a r a identificarlos. E s decir, h a b rá siem pre u n tip o d e e v e n to g lo b a l p o r c a d a tip o d e m en saje del p ro to c o lo . Por ejem plo, Recv(Inv) sería el evento en el q u e se recibe e n el nodo local u n m ensaje d e invalidación desde d no d o propietario. A unque en algu n o s casos estas com unicaciones sean locales, siem pre existe com unicación explícita p a ra q u e la im plem entación del protocolo sea m ás sen dlla. El co m p o rtam ien to del c o n tro la d o r d e la m em oria caché es m uy sim ilar al d d diseñado p a ra a rq u i tecturas d e m em oria co m p a rtid a , p ero los eventos globales pasan d e ser co m an d o s observados o espiados en el bus, a ser recepciones d e m ensajes p o r la red. D i c u a n to al co n tro la d o r d e u n d irectorio, en general p u ed e recibir tres tipos d e mensajes: • Fallo d e lectura. • Fallo d e escritura. • R>st-escritura. Y la recepción d e esto s m ensajes puede cau sar: • A ctualización d d e sta d o d e u n bloque o del vector de c o m p a rtid o s en el directorio. • Envío d e m ensajes en respuesta a solicitudes (p ara resolver u n fallo, p a ra realizar u n a invalida ción etc). E n la tabla 5.1 se observ a u n co n ju n to d e m ensajes típico p a ra la im plem entación d e u n protocolo d e coherencia d e caché sencillo b asad o en d irectorio.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
T a b l a 5 .1
C o n ju n to d e m e n s a je s p a ra la ¡ m p le m e n ta c ió n d e u n p r o t o c o lo d e c o h e r e n c ia d e c a c h é b a s a d o e n d ir e c t o r io d is t r ib u id o .
Etiq u e ta
O rig en
D estin o
C o n te n id o
Sig n ificad o
R M iss
C achó Local
D ir e c to r io P r o p ie ta r io
P, A
E l n o d o P tie n e u n f a llo d e le c tu ra p o r la d ir e c c ió n A .
W M iss
C aché Local
D ir e c to r io P r o p ie ta r io
P, A
E l n o d o P tie n e u n f a llo d e e s c r itu ra p o r la d ir e c c ió n A .
Inv
D ir e c to r io P r o p ie ta r io
C a c h é R e m o ta
A
In v a lid a c ió n d e l b lo q u e q u e c o n tie n e la d ir e c c ió n A .
F e tch
D ir e c to r io P r o p ie ta r io
C a c h é R e m o ta
A
O rd e n d e p o s t- e s c r itu r a d e l b lo q u e q u e c o n tie n e la d ir e c c ió n A .
Fe tch + lnv
D ir e c to r io P r o p ie ta r io
C a c h é R e m o ta
A
O rd e n d e p o s t- e s c r itu r a s e g u id a d e In v a lid a c ió n d e l b lo q u e q u e c o n tie n e la d ir e c c ió n A .
R ep ly
D ir e c to r io P r o p ie ta r io
C aché Local
B lo q u e
E n v ío d e u n b lo q u e p a ra r e s o lv e r u n fa llo .
WB
C a ch é R e m o ta
D ir e c to r io P r o p ie ta r io
P, A , B lo q u e
E l n o d o P re a liz a u n a p o s t- e s c r itu ra d e l b lo q u e q u e c o n tie n e la d i re c c ió n A .
E je m p lo 5 .1 2 Protocolo de coherencia de caché basado en d ire cto rio d istrib u id o , de 3 estados en caché y e n d ire c to rio con invalidación. En e s te e je m p lo te n e m o s un p r o to c o lo q u e d e fin e tr e s e s ta d o s p o s ib le s p a ra lo s b lo q u e s u b ic a d o s en cachó: • In v á lid o (I). El b lo q u e n o está en la c a c h é y si lo ha e s ta d o en a lg ú n m o m e n to , ha s id o in v a lid a d o , p o r lo q u e c u a n d o el p ro c e s a d o r lo s o lic ita p a ra le e r o p a ra e s c rib ir se p ro d u c e u n fa llo . • C o m p a rtid o o S h a re d (S). El b lo q u e está en la c a c h ó y es c o h e re n te c o n la m e m o ria p rin c ip a l. P u e d e q u e e x is ta n o tra s c o p ia s e n e sta s m is m a s c o n d ic io n e s en la s c a c h ó s d e o tro s p ro c e s a d o re s . • M o d ific a d o (M ). El b lo q u e está en la c a c h ó y n o es c o h e re n te c o n la m e m o r ia p rin c ip a l. E s to s ig n ific a q u e se ha re a liz a d o al m e n o s u n a e s c ritu ra s o b re él y q u e p o r lo ta n to , es la ú n ic a c o p ia en la s c a c h ó s d e l s is te m a . Es d e c ir, s o n lo s m is m o s e s ta d o s q u e ya u tiliz a m o s en el p r o to c o lo M S I b a s a d o en e s p io n a je (e je m p lo 5.4). En c u a n to a lo s e s ta d o s q u e p u e d e te n e r u n b lo q u e d e s d e el p u n to d e v is ta d e l d ir e c to r io so n tr e s m u y s im ila re s : • U n c a c h e d o n o c a c h e a d o (U ). El b lo q u e n o está en n in g u n a c a c h ó d e l siste m a . • C o m p a rtid o o S h a re d (S). El b lo q u e está en u n a o m á s c a c h ó s y es c o h e re n te c o n la m e m o ria p rin c ip a l. • M o d ific a d o (M ). El b lo q u e está en u n a ú n ic a c a c h ó y n o es c o h e re n te c o n la m e m o ria p rin c ip a l. E sto s ig n ific a q u e se ha re a liz a d o al m e n o s u n a e s c ritu ra s o b re él y q u e p o r lo t a n t o , si h a b ía o tra s c o p ia s de e s te b lo q u e en o tra s c a c h ó s , se h a b rá n in v a lid a d o .
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
L o s m e n s a je s q u e u tiliz a e ste p r o to c o lo s o n lo s q u e h e m o s v is to en la ta b la 5 .1 . El d ia g ra m a d e tr a n s ic ió n d e e s ta d o s d e s d e el p u n to d e v is ta d e la s c a c h é s p a ra e ste p r o to c o lo es el s ig u ie n te :
N o es n e c e s a rio a n a liz a r la s tr a n s ic io n e s d e e s te d ia g ra m a en p ro fu n d id a d ya q u e s o n la s m is m a s q u e e n el p r o to c o lo M S I b a s a d o en e s p io n a je d e l e je m p lo 5.4. La p rin c ip a l d ife re n c ia es q u e en e s te c a s o lo s e v e n to s g lo b a le s n o c o n s is te n en d e te c ta r u n c o m a n d o en el b u s c o m p a r tid o s in o en r e c ib ir u n m e n s a je del d ir e c to r io . La n o v e d a d está m á s b ie n en el d ia g ra m a d e tr a n s ic ió n d e e s ta d o s d e s d e el p u n to d e v is ta d e l d ir e c to r io :
R c c v ( R M is s ) /
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Para s im p lific a r el d ia g ra m a s ó lo se ha p u e s to u n a ve z el e n v ío d e l m e n s a je d e in v a lid a c ió n (S e n d (ln v )) p o r p a rte d e l d ir e c to r io , p e ro se envía u n m e n s a je d e e ste t ip o a ca d a n o d o q u e a p a re c e en el v e c to r d e c o m p a r tid o s d e l b lo q u e in v o lu c ra d o . T a m b ié n pa ra s im p lific a r el d ia g ra m a y q u e se c o m p re n d a m e jo r, n o se h a n in c lu id o lo s m e n s a je s q u e p u e d e n lle g a r al d ir e c to r io c u a n d o la s d is tin ta s c a c h é s d e l s is te m a re m p la z a n su s b lo q u e s s u c io s (sería un e v e n to R e cv(W B ) e s p o n tá n e o , sin q u e h a ya h a b id o u n m e n s a je d e F etch o d e F e tc h + ln v p re v ia m e n te ). En e ste c a s o , el m e n s a je d e W B lle v a u n b lo q u e en su in te rio r, p o r lo q u e lo ú n ic o q u e tie n e q u e h a c e r el d ir e c to r io es a c tu a liz a r el v e c to r d e c o m p a r tid o s d e l b lo q u e h a c ie n d o V = 0 , y p a s a r d e l e s ta d o M al e s ta d o U. En el c a s o de r e e m p la z a m ie n to s d e b lo q u e s q u e n o h a n s id o m o d ific a d o s , se u tiliz a el m e n s a je c o n e tiq u e ta W B p e ro v a c ío (n o h a c e fa lta a c tu a liz a r el b lo q u e en la m e m o r ia p rin c ip a l) , e s to s ig n ific a q u e la c a c h é ha re m p la z a d o u n b lo q u e lim p io . P o r lo q u e el d ir e c to r io a c tu a liz a el v e c to r d e c o m p a r tid o s y d e ja al b lo q u e en el e s ta d o S , a n o ser q u e el p ro c e s a d o r d e l q u e lle g u e el m e n s a je fu e ra el ú n ic o c o n c o p ia d e l b lo q u e , p o r lo q u e se pasa ta m b ié n al e s ta d o U y a q u e V = 0 . A n a lic e m o s en e s te c a s o la s tra n s ic io n e s q u e se p ro d u c e n d e s d e ca d a u n o d e lo s e s ta d o s :
i
ESTADO
ESTADO U U I ll'iV» DELA DELA TRANSICIÓN TRANSICIÓN u
s
M
1
EVENTO QUE LA PROVOCA
EXPLICACIÓN
S
R e cv(R M iss)
E l d ir e c to r io e n vía c o p ia d e l b lo q u e s o lic ita d o al p ro c e s a d o r lo c a l y p o n e u n 1 en el v e c to r d e c o m p a rtid o s en la p o s ic ió n q u e c o rre s ponde.
M
R e cv(W M iss)
E l d ir e c to r io e n vía c o p ia d e l b lo q u e s o lic ita d o al p ro c e s a d o r lo c a l y p o n e u n 1 en el v e c to r d e c o m p a rtid o s en la p o s ic ió n q u e c o rre s ponde.
S
R e cv(R M iss)
E l d ir e c to r io e n vía c o p ia d e l b lo q u e s o lic ita d o al p ro c e s a d o r lo c a l y a ñ a d e u n 1 en el v e c to r d e c o m p a r tid o s en la p o s ic ió n q u e c o rre s p o n d e .
M
R e cv(W M iss) y P c o m p a r t e el b lo q u e
El d ir e c to r io e n vía u n m e n s a je In v a to d o s la s c a c h ó s re m o ta s q u e tie n e n c o p ia d e l b lo q u e en el q u e el p ro c e s a d o r lo c a l va a e scrib ir. A c tu a liz a el v e c to r d e c o m p a r tid o s d e ja n d o un ú n ic o 1 en la p o s i ció n d e l p ro c e s a d o r q u e va a re a liz a r la e s c ritu ra .
M
R e cv(W M iss) y P no c o m p a r te el b lo q u e
El d ir e c to r io e n vía u n m e n s a je d e in v a lid a c ió n a to d a s la s ca ch ó s re m o ta s q u e tie n e n c o p ia d e l b lo q u e en el q u e el p ro c e s a d o r lo c a l va a e scribir. El d ir e c to r io envía c o p ia d e l b lo q u e s o lic ita d o al p ro c e s a d o r lo c a l y p o n e u n 1 en el v e c to r d e c o m p a rtid o s en la p o s ic ió n q u e c o rre s ponde.
S
R e cv(R M iss)
El d ir e c to r io e n vía u n m e n s a je d e F e tch a la c a c h ó re m o ta q u e tie n e el b lo q u e m o d ific a d o . C u a n d o re c ib e el W B d e s d e esta c a c h ó , el d ir e c to r io e n vía c o p ia del b lo q u e s o lic ita d o al p ro c e s a d o r lo c a l y p o n e u n 1 en el v e c to r de c o m p a r tid o s en la p o s ic ió n q u e c o rre s p o n d e .
M
R e cv(W M iss)
El d ir e c to r io envía u n m e n s a je d e F e tc h + ln v a la c a c h é re m o ta q u e tie n e el b lo q u e m o d ific a d o . C u a n d o re c ib e el W B d e s d e esta c a c h ó , el d ir e c to r io e n vía c o p ia del b lo q u e s o lic ita d o al p ro c e s a d o r lo c a l y p o n e u n ú n ic o 1 en el v e c to r d e c o m p a r tid o s en la p o s ic ió n q u e c o rre s p o n d e .
S e p u e d e o b s e rv a r q u e c o n el c o n ju n to d e e tiq u e ta s q u e m a n e ja m o s en e ste e je m p lo , c u a n d o u n p ro c e s a d o r q u e tie n e un a c ie rto d e e s c ritu ra q u ie re n o tific a r al d ir e c to r io q u e va a re a liz a r u n a e s c ritu ra s o b re ese b lo q u e q u e y a tie n e , lo h a c e co n u n m e n s a je W M is s (ya q u e n o te n e m o s d is p o n ib le el W H it). Esta n o tific a c ió n es im p re s c in d ib le p a ra q u e el d ir e c to r io in v a lid e el re s to d e p o s ib le s c o p ia s d e e ste b lo q u e en el s is te m a . Pero c o m o p u e d e c o m p ro b a r, m e d ia n te el v e c to r d e c o m p a rtid o s , q u e a u n q u e el m e n s a je re c ib id o es u n W M is s , el p ro c e s a d o r lo c a l y a tie n e u n a c o p ia d e l b lo q u e en su c a c h ó , n o le re s p o n d e c o n un R e p ly in n e c e s a rio .
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
E je m p lo 5 .1 3 A plicación práctica del p ro to co lo del ejem plo 5.12. Para c o m p r e n d e r m e jo r el fu n c io n a m ie n to d e e ste p r o to c o lo , v a m o s a p la n te a r u n c a s o p rá c tic o en el q u e se u tiliz a rá pa ra m a n te n e r la c o h e re n c ia d e u n a a rq u ite c tu ra d e m e m o ria c o m p a rtid a -d is trib u id a . S u p o n g a m o s q u e te n e m o s una a rq u ite c tu ra d e e ste tip o c o n tr e s p ro c e s a d o re s (PO, P1 y P2) c u y a s c a c h é s e stán in ic ia lm e n te va cía s. ¿ C ó m o e v o lu c io n a n lo s c o n te n id o s d e la s c a c h é s , d e lo s d ir e c to r io s y el p r o to c o lo si se e je c u ta la s ig u ie n te se cu e n cia d e le c tu ra s y e s c ritu ra s en lo s b lo q u e s 0 y 1 d e M P ? S u p o n g a m o s q u e a m b o s b lo q u e s se e n c u e n tra n u b ic a d o s en la m e m o ria p rin c ip a l d e l P O y q u e el d ir e c to r io está d is trib u id o , d e m a n e ra q u e s ó lo n o s in te re s a la e v o lu c ió n d e l d ir e c to r io d e PO.
P ro cesa d o r 0
—■
P ro cesa d o r
P O U tB l
0
1
lee el B lo q u e 1 ~ ■■■■ lee el B lo q u e 1
P l IEE B1
* N ota: Las le ctu ra s y e scritu ra s se realizan c o n in s tru c c io n e s de load y s to re a pa la bra s co n cre ta s, en este caso estam os s im p lific a n d o la m anera de expresar el p a tró n de accesos a m e m o ria p o rq u e lo ú n ic o q u e n o s im p o rta es en q u é b lo q u e s se e n cuentran esas palabras y s i se solicita una lectura o una escritura.
En la s ig u ie n te ta b la , lo s m e n s a je s s e e s p e c ific a rá n c o n u n s e n c illo f o r m a t o (e tiq u e ta , d ir e c c ió n d e b lo q u e , d e s tin o ), d ó n d e D IR _P 0 es el d ir e c to r io d e PO y M C _ P 0 es la m e m o r ia c a c h ó d e l p ro c e s a d o r 0, p o r e je m p lo .
L e c tu r a /e s c ritu r a
E v e n to lo c a l
M e n s a je s
PO le e B1
Fallo d e le c tu ra
M C PO: S e n d (R M iss,B 1 ,D IR PO) DIR_P0: S e n d (R e p ly,B 1 ,M C _P 0 )
P1 le e B1
Fallo d e le c tu ra
M C P1: S e n d (R M iss,B 1 ,D IR PO) DIR_P0: S e n d (R e p ly,B 1 ,M C _P 1 )
P2 e s c rib e BO
F a llo d e e s c ritu ra
M C P2: S e n d (W M is s ,B 0 ,D IR PO) DIR_P0: S e n d (R e p ly,B 0 ,M C _P 2 )
PO e s c rib e B1
A c ie r to d e e scritu ra
M C PO: S e n d (W M is s ,B 1 ,D IR PO) DIR_P0: S e n d (ln v ,B 1 ,M C _ P 1 )~
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
L e c tu r a /e s c ritu r a
E v e n to lo c a l
M e n s a je s
PO le e BO
Fallo d e le c tu ra
M C PO: DIR PO: M C P2: DIR_P0:
S e n d (R M iss,B O ,D IR PO) S e n d (F e tch ,B O ,M C P2) S end(W B ,B O ,D IR PO) Send(Reply,BO ,M C_PO )
P2 e s c rib e B1
F a llo d e e s c ritu ra
MC DIR MC DIR
S e n d (W M is s ,B 1 ,D IR PO) S e n d (F e tc h + ln v ,B 1 ,M C PO) S e n d (W B ,B 1 ,D IR PO) S e n d (R e p ly ,B 1 ,M C P2)
P2: PO: PO: PO:
En a lg u n o s c a s o s lo s m e n s a je s so n e n tre la m e m o ria c a c h é y el d ir e c to r io d e un m is m o p ro c e s a d o r, p o r lo q u e n o lle g a n a s a lir a la re d s in o q u e se tra n s fie re n d ir e c ta m e n te a tra v é s d e la m e m o r ia d e l n o d o lo c a l. Pero el f o r m a t o es e x a c ta m e n te el m is m o en to d o s lo s ca so s, sea n e c e s a rio s a lir a la re d o no. En el c a s o en el q u e PO e s c rib e B1 y tie n e u n a c ie rto d e e s c ritu ra se p u e d e o b s e rv a r q u e el m e n s a je co n e tiq u e ta W M is s q u e e n vía al d ir e c to r io e s s ó lo p a ra a n u n c ia r q u e v a a e s c rib ir en el b lo q u e , en re a lid a d n o n e c e s ita q u e se le re s u e lv a el fa llo . Y d e h e c h o el d ir e c to r io n o d e v u e lv e u n m e n s a je d e R e p ly c o n el b lo q u e p o rq u e PO a p a re c e en el v e c to r d e c o m p a r tid o s y e so s ig n ific a q u e y a tie n e c o p ia d e e ste b lo q u e . Por ta n to , el d ir e c to r io , s im p le m e n te , re s p o n d e e n v ia n d o una in v a lid a c ió n a to d o s lo s p ro c e s a d o re s q u e tie n e n ta m b ié n c o p ia d e él, en e ste c a s o , P1. C on e s te e je m p lo se p u e d e o b s e rv a r q u e e ste s e n c illo p r o to c o lo d e tr e s e s ta d o s re s u e lv e el p ro b le m a de la c o h e re n c ia ta m b ié n en el c a s o d e la s a rq u ite c tu ra s d e m e m o r ia c o m p a rtid a -d is trib u id a .
L a e stru c tu ra d e directorio q u e se h a explicado h a sta a h o ra , a pesar d e e s ta r distribuida, puede p re sentar problem as d e escalabilidad. H ay q u e ten er en c u en ta q u e el vector de c o m p a rtid o s de c a d a bloque necesita u n b it p o r c a d a no d o del sistem a (es lo q u e se llam a un vector d e com p artid o s com pleto), p o r lo q u e el d irecto rio puede llegar a o c u p a r u n espacio inadm isible e n la m a n o r ia principal si la arq u itectu ra se escala h a sta u n núm ero d eterm in ad o d e nodos. P a ra evitar e ste problem a se h a n propuesto d o s soluciones: • Vector de compartidos por grupos. E n este caso, c a d a bit del vector d e com p artid o s representa a un grupo d e n o d o s del sistem a. C on q u e uno d e los n o d o s d e un grupo ta ig a c o p ia de un bloque en su caché, la posición co rresp o n d ien te del vector d e c o m p artid o s e n el directorio se p o n d rá a 1. O b viam ente, el problem a d e e s ta im p lo n en tación es q u e cu an d o se invalida un bloque, se debe enviar d m ensaje d e invalidación a to d o s los n o d o s q u e fo rm an un grupo, ya q u e el directorio no puede saber cuáles d e ellos tienen co p ia del bloque en su caché y cuáles no, sólo sabe q u e existe alguna caché d e ese g ru p o d e n o d o s q u e tiene co p ia y p o r lo tanto, está obligado a enviar la invalidación a to d o s ellos. • Directorio limitado. E sta alternativa lim ita el núm ero d e cachés q u e pueden tener c o p ia d e un blo que sim u ltán eam en te E n este caso, lo q u e alm acena el vector d e c o m p artid o s es el identificador de b s n o d o s q u e en c a d a m om ento tie n o i co p ia del bloque. Si llega u n a fallo de lectura d e un nodo por un d eterm in ad o bloque y ya se h a llegado al lím ite d e co p ias en d sistem a p a ra ese bloque, el directorio d eb erá decidir c o n algún algoritm o de selección q u é co p ia debe invalidarse p a ra p o d er enviar el bloque al no d o q u e a cab a d e ten er el fallo sin sob rep asar así el núm ero m áxim o d e co p ias en c ach é p erm itid as en el sistem a. Por lo ta n to , am b as alternativas resuelven el problem a del espacio q u e o cu p a el directorio en la m e m oria principal p a ra sistem as c o n u n gran núm ero d e nodos, pero sacrifican a cam bio d ancho d e b a n d a d e la red d e interconexión d e la arq u itectu ra, ya q u e g o ieran tráfico adicional (m oisajes d e invalidación extra) respecto d el caso en el q u e se utiliza el vector d e c o m p a rtid o s soicillo.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
Por últim o, hay q u e señ alar q u e los problem as d e im plem entación q u e este tip o d e protocolos p re sentan e n la práctica, sea cu al sea la e stru c tu ra del d irectorio, están relacionados co n d cum plim iento d e la hipótesis d e consistencia secuencial p a ra la red d e com unicaciones (y eso escapa a los objetivos d e este libro) y c o n la ex isten d a d e m ás u n nivel d e caché. E n este últim o caso la so lu d ó n es la m ism a q u e p a ra las arq u itectu ras d e m em oria co m p a rtid a .
Diseño de arquitecturas de memoria distribuida C om o ya se h a m encionado c o n an terio rid ad, u n a a rq u itec tu ra d e m em oria d istrib u id a se co m pone de un c o n ju n to d e n o d o s d e c ó m p u to com p letos e independientes, co n ectados e n tre sí m ediante u n a red de com u n icad o n es. P o r eso este tip o d e sistem a se suele d en o m in a r m ulticom putador, com o se h a com en tad o con an terio rid ad . C u an to m ás d istrib u id o s y m enos aco p lad os estén los recursos d e c ó m p u to q u e com ponen la a rq u i tectura, m ás im p o rta n d a c o b ran los sistem as operativos, d m iddleware, los m odelos de p ro g ram ad ó n y cualquier h erram ien ta q u e co n trib u y a a la in te g ra d ó n d e estos recursos. P o r eso la com prensión en p ro fundidad d e este tipo d e a rq u ite c tu ras n o se p u ed e h acer desde el hardw are exclusivamente. H oy e n d ía se distinguen d o s grandes tip o s d e arq u itectu ras d e m em oria distribuida, los clusters y los grids. A un q u e existen o tro s p arad ig m as d e com putación d istrib u id a com o Peer2Peer o C loud, q u e no están to d av ía m uy extendidos m ás q u e en ciertas aplicaciones m uy concretas.
5.5.1.
Clusters
U n clu ster es u n a arq u itectu ra d e m em oria d istrib u id a com puesta p o r un co n junto d e n o d o s d e có m pu to independientes y co n ectad o s p o r u n a red c o n tro lad a d e altas prestaciones. Este tip o d e sistem as han aparecido d e m an era n atural e n em presas, universidades y centros de inves tigación, debido prin cip alm en te a: • Los g ra n d e s avances e n las prestaciones d e los m icroprocesadores d e co nsum o habitual. • A la aparición d e redes d e com unicación y pro to co lo s d e alto rendim iento. • Al desarro llo d e herram ien tas softw are q u e facilitan su configuración y adm inistración. Se p u ed e d istin g u ir e n tre d istin to s tip o s d e clusters. P rim ero se pueden clasificar en D ed ic ad o s o N o d e d ic a d o s atendiendo al tip o d e u tilizació n q u e se h a g a d e los recursos d e c ó m p u to q u e form an el cluster. E n u n c lu ste r d e d ic a d o e sto s recu rso s e stán d isponibles p o r com pleto el 100% del tiem po p a ra la ejecución d e las tareas q u e se lancen en d sistem a. Sin em b arg o en un d u s te r no ded icad o , algunos recursos e s ta rá n d isp o n ib les p arcial o to ta lm e n te sólo en c ie rto s in stan te s d e tiem po p a ra el cluster. Por ejem plo, c u a n d o se p reten d e ap ro v ech ar los ciclos d e C P U no u tilizad o s de las c o m p u ta d o ra s personales d e los tra b a ja d o res d e u n a org an ización, se p u ed e e s ta r ejecu tan d o u n a ta re a d d c lu ste r en d 100% d e los recursos d u ra n te la noche, pero en c u a n to u n o d e los tra b a ja d o res se siente d e la n te d e su c o m p u ta d o ra p a ra trab ajar, la c a n tid a d d e recursos d isp o n ib le p a ra el c lu ster dism inuirá. E ste tipo de a rq u ite c tu ra s se d en o m in a n en ocasiones N O W (NetW ork O f W orkstations), ya q u e en realidad no son m ás q u e red es d e o rd e n a d o re s q u e sólo en d e te rm in a d o s m o m e n to s trab ajan co m o u n a única arq u itectu ra. A ten d ien d o a las c a ra c terístic a s d e los n o d o s d e có m p u to q u e form an el cluster, en c o n tra m o s sistem as h o m o g én eo s o heterogéneos. L o s p rim eros clu sters e ra n sistem as hom o g én eo s en los q u e to d o s los n o d o s e ra n id én tico s y la co m u n icación e n tre d o s n o d o s cu a lesq u iera del sistem a su p o n ía ex a c ta m en te el m ism o tiem po. E n un sistem a d e e ste tip o p u ed e a p a rec er heterogeneidad d e b id a a d o s factores:
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
• A las diferentes características hardw are d e las c o m p u tad o ras q u e co m p o n en el sistem a (procesa dor, m em oria, etc). • A las diferentes características d e las redes d e com unicaciones q u e perm iten la com unicación e n tre estos n o d o s en lo q u e se refiere a laten cia y a ancho d e banda. L a evolución n atu ral d e los clusters h a sido hacia sistem as heterogéneos. P o r ejem plo, m uchos clusters q u e se em plean actualm ente en em presas e instituciones científicas no se h a n form ado co n equipos qu e se hayan ad q u irid o específicam ente p a ra c re ar los clusters, sino q u e se h a aprovechado hardw are disponible^ q u e en la m ayor p a rte d e los casos es heterogéneo. Tam bién es típico q u e se adquieran equipos para d ise ñ a r clusters hom ogéneos pero q u e con el paso del tiem po se in c o rp o ra l al sistem a nuevos n o d o s o q u e se actualicen los n o d o s ya existentes. D e nuevo en la m ayor p a rte de los casos las am pliaciones o actualizaciones llevan a la a p arició n d e heterogeneidad en d sistem a. Por lo ta n to , la m ayor p a rte d e los clusters q u e existen en la actualidad son heterogéneos o te rm in a rán riéndolo. P o r ú ltim o, se p u ed e d is tin g u ir e n tre c lu sters p ro p ieta rio s, d ise ñ a d o s p o r un fa b ric an te c o n cre to , o c lu sters B eow ulf. E n este caso , los n o d o s d e p ro ceso son P C s y u tilizan un sistem a o perativo L inux. M u c h a s veces se c o n sid e ra u n m u ltic o m p u ta d o r casero q u e p u ed e a p ro v e c h a r co m p o n en tes com erciales, b a ra to s y p o te n te s y recu rso s a n tic u a d o s o in fra u tiliz ad o s q u e d e o tr a m a n e ra no se utilizarían . Sea cu al sea el tip o d e clu ster diseñado, esto s sistem as presentan u n a serie d e ventajas si se co m p aran con las a rq u ite c tu ras d e m em oria c o m p a rtid a o co m partida-distribuida: • R elad ó n coste/prestaciones. L o s clu sters obtienen excelentes prestaciones utilizando hardw are com ercial cu y a utilización e s tá m uy extendida, p o r lo q u e los precios d e los com ponentes d e la arq u itectu ra su d e n ser m uy bajos. • Escalabilidad. E ste tip o d e arq u itectu ras perm ite configurar sistem as c o n g ra n variedad d e ta m a ños, d esde u n o s pocos n o d o s h a sta miles d e ellos, sin q u e esto se refleje dem asiado negativam ente en sus p restad o n es. • D isponibilidad. C uan d o se d isp o n e del softw are adecuado, un fallo en un nodo o in d u so en varios nodos del c lu ster n o im plica u n fallo general de to d a la arq uitectura. • Flexibilidad. L os clu sters perm iten realizar m odificaciones e n su co n fig u rad ó n d e m an era m uy rencilla, e in d u s o se pueden h acer esto s cam b io s d e m anera dinám ica, agregando o d im in a n d o nodos del sistem a en tiem po d e ejecución. • A provecham iento d e los recursos. E sta flexibilidad lleva directam ente a u n m ejor aprovecham iento de los recursos disponibles, ya q u e se p u eden agregar n o d o s al cluster cuando sea necesario p o r su carga d e trab ajo , y liberarlos cu a n d o estén infrautilizados. • G e d m ie n to progresivo. C u an d o el sistem a se q u e d a obsoleto o es necesario a u m e n ta r su cap aci dad d e cóm puto, b a sta con sustituir los n o d o s m ás antiguos p o r o tro s m ás potentes o co n a ñ a d ir nuevos n o d o s al sistem a. E sta característica tam bién se d en o m in a en ocasiones escalabilidad increm ental. • R ápida respuesta a los avances tecnológicos. E sta posibilidad d e crecim iento progresivo facilita la rápida incorporación d e la tecnología m ás m o d e rn a al sistem a. Además, com o no existe u n a m em oria c o m p artid a n i un espacio d e direcciones co m p artid o , este tipo de arq u itectu ras n o presentan los problem as d e co h ere n d a , c o n siste n d a y rin cro n izad ó n antes estu d ia dos. Pero to d av ía existen alg u n as d esventajas en la utilización d e este tipo d e sistemas. Prim ero hay q u e ten er e n c u e n ta q u e la utilización de m em oria distribuida, y p o r lo tanto, de co m u nicación explícita e n tre procesos, a ñ ad e dificultad a la u tilizad ó n eficiente d e la red de com unicaciones de la a rq u itectu ra, q u e puede llegar a convertirse en el cuello d e b otella del sistem a.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
Además, en este tip o d e a rq u ite c tu ras existe todavía u n a carencia d e estándares q u e dificulta la m i gració n d e cierto tip o d e aplicaciones a un esquem a d e m em oria distrib u id a. El único aspecto en el q u e ociste u n acuerdo global en to d a la co m u n id ad d e u suarios d e este tipo d e sistem as es e n la utilización de M P I (M essage Passing Interface) com o librería d e paso d e m ensajes. Este es el único e stá n d a r (y no lo es de m an e ra estricta, sólo de fa c to ) q u e existe p a ra este tipo d e arquitecturas. Por últim o, hay q u e an alizar d e m an e ra algo m ás extensa los problem as d e fa lta d e imagen d e sistem a único y d e equilibrio d e ca rg a así com o las soluciones m ás extendidas p a ra su resolución.
5 .5 .1 .1 .
S
o l u c io n e s p a r a l a f a l t a d e im a g e n d e s is t e m a ú n ic o
P a ra so lu c io n a r el p ro b lem a d e la fa lta d e im agen d e sistem a único es necesario in sta la r un m iddlew are so b re el sistem a o p erativ o local d e c a d a u n o d e los n o d o s q u e c o m p o n en el c lu ste r o p arch ear/m o d ificar e sto s sistem as o perativos locales p a ra q u e funcionen com o u n sistem a operativo distrib u id o (figura 5.20).
S o lu c io n e s p a r a e l p r o b le m a d e im a g e n d e s is te m a ú n ic o .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
En cualq u iera d e los d o s casos, la intención es p ro p o rcio n ar u n a capa interm edia e n tre los usu ario s y sus aplicaciones, y la arq u itectu ra, q u e pro p o rcione los siguientes servicios: • E sp a d o d e procesos único. P a ra q u e los identificadores de proceso sean únicos en to d o d sistem a y esto facilite las com unicaciones e n tre procesos, la c re a d ó n y te rm in a d ó n d e procesos independien tem ente del nod o en el q u e se lan ce o ejecuten, etc • Sistem a d e planificación d e trab ajo s único. P a ra q u e el usuario p u ed a lan zar sus trab ajo s e n el sistem a sin preocuparse d e e n q u é n o d o o n o d o s se van a ejecu tar realm ente. • S ste m a d e ficheros único. P ara q u e el usuario p e rd b a q u e existe u n a única je ra rq u ía d e ficheros bajo el m ism o d irecto rio raíz. • E sp a d o d e E/S único. P ara q u e cu alq u ier nodo del cluster p u ed a acceder a cualquier periférico o dispositivo d e alm acenam iento com o si estuviera conectado localm ente, incluso sin co n o cer su ubicación física. • Interfaz d e usu ario único. D e e s ta form a to d o s los usu ario s del d u s te r tendrán u n interfaz com ún de acceso sea cu al sea el p u n to d esd e el q u e están accdiendo al cluster. Además, la im agen d e sistem a ú nico se favorece si existe u n p u n to d e e n tra d a único a la arq u itectu ra y u n p u n to d e c o n tro l y gestión del c lu ster tam bién único. D e to d a s form as to d av ía n o existe n in g u n a herram ienta q u e p erm ita, ta n to al ad m in istrad o r co m o a los usuarios, ver al d u s te r com o un sistem a d e c ó m p u to único fuertem ente acoplado.
5 .5 .1 .2 .
S
o l u c io n e s pa r a e l e q u il ib r io d e c a r g a
El equilibrio d e la c a rg a d e trab ajo e n tre los n o d o s q u e com ponen un cluster, es uno d e los factores d eterm inantes e n el rendim iento del sistem a. P a ra optim izar la utilización d e los recursos disponibles hay que ev itar situaciones en las q u e la llegada aleatoria d e tareas al cluster provoque q u e u n o s n o d o s del sistem a estén sobrecargados m ientras q u e o tro s estén infrautilizados o incluso com pletam ente d esocu pados, ya q u e estas situaciones im plican graves penalizaciones en el tiem po d e respuesta d d sistem a (que v a ld rá d eterm in ad o p o r el tiem po d e respuesta del nodo m ás lento). D e nuevo la so lu d ó n p a ra e ste p ro b lem a no viene d a d a desde la pro p ia arq u itectu ra o hardw are sino que involucra a niveles superiores. L o s algoritm os d e equilibrio de carga tienen com o objetivo re p artir las tareas q u e se ejecutan en d sistem a d e m an era q u e c a d a nodo ejecute u n a carga p ro p o rd o n a l a su c a p a d d a d d e c ó m p u to y se o ptim ice la utilización d e los recursos. Este tip o d e algoritm os pueden program arse a m edida p a r a un determ in ad o sistem a o incluso p a ra una d e te rm in a d a com bin ació n sistem a-ap licadón, au n q u e existen soluciones generales q u e en m uchos casos ya se in c o rp o ra n al m iddlew are o sistem a operativo m encionados e n la sección anterior.
5.5.2.
Crids
U n G rid e s tá form ado p o r u n co n ju n to d e recursos d istribuidos geográficam ente y co n ectados m e d ian te u n a red. E ste tipo d e arq u itectu ras son la extensión del co ncepto del cluster heterogéneo, perm itiendo co n ectar todo tipo d e recursos, q u e n o tienen p o r q u é e sta r ubicados a i el m ism o espacio geográfico, norm alm ente m ediante u n a red d e c o m u n icad o n es d e área extensa (es decir, a i un a ito m o m ucho m enos c o n tro la d o y d e m enores p re sta d o n e s q u e en el caso d e u n cluster). L as a rq u ite c tu ra s G rid p erm iten la creació n d e org an izacio n es v irtu ales (VO) m ed ia n te la c o m p a rtic ió n d e recu rso s e n tre d iferen tes em presas, en tid a d e s y o rg an ism o s (figura 5.21). P o r lo ta n to se tr a ta d e sistem as m uy d in á m ic o s c u y a co m p o sició n y co nfiguración p u ed e v a ria r e n c u a lq u ie r m o m ento.
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
F ig u r a 5 .2 1 A r q u ite c tu r a G r id típ ic a .
L os problem as q u e p lan tean esto s sistem as todavía no están resueltos d d to d o , p o r lo q u e se e n cu en tran casi exdusivam ente e n e n to rn o s académ icos, au n q u e parece q u e es el futuro d e la com putación distrib u id a o q u e llevará a nuevos tip o s d e arq u itectu ras q u e lo serán (com o los sistem as C loud). L os principales problem as q u e p lan tean este tipo d e arq u itectu ras están re la d o n a d o s con los siguien tes aspectos: • • • • • •
D escubrim iento d e servicios. G estión d e recursos. Com unicaciones. Seguridad. T olerancia a fallos. íb rta b ilid a d d e aplicaciones.
C uan d o se habla d e un G rid hoy en d ía , es c asi inevitable hablar d e G lobus, herram ienta q u e se ha convertido p rácticam ente en el e stá n d a r p a ra tecnología G rid (de nuevo, e stá n d a r d e fa c ió ) ya q u e p ro porciona u n a in fraestru ctu ra tecnológica ro b u sta y m uy com pleta p a ra resolver to d o s estos problem as. Este m iddlew are h a sido pro g ram ad o p o r u n a co m unidad d e expertos y es d e código abierto. Se tra ta de u n c o n ju n to d e servicios (de hecho, actu alm ente se b a sa en Web Services) y librerías q u e d a n so p o rte a los a d m in istrad o res y u suarios d e a rq u ite c tu ras G rid . N o resuelven los problem as a n te s m encionados, pero sí q u e p ro p o rcio n an la m ayor p a rte d e las herram ientas necesarias p a ra hacerlo.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Resumen de decisiones de diseño de sistemas multiprocesador y m ulticomputador D
is e ñ o d e r e d e s d e n t r o d e a r q u it e c t u r a s
D ecisió n
A lte rn a tiv a s
Topología
E s tá tic a D in á m ic a
D e cisio n e s a so c ia d a s
D e m e d io c o m p a r t id o o c o n m u ta d a s ( m o n o e ta p a , m u ltie ta p a b lo q u e a n te s o m u ltie ta p a n o b lo q u e a n te s )
Tipo d e té c n ic a d e co n m u ta ció n
C ir c u ito s P a q u e te s V ir tu a l c u t- th r o u g h V e r m ifo r m e
Tipo d e d e c isió n de en ca m in a m ien to
In c o n s c ie n te
A le a to r ia , r o t a t o r ia o d e te r m in is ta
A d a p ta tiv a
A lg o r it m o d e a d a p ta c ió n
E n o rig e n
F ija o c o n c a p a c id a d d e a d a p ta c ió n
R e sp o n sab ilid a d d e la d e cisió n de en ca m in a m ie n to
D e c is ió n d is t r ib u id a D e c is ió n c e n tra liz a d a
Im p lem en ta ció n del en ca m in a m ien to
T a b la s M á q u in a s d e e s ta d o s
T é c n ic a s d e co n tro l d e flujo
D
D
is e ñ o d e a r q u it e c t u r a s d e m e m o r ia c o m p a r t id a
D ecisió n
A lte rn a tiv a s
D e cisio n e s a so c ia d a s
S o lu c ió n a l p ro b lem a de co h eren cia co n p ro to co lo s de e sp io n a je (sn o o p y)
In v a lid a c ió n A c tu a liz a c ió n
P r o to c o lo ( e s ta d o s , c o m a n d o s y d ia g r a m a d e tr a n s ic ió n d e e s ta d o s ) e im p le m e n ta c ió n
M od elo d e co n siste n cia
S e c u e n c ia l R e la ja d o
S o lu c ió n a l p ro b lem a de sin cro n iza ció n
C e rro jo s B a rre ra s O tro s
is e ñ o d e a r q u it e c t u r a s d e m e m o r ia c o m p a r t id a
- d is t r ib u id a
D ecisió n
A lte rn a tiv a s
D e c isio n e s a so c ia d a s
S o lu c ió n a l p ro b lem a de c o h eren cia c o n p ro to co lo s de in v a lid a ció n b a s a d o s en directorio
D ir e c to r io c e n tra liz a d o D ir e c to r io d is t r ib u id o
P r o to c o lo ( e s ta d o s , c o m a n d o s y d ia g r a m a d e tr a n s ic ió n d e e s ta d o s ) e im p le m e n ta c ió n
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
D ecisió n
A lte rn a tiv a s
M od elo d e co n siste n cia
S e c u e n c ia l R e la ja d o
S o lu c ió n a l p ro b lem a de sin cro n iza ció n
C e rro jo s B a rre ra s O tro s
D e c isio n e s a so c ia d a s
S iste m a o p e ra tiv o o m id d le w a re que d a so p o rte a la co m p a rtició n d e l e sp a c io de d ireccio n e s
D
is e ñ o d e a r q u it e c t u r a s d e m e m o r ia d is t r ib u id a
D ecisió n
A lte rn a tiv a s
D iseñ o h a rd w a re d e l siste m a : tipo d e n o d o s (p ro cesad o r, m e m o ria , d isc o , S O ), re d , etc
S is te m a s h o m o g é n e o s / h e te r o g é n e o s S is te m a s p r o p ie ta r io s /a b ie r t o s S is te m a s d e d ic a d o s /n o d e d ic a d o s
S o lu c ió n a l p ro b lem a d e im agen d e siste m a único
S is te m a o p e r a tiv o M id d le w a r e
D e c isio n e s a so c ia d a s
G e stió n d e r e c u rso s, eq u ilib rio de carg a y p lan ificació n T o leran cia a fallo s Seg u rid a d
BIBLIOGRAFÍA Y LECTURAS RECOMENDADAS ANDREWS, G. R. (1999): Foundations o f Multiíhreaded, Parallel, and Dislributed Programming, Addison Wesley. BUYYA, R. (1999): High Performance Cluster Computing (volúmenes 1 y 2), Prentice Hall. CULLER, D., SINGH, J. R & GUPTA, A. (1998): Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann. DALLY, W. J. & TOWLES, B. P. (2004): Principies and Practices o f Interconnection Networks, Morgan Kaufmann. DUATO, J; YALAMANCHILI, S. & NI, L. (2002): Interconnection Networks, Morgan Kaufmann. EL-REWINI, H. & ABD-EL-BARR, M. (2005): Advanced Computer Architecture and Parallel Processing, Wiley. HENNESSY, J. L. & PATTERSON, D. A. (2007): Computer Architecture: A Quantitative Approach (4.a ed.), Morgan Kaufmann. HWANG, K. (1992): Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw Hill. MAGOULES, F.; PAN, J.; TAN, K. A. & KUMAR, A. (2009): Introduction to Grid Computing CRC Press. ORTEGA, J.; ANGUITA, M. & PRIETO, A. (2005): Arquitectura de Computadores, Thomson. PFISTER, G. (1997): In search o f clusters (2.a ed.), Prentice Hall. SHIVA, S. G. (2005): Advanced Computer Architectures, CRC Press.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
PROBLEMAS 5 .1 .
U n a em presa q u e distrib u y e softw are p a ra gestión em presarial c o m prueba q u e u n a función c o n creta d e este softw are ta rd a 5 segundos e n ejecutarse sobre un determ in ad o procesador. Si el 68% d e e s ta función puede paralelizarse en u n a arq u itectu ra d e m em oria co m p artid a co n cuatro núcleos d e este m ism o procesador, ¿cuál es d tiem po d e ejecución m ínim o q u e p u ed e conseguirse p ara e s ta función u tilizan d o la arq u itectu ra d e m em oria com p artid a?
5 .2 .
U n a aplicación d e có m p u to científico ta rd a 10 segundos en leer sus operandos, 120 segundos en realizar operaciones m atem áticas com pletam ente parald izab les sobre u n a arq u itectu ra d e m e m oria c o m p a rtid a y 6 segundos en escribir sus resultados. ¿C uál e s la fracción serie d e e sta apli cación? ¿C uál es d sp eedup m áxim o q u e p o d ríam o s conseguir paralelizando e sta aplicación?
5 .3 .
Se d iseñ a un p ro cesador con un único nivel d e m a n o ria caché con tasa de fallos del 6% y tam año de bloque d e 256 p alabras d e 64 bits c a d a una. Este procesador funciona con u n a frecu e n d a d e reloj d e 1 G H z y realiza e n m edia 1.25 accesos a m em oria a i c a d a ciclo d e rd o j. Se desea diseñar una arq u itectu ra d e m em oria c o m p a rtid a c o n estos procesadores. ¿C uál es el ancho d e b a n d a mínim o q u e debe p ro p o rc io n a r el bus co m partido d e esta a rq u itec tu ra si se quieren incluir 4 procesadores?
5 .4 .
En d problem a 5.3, ¿qué o cu rre si se d u p lica el ta m añ o del bloque de la caché? ¿C uál debería ser la tasa d e fallos d e la m em oria caché d e c a d a procesador p a r a q u e se puedan c o n ec tar h asta 8 procesadores si se vuelve al tam a ñ o d e bloque del p roblem a 5.3 y al ancho d e b a n d a obtenido a i este problem a?
5 .5 .
Se diseña u n a arq u itectu ra d e m em o ria c o m p a rtid a d e 4 procesadores c o n cachés d e post-escri tu ra q u e utiliza u n p rotocolo d e c o h e ro ic ia d e caché snoopy con invalidación d e 4 estados: • • • •
Inválido. B loque inválido, n o presente en la m em oria caché. Exclusivo. Ú n ica c o p ia del sistem a, coherente co n m em oria principal. C om partido. Varias co p ias en el sistem a, coherentes e n tre sí y con la m a n o ria principal. M odificado. Ú n ica co p ia válida del sistem a, n o coherente con la m a n o ria principal.
R ira el funcionam iento co rrecto d e este protocolo se utiliza u n a señal S (Shared) en el bus co m partido q u e sirve p a ra distin g u ir los d a to s com p artid o s d e los privados. A esta señal, q u e fu n cio na m ediante u n O R cableado, e stá n co n ectados to d o s los c o n tro lad o res de caché d e m an era q u e cad a vez q u e observan u n evento en el bus relacionado co n u n determ inado bloque, vuelcan un 1 si tio ie n co p ia d e d ich o bloque y un 0 si no la tio ie n . Los co m an d o s d e este p ro to co lo son M iss e Inv, y las acciones con WB (volcado d e bloque a m em oria principal) e Invalidar (invalidación e n m a n o ria caché local). a) b)
D educir d d iag ram a d e transición d e estados q u e m uestra la evolución d e los bloques en u n a m em oria caché del sistem a según este protocolo. M o stra r la evolución d e las m em orias cachés im plicadas, los eventos y acciones q u e se p ro ducen y los co m an d o s q u e se envían p o r el bus cu an d o se p ro d u ce la siguiente secuencia de lectura y escrituras. • • • •
PO lee del bloque 0. P3 lee del bloque 2. P l lee del bloque 0. P2 escribe e n el b lo q u e 1.
5.
• • • •
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
PO escribe en el b lo q u e 1. P2 lee el b lo q u e 0. P3 escribe en el b lo q u e 2. PO escribe en el b lo q u e 0.
S uponer q u e el estad o inicial d e las cachés es v a d o y utilizar u n a tabla d e este tipo: E v e n to
C o m a n d o s/A ccio n e s
E sta d o d e la s c a ch é s Pi
Pi: Pj:
a
pj
Pk
a
5.6.
R epetir el p ro b lem a 5.5 si los fallos d e caché, en lu g a r d e resolverlos siem pre la m o n o ria princi pal, los resu d v en o tra s m em orias caché siem pre q u e sea posible.
5.7.
En la siguiente tab la se d etallan los tiem pos q u e supone en c a d a u n a d e las im plem entaciones de los d o s problem as anterio res resolver un fallo desde la m em oria principal (T falloM P), desde o tra m em oria caché (T falloM C ), invalidar u n bloque (T IN V ) y h acer un W riteback d e un bloque a m em o ria principal (TW B). L a im plem entación 1 corresponde al caso en el q u e los fallos se resuelven siem pre d esde la m em oria principal y la im plem entación 2 al caso en el q u e se pueden resolver desde o tr a m em oria caché siem pre y cu a n d o sea p o sib le P a ra el ejem plo concreto de código q u e se h a utilizado en am b o s problem as, d iscu tir acerca d e la conveniencia d e u n a y o tra im plem entación. ¿Se pueden generalizar las conclusiones obtenidas? Im p lem en ta ció n 1
Im p lem en ta ció n 2
100 ns
100 ns
140 ns
30 n s
T|NV
10 n s
10 n s
T wb
60 n s
120 ns
T fa llo M P
T fa llo M C
5.8.
Se d iseñ a u n a arq u itectu ra d e m em oria co m p artid a d e 4 procesadores co n cachés híbridas de escritura d irecta y post-escritura q u e utiliza un protocolo de coherencia d e caché snoopy con invalidación d e 4 estados: • Inválido. B loque invalidado. • Válido. C oheren te c o n M P y con o tras co p ias posibles en M C. • Reservado. El bloque se h a escrito solam ente u n a vez, y es coherente c o n M P. E s decir, cu an d o se escribe sólo u n a vez sobre u n bloque, se utiliza e sc ritu ra d irecta p a ra actualizar la MP. • Sucio. El bloque se h a escrito d o s o m ás veces y es la única co p ia válida d d sistem a. Los co m an d o s d e este p ro to co lo son R M iss y W M iss, y las acciones con WB (volcado de bloque a m em oria principal), E D (escritura d irecta d e u n a única p ala b ra a m o n o ria principal) e Invali d a r (in v alid ad ó n en m em oria caché local). a)
D e d u á r d d iag ram a d e tran sició n d e estados q u e m uestra la evolución d e los bloques en u n a m em oria caché del sistem a según este p rotocolo.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
b)
M o stra r la evolución d e las m em orias cachés im plicadas, los eventos y acciones q u e se p ro ducen y los co m an d o s q u e se envían p o r el bus cu an d o se p roduce la siguiente secuencia de lectura y escrituras: • • • • • •
PO lee el b lo q u e 3. P1 escribe en el b lo q u e 3. P2 escribe en el b lo q u e 4. P1 escribe en el b lo q u e 3. P2 escribe en el b lo q u e 3. P3 lee el b lo q u e 4.
S uponer q u e el estad o inicial d e las cachés es el siguiente: PO: Vacío. P1: B loque 3 válido, bloque 4 reservado. P2: Bloque 3 válido. P3: Vacío. U tilizar u n a tab la d e este tipo: E v e n to
C o m a n d o s/A c c io n e s
E sta d o d e la s c a ch é s Pi
B 5.9.
Pj
B
Pk
S
Se d iseña u n a arq u itectu ra d e m em o ria co m p a rtid a d e 4 procesadores co n cachés d e post-escri tu ra q u e utiliza u n protocolo d e co herencia d e caché snoopy con actualización d e 4 estados: • E stad o inicial o uncached (U ). El bloque n o e stá en la caché, p o r lo q u e c u a n d o el procesador lo solicita p a ra leer o p a ra escribir se produce un fallo. • Exclusivo (E). El bloque está en la caché y n o h a sid o m odificado m ediante escrituras locales. Es la ú nica c o p ia en el sistem a. • Válido (V). El bloque está en la caché y no h a sido m odificado m ediante escrituras locales. Existen o tra s co p ias en las cachés d e o tro s procesadores, to d as ellas coherentes e n tre sí. • M odificado (M ). H bloque está e n la caché y n o es coherente con la m em oria principal p orque d p ro cesador local h a realizado al m enos u n a escritu ra sobre él. Puede q u e existan o tra s co p ias en las cachés d e o tro s procesadores, to d a s ellas coherentes en tre sí. R ira d funcionam iento co rrecto d e este protocolo se utiliza u n a señal S (Shared) en el bus c o m partido q u e sirve p a ra d istin g u ir los d a to s com p artid o s de los privados. A esta señal, q u e fu n cio na m ediante u n O R cableado, están c o n ectados to d o s los co n tro lad o res d e caché d e m an era q u e cad a vez q u e observan un evento en el bus re la d o n a d o con un d eterm in ad o bloque, vuelcan un 1 si tienen co p ia d e dicho b lo q u e y un 0 si no la tienen. Los co m an d o s d e este p ro to co lo son R M iss, W M iss y U p d , y las acciones co n WB (volcado de bloque a m em o ria p rin d p a l) y A ctu alizar_M C (actualización local c o n los con ten id o s d e un com ando U p d ). a) b)
D e d u d r d d iag ram a d e tra n s id ó n d e esta d o s q u e m uestra la evolución de los bloques en u n a m em oria caché del sistem a según este protocolo. M o stra r la evolución d e las m em orias cachés im plicadas, los eventos y acciones q u e se p ro ducen y los co m an d o s q u e se envían p o r el bus cu an d o se produce la m ism a secuencia d e
5.
c)
5.10.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
lecturas y escritu ras q u e en d problem a 5.5. S u p o n er tam bién q u e el estad o in id a l d e las cachés es vacío y u tilizar el m ism o tip o d e tabla y nom enclatura. C o m p arar p a ra este ejem plo el rendim iento d e los pro to co lo s d e in v alid ad ó n y actualizad ó n . ¿Se p u ed en generalizar las conclusiones ex traídas d e esta com paración?
Un sistem a d e m em oria co m p artid a-d istrib u id a co n 4 procesadores y cachés p rivadas asociadas a c a d a procesador, utiliza u n p rotocolo d e directorio d e invalidadón p a ra g aran tizar la co h eren d a d e las cachés. E ste pro to co lo se b a sa e n la utilización d e tres estados p a ra el directorio y p a ra las m em o rias caché: • Inválido (I). B loque invalidado. E ste e sta d o en el d irecto rio se d en o m in a N o C acheado (N C ), es decir, c u a n d o n o hay n inguna c ach é en d sistem a co n co p ia del bloque. • C o m p artid o (C). U n a o v arias co p ias del bloque coherentes e n tre sí y con la m em oria p rin ci pal. • Exclusiva (E). U n a ú n ic a co p ia en el sistem a, n o coherente co n m em oria principal. L as cachés poseen el siguiente estad o inicial: PO: Vacío. P1: B loque 3 co m p artid o , b lo q u e 1 exclusivo. P2: B loques 0 y 3 co m partidos. P3: Vacío. A dem ás se pueden enviar m ensajes co n d form ato (etiqueta, bloque, destino), siendo las e tiq u e tas posibles R M iss (fallo d e lectura), W H it (acierto d e escritura), W M iss (fallo d e escritura), WB (volcado d e bloque u o rden d e volcado de bloque) e Inv (invalidación). El cam p o bloque indica qué bloque está im plicado en la o p e ra d ó n y el cam po destino indica a q u é procesador se le envía d mensaje. Si los bloques 0, 1 ,2 y 3 se en cu en tran en la m em oria principal del pro cesad o r PO, su directorio en la s itu a d ó n inicial es: B0
0010
C
B1
0100
E
B2
0000
NC
B3
0110
C
M o strar e n u n a tab la com o la siguiente la evolución d e las cachés y d d directorio d e PO, y to d o s b s m ensajes q u e se envían, c o n las siguientes lecturas y escrituras: • • • • •
P3 lee del b lo q u e 3. P1 lee del b lo q u e 1. P2 escribe en el bloque 3. P3 lee del b lo q u e 1. P1 escribe en el bloque 3. E sta d o d e la s c a ch é s P¡
Pj
Pk
BBB
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
5.11.
Se d iseñ a u n a arq u itectu ra d e m em o ria co m p artida-distribuida d e 8 procesadores q u e utiliza un protocolo d e co herencia d e cachés b asado en directorio. E ste pro to co lo s utiliza los siguientes 4 esta d o s p a ra los bloques en las m em orias c ach é y a i el directorio: • • • •
Inválido. B loque inválido. Exclusivo. Ú n ica c o p ia del sistem a, coherente co n m em oria principal. C o m p artid o . V arias c o p ia s en d sistem a, coh eren tes e n tre sí y c o n la m em oria principal. M odificado. Ú n ica co p ia válida del sistem a, n o coherente con la m o n o n a principal.
Los m ensajes q u e se p u e d e n enviar co n este protocolo tie n o i el form ato (etiqueta, bloque, d e sti no). El cam p o bloque indica q u é b loque está im plicado o í la operación y el cam po destino indica a q u é p ro cesador se le envía el m ensaje. a)
b) c)
U tilizando el c o n ju n to d e e tiq u e tas p ro p u esto en este libro p a ra los pro to co lo s b asad o s en directorio distribuido com o p u n to d e p a rtid a, definir el c o n ju n to d e etiq u eta s necesario p ara im plem en tar este p rotocolo. D e d u d r el d iag ram a d e transición d e estad o s q u e m uestra la evolución d e los bloques e n el directorio d d sis to n a según e ste protocolo. M o strar la evolución del directorio y d e las cachés co n la secuoicia d e lecturas y escrituras d d p ro b lo n a 5.5. S uponer q u e el p ro p ietario d e to d o s los bloques involucrados e n las o p e raciones d e lectu ra y escritu ra es PO y q u e las cachés e stá n vacías inicialm ente.
Even to
M e n sa je s
D irecto rio
E sta d o d e la s c a ch é s Pi
—
( 5.12.
Pj
_
Pk
a
i
Se d iseñ a u n a arq u itectu ra d e m em o ria co m p artida-distribuida d e 8 procesadores q u e utiliza un protocolo d e c o h e ro ic ia d e cachés b asado o í directorio. Este protocolos utiliza los siguientes 4 estados: • • • •
Inválido. B loque inválido. Exclusivo. Ú n ica c o p ia del sistem a, coherente co n m em oria principal. C o m p artid o . V arias c o p ia s en d sistem a, coh eren tes e n tre sí y c o n la m em oria principal. M odificado. Ú n ica co p ia válida del sistem a, n o coherente con la m o n o ria principal.
Los m o isajes q u e se p u ed en enviar co n este protocolo tie n o i el form ato (etiqueta, bloque, d e sti no). El cam p o bloque indica q u é b loque está im plicado o í la operación y el cam po destino indica a q u é p ro cesador se le envía el mensaje. a) b)
D efinir el c o n ju n to d e O iq u e ta s posibles p a ra este p ro to co lo si el d irecto rio está c e n tra li zado. Si el directo rio se alm acena o í la m em oria del procesador P7, m o strar la evolución del d i rectorio y d e las cachés co n la secuencia d e lecturas y escrituras del problem a 5.5. S uponer
5.
S IS T E M A S M U LTIP R O C E S A D O R Y M U L T IC O M P U T A D O R
que el p ropietario d e to d o s los bloques involucrados en las operaciones d e lectura y escritu ra es PO y q u e las cachés e s tá n vacías inicialm ente.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
AUTOEVALUACIÓN
_________________________________________
1.
¿Qué diferencias hay entre las arquitecturas de m em oria com partida y las d e mem oria com partida-distri buida?
2.
¿Qué significa que en las arquitecturas de m em oria compartida la com unicación entre pro cesos es implícita?
3.
¿Cuál es la principal característica de una red crossbar?
4.
¿En qué consiste la conm utación virtual cut-through y cuáles son sus ventajas?
5.
¿Cómo se resuelve el problem a d e la coherencia en arquitecturas d e m em oria compartida?
6.
¿Qué diferencias hay entre los protocolos de coherencia basados en invalidación y basados en actualización?
7.
¿En qué consiste el problema d e la consistencia y qué alternivas hay para resolverlo?
8.
Cuando se estudian protocolos d e coherencia, ¿qué es un directorio y para qué se utiliza?
9.
¿Qué diferencias hay entre un cluster y un grid?
10.
¿En qué consiste la falta de imagen de sistema único y cóm o se puede resolver este proble ma?
r Evaluación de prestaciones
Contenidos
|
6.1. 6.2.
D e fin ic ió n d e m é tric a s d e re n d im ie n to M é tric a s d e r e n d im ie n to s e n c illa s
6.3. 6.4. 6.5.
E v a lu a c ió n y c o m p a ra c ió n d e re n d im ie n to T é c n ic a s d e m e d id a y b e n c h m a rk s M é tric a s d e r e n d im ie n to c o m p le ja s
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
L a necesidad d e definir m étricas d e rendim iento surge en m u ltitu d de contextos relacionados co n la arq u itectu ra d e c o m p u ta d o ra s co m o c o m p a ra r diferentes alternativas d e diseño, predecir el im pacto q u e va a ten er u n a m ejora, e n c o n tra r el co n ju n to d e p arám etros q u e h ace q u e un diseño consiga su rendim ien to m áxim o o establecer las alternativas d e m ejo ra d e u n a arq uitectura. D e hecho a lo largo d e to d o este libro ya se han em pleado m étricas y expresiones relacionadas con la evaluación d e prestaciones p a ra to m a r decisiones d e diseño, co m p a ra r alternativas y cuantificar la ganancia o b ten id a c o n ciertas m ejoras. En e ste capítulo se resum en los aspectos básicos d e la evaluación de rendim iento de arq u itectu ras de co m p u tad o ras. P or ta n to , se p ro p o rcio n an u nas guías y recom endaciones p a ra escoger m étricas de rendim iento adecu ad as y se definen m étricas sencillas q u e se puedan em plear e n contextos generales d e evaluación. Tam bién se estu d ia cóm o realizar la interpretación d e estos resultados y cóm o co m p a ra r unos co n otros, introduciendo las leyes d e A m dhal y G u stafso n y su utilización e n diferentes escenarios. A dem ás, se p resen tan las diferentes técnicas d e m edida q u e pueden em plearse p a ra o b ten er los va lores d e las m étricas escogidas en sis to n a s reales y se estu d ian las diferentes aplicaciones q u e se pueden ejecutar en u n sistem a p a ra realizar estas m edidas d e rendim iento, p ro p orcionando así u n a introducción al concepto d e bench m ark . Por últim o se discuten m étricas d e rendim iento m ás sofisticadas q u e p e rm ita n la evaluación d e ar qu itectu ras com puestas p o r m ás u n p ro cesador com o las estu d iad as e n el capítulo 5 d e este libro. E n esta últim a p a rte d d capítulo se estudian las diferentes definiciones d e speedup y m étricas com o la eficiencia o la escalabilidad.
un
Definición de métricas de rendimiento
H asta este m om ento, en este libro se han estudiado d funcionam iento y el diseño d e los p rin d p a le s com ponentes q u e se en c u e n tra n en u n a arq u itectu ra m onoprocesador y d e las arq u itectu ras m ultiprocesa d o r y m ulticom putador. Sin em bargo, co m o se h a m e n d o n a d o en la introducción d e este capítulo, y com o se anunció en el capítulo 1, n o es su fid en te c o n ad q u irir estos conocim ientos, tam bién es necesario saber có m o van a evolucionar e sta s arquitecturas, cóm o se pueden m ejorar, c u á n to m ejor son u nas q u e otras, etc. En to d o s esto s co n tex to s en los q u e puede ser necesario llevar a cabo la evaluación d e rendim iento de u n a arq u itectu ra, existen c iertas características q u e siem pre e s deseable q u e la m étrica cu m p la y q u e perm itirán q u e la evaluación d e rendim iento d e u n a arq u itectu ra sea m ás com pleta y fiable. L as m ás im p o rtan tes son: •
•
•
• •
Facilid a d de m edid a. Es deseable q u e la m étrica d e rendim iento sea fácil d e m edir p a ra q u e sea am pliam ente u tilizada y así existan resu ltad os co n los q u e c o m p a ra r el obtenido. A dem ás, la fad lid ad de m ed id a h a rá m ás difícil q u e se com etan errores en la evaluación d e rendim iento. R epetibilidad. U n a m étrica d e rendim iento es repetible si siem pre q u e se m ide sobre la m ism a arq u itectu ra en las m ism as condiciones se obtiene el m ism o valor (exceptuando, obviam ente, la variabilidad típica q u e se p ro d u ce en la experim entación). E s decir, se tra ta d e u n a m étrica d e ter m inista. F ia b ilid a d . U n a m étrica d e rendim iento e s fiable si el valor obtenido p a ra la arq u itectu ra A es m a yar q u e p a ra la a rq u ite c tu ra B y el rendim iento d e la a rq u itec tu ra A en el aspecto q u e cuantifica la m étrica, e s siem pre m ayor p a ra e sta a rq uitectura. C o n sisten cia. U n a m étrica es consistente si su definición, su significado y sus unidades d e m edida no varían d e u n a s arq u itectu ras a otras. L in e a l ¡dad. U n a m étrica e s lineal a su relación c o n el aspecto de rendim iento q u e cuantifica es li neal, es decir, a p o r ejem plo al duplicarse el rendim iento se duplica el valor d e la m étrica. E ste tipo
6.
EV A LU A C IÓ N DE PRESTACIO NES
de relación hace m ucho m ás fácil la interpretación d e los resultados de las m edidas. Si al hacer u n a m ejora en d d iseño d e u n p ro cesador su rendim iento se duplica pero el valor d e la m étrica p a sa de 0.8 a 0.9, probablem ente n o interpretem os b ien los resultados d e la evaluación de rendim iento, sin em bargo si p a sa d e valer 2 a valer 4, es m ucho m ás se n d llo in te rp reta d o s correctam ente. Por supuesto, tam bién es deseable q u e d coste d e las m edidas sea bajo, q u e la m étrica no d ep en d a de intereses com erciales, q u e esté e stan d arizad a, etc. J^ro obviam ente e s m uy com plicado conseguir u n a m étrica d e rendim iento q u e cum pla to d a s estas características y a ú n así siga siendo fá d l d e m edir, d esg ra d ad a m en te la m ayor p a rte d e las veces hay q u e sacrificar alg u n a d e estas propiedades al escoger las m étricas q u e se van a em plear en u n a evaluación d e rendim iento.
n
i
Métricas de rendimiento sencillas
H abitualm ente se utilizan com o m étricas d e rendim iento aspectos q u e no cum plen las características m encionadas en la se c d ó n anterior, com o puede ser la frecuencia d e r d o j d e un procesador, o los M IPS (m illones d e instrucciones p o r segundo) o M FL O PS (m illones d e in stru ed o n es en co m a flotante p o r segundo) q u e puede ejecutar. M IP S =
— r T= ¡r te p v lo 6 O T T - 1 0 1
M F L O P S = ° peraCÍ° n e s e " FP tepu ■106 Tal y com o se h a estu d iad o en el capítulo 1 d e este libro, el tiem po q u e u n d e term in ad o código ta rd a en ejecu tarse en un p ro c e sa d o r es inversam ente pro p o rcio n al a su frecuencia d e funcionam iento. Pero, según la ecu ació n d e prestacio n es del procesador, tam bién dep en d e del C P I d e la a rq u ite c tu ra y del núm ero d e instrucciones del código. E s decir, u n p ro cesad o r A c o n u n a frecuencia d e reloj m ayor q u e otro p ro cesador B n o necesariam ente ejecu tará un código m ás ráp id o q u e B. P o r lo ta n to , la frecuencia de reloj com o m étrica d e rendim iento no cu m ple c o n u n a d e las características m ás im p o rtan tes d e las en u m erad as en la sección a n terio r: la fiabilidad. Y adem ás tam p o co es lineal. Sólo se puede u tilizar p a ra realizar u n a buena evaluación d e rendim iento si se e stá n c o m p a ra n d o procesadores co n exactam ente d m ism o d iseñ o (m ism o rep erto rio d e instrucciones, m ism o C PI) y q u e sólo varían en la frecuencia d e reloj. Pero su facilidad d e m ed id a, rep etib ilid ad y consistencia h ace q u e se use en m uchos ca so s com o m étrica d e ren d im ien to g en eral, ta m b ié n en c o m p ara cio n es d e d iseñ o s diferentes, d e ahí q u e algunos fab rican tes d e p ro cesad o res in ten ten u tiliz a r técnicas d e diseñ o q u e a u m en ten al m áxim o la frecuencia de reloj (p o r ejem plo, la hiperseg m en tació n , q u e p erm ite q u e el pro cesad o r se segm ente co n un alto núm ero d e e ta p a s q u e p u ed e a lc a n z ar fá d lm e n te el v alo r d e 30) a c o sta d e a u m e n ta r tam b ién el C P I, sabiendo q u e en m uchos c a so s se id entificará u n a frecuencia d e reloj a lta c o n un rendim iento tam bién alto. M ás o m enos lo m ism o ocurre con los M IP S y los M F L O P S , utilizados a i m uchos casos com o m é tri ca d e rendim iento del p ro cesad o r a p esar d e ser m étricas no fiables, no lineales y adem ás, inconsistentes. H ay q u e ten er en c u e n ta q u e d o s procesadores con repertorios de instrucciones diferentes pueden llegar a realizar can tid ad es d e trab ajo m uy diferentes co n u n a ú nica instrucción (p o r ejem plo, si se c o m p a ra un repertorio C IS C c o n u n o R IS C ), p o r lo q u e d e nuevo un valor m ayor p a ra los M IP S o los M FL O PS no im plica necesariam ente u n rendim iento mayor.
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
Lo m ism o ocurre c o n m étricas típicas p a ra la m em oria y d sistem a d e E/S (la la te n d a y d ancho de banda), q u e se pueden utilizar cu an d o se co m p aran alternativas c o n exactam ente el mism o diseño, pero que no son fiables en el resto d e los casos, cu an d o se com paran sistem as d e m uy d ifero ites características. Entonces, ¿q u é m étricas sencillas y generales se pueden u tilizar p a ra evaluar el rendim iento d e u n a arq u itectu ra d e m an e ra fiable? En la tabla 6.1 se m uestra un resum en d e las q u e se han utilizado a lo largo de este libro p a ra ev alu ar el rendim iento d e procesadores, je rarq u ía s d e m o n o ria y sistem as d e E/S. Existen o tra s m étricas d e rendim iento sencillas, m o io s generales, pero q u e tam bién pueden ser fiables 01 m uchos casos. E s el caso del consum o d e p o ten cia o del tiem po d e ejecución (tam bién denom inado tio n p o d e respuesta), q u e n o sólo tiene e n c u e n ta el tiem po d e C P U d e u n a d ete rm in a d a ta re a a n o to d o d tiem po q u e tran scu rre d esde q u e ésta com ienza su ejecución h asta q u e finaliza. E s decir, este tiem po in cluye los accesos a m em oria y las tra n sa c d o n e s d e E/S, las esperas p o r los recursos en el caso d e sistem as operativos m ultitarea, d tiem po q u e d sistem a operativo necesita p a ra realizar sus tareas, etc. E n o ca siones, d esde el p u n to d e vista d d adm inistrador, se em plea com o m étrica la productividad del sistem a, inversam ente relacio n ad a co n los tiem pos d e ejecución. T a b l a 6 .1
M é tr ic a s d e r e n d im ie n t o s e n c illa s y fia b le s .
C o m p o n en te eva lu ad o
M étrica
P ro cesad o r
T ie m p o d e C P U
T ie m p o q u e u n c ó d ig o tcpu = / ' C P I • T c o n I in s tr u c c io n e s e n s a m b la d o r t a r d a e n e je c u ta rs e e n e l p r o c e s a d o r
T ie m p o m e d io de acceso a m e m o r ia
T ie m p o q u e el p r o c e s a t M E M d o r t a r d a e n m e d ia en r e a liz a r u n a c c e s o a m e m o r ia
A n ch o de banda
C a n tid a d d e in f o r m a c ió n B W = a n c h o d e d a t o s • / • n .° d e t r a n s f e r e n q u e p u e d e t r a n s f e r ir el c ia s p o r c ic lo b u s p o r u n id a d d e t ie m p o ( n o r m a lm e n te B /s)
Je ra rq u ía de m em o ria
Bus
Sig n ificad o
E x p re sió n
=
7a d e r to M C + T F *p F
En el caso d e la evaluación d e los dispositivos d e E/S, las m étricas su d e n ser particulares p a ra c a d a tipo d e dispositivo, a c o n tin u a d ó n se d a n algunos ejem plos: • D ispositivos d e alm acenam iento. C a p a á d a d , rp m (revoluciones p o r m inuto), tiem pos d e búsque da, tiem pos d e lectura y escritura, v elo d d a d d e grabación. Si se tra ta de un R A ID , adem ás los valores del M T T F y del M T T D L q u e se estudiaron en el cap ítu lo 4. • M onitores. R esolución, tam a ñ o d e la d iagonal, contraste. • D ispositivos d e im presión. Resolución, núm ero d e páginas p o r m inuto. • Altavoces. P o te n d a nom in al, im pedancia.
f H
Evaluación y comparación de rendimiento
L a ev alu ad ó n d e rendim iento d e un sistem a no suele tener significado p o r sí m ism a, en casi to d o s los casos adquiere este significado c o m p a ra n d o los valores obtenidos p a ra las m étricas escogidas c o n otros anteriores del m ism o sistem a o c o n los ob ten id os p a ra o tro s sistemas.
6.
EV A LU A C IÓ N DE PRESTACIO NES
Por eso es m uy habitual u tilizar cocientes p a ra c o m p a ra r el rendim iento d e d o s sistem as A y B o de un mism o sistem a con d o s diferentes configuraciones A y B, d e m anera q u e si M es la m étrica d e rendim iento escogida, y c u a n to m ayor sea su valor, m ayor es el rendim iento, este cociente es: MB Ma Y si este cociente es igual a 1, el rendim iento de las d o s alternativas es el m ism o, si es m ayor q u e 1, el rendim iento d e la alternativa B es m ayor q u e el d e la A , y a el cociente es m en o r q u e 1, d rendim iento d e B es m enor q u e el d e A. A dem ás, este cociente indica c u án to m ayor o m en o r es d rendim iento en c a d a caso. En el caso d e utilizar m étricas rd a c io n a d a s con el tiem po d e C P U o d e eje cu d ó n , e s al c o n tra rio , ya qu e c u a n to m ayor es este tiem po p eo r es el rendim iento. Y en m uchos casos en lugar d e u tilizar m edidas individuales o aisladas, se utilizan m edias aritm éticas o ponderadas.
E je m p lo 6 .1 C o m p a r a c ió n d e r e n d i m i e n t o e n t r e d i f e r e n t e s c o n f i g u r a c i o n e s d e u n a m is m a c o m p u t a d o r a . S e desea e v a lu a r el r e n d im ie n to d e tr e s c o n fig u ra c io n e s d ife re n te s d e u n a m is m a c o m p u ta d o ra : C 1 , C2 y C3. Para e llo se d e s c a rg a n tr e s a p lic a c io n e s d e p ru e b a d e u n a c o n o c id a p á g in a d e in te rn e t d e d ic a d a a la e va lu a c ió n d e r e n d im ie n to : PA (in te n s iv a en u s o d e l p ro c e s a d o r), PB (in te n s iv a en u s o m e m o ria ) y PC (in te n s iv a en E /S ). L o s tie m p o s d e e je c u c ió n q u e se m id e n p a ra e sta s tr e s a p lic a c io n e s s o n , en s e g u n d o s : C1
C2
C3
PA
100
110
130
PB
50
45
40
PC
22
15
12
M edia aritm ética para la s t r e s aplicaciones
57.33
56.67
60.67
C o n e s to s re s u lta d o s s e p u e d e c o m p a r a r el r e n d im ie n to d e la s tr e s c o n fig u r a c io n e s e s tu d ia d a s co n fra s e s d e l t ip o "L a c o n fig u r a c ió n 1 es N v e c e s m á s rá p id a q u e la c o n fig u r a c ió n 2 " . P o r e je m p lo , la c o n fi g u ra c ió n C1 es 1.3 ve c e s m á s rá p id a (o u n 3 0 % m á s rá p id a ) q u e la c o n fig u r a c ió n C3 e n la e je c u c ió n d e la a p lic a c ió n in te n s iv a en u s o d e l p ro c e s a d o r P A ( c o m p a ra n d o lo s 100 s e g u n d o s d e C1 c o n lo s 1 3 0 d e C3). S in e m b a rg o , la c o n fig u r a c ió n C 3 e s 1 .2 5 v e c e s m á s rá p id a (o u n 2 5 % m á s r á p id a ) q u e la c o n fig u r a c ió n C1 en la e je c u c ió n d e la a p lic a c ió n in te n s iv a en u s o d e m e m o r ia PB (c o m p a ra n d o lo s 50 s e g u n d o s d e C1 co n lo s 4 0 d e C3). P e ro s i c o n e s to s re s u lta d o s tu v ié ra m o s q u e e s c o g e r u n a c o n fig u r a c ió n q u e o b tu v ie ra el m e jo r re n d im ie n to g lo b a l, p o d e m o s u tiliz a r la s m e d ia s a ritm é tic a s d e lo s tr e s tie m p o s . A s í s a b e m o s q u e la c o n fig u r a c ió n C2 es la m e jo r, u n 1.01 m á s rá p id a q u e la C1 y u n 1.07 m á s rá p id a q u e la C3. S i n o s d a m o s c u e n ta d e q u e el 9 0 % d e l tie m p o el s is te m a está e je c u ta n d o a p lic a c io n e s q u e h a c e n u n u s o in te n s iv o d e l p ro c e s a d o r, el 8 % d e l tie m p o d e la m e m o ria y el 2 % re s ta n te d e E/S , p o d ría m o s u tiliz a r esta in fo rm a c ió n p a ra c a lc u la r u n a m e d ia p o n d e ra d a d e lo s tie m p o s (en lu g a r d e a ritm é tic a ) y e s c o g e r así la m e jo r c o n fig u ra c ió n p o s ib le d a n d o m á s p e s o a la q u e o b tie n e u n m e jo r r e n d im ie n to en la s a p lic a c io n e s c u y a e je c u c ió n es m á s fre c u e n te .
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
C1
C2
C3
PA
100
110
130
PB
50
45
40
PC
22
15
12
M edia aritm ética para la s t r e s aplicaciones
57.33
56.67
60.67
M edia ponderada (0.9 • tPA + 0.08 • tP B + 0.02 • tP C
94.44
102.9
120.44
C o n esta in fo rm a c ió n a c e rc a d e la fre c u e n c ia d e e je c u c ió n d e la s a p lic a c io n e s e s c o g e ría m o s la c o n fig u r a c ió n C 1 , q u e e s 1.09 v e c e s m á s rá p id a q u e la C2 y 1.28 ve c e s m á s rá p id a q u e la C3. E ste m é to d o p a ra e s c o g e r la m e jo r c o n fig u ra c ió n u tiliz a n d o la m e d ia p o n d e ra d a es m u c h o m á s fia b le q u e el a n te rio r, el p ro b le m a es q u e n o s ie m p re se tie n e in fo rm a c ió n a c e rc a d e la s fre c u e n c ia s d e e je c u c ió n d e las a p lic a c io n e s p a ra p o n d e ra r la m e d ia , p o r lo q u e se tie n e q u e r e c u r r ir a la a ritm é tic a , q u e s u p o n e q u e to d a s las a p lic a c io n e s se e je c u ta n co n la m is m a fre c u e n c ia .
L a g an an cia, aceleración o sp eedup q u e se puede o b ten er realizando u n a m odificación a u n a ar q u ite c tu ra e s tá m uy re lacio n ad a c o n e ste tip o d e cocientes, sólo hay q u e te n er en c u en ta q u e se define com o un cociente d e tiem p o s d e C P U o d e ejecución y c u a n to m ayores son esto s tiem pos, p e o r es el rendim iento. C om o ya se estudió en el cap ítu lo 1, se define d speedup com o:
t con mejora
D e m an e ra q u e hay tre s alternativas: • S= 1: L a m odificación no afecta al rendim iento d e la a rq uitectura. • S< 1: L a m odificación h a em p eo rad o el rendim iento d e la arq u itectura. • S> 1: L a m odificación he m ejo rad o realm ente el rendim iento d e la arq u itectura.
E je m p lo 6 .2 Cálculo del speedup. U n d is e ñ a d o r d e p ro c e s a d o re s d e b e d e c id ir si a u m e n ta r el n ú m e r o d e e ta p a s d e s e g m e n ta c ió n d e su n u e v o d is e ñ o . Para t o m a r esta d e c is ió n e v a lú a q u e a u m e n ta r d e 4 a 6 e ta p a s le p e rm ite a u m e n ta r la fre c u e n c ia de re lo j d e l p ro c e s a d o r en u n 1 5 % , p e ro q u e el CPI p a sa d e v a le r 1 a v a le r 1.23. Por lo ta n to , p a ra s a b e r si a u m e n ta r el n ú m e r o d e e ta p a s s u p o n e u n a m e jo ra o n o , c a lc u la el s p e e d u p q u e o b te n d ría m e d ia n te la e c u a c ió n d e p re s ta c io n e s d e l p ro c e s a d o r:
/ P ro c e s a d o r c o n 4 e ta p a s CP/ = 1 f
I P ro c e s a d o r c o n 6 e ta p a s 1
0.32
Tras c o m p r o b a r q u e la m o d ific a c ió n e v a lu a d a es e fe c tiv a m e n te u n a m e jo ra , el d is e ñ a d o r s e p re g u n ta c u á n to le c o m p e n s a in c r e m e n ta r el c o s te d e l d is e ñ o d e l p ro c e s a d o r p a ra c o n s e g u ir e sta m e jo ra e n el r e n d im ie n to . C o m o S = 1 .0 4 , es d e cir, la m e jo ra es d e u n 4 % , c o m o m u c h o c o n v e n d ría in c re m e n ta r el c o s te d e l d is e ñ o en u n 4 % . S i el in c r e m e n to d e l c o s te es s u p e rio r, n o c o m p e n s a ría re a liz a r la m e jo ra .
6.3.1.
Ley de Amdhal y Ley de Gustafson
L a ley d e A m dhal p erm ite calcu lar la ganancia o bten id a p a ra u n a ta rea (speedup) e n un determ in ad o sistem a con u n a m odificación concreta. E sta g an a n cia está siem pre lim itad a p o r la fracción de tiem po que puede utilizarse la m ejo ra realizada en d sistem a (si es q u e finalm ente la m odificación resu lta ser u n a m ejora). Según esta ley, el speedup d ep en d e siem pre d e d o s factores. H prim ero es la fracción del tiem po de eje c u d ó n q u e se puede u tilizar la m ejora (F) y d segundo es la g a n a n d a q u e se introduce co n la m ejora
D IS E Ñ O Y EV A LU A C IÓ N DE A R Q U IT E C T U R A S DE C O M P U T A D O R A S
d u ra n te e sta fracción d e tiem po (G ). H ay q u e tener en cuen ta q u e se puede calcular el tiem po d e ejecu ción d e la ta re a c o n la m ejo ra a p a rtir d e estas d o s m agnitudes y del tiem po d e ejecución antiguo, lo q u e perm ite o b ten er el speedup según la ley d e A m dhal. ¡antes de kt mejora
= t
F- 1 tdespués de h mejora —
(1 “ F ) * í H
g _ ¡antes de la mejora ¡después de la mejora
E je m p lo 6 .4 A plicación de la ley de A m dhal. En u n d e te rm in a d o p ro c e s a d o r la s in s tru c c io n e s e n te ra s se e je c u ta n en 1 c ic lo d e re lo j, m ie n tra s q u e la s de c o m a flo ta n te n e c e s ita n 5 c ic lo s d e r e lo j pa ra c o m p le ta rs e . En m e d ia , la s a p lic a c io n e s q u e se e je c u ta n en e ste p ro c e s a d o r in v ie rte n u n 3 0 % d e l tie m p o en e je c u ta r o p e ra c io n e s en c o m a flo ta n te . Y n o s g u s ta ría s a b e r si d e s d e el p u n to d e v is ta c o s te -p re s ta c io n e s sería in te re sa n te re d is e ñ a r el p ro c e s a d o r p a ra q u e la s o p e ra c io n e s d e c o m a flo ta n te fu e ra n 10 v e c e s m á s rá p id a s a co sta de d u p lic a r el c o s te to ta l d e l p ro c e s a d o r. Para t o m a r esta d e c is ió n basta c o n s a b e r si el s p e e d u p q u e se o b tie n e re a liz a n d o esta m o d ific a c ió n en el d is e ñ o d e l p ro c e s a d o r es d e 2, y a q u e así la g a n a n c ia o b te n id a c o n la m e jo ra sería c o m p a ra b le a la in v e rs ió n rea lizad a . S i se u tiliz a la le y d e A m d h a l, te n e m o s q u e F = 0 .3 (la m e jo ra p u e d e u tiliz a rs e un 3 0 % d e l tie m p o ) y G = 1 0 (la g a n a n c ia en la p a rte m e jo ra d a , en e ste c a s o la e je c u c ió n d e la s in s tru c c io n e s en c o m a flo ta n te , es 10) p o r lo q u e :
o
^a n ie s d e lo mejoro * después dolo mejoro
= ------
= ----------
(1 —/=■) + —
G
= 1.37 < 2
( 1 _ 0 .3 ) + — 10
P o r lo q u e se m e jo ra ría el re n d im ie n to g lo b a l d e l p ro c e s a d o r en u n 3 7 % , y e ste e s , m á s o m e n o s , el in c re m e n to en el c o s te d e l d is e ñ o q u e se c o n s id e ra a c e p ta b le , en p rin c ip io s ó lo p o r esta m e jo ra n o c o m p e n s a d u p lic a r su c o ste .
E je m p lo 6 .5 A plicación de la ley de A m d h a l con más de una m ejora. N o s e s ta m o s p la n te a n d o re a liz a r d o s m o d ific a c io n e s en el d is e ñ o d e u n p ro c e s a d o r: • M e jo r a r la A L U d e e n te ro s d e m a n e ra q u e el CPI d e la s in s tru c c io n e s a ritm é tic o -ló g ic a s c o n e n te ro s p a se d e 1 a 0.8. • M e jo r a r el c o p ro c e s a d o r en c o m a flo ta n te p a ra q u e la s in s tru c c io n e s en c o m a flo ta n te se e je c u te n al d o b le d e v e lo c id a d . S i e s te p ro c e s a d o r e je c u ta el 4 5 % d e l tie m p o in s tru c c io n e s a ritm é tic o -ló g ic a s c o n e n te ro s y el 1 0% del tie m p o in s tru c c io n e s en c o m a flo ta n te , el s p e e d u p q u e se p o d ría o b te n e r c o n ca d a u n a d e e sta s m e jo ra s es:
6.
EV A LU A C IÓ N DE PRESTACIO NES
F M ejora p a ra in s tr u c c io n e s e n te r a s
=
0 .4 5
CP1
G=
i
—
= ——
CPI
= 1 .2 5
0 .8
Fbrque no cambian ni el núm ero de instrucciones ni la frecuencia de reloj. Entonces: £
_
^ a rte s d e le m ejora
________ 1_________
^después e/e la m ejora
(1 - F
) +
] ________________
-
(1 - 0 .4 5 ) +
^^
—
G
1 .2 5
M ejora p a ra in stru c c io n e s F P \
~ 0' 1
[ G=2
^ a rte s d e ¡a m ejora
_________] __________
t
1 a rte s d e la m ejora
( 1
F
- f ) + -
___________ \
_
y Q g
0 .1 ( 1 - 0 . 1 ) + -------
G
2
Com o ninguna de las dos m ejoras sale dem asiado cara y el speedup obtenido con cada una de ellas no es espectacular, nos planteam os incorporar am bas al diseño. Pero en este caso, ¿cuál sería el speedup? La utilización de las dos mejoras no se solapa en el tiempo, o se utiliza una o se utiliza la otra (las instrucciones de enteros no utilizan el hardware para com a flotante y las de coma flotante no utilizan la ALU de enteros), por lo que s e puede plantear de nuevo la ley de Am dhal, pero en este caso generalizando para varias mejoras: a rte s d e la m ejora
^depués d e le m ejora
o
_
( 1
^ a rte s d e le m ejora
_
*después d e la m ejora
1
(1 -
Y.F) + Z — G
Y esta expresión se puede utilizar siempre y cuando la utilización de las mejoras no se solape, es decir, que cuando se esté utilizando una, no se pueda utilizar ninguna de las otras. En nuestro ejemplo, aplicando las dos m ejoras al diseño del procesador tendríam os un speedup de: g
_
^ a rte s d e le m ejora
___________ 1____________
* después d e le m ejora
( 1
- I f ) +
I
—
] _______________________
(1 -
0 .4 5 -
0 J
+
G
C uan d o la lím ite m áxim o res. E ste lím ite tiem po q u e n o
0 4 5 1 .2 5
+
^
< jg
0 ' 1 2
ley d e A m dhal se aplica a arq u itectu ras m ultiprocesador y m ulticom putador, establece un p a ra la ganancia q u e se puede o b ten er paralelizando u n a aplicación sobre N procesado lo fija la fracción serie o secuencial d e la aplicación, 1-F, q u e en este caso es la fracción d e se puede u tilizar la m ejo ra q u e im plica la p araldización: ^
tontes de la mejora tdespués de la mejora
tsecuendal
1
t paralelo
/ J_ p \
N
s•max(Ar-*