segmentación del cauce buscan mejorar el desempeño realizando paralelamente varias etapas del ciclo de instrucción al mismo tiempo.
La arquitectura en pipeline (basada en filtros)
consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida. Segmentadas • La segmentación es como una línea de ensamblaje: cada etapa de la segmentación completa una parte de la instrucción. • Las etapas están conectadas, cada una a la siguiente, para formar una especie de cauce las instrucciones se entran por un extremo, son procesadas a través de las etapas y salen por el otro extremo. Segmentadas • Estas arquitecturas surgen por la necesidad de aumentar la velocidad de procesamiento. En ellas, lo que se buscaba era mejorar el desempeño realizando paralelamente varias etapas del ciclo de instrucción al mismo tiempo. Esto se logra, debido a que el procesador se divide en varias unidades funcionales e independientes las cuales se dividen entre ellas el procesamiento de las instrucciones. • Y entonces, ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una de las salidas de la anterior. Segmentación: Generalidades • La segmentación no ayuda en la realización de una única tarea, ayuda en la realización de una carga de trabajo. • Se pueden realizar múltiples tareas simultáneamente utilizando diferentes recursos. • La velocidad se incrementa si se aumenta el número de segmentos. • Consiste en dedicar unidades específicas del procesador a cada una de las partes del ciclo de instrucción y ejecutarlas paralelamente. • Mejora dramáticamente el rendimiento debido a que en los procesadores modernos tienen hasta 14 etapas en el ciclo de instrucción. • La unidad de control se subdivide en dos o más unidades funcionales, cada una encargada de llevar a cabo una parte del ciclo de instrucción. • Se comunican a través de una cola de instrucciones (Pipeline). Segmentación: Riesgos • Los riesgos en la segmentación pueden hacer necesario detenerla. La diferencia principal entre detenciones en una máquina segmentada y en una no segmentada se presenta porque hay múltiples instrucciones ejecutándose a la vez. Una detención en una máquina segmentada requiere, con frecuencia, que prosigan algunas instrucciones, mientras se retardan otras. Segmentación: •Riesgos estructurales: Riesgos El hardware no puede manejar la combinación de instrucciones que deben ejecutarse en el mismo ciclo. (suponiendo que se cuenta con una única memoria) •Riesgo de control: Los riesgos en el control ocurren porque el procesador no “sabe” lo suficiente. – Cuando se producen saltos condicionales – Saltos incondicionales Solución: - Atascamiento (Stall): se puede retrasar la ejecución de la unidad de salto después de que se conozca la información. - Predicción (predict): se puede predecir esta información en forma temprana. - Retardar el salto. •Riego de datos Ocurren porque una instrucción depende del resultado de una instrucción previa en el segmento. Algunas veces se puede resolver (o reducir) atascamientos para los riesgos de datos utilizando la técnica adelantamiento (forwarding)