martes, 24 de septiembre de 2013

Factores de rendimiento del CPU

Los factores de rendimiento  del CPU.

La CPU (Central Processing Unit - Unidad de procesamiento central) es un chip que realiza prácticamente todos los cálculos dentro de un sistema informático. La "velocidad" de una CPU está determinada por tres factores. 
  1. La frecuencia de la CPU es el número de ciclos que puede realizar en un segundo. Mientras mayor sea este valor, más rápido se desempeñará la CPU en comparación a los miembros de su propia familia de procesamiento.
  2. La memoria caché es la cantidad de memoria disponible dentro del chip para que un procesador almacene instrucciones de ejecución y datos actuales. Mientras mayor sea este valor dentro de un procesador, menor será el tiempo de espera para que la información sea accesible desde la memoria principal del sistema.
  3.  Por último, la cantidad de núcleos de una CPU es el número de núcleos de procesamiento disponibles para que un procesador realice tareas. Mientras mayor sea el número de núcleos físicos que tenga un procesador, más tareas se podrán ejecutar de forma simultánea. Esto reduce el retraso del programa y permite que las operaciones complejas se dividan en tareas más pequeñas.
Los principales factores que influyen en el rendimiento del procesador de un ordenador son:
a) Velocidad del reloj:  se mide en Mhz (millones de ciclos por segundo).
b) Arquitectura: en la arquitectura de un ordenador intervienen dos cosas, por un lado, la capacidad de realizar tareas a la vez y, por otro, la longitud de palabra (número de bits en cada golpe).
c) Número de procesadores: dependiendo del número de procesadores de un ordenador éste podrá realizar varias tareas simultáneamente o en paralelo. En el mercado nos podemos encontrar con procesadores multiproceso, multicore (dual core o quad core), mutlhilo (multihreading o hyperthreading).

Los Benchmark.

Es un conjunto de procedimientos (programas de computación) para evaluar el rendimiento de un ordenador. Hay cuatro categorías generales de pruebas de comparación :

  • Pruebas aplicaciones-base (application-based) las ejecuta y las cronometra.
  • Pruebas playback (playback test), las cuales usan llamadas al sistema durante actividades especificas de una aplicación(Ej.: Llamados a gráficos o uso del disco) y las ejecuta aisladamente.
  • Prueba sintética (synthetic test) , la cual enlaza actividades de la aplicación en subsistemas específicos.
  • Prueba de inspección (inspection tests), la cual no intenta imitar la actividad de la aplicación, sino que las ejecuta directamente en los subsistemas específicos.

Es una aplicación destinada a medir el rendimiento de un ordenador o de algún elemento del mismo. Para ello se somete a la máquina a una serie de cargas de trabajo o estímulos de distinto tipo con la intención de medir su respuesta ante ellos. De esta forma se puede estimar bajo qué tareas o estímulos un determinado ordenador se comporta de una manera fiable y efectiva o por el contrario se muestra ineficiente.

Esta información es muy útil a la hora de seleccionar una máquina para realizar tareas determinadas en el proceso de postproducción y creación del producto audiovisual, pudiendo elegir la mas adecuada para un proceso determinado.
El benchmark también es útil para estimar el nivel de obsolescencia de un sistema o en qué aspectos técnicos puede ser mejorado su rendimiento, por medio de actualizaciones.
Por otro lado el benchmark puede facilitarnos todas las especificaciones técnicas de un ordenador junto con su rendimiento ante los diferentes estímulos lo que permite realizar comparativas entre diferentes sistemas atendiendo a sus especificaciones técnicas y su rendimiento. Las comparativas son útiles para determinar que características técnicas son las idóneas para conseguir un rendimiento óptimo en una tarea específica. 

Ley de Amdahl.

El aumento de rendimiento que puede obtenerse al mejorar alguna parte de una computadora puede calcularse utilizando la Ley de Amdahl. 

La Ley de Amdahl establece que la mejora obtenida en el rendimiento al utilizar algún modo de ejecución más rápido está limitada por la fracción de tiempo que se pueda utilizar ese modo más rápido. 
La Ley de Amdahl define la ganancia de rendimiento o aceleración (speedup) que puede lograrse al utilizar una característica particular. 
Supongamos que podemos hacer una mejora en una máquina que cuando se utilice aumente su rendimiento. La aceleración es la relación:
Alternativamente



La aceleración nos indica la rapidez con que se realizará una tarea utilizando una máquina con la mejora con respecto a la máquina original. La Ley de Amdahl nos da una forma rápida de calcular la aceleración, que depende de dos factores:
  1. La fracción del tiempo de cálculo de la máquina original que pueda utilizarse para aprovechar la mejora. Por el ejemplo, si 20 segundos del tiempo de ejecución puede utilizar la mejora de un programa que toma 60 segundos en total, la fracción es 20 /60. Este valor, que se llama Fracción mejorada, es siempre menor o igual que 1.
  2. La optimización lograda por el modo de ejecución mejorado; es decir, cuánto más rápido con la que se ejecutaría la tarea si solamente se utilizase el modo mejorado. Este valor es el tiempo del modo original con respecto al tiempo del modo mejorado. Si el modo mejorado toma 2 segundos para alguna porción de programa que puede usar el modo completamente mientras que el modo original tomaba 5 segundos para la misma porción de programa, la mejora es 5/2. Este valor es siempre mayor que 1 y se llama Aceleración mejorada.

El tiempo de ejecución utilizando la máquina original con el modo mejorado será el tiempo empleado utilizando la parte no mejorada de la máquina más el tiempo empleado utilizando la parte mejorada.



