Está en la página 1de 9

UNIVERSIDAD NACIONAL PEDRO RUZ GALLO

EJERCICIOS DE: CONTROL MICROPROGRAMADO Y PROCESAMIENTO PARALELO

ALUMNA: AEZ RENTERA MIRIAM

15.2 Suponga que un repertorio de microinstruccin que incluye un microinstruccin con la siguiente forma simblica: IF (AC0=1) THEN CAR (C0-6) ELSE CAR (CAR) + 1

Donde AC0 es el bit de signo de acumulador, y C0-6 son los siete primeros bits de la microinstruccin. Utilizando esta microinstruccin, escriba una microprograma que implemente un instruccin maquina (Branch Register Minus BRM), que salte si el AC es negativo. Suponga que los bits C1-Cn del microinstruccin especifican un conjunto paralelo de microoperaciones. Exprese el programa simblicamente.

Suponemos que el microprograma incluye una rutina de bsqueda que comienza en la posicin 0 y una macroinstruccin BRM, que comienza en la posicin 40. 40: IF (AC0 = 1) THEN CAR 42; ELSE CAR (CAR) + 1 41: CAR 43; PC (PC) + 1 42: PC (IR(address)) 43: CAR 0

15.4 Considere la unidad de control de la Figura 15.7. Suponga que la memoria de control tiene una anchura de de 24 hits. La parte de control del formato de microinstruccin est dividida en dos campos. Un campo de microoperacion de 13 bits especifica las microoperaciones que van a realizar. Un campo de seleccin de direccin especifica una condicin, basada en los indicadores, que origina un salto de microinstruccin. Hay ocho indicadores. a) Cuntos bits hay en el campo de seleccin de direccin? Tres bits se necesitan para especificar uno de las 8 direcciones

b)

Cuntos bits hay en el campo de direccin? 24 13 3 = 8

c)

Cul es el tamao de la memoria de control? 28 = 256 palabras 24 bits /palabra = 6144 bits

15.6. Deseamos proporcionar 8 palabras de control para cada rutina de instruccin mquina. Los cdigos de operacin de la instruccin mquina tienen 5 bits, y la memoria de control tiene 1024 palabras. Sugiera una traduccin del registro de instruccin al registro de direccin de control. Una direccin para el control de la memoria requiere 10 bits (210 =1024). Una muy simple asignacin sera la siguiente: Cdigo de operacin XXXXX control de la direccin 00XXXXX000 Esto permite a 8 palabras entre las direcciones sucesivas.

15.8. Un procesador tiene 16 registros, una ALU con 16 funciones lgicas y 16 funciones aritmticas, y un desplazador con 8 operaciones todo conectado por un bus interno del procesador. Disee el formato de microinstruccin para especificar las distintas microoperaciones del procesador.

Un formato de 20 bits formado por los siguientes campos: A1 (4 bits): especifica el registro para actuar como una de las entradas a la ALU A2 (4 bits): especifica otros operando de la ALU A3 (4 bits): especifica el registro para almacenar resultado de la ALU AF (5 bits): especifica la funcin ALU SH (3 bits): especifica la funcin de desplazamiento Adems, un campo de direccin para la secuenciacin es necesario. 16.2 Un microprocesador con ocho procesadores tiene conectadas 20 unidades de cinta. Hay un gran nmero de trabajos enviados al sistema, y cada uno de ellos necesita un mximo de cuatro unidades de cinta para completar su ejecucin. Asuma que cada trabajo comienza a ejecutarse utilizando tres unidades de cinta durante un periodo largo, antes de que necesite la cuarta unidad de cinta durante un corto periodo de tiempo antes de finalizar su ejecucin. Asuma tambin una fuente continua que suministra trabajos. a) Suponga que el planificador del sistema operativo no iniciar ningn trabajo a no ser que existan cuatro unidades de cinta disponibles. Cuando un trabajo comienza, inmediatamente se le asignan cuatro unidades de cinta, y no se liberan hasta Que el trabajo finalice. Cul es el nmero mximo de trabajos que pueden estar ejecutndose al mismo tiempo? Cul es el nmero mximo y mnimo de unidades de cinta que pueden estar, inactivas como resultado de esta poltica? Si esta poltica conservadora se utiliza, como mximo el 20 / 4 = 5 procesos pueden estar activos al mismo tiempo. Porque una de las unidades asignadas a cada proceso puede estar inactivo la mayora de las veces, a lo mucho cinco unidades se espera a la vez. En el mejor de los casos, ninguno de las unidades se espera.

b) Sugiera una poltica alternativa que mejore la utilizacin de las unidades de cinta al mismo tiempo que se evita el bloqueo (deadlock) del sistema. Cul es el nmero trabajos que puedan estar ejecutndose al mismo tiempo? Cules son los lmites en el nmero de unidades de cinta inactivas?

