Control en la Arquitectura Segmentada
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Unidad de Control para la
arquitectura segmentada
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Control para la arquitectura segmentada
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• De la misma forma en se que agregó el control para la ruta de
datos en la arquitectura multiciclo, ahora agregaremos señales
de control para la ruta de datos de la arquitectura segmentada.
• Se utilizaran muchos de los recursos de las arquitecturas
multiciclo.
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Ruta de datos con control (Figura 5.17)
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Ruta de datos con control para la arquitectura
segmentada
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Control para la arquitectura segmentada
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Para diseñar el control para la ruta de datos de la
arquitectura segmentada, se deben de generar las
señales necesarias para cada uno de los segmentos.
• ¿Qué debemos controlar en cada uno de los
segmentos?
–
–
–
–
–
Búsqueda de instrucción e incremento del PC.
Decodificador de instrucción / registro de búsqueda
Ejecución
Estado de memoria
Se deben acomodar las
Escritura
líneas de control en tres
grupos
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Control para segmentación
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Control para la segmentación
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Pasan las líneas de control a lo largo de la arquitectura
como los datos
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
P C S rc
ID/E X
0
M
u
x
1
WB
C o n trol
IF /ID
E X /M E M
M
WB
EX
M
A dd
WB
A d d re ss
In stru c tio n
m e m or y
B ran ch
S h ift
le ft 2
A L U S rc
R e ad
re g is ter 1
R ea d
d a ta 1
R e ad
re g is ter 2
R e g iste rs R ea d
W rite
d a ta 2
re g is ter
W rite
d a ta
M e m to R e g
PC
Ad d
re su lt
M e m W rite
R e gW rite
4
Z e ro
ALU
0
M
u
x
1
A LU
re su lt
Re a d
d ata
A dd re ss
D a ta
m e m o ry
W rite
d ata
In stru ction
16
[1 5 – 0 ]
32
6
A LU
co n trol
S ig n
ex ten d
In stru ctio n
[2 0– 1 6]
In stru ctio n
[1 5– 1 1]
0
M
u
x
1
ALU O p
Re g D st
Ing. José Alberto Díaz
García
M E M /W B
Add
In stru ctio n
Control en la Arquitectura Segmentada
Ruta de datos con señales de control (Versión
Final)
M e m R e ad
1
M
u
x
0
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
RIESGO EN DATOS Y “FORWARDING”
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Con esta arquitectura se generan riesgos que se
presentan en la ejecución de una secuencia de
instrucciones
• Riesgos en:
– Datos (Solución adelantamiento)
– Datos (Solución atascamiento)
– Saltos (Unidad de predicción)
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
RIESGOS DE DATOS
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Los riesgos de los datos ocurren porque una
instrucción depende del resultado de una instrucción
previa en los segmentos
• A esto se le llama dependencia.
• Ejemplo de dependencias:
–
–
–
–
–
Sub $2, $1, $3
And $12, $2, $5
Or
$13, $6, $2
Add $14, $2, $2
Sw $15, 100($2)
/* $2 escrito por Sub
/* $2 depende de Sub
/* $2 depende de Sub
/* ambos $2 dependen de Sub
/* $2 depende de Sub
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
DEPENDENCIAS
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
•
El problema de iniciar una instrucción antes de que la anterior finalice
– Las dependencias que necesitan de servicios en reversa (de estaciones
pasadas en el tiempo) son también riesgos en datos.
T im e (in clo c k cy c le s)
V a lu e o f
reg is te r $ 2 :
CC 1
CC 2
CC 3
CC 4
CC 5
CC 6
CC 7
CC 8
CC 9
10
10
10
10
1 0/– 2 0
– 20
– 20
– 20
– 20
IM
Reg
DM
Reg
P ro g ra m
e x e cu tion
orde r
(in ins tru ctio n s )
su b $ 2 , $ 1 , $ 3
a n d $ 1 2 , $2 , $ 5
o r $ 1 3 , $6 , $ 2
a d d $ 1 4 , $2 , $ 2
sw $ 1 5 , 1 0 0 ($ 2 )
IM
DM
R eg
IM
DM
R eg
IM
R eg
DM
Reg
IM
R eg
R eg
R eg
DM
R eg
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
¿Cómo resolver este tipo de problemas?
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Solución por programa:
– Tener un compilador que garantice que no se presentaran
riesgos.
– EJEMPLO:
• Diseñe un compilador que genere el código que se muestra a la
derecha.
• Desventaja: esto haría la máquina muy lenta
Escuela de Ingeniería Electrónica
Una mejor solución “Forwarding”
Control en la Arquitectura Segmentada
•
Utilice los resultados temporales, no espere hasta que se almacene.
–
–
Adelantamiento del archivo de registros para manejar lectura/escritura en el mismo
registro
Adelantamiento en la ALU
T im e (in c lo c k cy c le s )
CC 1
CC 2
CC 3
CC 4
CC 5
CC 6
CC 7
CC 8
CC 9
V a lu e o f re g iste r $ 2 :
10
10
V a lu e o f E X /M E M :
X
X
10
10
1 0 /– 2 0
– 20
– 20
– 20
– 20
X
– 20
X
X
X
X
V a lu e o f M E M /W B :
X
X
X
X
X
– 20
X
X
X
X
IM
Reg
DM
R eg
P r o g ra m
e xe c u tio n o rd e r
(in in s tru c tio n s )
s ub $ 2 , $ 1 , $ 3
a nd $ 12 , $ 2, $5
o r $ 13 , $ 6, $2
EL - 3310
Diseño de Sistemas
Digitales
a dd $ 14 , $ 2, $2
Ing. José Alberto Díaz
García
s w $ 15 , 1 0 0 ($ 2 )
IM
R eg
IM
DM
R eg
IM
R eg
DM
R eg
IM
Reg
DM
R eg
Reg
DM
Reg
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lógica para adelantamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• En la arquitectura MIPS, los datos se adelantan a dos
etapas:
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lógica para adelantamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Hay un caso especial
• NOTA: EX es un estado de adelantamiento
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lógica para adelantamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Lógica para la etapa de adelantamiento: (alguna de
las siguientes condiciones debe ser verdadera)
• CASO 1
– If (EX/MEM.RegWrite=activa)
– Y (EX/MEM.RegistroRD≠0)
– Y (EX/MEM.RegistroRD=ID/EX.RegistroRs)
Escuela de Ingeniería Electrónica
CONDICIONES PARA LÓGICA DE ADELANTAMIENTO
WB
Control
IF/ID
PC
Instruction
memory
Instruction
Control en la Arquitectura Segmentada
ID/EX
EX/MEM
M
WB
EX
M
Ing. José Alberto Díaz
García
RegWrite
WB
M
u
x
Registers
ALU
Data
memory
M
u
x
IF/ID.RegisterRs
Rs
IF/ID.RegisterRt
Rt
IF/ID.RegisterRt
Rt
IF/ID.RegisterRd
Rd
M
u
x
EX/MEM.RegisterRd
Forwarding
unit
EL - 3310
Diseño de Sistemas
Digitales
MEM/WB
MEM/WB.RegisterRd
M
u
x
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lógica de Adelantamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• CASO 2
– If (EX/MEM.RegWrite=activa)
– Y (EX/MEM.RegistroRD≠0)
– Y (EX/MEM.RegistroRd=ID/EX.RegistroRt)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
ID/EX
WB
Control
IF/ID
PC
Instruction
memory
Instruction
Control en la Arquitectura Segmentada
CONDICIONES PARA LÓGICA DE ADELANTAMIENTO
EX/MEM
M
WB
EX
M
MEM/WB
RegWrite
WB
M
u
x
Registers
ALU
Data
memory
M
u
x
IF/ID.RegisterRs
Rs
IF/ID.RegisterRt
Rt
IF/ID.RegisterRt
Rt
IF/ID.RegisterRd
Rd
M
u
x
EX/MEM.RegisterRd
Forwarding
unit
MEM/WB.RegisterRd
M
u
x
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lógica para adelantamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Lógica para adelantamiento en el estado MEM
(alguna de las siguientes condiciones debe ser
verdadera)
• CASO 1.
–
–
–
–
If (MEM/WB.RegWrite=activo)
Y (MEM/WB.RegistroRd≠0)
Y (EX/MEM.RegistroRd≠ID/EX.RegistroRs)
Y (MEM/WB.RegistroRd=ID/EX.RegistroRs)
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
ID/EX
WB
Control
IF/ID
PC
Instruction
memory
Instruction
Control en la Arquitectura Segmentada
Escuela de Ingeniería Electrónica
EX/MEM
M
WB
EX
M
MEM/WB
WB
RegWrite
M
u
x
Registers
ALU
Data
memory
M
u
x
IF/ID.RegisterRs
Rs
IF/ID.RegisterRt
Rt
IF/ID.RegisterRt
Rt
IF/ID.RegisterRd
Rd
M
u
x
EX/MEM.RegisterRd
Forwarding
unit
MEM/WB.RegisterRd
M
u
x
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lógica para adelantamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• CASO 2.
–
–
–
–
If (MEM/WB.RegWrite=activo)
Y (MEM/WB.RegistroRd≠0)
Y (EX/MEM.RegistroRd≠ID/EX.RegistroRt)
Y (MEM/WB.RegistroRd=ID/EX.RegistroRt)
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
ID/EX
WB
Control
PC
Instruction
memory
EX/MEM
M
WB
EX
IF/ID
Instruction
Control en la Arquitectura Segmentada
Escuela de Ingeniería Electrónica
MEM/WB
M
RegWrite
WB
M
u
x
Registers
ALU
Data
memory
M
u
x
IF/ID.RegisterRs
Rs
IF/ID.RegisterRt
Rt
IF/ID.RegisterRt
Rt
IF/ID.RegisterRd
Rd
M
u
x
EX/MEM.RegisterRd
Forwarding
unit
MEM/WB.RegisterRd
M
u
x
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Unidad de control de adelantamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Nos permite realizar adelantamientos de:
– EX a EX
– MEM a EX
– WB a ID
Escuela de Ingeniería Electrónica
Ejemplo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
WB
C o n tro l
IF /ID
PC
In stru c tio n
m e m o ry
In str u c tio n
Control en la Arquitectura Segmentada
ID /E X
E X /M E M
M
WB
EX
M
M EM /W B
WB
M
u
x
R e g is te rs
ALU
D a ta
m e m o ry
M
u
x
IF /ID .R e g is te rR s
Rs
IF /ID .R e g is te rR t
Rt
IF /ID .R e g is te rR t
Rt
IF /ID .R e g is te rR d
Rd
M
u
x
EX /M EM .R e gis te rRd
F o rw a rd in g
u n it
M E M /W B .R e gis te rRd
M
u
x
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Ejemplo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Para el siguiente programa. ¿Existe algún problema
con la arquitectura?
– Lw $s0, 20($t1)
– Sub $t2,$s0,$t3
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Riesgos en datos y atascamientos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• El adelantamiento funciona muy bien. Sin embargo
no puede prevenir todos los atascamientos en la
segmentación.
• EJEMPLO
– Con la instrucción Lw no se carga el dato deseado en
memoria hasta el estado MEM, por lo tanto no se puede
adelantar el resultado hasta después del estado MEM
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Ejemplo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Atascamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Podemos atascar el registro de segmentación si
mantenemos la instrucción en el mismo estado
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Unidad de detección de riesgos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Necesitamos insertar una unidad de detección de
riesgos en el estado ID.
• Lógica de la Unidad de Detección de Riesgos
– La instrucción de cargue (lw)
– El campo del registro destino de la instrucción Lw en el
estado EX coincide con cualquier registro de la instrucción
en el estado ID.
– Ejemplo
• Lw $2,20($1)
• And $4,$2,$5
IF ID EX MEM WB
IF ID EX
MEM WB
– NOTA:
• Hay una coincidencia, por lo tanto, hay un atascamiento
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lógica para la unidad de detección de riesgos
Es una instrucción Lw
• If (ID/EX.MemRead=activa)
• Y ((ID/EX.Registro Rt=IF/ID.RegistroRs) o
• (ID/EX.RegistroRt=IF/ID.RegistroRt))
El campo para el registro destino de la instrucción Lw en el estado EX
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
El registro fuente de la instrucción se encuentra en el estado ID
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Unidad de detección de riesgos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Bubbles (Burbujas)
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Las burbujas se utilizan para atascar la arquitectura
• En estos casos es necesario colocar un atascamiento
para desfasar las instrucciones.
• Este tipo de atascamiento se llama Bubble
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
EJEMPLO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
•
•
•
•
Lw
$2,20($1)
And
$4,$2,$5
Or
$8,$2,$6
Add$9,$4,$2
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Riesgos en los saltos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Ocurren porque el CPU no tiene información
temprana sobre el salto.
• SOLUCIONES:
• (1) Retardar el salto:
– El ensamblador automáticamente sustituye las instrucciones
de salto por una instrucción que no afecte el salto.
• (2) Predicción:
– Se asume que el salto no se realizará. Si la predicción es
errónea, el registro de segmentación se atasca.
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Predicción
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Predicción verdadera
Predicción falsa
• Si la predicción es verdadera, no hay que atascar el
registro de segmentación
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Predicción
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Si la predicción es falsa
• Predecimos que el salto no se realiza
– Se necesita agregar Hardware para desechar las
instrucciones.
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Descartar instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Se necesita descartar las instrucciones del estado IF,
ID y EX.
• Esto es muy lento
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Reducción de los retardos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Una forma para mejorar el rendimiento es mover la
ejecución del salto a un estado anterior (por ejemplo
al estado ID)
Control en la Arquitectura Segmentada
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Para mejorar el rendimiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• Trate de eliminar atascamientos. Por ejemplo
reordene las instrucciones.
–
–
–
–
Lw $t0, 0 ($t1)
Lw $t2, 4 ($t1)
Sw $t2, 0 ($t1)
Sw $t0, 4 ($t1)
• Agregue un retardo
– El ensamblador automáticamente sustituye el espacio de la
instrucción de salto por una instrucción que no afecte el salto
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Utilizando un retardo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
• El ensamblador
• automáticamente reemplazará el campo por una
instrucción que no afecte el salto:
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Repaso de los riegos en pipeline: Atascamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
6 PM 7
O
R
D
E
N
8
9
30 30 30 30 30 30 30
A
10
11
12
tiempo
burbuja
B
C
T
A D
R
E E
A
F
S
A depende de D; se esta utilizando el mismo elemento
1
2 AM
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Fuera de servicio Lavandería: No espere
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
6 PM 7
O
R
D
E
N
8
9
3030 30 30 30 30 30
A
10
11
12
1
2 AM
Tiempo
burbuja
B
C
T
A D
R
E E
A
F
S
A depende de D; el resto continúa; se necesita de más recursos para
realizar el “fuera de servicio”
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
Lavandería Superescalar : Paralelo en cada estado
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
6 PM 7
O
R
D
E
N
9
3030 30 30 30
A
B
C
T
A
R
E
A
S
8
D
E
10
11
12
1
Tiempo
(ropa liviana)
(ropa oscura)
(ropa muy sucia)
(ropa liviana)
(ropa oscura)
(ropa muy sucia)
F
Más recursos, más HW para realizar las tareas en
paralelo
2 AM
Escuela de Ingeniería Electrónica
Control en la Arquitectura Segmentada
CONCLUSIONES
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García