Page 10 - LIBRO 3D
P. 10
En un procesador con segmentación del cauce, cada una de estas etapas se asigna
a una unidad funcional diferente, la búsqueda a la unidad de búsqueda y la
ejecución a la unidad de ejecución. Estas unidades pueden trabajar en forma
paralela en instrucciones diferentes. Estas unidades se comunican por medio de
una cola de instrucciones en la que la unidad de búsqueda coloca los códigos de
instrucción que leyó para que la unidad de ejecución los tome de la cola y los
ejecute. Esta cola se parece a un tubo donde las instrucciones entran por un
extremo y salen por el otro. De esta analogía proviene el nombre en inglés:
Pipelining o entubamiento.
Comunicación entre las unidades en un procesador con segmentación de cauce.
Completando el ejemplo anterior, en un procesador con segmentación, la unidad de
búsqueda comenzaría buscando el código de la primera instrucción en el primer
ciclo de reloj. Durante el segundo ciclo de reloj, la unidad de búsqueda obtendría el
código de la instrucción 2, mientras que la unidad de ejecución ejecuta la instrucción
1 y así sucesivamente. La siguiente figura muestra este proceso.
En este esquema sigue tomando el mismo número de ciclos de reloj (el mismo
tiempo), pero como se trabaja en varias instrucciones al mismo tiempo, el número
promedio de instrucciones por segundo se multiplica. La mejora en el rendimiento
no es proporcional al número de segmentos en el cauce debido a que cada etapa
no toma el mismo tiempo en realizarse, además de que se puede presentar
competencia por el uso de algunos recursos como la memoria principal. Otra razón
por la que las ventajas de este esquema se pierden es cuando se encuentra un salto
en el programa y todas las instrucciones que ya se buscaron y se encuentran en la
cola, deben descartarse y comenzar a buscar las instrucciones desde cero a partir