You are on page 1of 47

SI bien todos los microprocesadores tienen su propio diseo interno, todos los

microprocesadores comparten un mismo concepto bsico- lo cual explicaremos en este


tutorial. Echaremos un vistazo dentro de la arquitectura de un CPU genrico, as que usted
ser capaz de entender ms acerca de Intel y productos AMD y las diferencias entre ellos.

La CPU (Unidad Central de Procesamiento)- la cual es tambin llamada microprocesador o


procesador esta se encarga del procesamiento de datos. El cmo procesar datos depender
del programa. El programa puede ser una hoja de clculo, un procesador de palabra o un
juego; para la CPU hacer esto no tiene diferencia, ya que no entiende que est haciendo
actualmente el programa principal. Estas ordenes podran ser la suma de dos nmeros o el
envo de una pieza de datos a la tarjeta de video, por ejemplo:

Cuando das doble click en un icono y corre un programa, esto es lo que pasa:

1- El programa, el cual est almacenado dentro del disco duro, es transferido a la


memoria RAAM. Un programa es una serie de instrucciones para la CPU.
2- La CPU, utilizando un circuito llama al controlador de memoria, carga los datos de
programa desde la memoria RAM.
3- Los datos, ahora dentro de la CPU, son procesados.
4- Qu pas despus depender del programa. La CPU podra continuar cargando y
ejecutando los programas o podra hacer algo con los datos procesados, como
mostrar en la pantalla algo.

Figure 1: Como son almacenados los datos y transferidos a la CPU.

En el pasado, la CPU controlaba los datos transferidos entre el disco duro y la memoria
RAM, desde el disco duro es mas lento que la memoria RAM, esto ralentizaba el
sistema, desde la CPU permaneca ocupada hasta que todos los datos eran
transferidos del disco duro a la memoria RAM. Este mtodo es llamado PIO,
Procesador Entrada/Salida o (Programado entrada/salida).
Hoy en da los datos transferidos entre el disco duro y la memoria RAM se hacen sin el
uso de la CPU, haciendo as el sistema ms rpido. Este mtodo es llamado Bus
mastering o DMA ( memoria de Acceso Directo). En orden de simplificar nuestro dibujo
no colocamos el chip north bridge entre el disco duro y la memoria RAM en la figura
1, pero este est ah.
Procesadores de AMD basado en sockets 754, 939 y 940 (Athlon 64, Athlon 64 X2,
Athlon 64 FX, Opteron y algunos modelos Sepron) tienen un controlador de memoria
incrustado.
Esto significa que para estos procesadores la CPU accede a la memoria RAM
directamente, sin uso del chip north bridge visto en la figura 1.
RELOJ
Bien, qu es el reloj? Reloj es una seal que sincroniza las cosas dentro de la
computadora. Hecha un vistazo a la figura 2, donde se observa una tpica seal de
reloj: aqu est onda cuadrada cambiando de 0 a 1 a una velocidad fija. En esta figura
puedes ver 3 ciclos de reloj completos (ticks). El principio de cada ciclo es cuando la
seal de reloj va de 0 a 1, marcamos esto con una flecha. La seal de reloj es medida
en una unidad llamada Hertz (Hz), la cual es el numero de ciclos de reloj por segundo.
Un reloj de 100 MHz significa que en un segundo hay 100 millones de ciclos de reloj.

Figura 2: Seal de reloj.


En la computadora todos los tiempos son medidos en trminos de ciclos de reloj. Por
ejemplo, una memoria RAM con un 5 de latencia significa que se retrasar 5 ciclos
completos de reloj para comenzar a entregar datos. Dentro de la CPU, todas las
instrucciones se retrasan un cierto nmero de ciclos de reloj a realizar. Por ejemplo,
una instruccin dada se puede retrasar 7 ciclo al ser completamente ejecutados.

Respecto a la CPU, lo interesante es que la CPU conoce cuntos ciclos de reloj tomar
cada instruccin a ser ejecutada y conoce que la primera instruccin se retrasar siete
ciclos de reloj, esta iniciar automticamente la ejecucin de la siguiente instruccin
en el octavo tick de reloj. Por supuesto esto es una explicacin genrica para una CPU
que una nica ejecucin unitaria- procesadores modernos tienen muchas ejecuciones
unitarias trabajando en paralelo y podran ejecutar la segunda instruccin al mico
tiempo que la primera, en paralelo. Esto es llamado arquitectura superescalar y
hablaremos ms acerca de esto, ms tarde.

Bien, Qu tiene que ver el reloj con el rendimiento? Al pensar que el reloj y
rendimiento es lo mismo es la ms comn idea equivocada acerca de los
procesadores.

Si comparas dos CPUs completamente idnticos, uno corriendo a una velocidad de


reloj ms alta ser ms rpido. En este caso, con una velocidad mayor de reloj, el
tiempo entre cada ciclo de reloj ser ms , esto va a ser ejecutado en menos tiempo y
el rendimiento ser ms alto. Pero cuando comparas dos diferentes procesadores,
esto no es necesariamente cierto.

Si obtienes 2 procesadores con diferentes arquitecuras- por ejemplo, 2 diferentes


fabricante, como Intel y AMD las cosas dentro de la CPU son completamente
diferentes.

Como mencionamos, cada instruccin toma un cierto nmero de ciclos de reloj para
ser ejecutados. Vamos a decir que el procesador A toma siete ciclos de reloj para
realizar una instruccin dada, y que el procesador B toma cinco ciclos para realizar esta
misma instruccin. Si ellas estn corriendo a la misma velocidad de reloj, el procesador
B ser ms rpido, debido a que puede procesar esta instruccin en menos tiempo.
Para CPUs modernos hay mucho ms en el juego del rendimiento, como el que las
CPUs tienen diferentes nmeros de unidades de ejecucin, diferentes tamaos de
cache, diferentes trayectorias de transferencia de datos dentro de la CPU, diferentes
formas para procesamiento de instrucciones dentro de las unidades de ejecucin,
diferentes velocidades de reloj con el mundo externo, etc. No te preocupes, nosotros
cubriremos todo eso en este tutorial.

Cuando la seal de reloj del procesador se hizo muy alta, un problema es


presentado. La motherboard donde el procesador est instalado podra no trabajar
usando la misma seal de reloj. Si observas la motherboard, vers varas pistas o
caminos. Estos caminos son cables que conectan los distintos circuitos de la
computadora. El problema es que con altas velocidades de reloj, estos cables
empiezan a trabajar como antenas, as que la seal en lugar de llegar al final de el
cable, simplemente se desvanecera, siendo transmitida como ondas de radio.

Figure 3: Los cables dentro de la motherboard pueden trabajar como antenas.

Reloj externo:
Los fabricantes iniciaron usando un nuevo concepto, llamado multiplicacin de reloj ,
la cual inicia con el procesador 486DX2. En base a este esquema, el cual es usado en
todas las CPUs hoy en da, la CPU tiene un reloj externo, el cual es usado cando se
transfieren datos desde y hacia la memoria RAM (usando el chip north bridge), y un
reloj interno ms grande.

Para dar un ejemplo real, en un Pentium 4 de 3.4GHz , estos 3.4GHz se refieren a el


reloj interno del CPU, el cual es obtenido multiplicando por 17 estos 200MHz de reloj
externo. Ilustramos este ejemplo en la figura 4.
click to enlarge
Figure 4: Internal and external clocks on a Pentium 4 3.4 GHz.

La enorme diferencia entra el reloj interno y el externo en CPUs modernas es uno de


los principales obstculos a superar en el rendimiento de las computadoras.
Continuando el ejemplo de la Pentium 4 3.4GHz, tiene una reduccin de velocidad por
17x cuando tiene que leer datos desde la memoria RAM, durante este proceso, trabaja
como si fuera un CPU de 200MHz.

Muchas tcnicas son usadas para minimizar el impacto de la diferencia de relojes. Una
de ellas es el uso de la memoria cache dentro del CPU. Otra es transferencia de ms de
un trozo de dato por ciclo. Ambos procesadores desde AMD e Intel usan esta
caracterstica , pero mientras los CPUs AMD transfieren 2 datos por ciclo de reloj, CPUs
Intel transfieren cuatro datos por ciclo de reloj.

Figure 5: Transferring more than one data per clock cycle.

Debido a esto, CPUs AMD son enumerados por tener el doble de su reloj externo. Por
ejemplo, un CPU AMD con un reloj externo de 200MHz est catalogado como 400MHz.
Lo mismo pasa con los CPUs Intel, un CPU Intel con un reloj externo es considerado
que tiene un reloj externo de 800MHz.

La tcnica de transferencia de dos datos por ciclo es llamada DDR(Dual Data Rate)
mientras la tcnica de transferir cuatro datos por ciclo es llamada QDR (Quad Data
Rate).

Diagrama de Bloque de un CPU

En la figura 6 puedes ver un diagrama de bloque bsico para una CPU moderna. Ah se
encuentran muchas diferencias entre las arquitecturas AMD e Intel (lea Inside Pentium
4 Architecture para una vista ms detallada de la arquitectura Pentium 4).
Entendiendo el diagrama de bloque bsico de un CPU moderno es el primer paso a
entender como las CPUs Intel y AMD trabajan y la diferencia entre ellas.

Figure 6: Basic block diagram of a CPU.

Memoria Cache:
La memoria cache es una memoria de alto rendimiento, tambin llamada memoria
esttica. El tipo de memoria usada en la computadora la principal memoria RAM es
llamada memoria dinmica. La memoria esttica consume ms potencia, es ms cara y
fsicamente ms grande que la memoria dinmica, pero esta es mucho ms rpida.
Puede trabajar con la misma seal que la CPU, que la memoria dinmica no es capaz.

Desde ir al mundo externo a recoger datos hace que la CPU trabaje a bajas
velocidades de reloj, la tcnica de memoria cache es usada. Cuando la CPU carga un
dato desde una cierta posicin de memoria, un circuito llamado controlador de
memoria cache (no dibujado en la Figura 6 en forma de simplicidad) carga dentro de
la memoria cache un bloque entero de datos debajo de la posicin actual que la CPU
ha cargado. Generalmente los programas fluyen de una manera secuencial, la
siguiente posicin de memoria que la CPU solicitar ser probablemente la posicin
inmediatamente debajo de la posicin de memoria que ha cargado. Dado que el
controlador de memoria cach ya carg una gran cantidad de datos por debajo de la
primera posicin de memoria leda por la CPU, el siguiente dato estar dentro de la
memoria cach incrustada en la CPU, la cual puede acceder a la velocidad de reloj
interno.

El controlador cach siempre est observando la posicin de memoria que est siendo
cargada y cargando datos desde muchas posiciones de memoria despus que la
posicin de memoria que acaba de ser lida. Para dar un ejemplo real, si la CPU carga
datos almacenado en la direccin 1000, el controlador cach cargar datos desde n
direcciones despus de la direccin 1000. Este nmero n es llamado pagina, si un
procesador dado est trabajando con paginas de 4KB (lo cual es un valor tpico), este
cargar datos desde 4096 direcciones debajo de la posicin de memoria actual
(direccin de 1000 es nuestro ejemplo). Por lo tanto, 1KB equivale a 1024 bytes, por
esto es que 4KB es 4096 y no 4000. En la figura 7 ilustramos este ejemplo.

Figure 7: How the memory cache controller works.

Cuanto ms grande sea la memoria cach, mas grandes sern las oportunidades de
que los datos requeridos por la CPU estn listos, la CPU necesitar acceder a la
memoria RAM con menor frecuencia, esto incrementa el rendimiento del sistema (solo
recuerda que la CPU todo el tiempo necesita acceder a la memoria RAM
directamente por lo que necesita una velocidad de reloj ms bajo para esta
operacin).

Llamamos un hit cuando la CPU carga datos requerido desde la cach y llamamos un
miss si los datos requeridos no estn ah y la CPU necesita acceder al sistema de la
memoria RAM.

L1 y L2 significan Nivel 1 Nivel 2, respectivamente, y se refiere a las distancias que


estn desde el ncleo de la CPU (ejecucin unitaria). Una duda comn es porqu se
tienen tres memorias cachs separadas (datos cach L1, instrucciones cach L1 y
cach L2). Ponga atencin a la figura 6 y ver que la instruccin cach L1traba como
una cach de entrada, mientras cach de datos L1 trabaja como un cach de salida.
instrucciones cach L1 la cual es usualmente ms pequea que la cach L2- es
particularmente eficiente cuando el programa inicia repitiendo una pequea parte de
esta (loop), debido a las instrucciones requeridas estarn ms cerca de la unidad de
bsqueda (fetch unit).

En la pgina de especificaciones de una CPU la cach L1 puede ser encontrada con


diferentes tipos de representaciones. Algunos fabricantes muestra las dos cachs L1
separadamente (algunas veces llamando a las instrucciones cach como I y a los
datos cach como D), algunos agregan las dos cantidades y las escriben separadas
as 128KB, separados significaran 64KB de instrucciones cach y 64KB de datos
cach -, y algunos simplemente agregan los dos y t tienes que adivinar la cantidad
total y deberas dividir por dos para obtener la capacidad de cada cach. Sin embargo
la excepcin va de el Pentium 4 y nuevos CPUs Celeron basados en sokets 478 y 775.
Procesadores Pentium 4 ( y procesadores Celeron usando sockets 478 y 775) no tienen
un cach de instrucciones L1, en su lugar ellos tienen una cach de ejecucin de
rastreo, la cual es una cach localizada ente la unidad de decodificacin y la unidad de
ejecucin. Bien, la instruccin L1 est ah, bero con un nombre diferente y una
diferente localizacin. Estamos mencionando esto aqu debido a que esto es un error
muy comn, pensar que procesadores Pentium 4 no tienen cach de instrucciones L1.
Cuando se comparan Pentium 4 con otros procesadores la personas pensaran que
esta cach L! es mucho ms pequea, debido a que estn contando nicamente estn
contando los 8KB de la cach de datos L1. La cach de ejecucin de trazas de la
Pentium 4 y CPUs Celeron son de 150KB y seran tomadas en cuenta, por supuesto.

