- PC - Unidad Central de Procesamiento (CPU) -

La CPU (Central Processing Unit) o Unidad Central de Procesamiento es el aditamento donde se ejecutan las instrucciones de los programas y se controla el funcionamiento de los distintos componentes del ordenador. Está integrada en un chip denominado procesador, el cual resulta ser el corazón de todo ordenador.

Los procesadores son productos muy complejos de alta tecnología con muchos millones de transistores sobre una superficie más pequeña que una moneda común.

Se fabrican en espacios sellados y protegidos mediante un complicado proceso de fotolitografía; después son sometidos a pruebas intensivas y finalmente son insertados en una pequeña carcasa. De esta forma pueden conectarse fácilmente a una placa base. La velocidad de trabajo de un procesador está determinada por su estructura interna y por su frecuencia. Ésta varía entre unos pocos megahercios hasta algunos gigahercios.

Dado el elevado número de transistores y el minúsculo espacio que ocupa el chip, éste puede alcanzar temperaturas muy altas. Este calor se transmite a la carcasa del procesador y desde ahí se dispersa por medio de disipadores y un ventilador. Los procesadores modernos tardarían muy poco tiempo (hasta 30 segundos) en estropearse si se utilizan sin enfriamiento.

La base de todo este desarrollo lo encontramos en un descubrimiento de los laboratorios Bell en 1948, el transistor. En 1962 ya era posible producir transistores del tamaño de un grano de arena.
La producción de circuitos integrados en 1968 posibilita la producción de procesadores. Estos componentes adoptan la forma de una pastilla de silicio, denominada comúnmente como Chip. En una superficie de pocos centímetros cuadrados es posible encontrar más de un millón de transistores.

Uno de los productores más destacados de procesadores es la firma Intel (Integrated electronics). Ella comenzó el desarrollo de sus primeros chips en 1969, como parte de un proyecto de la Firma Busicom para la producción de cajas registradoras y equipos de cálculo programables. Producto de esos esfuerzos fue el Intel 4004, procesador que impulsó el desarrollo de este sector.

Como norma general, los procesadores de PC (Personal Computer) son completamente compatibles entre sí a nivel de software. Esto significa que un software escrito en un Pentium o Celeron de Intel puede utilizarse en un Athlon o Duron de AMD, sin que sea necesaria ningún tipo de adaptación.

Sin embargo existen diferencias en la estructura interna del procesador que cada fabricante configura de forma distinta. La intención del fabricante es utilizar las tecnologías disponibles para ir elevando la velocidad y prestaciones del procesador de generación en generación. Puesto que los fabricante sólo intercambian determinadas patentes entre ellos, cada fabricante debe utilizar su propio diseño para evitar problemas de copyright.

Para comunicarse con el resto del sistema, el procesador utiliza las líneas de comunicación a través de sus patillas (pines). Se define como encapsulado (Die-plural Dice) la forma en que se empaqueta la oblea de silicio para efectuar su conexión con el sistema.

El recubrimiento de los chips/procesadores (Processor Packaging) protege al chip y permite una sencilla conexión con la placa base. Puesto que los chips descubiertos son muy delicados, todos salen de fábrica con un recubrimiento apropiado. Por lo tanto, lo que queda a la vista es en realidad la carcasa del chip. Estos son los tipos más comunes:

DIP: Dual Inline Package
PGA: Pin Grid Array
PLCC: Plastic Leaded Chip Carrier
PPGA: Plastic Pin Grid Array
CPGA: Ceramic Pin Grid Array
OPGA: Organic Pin Grid Array
FCPGA: Flip Chip Pin Grid Array
FCPGA2: Flip Chip Pin Grid Array2
mPGA: Micro Pin Grid Array
LGA: Land Grid Array
SECC: Single Edge Contact Cartridge
SECC2: Single Edge Contact Cartridge2
SEPP: Single Edge Processor Package
MMC: Mobile Module Connector
TCP: Tape Carrier Packaging

