SlideShare una empresa de Scribd logo
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 
2 
3 
DEC 
4 
5 
6 
7 
+ 
+ 
CSrom 
CSram 
NM 
CSe/s 
A13 
A14 
A15 
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. 
Datos de salida 
Libre de errores 
simples 
Datos de entrada 
Direcciones 
R/W 
Memoria 
F 
F 
COMP 
CORR 
0 
1 
2 
3 
DEC 
A10 
A11 
SC 
10 4 
1K x 4 bits 
SC 
10 4 
1K x 4 bits 
SC 
10 4 
1K x 4 bits 
SC 
10 4 
1K x 4 bits 
SC 
11 1 
2K 
x 
1bit 
SC 
11 1 
2K 
x 
1bit 
SC 
11 1 
2K 
x 
1bit 
SC 
11 1 
2K 
x 
1bit 
SC 
11 1 
2K 
x 
1bit 
SC 
11 1 
2K 
x 
1bit 
A11 
A11 
Funciones F y F’ 
d4 d3 d2 d1 datos 
C4 C2 C1 paridades 
------------------------------------------------------------------------------------- 
m7 m6 m5 m4 m3 m2 m1 mensaje 
------------------------------------------------------------------------------------- 
1 1 1 1 0 0 0 C4 
1 1 0 0 1 1 0 C2 
1 0 1 0 1 0 1 C1 
------------------------------------------------------------------------------------- 
d4 d3 d2 = C4 
d4 d3 d1 = C2 
d4 d2 d1 = 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 2 1 4 5 3 5 5 1 
1 1 
2 
1 
2 
3 
1 
2 
3 
1 
2 
3 
1 
2 
4 
1 
5 
4 
3 
5 
4 
3 
5 
4 
3 
5 
4 
3 
5 
1 
f f f F F F F 
Nº fallos = 3f +4F = 7 
1 2 3 2 1 4 5 3 5 5 1 
1 1 
2 
1 
2 
3 
1 
2 
3 
1 
2 
3 
4 
2 
3 
4 
5 
3 
4 
5 
3 
4 
5 
3 
4 
5 
3 
4 
5 
1 
f f f F F F 
Nº fallos = 3f +3F = 6 
1 2 3 2 1 4 5 3 5 5 1 
1 1 
2 
1 
2 
3 
1 
2* 
3 
1* 
2* 
3 
1 
2 
4 
5 
2 
4 
5 
3 
4 
5* 
3 
4 
5* 
3 
4 
5* 
3 
1 
f f f F F F F 
Nº fallos = 3f +4F = 7 
LRU 
FIFO 
FINUFO
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 
DMA DMA 
3 ciclos 
Velocidad de transferencia máxima = 3*107 ciclos/s / 3 ciclos/palabra = 107 palabras/s 
 DMA TRANSPARENTE 
Instrucción i Instrucción i+1 
DMA DMA DMA DMA 
Velocidad de transferencia máxima = 3*107 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) R1 (3 b) R2 (3 b) R3 (3 b) Sin usar (1 b) 
2. 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) R1 (3 b) Desplazamiento (7 b) 
4. Idéntico al direccionamiento absoluto 
COP (6 b) Sin uso (10 b) 
Dirección memoria (16 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. 
5 
7 
6 
2 
3 
4 
1 
0 
14 3 
5 4 8 
etiqueta conjunto palabra 
Solución 
a) Número de módulos de MP y tamaño de los mismos 
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) 
MP = 128KB  17 bits de dirección 
Nº de conjuntos de la MC = 16  4 bits de conjunto 
Número de palabras por Bloque = 256  8 bits de palabra 
c) Esquema de correspondencia entre MP y MC. 
Memoria Cache(MC): 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
256 bytes 
C0 C1 .... C14 C15 
Memoria Principal (MP): 
Conjunto 0  B0, B16,…., B496 
Conjunto 1  B1, B17,…., B497 
… 
Conjunto 15  B15, B31,…., B511 
Nº de bloques en MP = 128K/256 = 512 bloques 
d) 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 191 207 223 239 +64 Cp 
256 255 +2 Cp 
240 192 208 224 +4 Cf 
Fallos forzosos (Fz) del 127 al 62= 64 líneas 
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) 
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

Más contenido relacionado

PDF
Problemas m3
PDF
Problemas m2
PDF
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN DESARROLLO DE PROTOTIPOS ELECTRONICOS, 1er Parcial (202...
PDF
⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2) C1-3
DOCX
PPTX
Memoria del computador
PDF
7.3.1.2 packet tracer simulation exploration of tcp and udp instructions
Problemas m3
Problemas m2
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN DESARROLLO DE PROTOTIPOS ELECTRONICOS, 1er Parcial (202...
⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2) C1-3
Memoria del computador
7.3.1.2 packet tracer simulation exploration of tcp and udp instructions

La actualidad más candente (20)

