tulo 1
El tiempo de CPU
1. NI: N
umero de instrucciones maquina en que se transforma el programa.
2. CPI: Numero medio de ciclos de reloj que se necesitan para ejecutar cada
instruccion maquina.
3. T: Tiempo de ciclo de reloj (o su frecuencia F como magnitud inversa).
MIPS y MFLOPS
NI 10,6 = F 10,6
MIPS = TCPU CPI
La principal ventaja de los MIPS es que son faciles de comprender. Sin embar-
go, son dependientes del repertorio de instrucciones, pues a mayor complejidad de
las instrucciones maquina de un procesador, menor numero de MIPS producira un
programa concreto, sin que eso indique que el programa se esta ejecutando mas
lentamente.
Para subsanar este problema se utilizan los MFLOPS o millones de operacio-
nes en punto
otante por segundo 2 , metrica que esta basada en operaciones en
lugar de instrucciones con objeto de conseguir una independencia de la represen-
tacion interna del programa fuente y, por tanto, del repertorio de instrucciones del
procesador.
No obstante, el inconveniente que tienen los MFLOPS como metrica es que no
miden el rendimiento del sistema en general, sino solo el de su FPU (unidad para
calculos en punto
otante) Ademas, los MFLOPS contabilizan por igual una suma
en punto
otante y una division, cuando en realidad esta ultima tarda mucho mas
en ejecutarse.
2 Las iniciales vienen del ingles, Million of FLoating-point Operations Per Second.
1.2. Programas de evaluacion (benchmarks) 5
Despues del exito del SPEC95, cada cambio signicativo de los computadores
ha trado como consecuencia la aparicion de nuevos tipos de benchmarks. Por
ejemplo, a raiz del auge de los sistemas operativos y las aplicaciones de 32 bits
1.3. Ley de Amdahl 7
A = (1,Fm1)+ AFm
m
donde:
A es la aceleracion o ganancia en velocidad obtenida en el sistema debido a la
mejora de uno de sus subsistemas. Es decir, representa el cociente entre el tiempo
de ejecucion de un programa sobre el sistema sin mejora y el tiempo de ejecucion
sobre el sistema mejorado.
Am representa el factor de mejora que se ha introducido en el subsistema alte-
rado (es decir, como de grande ha sido la mejora).
Fm es la fraccion de tiempo que el sistema utiliza el subsistema que se ha
alterado (es decir, cuanto se usa el componente que se ha mejorado).
Ejemplo 1. 1 Queremos mejorar el rendimiento de un computador introducien-
do un coprocesador matematico que realice las operaciones aritmeticas en la mitad
de tiempo. Calcular la ganancia en velocidad del sistema para la ejecucion de un
programa sabiendo que el 60% de dicha ejecucion se dedica al calculo de operacio-
nes aritmeticas. Si el programa tardaba 12 segundos en ejecutarse sin la mejora,
> Cuanto tardara en ejecutarse sobre el sistema mejorado?
Solucion:
Del enunciado tenemos que Am = 2 y Fm = 0:6
Aplicando la ley de Amdahl, obtenemos A = (1,0:6)+1 0:6 = 1 = 1 = 1:42
2 0:4+0:3 0:7
Es decir, el sistema funciona un 42% mas rapido que el original.
Para responder a la segunda cuestion, expresamos A como el cociente entre los
tiempos de ejecucion sin y con mejora, esto es:
Tiempo,de,ejecucion,sin,mejora
A = Tiempo ,de,ejecucion,con,mejora
Y dado que el numerador de esta expresion es 12 segundos, sustituyendo A por
1.42 y despejando, obtenemos que el programa tardara 8.45 segundos cuando se
ejecute aprovechando el coprocesador matematico.
10 Captulo 1. Analisis del rendimiento
Cuestionario de evaluacion
En las preguntas que presentan varias alternativas como respuesta, elija una y solo
una de ellas. Si cree que varias pueden ser validas, debera quedarse con la que
considere mas exacta y/o completa.
1. Ordenar de mejor (1) a peor (6) las siguientes formas de evaluar el rendimien-
to de un computador actual, colocando el numero en el hueco que aparece
en la parte izquierda:
Por el tiempo que transcurre desde que lo enciendo hasta que aparece el
indicador del interprete de comandos (command prompt).
Por el tiempo que tarda en compilar mi programa C favorito.
Por los tiempos de ejecucion de los distintos programas del SPEC95.
Por la frecuencia de reloj del microprocesador.
Por la frecuencia de reloj del microprocesador y los tiempos de acceso al
sistema de memoria (caches de primer y segundo nivel y memoria principal).
Cuestionario de evaluaci
on 11
Por el numero de veces que se enciende el LED de acceso al disco duro
durante la ejecucion de tu programa favorito.
2. El siguiente graco se encontro insertado en un anuncio del periodico El Pas,
y corresponde a una conocida empresa de venta de ordenadores personales.
Resulta bastante frecuente encontrar este tipo de publicidad en los medios de
comunicacion. Explica el enga~no que encierra de cara al consumidor (fjate
en la forma mas que en el contenido).
300
250
Porcentaje de mejora
200
150
100
50
0
Pentium 166 Pentium MMX 200 Pentium Pro 200 Pentium II 233 Pentium II 266
VELOCIDAD RESPECTO A UN EQUIPO CON PENTIUM 100
3. Queremos analizar el rendimiento de un computador de 100 MHz. que tiene
instrucciones simples, normales y complejas, cada una con un CPI distinto
segun se muestra en la tabla. Para ello, se utiliza un programa compilado en
dos compiladores distintos que generan codigos objeto con diferente numero
y tipo de instrucciones, (ver tabla). > Que version compilada del programa
produce un mayor rendimiento atendiendo a los MIPS? >Y atendiendo al
tiempo de CPU?
Tipo de instruccion CPI Millones de instrucciones
Compilador 1 Compilador 2
Simple 1 5 10
Normal 2 1 1
Compleja 3 1 1
12 Captulo 1. Analisis del rendimiento
12. Se desea mejorar el rendimiento de un PC. Para ello tenemos dos opciones:
(a) Ampliar la memoria RAM, con lo que se consigue que el 80% de los
programas vayan 1.75 veces mas rapido.
(b) Introducir un disco duro mayor, con lo que el 60% de los programas
realizan su tarea en la tercera parte del tiempo original.
A igualdad de precio, > Cual de las dos mejoras aconsejaras ?