Examen de Estructura de Computadores (10-02

Anuncio
Examen de Estructura de Computadores (10-02-2012)
Solución teoría
1) Calcula las funciones de selección que determinan la ubicación de una ROM de 32K a partir de la dirección 0000 (CSrom), una RAM de 8K a partir
de la dirección 8000 (CSrom) y un puerto de E/S de 8K en las últimas direcciones del espacio (CSes) sabiendo que el procesador dispone de 16 líneas
de dirección (A15,…A0). Calcula también la ecuación lógica de una línea NM que valga 1 cuando se genere una dirección no perteneciente a ninguno
de los elementos anteriores.
Solución
Para generar líneas que estén activas (1) durante el intervalo de 8K tenemos que descomponer los 64K en 8 bloques de 8K  tenemos que decodificar
las 3 líneas más significativas:
0
1
A13
+
2
CSrom
3
A14
DEC
CSram
4
5
A15
+
6
NM
CSe/s
7
2) Diseña una memoria de 4K palabras y 4 bits útiles de longitud de palabra, tolerante a un fallo simple, utilizando el código de Hamming. Se dispone
de módulos de memoria de 2Kx 1 bits, 1K x 4 bits y módulos combinacionales. Dibuja el esquema de interconexión.
A11
Datos de entrada
10
Datos de salida
Libre de errores
simples
F
SC
4
SC
SC
1K x 4 bits
11
10
0
Direcciones
SC
A10
Memoria
SC
1
11
1
11
1
2K
x
1bit
2K
x
1bit
2K
x
1bit
SC
SC
SC
4
1K x 4 bits
1
2
A11
A11
3
R/W
DEC
10
SC
4
1K x 4 bits
11
F
CORR
10
SC
1
2K
x
1bit
COMP
11
1
2K
x
1bit
11
1
2K
x
1bit
4
1K x 4 bits
Funciones F y F’
d4
d3
d2
d1
C4
C2
C1
------------------------------------------------------------------------------------m7
m6
m5
m4
m3
m2
m1
------------------------------------------------------------------------------------1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
------------------------------------------------------------------------------------d4
d3
d2
d4
d3
d1
d4
d2
d1
datos
paridades
mensaje
C4
C2
C1
= C4
= C2
= C1
3) El sistema de memoria virtual de un computador dispone de una memoria física de 3 marcos de página. Sobre él se ejecuta un programa que hace
referencia a las páginas 1,2,3,2,1,4,5,3,5,5,1. Dibuja la evolución del contenido de la memoria física a lo largo de la ejecución del programa y determina
el número de fallos de página para las siguientes políticas de sustitución de página: LRU, FIFO, FINUFO.
Solución
1
2
3
1
4
5
1
1
1
1
1
1
1
3
3
3
3
2
2
2
2
2
5
5
5
5
5
3
3
3
4
4
4
4
4
1
F
F
F
1
4
5
3
LRU
2
5
5
1
f
f
1
2
3
1
1
1
1
1
4
4
4
4
4
4
2
2
2
2
2
5
5
5
5
5
3
3
3
3
3
3
3
3
1
F
F
1
4
5
FIFO
f
3
2
f
f
1
2
3
2
1
1
1
1
1*
1
5
2
2
2*
2*
2
3
3
3
FINUFO
f
f
f
f
Nº fallos = 3f +4F = 7
F
5
5
1
Nº fallos = 3f +3F = 6
F
3
5
5
1
5
5*
5*
5*
2
3
3
3
3
4
4
4
4
4
1
F
F
F
F
Nº fallos = 3f +4F = 7
4) Un procesador trabaja a una f de 50 MHz. Se desea acoplar una memoria caché SRAM cuyo tiempo de acceso coincide con la duración del ciclo del
procesador. Si la memoria principal tiene un tiempo de acceso Ta = 80 ns, y se sabe que la tasa de aciertos de la caché h = 85%, se pide el tiempo medio
que tomará el acceso al subsistema de memoria.
Solución
Tc = 1/50MHz = Ta_cache = 2 ns
Ta_medio = Ta_cache + Ta_mem –(h * Ta_mem/100) = 2+80(1-0.85) = 14 ns
5) Un determinado programa se ejecuta en una cierta máquina en 1 hora. De dicho tiempo, se sabe que dedica el 20% a operaciones de entrada/salida y
el 80% del tiempo restante a procesamiento. Asuma que la velocidad de procesamiento de la CPU se dobla cada 18 meses. Determine cuál será la
mejora obtenida en el rendimiento global del programa después de tres años, si no se produce mejoras en el subsistema de entrada/salida.
Solución
Mes
CPU
E/S
Total
0
48 min
12 min
60 min
18
24 min
12 min
36 min
36
12 min
12 min
24 min
En tres años, el rendimiento de la CPU se ha multiplicado por 4. Pero el rendimiento global se ha multiplicado por 2.5
6) Explica claramente cuáles son los pasos (eventos) para el tratamiento de una interrupción en un procesador.
Solución
Apuntes de clase
7) Describir brevemente ilustrándolo con un esquema el funcionamiento de una lectura asíncrona mediante el protocolo handshake.
Solución
Apuntes de clase
8) Tenemos un computador cuyo procesador trabaja con un reloj de 30 MHz con un CPI = 2 ciclos y cada operación de lectura o escritura de memoria
tarda un ciclo. Determinar la máxima velocidad de transferencia de datos, en palabras por segundo, cuando empleamos:
 DMA con transferencia por robo de ciclo,
 DMA con transferencia transparente, para una CPU que en cada instrucción sólo usa el bus durante 1 ciclo.