Por estas circunstancias, cada fabricante utiliza distintos sockels, puertos y chipsets, por lo que no todos los procesadores son válidos para una determinada placa base.

La CPU tiene tres partes básicas, la unidad de control, la unidad aritmética y la memoria interna.

- La unidad de control: coordina las actividades del ordenador, ejecutando programas en forma ordenada e interactúa con las unidades de entrada y salida.
La unidad de control contiene el conjunto ó repertorio de instrucciones (ISA - Instruction Set Architecture) implementados en el procesador.
- La unidad aritmético-lógica (ALU -Aritmetic Logic Unit): se encarga de todas las operaciones aritméticas y lógicas. Su funcionamiento se basa en un conjunto de registros que hacen posible la realización de las operaciones matemáticas y lógicas.
- La memoria interna, la cual actúa como recipiente temporal, tiene un registro y un numerador, el cual contiene la dirección del espacio donde se encuentra el comando a ejecutar.

El funcionamiento de los ordenadores modernos está determinado por cuatro unidades:
- el mecanismo de cálculo
- la unidad de control
- la memoria
- la unidad de entrada salida

Dichas unidades se encuentran conectadas a través del bus de sistema.
El procesador o CPU (Central Processing Unit) constituye el centro de todas las operaciones; ejecuta comandos (mecanismo de cálculo), así como regula y controla el transcurso de las operaciones (unidad de control).
Cada circuito puede tener dos estados: hay poca resistencia eléctrica, fluye la corriente eléctrica a través de el. El Firmware del CPU, el microcode , interpreta esto en la cifra binaria 1. Hay alta resistencia eléctrica, el transistor está abierto, no fluye electricidad. El microcode interpreta esto en la cifra binaria 0.
Todos los comandos o instrucciones que pueden ser interpretados por el CPU son codificados en un lenguaje de maquina, constituido por una serie de cifras binarias.

Diseño y procesamiento de datos
La arquitectura de los procesadores actuales, AMD64 e Intel Core, tienen mucho en común. Por ejemplo, se basan en la arquitectura x86 y utilizan grupos adicionales de comandos, como pueden ser MMX (Matriz Math Extensions ) y SSE (Streaming SIMD (Single Instruction, Multiple Data) Extensions). Esto explica porque Intel (Integrated electronics) y AMD (Advanced Micro Devices), desde 1976, se conceden licencias constantemente. Independientemente, existen diferencias en diseño y en procesamiento interno de datos.

Construcción
A diferencia de Intel, AMD integró su controlador de memoria en el procesador, lo que hace innecesario el conocido Chipset Northbridge. Con esto, los procesadores AMD, pueden intercambiar datos con la memoria a mayor velocidad y con más eficiencia, dado que producto de la cercanía de los componentes, se acorta la distancia de los canales de comunicación y con esto, los ciclos de espera (Latencia) en el acceso a la memoria.

Por su parte Intel, en su Arquitectura Core, compensa esta desventaja con una doble buffer. Los núcleos dobles de sus procesadores cuentan con L2 Clache de hasta 4 MB. Aquí se hace notar lo progresiva de su técnica constructiva.

La segunda diferencia importante entre ambos es que los procesadores AMD no se comunican con el resto de los componentes Hardware del ordenador a través del FSB (Front Side Bus), sino a través del Bus serial Hypertransport. Este logra mayor velocidad ya que trabaja bidireccionalmente y es de fácil sincronización. Esta estrategia resulta particularmente interesante en sistemas con múltiples procesadores. Un ejemplo: El procesador para servidores Opteron tiene tres interfaces de Hypertranport independientes entre si, sobre los cuales puede intercambiar datos con los restantes procesadores, con lo que puede evitar el cuello de botella que representaría el FSB.

Desde la introducción del Athlon XP, los procesadores AMD utilizan otros zócalos (actualmente el AM2 con 940 contactos, no solo por la utilización de otros protocolos de comunicación y canales de datos, sino por que no es compatible eléctrica- y mecánicamente con el zócalo 775 de Intel).