Para mejorar la utilizacin de la unidad, cada proceso puede ser asignado inicialmente con tres unidades de cinta, con la cuarta unidad asignada a la carta. Con esta poltica, en ms 20 / 3 = 6 procesos pueden estar activos al mismo tiempo. El mnimo nmero de unidades de reposo es 0 y el nmero mximo es de 2. Ejercicio 16.4 Considere que dos procesadores de un SMP necesitan acceder a la misma lnea de datos de memoria principal. Ambos procesadores tienen cach y utilizan el protocolo MESI. Inicialmente, ambas caches tienen una copia vlida de la lnea. La figura 16.9 muestra el resultado de la lectura de la lnea x por parte del procesador P1. Si este es el inicio de una secuencia de accesos. Dibuje las figuras correspondientes a la siguiente secuencia: 1. 2. 3. 4. P2 lee x. P1 escribe en x (por claridad, marque con x la lnea en la cache de PI). P1 escribe en x (marque con x la lnea de cache de PI). P2 lee x.

Solucin: 1. P2 lee x.
Memoria principal

x
Acceso a memoria Cach Cach Sondeo

Procesador 1

Procesador 2

2. P1 escribe en x (por claridad, marque con x la lnea en la cache de P1).


Memoria principal

Cach Sealizar

Cach

Sondeo

Procesador 1

Escribe

Procesador 2

3. P1 escribe en x (marque con x la lnea de cache de P1).


Memoria principal

Cach

Cach

Procesador 1

Escribe

Procesador 2

4. P2 lee x. a. P2 lee x.
Memoria principal

Acceso a memoria Cach

Cach

Sondeo Bloqueo

Procesador 1

Procesador 2

b. P1 contesta x
Memoria principal

x
Acceso a memoria Cach Cach

Procesador 1

Procesador 2

c. P2 lee x
Memoria principal

Acceso a memoria Cach

Cach

Procesador 1

Procesador 2 I S

Ejercicio 16.6 Considere un SMP, con caches L1 y L2 que utilizan un protocolo MESI. Como se explica en la Seccin 16.3, cada lnea de la cach L2 puede estar en uno de los cuatro estados de protocolo. Se necesitan todos los estados en cada lnea de la cach L1? Si es as, por qu? Si no, explique qu estado o estado o estados se pueden eliminar. Solucin: Si la cache L1 utiliza una poltica de escritura directa (Write through), como se hace con las S/390 descrita en la seccin 16.2, entonces la cache L1 no necesita el estado M (ModifiedModificado). Si la cacge L1 utiliza una poltica de post-escritura (write back), entonces un completo protocolo MESI (sus cuatro estados), se necesitan entre L1 y L2.

Ejercicio 16.8 El siguiente segmento de cdigo debe ejecutarse 64 veces para evaluar la expresin aritmtica: D(I) = A(I) + B(I) x C(I) para 0 I 63

R1, R2 y R3 son registros del procesador, y , , , y son las direcciones de memoria principal de comienzo de los vectores B(I), C(I), A(I) y D(I), respectivamente. Asuma cuatro ciclos de reloj para una operacin de carga (Load) o almacenamiento (Store), dos ciclos para la suma (Add), y ocho para la multiplicacin (Mult), tanto en el procesador de un computador monocomputador como en el de una mquina SIMD. a) Calcule el nmero total de ciclos de reloj que se necesitan para ejecutar este segmento de cdigo 64 veces en un computador monoprocesador, SISD, ignorando todos los otros retardos. b) Considere que se utiliza un SIMD con 64 elementos de proceso para ejecutar operaciones vectoriales, utilizando seis instrucciones vectoriales sincronizadas por el mismo reloj, y que actan sobre vectores de datos de 64 componentes. Calcule el tiempo de ejecucin total en la mquina SIMD, ignorando la instruccin de difusin (broadcast) y los dems retardos. c) Cul es la ganancia de velocidad (speedup) del computador SIMD con respecto al SISD?

Solucin: a. Tiempo de ejecucin secuencial = 1.664 ciclos de procesador. b. SIMD tiempo de ejecucin = 26 ciclos. c. Aceleracin = factor de 64.

Ejercicio 16.10 Un computador monoprocesador puede operar, tanto en modo escalar como en modo vectorial, realizando los clculos nueve veces ms rpido en el modo vectorial. Un programa de prueba (benchmark) consume tiempo T en este computador. De este tiempo, un 25% correspondi al modo vectorial, y el resto del tiempo al modo escalar. a) Calcule la ganancia de velocidad efectiva en las condiciones mencionadas, con respecto a no utilizar el modo vectorial. Calcule tambin , porcentaje de cdigo que ha sido vectorizado (compilado para utilizar el modo vectorial) en el programa indicado. b) Suponga que se dobla la razn de velocidades entre el modo vectorial y el escalar mediante mejoras en el hardware. Calcule la ganancia de velocidad efectiva que se consigue. c) Considere que la misma ganancia de velocidad obtenida en (b) se obtiene a partir de mejoras en el compilador, en lugar de a travs de cambios en el hardware. Cul debera ser ahora el nuevo porcentaje de vectorizacin ()? Solucin: a. Una computadora ejecuta durante un tiempo T. Ocho equipos para ejecutar un tiempo T/ 4 , que tendra un tiempo 2T en un solo equipo. As, el tiempo total requerido en un solo equipo es 3T. Aceleracin til = 3. = 0,75. b. Nuevo aumento de velocidad = 3,43 NOTA: Ing. Ya haba avanzado el trabajo antes quela delegada me avisara que haba cambiado de ejercicios.

También podría gustarte