Profesorado en Computacin ! Tecnicatura en Inform"tica Arquitectura del Procesador II El Papel del Rendimiento Buadas, Guillermo S. AO 2010 1.- El principal problema que se presenta al intentar medir el rendimiento de una computadora est dado por el punto de ista del usuario, es decir que di!erentes aspectos pueden determinar di!erentes medidas de rendimiento, " a partir de estos anali#ar cuales ser$an los resultados ms si%ni!icatios para determinar el rendimiento %lobal. &or e'emplo, medir el rendimiento de elocidad de un procesador puede (acerse midiendo el tiempo de e'ecuci)n de un pro%rama, " adems puede ser de!inido de di!erentes maneras* +iempo de ,&- del usuario, " +iempo de ,&- del sistema. &or lo tanto debemos distin%uir entre tiempo transcurrido " tiempo de e'ecuci)n del ,&-. &or otro lado podemos medir el rendimiento de una computadora teniendo en cuenta la productiidad, "a que optimi#ando la productiidad puede me'orar el tiempo de respuesta. 2.- .a relaci)n /endimiento 0 112+iempo de e'ecuci)n de 0 indica que el rendimiento de un computador " el tiempo de e'ecuci)n del mismo son rec$procos3 es decir que aumentar el rendimiento de un computador implica reducir el tiempo en que 4ste e'ecuta los pro%ramas. 5.- /endimiento 0 1 +iempo de E'ecuci)n " 1 n /endimiento " 1 +iempo de E'ecuci)n 0 -sando esta ecuaci)n podemos establecer una relaci)n entre el rendimiento del ,&- 0 " el ,&- "3 para determinar un 6alor 7n8, que indica cuantas eces es ms rpido un procesador en comparaci)n del otro. 9.- En un sistema de tiempo compartido se pretende traba'ar con arios procesos que se e'ecutarn simultneamente, en este caso para me'orar el rendimiento debemos intentar optimi#ar la productiidad ms que tratar de reducir el tiempo de e'ecuci)n de un pro%rama en concreto. As$ podremos di!erenciar entre medir el rendimiento desde el punto de ista de la elocidad de e'ecuci)n de un pro%rama espec$!ico, " medir el rendimiento en base a la productiidad como por e'emplo el caso del sistema de tiempo compartido. E'emplo* &odemos aumentar el rendimiento de un sistema de tiempo compartido usando m:ltiples procesadores para e'ecutar di!erentes tareas, " as$ optimi#ar la productiidad, o utili#ar un procesador de ersi)n ms rpida que permita e'ecutar una tarea en el menor tiempo, " as$ aumentar la elocidad de e'ecuci)n de los procesos. ;.- El ,iclo de relo' requerido por un pro%rama se calcula con* ,iclos de /elo' de ,&-1 <nstrucciones de un pro%rama 0 =edia de ,iclos por <nstrucci)n >,&<? @.- ,&< >ciclos por instrucci)n? es el n:mero medio de ciclos de relo' que una instrucci)n necesita para e'ecutarse. ,omo instrucciones di!erentes podr$an necesitar di!erentes cantidades de ciclos dependiendo de los que (acen, el ,&< es una media de todas las instrucciones e'ecutadas por el pro%rama. Se utili#a para comparar dos reali#aciones distintas, con el mismo set de instrucciones, siempre que el n:mero de instrucciones requeridas por el pro%rama sea la misma. El e'emplo 2.9. isto en clase anali#a dos reali#aciones de la misma arquitectura de set de instrucciones, donde la maquina A tiene un ciclo de relo' de 1 ns " un ,&< de 2,0 para el pro%rama concreto mientras que la maquina B tiene un tiempo de ciclo de 2 ns " un ,&< de 1,2 para el mismo pro%rama. Entonces calculamos* ,iclos de relo' de ,&- 1 <nstrucciones 0 ,&< ,&- A 1 < 0 2,0 ,&- B 1 < 0 1,2 .ue%o calculamos* +iempo de E'ecuci)n para =aq. A 1 ,iclos de /elo' de ,&- 0 tiempo de ciclo 1 < 0 2,0 0 1 ns 1 2 0 < ns +iempo de E'ecuci)n para =aq. B 1 ,iclos de /elo' de ,&- 0 tiempo de ciclo 1 < 0 1,2 0 2 ns 1 2,9 0 < ns ,oncluimos que la =aq. A es ms rpida. .a si%uiente relaci)n nos indica la di!erencia entre los tiempos de e'ecuci)n* /endimiento ,&- A 1 +iempo de E'ecuci)n B 1 2,9 0 < ns 1 1,2 /endimiento ,&- B 1 +iempo de E'ecuci)n A 1 2 0 < ns .a mquina A es 1,2 eces ms rpida que la mquina B. E'emplo propuesto* Aos reali#aciones con la misma arquitectura de instrucciones para e'ecutar un se%mento de pro%rama. .a =q. A lo e'ecuta en 1900 ns " la mquina B lo e'ecuta en 1000 ns. ,ul reali#aci)n e'ecuta el pro%rama ms rpido, " cuanto ms rpidoB &odemos decir que anali#ando el enunciado podemos determinar que la mquina B es ms rpida "a que e'ecuta el se%mento de pro%rama en menos tiempo de ,&- que la mquina A. C 1 +iempo de E'ecuci)n A 1 1900 ns 1 1,9 +iempo de E'ecuci)n B 1 1000 ns .a mquina B es 1,9 eces ms rpida que la mquina A. D.- En la Ei%. 2.2 podemos obserar los componentes bsicos del rendimiento " como se miden cada uno de ellos* El tiempo de e'ecuci)n de ,&- se mide en se%undos por pro%rama >o en una medida equialente, podemos utili#ar nano se%undos?3 la cantidad de instrucciones de un pro%rama est dada por el n:mero de instrucciones que requieren ser e'ecutadas3 el ,&< es un alor que indica la media de ciclos por se%undo3 el tiempo de ciclo del relo' se mide en se%undos por ciclo de relo'. F.- El e'emplo 2.; anali#ado en clase, intenta decidir entre dos secuencias de c)di%o de pro%rama para una mquina en particular, con dos diseGos de circuiter$a distintos. +res clases de instrucciones* A con un ,&< de 1, B con un ,&< de 2, " , con un ,&< de 5. +otal de <nstrucciones por clase* para la secuencia de c)di%o 1 tenemos* A12, B11, ,12 para la secuencia de c)di%o 2 tenemos* A19, B11, ,11 Anali#aremos que secuencia de c)di%o e'ecuta el ma"or n:mero de instrucciones, cul ser ms rpida, " calcularemos el ,&< para cada secuencia. Secuencia 1 e'ecuta1 2H1H21 ; instrucciones. .a secuencia 2 e'ecuta19H1H11 @ instrucciones. &or lo tanto la secuencia 2 e'ecuta el ma"or n:mero de instrucciones. -samos la ecuaci)n para ciclos de relo' de ,&- basada en la cantidad de instrucciones " el ,&< para encontrar el n:mero total de ciclos para cada secuencia. ,iclos de relo' de ,&- 11 201 H 102 H 205 1 2H2H@ 1 10 ciclos. ,iclos de relo' de ,&- 21 901 H 102 H 105 1 9H2H5 1 I ciclos. &or lo tanto la secuencia 2 es ms rpida "a que e'ecuta ma"or n:mero de instrucciones en menos ciclos. ,alculamos el ,&<* ,&< 1 1 ,iclos de relo' de ,&- 1 10 1 2 <nstrucciones 1 ; ,&< 2 1 ,iclos de relo' de ,&- 1 I 1 1,; <nstrucciones 1 @ ,uando se comparan dos mquinas para ealuar el rendimiento se deben considerar los di!erentes componentes, los cuales se combinan para !ormar el tiempo de e'ecuci)n. .a cantidad de instrucciones, teniendo en cuenta si e0isten di!erentes clases, "a que entonces tendremos di!erentes alores de ,&<, " los ciclos de relo' de ,&-, para poder calcular el tiempo de e'ecuci)n de cada mquina. E'emplo propuesto* ,omparaci)n de se%mentos de c)di%o* Se%mento de c)di%o 1* total de instrucciones* 12 >D de clase A, " ; clase B? Se%mento de c)di%o 2* total de instrucciones* 19 >12 de clase A, " 2 clase B? ,&< para cada ,lase* A 1 1, B 1 2,23 ,alculamos* ,iclos de relo' de la ,&- 1 1 D01 H ;02,2 1 1F ciclos ,iclos de relo' de la ,&- 2 1 1201 H 202,2 1 1@,9 ciclos ,alculamos los alores de ,&<* ,&< 1 ,iclos de /elo' de ,&- <nstrucciones ,&< 11 1F 1 1,; 12 ,&< 21 1@.9 1 1,2 19 I.- .os pro%ramas de prueba son espec$!icamente esco%idos para medir el rendimiento del pro%rama a ealuar, estos !orman una car%a con la que el usuario espera predecir el rendimiento de la car%a real del pro%rama.>pa%ina @0 J 2.9? 10.-Se obtuieron al aplicar una t4cnica de optimi#aci)n llamada blocKin%, el cual el compilador usa para trans!ormar el c)di%o disminu"endo sustancialmente el numero de accesos a memoria de tal manera que los bucles mas internos pasan de tener una tasa de !allos en cac(e alta a tenerla casi insi%ni!icante. 11.-Apartado 2.; - ,omparaci)n " resumen del rendimiento* Seleccionando dos pro%ramas A " B >!i%ura 2.;? al medir el tiempo de respuesta o la productiidad, usando nuestra de!inici)n de rapide#, se puede (acer las si%uientes a!irmaciones para las medidas de los pro%ramas* A es 10 eces mas rpido que B para el pro%rama 1 B es 10 eces mas rpido que A para el pro%rama 2 Estas a!irmaciones son ciertas, pero en con'unto presentan una idea con!usa sobre el rendimiento relatio de los computadores. Apartado 2.@ J ,asos /eales* .os pro%ramas de prueba S&E,I; " el rendimiento de procesadores actuales* .os spec !ueron creados para me'orar la medici)n " presentaci)n del rendimiento de la cpu, usando pro%ramas de pruebas mas realistas " mas controlado. .a ersi)n del specI; que consta de 10 pro%ramas de coma !lotante " F enteros, el cual eal:a el tiempo de e'ecuci)n de una pc. 12.- ,omo los spec requieren que los pro%ramas de prueba sean e'ecutados sobre una circuiteria real " el sistema de memoria ten%a un e!ecto importante sobre el rendimiento, pueden producir di!erentes nieles de rendimiento para los pro%ramas de prueba de los spec.>pa%ina @D?