Afluencia de datos
Un rol central en la eficiencia de cálculo de los procesadores lo constituye la arquitectura en pipeline . En principio, mientras menos niveles (o saltos) existan en el retorno de la consulta definida (comandos y datos) (Fetch) hasta el deposito de los resultados en el buffer, así de eficiente calculará el procesador. Esto es producto de la forma especulativa en que trabajan los procesadores modernos, los cuales intentan, a partir de pronósticos, predecir los cálculos a efectuar. En ocasiones, esto resulta errado (stalls) y el CPU tiene que cargar nuevamente el contenido completo del pipeline.

La arquitectura AMD64 utiliza una pipeline de 12 niveles en operaciones con integer y en cálculos con coma flotante , el comando recorre 17 niveles. Aquí Intel ha tomado la delantera.
En su predecesor, el Pentium 4, un comando debía recorrer 31 niveles. En la arquitectura Core recorre solo 14.
Pipeline cortas tienen también desventajas: Pueden procesar menos instrucciones "on the fly" y la escalabilidad resulta deficiente (escalabilidad significa que con el aumento de la frecuencia, crece linealmente la velocidad de cálculo). Frecuencias altas son importantes, para que las instrucciones recorran el pipeline lo más rápido posible. Con frecuencias mayores a 3 GHz. aparece un nuevo problema: Con la disminución creciente del espacio estructural de los transistores, aumentan los escapes de corriente en frecuencias altas, lo que significa flujos eléctricos indeseados. Esto conlleva a que los transistores consuman más electricidad que la prevista, produciendo mucho más calor, con lo que aumenta el riesgo de una interrupción temporal. Por esta razón, Intel se aparto del Pentium 4.

La arquitectura de los actuales AMD64 posee un diseño de triple superescalares , lo que significa que puede procesar paralelamente, como máximo, 3 instrucciones x86 por ciclo de frecuencia. Cada núcleo posee tres Decoder , los cuales traducen las instrucciones x86 en instrucciones de extensión reducida (Micro-Ops), más fáciles de manejar. Con esto suministran estos tres "Decoder" con cuatro Schedulern interconectados, nueve unidades de ejecución. Los primeros tres Scheduler cargan hasta ocho registros cada uno para las seis unidades integer conectadas, las cuales están constituidos por tres AGU (Adress Generation Units) y tres ALU (Arithmetic Logical Units). El cuarto Scheduler almacena temporalmente 36 registros para los tres FPU (Floating Point Units).

La arquitectura Intel Core posee un diseño de cuádruple "superescalares", lo que la hace mas compleja que la AMD 64. Antes que las instrucciones se introduzcan en el "Decoder", la arquitectura Intel presenta un grupo de unidades de pronóstico, las cuales prevén los posibles datos y direcciones a emplear. Inmediatamente tras la previsión se sucede la "Macro-Ops-Fusion". Aquí resume el CPU dos Micro-Ops de tal forma que puedan correr más procesos paralelamente. La arquitectura Intel tiene cuatro Decoder (uno más que la AMD ): a los tres Decoder (como en la AMD ) se agrega una unidad compleja, la cual se ocupa con los Micro-Ops –en el caso óptimo, el procesador decodifica 5 Micro-Ops por ciclo.
La cuarta unidad Decoder es la "Decode Instruction Queue", la que abarca hasta siete Micro-Ops por ciclo. A continuación se ejecuta la Micro-Ops -Fusion, en la cual el CPU agrupa diversas Micro-Ops que encajen entre si y los administra. Solo entonces, pasan a los seis Scheduler, los cuales contienen 36 registros. Los Scheduler suministran dos AGU, tres ALU y cuatro FPU.

