Modelo pipeline

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,28 KB

Multiplicación de booth

Este algoritmo es secuencial, El producto se obtiene de la suma sucesiva de los
productos parciales, Si el multiplicando tiene n bits y el multiplicador tiene m
bits; el producto puede tener hasta n+m bits, Para operandos de 32 bits, necesitaremos hasta 64 bits para mostrar el resultado, Existe posibilidad de overflow



Multiplicación con signo?


1. Convertir ambos operandos a números
positivos
2. Multiplicarlos
3. Si los signos son diferentes entre si,
complementar a 2 el resultado (Hacerlo
negativo)
Esta implementación, utiliza pocos recursos
hardware, pero es lenta.



División


La operación de dividir suele implementarse por
software
En promedio, es la operación menos utilizada en
los programas de computación
Es la operación de base más difícil y penalizadora
de implementar

-----------------------

Implementación de un solo ciclo


Es ineficiente, El ciclo de reloj debe durar lo mismo que la instrucción que tarde más. Generalmente, la instrucción load
El CPI = 1, pero la duración del ciclo es muy grande



Pipelining


Múltiples instrucciones solapan su ejecución, Como en un línea de ensamblaje
Analogía de lavar ropa:
Colocar la ropa sucia en la lavadora, Cuando termine, colocar la ropa mojada en la secadora, Cuando termine, colocar la ropa en una mesa y doblarla, Ubicar la ropa en el clóset








Implicaciones del pipeline
Idealmente: Tiempo entre instrucciones con pipeline = Tiempo entre instrucciones sin pipeline / # etapas
¿Mejoramos tiempo de ejecución o productividad? Productividad, el tiempo de jecución probablemente empeore
La duración del ciclo de reloj será igual a lo que tarde la etapa más lenta



Registros de pipeline


Necesitan ser lo suficientemente anchos (Grandes) como para albergar todos los bits necesarios de una etapa a otra. 64, 128, 97 y 64 bits....  Durante un ciclo de reloj, las instrucciones avanzan desde un registro de pipeline al siguiente.



Pase de información


Toda la información necesaria para los siguientes pasos debe ser pasada ¿Qué faltó en la ejecución de la
instrucción lw? En la última etapa (WB) debemos saber el número del registro donde se escribirá el
dato. Pero esto no lo hemos pasado. Por tanto, debemos corregir el encauce.



Hazards de Datos


1ª opción: Detener la ejecución con la introducción de instrucciones que no hagan nada (Nops).
Ejemplo: add $zero,$zero,$zero
¿Cuándo se tiene disponible el resultado de sub $2,$1,$3? Al final del ciclo 3
2ª opción: Adelantar el dato.

¿Qué ocurre cuando un registro es leído y escrito durante el mismo ciclo de reloj?


Los archivos de registros realizan la escritura en la 1ª mitad del ciclo y la lectura en la 2ª mitad. Por ende: Entre las instrucciones sub y add no hay dependencia de datos.





Entradas relacionadas: