Tests Soluciones

January 4, 2019 | Author: ruzo31 | Category: Bit, Central Processing Unit, Computer Data Storage, Cache (Computing), Data Acquisition
Share Embed Donate


Short Description

Test.......

Description

Estructura de Computadores Problema Un computador con instrucciones de longitud fija de 32 bits dispone de 256 registros generales y los siguientes grupos de instrucciones:

Grupo 1: 13 instrucciones que hacen referencia a 3 operandos, 2 en registros y 1 desplazamiento de 12 bits. Grupo 2: 40 instrucciones que hacen referencia a 3 operandos en registros Grupo 3: 7 instrucciones que hacen referencia a 2 operandos, 1 en registro y 1 desplazamiento de 16 bits Grupo 4: 16 instrucciones sin operandos A) Determina el formato de cada grupo de instrucciones B) Dibuja el diseño del decodificador completo C) Calcula el tiempo de decodificación de instrucciones si cada decodificador utilizado en el diseño tienes dos niveles de puertas lógicas y son 2 ns el tiempo de retardo de cada puerta.    

Solución: A)

CO (4 bi ts) 0000 ……….. 1100 1101

R1 (8 bi t s)

CO (4 bi ts)

R1 (8 bi t s)

CO (4 bi ts)

R1 (8 bi t s)

CO (4 bi ts)

R2 (8 bi ts)

R3 (8 bi t s)

R1 (8 bi t s)

R2 (8 bi ts)

R3 (8 bi t s)

8 instrucciones instrucciones Grupo Grupo 2

CO (4 bi ts) 10 0 0 ……….. 1110

1111

R3 (8 bi t s)

16 instrucciones Grupo 2

0000 ……….. 01 1 1 1111

R2 (8 bi ts)

16 instrucciones Grupo 2

0000 ……….. 1111 1111

D (1 2 bi t s)

13 instrucciones Grupo 1

0000 ……….. 1111 1 1 10

R2 (8 bi ts)

R1 (8 bi t s)

D (1 6 bi t s)

7 instrucciones instrucciones Grupo Grupo 3 CO (4 bit s)

1111

0000 ……….. 1111

16 instrucciones instrucciones Grupo 4

B) ( 4 bits )

D EC

(4 bits )

(8 bits )

DEC

D EC

13 G 1

16 G 2

16 G4

DEC 16 G 2 DEC 8G2

7G3

C) Retardo = 3 mux * 2 nivels * 4 ns =24 ns.

1

Problema 1) Sabiendo que la frecuencia de ejecución de instrucciones en una máquina es la que aparece en la siguiente tabla:

Tipo de instrucciones

Frecuencia de ejecución

ADD SUB MUL DIV STA LDA JMP

0.42 0.26 0.21 0.04 0.04 0.02 0.01

Define un CO variable que minimice el tráfico de información con la memoria en las lecturas de las instrucciones. ¿Cuántos bits dejarán de transferirse entre CPU y Memoria con el CO de longitud variable frente a un CO de longitud fija en un programa que ejecuta 1.000 instrucciones?

Solución:

Código de Huffman

Tipo de instrucciones

Frecuencia de ejecución

0 ADD

0.42

10 SUB

0.26

110 MUL

0.21

1110 DIV

0 0 0

0.04

11110 STA

0.04

111110 LDA

0.02

111111 JMP

0.01

0

0.03

1

1

0.32 1

1

0 0

0.11

0.58

1.0

0.07 1

1

Lmedia (v) =1 x 0 .42 + 2 x 0 .26 + 3 x 0.21 + 4 x 0.04 + 5 x 0.04 + 6 x (0.02+0.01) = 2.11 bits L (f) = 3 Cv = 1000 x 2.11 = 2110 Cf = 1000 x 3 = 3000 Cf – Cv = 890 bits

2

Problema Un computador tiene un CPI de 5 para las instrucciones aritmético‐lógicas, un CPI de 7 para las instrucciones de carga‐almacenamiento y un CPI de 15 para las instrucciones aritméticas de tipo trigonométrico. Cierto benchmark  tiene un 30% de operaciones aritmético‐lógicas, un 60% de carga‐almacenamiento y el resto de operaciones aritméticas de tipo trigonométrico. Con el propósito de mejorar las prestaciones del computador, se manejan 2 alternativas de diseño: a) Modificar la organización para aumentar la frecuencia de reloj en un 30% a costa de aumentar a 9 el CPI de las instrucciones de carga‐almacenamiento b) Incluir un HW específico para las operaciones trigonométricas que reduce el CPI de estas instrucciones a 7. ¿Qué opción es mejor? Justifica numéricamente la respuesta

Solución:

CPI orig = 5*0,3+7*0,6+15*0,1 = 7,2 CPI A = 5*0,3 + 9*0,6 +15*0,1 = 8,4 Torig

T A





N * CPI orig * TCorig

N * CPI A * TC A

SpeedUp A =

T orig T  A







N *7, 2* TC orig  

N *8,   4*

7,2 8,4 / 1,3