Procesamiento de los datos
El TLB (Traslation Lookaside Buffer) juega un rol importante en el almacenamiento de los resultados –traduce la dirección virtual de memoria en dirección física. Mientras más registros pueda almacenar temporalmente, mejor será la utilización de las unidades de ejecución. Fundamentación: Cada registro que no esté almacenado en el buffer TLB, tendrá que buscarse su dirección física en la memoria. Esto requiere de mucho tiempo y baja la cantidad de operaciones procesadas que la unidad de ejecución puede procesar por ciclo. Los datos- e instrucciones TLB del L1 Cache de datos y comandos (de 64KB) trabajan en la arquitectura AMD, con simple assoziativ y almacena 40 registros.

Intel Core, por su parte, cuenta con L1 Cache de 32 KB (la mitad) pero trabaja 8veces assoziativ y almacena 128 registros (cache de instrucciones) y 256 registros (cache de datos) respectivamente.

La L2 Cache
En la arquitectura AMD64, los TLB son 4veces Assoziativ y almacenan hasta 512 registros. El ancho de banda del L2 Cache es de 128 Bit. Según el modelo de construcción, disponen de 128 o 256 (Sempron), así como 512 o 1024 KB (Athlon 64) por núcleo.

En la arquitectura Intel, el L2 Cache trabaja 16veces assoziativ y su ancho de banda es de 256 Bit, el doble de la AMD 64.
Intel asume variantes propias en la L2 Cache: Ambos núcleos comparten dinámicamente el L2 Cache de 2048 o 4096 KB. Comparado con la arquitectura AMD, en la cual tiene carácter exclusivo, tiene sus pro y sus contra: De esta manera, un programa que utilice uno de los núcleos podrá, cuando sea necesario, hacer uso de casi la totalidad del Cache. Por el contrario, corre un software con Multitheading , puede darse el caso que mientras exista alta demanda de L2 Cache ambos núcleos disputen por espacio en el mismo, lo que redundará en mayor latencia.

Instrucciones adicionales: 3D Now, MMX, SSE, etc.
Intel y AMD han implementado en el transcurso del tiempo grupos de instrucciones adicionales en sus procesadores, las cuales mejoran la eficiencia del CPU. Lógicamente, el incremento de la eficiencia se producirá, cuando los programas hagan uso de dichas instrucciones. No obstante (particularmente Intel) que los programadores reciben gran apoyo financiero, cuando usen los grupos de instrucciones adicionales, tarda alrededor de dos años hasta que las aplicaciones puedan sacar provecho de los nuevos grupos de instrucciones.

MMX amplia las instrucciones x86 con operaciones con integer, las cuales pueden acelerar el procesamiento de Imágenes y videos. Intel las introdujo en 1996.

Con 3D Now, AMD agregó, un año después el MMX de Intel, un grupo de instrucciones para operaciones con coma flotante, para acelerar software relacionados con gráficos en 3D, como juegos para PC.

SSE fue sacado por Intel en 1999 con el Pentium III y se ocupa en operaciones con coma flotante. Trajo nueve nuevos registros de 128 Bit, los cuales pueden procesar cuatro números con coma flotante al mismo tiempo con exactitud simple (Single Precision) –quiere esto decir, con memoria de 32 Bit para resultados parciales.
Con SSE2, Intel introdujo en el 2001, el ancho de banda 64 Bit para el Pentium 4.

En el 2001, Intel introdujo, con el SSE2, el grupo de instrucciones SIMD- coma flotante de 64 Bit. Este ayudo a la implantación de la técnica SSE. SSE2 acelera gran número de programas de música y video, por ejemplo, con algoritmos de decodificación para archivos comprimidos de formato MP3.

SSE3 está destinado a proporcionar mayor eficiencia a la técnica de Intel Hypertheading . Además, trae consigo algunas operaciones con matrices, como la "Fast Fourier Transformation", la cual acelera aplicaciones científicas. Los procesadores actuales de AMD tienen implementadas las instrucciones de todas las variantes de SSE.

previo
Imprimir..
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
próximo