jueves, 12 de septiembre de 2013

Tiempo de respuesta de un Procesador.


Mide el tiempo desde que un proceso entra en el estado de preparado (porque se crea o porque se desbloquea) hasta que entra en ejecución. Sólo tiene sentido en sistemas interactivos. Lo denotaremos tr.

Productividad de un Procesador.

En lo que respecta a la gestión de procesos, mide el número de programas que 
se ejecutan por unidad de tiempo. Incluye otras muchas características que afectan el rendimiento del sistema, como por ejemplo la velocidad del procesador, que habrá que compensar si se comparan máquinas con distinto hardware. 
El tiempo que tarda un programa en ser ejecutado por un computador puede ser difícil de 
medir, debido a los Sistemas Operativos Multitarea y a los dispositivos de E/S, que tienen tiempos 
de respuesta que son independientes de la frecuencia de reloj del ordenador. Por ello es necesario 
diferenciar entre el tiempo que tarda una CPU en ejecutar el código de un programa, el tiempo que 
utiliza el S.O. para realizar sus tareas, y el tiempo necesario para acceder a los dispositivos de E/S. 
El tiempo de ejecución de un programa lo dividiremos en las siguientes componentes: 
• Tiempo de respuesta 
• Tiempo de CPU 
A su vez, el tiempo de CPU lo dividimos en: 
• Tiempo de CPU utilizado por el usuario. 
• Tiempo de CPU utilizado por el S.O. 
Tiempo de respuesta Es el tiempo necesario para completar una tarea, incluyendo los accesos 
al disco, a la memoria, las actividades de E/S y los gastos del S.O. Es el tiempo que percibe el 
usuario. 
Tiempo de CPU Es el tiempo que tarda en ejecutarse un programa, sin tener en cuenta el 
tiempo de espera debido a la E/S o el tiempo utilizado para ejecutar otros programas. Se divide 
en: 
Tiempo de CPU utilizado por el usuario. Es el tiempo que la CPU utiliza para ejecutar el 
programa del usuario. No se tiene en cuenta el tiempo de espera debido a la E/S o el tiempo 
utilizado para ejecutar otros programas 
Tiempo de CPU utilizado por el S.O. Es el tiempo que el S.O. emplea para realizar su 
gestión interna.

Rendimiento relativo de un Procesador.

Como rendimiento y tiempo de ejecución son recíprocos, incrementar el rendimiento hace 
decrecer el tiempo de ejecución. Para evitar confusiones entre los términos «incrementar» y 
«decrementar», habitualmente se dice «mejorar el rendimiento» o «mejorar el tiempo de 
ejecución» para hacer referencia a un incremento del rendimiento y una disminución del 
tiempo de ejecución.

Tiempo y reloj de un Procesador.

Un chip utiliza un reloj de impulsos eléctricos para ejecutar o procesar las instrucciones que le llegan. Es decir, todos los elementos del chip permanecen en reposo a la espera del impulso de reloj, para ejecutar la operación que corresponde en cada momento. De esta forma las operaciones se realizan sincrónicamente, es decir, de forma ordenada y ningún dispositivo se anticipa a otro.Según esto, mientras mayor sea la velocidad de reloj que admita el micro, mayor será la velocidad en la ejecución de las operaciones. Por lo tanto junto al juego de instrucciones, que mide la potencia del microprocesador, es importante también considerar la frecuencia de reloj.

Ciclos de reloj de un Procesador.

El microprocesador se conecta a un circuito, normalmente basado en un cristal de cuarzo, capaz de generar pulsos a un ritmo constante, de modo que genera varios ciclos (o pulsos) en un segundo. Este reloj, en la actualidad, genera miles de MHz. El reloj es la señal utilizada para sincronizar las cosas dentro de una computadora. Todos los tiempos se miden en términos de ciclos. Por ejemplo, una memoria con una latencia de 5, significa que ésta tardará cinco ciclos completos para comenzar a entregar los datos.
Dentro de un micro. Todas las instrucciones demoran un cierto número de ciclos para ejecutarse. Por ejemplo, dada una instrucción puede demorarse siete ciclos para ejecutarse. Sin importar el micro, lo interesante es que el procesador sabe cuántos ciclos tomará cada instrucción (ROM con microcódigo). Así, si éste tiene dos instrucciones a ejecutar y sabe que la primera demorará siete ciclos, éste automáticamente comenzará la ejecución de la próxima instrucción en el octavo ciclo.


Procesadores i7

Es una familia de procesadores de ocho núcleos de la arquitectura Intelx86-64, lanzados al comercio en 2003. Los Core i7 son los primeros procesadores que usan la microarquitectura Nehalem de Intel y es el sucesor de la familia Intel es una familia de procesadores de ocho núcleos de la arquitectura Intel x86-64, lanzados al comercio en 2003. Los Core i7 son los primeros procesadores que usan la microarquitectura Nehalem de Intel y es el sucesor de la familia Intel Core 2. El identificador Core i7 se aplica a la familia inicial de procesadores1 2 con el nombre clave Bloomfield.3
Las memorias y placas base aptas para Core i7 serán vendidos antes del lanzamiento por algunos proveedores. El identificador Core i7 se aplica a la familia inicial de procesadores con el nombre clave Bloomfield.

Procesadores Phenom x6

Valor sin igual con varios núcleos con los procesadores AMD Phenom™ II. Proporcionan Ultimate Visual Experience™ para un entretenimiento de alta definición, un rendimiento multitarea avanzado e innovaciones en el ahorro de energía que permiten equipos más pequeños y fríos, y con mayor eficiencia energética.