Académique Documents
Professionnel Documents
Culture Documents
CURSO:
MICROCOMPUTADORAS II
DOCENTE:
ING. Vctor Hugo Valle Ros.
INTEGRANTES:
AGUILA CALLE DEIBIS JOEL
ELIAS VEGA LUIS GUSTAVO
SANDOVAL CAMACHO ALEXIS M.
SEMESTRE:
2017 I
Contenido
2 Introduccin .................................................................................................................. 3
3 Objetivos ....................................................................................................................... 4
3.1 Objetivo General .................................................................................................... 4
3.2 Objetivos Especficos.............................................................................................. 4
4 Marco Terico ............................................................................................................... 5
4.1 Planificacin Dinmica ........................................................................................... 5
4.2 Algoritmo del Marcador (Scoreboard) .................................................................. 6
4.3 Limitaciones del Algoritmo .................................................................................... 7
4.4 Mejora del Algoritmo ............................................................................................. 7
4.5 Control de Riesgos .................................................................................................. 7
4.6 Componentes del Marcador .................................................................................. 9
4.7 Procesador CDC 6600 ........................................................................................... 11
4.8 Ejemplo utilizando Marcador .............................................................................. 12
4.9 Pruebas del Simulador: ........................................................................................ 15
5 Conclusiones................................................................................................................ 26
6 Bibliografa .................................................................................................................. 27
2
Planificacin Dinmica Microcomputadoras II
2 Introduccin
Como hemos podido ver en el curso, una ejecucin ordenada de las instrucciones puede
dar lugar a riesgos o peligros debido a dependencias de datos o a problemas
estructurales, los cuales pueden acabar generando paradas en el cauce de instrucciones,
y por consiguiente prdida de rendimiento. Para poder reducir esta prdida de
rendimiento, el compilador puede tratar de planificar el orden de las instrucciones de
tal manera que se minimicen los riesgos o dependencias de datos.
Para minimizar las paradas debidas a las dependencias de datos, se hablara de una
planificacin dinmica de instrucciones, con la cual, se ejecutan las instrucciones fuera
de orden.
3
Planificacin Dinmica Microcomputadoras II
3 Objetivos
4
Planificacin Dinmica Microcomputadoras II
4 Marco Terico
- Permite la gestin de ciertos casos en los que no es fcil conocer las dependencias en
tiempo de complicacin, como, por ejemplo, cuando se hace referencia a datos que no
estn en los registros, sino en direcciones de memoria, lo cual, adems, simplifica el
diseo del compilador.
- Aprovechan los retardos imprevistos, como los debidos a los fallos de cach (el dato no
est en la cach y hay que ir a buscarlo a memoria), ejecutando otras instrucciones
mientras espera el dato de la memoria.
- Distintos procesadores de la misma familia pueden compartir la arquitectura, pero
tambin pueden ofrecer distintas configuraciones de su cauce, es decir, ms o menos
unidades funcionales o estaciones de reserva. Con la planificacin dinmica se permite
aprovechar eficientemente las caractersticas del pipeline (arquitectura segmentada)
concreto sobre el que se ejecuta el programa compilado para una arquitectura genrica
(sin especificar las peculiaridades de cada procesador de la familia).
- Para ofrecer todas las ventajas anteriores, hay que complicar notablemente el
hardware, hacindolo ms caro.
- La planificacin dinmica trae consigo la ejecucin fuera de orden, lo que tambin
implica terminacin fuera de orden, y eso significa la aparicin de riesgos de datos de
tipo WAR (escritura despus lectura) y WAW (escritura despus escritura).
- Complica mucho el tratamiento de los riesgos de control, en especial, el tratamiento de
las interrupciones.
5
Planificacin Dinmica Microcomputadoras II
6
Planificacin Dinmica Microcomputadoras II
Para evitar riesgos de tipo WAR y WAW, el Marcador tambin controla cundo una
instruccin puede escribir su resultado en el registro destino. As, todas las detecciones
y resoluciones de riesgos estn centralizados en el marcador.
Cada instruccin pasa por cuatro pasos, los cuales sustituyen los pasos de ID
(decodificacin), EX (ejecucin) y WB (post escritura), aqu no se va a considerar el paso
a memoria.
Los pasos son los siguientes:
1- Emisin (issue): Si una unidad funcional est libe para la instruccin, y ninguna
otra instruccin activa tiene el mismo registro destino, el marcador facilita la
instruccin a la unidad funcional y actualiza su estructura interna de datos. Al
asegurar que ninguna otra unidad funcional activa quiere escribir su resultado
en el registro destino, se garantiza que no pueden estar presentes riesgos WAW.
Si existe un riesgo WAW, entonces se detiene la emisin de la instruccin, y no
se emiten ms instrucciones hasta que desaparezcan estos riesgos.
7
Planificacin Dinmica Microcomputadoras II
unidad funcional activa en ese momento. Cuando los operando fuente estn
disponibles, el marcador indica a la unidad funcional que proceda a leer los
operandos de los registros y que comience la ejecucin. El marcador resuelve
dinmicamente, en este caso los riesgos RAW y las instrucciones se pueden
enviar a ejecucin fuera de orden. Este paso, junto con el de Emisin, completa
la funcin de la etapa ID en la segmentacin simple de DLX.
4- Escritura del resultado: Una vez que el marcador es consciente de que la unidad
funcional ha completado la ejecucin, el marcador comprueba los riesgos WAR.
Un riesgo WAR existe si hay una secuencia de cdigo como ADD y SUB ejemplo:
8
Planificacin Dinmica Microcomputadoras II
9
Planificacin Dinmica Microcomputadoras II
10
Planificacin Dinmica Microcomputadoras II
11
Planificacin Dinmica Microcomputadoras II
LF F6, 34(R2)
LF F2, 45(R3)
MULTF F0, F2, F4
SUBF F8, F6, F2
DIVF F10, F0, F6
ADDF F6, F8, F2
Una vez emitida una instruccin, se almacenan los registros operando en la tabla de
unidades funcionales. Finalmente en la tabla de registros resultado se indica la unidad
que producir cada resultado pendiente, el nmero de entradas es igual al nmero de
registros. La instruccin y ya escribi su resultado, pero la instruccin 2 se ha ejecutado
pero aun no escribe su resultado. Mientras que las instrucciones 3, 4, 5 han sido emitidas
pero estn detenidas, esperando sus respectivos operandos. Se puede apreciar que la
unidad MULT1 est esperando a la unidad Entero de la primera instruccin, tambin la
instruccin 4 Suma, est esperando la unidad Entera. La ultima instruccin de Divide
est esperando la primera unidad de MULT1. La instruccin de ADDF est detenido
debido a un riesgo estructural, desaparecer cuando termine SUBF
12
Planificacin Dinmica Microcomputadoras II
Suponer las siguientes latencias del ciclo EX para las unidades funcionales de punto
flotante: sumar, 2 ciclos de reloj; multiplicar, 10 ciclos de reloj; dividir, 40 ciclos de reloj.
Comenzar en el punto indicado por el estado de instrucciones de la imagen anterior,
mostrar cmo sern las tablas de estado cuando MULTF y DIVF estn listas para ir al
estado de escribir-resultado.
Como se puede ver MULTF an no escribe su resultado y DIVF todava no ha ledo sus
operandos, debido a la dependencia sobre el resultado de la multiplicacin. Como se
puede ver ADDF ha ledo sus operandos, pero tiene que esperar en ejecucin hasta que
SUBF termine para obtener la unidad funcional. As mismo ADDF, tendr que esperar
para proceder a escribir su resultado, por el riesgo WAR en F6, que es utilizada por DIVF.
13
Planificacin Dinmica Microcomputadoras II
Aqu se muestra todas las tablas del Marcador antes de que DIVF escriba su resultado, Como se
puede apreciar ADDF pudo terminar tan pronto como DIVF pas por la lectura de operandos, y
obtuvo una copia del registro F6, quedando as DIVF listo para escribir su resultado.
14
Planificacin Dinmica Microcomputadoras II
Ejemplo de instrucciones:
LD F0, 4(f3)
ADD F2, F0, F3
Mul F2, F2, F8
LD F2, 5(F0)
Se emite la primera instruccin, en la tabla de estado de instrucciones, se marcara como
ocupada la unidad funcional INT, la cual es utilizada para calcular la direccin de
instrucciones de carga y almacenamiento, En la tabla de estado de registro de salida se
escribe la unidad funcional en el registro correspondiente, en este caso F0.
15
Planificacin Dinmica Microcomputadoras II
Una vez leda la instruccin 1, se colocan en Rj y Rk NO para indicar que los operandos
fuente no estn preparados disponibles para ser ledos por otras instrucciones. En la
segunda instruccin en la tabla de estados de registro resultado, se coloca en el registro
de destino F2, el nombre de la unidad funcional que producir dicho registro.
16
Planificacin Dinmica Microcomputadoras II
Como se puede ver la instruccin 2 y 3 tienen un riesgo WAW por tener el mismo
operando destino.
17
Planificacin Dinmica Microcomputadoras II
18
Planificacin Dinmica Microcomputadoras II
19
Planificacin Dinmica Microcomputadoras II
20
Planificacin Dinmica Microcomputadoras II
Como se ve en la imagen anterior la instruccin 2 finalizo y con ello los riesgos para la
instruccin 3. Por lo que ya puede ser emitida.
La instruccin 3 debe estar en la unidad funcional MULT, Teniendo por registro destino
a F2, por tanto en la tabla de registro resultado en el registro F2 se deber escribir el
nombre de la unidad funcional que producir dicho resultado.
21
Planificacin Dinmica Microcomputadoras II
22
Planificacin Dinmica Microcomputadoras II
23
Planificacin Dinmica Microcomputadoras II
24
Planificacin Dinmica Microcomputadoras II
25
Planificacin Dinmica Microcomputadoras II
5 Conclusiones
Debido a las limitaciones del algoritmo, no se puede trabajar con programas muy
complejos, teniendo en cuenta que este algoritmo fue uno de los primeros
implementados para trabajar con planificacin dinmica, en el tratado de
instrucciones.
26
Planificacin Dinmica Microcomputadoras II
6 Bibliografa
27