viernes, 20 de diciembre de 2013

Procesador funcionalidad con los programas

¿Qué es un programa?
Un programa como por ejemplo el Office, el Windows, el Quake, Unreal etc... no es nada más que un conjunto de instrucciones puestas una detrás de otra que operan sobre un conjunto de datos.
¿Qué es una instrucción?
Una instrucción es una orden que indica al procesador que debe hacer con los datos que tiene (o están en memoria). Por lo tanto queda claro que un procesador es un chip que está todo el rato ejecutando instrucciones, que a su vez forman programas.
¿Cómo funciona?
Un procesador recibe instrucciones y datos de la memoria para ser ejecutados (se entiende por ejecutar una instrucción el hecho de buscar los datos y llevar a cabo la orden de la instrucción. Por ejemplo, si se trata de una suma, realizarla).
Las partes de un procesador se pueden clasificar en dos grandes grupos, la unidad de control y las unidades de proceso. La unidad de control es la encargada de supervisar que las instrucciones se ejecuten correctamente mientras que las unidades de proceso son las encargadas de realizar las operaciones propiamente dichas.
La cantidad y calidad de unidades de proceso disponibles en un procesador marcan claramente la velocidad del mismo. Una de las unidades de proceso más importantes para un jugador de Quake es la unidad de proceso de números en punto flotante (FPU, floating point unit) (números con decimales) ya que un juego de este tipo requiere de muchos cálculos geométricos que incorporan bastantes decimales.
Vale la pena destacar que cada una de estas unidades de proceso puede estar o no segmentada. Por ejemplo las FPU’s de los K6-II y K6-III no estaban segmentadas y aunque tenían menos fases que la FPU de un Celeron/PentiumI II rendían menos. AMD siempre ha sido criticada por tener FPUs débiles pero ahora con el Athlon se ha desmarcado construyendo una FPU segmentada de las más potentes del mercado.
Un Pentium III tiene 2 unidades de proceso de números enteros, 2 unidades de proceso de instrucciones SSE y MMX, y una unidad de proceso de números en punto flotante. Un AMD Athlon tiene 3 unidades de proceso de números enteros, 2 unidades de MMX y 3DNow y una unidad de proceso de números en punto flotante. La calidad de las mismas es bastante diferente ya que la unidad de punto flotante del Athlon es muy superior a la del Pentium III. Es obvio pues que los dos son escalares.
Otro aspecto muy importante es el formato de las instrucciones. Existen dos grandes familias de formatos de instrucciones que siguen filosofías distintas, el formato RISC y el formato CISC.
· RISC: Las máquinas RISC siguen la filosofía de instrucciones cortas y de tamaño fijo. Las ventajas de esta familia es que se tarda muy poco en llevar a cabo una instrucción. El problema es que los programas requieren muchas instrucciones y por lo tanto tienen un tamaño considerable.
· CISC: Las máquinas CISC siguen la filosofía de instrucciones de tamaño variable (según los operandos que necesiten), una misma instrucción puede llevar a cabo varias funciones. La ventaja de esta familia es que una instrucción hace muchas cosas, el problema es que se tarda mucho en procesar una instrucción.
Intel con su gama de procesadores Pentium sigue una filosofía CISC, AMD con su procesador Athlon sigue una filosofía RISC. ¿Cómo puede ser esto posible si los dos procesadores tienen las mismas instrucciones? Esto es posible ya que el procesador Athlon traduce las instrucciones CISC a varias instrucciones RISC. El tiempo perdido en esta conversión se gana después al ejecutar más rápido su código interno, es obvio que sería mucho mejor que los programas estuvieran escritos directamente en código RISC pero esto no es viable por razones de compatibilidad.

Pentium III
El procesador Pentium III es el más moderno que Intel comercializa para ordenadores de sobremesa, aunque dentro de poco llegara la versión IV. A continuación veremos en detalle su arquitectura:

· UGD significa Unidad de Generación de Direcciones (direcciones de memoria que usan las instrucciones).
· STORE significa que la instrucción guarda datos en memoria. un LOAD significa que los trae de memoria.
· IEU significa unidad de ejecución de enteros.
Athlon

Como se puede observar a simple vista la arquitectura de estos dos procesadores es muy distinta, es por ello que a la misma velocidad de reloj se obtienen resultados muy diferentes. También se debe destacar que cada arquitectura favorece a diferentes programas, o dicho de otro modo, los programas de ordenador se ejecutan más rápidos sobre la arquitectura para la que fueron pensados. Los benchmarks o programas de testeo de hardware deben ser neutrales en este aspecto y no favorecer a ninguna arquitectura en particular. Otro punto muy importante es el tema de los drivers. Al ser los programas que más directamente actúan sobre el hardware, deben estar optimizados al máximo para cualquier arquitectura y aprovechar todos sus recursos. Por ejemplo, los drivers de la Voodoo5 deberían detectar correctamente la presencia de unidades 3DNow y utilizarlas.
referencia
http://foro.sabiosdelpc.net/threads/conoce-%C2%BFc%C3%B3mo-funciona-un-procesador.1711/

No hay comentarios:

Publicar un comentario