| |
|
|
| |
-
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.
 |
|
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
|
|
|
|