PDF
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 1)
PDF
Comandos de red
PDF
⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 1)
DOC
Trabajo Práctico II Corregido
PDF
Comandos redwindows
PDF
Comandos redwindows
DOCX
7.2.3.5 lab
PPT
Exploration network chapter7
PDF
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN C RESUELTA 1er PARCIAL (2019 1er ...
PDF
Examen l ry s septiembre2006 resuelto
PDF
Examen l ry s junio2006 resuelto
PPT
Sumando Y sumado avanzado
PDF
⭐⭐⭐⭐⭐ LECCIÓN SISTEMAS EMBEBIDOS, 2do Parcial (2020 PAO 2) C6
PDF
Actividad
PDF
7.2.3.5 lab using wireshark to examine a udp dns capture
PDF
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN A RESUELTA 2do PARCIAL (2019 1er T...
PDF
8.1.3.8 packet tracer
PDF
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, Mejoramiento (2020 PAO 1)
PDF
Redes i practica8
PDF
Electrónica digital: Sumadores y restadores
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 1)
Comandos de red
⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 1)
Trabajo Práctico II Corregido
Comandos redwindows
Comandos redwindows
7.2.3.5 lab
Exploration network chapter7
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN C RESUELTA 1er PARCIAL (2019 1er ...
Examen l ry s septiembre2006 resuelto
Examen l ry s junio2006 resuelto
Sumando Y sumado avanzado
⭐⭐⭐⭐⭐ LECCIÓN SISTEMAS EMBEBIDOS, 2do Parcial (2020 PAO 2) C6
Actividad
7.2.3.5 lab using wireshark to examine a udp dns capture
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN A RESUELTA 2do PARCIAL (2019 1er T...
8.1.3.8 packet tracer
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, Mejoramiento (2020 PAO 1)
Redes i practica8
Electrónica digital: Sumadores y restadores
Publicidad

Destacado (13)

PDF
Tutomic soldaresfacil web
PDF
Cbex123 #3
PDF
مادة الفكر التربوى - لمسه - المجموعة الاولى
PDF
Metricas4 vip ideas interesantes-
PDF
مادة الفكر التربوى لمسه - المجموعة الاولى
PDF
Programa
PDF
Living Well March 2012
PDF
كيف تسأل و تجيب بالإنجليزية؟ . فهد عوض الحارثي موقع جديد الكتب
PDF
Metrica rendimiento ec4
PDF
مادة الحاسب الالي لمسه- المجموعة الاولى
PDF
مادة المعلم ومهنة التعليم لمسه- المجموعة الاولى
PDF
مذكرة Futureالصف الاول الابتدائى الترم الاول
PDF
Intro hoja calculo
Tutomic soldaresfacil web
Cbex123 #3
مادة الفكر التربوى - لمسه - المجموعة الاولى
Metricas4 vip ideas interesantes-
مادة الفكر التربوى لمسه - المجموعة الاولى
Programa
Living Well March 2012
كيف تسأل و تجيب بالإنجليزية؟ . فهد عوض الحارثي موقع جديد الكتب
Metrica rendimiento ec4
مادة الحاسب الالي لمسه- المجموعة الاولى
مادة المعلم ومهنة التعليم لمسه- المجموعة الاولى
مذكرة Futureالصف الاول الابتدائى الترم الاول
Intro hoja calculo
Publicidad

Similar a Solucion examenfeb12 (20)

PDF
Problemas m4
PDF
Itcr el 3310 i semestre 2008 soluciones
PDF
Memoria 3
PDF
Arquitectura isa 1
PPTX
upc algoritmos 02
 
PPTX
Microprocesadores
 
PPTX
Microprocesadores
 
PPTX
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)
PDF
Ejercicios tema6
PPT
C P U Uniciclo
PDF
Ejercicios_TeoriaOCW_zuz.pdf
PDF
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
PDF
Modos.de.direccionamiento.del.8086
PDF
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 1er PARCIAL (2019 2do Tér...
PPTX
Los procesadores
PPTX
Los procesadores
DOCX
Guía de arquitectura de computadoras II
DOCX
Guía de arquitectura de computadoras II-Preguntas y Respuestas
PPT
Diseño de mapas de memoria
DOC
Micc final sept05_2009
Problemas m4
Itcr el 3310 i semestre 2008 soluciones
Memoria 3
Arquitectura isa 1
upc algoritmos 02
 
Microprocesadores
 
Microprocesadores
 
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)
Ejercicios tema6
C P U Uniciclo
Ejercicios_TeoriaOCW_zuz.pdf
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Modos.de.direccionamiento.del.8086
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 1er PARCIAL (2019 2do Tér...
Los procesadores
Los procesadores
Guía de arquitectura de computadoras II
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Diseño de mapas de memoria
Micc final sept05_2009

Más de xavazquez (20)

PDF
Users técnico pc - jpr504 - 24
PDF
Users técnico pc - jpr504 - 23
PDF
Users técnico pc - jpr504 - 22
PDF
Users técnico pc - jpr504 - 21
PDF
Users técnico pc - jpr504 - 20
PDF
Users técnico pc - jpr504 - 19
PDF
Users técnico pc - jpr504 - 18
PDF
Users técnico pc - jpr504 - 17
PDF
Users técnico pc - jpr504 - 16
PDF
Users técnico pc - jpr504 - 15
PDF
Users técnico pc - jpr504 - 14
PDF
Users técnico pc - jpr504 - 13
PDF
Users técnico pc - jpr504 - 12
PDF
Users técnico pc - jpr504 - 11
PDF
Users técnico pc - jpr504 - 10
PDF
Users técnico pc - jpr504 - 09
PDF
Users técnico pc - jpr504 - 08
PDF
Users técnico pc - jpr504 - 07
PDF
Users técnico pc - jpr504 - 06
PDF
Users técnico pc - jpr504 - 05
Users técnico pc - jpr504 - 24
Users técnico pc - jpr504 - 23
Users técnico pc - jpr504 - 22
Users técnico pc - jpr504 - 21
Users técnico pc - jpr504 - 20
Users técnico pc - jpr504 - 19
Users técnico pc - jpr504 - 18
Users técnico pc - jpr504 - 17
Users técnico pc - jpr504 - 16
Users técnico pc - jpr504 - 15
Users técnico pc - jpr504 - 14
Users técnico pc - jpr504 - 13
Users técnico pc - jpr504 - 12
Users técnico pc - jpr504 - 11
Users técnico pc - jpr504 - 10
Users técnico pc - jpr504 - 09
Users técnico pc - jpr504 - 08
Users técnico pc - jpr504 - 07
Users técnico pc - jpr504 - 06
Users técnico pc - jpr504 - 05

Solucion examenfeb12

  • 1. 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 2 3 DEC 4 5 6 7 + + CSrom CSram NM CSe/s A13 A14 A15 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. Datos de salida Libre de errores simples Datos de entrada Direcciones R/W Memoria F F COMP CORR 0 1 2 3 DEC A10 A11 SC 10 4 1K x 4 bits SC 10 4 1K x 4 bits SC 10 4 1K x 4 bits SC 10 4 1K x 4 bits SC 11 1 2K x 1bit SC 11 1 2K x 1bit SC 11 1 2K x 1bit SC 11 1 2K x 1bit SC 11 1 2K x 1bit SC 11 1 2K x 1bit A11 A11 Funciones F y F’ d4 d3 d2 d1 datos C4 C2 C1 paridades ------------------------------------------------------------------------------------- m7 m6 m5 m4 m3 m2 m1 mensaje ------------------------------------------------------------------------------------- 1 1 1 1 0 0 0 C4 1 1 0 0 1 1 0 C2 1 0 1 0 1 0 1 C1 ------------------------------------------------------------------------------------- d4 d3 d2 = C4 d4 d3 d1 = C2 d4 d2 d1 = 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 2 1 4 5 3 5 5 1 1 1 2 1 2 3 1 2 3 1 2 3 1 2 4 1 5 4 3 5 4 3 5 4 3 5 4 3 5 1 f f f F F F F Nº fallos = 3f +4F = 7 1 2 3 2 1 4 5 3 5 5 1 1 1 2 1 2 3 1 2 3 1 2 3 4 2 3 4 5 3 4 5 3 4 5 3 4 5 3 4 5 1 f f f F F F Nº fallos = 3f +3F = 6 1 2 3 2 1 4 5 3 5 5 1 1 1 2 1 2 3 1 2* 3 1* 2* 3 1 2 4 5 2 4 5 3 4 5* 3 4 5* 3 4 5* 3 1 f f f F F F F Nº fallos = 3f +4F = 7 LRU FIFO FINUFO
  • 2. 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 DMA DMA 3 ciclos Velocidad de transferencia máxima = 3*107 ciclos/s / 3 ciclos/palabra = 107 palabras/s  DMA TRANSPARENTE Instrucción i Instrucción i+1 DMA DMA DMA DMA Velocidad de transferencia máxima = 3*107 ciclos/s / 2 ciclos/palabra = 1,5 * 107 palabras/s
  • 3. 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) R1 (3 b) R2 (3 b) R3 (3 b) Sin usar (1 b) 2. 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) R1 (3 b) Desplazamiento (7 b) 4. Idéntico al direccionamiento absoluto COP (6 b) Sin uso (10 b) Dirección memoria (16 b)
  • 4. 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. 5 7 6 2 3 4 1 0 14 3 5 4 8 etiqueta conjunto palabra Solución a) Número de módulos de MP y tamaño de los mismos 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) MP = 128KB  17 bits de dirección Nº de conjuntos de la MC = 16  4 bits de conjunto Número de palabras por Bloque = 256  8 bits de palabra c) Esquema de correspondencia entre MP y MC. Memoria Cache(MC): 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes 256 bytes C0 C1 .... C14 C15 Memoria Principal (MP): Conjunto 0  B0, B16,…., B496 Conjunto 1  B1, B17,…., B497 … Conjunto 15  B15, B31,…., B511 Nº de bloques en MP = 128K/256 = 512 bloques d) 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 191 207 223 239 +64 Cp 256 255 +2 Cp 240 192 208 224 +4 Cf Fallos forzosos (Fz) del 127 al 62= 64 líneas 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) 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
  • 5. 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