Calcule el número de ciclos y la tasa promedio de obtención de operandos de la máquina

En este artículo, sabremos cómo calcular la tasa promedio de obtención de operandos de la máquina cuando la máquina utiliza diferentes modos de acceso a operandos. 

Ejemplo-1: 
considere una máquina hipotética que utiliza un modo de acceso de operando diferente que se muestra a continuación. Suponga que se consumen 3 ciclos de reloj para el acceso a la memoria, 2 ciclos de reloj consumidos para el cálculo aritmético, 0 ciclos de reloj consumidos cuando los datos están presentes en el registro o la instrucción misma. ¿Cuál es la tasa promedio de obtención de operandos de la máquina? 
 

Modo de acceso al operando Frecuencia% (probabilidad)
Modo de acceso inmediato 25
Registrar Modo de Acceso 28
Modo de acceso directo 18
Modo de acceso indirecto a la memoria 14
Modo de acceso indexado 15

Solución: 
en el modo de direccionamiento indexado, si no se especifica nada, asumimos que » la dirección base se proporciona directamente en la instrucción y el valor del índice se almacena en el registro de índice «. Ahora, si observamos el modo de acceso del operando dado con su número de ciclo requerido para ejecutarse de acuerdo con la pregunta dada, podemos ver que: 

El modo de acceso inmediato no necesita referencia ni 0 ciclos. 
El modo de acceso al registro necesita una referencia de 0 registros o 0 ciclos. 
El modo de acceso directo necesita una referencia de 1 memoria o 3 ciclos. 
El modo de acceso indirecto a la memoria necesita una referencia de 2 memorias. 

3*2 ciclos (la referencia de 1 memoria tiene 3 ciclos, por lo que la referencia de 2 memorias tiene 3*2 ciclos). 
El modo de acceso indexado necesita una referencia de 1 registro, una referencia de 1 memoria y un cálculo aritmético. 

5 ciclos (1-referencia de memoria tiene 3 ciclos y 1-cálculo aritmético tiene 2 ciclos). 
 

Modo de acceso al operando Frecuencia% (probabilidad) Nº de ciclos
Modo de acceso inmediato 25 sin referencia (ciclo 0)
Registrar Modo de Acceso 28 Referencia 0-reg (ciclo 0)
Modo de acceso directo 18 Referencia de 1 memoria (3 ciclos)
Modo de acceso indirecto a la memoria 14 Referencia de 2 mem (ciclo 3*2)
Modo de acceso indexado 15 1 referencia de registro y 1 referencia de memoria y 1 cálculo aritmético (0+3+2 ciclos)

Podemos obtener el promedio total de ciclos necesarios para ejecutar una instrucción sumando los productos de la frecuencia y el número de ciclos. 
El promedio total de ciclos necesarios para ejecutar una instrucción 

= (0.25\times0) + (0.28\times0) + (0.18\times3) + (0.14\times6) + (0.15\times5)
= 2.13 Cycles

Ahora se sabe que el tiempo necesario para completar un ciclo es 

= 1/1GHz = 1 nanosecond

Tiempo promedio requerido para ejecutar una instrucción 

= 2.13 ∗ 1 = 2.13 nanosecond

Entonces, se requieren 2.13 nanosegundos para = 1 instrucción. 

1 segundo es necesario para 

= 1 / (2.13 * 10^(-9)) 
= 0.469483568 * 10^9 Instructions
= 469.483568 MIPS (Million Instructions Per Second).
In general we take operation fetch rate in MIPS.

Ejemplo-2: 
considere una máquina hipotética que utiliza un modo de acceso de operando diferente que se muestra a continuación. Calcular Ciclo por Instrucciones o CPI.
 

Tipo de instrucción Frecuencia Ciclos consumidos para instrucción
Instrucción ALU 45% 4
Instrucción de carga 35% 3
Almacenar instrucción 10% 2
Instrucción de rama 10% 2

Solución: 
en la arquitectura de computadoras, los ciclos por instrucción son un aspecto del rendimiento de un procesador: el número promedio de ciclos de reloj por instrucción para un programa o fragmento de programa. Es el inverso multiplicativo de instrucciones por ciclo. 
Se da que – 

ALU Instruction consumes 4 cycles
Load Instruction consumes 3 cycles
Store Instruction consumes 2 cycles
Branch Instruction consumes 2 cycles

Entonces, podemos obtener el CPI tomando el producto de los ciclos y la frecuencia. 

CPI = 4*0.45 + 3*0.35 + 2*0.1 + 2*0.1 
= 3.25 Cycles/Instruction

Publicación traducida automáticamente

Artículo escrito por sam_2200 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *