Estructura de computadores

Solo disponible en BuenasTareas
  • Páginas : 14 (3294 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de noviembre de 2010
Leer documento completo
Vista previa del texto
ARQUITECTURA DE SISTEMAS PARALELOS 1 BOLETÍN DE EJERCICIOS. TEMA 2: DEPENDENCIAS DE DATOS.
1. a) Para un DLX que resuelve los saltos en ID, tiene todas las capturas adelantadas posibles (bypass) y escribe los operandos en el primer semiciclo de WB y los lee en el segundo de ID, se pide: Construir una tabla que calcule el número de ciclos de bloqueo para instrucciones enteras consecutivas condependencia real. Poner en la ordenada las fases que pueden generar el dato (el valor del registro de destino) y en abscisa las fases que lo leen (el mismo valor de algún registro fuente), indicando también los tipos de instrucciones que se corresponden con las fases de abscisas y ordenadas.

b) Indicar cuáles serían los ciclos de bloqueo si las instrucciones que tiene la dependencia no sonconsecutivas, sino que están separadas por k (k>0) instrucciones sin ningún tipo de dependencia. NOTA: este problema está propuesto en la segunda práctica de Arquitectura de Sistemas Paralelos 1, de 4º Ingeniería Informática de la Universidad de Sevilla. 2. Sea el siguiente fragmento de código, donde R2 apunta inicialmente al último elemento de un array de diez enteros, y donde la variable princ_arrayapunta al principio de tal array: bucle: LW R1, 0(R2) SUBI R1, R1, #1 SW 0(R2), R1 SUBUI R2, R2, #4 SLTI R8, R2, princ_array BEQZ R8, bucle Suponiendo que todos los accesos a caché aciertan, calcular para un DLX: Dar una posible traducción del código a un lenguaje de alto nivel.

a)

b) Mostrar con flechas todas las dependencias reales y antidependencias del código. Explicar por qué afectarán alos siguientes apartados. c) Mostrar el diagrama de ejecución en cadena de las fases para un DLX que no tiene ningún tipo de captura adelantada (bypass), suponiendo sólo que la escritura de registros de la fase WB se realiza en el primer semiperiodo y la lectura de ID en el segundo. Supóngase que en cualquier salto se congela la cadena y que se resuelve en dirección de destino y condición en lafase ID. Hallar el CPIbloqueo del código.

d) Mostrar el diagrama de ejecución en cadena de las fases para un DLX que tiene todas las capturas adelantadas posibles (bypass). Supóngase que cualquier salto utiliza la apuesta por no tomado y que se resuelve en la fase ID. Hallar el CPIbloqueo del código y la aceleración entre ésta ejecución y la del apartado anterior. 3. Con el objeto de acelerar elreloj, una versión acelerada del DLX encadenado básico, denominada DLXACEL, implementa las etapas siguientes: IF1 IF2 ID1 ID2 EX1 EX2 WB IF1, IF2: buscan en caché de instrucciones. ID1: empieza decodificación, accede a registros, resuelve saltos completamente (SALTOS). ID2: termina decodificación, calcula dirección efectiva de instrucciones de acceso a memoria. EX1: empieza y termina instruccionesALU simples (ALUSI), como todas las comparaciones (SET) y las lógicas. Empieza instrucciones complejas (ALUCO) como las ADD, SUB, MULT etc. Empieza acceso al caché de datos. EX2: termina las ALUCO. Termina acceso al caché de datos. WB: escribe en fichero de registros.

• • • • • •

Se pide: Detectar todos los bloqueos de datos por dependencia real entre dos instrucciones consecutivas decualquier tipo (ALUCO, ALUSI, LD, ST, SALTOS), suponiendo que existen todos los caminos de desvío (bypass) posibles. Se puede calcular creando una tabla con la latencia en ordenadas y la lectura de datos en abscisas. ¿Qué parejas de instrucciones tendrán bloqueos si la fase EX2 no recibe entradas de bypass? NOTA: este problema ha sido tomado del examen del primer cuatrimestre de Arquitectura deSistemas Paralelos 1, de 4º Ingeniería Informática de la Universidad de Sevilla.

ARQUITECTURA DE SISTEMAS PARALELOS 1 BOLETÍN DE EJERCICIOS. TEMA 2: DEPENDENCIAS DE DATOS. SOLUCIONES
1 SOLUCIÓN:
e) Para resolver este problema hemos de tener en cuenta que en un procesador encadenado, el número de ciclos y el número de instrucciones que se ejecutan son el mismo, mientras que CPI=CPIideal=1. Eso...
tracking img