TC orig

1,3

7, 2 6, 46

= 1,114

CPI B = 5*0,3 + 7*0,6 + 7*0,1 = 6,4

SpeedUp B =

7,2 6,4

= 1,125

Luego es mejor la alternativa B porque consigue mayor ganancia de velocidad frente al diseño actual

3

Problema

Codificar con instrucciones SIMD del Pentium (MMX) el siguiente segmento de programa: for i = 0 to 3 if a[i] = p then s[i] = (a[i] ‐ c[i])/2 else if a[i] = q then s[i] = 4*c[i] else s[i] = s[i]*c[i]

Solución: mm0 a3

=

=

=

a2

a1

a0

=

=

mm1  p 1

=

=

=

q

q

mm2 p

p

p

q

mm1

q

2

mm2

0…0 0.…0

1….1

1…1 1.…1

0...0

0….0

0...0

NOT AND 3

4

mm0 a3

mm3 a2

-

-

a1

a0

-

-

c3

c3

c2

c1

c1

c0

c’’3

c’’2

c’’1

Desplazamiento >> 1

c’2

c’1

AND

0…0 0.…0

c’1

6

c’’3

c’’2

0….0

s0

x

x

x

c2

c1

c0

c’’’2

c’’’1

c’’’0

mm4 c’’’3

0…0

8

OR

0...0

s1

mm3 c3

AND

mm3 mm0

c)

7

c’0

s2 x

5

c’’0

mm0 c’3

s3

mm3

a)

c0

c2

Desplazamiento 83 MB/s   SI se podría conectar

d)

Las 70 instrucciones calculadas en el apartado a) corresponden a 70*5 = 350 ciclos de CPU  La rutina de servicio debe durar como máximo 350 ciclos. Cuando opera simultáneamente el DMA(robo de ciclo) cada instrucción (5 ciclos) dedica 1 ciclo a transferencia DMA  Nºins(rt+DMA) = 350/6 = 58 instrucciones

6

Problema

Sea un procesador segmentado de cinco etapas. Ejecutamos en este procesador una aplicación con las siguientes características:  El 18% de las veces las instrucciones Ii+1 tienen una dependencia de LDE con las instrucciones Ii. El 29 %de éstas corresponden a instrucciones de load.  El 6% de las veces las instrucciones Ii+2 tienen dependencias de LDE con la instrucción Ii  El 25% de las instrucciones son de bifurcación condicional, de las cuales se toman el 35% Calcula: a) Los CPIs respectivos para las siguientes características del procesador: 1) Procesador sin técnicas para reducir o eliminar paradas. Los saltos se resuelven en ejecución. Se  puede escribir y leer el registro en el mismo ciclo de reloj.

 b) c)

2) Procesador con cortocircuito ( forwarding). Los saltos se resuelven en decodificación. La ganacia de velocidad (speedup) del segundo caso frente al primero. Eficiencia de ambos casos

Solución: a.1) Vamos a ver las paradas por dependencias que ocurren en cada caso: 

Paradas por dependencia entre Ii+1 e Ii

Ii F D E M W Ii+1 F DP DP D E M W El número de paradas es 2. En este primer caso los load y el resto de las instrucciones con dependencia tienen el mismo número de paradas puesto que en todos los casos se espera hasta la etapa de escritura para poder leer el nuevo valor. 

Paradas por dependencias entre Ii+2 e Ii

Ii F D E M W Ii+1 F D E M W Ii+2 F DP D E M W W En este segundo caso se produce un ciclo de parada entre Ii e Ii+2 

Paradas por bifurcación condicional: 3 ciclos de parada

BC F D E M W Ii+1 FP FP FP F D E M W Por lo tanto el CPI de este procesador será:

   

  

 

   ó

CPI= 1+0,18*2+0,06*1+0.25*3 = 1+0,36+0,06+0,75 = 2,17 CPI a.2) Procesador con forwarding y los saltos se resuelven en decodificación:

En este caso solo producen parada por LDE las instrucciones que dependen del load que son el 0,18*0,29=0,0522 del total LOAD F D E M W Ii+1 F DP D E M W Como el cálculo de la dirección y de la condición se realiza en decodificación solo se produce un ciclo de parada en los saltos que se toman que son 0,25 * 0,35=0,0875 del total. 

BC F D E M W Ii+1 FP F D E M W CPI= 1+0,0522*1+0,0675*1=1,1397 c) speed up =CPIviejo/CPInuevo =2,17/1,1397=1,904 d) eficienciaA = CPIideal/CPIA =1/2,17 =0,46;

eficienciaB = CPIideal/CPIA =1/1,397 =0,715

7

Problema

Un computador dispone de un sistema de memoria central constituido por una memoria principal Mp de 64 K palabras y una cache Mc de 1 K palabras con correspondencia directa y 64 palabras por bloque. El tiempo de ciclo de Mp es 10 veces superior al de Mc que es de 10 ns. Se ejecuta un programa que sigue el siguiente perfil de referencias a memoria: 17 . . 23
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF