P - 5 - v2
December 30, 2022 | Author: Anonymous | Category: N/A
Short Description
Download P - 5 - v2...
Description
EL RENDIMIENTO EN LOS COMPUTADORES
INTRODUCCIÓN Rendimient Rendimiento o
-> medida de productividad o capacidad de trabajo en función de parámetros o características.
El
rendimiento rendimient o no es una medida única, sino una relación entre varias medidas y parámetros, y depende del objetivo al que se oriente or iente el trabajo trabajo..
¿Por qué medir el rendimient rendimiento o de un computador? Elegir el
computad computador or con mejor rendimient rendimiento o
Diseñar,
montar o elegir un computador que sea apto para la aplicación en la que va ser utilizado: utili zado:
Rápido Capacidad de almacenamien almacenamiento to adecuada
Capacidad de comunicaciones adecuada Sistema gráfico adecuado Múltiples usuarios Mantenimiento Escalabilidad
De los que
cumplen: el más barato
Desembolso inicial, coste de las ampliaciones, consumo, mantenimiento, …
RENDIMIENTO EN LOS COMPUTADORES Rendimiento =
capacidad de un sistema para realizar un
trabajo en un determinado tiempo. =
1
El
rendimiento de un computador está relacionado con
el tiempo que tarda en ejecutar los progr programas. amas. El
tiempo es la medida del rendimiento de un computador.
EJEMPLO - RENDIMIENTO Cuál de los
siguientes automóviles tiene mejor rendimiento. Coche
Consumo
Velocidad
Plazas
Precio
A
4.5
145
4
13.400
B
7.1
185
7
15.300
El rendimiento dependerá de la finalidad a la que
se quiera destinar el vehículo y de unos parámetros, en este caso consumo, velocidad, etc.:: etc.
Si se utiliza para transportar 2 personas diariamente costo, el rendimiento rendimien to mejor será el del vehículo A. teniendo en cuenta el Si el vehículo es requerid requerido o para recorrer 100 km y transportar 6 personas, el rendimiento rendimient o mejor ser seráá el del vehículo B. Si prima el tiempo en un determinado recorri recorrido do la elección acertada es el B.
Cómo medir el rendimiento Para
una máquina
¿Cuántas veces es mejor
la máquina A que la B? B? ¿Cómo medir las
prestaciones?
Dependerá de la aplicación donde se quiera utilizar el ordenador
¿Costo?
Difícil de evaluar: sometido a las leyes del mercado Generalmente Generalmen te se supone que los costos son iguales.
Medir las prestaciones Tiem Tiempo po
de e ejecució jecución n de los prog program ramas as
¿Cómo
medirlo?
✔Manualmente.
El computador más rrápido ápido en ejecutar u un n programa en igualdad de condiciones, es el de mejor rendimiento.
✔Par Paraa conocerlo a priori, se
✔Tiempo =
usan técnicas de análisis de algoritmos
Progr Programa ama * Factor El factor se determina de acuerdo con las propiedades del computador y de su diseño. Generalmente se eextrae xtrae de información proporcionada por el fabricantee (no siempre se ajusta a las condiciones reales de operación del fabricant computador.
Métricas básicas Periodo
y frecuencia de reloj de la CPU (MHz, GHz)
Tiempo de ejecución
de un programa (latencia ): Tiempo
de respuesta Productividad:
tiempo
CPI:
Operaciones realizado realizado por unidad de
Ciclos por instrucción
MIPS:
Millones de instrucciones por segundo
Tiempo de ejecución de un programa Tiempo
de ejecución = Tiempo para completar una tar tarea ea
Dos componentes: ✔Tiempo de
CPU: tiempo de la CPU empleado en ejecutar un programa incluido la parte correspondient correspondientee de SO. ✔Rest Resto: o: tiempo de espera de la E/S o de ejecución de otros programas
Si se mide el rendimiento como tiempo de ejecución
Rendimiento to y tiempo de ejecución Rendimien Rendimiento Es una
del computador
medida del conjunto CPU más Sistema Operativo Operativo
¿Cuántas
veces es mejor la CPU A que la CPU B?
Computador completo (incluye elementos del SO, virus,…)
Depende del
programa programa utilizado: caso me medio, dio, casos extremos (mejor y peor caso) Benchmark (Eje: SPEC’ SPEC ’s): Simular diferent diferentes es tipos de
aplicación.
PRODUCTIVIDAD Mide la cantidad de trabajo realizado por unidad de tiempo
Programas ejecutados por hora, instrucciones ejecutadas por segundo, consultas WWW despachadas por segundo
Frente a tiempo de ejecución
Tiempo para ejecutar un programa, para ejecutar una instrucción, para despachar una consulta en un servidor WWW
RELOJ
Frecuencia de reloj
Todo procesador tiene un reloj interno que funciona a frecuencia constante.
Duración del ciclo de reloj (periodo):
inverso inverso de la frecuencia T=
Los retardos máximos en los elementos del procesador fijan la frecuencia máxima del reloj
RENDIMIENTO DEL PROCESADOR
RENDIMIENTO DEL PROCESADOR El
rendimiento del procesador depende de los siguientes
parámetros:
1. Frecuencia de la CPU (f CPU) : Número de ciclos por segundo al que trabaja el procesador o CPU. No confundir la frecuencia de la CPU con la frecuencia del sistema, el bus del sistema trabaja a menor frecuencia que la CPU.
f CP CPU U
n ciclos segundo
2. Periodo de la CPU (TCPU) : es el tiempo que dura un ciclo y es el inverso de la frecuencia de la CPU. 1 TCPU =
f CPU
RENDIMIENTO DEL PROCESADOR
3. Ciclos por instrucción (CPI) : las instrucciones se descomponen en
microins microinstrucciones, trucciones, que son operaciones que sede ejecutan en un ciclo de reloj. En un programa se llama CPIbásicas al promedio microinstrucciones que tienen las instrucciones del programa, es decir decir,, los ciclos de reloj promedio que tarda en ejecutar una instrucción. Cuidado, n
N º Instruc CPI
i
CPI i
i 1
N º InstrucTot
CPIi son los ciclos por instrucción de cada instrucción CPI son los ciclos promedio promedio de de un programa
4. Número de instrucciones del programa : mientras más instrucciones haya en un programa, más tiempo tarda en ejecutarse, lo cual baja el rendimiento. rendimient o. El que tengamos un número reducido de instrucciones dependerá del programador y del compilador compilador..
RENDIMIENTO DEL PROCESADOR
5. Multitarea : Capacidad que tiene un computador de atender
simultáneamente varias tareas.
El rendimiento de un procesador para un programa concreto es un factor
inversamente inver samente proporcional al tiempo que tarda en ejecutar dicho programa.
η prog
1
T prog
El tiempo de programa depende a su vez del número de instrucciones del programa progr ama y del tiempo que se tarda en ejecutar cada instrucción.
TProg N instruc. Tinstrucciones
RENDIMIENTO DEL PROCESADOR
El tiempo El tiempo que tarda en ejecutarse cada instrucción depende del número de
microinstrucciones microins trucciones ciclos en losciclos que se Cada microinstrucción taroda tarda distintos de descompone. rreloj eloj en ejecutar ejecutarse, se, por lo que se hace un promedio ponderado de ciclos de instrucción. T
C PI * T
instrucción
CPU
Tprog N instruccio nes * CPI * TCP CPU U
prog
1
T pro prog g
1
N instruc * CPI * T CPU
f CPU N instruc * CPI
s
1
RENDIMIENTO DEL PROCESADOR El
rendimiento de un pr rendimiento procesador ocesador para un determinado programa programa
se determina en función de tres factores:
Frecuencia de la CPU Depende de la tecnología de fabricación del procesador. Cuanto mayor sea la frecuencia de la CPU, mejor será el rendimiento.
Número de instrucciones del programa Depende del programador, del lenguaje de programación y del compilador. Cuanto mayor sea el número de instrucciones menor será el rendimiento. rendimiento.
CPI Depende de diseño interno o arquitectur arquitecturaa del computador y del software o instrucciones que se hayan elegido. Es importante optimizar el programa con instrucciones que tengan pocos ciclos. Cuanto mayor sea el CPI, peor será el rendimiento rendimiento..
¿CÓMO SE MIDE EL CPI DE UNA CPU? Depende del programa utilizado
Los programas utilizan subconjuntos diferentes diferentes del juego de instrucciones del procesador ✔Cálculo
científico (operaciones en coma flotante) ✔Manejo de base de datos (mover datos entre posiciones de memoria) Ejemplo: Dado un Benchmark de 80 instrucciones • • •
25 instrucciones son del tipo LOAD/STORE LOAD/STORE (MOVE): 8 ciclos 50 instrucciones son del tipo ADD: 4 ciclos 5 instrucciones son del tipo raíz cuadrada: 100 ciclos CPI = (25*8 + 50*4 + 5*100)/80 = 13.8 ciclos/instrucción
•
Si fuera un programa con una sola instrucción de d e cada tipo CPI = (8 + 4 + 100)/3 = 37.3 ciclos/instrucción
EJEMPLO 1 Ejemplo de rendimiento con CPI
Se tiene dos implementaciones (CPU_A y CPU_B) con el mismo juego de instrucciones. La CPU_A tiene un ciclo de reloj de 1 ns y CPI de 2.0 y la CPU_B tiene un tiempo de ciclo de 2 ns y un CPI de 1.2. ¿Cuál es la máquina más rápida y cuánto?
I es
el número de instrucciones del programa A es 1.2 veces más rápido que B
Si el periodo de B pasa a 1.3 ns ¿que y como? cambia
B es 1.282 veces más rápido que A
Sólo es válido para el programa utilizado para calcular el CPI
EJEMPLO 2
Un diseñador de d e compiladores está intentando intentando decidir entre dos secuencias de código para un mismo pro programa. grama. Los diseñadores de la CPU donde correrá correrá ese programa programa le han proporcionado los siguient siguientes es datos
Tiempo ejecución secuencia 1 ✔T1= (2*1+1*2+2*3)*T = 10*T = 10 ciclos (5 instrucciones); CPI1=2 Tiempo ejecución secuencia 2 ✔T2= (4*1+1*2+1*3)*T = 9*T = 9 ciclos (6 instrucciones); CPI2=1.5
La secuencia 2 es más rápida que la secuencia 1 aunque tenga más instrucciones
Todos los factores son importantes en la medida del rendimiento
EJEMPLO 3
Dadas las caracterí características sticas de un programa calcular el tiempo que tarda en ejecutarse el programa y su rendimiento. rendimiento. Se sabe que la CPU trabaja a 1GHz. El programa se compone de 19 instrucciones de tres tipos: A, B y C y cada tipo de instrucción tiene un número de microinstrucciones diferente según se indica: Instrucciones/Prog.
CPIi
A
5
2
B
6
3
C
8
1
Tiempo de progr programa: ama: CPI
T pro g
Tipo de instrucción
N instruc. * CPI
i
N instruc. TOTAL
5 * 2 6 * 3 8 *1 19
N instruc. * CPI * T CPU
19 *1.89 *
prog
1
T prog
27777777.78 s
36ns
1.89
36ns 1 6 1000 * 10
Rendimiento: 1
1
EJEMPLO 4
Se dispone de un computador basado en un Pentium IV a 2GHz. Se ejecuta un programa compuesto compuesto por 1000 instrucciones. Según los datos de la siguiente
tabla, calcular el rendimiento: Tipo de instrucción
Instrucciones/Prog.
CPIi
20% 10% 10%/10%
4 3 7/5
30% 20%
3 4
Lógico-Aritmética Salto incondicional Salto condicional Carga (Reg
View more...
Comments