sábado, 16 de octubre de 2010

EL PROCESADOR, AUTENTICO CORAZÓN DEL ORDENADOR

El procesador  determina la capacidad del PC


A la CPU de los ordenadores se la suele llamar coloquialmente «el corazón» del sistema. Esta metáfora, con todo lo imprecisa que pueda ser, refleja bastante bien la misión de los procesadores
La forma en la que se organiza hoy un ordenador es esencialmente la misma que la pensada hace varias décadas por Von Neumann, que propuso una forma de organizar los datos y los programas conjuntamente en el mismo espacio de memoria (arquitectura Von Neumann). Eso sí, en los años 70 se encontró un problema de rendimiento que hizo que la modificase para dar lugar a la arquitectura Hardvard y más tarde a la Hardvard Modificada, que contempla el uso de memorias caché para eliminar el cuello de botella de la idea original.
Así pues, se tiene un programa y unos datos almacenados en memoria. También tenemos un procesador que va leyendo secuencialmente las instrucciones del programa y los datos con los que operan estas instrucciones, almacenando los resultados de las operaciones en caso necesario y «encargando» a los distintos sistemas de hardware que «hagan cosas» según corresponda a los sistemas de entrada/salida.
Por ejemplo, que muestren en pantalla un mensaje (sistema de vídeo), que se reproduzca un sonido (sistema de audio), etc. La memoria donde el procesador accede para leer y escribir las instrucciones y los datostiene que ser muy rápida, y para ello se desarrolló la memoria RAM, aunque es cara y volátil, de modo que no sirve para almacenarlos de forma permanente. Para ello, se usan sistemas de almacenamiento masivo, como los discos duros. Lo que hace el sistema es cargar los programas y los datos que se necesiten, descargándolos cuando no se precisen para liberar espacio. La memoria caché es una memoria ultrarrápida y cara donde se almacenan los datos y las instrucciones que se vayan a usar de manera inminente.
El chipset
Estamos ante otro componente de los ordenadores actuales que no puede obviarse. Tradicionalmente, el chipset se encargaba de poner en comunicación el procesador con la memoria y los subsistemas de entrada/salida, arbitrando el tráfico de datos a través del bus del sistema. Este bus, sin embargo, se ha convertido en un cuello de botella y se ha ido sustituyendo por otras tecnologías.
Así, AMD lleva el controlador de memoria a la CPU con HyperTransport; lo mismo que Intel, que además pasa del bus del sistema a QPI (Quick Path Interconnect) o DMI (Direct Media Interface). Intel en sus últimosCore i3/i5 ha integrado el procesador gráfico en la CPU, abriendo el camino hacia sistemas con un nivel de integración elevado, donde apenas hacen falta dos chips para construir un equipo completo. AMD diversifica menos sus chipsets, con una plataforma de referencia compuesta por procesador, chipset y sistema gráfico, aprovechando la tecnología adquirida a ATI. La familia más reciente de chipsets de AMD es la 8xx, con variantes que incluyen gráficos integrados con tecnología DX10.1, así como otros que ya incorporan SATA 6 Gbps.
Zócalos y procesadores
La compatibilidad de un procesador con una placa base viene determinada sobre todo por el zócalo. Con cada cambio de arquitectura, se corre el riesgo de afrontar un cambio de zócalo, que a su vez hace que un procesador no pueda usarse con una placa base que ya se tenga en propiedad. AMD se ha mantenido más conservadora que Intel en este campo. La variación más relevante fue la introducción del zócalo AM3, evolución del AM2+. Los procesadores AM3 se pueden instalar en una placa AM2+ actualizando su BIOS, pero los procesadores AM2+ no se pueden instalar en una placa AM3 debido a que el controlador de memoria no es compatible con DDR3. Los AM2 se pueden instalar en los zócalos AM2+.
La BIOS es la segunda variable que interviene en la compatibilidad de procesadores con las placas base. Así, un modelo nuevo de procesador, cuando se instala en una placa base con un zócalo compatible, como norma general precisa de una actualización previa de la BIOS de la placa para que sea reconocido correctamente por el sistema.
Intel ha pasado del zócalo LGA775 de 775 pines a los 1.366 de los procesadores Nehalem Bloomfield y Gulftown o a los 1.156 de los Lynnfield y Clarkdale. El aumento de pines entre el zócalo LGA775 propio de los Core, y los 1.366 o 1156 de los Core i3/i5/
El papel que juega la CPU
La misión del procesador es la de ejecutar las instrucciones de las que se compone un programa. Todo en un ordenador son programas: desde el sistema operativo, hasta un juego o un navegador de Internet. El ritmoal que se procesan estas instrucciones viene dado por el reloj del sistema y se mide en unidades de frecuencia: hercios por segundo o, para facilitar su escritura, en millones de hercios por segundo. En los procesadores más rápidos, se utilizan ya los gigahercios.
La forma de operar de un procesador es esencialmente secuencial. Además, es necesario que los programas estén escritos en un lenguaje que sea totalmente «entendible» por la CPU. Los programas escritos en lenguajes de alto nivel se «compilan» para convertirlos en instrucciones compatibles con la arquitectura del procesador. En los PCs y el mundo Windows/Mac, se trata de arquitecturas X86 y X86-64. De todos modos, a pesar de ser un proceso secuencial, Intel y AMD han conseguido desarrollar tecnologías que consiguen que en cada ciclo de reloj se procese más de una instrucción.
Es posible analizar las secuencias de instrucciones y procesar «por adelantado» ciertas secuencias de código a modo de predicción. Generalmente, se acierta y se consigue que la pipeline de procesamiento esté constantemente ocupada. En algunos casos, sin embargo, la predicción es errónea y la penalización es invertir algunos ciclos de reloj vaciando la pipeline.
Otro recurso más reciente es aprovechar la multitarea de los sistemas operativos actuales o las propiedades multihilo de los programas, de modo que se puede distribuir el trabajo entre distintos procesadores en sistemas multiprocesador o entre los distintos núcleos integrados en una única CPU.
Los procesadores multinúcleo son la norma general en estos tiempos, ya sean físicos o «virtuales», como en el caso de los procesadores Intel con tecnología Multi-Threading. Los más recientes procesadores de Intel y AMD integran seis núcleos físicos, que, en el caso de Intel, pasan a ser 12 al aplicar esta tecnología.
Glosario
• Compilador: Software que se encarga de traducir los lenguajes de alto nivel en instrucciones de bajo nivel «entendibles» con el hardware de los ordenadores. Generalmente, generan instrucciones compatibles con arquitecturas X86 y X86-64. Tanto Intel como AMD disponen de compiladores optimizados para sus arquitecturas correspondientes, con juegos adicionales y propietarios que aceleran ciertas operaciones binarias.
• In Order vs Out of order: Las arquitecturas de procesadores han sido en las últimas generaciones de Intel y AMD de tipo out of order. A costa de aumentar la complejidad de diseño, se pueden procesar varias instrucciones por cada ciclo de reloj. Sin embargo, en los Atom de Intel, se ha vuelto a in order, donde no es posible usar algoritmos de predicción ni «adelantar» la ejecución de instrucciones fuera de su orden secuencial. Gracias a eso, el número de transistores es reducido y el consumo, comedido.
• Pipeline: Conjunto de etapas que conforman la secuencia de ejecución de código en una CPU. Un mayor número de etapas supone poder hacer más cosas a la vez, pero también «trocear» las instrucciones en tareas más simples que requieren a su vez una mayor velocidad de reloj.
• TDP (Thermal Design Power): Es el valor máximo para el consumo de los procesadores. En unos casos, se trata de la potencia calculada a partir de los valores de corriente consumidos, con un voltaje estándar y ciertas condiciones ambientales; en otros, del valor de disispación exigido para el sistema de refrigeración. Define una potencia disipada o consumida por el micro con máxima carga de trabajo.

No hay comentarios: