Arquitectura Segmentada

Es una de las tecnologías utilizadas para realizar la segmentación o paralelismo. Divide el procesador, en etapas, procesa una instrucción diferente en cada una y trabaja con varias a la vez.

Pueden trabajar de forma paralela, en diferentes instrucciones, utilizando una cola de instrucciones para su comunicación, denominado entubamiento. La dependencia de datos y de control, que tiene como efecto la disminución del rendimiento del pipelining.

La segmentación de cauce (pipelining) es una forma efectiva de organizar el hardware del CPU para realizar más de una operación al mismo tiempo. Consiste en descomponer el proceso de ejecución de las instrucciones en fases o etapas que permitan una ejecución simultánea.

Explota el paralelismo entre las instrucciones de un flujo secuencial.

Como en una línea de ensamblaje, la acción a realizar en una instrucción se descompone en partes más pequeñas, cada una de las cuales necesita una fracción del tiempo necesario para completar la instrucción completa y cada uno de estos pasos se define como etapa de la segmentación o segmento.

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.

La productividad de la segmentación está determinada por la frecuencia con que una instrucción salga del cauce. Como las etapas están conectadas entre sí, todas las etapas deben estar listas para proceder al mismo tiempo. El tiempo requerido para desplazar una instrucción, un paso, a lo largo del cauce es un ciclo máquina.

La duración de un ciclo máquina está determinada por el tiempo que necesita la etapa más lenta (porque todas las etapas progresan a la vez).

Con frecuencia, el ciclo máquina es un ciclo de reloj (a veces dos, o raramente más), aunque el reloj puede tener múltiples


Tipos de cauces:

  • Unifunción: ejecutan un único proceso.
  • Multifunción: pueden ejecutar varios procesos:
  • Estáticos: en un instante determinado sólo pueden ejecutar uno.
  • Dinámicos: pueden ejecutar simultáneamente varios procesos.
  • Lineal: a cada etapa sólo le puede seguir otra etapa concreta.
  • No lineal: se pueden establecer recorridos complejos de las etapas.

Ciclos de Instrucción

Ejecución de instrucciones en 5 ciclos