Professional Documents
Culture Documents
SEGMENTACIN DE CAUCE Y
PROCESADORES SEGMENTADOS
DEFINICIN
PRINCIPIOS DE LA SEGMENTACIN
Y MEJORA DE PRESTACIONES
Supongamos que en un sistema una operacin se
ejecuta en un tiempo T. una implementacin
segmentada del sistema se basa en dividir la
ejecucin de la operacin en una serie de fases
que se realizan una despus de la otra, en cada
una de las etapas que constituyen el sistema
segmentado.
En un sistema segmentado con etapas que
consumen un tiempo t. la GANACIA DE
VELOCIDAD que conseguira en la ejecucin de n
operaciones consecutivas seria :
A medida que el nmero de operaciones a procesar es
mayor, la ganancia que se obtiene es mayor, tendiendo
(cuando el numero de instrucciones tienden al infinito):
obtencin
del tiempo
de las
etapas de
un cauce
sncrono
OTRAS MAGNITUDES
PRODUCTIVIDA
PRODUCTIVIDA
D
D
EFICIENCIA
EFICIENCIA
DISEO DE UN PROCESADOR
SEGMENTADO,GESTION DE RIESGOS DE DATOS,
CONTROL Y ESTRUCTURALES
Rc Ra op Rb
-IF(Instruction Fetch)
-ID/OF(Instruction Decode/Operand Fetch)
-ALU
-OS(Operand Store)
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 Estructurales
Riesgos de
Datos
Riesgos de
control
Riesgos
Estructurales
REORGANIZACIN DE CDIGO
Consiste en disponer las instrucciones en el
programa de forma que entre instrucciones con
dependencias de tipo RAW existan instrucciones
que permitan retrasar la segunda instruccin con
respecto a la primera dando tiempo a que esta
haya almacenado su resultado antes de que la
lectura ocasionada por la segunda instruccin
tenga lugar
En el caso que de que no existan instrucciones
independientes que puedan interponerse entre las
instrucciones con dependencias de tipo RAW,
siempre es posible introducir una o varias
instrucciones de no operar
EL INTERBLOQUEO ENTRE
ETAPAS
Se introducen elementos de hardware en el
cauce para detectar la existencia de
dependencias. En el caso de que se detecte una
la instruccin que debe leer el resultado
proporcionado por la primera se detiene el
numero de ciclos necesario
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.
R3: R3+R1
bz R6
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 .
NUMERO DE ETAPAS
Cuanto mayor sea el nmero de etapas de un
procesador segmentado mayor ser la ganancia de
velocidad que podra proporcionar.
Sin embargo las dependencias ocasionan una
desviacin con respecto al funcionamiento ideal,
haciendo que la complejidad de la gestin del cauce
aumente a medida que tiene ms etapas(es mas
profundo).
Cuanto ms etapas tiene un cauce, mas
instrucciones se estarn ejecutando en distintas
fases de su ciclo maquina.
A mayor etapas, suele ser mayor los retrasos que se
necesitan para entre instrucciones dependientes,
tambin se es ms difcil encontrar instrucciones
independientes.
NUMERO DE ETAPAS
A ms etapas en el cauce, muchas de las instrucciones de
salto se pueden introducir en el cauce incorrectamente.
Se busca encontrar una profundidad de cauce ms optima,
esto depender de la arquitectura y de las caractersticas de
los programas que se ejecuten.
ARQUITECTURA RISC
Los cauces en la arquitectura RICS, tienen
cuatro etapas las cuales son:
Captacin de instruccin (IF)
Decodificacin de la instruccin y captacin de los
operandos de los registros (ID).
Ejecucin de la operacin codificada en la
instruccin (EXE o ALU).
Escritura de los resultados en el fichero de
registros (WB).
ARQUITECTURA RISC
Pero en otros procesadores con arquitectura
RICS , tienen cinco etapas.
La etapa aadida es la encargada de acceder a la
memoria para captar o almacenar un dato, esta
se encuentra tras de la etapa de ejecucin(EXE).
A pesar de que las instrucciones con resultado y
operandos en registros no necesitan esta etapa,
las 5 etapas del cauce simplifican el diseo del
cauce.
Ejemplos: Los procesadores segmentados no
superescalares
de
MIPS(R2000,
R3000,
R4200,R4300, etc.) y en el HP-PA 7100.
ARQUITECTURA CISC
En
la
arquitectura
CISC
,procesan
instrucciones en las que el resultado y los
operandos pueden estar tanto en los
registros como en memoria.
En este caso el cauce debe calcular la
direccin del operando y generar un acceso
a memoria para captar el operando.
Por estos motivos el cauce es como el cauce
tpico de la arquitectura RICS, ms dos
etapas.
ARQUITECTURA CISC
Las etapas del cauce CISC son las
siguientes:
Captacin de instruccin (IF)
Decodificacin de la instruccin y captacin de los
operandos en registros (ID).
Clculo de direccin (A, de address).
Acceso a memoria (MEM o C, de acceso a cach)
Ejecucin de la operacin (EXE).
Escritura de los resultados en el fichero de registros
(WB).
ARQUITECTURA CISC
En la instrucciones con operandos y
resultados en registros, no utilizan las
etapas A y C.
La existencia de etapas que no se utilizan
no afectan directamente a las prestaciones.
Pero aumenta la posibilidad de que existan
dependencias.
Por eso existe la alternativa de un cauce de
cinco etapas. Ejemplo: procesador Pentium,
el 80486 y el R8000.
DISTRIBUCION DE LA SECUENCIA DE
ETAPAS
El procesador segmentado que se ha
diseado, todas las instrucciones pasan por
todas y cada una de las etapas del cauce.
Se habla de cauce nico o cauce
multifuncional, dado que todas las
instrucciones pasan por el mismo cause
fsico.
Existen procesadores de doble cauce, donde
un cauce realiza operaciones de coma
flotante y el otro cause realiza operaciones
aritmticas enteras, carga, saltos,
almacenamiento, etc.
ALTERNATIVAS DE DISTRIBUCION DE
ETAPAS DE UN CAUCE
EJECUCIN DE INSTRUCCIONES EN
LOS CAUCES DOBLE Y MULTIPLE
Se muestra el cauce doble en el que se alarga el
tiempo correspondiente a la unidad funcional ms
rpida, introduciendo retardos o burbujas, para que
los caminos posibles del cauce, tengan la misma
duracin.