ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

188
MATERIAL DIDACT/CO DE ESTRUcnJRA y TECNOLOG/A DE COMPUTADORES /// PRÓLOGO El material didáctico que contienen estos apuntes está compuesto, principalmente, por exámenes y problemas resueltos del texto base de la asignatura, aunque también se han incluido aclaraciones y comentarios a ejemplos y figuras del texto que el equipo docente ha considerado como algo confusas para un adecuado estudio. Evidentemente, el estudio de la asignatura no conlleva la memorización de todos y cada uno de los ejercicios que contiene el libro. El estudiante tiene que ser capaz de distinguir los problemas que se consideran básicos para el conocimiento de la asignatura de aquéllos que se han incluido principalmente a título informativo y para las personas que sientan deseos de curiosear un poco más. ¿Que cómo se distingue entre unos problemas y otros? Muy fácil: primero se estudia la materia del libro y luego se comprueba qué ejercicios tratan esos conceptos recién estudiados. Como en cursos anteriores, los integrantes del equipo docente agradeceríamos todo tipo de sugerencias y correcciones con el fin de que estos apuntes vayan mejorando. en años sucesivos. Así mismo, es importante que todo aquel que encuentre una errata en el texto base que no esté contenida en la lista de erratas, nos lo comunique con el objeto de disponer de una lista más completa y útil. El Equipo Docente de la Asignatura DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Transcript of ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Page 1: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACT/CO DE ESTRUcnJRA y TECNOLOG/A DE COMPUTADORES ///

PRÓLOGO

El material didáctico que contienen estos apuntes está compuesto, principalmente,por exámenes y problemas resueltos del texto base de la asignatura, aunquetambién se han incluido aclaraciones y comentarios a ejemplos y figuras del textoque el equipo docente ha considerado como algo confusas para un adecuadoestudio.

Evidentemente, el estudio de la asignatura no conlleva la memorización de todos ycada uno de los ejercicios que contiene el libro. El estudiante tiene que ser capazde distinguir los problemas que se consideran básicos para el conocimiento de laasignatura de aquéllos que se han incluido principalmente a título informativo ypara las personas que sientan deseos de curiosear un poco más. ¿Que cómo sedistingue entre unos problemas y otros? Muy fácil: primero se estudia la materiadel libro y luego se comprueba qué ejercicios tratan esos conceptos reciénestudiados.

Como en cursos anteriores, los integrantes del equipo docente agradeceríamostodo tipo de sugerencias y correcciones con el fin de que estos apuntes vayanmejorando. en años sucesivos. Así mismo, es importante que todo aquel queencuentre una errata en el texto base que no esté contenida en la lista de erratas,nos lo comunique con el objeto de disponer de una lista más completa y útil.

El Equipo Docente de la Asignatura

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

aihcm00
Texto escrito a máquina
Se trata de problemas relativos al siguiente libro: "Arquitectura de Computadores: Un enfoque cuantitativo" de John L. Hennessy y David A. Patterson, Ed. Mc Graw Hill 1993
Page 2: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDAC17CO DE ESTRUcruRA y TECNOLOGIA DE COMPUTADORES 111

DEPARTAMENTO DE INFORMATICA y AlnOMATlCA-UNED

Page 3: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACJ'/CO DE ESTRUcruRA YTECNOLOG/A DE COMPUTADORES ///

CONTENIDOS

Prólogo

índice

Aclaraciones y comentarios

Ejercicios capítulo 1

Ejercicios capítulo 2

Ejercicios capítulo 3

Ejercicios capítulo 4

Ejercicios capítulo 5

Ejercicios capítulo 6

Ejercicios capítulo 7

Ejercicios capítulo 8

Ejercicios capítulo 9

Exámenes resueltos

Erratas del texto base

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Page 4: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlAL DIDACTlCO DE ESTRUCTURA Y TECNOWGIA DE COMPUTADORES 111

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 5: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

íNDICE

MATERIAL DIDACTlCO DE ESTRUmJRA y TECNOLOGIA DE COMPUTADORES 111

Aclaraciones y comentarios

Comentariosal ejemplode laspáginas40-41 1-1

Comentarios al ejemplo de las páginas 41-42 1-3

Comentarios al ejemplo de la página 44 1-5

Comentarios al ejemplo de las páginas 250-251 1-7

Comentarios a la figura 6.23 de la página 298 1-8

Aclaración de la página 299 1-10

Aclaración de la página 538 1-11

Aclaración de la página 539 1-12

Ejercicios capítulo 1

Ejercicio 1.1 ..11-1

Ejercicio 1.2 .11-3

Ejercicio 1.3 ..11-5

Ejercicio1.4 ; .11-6

Ejercicio 1.5 .11-7

Ejercicio 1.6 ..11-8

Ejercicio 1.7 .11-9

Ejercicios capítulo 2

Ejercicio 2.1 .111-1

Ejercicio 2.2 .111-2

Ejercicio 2.3 ...111-4

Ejercicio 2.4 .111-6

Ejercicio 2.5 ..111-7

Ejercicio 2.6 .111-8

Ejercicio 2.7 .111-1O

Ejercicio 2.8 .111-12

Ejercicio 2.9 ..111-14

Ejercicio 2.10 ,... .111-15

Ejercicio 2.11 ..111-19

Ejercicios capítulo 3

Ejercicio 3.1 .IV-1

Ejercicio 3.2 IV-2

Ejercicio 3.3 .IV-4

DEPARTAMENTO DE INFORMATlCA yAUTOMATlCA.UNED

Page 6: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

II MATERIAL DIDACT1CODE ESTRUCTURA YTECNOWGIA DE COMPUTA' 'lES 11I

Ejercicio 3.4 , IV-7

Ejercicio 3.5 IV-9

Ejercicio 3.6 IV-13

Ejercicio 3.7 IV-15

Ejercicio 3.8 IV-16

Ejercicios capítulo 4

Ejercicio4.1 V-1

Ejercicio4.2 V-4

Ejercicio4.3 V-7

Ejercicio4.4 V-8

Ejercicio4.5 V-9

Ejercicio4.6 ,.. V-10

Ejercicio4.7 V-11

Ejercicio4.8 V-12

Ejercicio4.9 V-13

Ejercicio4.1O V-14

Ejercicio4.11 V-16

Ejercicios capítulo 5

Ejercicio5.1 VI-1

Ejercicio5.2 VI-3

Ejercicio5.3 VI-5

Ejercicio5.4 .' VI-6

Ejercicio5.5 VI-7

Ejercicio5.6 VI-9

Ejercicios capítulo 6

Ejercicio6.1 VII-1

Ejercicio6.2 VII-6

Ejercicio6.3 VII-8

Ejercicio6.4 VII-9

Ejercicio6.5 VII-11

Ejercicios capítulo 7

Ejercicio7.1 VIII-1

Ejercicio7.2 VIII-2

Ejercicio7.3 VIII-4

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 7: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUClVRA YTECNOLOGIA DE COMPUTADORES 111 111

Ejercicio 7.4 VIII-9

Ejercicio 7.5 VIII-1O

Ejercicio 7.6 VIII-12

Ejercicios capítulo 8

Ejercicio 8.1 .IX-1

Ejercicio 8.2 .IX-4

Ejercicio 8.3 ..IX-6

Ejercicios capítulo 9

Ejercicio 9.1 .X-1

Ejercicio 9.2 .X-3

Ejercicio 9.3 .X-5

Exámenes resueltos

.1i!-Junio 95 .XI-1

2i!-Junio 95 .XI-3

Septiembre 95 .XI-5

1i! Junio96 ..XI-1O

2i! Junio 96 XI-17

Septiembre 96 .XI-24

1i! Junio97 .XI-28

211Junio 97 .XI-32

Septiembre 97 .XI-38

Septiembre Reserva 97 .XI-42

Erratas del texto base ... ..XII-1

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA.UNED

Page 8: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

IV MATERIAL DIDAC17CODE FS/'RUClVRA YTECNOWGIA DE COMPUTADORES11I

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 9: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DAC/'ICO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES 111 1-1

COMENTARIOS AL EJEMPLO DE LAS PÁGINAS 40 v 41

l.gemplo ISuponer que estamos considerando dos alternativas para una instrucción de saltocondicional:

CPU A: Instrucción de comparación que inicial iza un código de condición y es seguida porun salto que examina el código de condición.

CPU B: Instrucción de salto que incluye comparación.

En ambas la instrucción de salto condicional-> 2 ciclos, resto ->1 ciclo

CPU A: 20"10son saltos condicionales (otro 20"10son comparaciones debido a que cadasalto condicional requiere de la ejecución previa de una instrucción de comparación con elobjeto de inicializar los códigos de condición)

Ciclo B =Ciclo A *1,25 (debido a que A es un 25"10más rápida que B)

Es recomendable leer íntegramente la página de libro ya que este enunciado es unresumen del ejemplo.

I Respuesta I

CPI A =Salto condicional * 2 ciclos + resto * 1 ciclo =0,2 * 2 + 0,8 * 1 =1,2 ciclos

Tiempo CPU A= CPI A * Recuento A * Ciclo A =1,2* Recuento A * Ciclo A

Como en la CPU B no hay instrucciones de comparación, el 20% de las instrucciones decomparación desaparecen, por lo que hay que recalcular el porcentaje de instrucciones desalto para calcular el CPI de B. Es decir, en relación con el nuevo porcentaje deinstrucciones (un 80% del anterior) qué porcentaje constituye ese 20% de instrucciones decomparación del 100%del recuento anterior:

Instrucciones de salto: 20% * (100/80) =20% * 1,25 =25% (2 ciclos)

Resto de instrucciones: 100% -instrucciones de salto =100% -25% =75% (1 ciclo)

CPI B =0,25 * 2 ciclos + 0,75 * 1ciclo =1,25ciclos

Tiempo CPU B =(CPI B) * Recuento B * Ciclo B =1,25* (80% del recuento A) * (1,25 * Ciclo A) =1,25 * Recuento A * Ciclo A

Aunque la CPU B tiene menor número de instrucciones (un 80% del recuento de A), laCPU A con un ciclo de reloj más corto es más rápida ya que tiene un tiempo de ejecuciónmenor.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 10: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

1.2 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

Ejemplo (continuación del anterior, págs. 40 y 41)

Considerando todo lo anterior salvo que reducimos la diferencia entre las duraciones de losciclos de reloj a un 10% en lugar de a un 25%.

I Respuesta I

Tiempo CPU A= CPI A * Recuento A * Ciclo A =1,2* .Recuento A * Ciclo A

Lo único que se ve afectado en relación a la respuesta anterior es la diferencia de laduración entre ciclos:

Antes: Ciclo B = 1,25* Ciclo A

Ahora: Ciclo B =1,10* Ciclo A

Por lo tanto:

Tiempo CPU B =(CPI B) * Recuento B * Ciclo B =1,25* (80% del recuento A) * (1,10 * Ciclo A) =1,10 * Recuento A * Ciclo A

En este caso, la CPU B es más rápida que la CPU A

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 11: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALDIDAC1'ICO DE ESTRUCTURA YTECNOWGIA DE COMPUTADORES III 1-3

COMENTARIOS AL EJEMPLO DE LAS PÁGINAS 41-42

~emploISe propone añadir una instrucción a la ALU de registro-memoria que tenga un operandofuente en memoria ahorrándonos la Instrucción de carga en cada operación de la ALU(el otro operando ya se encontraba cargado en un registro de la CPU en el 25% de lasoperaciones de la ALU).

Es recomendable leer íntegramente la página de libro ya que este enunciado es unresumen del ejemplo.

I Respuesta I

El CPI de la CPU antigua se obtiene consultando la figura 2.2 en la que se aprecian lasfrecuencias de insttucciones y los ciclos de reloj consumidos por cada categoría:

CPI antiguo =(0,43 * 1ciclo+ 0,21 * 2 ciclos + 0,12 * 2 ciclos + 0,24 * 2 ciclos) =1,57

siendo el tiempo de la CPU antigua:

Tiempo CPU antigua =1,57 * Recuento antigua * Duración ciclo antigua

El cálculo del nuevo recuento de insttucciones por categorías se realiza de la siguienteforma:

ALU 0,43 -0,43 * 0,25= 0,3225 (32,25%)Cargas 0,21 -0,43*0,25= 0,1025( 10,25% )Almacenamiento 0,12 ( 12%)Saltos....... ..... 0,24 ( 24% )Nuevas 0,43*0,25=0,1075 ( 10,75% )

Total del recuento de instrucciones nuevas es 89,25%

Es decir, el nuevo recuento de insttucciones es el 89,25% del recuento antiguo.

Observe cómo se han calculado los nuevos porcentajes de insttucciones de ALU, Cargas yNuevas.:

. En el caso de ALU se ha descontado del porcentaje original (43%) un 25% al sustituirseun 25% del total de insttucciones ALU por una nueva insttucción.. Sobre el porcentaje original de Cargas (25%) se ha efectuado lo mismo, ya que cadaoperación de la ALU de ese 25% que se sustituye requiere de una insttucción de cargaprevia del operando.

. A consecuencia de todo lo anterior, se añade en el recuento total ese 25% deinsttucciones ALU que se han suprimido (43% * 25%) Ycambiado por el empleo de lainsttucción de nueva creación.

Al igual que en el ejemplo anterior, se han de normalizar los porcentajes del recuento deinsttucciones para poder recalcular el CPI medio.

Ya que el nuevo recuento de instrucciones es un 89,25% del anterior, el factor decorrección a aplicar a los porcentajes de insttucciones recalculados anteriormente porcategorías es 1/0,8925= 1,1204

Tendremos así:

DEPARTAMENTO DE INFORMATICA y AUTOMAI1CA.UNED

Page 12: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

1-4 MATERIAL DIDAC17CO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES 1/1

CPI nuevo = (0,3225 * 1,1204) * 1ciclo +

(0,1025 * 1,1204) * 2 ciclos +

(0,12 * 1,1204) * 2 ciclos +

(0,24 * 1,1204) * 3 ciclos +

(0,1075 * 1,1204) * 2 ciclos =1,908

Tiempo CPU nueva = (0,8925 * Recuento antigua) * 1,908 * Duración ciclo antigua

Tiempo CPU nueva =1,703* Recuento antigua * Duración ciclo antigua

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 13: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALDIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES III 1-5

COMENTARIOS AL EJEMPLO DE LA PÁGINA 44

Lgemplo ISupongamos que hemos escrito un compilador para la máquina anterior que descarta el50% de operaciones de la ALU. Suponiendo una duración del ciclo de reloj de 20 nseg.(equivalente a una frecuencia de 50 MHz.), calcular los MIPS que se obtienen ejecutandoel código optimizado.

Es recomendable leer íntegramente la página de libro ya que este enunciado es unresumen del ejemplo.

I Respuesta IEl cálculo del CPI se realiza tal y como se describió en el ejemplo de las páginas 41-42, esdecir, a partir de los datos de la figura 2.22:

CPJ.¡nOPtimizar= (0,43 * 1ciclo + 0,21 * 2 ciclos + 0,12 * 2 ciclos+ 0,24 * 2 ciclos) = 1,57ciclos

y el cálculo de los MIPS utilizando la expresión de la página 43:

MIPS =Frecuencia de relojCPI *106

por lo que sustituyendo, tendremos que el total de MIPS es 31,85:

50 MHz. _ 31 85- ~,MIPS sinoptimizar- 1, 57 * 10

y el tiempo de ejecución:

Tiempo CPUsin optimizar= Recuento de instruccionessin optimizar* 1,57 * (20 * 10-9)

Tiempo CPUsinoPdmizar = 3,14* 10.9 * Recuento de instruccionessinoptimizar

Para el código optimizado el cálculo del CPI es:

CPI"pdmlzado= [(0,43/2) * 1+ 0,21 * 2 + 0,12 * 2 + 0,24 * 2] * 1,27= 1,73ciclos

Observe que la expresión (0,43 / 2) proviene de descartar el 50% de las instrucciones de laALU, las cuales constituyen un 43% del total. El cálculo de los MIPS se realiza de formaanáloga al caso sin optimizar pero utilizando el CPI optimizado:

50 MHz. =28,90- ~

MIPS optimizado - 1,73 * 10

En el cálculo del nuevo tiempo de CPU hay que tener en cuenta cuál es el nuevo recuentode instrucciones con respecto a la máquina sin optimizar ya que se han eliminado el 50%de instrucciones de la ALU. Por lo tanto, el nuevo recuento será:

43% / 2 + 21% + 12% + 0,24% =78,5% del recuento sin optimizar

Conocido ya el nuevo recuento, el cálculo del nuevo tiempo es:

Tiempo CPUOPtimizadO= (0,785 * Recuento de instruccionessinOPtimizar)* 1,73 * (20 * 10-9)

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 14: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

1-6 MATERlALDIDACTICO DE ESTRUCTURA YTECNOWGIA DE COMPUTADORES 11I

Tiempo CPUOPdmiz8do= 27,2 * lO" * Recuento de instruccionessinopdmlz8r

Ante las dos expresiones del tiempo de CPU sin optimizar y optimizado, se puede deducirque la CPU con el código optimizado es un 15,44% más rápida:

31,4*10-9-27,2*10-9 *100=15 44%27,2*10-9 '

mientras que las cantidades en MIPS indican que la CPU sin optimizar (31,85 MIPS) esmás rápida que la optimizada (28,9 MIPS).

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 15: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 11/ 1-7

COMENTARIOSAL EJEMPLO DE LAS PÁGINAS 250-251

En las líneas siguientes podemos observar las microinstrucciones ejecutadas por unamacroinstrucción característica de cada uno de los grupos que aparecen en la pago250-251 del libro. Esto nos permite saber el número de ciclos ejecutados en cadamacroinstrucción, para así poder conocer el CPI medio de DLX a partir del recuento deinstrucciones (Apéndice C.4).

Almacenamientos, más estados de espera (4):

5-6-7-8

Carga de una palabra, más estado de espera (5):

LW: 5-9-10-19-22

Carga de byte o media palabra (con signo, o sin signo), más estados de espera (6):

LB: 5-9-10-11-12-22

LBU: 5-9-10-13-14-22

LH: 5-9-10-15-16-22

LHU: 5-9-10-17-18-22

ALU (3):

ADD: 23-25-34

ADDI: 24-25-34

Inicalizaciones (4):

SEQ: 23-35-48-49

SEQI: 24-35-48-49

Salto no igual a cero (efectivo) (2):

BNE: 52-53

Salto no igual a cero (no efectivo) (1):

BNE: 52

Bifurcaciones (1):

JUMP: 54

Bifurcaciones y enlaces (2):

JAL: 56-57

Al número de ciclos de cada instrucción falta sumar los debidos a la microinstrucciones O,1 Y 2, encargadas de realizar la lectura (ciclo de fetch) y decodificación de la instrucción (almismo tiempo que se decodifica se extraen los operandos del banco de registros y secargan en los registros A y B)

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 16: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

1.8 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

COMENTARIOS A LA FIGURA 6.23 DE LA PÁGINA 298

(a) Detención (3 ciclos de retardo).

MEM I WB

i+1 IF ID

CPI efectivo =86% * 1 ciclo + 14% * (1 + 3) ciclos =1,42

(b) Predicción efectivo (1 ciclo de retardo).

ID IEX IMEM I WB

i+1 IF ID IEX MEM

Con independencia de si el salto es efectivo o no el eSlpema de la segmentación es el mismo. ya lpehasta que no a:ma la etapa ID de la instrucción i no se conoce la dirección destino.

CPI efectivo =86% * 1ciclo + 14% * (1+1) ciclos =1.14

(c) Predicción no efectivo.

Ya que depediendo de si el salto es efectivo o no el número de ciclos de retardo varía. esnecesario calcular qué fracción del total de instrucciones de salto (14%) hay con y sin saltoefectivo para poder aplicarles el número de ciclos de retardo adecuado. Sabiendo que el65% del total de los saltos cambian elPC, los siguientes esquemas ilustran el cálculo:

DEPARTAMENTO DE INFORMATICA YAUTOMATICA-UNED

IF lID IEX IMEM I WB I Segmentación con saltono efectivo

i+1 IWBI 14% * 35% =4,9%

WB I Segmentación con saltoefectivo

i+1 14% * 65%=9,1%

CPI efectivo = 86% * 1 ciclo + 4,9% * 1ciclo + 9,1% * (1+1) ciclos =1,091

Page 17: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I 1-9

(d) Salto retardado.

Dela figura 6.22 obtenemos las siguientes medias aritméticas:

% huecos de retardo útiles =47 %% huecos de retardo rellenos =57 %% huecos de retardo sin rellenar =100% -% huecos de retardo rellenos =43%

% huecos de retardo rellenos pero inútiles =% huecos rellenos - % huecos útiles = 10%

De acuerdo con los casos anteriores se plantean las siguientes posibilidades al ejecutarseuna instrucción:

Instrucciones que no son de control =86% (CPI =1)Instrucciones de control con hueco útil =14% * 47% =6,58% (CPI =1)Instrucciones de control sin hueco de retardo =14% * 43% =6,02% (CPI =2)Instrucciones de control con hueco inútil =14% * 10%=1,4% (CPI =2)

Conocidos el el porcentaje y CPI de cada tipo de instrucción, calculamos el CPI efectivo:

CPI efectivo =86% * 1 ciclo + 6,58% * 1ciclo + 6,02% * 2 ciclos + 1,4% * 2 ciclos =1,0742

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 18: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

/-/0 MATERIAL D/DACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I

ACLARACiÓN DE LA PÁGINA 299

En el primer y segundo párrafo de esta página se hace alusión a detenninadas cantidadesque no se especifican de dónde se obtienen por lo que a continuación se va a intentaraclarar este punto.

En pnner lugar, se afinna que el CPI efectivo para los programas GCC y TeX es 1.1,siendo obtenida esta cifra de la figura 6.24 de la siguiente fonna:

Total ciclos de retardo de TeX: 4% (de retardo de salto) + 4% (retardo de carga) =8%

Total ciclos de retardo de GCC: 11% (de retardo de salto) + 4% (retardo de carga) =15%

Media del total de ciclos de retardo: (8% + 15%)/2 =11,5%

Por lo tanto, el 11,5% de los ciclos se pierden en esperar mientras que el 88,5% del total seemplea para procesar realmente instrucciones. Por lo tanto, el CPI efectivo es 1,1(100/88,5).

Ya que sabemos el CPI de la de la versión segmentada, 1.1, y el CPI de la versión cableadalo da el enunciado, 5.8, es sencillo obtener que la relación de velocidad entre unaaproximación y otra es aproximadamente 5,3 veces:

5,8 = 5,271,1

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Page 19: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DfDACTfCO DE ESTRUCIVRA y TECNOLOGfA DE COMPUTADORES 1lI f-Il

ACLARACiÓN DE LA PÁGINA 538

T respuesta= 1.1 * T opu

Suponiendo Trespucsta= 1. tendremos Topu= 0.91. Aplicando la ley de Amdahl tendremos:

Ace1eracin mejorada =10~ Ace1eraci n global = 1 O 91 =5.5(1-0 91)+~. 10

Ace1eracin mejorada=100 ~ Aceleraci n global = 1 O 91 =10(1-0 91) +~. 100

Aceleraci n mejorada =1000 ~ Aceleraci n global = 1 O 91 =11( 1-0 91) +~. 1000

IMPACTODE LA LEY DE AMDAHL

~ ~~ t --:;¿:-:~ 8 _____:2 6¡¡¡ 4....

"* 2u

e O 10010

-1

1000

Aceleración mejorada

DEPARTAMENTO DE INFORMATICA y AUTOMATfCA-UNED

Page 20: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

1-12 MATERIAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES III

ACLARACiÓN DE LA PÁGINA 539

De acuerdo con el texto, consideramos que la diferencia entre el tiempo de respuesta y eltiempo de CPU es de un 10% y que la CPU se acelera en un factor de 10. Tendremos así:

Trespuesta=Tcpu +TE/S =Tcpu +0,1 *TcpuT

Trespuestanuevo= TCPUnuevo+ TE/S = . CPU. + 0, 1*TCPU= 0,2 *TCPU. Aceleración meJorada

Suponiendo Trcspue&ta= 1, tendremos Topu= 0,91 Y TFJ? 0,09. Si aplicamos estos valores a laexpresión anterior que calcula el nuevo tiempo de respuesta. tendremos:

T ""'puestanllevo= 0,2 * Tcpu= 0,2 * 0,91 = 0,182

Obsérvese que el mismo resultado se obtiene utilizando la aceleración global obtenida en laaclaración anterior para una CPU mejorada en un factor de 10:

Trespuesta = ! =0, 182Trespucstanuevo= A,celeraci n global 5,5

Corno sabemos que la CPU se ha acelerado en un factor de 10, el nuevo tiempo de CPU esun 50% del nuevo tiempo de respuesta:

TcpuTcpu nuevo = Aceleraci n mejorada

0,91 _ ° 091=10- ,

pudiéndose observar que es similar al TFJSque es 0,09. Por lo tanto, el 50% del tiempo derespuesta es tiempo de entrada-salida mientras que el otro 50% es tiempo de CPU. Por estemotivo, un proceso está detenido el 50% de su tiempo esperando la E/S, y dos procesos desimilares características deberán estar perfectamente sincronizados para que cuando unoentre en CPU el otro aproveche para realizar la E/S.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Page 21: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACI'/CO DE ESTRUC1VRA y TECNOLOG/A DE COMPUTADORES /// l/-/

EJERCICIO 1.1

En la Tabla 1.1 se dan los tiempos de ejecución en segundos del benchmark Linpack y de10.000 iteraciones del benchmark Dhrystone,ejecutándose sobre tres modelos de VAX.

Tabla 1.1

a) ¿Cuántas veces es más rápido el VAX8600 que el VAX780 ejecutando Linpack? ¿Quéocurre cuando se utilizaDhrystone?

b) ¿Cuántas veces es más rápidoel VAX8550 que el 8600 utilizandoLinpack? ¿Qué ocurrecuando se ejecuta el Dhrystone?

c) ¿Cuántas veces es más rápido el VAX8550 que el VAX780 ejecutando Linpack? ¿Quéocurre cuando se utilizaDhrystone?

d) ¿ Cuál es el crecimiento medio del rendimiento entre el VAX 780 y el VAX 8600ejecutando Linpack? ¿Qué ocurre cuando se ejecuta Dhrystone?

e) ¿Cuál es el crecimiento medio del rendimiento por año entre el VAX 8600 y el VAX 8550ejecutando Linpack? ¿Qué ocurre cuando se ejecuta Dhrystone?

f) ¿Cuál es el crecimiento medio de rendimiento por año entre el VAX 780 y el VAX 8550ejecutando Linpack? ¿Qué ocurre cuando se utiliza Dhrystone?

La expresión "X es n % más rápido Y" se traduce matemáticamente a:

Tiempo de ejecución de Y =1+ n.l.Tiempodeejecuciónde X 100

o lo que es lo mismo a:

Tiempo de ejecuci n de Y -Tiempo de ejecuci n de X * 100 =n 1-Tiempo de ejecuci n de X

c)

Linpack:

Dhrystone:

Linpack:

Dhrystone:

Linpack:

Dhrystone:

(4,90 -1,43) /1,43 =2,43 Ó243%

(5,69 -1,35) /1,35 =3,21 ó 321%

(1,43 - 0,695) / 0,695 =1,06ó 106%

(1,35 - 0,96) / 0,96 =0,41 ó 41 %

(4,90 -0,695) / 0,695 =6,05 ó 605%

(5,69 - 0,96) / 0,96 =4,93 ó 493%

a)

b)

El crecimiento medio del rendimiento entre dos máquinas se calcula en base a la expresiónnumérica:

Rendimiento X =Crecimiento medio(años_de_diferencia) · Rendimiento Y

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Modelo Año de Tiempo de Tiempo de ejecución deconstrucción ejecución del 10.000 Iteraclones del

LlnD8ck(sea.) Dhrvstone (sea.)VAX11/780 1978 4,90 5,69VAX8600 1985 1,43 . 1,35VAX8550 1987 0,695 0,96

Page 22: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

11-2 MATERlAL DIDACI7CO DE ESfRUC1VRJ. y TECNOWGIA DE COMPUTADORES //l

(0'1\ 1<q,.J~ tt" Th X '? lJ2 c~...~c..t Y

Despejando el término de Rendimiento Y obtenemos:

Rendimiento X e " "

to medl"

o(años_dc_diferencia)= reClm1enRendimiento Y

Por lo tanto, aplicando directamente la última expresión a los datos que proporciona elenunciado obtendremos las soluciones a las cuestiones (d), (e) y (f).

e)

d)

f)

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Linpack: 4,90/1,43 =3,43 =x(85 -78) x =1,19 ó 19% por año

Dhrystone: 5,69/ 1,35 =4,21 =x(85 -78) x =1,23 ó 23% por año

Linpack: 1,43/0,695 =2,1 =x(87 -85) x =1,45 ó 45% por año

Dhrystone: 1,35/0,96 =1,40 =x(87 -85) x =1,18 ó 18% por año

Linpack: 4,90/0,695 =7,05 =x(87 -78) x =1,24 ó 24% por año

Dhrystone: 5,69/0,96 =5,93 =x(87 -78) x =1,22 ó 22% por año

Page 23: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESfRUCIVRA y TECNOLOGIA DE COMPUTADORES /I1 1/-3

EJERCICIO 1.2

Supongamos que se está considerando mejorar una máquina anadiéndole un modovectorial. La ejecución de un cálculo utilizando el modo vectorial es 20 veces más rápidaque en el modo normal de ejecucion. Llamaremos al porcentaje de tiempo que puedeemplearse el modo vectorial porcentaje de vectorización.

a) Dibujar un gráfico donde se muestre la aceleración como porcentaje del cálculo realizadoen modo vectorial. Rotular el eje y con Aceleración neta y el eje x con Porcentaje devectonzación.

b) ¿Qué porcentaje de vectorizacion se necesita para conseguir una aceleración de 2?

c) ¿Qué porcentaje de vectorización se necesita para conseguir la mitad de la aceleraciónmáxima alcanzable utilizando el modo vectorial?

a) Sabiendo que la aceleración mejorada es 20, la expresión de la Ley de Amdahl:

Aceleraci n global = Fracci n mejorada(1- Fracci n mejorada) + 1

. . d. Ace eraCln mejora a

siendo:

Fracción mejorada: el porcentaje de tiempo durante el que se aplica la mejora, que enestecasoesel modo vectorial.

Aceleración mejorada: la aceleración que se consigue durante la fracción mejorada. Eneste caso, la aceleración que se consigue durante la aplicación del modo vectorial es 20.

Aceleración global: la aceleración total que se ha conseguido en el rendimiento al aplicarla aceleración mejorada durante la fracción mejorada.

Sustituyendo en la expresión anterior las variables por los datos que proporciona enenunciado obtendremos:

Aceleración global = Fracción mejorada

(1 - Fracción mejorada) + 20

Aceleración global = 20 _ 19Fracción mejorada

20

Tomando valores del porcentaje de vectorización desde O hasta el máximo posible, launidad, obtenemos los siguientes valores de aceleración global:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

x =Porc. de vectorización O 0,1 0,2 0,3 0,4 0.5 0,6 0,7 0,8 0,9 1

Y=Aceleración global 1 1,1 1,2 1,3 1,6 1,9 2,3 2,9 4,1 6,8 20

Page 24: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

11-4 MATERIAL DIDACl7CO DE ESTRUCTURA Y TECNOWGIA DE COMPUTADORES 11I

°° 0,1 0,2 0,2 0,4 0,5 0,6 0,7 0,8 0,9

Porcentaje de vectorización

b) Para una aceleración global de 2 y una aceleración mejorada de 20 obtendremos:

. 202 = =>x = - =0,53

x 38(l-x)+-

20

Por lo tanto, es necesario un porcentaje de vectorización del 53% para conseguir unaaceleración global del doble.

c) Para Una aceleración global de 10 (es la mitad de la máxima aceleración alcanzable) yuna aceleración mejorada de 20 obtendremos:

. 1810 = =>x =- =0,95

x 19(l-x)+-

20

Por lo tanto, para conseguir una aceleración global de lOes necesario recurrir a unporcentaje de vectorización del 95%.

DEPARTAMENTODEINFORMATICAyAUTOMATlCA-UNED

20<a.r;¡

15obOe'O 10.ü...

5u<

I/

.......A.-4

Page 25: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCIVRA YTECNOLOGIA DE COMPUTADORES III l/.5

EJERCICIO 1.3

Supongamos que en una empresa de investigación se dispone de un ordenador con unmodo de cálculo vectorial que es 20 veces más rápido que el modo normal de ejecución, ytras una medicióndel porcentaje de vectorizacion de programas se ha obtenido que es del70 por 100. El grupo de diseño hardware dice que puede duplicar la velocidad de la partevectorizada con una inversión significativade ingeniería adicional. Se desea saber si elequipo de compilación puede incrementar la utilización del modo vectorial como otraaproximaciónpara incrementar el rendimiento.

a) ¿Qué incremento en el porcentaje de vectorización (relativo a la utilización actual) senecesitará para obtener la misma ganancia de rendimiento?

b) ¿Qué inversiónes recomendable?

a) El porcentaje de vectorización es el 70% (0,7).

Grupo de diseño hardware: Son capaces de duplicar la aceleración mejorada, es decir,pasar de 20 a 40. Obtendrían una aceleración global de:

Aceleración global = 1 O 7 =3,15(1- O7)+--!...-

, 40

Grupo de diseño software: Sustituyendo el valor de aceleración global que es capaz deobtener el grupo hardware y manteniendo el valor normal de 20 en aceleración mejorada, elporcentaje de vectorización necesario para obtener la aceleración global lograda por elgrupo hardware sería:

l3,15= ~x=O,72~72%x

(l-x)+- 20

b) Por lo tanto, con sólo incrementar en un 2% el porcentaje de vectorización (pasar del70% al 72%) se iguala la aceleración global lograda por el grupo hardware. Se recomiendala inversión en el diseño del compilador.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 26: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

_u 00._.... . .._ _.. .__

11-6 MATERIAL D1DAC17CODE ESTRUC1VRA y TECNOWG1A DE.COMPUTADORES 111

'.~JERCICIO 1.4

Hay dos equipos de diseño en dos compañías diferentes. La gestión de la compañía máspequeña y más agresiva pide un ciclo de diseño de dos años para sus productos. Lagestión de la compañia más grande y menos agresiva apuesta por un ciclo de diseño decuatro años. Supongamos que en el mercado de hoy día se demanda 25 veces elrendimiento de un VAX-111780.

a) ¿Cuáles deberían ser los objetivos de rendimiento para cada producto, si las frecuenciasde crecimiento necesarias son el 30% por año?

b) Supongamos que las compañías acaban de empezar a utilizar DRAM de 4 megabits. yque la densidad de las DRAM aumenta un 60% por año. ¿Qué tamaños de DRAM hay queplanificar para utilizar en estos proyectos? Obsérvese que el crecimiento de las DRAM esdiscreto.

a) Vamos a considerar el rendimiento de una VAX-llnSO como V. De acuerdo con esto, elrendimiento que se necesita hoy en día en una máquina es 25 veces el rendimiento delVAX, es decir, 25V.

Ya que la frecuencia de crecimiento anual necesario es del 30%, el crecimiento para el añosiguiente será de 1,3 veces con respecto al del del año anterior. Por lo tanto:

Compañía pequeña (ciclo de diseño de 2 años): 1,32*25V =42,25V

Compañía grande (ciclo de diseño de 4 años): 1,34*25V =71,4V

b) Las DRAM aumentan su densidad un 60% por año, por lo tanto se cuadruplican cada 3años (1 * 1,63=4,096). En nuestro caso, y partiendo de los chips de 4 megabits, dentro de 3años tendríamos pastillas de DRAM de:

L 4Mbits * 1.6 * 1,6 * 1.6J =16Mbits

Por lo tanto:

Compañía pequeña (ciclo de diseño < 3 años): 4 Mbits.

Compañía grande (ciclo de diseño> 3 años): 16Mbits.

Como la generación de nuevos chips de DRAM es cada 3 años, la compañía pequeña tendráque aguantarse con los chips actuales de 4 Mbits. En el caso de la compañía grande, comosí supera el plazo de 3 años, podrá contar en sus diseños con los chips de 16Mbits.

DEPARTAMENl'O DE INFORMAT1CA y AUTOMATICA-UNED

Page 27: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACfICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 1/1 11-7

EJERCICIO 1.5

Se están considerando dos diseños alternativos para una memoria de instrucciones: utilizarchips rápidos y caros, o chips más baratos y más lentos. Si se utilizan los chips lentos sepuede lograr el doble de anchura del bus de memoria y la búsqueda de dos instrucciones,cada una de una palabra, cada dos ciclos de reloj. (Con los chips más rápidos y caros, elbus de memoria sólamente puede buscar una palabra cada ciclo de reloj.) Debido a lalocalidad espacial, cuando se busquen dos palabras, con frecuencia se necesitarán ambas.Sin embargo, en el 25% de los ciclos de reloj no se utilizará una de las dos palabrasbuscadas. Comparar el ancho de banda de memoria de estos dos sistemas

La ocupación del bus de memoria por los chips rápidos es del 100%, ya que como traensólo una palabra en cada accesono se desaprovechaninguna (sólo se desestiman palabrascuando setraen dos a consecuenciade una misma petición).

La ocupación del bus en el casode utilizar chips lentos es inferior ya que sedesaprovechanalgunas palabras. La duplicidad del ancho del bus implica que se traen dos palabrassimultáneamente, de las cuales el 25% de la que vienen por la mitad del bus sedesaprovechan. Por lo tanto, el porcentaje de aprovechamiento del bus utilizando chipslentos esdel:

50% + 0,75 * 50% = 87,5%

Por lo tanto, el empleo de los chips rápidos implica un 114,28% más de ancho de banda:

%Aprovechamiento chips caros *100 = 100 *100 = 114 28%%Aprovechamiento chips baratos 87,5 '

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 28: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

11-8 MATERIAL DIDAcnCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES III

EJERCICIO 1.6

Supongamos que realizamos una mejora en un computador que aumenta el modo deejecución en un factor de 10. El modo mejorado se utiliza el 50 por 100 del tiempo, medidocomo porcentaje del tiempo de ejecución cuando se utiliza el modo mejorado, en lugar decomo se define normalmente: el porcentaje del tiempo de ejecución antes de aplicar lamejora.

a) ¿Cuál es la aceleración que hemos obtenido del modo rápido?

b) ¿Qué porcentaje del tiempo de ejecución original se ha convertido al modo rápido?

a) Aceleración mejorada =10

Porcentaje del tiempo de ejecución que se aplica la mejora= 50%

Suponiendo que normalizamos a 1el tiempo actual de ejecución (esto es, el tiempoaplicando la mejora), el tiempo total de ejecución antes de aplicar la mejora es del:

0,5 + (0,5 * lO)=5,5

Por lo tanto, la aceleración global conseguida aplicando la mejora es del 5,5.

b) Como ya conocemos los valores de la aceleración global y de la aceleración mejoradabasta con aplicar la fórmula de la ley de Amdahl para obtener la fracción mejorada:

5,5= - ~x=O,91x

(l-x)+-10

Por lo tanto, el porcentaje de tiempo original que se ha convertido al modo rápido es del91%.

lo ' ,-, d,.. f'?1{I ('.' e e ~ (?J (..';( I

/ 1' I

< r'

f

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA.UNED

Page 29: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDAC/'lCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES III 1/-9

EJERCICIO 1.7

Supongamos que se está construyendo una maquina con una jerarquía de memoria parainstrucciones (no preocuparse por los accesos a datos). Supongamos que el programasigue la regla 90-10 y que los accesos en el 10% superior y el 90% inferior estánuniformemente distribuidos; es decir, el 90% del tiempo se emplea sobre un 10% del códigoy el otro 10% del tiempo se emplea sobre el otro 90% del código. Se pueden utilizar trestipos de memoria en la jerarquía:

Costo por palabra$ 0,1

$ 0,01$ 0,0001

Tabla 1.2

Se tienen exactamente 100 programas, cada uno de 1.000.000 de palabras, y todos losprogramas deben estar en disco. Supongamos que cada vez sólo corre un programa, y queel programa completo debe estar cargado en memoria principal. En la jerarquía de memoriase pueden gastar hasta 30.000 dólares.

a) ¿Cuál es la forma óptima de distribuir el presupuesto suponiendo que cada palabra debeestar colocada estáticamente en la memoria rápida o en la memoria principal?

b) Ignorando el tiempo de la primera carga del disco, ¿cuál es el número medio de ciclospara que un programa haga referencia a memoria en sli jerarquía? (Esta importante medidase denomina tiempo medio de acceso a memoria.)

a) Como todos los programas deben estar en el disco, es necesario comprar un disco conuna capacidad de 100.000.000 palabras. Como el programa completo debe estaralmacenado en memoria, es necesario adquirir una memoria principal con un tamañomínimo de 1.000.000 de palabras. El resto del presupuesto se puede invertir en memorialocal. Por lo tanto, el desglose del presupuesto es:

100 programas * 1.000.000 palabras * 0,0001$ = 10.000$ (Coste del disco)

1.000.000 palabras * 0,01$ = 10.000$ (Coste de la memoria)

Ya que entre el disco y la memoria se llevan gastados 20.000$ y el presupuesto es de30.000$, quedan 10.000$ para la compra de memoria local a 0,1$ la palabra. En función deesto, el tamaño de la memoria local que se puede comprar con los 10.000$ que restan es de100.000 palabras:

10.000$/ O,I$/palabra= 100.000palabras

b) De acuerdo con la regla 90-10, el 10% del código que hay cargado en la memoria localrepresenta el 90% del tiempo de ejecución, por lo que el tiempo de acceso para el 90% delcódigo ejecutado es 1 ciclo. El 90% del código que compone el programa (recuento estáticode instrucciones),representael 10%del tiempode ejecución,y su tiempode accesoal noestar en la memoria local es de 5 ciclos. Por lo tanto, el número medio de ciclos de accesoes:

0,9 * 1 ciclo + 0,1 * 5 ciclos = 1,4 ciclos

DEPARTAMENTO DE lNFORMATlCA y AUTOMATICA.UNED

Page 30: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

11.10 MATERIAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES J/J

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 31: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDAC1'ICO DE ESTRUcruRA ,Y TECNOLOGIA DE COMPUTADORES III lll-J

EJERCICIO 2.1

Una vez graduado, el lector se preguntará cómo llegar a ser un ICderen el diseño decomputadores. Su estudio sobre la utilización de construcciones de los lenguajes de altonivel sugiere que las llamadas a los procedimientos son una de las operaciones más caras.Suponga que ha inventado un esquema que reduce las operaciones de carga yalmacenamiento normalmente asociadas con las llamadas y vueltas de procedimientos. Loprimero que hace es ejecutar algunos experimentos con y sin esta optimización. Susexperimentos utilizan el mismo compilador optimizador en ambas versiones delcomputador.

Los experimentos realizados revelan lo siguiente:

·La duración del ciclo de reloj de la versión no optimizada es el 5% más rápido.

·El 30% de las instrucciones de la versión no optimizada son operaciones decarga o almacenamiento.

· La versión optimizada ejecuta 1/3 menos de operaciones de carga yalmacenamiento que la versión no optimizada. Para las demás instrucciones, elrecuento de ejecución dinámica es inalterable.

· Todas las instrucciones (incluyendo las de carga y almacenamiento) emplean unciclo de reloj.

¿Qué es más rápido? Justificar cuantitativamente la decisión.

De acuerdo con los datos del enunciado podemos elaborar la siguiente tabla:

Para obtener la solución es necesaria la ecuación del rendimiento:

Tiempo CPU = CPI * Recuento instrucciones * Duración ciclo

De acuerdo con los datos que nos proporciona el enunciado tendremos los siguientestiempos de ejecución:

Tiempo CPUsin-optimización = 1 * Recuentosin_optimización * 1

Tiempo CPUcon-optimización = 1 * (0,9 * Recuentosin-optimización) * 1,05 =

= 0,945 * Recuentosin_optimización

Podemos observar que la CPU optimizada es más rápida ya que tiene un tiempo menor deejecución. Para ver cuánto más rápida es la CPU optimizada con respecto a la nooptimizada aplicamos la expresión de la ley de Arndahl:

Tiemposin optimización- Tiempocon optimización * 100 = 5,82%Tiempocon optimización

DEPAKfAMENTO DE INFORMATICA y AUTOMATICA.UNED

Sin optimización Con optimizaciónRecuento de 30% carga-alm.+ 70% resto = 2/3*30% carga-alm.+ 70% resto =instrucciones 100% 90%CPI 1 1Duración del ciclo rel0.i 1 1,05

Page 32: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

111.2 MATERIAL DIDAC17CODE ESTRUCIVRA y TECNOLOGIA DE COMPUTADORES 111

EJERCICIO 2.2

Supongamos que los dos programas que aparecen en la Tabla 2.1 ejecutan 100.000.000operaciones de punto flotante.

a) Calcular la estimación en MFLOPS(nativos)de cada programa.

b) Calcular las medias aritmética, geométrica y armónica en MFLOPS nativos para cadamáquina.

c) ¿Cuál de las tres medias coincide con el rendimiento relativo del tiempo total deejecución?

Programa 1 (seg.)Programa 2 (seg.)Tiempo total (sea.)

Ordenador A1

10001001

Ordenador B10

105m

Ordenador e202040

Tabla2.1

a y b) Para la obtención de los MFLOPS de cada máquina se aplica la expresión:

MFLOPS = N° de operaciones de punto flotante de un programaTiempo de ejecución * 106

Sabiendo que la expresión que define la media armónica es:

Med' . nla arm mca =~

IJ..i=1 F¡

los resultados obtenidos se reflejan en la siguiente tabla:

c) La forma más sencilla para obtener el rendimiento relativo entre dos máquinas es utilizarel tiempo total de ejecución de los dos programas. Así, aplicando la ley de Amdahl entrecada par de máquinas para los tiempos totales de ejecución obtenemos:

B es un 810% más rápido que A para los prógramas 1y 2

1001 seg. -110 seg. * 100 =810%110 seg.

DEPARTAMENTO DE lNFORMATlCA y AUTOMATICA.UNED

Ordenador A Ordenador B Ordenador ePrograma 1(se!!:.) 1 10 20Programa 2 (seg.) 1000 100 20TiemDototal (seg.) 1001 110 40

MFLOPS 1 100 10 5MFLOPS 2 0,1 1 5

Media aritmética 50,05 5,5 5Media armónica 0,198 1,818 5Mediageométrica 3,162 3,162 5

Page 33: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES III 111-3

C es un 2400% más rápido que A para los programas 1y 2

1001 seg.-40 seg. *100 =2400%40 seg.

C es un 175%más rápido que B para los programas 1y 2

110 seg. - 40 seg. * 100 = 175%40 seg.

Como se puede observar en los cálculos siguientes, los rendimientos relativos obtenidos apartir de las medias armónicas coinciden con los rendimientos relativos calculados a partirde los tiempos totales de ejecución.

Media armónica B - Media armónica A * 100 ==810%Media armónica A

Media armónica C - Media armónica A * 100 ==2400%Media armónica A

Media armónica C - Media armónica B * 100 ==175%Media armónica B .

DEPARTAMENTO DE lNFORMATICA yAUTOMATICA.UNED

Page 34: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

1114 MATERIAL DIDACfICO DE ESTRUCTVRA YTECNOLOGIA DE COMPUTADORES 111

EJERCICIO 2.3

El benchmark Whetstone contiene 79.550 operaciones en punto flotante, sin incluir lasoperaciones en punto flotante realizadas en cada llamada a las siguientes funciones:

· arco tangente, invocado 640 veces

· seno, invocado 640 veces

· coseno, invocado 1.920 veces

· raíz cuadrada, invocada 930 veces

· exponencial, invocada 930 veces

· y logaritmo, invocado 930 veces

Las operaciones básicas para una iteración (sin incluir operaciones en punto flotante pararealizar las funciones anteriores) se descomponen como sigue:

SumaRestaMultiplicaciónDivisiónConversión de entero a punto flotanteTOTAL

37.5303.520

22.90011.4004.200

79.550

El número total de operaciones en punto flotante para una iteración también puedecalcularse incluyendo las operaciones en punto flotante necesarias para realizar lasfunciones arco tangente, seno, coseno, raíz cuadrada, exponencial, y logaritmo:

SumaRestaMultiplicaciónDivisiónConversión de entero a punto flotanteComparaciónTOTAL

82.0148.229

73.22021.3996.0064.710

195.578

Wheststone se ejecutó en una Sun 3/75 utilizando el compilador F77 con la optimizaciónactivada. La Sun 3/75 esta basada en un Motorola 68020 que corre a 16,67 MHz e incluyeun coprocesador de punto flotante. (Suponer que el coprocesador no incluye arco tangente,seno, coseno, raíz cuadrada, exponencial y logaritmo como instrucciones.) El compiladorde Sun permite que el punto flotante se calcule con el coprocesador o utilizando rutinassoftware dependiendo de los parámetros del compilador. Una iteración de Whetstonenecesita 1,08 segundos utilizando el coprocesador y 13,6 segundos utilizando el software.Suponer que al medir el CPI utilizando el coprocesador se obtuvo una medida de 10,mientras que utilizando el software la medida fue de 6.

a) ¿Cuál es la estimación en MIPS (nativos) para ambas ejecuciones?

b) ¿Cuál es el número total de instrucciones ejecutadas en ambas ejecuciones?

c) En promedio, ¿cuántas instrucciones enteras se necesitan para realizar cada operaciónde punto flotante en software?

a) Partiendo de la conocida fónnula de los MIPS nativos:

MIPS = Frecuencia de reloj106 * CPI

obtenemos los siguientes valores de MIPS para las dos modalidades de ejecución:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 35: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACfICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11/ 11/-5

16, 67Mhz. =1,67MIPS coprocesador = 106 * 10

16,67Mhz. =2,78MIPSsoftware= 106* 6

b) De la ecuación del rendimiento:

Tiempo CPU =CPI * Recuento instrucciones * Duración del ciclo de reloj

obtenemos:

Tiempo CPURecuento instrucciones=CPI *Duraci n del ciclo de reloj

Ya que a partir del enunciado conocemos el CPI, el tiempo de CPU y la duración del ciclode reloj, sólo hay que sustituir los datos en la ecuación anterior para ambos casos yobtendremos la solución pedida:

R1,08

ecuentocoprocesador= 110*-

16,76Mhz.

= 1.800.360 instrucciones

13,6Recuentosoftware= 1

6*-16,76Mhz.

=37.785.333 instrucciones

c) Como conocemos el total de instrucciones que se ejecutan utilizando el coprocesadormatemático (apartado b), descontando de ese total las instrucciones que corresponden aoperaciones en punto flotante obtendremos las instrucciones correspondientes aoperaciones enteras reales:

Total instrucciones enteras = 1.800.360 - 195.578 = 1.604.782

Entonces el número de instrucciones enteras necesarias para emular las operaciones enpunto flotante mediante software puede ser obtenido restando al total de instruccionesejecutadas sin coprocesador (apartado b) el número correspondiente a las intruccionesenteras:

Total intrucciones enteras(PF)= 37.785.333 - 1.604.782 =36.180.551

El dato obtenido es el número de instrucciones enteras que hay que ejecutar para emularpor software el total de 195.578 operaciones en coma flotante que son necesarias en unaiteración del benchmark. Así, el número medio de instrucciones enteras por operación encoma flotante es: .

M d. 36.180.551

184 992. .

/FLOPe la = -, lDstruCClOnes195.578

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 36: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

11I-6 MATERIAL DIDAC1'ICODE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 11I

EJERCiCIO 2.4

¿Cuáles son los MFLOPS nativos y normalizados para la Sun 3/75 cuando se ejecutaWhestone con el procesador de punto flotante? Se supone que la conversión cuenta comouna única operación de punto flotante. Utilizar la Tabla 2.2 para las operacionesnormalizadas y los datos del Ejercicio 2.3.

Tabla 2.2

Para calcular los MFLOPS nativos utilizamos la expresión:

MFLOPS = N° de operacionesde punto flotante de un programaTiempo de ejecución * 106

El nÍímero total de operaciones en punto flotante que pueden ejecutarse en el coprocesadores 195.578, por lo tanto el total de MFLOPS nativos es:

195.578 =0,181MFLOPSnativos = 1,08 * 106

De acuerdo con la Tabla 2.2 y la cantidad de operaciones auténticas (no emuladas) en puntoflotante (ver enunciado Ejercicio 2.3). el total de operaciones normalizadas en puntoflotante es:

1 ciclo * (n° ADD + n° SUB + n° MULT + n° COMPARE) +

4 ciclos * (n°DIV + n°SQRT)+

8 ciclos * (n° SIN + n° ARCTAN + n° COS + n° EXP + n° LOG) =

1 * (37.530 + 3.520 + 22.900 + 4.200) +

4 * (11.400 + 930) +

8 * (640 + 640 + 1.920 + 930 + 930) = 157.950operaciones normalizadas

y volviendo a aplicar la expresión para el cálculo de los MFLOPS. sólo que en este casocon valores normalizados, tendremos:

157.950 = 0,146= 6MFLOPSnonnalizados 1. 08 * 10

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Operaciones reales en punto flotante ODeracionesnormalizadas en DuntoflotanteADD. SUB. COMPARE. MULT 1DIVIDE. SQRT 4EXP. SiN.... 8

Page 37: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlAL DIDACfICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 11I 11I-7

EJERCICIO 2.5

La Tabla 2.2 sugiere el número de operaciones en punto flotante que pueden realizar lasseis funciones del Ejercicio 2.3 (arco tangente, seno, etc.) A partir de los datos anteriores sepuede calcular el número medio de operaciones en punto flotante por función.

¿Cuál es la relación entre las estimaciones de la Tabla 2.2 y las medidas de operaciones enpunto flotante para la Sun 3/75 del Ejercicio 2.3.? Suponer que el coprocesador implementasólamente Suma, Resta, Multiplicación, División, Comparación y Conversión.

De acuerdo con los datos de la Tabla 2.2 y el enunciado del Ejercicio 2.3 el total deoperaciones nonnalizadas que son necesarias para realizar las seis funciones es:

8 ciclos * (n° SIN + n°ARCTAN + n° COS + n°EXP + n° LOG) =

8 * (640 + 640 + 1.920+ 930 + 930 ) + 4 * 930 =44.200 operaciones nonnalizadas

De los datos del enunciado podemos obtener cuál es el número de operaciones en puntoflotante que es necesario ejecutar para implementar las funciones. Para ello, calculamos ladiferencia entre las operaciones básicas (79.550 FLOPS) y las operaciones necesarias parauna iteracción, incluyendo las funciones arco tangente, seno, coseno, raíz cuadrada,exponencial y logaritrno (195.578 FLOPS):

195.578 - 79.550 =116.028FLOPS

El cociente entre las operaciones normalizadas y los resultados medidos es:

44.200 =0,38116.028

o, que la Sun 3/75 ejecuta 2,625 más operaciones en punto flotante que lo que estiman losvalores de normalización.

116.028 =2,62544.200

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 38: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

..- -

III~ .MATERIAL DIDACl'ICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES1/1

EJERCICIO 2.6

El resumen de los resultados de la versión 1.0 del Benchmark SPEC (SPEC 92) da losrendimientos que se indican en la Tabla 2.3.

a) Comparar el rendimiento relativo obtenido utilizando los tiempos totales de ejecuciónpara 10 programas con el obtenido al utilizar las medias geométricas de la relación develocidad con el VAX-111780.¿Cómo difieren los resultados?

b) Comparar la media geométrica de las relaciones de los cuatro programas enteros (GCC,Expresso; Li y Eqntott) frente al tiempo total de ejecución para estos cuatro programas.¿Cómo difieren los resultados entre sr y de los resúmenes de los diez programas?

Tabla 2.3 Los cuatro programas enteros son GCC, Espresso, Li y Eqntott, los restantes cuentan conoperaciones en punto flotante. El informe de SPEC no describe la versión de los compilado res ni elsistema operativo utilizados para el VAX-11fi80. La DESstation 3100 consta de un microprocesadorMIPS R2000A y una unidad de punto flotante MIPS R2010 a 16,67 MHz., 8 Mbytes de memoriaprincipal, una memoria caché de 64 Kbytes para datos y otra de 64 Kbytes para instrucciones, elsistema operativo es UItrix 3.0, la versión del compilador de C es MIPS 1.31 y la versión del deFORTRAN es la MIPS 1.31. La serie 8608 Motorola Delta utiliza un MC88100 de 20 MHz, caché deinstrucciones de 16 Kbytes y caché de datos de 16 Kbytes utilizando dos M88200, el sistema operativoMotorola Sys. V/88 R32V1, el compilador C 1.8.4m14 del C88000 y el compilador FORTRAN SysV882.0a4 de Absoft. La SPARstation 1 utiliza una unidad entera MB8909 de 20 MHz. y una unidad de puntoflotante WTL3170 a 20 MHz., una caché unificada de 64 Kbytes, sistema operativo SunOS 4.0.3c ycompilador C y FORTRAN de Sun 1.2. El tamaño de la memoria principal de estas máquinas, salvo laDEC, es de 16 Mbytes.

a) Para calcular el rendimiento relativo entre tiempos totales de ejecución utilizaremos laconocida expresión:

Tiempo de ejecución de Y =1 + ~Tiempo de ejecución de X 100

Los tiempos totales de ejecución y las medias geométricas de las relaciones con el VAXson:

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Nombre del VAX.111780 DECstatlon 3100 Delta Series 8608 SPARCstatlon 1Droarama TlemDo TlemDo Relación TlemDo Relación TlemDo RelaciónGCC 1.482 145 10,2 193 7,7 138,9 10,7EXDresso 2.266 194 11,7 197 11,5 254,0 8,9Spice 2g6 23.951 2.500 9,6 3.350 7,1 2.875,5 8,3DODUC 1.863 208 9,0 295 6,3 374,1 5,0NASA7 20.093 1.646 12,2 3.187 6,3 2.308,2 8,7Li 6.206 480 12,9 458 13,6 689,5 9,0Eantott 1.101 99 11,1 129 8,5 113,5 9,7Matrix300 4.525 749 6,0 520 8,7 409,3 11,1FPPP 3.038 292 . 10,4 488 6,2 387,2 7,8TOMCATV 2.649 260 10,2 509 5,2 469,8 5,6Tiempo total 67.174 6573 195.1 9324 81,1 8.020 848Media aeométrlca 3.867 7 3814 10,1 496,5 78 4685 8,3

VAX DEC Delta SPARCTiemoos totales de ejecución (seg.) 61.174 6.573 9.324 8.020Media geométrica de las relaciones 10,1 7.8 8,3

Page 39: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACJ'ICODE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111 1ll-9

De acuerdo con esto, tendremos las siguientes comparaciones partiendo de los tiempostotales:

DECstation 3100 es el 41,8S%más rápida que la Delta Series 8608

DECstation 3100 es el 22% más rápida que la SPARCstation 1

SPARCstation 1es el 16,25%más rápida que la Delta Series 8608

Para el calculo de los rendimientos a partir de las medias geométricas de los tiempos deejecución utilizaremos la expresión anterior sólo que aplicando medias geométricas enlugar de tiempos. Tendremos así, las siguientes comparaciones:

DECstation 3100 es el 29,48% más rápida que la Delta Series 8608

DECstation 3100 es el 21,69% más rápida que la SPARCstation 1

SPARCstation 1es el 6,41% más rápida que la DECstation 3100

Como se puede apreciar en los cálculos, los porcentajes no difieren excesivamente,manteniendo la coherencia en lo que se refiere ala velocidad relativa de las máquinas.

b) Las medias geométricas y los tiempos totales de los cuatro programas que no efectúanoperaciones en coma flotante son:

Al igual que en el apartado anterior, vamos a calcular los rendimientos relativos utilizandotiempos de ejecución y medias geométricas. Para los tiempos de ejecución tenemos:

DECstation 3100 es el 6,21% más rápida que la Delta Series 8608

DECstation 3100 es el 30,23% más rápida que la SPARCstation 1

Delta Series 8608 es el 22,6S%más rápida que la SPARCstation 1

y utilizando las medias geométricas:

DECstation 3100 es el 13,73%más rápida que la Delta Series 8608

DECstation 3100 es el 19,81% más rápida que la SPARCstation 1

Delta Series 8608 es eIS,34% más rápida que la SPARCstation 1

En un primer análisis se puede apreciar que efectuando operaciones enteras la Delta Serieses más rápida que la SPARCstation.

DEPARTAMENTO DE INFORMATICA y AUTOMAT1CA.UNED

VAX DEC Delta SPARCTiemoos totales de ejecución (se!!:.) 11.055 918 97S 1.195,9Media !!:eométricade las relaciones 11,43 10,OS 9,S4

Page 40: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

11I-10 MATERIAL DIDAC17CO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I

EJERCICIO 2.7

Utilizando los datos de la Tabla 2.3 vamos a comparar rendimientos utilizando mediasaritméticas ponderadas.

a) Calcular los pesos para una carga de trabajo de tal forma que los tiempos de ejecuciónen el VAX-11/780sean iguales para cada uno de los diez programas de la Tabla 2.3.

b) Utilizandoesos pesos, calcular las medias ponderadas de los tiempos de ejecución delos diez programas.

c) Calcular la relación de las medias ponderadas de los tiempos de ejecución del VAXconlas medias ponderadas de las otras máquinas.

d) Alresumir el rendimiento relativo, ¿en qué se diferencian las medias geométricas de lasrelaciones de los cocientes de las medias aritméticas ponderadas de los tiempos deejecución?

a) Para el cálculo de los pesos utilizaremos la fórmula de la página 54:

1

w¡ =-o 1T-*~-

I kT.j=1 J

donde Tj es el tiempo de ejecución del programa J.

Considerando los tiempos de ejecución del VAX tal como indica el enunciado, obtenemoslos siguientes pesos para cada uno de los programas:

b) Las medias aritméticas ponderadas que se obtienen utilizando los pesos del apartadoanterior son:

VAXI1J7802669,7 se....

DECStation 3100269,21 se2.

Delta Series 8608355,784 se2.

SPARCstation 1334,01 se2.

c) Las relaciones entre la media ponderada del VAX Ylas medias ponderadas de las otrastres máquinas se obtienen realizando el cociente entre ellas, es decir,

VAX

DEC o DELTA o SPARC

DEPARTAMENTO DE lNFORMATlCA y AcnOMATlCA-UNED

GCC 0,1803 Li 0,043Espresso 0,1179 Eqntott 0,2427SDice226 0,0111 Matrix 300 0,059DODUC 0,1434 FPPP 0,0879NASA7 0,0133 TOMCATV 0,1008

Total 0,9994

Page 41: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES J/l J/l-II

Tendremos así:

Relación de las mediasDECStation 3100 Delta Series 8608

9.917 7.503SPARCstation 1

7.992

d) Si comparamos los valores de las relaciones obtenidas en el apartado anterior con losvalores de las medias geométricas de las relaciones de los tiempos de ejecución (Tabla 2.3)podemos afirmar que no existen diferencias apreciables.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 42: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

11I-/2 MATERIALD/DACTICODE ESTRUcnJRAy TECNOLOGlA DE COMPUTADORES 11I

EJERCICIO 2.8

Escoger los microprocesadores mayor y menor de la Tabla 2.4, y utilizar los valores de laTabla 2.5 como parámetros de productividad (yield). ¿Cuántos chips buenos se obtienenpor oblea?

Tabla 2.4

Tabla 2.5 Esta tabla supone una oblea de 15,24 cm. que cuesta 550 dólares, con 5 dados de test poroblea. El rendimiento de la oblea es del 90%. La densidad de defectos es 2,0 por centímetro cuadrado

yex es 2,0. Se necesita un promedio de 12 segundos para testear un dado, el examinador cuesta 150dólares por hora y el rendimiento del test final es del 90%.

Los microprocesadores mayor y menor de la Tabla 2.4 son:

De acuerdo con los datos de la Tabla 2.5 y para un tamaño de dado similar, laproductividaddel microprocesadorCypressCY7C601es aproximadamentedel 36,86%.Yaque el área del microprocesador de Intel no está recogido en la tabla, es necesario calcularloutilizando los parárnetros de productividad que conocemos. Así, tendremos:

Productividad del dado =

Productividad de la oblea * (1 + Defectos por unidad d~área * Area del dado )-a =

( )

-2.0

= 90% * 1 + 2,~ ~01,6 =13,31%

La Tabla 2.5 proporciona la cantidad de dados que se obtienen por oblea para un tamaño dedado similar al del microprocesador de Cypress (0,56 cm2 >274 dados). Sin embargo,

DEPARTAMENTO DE /NFORMAT/CA y AUTOMATlCA-UNED

Microprocesador Tamaño Patillas EncapsuladoFrecuencia Precio de Año

(cm) de relol lista ($) disponibleCVDressCY7C601 0,8 x 0,7 207 Cerámico PGA 33 500 1.988Intel 80486 1,6 x 1,0 168 Cerámico PGA 33 950 1.989Intel 860 1,2 x 1,2 168 Cerámico PGA 33 750 1.989MIPS R3000 0,8 x 0,9 144 Cerámico PGA 25 300 1.988Motorola 88100 0,9 xO,9 169 Cerámico PGA 25 695 1.989

Area Lado Dado/ Productl. Coste Coste del Costes Coste después(cm2.) (cm.) oblea dad%blea del test del encapsulamlento del test final

(%) dado ($) dado ($) ($) ($)0,06 0,25 2778 79,72 0,25 0,63 5,25 6,810,25 0,50 656 57,60 1,46 0,87 5,25 8,420,56 0,75 274 36,86 5,45 1,36 5,25 13,401,00 1,00 143 22,50 17,09 2,22 5,25 27,291,56 1,25 84 13,71 47,76 3,65 52,25 115,182,25 1,50 53 8,52 121,80 5,87 52,25 199,913,06 1,75 35 5,45 288,34 9,17 52,25 388,624,00 2,00 23 3,60 664,25 13,89 52,25 811,54

Microorocesador Area (cm2) Patillas Precio de lista ($)CypressCY7C60l 0,8x 0,7=0,56 207 500lotel 80486 1,6 x 1,0= 1,6 168 950

Page 43: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACJ'ICODE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES /lJ /lJ-13

para el tamaño del procesador de Intel es necesario realizar el cálculo aplicando lacorrespondiente expresión:

D d bl 7t * (Diámetro oblea / 2)2 7t * Diámetro oblea D d bla os o ea = - ~ a os test por o ea =Area dado 2 * Area dado

= 7t * (15,24/2)2 _ 7t * 15,24 _ 5 =82,21,6 ~2 * 1,6

El total de dados buenos se obtendrá del producto:

Dados/oblea * Productividad dad%blea

Por lo tanto, tendremos:

Cypress CY7C601 : l274 * 0,3686 J= 100 dados buenos/oblea

Intel 80486l82, 2 * 0,1331 J =11 dados buenos/oblea

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 44: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

_.. ..'_' ._ 0 ..- ..--..

111-14 MATERIAL DIDACTlCO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 1/1

EJERCICIO 2.9

Indicar los costes de los dados mayor y menor de la Tabla 2.4 para densidades de defectopor centímetro cuadrado de 3, 2, 1 Y O. Para los demás parámetros utilizar los valores de laTabla 2.5.

En primer lugar necesitamos calcular la productividad de los distintos tipos de dados. Paraello, aplicamos la conocida expresión:

Productividad dado =Prod. oblea * ( 1 + Defectos por unidad d; área * ATeadel dado )-a

obteniéndose los siguientes valores:

La Tabla 2.5 proporciona la cantidad de dados que se obtienen por oblea para un tamaño dedado similar al del microprocesador de Cypress (0,56 cm2 >274 dados). Sin embargo,para el tamaño del procesador de Intel es necesario realizar el cálculo aplicando lacorrespondiente expresión:

Dados oblea = Tr* (Di metro oblea/2) 2 _ Tr* Di metro oblea _Dados test por oblea =Areadado ~2*Areadado

Tr*(15,24/2)2 _ Tr*15,24 -5 =82 dados= 1,6 ";2 *1,6

Por 10tanto, y sabiendo qu~ el coste de la oblea es de 550$ y que el coste de un dado vienedado por:

C d 1d dCoste de la oblea

oste e ao=Dados por oblea * Productividad del dado

los costes pedidos serán los siguientes:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Cypress CY7C601 Intel 80486(Area 0.56 cm2) (Area 1 6 cm2)

Odefecto/cm2 90% 90%1 defectolcm2 54,93% 27,77%2 defectolcm2 36,86% 13,31%3 defecto/cm2 26,58% 7,78%

CVDressCY7C601 Intel 80486Odefecto/cm2 2,23$ 7,45$1 defectolcm2 3,65$ 24,15$2 defecto/cm2 5,44$ 50,39$3 defecto/cm2 7,55$ 86,21$

Page 45: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACT1CODE ESTRUCIVRA y TECNOLOG1ADE COMPUTADORES III 111-15

EJERCICIO 2.10

Vamos a proceder a calcular los costes y precios de los microprocesadores mayor y menorde la Tabla 2.4. Utilizaremos las hipótesis sobre fabricación de la Tabla 2.5 a menos que,específicamente, se mencione otra cosa.

a) Hay grandes diferencias en las densidades de defectos entre los fabricantes desemiconductores. ¿Cuáles son los costes de los dados no probados suponiendo: (1) 2defectos por centímetro cuadrado; y (2) 1 defecto por centímetro cuadrado?

b) Suponer que el test cuesta 150 dólares por hora y el circuito integrado más pequeñonecesita 10 segundos para ser probado y el mayor 15 segundos, ¿cuál es el coste del testdel dado?

c) Haciendo las hipótesis de encapsulamiento de la sección 2.3 del libro "Arquitectura decomputadores: Un enfoque cuantitativo1I ed.", ¿cuáles son los costes de encapsulamieno yquemado?

d) ¿Cuál es el coste final?

e) Deducir la expresión que relaciona el precio de lista, los costes de los componentes, loscostes directos, el margen bruto y el descuento medio. Dada la lista de precios de la Tabla2.4 y el coste calculado en las preguntas anteriores, calcular el margen bruto. Suponer queel coste directo es del 40% y el descuento de venta medio es del 33 %. ¿Qué porcentajedel precio de venta es el margen bruto para ambos circuitos integrados?

a)

Cypress CY7C601:

(1) 2 defectos/cm2:

C d 1d dCoste de la oblea

oste e a o = =Dados por obles * Productividad del dado

550$

274 * 36,86%= 5,45$

(2) 1 defecto/cm2: Debido a que las especificaciones de la Tabla 2.4 son para obleas condos defectos por centímetro cuadrado, es necesario calcular la productividad dad%bleapara el caso de obleas con un defecto por unidad de área.

Productividad del dado =

Productividad de la oblea * (1 + Defectos por unidad d~ área * Area del dado ra =

( )

-2~

=90% * 1+ 1,0 * O,56 _2,0 - 54,93%

Por lo tanto, tras obtener el nuevo valor de la productividad del dado, ya podemos aplicar lafórmula para el cálculo del coste del dado:

C d 1d dCoste de la oblea

oste e a o = =Dados por obles * Productividad del dado

550$

274 * 54,93%3,65$

DEPARTAMENTO DE lNFORMAT1CA y AUTOMAT1CA.UNED

Page 46: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

111-16 MATERIAL DIDAC17CO DE ESTRUClVRA y TECNOWGIA DE COMPUTADORES1/1

Intel 80846:

(1) 2 defectos/cm2: Ya que el área del procesador de lotel no se encuentra recogido en laTabla 2.5 es necesario calcular el valor de productividad de este tipo de dado:

Productividad del dado =

Producrividad de la oblea . ( 1+ Defectos por "oidad d; área · Arca del dado )~ =

( )

-2 Jj

=90% * 1 + 2,0 * 1,6 _2

-13,31%,O

C d 1d dCoste de la oblea

oste e a o = =Dados por obles * Productividad del dado

550$

82 * 13,31%= 50,39$

(2) 1 defecto/cm2: Al igual que para el caso de dos defectos por centímetro cuadrado, esnecesario calcular previamente la productividad del dado para a continuación obtener elvalor de coste del dado.

Productividad del dado =

Productividad de la oblea * ( 1 + Defectos por unidad d; área * Area del dado )-a =

( )

-2 Jj

_ 90% * 1 + 1,0 * 1,6

- 2,0 =27,77%

C d 1d dCoste de la oblea

oste e a o = =Dados por obles * Productividad del dado

550$

82 * 27,77%=24,15$

b) El coste del aparato de testear chips es de 150$por hora Ó0,0417$ por segundo. El costedel test del dado viene dado por la expresión:

C d 1 d 1d d Coste del test por hora * Tiempo medio del test del dadooste e test e a o =Productividaddeld

De acuerdo con lo anterior, se obtienen los siguientes datos:

DEPARTAMENTODEINFORMATICAyAUTOMATICA-UNED

2 defectoslcmZ 1 defectolcmzCY7C601 (0,0417 * 10)/0,3686= 1,131$ (0,0417 * 10) 1 0,5493 =0,76$80486 (0,0417 * 15)/0,1331 =4,70$ (0,0417 * 15) 10,2778 =2,25$

Page 47: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACT/CO DE ESTRUCTURA Y TECNOLOG/A DE COMPlffADORES 111 111-17

c) Tras leer los datos de la página 64 y 65 dedicados a los costes de encapsulamiento yproductividad del test final, se obtienen las siguientes cifras:

50,00$2,00$0,25$

52.25$

d)

e) La fórmula que relaciona los cuatro términos que intervienen en el Precio de lista de unproducto es:

P.

d 1, Costes componentes * (1 + Costes directos)recIO e lsta =(1- Descuento medio) * (1 - Margen bruto)

Para obtener esta expresión, es necesario tener en cuenta que cada término se consideracomo una tasa o porcentaje del término anterior. Por ejemplo, los Costes directos se puedenconsiderar como un porcentaje de los Costes de los componentes, por lo tanto, la parte quecorresponde al Coste de los componentes y a los Costes directos se puede expresar como:

Costes componentes * (1+ Costes directos)

asumiendo que los Costes directos son un porcentaje del Coste de los componentes.

Por otra parte, el Descuento medio y el Margen bruto están definidos como una fracción delPrecio de lista y del Precio medio de venta, respectivamente. Partiendo de considerar elMargen bruto como una fracción del Precio medio de venta, podemos establecer lasiguiente relación:

Precio medio de venta =Costes componentes * (1 + Costes directos) +

Precio medio de venta * Margen bruto

y despejando:

Precio medio de venta =Costes componentes * (1 + Costes directos)1 -Margen bruto

DEPARTAMENTO DE /NFORMAT/CA y AlffOMAT/CA-UNED

CY7C601 2 defectos/cm2 1 defecto/cm2Coste del dado 5,45$ 3,65$Coste del test 1,13$ 0,75$Coste del ensamblaie 52,25$ 52,25$Suma 58,83$ 56,65$Sumal90% test oroductividad 65.36$ 62.94$

80486 2 defectos/cm2 1 defectolcm2Coste del dado 50,39$ 24,15$Coste del test 4,70$ 2,25$Coste del ensamblaie 52,25$ 52,25$Suma 107,34$ 78,65$Sumal90% test oroductividad 119.27$ 87.387$

Page 48: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

111-18 "MATERIALDIDACl7CO DE ESTRUCTURA Y TECNOLOGIA DE COMPUfADORES 111

Por otro parte, si consideramos el Descuento medio como una fracción del Precio de lista,obtenemos la siguiente expresión:

Precio de lista =Precio medio de venta + Precio de lista * Descuento medio

y despejando:

Precio de lista =Precio medio de venta1-Descuento medio

Si en la expresión obtenida sustituimos el- Precio medio de venta por lo obtenidoanteriormente, tendremos la relación que nos pedían:

Pr.

d lo Costes componentes * (1 + Costes directos)eClO e lsta =(1 - Descuento medio) * (1 -Margen bruto)

Ya que hemos definido el Margen bruto como una fracción del Precio medio de venta,bastará con despejarlo de la expresión anterior para satisfacer otra de las cuestiones delenunciado:

M b 1 Coste * (l + Costes directos)argen ruto = -

(1 -Descuento medio) * Precio de lista

Para obtener el Margen bruto absoluto, es decir, no como un porcentaje sino en pesetas odólares, basta con eliminar al Precio de lista la cantidad que corresponde al Descuentomedio de venta, a los Costes de componentes y a los Costes directos. Tendremos así:

Margen bruto absoluto=Precio de lista (l -Descuento medio) - Coste * (l + Costes directos)

Cypress CY7C601:

65,36 * (l + 0,4) _ 0,7254Margen bruto =1-. (l- 0,33) *500

Por lo tanto, el margen bruto es el 72,54% del Precio medio de venta, y el valor absolutodel Margen bruto es:

Margen bruto absoluto=500 * (1 -0,33) - 65,36 * (1 + 0,4) =241,82$

InteI80486:

119,27 * (1 + 0,4) =0,737Margenbruto=l - (1 _ 0, 33) * 950

El Margen bruto es el 73,72% del Precio medio de venta, y el valor absoluto del margenbruto es:

Margen bruto absoluto=950 * (1- 0,33) - 119,27 * (1 + 0,4) =469,522$

DEPARTAMENTO DE INFORMATICA y AUfOMATICA.UNED

Page 49: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES III IlI-19

EJERCICIO 2.11

La Figura 2.18 muestra el precio de lista de la estación de trabajo DECstation 3100.Comenzar con los costes del modelo «coste más elevado» de la Figura 2.13, (suponerque la pantalla es de color), pero cambiar el coste de DRAM a 100 dólares/Mbytes para los16 Mbytes completos de la 3100.

a) Utilizando el descuento medio y los porcentajes de gastos del Modelo B de la Figura2.16, ¿cuál es el margen bruto en la DECstation 3100?

b) Suponer que se sustituye la CPU R2000 de la DECstation 3100 por la R3000, y que estecambio hace a la máquina un 50% mas rápida. Utilizar los costes de la Tabla 2.4 para laR3000, y suponer que el coste de la R2000 es de la tercera parte. Como la R3000 norequiere mucha más potencia, suponer que tanto la fuente de alimentación como el sistemade refrigeración de la DECstation 3100 sigue siendo satisfactorio. ¿Cuál es la relacióncoste/rendimiento de una estación de trabajo (monocolor) sin disco con una R2000 frente aotra con una R3000? Utilizando el modelo comercial de la respuesta del apartado (a), ¿encuánto hay que incrementar el precio de la máquina basada en la R3000?

NOTA: Debido a la extensión de las figuras, éstas no han sido incluidas en el enunciado. Sepueden localizar en el libro ''Arquitectura de computadores: Un enfoque cuantitativo, l' ed."

a) Ya que el coste de 1 Mbyte de DRAM es 50$ menor, es necesario recalcular el coste delos componentes.

Costes de los componentes =5.045$ - 16 * 50$ = 4.245$

Precio de lista = 17.950$

Precio medio de venta = Precio de lista * 75% =13.462,5$

Margen bruto absoluto = Precio medio de venta- Costes componentes * Costes directos =

=13.462,5$ - 4.245$ * 140% =7.519,5$

Margen bruto = 7.519,5 /13.462,5 = 0,56 = 56%

b) El precio base de la CPU R3000 es 300$ y el de la R2000 es 100$. El ratio entre elPrecio medio de venta y los Costes de los componentes, de acuerdo a los resultados delapartado (a), es:

Precio medio de venta

Costes de los componentes13.462,5 = 3, 17

= 4. 245

Por lo tanto, el Precio medio de venta se incrementa debido al intercambio de CPU's en:

200$ * 3,17 = 634,28$

Ya que el Precio medio de venta es un porcentaje del Precio de lista vamos a calcular cuálserá el incremento en el precio final:

Nuevo Precio medio de venta = Nuevo Precio de lista * 75%

Nuevo Precio de lista = (13.462,5$ + 634,28$) / 0,75 = 18.795,7$

Incremento = Nuevo Precio de lista - Precio de lista = 18.795,7$ - 17.950$ = 845,7$

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 50: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

/11.20 MATERlAL DIDAC17CO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES /11

En el apartado (a) se considera una estación de trabajo a color, sin embargo la estación detrabajo de este apartado es monocroma. Por esta razón, las diferencias de precio en elcambio de monitor y de lógica de vídeo deben ser substraidas a los costes de la estación decolor. Partiendo del Coste de componentes del apartado (a) (ya restada la reducción delprecio de la DRAM) tendremos:

Coste componentes = 4. 245$ - Diferencia costes monitor mODO- Diferencia costes lógica de video =

= 4.245$ - (1. 000$ - 300$) - (500$ - 100$) = 3.145$

Por lo tanto, los costes de la estación de trabajo con una CPU R3000 son:

Costes componentes = 3.145$ + 200$ = 3.345$

El ratio coste/rendimiento de la estación con una CPU R2000 es:

3.145/12 = 262 $IMIPS

El ratio coste/rendimiento de la estación con una CPU R30Q0es:

3.345/18 = 186$IMIPS

DEPARTAMENTO DE lNFORMATlCA y AUTOMATlCA-UNED

Page 51: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES /11 IV-I

EJERCICIO 3.1

Para este problema es necesario utilizar los datos de las Tablas 3.1 y 3.2. Para GCCvamos a suponer los siguientes cprs:

Operación ALU 1Cargas/almacenamiento 3Saltos 5

a) Calcula el CPI para las versiones optimizada y no optimizada de GCC.

b) ¿Cuántas veces es más rápido el programa optimizado que el no optimizado?

Tabla 3.1 Millones de instrucciones ejecutadas

Tabla 3.2 Frecuencia del tipo de operación

a) Tomando los valores de CPI's dados en el enunciado y las frecuencias obtenidas de laTabla 3.2, tendremos:

CPI sinoptimizar=(45% * 1 ciclo) + (39% * 3 ciclos) + (16% * 5 ciclos) =2,42 ciclos

CPI oplimizado= (46% * 1 ciclo) + (36% * 3 ciclos) + (18% * 5 ciclos) =2,44 ciclos

b) A partir de la Tabla 3.1 obtenemos el total de instrucciones ejecutadas por cada versióndel programa GCc. Utilizando los valores de CPI's obtenidos en el apartado anterior yaplicnado la conocida expresión:

Tiempo ejecuci n en ciclos = CPI * Recuento de instrucciones

tendremos:

Tiempo ejecución sinoptimizar=2,42 * (81 + 70 + 28) * 106= 433,18 millones de ciclos

Tiempo ejecución optimizado= 2,44 * (69 + 53 + 26 ) * 111= 361,12 millones de ciclos

De acuerdo con los tiempos obtenidos, el programa GCC optimizado es un 20% más rápidoque la versión sin optimizar:

433,18 - 361,12 * 100 =20%361,12

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

GCC optimizado GCC noootlmizado

Saltos 26 28Caraas/almacenamiento 53 70Ooeraciones de la ALU 69 81

GCC optlmizado GCC noootlmlzado

Saltos 18% 16%Caraas/almacenamlento 36% 39%Ooeraclones de la ALU 46% 45%

Page 52: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

-- -.. -. ------

!v.2 MATERIALDIDACTlCO DEESTRUCTURA YTECNOLOGIADECOMPUTADORES/11

EJERCICIO 3.2

Dados los datos de la Tabla 3.3, y suponiendo que cada palabra de instrucción y cadareferencia a un dato requieren un acceso a memoria:

a) Determinar el porcentaje de accesos a memoria de las instrucciones para cada uno delos tres benchmarks en la máquina de carga/almacenamiento.

b) Determinar el porcentaje de accesos a memoria de las instrucciones para cada uno delos tres benchmarks en la máquina memoria-memoria.

c) ¿Cuál es la razón de accesos totales a memoria en la máquina de.carga/almacenamiento frente a la máquina memoria-memoria para cada benchmark?

Tabla 3.3 Millones de instrucciones, palabras o referencias. Los recuentos son (desdeabajo hacia arriba) instrucciones dinámicas, palabras de instrucción (bytes de instruccióndivididos por cuatro) y referencias de datos (éstas pueden ser byte. palabra o doblepalabra). Cada referencia se cuenta una única vez. Estos datos se midieron conoptimización en un VAXstation 3100 para la máquina memoria-memoria y en DLX para lamáquinacarga/almacenamiento. .

a) El enunciado en estepunto no es muy preciso. En realidad lo que se pide es calcular quéporcentaje de todos los accesos a memoria corresponde a la lectura de instrucciones. Comoya sabemos que el otro acceso a memoria es para realizar referencias de datos, tendremos:

GCC:, 3,9 , =74%3,9 + 1,4

S . 18,9 7901.plce:

( )= 70

18,9 + 4,9

14TeX:

( )=72%

14 + 5,4

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

TeX.m-m 12,4TeX. e/a 5,4

Referencias SDlce. m-m 105de datos Splce, e/a 4,9en memoria GCC. m-m 4,1

GCC, e/a 1,4TeX, m-m 7,5TeX. e/a 14,0

Palabras de Splce, m-m 8,4Instrucciones Splce. e/a 18,9ejecutadas GCC. m-m 24

GCC, e/a 3,9TeX, m-m 7,1TeX, e/a 14,0

Cuenta de Splce. m-m 6,9Instrucciones SDlce, e/a 18,9

GCC, m-m 2,6GCC, e/a 3,9

Page 53: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlAL DlDACfICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES /// IV-3

b)

GCC : 2,4 =37%(2,4 + 4, 1)

8,4 =44%Spice : (8,4+ 10,5)

TeX:. 7,5 , =37,6%7,5+12,4

c) Los recuentos totales de accesos a memoria para cada máquina y programa son:

GCC, c/a : 3,9 + 1,4=5,3 millones de accesos

GCC,m/m: 2,4+ 4,1=6,5millonesde accesos

Spice, e/a : 18,9+ 4,9 =23,8 millones de accesos

Spice, m/m : 10,5+ 8,4 =18,9millones de accesos

TeX, c/a : 14 + 5,4 =19,4millones de accesos

TeX, m/m : 12,4+ 7,5 =19,9millones de accesos

A partir de estos datos, y debido a que la pregunta es la relación de accesos totales en lamáquina de carga/almacenamiento frente a la máquina memoria/memoria para cadabenchmark, obtenemos las siguientes razones:

GCC : 5,3 / 6,5 =0,82

Spice: 23,8/18,9 =1,25

TeX: 19,4/19,9 =0,9748

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 54: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

IV-4 MATERIAL DIDACTICO DE E!r1'RUCTURAy TECNOLOGIA DE COMPUTADORES11I

EJERCICIO 3.3

Estamos diseñando formatos de repertorios de instrucciones para una arquitectura decarga/almacenamiento e intentamos decidir si es útil tener múltiples longitudes dedesplazamiento para los saltos y referencias a memoria. Utilizando medidas debenchmarks, hemos decidido que los desplazamientos sean iguales para estas dos clasesde instrucciones. La longitud de una instrucción será igual a 16 bits + longitud deldesplazamiento en bits. Las instrucciones de la ALUserán de 16 bits. Suponer que senecesita un bit adicional para el signo del desplazamiento.

Para las frecuencias del repertorio de instrucciones, utilizar los datos de la media de lostres benchmarks para la máquina de carga/almacenamiento de la Tabla 3.4.

Tabla 3.4 Las columnas segunda y tercera contienen el porcentaje acumulativo de lasreferencias a datos y saltos, respectivamente, que pueden ser acomodadas en el númerocorrespondiente de bits de magnitud del desplazamiento.

Tabla 3.5 Recuento dinámico total

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

81ts de Referencias Saltosdesplazamiento acumulatlvas de datos acumulatlvos

O 16% 0%1 16% 0%2 21% 10%3 29% 27%4 32% 47%5 44% 66%6 55% 79%7 62% 89%8 66% 94%9 68% 97%10 73% 99%11 78% 100%12 80% 100%13 86% 100%14 87% 100%15 100% 100%

TeX. m-m 31%TeXI.l/s 14%

Saltos Spice m-m 22%Spice l/s 7%GCC, m-m 32%GCC, l/s 18%TeX, m-m 33%TeX, l/s 36%

Transferencias Spice. m-m 17%Splce. lis 28%GCC. m-m 23%GCC, l/s 36%TeX.m-m 36%TeX. l/s 50%

Operaciones Spice, m-m 61%de la ALU Spice, l/s 65%

GCC, m-m 45%GCC, l/s 46%

Page 55: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I lV-5

a) Suponer que se permiten desplazamientos de 0, 8 o 16 bits de longitud incluyendo el bitde signo. Basándose en las estadísticas dinámicas de la Tabla 3.5, ¿cuál es la longitudmedia de una instrucción ejecutada?

b) Suponer que queremos instrucciones de longitud fija y seleccionamos para todas lasinstrucciones una longitud de 24 bits (incluyendo las instrucciones de la ALU). Para cadadesplazamiento mayor de 8 bits, se necesita una instrucción adicional. Determinar elnúmero de bytes de las instrucciones buscadas en esta máquina con tamaño de instrucciónfijo frente a los buscados con una instrucción de tamaño varilable.

c) ¿Qué ocurriría si la longitud del desplazamiento fuese 16 y nb se necesitase nunca unainstrucción adicional? ¿Cómo se compararían los bytes de las instrucciones buscadas alelegir sólo un desplazamiento de 8 bits? Suponer que las instrucciones de la ALU son de16 bits.

a) A partir de los datos de la Tabla 3.4 obtenemos los porcentajes de instrucciones de saltoo referencia a memoria que utilizan desplazamientos de 0,8 Y 16bits de longitud.

Piense que para obtener los porcentajes de 8 bits se han sumado los porcentajescorrespondientes a desplazamientos de 1,2,3,4,5,6 Y7 bits (hasta 7 bits debido a que enla longitud del desplazamiento hay que descontar el bit de signo). Análogamente paraobtener los porcentajes de 16 bits (15 bits realmente) se han sumado los porcentajes de 8,9, lO, 11, 12, 13, 14Y 15bits.

Como a partir del enunciado se sabe que la longitud de una instrucción es igual a:

16 bits + longitud del desplazamiento

para calcular la longitud media de una instrucción de referencia a memoria o salto hay quetomar los anteriores porcentajes y la longitud de cada tipo de desplazamiento. Por lo tanto,tendremos las siguientes longitudes medias:

Referencias a memoria: 16+ [(O* 16%)+ (8 * 46%) + (16 * 38%)] =25,76 bits

Saltos: 16 + [(O * 0%) + (8 * 89%) + (16 * 11%)] =24,88 bits

ALU: 16 bits

De la Tabla 3.5 obtenemos la frecuencia de cada tipo de instrucción en el recuento total decada programa, y a partir de estos datos la frecuencia media de ejecución de cada tipo deinstrucción en la máquina de carga/almacenamiento:

La longitud media de la instrucción es:

(13% * 24,88 bits) + (33,33% * 25,76 bits) + (54% * 16 bits) =20,46 bits

DEPARTAMENTO DE INFORMA TIC A y AUTOMATICA.UNED

Bits de desplazamiento Referencias a memoria SaltosO 16% 0%8 46% 89%16 38% 11%

ALU Referencias SaltosGCC 46% 36% 18%Spice 65% 28% 7%TeX 50% 36% 14%Media 54% 33.33% 13%

Page 56: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

lV-6 MATERIAL D1DACT1CODE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

b) Teniendo .en cuenta la nueva longitud de la instrucción (24 bits) y que cuando eldesplazamiento es superior a los 8 bits es necesaria una instrucción adicional, el tamañomedio de cada tipo de instrucción es:

Saltos: 24 bits + (11% * 24 bits) =26,64 bits

Referencias a memoria: 24 bits + (38% * 24 bits) =33,12 bits

ALU: 24 bits

La longitud media de las instrucciones del nuevo repertorio es:

(13% * 26,64) + (33,33% * 33,12) + (54% * 24) =27,35 bits

Por 10 tanto, los programas con el repertorio de instrucciones de este apartado serán un33,68% más largos que los que utilicen el repertorio de instrucciones del apartado (a):

27,35 bits - 20, 46 bits *100=33,68%20,46 bits

c) En este supuesto la longitud del deslplazamiento es fija, 16 bits, por lo que se sumará sinmás a la longitud fija de la instrucciones de saltos y referencias a memoria. Como resultadode lo anterior, las longitudes de los tres tipos de instrucción serán:

Saltos: 16 bits + 16 bits (desplazamiento) =32 bits

Referencias a memoria: 16 bits + 16bits (desplazamiento) =32 bits

ALU: 16 bits

Teniendo en cuenta los porcentajes de cada tipo de instrucción que hay en el recuento total,la longitud media de la instrucción es:

16 bits * 54% + 32 bits * 33,33% + 32 bits * 13%=23,36 bits

Comparando este tamaño de instrucción con el del apartado (b), en el cual se utiliza undesplazamiento de 8 bits, obtenemos que los programas del apartado anterior son un 17%más largos que aquellos que utilizan el repertorio de instrucciones de este apartado:

27,35 bits - 23,36 bits * 100 = 17%23,36 bits

DEPARTAMENTO DE 1NFORMATlCA y AUTOMATlCA-UNED

Page 57: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES /// IV-7

EJERCICIO 3.4

Algunos investigadores han sugerido que. puede ser útil añadir un modo dedireccionamiento registro-memoria a una máquina de carga/almacenamiento. La idea essustituir secuencias de:

Suponer que la nueva instrucción hace que el ciclo de reloj se incremente en un 10%Utilizar las frecuencias de instrucciones para el benchmark GCC en la máquina decarga/almacenamiento de la Tabla 3.5 y suponer que los dos tercios de los movimientosson cargas y el resto almacenamientos. La nueva instrucción afecta solamente a lavelocidad del reloj y no al CPI.

a)¿Qué porcentaje de las instrucciones de carga debe eliminarse de la máquina con lanueva instrucción para que como mínimo tenga el mismo rendimiento?

b) Mostrar una situación en una secuencia de múltiples instrucciones donde una carga deRl seguida inmediatamente de una utilización de Rl (con algún tipo de código deoperación) no se pueda sustituir por una simple instrucción de la forma propuesta,suponiendo que existe el mismo código de operación.

a) De la Tabla 3.5 obtenemos los siguientes porcentajes de instrucciones para elbenchmark GCC en la máquina de carga/almacenamiento:

Saltos: 18 %

Referencias a memoria (cargas + almacenamientos): 36%

Cargas: 36% * 2/3 = 24%

Almacenaniientos: 36% * 1/3= 12%

ALU : 46 %

Para que los dos tipos de máquinas tengan el mismo rendimiento debemos igualar lassiguientes expresiones:

Rendimiento nuevo = Rendimiento viejo

Como ya sabemos, el rendimiento de los dos tipos de CPU se expresa como:

Rendimiento viejo= Recuento viejo* CPI * Ciclo viejo

Rendimiento nuevo= Recuento nuevo* CPI * Ciclo nuevo

y teniendo en cuenta las duraciones de los ciclos de reloj (Ciclo nuevo = Ciclo viejo* 1,1):

Rendimiento viejo= Recuento viejo* CPI * Ciclo viejo

Rendimiento nuevo=Recuento nuevo* CPI * Ciclo viejo* 1,1

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

LOAD Rl, O(Rb)ADD R2, R2, Rl

por

ADD R2, O(Rb)

Page 58: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

/V-8 MATERIAL DIDAC17CO DE ESTRUcroRA y TECNOLOGIA DE COMPUTADORES 111

Igualando estas dos expresiones tendremos:

1,1 * Recuento nuevo= Recuento Viejo

Recuento nuevo=0,91 * Recuento viejo

Por lo tanto, para que ambas máquinas tengan el mismo rendimiento es necesario que elrecuento nuevo sea un 9% menor que el recuento de la máquina original. De acuerdo conesto, habrá que eliminar ese 9% del 24% de instrucciones de carga que existen en elrepenorio de instrucciones antiguo, y que equivale a eliminar un 37,5% de ellas:

0,09*100 =37,5%0,24

b) Ya que la nueva instrucción elimina la utilización del registro en donde se almacena elresultado de la carga, bastará con escribir una secuencia de instrucciones en la cual dichoregistro sea utilizado de nuevo por alguna otra instrucción. Por ejemplo:

LOAD Rl, O (Rb)ADD R2, R2, Rl.....-..............ADD R3, R3, Rl

Si sustituimos las dos primeras instrucciones por la nueva, anulamos el registro Rlimpidiendo la correcta ejecución de la última instrucción. En el código que queda alsustituir las dos primeras instrucciones se aprecia esto claramente:

ADD R2, O (Rb)......................

ADD R3, R3, Rl

Otra posibilidad es la siguiente:

LOAD Rl, O (Rl)ADD Rl, Rl, Rl

Si asumimos que el registro Rl tiene el valor 47 Y el dato almacenado en la posición dememoria 47 tiene el valor 4 antes de la ejecución de la secuencia. entonces Rl contendrá 8después de que la secuencia de código se ejecute.

Sin embargo, si efectuamos la sustitución, el código quedará como:

ADD Rl, O (Rl)

y si asumimos los mismos valores previos a la ejecución, Rl contendrá en este caso elvalor51(Rl + MEM[O+Rl] = 47 + MEM[47] = 47 + 4)

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 59: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALDIDACTICODE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES /11 IV-9

EJERCICIO 3.5

En los dos apartados siguientes, hay que comparar la eficiencia de memoria de cuatroestilos diferentes de repertorios de instrucciones para dos secuencias de código. Losestilos de arquitectura son:

Acumulador

Memoria-Memoria. Los tres operandos de cada instrucción están en memona.

Pila. Todas las operaciones se realizan en la cabeza de la pila. Solamente lasinstrucciones de introducir y sacar (push y pop) acceden a memoria, y las demásinstrucciones eliminan sus operandos de la pila y los sustituyen por el resultado.La implementación utiliza una pila para las dos entradas de la cabeza; los accesosque utilizan las demás posiciones de la pila son referencias a memoria.

Carga/almacenamiento. Todas las operaciones se realizan en registros, y lasinstrucciones registro-registro tienen tres operandos por instrucción. Hay 16registros de propósito general, y los especificadores de registro son de 4 bits.

Para medir la eficiencia de memoria, hacer las siguientes hipótesis sobre los cuatrorepertorios de instrucciones:

· El código de operación es siempre de 1 byte (8 bits).

· Todas las direcciones de memoria son de 2 bytes ( 16 bits).

· Todos los operandos datos son de 4 bytes (32 bits).

·Todas las instrucciones tienen de longitud un número entero de bytes.

No hay más optimizaciones para reducir el tráfico de memoria, y las variables A, B, e y Destán inicialmente en memoria.

Inventar los propios nemotécnicos para el lenguaje ensamblador, para escribir el mejorcódigo en lenguaje ensamblador equivalente para los fragmentos de lenguaje de alto niveldados.

a) Escribir las cuatro secuencias de código para

A = B + C

Para cada secuencia de código, calcular los bytes de las instrucciones buscadas y losbytes transferidos de la memoria de datos. ¿Qué arquitectura es más eficiente cuando semide por tamaño de código? ¿Qué arquitectura es más eficiente cuando se mide el anchode banda total de memoria requenda (código + datos)?

b) Escribir las cuatro secuencias de código para:

A = B + C;

B = A + C;D =A - B;

Paracada secuencia de código, calcular los bytes de las instrucciones buscadas y losbytes transferidos (leídos o escritos) de la memoria de datos. ¿Qué arquitectura es máseficiente cuando se mide por tamaño de código? ¿Qué arquitectura es más eficientecuando se mide el ancho de banda total de memoria requerida (código+datos)? Si lasrespuestas son diferentes de las del apartado (a), ¿por qué son diferentes?

Bytes de instrucción leídos: J byte * 3 códigos + 2 bytes * 3 referencias =9 bytes

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

a) Acumulador:

LOAD BADD CSTORE A

Page 60: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

N-ID MATERIAL DIDACTICO DE ESTRUCTl; .,. TECNOLOGIA DE COMPUTADORES JJl

Bytes de datos de memoria transfé:idos: 4 bytes * 3 operandos =12 bytes

Total =9 + 12 =21 bytes

Memoria-memoria:

ADD A, B, e

Bytes de instrucción leídos: 1 byte * 1 código + 2 bytes *3 referencias =7 bytes

Bytes de datos de memoria transferidos: 4 bytes * 3 operandos =12 bytes

Total =7 + 12 =19 bytes

Pila:

PUSH BPUSH eADDPOP A

Bytes de instrucción leídos: 1 byte * 4 códigos + 2 bytes * 3 referencias =10 bytes

Bytes de datos de memoria transferidos: 4 bytes * 3 operandos =12 bytes

Total =10 + 12 =22 bytes

Carga-almacenamiento:

1 byte + 1 byte + 2 bytes1 byte + 1 byte + 2 bytes1 byte + 2 bytes1 byte + 1 byte + 2 bytes

=4 bytes=4 bytes=3 bytes=4 bytes

Total =15 bytes

Es importante darse cuenta que para calcular la longitud de la instrucción, teniendoen cuenta que los especificadores de registro son de 4 bits, hay que considerar bytescompletos. Es decir, un único especificador de registro son 4 bits pero se cuentacomo 1 byte completo; 2 especificadores suman 1 byte por lo que no hay ningúnproblema; y 3 especificadores suman 12bits pero se consideran 2 bytes.

Bytes de datos de memoria transferidos: 4 bytes * 3 operandos =12 bytes

Total =15 + 12 =27 bytes

Como resumen:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

LOAD Rl, BLOAD R2, eADD R3, R2, RlSTORE R3, A

Bytes de instrucción leídos: 15 bytes

LOAD Rl, BLOAD R2, eADD R3, R2, RlSTORE R3, A

Acumulador Mem.-Mem. Pila Carga/almacena.Tamaño del código 9 7 10 15Datos transferidos 12 12 12 12Total 21 19 22 27

Page 61: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES //l IV-I J

La arquitectura memoria-memoria es la más eficiente en términos de tamaño del código (7bytes) y ancho de banda total (19 bytes). .-

b) Acumulador:

LOAD BADD eSTORE AADD eSTORE BSUB ANEGSTORE D

Bytes de instrucción leídos: 1 byte * 8 códigos + 7 referencias * 2 bytes =22 bytes

Bytes de datos de memoria transferidos: 4 bytes * 7 operandos =28 bytes

Total =22 + 28 =50 bytes

Memoria-memoria:

ADD A, B, eADD B, A, eSUB D, A, B

Bytes de instrucción leídos: 1 byte * 3 códigos + 2 bytes * 9 referencias =21 bytes

Bytes de datos de memoria transferidos: 4 bytes * 9 operandos =36 bytes

Total =21 + 36 =57 bytes

Pila:

PUSH BPUSH eADDPOP APUSH APUSH eADDPOP BPUSH APUSH BSUBPOP D

Bytes de instrucción leídos: 1 byte * 12 códigos + 2 bytes * 9 referencias =30 bytes

Bytes de datos de memoria transferidos: 4 bytes * 90perandos =36 bytes

Total =30 + 36 =66 bytes

DEPARTAMENTO DE INFORMA TICA y A UTOMATICA-UNED

Page 62: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

JV.J2 MATERIAL DIDACTICO DE ESTRUClVRA y TECNOWGIA DE COMPUTADORES 11/

Carga/almacenamiento:

LOADLOADADDADDSUBSTORESTORESTORE

Rl, BR2, eR3, Rl, R2Rl, R3, R2R2, R3, RlR3, ARl, BR2, D

Bytes de instrucción leídos: 29 bytes

LOADLOADADDADDSUBSTORESTORESTORE

Rl, BR2, eR3, Rl, R2Rl, R3, R2R2, R3, RlR3, ARl, BR2, D

1 byte + 1 byte + 2 bytes1 byte + 1 byte + 2 bytes1 byte + 2 bytes1 byte + 2 bytes1 byte + 2 bytes1 byte + 1 byte + 2 bytes1 byte + 1 byte + 2 bytes1 byte + 1 byte + 2 bytes

=4 bytes=4 bytes=3 bytes=3 bytes=3 bytes=4 bytes=4 bytes=4 bytes

Total =29 bytes

Bytes de datos de memoria transferidos: 5 * 4 bytes =20 bytes

Total =29 + 20 =49 bytes

La siguiente tabla resume los datos obtenidos:

La arquitectura memoria-memoria es las más eficiente en términos de tamaño del código(21 bytes).

Sin embargo, la arquitectura de carga-almacenamiento es mucho más eficiente en términosde ancho de banda de datos (20 bytes), y a consecuencia de esto es la más eficiente entérminos de ancho de banda total (49 bytes). Esto es debido a que al utilizar variosoperandos se reduce en gran medida el tráfico de memoria al disponer de los operandos enregistros. No existe así la necesidad de, en cada operación aritmética, cargarlos en losregistros y a continuación almacenarlos.

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA-UNED

Acumulador Mem-Mem Pila Carga/almacena.Tamaño del códie;o 22 I 21 I 30 29Datos transferidos 28 36 36 I 20Total 50 57 66 I 49

Page 63: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlAL DlDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES III lV-13

EJERCICIO3.6

Suponer que los accesos de byte y media palabra requieren una red de alineación; comoen la Figura3.1.

Figura 3. 1

Algunas máquinas tienen solamente accesos de palabra, por lo que la carga de un byte omedia palabra emplea dos instrucciones (una carga y una extracción), y el almacenamientoparcial de una palabra emplea tres instrucciones (cargar, insertar, almacenar). Utilizarlosdatos del benchmark TeX de la Tabla 3.6 para determinar el porcentaje de los accesos queson para bytes o medias palabras, y utilizar los datos de TeX en la máquina decarga/almacenamiento de la Tabla 3.5 para calcular la frecuencia de las transferencias dedatos. Suponer que las cargas son el doble de frecuentes que los almacenamientos,independientemente del tamaño de los datos. Si todas las instrucciones de la máquinaemplean un ciclo, ¿qué incrementode la frecuencia de relojdebe obtenerse para hacer quela eliminaciónde accesos parciales mediante la supresión de la red de alineación sea unabuena alternativa?

Tabla 3.6 Distribución de los accesos a los datos por tamaños para los programasbenchmark TeX, Spice y GCC.

De acuerdo con la Tabla 3.5 el 36% del total de instrucciones son cargas yalmacenamientos. Por otra parte, si consultamos la Tabla 3.6 podemos obervar que lasreferencias a bytes y medias palabras del benchmark TeX suman el 11% del total dereferencias a los datos situados en la memoria. Por lo tanto, del total de instrucciones el3,96% de las instrucciones de transferencia de datos de la máquina decarga/almacenamiento acceden a bytes y medias palabras:

36% * 0,11 =3,96%

De acuerdo con el enunciado sabemos que las instrucciones de carga son el doble defrecuentes que los almacenamientos con independencia de los datos. Y a su vez, las cargasy almacenamientos emplean 1 y 2 instrucciones adicionales respectivamente. Por lo tanto,

DEPARTAMENTO DE lNFORMATlCA y AUTOMATICA-UNED

TeX 0%Doble palabra SDice 66%

GCC 0%TeX 89%

Palabra SDice 34%GCC 91%TeX 0%

Media palabra SDice 0%GCC 4%TeX 11%

Byte SDice 0%GCC 5%

Page 64: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

IV-14 MATERIAL D/DACT/CO DE ESTRUCTURA Y TECNOWG/A DE COMPUTADORES///

el incremento en el número de instrucciones requeridas para acceder a referencias parcialeses:

2Cargas: 3,96% *- *1=2,64%

3

Almacenamientos : 3,96% *.!.*2 =2,64%3

Total Incremento =Cargas + Almacenamientos =5,28%

Por lo tanto, la posibilidad de realizar accesos parciales implica la ejecución de un 5,28%más de instrucciones, por lo que la frecuencia del reloj debe incrementarse un 5,28% con elfin de que el tiempo de ejecución sea el mismo.

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Page 65: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALDIDACT/CODEESTRUCTURAYTECNOLOG/ADE COMPUTADORES11I /V-/5

EJERCICIO 3.7

Tenemos una propuesta para tres máquinas diferente: Mo. Me Y M16. que difieren en su

cuenta de registros. Las tres máquinas tienen instrucciones de tres operandos y cualquieroperando puede ser una referencia a memoria o un registro. El coste de un operando dememoria en estas máquinas es de seis ciclos y el coste de un operando de registro es deun ciclo. Cada uno de los tres operandos tiene igual probabilidad de estar en un registro.

Las diferencias entre las máquinas se describen en la tabla siguiente. Los ciclos deejecución por operación se suman al coste del acceso al operando. La probabilidad de queun operando esté en un registro se aplica individualmente a cada operando.

¿Cuál es el número de ciclos para una instrucción media en cada máquina?

La máquina Mo no cuenta con ningún registro por lo que sus tres operandos deben serleídos de memoria, con el consiguíente gasto de 6 ciclos:

Mo: 4 ciclos + 3 * 6 ciclos =22 ciclos

La máquina Mg dispone de suficientes registros para almacenar los tres operandos, por loque hay que considerar la probabilidad de que cada uno de los tres operandos esté enmemoria. El coste en ciclos de un operando vendrá dado por la expresión:

Ciclos memoria* Pr (operando en memoria) + Ciclos registro* (1 -Pr (operando en memoria»

Por lo tanto el número medio de ciclos para una instrucción en Mg es:

Mg: 5 ciclos + 3 * «0,5 * l ciclo) + (0,5 * 6 ciclos» =15,5ciclos

Análogamente ocurre con la máquina M16:

M16:6 ciclos + 3 * «0,8 * l ciclo) + (0,2 * 6 ciclos» =12 ciclos

Obsérvese que aunque el número de ciclos por operación se incrementa al aumentar el totalde registros disponibles, la máquina con más registros obtiene una media mejor a causa deque la probabilidad de que un operando esté en memoria disminuye.

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Máquina Cuenta de Ciclos de ejecución por Probabilidad de que unregistros operación ignorando operando esté en un registro en

accesos a oDerando contraDosición a la memoria

Mo O 4 ciclos 0,0

Me 8 5 ciclos 0.5

M16 16 6 ciclos 0,8

Page 66: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

lV-lB MATERIAL DlDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORESIII

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA-UNED

Page 67: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACT1CODE ESTRUCl1JRA YTECNOLOG1A DE COMPUTADORES III V-l

EJERCICIO4.1

Suponer que se está en una entrevista en Digital Equipment Corporation con el fin derealizar un trabajo como diseñador de los futuros computadores VAX. Pero, antes decontratarle, quieren hacerle algunas preguntas. Han permitido que traiga sus notas,incluyendo la Sección 4.6 y el Apéndice C del libro "Arquitectura de computadores: Unenfoque cuantitativo, l' ed." de Pattersony Hennessy.

Recuerde que la instrucción media de la VAX tenía 1,8 operandos, y que los códigos deoperación casi siempre tienen 1 byte.

a) Le piden que determine el tamaño medio de una instrucción VAX. Utilice los datos defrecuencia de los modos de direccionamiento de las tablas 4.1 y 4.2, la información sobrelos tamaños de los desplazamientos de la Tabla 3.4 y la longitud de los modos dedireccionamiento VAX mostrados en la Tabla 4.3.

b) Le piden que evalúe el rendimiento de su nueva máquina con un reloj de 100 MHz. Leindican que el CPI medio para todo excepto búsqueda de instrucciones y de operandos, esde 3 ciclos. También le indican que:

· cada especificador de operando y acceso a la memoria de datos necesita 2 ciclosadicionales,y .

· cada 4 bytes de instruccionesbuscadas por la unidad de búsqueda de instruccionesemplea un ciclo.

¿Puede calcular los MIPS nativos efectivos?

Tabla 4.1 Descomposición de los tipos básicos de operandos para los tres benchmark enel VAX

Tabla 4.2 Utilización de los modos de direccionamiento de memoria del VAX, quecontabilizan aproximadamente e131% de las referencias a operandos.

DEPARTAMENTO DE lNFORMAT1CA y AUTOMAT1CA.UNED

TeX 25%Memoria SDice 39% Media: 31,33%

GCC 30%TeX 18%

Inmediato Spice 8% Media: 15%GCC 19%TeX 57%

Registro Splce 53% Media: 53,66%GCC 51%

TeX 1%Autolncremento Splce 3% Media: 2,66%

GCC 4%TeX 2%

Desplazamiento diferido SDlce 7% Media: 3,66%GCC 2%TeX 0%

Escalado Splce 20% Media: 9,66%GCC 9%TeX 41%

Registro diferido Splce 4% Media: 21%GCC 18%TeX 56%

Desplazamiento Splce 66% Media: 63%GCC 67%

Page 68: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V-2 MATERIAL D/DACf1CO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES /ll

Tabla 4.3 Longitud de los especificadores de operandos del VAX. La longitud de cadamodo de direccionamiento es de 1 byte más la longitud de cualquier desplazamiento ocampo inmediato que esté en el modo. El modo literal utiliza un señalizador especial de 2bits y los 6 restantes codifican el valor constante. La longitud de un inmediato la dicta el tipode datos indicado en el código de operación, no el valor del inmediato.

a) De acuerdo con el ejemplo de la página 183 ("Arquitectura de computadores: Unenfoque cuantitativo, la ed.", Patterson y Hennessy), dos de las suposiciones que se habíantomado son:

·para todas las constantes de tipo inmediato se supuso una longitud de 7 bits, detal forma que se podían considerar como operandos literales de 1 byte.

·todos los accesos a memoria se realizan en modo desplazamiento, que requiereuna longitud de 2,5 bytes.

Otras suposiciones que se tomaron en el ejemplo fueron:

·la longitud de los operandos tipo registro es de 1 byte.

·asumimos que la longitud del código de operación es de 1 byte.

·hay una media de 1,8 operandos por instrucción.

Con respecto a la primera suposición, hay que observar que los operando s de tipoinmediato, que comprenden un 15% de todos los operandos, se dividen en dos categorías:literales e inmediatos (Tabla 4.3).

Los literales requieren sólo 1 byte.

Los inmediatos requieren un especificador de 1 byte más el número de bytes necesariospara especificar el valor del inmediato. De todos los inmediatos es bastante exacto estimarque el 50% son literales (verFigura3.15en "Arquitecturade computadores:Un enfoquecuantitativo, la ed." de Patterson y Hennessy-el área de la distribución situada a laizquierda de los 6 bits es aproximadamente el 50%). Entre el 50% de inmediatos se puedeconsiderar como buena aproximación una longitud media de 2,5 bytes, que añadidos al bytedel especificador dan una longitud total de operando de 3,5 bytes.

Respecto a la segunda suposición (única forma de acceder a memoria es mediantedireccionamientodesplazamiento)hay que analizar la Tabla 4.2 y considerarlas otrasformas de acceso con sus respectivos porcentajes:.Desplazamiento + desplazamiento düerido: 66% (2,5 bytes)

. Autoincremento + registro diferido: 24% (1 byte)

. Escalado: 10% (2 bytes)

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Modo de dlreccionamiento Sintaxis Lomitud en bvtesLiteral #Valor 1 (bit-6valor signo)Inmediato #Valor 1 + lonaituddel inmediatoReaistro Rn 1Reaistro diferido (Rn) 1Desplazamiento de Desplazamiento(Rn) 1 + longituddesplazamientobvte/calabrallaraoDesplazamiento diferidode @Desplazamiento(Rn) 1 + longituddesplazamientobvte/calabrallarao

Escalado (indexado) Modobase[Rx] 1 + longituddel modo dedireccionamientobase

Autoincremento (Rn)+ 1Autodecremento -(Rn) 1Autoincrementodiferido @(Rn)+ 1

Page 69: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACTICO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES III V-3

Por lo tanto, el tamaño medio de los operandos inmediatos y de memoria es:

Inmediatos:

50% * 1 byte + 50% * 3,5 bytes =2,25 bytes

Memoria:

66% * 2,5 bytes + 24% * 1byte + 10% * 2 bytes =2,1 bytes

Tomando las medias de los porcentajes de los tres modos de direccionamiento de la Tabla4.1 (memoria: 31%, inmediato:15% , registro: 54%), sus longitudes y el número medio deoperandos, calcularemos la longitud media de la instrucción de la siguiente forma:

nOoperandos

long. c digo operaci n + n° . operandos* L (long. media operandoi *fr. operandoi)i=l

que al sustituir por los valores queda como:

1 byte + 1,8 opero * (54% * 1 byte + 15% * 2,25 bytes + 31% * 2,1 bytes) = 3,8 bytes

b)

Velocidad del reloj =100 Mhz.

CPI casi todo = 3 cpi

CPI búsqueda de instrucción =3,8 bytes / 4 ciclos =0,95 cpi

CPI lecturade operandos= 2 cpi * 1,8 operandos * 31 % = 1,12 cpi

CPI medio = CPI casi todo + CPI búsqueda de instrucción + CPI lectura de operandos = 5,07 cpi

Partiendo de la conocida fórmula de los MIPS nativos:

MIPS = Recuento de instrucciones _ Frecuencia de relojTiempo de ejecución * 106 106 * CPI

obtenemos el valor pedido:

100 MHz. = 19,72MIPS = 106* 5,07

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Page 70: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V-4 MATERIAL DIDACfICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

EJERCICIO 4.2

Considerar el siguiente fragmento de código C:

for (i=l¡ i<=100¡ i++){A[i] = B[i] + C¡}

Suponer que A y B son arrays de enteros de 32 bits, y C e i son enteros de 32 bits.Suponer que los valores de todos los datos se encuentran en memoria (en las direcciones0,500,1500 Y2000 para A, B, C e i respectivamente) excepto cuando están operando.

a) Escribir el código para DLX ¿Cuántas instrucciones se requieren. dinámicamente?¿Cuántas referencias de datos a memoria se ejecutarán? ¿Cuál es el tamaño del código?

b) Escribir el código para el VAX ¿Cuántas instrucciones se requieren dinámicamente?¿Cuántas referencias de datos a memoria se ejecutarán? ¿Cuál es el tamaño del código?

c) Escribir el código para el 360 ¿Cuántas instrucciones se requieren dinámicamente?¿Cuántas referencias de datos a memoria se ejecutarán? ¿Cuál es el tamaño del código?

Por simplificidad, se puede suponer que el registro R1 contiene la dirección de la primerainstrucción del bucle.

a) Vamos a suponer que la memoria se encuentra organizada en bytes, por lo que al tratarcon enteros de 32 bits será necesario realizar incrementos del índice de 4. Ya que según elenunciado, todos los valores de los datos se encuentran en memoria salvo cuando se estáoperando, una vez realizado el incremento del índice se almacenará su nuevo valor enmemoria.

Por lo tanto, una secuencia de código podría ser:

LWinicio: LW

LWADDSWADDISWSUBIBNEZ

R1, 1S00(RO)R2, 2000(RO)R3, SOO(R2)R4, R3, R1O (R2), R4

R2, R2, #42000 (RO), R2R4, R2, #400R4, inicio

R1 <-- CR2 <-- i

R3 <-- B[i]R4 <-- B[i] + C.A[i] <-- R4R2 <-- R2 + 4i <-- R2

R4 <-- R2 - (100 * 4)si R4 <> O saltar a inicio

El número total de instrucciones ejecutadas es:

I instruccción para la preparación del bucle

100 * 8 instrucciones del cuerpo del bucle =800 instrucciones

Total =801 instrucciones ejecutadas

El total de referencias a datos en memoria es:

1 vez para la carga del valor de C en un registro

4 vecesen cadaiteración:cargadeB e I (2 LW)y almacenamientodeA e I (2SW)

Total =I + 100 * 4 =401 referencias a datos en memoria

Ya que en DLX todas las instruccionesson de 4 bytesy el fragmentode códigoanteriorestá compuesto por 9 instrucciones el tamaño del código es 36 bytes.

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 71: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACT1CODE ESTRUCTURA YTECNOLOG1A DE COMPUTADORES III V-5

b) Una de entre todas las distintas posibilidades de codificación del bucle es:

inicio:MOVLADDL3ADDL3CMPLBNEQ

R1, (2000)O (R1), 5 OO (R1) , (15 OO)(2000), R1, #4(2000) , #400inicio

Cargar i en M[2000]A[i] <-- B[i] + Ci <-- i + 4

¿ i = 400 ?Si i=400 saltar a inicio

El total de instrucciones ejecutadas es de 500 (5 * 100).

El total de referencias a memoria es:

1 lectura en la instrucción MOVL

2 lecturas y 1escritura en la instrucción ADDL3

1escritura en la instrucción ADDL3

1 lectura en la instrucción CMPL

Total =100 * (1 + 3 + 1+1) =600 referencias a datos en memoria

El tamaño de cada instrucción es:

MOVL R1, (2000)

1 byte del código de operación

1 byte del especificador del primer operando

3 bytes del segundo operando: 1 byte del especificador, 2 bytes del desplazamiento

ADDL3 0(R1), 500(R1), (1500)

1 byte del código de operación

3 bytes del primer operando (1 + 2)

3 bytes del segundo operando (1 + 2)

3 bytes del tercer operando (1 + 2)

ADDL3 (2000), R1, #4

1 byte del código de operación

3 bytes del primer operando: 1 byte del especificador, 2 bytes del desplazamiento

1 byte del especificador de registro

5 bytes del tercer operando: 1 del especificador de operando + 4 bytes del tipo dedatos que es largo en concordancia con el código de operación de la instrucción.

CMPL (2000), #400

1 byte del código de operación

3 bytes del primer operando (1 + 2)

5 bytes del segundo operando (1 + 4)

BNEQ inicio

1 byte del código de operación

2 byte s del segundo operando (1 + 1)

Tamaño del código =37 bytes

DEPARTAMENTODE lNFORMAT1CAyAUTOMAT1CA-UNED

Page 72: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V-6 MATERIAL DIDACfICO DE ESTRUCTURA YTECNOWGIA DE COMPUTADORES 11I

c) Debido a las características del 360 los saltos no son relativos al PC por lo que esnecesario disponer de un registro en el que se almacene la dirección de la instruccióndestino del salto. En este caso, y de acuerdo con el enunciado, la dirección de la primerainstrUccióndel bucle se almacena en Rl. Una posible codificación puede ser:

LMVIMVI

inicio:" LASTASTSBXLE

R2, l500(RO,RO)2004(RO), #42008(RO), #400R3, 2000(RO,RO)R4, 500(R3), R2O (RO ,R3 ), R4

R3, 2004(RO), R32000(RO,RO), R3R3, 2008(RO), R30(R3), #0

Carga C en R2Almacena el incrementoAlmacena el limite 400Carga i en R3R4 <-- C + B[i]Guarda R4 en A[i]R3 <-- R3 + 4i <-- R3Resta el limite a R3

Compara y salta

El número total de instrucciones ejecutadas es:

3 instruccciones para la preparación del bucle

100 * 7 instrucciones del cuerpo del bucle =700 instrucciones

Total =703 instrucciones ejecutadas

El total de referencias a datos en memoria es 10.

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA-UNED

La longitud del código por instrucción es:

L R2, l500(RO,RO) --> 4 bytes (formato RX)MVI 2004 (RO) , #4 --> 4 bytes (formato SI)MVI 2008 (RO), #400 --> 4 bytes (formato SI)

inicio: L R3, 2000(RO,RO) --> 4 bytes (formato RX)A R4, 500(R3), R2 --> 4 bytes (formato RS)ST O (RO, R3), R4 --> 4 bytes (formato RX)A R3, 2004(RO), R3 --> 4 byte s (formato RS)ST 2000(RO,RO), R3 --> 4 bytes (formato RX)S R3, 2008(RO), R3 --> 4 bytes (formato RS)BXLE O (R3), #0 --> 4 bytes (formatoSI)

El tamaño total del código es 40 bytes.

Page 73: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERiAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES l/[ V-7

EJERCICIO4.3

Cuando se diseñan sistemas de memoria es útil conocer la frecuencia de las lecturas dememoria frente a las escrituras y también los accesos de las instrucciones frente a losdatos. Utilizando la información de mezcla de instrucciones para DLX en el Apéndice C(pág. 732 del libro "Arquitectura de computadores: Un enfoque cuantitativo, 111ed.",Patterson y Hennessy), calcular:

a) El procentaje de todos los accesos a memoria que son datos.

b) El porcentaje de los accesos a datos que son lecturas.

e) El porcentaje de todos los accesos a memoria que son lecturas.

Ignorar el tamaño del datos al contar los accesos.

a) En DLX el único modo de acceder a los datos en memoria es mediante las instruccionesde transferencia de datos. De acuerdo con el Apéndice e, un subconjunto del repertorio deinstrucciones de transferencia representan el 26% (18% de carga, 8% de almacenamiento)para un 83% de la muestra. Suponiendo que el 17% restante de la muestra, se comporta deigual forma, las instrucciones de transferencia de datos constituyen un 31,3% del total deinstrucciones ejecutadas.

Ya que por cada instrucción de transferencia de datos se almacena o escribe un dato, elporcentaje de accesos a datos es similar al porcentaje de instrucciones de transferencia dedatos.

El total de accesos a memoria está constituido por la lectura de instrucciones más el accesoa los datos. Por ]0 tanto, el 23,83% de todos los accesos a memoria son accesos a datos:

% accesosa datos = 31,3% *100=2383%% accesosa memoria 100%+31,3% '

b) El planteamiento de este apartado es similar al anterior, con la salvedad que sólo hay quetener en cuenta los accesos a memoria para lectura de datos.

Analizando el Apéndice e, el subconjunto de instrucciones de lectura analizadasconstituyen el 18% (LW 13%, LB U 1%, LD 4%). Normalizando, obtenemos que el 21,6%del total de instrucciones son lecturas.

Por lo tanto, el 67,9% de todos los accesos a datos corresponden a lecturas de datos.

% lectura de datos _2],6% *100 = 67,9%% accesos a datos 31,3%

c) El porcentaje de todas las lecturas en memoria corresponde a la suma de los porcentajesde lectura de datos más los de instrucciones. Por lo tanto, el 92,6% de todos los accesos amemoria son lecturas:

% lecturas en memoria

% accesos a memoria100%+21,6% *100 =92,6%100%+3],3%

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 74: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

- -. --"- --- --.---

V-8 MATERIAL DIDAC11CODE ESTRUCTURA YTECNOWGIA DE COMPUTADORES111

EJERCICIO 4.4

Debido a la falta de saltos relativos al PC, un salto en un IBM 360 requiere, con frecuencia,dos instrucciones. Esto ha sido una crítica importante de la arquitectura. Determinar lo quecuesta esta omisión, suponiendo que siempre se necesita una instrucción extra para unsalto condicional en el 360, pero que la instrucción no sería necesaria con saltos relativos alPC. Utilizando los datos medios de la Figura 4.28 (pág. 188, "Arquitectura decomputadores: Un enfoque cuantitativo, 1- ed.", Patterson y Hennessy) para los saltos,determinar cuántas instrucciones más ejecuta el 360 estándar que un 360 con saltosrelativos al PC. (Recordar que s610 BC es un salto.)

Tras analizar la última línea de la Figura 4.28, sabemos que el 15% de todas lasinstrucciones ejecutadas por los cuatro programas son saltos condicionales. De acuerdo conel enunciado, necesitamos otra instrucción extra para completar el salto (al no existir saltorelativo al PC hay que cargar un registro base con el valor del PC) por lo cual otro 15% soninstrucciones extras. Por ejemplo, suponiendo que el contador de programa se puedereferenciar mediante el nemotécnico PC y cargar en un registro, tendríamos:

LR R5, PCBC Máscara, 20(R5, R6)

Eliminando este 15% de instrucciones extras al tener direccionamiento relativo al PC, nosquedaría un 85% de instrucciones.

Por lo tanto, la arquitectura 360 estándar ejecuta 100/85=1,18=18% más instrucciones queun 360 con instrucciones de salto relativas al PC.

DEPARTAMENTO DE INFORMATfCA y AUTOMAT1CA.UNED

Page 75: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlAL DIDACTICO DE EITRUClVRA y TECNOLOGIADE COMPUTADORES11/ V.9

EJERCICIO 4.5

Estamos interesados en añadir una instrucción a la arquitectura VAX que compare unoperando con cero y salte. Suponer que

· sólo se pueden eliminar las instrucciones que inicialicen el código de condición paraun salto condicional;

· el 80% de los saltos condicionales requiere una instrucción cuyo único propósito

sea inicializar la condición, y

· el 90% de todos los saltos que tengan una instrucción que inicialice la condición(por ejemplo, el 80% mencionado) están basados en una comparación con O.

Utilizando los datos medios del VAX de la Figura 4.24 (pág. 185, "Arquitectura decomputadores: Un enfoque cuantitativo, 11 ed.", Patterson y Hennessy), ¿qué porcentajemás de instrucciones ejecutará el VAX estándar en comparación con el VAX al que se le haañadido la instrucción de compara y salta?

De la Figura 4.24 obtenemos que el 17% de las instrucciones VAX que han sido ejecutadasson saltoscondicionales .

Según el enunciado, el 80% de los saltos condicionales requieren una instrucción previacuyo único propósito es el de inicializar una condición. Por lo tanto el 0,80 * 0,17 =0,136=13,6% de todas las instrucciones ejecutadas pueden, en principio, ser eliminadas.

Además, el 90% de estas instrucciones de inicialización están basadas en una comparacióncon O. Por lo tanto, el 0,9 * 0,136 =0,1224 = 12,24% pueden ser eliminadas. Si eliminamoseste porcentaje introduciendo una instrucción de comparación-salto, quedaría el 87,76% delas instrucciones.

Por lo tanto, el VAX estándar ejecuta 100/87,76=1,14=14%más instrucciones que el VAXcon la instrucción de comparación-salto.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 76: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V.10 MATERlAL D1DACT1CODE ESTRUC1VRA y TECNOLOG1ADE COMPUTADORESJJJ

EJERCICIO 4.6

Calcular el CPI efectivo para DLX. Suponer que hemos hecho las siguientes medidas delCPI medio para instrucciones:

Suponer que el 60% de los saltos condicionales son efectivos. Promediar las frecuencias delas instrucciones de GCC y TeX para obtener la mezcla de instrucciones utilizando losdatos del Apéndice C del libro "Arquitectura de computadores: Un enfoque cuantitativo, 111ed." de Patterson y Hennessy (página 732).

Analizando los datos del Apéndice C obtenemos la siguiente tabla de medidas deinstrucciones:

Para calcular el CPI efectivo basta con multiplicar cada porcentaje del repertorio deinstrucciones por la cantidad de ciclos que se consumen. teniendo en cuenta en los saltoscondicionales la efectividad o no de la evaluación de la condición.

CPI =0,4673 * 1+ 0.3652 * 1,4 + 0,1556 * (0.6 * 2 + 0,4 * 1.5) + 0,019 * 1.2=1.28 ciclos

El hecho de obtener un CPI tan bajo es debido a que se ignoran las pérdidas de ciclosprovocadas por ineficiencias del sistema de memoria.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Todas instrucciones R-R 1 ciclo de reloiCargaslalmacenamientos 1,4 ciclos de relojSaltos condicionales

efectivos 2,0 ciclos de reloino efectivos 1,5 ciclos de reloj

Bifurcaciones 1,2 ciclos de reloi

Instrucción GCC TeX Media NormalizadoALU 36% 42% 39% 46.73%Canzas/almacenamientos 28% 33% 30.5% 36.52%Saltos condicionales 19% 7% 13% 15.56%Bifurcaciones 2% 0% 1% 1.19%Totales 85% 82% 83.5% 100%

Page 77: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlALDIDAC/'ICO DE ESTRUCTVRA YTECNOLOGIA DE COMPUTADORES /11 V-II

EJERCICIO4.7

En lugar de tener operandos inmediatos soportados por muchos tipos de instrucciones,algunas arquitecturas, como la dellBM 360, reúnen los inmediatos en memoria (en unalmacén de literales) y accede a ellos desde allí. Suponer que el VAX no tiene modo dedireccionamiento inmediato, pero en lugar de ello ubica inmediatos en memoria y losaccede utilizando el modo de direccionamiento de desplazamiento ¿Cuál sería elincremento en la frecuencia con que se utilizaría el modo de desplazamiento? Utilizar elpromedio de las medidas de las Tablas 4.1 y 4.2 para este problema (página V-1).

Si el VAX utilizase un almacénde literales, el 15% de los operandospodrían serconvertidos del modo inmediato al modo desplazamiento(consultar Tabla 4.1). Losoperandos de memoria constituyen el 31% de los operandos (Tabla 4.1), de los cuales un63% utiliza modo de direccionamiento basado en desplazamiento (Tabla 4.2). Por 10tanto,el 19,53% de todos los operandos utilizan el modo desplazamiento.

El incremento será de un 77% más de desplazamientos sin direccionamiento inmediato quecon direccionamiento inmediato con respecto al porcentaje original:

19,53+1519,53

1,77 =77%

Al no existir direccionamiento inmediato, la nueva distribución de los operandos quedarácorno:

Memoria: 46% (31% de operandos de memoria ya existentes más el 15% de losoperandosinmediatos ya convertidos a desplazamiento)

Registro: 54%

El porcentaje de operandos que utilizan el modo desplazamiento con respecto al total es34,53%:

19,53% ya existentes + 15% añadidos con la conversión =34,53%

y con respecto al total de operando s de memoria es del 75%:

34,53% * 100 = 75%46%

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 78: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V-12 MATERiAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGlA DE COMPln'ADORES 111

aJERCICIO 4.8

Considerar la inclusión de un nuevo modo de direccionamiento índice a DLX.Este modoañade dos registros y un desplazamiento con signo de 11 bits para obtener la direcciónefectiva.

Se cambiará nuestro compiladorpara que las secuencias de código de la forma

ADDLW

Rl, Rl, R2Rd, O(Rl) -- o STORE

sean sustituidas por una carga (o almacenamiento) utilizando el nuevo modo dedireccionamiento. Utilizarlas frecuencias medias globales de las instrucciones al evaluaresta adición.

a) Suponer que se puede utilizarel modo de direccionamientopara el1 0% de las cargas yalmacenamientos de los desplazamientos (contabilizar para ambos la frecuencia de estetipo de cálculo de direcciones y el desplazamiento más corto) ¿Cuál es la relación denúmero de instrucciones en el DLXmejorado comparada con el DLXoriginal?

b) Si el nuevo modo de direccionamientoalarga el ciclode relojun 5%, ¿qué máquina serámás rápiday cuánto? .

a) Según los datos del Apéndice C (página 732), el 26% de todas las instrucciones de DLXson de transferencia de datos (cargas y almacenamientos) y el 39% son operacionesaritméticas.

De acuerdo con los datos del enunciado, un 10% de estas instrucciones pueden sersustituidas por el nuevo modo de direccionamiento, eliminando simultáneamente unainstrucción aritmética (la ejecutada previa a la carga) y una instrucción de carga.

Ya que la eliminación del 10% de instrucciones de carga similares a las del enunciado sesustituye por la nueva instrucción de carga dotada con el nuevo modo de direccionamiento,la versión mejorada de DLX ejecutará un 3,9% menos de instrucciones que la DLXoriginal. Es decir, sólo se elimina el 10% de instrucciones aritméticas ya que no sonnecesarias con el nuevo modo de direccionamiento.

b) Planteando las expresiones que determinan el tiempo de CPU para las dos máquinastendremos:

Tiempo CPU DLXoriginal=CPI * Recuento instrucciones * Duración ciclo reloj

Tiempo CPU DLXmejorada=CPI * (O,961 * Recuento instrucciones) * (1, 05 * Duraci n ciclo reloj) ==1,009 * CPI * Recuento instrucciones * Duraci n ciclo reloj

La DLX original es un 0,9% más rápida que la DLX mejorada.

De este problema se deduce que una optimización que reduce el recuento de instruccionespuede tener otros efectos colaterales que prevalezcan sobre los cambios en el recuento deinstrucciones. Esta observación junto con el limitado número de lugares donde unamáquina RISC puede ser optimizada sensiblemente, es lo que dificulta las mejoras quepueden ser obtenidas mediante una mejora del repertorio de instrucciones.

DEPARTAMENTO DE lNFORMAT1CA y Aln'OMATlCA-UNED

Page 79: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACl'ICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111 V-13

EJERCICIO 4.9

Suponer que el número medio de instrucciones involucradas en una llamada y retorno enDLX es 8. La frecuencia media de una instrucción JAL de los benchmarks es del 1 por 100.Si todas las instrucciones en DLX tienen el mismo número de ciclos, comparar el porcentajede ciclos de las llamadas y retornos en DLX con el porcentaje de ciclos de las CALLS y RE!'en el VAX. Utilizar para la resolución del ejercicio los datos Apéndice O del libro"Arquitectura de computadores: Un enfoque cuantitativo, 11 ed." de Patterson y Hennessy(página 735).

Ya que el número medio de instrucciones involucradas en un llamada o en un retorno es 8,el porcentaje de utilización de la instrucción JAL es 1, y todas las instrucciones consumenel mismo número de ciclos, el 8% de los ciclos corresponde a llamadas y retornos deprocedimientos.

Si consultamos el Apéndice D, obtendremos que en un VAX el 8% del tiempo se consumeen instrucciones CALLSy un 4% en RETS. Por lo tanto, el 12% de los ciclos, o del tiempototal, se invierten en llamadas y retornos de procedimientos.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 80: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V.J4 MATERIAL DIDAC17CO DE ESTRUCTURA YTECNOWGIA DE COMPUTADORES JJJ

EJERCICIO 4.10

Algunas personas piensan que las instrucciones más empleadas son también las mássimples, mientras otros han señalado que las instrucciones que consumen más tiempo, amenudo, no son las más frecuentes.

a) Utilizando los datos de la Figura O. 1 (pág. 735 del libro "Arquitectura de computadores:Un enfoque cuantitativo, 1&ed." de Patterson y Hennessy), calcular el CPI de las cincoinstrucciones que consumen más tiempo en el VAX y que tienen una frecuencia deejecución media de, al menos, el2 por 100. Suponer que el CPI global del VAX es 10.

b) .Calcular el CPI para las cinco instrucciones que consumen más tiempo en ellBM 360 yque tienen como mínimo un 3% de frecuencia media. Utilizar los datos de la Figura 0.3(pág. 737) Ysuponer que el CPI global del 360 es 4.

a) Como ya sabemos:

D

CP1medio =L Frecuencia de uso¡ * CPI¡¡=I

Vamos a suponer que la distribución de los tiempos de utilización es igual a la cantidad conque contribuye cada instrucción al CP1medio'De la expresión anterior tendremos:

n

. =L Frecuencia de uso¡ * CPI¡;=1 CP1medio

n

~ Frecuencia de tiempo¡ =t Frecuencia de uso¡ * CPI¡;=1 CP1medio

Frecuencia de tiempo¡ =Frecuencia de uso¡ * CPI¡CP1medio

Ya que buscamos la expresión del CPI de cada instrucción. reordenamos la últimaexpresión y obtenemos:

CPI. =Frecuencia de tiempo¡ *CPI .I F'

d mediorecuencla e uso¡

Vamos a considerar que la instrucción más costosa es por ejecución. ya que de otra forma.la respuesta se puede obtener directamente tomando de la Figura D.. las cinco entradas conmayor porcentaje de tiempo. El coste por ejecución de una instrucción es proporcional altiempo total empleado en la instrucción dividido por su frecuencia de uso. Por lo tanto, lasinstrucciones más costosas son las que tienen el mayor ratio frecuencia detiempo/frecuencia de utilización:

DEPARTAMENTO DE INFORMAT/CA y AUTOMAT/CA.UNED

Instrucción % de tiemoo % de uso Ratio CPIMULF3 4% 2% 2 20CVTFD 2% 2% 1 10AOBLEQ 2% 3% 0.666 6.7RSB 2% 3% 0.666 6.66MOVL 7% 11% 0,636 6.36

Page 81: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 1/1 V-15

Obsérvese que no se seleccionan las instrucciones MOVZBL/W y CMPB/L porque su ratiofrecuencia de tiempo/frecuencia de utilización es de 0,6 (3/5), siendo inferior a lasinstrucciones que aparecen en la tabla previa.

b)

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Instrucción Ratio tiempo/utilización CPIMDR/MD 8,1 32,4AD 6,9 27,6MP 5,0 20,0STD 3,2 12,8ED 2,9 11,6

Page 82: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

v- 16 MATERIAL DlDACI'ICO DE ESTRUCTURA Y TECNOLOGlA DE COMPUTADORES JJ/

EJERCICIO4.11

Se le ha contratado para que intente convertir la arquitectura 8086 en otra más orientada aregistro-registro. Para hacer esto, necesitará más registros y, por consiguiente, másespacio de codificación, ya que las codificaciones están ajustadas. Suponga que hadeterminado que eliminando las instrucciones PUSHy pop, puede obtener el espacio decodificación necesario. Suponga, que incrementando el número de registros, se reduce enun 25% la frecuencia de cada una de las instrucciones de referencia a memoria (PUSH,POP, LESy MOV),peroque cada instrucciónPUSHo pOPrestantedebe ser sustituidaporuna secuencia de dos instrucciones. Utilizar los datos medios de las Figuras 4.30-4.32(páginas 190-191) del libro "Arquitectura de computadores: Un enfoque cuantitativo, 1ti ed."de Patterson y Hennessy, la Figura 0.5 (página 739) y suponer que el CPI medio es 14,1para responder las siguientes preguntas sobre esta nueva máquina -la RR8086- frente a la8086.

a) ¿Qué máquina ejecuta más instrucciones y cuántas?

b) Utilizandola informacióndel Apéndice O, determinar qué máquina tiene mayor CPI.

c) Suponiendo que las frecuencias de reloj son idénticas, ¿qué máquina es más rápida ycuánto?

d) Calcular los cprs de las instrucciones de la RR8086.

a) Consultando la Figura 4.32 obtenemos que las instrucciones de transferencia de datosconstituyen el 42% del total de instrucciones ejecutadas. De este 42%, la instrucción POPparticipa en un 5% y la instrucción PUSHen un 7%.

La reducción del 25% en la frecuencia de las instrucciones anteriores por aumento delbanco de registros, implica una reducción del 10,5% en el cómputo total de instrucciones(42% * 0,25 =10,5%).

Las instruccionesPOPy PUSHquepermanecenconstituyenel 3,75%(5%*0,75=3,75%)Y el 5,25% (7% * 0,75 = 5,25%), respectivamente. La eliminación de éstas por unasecuencia de dos instrucciones implica que el total de instrucciones aumenta en un 7,5%(3,75% * 2 =7,5%) por parte del POP y en un 10,5% (5,25% * 2 = 10,5%) por parte delPUSH.

De acuerdo con esto, es necesario recalcular el nuevo recuento de instrucciones teniendo encuenta los datos anteriores.

l. Al 100% del recuento inicial hay que restarle la reducción en el 25% de lasinstrucciones de transferencia de datos (10,5%),

2. Hay que eliminar del recuento el 75% de las instrucciones POP y PUSHrestantes (3,75% y 5,25% respectivamente),

3. y hay que añadir los porcentajes resultantes de duplicar ese 75% deinstrucciones POP y PUSH(7,5% Y10,5%respectivamente).

El recuento resultante será:

100% - 10,5% -3,75% - 5,25% + 7,5% + 10,5% =98,5%

Por lo tanto, la nueva máquina RR8086 dispone de un 1,5% menos de instrucciones que la8086.

b) En primer lugar, vamos a calcular el CPI de las instrucciones del 8086 en base al CPImedio dado en el enunciado y a los valores de las tablas del Apéndice D, para acontinuación calcular las nuevas frecuencias de utilización de las instrucciones. Una vezque tengamos las frecuencias y los CPI's podremos obtener el CPI medio de la nuevamáquina aplicando la expresión:

DEPARTAMENl'O DE INFORMAT1CA y AUTOMATICA-UNED

Page 83: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111 V-17

n

CP1medio =L Frecuencia de uso¡ * CPlii=l

Utilizando la expresión para el cálculo del CPI generada en el problema anterior,obtenemos la siguiente tabla:

Para el cálculo del CPI del resto de las instrucciones que no aparecen en las tablascalculamos los correspondientes porcentajes de tiempo (28%) Y utilización (12%incluyendo las instrucciones CBWy SUBque no aparecen en la distribución de tiempos) yefectuamos el cociente.

La sustitución de las instrucciones PUSH y POP por una secuencia de dos instrucciones«DEC ó INC) + MOV),implica que la frecuencia de utilización de las instrucciones INC,DEC y MOVse incrementan de forma similar a los porcentajes de utilización de PUSH yPOP tras la reducción del 25% (3,75% y 5,25% respectivamente).

Por lo tanto, las frecuenciasde utilizaciónde DEC,INC y MOVen RR8086,previanormalización, son:

MOVINC,DEC

20,25% + 3,75% + 5,25% =29,25%3% + 3,75% + 5,25% =12%

Por lo tanto, los porcentajes de utilización sin y con normalización de RR8086 son:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Instrucción Ratio tiempo/utilización CPI¡POP 0,6 8,46

PUSH 1 14,1

LES 1,7 23,97

MOV 0,8 11,28

TEST 1,1 15,51.

INC, DEC 0,4 5,64

OR, XOR 0,2 2,82

ADD 0,4 5,64

SAL, SHR, RCR 0,7 9,87

CMP 0,8 11,28

JMP 1.2 16,92

LOOP 0,7 9,87

RET, RETF 1,4 19,74

CALL, CALLF 1,7 23,97

Bif. condicional 0,7 9,87

Resto 2,333 32,9

Page 84: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

v- /8 MATERIAL D/DAC17CO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORESJJI

La normalización a un recuento de instrucciones se aplica en dos casos:

l. Cuando partimos de un recuento de un 100% de instrucciones y la suma de losporcentajes conocidos de instrucciones no alcanza ese 100% (por ejemplo. las tablas delapéndice C). En este caso, es necesario distribuir el porcentaje desconocido (lo que faltahasta llegar al 100%) entre las categorías de intrucciones que no han contabilizado en suporcentaje parcial algunas de sus instrucciones. Cuando de una categoría de instruccionesse conocen los porcentajes de todas y cada una de sus instrucciones no es necesariodistribuir ese porcentaje de instrucciones desconocidas entre esa categoría, ya que,lógicamente, no pertenecen a ese grupo.

2. Cuando tras una manipulación del repertorio de instrucciones el recuento de instrucciónqueda por debajo o por encima de 100% y es necesario ajustar la suma de los porcentajesde las instrucciones al 100%. En este caso se normalizan todas las instrucciones por igualya que se trata de un reajuste.

En el ejemplo anterior. la normalización se aplica en el caso 2.

Una vez que disponemos de las frecuencias de utilización normalizadas y del CPI de cadatipo de instrucción. procedemos a calcular el CPI medio de la nueva máquina.

CPIrnedio=0.0228 * 23.97 + 0.2964 * 11.28 + 0.0101 * 15.51 + 0.1283 * 5.64 +0.0304 * 2.82 + 0.0304 * 5.64 + 0.05076 * 9.87 + 0.071 * 11.28 +

0.0203 * 16.92 + 0.0406 * 9.87 + 0.0406 * 19.74 + 0.0406 * 23.97 +

0,1015 * 9.87 + 0,1218 * 32,9 ==13,857

De los resultados anteriores se deduce que la RR8086 tiene un CPI inferior en un 1.75% alde la 8086:

14,1 - 13,857 * 100 =1,75%13,857

c) Planteando las expresiones para el cálculo de tiempo de CPU en las dos máquinastenemos:

DEPARTAMENTO DE INFORMAT/CA y AUTOMATICA-UNED

Instrocción %utilización %utilización normalizadoLES 2.25 2.28MOV 29.25 29.64TEST 1 1.01!NC. DEC 12 12.183OR.XOR 3 3.04ADD 3 3.04SAL. SHR. RCR 5 5.076CMP 7 7.1lMP 2 2.03LOOP 4 4.06RET. RETF 4 4.06CALL.CALLF 4 4.06Bif. condicional 10 10.15Resto 12 12.18

Page 85: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlALDIDAC17CO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 111 V-19

T 8086 = Recuento instrucciones8086 * CPI8086 * Duración ciclo reloj == 14, I * Recuento instrucciones8086

T RR8086= Recuento instruccionesRR8086 * CPIRR8086* Duración ciclo reloj ==0,985 * Recuento instrucciones8086 * 13 ,875 =

=13 ,66 * Recuento instrucciones8086

Por lo tanto, la RR8086 es un 3,22% más rápida que la 8086:

14,1 - 13,66 * 100 =3,22%13,66

d) Es necesario recalcular las frecuencia de tiempos de las instrucciones de transferencia dedatos, INC y DEC, debido a los cambios que se han producido en sus frecuencias deutilización. En primer lugar, calculamos el incremento o decremento de los porcentajes deutilización en función de los porcentaje de uso y tiempo originales. (suponemos que lasvariaciones son lineales). Tras esto, procedemos a la normalización de los nuevosporcentajes de tiempo.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Instrucción %tiemoo %tiemoo normalizadoLES 3 3,2MOV 22,75 24,26TEST I 1,06INC, DEC 4 4,26OR, XOR 1 1,06ADD 1 1,06SAL, SHR, RCR 3 3,2CMP 6 6,4lMP 3 3,2LOOP 3 3,2RET, RETF 5 5,33CALL, CALLF 6 6,4Bif. condicional 7 7,466

Instrucción %utilización %tiempo Ratio CPI¡normalizado normalizado tiemoo/usoLES 2,28 3,2 1,4 19,4MOV 29,64 24,26 0,818 11,33TEST 1,01 1,06 1,05 14,55INC, DEC 12,183 4,26 0,349 4,83OR, XOR 3,04 1,06 0,348 4,82ADD 3,04 1,06 0,348 1,678SAL, SHR, RCR 5,076 3,2 0,63 8,73CMP 7,1 6,4 0,9 12,47lMP 2,03 3,2 1,576 21,83LOOP 4,06 3,2 0,788 10,92RET, RETF 4,06 5,33 1,313 18,19

ICALL, CALLF 4,06 6,4 1,576 21,83IBif. condicional 10,15 7,466 0,735 10,18

Page 86: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V-20 MATERIAL DIDAC17CODE F.STRUCTURAy TECNOLOGIA DE COMPlffADORES 111

DEPARTAMENf'O DE INFORMATICA y AlffOMATlCA-UNED

Page 87: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDAcr/CO DE ESTRUCl1JRA y TECNOLOG/A DE COMPUTADORES III V/./

EJERCICIO5.1

Una técnica que trata de obtener lo mejor de las microarquitecturas verticales yhorizontales es una memoria de control de dos niveles, como ilustra la Figura 5.1. Trata decombinar tamaños pequeños de memoria de control con instrucciones largas. Para evitarconfusiones, el nivel inferior utiliza el prefijo nano-, dando lugar a los términosccnanoinstrucción»,ccnanocódigo»,etc. Esta técnica se utilizóen el Motorola68000,68010Y68020, pero se originóen la O-máquinade Burroughs [Reigel,Faber y Fischer, 1972]. Laidea es que el primer nivel tiene muchas instrucciones verticales que apuntan a las pocasinstrucciones horizontales únicas del segundo nivel. La O-máquina de Burroughs fue uncomputador de propósito general que ofrecía memoria de control escribible. Susmicroinstruccioneseran de 16 bits, de los cuales 12 especificaban una nanodirección, y lasnanoinstrucciones eran de 56 bits. Un intérprete del repertorio de instrucciones utilizaba1.124 microinstruccionesy 123 nanoinstrucciones.

a) ¿Cuál es la fórmulageneral que muestra cuándo un esquema de memoria de control dedos niveles como la O-máquina de Burroughs utiliza menos bits que una memoria decontrol de un nivel? Suponer que hay M microinstrucciones de a bits y N nanoinstruccionesde b bits de ancho.

b) ¿Consiguió la memoria de control de dos niveles de la O-máquina reducir el tamaño dememoria de control frente a una memoria de control de un nivel para el intérprete?

Memoria demicrocódigo

Líneas

I

Memoria denanocódigo

de

Entradas

controI

FIGURA 5.1 Implementación microprogramada a dos niveles mostrando las relacionesentre microcódigo y nanocódigo.

c) Una vez que se optimizó el código para mejorar el CPI en un 10 por 100, el códigoresultante tenía 940 microinstrucciones y 161 nanoinstrucciones. ¿Consiguió la memoria decontrol de dos niveles de la O-máquina al reducir el tamaño de la memoria de control frentea una memoria de control para el intérprete optimizado?

d) ¿Incrementó o decrementó la optimización el número total de bits necesarios paraespecificar el control? ¿Por qué decreció el número de instrucciones y aumentó el denanoinstrucciones?

a) De acuerdo con el enunciado sabemos que hay M microinstrucciones de a bits y Nnanoinstrucciones de b bits de ancho. Sea t el número de bits de a para especificar unananoinstrucción. t debe ser como mínimo ftog2 N7. Entonces la inecuación que expresaque una memoria de control de 2 niveles es más pequeña que una de 1nivel es:

(M * a + N * b) < M * (a - t + b)

DEPARTAMENTO DE /NFORMAT/CA y AUTOMATlCA-UNED

Page 88: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VI.2 MATERlAL DIDACl'ICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I

b) Si sustituimos en la expresión anterior, obtenemos:

123 * 56 + 1.124 * 16 < 1.124 * (16 - 12 + 56) ==24.872 < 67.440

Por lo tanto la respuesta es sí, los dos niveles reducen el tamaño de la memoria de control.

c) Volviendo a sustituir las cantidades en la expresión obtenida en el apartado (a):

161 * 56 + 940 * 16 < 940 * (16 -12 +56) ==24.056 < 56.400

La respuesta es sí, de nuevo dos niveles en la memoria de control ayudan a reducir eltamaño total.

d) Los 24.872 bits (apartado b) frente a los 24.056 bits (apartado c) indican que laoptimización decrementó ligeramente el número de bits necesarios para especificar elcontrol.

La optimización más habitual es intentar reducir el tiempo de ejecución de cada instrucciónaumentando la cantidad de operaciones que se pueden realizar en paralelo. Ejecutando másoperaciones en paralelo se reduce la posibilidad de disponer de nanoinstrucciones depropósito general, aumentando así el número de nanoinstrucciones más especializadas. Elnúmero de microinstrucciones se decrementa a causa de que más operaciones pornanoinstrucción implican una cantidad menor de microinstrucciones para especificar unaoperación.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 89: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACI/CO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES ll/ V/-3

EJERCICIO 5.2

Una ventaja del microcódigo es que puede manipular casos raros sin el gasto de invocar alsistema operativo antes de ejecutar la rutina de trapo Suponer una máquina con un CPI de1,5 Y con un sistema operativo que emplea 100 ciclos de reloj en un trap antes de quepueda ejecutar el código adecuado. Suponer que el código del trap necesita 10 ciclos dereloj, tanto si es microcódigo como macrocódigo. Para una instrucción que se presenta el5% del tiempo, ¿qué porcentaje del tiempo debe usar un trap para que la implementaciónen microcódigo sea globalmente un 1 por 100 más rápida que una implementación enmacrocódigo?

a) Tenemos que intentar detenninar que:

Tiempotrap macrocodificado - Tiempotrap microcodificado* 100 = 1%

Tiemp0trap microcodificado

o lo que es lo mismo:

Tiemp°trap macrocodificado= 10 1%

Tiempotrap microcodificado

Compararemos los tiempos de ejecución, ya que no conocemos el recuento deinstrucciones o la duración del ciclo de reloj. La duración del ciclo de reloj no cambia, porlo que es posible ignorarlo (se elimina de ambas expresiones) al calcular la forma deconseguir el 1% de diferencia en el rendimiento. El recuento de instrucciones para el restodel programa es el mismo, la única diferencia radica en la cantidad adicional deinstrucciones que son ejecutadas cuando un trap ocurre en el caso de que estémacrocodificado. Si t es la fracción de tiempo que consume el código del trap dentro deltiempo total que abarca la instrucción, y RI es el recuento de instrucciones para el caso enque el trap se microcodifique, entonces:

Tiemp0trapmicrocodificado= RI * [(95% + 5% * (1- t)) * 1.5 + 5% * t * 10]

= RI * (1,5 + t * 0,425)

En el caso en que el trap esté implementado con macroinstrucciones, el recuento deinstrucciones se incrementa (asumimos que todas las instrucciones tienen una duración de1,5 ciclos). Por lo tanto, cuando ocurre un trap se ejecutan 73,3 instrucciones más:

100 ciclos + 10 ciclos 110 ciclos73 33

. .= = , mstruCClOnes1,5 cpi' s 1,5 cpi' s

Tendremos que el tiempo de ejecución en este caso es:

Tiempotrap macrocodificado= RI * (100% * 1,5 + t * 5% * 110)

=RI * (1,5 + t * 5,5)

Volviendo a la fórmula original tendremos:

RI * (1,5 + t * 5,5) = 101%RI * (1,5 + t *0,425)

DEPARTAMENTO DE /NFORMAT/CA y AUTOMATlCA-UNED

Page 90: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VI-4 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

1,5 + t * 5,5 =101% * ('1,5+ t * 0,425)

t =0,003

Por 10tanto, la implementación en microcódigo es un 1% más rápida si el trap consume un0,3% del tiempo ejecutado.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Page 91: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES ll/ VI-5

EJERCICIO 5.3

Exploremos el impacto de reducir una arquitectura como la descrita en la Figura 5.35.Suponerquese suprimieradelVAXla instrucciónMOVC3. .

a) Escribir el macrocódigo VAX que sustituye a MOVC3o

b) Suponer que los operandos están colocados en los registros RO, Rl Y R2 después de untrapo Utilizando los datos para COBOLX de la Figura C.1 (página 728) en el Apéndice C("Arquitectura de computadores: Un enfoque cuantitativo, 11 ed." de Patterson y Hennessy),sobre utilización de instrucciones (suponiendo que todas las MOVCson MOVC3)y suponiendoque la MOVC3 media transfiere 15 bytes, ¿cuál sería el cambio de porcentaje en el recuentode instrucciones si MOVC3 no fuese interpretado por: microcódigo? (Ignorar el coste de lostraps para esta instrucciono)

a) MOVC3 es una instrucción que transfiere una cadena de caracteres de una longitud dada,de ahí la razón de utilizar tres operandos: la dirección del origen, la longitud de la cadena atransferir y la dirección del destino. Un ejemplo de ella y su significado es:

MOVC3 @36(R9), (RlO), 35(Rll) Rl~ M[35+Rll] ;R3~ M[M[36+R9]] ;for (R2~M[RlO]; R2!=O;

{M[R3]~8M[Rl]; Rl++;R4=O;R5=O;

R2--)R3++}

Para este ejercicio vamos a asumir que la dirección de la cadena fuente está en Rl, lalongitud en bytes de la cadenaen R2, y la dirección del destino en R3. El código es:

TST

BLEQCOPY: MOVB

DECLBGT

EXIT: CLRLCLRL

R2EXIT

(R3 ) + , (Rl ) +R2COPYR4R5

Comparar la longitud con OSalir si la longitud es S Osi dest=fuente, inc R3 y RlR2=R2-lBucle si R2 > OMOVC3 limpia R4y también R5

b) El total de instrucciones ejecutadases 4+n*3, siendo n el número de bytes transferidos.Ya que la longitud media transferida en bytes es de 15 bytes, cada trap de la instrucciónresultará en 49 instrucciones ejecutadas. De la Figura C.l, obtenemosque la frecuencia deMOVC3 es el 9%. Por lo tanto, por cada 100 instrucciones en la máquina inicial ahora seejecutan 532:

91 + 9 * 49 = 532 instrucciones

Obsérvese que no es necesario normalizar el 9% de MOVC3 ya que es el porcentaje exactode instrucciones que existen de esta clase, es decir, en el resto de instrucciones nocomputadas en el recuento total no hay ninguna MOVC3 ya que todas están contabilizadasen ese 9%.

El incremento en las instrucciones ejecutadas para COBOLX si MOVC3 no fuesemicrointerpretado esdel 432%.

532 -100 *100=432%100

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 92: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

- __ _. __ --u. ........... u... -..

VI-6 MATERIAL D1DACflCO DE ESTRUC1VRA y TECNOLOGlA DE COMPUTADORESIII

EJERCICIO 5.4

Suponer que tenemos una máquina con una duración del ciclo de reloj de 10 ns. y un CPIbase de 5. Debido a las posibilidades de interrupciones debemos tener registros extras quecontengan copia de valores de los registros al comienzo de la instrucción. Estos registroshabitualmente se denominan registros sombra (shadow). Suponer que la instrucción mediatiene dos operandos de registro que se deben restaurar en una interrupción. La frecuenciade interrupciones es de 100 interrupciones por segundo, y el coste de la interrupción es 30ciclos más el tiempo de restaurar los registros sombra, cada uno de los cuales necesita 10ciclos. ¿Cuál es el CPI efectivo después de contabilizar las interru

pciones? ¿Cuál es la pérdida de rendimiento de. las interrupciones?

Comenzamos calculando el número de instrucciones ejecutadas entre dos interrupciones.En primer lugar, vamos a calcular el número de ciclos que se consumen por lasinterrupciones en un segundo:

Frecuencia reloj - Ciclos consumidos por interrupci n * Interrupciones por segundo =lOOMhz - (30 ciclos + 2 * 10 ciclos) * 100 interupcioneslseg, = 99.995.000 ciclos

El total de instruciones ejecutadas en un segundo al tener en cuenta las interrupciones es:

99.995.000 ciclos =19.999.000 instruccionesCPI

El nuevo CPI efectivo es 5,00025:

CPI = Frecuencia de reloj =100.000.000 =5,00025Nuevo recuento de instrucciones 19.999.000

Por lo tanto, la pérdida de rendimiento a causa de las interrupciones es del 0,005%:

CPInuevo - CPIantiguo * 100 = 5,00025 - 5 * 100 = 0,005%CPIantiguo. 5

DEPARTAMENTO DE lNFORMAT1CA y AUTOMATlCA-UNED

Page 93: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTlCO DE ESTRUCTURA YTECNOLOGlA DE COMPUTADORES III Vl-7

EJERCICIO 5.5

Dado el diseño del procesador y el diagrama de estados finitos para DLX como se modificóal final de la parte del control cableado de la Sección 5.7 del libro "Arquitectura decomputadores: Un enfoque cuantitativo, 11 ed." de Patterson y Hennessy, explorar elimpacto en el rendimiento del siguiente cambio:

Suponer que se optimizó la interfaz de memoria para que no fuese necesario cargar elMAR antes de un acceso a memoria, ni transferir el dato al MDR para una lectura oescntura. En lugar de ello, cualquier registro en el bus S1 puede especificar la dirección,cualquier registro en el S2 puede suministrar el dato de una escritura y cualquier registro enel bus Dest puede recibir el dato de una lectura.

Dibujar la porción modificada de la máquina de estados finitos, describir los cambios para elprocesador (si es necesario), el cambio en el número de estados, y calcular el cambio delCPI utilizando las estadísticas de mezcla de instrucciones DLX de la Figura C.4 para GCC.

Esta optimizaciónno afectaal fetch de instruccionesya que existeun caminoentre elregistro que especificala siguienteinstrucción (PC) y el bus SI; Yentre el registro endonde se almacena la nueva instrucción (RI) y el bus Dest.

Ya que el modo de direccionamiento de DLX implica sumar un registro al desplazamientocontenido en RI, es necesario utilizar el registro MAR para situar la salida de la ALU en elbus S1. Por lo tanto, es posible ahorrar un paso en los almacenamientos eliminando elestado que sitúa B en el registro MDR. La porción del diagrama de estados de la Figura5.14 (página 236 del texto base de la asignatura) que corresponde a los almacenamientosqueda de la siguiente forma:

Almacenamientos

Acceso a memoria

no completo

Acceso a memoria completo

Las cargas pueden mejorarse eliminando el estado que sitúa el dato extraído de memoria enMDR. Observesé que el resto de los estados asociados a las cargas extienden el signo deMDRen funcióndela naturalezadela carga.Sincambiarel hardwarees posiblemejorarelrendimiento de la instrucción LW estableciendo un camino directo desde el estado quecarga MAR al estado LW, evitando el estado que carga MDR:" O Acceso a memoria

T UT ~ no completoLW ____

e <--M[MAR] "'

Acceso a memoria completo

Por lo tanto, hemos conseguido ahorrar un ciclo de reloj en la instrucción LW y otro cicloen todas las instrucciones de almacenamiento. Del Apéndice e obtenemos que el 18% deltotal de instrucciones son L W, mientras que las instrucciones de almacenamiento son una

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 94: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VI-8 MATERIAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES111

categoría que constituye el 10%, por lo cual es necesario proceder a su normalización:11,76%.

La mejora obtenida en el CPI para GCC es:

1* 18% + 1* 11,76% =0,2976

En la página 241 figura que el CPI de DLX de control cableado para GCC es 6,28. Por lotanto, se ha obtenido una mejora en el rendimiento del 4,73%:

0,2976 * 100 =4,73%6,28

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 95: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACI1CO DE ESTRUCTURA YTECNOLOG1A DE COMPUTADORES III VI-9

EJERCICIO 5.6

Estas cuestiones están dirigidas al uso del control microcodificado de DLX como semuestra en las Figuras 5.23, 5.25 Y 5.27-5.29 (páginas 246 a 252) del libro "Arquitecturade computadores: Un enfoque cuantitativo, l' ed." de Patterson y Hennessy. En cada casomostrar la parte modificada del microcódigo; describir los cambios en el procesador (si esnecesano), los campos de la microinstrucción (si es necesario) y el cambio en el número demicroinstrucciones: y calcular el cambio del CPI utilizando las estadísticas de mezcla deinstrucciones DLX del Apéndice C para GCC. Mostrar las razones del cambio.

Empezando con el microcódigo en las Figuras 5.27 y 5.34, revisar el microcódigo para quela siguiente macroinstrucción se extraiga tan pronto como sea posible durante lasinstrucciones de la ALU. Suponer un sistema de memoria "perfecto», empleando un ciclode reloj por referencia a memoria. Aunque técnicamente esta mejora acelera lasinstrucciones que siguen a las instrucciones de la ALU, la forma más fácil de contabilizareste rendimiento mayor es como instruccionesALU más rápidas. ¿Cuánto más rápidas sonlas instrucciones de la ALU? ¿Cómo afecta al rendimiento global según las estadísticas deGCC?

Sólo se altera la Figura 5.27. Las microinstrucciones25 a 33 son modificadas, añadiendo laorden "Leer Instrucc." al campo Misc, la condición "¿Mem?" al campo Cond y la etiquetade salto es cambiada para saltar a la misma microinstrución (25 a 33). A consecuencia deesto, es necesario insertar una nueva microinstrucción (copia de la microinstrucción 34)después de cada una de las ya existentes, excepto la etiqueta de salto que es modificadapara ir a la microinstrucción 1 de la Figura 5.34 (los cambios que ha habido con respecto ala Figura 5.27 del libro aparecen en negrita).

(*) Postescritura e ir a buscar la siguiente instrucción.

La mejora en el rendimiento se produce al ahorrar un estado en cada instrucción de laALU, pero por contra, implica añadir 8 nuevas instrucciones. Para GCC, el 36,4% de lasinstrucciones son instrucciones de la ALU (el valor ya está normalizado)., por lo tanto elcambio en el CPI es de 0,364 (36,4% * 1 ciclo). En la página 255 nos indican que el CPI esaproximadamente 6,63 por lo que la mejora producida será del 5,5%.

DEPARTAMENTODElNFORMAT1CA"YAUTOMATlCA-UNED

Pos Etiqueta Dest ALU SI S2 C Mise Cond Etiqueta ComentarioBifure.

23 ReJ!:: Temo Pasa S2 B Decod2 Fuente2=reJ!:24 Imn: Temo Pasa S2 Inm Decod3 Fuente2=inm25 ADDII: C ADD A Temo Leer lnstrue. .Mem? 25 ADD

Rd .- C Ineond. 1 (*)26 SUBII: C SUB A Temn Leer lnstruc. ;,Mem? 26 SUB

Rd .- C Ineond. 1 (*)27 ANDII: C AND A Temn Leer lnstrue. ;.Mem? 27 AND

Rd .- C Ineond. 1 " (*)28 ORlI: C OR A Temo Leer Instrue. .Mem? 28 OR

Rd .- C Ineond. 1 (*)29 XORlI: C XOR A Temo Leer Instrue. .Mem? 29 XOR

Rd .- C Ineond. 1 (*)30 SLUI: C SLL A Temn Leer Instrue. ;.Mem? 30 SLL

Rd .- C Ineond. 1 (*)31 SRUI: C SRL A Temn Leer lnstrue. ;.Mem? 31 SRL

Rd .- C Ineond. 1 (*)32 SRAII: C SRA A Temn Leer Instrue. ;.Mem? 32 SRA

Rd .- C Ineond. 1 (*)

33 LHI: C SLL Temo Consto 16 Leer Instrue. .Mem? 33 LHI34 Rd .- C Ineond. 1 (*)

Page 96: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VI-ID 'MATERIAL DIDAC17CODE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES111

Es posible obtener un diseño más agresivo si añadimos una nueva opción en el campo Miscque realice al mismo tiempo "Rd ~ C" y "AB ~ RF". Vamos a llamar a esta opción"Load ABRd". Al sustituir en el microcódigo revisado (tabla anterior) la microinstrucción1 (Figura 5.34) sobre la microinstrucción que ocasiona el salto a ésta, provocaremos que alsimultáneamente se cargen Rd y los registros A y B.

(*) Postescritura y decodifica

Esto ocasionará el ahorro de otro ciclo de reloj en todas las instrucciones de la ALU. Laganancia en el rendimiento será del 11% gracias a un ahorro del 0,728 del CPI (36,4% * 2 )en las instrucciones de la ALU.

Realizando los mismos cambios en el repertorio de instrucciones artirnéticas de puntoflotante (4,81% ya normalizadas) ahorraríamos otro 0,0964 (2 ciclos * 4,81%) de CPI,obteniendo una mejora del rendimiento del 1,5%. .

Teniendo en cuenta las mejoras en el total de instrucciones aritméticas, la mejora global enel rendimiento de DLX es del 12,5% con respecto al CPI original (6,63).

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Pos Etiqueta Dest ALU SI S2 C Misc Cond Etiqueta ComentarioBifurc.

23 Rel!:': Temo Pasa S2 B Decod2 Fuente2=ree24 lron: Temo Pasa S2 10m Decod3 Fuente2=inm25 ADD/I: C ADD A Temo Leer Instruc. 'Mem? 25 ADD

PC ADD PC Consto 4 Load ABRd Decodl (*)26 SUB/I: C SUB A Temo Leer Instruc. ¡.Mem? 26 SUB

PC ADD PC Consto 4 Load ABRd Decodl (*)27 AND/I: C AND A Temo Leer Instruc. 'Mem? 27 AND

PC ADD PC Consto 4 Load ABRd Decodl (*)28 ORII: C OR A Temo Leer Instruc. ¡,Mem? 28 OR

PC ADD PC Consto 4 Load ABRd Decodl (*)29 XORII: C XOR A Temo LeerInstruc. 'Mem? 29 XOR

PC ADD PC Consto 4 Load ABRd Decodl (*)30 SLUI: C SLL A Temo Leer Instruc. 'Mem? 30 SLL

PC ADD PC Consto 4 Load ABRd Decodl (*)31 SRUI: C SRL A Temo Leer Instruc. 'Mem? 31 SRL

PC ADD PC Consto 4 Load ABRd Decodl (*)32 SRAII: C SRA A Temo' Leer Instruc. 'Mem? 32 SRA

PC ADD PC Consto 4 Load ABRd Decodl (*)33 LHI: C SLL Temo Consto 16 Leer Instruc, ¿Mem? 33 LHI34 PC ADD PC Consto 4 Load ABRd Decodl (*)

Page 97: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOWGIA DE COMPUTADORES 11/ VII.]

EJERCICIO 6.1

Considerar una arquitectura con dos formatos de instrucción; un formato registro-registro yotro registro-memoria. Hay un sólo modo de direccionamiento de memoria (desplazamiento+ registro base).

Hay un conjunto de operaciones de la ALU con formato:

ALUop Rdest, RSrc10Rsrc2

o

ALUop Rdest, Rsrc1' MEM

Donde ALUop es una de las operaciones siguientes: Suma, Resta, And, Or, Carga (Rsrc1ignorado), Almacenamiento. Rsrc y Rdest son registros. MEM es un registro base más undesplazamiento.

Los saltos utilizan una comparación completa de dos registros y son relativos al PC.Suponer que esta máquina está segmentada para que, en cada ciclo de reloj, se comienceuna nueva instrucción. Se utiliza la segmentación siguiente -similar a la utilizada en lamicrosegmentación del VAX 8800.

IF RF ALU1 MEMIF RF ALU1

IF RFIF

ALU2MEM.ALU1RFIF

WBALU2MEMALU1RFIF

WBALU2MEMALU1RF

WBALU2MEMALU1

WBALU2MEM

WBALU2 WB

La primera etapa de la ALU se utiliza para el cálculo de la dirección efectiva parareferencias a memoria y saltos. El segundo ciclo de la ALU se utiliza para operaciones ycomparaciones de saltos. RF es un ciclo de decodificación y de. búsqueda de registros.

a) Determinar el número de sumadores necesarios, contabilizando cualquier sumador oincrementador; mostrar una combinación de instrucciones y etapas de la segmentación quejustifiquen esta respuesta. Sólo se necesita dar una combinación que maximice el númerode sumadores. Suponer que las lecturas en RF y escrituras en WB se presentan como enla Figura 6.8 del libro "Arquitectura de computadores: Un enfoque cuantitativo, 111ed.1I dePatterson y Hennessy (página 282).

b) Calcular el número de puertos de escritura y lectura de registros y de puertos deescritura y lectura de memoria que se necesitan. Demostrar que la respuesta es correctapresentando una combinación de instrucciones y etapas de la segmentación indicando lainstrucción y el número de puertos de lectura y de escritura necesarios para esainstrucción. .

c) Determinar cualquier adelantamiento de datos (data forwarding) para cualquier ALU quese necesite. Suponer que hay ALU separadas para las etapas ALU1 y ALU2. Añadir todoslos adelantamientos de ALU a ALU necesarios para evitar o reducir detenciones. Mostrar larelación entre las dos instrucciones involucradas en el adelantamiento.

d) Mostrar algún otro requerimiento de adelantamiento de datos para las unidades listadasmás abajo dando un ejemplo de la instrucción fuente y la instrucción destino deladelantamiento. Cada ejemplo debe mostrar la máxima separación de las dosinstrucciones. ¿Cuántas instrucciones puede adelantar cada ejemplo? Sólo es necesarioconsiderar las siguientes unidades: MDR¡n (registro de datos de entrada de memoria),

MDRout (registro de memoria de datos para dato que sale), ALU1, y ALU2. Incluir cualquier

adelantamiento que se necesite para evitar o reducir detenciones.

e) Dar un ejemplo de todos los riesgos restantes después de que se han implementadotodos los adelantamientos. ¿Cuál es el máximo número de detenciones para cada riesgo?

f) Mostrar todos los tipos de riesgos de control, por ejemplo, y explicar la duración de ladetención.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA.UNED

Page 98: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

V//-2 MATERlAL D/DAC17CO DE ESTRUC1VRA YTECNOLOG/A DE COMPUTADORES ///

a) Cuando coincidan una instrucción que ,tilice ALU2 para hacer una operación, otrainstrucción que hap un cálculo de una dir'__.jón efectiva y el incremento de contador deprograma para aCL .er a la siguiente instruccIón, se producirá la maximización del númeronecesario de sumauores:

Una secuencia de código que provocaría esta situación es:........................

ADD Rl, R2, R3..-.......-...........

ADD R4, R5, lOO(R6)........................

b) Puertos para la lectura y escritura de registros:

IF

RF

ALUl

MEM

ALU2

WB

Total

no requiere

lectura de 2 operandos (2 puertos de lectura)

no requiere

no requiere

no requiere

escritura de 1 operando (1 puerto escritura)

2 puertos lectura + 1 puerto escritura

Cualquier secuencia con una instrucción de carga/almacenamiento u operación ALU enWB y una operación ALU para la lectura de los dos operandos en RF. Por ejemplo:

LOAD Rl, lOO(Rl) --1 puerto de escritura y 1 de lectura.....................

.....................

.....-..............

ADD R2, R3, R4 --2 puertos de lectura y 1 puerto de escritura

Puertos para la lectura y escritura en memoria:

IF 1puerto de lectura

RF no requiere

ALUl no requiere

MEM 1puerto de lectura/escritura

ALU2 no requiere

WB no requiere

Total 1 puerto lectura + 1 puerto lectura/escritura

Cualquier secuencia con una referencia a memoria en MEM requerirá lo anterior, ya quetoda instrucción genera la lectura de ella misma en IF.

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Incrementar PC en IF 1 sumadorCálculo dirección efectiva en ALU l 1sumadorOoeraciones en ALU2 1sumadorTotal 3 Sumadores

Page 99: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D1DACflCO DE ESTRUCTURA Y TECNOLOG1ADE COMPUTADORES III VIl-)

LOAD Rl, lOO(Rl) --1 puerto de lectura y 1 de lectura/escritura.....................

.....................

LOAD Rl, lOO(Rl) --1 puerto de lectura y 1 de lectura/escritura

c) Hay dos casos generales:

En el caso 1 si no existiese adelantamiento la instrucción ALUI debería esperar a que lainstrucción ALU2 escribiese el resultado en Rl durante la etapa WB. Esto implicaría unaespera de 3 ciclos o la ejecución intermedia de 3 instrucciones. Al conectar la salida de laetapa ALU2 a la entrada de la ALUl se consigue un ahorro de un ciclo.

El caso 2 implica un adelantamiento de datos entre la propia etapa ALU2. Si no exisitieseeste adelantamiento. entre la primera y la segunda instrucción del caso general 2 seríanecesario esperar 3 ciclos o introducir tres instrucciones intermedias para conseguir laescritura del resultado en el registro Rl.

d) Hay cuatro casos generales:

DEPARTAMENTO DE lNFORMAT1CA y AUTOMAT1CA-UNED

Caso e:enerall EjemploALU2 ADD RI. R2. R3Otra instrucción .........Otra instrucción .........ALUl ADD Rx. Ry. 54(Rl)

Caso e:eneral 2 E.iemploALU2 ADD RI, R2. R3ALU2 ADD Ra. Rb. RIALU2 ADD Re. Rd. RIALU2 ADD Re. Rí. RI

Caso e:eneraI 1 EjemploALU2 ADD Rl, R2, R3Otra instrucción .........

MDRou1 STORE Rl, O(Rx)

MDRou1 STORE Rl, O(Rx)

Caso 2eneral 2 E.iemploMDRin LOAD Rl, O(Rx)

MDRou1 STORE Rl, O(Ry)

MDRout STORE Rl, O(Rv)

MDRou1 STORE Rl, O (Rw)

Caso e:eneral 3 E.iemplo

MDRin LOAD Rl, O(Rx)

ALU2 ADD Rx, Rv, RlALUI ADD Ra, Re, O (Rl)ALUl ADD Rb, Re, O (Rl)

Page 100: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VI14 . MATERiAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIADE COMPUTADORES 11I

El caso general 1 implica un adelantamiento entre la salida de la ALU2 y el registroMDRoul'evitando así 3 ciclos de espera: escritura del resultado de ALU2 en el registrocorrespondiente y lectura del registro en la etapa RF.

El caso general 2 consiste en un cortocircuito de los datos entre el registro MDRin Y elregistro MDRou,(adelantamiento en la etapa MEM). Permite almacenar un dato en unadirección cargada en la instrucción inmediatamente anterior. Implica un ahorro de 3 ciclosal no ser necesario esperar a la etapa WB para almacenar la dirección.

El caso general 3 conlleva una cortocircuito entre el registro MDRin Y las entradas deALUl y ALU2: .

El caso general 4 implica cortocircuitar el registro MDR¡nY la ALU2. De esta forma seconsigue un ahorro de 2 ciclos, al no ser necesario esperar a la etapa WB para escribir elvalor almacenado en Rl.

e) Todos los ejemplos siguientes serán riesgos de datos con 1 ó 2 ciclos de detención. Lospatrones generales junto con un ejemplo específico son:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Caso eeneral 4 Eiemplo

MDRin LOAD Rl, O (Rx)

Otra instrucción ............-.....ALU2 ADD Ra, Rc, RlALU2 ADD Rb, Rc, Rl

Caso eenerall EiemploALU2 ADD Rl, Rx, RyALUl ADD Ra, Rb, O(Rl)En este caso, la ALUl tiene queesperar 1 ciclo por el valor de Rlque genera la ALU2 pese a laexistencia del adelantamiento.

Caso eeneral 2 E.iemploALU2 ADD Rl, Rx, RvMDRou, STORE Rl, O(Rd)Detención de 1 ciclo ya que lasegunda instrución tiene que esperara la salida del resultado de laALU2.

Caso eeneral 3 E.iemploMDRin LOAD Rl, O(Rx)ALUl ADD Ry, Rz, O(Rl)Detención de 1 ciclo debido a que laetapa ALUl tiene que esperar a lafinalización de la etapa MEM paraconocerel valor de Rl.

Page 101: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUC1VRA YTECNOLOGIA DE COMPUTADORES 11I VI/-S

f) Los riesgos de control ocasionan una detención de 4 ciclos tanto en los saltos efectivoscorno en los no efectivos.

i+ldetenciones

WB

IF I RF

DEPARTAMENTO DE INFORMA TIC A y AUTOMATICA-UNED

Page 102: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

u ... ... . ..

VII-6 MATERIAL DIDACTlCO DE ESTRUmJRA y TECNOWGIA DE COMPUTADORES /11

EJERCICIO 6.2

Una máquina se denomina ccsubsegmentada» si se pueden añadir niveles adicionales desegmentación sin cambiar apreciablemente el comportamiento de las detenciones de lasegmentación. Suponer que la segmentación de DLX se cambió a cuatro etapas uniendoID y EX Y alargando el ciclo de reloj un 50%. ¿Cuántas veces es más rápida lasegmentación convencional de DLX frente a la subsegmentación de DLX sólo para códigoenteto? Asegurarse de incluir el efecto de cualquier cambio en las detenciones de lasegmentación los datos de la Tabla 6.1.

Tabla 6.1 Porcentaje de todos los ciclos de reloj empleados en los retardos frente aejecución de instrucciones. La tabla indica que del 7 al 15% de los ciclos de reloj sondetenciones. El porcentaje restante, del 85 al 93%, son ciclos de reloj que emiteninstrucciones. El planificador de la segmentación rellena retardos de cargas antes queretardos de saltos y esto afecta la distribución de los ciclos de retardo.

a) Ambas segmentacionessufren la mismacantidadde ciclos de detencióndebidoa lascargas. Como sabemos esto es debido a que cuando se obtiene el dato de memoria al finaldel ciclo MEM de la instrucción de carga, la siguiente instrucción lo necesita precisamenteal comienzo de ese ciclo, por lo que debe esperar un ciclo para que se escriban losresutados en los registros en la primera mitad de la etapa WB:

Siguiente instrucción

Instrucción de carga

Sin embargo, en la nueva segmentación, la combinación de las etapas ID y EX reduce lasdetenciones debidas a saltos y permite ahorrar un ciclo. Esto ocasiona un ahorro medio del6% de los ciclos con respecto a la segmentación de 5 etapas de acuerdo con los datos de laTabla 6.1:

4% + 3% + 11% =6% ciclos3

El CPI de la segmentación estándar de DLX para el código entero teniendo en cuenta losdatos de la Tabla 6.1 son:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Ciclos de detención4%

TeX de retardo de saltoCiclos de detención

4%de retardo de caraaCiclos de detención

3%Splce de retardo de salto

Ciclos de detención4%

de retardo de caraaCiclos de detención

11%GCC de retardo de salto

Ciclos de detención4%

de retardo de C8rQa

I IF ID +EX MEM WB

IF ID +EX MEM WBI

Page 103: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACT/CO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES /// V//-7

CPI TeX = 100 = 1,087 ciclos92

CPI Spice = 100 =1,075 ciclos93

CPI GCC = 100 =1,176 ciclos85

CPI medio = 1,087 + 1,075 + 1,1763 =1,1 ciclos

El nuevo CPI de la máquina es:

CPI medio =1,1 ciclos -0,06 ciclos ahorrados = 1,04 ciclos

Por lo tanto, los tiempo de ejecución en ambas máquinas son:

Tiempo ejecución DLX =1,1 * t

Tiempo ejecución nuevo DLX =1,04 * 1,5 * t =1,56 * t

Por 10 tanto, la segmentación estándar de DLX es un 41,8% más rápida que lasubsegmentada:

1,56 -1,1 * 100 = 41,8 %1,1

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Page 104: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VII-8 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES11I

EJERCICIO 6.3

Sabemos que una implementación segmentada de profundidad cuatro tiene las siguientesfrecuencias de riesgos y requerimientos de detenciones entre una instrucción i y sussucesoras:

i + 1 (y no en i + 2)i+2

20%5%

2 ciclos de detención1 ciclo de detención

Asumiremos que la frecuencia de reloj de la máquina segmentada es cuatro veces lafrecuencia de reloj de la implementación no segmentada.

a) ¿Cuál es el incremento efectivo de rendimiento debido a la segmentación si ignoramos elefecto de los riesgos?

b)¿Cuál es el incremento de rendimiento efectivo debido a la segmentación si tenemos encuenta el efecto de los riesgos?

a) Como ya sabemos,la segmentaCiónpuede ser vista como un decremento del número deciclos de reloj por instrucCión (CPI), o como incremento de la frecuenCia de reloj. Si seconsidera que la máquina emplea varios Ciclos de reloj por instrucción, la segmentación esusualmente vista como una reducción en el CPI.' Si la máquina emplea un ciclo de relojmuy largo por instrucción, entonces se puede considerar que la segmentación decrementala longitud del Ciclo de reloj (estees el casodel ejercicio).

Si ignoramos los riesgos, la aceleración será simplemente el incremento en la frecuenCiadel reloj. Por lo tanto, la aceleración lograda en el rendimiento sin considerar riesgos será4, o lo que es lo mismo, la máquina con segmentación y sin considerar riesgos es un 300%más rápida que la máquina sin segmentar:

4 - 1 * 100 =300%1

b) Para calcular el rendimiento considerando los riesgos es necesario calcular el nuevo CPI,para lo que asumiremos que el CPI base de la versión segmentada es l. El nuevo CPI secalcula teniendo en cuenta los Ciclos de detenCión y las frecuenCias de riesgos dadas en elenunCiado:

CPI segmentada= 1+ (0,2 * 2) + (0,05 * 1) = 1,45Ciclos

Aceleración considerando riesgos =~ =2, 761,45

Por lo tanto, la máquina con segmentación y considerando los riesgos es un 175% másrápida que la máquina sin segmentar:

4 -1,45 * 100 =175%1,45

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 105: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOWGIA DE COMPUTADORES III VIl-9

EJERCICIO 6.4

Suponer que las frecuencias de saltos (como porcentajes de todas las instrucciones) soncomo sigue:

Saltos condicionales

Bifurcaciones y llamadasSaltos condicionales

20%5%60% son efectivos

Estamos examinando una segmentación de profundidad cuatro donde el salto se resuelveal final del segundo ciclo para los saltos incondicionales, y al final del tercero para los saltoscondicionales. Suponiendo que sólo la primera etapa de la segmentación se puede hacersiempre independientemente del resultado del salto e ignorando las demás detenciones dela segmentación, ¿cuántas veces serfa más rápida la máquina sin ningún nesgo de saltos?

Para resolver el ejercicio es necesario que calculemos el CPI teniendo en cuenta los riesgosde control. para lo que vamos asumir que el CPI sin riesgos es l. De acuerdo con elenunciado. un esquema de la segmentación en el momento de procesar una instrucción desalto condicional e incondicional podría ser:

Resolución del salto.Bifurcación

Instrucción sigui

Salto condicionalno-efectivo

Resolución del salto

,2 I 3 4

Instrucción siguiente detención 2

Salto condicionalefectivo

Resolución del salto

,Instrucción siguien

Las contribuciones en el CPI a consecuencia de los saltos son las siguientes:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Il 2 3 4

ente l l 2 3I

4I

Il 2 3 4

te l detención 2 3I

4 I

Tino de salto Coste Frecuencia Contribución al CPIBifurcaciones 1ciclo 5% 0.05Condicionales No efectivos 1ciclo 0.2 * 0,4 =0.08 =8% 0.08Condicionales Efectivos 2 ciclos 0.2 * 0.6 =0.12=12% 0.24

Page 106: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VII-/O MATERIAL D/DAC11CODE ESTRUCTURA YTECNOLOG/A DE COMPUTADORES III

El nuevo CPI teniendo en cuenta las penalizaciones es 1,37:

CPI =1+ 0,05 + 0,08 + 0,24 =1,37

Por lo tanto, la máquina sin detenciones por saltos es un 37% más rápida:

1,37 - 1 * 100 =37%1

DEPARTAMENTO DE /NFORMAT/CA y AUTOMATlCA-UNED

Page 107: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALD/DACTICODE ESTRUClVRAYTECNOLOGIADE COMPUTADORESIII VIl.ll

EJERCICIO6.5

Suponer que tenemos la siguiente segmentación:

Todas las dependencias de datos están entre el registro escrito en la Etapa 3 de lainstrucción i y un registro leído en la Etapa 2 de la instrucción i + 1, antes de ~ue se hayacompletado la instrucción i. La probabilidad de que ocurra un interbloqueo es p. ,

Estamos considerando un cambio en la organización de la máquina que post-escriba elresultado de una instruccióndurante una cuarta etapa de la segmentación (WB).Esto haríadisminuir la duración del ciclode relojen d (por ejemplo si la duración del ciclo de relojeraT, ahora es T-d).La probabilidadde una dependencia entre la instrucción iy la i + 2 es p'2,(Suponer que el valor de p'l excluye instrucciones que interbloquearían a i +~. El saltotambién se resolvería durante la cuarta etapa.

a) Considerando sólo los riesgos por dependencias de datos, determinar el límite inferiorsobre d que haga de lo anteriormente expuesto un cambio provechoso. Suponer que cadaresultado tiene exactamente un uso y que el ciclobásico de relojtiene una duración T.

b) Suponer que la probabilidad de un interbloqueo entre i e i + n fuera 0,3 -O,1n para 1 ::; n

::; 3. ¿Qué incremento de la frecuencia de reloj se necesitaría para que este cambiomejorase el rendimiento?

c) Suponer ahora que hemos utilizado adelantamientos para eliminar los riesgos extraintroducidos por el cambio. Es decir, para todos los riesgos por dependencias de datos laduración de la segmentación es efectivamente 3. Este diseño todavía puede no ser valiosodebido al impacto de los riesgos de control provenientes de una segmentación de cuatroetapas frente a una de tres etapas. Suponer que sólo puede ejecutarse con seguridad laEtapa 1 de la segmentación antes que decidamos si un salto es efectivo o no. Queremossaber cómo puede ser el impacto de los riesgos de saltos antes de que esta segmentaciónmás larga no produzca alto rendimiento.Encontrar un límitesuperior para el porcentaje desaltos condicionales en funciónde la relación de d con la duración del ciclode reloj original,para que la segmentación más larga ofrezca un mejor rendimiento. Suponer que lafrecuencia de saltos efectivos para los sahos condicionaleses del 60%.

d) Si d ocasiona una reducción del 10% del ciclo de reloj original, ¿cuál es el máximoporcentaje de saltos condicionales para que la nueva segmentación sea más efectiva?

a) Los esquemas de la segmentación existente y de la propuesta son:

DEPARTAMElffO DE INFORMA TIC A y AUTOMATICA.UNED

EtaDB Función Nemotécnico1 Busca instrucción IF2 Oecodificaoperando 003 E:iecucióno acceso a memoria (resoluciónde salto) EXlMEM

Versión1 i <----T---->ii: IF OD

I EX:EM I EXlMEMi+l: IFi+2: IF OD EXlMEMi+3: IF OD

Versión 11 i <--- T-d---> ¡i: IF OD EX

I

WB

:

i+l: IF I OD EX WBi+2: IF OD EXi+3: IF OD

Page 108: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VII-12 MATERlAL DIDAC17CODE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

En la versión 1, segmentación original, las etapas recuadradas indican la probabilidad deexistencia de interbloqueos (probabilidad p-I) entre la etapa 3 de la instrucción; y la etapa2 de la instrucción ;+1.

En la versión TI,la etapa OD de la instrucción ;+ 1 presenta probabilidad de interbloqueo altener que esperar a la escritura del registro en la etapa WB de la instrucción ; (probabilidadp-I). Por otra parte, la etapa OD de la instrucción ;+2 presenta la probabilidad de uninterbloqueo similar con la etapa WB de la instrucción; (probabilidad p.Z)

Ya que nos piden calcular el límite inferior de d para que la nueva segmentación sea másrentable, vamos a deducir las expresiones que determinan el número de ciclos que tarda ensalir de cada segmentación una nueva instrucción Una vez obtenidas, plantearemos unainecuación para despejar d.

Para la versión 1,el tiempo de salida sería la duración de un ciclo de la segmentación másla probabilidad p-I de que exista un retardo de un ciclo debido a un interbloqueo entre la 3'etapa de la instrucción ; y la 2' de la instrucción ;+1:

Para la versión 11,el tiempo de salida será la duración de un ciclo de la segmentación (T-d),más los dos ciclos añadidos a causa de un interbloqueo entre las instrucciones; e ;+ 1teniendo en cuenta la probabilidad p-I de que exista, más la duración de un ciclo por laprob.abilidadde que ocurra un interbloqueo entre la instrucción; y la ;+2 (P-Z),teniendo encuenta la probabilidad de que no se produzca un interbloqueo entre las instrucciones ; e ;+ 1(l_p-l):

(T - d) + 2(T - d)p-I + (T - d)(l- p-I )p-2

La inecuación resultante de comparar ambas expresiones es:

T+Tp-1 ~(T-d)+2p-I(T-d)+(l-p-l)p-2(T-d)

T + Tp-I ~ T - d + 2Tp-1 - 2dp-1 + Tp-2 - dp-2 - Tp-3 + dp-3

(p-I +p-2 -P-3)TS(I+2P-1 +p-2 _p-3)d

p-I + p-2 _ p-3 TSd1+ 2p-1 + p-2 _ p-3

b) Si n es igual a 3 la probabilidad de interbloqueo entre ; e ;+3 es nula por lo que estesupuesto no se considera. Para el caso de n igual a 1 ó 2, la expresión planteada en elapartado anterior es la adecuada para comparar ambas segmentaciones. Los valores de lasprobabilidades son:

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Los esquemas de la segmentación en caso de que ocurran los interbloques son:

p.l: .;: IF OD EX WB;+1: IF detenci6n detención OD;+2: IF

p.2:;: IF OD EX WB;+1: IF OD EX WB;+2: IF detención OD EX

Page 109: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACJ'ICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES /ll V/l-13

Probabilidad interbloqueo entre i e i+ 1 (p 1) =0,2

Probabilidad interbloqueo entre i e i+2 (P2) =0,1

Por lo que tendremos la siguiente expresión:

T + TPI ;::(T - d) + 2P2 (T - d) + (1- PI )P2 (T - d)

PI + P2 - PIP2 T :s;d1+ 2PI + P2 - PIP2

O,19T:S;d

La duración del ciclo de reloj de la segmentación modificada sería:

Tmodificado =Tsin modificar - O,19Tsin modificar= O,81Tsin modificar

y la frecuencia de reloj :

1

Frecuenciamodificada= Tmodificada= =1, 23 Frecuenciasin modificar

O, 81 T sin modificar

c) Los esquemas de los dos tipos de segmentación teniendo en cuenta las detencionesproducidas por los saltos serían:

Si llamamos b a la probabilidad de que la instrucción i+ 1 sea un salto condicional,tendremos las siguientes tablas con los costes adicionales provocados por la existencia desaltos condicionales:

Al igual que en el apartado (a), planteamos una inecuación con las expresiones quedeterminan el tiempo de obtención de una nueva instrucción en ambas segmentaciones:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Versión 1Salto cond. IFSi no efectivo IF

Idetención I

OD EXlMEMSi efectivo I IF IF OD EXlMEMdetención

Versión IISalto cond. IF EX WBSi no efectivo detención detención OD EXSi efectivo detención detención IF OD

Versión 1 Coste en ciclos FrecuenciaSalto no efectivo 1 1 * O,4b=ü,4bSalto efectivo 2 2 * O,6b=l,2bTotal l,6b

Versión II Coste en ciclos FrecuenciaSalto no efectivo 2 2 * 0,4b=O,8bSalto efectivo 3 3 * O,6b=I,8bTotal 2,6b

Page 110: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VlI-14 MATERIAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

T + 1,6bT ~ (T -d) + 2,6b(T -d)

d~~1+ 2, 6b

d) Si consideramos que d es un 10% del ciclos de reloj, es decir, O,lT, tendremos que elporcentaje de saltos condicionales debe ser como máximo del 13,5% para que la nuevasegmentación sea más efectiva:

d~~1+ 2,6b

O,IT (1 + 2,6b) ~ bT

b:5 0,135

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Page 111: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERJALD1DACf1CO DE ESTRUCIVRA YTECNOLOG1ADE COMPUTADORES III Vlll-I

EJERCICIO 7.1

Escribir una secuencia vectorial de DLXV que consiga el rendimiento máximo (de pico) enMFLOPS de la máquina (utilizar la unidad funcional y descripción de instrucciones de laSección 7.2 del libro "Arquitectura de computadores: Un enfoque cuantitativo, 11ed." dePatterson y Hennessy). Suponiendo una frecuencia de reloj de 80 MHz, ¿cuál es lavelocidad pico en MFLOPS?Suponerque DLXVtiene una frecuencia de reloj de 80 MHz y que Tbase =10YTbucle = 15.Suponertambiénque la latencla de almacenamiento está siempre Incluida en el tiempo de ejecución.

Para obtener el máximo rendimiento bastará con escribir una secuencia de código que notenga ningún tipo de dependencias entre instrucciones y que active todas las unidadesfuncionales de que consta el procesador vectorial (suma, multiplicación, división). Porejemplo:

ADDV Vl, V2, V3MULTV V4, V5, V6DIVSV V7, V8 , Rl

La expresión velocidad pico en MFLOPS indica la cantidad de operaciones en puntoflotante que realizará el procesador cuando se encuentI:e a pleno funcionamiento, y por lotanto, tras haber superado la etapa de arranque:

De acuerdo con esto, en cada ciclo de reloj y para el fragmento de código anterior seejecutarán 3 operaciones en punto flotante. Por lo tanto:

MFLOPS = n°FLOPSTiempoejecución* 106

3

1,25 * 10-8 * 106=240

DEPAlU'AMENfO DE INFORMA TlCA y AUTOMATlCA

Page 112: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VIII-2 MATERIAL D/DACI7CO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES 111

EJERCICIO 7.2

Considerar el siguiente código vectorial ejecutándose en una versión de 80 MHz de DLXVpara un vector de longitud 64:

Ignorar todos los gastos de seccionamiento pero suponer que la latencia delalmacenamiento debe estar incluida en el tiempo de realizar el bucle. La secuenciacompleta produce 64 resultados.

a) Suponiendo ningún encadenamiento y un único canal de acceso a memoria, ¿cuántosciclos de reloj por resultado (incluyendo ambos almacenamientos como un resultado)necesita esta secuencia vectorial?

b) Si la secuencia vectorial está encadenada, ¿cuántos ciclos de reloj por resultadonecesita esta secuencia?

c) Suponer que DLXV tuviese tres canales de acceso con memoria y encadenamiento. Sino hubiese conflicto de bancos en los accesos para el bucle anterior, ¿cuántos ciclos dereloj se necesitarfan por resultado para esta secuencia?Suponerque DLXVtiene una frecuenciade reloj de 80 MHzy queTbase=10 Y Tbucle =15. Suponer tambiénque la latencla de almacenamiento está siempre Incluida en el tiempo de eJecución.

a) Sin encadenamiento y con un único canal de acceso a memoria.

. Tiempo totalTIempo por resultado =

n°resultados

T.l d

n° total de ciclos * duración ciclolempo por resu ta o = n° resultados

310 * 1 25 * 10-8Tiempo por resultado = ' - 0,0605 JlSegundos

64

b) Con encadenamiento y un único canal de acceso a memoria.

DEPARTAMENTO DE INFORMAT/CA y AUTOMAT/CA

LV VI, RaMULTV V2, VI, V3ADDV V4, VI, V3SV Rb, V2SV Re, V4

ODeración Comienza Termina ComentarioLV O 12+64=76 Latencia sencillaMULTV 76+1+4=81 81+7+64=152 Escera por LVADDV 76+1+4=81 81+6+64=151 Escera por LVSV 152+1+4=157 157+12+64=233 Escera por MULTVSV 233+1=234 234+12+64=310 Espera por SV

ODeración Comienza Termina ComentarioLV O 12+64=76 Latencia sencillaMULTV 12+1=13 13+7+64=84 Encadenada a LVADDV 12+1=13 13+6+64=83 Encadenada a LVSV 84+1+4=89 89+12+64=165 Espera por MULTVSV 165+1=166 166+12+64=242 Espera por SV

Page 113: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACT/CO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES /ll V/ll-3

242 * l 25 * 10-8Tiempo por resultado = . - O.0472psegundos

64

c) Con encadenamiento y tres canales de acceso a memoria.

97*1 25*10-8Tiempoporresultado=' = O.0189psegundos64

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA

Operación Comienza Termina ComentarioLV O 12+64=76 Latencia sencillaMULTV 12+1-13 13+7+64=84 Encadenada a LVADDV 12+ 1=13 13+6+64=83 Encadenada a LVSV 13+1+7-21 21+12+64=97 Encadenada a MULTVSV 13+ l +6=20 20+12+64=96 Encadenada a ADDV

Page 114: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VIII.4 MATERlAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 111

EJERCICIO 7.3

Considerar el siguiente código FORTRAN:

do 10 i=l,nA(i) = A(i) + B(i)B(i) = x * B(i)

10 continue

Utilizarlas técnicas de la Sección 7.7 del libro "Arquitecturade computadores: Un enfoquecuantitativo, 11ed." de Patterson y Hennessy para estimar el rendimientoen este ejercicio,suponiendo una versión de 80 MHzde DLXV.

a) Escribirel mejor código vectorial de DLXVpara la parte interiordel bucle. Suponer que xestá en FOy que las direcciones de Ay B están en Ra y Rb, respectivamente.

b) Calcular el tiempo total para este bucle en DLXV(T100)'¿Cuál es la velocidad en MFLOPpara el bucle (R1oo)?

c) Calcular R.. para este bucle.

d) Calcular N1/2para este bucle.

e) Calcular Ny para este bucle. Suponer que el código escalar se ha planificado en lossegmentos para que cada referencia a memoria use seis ciclos y cada operación en comaflotante 3 ciclos. Suponer que el gasto escalar también es Tbucle'

f) Suponer que DLXVtiene dos canales de acceso con memoria. Escribirel código vectorialque aprovechael segundocanalcon memoria. .

g) CalcularT100YR100para DLXcon dos cauces a memoria.

Suponer que DLxv tiene una frecuencia de reloj de 80 MHz Y que Tbase ..10 y Tbucle ..15. Suponer tambiénque la latencla de almacenamiento está siempre Incluida en el tiempo de eJecución.

a) El mejor código vectorial será aquel que aproveche la posibilidad del encadenamiento.De acuerdo con esto, un posible código sería:

Si se optase por realizar las dos cargas consecuúvas no estaríamos aprovechando lasventajas del encadenamiento, y el comienzo de la suma debería retrasarse hasta finalizar laúlúmacarga. .

b)

DEPARTAMENl'O DE INFORMATlCA y AUTOMATICA

LV Vl, RbMULTSV V2, FO, VlLV V3, RaADDV V4, Vl, V3SV Rb, V2SV Ra, V4

Instrucción Inicio Final Comentario

LV Vl, Rb O 12+64=76

MULTSV V2, FO, Vl 12+1=13 13+7+64=84 Encadenada a la LV

LV V3, Ra 76+1=77 77+12+64=153 Esoera a la LVADDV V4, Vl, V3 77+12+1=90 90+6+64=160 Encadenada a 2a LV

SV Rb, V2 153+1=154 154+12+64=230 Esoera por 2a LVSV Ra, V4 230+1=231 231+12+64=307 Esoera a SV

Page 115: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUC1V/lI. YTECNOWGIA DE COMPUTADORES /ll V/ll-5

En el gráfico siguiente podemos observar como estimar la cantidad de ciclos que seconsumen para generar cada elemento:

LVMULTV

LV

PDDV

SI

SI

-o ;- - -. . .. . .. . .. . .. . .- .. . .. . .. . .. . .

o ;

o ;. . .. . .. . .. . .- . .-t

elemento

.elemento ielemento elemento

T elemento = 4ciclos

T arranque = T total - n * T elemento

T =307 - 64* 4 =51ciclosarranque

T n =T base + r M~ 1 * (T bucle + Tarranque) + n * T elemento

TIOO= 10 + 2 * (15 + 51) + 4 * 100 = 542ciclos

R = n * FLOPS por iteración * Frecuencia de reloj.n Tn

100 * 2 * 80Mhz. = 29,5MFLOPSRIOO= 542ciclos

c)

Tn= Tbase+f ~ 1*05+51)+4* n-

Tn =Tbase + f 6: 1 * 66 + 4 * n

T =1O+f~

1*66+4*n

n 64

DEPARTAMENTO DE lNFORMATICA y AUTOMATICA

Page 116: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Vl1I-6 MATERIAL DlDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

R _ .(

Operaciones por iteración * Frecuencia de reloj

)eo - 11m C

"

l d 1" . "

ón-+eo ICos e re oJ por IteracI n

R = Operaciones por iteración * Frecuencia de reloj

eo lim (Ciclos de reloj por iteración)n-+eo

lim (Ciclos de reloj por iteración) =lim (Tn

)=4 + 66 =5,03 ciclos

n-+eo n-+eo n 64

2 * 80Mhz. =32 MFLOPSReo = 5,03

d) Asumimos que NI/2 ~ 64. De acuerdo con esta suposición, las expresiones de Tn Y Rnquedarán como:

Tn =1O+4*n+66 =4*n+76 ciclos

R = 2 * n * 80 MFLOPS = 2 * n * 80 MFLOPS .

n Tn 4*n+76

R

Tenemos que igualar Rn a f pará despejar n y así obtener N1/2.En el apartado anteriorobtuvimos que R.. es igual a 32 MFLOPS, por lo que tendremos:

2 * n * 80 MFLOPS =16 MFLOPS4 * n + 76

NI/2 =13 elementos

e) Asumiendo que el procesador escalar está totalmente segmentado consideraremos elsiguiente código para procesar un elemento:

Ya que cada acceso a memoria consume 6 ciclos y los datos están en doble precisión (64bits) será necesario acceder 2 veces a memoria, con un consumo total de 12 ciclos. Debidoa que los registros y la ALU son de 32 bits, la suma y la resta en doble precisión emplean 6ciclos (3 ciclos por operación en coma flotante). El tiempo empleado para procesar unelemento en doble precisión de forma escalar será:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA

LD F2, RbLD F6, RaMULTD F4, FO, F2ADDD F8, F2, F6SD Rb, F4SD Ra, F8

Instrucción Inicio FinalLD F2, Rb O 12LD F6, Ra 1 13MULTD F4, FO, F2 12+1=13 13+6=19ADDD F8, F2, F6 13+1=14 14+6=20SD Rb, F4 19+1=20 20+12=32SD Ra, F8 20+1=21 21+12=33

Page 117: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlALDIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 1/1 VI/I-7

Por lo tanto, el tiempo total enmodo escalar para procesar n elementos es:

TSn = T base+ 33 * n = 10 + 33 * n

De los apartados anteriores y considerando que la longitud del vector es menor o igual que64 tenemos que el tiempo de procesamientodel vector es:

Tn =10+ 4 * n + 66 =4 * n + 76 ciclos

Igualando ambas expresiones para conocer n obtendremos:

1O+4*n= 10+ 33*n

n=2

Por lo tanto, la longitud que debe tener el vector para que el modo vectorial sea más rápidoque el escalar debe ser igual o superior a 2, es decir Nv =2.

f) Suponiendo que tenemos dos canales de acceso a memoria, podemos colocar una acontinuación de las otras las dos instrucciones de carga con el fin de que prácticamente sesolapen:

En la gráfica siguiente podemos deducir el número medio de ciclos que consume cadaelemento. Se observar que existe una periodicidad en la generación de elementos: cada 4ciclos se generan 2 elementos. Por lo tanto, podemos afirmar que el número medio deciclos por elemento es 4:

DEPARTAMENTO DE lNFORMATICA y AUTOMATlCA

LV Vl, RbLV V3, RaMULTD V2, FO, VlADDD V4, Vl, V3SV Rb, V2SV Ra, V4

g)

Instrucción Inicio FinalLV Vl,Rb O 12+64=76

LV V3,Ra 1 1+12+64=77

MULTV V2,FO,Vl 12+1=13 13+7+64=84ADDV V4,Vl,V3 13+ 1=14 14+6+64=84SV Rb,V2 84+1+4=89 89+12+64=165SV Ra,V4 84+1+4=89 89+12+64=165

Page 118: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VIl/-8

LVLVMULTVMJDV

&J

&J

MATERIAL DIDACflCO DE ESTRUCIVRA y TECNOWGIA DE COMPUTADORES Il/

elemento elemento elemento elemento

4 ciclos =2ciclosT elemento= 2 elementos

T arranque=165 - 64 * 2 =37 ciclos

T n =Tbase + r M~ 1 * (T bucle + T arranque) + n * T elemento

TIOO=10 + 2 * (15 + 37) + 100 * 2 =314 ciclos

R =n * FLOPS por iteraci n * Frecuencia de reloj.n Tn

RIOO =100 * 2ciclos * 80Mhz - 51 MFLOPS314 ciclos

DEPARTAMENTO DE /NFORMATlCA y AUTOMATlCA

Page 119: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111 VIII-9

EJERCICIO 7.4

Suponer que tenemos una versión de DLXV con ocho bancos de memoria (cada uno conuna anchura de doble palabra) y un tiempo de acceso a memoria de ocho ciclos.

a) Si se ejecuta una lectura de un vector de longitud 64 con una separación entreelementos de 20 dobles palabras. ¿cuántos ciclos tardará en completarse la carga?

b) ¿Qué porcentaje de la anchura de banda de memoria se conseguirá con una carga de 64elementos con una separación entre elementos de 20 en comparación con una separaciónentre elementos de 1?

a) En el esquema siguiente podemos apreciar la disposición de las dobles palabras en losocho bancos de memoria, teniendo en cuenta que la separación entre elementos es de 20dobles palabras (suponemos que la primera doble palabra se encuentra en el banco 1):

La carga de las dos primeras palabras consume 8+ 1+ 1 = 1O ciclos.

Los restantes pares de palabras consumen 4+1+1= 6 ciclos.

Total = 10 + 62 * 6 = 196 ciclos2

b) La separación unitaria entre elementos conlleva que el tiempo total de lectura sea de 72ciclos (8+64). Por lo tanto, el ancho de banda que se consume es del 36,73% (72/196).

DEPARTAMENTO DE INFORMATICA y AUTOMATICA

BancoO 1 2 3 4 5 6 7

I I

I I

I

I I

Page 120: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VIII-JO MATERIAL DIDACTlCO DE ESTRUClVRA YTECNOLOGIA DE COMPUTADORES 11I

EJERCICIO7.5

Considerar el siguiente bucle escrito en FORTRAN:

C = 0.0do 10 i=l, 64

A(i) = A(i) + B(i)C = C + A(i)

10 continue

a) Dividirel bucle en dos: uno sin dependencia y otro con dependencia. Escribir estosbucles en FORTRAN~omo una transformación fuente a fuente-. Esta optimización sedenomina fisión del bucle.

b) Escribirel código vectorialde DLXVpara el bucle sin dependencia.

c) Escribir el código de DLXVpara evaluar el bucle dependiente utilizando doblamientorecursivo.

a)

do 10 i=l, 64A(i) = A(i) + B(i)

10 continueC = 0.0

do 20 i=l, 64C = C + A(i)

20 continue

b)

LVLVADDVSV

V1, AV2, BV3, V1, V2A, V3

c) El código FORTRAN del bucle dependiente tras efectuar el desdoblamiento recursivoes:

do 20 i=l, 64C(i) = A(i)

20 continue

longitud = 32do 100 j=l, 6

do 50 i=l, longitud50 C(i) = C(i) + C(i+longitud)

longitud = longitud/2100 continue

C = C(l)

La técnica del desdoblamiento recursivo se basa en realizar sumar sucesivas sobre el mismovector. de tal forma. que el resultado se queda almacenado en el primer elemento. Es porello. que al plantear el desdoblamiento del bucle se ha copiado previamente el vector Asobre un nuevo vector denominado e para preservar el contenido de A (este pequeño bucleequivale a una única instrucción de carga del vector A sobre un registro vectorial). Al finaldel código FORTRAN existe una instrucción que copia el primer elemento del vector e a lavariable e (utilizada en el bucle original).

DEPARTAMENrO DE INFORMATICA y AUTOMATICA

Page 121: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALDIDAC11CODE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES III VIll-II

El código ensamblador que realiza el desdoblamiento es:

MOVI2SLVLVADDVMOVI2 SCMPRSMOVI2SADDVMOVF2SCMPRSMOVI2 SADDVMOVF2SCMPRSMOVI2SADDVMOVF2SCMPRSMOVI2SADDVMOVF2SCMPRSMOVI2SADDVSV

VLR,Vl,V2,V3,VM,V4,VLR,V5,VM,V6,VLR,V7,VM,V8,VLR,Vl,VM,V2,VLR,V3,VM'V4,VLR,V5,C,

#32AA+32Vl, V2Ox 0000V3#16V4, V3Ox OOFFV5#8V6, V5Ox OFOOV7#4V8, V7Ox 3000Vl#2V2, VlOx 4000V3#1V4, V3V5

FFFF 0000 0000 --selecciona del 17 al 32

0000 0000 0000 --selecciona del 9 al 16

0000 0000 0000 --selecciona del 5 al 8

0000 0000 0000 --selecciona del 3 al 4

0000 0000 0000 --selecciona el 2

La instrucciónCMPRS Vb, Va realiza una copia y desplazamiento de los elementos del

registro Va hacia el registro Vb de todos aquellos elementos que en el registro de máscaravectorial estén a 1.

Va

Vb

o

o

Por ejemplo, las instrucciones:

MOVI2SCMPRS

equivalen a:

VM, Ox 0000 FFFF 0000 0000 --seleccionadel 16 al 32V4, V3

V 40 15 ~ V316...32... 16

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA

Page 122: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VIll-I2 MATERIAL DIDACTlCO DE ESTRUCIVRA y TECNOLOGIA DE COMPUTADORES 111

EJERCICIO 7.6

El rendimiento del Linpackcompilado del CRAY-I(diseñado en 1976) fue casi doblado porun compilador mejorado en 1989. Veamos un sencillo ejemplo de cómo puede ocurrir esto.Considerar el bucle «como-SAXPY..(donde.k es un parámetro para el procedimiento quecontiene el bucle):

do 10 i=l, 64do 10 j=l, 64

Y(k,j) = a * X(i,j) + Y(k,j)10 continua

a) Escribir la secuencia de código correcta para el bucle interioren instrucciones vectorialesde DLXV.

b) Utilizando las técnicas de la Sección 7.7 del libro "Arquitecturade computadores: Unenfoque cuantitativo, 11ed." de Patterson y Hennessy, estimar el rendimiento de estecódigo en DLXV,calculando T64 en ciclos de reloj.Se puede suponer que Tbasese aplicauna vez y que un gasto de Tbuctese contrae en cada iteracióndel bucle extemo. ¿Qué limitael rendimiento?

c) Reescribir el código DLXVpara reducir la limitaciónde rendimiento; mostrar el bucleintenor resultante en instrucciones vectoriales de DLXV.(Sugerencia: pensar sobre quéestablece Telemento;¿puedes modificarla?) Encontrar el tiempo total para la secuenciaresultante.

d) Estimar el rendimiento de la nueva versión utilizando las técnicas de la Sección 7.7 ycalculando T64.

a)

LVMULTSVLVADDVSV

V2,V3,V1,V4,Y(k),

X(i)a, V2Y(k)V3, V1V4

b)

DEPARTAMENTO DE INFORMAT/CA y AUTOMAT/CA

Instrucción Inicio FinalLV V2, X(i) O 12+64=76MULTSV V3, a, V2 12+1=13 13+7+64=84LV V1, Y(k) 76+1=77 77+12+64=153

ADDV V4, V3, V1 77+12+1=90 90+6+64=160

SV Y(k), V4 153+1=154 154+12+64=203

Page 123: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACfICO DE ESTRUCIVRA y TECNOLOGIA DE COMPUTADORES III VIll-13

LVMULTSV:

LV

ADDV

SV

!"""""'!'. . . .. . . .. . . .. . . .~: ~. . . . .. . . . .. . . . .. . . . ._. -. . . .. . . .. . . .. . . .. . . ._. -

telemento

-t

elemento elemento

De el gráfico anterior deducimos que el T elementoes 3. Por lo tanto, el tiempo de arranque y

T64son:

T =T tal -n*Tarranque to elemento

T arranque= 230 - 64 * 3 =38

T n = T base + r M~ 1 * (T bucle + T arranque) + n * T elemento

T64.64= 10 + 64 * (15 + 38) + 64 * 64 * 3 = 15.690 ciclos

La limitación radica en que en cada bucle interior es necesario cargar Y(k) en un registrovectorial, y posteriormente, almacenar el resultado de las operaciones de nuevo en Y(k).Para mejorar el rendimiento se podría cargar y almaenar Y(k) antes y después del bucleexterior.

c) Poniendo en práctico la mejora comentada en el apartado anterior tendremos el siguientecódigo:

LOOP:LV VI, Y(k) --cargamosY(k) fueradel bucleLV V2. X(i)MULTSV V3, a, V2ADDV VI, V3, VIIncrementar i y saltar a LOOPSV Y(k), VI --guardamosY(k) fueradel bucle

d) Debido a que extraido dos instrucciones del bucle debemos incrementar los costes enTbase.Por lo tanto, añadiendo los ciclos dela sinstrucciones de carga y almacenamiento dey (k) tendremos:

Tt>ase= 10 +64 +64 = 138 ciclos

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA

Instrucción Inicio FinalLV V2, X(i) O 12+64=76MULTSV V3, a, V2 12+1=13 13+7+64=84ADDV VI, V3. VI 13+7+1=21 21+6+64=91

Page 124: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

VIII-U MATERIAL DIDAcnCO DE ESTRUC1VRA YTECNOLOGIA DE COMPUTADORES JII

LVMULTSV

ADDV

T arranque= T total - n * T elemento

Tamnque =91- 64 * 1=27

T n =Tbase + r ~ 1 * (T bucle + Tarranque) + n * T elemento

T64*64= 138 + 64 * (15 + 27) + 64 * 64 * 1 =6.922 ciclos

Este cambio en el c6digo implica una mejora en el rendimiento del 2,266 6 del 126,6%:

15.690 - 6.922* 100 =126,66%6.922

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA

Page 125: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D1DAC17CO DE ESTRUC1VRA.YTECNOLOG1A DE COMPUTADORES III lX-l

EJERCICIO 8.1

Tratemos de mostrar cómo se pueden hacer benchmarks injustos. Hay dos máquinas conel mismo procesador y memoria principal pero diferentes organizaciones de caché.Suponer que el tiempo de fallos es 10 veces el tiempo de un acierto caché para ambasmáquinas. Suponer que la escritura de una palabra de 32 bits necesita 5 veces el tiempode un acierto de caché (para la caché de escritura directa), y que una escritura completa deun bloque de 16 bytes necesita 10 veces el tiempo de lectura de caché (para la caché depostescritura). Las cachés son unificadas, es decir, contienen instrucciones y datos.

Caché A: 64 conjuntos, 2 elementos por conjunto, cada bloque es de 16 bytes yutiliza escritura directa.

Caché B: 128 conjuntos, 1 elemento por conjunto, cada bloque es de 16 bytes yutiliza postescritura.

a) Describir un programa que haga que la máquina A corra lo más rápido posible encomparación a la máquina B. (Asegurarse de plantear todas las hipótesis que se necesiten,si las hay.)

b) Describir un programa que haga que la máquina B corra lo más rápido posible encomparación a la máquina A. (Asegurarse de plantear todas las hipótesis que se necesiten,si las hay.)

c) Aproximadamente ¿cuántas veces es más rápido el programa del apartado (a) en lamáquina A que en la máquina B?

d) Aproximadamente ¿cuántas veces es más rápido el programa del apartado (b) en lamáquina B que en la máquina A?

a) La ventaja de la caché A en comparación con la caché B es que es asociativa porconjunto de 2 vías. Por lo tanto, necesitamos un programa que no ocasione conflictos en Apero tantas veces como sea posible en B.

Todos los bloques de memoria que se mapean en un mismo conjunto en la caché B tienendirecciones que están separadas por 128 conjuntos * 16 bytes =2.048 bytes, a diferencia dela caché A en la que direcciones separadas por 2.048 bytes caen en el mismo conjunto peroal disponer dos bloques no siempre tiene que producirse un fallo de caché. Un programaque ocasione fallos en la caché B sería aquel que estuviese haciendo referencia a dosbloques separados por 2.048 bytes:

Direcci6nO

:Instrucci6n

Jump 2048

Comentario%Salta a la posición de un bloque que semapea en el mismo conjunto

.................. ....................................

2048 Jump O %Salta a la posición de un bloque que semapea en el mismo conjunto

En el caso de la caché B cada vez que se ejecute una de las dos instrucciones de salto seestará produciendo un fallo, ya que se hace referencia a dos direcciones pertenecientes ados bloques distintos que se sitúan en la misma posición de la memoria caché: el conjuntoO. Como la memoria caché A es asociativa por conjuntos de 2 vías, los dos bloques a losque se hace referencia en el código pueden situarse en el conjunto O sin ocasionar fallos.

Otro ejemplo de código que realiza una función similar al anterior es:

Direcci6ni

:Instrucción

LD Rl, 2048

i+4 bytes LD Rl, O

%Carga endirección

%Carga endirección

Comentario

el registro Rl el contenido dede memoria 2048 (conjunto O)el registro Rl el contenido dede memoria O (conjunto O)

DEPARTAMENTO DE lNFORMAT1CA y AUTOMA17CA

Page 126: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

lX-2 MATERIAL DIDAC17CO DE ESTRUCIVRA y TECNOLOGlA DE COMPUTADORES1/1

sien<;loi una dirección de memoria que no caiga en el conjunto Ode ambas cachés (porejemplo, la 32 que cae en el conjunto I de la A y en el 2 dela B). Obsérvese que si sesituasen las instrucciones en el conjunto O,en el caso de la caché A no ocurriría nada yaque el bloque con la dirección 2.048 no machacaría el código al tener asociatividad 2, peroen la B sí lo borraría al traer el bloque de memoria al mismo conjunto en que se encuentrael código.

Volviendo al ejemplo, la primera instrucción cargaría el contenido de la dirección 2.048 enel registro RI produciéndose un fallo de caché en B al tener que traer el bloque de memoriapara leer el contenido de esa posición de memoria. La siguiente instrucción, intentaría leerla dirección Oproduciéndose otro fallo de bloque, machacando el conjunto Ode la caché Bpero no el de la A, ya que se situaría en el segundo bloque de que dispone ese conjunto.

b) La ventaja de la caché B con respecto a la A se basa en que utiliza postescritura en lugarde escritura directa. Por consiguiente, necesitamos un programa que escriba repetidamenteen el mismo bloque de la caché pero estando seguros que las instrucciones y datos no semapean en el mismo bloque (en ese caso existirán conflictos y el rendimiento disminuirá).

Dirección

O

4

8

12

16

20

24

28

32

36

40

:Instrucción

SW 100(RO),RO

SW 100(RO),RO

SW 100 (RO) , RO

SW 100(RO),RO

SW 100(RO),RO

SW 100(RO),RO

SW 100(RO),RO

SW 100(RO),RO

SW 100(RO),RO

SW 100(RO),RO

Jump O

Comentario

%Limpia posición 100

%Limpia posición 100

%Limpia posiqión 100

%Limpia posición 100

%Limpia posición 100

%Limpia posición 100

%Limpia posición 100

%Limpia posición 100

%Limpia posición 100

%Limpia posición 100

%Sa1ta a la posición O

c) El número de ciclos de reloj para el bucle que se ocasiona en el primer programa delapartado (a) (ignorando los fallos forzosos que se ocasionan inicialmente) es:

Caché A: 2 insto* I ciclo = 2 ciclos

Caché B: 2 insto* I ciclo + 2 fallos de lectura * 10 ciclos =22 ciclos

En el caso de la caché A, se consume un ciclo de reloj por instrucción ya que no seproducen fallos en los accesos a la caché, mientras que en el caso de la caché B cada vezque se salta a una de las dos posiciones de memoria, se produce un fallo por lo que hay queincrementar en 10 ciclos el tiempo de ejecución de la instrucción de salto.

Por lo tanto, y recordando el concepto de "X es más rápido que Y" visto en el Capítulo 1,tenemos:

Tiempo B - Tiempo A * 100 =22 - 2 * 100 =1000%Tiempo A 2

De acuerdo con esto, un ordenador con una caché del tipo A es un 1000% más rápido queel mismo ordenador con una caché del tipo B.

d) El número de ciclos de reloj para el bucle que se origina en el programa del apartado (b)(ignorando los fallos forzosos iniciales) es:

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA

Page 127: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDAC1'ICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 111 IX-3

Caché A: II insto*1 ciclo + 10 escrituras * 5 ciclos =61 ciclos

Caché B: II insto* I ciclo =II ciclos

En el caso de la caché A, las 10 instrucciones SW ocasionan la escritura de una palabra enla memoria principal por lo que el tiempo de ejecución de una instrucción habrá queincrementarlo en 5 ciclos. En el caso de la caché B, debido al algoritmo de postescritura nose produce ninguna escritura en la memoria principal hasta que no se provoca elreemplazamiento del bloque.

De acuerdo con esto tendremos:

Tiempo A - Tiempo B * 100 = 61-11 * 100 =454%TiempoB II

Por lo tanto, para el programa que se presenta en el apartado (b), un ordenador con unacaché del tipo B es un 454% más rápido que el mismo ordenador con una caché del tipo A.

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA

Page 128: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

.-- - -.. . .......

IX-4 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOWGIA DE COMPUTADORES11/

EJERCICIO 8.2

Se compró un computador Acmecon las siguientes caracterfsticas:

1. El90% de todos los accesos a memoria se encuentran en la caché;

2. Cada bloque de caché es de dos palabras, y el bloque completo se lee en cualquierfallo;

3. El procesador envfa referencias a su caché a la velocidad de 107 palabras porsegundo;

4. El25% de las referencias de (3) son escrituras;

5. Suponer que el bus puede soportar 107 lecturas o escrituras de palabras porsegundo;

.6. El bus lee o escribe una sola palabra cada vez (el bus no puede leer o escribir dospalabras cada vez);

7. Suponer que en cualquier instante de tiempo, el 30% de los bloques de la caché hansido modificados;

8. La caché utilizaubicación de escritura en un fallode escritura.

Se está considerando el añadir un periféricoal bus. y se quiere saber qué ancho de bandadel bus se está utilizando. Calcular el porcentaje del ancho de banda del bus utilizado enpromedio en los dos casos siguientes. El porcentaje en la literatura se denomina relaciónde tráfico.Asegurarse de plantear las hipótesis necesarias.

a) La caché es de escritura directa.

b) La caché es de postescritura.

a) El tráfico del bus incluye todos los fallos de caché, tanto de lectura como de escritura,más las escrituras de bloques debido a ser una caché de escritura directa. La expresión parael tráfico por segundo debido a los fallos de la caché es:

Demanda de CPU * Frecuencia de fallos * Tamaño del bloque =10.000.000 * 10% * 2 =2.000.000 palabras I segundo

La expresión para obtener el tráfico del bus debido a la política de escritura directa es:

Demanda de CPU * porcentaje de escrituras * 1 =

10.000.000* 25% * 1=2.500.000 palabras I segundo

Por lo tanto, el tráfico en el bus para una política de escritura directa es:

2.000.000 + 2.500.000 =45%10.000.000

b) En este caso, el tráfico del bus incluye todos los fallos de caché más la escritura de losbloques modificados (dirty blocks). La expresión que determina el tráfico por segundodebido a fallos en la caché es:

Demanda CPU * Frecuencia fallos * Tamaño bloque * (I + porcentaje bloques modificados) =10.000.000 * 10% * 2 * (1 + 0,3) =2.600.000 palabras I segundo

DEPARTAMENTO DE lNFORMATICA y AUTOMATICA

Page 129: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACT1CO DE ESTRUClVRA YTECNOWGIA DE COMPUTADORES III lX-5

Por lo tanto, el ratio de tráfico en el bus para la política de postescritura es:

2.600.000 =26%10.000.000

En este apartado es importante no separar las lecturas de las escrituras de bloques alcalcular el tráfico, y no asumir que la postescritura sólo ocurre en las escrituras. Cualquierfallo, incluso de lectura, puede ocasionar un desplazamiento de un bloque de la cachémarcado como modificado, de tal forma que cualquier fallo puede ocasionar unapostescritura.

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA

Page 130: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

1X-6 MATERIAL DIDACfICO DE ESTRUCTURA Y TECNOLOGIA DE.COMPUTADORES 11I

EJERCICIO 8.3

Un ¡"nconveniente del esquema de postescritura es que las escrituras probablementeemplearán dos ciclos. Durante el primer ciclo, se detecta si se presenta un acierto, ydurante el segundo (suponiendo un acierto) realmente se escribe el dato. Suponer que el50 por 100 de los bloques están modificadospara una caché de postescritura.

Utilizando las estadfsticas de las cargas y almacenamientos de DLXen la Figura C.4 delApéndice C del libro "Arquitecturade computadores: Un enfoque cuantitativo, 11ed." dePatterson y Hennessy, estimar el rendimiento de una caché de escritura directa conescrituras de un ciclocomparándolo con el de una caché de postescritura con escrituras dedos ciclos para cada uno de los programas. Para esta cuestión, suponer que el buffer deescritura para escritura directa nunca detendrá la CPU (no penalización). Suponer que-unacierto de caché emplea 1 ciclo de reloj, la penalización de fallos de caché es de 10 ciclosde reloj, y que una escritura de bloque desde la caché a memoria principal necesita 10ciclos de reloj. Finalmente, suponer que la frecuencia de fallos de la caché de instruccioneses del 2 por 100 Yla de la caché de datos es del 4 por 100.

Vamos a suponer que todos las instrucciones consumen I ciclo de reloj, con la excepciónde los almacenamientos en la caché de postescritura. La parte fácil es calcular la fracciónde CPI's que consumen los fallos de instrucciones para ambos esquemas:

Porcentaje de fallos de instrucciones * Penalización por fallo =2% * 10 ciclos =0,2 ciclos

Para la caché de escritura directa necesitamos sumar los fallos de datos en la caché al totalanterior. Un aspecto delicado es que debemos contabilizar las cargas y losalmacenamientos de dobles palabras como 2 referencias a datos en memoria con el fin deconseguir un ratio exacto del porcentaje de fallos de datos en la caché (esto es debido a queeste porcentaje está basado en el número de accesos a palabras en la caché). Por lo tanto, lafórmula es:

Porcentaje de fallos de datos * Penalización por fallos *

*

[

1 * (% cargas individuales + % almacenamientos individuales) +

)2 * (% cargas dobles + % almacenamientos dobles)

Tras consultar los datos del Apéndice CA obtenemos los siguientes porcentajes de cargas yalmacenamientos para palabras y dobles palabras:

Por lo tanto, la fracción de CPI quedará como:

4% * 10ciclos * (1 * (14% + 7%) + 2 * (4% + 1%))=0,124

Es necesario remarcar que el porcentaje de cada categoría no ha sido normalizado(dividiendo por 0,83) ya que todas las instrucciones, excepto Store Byte (SB), estáncontabilizadas en el Apéndice C.

Para la caché de postescritura el incremento en el CPI debe incluir los siguientes aspectos:

·el coste en ciclos debido a los fallos habituales de bloques en lecturas y escrituras,

DEPARTAMENTO DE INFORMA TICA y AUTOMATICA

Caras simnles 14% (LW+LBU)Almacenamientos simples 7% (SW)Caras de dobles nalabras 4% (LD)

Almacenamientos de dobles palabras 1% (SD)

Page 131: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACJ'/CO DE ESTRUCTURA YTECNOLOG/A DE COMPUTADORES /// lX-7

·el coste de las escrituras de aquellos bloques modificados y que haya que sustituir porlos debidos a los fallos de lectura y escritura, y

· los ciclos extras ocasionados por las instrucciones de almacenamiento (recordemosque las escrituras consumen 2 ciclos).

Observar que los almacenamientos de dobles palabras sólo consumen un ciclo extra dereloj, y no dos, ya que la doble palabra es alineada dentro de un bloque, de forma que sóloes necesario un acceso para comprobar si está en la memoria caché. De esta formaasumimos que el bloque de caché tiene como mínimo dos palabras. Por lo tanto, la fórmulaqueda como:

Porcentaje de fallos de datos * Penalización por fallos *

*

[

1 * (% cargas individuales + % almacenamientos individuales) +

)2 * (% cargas dobles + % almacenamientos dobles)

+

Porcentaje de fallos de datos * Coste escritura de bloque * %bloques modificados *

*

[

1 * (% cargas individuales + % almacenamientos individuales) +

)2 * ( % cargas dobles + % almacenamientos dobles)

+

1 ciclo * ( % almacenamientos individuales * % almacenamientos dobles)

Utilizando la información del Apéndice CA al igual que en la caché de escritura directa,obtenemos:

4% * lOciclos* (1 * (14% + 7%) + 2 * (4% + 1%»+

4% * lOciclos * 50% * (1 * (14% + 7%) + 2 * (4% + 1%»+

1ciclo * (7% + 1%) =O,266

Las cifras totales del CPI de las dos organizaciones de memoria caché son:

CPlpostescritura = 1 + 0,2 + O,266 = 1,466

CP1escrituradirecta= 1+ 0,2 + 0,124 = 1,324

Ya que la duración del ciclo de reloj no cambia y el recuento de instrucciones tampoco,podemos utilizar el CPI para realizar la comparación del rendimiento:

CPlpostescritura - CPlescrituradirecta * 100 = 1,466 -1,324 * 100 = 10,73%CPI . . 13Mescntura directa '

Por lo tanto, la caché de escritura directa es un 10,73% más rápida que la caché depostescritura.

NOTA: los resultados son sólo aplicables a las cachés de este ejercicio y no se puedengeneralizar a otras. Esto es debido a que en otros supuestos puede que las características delas cachés produzcan otros resultados completamente distintos.

DEPARTAMENTO DE INFORMAT/CA y AUTOMAT/CA

Page 132: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

IX-8 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES ///

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA

Page 133: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 1/1 X-I

EJERCICIO 9.1

Suponer que las mejoras en densidad de las DRAM y discos magnéticos continúan comopredice la Tabla 9.1.

Tabla 9.1.

Suponiendo que la mejora en coste para megabyte sigue las mejoras de densidad y que1990 es el comienzo de la generación de DRAM de 4 megabits, ¿cuándo el coste pormegabyte de DRAM igualará al coste por megabyte de disco magnético? dado que:

· La diferencia de coste en 1990 es que la DRAM es 10 veces más cara.

· La diferencia de coste en 1990 es que la DRAM es 30 veces más cara.

a) ¿Qué generación de chips DRAM -medidas en bits por chip- alcanzarán la equidadpara cada hipótesis de la diferencia de costes? ¿Qué año ocurrirá eso?

b) ¿Cuál será la diferencia de coste en la generación anterior?

a) De acuerdo con la Tabla 9.1 sabemos que la DRAM aumenta su capacidad dealmacenamiento un 60% por año (se cuadruplica cada 3 años) mientras que los discoscrecen un 25% por año (se duplican cada tres años). Parasolventar el problema utilizaremosuna tabla que refleje el cambio de los costes cada 3 años con cada nueva generación deDRAMs. Comenzaremos la tabla asumiendo que el coste por megabyte de disco es 1 en1990. .

Asumiendoquela diferenciadecostoestáen 30:1 en 1.990,el chip de DRAMde 4.096Mbits (4 gigabits)en el año 2.005 tendráun costepor megabitinferior al megabytededisco.

Si consideramos la relación 10:1, el chip de DRAM de un gigabit (1.024 megabit) del año2.002 tendrá un coste por megabit inferior al megabyte de disco.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Tecnoloaía Tendencias de rendimiento v densidadEl número de transistores en un chip aumenta

Tecnología de Cllógicos aproximadamente el 25% por año, duplicándose entres años. La velocidad de los dispositivos aumentacasi a esa raoidez.La densidad aumenta en un 60% por año,

DRAMsemiconductora cuadriplicándose en tres años. La duración del cicloha mejorado muy lentamente, decreciendoaoroximadamente una tercera oarte en 10 años.

Tecnología de discoLa densidad aumenta aproximadamente el 25% poraño, duplicándose en tres años. El tiempo deacceso ha meiorado un tercioen 10 años.

Año Tamaño DRAM Coste 30:1 Ratio 10:1 Ratio(Mbits ) disco RAMldisco RAMldisco

1.990 4 1 30 30 10 101.993 16 0,5 7,5 15 2,5 51.996 64 0,25 1,875 7,5 0,625 2,51.999 256 0,125 0,469 3,75 0,156 1,252.002 1.024 0,063 0,117 1,875 0,039 0,6252.005 4.096 0,031 0,029 0,938 0,010 0,313

Page 134: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

X-2 MATERlAL DIDAC17CO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

b) Considerando la relación 30:1, la generación previa de DRAM es la de 1 Gigabit, siendola diferencia de coste del 53%:

0,063 =53%0,117

De esta forma el precio por Megabyte de disco estará en tomo a la mitad del precio de laDRAM en el año 2.002.

Con la relación 10:1 la generación previa de DRAM es la de 256 Mbit en el año 1.999, y ladiferencia de coste será del 80%:

0,125 =80%0,156

es decir, el coste por Megabyte de disco será un 20% más barato.

DEPARTAMENl'O DE INFORMATlCA y AUTOMATICA-UNED

Page 135: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERiAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I X-3

EJERCICIO 9.2

Suponer que una carga de trabajo necesita en total 100 segundos, empleando la CPU 70segundos y las E/S 50 segundos.

a) Suponer que la unidad de punto flotante es responsable de 25 segundos del tiempo deCPU. Se esta considerando un acelerador de punto flotante que va cinco veces mas rápido¿Cuál es el tiempo de la carga de trabajo para máximo solapamlento, solapamientoescalado y no solapamiento?

b) Suponer que los retardos de búsqueda y de rotación de los discos magnéticos sonresponsables de 1O segundos del tiempo de E/S. Se está considerando Sustituir los discosmagnéticos por discos de estado sólido, que eliminen todos los retardos rotaclonales y debúsqueda ¿Cuál es el tiempo de la carga de trabajo para: máximo solapamiento,solapamiento escalado y no solapamiento?

c) ¿Cuál es el tiempo de la carga de trabajo para el solapamiento escalado si se realizanambos cambios?

a) Por los datos del enunciado sabemos que:

Tiempo total carga de trabajo =100 segundos.

Tiempo CPU =70 segundos

Tiempo E/S =50 segundos

Tiempo FPU del total de la CPU =25 segundos

En primer lugar debemos calcular el nuevo tiempo que se emplea en la CPU al utilizar unacelerador de punto flotante que va cinco veces más rápido. Una forma es utilizar la ley dearndahl para calcular la aceleración global y a partir de este dato el nuevo timepo de CPU.De esta forma, tendremos:

Fracción mejorada = 25 =0,35770

Aceleración global CPU = 1 = 1, 4

(1- 0,357) + 0,3575

70 segundosNuevo CPU = =50 segundos

1,4

Otra forma de calcular el nuevo tiempo de CPU es descomponiendo el tiempo total entiempo dedicado a operaciones enteras y flotantes pero teniendo en cuenta la aceleraciónque se aplica a la parte de operaciones flotantes:

Nuevo CPU =Tiempo CPU op. enteras+ Nuevo Tiempo CPU op. flotantes= 45 + 2: = 50 segundos

Una vez que obtenemos el nuevo tiempo de CPU podemos calcular los tiempos de la cargade trabajo para los tres casos:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 136: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

X-4 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES III

Solapamiento escalado = 50+ 50- ~ = 85,7 segundos1,4

Tiempo mejor =50 + 50 -Min( 20,50) = 80 segundos

Tiempo peor =50 + 50 -Max( 0,20 -(70 - 50)) = 100 segundos

b)

Tiempo de retardo y búsqueda =10 segundos

Aceleración global E/S = 50/40 =1,25

Nuevo tiempo E/S = 40 segundos

Utilizando el nuevo tiempo de E/S tendremos:

Solapamiento escalado = 70+ 40- 20 = 94 segundos1,25

Tiempo mejor = 70+ 40- Min(20, 40)= 90 segundos

Tiempo peor =70 + 40 - Max(O, 20 -(70 -50))=110 segundos

c)

Tiempo escalado =50 + 40 - (20 \ =75,7 segundosMax 1,4 , 1,25

Tiempo mejor = 50+ 40 - Min( 20, 50, 40) =70 segundos

Tiempo peor =50 + 40 - Max( O, 20 - Max(70 - 50, 50 - 40)) =90 segundos

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 137: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTlCO DE ESTRUClVRA y TECNOLOG/A DE COMPUTADORES /// x-s

EJERCICIO9.3

El bus de E/S y el sistema de memoria de un computador son capaces de sustentar 100MB/ssin interferircon el rendimientode una CPU de 80 MIPS(que cuesta 50.000 dólares).Aquíestán las suposiciones sobre el software:

·Cada transacción requiere 2 lecturas del disco más 2 escrituras del disco.

·Elsistema operativo utiliza15.000 instrucciones para cada lectura o escritura deldisco.

·El software de la base de datos ejecuta 40 000 instrucciones para procesar unatransacción.

·El tamaño de la transferencia es de 100 bytes.

Se ha de elegir uno de dos tipos diferentes de discos:

·Un disco de 2,5 pulgadas que almacena 100 Mbytes y cuesta 500 dólares.

·Un disco de 3,5 pulgadas que almacena 250 Mbytes y cuesta 1250 dólares.

·Cualquier disco del sistema puede soportar una media de 30 escrituras o lecturasdel disco por segundo.

Responder las siguientes preguntas utilizando los datos del benchmark DebitCredit (Figura9.10 del libro "Arquitectura de computadores: Un enfoque cuantitativo, 11ed." de Pattersony Hennessy). Suponer que las peticiones se reparten uniformemente en todos los discos,que no hay tiempo de espera debido a discos ocupados, y que el archivo de cuentas debeser suficientemente grande para manipular 1000 TPS de acuerdo con las reglas delbenchmark. .

a) ¿Cuántas transacciones DebitCreditpor segundo son posibles con cada organización dediscos, suponiendo que cada una utiliza el mínimo número de discos para mantener elarchivo de contabilidad?

b) ¿Cuál es el coste del sistema por transacción por segundo de cada alternativa paraDebitCredin

c) ¿Con qué rapidez convierte una CPU al bus de E/S, de 100 Mbytes por segundo, en uncuello de botellapara DebitCredit?(Suponer que se puede continuar anadiendo discos).

d) Como gestor de MTP(MegaTP), usted está decidiendo si gastar su dinero de desarrolloen construiruna CPUmás rápidao mejorarel rendimientodel software.Elgrupode basede datos dice que puede reducir una transacción a una lectura de un disco y una escrituraen un disco y reducir las instrucciones de base de datos por transacciones a 30.000. Elgrupo de hardware puede construir una CPU más rápida que se vende por la mismacantidad que la CPU más lenta con el mismo presupuesto de desarrollo. (Suponer que sepueden añadir tantos discos como sea necesario para conseguir mayor rendimiento.) ¿Quérapidez debe tener la CPU para que coincida con la ganancia de rendimientode la mejoradel software?

El grupo de E/S de MTP estuvo escuchando en la puerta durante la presentación delsoftware. Ellos arguían que los avances de la tecnología permitiránque las CPU sean másrápidas sin inversiones significativas,pero que el coste del sistema estará dominado por losdiscos si no desarrollan nuevos discos más rápidos de 2,5 pulgadas. Suponer que lasiguiente CPU es 100 por 100 más rápida al mismocoste y que los nuevos discos tienen lamisma capacidad que los antiguos.

e) Dada la nueva CPU y el software antiguo, ¿cuál será el coste de un sistema consuficientes discos antiguos de 2,5 pulgadas para que no limitenel TPS del sistema?

f) Suponer que ahora se tienen tantos discos nuevos como discos antiguos de 2,5 pulgadasse tenian en el diseno original.¿Qué rapidezdeben tener los nuevosdiscos (E/S porsegundo)para lograrla mismavelocidadTPS con la nuevaCPUdel sistemade la parte(e)?¿Cuálseráel costedelsistema?

DEPARTAMENTODE /NFORMAT/CAy AUTOMAT/CA-UNED

Page 138: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

X-6 MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPlffADORES 111

a) Las suposiciones sobre el software y hardware son teniendo en cuenta todos los datos delenunciado son:

El número de unidades de disco viene determinado por la necesidad de almacenar unfichero de contabilidad de 10,0 Gbytes. Para ello se debe tener en cuenta que la definiciónde Mbyte difiere cuando se está hablando de DRAM o de discos (los buses siguen la reglade las DRAM's). En DRAM se define el Mbyte como:

220 = 1024 * 1024 = 1.048.S76 bytes

mientras que en un disco se define un Megabyte como

106 = 1.000 * 1.000 =1.000.000 bytes

El límite de transacciones en los discos se calcula a partir del total de escrituras y lecturasque acepta un disco por segundo, 30 según el enunciado, y teniendo en cuenta que cadatransacción requiere dos lecturas y dos escrituras. Por lo tanto, tendremos:

100 discos de 2, S" * 30 accesos I segundo =7S0 transacciones I segundo4 accesosI transacción

40 discos de 3, S" * 30 accesos I segundo =300 transacciones I segundo4 accesos I transacción

Como se puede ver en la tabla el límite de transacciones por segundo viene determinado porlos discos y no por la CPU o por el bus. Así, el límite de transacciones que soporta la CPUes: .

=800 TPS40.000 instrucciones I transacción + 4 accesos * IS. 000 instrucciones I acceso

80 MIPS

Con respecto al bus, el límite de transacciones que es capaz de procesar es:

100 Mbytes I segundo =262.144 TPS100bytes * 4 accesos

b)Coste del sistema

100.000 $100.000 $

$ por TPS133333

c) La capacidad del bus está sobredimensionada ya que los discos sólo entregan en cadatransferencia 100 bytes. Por lo tanto, los cálculos son:

DEPARTAMENTODEINFORMATICAyAlffOMATlCA-UNED

Unidad Rendimiento Unidades Demanda por transacción TPS límiteCPU 80 MIPS 1 0,1 MIPS 800

Bus ES/Mem. 100 1 400 bytes 262.144Mbvtes/se!!:.

Discos 2,S" 30 accesos/se!!:. 100 4 accesos 750Discos 3,S" 30 accesos/se!!:. 40 4 accesos 300

Page 139: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES 11I X-7

Límite del bus = 100 Mbytes / seg. = 104.857.600 bytes / seg. =262,144 TPS400 bytes / transacción 400 bytes / transacción

Nueva velocidadCPU = 262.144 TPS =26,214 MIPS

(4 * 15.000 + 40.000) instrucciones / transacción

Por lo tanto, a partir de una CPU de 26.214 MIPS el bus se convierte en un cuello debotella, o lo que es lo mismo, es necesaria una CPU un 32.667% más rápida que la actual:

26.214 - 80 * 100 = 32.667,5%80

d) El grupo software propone mejorar el recuento de instrucciones por transacción pasandode las 800 TPS que es capaz de procesar la CPU actual:

(2 + 2) * 15.000 + 40.000 =100.000 instrucciones / transacción =800 TPS

a 1.333TPS sin variar el tipo de CPU:

(1+ 1)* 15.000 + 30.000 =60. 000 instruccion~s / transacción =1.333 TPS

Para conseguir procesar las 1.333 TPS que se consiguen con la mejora software, la nuevaCPU debe de ser un 67% más rápida que la original:

1.333 TPS - 800 TPS * 100 = 67%800 TPS

e) El límite de TPS de la antigua CPU es de 800, por lo que si se utiliza una CPU que sea eldoble de rápida se podrán procesar 1.600 TPS. El número de discos que permitenaprovechar el máximo rendimiento de la CPU es:

1.600 TPS * 4 accesos / transacción =214 discos30 accesos / segundo

El coste del sistema utilizando discos de 2,5 pulgadas seóa:

1 CPU * 50.000$ + 214 discos * 500$ =157.000$

f) Si mantenemos el mismo número de discos, la velocidad de los nuevos discos enoperaciones de entrada/salida por segundo será:

1.600 TPS * (2 + 2) accesos / transacción =64 accesos / segundo100 nuevos discos de 2,5"

DEPARTAMENTODE INFORMATICAyAUTOMATICA-UNED

Page 140: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

X-8 MATERlAL"DIDAC17CO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 1/1

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 141: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALD/DAC17CO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES /// XI-/

11 JUNIO 1995

Test (4 puntos)

1. ¿Cuál de las siguientes mejoras en el rendimiento incrementan la productividad pero no disminuyen el tiempo derespuesta?

a) Ciclo de reloj más rápido.b) Procesamiento paralelo.c) Distintos procesadores para distintas tareas.

2. ¿Cuál de las siguientes afirmaciones es verdadera?a) Puede ocurrir que un aumento del rendimiento ocasione una disminución de los MIPS.

.b) Los MIPS son independientes del repertorio de instrucciones.c) La ejecución de cualquier tipo de programa en un máquina siempre da como resultado el mismo númerode MIPS.

3. ¿Qué es una máquina de carga-almacenamiento?a) La que tiene un operando en un registro y el resto en memoria.b) La que tiene los tres operandos de una instrucción en los registros.c) La que utiliza un acumulador para cargar y descargar los operandos.

4. ¿Qué significa que un conjunto de operaciones es ortogonal con respecto a los modos de direccionamiento?a) Cada código de operación tiene asignado un número restringido de modos de direccionamiento.b) Un modo de direccionamiento implica un tipo de operación.c) Cualquier tipo de direccionamiento se puede utilizar con cualquier código de operación.

s. Cua ndo se diseña el control detallado para una máquina y se desea minimizar el CPI, esto implica:a) Disminuir el número de estados del diagrama de estados finitos.b) Disminuir la duración del ciclo de reloj.c) Aumentar el número de registros sin alterar el camino de datos.

6. La planificación de instrucciones es:a) Una técnica en la que se adelantan los resultados de una unidad funcional a otra alterando el flujo normaldel camino de datos.b) Una técnica que consigue que una instrucción se ejecute en un número de etapas inferior a laprofundidad de la segmentación.

. c) Una técnica para mejorar el CPI medio logrado con la segmentación.

7. Se desea leer un vector de 16 elementos de longitud 1 palabra (4 bytes) situado a partir de la dirección 16 de unconjunto de bancos de memoria, los cuales tienen una latencia de 4 ciclos. ¿En qué instante de tiempo se enviarán alos registros del procesador vectorial el contenido de las posiciones de memoria 28, 52 Y 76, suponiendo quedeseamos mantener una velocidad de iniciación de 1ciclo de reloj?

a) 7-13-19.b) 4-14-16c) 8-14-20

8. Los fallos de capacidad producidos en la caché son debidos a:a) El tamaño de uno de los bloques que es necesario traer de memoria principal es demasiado grande y nopuede almacenarse en la caché.b) La caché no puede contener todos los bloques de memoria que un programa necesita durante suejecución.c) La primera vez que se accede a la caché no se encuentra el bloque que se necesita.

DEPAKI'AMENl'O DE INFORMATlCA y AUTOMAT/CA-UNED

Page 142: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI-2 MATERIAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

9. ¿Cuál de las siguientes afmnaciones es correcta?a) Las E/S juegan un papel ridículo en el rendimiento de un sistema.b) El rendimiento de un sistema no está limitado por la parte más lenta del camino entre la CPU y losdispositivos de E/S.c) La productividad de la E/S puede limitar la productividad del sistema. de la misma forma que el tiempode respuesta de la E/S limita el tiempo de respuesta del sistema.

10. Una máquina SIMD puede tener un espacio de direcciones compartidas y una memoria física distribuida:a) Es posible.b) Nunca.c) Depende de los modos de direccionarnientos que se incorporen en el repertorio de instrucciones.

Problema 1 (3 puntos)

Ejercicio 5.1. del cuaderno de material didáctico.

Problema 2 (3 puntos)

a) Describe los riesgos por dependencias de datos. Como esquema de segmentación se debe utilizar el de DLX.b) Describe la técnica hardware llamada adelantamiento o desvío. ¿Qué solución se adopta para disminuir elnúmero de instrucciones que deben ser desviadas?c) Dibuja y explica la unidad de desvío utilizada para incorporar.a DLX la técnica de adelantamiento.

Soluciones del test

1. c2. a3. b4. c5. a6. c7. a

pág. 6pág. 43pág. 99pág. 153pág. 221pág. 287

. 4 bancos 2: Tiempo de acceso al banco

8. b9. c10.a

pág. 452pág. 539pág. 622

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

12 O . 4 828.. 16 20 2444 32 36 4060 48 ,52 5678. 64 68 72

Page 143: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESfRUClVRA y TECNOWGIA DE COMPUTADORES 111 XI-3

21 JUNIO 1995

Test (4 puntos)

1. Suponiendo que aplicamos una mejora a una máquina de tal forma que corre 20 veces más rápido, pero sólo sepuede aplicar esta mejora durante el 20% del tiempo. ¿Cuál es la aceleración global obtenida?

a) 1,23.b) 2,23.c) 3,33.

2. ¿Cuál de las siguientes afIrmacioneses verdadera?a) Un mismo programa en diferentes computadores ejecuta distinto número de instrucciones pero el mismonúmero de operaciones en punto flotante.b) Las estimaciones en MFLOPS nativos y MFLOPS normalizados siempre son similares.c) La cantidad de operaciones en punto flotante ejecutadas en distintas máquinas por un mismo programavaría ya que el repertorio de operaciones en punto flotante no es consistente con las máquinas.

3. ¿Qué ventaja conlleva una arquitectura de carga-almacenamiento con respecto a otras arquitecturas de registrosde propósito general?

a) El recuento de instrucciones es mayor.b) La codifIcación de las instrucciones de longitud fIja es más sencilla.c) No emplea registros para almacenar variables temporales.

4. ¿Cuál de las tres distribuciones de acceso a operandos es más propia de una arquitectura similar a DLX?. a) Memoria: 28%, Inmediato: 7%, Registro: 65%.b) Memoria: 50%, Inmediato: 10%,Registro: 40%.c) Memoria: 38%, Inmediato: 12%,Registro: 50%.

5. ¿Cuál de las siguientes afIrmaciones es verdadera?a) La codifIcación de campos en una microinstrucción implica que dos líneas de control no puedeninicializarse simultánemente.b) La codifIcación de campos ocasiona una drástica reducción en el CPI medio.c) La codifIcación de campos no es compatible con la utilización de formatos en los campos.

6. Suponiendo que un 30% de las instrucciones ejecutadas son saltos y de ellas el 50% son saltos efectivos, yconsiderando la segmentación de DLX, ¿cuál es el CPI medio que se obtiene utilizando el esquema de predecir-efectivo para reducir el número de ciclos de espera surgidos a causa de los riesgos de control?

a) 1,1.b) 1,3.c) 1,7.

7. En una unidad de procesamiento vectorial, ¿de qué depende el tiempo de arranque?a) Del número de elementos de que consten los operandos de tipo vecto,r.b) De la frecuencia con que la unidad funcional puede aceptar nuevos operandos.c) De la latencia de los segmentos de que consta la unidad funcional.

8. ¿Cuál es el principal objetivo de una jerarquía de memoria?a) Minimizar el tamaño de la memoria principal.

.b) Reducir los fallos de página.c) Aumentar el rendimiento del sistema.

9. El tiempo de transacción es el tiempo transcurrido:a) Entre la escritura de dos órdenes consecutivas.b) Entre que el usuario escribe una orden y obtiene la respuesta del sistema.c) Entre que el usuario recibe una respuesta a una orden y la asimila.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Page 144: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

o.. ...............

XI-4 MATERIAL DIDACTlCO DE ESTRUClVRA YTECNOWGIA DE COMPUTADORES 11I

10. Las máquinas SIMD se caracterizan por:a) Las unidades de ejecución paralela se encuentran sincronizadas.b) Cada unidad de ejecución dispone de una copia del código que se está ejecutando.c) Las unidades de ejecución disponen de un banco de registros compartido.

Problema 1 (3 puntos)

Ejercicios 4.4 Y4.5 del cuaderno de material didáctico.

Problema 2 (3 puntos)

a) Describe los riesgos de control. Como esquema de segmentación se debe utilizar el correspondiente a DLX.b) Indica una mejora hardware que permite reducir el número de ciclos de espera.c) Describe el método conocido como salto retardado para disminuir el número de detenciones ocasionadas por unriesgo de control. Indica los tipos de planificación que son posibles junto con un ejemplo de cada uno de ellos.

Soluciones del test

1. a

Aceleraci n = 1O 2 =1,2308+...!.-

, 20

2. c3. b4. a5. .a6. b

pág. 46pág. 100pág. 193pág. 224pág. 294

CPI =0,7 * 1 ciclo + 0,3 * 2 ciclos =1,3 ciclos/instr.

7. c8. c9. a10. a

pág. 385pág. 437pág. 548pág. 617

DEPARTAMENTO DE INFORMA TICA y AUTOMATlCA-UNED

Page 145: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

. MATERIAL D/DACT/CO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES 11I X/-5

SEPTIEMBRE 1995

Test (4 puntos)

1. Un corolario de la Ley de Arndahl expresa que:a) El incremento logrado en la aceleración siempre se corresponde de forma lineal con las mejoras aplicadasen el rendimiento.b) A partir de un cierto instante, las mejoras logradas en la aceleración mediante mejoras en el rendimientovandisminuyendo. .

c) A partir de un cierto instante, las mejoras logradas en la aceleración sólo dependen de la aceleraciónmejorada.

2. Sean dos alternativas de diseño para disponer de la posibilidad de realizar un salto condicional:CPU A: Instrucción de comparación que inicializa un código de condición (2 ciclos, resto instrucciones 1ciclo). El 30% de todas las instrucciones son de salto condicional, y el ciclo de reloj es un 15% más rápidoque el ciclo de la B.CPU B: La instrucción de comparación incluye el salto (2 ciclos, resto instrucciones 1ciclo).

¿Cuál de las siguiente afIrmaciones es la correcta?a) La CPU A con un ciclo de reloj más corto es más rápida que la CPU B,b) La CPU A con una frecuencia menor es más rápida que la CPU B,c) La CPU B al ejecutar menor número de instrucciones consume menos tiempo.

3. La eliminación local de subexpresiones comunes realizada por un compilador es una optimización que:a) Según el tipo de máquina dependerá del lenguaje de alto nivel.b) Depende de la máquina y ligeramente del lenguaje de alto nivel.c) Según el tipo de lenguaje de alto nivel dependerá de la máquina.

4. Sabiendo que en DLX las frecuencias de los valores de desplazamiento cero para los programas A, B, y C son15%, 25%, Y 17%,y que el recuento de instrucciones es el siguiente:

Instrucción Control Artimético/lógica Transferencia de datos Punto flotante TotalesABC

20%5%7%

36%28%41%

28%35%33%

0%15%0%

85%83%82%

Suponiendo que deseamos reemplazar el modo de desplazamiento cero por una instrucción especial con unalongitud que es la mitad de la habitual, ¿cuál es la disminución producida en el ancho de banda de instrucciones siutilizásemos esa instrucción especial?

a) 3%b) 10%c) 6%

5. Uno de los inconvenientes de codifIcar las líneas de control es:

a) Se origina un aumento del coste del hardware al ser necesarios nuevos decodifIcadores.b) Puede afectar a la duración del ciclo al ser necesario una lógica de decodifIcación.c) Puede ocasionar un aumento considerable del número de microinstrucciones al reducirse lasposibilidades de activación de las líneas de control.

6. En la técnica de planifIcación del hueco de retardo del salto, al utilizar la estrategia de "desde el destino",¿cuándo se consigue mejorar el rendimiento?

a) Cuando es efectivo el salto.b) Cuando el salto no es efectivo.c) Siempre.

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Page 146: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xl-6 MATERIAL DIDACf1CO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES I1I

7. Sea el siguiente código vectorial de DLXV:LV VI, RxMULTSV V2, SI, VISV Ry, V2

Suponiendo que Rx y Ry contienen las direcciones iniciales, ¿cuál es el tiempo total de ejecución considerando quehay dos canales de acceso a memoria, y que es posible realizar encadenamiento en la carga?

a) 97 ciclos.b) 161 ciclos.c) 165 ciclos.

8. El bit de modificación es propio de una política de escritura de páginas de la memoria caché en la memoriaprincipal denominada:

a) Escritura directa.b) Postescritura.c) Escritura inversa

9. Una carga de trabajo emplea 41 segundos en ejecutarse, estando la CPU ocupada 20 segundos y la E/S 36segundos. Suponiendo que colocamos una CPU con el doble de rendimiento y el triple de canales de E/S. ¿Cuál esel nuevo tiempo total de ejecución considerando un solapamiento escalado entre la E/S y la CPU?

a) 14,5 segundos.b) 17 segundos.c) 19 segundos.

10. Durante un tiempo, las investigaciones sobre procesadores SIMD quedaron frenadas en detrimento de losMIMD principalmente a causa de:

a) La mayor facilidad en el diseño de compiladores para MIMD que para SIMD.b) La no existencia de políticas adecuadas de sincronización de los procesadores.c) Su debilidad para el manejo de sentencias "case".

Problema 1 (3 puntos)

Considerar el siguiente código vectorial ejecutándose en una versión de 100 MHz. de DLXV para un vector con unalongitud de 64 elementos:

LVMULTVMULTSVSV

Vl,RaV2,Vl,V3V4,Sl,V2Rb,V4

a) Suponiendo que no existe encadenamiento y que hay un único canal de acceso a memoria, ¿cuántos ciclos dereloj por resultado necesita esta secuencia vectorial (incluyendo ambos almacenamientos como un resultado)?Suponer que V3 y S1 ya están cargados en sus correspondientes registros.b) Calcular R.., RJOoYTlOopara el código vectorial.c) Calcular N1/2para este bucle.d) Suponiendo que tenemos 2 canales de acceso y encadenamiento entre todas las unidades funcionales, calcular denuevo los ciclos de reloj por resultado para la anterior secuencia vectoriaI. Comentar el resultado en relación con elapartado a.

Problema 2 (3 puntos)

a) Explica y desarrolla la ecuación utilizada para calcular el tiempo total de la CPU teniendo en cuenta elrendimiento de la memoria caché.b) Describe las tres fuentes de fallos que son posibles en una memoria caché.c) Analiza como influyen el tamaño del bloque y de la memoria caché en la frecuencia de aparición de los tres tiposde fallos.

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA.UNED

Page 147: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIALD/DACT/CO DE ESTRUCTURA YTECNOLOG/A DE COMPUTADORES /// X/-7

Soluciones del test

1. b2. c3. b4. a

pág. 11 (Ley de los rendimientos decrecientes)pág. 40pág. 120

A : 15%

}

B: 25% Frecuencia media desplazamientos de cero =19%C:17%

M d. . . d ti.

d d28 + 35 + 33

32me la instruccIOnes e trans erenCla e atos= = 703

19%*32% =0,0304 = 3%2

5. b6. a7. c

pág. 225pág. 296

8. b9. b

pág. 444pág. 543

Ttotal =41 seg.

Tcpu = 20 seg.

TFJS = 36 seg.

Tsolapamiento= 15 seg.

Tsolapamiento escalado = 20 + 362 3

15 =17 seg.max (mejoraepu, mejoraFJs)

10.c pág. 617

Solución al problema 1

a) Vamos a calcular en primer lugar el tiempo de ejecución mediante la siguiente tabla:

Para confeccionar la tabla anterior hemos tenido en cuenta que a penalización por detención de una unidad es de 4ciclos, la inicializaciónnecesita 1 ciclo, el tiempode arranquede la multiplicaciónes de 7 ciclos y el de lascargas/almacenamientos es de 12 ciclos. Como no están encadenadas, cada unidad funcional tiene que esperar a quetermine la anterior ya que necesita el dato previo.

DEPAKTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Instmcción Inicio FinalLV Vl,Rx O 12+64 =76MULTSV V2,Sl,Vl 12+1=13 13+7+64 = 84

SV Rv,V2 84+1+4 = 89 89+12+64 = 165

Instmcción Inicio Fin Comentario

LVVI,Ra O 12+64=76 Latencia simnle de car!'!a

MULTV V2, VI, V3 76+1+4 =81 81+7+64=152 Esnera a LV, nenalización de 4 ciclos

MULTSV V4, SI, V2 152+1+4=159 157+7+64=228 Esoera a MULT, Denalizaciónde 4 ciclos

SV Rb, V4 228+ 1+4 =233 233+12+64 =309 Esnera a MULTSV, Denalizaciónde 4 ciclos

Page 148: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI-S MATERIAL DIDAC17CO DE ESTRUCTURA Y TECNOWGIA DE COMPl/TADORES 111

A partir de la tabla se deduce T64 =309 ciclos. Luego:

Ciclos de reloj por resultado = T64 =309 =4, 8364 elementos 64

b) Como no hay encadenamiento y sólo existe 1 canal de acceso a memoria, Telemeolo=4ya que hay 4 accesossecuenciales a las unidades funcionales.

Para calcular T 100utilizamos la expresión:

To = Tbase + f ¿1 * (TbUCle + T8rT8IIque)+ n * Telemeolo

donde Tbase=lOciclos Y Tbuclc= 15 para nuestra máquina.

En primer lugar, calculamos el tiempo de arranque:

Tamnque = T64 - 64*Telemenro= 309 - 64*4 = 53 ciclos

ya continuación, sustituimos en la expresión Tofijando el valor del parámetro n a 100:

TIOO=10+fl:1*(15+53)+100*4 =10+2 *68+400 =546 ciclos

Para calcular R100'empleamos la siguiente expresión:

R =n *operaciones P.F.*Frecuencia 100*2 *100 Mhz =36 6 MFLOPS100 TIOO 546'

El cálculo de R.. es similar al cálculo de R100pero suponiendo que el número de elementos es infinito:

l.

(Operaciones por iteraci n * Frecuencia

)Operaciones por iteraci n * FrecuenciaR =lm =

.. 0-'''. Ciclos de reloj por iteraci n lim(To)0-''' n

En primer I~gar. calcularemos el denominador:

To=lO+f¿1*68+4*n

10+f

..!!..

l*68+ 4 *n

li To l. 64 68m -= 1m =-+4=5.1

0-''' n 0-''' n 64

Luego:

2*100 Mhz. _ 39,2 MFLOPSR.. 5. 1

e) NI12es el número de elementos tal que RN =R.. .Para simplificar. supondremos que NI12S 64. Tendremos:1/2 2

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Page 149: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACfICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES l/l XI-9

't N = 10 + 1 * 68 + 4 * n = 78 + 4 * n1/2

R _n*2*100Mhz.N1/2- 78+4*n

Luego:

n *2 *100Mhz. 39,2 MFLOPS78+4*n 2

n =12,5

Por lo tanto, N 1/2=13.

d) Suponiendo dos canales de acceso a memoria y encadenamiento, tendremos:

A partir' de la tabla se deduce T64=173 ciclos. Luego:

Ciclosderelojporresultado= T6464 elementos

173 =2,7364

El encadenamiento y el número de canales de acceso a memoria reduce considerablemente el número de ciclos dereloj por resultado ya que desaparecen algunas de las penalizaciones por detención de las unidades funcionales.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Instrucción Inicio Fin ComentarioLVVl,Ra O 12+64=76 Latencia simple de carlZaMULTV V2, VI, V3 12+1=13 13+7+64= 84 Encadenada a LV.

MULTSV V4, SI, V2 84+1+4 =89 89+7+64= 160 Espera a MULT, nenalización de 4 ciclos.SV Rb, V4 96+1 =97 97+12+64=173 Encadenada a MULTSV.

Page 150: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI.IO MATERIAL DIDACl7CO DE ESTRUClVRA y TECNOWGIA DE COMPlIfADORES JJ/

11 JUNIO 1996

Test (4 puntos)

1. El bus A trae dos palabras simultáneamente pero debido al principio de localidad espacial el 15% de las vecesdesprecia una de ellas. El bus B dispone de la mitad de líneas. El coste del bus A es 10.000 ptas. Yel coste del B esde 10.800 ¿Cuál tiene mejor relación coste-rendimiento?

a) A.b) B.c) La diferencia no es significativa.

2. Escriba la ecuación de coste de un circuito integrado desarrollándola todo lo que sea posible.

3. ¿Qué referencias a memoria se decrementan con un aumento del número de registros enteros en una máquinacarga/almacenamiento?

a) Referencias no-ubicadas.b) Referencias a escalares globales.c) Referencias de guardar-restaurar valores a causa de llamadas a procedimientos.

4. Una de las razones de que la frecuencia global de las instrucciones de transferencia de datos en el 8086 seamucho mayor que en el VAX es que:

a) El 8086 dispone de más registros de propósito especial que el VAX lo que impide una mayor colocación dedatos en la CPU en detrimento de los accesos a memoria.b) Los modos de direccionamiento del VAX son ortogonales lo cual facilita el acceso a los datos con menosinstrucciones pero más complicadas.c) Los registros del 8086 son de menor longitud que los registros del VAX lo que obliga a realizar dos o mástransferencias y cargas.

S. ¿La adición de nuevos estados en control cableado puede afectar a la duración de ciclo de reloj?a) No. ya que el contenido de cada estado se debe ejecutar exactamente en un ciclo de reloj.b) Puede afectar si el control emplea más tiempo que las operaciones correspondientes del camino de datos.c) Puede afectar ya que la adición de estados ocasiona un incremento de las líneas de control.

6. Una implementación de DLX segmentada emplea 5 ciclos en las multiplicaciones en punto flotante sinsegmentar. ¿A partir de qué valor el porcentaje de multiplicaciones en punto flotante tendrá un impacto significativoen el rendimiento?

a) > 5% si no están uniformemente distribuidas.b) ~ 20% si están uniformemente distribuidas.c) > 20% si están uniformemente distribuidas.

7. ¿Qué significa el término velocidad sostenida?a) El tiempo total al procesar varias operaciones relacionadas.b) El tiempo por elemento al procesar un vector de mayor longitud al registro vectorial.c) El tiempo por elemento al ejecutar varias operaciones relacionadas.

8. Los fallos por conflictos se eliminan mediante una política de:a) Ubicación por correspondencia directa.b) Ubicación asociativa por conjuntos.c) Ubicación completamente asociativa.

9. Modelando un sistema de E/S como un modelo productor-servidor. tendremos que:a) Un tiempo de respuesta menor ocasiona mayor productividad.b) Una mayor productividad se consigue con un tiempo de respuesta mayorc) A mayor tiempo de respuesta. menor productividad.

10. Describe brevemente una arquitectura sistólica.

DEPARTAMENTO DE INFORMAT/CA y AlIfOMATICA-UNED

Page 151: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES III Xl-U

Problema 1 (3 puntos)

En este problema se va a examinar la relación coste/rendimiento de dos microprocesadores que contienen el mismorepertorio de instrucciones.

La primera opción es un microprocesador de Arseniuro de Galio (AsGa). Una oblea de AsGa de 10 cm. de diámetrocuesta 1000$. El proceso de fabricación origina 4 defectos por centímetro cuadrado. El microprocesador fabricadocon esta tecnología se espera que alcance una frecuencia de reloj de 250 Mhz., con un CPI medio de 1,5 para unsistema de memoria carente de ineficiencias. El tamaño del microprocesador es 1,0 x 1,0 cm2 (Se asume que De es2,0 para el Arseniuro de Galio y para CMOS).

La segunda opción es un microprocesador CMOS. La oblea de 15 cm. de diámetro con 2 defectos por cm2 cuesta500$. El área del dado es de 1,0 x 2,0 cm2. El diseño de ese microprocesador permite ejecutar múltiplesinstrucciones por ciclo de reloj, logrando una media de 0,75 ciclos por instrucción si asumimos un sistema dememoria sin ineficiencias y una frecuencia de reloj de 50 Mhz.

Tras analizar ambos productos se descubre que un sistema de memoria puede ser construido para ambosmicroprocesadores, y que el tiempo extra para accesos a memoria de datos e instrucciones es el mismo para los doschips: 10 ns. Dada la expresión de la productividad del dado:

Productividad del dado =0,9 * {1 + Defectos por unidad ~ rea * Area del dado} -a

a) ¿Cuál es el costo de un dado sin testear de AsGa? (0,6 puntos)b) ¿Cuál es el costo de un dado fabricado con tecnología CMOS sin testear? (0,6 puntos)c) Calcula el rendimiento en MIPS nativos para ambos procesadores. ¿Cuál es el más rápido y en qué porcentaje? (1punto) .

d) Utilizando los costes calculados anteriormente, ¿cuál es la relación coste/rendimiento de cada opción? ¿Cuál esla relación coste/rendimiento del micro de AsGa frente al fabricado con tecnología CMOS? (0,8 puntos)

Problema 2 (3 puntos)

Suponga que tiene una versión de DLX sin la técnica del salto retardado con los siguientes tipos de riesgos:

Suponiendo que el CPI sin detenciones en el pipeline es 1,5 y la mezcla de instrucciones es la siguiente:

a) Compare el rendimiento del pipeline ideal con el pipeline con riesgos de datos y control (1 punto)b) Suponga que ahora se implementa la técnica de salto retardado. Compare la nueva máquina con las dos anterioresutilizando los datos de la tabla como las probabilidades debe llenar los 2 slots siguientes al salto. (1 punto)

Ningún hueco ocupado: 40% Ocupar 1 hueco: 40% Ocupar 2 huecos: 20%

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Tino de instrucción Tino de rieso Lontud mediaCargas datos 0,5Saltos y bifurcaciones control 2Multiplicaciones en FP datos 3Sumas v Restas en FP datos 1Divisiones en FP datos 10

Control 5% Transferencia de datos 35% Punto flotante 15%B--Z 2% LW 8% FMUL 5%J 3% SW 2% FADD 4%JAL LBU FSUB 3%JR LD 14% FDIV 3%

SD 6%MOVFP2I, MOVI2FP 5%

Page 152: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

}(J-/2 MATERlAL D/DAC17CO DE FSTRUCTURA y TECNOLOG/A DE COMPUTADORES ///

c) Si el número medio de ciclos de detención para la multiplicación se puede reducir a 1,5 ó la división a 5, ¿quémejora en el rendimiento se obtiene con cada esquema?, ¿cuál es el más aconsejable? Considere para ese caso lamáquina del apartado (a) . (1 punto)

Soluciones del test

1. c

La ocupación del bus A es inferior a la del bus B (100% de aprovechamiento) ya que debido al principio delocalidad espacial se desprecian algunas palabras. El porcentaje de aprovechamiento del bus A es del:

50%+0,85*50% = 92,5%

A partir de este dato calculamos la relación coste/rendimiento para cada uno de los buses:

10.000 =108,108Bus A: 92,5%

10.800 ;" 108Bus B: 100%

Se puede apreciar que la diferencia entre ambos buses no es significativa.

1. Cuestiónbreve2. a pág. 1263. a pág. 1914. b pág.2425. c pág.279-280

Para evitar pérdidas de rendimiento es necesario que no se produzcan detenciones, para lo cual la unidadfuncional debe de estar libre en el momento en que vaya a procesarse una multiplicación. Si la profundidad dela segmentación es de 5 ciclos y las multiplicaciones están uniformemente distribuidas, como máximo de cada5 instrucciones una debe ser una multiplicación. Por lo tanto, con menos de un 20% de multiplicaciones no seproducen detenciones en la segmentación. En el esquema podemos apreciar el aspecto que tendría lasegmentación si las multiplicaciones estuvieran uniformemente distribuidas.

Multiplicación

6. c pág.3877. c pág.4548. b pág. 5469. Cuestión breve

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

Page 153: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACI'ICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES Il1 XI-/3

Solución al problema 1

a) Vamos a suponer que el número de dados de test por oblea es 5. Cualquier otra cantidad sería aceptable siempreque fuese razonable.

Dados por oblea =1r * (Di metro de la oblea/2) 2

. Areadel dado -Dadosporoblea=1r*(1012)2 1r*10I - r;:;-;;-¡- 5 = 51,,2 *I

1r * Di metro de la oblea

";2 * Area del dadoDados de test por oblea

Productividad del dado =0,9 * {I + Defectos por unidad ~ rea * Area del dadO} -Q

Productividad del dado =0,9 * {1+ 4; I }-2 =10%

C d d d _ Costede la oblea - 1000$ _ 19608$oste e un a o- . - -,Dados por oblea * Productividad del dado 51 * 10%

b)

Dados por oblea = 1r * (Di metro de la oblea/2) 2Area del dado -

pados por oblea =1r* (1512)2 1r* 152 - ~ - 5 =59,,2*2

1r * Di metro de la oblea

";2 * Area del dadoDados de test por oblea

Productividad del dado =0,9 * {I + Defectos por unidad ~ rea * Area del dadO} -Q

Productividad del dado =0,9 * {I + 2 ; 2 }-2 =10%

C d d dCoste de la oblea

oste e un a o = =Dados por oblea * Productividad del dado

500$

59 * 10%84,74$

c) Lo primero que es necesario realizar es el cálculo del nuevo CPI para lo cual debemos de tener en cuenta eltiempo de acceso extra que se consume en cada acceso a memoria de datos e instrucciones: 10 nseg. De acuerdo conesto, los ciclos extra que se añaden al CPI de cada máquina tomando com la duración de un ciclo serían:

CPI _ 10 nseg.accesos a memoria Arscniuro de galio - P d

=10 nseg. * 250 Mhz. = 2,5er O O Arseniuro de galio

CPI 10nseg.accesos a memoria CMOS = P d = 10 nseg. * 50Mhz. = 0,5er O 0CMOS

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA.UNED

Page 154: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xl.J4 MATERIAL DIDAcnCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I

Por lo tanto:

CPI Arseniurodegallo = CP1medio + CP1accesosa memoria=1,5 + 10 nseg. * 250 Mhz. =1,5 + 2,5 =4

MIPS. . =Frecuencia de reloj 250 Mhz. _Arsemurodegallo CPI * 106 4 * 106 - 65,5

CP1CMOS =CP1medio + CP1accesosamemoria =0,75 + 10 nseg. * 50Mhz. =0,75 + 0,5 =1,25

MIPS Frecuencia de reloj 50 Mhz.- - -40CMOS- CPI* 106 - 1,25 * 106

Rendimiento Arseniuro de Gallo =62, 5 =1,5625RendimientoCMos 40

Por lo tanto, el microprocesador de Arseniuro de Galio es un 56% más rápido que el microprocesador construidocon tecnología CMOS.

d)

Coste por MIPS para el microprocesador de Arseniuro de Galio: 196,08$ =3,13 $/MIPS62,5 MIPS

1. 84,75$

Coste por MIPS para e nucroprocesador CMOS : 2,18 $/MIPS40 MIPS

De los datos que acabamos de obtener podemos calcular la relación coste/rendimiento del microprocesador deArseniuro de Galio frente al fabricado con tecnología CMOS:

Coste por MIPS para el microprocesador de Arseniuro de Galio _ 3,13 $/MIPS _ 1 43Coste por MIPS para el microprocesador CMOS 2,18 $/MIPS '

El coste del micro de Arseniuro de Galio es un 43% superior al coste del micro CMOS, por lo que la relacióncoste/rendimiento de este último es mejor. Un aspecto importante a tener en cuenta en la comparación delrendimiento es que en este caso es válida a pesar de las desventajas ya conocidas de los MIPS, ya que ambosprocesadores disponen del mismo repertorio de instrucciones

Solución del problema 2

a) En primer lugar vamos a calcular el CPI teniendo en cuenta las detenciones debidas a los riesgos. Para ello,partiremos del CPI ideal e iremos añadiendo las detenciones producidas por cada tipo de instrucción, pero teniendoen cuenta el porcentaje de cada instrucción en la mezcla total:

CPlcon detenciones= CPlidcal + Detenci n datos + Detenci n saltos + Detenci n FPMuh + Detenci n FPAddYSub + Detenci n FPDiv

CPlcondetenciones= 1,5 + (0,08 + 0,14) * 0,5 + 0,05 * 2 + 0,05 * 3 + (0,04+ 0,03) * 1+ 0,03 * 10=2,23 ciclos

Del resultado obtenido, podemos afIrmar que la máquina sin detenciones es un 48,7% más rápida:

CPlcondeteciones -CPl1dca\ * 100 =2,23 ciclos -1,5 ciclos * 100 =48,7%CPIIdeal 1,5 ciclos

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA.UNED

Page 155: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES JII XI-15

b) En primer lugar vamos a calcular las penalizaciones producidas por instrucciones de salto con y sin la técnica desalto retardado:

Penalizaci n salto retardado =%cargas * (%no hueco * retardo + %1 hueco ocupado * retardo + %2 huecos ocupados * retardo)

Penalizaci n salto retardado =5% * (40% * 2 ciclos + 40% * 1 ciclo + 20% * Ociclos) =0,06 ciclos

Penalizaci n sin salto retardado = %cargas * ciclos de retardo

Penalizaci n sin salto retardado = 5% * 2 ciclos =0,1 ciclos

Una vez obtenidas las penalizaciones, recalculamos el CPI con detenciones (obtenido originalmente en el apartadoanterior) para así considerar la utilización de la técnica del salto retardado:

Nuevo CPlcon detenciones=CPI con detenciones - Penalizaciones sin salto retardado + Penalizaciones con salto retardado

Nuevo CPlcon detenciones = 2,23 ciclos - 0,1 ciclos + 0,06 ciclos =2,19 ciclos

La máquina original es un 46% más rápida que la máquina con detenciones teniendo en cuenta la técnica del saltoretardado:

Nuevo CPlcondetenciones -CPl1deal * 100= 2,19 ciclos -1,5 ciclos * 100 = 46%CPl1deal 1,5 ciclos

Mientras que comparándola con la máquina con detenciones del apartado (a), tenemos que es un 1,82% más rápida:

CPlcon detenciones-Nuevo CPlcon detenciones * 100 = 2,23 ciclos - 2,19 ciclos * 100 = 1,82%Nuevo CPlcondetenciones 2,19 ciclos

c) Comenzamos realizando los mismos cálculos que en el apartado (b) sólo que en este caso, en lugar de calcular lapenalización debida a las instrucciones de carga, lo realizamos para las multiplicaciones y las divisiones en puntoflotante: .

Nueva penalizaciones FP Mult = % multiplicaciones FP * nuevos ciclos de detenci n =5% * 1,5 ciclos = 0,075 ciclos

Penalizaciones FP Mult = %multiplicaciones FP * ciclos de detenci n = 5% * 3 ciclos =0,15 ciclos

Nueva penalizaciones FP Div =% divisiones FP * nuevos ciclos de detenci n =3% * 5 ciclos =0,15 ciclos

Penalizaciones FP Div =% divisiones FP * ciclos de detenci n = 3% * 10 ciclos =0,3 ciclos

Una vez obtenidas las penalizaciones producidas por las multiplicaciones y divisiones, procedemos a recalcular elnuevo CPI. Partimos del CPI calculado en el apartado (a), y reemplazamos las penalizaciones por las operaciones enpunto flotante (Mult y Div) por las nuevas penalizaciones obtenidas de considerar una redución del número deciclos de penalización:

CPlcon detencionesyMULTmejoradas= 2,23 - 0,15 + 0,075 = 2,155 ciclos

CPlcon detenciones y DIV mejoradas = 2,23 - 0,3 + 0,15 =2,08 ciclos

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 156: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xf-/6 MATERIAL D/DACTICO DE ESTRUCTURA Y TECNOWG/A DE COMPUTADORES ///

Calculados los nuevos CPI podemos ya realizar la comparación con el CPI del apartado (a), para lo cual aplicamosla ley de Amdahl. Obtendremos que para el caso de multiplicaciones la nueva máquina es un 3,48% más rápida,mientras que para las divisiones es una 7,21%:

CPlcon detenciones - CP1con detenciones y MULT mejoradas * 100 2,23 ciclos - 2,155 ciclos= . *100=3,48%

CP1condetencionesyMULTmejoradas 2,155 ciclos

CPlcon detenciones - CPlcon detenciones y DlV mejoradas * 100 2,23 ciclos - 2,08 ciclos. =. *100=7,21%

CP1condetencionesyDlVmejoradas 2,08 ciclos

Por lo tanto, la reducción de los ciclos de penalización en las divisiones en punto flotante es una mejor elección.

DEPARTAMENTO DE INFORMAT/CA y AUTOMATlCA-UNED

Page 157: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I XI-17

211JUNIO 1996

Test (4 puntos)

1. Dada una memoria caché de 2.000 instrucciones que sigue la regla 90-10 y cuyos accesos son uniformementedistribuidos, ¿qué porcentaje de los accesos a un progprama de 30.000 instrucciones puede colocarse en la memoriacaché?

a) 7%.b) 30%.c) 66%.

2. La ejecución de un programa de cálculo de estructuras conlleva la ejecución de las siguientes operaciones enpunto flotante: 10.000 DIV, 10.000 SQRT, 20.000 MULT Y50.000 SUB YADD. El coprocesador matemático sóloimplementa SUB, ADD, MULT YDIV, originando que se ejecuten 20.000 DIV, 40.000 MULT Y90.000 ADD YSUB. ¿Cuál es el número de MFLOPS normalizados? La frecuencia es 10 Mhz, el tiempo de ejecución 10 seg., ylas DIV y SQRT reales equivalen a 4 operaciones en punto flotante normalizadas.

a) 0,015 MFLOPS.b) 0,023 MFLOPS.

. c) 0,032 MFLOPS.

3. Describa brevemente el algoritmo de coloreado de grafos.

4. ¿Cuál de las siguientes afirmaciones es correcta?a) DLX hace mayor uso del modo de direccionamientopor registro que el VAX.b) La utilización de los operandos en DLX, dadas sus características, es bastante equilibrado.c) La existencia de instrucciones decimales en el VAX decrementa el número de instrucciones aritméticas.

5. ¿Cuál es la razón del detrimento del control microprogramado en favor del cableado en los computadoresactuales?

6. Las referencias a datos constituyen el 30% del recuento y el CPI ideal de la máquina es 1,2. Sin considerar otrapérdida de rendimiento, ¿en qué porcentaje es más rápida la máquina ideal sin los riesgos estructurales de memoria,frente a la máquina con los riesgos?

a) 25%.b) 50%.c) 80%.

7. El efecto de incrementar el tiempo de arranque es:a) Considerable si la velocidad de iniciación es grande.b) Independiente con respecto a la velocidad de iniciación.c) Pequeño si la velocidad de iniciación es pequeña.

8. Generalmente ante fallos de escritura:a) Las memorias cachés de postescritura utilizan ubicación de escritura.b) Las memorias cachés de escritura directa utilizan ubicación de escritura.c) Las memorias cachés de postescritura utilizan un buffer de escritura.

9. Dado un disco con una velocidad de 7.200 RPM, un tiempo medio de búsqueda de 12 ms, una frecuencia detransferencia de 2 Mbytes y un tiempo del controlador de 2 ms. ¿Cuál es el tiempo para efectuar la lectura de unbloque de 512 bytes?

a) 14,39ms.b) 18,42 ms.c) 24,12 ms.

10. Brevemente, describa dónde radica la falsa dicotomía memoria compartida-memoria distribuida.

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 158: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xl-lB MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOWGIA DE COMPUTADORES III

Problema 1 (4 puntos)

En este momento se encuentra investigando sobre un nuevo modo de direccionamiento para DLX que permite queun operando fuente esté en memoria para las operaciones de la ALU. Para contrarrestar este incremento en lacomplejidad opta por restringir todos los direccionamientos a memoria para que sean sólo de registro indirecto (esdecir, no hay modo desplazamiento). De acuerdo con la segmentación de DLX que aparece en el siguiente cuadro:

a) Proponga los cambios necesarios al pipeline de DLX para que incluya este modo de direccionamiento. Dibuje elnuevo cuadro de la segmentación y explique los cambios (].6 puntos).b) Describa los nuevos riesgos de datos que surgen con este nuevo modo de direccionamiento en caso de que loshaya. Escriba un ejemplo de cada uno, clasifíquelos y describa los conflictos utilizando los datos anteriores (0,8puntos).c) Liste todos los cambios o adiciones que se deban añadir al hardware para soportar este nuevo modo (registros,caminos adicionales, multiplexores, etc.) (0,8 puntos).d) Plantee una lista de preguntas que deban ser respondidas para estimar el impacto de este cambio en elrendimiento de DLX (0,8 puntos).

Problema 2 (2 puntos)

Uno de los aspectos que debe tener muy claro todo ingeniero son lo costes que intervienen en sus proyectos. En sucaso es necesario que conozca cuales son los términos que definen el precio de lista de una máquina. Deduzca laconocida expresión del precio de lista que liga el coste de los componentes, los costes directos, el descuento medioy el margen bruto.

Soluciones del test

1. c pág. 21

El 10% de 30.000 instrucciones es 3.000. Ya que l~ capacidad de la caché es de 2.000 instrucciones,sólo es posible almacenar en un instante un 66% del total de instrucciones buscadas.

2. a pág. 46

Para calcular los MFLOPS normalizados utilizaremos la cantidad de operaciones que refleja el códigofuente, es decir, el programa de cálculo de estructuras, tras lo cual, multiplicaremos estas operacionespor sus valores de normalizacón:

DEPARTAMENI'O DE INFORMATlCA y AUTOMATlCA-UNED

Etapa Instrucción de la ALU Cama o almacenamiento Instrucción de saltolF IR t- MEM[PC] ; IR +- MEM[PC]; IR +- MEM[PC] ;

PC+- PC+4; PC+- PC+4; PC+- PC+4;ID A+- Rsl; B +-Rs2; A +- Rsl; B +-Rs2; A +- Rsl; B +-Rs2;

PCl +- PC; IRl +- IR PCl +- PC; IRl +- IR PCl +- PC; IRl +- IREX ALUoutput +-A op B; DMAR+ ( (IR,,) 16##IR1"_J1) ; ALUoutput+-PCl + ( (IR16) 16##IR1"_31) ;

6 SDMR+-B; cond+-(Rsl op O)ALUoutput+-

A op «IR,,) 16##IR1"_J1) ;

MEM ALUoutputl +- ALUoutput LMDR+-Mem[DMAR] ; if (cond) PC +- ALUoutput;6

Mem[DMAR] +- SMDR;

WB RD +- ALUoutputl RD+-LMDR;

Page 159: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACI'/CO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES 11I X/-/9

El total de operaciones en punto flotante normalizadas es 150.000,siendo los MFLOPS 0,015:

MFLOPS =n mero de operaciones en punto flotante de un programa = 150.000 0,015 MFLOPSTiempo de ejecuci n * 106 10 * 106

. 3. Cuestión breve pág. 1214. c pág. 1845. Cuestión breve pág. 2586. a pág. 2797. a pág. 3858. a pág. 4459. b pág. 556

T'

d.

d. 0,5

lempo me lO e rotacI n =7.200 RPM

~ =0,0041667 seg.=4,1667 mseg.120 RPS

. . 0,5 KbytesTiempo de transferencia = . 0,00025 seg. =0,25 mseg.

2000 Kbytes/seg.

Tiempo acceso medio =Tiempo b squeda + Tiempo medio rotaci n + Tiempo transferencia + Gasto controlador

Tiempo acceso medio =12 mseg. + 4,1667 mseg. + 0,25 mseg + 2 mseg. =18,4167 mseg.

10. Cuestión breve pág. 622-623

Solución al problema 1

a) La mejor altenativa es intercambiar las etapas EX y MEM, con el fin de poder cargar el operando de memoria enel registro LMDR para el caso en que sea utilizado por la ALU para realizar las operaciones aritméticas. Vamos a iranalizando los cambios que sufre el cuadro de la segmentaciónpara cada uno de los tres tipos de instrucciones.

Instrucción de la ALUEn primer lugar, en la etapa ID es necesario preparar el registro DMAR almacenando en él el campo de lainstrucción que contiene la dirección de memoria del operando. En nuestro caso vamos a considerar que el operandoRs 1puede contener tanto la dirección del operando en memoria como el identificador de un registro.

Una vez que tenemos el registro DMAR preparado, accedemos a memoria en la siguiente etapa (MEM), traemos eloperando y lo situamos en el registro LMDR. El siguiente paso es incluir en el etapa EX la posibilidad de operarcon este nuevo tipo de operando. Hasta ahora, las operacionesde la ALU se realizaban entre dos registros o entre unregistro y un inmediato, por lo que hay que considerar la posibilidad de operar un registro o un inmediato con eloperando.

Ya en la etapa de postescritura, situamos el resultado de la ALU en el registro Rd especificado por la instrucción.

DEPARTAMENTO DE /NFORMATICA y AUTOMATICA-UNED

Operaciones reales PF Valor normalizacion Operaciones normalizadas10.000 DIV 4 40.000

10.000 SORT 4 40.00020.000 MULT 1 20.000

50.000 SUB v ADD 1 50.000

Page 160: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XJ.]f) MATERIAL DIDACl7CO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES 11I

Carga o almacenamientoEl intercambio de las dos etapas provoca que en este tipo de instrucciones sea necesario preparar los registrosSMDR y DMAR en la etapa ID (ya que en la segmentación original esto ocurría en la etapa EX) cargandodirectamente los registros desde los campos RsI y Rs2 de la instrucción. Como para las instrucciones aritméticashabíamos preparado el registro DMAR, sólo es necesario incluir en la etapa ID una orden para cargar el SMDR conel valor de Rs2.

Dispuestos los registros, en la etapa MEM efectuamos las operaciones adecuadas, bien para traer de memoria o bienpara almacenar. Tras esto, surge la necesidad de añadir un nuevo registro -al cual denominaremos LMDRl- paramantener el dato traído de memoria durante la etapa EX, ya que el contenido del registro LMDR puede serdestruido por la etapa EX de una instrucción de la ALU. Finalmente, el contenido del registro que acabamos decrear se almacena en el registro destino especificado por la instrucción.

Instrucción de saltoLas instrucciones de salto son las que menos problemas plantean, ya que, si recordamos los apuntes del libro, elcálculo de la dirección de salto y de la condición se efectúa en la etapa ID. De esta forma, aunque el orden en que seproducen las operaciones de las etapas EX y MEM es absurdo, no afecta en nada a la correcta ejecución de lasinstrucciones de salto. .

b) Riesgo RAW: la instrucción j utiliza una fuente antes de que la escriba i, de tal forma quej toma incorrectamenteel valor antiguo.

Un ejemplo de este tipo de riesgo, es el caso en que hay dos instrucciones aritméticas consecutivas:

ADD Rl, R2, R3NOPADD R4, (Rl), R5

Observe sé que la primera instrucción escribe el resultado en Rl durante la etapa WB, utilizando la tercerainstrucción un valor incorrecto para extraer el contenido de la posición de memoria apuntada por Rl. Una posiblesolución a este caso es adelantar el resultado de la etapa EX a la etapa MEM utilizando un multiplexor para

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA.UNED

EtaDa Instrucción de la ALU Car28 o almacenamiento Instrucción de saltoIF IR +- Mem[PC] ; IR +- Mem[PC] ; IR +- Mem[PC] ;

PC +- PC+4; PC +- PC+4; PC +- PC+4;ID A +- Rsl; B +-Rs2; A +- Rsl; B +-Rs2; A +- Rsl; B +-Rs2;

DMAR+- Rsl; SDMR +-Rs2; DMAR+- Rsl; SDMR+-Rs2; DMAR+- Rsl; SDMR +-Rs2;PCl +- PC; IRl +- IR; PCl +- PC; IRl +- IR; PCl +- PC; IRl +- IR;

MEM LMDR +- Mern[DMARl LMDR +- Mem [DMAR] ; if (cond) PC +-ALUoutput;6

Mem[DMARl +- SMDR;

EX ALUoutput +-A op B; LMDRl +- LMDR; ALUoutput+-PCl +6 ( (IR16) 16##IRl16_H) ;

ALUoutput +-A op cond +- (Rsl op O);((IR16) 16##IR11L31) ;

6

ALUoutput +-LMDR op B;6

ALUoutput +- LMDR op((IR16) 16##IRl16_H);

WB Rd +- ALUoutputl Rd +- LMDRl;

Page 161: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACTICO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES III XI-21

discernir si se utiliza para acceder a memoria el resultado producido por la ALU o el valor almacenado en el registroDMAR. En la figura se puede apreciar el adelantamiento:

ADD R4, (Rl), R5

ADD Rl, R2, R3

NOP

Otro ejemplo de este tipo de riesgo viene dado por el siguiente fragmento de código:

ADD Rl, R2, R3ADD R4, (Rl), R5

En este caso, la segunda instrucción necesita el valor de la posición de memoria apuntada por Rl durante la etapaMEM, que sucede en el mismo instante de tiempo que la etapa EX de la primera instrucción que es donde se accedea memoria para traer el contenido de la posición de memoria apuntada por Rl. La solución a este caso pasaineludiblemente por efectuar una detención, para equipararse al primer caso (recuerda: una detención es similar auna instrucción NOP).

Riesgos WAW y W AR:Registros: ninguno ya que los registros se escriben siempre en la última fase y se leen en la segunda.Memoria: ninguno ya que la memoria se lee y escribe siempre en la tercera fase.

c) Una lista de los posibles cambios a realizar en el hardware es:

. Un nuevo registro de carga de datos de memoria, al cual hemos denominado LMDRl.. Nuevos caminos de datos desde el banco de registros a los registros DMAR y SDMR.

. Un multiplexor en el DMAR para manipular el adelantamiento de los datos.

. Hardware para realizar las detenciones que no pueden evitarse mediante adelantamiento en los riesgos RAW.

d) Algunas preguntas son:

. ¿Se produce algún tipo de impacto en la duración del ciclo de reloj?. Para conocer si la supresión del modo de direccionamiento desplazamiento provoca la ejecución de un númeroextra de instrucciones: ¿Qué porcentaje de cargas y almacenamientosutilizan el modo desplazamiento?. Para intentar averiguar el número de instrucciones de carga que se evitan debido al nuevo método dedireccionamiento: ¿Qué porcentaje de cargas colocan un valor en un registro utilizado sólo una vez por unaoperaciónde la ALU? .. Después de que el compilador sea rediseñado para que el modo de desplazamiento sea calculado en un registro,¿qué porcentaje de instrucciones tendrían que calcular una dirección para ser utilizada inmediatamente por lasinstrucciones siguientes? Básicamente sería calcular cuántas veces es posible sustituir las instrucciones:

LD Rop¡,desplazamiento(Rop¡)ADD Rd, Rop¡,Rop2

por:

ADD Rop¡,Rop" desplazamientoLD Rop¡, Rop¡ADD Rd, Rop¡, Rop2

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 162: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI-22 MATERIAL DIDACf1CO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES111

Obsérvese que para que los dos casos sean completamente equivalentes, el contenido de la posición de memoriadesplazamiento(Ropl) debe pennanecer en el registro Ropl tras la operación aribnética. Por este motivo seutiliza una instrucción de carga, en lugar de acceder a memoria directamente en la instrucción aribnética (esdecir, ADD Rd' (Rop¡), Rop2). De optar por este último caso, no queda almacenado el valor dedesplazamiento(Ropl) en Ropl ya que el dato traído de memoria se almacena durante la operación aribnética enLMDR y después se pierde, mientras que la carga lo almacena en el banco de registros.

Para completar el análisis de este punto sería necesario tener en cuenta los ciclos de detención que seproducirían en cada caso. Para el caso de la segmentación nonnal de DLX, el hecho de existir una instrucción decarga y una operación aribnética adyacentes implica siempre una detención de un ciclo de reloj (ver texto basede la asignatura pág. 285). Para el caso que nos ocupa, la combinación de las instrucciones anteriores implica elsiguiente esquema segmentación:

ADD Ropl, Ropl, desplazamiento

LD Ropl, Ropl

ADD Rd, Ropl, Rop2

NOTA: en lugar de W Rop¡,Rop/se puede utilizar ADD Rop/. (Rop/). RO

Otra alternativa de segmentación, no tan óptima como la anterior, es darse cuenta de que sólo es necesaria una etapade acceso a memoria. Esto ocasionaría tener 6 etapas, teniendo la segmentación el siguiente aspecto:

Los riesgos que surgen con esta alternativa son los mismos que con la anterior. Por otra parte, es necesario mayorprofundidad en el hardware de adelantamiento situado a la salida de la ALU. Esto es debido a que antes se realizabaadelantamiento a 2 instrucciones y ahora es a 3. En el esquema siguiente podemos observar el motivo por el cual esnecesario añadir un nivel más al hardware de adelantamiento.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Etapa Instrucción de la ALU Cal'1!ao almacenamiento Instrucción de saltoIF IR Mem[PC]; IR Mem[PC]; IR Mem[PC];

PC PC+4; PC PC+4; PC PC+4;ID A Rsl; B Rs2¡ A Rsl; B Rs2¡ A Rsl; B Rs2;

DMAR Rsl; SDMR Rs2; DMAR Rsl; SDMR Rs2; DMAR Rsl; SDMR Rs2;

PCl PC; IRl IR PCl PC; IRl IR PCl PC; IRl IR

EXl LMDR Mem[DMAR]

EX2 ALUoutput A op B; ALUoutput+-PC1+ ( (IR,,) 16##IRl16_31) ;6 cond (Rsl op O)

ALUoutputA op «IR,,) 16##IR1"_31) ¡

6

ALUoutput LMDR op B¡6

ALUoutput LMDR op «IR,,) 16##IR1"_31) ;

MEM ALUoutputl ALUoutput LMDRl Mem [DMAR] ; if (cond) PC ALUoutput;6

Mem[DMAR] SMDR;

WB RD ALUoutputl RD LMDRl;

Page 163: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DlDACTICO DE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 111 XI-E

Con respecto a las modificaciones hardware, éstas son las mismas teniendo en cuenta que la profundidad delhardware de adelantamiento ahora debe tener un nivel más.

Solución al problema 2

El problema se puede encontrar resuelto en este mismo cuaderno de apuntes en el capítulo dedicado al Tema 2,apartado (e) del problema 2.10.

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA-UNED

ADD Rl, R2, R3

SUB R4, Rl, RS

ANO R6, Rl, RS

OR RS, Rl, RS

SUB R4, Rl, R10

ADD R2, Rl, R10

Page 164: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI.U MATERIAL DIDACTlCO DE ESTRUC1VRA y TECNOLOGIA DE COMPUTADORES 111

SEPTIEMBRE 1996

Test (4 puntos)

1. ¿Qué entendemos por la expresión organización de un ordenador?a) El repertorio de instrucciones a nivel de máquina que es visible por un programador.b) La relación existente entre los distintos componentes que conforman la arquitectura del ordenador.c) El conjunto de formatos en que se organiza el repertorio de instrucciones.

2. El tiempo de ejecución de un programa en una máquina de referencia de 5 MIPS es de 10 segundos. y en la

máquina a evaluar es de 2 segundos. por lo "0 la cantidad de MIPS relativos con respecto a la máquina dereferencia es:

a) Inferior b) Aproximadamente similar

3. A partir de los datos de la tabla. ¿cuál es el porcentaje de saltos hacia adelante que son efectivos?

c) Superior

% saltos hacia atrás25%

% saltos efectivos53%

%instruc. de control65%

a) 10% b) 40.7%

4. Dado el siguiente fragmento decódigo de DLX. ¿cuál es el númerode referencias a datos en memoriaque se producen durante laejecución del código? Recuerdaque todos los datos son de 32 bits.

LWinicio: LW

LWADDSWADDISWSUBIBNEZ

%saltos efectivos hacia atrás90%

c) 47%

Rl, lSOO(RO)R2, 2000(RO)R3, SOO(R2)R4, R3, Rl0(R2), R4R2, R2, #42000(RO), R2R4, R2, #400R4, inicio

Rl <-- eR2 <-- iR3 <-- B[i]R4 <-- B[i] + eA[i] <-- R4R2 <-- R2 + 4i <-- R2R4 <-- R2 - 400

-- Si R4 <> o a inicio

5. La técnica de reducción de CPI por paralelismo al emplear control microcodificado en una unidad de control consisteen:

a) Disponer de dos flujos de microinstrucciones dentro de la unidad de control con el fin de poder activar eldoble de señales de control simultáneamente sin aumentar el tamaño de la microinstrucción al tener queintroducir nuevos campos.b) Incrementar el tamaño de la microinstrucción para especificar un conjunto de operaciones en el camino dedatos que se van a realizar consecutivamente.c) Activar en el mismo ciclo de reloj una mayor cantidad de líneas de control con el fin de efectuar un mayornúmero de operaciones por microinstrucción.

6. Sabiendo que el 86% del recuento de instrucciones de DLX no son de control y dados los datos de la tabla, ¿cuáles el CPI efectivo al utilizar el esquema de planificación de salto retardado? Tenga en cuenta que por cadainstrucción con hueco de retardo inútil o sin rellenar se introduce una penalización de 2 ciclos.

% huecos de retardo útiles: 47% % huecos de retardo rellenos: 57%

a) 1.07 b) 1,12 c) 1.14

7. Para el código vectorial de DLXV situado a la derechay teniendo en cuenta que se dispone de encadenamientoentre todas las unidades y de un único canal de acceso amemoria. el número de ciclos de reloj consumidos es:

a) 96 ciclos b) 242 ciclos

DEPARTAMENrO DE INFORMATlCA y AUTOMATICA.UNED

LV Vl, RaMULTV V2, Vl, V3ADDV V4, Vl, V3SV Rb, V2SV Re, V4

c) 310 ciclos

Page 165: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACI'/CO DE ESTRUCIVRA YTECNOLOGIA DE COMPUTADORES JJ/ Xl-25

8. Utilizando la estrategia LRU en una caché de 4 bloques, donde al comienzo de la secuencia (izquierda) el bloquemás antiguo es el O¿cuál es el bloque que debe ser sustituido a continuación del número 2?

Referencias a bloques

a) Bloque número 1 b) Bloque número 2 c) Bloque número 3

9. Suponga que tenemos una diferencia entre el tiempo de CPU y el tiempo de respuesta de un 10%, y aceleramos laCPU en un factor de 10, dejando la FlS inalterada. La aceleración global obtenida sería:

a) 5 b) 5,5 c) 6

10. ¿Por qué se caracteriza un computador SIMD?

Problema 1 (3 puntos)

Dados los datos de la tabla, y suponiendo que cada palabra de instrucción y cada referencia a un dato requieren unacceso a memoria:

a) Determinar qué porcentaje de todos los accesos a memoria corresponde a la lectura de instrucciones para cadauno de los tres benchmarks en la máquina de carga/almacenamiento.b) Determinar qué porcentaje de todos los accesos a memoria corresponde a la lectura de instrucciones para cadauno de los tres benchmarks en la máquina memoria-memoria.c) ¿Cuál es la razón de accesos totales a memoria en la máquina de carga/almacenamiento frente a la máquinamemoria-memoria para cada benchmark?

Las cifras son millones de instrucciones, palabras o referencias. Los recuentos son (desde abajo hacia arriba)instrucciones dinámicas, palabras de instrucción (bytes de instrucción divididos por cuatro) y referencias de datos(éstas pueden ser byte, palabra o doble palabra). Cada referenciase cuenta una única vez.

Problema 2 (3 puntos)

Suponga que realizamos una mejora en un computador que aumenta el modo de ejecución en un factor de 10. Elmodo mejorado se utiliza el 50 por 100 del tiempo, medido como porcentaje del tiempo de ejecución cuando seutiliza el modo mejorado. en lugar de como se define normalmente: el porcentaje del tiempo de ejecución antes deaplicar la mejora.

a) ¿Cuál es la aceleración que hemos obtenido del modo rápido?b) ¿Qué porcentaje del tiempo de ejecución original se ha convertido al modo rápido?

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

TeX,m-m 12,4TeX, e/a S,4

Referencias Solce. m-m 10,Sa datos Splce e/a 4,9

GCC, m-m 4,1GCC c/a 1,4TeX. m-m 7,STeX. e/a 14,0

Palabras de Spice, m-m 8,4Instrucciones Soice. e/a 18,9ejecutadas GCC. m-m 2,4

GCC, e/a 3,9TeX.m-m 7,1TeX, e/a 14,0

Recuento de Soice. m-m 6,9instrucciones Spice. e/a 18,9

GCC. m-m 2,6GCC. c/a 3,9

Page 166: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI-ló MATERIAL DIDAC17CODE ESTRUCTURA YTECNOWGIA DE COMPUTADORES111

Soluciones del test

1. b pág. 142. c pág. 45

La expresión que define los MIPS relativos es:

Tiemporeferencia * MIPSreferenciaMIPSrelativos = Tiempono estimado

Por lo tanto, la cantidad de MIPS relativos con respecto a la máquina de referencia es superior (25 MIPS > 5MIPS):

MIPS . = 10seg. *5 MIPS =25 MIPSrelativos 2 seg.

3. b pág. 1164. Ya que cada dato es de 32 bits, con un único acceso a memoria es suficiente para traerlo al procesador. El

número de referencias a datos en memoria en el fragmento de código es:

. 1 vez para la carga del valor de e en el registro Rl (18instrucción)4 veces en cada iteración: carga de B e iy .almacenamientode A e i (instrucciones 2", 38,5" Y7")

Por lo tanto, el total de referencias a memoria variará según sea el valor inicial que se encuentre almacenadoen laposición de memoria 2.000 la primera vez que se entra en el bucle. Tendremos así:

Total =1+ 4 *[400 M[2~]] =1+ 4 * n mero de iteraciones

5. b pág. 228, 2296. a pág. 298

Partiendo de los datos del enunciado hay que distinguir cuatro casos:

% huecos de retardo útiles =47 %% huecos de retardo rellenos =57 %% huecos de retardo sin rellenar =100% -% huecos de retardo rellenos =43%

% huecos de retardo rellenos pero inútiles =% huecos rellenos -% huecos útiles = 10%

De acuerdo con los casos anteriores se plantean las siguientes posibilidades al ejecutarse una instrucción:

Instrucciones que no son de control =86%Instrucciones de control con hueco útil =14% * 47% =6,58%I.nstruccionesde control sin hueco de retardo =14% * 43% =6,02%Instrucciones de control con hueco inútil =14% * 10% = 1,4%

(CPI= 1)(CPI= 1)(CPI= 2)(CPI= 2)

Conocidos el porcentaje y CPI de cada tipo de instrucción, calculamos el CPI efectivo:

CPI efectivo =86% * 1ciclo + 6,58% * 1ciclo + 6,02% * 2 ciclos + 1,4% * 2 ciclos =1.0742

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Page 167: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACfICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11I XI-V

7. b

8. c pág. 4439. b

De acuerdo con los datos del enunciado tendremos:

Trespuesta= Tcpu + 0,1 * Topu

T respuesta= 1, 1 * T opu

Normalizando Trespuesta= 1, tendremos Topu= 0,91. Aplicando la ley de Amdahl:

Aceleraci n mejorada =10=>Aceleracin global = 1 O91 = 5,5(1-0 91) +~

, 10

10.Cuestión breve pág. 616, 617

Solución al problema 1

El problema se puede encontrar resuelto en este mismo cuaderno de apuntes en el capítulo dedicado al Tema 3,problema 3.2.

Solución al problema 2

El problema se puede encontrar resuelto en este mismo cuaderno de apuntes en el capítulo dedicado al Tema 1,problema 1.6.

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA-UNED

Ooeración Comienza Termina ComentarioLV O 12+64=76 Latencia sencillaMULTV 12+1=13 13+7+64=84 Encadenada a LVADDV 12+1=13 13+6+64=83 Encadenada a LVSV 84+1+4=89 89+12+64=165 Espera por MULTVSV 165+1=166 166+12+64=242 Espera por SV

Page 168: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI-28 MATERIAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111

11 JUNIO 1997

Test (4 puntos)

1. Se desea mejorar la velocidad de la CPU en un factor de 10 a cambio de aumentar el coste 4 veces. Si la CPU seutiliza durante el 70% del tiempo de proceso y el tiempo restante está esperando a la E/S, y sabiendo que el coste dela CPU es de dos tercios del coste total del computador, ¿esta inversión supone una mejora de la relacióncoste/rendimiento?

a) No.b) Sí.c) No e~posible calcularlo ya que no se conoce el valor real de la CPU.

2. Escribe la expresión matemática de los MIPS relativos y explica brevemente los términos que la componen.

3. Con relación a los métodos para evaluar las condiciones de salto, ¿cuál de las tres afmnaciones es la correcta?a) El uso de registros de instrucción restringe la reordenación de instrucciones ya que consumen un registro deuso general.b) Los códigos de condición restringen la reordenación de instrucciones ya que pasan información de unainstrucción a otra.c) El esquema de comparación y salto impide la reordenación ya que la comparación tiene que ser siempreinmediatamente anterior al salto, lo cual impide la colocación de instrucciones intermedias.

4. Dado el repertorio de instrucciones de DLX que figura en la tabla, ¿cuál es el porcentaje de todos los accesos amemoria que son datos? Ignorar el tamaño de los datos al contar los accesos.

a) 20,6%

b) 23,83%

c) 31,3%

5. Una técnica de reducción del CPI mediante la adición de control cableado a la unidad de controlmicroprogramada consiste en:

a) Reducir el número de microinstrucciones por medio de la compartición de secuencias finales demicroinstrucciones empleando para ello bifurcaciones a microsubrutinas comunes.b) Congelar la dirección de la microinstrucción en el contador para que se ejecute la misma microinstrucciónhasta que se cumpla una condición.c) Extracción completa del microcódigo de algunas instrucciones susceptibles de ser paralelizadas, empleandomatrices PLA para su implementación.

6. Supongamos que el 20% de las instrucciones son cargas y un 50% de las veces la instrucción siguiente se detiene1 ciclo de reloj debido a un riesgo de datos_Además, el 10% de las instrucciones de carga producen un fallo decaché que se tarda 4 ciclos en resolver. Ignorando cualquier otro riesgo, ¿cuántas veces es más rápida lasegmentación ideal de CPI=1 que esta nueva segmentación?

a) 18%.b) 36%.c) 60%.

7. Detalla en pseudocódigo la versión seccionada del siguiente bucle: do la i = l,nla A(i) = B(i)

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Control Aritmético/lóaica Transferencia de datos Punto flotanteB--Z 11% ADDU, ADDUI 20% LW 13% FMUL 1%J 2% LHI 5% SW 7% FADD 1%JAL 0% SLL 5% LBU 1% FSUB 1%JR 0% LI 4% LD 4% FDIV 1%

S--, S--I 3% SD 1%ANO, ANOI, SRA, OR, ORl 3%

Total 14% Total 39% Total 26% Total 4%

Page 169: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACfICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 111 XI-29

8. En una memoria cache asociativa por conjuntos o de correspondenciadirecta, si el tamaño de la memoria semantiene igual y se incrementa la asociatividad, entonces en el formato de la dirección de memoria de la CPU:

a) Disminuye el tamaño del campo índice y de la etiqueta.b) Aumenta el tamaño del campo índice y se decrementa el de la etiqueta.c) Disminuye el tamaño del campo índice y se incrementa el de la etiqueta.

9. Una carga de trabajo emplea 61 segundos en ejecutarse, estando la CPU ocupada 40 segundos y la E/S 36segundos. Suponiendo que colocamos una CPU con el doble de rendimiento, ¿cuál es el nuevo tiempo total deejecución considerando un solapamiento máximo entre la E/S y la CPU?

a) 36 seg.b) 40 seg.c) 41 seg.

10. Describe dónde radica la diferencia entre una máquina vectorial similar a DLXV y una verdadera máquinaSIMD.

Problema 1 (4 puntos)

Sea un procesadorcon una segmentación de 4 etapas: fecth (IF), decodificación (ID), ejecución (EX) y escritura(WB). En la etapa de decodificación (ID) se realiza el cálculo de la dirección y los cambios iniciales sobre elregistro de estado. La condición de salto es examinada en la etapa de ejecución (EX). Las frecuencias de lasinstrucciones de salto y bifurcación son las siguientes:

Bifurcación condicional 30% Saltos y llamadas 7%

siendo efectivas el 70% de todas las bifurcaciones. .

a) Escribir un diagrama de la segmentación para cada caso (salto, bifurcación efectiva, bifurcación no efectiva)considerando las estrategias PREDECIR~EFECTIVOy PREDECIR-NO-EFECTIVO(2 puntos).b) Calcular para ambas estrategias de salto el valor del CPI asumiendo que los riesgos de control son los únicosriesgos existentes (2 puntos).

Problema 2 (2 puntos)

a) Describe que ocurre cuando se presenta una interrupción en medio de una instrucción en el pipeline de DLX (0.6puntos). .

b) ¿Qué pasos hay que seguir para que cuando se presente una interrupción se pueda guardar con seguridad elestado del procesador? (0,6 puntos).c) ¿Qué ocurre si la interrupción se presenta en medio de una instrucción situada en un hueco de retardo de salto?(0.8 punto).

Soluciones del test

1. ~ pág. 12

De acuerdo con la ley de Arndahlla aceleración global obtenida es:

Aceleracion global = 1 0,7 =2,7( 1-07 ) +-

, 10El coste de la nueva máquina es:

Coste de la nueva m quina =! *Coste original + 4 * ~*Coste original =3 * Coste original3 3

Debido a que el incremento del coste es superior a la mejora del rendimiento, la relación coste/rendimientono mejora.

2. Cuestión breve pág. 45

DEPARTAMENTO DE INFORMATICA y AUTOMATICA.UNED

Page 170: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

-- -- .. . - -....-..

Xl-30 MATERlAL DIDAC17CODE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES 111

3. b pág. 1144. b

En DLX el único modo de acceder a los datos en memoria es mediante las instrucciones de transferencia dedatos. De acuerdo con su repertorio de instrucciones, un subconjunto del repertorio de instrucciones detransferencia representan el 26% (18% de carga, 8% de almacenamiento) para un 83% de la muestra.Suponiendo que el 17% restante de la muestra, se comporta de igual forma, las instrucciones de transferenciade datos constituyen un 31,3% del total de instrucciones ejecutadas. Ya que por cada instruccH'.r, detransferencia de datos se almacena o escribe un dato, el porcentaje de accesos a datos es simil", alporcentaje de instrucciones de transferencia de datos.

El total de accesos a memoria está constituido por la lectura de instrucciones más el acceso a los datos. Por lotanto, el 23,83% de todos los accesos a memoria son accesos a datos:

% accesos a datos _ 31,3% *100=23,83%% accesos a memoria 100%+31,3%

5. b pág. 228~ a .

La máquina ideal será más rápida según el cociente entre el CPI de la máquina con segmentación ideal quees 1,y el CPI de la máquina cuyas características se explican en el enunciado. De acuerdo con esto, el CPI deuna instrucción de carga es:

CPI siguiente instrucción =1 ciclo + 1 ciclo * 50% detenciones =1,5 ciclos por instrucción

Debido a los fallos de la caché, el CPI de una instrucción de carga es:

CPI instrucción de carga =1 ciclo + 4 ciclos * 10%=1,4 ciclos por instrucción

Por lo tanto, el CPI de la máquina segmentada es:

CPI =60% * 1ciclo + 20% * 1,5ciclos + 20% * 1,4 ciclos =1,18ciclos

De acuerdo con este resultado, la máquina ideal es un 18%más rápida.

7. Cuestión breve, pág. 392. El bucle es prácticamente similar, ya que lo único que hay que cambiar es laoperación aritmética Y(i) = a* X(i) + Y(i) porA(i) = B (i).

8. c pág. 4429. c pág. 542

T,o'al=61 seg.

Tcpu =40 seg.

TEIS=36 seg.

Tsolapamien,o=15 seg.

40

(40

)Tsolapanúemximo=T+36-mn 15'T =20+36-15=41 seg.

10. Cuestión breve, pág. 616-617.

Solución al problema 1

a) A diferencia de la segmentación de DLX, la dirección de salto se calcula en la etapa ID pero la condición de saltose examina en la etapa EX y no en la ID. Obsérvese que para evitar cambios no deseados en el registro de estado alutilizar la estrategia PREDECIR NO EFECTIVO es necesario situar una detención inmediatamente después de laetapa IF, ya que de lo contrario se ejecutaría la etapa ID de la siguiente instrucción a la bifurcación modificando elregistro de estado pese a que el salto pudiese ser efectivo.

DEPARTAMENTO DE INFORMATICA y AlffOMATlCA.UNED

Page 171: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDAC17CODE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES 111 XI-3/

CPIsaltos= l + 0,07 + 0,09 + 0,42 = 1,58

Estrategia PREDECIR EFECTIVO

CPIsaltos= 1 + 0,07 + 0,18 + 0,21 = 1,46

Como se puede observar en los resultados obtenidos, la estrategia PREDECIR EFECTIVO es superior a laPREDECIR NO EFECTIVO.

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA-UNED

De acuerdo con esto obtendremos los siguientes diagramas:

1)Estrategia PREDECIR NO EFECTIVO

Salto IF ID EX WBIF IF ID EX WB

Bifurcación No Efectiva IF ID EX WBIF stall ID EX WB

Bifurcación Efectiva IF ID EX WBIF stall IF ID EX WB

II) Estrategia PREDECIR EFECTIVO

Salto IF ID EX WBIF IF ID EX WB

Bifurcación No Efectiva IF ID EX WBIF IF IF ID EX WB

Bifurcación Efectiva IF ID EX WBIF IF ID EX WB

b) De acuerdo con los datos dados en el enunciado tendremos los siguientes porcentajes:

Saltos y llamadas a procedimientos: 7%Bifurcaciones efectivas: 30% * 70% =21%Bifurcaciones no efectivas: 30% ... 30% =9%

Estrategia PREDECIR NO EFECTIVO

Tino de salto Costo (Ciclos) Frecuencia Contribución al CPISalto l 7% 1* 0,07 =0,07Bifurcación no efectiva l 9% 1* 0,09 =0,09Bifurcación efectiva 2 21% 2 * 0,21 =0,42

Tipo de salto Costo (Ciclos) Frecuencia Contribución al CPISalto l 7% l * 0,07 =0,07Bifurcación no efectiva 2 9% 2 * 0,09 =0,18Bifurcación efectiva l 21% l * 0,21 - 0,21

Page 172: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xl-32 MATERlAL D/DACTlCO DE ESTRUCTURA Y TECNOLOG/A DE COMPUTADORES11/

21 JUNIO 1997

Test (4 puntos)

1. Tras añadir un nuevo procesador a un ordenador se logra un aumento de la velocidad de ejecución en un factor de8. Se observa que tras aplicar esta mejora, el 60% del tiempo de ejecución se está utilizando el nuevo procesador¿Qué porcentaje del tiempo de ejecución original se ha reducido gracias a la mejora?

a) 28,5%. b) 60%. c) 92,3%.

2. Al diseño A se le propone añadir una instrucción ALU quetenga un operando fuente en memoria (el otro se encuentracargado en un registro en el 25% de las operaciones de la ALU)obteniendo el sistema B. Aumentando en 1 el número de ciclos dereloj de los saltos y suponiendo que la nueva instrucción consume2 ciclos, ¿cuál de los dos diseños es el más rápido considerando elrecuento de instrucciones dado?

OperaciónALUCargasAlmacenamientosSaltos

Frecuencia43%21%12%24%

Ciclos/inst.1222

a) A es un 3,32% más rápido que B. b) A es un 8,47% más rápido que B. c) B es 8,44% más rápido que A.

3. Indica brevemente las alternativas arquitectónicas para almacenar operandos en la CPU y sus diferencias básicas.

4. ¿Cuál de las siguientes afirmaciones es incorrecta?a) Las arquitecturas con repenorios de instrucciones pequeños utilizan un mayor porcentaje de sus códigos deoperación.b) Es conveniente examinar el componamiento medio de una instrucción de cara al diseño del repenorio deinstrucciones.c) El número de saltos de un programa está fijado por el propio programa salvo defectos de la arquitectura yoptimizaciones del compilador.

5. Esboza el diagrama de estados finitos de las etapas IF, ID y EX de DLX con las modificaciones necesariaspara poder chequear las interrupciones.

6. Con respecto a la segmentación del procesador DLX, ¿cuál de las siguientes afirmaciones es correcta?a) Los fallos de la caché ocasionan riegos por dependencias de datos por lo que se recurre a la técnica deplanificación de instrucciones con el objeto de minimizar los ciclos de detención.b) Un (allo de caché nunca desordena las referencias a memoria ya que se produce un interbloqueo de lasegmentación aunque se produza un fallo de página en la memoria central.c) Un fallo de caché provoca una detención de la segmentación pero se puede minimizar utilizando la técnicade desviamiento en combinación con la reorganización de instrucciones.

7. Para el código vectorial de DLXV situado a la derecha y teniendo en cuentaque se dispone de encadenamiento total entre todas las unidades y de trescanales de acceso a memoria, el número de ciclos de reloj consumidos es:

a) 97 ciclos. b) 104 ciclos. c) 153 ciclos.

8. La penalización de fallos de una memoria caché es de 6 ciclos y el CPI medio es de 8,5 ciclos si se ignoran lasdetenciones de memoria. Suponiendo que la frecuencia de fallos es del 11% Yhay una media de 3 referencias amemoria por instrucción, ¿cuál es el incremento en el tiempo de CPU?:

a) 7%. b) 10,5%. c) 24%.

DEPARTAMENTO DE INFORMAT/CA y AUTOMATICA.UNED

LV Vl, RaMULTV V2, Vl, V3ADDV V4, V2, V3SV Rb, V2SV Re, V4

Page 173: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACrICO DE ESTRUCIVRA YTECNOLOGIA DE COMPUTADORES 111 XI-33

9. Una carga de trabajo emplea 61 segundos en ejecutarse estando la CPU ocupada 40 segundos y la E/S 36segundos. Suponiendo que colocamos una CPU con el triple de rendimiento, ¿cuál es el nuevo tiempo total deejecución considerando un solapamiento mínimo entre la E/S y la CPU?

a) =49 segundos.b) =56 segundos.c) =61 segundos.

10. ¿Por qué es mucho más difícil desarrollar programas para máquinas MIMD que para máquinas secuenciales?

Problema 1 (3 puntos)

Se dispbne de dos máquinas con el mismo procesador y memoria principal pero diferentes organizaciones dememoria caché. Se supone que el tiempo de fallos es 10 veces el tiempo de un acierto caché para ambas máquinas.Suponer que la escritura de una palabra de 32 bits necesita 5 veces el tiempo de un acierto de caché (para la cachéde escritura directa), y que una escritura completa de un bloque de 16 bytes necesita 10 veces el tiempo de lecturade caché (para la caché de postescritura). Las cachés son unificadas, es decir, contienen instrucciones y datos.

Caché A: 64 conjuntos, 2 elementos por conjunto, cada bloque es de 16bytes y utiliza escritura directa.

Caché B: 128 conjuntos, 1 elemento por conjunto, cada bloque es de 16 bytes y utiliza postescritura.

a) Describir un programa que haga que la máquina A corra lo más rápido posible en comparación a la máquina B.(Asegurarse de plantear todas las hipótesis que se necesiten, si las hay) (1 punto).b) Describir un programa que haga que la máquina B corra lo más rápido posible en comparación a la máquina A.(Asegurarse de plantear todas las hipótesis que se necesiten, si las hay) (1 punto). .

c) ¿Cuántas veces es más rápido el programa del apartado (a) en la máquina A que en la máquina B? (1 punto).

Problema 2 (3 puntos)

La siguiente secuencia de instrucciones se ejecuta sobre un procesador sin segmentación y empleando unainstrucción ordinaria de salto:

Basándose en el fragmento anterior de código escribir la secuencia de instrucciones en un procesador segmentadosimilar a DLX usando la técnica de retardo de salto bajo las siguientes precondiciones:

a) Inserción de una instrucción NOP con el objeto de rellenar el hueco de retardo (1 punto).b) Optimización de la secuencia de instrucciones suponiendo que Rtest sea R4, eliminando la instrucción NOPcuando sea posible (1 punto).c) Optimización de la secuencia de instrucciones si Rtest es R1 eliminando la instrucción NOP si es posible(1 punto).

Soluciones del test

1. c

Aceleración mejorada =8

Porcentaje del tiempo de ejecución que se aplica la mejora= 60%

Suponiendo que normalizamos el tiempo actual de ejecución a 1 (esto es, aplicando la mejora), el tiempototal de ejecución antes de aplicar la mejora es del:

0,4 +(0,6 * 8) =5,2

DEPAKfAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

100 LOAD X, R1 ; carga el contenido de la posición X en el registro R1101 ADD 1, R1 ; R1 <- R1 + 1102 BEQZ Rtest, 105 ; si Rtest = O entonces salta a la instrucción 105103 ADD R1, R2 ; R2 <- R2 + R1104 SUB R3, R2 ; R2 <- R2 - R3105 STORE R1, Z ; almacena resultado de R1 en la posición de memoria Z

Page 174: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XJ-J4 MATERIAL DIDAC11CODE ESTRUCTURA YTECNOLOGIA DE COMPUTADORES 111

Por lo tanto, la aceleración global conseguida aplicando la mejora es del 5,2. Como ya conocemos losvalores de la aceleración global y de la aceleración mejorada basta con aplicar la fórmula de la ley deAmdah1para obtener la fracción mejorada:

15,2= ~x=O,923x

(1- x) + -8

2. b

Por 10tanto, el porcentaje de tiempo que se ha convertido al modo rápido es del 92,3%.

CPI original =(0,43 * 1 + 0,21 * 2 + 0,12 * 2 + 0,24 * 2) =1,57

Tiempo original =1,57 * Recuento original de instrucciones * Duración del ciclo

Al realizar el recuento en el nuevo sistema hay que tener en cuenta las instrucciones de la ALU y carga quedesaparecen a causa de la nueva instrucción, así como las que surgen. Tenemos así:

ALU:Cargas:Almacenamiento:Saltos:Nuevas:TOTAL:

43% -43% * 25% =32,25%21% -43% * 25% =10,25%12%24%43% * 25% =10,75%89.25%

Para proceder a calcular el CPI necesitamos normalizar el recuento de instrucciones que hemos obtenidos.De acuerdo con esto, el factor de normalización es 1/0,8925=1,1204.Tendremos los siguientes valores:

ALU:Cargas:Almacenamiento:Saltos:Nuevas:TOTAL:

El nuevo CPI y el nuevo tiempo de ejecución son:

32,25% * 1,1204=36,1329%10,25% * 1,1204=11,4841%12% * 1,1204=13,4448%24% * 1,1204=26,8896%10,75% * 1,1204=12,0443%100%

CPI nuevo =(0,361329 * 1) + (0,114841 * 2) + (0,134448 * 2) + (0,268896 * 3) + (0,120443 * 2) =1,908.

Tiempo nuevo ejecución =(0,8925 * Recuento antiguo) * 1,908 * Duración del ciclo ==1,703 * Recuento antiguo * Duración del ciclo

Por lo tanto, el sistema original es un 8,47% más rápido que el nuevo:

1,703-1,57 * 100=8,47%1,57

2. Cuestión breve, pág. 973. b pág. 1984. Cuestión breve, pág. 2335. b pág. 2836. b

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Page 175: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlAL DIDACTlCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES J/J XI-35

8. c pág. 449.9. a pág. 542

Tlola!=61 seg.

Tcpu =40 seg.

TEIS=36 seg.

Tso1aparnienlo= 15 seg.

40

(Tsolapamiento m nimo =- + 36 - m x O3 ' 15- [40 - ~O]) =13,33+ 36 - m x (O, -11,66) =49,33 seg.

10. Cuestión breve, pág. 619-620.

Solución al problema 1 (problema 8.1 del texto base de la asignatura, pág. 528-529)

El problema se puede encontrar resuelto en este mismo cuaderno de apuntes en el capítulo dedicado al Tema 8,problema 8.1., apartados (a), (b) y (c).

Solución al problema 2

a) El único sitio lógico para la inserción de la instrucción NOP es a continuación de la instrucción BEQZ debido aque ésta es la que causa el riesgo de control. Ya que el retardo de salto que se produce en la segmentación de DXLes de un ciclo, la secuencia de instrucciones tendría el siguiente aspecto:

Si el salto no fuese efectivo y Rtest es distinto de R1 tendríamos la siguiente segmentación:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

ODeración Comienza Termina ComentarioLV VI, Ra O 12+64=76 Latencia sencillaMULTV V2, VI, V3 12+1=13 13+7+64=84 Encadenadaa LVADDV V4, V2, V3 20+1=21 21+6+64=91 Encadenadaa MULTVSV Rb, V2 20+1=21 21+12+64=97 Encadenadaa MULTVSV Rc, V4 27+1=28 28+12+64=104 Encadenadaa ADDV

100 LOAD X, R1101 ADD 1, R1102 BEQZ Rtest, 106103 NOP104 ADD R1, R2105 SUB R3, R2106 STORE R1, Z

100 LOAD X, R1 IF ID EX MM WB101 ADD 1, R1 IF ID stall EX MM WB102 BEQZ Rtest, 106 IF stall ID EX MM WB103 NOP J:F J:D EX MM WB104 ADD R1, R2 IF ID EX MM WB105 SUB R3, R2 IF ID EX MM WB106 STORE R1, Z IF ID EX MM WB

Y si lo fuese:

100 LOAD X, R1 IF ID EX MM WB101 ADD 1, R1 IF ID stall EX MM WB102 BEQZ Rtest, 106 IF stall ID EX MM WB103 NOP J:F J:D EX MM WB

Page 176: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XJ-J6 MATERIAL DIDACT1CODE ESTRUcnJRA y TECNOLOGIA DE COMPUTADORES IJI

106 STORE R1, Z IF ID EX MM WB

b) El que Rest sea igual a R4 no depende de ninguna instrucción previa, por lo tanto, la instrucción BEQZ puedeser situada antes de la primera instrucción de suma. La secuencia quedaría como:

100101102103104105

LOADBEQZADDADDSUBSTORE

X, R1R4, 1051, R1R1, R2R3, R2R1, Z

Otra posibilidad sería situar la instrucción STOREen el hueco de retardo de salto ya que sea o no efectivo el salto,la instrucción se va a ejecutar y el contenido de R1 no va a variar:

DEPARTAMENTO DE INFORMATlCA y AUTOMATlCA-UNED

Si el salto no fuese efectivo tendríamos la siguiente segmentación:

.100 LOAD X, R1 IF ID EX MEM WB101 BEQZ R4, 105 IF ID EX MEM WB102 ADD 1, al :IF :ID EX MEH WB103 ADD R1, R2 IF ID EX MEM WB104 SUB R3, R2 IF ID EX MEM WB105 STORE R1, Z IF ID EX MEM WB

Y si lo fuese:

100 LOAD X, R1 IF ID EX MEM WB101 BEQZ. R4, 105 IF ID EX MEM WB102 ADD 1, al :IF :ID EX MEH WB105 STORE R1, Z IF ID EX MEM WB

c) Que Rtst sea igual aR1 depende de la instrucción de suma situada inmediatamente antes de BEQZ, por lo queno hay optimización posible y el código resultante es el mismo que en el apartado (a):

100 LOAD X, R1101 ADD 1, R1102 BEQZ R1, 106103 NOP104 ADD R1, R2105 SUB R3, R2106 STORE R1, Z

Page 177: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

100101102103104105

LOADADDBEQZSTOREADDSUB

MATERIALDlDACTlCODE ESTRUCIVRA YTECNOLOGlA DE COMPUTADORES 111 Xl-51

X, R11, R1R1, 106R1, ZR1, R2R3, R2

El problema de esta aproximación es que el valor final de la posición de memoria Z no sería el mismo que el que seobtendría tras ejecutar el mismo fragmento de código pero manteniendo la instrucción NOP. Esto es debido a queen caso de que el salto fuese efectivo el valor de RI que se almacenaría en Z sería el previo a las operaciones desuma y resta y no el resultante de las dos operaciones aritméticas. Por lo tanto, este caso no es equivalente.

DEPARTAMENTO DE lNFORMATlCA y AUTOMATlCA-UNED

Page 178: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xl-38 MATERIAL DIDACTlCO DE ESTRUCIVRA YTECNOUJGIA DE COMPUTADORES 11I

SEPTIEMBRE 1997

Test (4 puntos)

1. Una compañía está construyendo un equipo mediante un ciclo de diseño de 4 años, teniendo que ser la nuevamáquina 300% más rápida que un Pentium 200 ¿Cuál es el objetivo de rendimiento para la nueva máquina si lafrecuencia de crecimiento es del 25% anual siendo V la potencia del Pentium 2001

a) 7,32V. b) 9,76V. c) 20V.

2. Describe los inconvenientes de utilizar los MIPS como métricas de comparación de rendimientos.

3. Por regla general, ¿una máquina de carga/almacenamiento muestra un mayor número de operaciones detransferencia de datos que una máquina memoria/memoria?

a) Sí, debido a que para operar con los datos necesita transferidos previamente a los registros.b) Sí, a causa de que las instrucciones de salto y aritméticas se utilizan mucho menos, lo que ocasiona que lasoperaciones de transferencia de datos tengan una frecuencia relativa mucho mayor dentro del cómputo total.c) No, ya que la arquitectura memoria/memoria provoca mayor tráfico a causa de que todos los operandos queutilizan las instrucciones están almacenados en posiciones de memoria.

4. Dado el repertorio de instrucciones de DLX que figura en la tabla, ¿cuál es el porcentaje de todos los accesos amemoria que son lecturas? Ignorar el tamaño de los datos al contar los accesos.

a) 16,4%

b) 69,1%

c) 92,6%

5. ¿Cuál de las siguientes afirmaciones es la correcta?a) Debido a la necesidad de lógica adicional, el empleo de campos de formato en las microinstruccionesocasiona un aumento del coste del hardware.que se compensa por la mejora obtenida en el rendimiento.b) La utilización de campo de formato ocasiona una disminución del rendimiento ya que restringe lasposibilidades de activación simultánea de las líneas de control.c) El uso de formatos en los campos de las microinstrucciones ocasiona una drástica reducción en el CPI medioal minimizar el tamaño de la memoria de control.

6. Dado un esquema de planificación de predecir como no efectivo y considerando la segmentación revisada deDLX que wnnite conocer al final de la etapa ID el destino del salto, ¿cuál es el CPI medio sabiendo que del 14% deinstrucciones de control existentes, el 65% realmente cambia el contador de programa?

a) 1,09ciclos. b) 1,14ciclos. c) 1,23ciclos.

7. Suponga que se desea leer un vector de 64 elementos, comenzado en el byte 136 y que un acceso a memorianecesita de 8 ciclos de reloj ¿En qué instante comenzarán a transmitirse las penúltimas 8 palabras desde los bancosde memoria al procesador?

a) 56. b)64. c) 72.

8. Describe muy brevemente pero con claridad en qué consiste la mejora del rendimiento de la memoria principal alaumentar la anchura de la misma.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA-UNED

Control Aritméticollóeica Transferencia de datos Punto flotanteB--Z 11% ADDU, ADDUI 20% LW 13% FMUL 1%J 2% LHI 5% SW 7% FADD 1%JAL 0% SLL 5% LBU 1% FSUB 1%IR 0% LI 4% LD 4% FDIV 1%

S--, S:-I 3% SD 1%AND, ANDI, SRA, OR, ORI 3%

Total 14% Total 39% Total 26% Total 4%

Page 179: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCruRA y TECNOLOGIA DE COMPUTADORES 1/1 XI-39

9. Suponiendo que todos los accesos a memoria son del tamaño de un bloque de caché (4 palabras) y consumen 13ciclos, la frecuencia de refresco es de 60 Hz, la velocidad de CPU de 60 Mhz, una palabra es de 32 bits y el anchode banda de la E/S es de 1 palabra por ciclo, ¿qué porcentaje del ancho de banda de memoria y de E/S se consumepara dar servicio a una pantalla de 1.280 x 1.024pixel con 24 bits por color y cuya memoria de vídeo es parte de lapropia RAM del ordenador?

10. Se desea lograr una aceleración lineal mediante el empleo de 256 procesadores en paralelo ¿Qué fracción delcálculo puede continuar siendo secuencial?

a) No se puede determinar sin conocer la aceleración global o la aceleración mejorada lograda por cadaprocesador.b) El 100% ya que cada procesador ejecutará la misma secuencia de código de acuerdo a la filosofía MIMD.c) Al aplicarse correctamente la ley de AmdahI se observa con claridad que ninguna fracción del cálculo puedeser secuencial.

Problema 1 (6 puntos)

Considere el siguiente código FORTRAN:

do 10 i=l,nA(i) = A(i) + B(i)B(i) = x * B(i)

10 continue

Sabiendo que el procesador DLXV tiene una frecuencia de reloj de 80 Mhz, Tbase =10 y Tbucle =15, que lalatencia de almacenamiento está siempre incluida en el tiempo de ejecución y que hay un único canal de acceso amemoria:

a) Escriba el mejor código vectorial de DLXV para la parte interior del bucle considerando que x está en FOy quelas direcciones de A y B están en Ra y Rb respectivamente. Suponga que existe encadenamiento sólo en las cargasde elementos desde memoria. Utilice las veces que lo considere necesario las siguientes instrucciones:

LV reg.vectorial,reg. escalar

MULTSV reg. vectorial, reg. escalar FP, reg. vectorial

ADDV reg. vectorial, reg. vectorial, reg. vectorial

SV reg. vectorial, reg. escalar

b) Calcule el tiempo total para este bucle en DLXV (TlOO)¿Cuál es la velocidad en MFLOP para el bucle (Rl00)?

c) Calcule Roe,para este bucle.

d) Calcule N 1/2 para este bucle.

e) Calcule N v para este bucle. Suponga que el código escalar se ha planificado en los segmentos para que cadareferencia a memoria use seis ciclos y cada operación en coma flotante 3 ciclos. Suponga que el gasto escalartambién es Tbucle.

f) Suponga que ahora DLXV tiene dos canales de acceso a memoria. Escriba el código vectorial que aprovechemejor el segundo canal con memoria considerando los mismo encadenamientos que en el primer apartado.

g) Calcule Tl00 y Rl00 para DLX con dos cauces a memoria.

DEPAKTAMENTO DE INFORMATlCA y AUTOMATICA-UNED

Page 180: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XI-40 MATERIAL DIDACTlCO DE ESTRUCTURA.Y TECNOWGIA. DE COMPUfADORES 11I

Soluciones del test

1. b

Ya que la frecuencia de crecimiento anual del rendimiento de los ordenadores es del 25%, el. crecimiento esperado para el año siguiente será de 1,25veces el del año anterior. Por lo tanto:

Rendimiento esperado =1,254* 4V =9,76V

Obsérvese que en la expresión anterior, el valor 4V equivale a decir que la potencia V del Pentium 200ha crecido un 300%.

2. Cuestión breve pág. 433. a pág. 1324. c

En primer lugar hay que conocer el total de accesos a memoria: lectura de instrucciones + lectura yescritura de datos. El primero de ellos es el 100%mientras que el segundo es necesario calcularlo.

En DLX el único modo de acceder a los datos en memoria es mediante las instrucciones detransferencia de datos. De acuerdo con su repertorio de instrucciones, el subconjunto del repertorio deinstrucciones de transferencia representan el 26% (18% de carga, 8% de almacenamiento) para un 83%de la muestra. Suponiendo que el 17% restante de la muestra, se comporta de igual forma, lasinstrucciones de transferencia de datos constituyen un 31,3% del total de instrucciones ejecutadas.

El porcentaje de todos los accesos a memoria que son lecturas corresponde a la suma de los porcentajesde lectura de datos más de instrucciones. Análogamente, es necesario normalizar el porcentaje deinstrucciones de lectura de datos, obteniéndose que estas instrucciones son el 21,6%.

Por lo tanto, el 92,6% de todos los accesos a memoria son lecturas:

% Lectura de instrucciones y datos =100%+ 21,6% * 100=92,6%% Accesos a memoria 100%+ 31,3%

5. b pág. 2266. a

7. a pág. 390

La resolución del problema es similar a la del ejemplo, con la única salvedad de que el tiempo deacceso a memoria es de 8 ciclos, lo que no ocasiona la necesidad de incrementar el número de bancos

. de memoria a 16 (número de bancos de memoria ~ tiempo de acceso al banco de memoria). De estaforma, lo único que se incrementa con respecto al ejemplo son los instantes de acceso por causa de lalatencia inicial de 8 ciclos. Por lo tanto, el instante en que comienza a enviarse el bloque número 7 es el56:

DEPARTAMENTO DE INFORMATlCA y A UfOMATlCA-UNED

IF lID IEX IMEMI WB I Segmentación con saltono efectivo

i+1 IWBI 14% * 35% =4,9%

WB I Segmentación con saltoefectivo

i+1 EXIMEMIWBI 14% * 65% =9,1%

CPI efectivo =86% * 1ciclo + 4,9% * 1ciclo + 9,1% * 2 ciclos.=1,091

Page 181: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERlALDlDACI/CO DE ESTRUCTURA YTECNOLOG/A DE COMPUTADORES /// X/-4/

8 ciclos de latencia inicial para el primer bloque de 8 bytes + 8 ciclos * 6 bloques =56

8. Cuestión breve, pág. 4629. En primer lugar, necesitamos conocer el tamaño en bytes de la memoria necesaria para una pantalla de

las características que se indican en el enunciado. Esto es:

(1.280 pixel * 1.024pixel * 24 bits por color) 18 bits =3.932.160 bytes

El número de accesos a memoria por segundo que son necesarios para el dispositivo gráfico se calculade acuerdo con la siguiente expresión:

frecuencia de refresco * memoria de pantalla

tama o de palabra * tama o del bloque

60 Hz * 3.932.160 bytes

4 bytes * 4 palabras14.745.600 accesos/seg.

Conocidos los accesos a memoria que son necesarios para la pantalla, hay que pasar a calcular elnúmero de accesos por segundo que soporta la memoria del ordenador así como el bus deentrada/salida:

A h d b d d . Frecuencia de rel~j 60 *106ciclos/seg. 4 615 385 1nc o e an a e memona = = =. . accesos seg.Ciclos por acceso 13 ciclos

A h d b da d E/S Frecuencia de reloj 60 * 106 cicloslseg 15 000 000 sinc o e an e = . = . . acceso seg.Ciclosporacceso 4 ciclos

De acuerdo con las cifras obtenidos,. se puede apreciar que el ancho de banda de la memoria esinsuficiente para dar servicio a una pantalla de esas características mientras que el ancho de banda de laE/S sí es suficiente aunque se consume el 98,3% del mismo.

10. c pág. 620

Solución al problema 1

El problema se puede encontrar resuelto en este mismo cuaderno de apuntes en el capítulo dedicado al Tema 7,problema 7.3.

DEPARTAMENTO DE /NFORMAT/CA y AUTOMAT/CA.UNED

Page 182: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xl-42 MATERIAL DIDACflCO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES 1/1

SEPTIEMBRE RESERVA 1997

Test (4 puntos)

1. Se desea mejorar la velocidad de la CPU en un factor de 10 a cambio de aumentar el coste 4 veces. Si la CPUse utiliza durante el 70% del tiempo de proceso y el tiempo restante está esperando a la E/S, y sabiendo que elcoste de la CPU es de dos tercios del coste total del computador, ¿esta inversión supone una mejora de la relacióncoste/rendimiento?

a) No. b) Sí. c) No es posible calculado ya que no se conoce el valor real de la CPU.

2. La ejecución de un programa de cálculo de estructuras conlleva la ejecución de las siguientes operaciones enpunto flotante: 10.000 DIV, 10.000 SQRT, 20.000 MULT Y50.000 SUB y ADD. El coprocesador matemáticosólo implementa SUB, ADD, MULT YDIV, originando que se ejecuten 20.000 DIV, 40.000 MULT Y90.000ADD YSUB. ¿Cuál es el número de MFLOPS normalizados? La frecuencia es 10 Mhz, el tiempo de ejecución10 seg., y las DIV y SQRT reales equivalen a 4 operaciones en punto flotante normalizadas.

a) 0,015 MFLOPS. b) 0,023 MFLOPS. c) 0,032 MFLOPS.

3. Los especificadores de direcciones de una instrucción indican:a) El tipo de operación de la instrucción.b) El modo de alineamiento de los datos.c) El modo de direccionamiento que están usando los operandos.

4. ¿Cuál de las siguientes técnicas produce una reducción en el CPI de una máquina?a) Codificación de los campos que componen una microinstrucción.b) Reducción del total de microinstrucciones en la memoria de control mediante el empleo demicrosubrutinas.c) Utilización de microcódigo extra para instrucciones frecuentes.

5. ¿Cuál de las siguientes afirmaciones es falsa?a) El campo de formato asigna a todas las líneas de control sus valores implícitos.b) La utilización de campos de formato no penaliza el rendimiento.c) La utilización de formatos de microinstrucciones es compatible con la codificación de campos.

6. La utilización de la estrategia de planificación desde antes del salto al emplear el esquema de salto retardadopara tratar los riesgos de control, mejora el rendimiento:

a) Con independencia del resultado del salto.b) Cuando el salto es efectivo.c) Cuan~o el salto no es efectivo.

7. En una unidad de procesamiento vectorial ¿de qué depende la velocidad de iniciación?a) Del tiempo de arranque.b) De la velocidad con que la unidad funcional puede aceptar nuevos operandos.c) Del número de operandos de la instrucción.

8. El CPI medio de un computador ignorando los costes de la jerarquía de memoria es 8,5 y la penalizacióndebida a fallos de caché es de 6 ciclos. Si la frecuencia de fallos es del 11% Yhay una media de 3 referencias amemoria por instrucción, ¿en qué porcentaje se decrementa el rendimiento del computador debido al impacto dela jerarquía de memoria?

9. ¿Cuál de las siguientes afirmaciones es correcta?a) La fiabilidad es sinónimo de disponibilidad.b) La fiabilidad se mejora añadiendo más dispositivos al entorno.c) La disponibilidad aumenta añadiendo más dispositivos al entorno.

DEPARTAMENTO DE INFORMATICA y AUTOMATlCA.UNED

Page 183: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D1DACl'ICODE ESTRUCTURA YTECNOLOG1A DE COMPUTADORES III XI-43

10. Las instrucciones de un procesador vectorial se pueden clasificar como típicas de una máquina:

a) SISD. b) SIMD. c) MIMD.

Problema 1 (4 puntos)

Dados los siguientes tipos de arquitectura:

. Acumulador. Un operando está implícitamente en el acumulador.

. Memoria-Memoria. Los tres operandosde la instrucción se encuentran en memoria.

. Carga-Almacenamiento. Todas las operaciones se realizan en registros. y las instrucciones registro-registro tienen tres operandos por instrucción. Hay 16registros de propósito general y los especificadoresde registro son de 4 bits.

y considerando que:

. El código de operación es siempre de 1byte (8 bits).

. Todas las direcciones de memoria son de 2 bytes (16 bits).

. La longitud de los operandos en memoria es de 4 bytes (32 bits).. Todas las instrucciones deben tener un número entero de bytes.

. Las únicas instrucciones necesarias son las de carga, almacenamiento y operaciones aritméticas (suma,negación,...)

Para la siguiente secuencia de código:A = B + eB = A + eD = A - B

a) Escribir el mejor código posible en lenguaje ensamblador para cada una de las tres arquitecturas citadas desdeel punto de vista del tráfico de memoria, inventando los nemotécnicos que sean necesarios para las instruccionesen ensamblador. Considera que las variables A,B,C.DYE están inicialmente en memoria.

b) ¿Qué arquitectura es más eficiente cuando se mide por el tamaño del código que generan cada una? ¿Cuál es lacausa?

c) ¿Qué arquitectura es más eficiente cuando se mide el ancho de banda total requerido (código+datos)? ¿Cuál esla causa?

Problema 2 (2 puntos)

Actualmente la mayor parte de los ordenadores disponen de un buffer de memoria propio para la pantallaevitando el ralentizar el sistema si la memoria de video fuese parte de la RAM del ordenador. Un tema interesantees analizar el porcentaje de ancho de banda de memoria y de E/S que se consumiría si no existiese ese buffer dememoria de video.

Suponiendo que todos los accesos a memoria son del tamaño de un bloque de caché (4 palabras) y consumen 13ciclos, la frecuencia de refresco es de 60 Hz, la velocidad de CPU de 60 Mhz, una palabra es de 32 bits y el anchode banda de la E/S es de 1 palabra por ciclo. ¿qué porcentaje del ancho de banda de memoria y de E/S seconsume para dar servicio a los siguientes dispositivos gráficos cuya memoria de video es parte de la propiaRAM del ordenador?

a) una pantalla de 340 x 1.540pixel con 2 colores.b) una pantalla de 1.280 x 1.024pixel con 24 bits por color.c) una pantalla de 1.280 x 1.024 pixel con una tabla look-up de 256 entradas.

Soluciones del test

DEPARTAMENTO DE lNFORMATlCA y AUTOMAT1CA-UNED

Page 184: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

Xl-44 MATERIAL DIDAcnCO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES 11/

1. a pág. 12

De acuerdo con la ley de Arndahlla aceleración global obtenida es:

Aceleracion global = 1 O 7 =2,7(1-0 7) +~

, 10El coste de la nueva máquina es:

Coste de la nueva m quina =1..* Coste original + 4 *~ * Coste original =3 * Coste original3 3

Debido a que el incremento del coste es superior a la mejora del rendimiento, la relacióncoste/rendimiento no mejora.

2. a pág. 46

Para calcular los MFLOPS normalizados utilizaremos la cantidad de operaciones que refleja elcódigo fuente, es decir, el programa de cálculo de estructuras, tras lo cual, multiplicaremos estasoperaciones por sus valores de normalización:

El total de operaciones en punto flotante normalizadas es 150.000, siendo los MFLOPS 0,015:

MFLOPS =n mero de operaciones en punto flotante de un programa =150.000 _ O 015 MFLOPSTiempo de ejecuci n * 106 10* 106 '

3. c pág. 1104. c pág. 2285. b pág. 2266. a pág. 2967. Cuestión breve pág. 4498. b pág. 3859. c pág. 56010.b pág. 616-617

Solución al problema 1

El problema se puede encontrar resuelto en este mismo cuaderno de apuntes en el capítulo dedicado al Tema 3,problema 3.5.

Solución al problema 2

En primer lugar, necesitamos conocer el tamaño en bytes de la memoria necesaria para una pantalla de lascaracterísticas que se indican en el enunciado. Esto es:

(a) (340 pixel * 540 pixel * 1bit por color) / 8 bits =22.950 bytes

(b) (1.280 pixel * 1.024pixel * 24 bits por color) / 8 bits =3.932.160 bytes

(c) (1.280 pixel * 1.024pixel * 8 bits) / 8 bits =1.310.720 bytes

DEPARTAMENTO DE INFORMATlCA y AUTOMATICA-UNED

Operaciones reales PF Valor normalizacion Operaciones normalizadas10.000 DIV 4 40.000

10.000 SQRT 4 40.00020.000 MULT 1 20.000

50.000 SUB VADD 1 50.000

Page 185: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL D/DACfICO DE ESTRUClVRA y TECNOLOGIA DE COMPUTADORES III XI-45

En el sistema de pantalla (c) se emplea el valor 8 bits debido a que es el número de bits necesario para representar latabla look-up de 256 elementos.

El número de accesos a memoria por segundo que son necesarios para el dispositivo gráfico se calcula de acuerdocon la siguiente expresión:

( )frecuencia de refresco * memoria de pantalla 60 Hz * 22.950 bytes 86 063 Ia =. accesosseg.

tamao depalabra * tamao delbloque 4 bytes * 4 palabras

bfrecuencia de refresco * memoria de pantalla

( )tamao de palabra * tamao delbloque .

60 Hz * 3.932.160 bytes =14.745.600accesos/seg.4 bytes * 4 palabras

( )frecuencia de refresco * memoria de pantalla 60 Hz * 1.310.720bytes 4 915 200 sic =. . acceso seg.

tamao de palabra * tamao delbloque 4 bytes * 4 palabras

Conocidos los accesos a memoria que son necesarios para la pantalla, hay que pasar a calcular el número de accesospor segundo que soporta la memoria del ordenador así como el bus de entrada/salida:

h d b d d . Frecuencia de reloj 60 * 106 ciclos/seg. 4 615 385 IAnc o e an a e memona = = -. . accesos seg.Ciclos por acceso 13 ciclos

A h d b d d E/SFrecuencia de reloj 60 * 106 ciclos/seg 15 000 000 Inc o e an a e = == . . accesos seg.Ciclosporacceso 4 ciclos

De acuerdo con las cifras anteriores, los porcentajes de consumo de ancho de banda que se obtienen para cada unode los sistemas de pantalla son:

DEPARTAMENTO DE INFORMATICA y AUTOMATICA-UNED

Sistema de Dantalla % de ancho de banda de memoria % de ancho de banda de E/S(a) 1,86% 0,57%

lb) 320% (imnosible) 98,3%(c) 107%(imoosible) 32,8%

Page 186: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf
Page 187: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

MATERIAL DIDACTICO DE ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES III XlI-}

ERRATAS CAPíTULO 2

Página 42. En la fórmula en que se calcula el CPI nuevo la expresión correcta es:

CPI = (0.43-0.25 *0.43)* 1+(0.21-0.25*0.43) *2 +nuevo 1- (0.25 *0,43)

(0.25 *0.43) *2+0.12 *2+ 0.24 *31- (0.25 *0.43)

Consultar la aclaración a este ejemplo que se se encuentra en el primer capítulo de estosapuntes.

Página 56. En la frase "...A y B son aproximadamente el 50 por 100 más rápidas que lamáquina C...", el porcentaje es erróneo. La cantidad correcta es el 83%. Esta cifra seobtiene calculando los tiempo totales de ejecución para la carga de trabajo indicada unaslíneas antes (100 veces el programa 1 por cada ejecución del programa 2), y hallando ladiferencia de velocidad:

2020 seg. - 1100 seg.

1100 seg.83%

Página 73. En la casilla (6 @ fila, 1@columna) de la figura 2.19, existe un error en losporcentajes. En lugar de ser (50% GCC, 0% TeX, 100% Spice), los valores correctos son(50% GCC. 50% TeX, 0% Spice).

Página 75. En la quinta línea del pie de la figura. donde dice "VaxStation 2100" debe decir"VAXStation 2000".

ERRATAS CAPíTULO 3

Página 113. Una expresión más correcta para la última línea del primer párrafo es: "...ytambién es útilpara programas enlazados durante la ejecución."

ERRATAS CAPíTULO 4

Página 154. Es necesario cambiar un punto por una coma con el objeto de que la frasetenga sentido: "Como los modos indirectos de memoria requieren un acceso adicional amemoria, para una instrucción de tres operandos se pueden necesitar hasta 6 accesos amemoria."

Página 155. En la casilla (6 @ fila, 1@columna) de la figura 4.3, falta la palabra diferido acontinuación de la palabra desplazamiento.

Página 157. La denominación del tipo "Carácter decimal de campo de bitS' sería máscorrecto si se sustituyese "Carácter. decimaly campo de bitS'.

Página 158. El significado de dos de las instrucciones que aparecen en la tabla es erróneo.Las instrucciones y su significado correcto son:

DEPARTAMENTO DE lNFORMATICA y AUTOMATlCA-UNED

ERRATAS APÉNDICE D

Página 739. En la figura 0.5 donde dice "Figuras 4.28 y 0.4' debe decir "Figuras 4.32 y0.4'.

Page 188: ARQUITECTURA COMPUTADORES__PROBLEMAS RESUELTOS.pdf

XII4 MATERlAL DIDACTlCO DE ESTRUCTURA YTECNOLOGIA DE COMPUfADORES 11I

DEPARTAMENTO DE INFORMATICA y AUfOMATICA-UNED