(datos: longitud de palabra 8bits)
Solución

DMA POR ROBO DE CICLO
Instrucción i
Instrucción i+1
D MA
DM A
3 ciclos

Velocidad de transferencia máxima = 3*107 ciclos/s / 3 ciclos/palabra = 107 palabras/s
DMA TRANSPARENTE
Instrucción i
DMA
Instrucción i+1
DMA
DMA
7
DM A
Velocidad de transferencia máxima = 3*10 ciclos/s / 2 ciclos/palabra = 1,5 * 107 palabras/s
Examen de Estructura de Computadores (10-02-2012)
Solución problemas
Problema 1
Consideremos un procesador de 16 bits que dispone de un banco de 6 registros de propósito general y un espacio de direccionamiento de memoria de 64
KB. La memoria se direcciona por bytes y requiere tres ciclos de reloj para las operaciones de lectura y escritura. La unidad aritmético-lógica es capaz
de realizar 20 operaciones aritméticas y lógicas (sumar, restar, multiplicar, dividir, incrementar, etc.).
Asumiendo un código de operación (CO) de longitud fija, diseñar el formato de instrucción que permita construir un juego de instrucciones con al
menos:
1. 40 instrucciones aritmético-lógicas tipo registro-registro.
2. 5 instrucciones de direccionamiento absoluto.
3. 5 instrucciones de direccionamiento relativo a registro base con desplazamiento máximo de 128 bytes.
4. 2 instrucciones de direccionamiento indirecto.
Solución
Como el repertorio de instrucciones cuenta como mínimo con 52 instrucciones  campo de operación de 6 bits. Para cada uno de los grupos de
instrucciones:
1. Como hay 6 registros  3 bits para codificarlos. Este formato es codificable en una palabra
COP (6 b)
2.
R1 (3 b)
R2 (3 b)
R3 (3 b)
Sin usar (1 b)
Como el direccionamiento de memoria es por bytes  16 bits para el direccionamiento de memoria. Este formato requiere de dos palabras
COP (6 b)
Sin uso (10 b)
Dirección memoria (16 b)
3.
Como el desplazamiento máximo es de 128 y el direccionamiento es por bytes  7 bits para el direccionamiento
COP (6 b)
4.
R1 (3 b)
Idéntico al direccionamiento absoluto
COP (6 b)
Dirección memoria (16 b)
Sin uso (10 b)
Desplazamiento (7 b)
Problema 2
Un computador dispone de un sistema de memoria constituido por una principal Mp de 128KB y una memoria cache Mc de 16KB organizada en 16
conjuntos, con un grado de asociatividad de 4, 256 bytes por línea y política de reemplazamiento LRU. Mp es una memoria entrelazada de orden
inferior. Se pide:
a) Número de módulos de Mp y tamaño de los mismo para que se minimice el tiempo de transferencia de bloques entre Mp y Mc
b) Interpretación de los bits de la dirección física para la Mc
c) Esquema de correspondencia entre Mp y Mc.
d) Si el tiempo de acceso a MP es 10 veces superior al de MC, y el programa en ejecución referencia las direcciones pertenecientes a los
bloques: 127,..,256,192,…,255, determina la evolución de los conjuntos de bloques durante la ejecución del programa y el tiempo medio de
acceso a memoria.
Solución
a)
Número de módulos de MP y tamaño de los mismos
0 1 2 3 4 5 6 7 14 3 b)
Interpretación de los bits de la dirección física para la MC
Nº de líneas de la MC = 16KB / 256B = 64 (Nº de líneas = 16 conjuntos * 4 vías = 64)
5
MP = 128KB  17 bits de dirección
Nº de conjuntos de la MC = 16  4 bits de conjunto
etiqueta
Número de palabras por Bloque = 256  8 bits de palabra
4
8
conjunto
palabra
C0
C1
....
256 bytes
C15
Nº de bloques en MP = 128K/256 = 512 bloques
Si el tiempo de acceso a MP es 10 veces superior al de MC, y el programa ejecución referencia las direcciones pertenecientes a los bloques:
127,..,256,192,…,255 (FEBRERO)
1) Evolución de los conjuntos de bloques durante la ejecución del programa.
Bloque 127 va en el conjunto 15
Los bloques del 128 al 191 llenan toda la cache (las 4 líneas de todos los conjuntos).
Los bloques del 192 al 255 llenan toda la cache (las 4 líneas de todos los conjuntos).
256 entra en el conjunto 0
Los bloques del 192 al 255 llenan toda la cache (las 4 líneas de todos los conjuntos).
2) Tiempo medio de acceso a memoria.
C0
C1
C14
C15
Fallos
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
127
-
-
-
+1 Fz
128
144
160
176
129
145
161
177
142
158
174
190
143
159
175
+63 Fz
192
208
224
240
193
209
225
241
206
222
238
254
207
223
239
+64 Cp
256
240
191
255
192
208
224
Fallos de capacidad (Cp) del 62 al 254= 64 líneas
Fallos de capacidad (Cp) del 255 al 256= 2 líneas
Fallos por conflicto (Cf) en el conjunto 0=4 líneas
(192,208,224,240)
-
+2 Cp
+4 Cf
Fallos forzosos (Fz) del 127 al 62= 64 líneas
256 bytes
256 bytes
256 bytes
256 bytes
256 bytes
C14
Memoria Principal (MP):
Conjunto 0  B0, B16,…., B496
Conjunto 1  B1, B17,…., B497
…
Conjunto 15  B15, B31,…., B511
d)
256 bytes
256 bytes
256 bytes
256 bytes
256 bytes
256 bytes
256 bytes
256 bytes
256 bytes
256 bytes
c) Esquema de correspondencia entre MP y MC.
Memoria Cache(MC):
Total de fallos =64+64+2+4=134
Total de referencias=256*(1+64+64+1+64)=256*194=49664
Total referencias acierto= Total de referencias-total fallos
Tiempo medio=[(49664-134)T+134*10T]/( 49664)=1,024T
Problema 3
A un procesador de 100 MIPS de velocidad y 500MHz de frecuencia de reloj se conecta mediante interrupciones una tarjeta de adquisición de datos
que opera a una velocidad de 10 MBytes/segundo.
a) Calcula el número máximo de instrucciones que deberá tener la rutina de servicio sabiendo que el tiempo de reconocimiento de una
interrupción es de 100 ns. y que se transmiten 8 bytes por interrupción.
b) Si al mismo computador conectamos a través de DMA un disco magnético de 256 sectores/pista y 2048 bytes/sector que gira a 9.600
revoluciones por minuto, calcula el ancho de banda mínimo que debe proporcionar el DMA.
c) Calcula el número de bytes que deben transferirse por ciclo de DMA para proporcionar el ancho de banda calculado en el apartado b) si el
DMA opera por robo de ciclo.
d) Si el procesador opera simultáneamente con la tarjeta de adquisición de datos conectada por interrupciones y con el disco magnético
conectado por DMA (robo de ciclo), calcula el número máximo de instrucciones que debería tener en este caso la rutina de servicio de
interrupción.
SOLUCION:
a)
Fr = 500 MHz  CPI = 500 Mciclos/s / 100 Minstrucciones/s = 5 ciclos/instruccion
Fr = 500 MHz  Tc = 2 ns
100 + Nºinst(RT) * 5 ciclos/inst. * 2 ns./ciclo < (8 Bytes/inst. / 107 Bytes/seg) 109ns = 800 ns. 
Nºinst(RT) < (800 – 100)/10 = 700/10 = 70 instrucciones
b)
9.600 r.p.m = 160 r.p.s.  Tlectura_pista = 1/160 = 6.250 *10-6 segundos
Capacidad_pista = 28 x 211 = 219 bytes/pista
ABmin = 219 bytes/pista / 6.250 *10-6 segundos/pista = 83 MB/s.
c)
DMA(robo de ciclo) transfiere Nb bytes cada 5+1 = 6 ciclos = 6*2 = 12 nanosegundos = 12 *10-9 s.
Por tanto Nb = 12 *10-9 s. * 83 *106 B/ s = 996/1000 = 1 Byte
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
Descargar