Está en la página 1de 43

SEGMENTACION

4
SEGMENTACIÓN
SEGMENTACIÓN
Ejemplo 1
SEGMENTACIÓN
Ejemplo 1
SEGMENTACIÓN
Ejemplo 2
SEGMENTACIÓN
Ejemplo 2: Secuencial
SEGMENTACIÓN
Ejemplo 2. Con Segmentación
SEGMENTACIÓN
SEGMENTACIÓN
CÁLCULO DE LA ACELERACIÓN
CÁLCULO DE LA ACELERACIÓN O SPEED UP
Ejercicio 1
SEGMENTACIÓN
SEGMENTACIÓN
SEGMENTACIÓN
Extracción de la Instrucción
SEGMENTACIÓN
Decodificación
SEGMENTACIÓN
Ejecución
SEGMENTACIÓN
Memoria
SEGMENTACIÓN
Escritura
SEGMENTACIÓN
Ciclo de una Instrucción
SEGMENTACIÓN

• Reducir el tiempo de ejecución mejora el rendimiento.


– Ejemplo: usar una versión más rápida de un
procesador.

• Mejorar el rendimiento mejora el tiempo de respuesta.


– Ejemplo: aumentar el número de núcleos en un
procesadores

21
SEGMENTACIÓN
• Tiempo de ciclo
Tiempo de ciclo debe permitir que una instrucción pase por todas las
etapas en un ciclo.

• Tiempo de respuesta (latencia)


Tiempo entre el comienzo y la finalización de una instrucción.

• Throughput
Rendimiento.
Número de instrucciones por unidad de tiempo.
1
𝑅𝑒𝑛𝑑𝑖𝑚𝑖𝑒𝑛𝑡𝑜 =
𝑇𝑐𝑖𝑐𝑙𝑜

22
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?

24
SEGMENTACIÓN
ETAPA 1 ETAPA 2 ETAPA 3 ETAPA ………

FRECUENCIA = CICLOS POR SEGUNDO


– 1 Hz = 1 cycle/sec
– 1 KHz = 103 cycles/sec
– 1 MHz = 106 cycles/sec
– 1 GHz = 109 cycles/sec
– 2 GHz clock has a cycle time = 2×109 cycles/sec

1 𝑁𝑟𝑜. 𝐶𝑖𝑐𝑙𝑜𝑠
𝑓= 𝑇𝐸𝐽𝐸𝐶 =
𝑇𝐸𝐽𝐸𝐶 𝐶𝑖𝑐𝑙𝑜𝑠 𝑝𝑜𝑟 𝑠𝑒𝑔𝑢𝑛𝑑𝑜
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 en 10 segundos en el


microprocesador X a 2 GHz
➡¿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?
𝑁𝑟𝑜. 𝐶𝑖𝑐𝑙𝑜𝑠
𝑇𝐸𝐽𝐸𝐶 =
𝐶𝑖𝑐𝑙𝑜𝑠 𝑝𝑜𝑟 𝑠𝑒𝑔𝑢𝑛𝑑𝑜
𝑁𝑟𝑜. 𝐶𝑖𝑐𝑙𝑜𝑠 = 𝑇𝐸𝐽𝐸𝐶 × 𝐶𝑖𝑐𝑙𝑜𝑠 𝑝𝑜𝑟 𝑠𝑒𝑔𝑢𝑛𝑑𝑜
𝑁𝑟𝑜 𝐶𝑖𝑐𝑙𝑜𝑠 = 10 × 2 × 109 = 20 × 109 𝑐𝑖𝑐𝑙𝑜𝑠

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?
𝑁𝑟𝑜 𝐶𝑖𝑐𝑙𝑜𝑠 = 1.1 × 20 × 109 𝑐𝑖𝑐𝑙𝑜𝑠 = 22 × 109 𝑐𝑖𝑐𝑙𝑜𝑠
𝑁𝑟𝑜. 𝐶𝑖𝑐𝑙𝑜 22 × 109 𝑐𝑖𝑐𝑙𝑜𝑠
𝐶𝑖𝑐𝑙𝑜𝑠 𝑝𝑜𝑟 𝑠𝑒𝑔𝑢𝑛𝑑𝑜 = = = 3.67𝐺𝐻𝑧
𝑇𝐸𝐽𝐸𝐶 6𝑠
SEGMENTACIÓN
CICLO POR INSTRUCCIÓN - CPI

𝑁𝑟𝑜 𝑑𝑒 𝐶𝑖𝑐𝑙𝑜𝑠
𝐶𝑃𝐼 = 𝑇𝐸𝐽𝐸𝐶 = 𝑁𝑟𝑜 𝑑𝑒 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠 × 𝐶𝑃𝐼 × 𝑇𝐶𝐼𝐶𝐿𝑂
𝑁𝑟𝑜 𝑑𝑒 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠

Ejemplo:

𝑁𝑟𝑜 𝑑𝑒 𝐶𝑖𝑐𝑙𝑜𝑠
𝐶𝑃𝐼 =
𝑁𝑟𝑜 𝑑𝑒 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠
14
𝐶𝑃𝐼 =
7
𝐶𝑃𝐼 = 2
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: 𝑇𝐸𝐽𝐸𝐶 = 𝑁𝑟𝑜 𝑑𝑒 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠 × 𝐶𝑃𝐼 × 𝑇𝐶𝐼𝐶𝐿𝑂


𝑇𝐸𝐽𝐸𝐶 = 10 × 2 × 250 = 5000𝑝𝑠

B: 𝑇𝐸𝐽𝐸𝐶 = 𝑁𝑟𝑜 𝑑𝑒 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠 × 𝐶𝑃𝐼 × 𝑇𝐶𝐼𝐶𝐿𝑂


𝑇𝐸𝐽𝐸𝐶 = 10 × 1.2 × 500 = 6000𝑝𝑠
SEGMENTACIÓN
CICLO POR INSTRUCCIÓN - CPI

• 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
RELANTIZACIÓN DE LA SEGMENTACIÓN
Dependencia de datos

También podría gustarte