Está en la página 1de 5

SEGMENTACIN

Existen dos maneras de acelerar un circuito combinacional: Paralelismo espacial


(replicacin de hardware) y Pipelines (Caeras) . Nos concentraremos en esta
ltima.
Comenzaremos con una definicin muy general: la implementacin de un pipeline
a un circuito combinacional ocurre al segmentar o dividir dicho circuito en N etapas
de procesamiento.
Dnde los resultados procesados por una etapa son la entrada de la siguiente. Los
resultados finales debern ser los mismos que en el circuito original, pero stos se
arrojarn a una mayor velocidad.

La velocidad de procesamiento, V = cantidad de datos procesados por unidad de
tiempo (*otros nombres: Throghput, Ancho de banda, Produccin.)

En base a esto definiremos: Perodo de un circuito, P = 1 / V








I. PIPELINE.
El proceso en pipeline (o segmentado) es similar al utilizado en cualquier
cadena de montaje, y el nombre pipeline (tubera) se debe al hecho de que,
como en una tubera, en la entrada se aceptan nuevos elementos
(instrucciones) antes de que los previamente aceptados salgan por la
salida.

Empecemos con el ejemplo de una cadena de montaje. Supongamos una
gran pastelera en la que las tartas primero se hacen en el horno y despus
se empaquetan para la venta. El proceso de empaquetar una tarta consiste
en:
1. Poner una caja vaca en la mesa.
2. Meter una tarta en la caja.
3. Cerrar y precintar la caja.
4. Poner una etiqueta en la caja.
5. Llevar la caja a un gran contenedor.

Si cada una de estas operaciones la realiza un operario en 10 segundos,
parece claro que se tarda 50 s en empaquetar una tarta y, por lo tanto, en
empaquetar 10 tartas se tardara 500 s.



Ahora supongamos que se dispone de una cadena de empaquetado de
tartas con una cinta transportadora sobre la que trabajan cinco operarios
especializados en tareas distintas. El primer operario pone la caja-1 en la
cinta transportadora, y sta avanza hasta que la caja-1 est donde el
segundo operario, que introduce una tarta dentro de la caja-1, al mismo
tiempo que el primer operario pone otra caja-2 en la cinta. La caja-1 sigue
avanzando hasta el tercer operario, que la cierra y la precinta, al mismo
tiempo que el segundo operario mete otra tarta en la caja-2 y el primer
operario pone otra caja-3 en la cinta. La caja-1 sigue su camino en la cinta
pasando por el cuarto operario, que pone una etiqueta, hasta llegar al
quinto operario, que la retira de la cinta.
En el momento que el quinto operario retira la caja de la cinta, hay cuatro
cajas ms en la cinta. Si cada una de estas fases de empaquetado se
realiza en 10 s, a partir de ahora, cada 10 s saldr una nueva tarta
empaquetada, en lugar de hacerlo cada 50 s que se tardaba cuando no
haba cadena de empaquetado. A partir de ahora, en tener 10 tartas
empaquetadas se tardar solamente 100 segundos, mientras que en el
caso de cuando se tena un solo operario se tardaba 500 segundos.
Debe quedar claro que aunque ahora sale una nueva tarta
empaquetada cada 10 s, la preparacin completa de cada tarta sigue
requiriendo 50 s (igual que cuando haba una sola persona preparando las
tartas).
Ha aumentado el rendimiento, pero se mantiene el tiempo de empaquetado
de cada tarta.


A. COPCEPTOS BASICOS.



La ejecucin de una instruccin podra descomponerse en las siguientes 5 etapas:
1. F: Alimentacin de la instruccin (fetch)
2. D: Decodificacin de la instruccin / Lectura de registros
3. E: Ejecucin (en la ALU) / Clculo de la direccin efectiva
4. M: Acceso a memoria
5. W: Escritura del resultado en registros de la CPU

Con la tcnica de la segmentacin (o pipelining) se consigue que a cada ciclo de
reloj finalice una instruccin, o lo que es lo mismo, una velocidad de instruccin
por ciclo.

Debemos tener en cuenta que:
1. Cada etapa dispone de los recursos hardware necesarios para realizar
su cometido.
2. Las ejecuciones de las instrucciones se solapan.
3. Todas las etapas tienen la misma duracin (ciclo de reloj).
4. La duracin del ciclo de reloj lo fija la etapa ms lenta.

II. RIESGOS DE SEGMENTACIN.

A. Riesgos Estructurales
Conflictos en el uso de los recursos del cauce segmentado por parte de las
multiples instrucciones cuya ejecucin se solapa (recursos
insuficientemente replicados o UF no segmentadas).

Causas:
Recursos insuficientes: los recursos no se han replicado lo
suficiente como para permitir la ejecucin solapada de todas las
combinaciones de instrucciones sin dar lugar a prdida de ciclos
Unidades Funcionales no segmentadas: no es posible iniciar una
secuencia de instrucciones en la que varias consecutivas utilicen
esa unidad funcional sin esperas y por tanto prdida de ciclos

B. Riesgos por Dependencias de Datos
Problemas derivados de dependencias entre instrucciones cuya ejecucin
se solapa.
Las Lecturas/Escrituras sobre una misma variable (registro) deben
efectuarse en el orden que especifica el programa secuencial

Problema de la Dependencia de Datos
Dominio de una Instruccin (D[I]):
Conjunto de variables (registros) sobre las que la instruccin
realiza lecturas.
Rango de una Instruccin (R[I]):
Conjunto de variables (registros) sobre las que la instruccin
realiza escrituras.




C. Riesgos de Control
Problemas derivados de las instrucciones de control de flujo, debido al
desconocimiento temporal de la siguiente instruccin a ejecutar.

Soluciones de los riesgos.

También podría gustarte