Вы находитесь на странице: 1из 44

CAPITULO 2:

Segmentacin de cauce y
procesadores segmentados
PIPELINING
Es una tcnica empleada en el diseo
de procesadores, basada en la divisin
de la ejecucin de las instrucciones en
etapas, consiguiendo as que una
instruccin empiece a ejecutarse antes
de que hayan terminado las anteriores
y, por tanto, que haya varias
instrucciones procesndose
simultneamente.
Company Logo
2.1 Introduccin: definicin y
notas histricas
IBM 709
Computador basado en tubos de vaco
con memoria de ncleos de ferrita.
Apareci en 1958 como mejora del IMB
704, este incorporaba canales los
cuales permitan el solapamiento de
instrucciones y las entradas y salidas.
Misma frecuencia 60% mas de
prestaciones.
Company Logo
Modulo de valvulas IBM 709
IBM 70941
Computador implementado con
transistores y memoria de ncleos de
ferrita y que inclua un registro (IBR).
Con una frecuencia 6 veces mayor se
obtiene una velocidad 7,5 veces mayor.
Se observa que se puede lograr una
mejora en la velocidad que no se basa
exclusivamente en el aumento de la
velocidad del circuito.
Company Logo
IBM 7004 I
IBM 7030 STRECH
Primer procesador de propsito general
segmentado.
Implementado a travs de un cauce con
cuatro etapas que solapaban la
captacin, decodificacin y la ejecucin.
Aos 50, 60 y 70 la segmentacin de
cauce pasa a un segundo plano.
Company Logo
En los 80 resurge la segmentacin de
cauce gracias a las instrucciones RISC
Para los aos 90 la segmentacin se
utiliza incluso en los procesadores
embebidos los cuales necesitaban
prestaciones an mas elevadas.
MIPS R4000.
Company Logo
Company Logo
2.2 Principios de la
segmentacin y mejora de las
prestaciones
Consideremos que una operacin se
ejecuta en un tiempo T, la
segmentacin se basa en dividir la
ejecucin en fases que se realicen
una despus de la otra pero de forma
independiente.
Company Logo
GANANCIA DE
VELOCIDAD
Company Logo
Company Logo
Sera la etapa mas lenta la que determina el ritmo al
que las instrucciones pueden ir pasando de una etapa
a la siguiente y, por lo tanto, el tiempo de etapa, t sera
igual al de la etapa mas lenta
La productividad se defina como el numero de
operaciones que se ejecutan por unidad de tiempo



La eficiencia es la relacin entre la ganancia de
velocidad que proporciona el cauce y el numero
de etapas del mismo.



2.3 Diseo de un procesador
segmentado. Gestin de riesgos
de datos, control y estructurales
Consideramos una instruccin que codifica una operacin
con dos registros como operandos y un registro como
destino:



Esta distribucin de tareas nos lleva a un cauce con cuatro
etapas:
-IF(Instruction Fetch)
-ID/OF(Instruction Decode/Operand Fetch)
-ALU
-OS(Operand Store)
Rb op Ra Rc
Distribucin inicial de etapas en el diseo
de un procesador segmentado
Considerando solo este tipo de instrucciones, se pueden presentar
situaciones que reducen el rendimiento del cauce.







Existen una serie de condiciones que pueden hacer que un cauce
no genere resultados correctos a no ser que se interrumpa su
funcionamiento durante un numero de ciclos determinado. Por
tanto disminuir el rendimiento del cauce, a no ser que se empleen
una serie de tcnicas.


As un riesgo o dependencia(hazard, en ingles) es cualquier
condicin que pueda interrumpir el flujo continuo, en este caso, de
instrucciones, a travs del cauce. Se distinguen tres tipos:
-Riesgos de Datos
-Riesgos de control
-Riesgos Estructurales

RIESGOS DE DATOS


La escritura en el banco de registros siempre se hace
en la ultima etapa, la etapa OS. Por lo tanto, en el
diseo de cauce que se planteo, los riesgos de tipo
WAR y RAW no causan problemas de ningn tipo.

2.3.1 Soluciones para la
dependencias de datos de tipo
RAW
Las alternativas mas importantes para evitar
los problemas de los riesgos RAW son:

Reorganizacin de cdigo
Interbloqueo entre etapas
Los atajos (bypass paths o forwarding)
1. Reorganizacin de
Cdigo
2. Interbloqueo entre etapas
Se introducen elementos hardware en el
cauce para detectar la existencia de
dependencias.
3. Atajos (bypass paths o forwarding)
Ejemplo de ejecucin de dos instrucciones con
dependencia RAW que ilustra el
funcionamiento de la tcnica de caminos de
bypass.