Derivacin (Branching)
Como mencionamos muchas veces, uno de los problemas principales para la CPU es
tambin tener mucha perdida de memoria cach, debido a que la unidad de bsqueda
debe acceder directamente a la memoria RAM lenta, esto relentiza el sistema.
Usualmente el uso de la memoria cach evita mucho esto, pero esta tpica situacin
del controlador de memoria cach perder ramas. Si en la mitad del programa hay una
instruccin llamada JMP (jump o go to= enva al programa una posicin de memoria
completamente diferente, esta nueva posicin no ser cargado en la memoria cach
L2, haciendo a la unidad de bsqueda (fetch unit) ir a obtener la posicin directamente
en la memoria RAM. Para solucionar este problema, el controlador de memoria cach
de CPUs modernos analizan el bloque de memoria cargado siempre que se encuentre
una instruccin JMP en este carga el bloque de memoria por la posicin en la memoria
cache L2 antes que la CPU alcance la instruccin JMP.

Figure 8: Unconditional branching situation.

Esto es bastante fcil de implementar, el problema es cuando el programa tiene una


derivacin condicional i.e. la direccin del programa dependera de una condicin an
desconocida. Por ejemplo, si a<=b ir a la direccin 1, o si a>b ir a la direccin 2.
Ilustramos este ejemplo en la figura 9. Esto hara perder cach, debido a que los
valores de a y b son desconocidos y el controlador de cach sera observado
nicamente por JMP como instruccin. La solucin: el controlador de cach carga
ambas condiciones dentro de la memoria cach. Despus , cuando el CPU procesa la
instruccin de derivacin , simplemente descartar lo que no fue escogido..
Es mejor cargar la memoria cach con datos innecesarios que accesan directamente la
memoria.

Figure 9: Conditional branching situation.

Instrucciones de Procesamiento.
La fetch unit est a cargo de las instrucciones cargadas desde memoria. Primero,
observar si la instruccin requerida por la CPU est en la instruccin cach L1. Si no
est , va a la memoria cach L2. Si la instruccin tampoco est ah, tiene que cargar
desde el sistema lento de memoria RAM.

Cuando enciendes tu PC todas las cachs estn vacas, por supuesto, pero como el
sistema inicia cargando las operaciones del sistema. La CPU inicia procesando la
primera instruccin cargado desde el disco duro y el controlador de cach inicia
cargando las cachs, y el espectculo comienza.

Despues la fetch unit cogi la instruccin requerida por la CPU, a ser procesada, esta
enva a la unidad de decodificacin.
La unidad de decodificacin entonces averigua que hace la instruccin en particular.
Lo hace consultando una memoria ROM que existe dentro de la CPU, llamada
microcdigo. Cada instruccin que una CPU determinada entiende tiene su propio
mircrocdigo. El microcdigo ensear a la CPU que hacer. Esto es como una gua paso
a paso para toda instruccin. Si la instruccin cargada est, por ejemplo, sumar a+b
este microcdigo Le dir a la unidad de decodificacin que necesita dos parmetros a
y b. La unidad decodificadora solicitar entonces a la fetch unit capturar los datos
presentes en las dos siguientes posiciones de memoria, se ajustan a los valores de a y
b. despus la instruccin de decodificacin traslada la instruccin y captura todos los
datos requeridos para ejecutar la instruccin, esto pasar todos los datos y el libro de
cocina paso a paso sobre como ejecutar la instruccin a la unidad de ejecucin.

La unidad de ejecucin finalmente ejecutar la instruccin. En CPUs modernos podrs


encontrar ms de una unidad de ejecucin trabajando en paralelo. Esto se hace con el
fin de aumentar el rendimiento del procesador. Por ejemplo, un CPU con seis unidades
de ejecucin puede ejecutar seis instrucciones en paralelo, en teora esto podra lograr
el mismo rendimiento de seis procesadores con solamente una nica unidad de
ejecucin. Este tipo de arquitectura en llamada arquitectura superescalar.

CPus modernas usualmente no tienen muchas unidades de ejecucin idnticas, tienen


unidades de ejecucin enspecializadas en un tipo de instrucciones. El mejor ejemplo es
el de la FPU, Unidad de punto flotante la cual se encarga de ejecutar instrucciones
matemticas complejas. Usualmente entre la unidad de decodificacin y la unidad de
ejecucin hay una unidad (llamada despacho o unidad programadora) encargada de
enviar la instruccin a la unidad de ejecucin correcta, i.e. si la instruccin es una
instruccin matemtica enviar a la FPU y no a la unidad de ejecucin genrica. Por
cierto, la unidad de ejecucin genrica es llamada ALU, Unidad de aritmtica y Lgica.

Finalmente cuando el procesamiento es terminado, el resultado es enviado a la cach


de datos L1. Continuando nuestro ejemplo de la suma de a+b, el resultado sera
enviado a la cach de datos L1. Este resultado puede enviarse de regreso a la memoria
RAM o a otro lugar, con la tarjeta de video, por ejemplo. Pero esto depender de la
siguiente instruccin que est siendo procesada (la siguiente instruccin podra ser el
imprimir el resultado en la pantalla).

Otra caracterstica interesante que todos los microprocesadores tienen desde hace
tiempo es llamado pipeline, el cual es la capacidad de tener muchas instrucciones
diferentes en diferentes etapas de la CPU al mismo tiempo.

Despues que la unidad de bsqueda(fetch unit) envi las instrucciones a la unidad e


decodificacin, estar inactiva ,verdad?, Entonces, que tal si en vez de estar haciendo
nada, la unidad de bsqueda (fetch unit) se pone la siguiente instruccin? Cuando la
primera instruccin va a la unidad de ejecucin, la unidad de bsqueda puede enviar la
segunda instruccin a la unidad de decodificacin y tomar la tercera instruccin, y as
sucesivamente.

En una CPU moderna con 11 etapas pipeline (etapa es otro nombre para cada unidad
de la CPU) , esta probablemente tendr 11 instrucciones dentro del mismo tiempo casi
todo el tiempo. De echo, desde que todas las CPUs modernas tienen una arquitectura
superescalar, el nmero de instrucciones simultaneas dentro de la CPU incluso sern
ms grandes.

Tambin, para una CPU de etapa 11 pipeline, una instruccin a ser totalmente
ejecutada tendr que pasar a travs de 11 unidades. Cuanto mayor sea el nmero de
etapas, mayor ser el tiempo que una instruccin demorar para ejecutarse
completamente. Por otra parte, Tenga en cuenta que debido a este concepto varias
instrucciones pueden ejecutarse dentro de la CPU al mismo tiempo. La primera
instruccin cargada por la CPU puede retrasar 11 pasos para salir de esta, pero una
vez salga, la segunda instruccin saldr justo despus (y no har despus los otros 11
pasos).

Hay otros varios trucos usados por CPUs modernas que incrementan el desempeo.
Explicamos 2 de estos, out-of-order execution (OOO) y ejecucin especulativa.
Ejecucin fuera de orden (OOO) (out-of-Order-execution)

Recuerda que dijimos que CPUs modernas tienen muchas unidades de ejecucin trabajando
en paralelo? Tambin dijimos que hay diferentes tipos de unidades de ejecucin, como la ALU,
la cual es una unidad de ejecucin genrica, y la FPU, la cual es una unidad de ejecucin
matemtica. Tal como un ejemplo genrico en orden de entender el problema. Tambin
vamos a decir que una CPU dada tiene seis motores de ejecucin, cuatro genricos y 2 FPUs.
Tambin vamos a decir que el programa tiene el siguiente flujo de instruccin en un momento
dado:

1. generic instruction
2. generic instruction
3. generic instruction
4. generic instruction
5. generic instruction
6. generic instruction
7. math instruction
8. generic instruction
9. generic instruction
10. math instruction

Qu pasar? El programa/Unidad de despacho enviar las primeras instrucciones a las


cuatro ALUs pero luego, a la quinta instruccin, la CPU necesitar esperar por una de su ALUS
a ser liberada para continuar procesando, ya que las cuatro unidades de ejecucin genricas
estn ocupadas. Esto no es bueno, debido a que tenemos dos unidades matemticas (FPUs)
disponibles, y estn ociosas. Por lo tanto, una CPU con ejecucin fuera de orden (todas las
CPUs modernas tienen est caracterstica) ver si puede enviar la siguiente instruccin
inactiva. En nuestro ejemplo no puede, porque las sexta instruccin tambin necesita una ALU
para ser procesada. La motor de la OOO contina su bsqueda y descubre que la sptima
instruccin es un instruccin matemtica que puede ser ejecutada en una de las FPUs
disponibles, sta ir abajo del programa observando otras instrucciones matemticas. En
nuestro ejemplo, parar la octava y la novena instruccin y cargar la decima instruccin.

Por lo tanto, en nuestro ejemplo, las unidades de ejecucin sern procesadas, al mismo
tiempo, que la primer, segunda , tercera, cuarta, sptima y la dcima instruccin.

El nombre out-of-order (fuera de orden) viene del hecho que la CPU no necesita esperar,
puede sacar una instruccin desde el fondo del programa y procesarla antes de procesar las
instrucciones anteriores. Por supuesto el motor out-of order no puede ire siempre observando
cada una de las instrucciones si no puede encontrar una. El motor out-of-order de todas las
CPUs Tiene un lmite de profundidad en el que puede gatear buscando instrucciones ( Un valor
tpico podra ser 512).

Ejecucin especulativa

Vamos a suponer que una de estas instrucciones genricas es una derivacin condicional.
Qu har el motor fuera de servicio? Si la CPU implementa una caracterstica llamada
ejecucin especulativa (todas las CPUs modernas lo hacen), esta ejecutara ambas ramas.
Considere el ejemplo siguiente:
1. generic instruction
2. generic instruction
3. if a=<b go to instruction 15
4. generic instruction
5. generic instruction
6. generic instruction
7. math instruction
8. generic instruction
9. generic instruction
10. math instruction

15. math instruction
16. generic instruction

Cuando el Out-of order engine analiza este programa, est jalar la instruccin 145 dendro de
una de las FPUs, ya que necesitar una matemtica para llenar una de las FPUs de lo contrario
estar inactiva. As que en un momento dado podramos tener ambas ramas siendo
procesadas al mismo tiempo. Si cuando la CPU finaliza el procesamiento de la tercera
instruccin a es mayor que b, la CPU simplemente descartar el procesamiento de la
instruccin 15. Puede pensar que esto es una prdida de tiempo, pero de hecho no es as. Esto
no tiene ningn costo para la CPU el ejecutar una instruccin en particular, debido a que la
FPU de todas maneras estara inactiva. Por otra parte, si a<=b la CPU tendr un rendimiento
mayor, ya que cuando la instruccin 3 pide a la instruccin 15 esta estar lista para ser
procesada, Yendo directamente a la instruccin 16 o aun ms, si tambin la instruccin 16 ta
ha sido procesada por el out-of out order engine.

Por supuesto, todo lo que hemos explicado en este tutoria es una simplificacin excesiva en
orden de hacer esta una materia tcnica muy fcil de entender. ( leer Inside Pentium 4
Architecture en funcin de estudiar la arquitectura de un procesador especfico).

Dentro de la Arquitectura Pentium 4

Introduccin

En este tutorial te explicaremos como el Pentium 4 trabaja en un lenguaje fcil de seguir.


Aprenders exactamente como trabaja esta arquitectura , as podrs comparar ms
precisamente a procesadores previos desde Intel y la competencia AMD.

Procesadores Pentium 4 y nuevos Cleron usa arquitecturas intel de sptima generacin,


tambin llamada Netburst. Su aspecto general lo puedes ver en la Figura 1. Bi te asustes ,
Explicaremos profundamente acerca de lo que trata este diagrama.

Sin embargo, para continuar, t necesitas haber ledo How a CPU Works.Ah explicamos lo
bsico acerca de cmo trabaja un CPU. En el presente tutorial asumiremos que tu ya leste
esto, por lo tanto si no lo has hecho por favor toma un momento para leerlo antes de
continuar, de lo contrario te encontraras un poco perdido.
Figure 1: Pentium 4 block diagram.

Aqu estn unas de las diferencias bsicas entre la arquitectura Pentium 4 y otras arquitecturas
de CPUs.

Externamente , el Pentium 4 transfiere 4 datos por ciclo de reloj. Esta tcnica es


llamada QDR(Quad Data Rate) y hace que un bus local tenga un rendimiento de
4 veces su velocidad de reloj, ver la tabla de abajo. En la figura 1 esto es visto
como Interfaz de sistema de 3.2GB/s, desde esta diapositiva fue producida
cuando la primeria Pentium 4 fue publicada, se menciona un bus de sistema de
400MHz.

Real Clock Performance Transfer Rate


100 MHz 400 MHz 3.2 GB/s
133 MHz 533 MHz 4.2 GB/s
200 MHz 800 MHz 6.4 GB/s
266 MHz 1,066 MHz 8.5 GB/s

El datapath entre la memoria cach L2 (L2 cach control, en figura1) y cach de datos
L1 (L1 D-cach y D-TLB en figura 1) es de 256 bit. En procesadores previos de Intel
este datapath fue de solamente 64 bits. As que esta comunicacin puede ser 4 veces
ms rpido que procesadores de generaciones anteriores cuando corren a la misma
velocidad de reloj. El datapath entre la memoria cach L (cach L2 y control en
Figura q) y la pre-fetch unit (BTB & I-TLBen figura 1) , Sin embargo continua siendo
de un ancho de 64 bits.
La cache de instruccin L1 fue relocalizada. En lugar de estar antes de la fetch unit, la
cach de instruccin L1 esta ahora despus de la unidad de decodificacin, con un
nuevo nombre Trace Cach. Esta trace cach puede mantener hasta 12K
microinstrucciones. Dado que cada microinstruccin es de 100 bits de ancho, la trace
cach es de 150KB(12K*100/8). Uno de los errores ms comunes que las personas
hacen cuando comentan que la arquitectura Pentium 4 no tiene ninguna cach de
instrucciones. Esto no es cierto. Est ah pero con diferente nombre y una diferente
localizacin.
En los Pentium 4 hay 128 registros internos, en procesadores intel de sexta generacin
(como Pentium II y Pentium III) eran nicamente de 40 registros internos. Estos
registros estn en la Register Renaming Unit (a.k.a. RAT, Register Alias Table, shown
as Rename/Alloc on Figure 1).

Pentium 4 tiene 5 unidades de ejecucin trabajando en paralelo y 2 unidade para


cargar datos almacenados en la memoria RAM.

Por supuesto esto es solamente un resumen para aquellos que tienen algn conocimiento de
la arquitectura de otros procesadores. Si todo esto es visto en Griego por ti, No te preocupes.
Explicaremos todo lo que t necesitas conocer acerca de la arquitectura Pentium 4 en un
lenguaje fcil de entender, en las siguientes paginas.

Pipeline Pentium 4

Pipeline es una lista de todos las etapas dada debe pasar para ser ejecutada completamente.
En procesadores Intel de la sexta generacin, como Pentium III, su pipeline tienen 11 etapas.
Pentium 4 tiene 20 etapas, Por lo tanto en un procesador Pentium 4 una instruccin tarda ms
en ejecutarse que en un Pentium III por ejemplo! Si tomas los nuevos procesadores de
generacin Pentium 4 90nm , con el nombre de cdigo Prescott es caso es aun peor
porque usan una etapa de 31 pipeline, Santa vaca!

Esto fue hecho para incrementar la velocidad de reloj de los procesador. Por tener mas etapas
cada etapa individual puede ser construida usando unos cuantos transistores. Con pocos
transistores es ms fcil de lograr altas velocidades de reloj. En realidad, Pentium 4 es
nicamente mas rpido que el Pentium III por que trabaja a altas velocidades de reloj. Bajo la
misma velocidad de reloj, Un CPU Pentium III sera ms rpido que un Pentium 4 debido al
tamao de pipeline.

Debido a que Intel est listo para anunciar sus procesadores de octava generacin usar
arquitectura Pentium M , la cual esta pasada en arquitecturas Intel de sexta generacin
(arquitecturas Pentium III) y no en arquitecturas Netburst (Pentium 4).

En la figura 2 puedes ver Pentium 4 con 20 etapas pipeline. Hasta el momento Intel no divulgo
el Prescott con 31 etapas pipeline, no hablaremos de eso aqu.

Figure 2: Pentium 4 pipeline.

Aqu hay una explicacin bsica de cada etapa, la cual explica como un instruccin dada es
procesada por procesadores Pentium 4. Si piensas que esto es complejo para ti, no te
preocupes. Esto solo es un resumen de lo que explicaremos en las siguientes paginas.
TC Nxt IP: Trace cache siguiente instruccin de puntero: Esta etapa observa al Branch
target buffer (BTB) para la siguiente microinstruccin a ser ejecutada. Este paso toma
2 etapas.
TC Fetch: Trace Cach fetch. Carga, desde la Trace Cache, esta microinstruccin. Este
paso toma 2 etapas.
Drive: Enva la microinstruccin a ser procesada por la fuente asignadora y el registro
renombrador de circuito (register renaming circuit).
Alloc.Asignar. Checa cual de las fuentes de la CPU necesitara la microinstruccin- por
ejemplo, la memoria carga y almacena bufers.
Rename: Si el programa usa uno de los 8 registros estndar x86 este ser renombrado
dentro de uno de los 128 registros internos presentes en un Pentium 4. Este paso
toma 2 etapas.
Que:Quee (cola). La microinstruccin pone en cola de acuerdo con sus tipos(por
ejemplo, entero o punto flotante). Se mantienen en la cola hasta que hay una ranura
abierta del mismo tipo en el programador.
Sch: Programar (horario)(Schedule): las microinstrucciones son programadas para ser
ejecutadas de acuerdo al tipo (entero, punto flotante, etc). antes de llegar a su etapa,
todas las instrucciones estn ordenada, i.e. en el mismo orden que aparecieron en el
programa. En esta etapa, el programador re ordena las instrucciones en orden para
mantener todas las unidades de ejecucin llenas. Por ejemplo, si ah se encuentra una
unidad de punto flotante van a estar disponibles, el programador observar para una
instruccin de punto flotante a enviar a esta unidad, incluso si la siguiente instruccin
en el programa es un entero. El programador es el corazn de la out-of-order engine
de los procesadores de sptima generacin de Intel. Este paso toma tres etapas.
Disp: Envio. Envia las microinstrucciones a su ejecucin correspondiente. Este paso
toma 2 etapas.
RF: Archivo de registro. Los registros internos, almacenan en la pila de instruccin, son
leidas. Este paso toma 2 etapas.
Ex:Execute. (Ejecucin). Microinstrucciones son ejecutadas.
Flgs:Flags (Banderas. Las Microinstrucciones de banderas son cargadas.
Br Ck: Brach Check (Checar ramas). Checa si las ramas tomadas por el programas es la
misma predicha por el circuito de prediccin de rama.
Drive: Envia los resultados de este chequeo a las branch target buffer (BTB) presente
en la entrada del procesador.

Memoria Cach y Fetch Unit

La cach de memoria L2 del Pentium 4 puede ser de 256KB 512KB, 1MB o 2MB,dependiendo
del modelo la cach de datos es de 8KB o 16KB (en modelos 90nm).

Como explicamos antes, la cach de instrucciones La fue movida desde antes de la fetch unit
hasta despus de la unidad de decodificacin usando un nuevo nombre trace cache. Por lo
tanto en lugar de almacenar instrucciones de programa ser cargados por la fetch unit, la trace
cache almacena microinstrucciones listas para decodificar por la unidad de decodificacin. La
trace cache puede almacenar arriba de 12K microinstrucciones y desde el Pentium 4 las
microinstrucciones tienen un ancho de 100-bits, la trace cache es de 150KB(12288x100/8).

Decodificador:

Desde generaciones anteriores (sexta generacin), Procesadores Intel usan un arquitectura


Hibrida CISC/RISC. El procesador debe aceptar instrucciones CISC, tambin conocido como
instrucciones x86, ya que todo software disponible hoy en dia se escribe usando este tipo de
instrucciones . Una nica CPU RISC no pudo ser creada para la PC porque est no podra correr
el software que tenemos disponible hoy en da, como Windows y Office.

Por lo tanto, la solucin usada por todos los microprocesadores disponibles en el mercado hoy
en da de Intel y AMD usan un decodificador CISC/RISC. Internamente el CPU procesa RISC
como instrucciones, pero su front-end acepta nicamente instrucciones CISC x86.

Instrucciones CISCx86 son referidas como instrucciones as como las instrucciones internas
RISC son referidas como microinstrucciones o ops.

Estas microinstrucciones RISC, sin embargo no puedes ser accedidas directamente, no


podramos crear software basado en estas instrucciones para evitar el decodificador. Tambin
cada CPU usa su propias instrucciones RISC, desde otros CPUs. I.e., microinstrucciones Pentium
III son diferentes desde las microinstrucciones Pentium 4, las cuales son diferente para las
microinstrucciones Athlon 64.

Dependiendo de la complejidad de la instruccin x86 , esta tiene que ser convertida dentro de
muchas microinstrucciones RISC.

El decodificador de Pentium 4 puede decodificar una instruccin x86 por ciclo, siempre y
cuando la instruccin decodifique hasta cuatro microinstrucciones. Si la instruccin x86 a ser
decodificada es compleja y ser trasladada en ms de 4 instrucciones, estas se enruta a la
memoria ROM (Microcodigo ROM en figura 3) que tiene una lista de todas las instrucciones
complejas y cmo ests serian trasladadas. Esta memoria ROM es tambin llamada MIS
(Secuenciador de instrucciones de microcdigo).

Como dijimos antes, despus de decodificar las microinstrucciones son enviada a la trace
cach, y desde ah van a un cola de microinstrucciones. La trace cach puede poner a tres
microinstrucciones en la cola por ciclo de reloj, sin embargo, Inten no indica la
profundidad(tamao) de esta cola.

Allocator and Register Renamer (distribuidor y registro Renamer):

Que hace un allocator:

Reserva uno de los 126 reorder buffers(ROB) a la actual microinstruccin , con el fin de
mantener pistas del estado de terminacin de la microinstruccin. Esto permite a las
microinstrucciones ser ejecutadas out-of-order, ya que la CPU ser capaz d ponerlas en
orden nuevamente usando esta tabla.
Reserva uno de los 128 archivos de registro(RF), a fin de que almacene ah el resultado
del procesamiento de la microinstruccin.
SI la microinstruccin es un cargar o un almacenar, i.e.est lee (cargar) o
escribir(cargar) datos desde/hasta la memoria RAM, reservar una de los 48 buffers
cargados en una de los buffers almacenados correspondientemente.
Reserva una entrada en la memoria o en la cola general, dependiendo en que tipo de
microinstruccin est.

Despus que las microinstrucciones van al registro de cambio de nombre. arquitectura


CISC x86 tiene nicamente 8 registros de 32bits (EAX, EBX, ECX, EDX, EBP, ESI, EDI y ESP).
Este nmero es simplemente ms bajo, especialmente debido a que CPUs modernos
pueden ejecutar cdigo out-of-order, que podra destruir los contenidos de un registro
dado, bloqueando el programa.

As que en esta etapa, el procesador cambia el nombre y contenido de los registros usados
por el programa dentro de uno de los 128 registros internos disponibles, permitiendo que
la instruccin correr el mismo tiempo de otras instrucciones que usan exactamente el
mismo registro estndar, o incluso out-of-order, i.e. esto permite que la segunda
instruccin corra antes de la primera instruccin incluso si se meten con el mismo registro.

Esta es una caracterstica interesante que Pentium 4 tiene actualmente 256 registros
internos, 128 registros para instrucciones enteras y 128 registros para punto flotante e
instrucciones SSE.

Renamer Pentium 4 es capaz de procesar tres microinstrucciones por ciclo de reloj.

Desde el Renamer las microinstrucciones van a una cola, segn su tipo: cola de memoria,
por microinstrucciones relacionadas a memoria, o cola de entero/Punto Flotante, para
otros tipos de instrucciones.

Figure 4: Allocator and Register Renamer.

Unidades de despacho y ejecucin

Como hemos visto, Pentium 4 tiene 4 unidades de despacho puertos numerados de 0 a 3.


Cada puerto est conectado a una, dos o tres unidades de ejecucin, como puedes ver en
la figura 6.

Figure 6: Dispatch and execution units.

Las unidades marcadas como clock x2 pueden ejecutar dos microinstrucciones por ciclo
de reloj. Puertos 0 y1 pueden enviar 2 microinstrucciones por ciclo de reloj a estas
unidades. As el mximo nmero de microinstrucciones que pueden ser despachadas por
ciclo de reloj son seis:
Two microinstructions on port 0;
Two microinstructions on port 1;
One microinstruction on port 2;
One microinstruction on port 3.

Tenga en cuenta que las instrucciones complejas pueden tomar varios ciclos de reloj para ser
procesados. Vamos a tomar de ejemplo un puerto 1, donde la unidad completa de punto
flotante est localizada. Mientras esta unidad esta procesando una instruccin muy compleja
toma muchos ticks de reloj para ser ejecutada, el puerto 1 despacha unidades que no se
detendrn: esto mantendr enviado instrucciones simples a la ALU (Unidad Aritmtica y lgica)
mientras la FPU est ocupada.

Por lo tanto, aunque la tasa mxima de despacho es de seis microinstrucciones, la CPU


actualmente puede tener arriba de siete microinstrucciones siendo procesadas al mismo
tiempo.

En realidad, por eso los puertos 0 y 1 tienen ms de una unidad de ejecucin conectada. Si tu
prestas atencin Intel pone en el mismo puerto una unidad rpida junto al menos una unidad
compleja ( y lenta),Por lo tanto, mientras la unidad compleja est ocupada procesando datos,
la otra unidad se puede mantener recibiendo microinstrucciones desde su correspondiente
puerto de despacho. Como mencionamos antes la idea es mantener todas las unidades de
ejecucin ocupadas todo el tiempo.

Las 2 ALUs de doble-velocidad pueden procesar dos microinstrucciones por ciclo de reloj. las
otras unidades necesitan al menos un ciclo de reloj para procesar las microinstrucciones
recibidas, Por lo tanto, arquitectura Pentium 4 est optimizada para simples instrucciones.

Como puedes ver en la Figura 6, los puertos de despacho 2 y 3 estn dedicados a operaciones
de memoria: cargar (leer datos desde memoria) y almacenar (escribir datos a memoria),
respectivamente. En cuanto a la operacin de memoria, es interesante observar que el puerto
0 tambin es usado durante el almacenamiento de operaciones (ver figura 5 y la lista de
operaciones en la Figura 6).

En tales operaciones el puerto 3 es usado pare enviar la direccin de memoria, mientras el


puerto 0 es usado para enviar los dados a ser almacenados en esta direccin, Estos datos
pueden ser generados ya sea por la ALU o por la FPU, dependiendo de los tipos de datos a ser
almacenados (enteros o puntos flotantes/SSE).

En la figura 6 tienes una lista completa de los tipos de instrucciones de cada parte de la unidad
de ejecucin. FXCH y LEA (Direccin efectiva de carga)son dos instrucciones x86. Actualmente
Intel est implementando para instrucciones FXCH en Pentium 4 causando una gran sorpresa a
todos los expertos, porque en procesadores de generaciones anteriores (Pentium III) y
procesadores de AMD esta instruccin puede ser ejecutada por ciclo de reloj cero, mientras
un Pentium 4 toma algunos ciclos de relojes para ser ejecutado.

Chipsets

Introduccin
Despues de todo, Qu es un chipset?Cules son sus funciones Cul es su importancia?
Cul es la influencia en el rendimiento de la computadora? En este tutorial responderemos
todas estas preguntas y ms.

Chipset es el nombre dado a el conjunto de chips (de ah su nombre) usado en una


motherboard .

En las primeras computadores personales, la motherboard usaba circuitos integrados


discretos, As como muchos de los chips eran necesitados para crear toda la circuitera
necesario para hacer trabajar a la computadora. En la figura 1 puedes ver una motherboard de
un PC XT.

Figure 1: PC XT motherboard.

Despues de algn tiempo fabricante iniciaron a integrar muchos chips dentro de grandes
chips, As que en lugar de requerir docenas de pequeos chips, una motherboard ahora podra
ser construida usando nica mente media docena de grandes chips.

La integracin continu y a mediados de los 90s las motherboards usaban nicamente 2 o


incluso 1 gran chip que podra ser construido. En la figura 2 puedes ver una motherboard 486
hacia el ao 1995 usando solamente 2 grandes chips con todas las funciones necesarias para
hacer trabajar a la motherboard.
Figure 2: A 486 motherboard, this model uses only two big chips.

Con el lanzamiento del bus PCI, nace un Nuevo concepto, el cual aun se conoce hoy en da,
pudo ser usado por primera vez, con el uso de bridges (puentes). Usualmente las
motherboards tienen dos grandes chips: north bridge y south bridge. Aveces algunas fabricas
de chips pueden integrar el north y el south bridges dentro de un solo chip; en este caso la
motherboard tendr solament un gran circuito integrado.

Con el uso de bridges chipsets pudo ser mejor estandarizado, y explicaremos el papel de estos
chips en las siguientes pginas.

Los Chipsets pueden ser fabricados por muchas compaas, como ULi(el nuevo nombre para
ALi), Intel, VIA, SiS, ATI y nVidia. En el pasado estaban otros jugadores en el mercado, como
UMC y OPTi.

Una confusin comn es mezclar el fabricante del chipset con el fabricante de la


motherboard. Por ejemplo, solamente porque una motherboard usa un chipset fabricado por
Intel, esto no significa que Intel fabric esta placa. ASUS, ECS, Gigabyte, MSI, DFI, Chaintech
PCCHips, Shuttle y tambin Intel son solamente algunas de los muchos fabricantes de
motherboard presentes en el mercado. Por lo tanto, las fabricas de motherboard compran los
chipsets fabricados y construidos por estos. Actualmente es un aspecto muy interesante con
relacin a esto. Para construir una motherboard, los fabricantes pueden seguir el proyecto
estndar de fabricante de chipset, tambin conocido como diseo de referencia, o puede
crear su propio proyecto modificando algunas cosas aqu y all para proveer un mejor
desempeo o ms caractersticas.

North Bridge

El North bridge chip, tambin llamado MCH ( Hub Controlador de Memoria Memory Controller
Hub) est conectado directamente con la CPU y tiene bsicamente las siguientes funciones:

Controlador de Memoria (*)


Controlador de bus AGP (si est disponible)
Controlador PCI Express x16 ( Si est disponible)
Interface para transferencia de datos con south bridge.

(*) Excepto para CPUs (CPUs de AMD como Athlon 54) con socket 754, socket 939 y socket
940, debido a que estos CPUs el controlador de memoria est localizado en su propia CPU, y
no en el north bridge.

Algunos chips north brige tambin controlan carriles PCI Express x1, en otros chipsets PCI
Express es el south bridge el que controla el carril PCI Express x1, En nuestras explicaciones
asumiremos que el south bridge es el componente encargado de controlar el carril PCI Express
x1, pero mantengamos en mente que esto puede variar de acuerdo al modelo del chipset.

En la Figura 3 puedes observar un diagrama explicando el rol de el north bridge en la


computadora.
Figure 3: North bridge.

Como puedes ver, la CPU no accede directamente a la memoria RAM o a la tarjeta de video,
esto lo hace la north bridge. Por eso es que, el chip north bride tiene un papel fundamental en
el rendimiento de la computador. Si el chip north bridge tiene un mejor controlador de
memoria que otro north bridg, el desempeo de toda la computador ser mejor. Esta es la
explicacin de porque usted puede tener dos motherboard dirigidas a la misma clase de
procesadores logrando diferentes rendimientos.

Como mencionamos, en un CPU Athlon 64 el controlador de memoria est incrustado en la


CPU y es por eso que casi no hay diferencia de rendimiento entre las placas base de esta
plataforma.

Puesto que el controlador de memoria est en el north bridge, es este chip que limita los tipos
y la cantidad mxima de memoria que puedes tener en tu sistema (en Athlon 64 es la CPU la
que establece estos limites).

La conexin entre el north bridge y el south bridge esta hecho mediante un bus. Al principio se
uso el bus PCI, pero ms tarde esto fue remplazado por un bus dedicado. Explicaremos ms
tarde acerca de esto, ya que el tipo de bus usado en esta conexin puede afectar el
rendimiento de la computadora.

South Bridge:

El chip South Bridge, tambin llamado ICH(I/O controller hub) est conectado al north bridge y
encargado bsicamente del control de dispositivos I/O y dispositivos on-board, como:

Puertos de Disco duro (Puertos Paralelo y ATA Serial)


Puertos USB
Audio On-board (*)
LAN On-board(**)
Bus PCI
Carril PCI Express (si est disponible)
Tiempo Real de Reloj (RTC)
Memoria CMOS
Dispositivos heredados como Controladores de interrupcin y controladores DMA.
(*) Si el South Bridge tiene un controlador de audio incorporado, este necesitara un chip
externo llamado Codec( abreviatura para codificador/decodificador) para operar.

(**) Si el South Bridge tiente un controlador de red incorporado, este necesitar un chip
externo llamado Phy( abreviatura para physical) para operar.

El South Bridge tambin esta conectado a otros chips disponibles en una motherboard: El chip
ROM, mejor conocido como BIOS, y el chip Super I/O, el cual est encargado de controlar a los
dispositivos Heredados como puertos series, puerto paralelo y Disquetera.

En la figura 4 puedes ver un diagrama explicando el rol de el South Bridge en la computadora.

Figure 4: South bridge.

Como puedes ver, mientras el South Bridge puede tener alguna influencia en el desempeo del
disco duro, este componente no est en rendimiento critico como el North Bridge.
Actualmente, South Bridge tiene ms que ver con las caractersticas de su Motherboard que
con el rendimiento. Es el South Bridge el que fija el nmero (y velocidad) de los puertos USB y
el nmero y tipos (ATA regular o ATA Serial) de los puertos del disco duro que tu motherboard
tiene, por ejemplo:

Arquitectura Inter-Bridge

Cuando el concepto Bridge empez a ser usado, la comunicacin entre el North Bridge y el
South Bridge fue hecho a travs de un bus, como observamos en la Figura 5. El problema de
este enfoque es que la banda ancha disponible para el bus PCI de 132- MB/s- ser compartido
entre todos los dispositivos PCI en el sistema y dispositivos enganchados al South Bridge-
especialmente discos duros. En este tiempo, esto no ser un problema, desde que los discos
duros transfieren velocidades mximas de 8 MB/s y 16 MB/s.
Figure 5: Communication between north and south bridges using the PCI bus.

Pero cuando las tarjetas de video de alta agama (En ese momento, fueron las
tarjetas de video PCI), y discos duros de alto rendimiento fueron lanzados, a una
situacin de cuello de botella. Solo pensar que modernos discos duros ATA/133
matara a toda la banda ancha, relentizando la velocidad de comunicacin de
todos los dispositivos conectados al bus PCI.

Para tarjetas de video de gama alta, la solucin fue la creacin de un nuevo bus conectado
directamente al North Bridge, llamado AGP (Puerto de Grficos Acelerados)

La solucin final viene cuando los fabricantes de chipset iniciaron usando un nuevo enfoque:
usando un bus dedicado de alta velocidad entre el North y South Bridges y conectando los
dispositivos del bus PCI a el South Bridge.

Figure 6: Communication between north and south bridges using a dedicated bus.

Cuando Intel empez usando esta arquitectura, esta comenz llamando a los Bridges como
Hubs, el North Bridge se convirti en MCH(Hub Controlador de Memoria) y el South Bridge
se convirti en ICH(Hub controlador de I/O)-. Esto es debido a su nomenclatura en orden de
aclarar la arquitectura que est siendo usada.

Usando esta nueva arquitectura, la cual es la arquitectura que las motherboards usan hoy en
da, cuando la CPU lee datos desde un disco duro, los datos son transferidos desde el disco
duro a el South Bridge, luego al North Bridge (usando el bus dedicado) y luego a la CPU (o
directamente a la memoria, si el Bus Mastering-a.k.a. DMA- mtodo que est siendo usado).
Como puedes ver, el bus PCI no es usado en todas estas transferencias, lo que no sucedi con
arquitecturas anteriores , ya que el bus PCI estaba a medio camino.

La velocidad de este bus dedicado depende del modelo chipset. por ejemplo, en el chipset
Intel 925X este bus tiene una velocidad mxima de transferencia de 2GB/s. Tambin, los
fabricantes llaman a este bus con nombres diferentes:

Intel: DMI(Interface de Memoria Directa) o Hub arquitectura Intel(*)


ULi/Ali: Hipertransporte.
VIA: V-link
SiS: MuTIOL (**)
ATI: A-Link or PCI Express
nVidia: HyperTransport (**)

(*) Interface DMI nunca es usada en chipsets i915 e i925 y usa dos caminos de datos
separados, uno para transmisin de datos y otro para recepcin (comunicacin full-duplex).
Arquitectura Intel Hub, usada por chipsets anteriores, usa el mismo camino para ambos,
transmisin y recepcin (comunicacin half-duplex).

(**)Algunos chipsets nVidia y Sis utilizan un solo chip, i.e.i.e las funcionalidades de ambos
North Bridge y South Bridge estn integrados en un solo chip.

Tambin en un Radeon Xpress 200 de ATI, la comunicacin entre el North Bridge y el South
Bridge usa dos carriles PCI Express. Esto no afecta el rendimiento del sistema, porque al
contrario de PCI, el bus PCI Express no est compartido entre todos dispositivos Express. Esta
es una solucin punto a punto. la que significa que el sus nicamente conecta dos dispositivos,
el receptor y el transmisor, no se puede conectar ningn otro dispositivo a esta conexin. Un
carril es usada para transmisin de datos y el otro para recepcin de datos (comunicacin full-
duplex).

HyperTransport bus tambien usa caminos de datos separados, uno para transmission y otro
para recepcin (comunicacin full-duplex).

Si quieres conocer los detalles de un chipset dado, solo ve la pagina web del fabricante del
chipset.

Como ltimo comentario, es posible que se pregunte qu es "dispositivos PCI integrados"


Listado en la figura 5 y t. un dispositivo integrado como LAN y audio puede ser controlado por
el chipset (South Bridge) o por un chip controlador extra. Cuando este enfoque es usado, este
chip controlador es conectado al bus PCI.

PC MOTHERBOARDS :
Si alguna vez has destapado una computadora, has visto como una pieza mantiene todo unido-
la motherboard. Una motherboard permite a todas las partes de la computadora recibir
energa y comunicarse unas con otras.

Las motherboards han recorrido un largo camino en los anteriores 20 aos. Las primeras
motherboards contenan muy pocos componentes actuales. La primera PC IBM tenia
nicamente un procesador y ranuras para tarjetas. Los usuarios conectaban componentes
como disqueteras y memorias dentro de las ranuras, Hoy, motherboards por lo general
cuentan con una amplia variedad de caractersticas incorporadas, y afectan directamente las
capacidades de un ordenador y el potencial de actualizaciones.

En este articulo, veremos los componentes generales de una motherboard. Luego,


examinaremos de cerca cinco puntos que afectan de manera dramtica lo que una
computadora puede hacer.

Factor de forma

Una motherboard por si misma es intil, pero una computador tiene que tener una para
operar. Las motherboards su principal trabajo es resguardar el chip mircroprocesador y de la
computadora y permitir que todo lo dems se conecte a este.

Todo lo que ejecuta la computadora o mejora su rendimiento es parte de la placa base o se


conecta a ella a travs de una ranura o puerto.

A modern motherboard..

A la forma y diseo de una motherboard es llamado como factor de forma. El factor de forma
afecta donde a dnde van los componentes individuales y el diseo de la caja de la
computadora.
Hay varios factores de forma especficos que la mayora de las placas base de PC utilizan para
que puedan encajar en casos estndar. Para una comparacin de los factores de forma, pasado
y presente, echa un vistazo a Motherboards.org.

El factor de forma es slo uno de los muchos estndares que se aplican a las placas base.
Algunos de los otros estndares incluyen:

El socket para el microprocesador determina que tipo de CPU usa la motherboard.

El chipset es parte del sistema lgico de la motherboard yusualmente hacho de dos partes el
North Bridge y el South Bridge. Estos dos Bridges conectan a la CPU otras partes de la
computadora.

La BIOS controla las ms bsicas funciones de la computadoras y realiza una autoprueba cada
vez que enciendes la computadora. Algunas caractersticas de los sistemas dual BIOS, los
cuales proporcionan una copia de seguridad n caso de fallas o en caso de error durante la
carga.

El chip de reloj en tiempo real es un chip de pilas que mantienen la configuracin y tiempo del
sistema.

Las ranuras y puertos encontrados en una motherboard incluyen:

Componentes Perifricos Interconectados(PCI): conexiones para video, sonido tarjetas


de captura de video, como tambin tarjetas de red.
Puerto de Grficos Acelerados (AGP): puerto dedicado a tarjetas de video.
Dispositivo electrnico Integrado (IDE): Interfaces para discos duros.
Bus Universal Serial (USB) o FireWire: perifricos externos.
Ranuras de memoria.

Algunas motherboards tambin incorporan nuevos avances tecnolgicos:

Arreglo redundante de discos independientes (RAID) controladores que permiten a la


computadora el reconocimiento de mltiples drivers o un drive.
PCI Express: es un nuevo protocolo que acta ms como una red que como un bus.
Este puede eliminar la necesidad de otros puertos incluyendo el puerto AGP.
En lugar de depender de tarjetas plug-in, algunas motherboard tienen redes de sonido
incorporado, video u otro soporte perifrico.
A Socket 754 motherboard

Muchas personas piensan que la CPU es una de las partes ms importantes de una
computadora. Veremos cmo afecta al resto de la computadora en la siguiente seccin.

CPUs y Sockets

La CPU es una de las primeras cosas que viene a la mente de las personas cuando piensan
acerca de la velocidad de una computadora y rendimiento. Cuanto ms rpido sea el
procesador, ms rpida ser la computadora puede pensar En los primeros das de un PC,
todos los procesadores tenan el mismo conjunto de pines que conectaran la CPU a la
motherboard, llamado el Pin Grid Array (PGA). Estos pines encajan dentro de un diseo de
socket llamado Socket7. Esto significa que cualquier procesador podra encajar dentro de una
motherboard.
A Socket 939 motherboard

Hoy en da sin embargo, fabricantes Intel y AMD usan una variedad de PGAs, ninguno de los
cuales encaja en el SocKet7. Como microprocesadores avanzados, ellos necesitan ms y ms
pines, ambos para manejar nuevas caracterstica y para proporcionar ms y ms poder al chip.

Actuales arreglos de sockets son a menudo nombrado por nmeros de pines en el PGA.
Comnmente son usados:

Socket 478 Para Viejos procesadores Pentium y Celeron


Socket 754 Para procesadores AMD Seprom y algunos Atlhon
Socket 939 Para nuevos y rpidos procesadores AMD Athlon.
Socket AM2 Para el ms nuevo AMD Athlon.
Socket A Para viejos procesadores AMD Athlon.
A Socket LGA755 motherboard

El ms nuevo CPU Intel no tiene un PGA. Este tiene un LGA, tambin conocido como Socket T.
LGA significa Land Grid Array. Un LGA es diferente de un PGA en que los pines son en realidad
parte del socket, no de la CPU.

Cualquier persona que ya tiene una CPU especfica en mente debe seleccionar una placa base
basada en esa CPU. Por ejemplo, su quieres usar uno de los nuevos chips multi-ncleo hechos
por Intel o AMD. Necesitars seleccionar una motherboard con el correcto socket para estos
chips. Las CPUs simplemente no caben en sockets que no coinciden con su PGA.

La CPU comunica a los elementos de la motherboard mediante un chipset.

Chipsets:

Los chipset son el pegamento que conecta al microprocesador con el resto de la


motherboard y por lo tanto al resto de la computadora. En una PC, esto consiste en dos partes
bsicas- El northbridge y el southbridge. Todos los diversos componentes de la computadora
se comunican con la CPU a travs del chipset
The northbridge and southbridge

El Northbridge conecta directamente al procesador a travs del front side bus (FSB). Un
controlador de memoria est localizado en el northbridge, el cual da a la CPU rapidez de
acceso a memoria. El nortbridge tambin conecta a el AGP o PCI Express y a su propia
memoria.

El southbridge es ms lento que el northbridge, y la informacin de la CPU tiene que pasar por
el northbridge antes de llegar al southbridge. Otros buses conectan el soutbridge al bus PCI ,
los puertos USB y las conexiones de disco duro IDE o SATA. La seleccin de chipset y la
seleccin de CPU van de la mano, porque los fabricantes optimizan los chipsets para que
funcionen con CPU especficas. El chipset es una parte integrada de la placa base, por lo que no
se puede quitar o actualizar. Esto significa que no slo debe encajar el socket de la placa base
en la CPU, sino que el chipset de la placa base debe funcionar ptimamente con la CPU.

Velocidad de Bus

Un bus es simplemente un circuito que conecta una parte de la motherboard a otra. Cuantos
ms datos un bus pueda manejar a la vez, ms rpido permite que la informacin viaje. La
velocidad del bus, medida en megahercios (MHz), se refiere a la cantidad de datos que se
pueden mover a travs del bus simultneamente.
Busses connect different parts of the motherboard
to one another

Velocidad de Bus se refiere a la velocidad en el front side bus(FSB), el cual conecta a la CPU
con el nortbrige. FSB puede lograr velocidades desde 66MHz hasta 800MHz, Por lo que la CPU
alcanza al controlador de memoria mediante el northbridge. La velocidad FSB puede afectar
dramticamente el rendimiento de una computadora.

Estos son algunos de los otros buses encontrados en una placa base:

El Back Side Bus: conecta a la CPU con la cach nivel 2 L2, tambin conocida como
cach secundaria o externa. El procesador determina la velocidad que el back sid bus.
El bus de memoria: conecta el soutbridge a las unidades de disco.
El Bus AGP, conecta la tarjeta de video a la memoria y la CPU. La velocidad del bus AGP
usualmente es de 66MHz.
El PCI bus: conecta ranuras PCI al southbridge. En muchos sistemas, la velocidad del
PCI bus es de 33MHz. Tambin compatible con PIC y PCI Express. la cual es mucho mr
rpida que PCI pero todava compatible con software actual y operaciones de
sistemas. Es probable que PCI Express sustituya a los buses PCI y AGP.

Cuanto ms rpida sea la velocidad del bus de una computadora, ms rpido operar - hasta
cierto punto. Una velocidad de bus rpida no puede compensar un procesador lento o chipset.

El North Bridge:

El North Bridge, tambin llamado MCH(Hub controlador de memoria), es conectado


directamente a la CPU y tiene bsicamente las siguientes funciones:
Controlador de memoria (si est disponible)
Controlador PCI Express (si est disponible)
Controlador de Bus AGP (si est disponible)
Interface para transferir datos con el South Bridge chip.

Las CPUs actuales de Intel tienen un controlador de memoria integrado y un controlador PCI
Express integrado, significa que estas CPUs tienen un North Bridge integrado, Por lo tanto, no
requieren este chip en la placa base. ver la figura 3 CPUs de AMD tienen un controlador de
memoria integrada pero no tienen un controlador de PCI Express integrado. Debido a que,
CPUs de AMD aun requieren de Un chip North Bridge Externo con este componente. AMD dice
que estos procesadores tienen un North Bridge integrado, pero lo que la compaa realmente
quiere decir decir es que las CPUs tienen un controlador de memoria integrado. Esto crea
mucha confusin. Muchos usuarios no entiendes porque motherboards procesadores AMD
tienen north bridge si los fabricantes dices que la CPU tiene un north bridge integrado.

igure 3: Chipset configuration with current Intel CPUs

Figure 4: Chipset configuration with current AMD CPUs


Con Viejas CPUs que no tienen integrado el controlador de memoria, el sistema seguir el
diagrama presentado en la Figura 5. Con viejas CPUs, ya que el controlador de memoria est
localizado dentro del chip north bridge externo, este chip juega un papel muy importante en el
rendimiento de la computadora. Un chipset puede tener un mejor controlador de memoria y
presentar un alto rendimiento. Hoy en da Sin embargo, ya que el controlador de memoria esta
incrustado en la CPU, casi no hay diferencia en el rendimiento entre diferentes chipsets.

Figure 5: North bridge with CPUs without an integrated memory controller

El controlador PCI Express incrustado en el North Bridge o en la CPU puede proporcionar varios
carriles. La configuracin ms comn es la que proporciona 16 carriles, siguiendo, la
motherboard que tiene una ranura PCI Express x16 o 2 ranuras PCI Express x16, cada una
trabajando a x8. Los carriles PCI Express adicionales necesarios para conectar las otras ranuras
y dispositivos disponibles en la placa base son proporcionados por el chip south bridge. Los
controladores PCI Express de gama alta proporcionan generalmente ms de 16 carriles, lo que
permite al fabricante de la placa base proporcionar ms ranuras PCI Express x16 para tarjetas
de vdeo o permitir la conexin de otras ranuras y dispositivos directamente al chip de puente
norte o CPU.

La coneccion entre el north bridge y el south bridge se realiza a travs de un bus. Inicialmente,
el bus PCI fue utilizado, pero ms tarde fue reemplazado por un bus dedicado. Explicaremos
ms sobre esto ms adelante.

El South Bridge

El chip south bridge , tambin llamado ICH (E / S Controller Hub) o PCH (Platform Controller
Hub), est conectado al north bridge (o la CPU, en el caso de las actuales CPU Intel) y se
encarga de controlar I / O Dispositivos y dispositivos de a bordo, tales como:

Puertos de Disco duro (Puertos Paralelo y ATA Serial)


Puertos USB
Audio On-board (*)
LAN On-board(**)
Bus PCI (si est disponible)
Carril PCI Express (si est disponible)
Tiempo Real de Reloj (RTC)
Memoria CMOS
Dispositivos heredados como Controladores de interrupcin y controladores DMA.
Ranuras ISA en viejas motherboards.

(*) Si el South Bridge tiene un controlador de audio incorporado, este necesitara un chip
externo llamado Codec( abreviatura para codificador/decodificador) para operar. Para obtener
ms informacin, consulte nuestro tutorial How On-Board Audio Works ". Algunas tarjetas
madre de gama alta utilizan un controlador de audio externo, que est conectado al chip south
bridge a travs de un carril PCI Express x1.

(**) Si el South Bridge tiente un controlador de red incorporado, este necesitar un chip
externo llamado Phy( abreviatura para physical) para operar. Muchas motherboard usan un
controlador de red externo conectado al south Bridge mediante un carril PCI Express x1.

Otros dispositivos integrados que la placa base puede tener, como controladores USB, SATA y
de red adicionales, se conectarn al chip south bridge a travs de carriles PCI Express x1
individuales. (En algunas placas base, estos dispositivos pueden estar conectados al chip north
bridge en su lugar, si el controlador PCI Express incrustado en el chip de puente norte tiene un
montn de carriles PCI Express.

El South Bridge tambin est conectado a los otros 2 chips disponibles en la motherboard: El
chip ROM, tambin conocido como la BIOS (La BIOS es uno de los programas escritos dentro
de este chip), y el Super chip E/S, la cual es encargada de controlar dispositivos heredados
como puertos seriales, disqueteras y puertos PS/2 para teclados y mouses.

En la figura 6 puedes ver la explicacin del rol del South Bridge en la computadora:

Figure 6: The south bridge


chip
Arquitectura Inter-Bridge

Cuando el concepto Bridge empez a ser usado, la comunicacin entre el North Bridge y el
South Bridge fue hecho a travs de un bus, como observamos en la Figura 7. El problema de
este enfoque es que la banda ancha disponible para el bus PCI de 132- MB/s- ser compartido
entre todos los dispositivos PCI en el sistema y dispositivos enganchados al South Bridge-
especialmente discos duros.

Figure 7: Communication between north


and south bridges using the PCI bus

Pero cuando las tarjetas de video de alta agama (En ese momento, fueron las tarjetas de video
PCI), y discos duros de alto rendimiento fueron lanzados, a una situacin de cuello de botella.
Para las tarjetas de video de gama alta, la solucin fue la creacin de un nuevo bus conectado
directamente al puente norte, llamado AGP (Accelerated Graphics Port). De esta manera la
tarjeta de video no estaba conectada al bus PCI y el rendimiento no se vio comprometido.

La solucin final viene cuando los fabricantes de chipset iniciaron usando un nuevo enfoque:
usando un bus dedicado de alta velocidad entre el North y South Bridges y conectando los
dispositivos del bus PCI a el South Bridge.

Esta es la arquitectua que se usa hoy en dia, Ranuras Estndar PCI, si estn disponibles son
conectadas al South Bridges, carriles PCI Express puedes ser disponibles en ambos chips north
y south bridges.Usualmente carriles PCI Express disponibles en el north Bridge son usados por
tarjetas de video, mientras los carriles disponibles en el chip south bridge son usadas al
conectarse a ranuras ms lentas y dispositivos on-board tales como USB, SATA y controladores
de red.
Figure 8: Communication between north and south bridges using a dedicated connection

La configuracin de esta conexin dedicada depende del modelo del chipset. Los primeros
chipsets de Intel para usar esta arquitectura tenan un canal dedicado de 266 MB / s.

Este canal era half-duplex, significando que north and south bridges no podan "hablar" al
mismo tiempo. O bien un chip o el otro estaba transmitiendo.

AMD utiliza un datapath dedicado llamado "A-Link", que es una conexin PCI Express con un
nombre diferente. "A-Link" y "A-Link II" utilizan cuatro carriles PCI Express 1.1 y, por lo tanto,
logran un ancho de banda de 1 GB / s. La conexin "A-Link III" utiliza cuatro carriles PCI Express
2.0, logrando un ancho de banda de 2 GB / s.

Memoria y otras caractersticas:

Hemos establecido que la velocidad del procesador mismo controla la rapidez con que una
computadora piensa. La velocidad del chipset y de los buses controla la rapidez con que se
puede comunicar con otras partes de la computadora. La velocidad de la conexin de RAM
controla directamente la rapidez con la que el ordenador puede acceder a las instrucciones y
los datos y por lo tanto tiene un gran efecto en el rendimiento del sistema. Un procesador
rpido con RAM lenta no va a ninguna parte.

La cantidad de memoria disponible tambin controla la cantidad de datos que el equipo puede
tener fcilmente disponibles. RAM constituye la mayor parte de la memoria de una
computadora. La regla general es que cuanto ms memoria tiene la computadora, mejor.

Gran parte de la memoria disponible en la actualidad es la memoria de doble velocidad de


datos (DDR). Esto significa que la memoria puede transmitir datos dos veces por ciclo en vez de
una vez, lo que hace que la memoria sea ms rpida. Adems, la mayora de las placas base
tienen espacio para mltiples chips de memoria, y en placas base ms nuevas, a menudo se
conectan al northbridge a travs de un bus dual en lugar de un solo bus.
200-pin DDR SODIMM RAM

Las ranuras de memoria de una placa base afectan directamente a qu tipo y cunta memoria
se admite. Al igual que otros componentes, la memoria se conecta a la ranura a travs de una
serie de pines. El mdulo de memoria debe tener el nmero correcto de pines para encajar en
la ranura de la placa base.

En los primeros das de las placas base, prcticamente todo lo que no sea el procesador vino
en una tarjeta que se enchuf en la placa. Ahora, las placas base cuentan con una variedad de
accesorios a bordo, tales como soporte LAN, vdeo, soporte de sonido y controladores RAID.

Hay placas base que tienen todo lo necesario para crear una computadora completa - todo lo
que hace es pegar la placa base en un caso y agregar un disco duro, un controlador de CD y
una fuente de alimentacin. Usted tiene una computadora completamente operativa en una
sola tabla.

Para muchos usuarios promedio, estas caractersticas incorporadas proporcionan un amplio


soporte para video y sonido. Sin embargo, para los jugadores vidos y las personas que hacen
trabajos grficos o de diseo asistido por ordenador (CAD) de alta intensidad, las tarjetas de
vdeo independientes ofrecen un rendimiento mucho mejor.

64MB SDRAM SIMM

Fabricante y modelo de placa madre


Introduccin

Tarde o temprano tendr que conocer el fabricante y el modelo exacto de su placa base,
especialmente si planea actualizar su computadora, ya que las capacidades de actualizacin de
su computadora se establecen por el modelo de placa base que tiene. Necesitar esta
informacin si realiza una actualizacin del BIOS o descarga el manual de la placa base o los
controladores. Se necesita una actualizacin del BIOS para que su computadora reconozca una
nueva CPU y el manual es necesario si desea comprobar la cantidad de RAM que su
computadora puede reconocer o las CPUs que admite, por ejemplo.

Encontrar esta informacin no es particularmente fcil, porque muchos fabricantes no


imprimen su nombre o el nombre del modelo en la placa base. Adems, es posible que desee
comprobar si la placa base instalada en su PC es realmente el modelo que ha pedido. Por lo
general, la garanta es nula si abre su computadora, por lo que tendr que descubrir cmo
aprender esta informacin sin abrir su PC.

Cmo es posible conocer el fabricante de la placa base a travs del software? Dentro del BIOS
de la computadora hay un nmero de serie, que incluye un cdigo para el fabricante. Por lo
tanto, una utilidad de identificacin de hardware lee el nmero de serie del BIOS y lo descifra
para usted. Lea nuestro tutorial "Descifrar el nmero de serie del BIOS" para una explicacin
detallada sobre este tema.

Le ensearemos cmo utilizar cuatro programas de identificacin de hardware muy populares


para averiguar el fabricante y el modelo de su placa base: CPU-Z, Sandra Lite, AIDA64 y
HWiNFO.

Despus de averiguar el fabricante y el modelo de su placa madre, puede que desee saber qu
es el sitio web del fabricante y dnde puede descargar los ltimos BIOS, controladores y
manual para su modelo de placa base. Una bsqueda rpida de Google debera ser suficiente
para descubrir esto.

CPU-Z
CPU-Z es una utilidad de identificacin de CPU muy popular, que tambin se puede utilizar
para identificar el fabricante y el modelo de la placa base.
Despus de instalar CPU-Z, ejectelo y haga clic en su pestaa "Mainboard". En la pantalla que
aparecer, CPU-Z le dar el fabricante y el modelo de su placa base, como se muestra en la
Figura 1. Como puede ver, tenamos una placa base ASUS P5K-E en nuestro ordenador.

Figure 1: Identifying your motherboard


manufacturer and model with CPU-Z
Sandra Lite

Sandra est disponible en varias versiones; Debe descargar e instalar la versin gratuita,
llamada "Lite".
Despus de instalar Sandra, ejectelo y haga clic en la pestaa "Hardware". En la pantalla que
aparecer, haga doble clic en el icono "Mainboard".

Sandra necesitar un minuto para recoger toda la informacin sobre su computadora. En la


siguiente pantalla se mostrar, puede encontrar fcilmente el fabricante de la placa base en
"Fabricante" y su modelo en "Modelo". Eche un vistazo a la Figura 2 en la que identificamos
nuestro modelo de placa base como una placa base ASUS P5K-E.

Figure 2: Identifying your motherboard manufacturer and model with Sandra

Mientras navega por estas ventanas, encontrar otra informacin til acerca de su placa base,
como cuntas tomas de memoria tiene y cules son usadas, as como el modelo de chipset en
el que se basa su placa base. Tambin puede encontrar el nmero de serie del BIOS del que
hablbamos bajo "BIOS".
AIDA64

Hay dos versiones de AIDA64; Debe descargar e instalar la versin Extreme Edition.
Despus de instalar AIDA64, ejectelo, haga clic en la "Motherboard" disponible en la pantalla
principal, y luego haga clic en el icono "Motherboard" que se mostrar. En la pantalla que se
mostrar, el fabricante y el modelo de la placa base de su computadora aparecern en la
segunda lnea, "Nombre de la placa base". Vea la Figura 3. Como puede ver, tenamos una
placa base ASUS P5K-E en nuestro ordenador

Figure 3: Identifying your motherboard manufacturer and model with AIDA64

Si se desplaza hacia abajo, encontrar un enlace para la pgina de descarga del BIOS en el sitio
web del fabricante de la placa base en "Descarga del BIOS". Esto es muy til si est planeando
realizar una actualizacin del BIOS.

HWiNFO

HWiNFO est disponible en dos versiones, HWiNFO32, que se debe descargar si se utiliza un
sistema operativo de 32 bits, y HWiNFO64, que se debe descargar si se utiliza un sistema
operativo de 64 bits. En nuestro caso, hemos descargado HWiNFO64.

Despus de instalar la versin apropiada de HWiNFO, ejectela (tomar un minuto recoger


toda la informacin de hardware de su computadora). El programa mostrar automticamente
una pantalla llamada "Resumen del sistema", donde se mostrar el fabricante y el modelo de
la placa base en la columna derecha, en "Motherboard".
Figure 4: Identifying your motherboard manufacturer and model with HWiNFO64

Introduccin a la nueva arquitectura de microprocesadores de INTELS

Sandy Bridge es el nombre de la nueva microarquitectura Intel CPUs est utilizando a partir de
2011. Es una evolucin de la microarquitectura Nehalem que se introdujo por primera vez en
el Core i7 y tambin se utiliza en los procesadores Core i3 y Core i5.

Si no sigues el mercado de la CPU de cerca, vamos a hacer una rpida recapitulacin. Despus
de que el Pentium 4, basado en la microarquitectura de Intel de la 7 generacin, llamada
Netburst, decidi volver a su microarquitectura de 6 generacin (la misma usada por Pentium
Pro, Pentium II y Pentium III, P6), lo que result ser Ser ms eficientes. De la CPU Pentium M
(que es una CPU Intel de sexta generacin), Intel desarroll la arquitectura Core, que se utiliz
en la serie de procesadores Core 2 (Core 2 Duo, Core 2 Quad, etc.). Luego, Intel consigui esta
arquitectura, la modific un poco ms (la principal innovacin fue la adicin de un controlador
de memoria integrado) y lanz la microarquitectura Nehalem, que se utiliz en las series de
procesadores Core i3, Core i5 y Core i7. Y, a partir de esta microarquitectura, Intel desarroll la
microarquitectura Sandy Bridge, que fue utilizada por la nueva generacin de procesadores
Core i3, Core i5 y Core i7 en 2011 y 2012.

Para una mejor comprensin del presente tutorial, le recomendamos que lea los siguientes
tutoriales, en este orden particular:

Inside Pentium M Architecture


Inside Intel Core Microarchitecture
Inside Intel Nehalem Microarchitecture

Las principales especificaciones de la microarquitectura Sandy Bridge se resumen a


continuacin. Los explicaremos con mayor detalle en las prximas pginas.

El nortbridge (controlador de memoria, controlador de grficos y controlador PCI Express) est


integrado en el mismo chip que el resto de la CPU. En las CPUs basadas en Nehalem, el
northbridge se encuentra en un chip de silicio separado junto con el chip de silicio de la CPU.
De hecho, con CPUs de Nehalem de 32 nm, el northbridge se fabrica bajo un proceso de 45
nm.
Los primeros modelos utilizan un proceso de fabricacin de 32 nm
Arquitectura de anillo
Nuevo cach de microinstrucciones decodificadas (cach L0, capaz de almacenar 1.536
microinstrucciones, que se traduce en ms o menos a 6 kB)
32 kB de instruccin L1 y 32 kB de cach de datos L1 por ncleo de CPU (sin cambios desde
Nehalem)
El cach de memoria L2 fue renombrado como "cach de nivel medio" (MLC) con 256 kB por
ncleo de CPU
El cach de memoria L3 ahora se llama LLC (Cach de ltimo nivel), ya no est unificado y es
compartido por los ncleos de la CPU y el motor grfico
Tecnologa Turbo Boost de prxima generacin
Nuevo conjunto de instrucciones AVX (Advanced Vector Extensions)
Controlador de grficos mejorado
Controlador de memoria de doble canal DDR3 rediseado que admite memorias hasta DDR3-
1333
Controlador PCI Express integrado que admite un carril x16 o dos carriles x8 (sin cambios
desde Nehalem)
Los primeros modelos utilizan un nuevo socket con 1155 pines

click to enlarge

Figure 1: Sandy Bridge microarchitecture summary

Mejoras en el Pipeline del CPU

Comencemos nuestro viaje hablando de lo nuevo como se procesan las instrucciones en la


microarquitectura de Sandy Bridge.
Hay cuatro decodificadores de instrucciones, lo que significa que la CPU puede decodificar
hasta cuatro instrucciones por ciclo de reloj. Estos decodificadores se encargan de decodificar
instrucciones IA32 (a.k.a. x86) en microinstrucciones de tipo RISC (ops) que son utilizadas
internamente por las unidades de ejecucin de CPU. Al igual que las anteriores CPUs de Intel,
la microarquitectura Sandy Bridge soporta soporta macro y microfusin. La macrofusin
permite al CPU unir dos instrucciones relacionadas x86 en una sola, mientras que la
microfusin une dos relaciona microinstrucciones en una sola. Por supuesto, la meta es
mejorar el rendimiento.

Lo que es completamente nuevo es la adicin de un cach de microinstruccin decodificado,


capaz de almacenar 1.536 microinstrucciones (que se tradujeron ms o menos a 6 kB). Intel se
refiere a este cach como un "cach L0". La idea es obvia. Cuando el programa que est
ejecutando entra en un bucle (es decir, necesita repetir las mismas instrucciones varias veces),
la CPU no necesitar decodificar de nuevo las instrucciones x86: ya estarn decodificadas en el
cach, ahorrando tiempo y mejorando as el rendimiento . Segn Intel, este cach tiene una
tasa de xito del 80%, es decir, se utiliza el 80% del tiempo.

Ahora puede estar preguntndose si esta no es la misma idea utilizada en la microarquitectura


Netburst (es decir, procesadores Pentium 4), que tena un cach trace que tambin
almacenaba microinstrucciones decodificadas. Una trace cach funciona de forma diferente a
un cach de microinstrucciones: almacena las instrucciones en el mismo orden en que se
ejecutaron originalmente. De esta manera, cuando un programa alcanza un bucle que se
ejecuta, digamos, 10 veces, el cach de traza almacenar las mismas instrucciones 10 veces.
Por lo tanto, hay un montn de instrucciones repetidas en la cach de seguimiento. Lo mismo
no sucede con la cach de microinstrucciones, que almacena solo instrucciones decodificadas
individuales.

Cuando se utiliza el cach de microinstrucciones, la CPU coloca el cach de instrucciones L1 y


los decodificadores en "reposo", haciendo que la CPU ahorre energa y funcione ms fra.

La unidad de prediccin de rama fue rediseada y el tamao de bfer de destino de rama


(BDB) se duplic en comparacin con Nehalem, adems ahora utiliza una tcnica de
compresin para permitir que se almacenen an ms datos. La prediccin de la rama es un
circuito que intenta adivinar los prximos pasos de un programa por adelantado, cargando
dentro de la CPU las instrucciones que piensa que la CPU tratar de cargar despus. Si lo hace
bien, la CPU no perder tiempo cargando estas instrucciones de memoria, ya que ya estar
dentro de la CPU. Aumentar el tamao de la BTB permite que este circuito cargue an ms
instrucciones de antemano, mejorando el rendimiento de la CPU.

El planificador utilizado en la microarquitectura Sandy Bridge es similar al utilizado en la


microarquitectura Nehalem, con seis puertos de distribucin, tres puertos utilizados por
unidades de ejecucin y tres puertos utilizados por operaciones de memoria.
Aunque esta configuracin es la misma, la microarquitectura Sandy Bridge tiene ms unidades
de ejecucin: mientras que la microarquitectura Nehalem tiene 12, el puente Sandy tiene 15,
vase la figura 2. Segn Intel, se redisearon para mejorar el punto flotante ( Es decir,
operaciones matemticas).
click to enlarge
Figure 2: Execution units (standard configuration)

Cada unidad de ejecucin est conectada al planificador de instrucciones utilizando un


datapath de 128 bits. Para ejecutar las nuevas instrucciones de AVX, que llevan datos de 256
bits, en lugar de agregar a la CPU 256 bit de datos y unidades de 256 bits, dos unidades de
ejecucin se "fusionan" (es decir, se utilizan al mismo tiempo), como Se puede ver en la Figura
3.

click to enlarge
Figure 3: Execution units (when running AVX instructions)

Despus de que se ejecuta una instruccin, no se copia de nuevo al bfer de reordenamiento


como ocurri en arquitecturas anteriores de Intel, sino que se indica en una lista que se hace.
De esta manera, la CPU ahorra bits y mejora la eficiencia.
Otra diferencia est en los puertos de memoria. La microarquitectura de Nehalem tiene una
carga, una direccin de almacn y una unidad de datos de almacenamientos, cada una
conectada a un puerto de despacho individual. Esto significa que los procesadores basados en
Nehalem pueden cargar desde el cach de datos L1 128 bits de datos por ciclo.

En la microarquitectura Sandy Bridge, la carga y las unidades de direcciones de almacn se


pueden usar como una unidad de carga o una unidad de direccin de almacn. Este cambio
permite cargar dos veces ms datos del cach de datos L1 al mismo tiempo (utilizando dos
unidades de 128 bits al mismo tiempo en vez de slo una), mejorando as el rendimiento. De
esta manera, los procesadores basados en Sandy Bridge pueden cargar 256 bits de datos del
cach de datos L1 por ciclo.

click to enlarge
Figure 4: Sandy Bridge Microarchitecture

El conjunto de instrucciones AVX

Hace un tiempo, AMD propuso un conjunto de instrucciones SSE5. Sin embargo, Intel decidi
crear su propia implementacin de lo que sera las instrucciones SSE5, llamado AVX (Advanced
Vector Extensions).
Estas instrucciones utilizan el mismo concepto SIMD (Single Instruction, Multiple Data)
introducido con el conjunto de instrucciones MMX y utilizado por las instrucciones SSE
(Streaming SIMD Extensions). Este concepto consiste en utilizar un solo registro grande para
almacenar varios datos de pequeo tamao y luego procesar todos los datos con una nica
instruccin, acelerando el procesamiento.

El conjunto de instrucciones AVX agrega 12 nuevas instrucciones y aumenta el tamao de los


registros XMM de 128 bits a 256 bits.
Puede encontrar informacin detallada sobre el nuevo conjunto de instrucciones de AVX aqu
(consulte la Referencia de Programacin de Extensiones Avanzadas de Intel).

La arquitectura del anillo

Los procesadores basados en Sandy Bridge tendrn una arquitectura de anillo para que los
componentes internos de la CPU se comuniquen entre s. Cuando un componente quiere
"hablar" con otro componente, pone la informacin en el anillo y el anillo mover esta
informacin hasta que llegue a su destino. Los componentes no hablan entre s directamente,
tienen que usar el anillo. Los componentes que utilizan el anillo incluyen los ncleos de la CPU,
cada cach de memoria L3 (que ahora se llama Cach de ltimo nivel o LLC y no est unificado,
vase la Figura 5), el agente del sistema (controlador de memoria integrado, controlador PCI
Express, control de energa Unidad y pantalla), y el controlador grfico.

En la Figura 5 se puede ver el anillo (lnea negra) con sus "stops" (cajas rojas). Es importante
entender que el anillo est fsicamente ubicado sobre los cachs de memoria (imagine un
telesqu donde cada caja roja es una parada) - ya que la ilustracin es bidimensional, puede
tener la impresin de que los cables de anillo funcionan dentro de la memoria cach , Que no
es el caso.
Adems, cada cach de ltimo nivel no est vinculado a un ncleo de CPU particular. Cualquier
ncleo puede utilizar cualquiera de las cachs. Por ejemplo, en la Figura 5, tenemos una CPU
de cuatro ncleos con cuatro cachs de ltimo nivel. El ncleo 1 no est vinculado a la cach 1;
Puede utilizar cualquiera de las cachs. Esto tambin significa que cualquier ncleo de la CPU
puede acceder a los datos almacenados en cualquiera de las caches.

click to enlarge
Figure 5: The ring architecture (black line with red stops)

Turbo Boost de prxima generacin

Turbo Boost es una tecnologa que automticamente sobrecarga la CPU cuando la CPU "pide"
ms poder de procesamiento. En la microarquitectura Sandy Bridge, esta tecnologa fue
revisada para permitir que la CPU supere su TDP (Thermal Design Power) durante 25 segundos,
es decir, para disipar ms calor de lo que se permite oficialmente. Esto es posible porque el
disipador de calor y los componentes estn todava fros. Vea la Figura 6.

click to enlarge
Figure 6: Next generation Turbo Boost

Adems, los ncleos de la CPU y el controlador de grficos "comparten" TDP entre ellos. Por
ejemplo, si el ncleo grfico no disipa mucho calor, esto le da un TDP adicional a los ncleos de
la CPU, lo que les permite funcionar a una velocidad de reloj ms alta ya un TDP ms alto que
la clasificacin oficial Power "en la Figura 7), si las aplicaciones estn demandando ms
potencia de procesamiento, por supuesto. Vea la Figura 7.

click to enlarge
Figure 7: TDP can be balanced between CPU cores and graphics processor

El motor grfico integrado

El procesador grfico integrado en los procesadores basados en Sandy Bridge tendr un motor
DirectX 10.1. Como se explic en la primera pgina de este tutorial, estar disponible en el
mismo chip de silicio que el resto de la CPU, en lugar de estar disponible en un chip separado
pero "pegado" junto con la CPU dentro del mismo paquete.
En la Figura 8, tiene una mirada general al procesador grfico Sandy Bridge.

click to enlarge
Figure 8: Sandy Bridge graphics processor

El nmero de unidades de ejecucin ("procesadores") depender de la CPU (por ejemplo, las


CPU Core i5 tendrn ms unidades de ejecucin que las partes Core i3). Los procesadores
Sandy Bridge pueden tener hasta 12 unidades de ejecucin de grficos.
Si presta mucha atencin en la Figura 8, ver que "Display" y "Graphics" estn en partes
separadas de la CPU. Esto se puede leer como "2D" y "3D", y ayuda a la CPU a ahorrar energa
apagando el procesador grfico cuando no est jugando.
Otra innovacin importante es que el motor grfico puede utilizar el ltimo nivel de cach
(LLC, anteriormente conocido como cach de memoria L3) para almacenar datos,
especialmente texturas. Esto mejora el rendimiento en 3D, ya que el motor grfico no necesita
ir a la RAM para buscar datos, puede cargar datos directamente desde la cach (si ya est all,
por supuesto).

You might also like