Reducir el tiempo de ejecución mejora el rendimiento. –
•
Mejorar el rendimiento mejora el tiempo de respuesta. –
21
Ejemplo: usar una versión más rápida de un procesador.
Ejemplo: aumentar el número de núcleos en un procesadores
SEGMENTACIÓN •
Tiempo de ciclo debe permitir que una instrucción pase por todas las etapas en un ciclo. •
Tiempo entre el comienzo y la finalización de una instrucción. •
Rendimiento. Número de instrucciones por unidad de tiempo. =
22
1
SEGMENTACIÓN EJERCICIO 1 Las 5 etapas del procesador tienen las siguientes latencias: Instrucciones Fetch
Decode
Execute
Memory
Writeback
A
300ps
400ps
350ps
550ps
100ps
B
200ps
150ps
100ps
190ps
140ps
Cada etapa supone 20ps extra debido a los registros entre etapas en procesadores segmentados. Con un procesador no segmentado, calcular: ¿Cuál es el tiempo de ciclo? ¿Cuál es la latencia de cada instrucción? ¿Cuál es el rendimiento?
23
SEGMENTACIÓN EJERCICIO 2 Las 5 etapas del procesador tienen las siguientes latencias: Instrucciones Fetch
Decode
Execute
Memory
Writeback
A
300ps
400ps
350ps
550ps
100ps
B
200ps
150ps
100ps
190ps
140ps
Cada etapa supone 20ps extra debido a los registros entre etapas en procesadores segmentados. Con un procesador segmentado, calcular: ¿Cuál es el tiempo de ciclo? ¿Cuál es la latencia de cada instrucción? ¿Cuál es el rendimiento?
SEGMENTACIÓN EJERCICIO 3 En un procesador segmentado con 4 etapas los tiempos consumidos por las etapas son 1, 1.75, 1.5 y 1.25 nanosegundos. Además, el tiempo de comunicación de datos de una etapa a otra es de 0.25 nanosegundos. ¿Cuál será la máxima frecuencia de reloj utilizable en el procesador?
SEGMENTACIÓN EJERCICIO 4 Un programa se ejecuta microprocesador X a 2 GHz
en 10
segundos
en el
¿Cual es el número de ciclos de reloj?
➡
Se desea que el microprocesador Y corra el mismo programa en 6 segundos, pero Y necesita un 10% más de ciclos ¿Cual debe ser la frecuencia de reloj de Y?
➡
SEGMENTACIÓN Un programa corre en 10 segundos en el microprocesador X a 2 GHz ¿Cual es el número de ciclos de reloj?
Queremos que el microprocesador Y corra el mismo programa en 6 segundos, pero Y necesita un 10% más de ciclos ¿Cual debe ser la frecuencia de reloj de Y?
SEGMENTACIÓN CICLO POR INSTRUCCIÓN – CPI EJERCICIO 5 Para un programa dado se ejecuta 10 instrucciones El microprocesador A tiene un reloj con período 250 ps y CPI de 2.0 El microprocesador B tiene un reloj con período 500 ps y CPI de 1.2 ¿Qué microprocesador es más rápida y por cuanto?
SEGMENTACIÓN CICLO POR INSTRUCCIÓN – CPI EJERCICIO 5 Para un programa dado se ejecuta 10 instrucciones El microprocesador A tiene un reloj con período 250 ps y CPI de 2.0 El microprocesador B tiene un reloj con período 500 ps y CPI de 1.2 ¿Qué microprocesador es más rápida y por cuanto? A:
CPIi= ciclos por instrucción del tipo i Ci= número de instrucciones del tipo i
SEGMENTACIÓN CÁLCULO DEL CPI EJERCICIO 6 –
– –
➡ ➡
Un diseñador de código decide entre dos secuencias de código para una microprocesador. Hay tres tipos de instrucciones • Clase A: requiere 1 ciclo/instr • Clase B: requiere 2 ciclo/instr • Clase C: requiere 3 ciclo/instr El primer código tiene 5 instrucciones: 2 de A, 1 de B, y 2 de C El segundo código tiene 6 instrucciones: 4 de A, 1 de B, y 1 de C Calcular los ciclos de CPU para cada código. ¿Cuál es más rápido? ¿Cuál es la CPI de cada programa?
SEGMENTACIÓN CÁLCULO DEL CPI EJERCICIO 6 A. Ciclos CPU (1º programa) = (2×1) + (1×2) + (2×3) = 2+2+6 = 10 ciclos Ciclos CPU (2º programa) = (4×1) + (1×2) + (1×3) = 4+2+3 = 9 ciclos El segundo programa es más rápido, aún ejecutando una instrucción más. B. CPI (1ºr programa) = 10/5 = 2 CPI (2º programa) = 9/6 = 1.5
RELANTIZACIÓN DE LA SEGMENTACIÓN
RELANTIZACIÓN DE LA SEGMENTACIÓN
RELANTIZACIÓN DE LA SEGMENTACIÓN
RELANTIZACIÓN DE LA SEGMENTACIÓN
RELANTIZACIÓN DE LA SEGMENTACIÓN Dependencia de datos
RELANTIZACIÓN DE LA SEGMENTACIÓN Dependencia de datos
RELANTIZACIÓN DE LA SEGMENTACIÓN Dependencia de datos
RELANTIZACIÓN DE LA SEGMENTACIÓN Dependencia de datos