2.3.2 Implementacin de las
instrucciones de salto













Las instrucciones de salto tienen el formato

bcnd Ra
Cnd: es la condicin de la que depende el salto(z,nz..)

El desplazamiento respecto al valor de PC que
determina la direccin destino se encuentra
almacenado en el registro Ra.

Procesador segmentado con saltos condicionales
Eventos significativos en la ejecucin de una
instruccin de salto condicional








Una posibilidad consiste en abortar la ejecucin de esas
instrucciones. Si el procesador siempre aborta la ejecucin
de las dos instrucciones habr que incluir en el cdigo de
instrucciones que no tengan ninguna utilidad para que el
programa se ejecute correctamente.
Otra alternativa seria dejar que las instrucciones
que se han captado prosigan su ejecucin en el
cauce. Se le conoce tambin con el nombre de
salto retardado
Salto
retardado
La aplicacin de la tcnica de salto retardado depende de
las caractersticas del procesador en lo que respecta a la
poltica de anulacin de instrucciones captadas
errneamente en los saltos y al numero de huecos que hay
que ocupar.













Se puede mejorar el procesamiento de saltos si
se modifica la forma de comprobar la condicin.,
evitando que la misma se genere en otra
instruccin distinta a la propia instruccin de
salto condicional. Por ejemplo:
R3: R3+R1
bz R6

R3: R3+R1
bz R3,R6





Tambin se mejorara el rendimiento del procesador
frente a los saltos si se adelantara el procesamiento de la
instruccin de salto a las primeras etapas del cauce
Por ejemplo si se reorganiza convenientemente el
hardware de la etapa ID/OF para que dicha etapa se
realice la determinacin de que la instruccin es de salto .
2.3.3 Implementacin de las
instrucciones de acceso a
memoria












Las operaciones de carga y almacenamiento de datos en memoria son
operaciones frecuentes sobre todo en cdigos RISC, donde se
encuentra entre un 25% y 35% de cargas y 10% de almacenamiento.
Par realizar un carga (load) hay que determinar la direccin de memoria
(effective address, EA), en procesadores RISC se hace en dos pasos.
1. Se capta los contenidos de los registros.
2. Se calcula la direccin efectiva a partir
de dichos contenidos.
Para el almacenamiento es similar , la diferencia es que la
direccin y el dato a escribir en memoria se envan en
paralelo a la MMU(unidad de gestin de memoria)
En este tipo de instrucciones se debe indicar una direccin
de memoria y un registro.
Por lo tanto las instrucciones de carga tendrn la forma ld
Rd,Rs y las de almacenamiento tendr la forma st Rs,Rd







Instruccin de almacenamiento, en la etapa ID/OF se decodifica y se
captan sus operandos, uno de ellos, Rd pasara por la ALU para
obtener la direccin de memoria donde hay que escribir.
El registro Rs pasara por la ALU y sin ser modificado. Por lo tanto al
final de la etapa ALU se tendr la direccin de memoria en el registro
DMAR(Data Memory Address Register) y el dato a escribir en el
registro SDMR(Store Data Memory Register).
Para la instruccin de carga, la direccin de memoria se tendra al
final de la etapa de operacin con la ALU. En el siguiente ciclo se
accedera a memoria para que al final de dicho ciclo, el dato se tenga
en el registro LDMR(Load Data Memory Register), con lo cual se
necesitara un ciclo mas para pasar del registro LDMR a Rd






Alternativas para solucionar el riesgo estructural es las
instrucciones de acceso a memoria.
Microarquitectura del procesador segmentado
Falta por considerar lo que sucede cuando tras una instruccin de
acceso a memoria hay una instruccin que necesita el dato para
realizar una operacin. Es decir existe dependencia tipo RAW entre
las instrucciones i e i+d (d>0) se introduce entre ellos un retardo de
uso de carga(LOAD-USE-DELAY).
Por lo tanto, entre la instruccin i e i+d debe haber dos instrucciones,
con lo que d>2 y el retardo de uso de carga es de 2 ciclos.
Para solucionar este problema se pueden introducir instrucciones
NOP, tambin se podra usar caminos de bypass entre el registro
LDMR y las entradas de la ALU.

Вам также может понравиться