Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(captación) (ejecución) I I I
1 2 3
F E F E F E
1 1 2 2 3 3
Tiempo
Ciclo de reloj 1 2 3 4
Buffer entre etapas
Instrucción
B1
I1 F1 E1
Unidad de Unidad de
captación de ejecución I2 F2 E2
instrucciones
I3 F3 E3
(b) Organización del hardware
I2 F2 D2 E2 W2
I3 F3 D3 E3 W3
I4 F4 D4 E4 W4
D: Decodificación E: Ejecución
F: Captación de instrucción W: Actualización
de instrucción de de resultados
y captación operaciones
B1 de operandos B2 B3
Tiempo
Ciclo de reloj1 2 3 4 5 6 7 8 9
Instrucción
I1 F1 D1 E1 W1
I2 (mul) F2 D2 E2 W2
I3 F3 D3 E3 W3
I4 F4 D4 E4 W4
I5 F5 D5 E5
Figura 8.3. Efecto de la ejecución de una operación con más de un ciclo de reloj
RIESGO DE DATOS
Estructura de Computadores. Tema 4: Segmentación de Cauce 9
Segmentación de cauce: prestaciones
Tiempo
Ciclo de reloj 1 2 3 4 5 6 7 8 9
Instrucción
I1 F1 D1 E1 W1
I2 F2 D2 E2 W2
I3 F3 D3 E3 W3
Tiempo
Ciclo de reloj 1 2 3 4 5 6 7 8 9
Etapa
F: Captación F1 F2 F2 F2 F2 F3
D: Decodificación D1 idle idle idle D2 D3
E: Ejecución E1 idle idle idle E2 E3
W: Actualización W1 idle idle idle W2 W3
(b) Funciones realizadas por cada etapa del procesador en ciclos de reloj sucesivos
RIESGO DE CONTROL
Estructura de Computadores. Tema 4: Segmentación de Cauce 10
Segmentación de cauce: prestaciones
Tiempo
Ciclo de reloj1 2 3 4 5 6 7
Instrucción
I1 F1 D1 E1 W1
Load x(r1), I2 F2 D2 E2 M2 W2
r2
I3 F3 D3 E3 W3
I4 F4 D4 E4
I5 F5 D5
RIESGO ESTRUCTURAL
Estructura de Computadores. Tema 4: Segmentación de Cauce 11
Riesgos de datos
Definición: situación en la que el cauce sufre un atasco
debido a un retardo en la llegada de datos
Dependencia entre instrucciones:
▫ las instrucciones independientes pueden ejecutarse
concurrentemente
▫ Las instrucciones dependientes sólo a veces pueden ejecutarse
concurrentemente
independencia
A 3+A correcto B = 32 B = 32
B 4 xA incorrecto imposible B = 20
I2 (Add) F2 D2 D2A E2 W2
I3 F D E W
3 3 3 3
I4 F4 D4 E4 W4
SRC1 SRC2
Banco de
registros
ALU
RSLT
Destino
E: Ejecución W: actualización
(ALU) (banco de registros)
Camino de adelantamiento
(b) Situación de los registros fuente y resultado en el cauce del procesador
I3 F3 X
Ik Fk Ek
Tiempo
Ciclo de reloj 1 2 3 4 5 6 7
I1 F1 D1 E1 W1
I2 (salto) F2 D2
I3 F3 X
Ik Fk Dk Ek Wk
Ik+ 1 Fk+ 1 D k+ 1 E k+ 1
(b) Dirección de salto calculada en la etapa de decodificación
Tiempo
Ciclo 1 2 3 4 5 6 7 8 9 10
Longitud 1 1 1atasco 1 2 3 2 1 1 1
de la cola
I1 F1 D1 E1 E1 E1 W1
I2 F2 D2 E2 W2
I3 F3 D3 E3 W3
I4 F4 D4 E4 W4
I6 F6 X
Ik Fk Dk Ek Wk
Tiempo
Ciclo de reloj 1 2 3 4 5 6 7 8
Instrucción
dec r2 F E
jnz loop F E
shl r1 (hueco) F E
jnz loop F E
shl r1 (hueco) F E
I2(saltar) F2 D 2/P2 E2
I3 F3 D3 X
I4 F4 X
Ik Fk Dk
BT
BNT
BNT LNT
salto poco probable
LT
salto probable
BT BNT BT
BT
Figura 8.15. Representación de las máquinas de estados de los algoritmos de predicción de saltos
Siguiente instrucción F D E W
(a) Modo de direccionamiento complejo
Add F D X + [R1] W
Load F D [X +[R1]] W
Siguiente instrucción F D E W
Se puede comenzar a ejecutar más de una instrucción por ciclo de reloj emisión
múltiple
F: unidad de
captación
Cola de instrucciones
Unidad
de coma
flotante
Unidad de
emisión W: escribir
resultados
Unidad
De
enteros
Figura 8.19. Procesador con dos unidades de ejecución
Ejemplo: mezcla de
operaciones con enteros y
en coma flotante de la
Figura 8.20 siguiendo un
esquema interno como el de
la Figura 8.19
Tiempo
Ciclo de reloj 1 2 3 4 5 6 7
I2 (Add) F2 D2 E2 W2
I4 (Sub) F4 D4 E4 W4
I2 (Add) F2 D2 E2 W2
I4 (Sub) F4 D4 E4 W4
I2 (Add) F2 D2 E2 TW2 W2
I4 (Sub) F4 D4 E4 TW4 W4
(b) Uso de registros temporales
N S T = Tiempo de ejecución
R
Ps PS = número de instrucciones ejecutadas por segundo (caso secuencial)
PP = número de instrucciones ejecutadas por segundo (caso concurrente)
S
fallo ((1 hi ) d (1 hd )) Mp
R R
Pp
TI 1 fallo Mp = penalización por fallo en caché
hi = probabilidad de acierto para instrucciones
R hd = probabilidad de acierto para datos
Ps TI = tiempo en el caso secuencial
4 fallo