WinDLX (Windows De LuXe simulator) es un simulador del pipeline del procesador DLX que se estudia en el libro “Arquitectura de Computadores: Una Aproximación Cuantitativa” 1ª de, Patterson y Hennessy. Este software de simulación permite el procesamiento de programas escritos en ensamblador de DLX, mostrando toda la información relevante de la CPU segmentada (estado del pipeline, banco de registros, entrada/salida, memoria, estadísticas,…). Su versatilidad posibilita la modificación de la estructura y tiempos de latencia del pipeline de la CPU y del tamaño de la memoria, así como del contenido de otros de sus componentes mientras se desarrolla la ejecución de un programa.

 

 

  • PRACTICA 1 : El programa realiza la codificación para el siguiente fragmento de código en C.

int I, C;

int A[5],B[5];

……

for (i=0;i<5;i++) {

A[i] = B[i]+C }

 

 

  • PRACTICA 2 :El programa realiza la codificación para el siguiente fragmento de código en C.

int I, J;

int A[5],B[5],C[5];

……

for (i=0;i<5;i++) {

j=5-i

C[i] = B[i]+A[j]

}

 

 

  • PRACTICA 3 : Realizar un programa en ensamblador para Windlx, que realice la suma de dos números en punto flotante de simple precisión y a continuación realice la división de los mismos. Luego modificar el programa anterior para que se realice una resta en punto flotante, dejando el resultado en el mismo registro que la suma, en mitad de la suma y la división, con las mismas condiciones que los supuestos anteriores, realizar la simulación en windlx y explicar los resultados obtenidos. Tambien, con el programa anterior cambiamos el número de unidades funcionales en punto flotante disponibles a 2, conservando las latencias de los supuestos anteriores y se analizan los resultados.

 

 

  • PRACTICA 4 : Implementar una versión del bucle denominado SAXP. El bucle implementa la operación vectorial Y=a*X+Y para un vector de longitud R4/8. Desenrollar el código DLX para el bucle anterior tres veces, y planificarlo para la segmentación estandar de DLX. Al desenrollar se debería optimizar el código tal y como se ha especificado en los ejemplos de la práctica. Para maximizar el rendimiento será necesario reordenarlo significativamente.

 

 

Descargar