Planificación Estática Del Código
Arquitectura de Computadoras.
Ingeniería en Electrónica.
Planificación estática del código.
Reporte de Practica 7.
Martínez Ramírez Julio Cesar.Huajuapan de León, Oaxaca, 8 de Enero de 2013.
PROBLEMA.
Se tiene el siguiente fragmento de código:
LOOP: L.D F0,0(R1);
MUL.D F0,F0,F2;
L.D F4,0(R2);
ADD.D F0,F0,F4;
S.DF0,0(R2);
DSUBIU R1,R1,#8;
DSUBIU R2,R2,#8;
BNEZ R1,LOOP;
Desenrollar el ciclo dos veces y realizar una planificación estática del código para obtener al final el código que se ejecutasin detenciones.
Path de datos:
Multiplicación: M1, M2, M3, M4.
Suma: A1, A2, A3, A4.
* Path de datos tiene hueco de retardo.
* Escritura de resultados FP después de la última etapa deejecución.
* Salto se resuelve en la etapa ID.
* Path de datos tiene hardware de adelantamiento.
SOLUCION.
En el código existen las siguientes detenciones:
LOOP: L.D F0,0(R1);
Detención.MUL.D F0,F0,F2;
Detencion.
Detencion.
L.D F4,0(R2);
Detención.
ADD.D F0,F0,F4;
Detención.
S.D F0,0(R2);
DSUBIU R1,R1,#8;
DSUBIU R2,R2,#8;
BNEZ R1,LOOP;Detención.
Aplicando el desenrrollamiento al ciclo se tienen el siguiente código.
LOOP: L.D F0,0(R1);
MUL.D F0,F0,F2;
L.D F4,0(R2);
ADD.D F0,F0,F4;
S.D F0,0(R2);
DSUBIUR1,R1,#8;
DSUBIU R2,R2,#8;
L.D F0,8(R1);
MUL.D F0,F0,F2;
L.D F4,8(R2);
ADD.D F0,F0,F4;
S.D F0,8(R2);
DSUBIU R1,R1,#16;
DSUBIU R2,R2,#16;
BNEZ R1,LOOP;Aplicando renombramiento de los registros F0-F7, F4-F8, R1-R3, R2-R4 y realizando una planificación estatica del código se tiene el siguiente código final.
LOOP: L.D F0,0(R1);
L.D F7,8(R3);
MUL.DF0,F0,F2;
MUL.D F7,F7,F2;
L.D F4,0(R2);
L.D F8,8(R4);
DSUBIU R1,R1,#8;
DSUBIU R2,R2,#8;
DSUBIU R3,R3,#16;
DSUBIU R4,R4,#16;
ADD.D F0,F0,F4;
ADD.D F7,F7,F8;
BNEZ R1,LOOP;...
Regístrate para leer el documento completo.