Eamen de Estructura de Computadores (--) teoría ) Calcula las funciones de selección que determinan la ubicación de una ROM de K a partir de la dirección (CSrom), una RAM de 8K a partir de la dirección 8 (CSrom) y un puerto de E/S de 8K en las últimas direcciones del espacio (CSes) sabiendo que el procesador dispone de 6 líneas de dirección (A, A). Calcula también la ecuación lógica de una línea NM que valga cuando se genere una dirección no perteneciente a ninguno de los elementos anteriores. Para generar líneas que estén activas () durante el intervalo de 8K tenemos que descomponer los 6K en 8 bloques de 8K tenemos que decodificar las líneas más significativas: A A A DEC 6 7 + + CSrom CSram NM CSe/s ) Diseña una memoria de K palabras y 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 K bits, K bits y módulos combinacionales. Dibuja el esquema de interconeión. A Datos de entrada F Datos de salida Libre de errores simples K bits K bit K bit K bit K bits Direcciones R/W Memoria A A DEC K bits A F COMP CORR K bits K bit K bit K bit Funciones F y F d d d d datos C C C paridades m7 m6 m m m m m mensaje C C C d d d = C d d d = C d d d = C ) El sistema de memoria virtual de un computador dispone de una memoria física de marcos de página. Sobre él se ejecuta un programa que hace referencia a las páginas,,,,,,,,,,. 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. LRU Nº fallos = f +F = 7 f f f F F F F FIFO Nº fallos = f +F = 6 f f f F F F * * * * FINUFO * * Nº fallos = f +F = 7 f f f F F F F
) Un procesador trabaja a una f de 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 = 8 ns, y se sabe que la tasa de aciertos de la caché h = 8%, se pide el tiempo medio que tomará el acceso al subsistema de memoria. Tc = /MHz = Ta_cache = ns Ta_medio = Ta_cache + Ta_mem (h * Ta_mem/) = +8(-.8) = ns ) Un determinado programa se ejecuta en una cierta máquina en hora. De dicho tiempo, se sabe que dedica el % a operaciones de entrada/salida y el 8% del tiempo restante a procesamiento. Asuma que la velocidad de procesamiento de la CPU se dobla cada 8 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. Mes CPU E/S Total 8 min min 6 min 8 min min 6 min 6 min min min En tres años, el rendimiento de la CPU se ha multiplicado por. Pero el rendimiento global se ha multiplicado por. 6) Eplica claramente cuáles son los pasos (eventos) para el tratamiento de una interrupción en un procesador. Apuntes de clase 7) Describir brevemente ilustrándolo con un esquema el funcionamiento de una lectura asíncrona mediante el protocolo handshake. Apuntes de clase 8) Tenemos un computador cuyo procesador trabaja con un reloj de MHz con un CPI = ciclos y cada operación de lectura o escritura de memoria tarda un ciclo. Determinar la máima 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 ciclo. (datos: longitud de palabra 8bits) DMA POR ROBO DE CICLO Instrucción i Instrucción i+ ciclos DMA DMA Velocidad de transferencia máima = * 7 ciclos/s / ciclos/palabra = 7 palabras/s DMA TRANSPARENTE Instrucción i Instrucción i+ DMA DMA DMA DMA Velocidad de transferencia máima = * 7 ciclos/s / ciclos/palabra =, * 7 palabras/s
Eamen de Estructura de Computadores (--) problemas Problema Consideremos un procesador de 6 bits que dispone de un banco de 6 registros de propósito general y un espacio de direccionamiento de memoria de 6 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 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:. instrucciones aritmético-lógicas tipo registro-registro.. instrucciones de direccionamiento absoluto.. instrucciones de direccionamiento relativo a registro base con desplazamiento máimo de 8 bytes.. instrucciones de direccionamiento indirecto. Como el repertorio de instrucciones cuenta como mínimo con instrucciones campo de operación de 6 bits. Para cada uno de los grupos de instrucciones:. Como hay 6 registros bits para codificarlos. Este formato es codificable en una palabra COP (6 b) R ( b) R ( b) R ( b) Sin usar ( b). Como el direccionamiento de memoria es por bytes 6 bits para el direccionamiento de memoria. Este formato requiere de dos palabras COP (6 b) Sin uso ( b) Dirección memoria (6 b). Como el desplazamiento máimo es de 8 y el direccionamiento es por bytes 7 bits para el direccionamiento COP (6 b) R ( b) Desplazamiento (7 b). Idéntico al direccionamiento absoluto COP (6 b) Sin uso ( b) Dirección memoria (6 b)
Problema Un computador dispone de un sistema de memoria constituido por una principal Mp de 8KB y una memoria cache Mc de 6KB organizada en 6 conjuntos, con un grado de asociatividad de, 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 veces superior al de MC, y el programa en ejecución referencia las direcciones pertenecientes a los bloques: 7,..,6,9,,, determina la evolución de los conjuntos de bloques durante la ejecución del programa y el tiempo medio de acceso a memoria. a) Número de módulos de MP y tamaño de los mismos 6 7 b) Interpretación de los bits de la dirección física para la MC Nº de líneas de la MC = 6KB / 6B = 6 (Nº de líneas = 6 conjuntos * vías = 6) MP = 8KB 7 bits de dirección 8 Nº de conjuntos de la MC = 6 bits de conjunto Número de palabras por Bloque = 6 8 bits de palabra etiqueta conjunto palabra c) Esquema de correspondencia entre MP y MC. Memoria Cache(MC): C C... C C Memoria Principal (MP): Conjunto B, B6,., B96 Conjunto B, B7,., B97 Conjunto B, B,., B Nº de bloques en MP = 8K/6 = bloques d) Si el tiempo de acceso a MP es veces superior al de MC, y el programa ejecución referencia las direcciones pertenecientes a los bloques: 7,..,6,9,, (FEBRERO) ) Evolución de los conjuntos de bloques durante la ejecución del programa. Bloque 7 va en el conjunto Los bloques del 8 al 9 llenan toda la cache (las líneas de todos los conjuntos). Los bloques del 9 al llenan toda la cache (las líneas de todos los conjuntos). 6 entra en el conjunto Los bloques del 9 al llenan toda la cache (las líneas de todos los conjuntos). ) Tiempo medio de acceso a memoria. C C C C Fallos - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - + Fz 8 6 76 9 6 77 8 7 9 9 7 +6 Fz 9 8 9 9 6 8 9 7 9 +6 Cp 6 + Cp 9 8 + Cf Fallos forzosos (Fz) del 7 al 6= 6 líneas Fallos de capacidad (Cp) del 6 al = 6 líneas Fallos de capacidad (Cp) del al 6= líneas Fallos por conflicto (Cf) en el conjunto = líneas (9,8,,) Total de fallos =6+6++= Total de referencias=6*(+6+6++6)=6*9=966 Total referencias acierto= Total de referencias-total fallos Tiempo medio=[(966-)t+*t]/( 966)=,T
Problema A un procesador de MIPS de velocidad y MHz de frecuencia de reloj se conecta mediante interrupciones una tarjeta de adquisición de datos que opera a una velocidad de MBytes/segundo. a) Calcula el número máimo de instrucciones que deberá tener la rutina de servicio sabiendo que el tiempo de reconocimiento de una interrupción es de 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 6 sectores/pista y 8 bytes/sector que gira a 9.6 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áimo de instrucciones que debería tener en este caso la rutina de servicio de interrupción. SOLUCION: a) Fr = MHz CPI = Mciclos/s / Minstrucciones/s = ciclos/instruccion Fr = MHz Tc = ns + Nºinst(RT) * ciclos/inst. * ns./ciclo < (8 Bytes/inst. / 7 Bytes/seg) 9 ns = 8 ns. Nºinst(RT) < (8 )/ = 7/ = 7 instrucciones b) 9.6 r.p.m = 6 r.p.s. Tlectura_pista = /6 = 6. * -6 segundos Capacidad_pista = 8 = 9 bytes/pista ABmin = 9 bytes/pista / 6. * -6 segundos/pista = 8 MB/s. c) DMA(robo de ciclo) transfiere Nb bytes cada + = 6 ciclos = 6* = nanosegundos = * -9 s. Por tanto Nb = * -9 s. * 8 * 6 B/ s = 996/ = Byte d) Las 7 instrucciones calculadas en el apartado a) corresponden a 7* = ciclos de CPU La rutina de servicio debe durar como máimo ciclos. Cuando opera simultáneamente el DMA(robo de ciclo) cada instrucción ( ciclos) dedica ciclo a transferencia DMA Nºins(rt+DMA) = /6 = 8 instrucciones