-
COMO TRABAJA LA CPU
Aunque cada microprocesador tiene su propio diseo interno,
microprocesadores todos comparten un mismo concepto bsico que vamos
a explicar en este tutorial. Tomamos un vistazo dentro de una
arquitectura genrica de la CPU, as que usted ser capaz de entender
ms acerca de los productos Intel y AMD y las diferencias entre
ellos.
La CPU (Unidad Central de procesamiento) que tambin se llama
microprocesador o procesador est a cargo de procesamiento de datos.
Cmo procesar datos depender del programa. El programa puede ser una
hoja de clculo, un procesador de texto o un juego: para el CPU no
hace ninguna diferencia, ya que no entiende lo que est haciendo el
programa. Solo sigue las rdenes (llamados comandos o instrucciones)
contenidas dentro del programa. Estas rdenes pueden ser para sumar
dos nmeros o para enviar un dato a la tarjeta de video, por
ejemplo.
Cuando usted haga doble clic en un icono para ejecutar un
programa, esto es lo que ocurre:
1. el programa, que se almacena dentro de la unidad de disco
duro, se transfiere a la memoria RAM. Un programa es una serie de
instrucciones a la CPU.
2. la CPU, usando un circuito llamado controlador de memoria,
carga los datos del programa de la memoria RAM.
3. los datos, ahora dentro de la CPU, es procesados.
4. Lo que ocurre a continuacin depender del programa. La CPU
poda continuar para cargar y ejecutar el programa o podra hacer
algo con los datos procesados, como algo que se muestra en la
pantalla.
click to enlarge Figure 1: How stored data is transferred to the
CPU.
En el pasado, la CPU controlaba la transferencia de datos entre
la unidad de disco duro y la memoria RAM. Desde el disco duro es ms
lento que la memoria RAM, esto hace lento el sistema, ya que la CPU
sera ocupada hasta que todos los datos fueran trasladados desde la
unidad de disco duro a la memoria RAM. Este mtodo se llama PIO,
procesador de entrada-salida (o entrada-salida programado). Hoy en
da la transferencia de datos entre la unidad de disco duro y la
memoria RAM se han hecho sin utilizar la CPU, as que el sistema es
ms rpido. Este mtodo se llama autobs dominar o DMA (acceso directo
de memoria). Para simplificar nuestro dibujo no ponemos el chip
puente norte entre la unidad de disco duro y la memoria RAM en la
figura 1, pero est ah. Los procesadores de AMD basados en zcalos
754, 939 y 940 (Athlon 64, Athlon 64 X 2, Athlon 64 FX, Opteron y
algunos modelos Sempron) tienen un controlador de memoria
integrado. Esto significa que para estos procesadores CPU acceda a
la memoria RAM directamente, sin utilizar el chip del puente norte
que se muestra en la figura 1.
Reloj
Qu es reloj? Reloj es una seal que se utiliza para sincronizar
las cosas dentro de la computadora. Echa un vistazo en la figura 2,
donde se nos muestran una seal de reloj tpicas: es una onda
cuadrada cambia de "0" a "1" a una tasa fija. En esta figura vemos
tres ciclos de reloj completo ("TICs"). El comienzo de cada ciclo
es cuando la seal de reloj va de "0" a "1"; esto hemos marcado con
una flecha. La seal del reloj se mide en
-
hercios (Hz), una unidad que es el nmero del reloj ciclos por
segundo. Un reloj de 100 MHz significa que hay 100 millones de
ciclos de reloj en un segundo.
Figura 2: Seal de reloj. En la computadora, los tiempos se miden
en trminos de ciclos de reloj. Por ejemplo, una memoria RAM con una
latencia "5" los medios que retrasar reloj completo cinco ciclos
para iniciar la entrega de datos. Dentro de la CPU, todas las
instrucciones de retrasan un cierto nmero de ciclos de reloj para
llevar a cabo. Por ejemplo, una instruccin dada puede retrasar
siete ciclos de reloj para ser ejecutado completamente. Con
respecto a la CPU, lo interesante es que la CPU sabe cuantos ciclos
de reloj se llevar cada instruccin, porque tiene una tabla que
muestra esta informacin. As que si tiene dos instrucciones a
ejecutarse y sabe que el primero va a demorar siete ciclos de reloj
para ser ejecutado, automticamente comenzar la ejecucin de la
siguiente instruccin en el 8 pulso de reloj. Por supuesto esto es
una explicacin genrica para una CPU con unidad de una sola ejecucin
procesadores modernos tienen varias unidades de ejecucin trabajando
en paralelo y puede ejecutar la instruccin al mismo tiempo como el
primer, segunda en paralelo. Esto se llama Arquitectura
superescalar y hablaremos ms sobre esto ms adelante. Cmo el reloj
tiene que ver con el rendimiento? Pensar que el reloj y el
rendimiento es la misma cosa es el error ms comn acerca de los
procesadores. Si comparas dos CPUs completamente idnticas, el
correr a una velocidad de reloj superior ser ms rpido. En este
caso, con una mayor tasa de reloj, el tiempo entre cada ciclo de
reloj ser ms corto, as que las cosas van a realizarse en menos
tiempo y el rendimiento ser mayor. Pero cuando se comparan dos
procesadores diferentes, esto no es necesariamente cierto. Si usted
consigue dos procesadores con arquitecturas diferentes por ejemplo,
dos diferentes fabricantes, como Intel y AMD cosas dentro de la CPU
son completamente diferentes. Como hemos mencionado, cada
instruccin toma un cierto nmero de ciclos de reloj para ser
ejecutado. Digamos que procesador "A" lleva siete ciclos de reloj
para llevar a cabo una instruccin dada, y ese procesador "B" lleva
cinco ciclos de reloj para llevar a cabo esta misma instruccin. Si
se estn ejecutando en la misma velocidad de reloj, procesador "B"
ser ms rpido, porque puede procesar esta instruccin es menos
tiempo. Para CPUs modernas all es mucho ms en el juego de
rendimiento, como CPUs tienen diferente nmero de unidades de
ejecucin, cach diferentes tamaos, diferentes formas de
transferencia de datos dentro de la CPU, diferentes formas de
procesar las instrucciones dentro de las unidades de ejecucin,
distintas del reloj de tarifas con el mundo exterior, etc.. No se
preocupe; cubrimos todo lo que en este tutorial. Como la seal de
reloj del procesador se convirti muy alta, se present un problema.
La placa base donde est instalado el procesador podra no funcionar
usando la misma seal de reloj. Si nos fijamos en una motherboard,
ver varias pistas o senderos. Estas pistas son los cables que
conectan los distintos circuitos de la computadora. El problema es
que con mayores tasas de reloj, estos cables comenz a trabajar como
antenas, entonces la seal, en vez de llegar en el otro extremo del
cable, simplemente desaparecera, se transmite como ondas de
radio.
-
Figura 3: Los cables de la placa base pueden trabajar como
antenas.
Reloj externo
As que los fabricantes de CPU comenzaron a utilizar un nuevo
concepto, denominado multiplicacin de reloj, que se inici con el
procesador 486DX2. Bajo este esquema, que se utiliza hoy en da en
todas las CPU, la CPU tiene un reloj externo, que se utiliza para
transferir datos desde y hacia la memoria RAM (usando el chip
puente norte) y un reloj interno mayor. Para dar un ejemplo real,
en un 3,4 GHz Pentium 4 esta "3,4 GHz" se refiere al reloj interno
de la CPU, que se obtiene multiplicando por 17 su reloj externo de
200 MHz. Nos ilustra este ejemplo en la figura 4.
Haz clic para agrandar
Figura 4: Relojes internos y externos en un Pentium 4 3,4
GHz.
La gran diferencia entre el reloj interno y el reloj externo en
CPUs modernas es una mayor obstculo a superar para aumentar el
rendimiento del equipo. Continuando con el ejemplo de 3,4 GHz
Pentium 4, tiene que reducir su velocidad por x 17 cuando tiene que
leer los datos de memoria RAM. Durante este proceso, funciona como
si se tratara de una CPU de 200 MHz. Se utilizan varias tcnicas
para minimizar el impacto de esta diferencia de reloj. Uno de ellos
es el uso de una memoria cach dentro de la CPU. Otro es transferir
ms de un pedazo de datos por ciclo de reloj. Procesadores de AMD y
de Intel utilizan esta caracterstica, pero mientras que AMD CPU
transferir dos datos por ciclo de reloj, CPUs de Intel transferir
cuatro datos por ciclo de reloj.
-
Figura 5: Transferencia de datos ms de una por ciclo de
reloj.
Debido a ello, CPU de AMD estn diseadas como tener el doble de
sus relojes externas reales. Por ejemplo, una CPU de AMD con un
reloj externo 200 MHz est catalogado como de 400 MHz. Lo mismo
ocurre con CPUs de Intel: una CPU Intel con un reloj externo 200
MHz est catalogado como tener un reloj externo de 800 MHz. La
tcnica de transferencia de dos datos por ciclo de reloj se llama
DDR (Dual Data Rate), mientras que la tcnica de transferencia de
cuatro datos por ciclo de reloj se llama QDR (Quad Data Rate).
Diagrama de bloques de una CPU
En la figura 6 vemos un diagrama de bloques bsicos para una CPU
moderna. Hay muchas diferencias entre AMD e Intel arquitecturas
(leer dentro de Pentium 4 arquitectura para una visin detallada
sobre la arquitectura de Pentium 4). Entender el diagrama bsico de
una CPU moderna es el primer paso para entender cmo funcionan los
CPUs de Intel y AMD y las diferencias entre ellos.
Figura 6: Diagrama de bloques bsico de un CPU.
La lnea punteada en la figura 6 representa el cuerpo de la CPU,
como la memoria RAM se encuentra fuera de la CPU. El camino de
datos entre la memoria RAM y la CPU es generalmente de 64 bits de
ancho (o 128 bits cuando se utiliza la configuracin de memoria de
doble canal), corriendo en el reloj de la memoria o el reloj
externo de CPU, cul es menor. El nmero de bits utilizados y la
tarifa de reloj puede combinarse en una unidad llamada tasa de
transferencia, medido en MB/s. La frmula para calcular la tasa de
transferencia, es el nmero de bits x reloj / 8. Para un sistema
utilizando memorias DDR400 en configuracin monocanal (64 bits) la
tasa de transferencia de memoria ser 3.200 MB/s, mientras que el
mismo sistema utilizando memorias dual channel (128 bits) tendr un
6.400 MB/s de velocidad de transferencia de memoria. Todos los
circuitos dentro de la caja punteada en el reloj interno de la CPU.
Dependiendo de la CPU hasta algunas de sus partes internas pueden
correr a una velocidad de reloj superior. Tambin, el camino de
datos entre las unidades de la CPU puede ser ms amplio, es decir,
la transferencia ms bits por ciclo de reloj de 64
-
o 128. Por ejemplo, el camino de datos entre la memoria cach de
L2 y la cach de instrucciones L1 en procesadores modernos es
generalmente de 256 bits. Cuanto mayor sea el nmero los bits
transferidos por ciclo de reloj, el ayuno la transferencia se
realizar (en otras palabras, la tasa de transferencia ser ms alta).
En la figura 6 se utiliz una flecha roja entre la memoria RAM y las
flechas L2 memoria cach y verde entre todos los otros bloques para
expresar las tarifas de reloj diferentes y datapath ancho
utilizado.
Memoria cach
Memoria cach es una clase de alto rendimiento de la memoria,
tambin llamada memoria esttica. El tipo de memoria utilizada en la
memoria RAM principal del ordenador se llama memoria dinmica.
Memoria esttica consume ms energa, es ms caro y es fsicamente ms
grande que la memoria dinmica, pero es mucho ms rpido. Puede
trabajar en el mismo reloj como la CPU, que memoria dinmica no es
capaz de. Desde que el "mundo exterior" recuperar datos hace la CPU
para trabajar a una velocidad de reloj ms baja, se utiliza la
tcnica de memoria cach. Cuando la CPU carga un dato de una
determinada posicin de memoria, un circuito llamado controlador de
memoria cach (no dibujado en la figura 6 en nombre de la
simplicidad) carga en la memoria cach un bloque entero de datos
debajo de la posicin actual que slo se ha cargado la CPU. Desde
generalmente programas de flujo de forma secuencial, la siguiente
posicin de memoria la CPU solicitar probablemente ser la posicin
inmediatamente debajo de la posicin de memoria que ha cargado.
Puesto que el controlador de memoria cach ya cargado un montn de
datos debajo de la primera posicin de memoria leda por la CPU, la
siguiente informacin ser dentro de la memoria cach, por la CPU no
necesita salir a buscar los datos: ya est cargada dentro de la
memoria cach incrustado en la CPU, que se puede acceder a su
velocidad de reloj interno. El controlador de cach siempre est
observando las posiciones de memoria estn cargados y cargar datos
desde varias posiciones de memoria despus de la posicin de memoria
que slo se ha ledo. Para dar un ejemplo, si la CPU carga los datos
almacenados en la direccin de 1.000, el controlador de memoria cach
carga los datos de direcciones de "n" despus de la direccin de
1.000. Este nmero "n" se titula la pgina; Si un determinado
procesador est trabajando con pginas de 4 KB (que es un valor
tpico), se cargar datos de 4.096 direcciones debajo de la actual
posicin de memoria que carga (Direccin 1.000 en nuestro ejemplo).
Por cierto, 1 KB equivale a 1.024 bytes, por eso es de 4 KB 4.096
no 4.000. En la figura 7 Ilustramos este ejemplo.
Figura 7: Cmo funciona el controlador de memoria cach.
Cuanto mayor sea la memoria cach, ms las posibilidades de los
datos requeridos por la CPU ya estn all, la CPU va a necesitar
acceder directamente a memoria RAM menos a menudo, aumentando as el
rendimiento del sistema (recuerda que cada vez que la CPU necesita
acceder directamente a la memoria RAM es necesario bajar su tasa de
reloj para esta operacin). Lo llamamos un "hit" cuando la CPU carga
un datos requeridos de la cach, y llamamos a una "seorita" si los
datos requeridos no est ah y la CPU necesita acceder al sistema de
memoria RAM. L1 y L2 significa "Nivel 1" y "Nivel 2",
respectivamente y se refiere a la distancia son el ncleo de la CPU
(unidad de ejecucin). Una duda comn es por tener que tres separadas
memorias cache (cach de datos L1, cach de instrucciones L1 y L2
cache). Preste atencin a la figura 6 y usted ver que cach de
instrucciones L1 funciona como una "cach de entrada", mientras que
la memoria cach de datos L1 funciona como una "cach". Cach de
instrucciones L1 que es generalmente ms pequeo que la cach L2
es
-
particularmente eficaz cuando el programa comienza a repetir una
pequea parte de l (lazo), porque las instrucciones necesarias sern
cercanos a la unidad de recuperacin. En las especificaciones de
pgina de una CPU, la memoria cach L1 puede encontrarse con
diferentes tipos de representacin. Algunos fabricantes de lista la
cach L1 dos por separado (algunas veces llamada la cach de
instrucciones como "Yo" y la cach de datos como "D"), algunos aaden
la cantidad de los dos y escribe "separado" as una "128 KB,
separada" significara 64 KB de cach para instrucciones y 64 KB de
cach de datos y algunos simplemente aaden los dos y tienes que
adivinar que la cantidad es total y se debe dividir por dos para
obtener la capacidad de cada cach. La excepcin, sin embargo, va al
Pentium 4 y nuevos Celeron CPU basadas en sockets 478 y 775. Los
procesadores Pentium 4 (y los procesadores Celeron con zcalos 478 y
775) no tienen una cach de
instrucciones L1, en cambio tienen un cach de seguimiento de
ejecucin, que es una cach situada entre la
decodificacin y la unidad de ejecucin. As, el cach de
instrucciones L1 est all, pero con un nombre
diferente y una ubicacin diferente. Mencionamos esto aqu porque
esto es un error muy comn, pensar que
los procesadores Pentium 4 no tienen cach de instrucciones L1.
As que cuando Pentium 4 en comparacin
con otras CPUs pensaran que su cach L1 es mucho menor, porque
slo cuentan la cach de datos L1 de 8
KB. El cach de seguimiento de ejecucin de Pentium 4 y Celeron
CPU es de 150 KB y debe ser tomado en
cuenta, por supuesto.
Ramificacin
Como hemos mencionado varias veces, uno de los principales
problemas para el CPU tiene demasiados cach, porque la unidad de
recuperacin debe acceder directamente a la lenta memoria RAM,
frenando as el sistema. El uso de la memoria cach evita
generalmente esto mucho, pero hay una situacin tpica donde se
perder el controlador de memoria cach: ramas. Si en el medio del
programa hay una instruccin JMP ("salto" o "ir a") convoc el
programa a una posicin de memoria completamente diferente, esta
nueva posicin no deben ser colocado en la memoria cach de L2,
haciendo la unidad trae a buscar esa posicin directamente en la
memoria RAM. Para solucionar este problema, el controlador de
memoria cach de CPU modernos analizar el bloque de memoria cargada
y cuando se encuentra una instruccin JMP en all se cargar el bloque
de memoria para esa posicin en la memoria cach de L2 antes de que
la CPU alcance esa instruccin JMP.
Figura 8: Situacin de ramificacin incondicional.
Esto es bastante fcil de implementar, el problema es cuando el
programa tiene una ramificacin condicional, es decir, la direccin
del programa debera ir a depende de una condicin todava no se sabe.
Por ejemplo, si a = < b ir a direccin 1, o si un > b ir a
Direccin 2. Ilustramos este ejemplo en la figura 9. Esto hara un
cache miss, porque los valores de a y b son desconocidos y el
controlador de memoria cach estara buscando solamente instrucciones
JMP-como. La solucin: el controlador de memoria cach carga ambas
condiciones en la memoria cach. Ms tarde, cuando la CPU procesa la
instruccin de ramificacin, simplemente se descarta que no ha sido
elegido. Es mejor cargar la memoria cach con datos innecesarios que
accediendo directamente a la memoria RAM.
-
Figura 9: Situacin de ramificacin condicional.
Instrucciones de procesamiento
La unidad fetch est a cargo de cargar las instrucciones de la
memoria. En primer lugar, se ver si la instruccin requerida por la
CPU se encuentra en la cach de instrucciones L1. Si no es as, va a
la memoria cach de L2. Si la instruccin tambin no existe, entonces
tiene que cargar directamente desde la memoria RAM de sistema
lento. Cuando enciendes tu PC todas las cachs estn vacas, por
supuesto, pero como el sistema empieza a cargar el sistema
operativo, la CPU inicia las primeras instrucciones de
procesamiento se carga desde el disco duro y el controlador de
memoria cach inicia cargando las cachs y comienza el show. Despus
de que la unidad trae agarr la instruccin necesaria para ser
procesados por la CPU, lo enva a la unidad de decodificacin. La
unidad de decodificacin entonces se darn cuenta de lo que hace esa
instruccin particular. Lo hace mediante la consulta de una memoria
ROM que existe dentro de la CPU, llamada microcdigo. Cada
instruccin que entiende una determinada CPU tiene su propio
microcdigo. El microcdigo "ensear" la CPU qu hacer. Es como una gua
paso a paso todas las instrucciones. Si la instruccin cargada es,
por ejemplo, agregar a + b, su microcdigo dir la unidad de
decodificacin que necesita dos parmetros, a y b. La unidad de
decodificacin entonces solicitar la unidad trae a tomar los datos
presentes en las posiciones de dos prximas memoria, que ajuste los
valores de a y b. Despus de la unidad de decodificacin "tradujo" la
instruccin y tom todos los datos necesarios para ejecutar la
instruccin, se le pasar todos los datos y el "libro de cocina paso
a paso" sobre cmo ejecutar la instruccin a la unidad de ejecucin.
La unidad de ejecucin finalmente ejecuta la instruccin. En CPUs
modernas encontrar ms de una unidad de ejecucin trabajando en
paralelo. Esto se hace con el fin de aumentar el rendimiento del
procesador. Por ejemplo, una CPU con seis unidades de ejecucin
puede ejecutar seis instrucciones en paralelo, as que en teora
podra alcanzar el mismo rendimiento de seis procesadores con unidad
de una sola ejecucin. Este tipo de arquitectura se llama
Arquitectura superescalar.
Generalmente CPUs modernas no tienen varias unidades de ejecucin
idnticas; tienen unidades especializadas en un tipo de
instrucciones de ejecucin. El mejor ejemplo es el FPU, unidad de
punto flotante, que se encarga de ejecutar instrucciones de clculos
complejos. Generalmente entre la unidad de decodificacin y la
ejecucin unidad es una unidad (llamada unidad de expedicin o de
horario) a cargo de envo de la instruccin a la unidad de ejecucin
correcta, es decir, si la instruccin es una instruccin de
matemticas lo enviar el FPU y no a la unidad de una ejecucin
"genricos". Por cierto, unidades de ejecucin "genrico" se llaman
ALU, unidad lgica y aritmtica. Finalmente, cuando el proceso haya
terminado, el resultado se enva a la cach de datos L1. Continuando
nuestro a + b ejemplo, add el resultado sera enviado a la cach de
datos L1. Este resultado se puede entonces enviar memoria RAM o a
otro lugar, como la tarjeta de video, por ejemplo. Pero esto
depender de la siguiente instruccin que va a ser procesada a
continuacin (podra ser la siguiente instruccin "imprimir el
resultado en la pantalla"). Otra caracterstica interesante que los
microprocesadores tienen durante mucho tiempo se llama "tubera",
que es la capacidad de tener varias instrucciones diferentes en
diferentes etapas de la CPU al mismo tiempo. Despus de que la
unidad trae haba enviado la instruccin a la unidad de
decodificacin, va a ser inactivo, verdad? Entonces, por qu en lugar
de no hacer nada, ponga la unidad trae para tomar la siguiente
-
instruccin? Cuando la primera instruccin va a la unidad de
ejecucin, la unidad de recuperacin puede enviar la segunda
instruccin a la unidad de decodificacin y agarrar la tercera
instruccin y as sucesivamente. En una CPU moderna con una tubera de
11 etapas (etapa es otro nombre para cada unidad de la CPU),
probablemente tendr 11 instrucciones en su interior al mismo tiempo
casi todo el tiempo. De hecho, puesto que las CPUs modernas tienen
una Arquitectura superescalar, el nmero de instrucciones
simultneamente dentro de la CPU ser an mayor. Tambin, por un
oleoducto de 11 etapas CPU, una instruccin a ejecutarse totalmente
tendr que pasar a travs de 11 unidades. Cuanto mayor sea el nmero
de etapas, cuanto mayor sea el tiempo una instruccin va a demorar
para realizarse plenamente. Por otro lado, 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 demorar 11 pasos para salir de ella, pero una vez que
sale, va a salir la segunda instruccin despus de l (y no otro 11
pasos ms adelante). Hay varios otros trucos utilizados por CPUs
modernas para aumentar el rendimiento. Vamos a explicar dos de
ellos, fuera de la orden de ejecucin (OOO) y ejecucin
especulativa.
Ejecucin fuera de orden (OOO) [Out-Of-Order Execution (OOO)]
Recuerdas que dijimos que CPUs modernos tienen varias unidades
de ejecucin trabajando en paralelo? Tambin dijimos que existen
diferentes tipos de unidades de ejecucin como ALU, que es una
unidad de ejecucin genrica, y FPU, que es una unidad de ejecucin de
las matemticas. Como un ejemplo genrico para entender el problema,
digamos que una determinada CPU tiene seis motores de ejecucin,
cuatro "genricos" y dos FPU. Supongamos tambin que el programa
tiene el siguiente flujo de instrucciones 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? La unidad de
programacin/despacho enviar las cuatro primeras instrucciones a los
cuatro ALUs pero luego, en la Quinta instruccin, la CPU tendr que
esperar para uno de sus ALUs estar libre para continuar el
procesamiento, ya que todas sus unidades de ejecucin genrica cuatro
estn ocupadas. Eso no es bueno, porque todava tenemos dos unidades
de matemticas (FPU) disponibles, y estn ociosas. Entonces, una CPU
con ejecucin fuera de orden (todas las CPU modernas tienen esta
caracterstica) analizar la siguiente instruccin para ver si se
puede enviar a una de las unidades de ralent. En nuestro ejemplo,
no puede, porque la sexta instruccin tambin necesita una ALU para
ser procesados. El motor fuera de orden contina su bsqueda y
descubre que la instruccin sptima es una instruccin de matemticas
que se puede ejecutar en una de las FPU disponibles. Desde el otro
FPU todava estar disponible, va a bajar el programa buscando otra
instruccin de matemticas. En nuestro ejemplo, se pasarn a las ocho
y el nueve instrucciones y cargar la instruccin dcima. As, en
nuestro ejemplo, las unidades de ejecucin se se procesa, en al
mismo tiempo, el primer, el segundo, el tercero, el cuarto, el
sptimo y las dcima instrucciones.
Fuera de servicio (out-of-order) el nombre viene del hecho de
que la CPU no necesita esperar; puede tirar una instruccin desde el
fondo del programa y procesarla antes de que se procesan las
instrucciones de
arriba. Por supuesto el motor fuera de orden no puede ir siempre
buscando una instruccin si no puede
encontrar uno. El motor fuera del orden de todas las CPU tiene
un lmite de profundidad en la cual pueden
arrastrarse buscando instrucciones (valor tpico sera 512).
Ejecucin especulativa
Supongamos que una de estas instrucciones genricas es una
ramificacin condicional. Qu har el motor fuera de orden? Si la CPU
implementa una caracterstica denominada ejecucin especulativa
(todas las CPUs do), ejecutar ambas ramas. Considere el siguiente
ejemplo: 1. instruccin genrica 2. genrica instruccin 3. si a = <
b ir a la instruccin 15
-
4. genrica instruccin 5. genrica instruccin 6. instruccin
genrica 7. instruccin de matemticas 8. instruccin genrica 9.
instruccin genrica 10. instruccin de matemticas 15. instruccin de
matemticas 16. genrica instruccin Cuando el motor fuera de orden
analiza este programa, tirar instruccin 15 en uno de la FPU, puesto
que necesitar una matemtica para llenar uno de la FPU que de lo
contrario sera ocioso. As que en un momento dado podramos tener
ambas ramas est procesadas al mismo tiempo. Si cuando la CPU
termina de procesar la tercera instruccin una es mayor que b, el
descarte simple voluntad de CPU el procesamiento de instrucciones
15. Pensars que esto es una prdida de tiempo, pero en realidad no
es. No cuesta nada a la CPU para ejecutar la instruccin particular,
porque el FPU sera de otra manera ocioso de todos modos. Por otra
parte, si a = < b la CPU tendr una mejora en el rendimiento,
desde cuando la instruccin 3 pida instrucciones 15 ser ya
procesada, va directamente a la instruccin 16 o incluso ms, si la
instruccin 16 tambin ya ha sido procesada por el motor fuera de
orden. Por supuesto todo lo explicado en este tutorial es una
simplificacin con el fin de hacer ms fcil de entender
este tema muy tcnico. (Leer de la Pentium 4 arquitectura para
estudiar la arquitectura de un procesador
especfico).
Arquitectura interior Pentium 4
Introduccin
En este tutorial le explicaremos cmo Pentium 4 funciona de una
forma fcil seguir la lengua. Usted aprender cmo su arquitectura
funciona as que usted ser capaz de comparar ms precisamente a los
procesadores anteriores de Intel y los competidores de AMD. Nuevos
procesadores Celeron y Pentium 4 utilizan sptima generacin la
arquitectura de Intel, tambin llamada Netburst. Su aspecto general
que se puede ver en la figura 1. No te asustes. Vamos a explicar
profundamente lo que trata este diagrama. Para continuar, sin
embargo, tienes que haber ledo "Cmo un CPU funciona".All explicamos
los conceptos bsicos acerca de cmo funciona un CPU. En el presente
tutorial que suponemos que ya lo ha ledo, as que si no, por favor
tome un momento para leerlo antes de continuar, de lo contrario
encontrar usted mismo un poco perdido.
Figura 1: Pentium 4 diagrama de bloques.
-
Aqu estn las diferencias bsicas entre la arquitectura de Pentium
4 y la arquitectura de otras CPUs: Externamente, la Pentium 4
transfiere cuatro datos por ciclo de reloj. Esta tcnica se llama
QDR (Quad Data Rate) y hace el autobs local que tienen un
rendimiento cuatro veces su actual tarifa de reloj, consulte la
siguiente tabla. En la figura 1, esto se muestra en "3,2 GB/s
sistema interfaz"; desde esta diapositiva se produjo cuando fue
lanzado el primer Pentium 4, se menciona el bus del sistema "400
MHz".
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 camino de datos entre la memoria
cach de L2 ("L2 cache y control" en la figura 1) y cach de datos L1
("Memoria cach L1 D y D-TLB" en la figura 1) es de 256-bit ancho.
En los procesadores anteriores de Intel este datapath era de slo 64
bits. As que esta comunicacin puede ser cuatro veces ms rpida que
los procesadores de generaciones anteriores cuando se ejecuta en el
mismo reloj. El camino de datos entre la memoria cach L2 ("L2 cache
y control" en la figura 1) y la unidad de pre-fetch ("BTB &
-TLB" en la figura 1), sin embargo, sigue siendo todo el 64-bit. La
L1 cach de instrucciones fue reubicado. En lugar de ser antes de la
unidad de recuperacin, la cach de instrucciones L1 es ahora despus
de la unidad de decodificacin, con un nuevo nombre, "Cach de
seguimiento". Cach de seguimiento de esta puede contener hasta 12 K
microinstrucciones. Puesto que cada microinstruction es 100 bits de
ancho, el cach de seguimiento es de 150 KB (12 K x 100 / 8). En los
errores ms comunes la gente hace cuando comentando la arquitectura
Pentium 4 est diciendo que Pentium 4 no tiene en absoluto ninguna
cach de instrucciones. Eso no es verdad. Es all, pero con otro
nombre y una ubicacin diferente. Pentium 4 hay 128 registros
internos, el de 6 generacin procesadores (como Pentium II y Pentium
III) slo haba 40 registros internos. Estos registros estn en el
registro retitulacin unidad (tambin conocido como rata, registrar
Alias mesa, se muestra como "Rename/Alloc" en la figura 1). Pentium
4 tiene cinco unidades de ejecucin trabajando en paralelo y dos
unidades de carga y almacenamiento de datos en memoria RAM.
Por supuesto esto es slo un resumen para los que ya tiene
algunos conocimientos sobre la arquitectura de
otros procesadores. Si todo esto te parece a griego para ti, no
te preocupes. Vamos a explicar todo lo que
necesitas saber sobre la arquitectura de Pentium 4 en lenguaje
sencillo en las pginas siguientes.
Tubera del Pentium 4
La tubera es una lista de todas las etapas de que una instruccin
dada debe ir thru para realizarse plenamente. En la sexta generacin
de procesadores Intel, como Pentium III, su tubera tena 11 etapas.
Pentium 4 tiene 20 etapas. As, en un procesador Pentium 4 lleva
mucho ms tiempo para ser ejecutado luego en un Pentium III, por
ejemplo una instruccin dada! Si usted toma los nuevo 90 nm Pentium
4 procesadores de la generacin, codenamed "Prescott", el caso es an
peor porque usan un oleoducto 31 etapas! Vaca sagrada! Esto se hizo
con el fin de aumentar la velocidad de reloj del procesador. Por
tener ms etapas que cada etapa individual puede ser construido
usando menos transistores. Con menos Transistores son ms fciles
lograr mayores tasas de reloj. De hecho, Pentium 4 solo es ms rpido
que el Pentium III porque funciona a una velocidad de reloj
superior. Bajo la misma frecuencia de reloj, un Pentium III CPU
sera ms rpido que un Pentium 4 debido al tamao de la tubera. Debido
a ello, Intel ya ha anunciado que su octava generacin de
procesadores usar la arquitectura Pentium M, que se basa en la
arquitectura de Intel 6 generacin (arquitectura de Pentium III) y
no en la arquitectura Netburst (Pentium 4). En la figura 2 puedes
ver Pentium 4 tubera de 20 etapas. Hasta ahora Intel no tubera
31-etapa de divulgacin Prescott, entonces no podemos hablar de
ello.
-
Figura 2: Pentium 4 tubera.
Aqu est una explicacin bsica de cada etapa, que explica cmo se
procesa una instruccin dada por los procesadores Pentium 4. Si
crees que es demasiado complejo para ti, no te preocupes. Esto es
slo un Resumen de lo que nos va explicando en las pginas
siguientes. TC Nxt IP: puntero de instruccin siguiente rastro cach.
Esta etapa busca el microinstruction prximo a ser ejecutado en el
bfer de destino rama (BTB). Este paso tiene dos etapas. TC Fetch:
Trace fetch cach. Carga, desde el cach de seguimiento, este
microinstruction. Este paso tiene dos etapas. Transmisin: enva el
microinstruction para ser procesados del asignador de recursos y
cambiar el nombre de circuito. Alloc: asignar. Verifica que los
recursos de CPU sern necesario en el microinstruction por ejemplo,
la carga de memoria y almacenan los bferes. Cambiar nombre: Si el
programa utiliza uno de los ocho estndar x 86 registros se
renombrarn en uno de los 128 registros internos presentan en
Pentium 4. Este paso tiene dos etapas. Que: cola. Las
microinstrucciones son puestos en las colas por consiguiente a sus
tipos (por ejemplo, entero o punto flotante). Se celebran en la
cola hasta que haya una ranura abierta del mismo tipo en el
programador. Sch: horario. Microinstrucciones estn programados para
ser ejecutado por consiguiente a su tipo (entero, flotante, punto,
etc). Antes de llegar a esta etapa, todas las instrucciones estn en
orden, es decir, en el mismo orden que aparecen en el programa. En
esta etapa, el planificador Reordena las instrucciones para
mantener todas las unidades de ejecucin completa. Por ejemplo, si
hay flotando un punto unidad va a estar disponible, el programador
buscar una flotacin punto instruccin para enviarlo a esta unidad,
incluso si la siguiente instruccin en el programa es un entero uno.
El programador es el corazn del motor fuera de servicio de Intel
procesadores de sptima generacin. Este paso tiene tres etapas.
Disp: Dispatch. Enva los microinstrucciones a sus motores de
ejecucin correspondientes. Este paso tiene dos etapas. RF: archivo
de registro. Los registros internos, almacenados en la piscina de
las instrucciones, se pueden leer. Este paso tiene dos etapas. Ex:
ejecutar. Microinstrucciones se ejecutan. Flgs: banderas. Se
actualizan las banderas del microprocesador. Br Ck: verificacin del
rama. Comprueba si la rama tomada por el programa es la misma
predicha por el ramal de prediccin. Transmisin: enva el resultado
de esta comprobacin en el bfer de destino de rama (BTB) presente en
la entrada del procesador. Unidad de Fetch y memoria cach
Puede ser L2 memoria cach de Pentium 4 de 256 KB, 512 KB, 1 MB o
2 MB, dependiendo del modelo. Memoria cach de datos L1 es de 8 KB o
16 KB (en modelos de 90 nm). Como hemos explicado antes, el cach de
instrucciones L1 fue trasladada desde antes de la unidad de
recuperacin despus de la unidad de decodificacin utilizando un
nuevo nombre, "trazar cach". As, en lugar de almacenar
instrucciones de programa para ser cargado en la unidad de
recuperacin, el cach de seguimiento de tiendas microinstrucciones
ya decodificados por la unidad de decodificacin. El cach de
seguimiento puede almacenar hasta 12 K microinstrucciones y Pentium
4 microinstrucciones son 100 bits de ancho, el cach de seguimiento
es de 150 KB (12.288 x 100 / 8). La idea detrs de esta arquitectura
es muy interesante. En el caso de un bucle en el programa (un bucle
es una parte de un programa que debe repetirse varias veces), las
instrucciones para ser ejecutado a ser decodificadas ya, porque
estn almacenados ya descifrado en el cach de seguimiento. En otros
procesadores, las instrucciones necesitan ser cargada de cach de
instrucciones L1 y decodificada una vez ms, incluso si ellos fueron
descifrados unos momentos antes. El cach de seguimiento tiene
tambin su propio BTB (Branch Target Buffer) de 512 entradas. BTB es
un
pequeo recuerdo que enumera todas las ramas identificadas en el
programa.
Puede ser L2 memoria cach de Pentium 4 de 256 KB, 512 KB, 1 MB o
2 MB, dependiendo del modelo. Memoria cach de datos L1 es de 8 KB o
16 KB (en modelos de 90 nm). Como hemos explicado antes, el cach de
instrucciones L1 fue trasladada desde antes de la unidad de
recuperacin despus de la unidad de decodificacin utilizando un
nuevo nombre, "trazar cach". As, en lugar de almacenar
instrucciones de programa para ser cargado en la unidad de
recuperacin, el cach de seguimiento de tiendas microinstrucciones
ya decodificados por la unidad de decodificacin. El cach de
seguimiento puede almacenar hasta 12 K microinstrucciones y Pentium
4 microinstrucciones son 100 bits de ancho, el cach de seguimiento
es de 150 KB (12.288 x 100 / 8).
-
La idea detrs de esta arquitectura es muy interesante. En el
caso de un bucle en el programa (un bucle es una parte de un
programa que debe repetirse varias veces), las instrucciones para
ser ejecutado a ser decodificadas ya, porque estn almacenados ya
descifrado en el cach de seguimiento. En otros procesadores, las
instrucciones necesitan ser cargada de cach de instrucciones L1 y
decodificada una vez ms, incluso si ellos fueron descifrados unos
momentos antes. El cach de seguimiento tiene tambin su propio BTB
(Branch Target Buffer) de 512 entradas. BTB es un pequeo recuerdo
que enumera todas las ramas identificadas en el programa. En cuanto
a la unidad de recuperacin, su TbB fue aumentado a 4.096 entradas.
En Intel sexta generacin de procesadores, como Pentium III, fue
este buffer de 512 entradas y en Intel 5 generacin de procesadores,
como el primer procesador Pentium, este buffer fue de 256 entradas
solamente. En la figura 3 ves el diagrama de bloques para lo que
estbamos discutiendo. TLB significa Translation Lookaside
Buffer.
Figura 3: Buscar y decodificar unidades y cach de
seguimiento.
Decodificador
Desde la generacin anterior (6. generacin), procesadores Intel
utilizan un hbrido arquitectura CISC/RISC. El procesador debe
aceptar instrucciones CISC, tambin conocido como x 86
instrucciones, desde todo el software disponible hoy en da est
escrito usando este tipo de instrucciones. Una CPU RISC-slo no pudo
ser crear para PC porque no ejecutar software que tenemos
disponible hoy en da, como Windows y Office. As, la solucin
utilizada por todos los procesadores disponibles en el mercado hoy
en da de Intel y AMD es utilizar un decodificador CISC/RISC.
Internamente los procesos de la CPU RISC-como instrucciones, pero
acepta su front-end slo CISC x 86 manual de instrucciones. CISC x
86 instrucciones se refieren como "instrucciones" como las
instrucciones internas de RISC se denominan "microinstrucciones" o
"ops". Estas microinstrucciones RISC, sin embargo, no se puede
acceder directamente, as que no podamos crear software basado en
estas instrucciones para evitar el decodificador. Adems, cada
utiliza CPU sus propias instrucciones RISC, que no son pblicas
documentan y son incompatibles con microinstrucciones de otras
CPUs. Es decir, son diferentes de microinstrucciones Pentium 4, que
son diferentes de Athlon 64 microinstrucciones microinstrucciones
Pentium III. Dependiendo de la complejidad de la instruccin de x
86, tiene que ser convertida en varias microinstrucciones RISC.
Pentium 4 decodificador puede decodificar un x 86 instrucciones por
ciclo de reloj, mientras la instruccin decodifica en hasta cuatro
microinstrucciones. Si la instruccin de x 86 para ser decodificados
es complejo y se traducir en ms de cuatro microinstrucciones, se
enruta a una memoria ROM ("microcdigo ROM" en la figura 3) que
tiene una lista de instrucciones muy complejas y cmo debe
traducirse. Esta memoria ROM tambin se llama MIS (microcdigo
instruccin secuenciador). Como dijimos anteriormente, despus de ser
descodificadas microinstrucciones son enviados a la cach de
seguimiento, y desde all van a una cola de microinstrucciones. El
cach de seguimiento pueden poner hasta tres microinstrucciones en
la cola por ciclo de reloj, sin embargo Intel no dice la
profundidad (tamao) de esta cola. Desde all, las instrucciones de
ir al asignador y registrar Renamer. La cola tambin puede entregar
hasta tres microinstrucciones por ciclo de reloj para el
asignador.
-
Asignador y registro Renamer
Qu significa el asignador: Se reserva uno de los bferes de
reorden 126 (ROB) a la micro instruccin actual, con el fin de hacer
un seguimiento de la condicin de terminacin micro instruccin. Esto
permite que los microinstrucciones puedan ser ejecutados fuera de
orden, ya que la CPU ser capaz de ponerlos en orden otra vez
mediante el uso de esta tabla. Reservas del registro 128 archivos
(RF) para ah almacenar los datos como resultados del procesamiento
microinstruction. Si el microinstruction es una carga o una tienda,
es decir, ser ledo (carga) o escribir (tienda) datos desde/hacia
memoria RAM, uno de los bferes de 48 carga reservar o uno de la
tienda 24 amortiguadoras en consecuencia. Se reserva una entrada en
la memoria o la cola general, dependiendo del tipo de
microinstruction es.
Despus de eso el microinstruction va al registro de retitulacin
etapa. CISC x 86 arquitectura tiene slo ocho
registros de 32 bits (EAX, EBX, ECX, EDX, EBP, ESI, EDI y ESP).
Este nmero es simplemente demasiado
bajo, sobre todo porque CPUs modernas pueden ejecutar cdigo
fuera de orden, lo que "matara" el contenido
de un registro determinado, chocando el programa.
As, en esta etapa, el procesador cambia el nombre y el contenido
de los registros utilizados por el programa en uno de los 128
interno registrar registros disponibles, permitiendo que la
instruccin ejecutar al mismo tiempo de otra instruccin que utiliza
la misma norma exacta, o incluso fuera de orden, es decir, esto
permite que la segunda instruccin a correr antes de la primera
instruccin incluso si se meten con el mismo registro. Es
interesante notar que el Pentium 4 tiene realmente 256 registros
internos, 128 registros para obtener instrucciones de enteros y 128
registros de punto flotante y las instrucciones SSE. Pentium 4
renamer es capaz de procesar tres microinstrucciones por ciclo de
reloj. Desde el renamer los microinstrucciones ir a una cola, por
consiguiente a su tipo: cola de memoria, para microinstrucciones
relacionadas con la memoria, o una cola de punto entero/flotante,
para todos los otros tipos de instruccin.
Figura 4: Asignador y registro Renamer
Envo y unidades de ejecucin
Como hemos visto, Pentium 4 cuenta con cuatro puertos de envo
numerados de 0 a 3. Cada puerto est conectado a uno, dos o tres
ejecucin unidades, como se puede ver en la figura 6.
Figura 6: Unidades de despacho y ejecucin.
Las unidades marcaron como "reloj x 2" puede ejecutar dos
microinstrucciones por ciclo de reloj. Puertos 0 y 1 pueden enviar
dos microinstrucciones por el reloj del ciclo a estas unidades. As
que seis es el nmero mximo de microinstrucciones que pueden ser
despachados por ciclo de reloj:
-
Dos microinstrucciones en el puerto 0; Dos microinstrucciones en
el puerto 1; Una microinstruction en el puerto 2; Una
microinstruction en Puerto 3. Tenga en cuenta que las instrucciones
complejas pueden llevar varios ciclos de reloj para ser procesados.
Tomemos un ejemplo del puerto 1, donde se encuentra la completa
unidad de punto flotante. Mientras que esta unidad est procesando
una instruccin muy compleja que lleva varios reloj de garrapatas a
ser ejecutado, unidad de despacho 1 puerto no demorar: se siguen
enviando instrucciones sencillas a la ALU (unidad lgica y
aritmtica) mientras el FPU est ocupado. As, incluso pens que la
tasa mxima de envo es seis microinstrucciones, en realidad la CPU
puede tener hasta siete microinstrucciones procesados al mismo
tiempo. En realidad es por puertos de 0 y 1 tienen unidad una
ejecucin ms unida. Si pones atencin, Intel puso en el mismo puerto
una rpida unidad junto con al menos una unidad compleja (y lenta).
As que, mientras la unidad compleja est ocupada procesando datos,
la otra unidad puede seguir recibiendo microinstrucciones desde su
puerto de envo correspondientes. Como hemos mencionado antes, la
idea es mantener todas las unidades de ejecucin ocupado todo el
tiempo. Los dos ALUs doble velocidad pueden procesar dos
microinstrucciones por ciclo de reloj. Las otras unidades necesitan
ciclo de por lo menos un reloj para procesar las microinstrucciones
que reciben. As, la arquitectura Pentium 4 est optimizada para
instrucciones sencillas. Como puede ver en la figura 6, puertos de
envo 2 y 3 estn dedicados a operaciones de memoria: carga (leer
datos de la memoria) y tienda (escribir datos en la memoria),
respectivamente. En cuanto a la operacin de memoria, es interesante
notar que puerto 0 es tambin usada durante las operaciones de
almacn (ver figura 5 y la lista de las operaciones en la figura 6).
En este tipo de operaciones, Puerto 3 se utiliza para enviar la
direccin de memoria, mientras que puerto 0 se utiliza para enviar
los datos a ser almacenados en esta direccin. Esta informacin puede
ser generada por el aluminio o el FPU, dependiendo del tipo de
datos para almacenar (entero o punto flotante/SSE). En la figura 6
tienes una lista completa de los tipos de instrucciones de que cada
unidad de ejecucin se
ocupa. FXCH y LEA (direccin efectiva de carga) son dos x 86
manual de instrucciones. Implementacin de
Intel para la instruccin FXCH en Pentium 4 causaba una gran
sorpresa para todos los expertos, porque en
los procesadores de la generacin anterior (Pentium III) y
procesadores de AMD esta instruccin puede ser
ejecutada en cero ciclo de reloj, mientras que el Pentium 4
tarda algunos ciclos de reloj para ser ejecutado.
Chipsets Introduccin
Despus de todo, qu es un chipset? Cules son sus funciones? Cul
es su importancia? Cul es su influencia en el rendimiento del
equipo? En este tutorial vamos a responder a todas estas preguntas
y mucho ms. Chipset es el nombre dado al conjunto de chips (de ah
su nombre) utilizado en una motherboard. En la primera PC, la placa
base utiliza circuitos integrados discretos. As que un montn de
fichas fueron necesarios para crear todos los circuitos necesarios
para que el equipo funcione. En la figura 1 vemos una placa base de
un PC XT.
Figura 1: Placa base de PC XT.
-
Despus de algn tiempo los fabricantes de chips comenzaron a
integrar varias fichas fichas ms grandes. As, en lugar de requerir
decenas de pequeas virutas, una placa podra ahora ser construida
utilizando slo una media docena chips grandes. La integracin
sostenida y alrededor de las motherboards mid-1990 usando solamente
dos o incluso una viruta grande podra ser construido. En la figura
2 puedes ver una placa base 486 circa 1995 utilizando slo dos chips
grandes con todas las funciones necesarias para hacer que funcione
la placa base.
Figura 2: Una placa de 486, este modelo utiliza solamente dos
chips grandes.
Con el lanzamiento del bus PCI, un nuevo concepto, que todava se
utiliza hoy en da, podra ser utilizado por primera vez: el uso de
puentes. Las motherboards tienen generalmente dos chips grandes: el
puente del norte y el puente sur. A veces algunos fabricantes de
chips pueden integrar el norte y el sur puentes en un nico chip; en
este caso la placa base tendr un gran circuito integrado! Con el
uso de puentes chipsets podran estandarizarse mejor y vamos a
explicar el papel de estos chips en las pginas siguientes. Chipsets
pueden ser fabricados por varias compaas, como ULi (nuevo nombre de
ALi), Intel, VIA, SiS, ATI y nVidia. En el pasado otros jugadores
estaban en el mercado, como UMC y OPTi. Una confusin comn es
mezclar el fabricante del chipset con el fabricante de la
motherboard. Por ejemplo, slo porque una placa base utiliza un
chipset fabricado por Intel, esto no significa que Intel fabrica
este tablero. ASUS, ECS, Gigabyte, MSI, DFI, Chaintech, PCChips,
lanzadera y tambin Intel son slo algunos de los muchos fabricantes
de placas madre presentes en el mercado. As, el fabricante de la
motherboard compra los chipsets de los fabricantes de chipsets y
les construye. En realidad hay un aspecto muy interesante de esta
relacin. Para construir una placa, el fabricante puede seguir el
proyecto estndar chipset fabricante, tambin conocido como "diseo de
referencia", o puede crear su propio proyecto, modificando algunas
cosas aqu y all con el fin de proporcionar un mejor rendimiento o
ms caractersticas. Puente del norte
El chip del puente norte, tambin llamado MCH (concentrador
controlador de memoria) es conectar directamente a la CPU y tiene
bsicamente las siguientes funciones: Controlador de memoria (*) AGP
bus controlador (si est disponible) PCI Express x 16 controlador
(si est disponible) Interfaz para transferencia de datos con el
puente sur (*) Excepcin de socket 754, zcalo 939 y zcalo 940 CPU
(CPU de AMD como Athlon 64), porque en estos CPUs el controlador de
memoria se encuentra en la misma CPU, no en el puente del norte.
North bridge fichas tambin controles de PCI Express x 1 carriles.
En otros chipsets PCI Express es el puente sur que controla el PCI
Express x 1 carriles. En nuestras explicaciones asumimos que el
puente del sur es el
-
componente encargado de controlar el PCI Express x 1 carriles,
pero tenga en cuenta que esto puede variar de acuerdo al modelo de
chipset. En la figura 3 vemos un diagrama explicando el papel del
puente del norte en la computadora.
Figura 3: El puente del norte.
Como puede ver, la CPU directamente no tiene accesos la memoria
RAM o la tarjeta de video, es el puente norte que tiene acceso a
estos dispositivos. Por eso, el chip puente norte tiene un papel
definitivo en el rendimiento del equipo. Si un chip puente norte
tiene un controlador de memoria mejor que otro puente del norte, el
rendimiento del ordenador todo ser mejor. Es una explicacin de por
qu puedes tener dos placas base dirigidas a la misma clase de
procesadores logrando diferentes actuaciones. Como hemos
mencionado, en Athlon 64 CPUs est integrado el controlador de
memoria en la CPU y por eso casi no hay rendimiento diferencia
entre placas base para esta plataforma. Puesto que el controlador
de memoria est en el puente del norte, es este chip que limita los
tipos y la cantidad mxima de memoria que usted puede tener en
nuestro sistema (en Athlon 64 es la CPU que establece estos
lmites). La conexin entre el puente del norte y el puente sur se
realiza a travs de un bus. En un principio se utiliz el
bus PCI, pero ms tarde fue sustituido por un bus dedicado. Vamos
a explicar ms sobre esto ms adelante,
ya que el tipo de autobs usado en esta conexin puede afectar el
rendimiento del equipo.
Puente del sur
El chip puente del sur, tambin llamado ICH (I/O Controller Hub)
est conectado al puente del norte y est a cargo fundamentalmente de
control de dispositivos de E/S y dispositivos integrados, como:
Puertos de unidad de disco duro (puertos paralelo y Serial ATA) Los
puertos USB Audio a bordo (*) LAN a bordo (*) PCI bus Los carriles
PCI Express (si est disponible) Reloj en tiempo Real (RTC) Memoria
del CMOS Dispositivos de legado como controlador de interrupcin y
controlador DMA (*) Si el puente del sur tiene un controlador de
audio incorporado, necesitar un chip externo llamado cdec
(diminutivo de codificador/decodificador) para funcionar. (**) Si
el puente del sur tiene un controlador de red incorporada,
necesitar un chip externo llamado phy (diminutivo de fsico) para
funcionar. El puente del sur tambin est conectado a dos otros chips
disponibles en la placa base: el chip ROM, ms conocido como BIOS y
el chip Super I/O, que se encarga de controlar dispositivos
heredados como puertos serie, paralelo puerto y disco floppy drive.
En la figura 4 puedes ver un diagrama explicando el papel del
puente del sur en la computadora.
-
Figura 4: Puente del sur.
Como puede ver, mientras que el puente sur puede tener cierta
influencia en el rendimiento de la unidad de disco duro, este
componente no es tan crtico para rendimiento como el puente del
norte. En realidad, puente del sur tiene ms que ver con las
caractersticas que tendr su placa madre que con el funcionamiento.
Es el puente del sur que establece el nmero y velocidad de puertos
USB y el nmero y tipo (ATA o ATA serie regular) de puertos de
unidad de disco duro que la motherboard tiene, por ejemplo. Puente
entre arquitectura Cuando el concepto de puente comenz a ser
utilizado, la comunicacin entre el puente del norte y el puente del
sur fue hecha a travs de este autobs, como se muestra en la figura
5. El problema de este enfoque es que el ancho de banda disponible
para el bus PCI 132 MB/s ser compartido entre todos los
dispositivos PCI en el sistema y los dispositivos enganchada en el
puente del sur especialmente las unidades de disco duro. En ese
momento, esto no fue un problema, desde discos duros fueron las
tasas de transferencia mxima de 8 MB/s y 16 MB/s.
Figura 5: Comunicacin entre el norte y sur puentes usando el bus
PCI.
Pero cuando las tarjetas de video High-End (en aquel momento,
las tarjetas de vdeo eran PCI) y unidades de disco duro de alto
rendimiento se lanzaron, despertar una situacin de cuello de
botella. Piensa en modernos ATA/133 unidades de disco duro, que
tienen la misma tasa de transferencia mxima terica que el bus PCI.
As que, en teora, un disco duro ATA/133 "matara" y el ancho de
banda completo, ralentizando la velocidad de la comunicacin de
todos los dispositivos conectados al bus PCI.
-
Para las tarjetas de video High-End, la solucin fue la creacin
de un nuevo autobs conectado directamente al puente del norte,
llamado AGP (puerto de grficos acelerado). La solucin final se
produjo cuando los fabricantes de chipset comenzaron a utilizar un
nuevo enfoque: utilizando un autobs dedicado de alta velocidad
entre norte y sur puentes y conectando el PCI bus dispositivos
hasta el puente del sur.
Figura 6: Comunicacin entre el norte y sur puentes utilizando un
bus dedicado.
Cuando Intel comenz a utilizar esta arquitectura que comenz a
llamar a los puentes como "hubs", el puente del norte se convirti
en MCH (concentrador controlador de memoria) y el puente del sur se
convirti en ICH (I/O Controller Hub). Es slo una cuestin de
nomenclatura para clarificar la arquitectura que est siendo
utilizada. Mediante esta nueva arquitectura, que es la arquitectura
que las motherboards usan hoy en da, cuando la CPU lee datos de un
disco duro, los datos se transfieren desde el disco duro para el
puente del sur, luego al puente del Norte (usando el bus dedicado)
y luego a la CPU (o directamente a la memoria, si se utiliza el
mtodo Bus Mastering a.k.a. DMA ). Como puedes ver, el bus PCI no se
utiliza en absoluto en este traslado, lo que no sucedi en la
arquitectura anterior, puesto que el bus PCI que estaba en medio
del camino. La velocidad de este bus dedicado depende del modelo
del chipset. Por ejemplo, el conjunto de chips Intel 925 X este
autobs tiene una velocidad mxima de transferencia de 2 GB/s.
Tambin, los fabricantes de llaman a este autobs con diferentes
nombres: Intel: DMI (interfaz de medios de comunicacin directos) o
la arquitectura Intel Hub (*) ULi/ALi: HyperTransport VIA: V-Link
SiS: MuTIOL (*) ATI: A-Link o PCI Express nVidia: HyperTransport
(*) (*) Interfaz DMI es ms reciente, utilizado en los chipsets i915
y i925 en y utiliza datos separados dos caminos, uno para
transmisin de datos y otro para la recepcin (comunicacin de dplex
completo). Arquitectura Intel Hub, usada por chipsets anteriores,
utiliza la misma ruta de datos para transmisin y recepcin
(comunicacin half-dplex). (**) Algunos chipsets SiS y nVidia usar
nico chip, es decir, por ejemplo, las funcionalidades del norte y
del sur puentes estn integradas en un solo chip. Adems, en Radeon
Xpress 200 de ATI, la comunicacin entre el norte y sur puentes
utiliza dos carriles PCI
Express. Esto no afecta el rendimiento del sistema, porque
contrariamente a PCI, el bus PCI Express no es
compartido entre todos los dispositivos PCI Express.
Un carril se utiliza para la transmisin de datos y otro para
recepcin de datos (comunicacin de dplex completo). HyperTransport
bus tambin utiliza los paths de datos separados, uno para
transmisin de datos y otro para la recepcin (comunicacin de dplex
completo)... Si desea conocer los detalles de un determinado
conjunto de chips, ir a la web del fabricante de chipset... Como un
ltimo comentario, usted puede estarse preguntando qu es
"dispositivos PCI a bordo" aparece en
las figuras 5 y 6. Dispositivos integrados como LAN y audio
pueden controlarse por el chipset (puente sur) o
-
por un chip controlador adicional. Cuando se utiliza este
segundo enfoque, este chip controlador est
conectado al bus PCI.
PLACAS BASE DE PC: Si alguna vez ha tomado el caso de un
ordenador, has visto la una sola pieza del equipo que todo lo une,
la placa base. Una placa base permite que todas las partes de su
computadora para recibir energa y comunicar uno con el otro.
Motherboards han recorrido un largo camino en the ltimos veinte
aos. Las primeras placas base llev a cabo muy pocos componentes
reales. La primera placa base IBM PC tena solamente un procesador y
ranuras para tarjetas. Usuarios conectados componentes como
controladores de unidad de disco y memoria en las ranuras. Hoy, las
motherboards tpicamente cuentan con una amplia variedad de
funciones incorporadas y que afectan directamente las capacidades y
potencial para las actualizaciones de una computadora. En este
artculo, analizaremos los componentes generales de una placa base.
Entonces, estrechamente analizaremos cinco puntos que afectan
dramticamente lo que puede hacer una computadora. Factor de
forma
Una placa de por s misma es intil, pero un equipo tiene que
tener uno para operar. Trabajo principal de la placa base es
sostener chip microprocesador de la computadora y todo lo dems
permiten conectar a l. Todo lo que ejecuta la computadora o mejora
su funcionamiento es parte de la placa base o se enchufa mediante
una ranura o puerto.
Una placa base moderna...
La forma y el diseo de una placa madre se llama el factor de
forma. El factor de forma afecta a dnde van los componentes
individuales y la forma de caja de la computadora. Hay varios
factores de forma especfica que utilizan la mayora de las
motherboards PC as todo pueden caber en casos estndar. Para una
comparacin de factores de forma, pasado y presente, visite
Motherboards.org. El factor de forma es una de las muchas normas
que se aplican a las placas base. Algunos de los otros estndares
incluyen: El zcalo para el microprocesador determina qu tipo de
unidad de procesamiento Central (CPU) utiliza la placa base. El
chipset es parte del sistema de la placa base lgica y generalmente
est compuesto de dos partes: el northbridge y el southbridge. Estos
dos "puentes" conectan la CPU a otras partes de la computadora.
-
El chip del sistema bsico de entrada/salida (BIOS) controla las
funciones ms bsicas de la computadora y realiza una prueba
automtica cada vez que se enciende. Algunos sistemas cuentan con
dual BIOS, que le proporciona una copia de seguridad en caso de una
falla o en caso de error durante la actualizacin. El chip de reloj
de tiempo real es un chip de pilas que mantiene los ajustes bsicos
y la hora del sistema. Las ranuras y puertos encontramos una placa
base incluyen: Interconexin de componentes perifrico
(PCI)-conexiones para video, sonido y video tarjetas de captura, as
como las tarjetas de red Acelerado grfica (AGP) - dedicado puerto
para tarjetas de vdeo. Integrated Drive Electronics (IDE) -
interfaces para los discos duros Universal Serial Bus o FireWire -
perifricos externos Ranuras de memoria Algunas motherboards tambin
incorporan nuevos avances tecnolgicos: Controladores redundantes de
la matriz de independientes de discos (RAID) permiten la
computadora reconocer varias unidades como una unidad. PCI Express
es un nuevo protocolo que acta ms como una red que un autobs. Puede
eliminar la necesidad de otros puertos, incluyendo el puerto AGP.
En lugar de confiar en las tarjetas enchufables, algunas
motherboards tienen a bordo sonido, red, video u otro soporte
perifrico.
Una placa base Socket 754
Muchas personas piensan de la CPU como una de las partes ms
importantes de una computadora. Veremos
cmo afecta el resto del equipo en la siguiente seccin.
Zcalos y CPUs
La CPU es lo primero que viene a la mente cuando muchas personas
piensan en velocidad y el rendimiento de una computadora. El
procesador ms rpido, ms rpido el ordenador puede pensar. En los
primeros das de ordenadores PC, todos los procesadores tenan el
mismo conjunto de pernos que conectara la CPU en la placa base,
llamada el Pin Grid Array (PGA). Estos pernos encajan en un esquema
de socket llamado Socket 7. Esto significaba que cualquier
procesador encajara en cualquier placa base.
-
Una placa base Socket 939
Hoy, sin embargo, fabricantes de CPU Intel y AMD usan una
variedad de PGAs, ninguno de los cuales encajan en Socket 7. Como
avanzan de microprocesadores, necesitan pernos ms y ms, tanto para
manejar nuevas caractersticas y para proporcionar ms y ms energa al
chip. Las disposiciones actuales toma a menudo son nombradas para
el nmero de pines en la PGA. Zcalos comnmente usados son: Socket
478 - para procesadores Pentium y Celeron antiguos Zcalo 754 - para
algunos procesadores AMD Athlon y AMD Sempron Socket 939 - para
nuevos y ms rpidos procesadores AMD Athlon Zcalo AM2 - para los
nuevos procesadores AMD Athlon A - socket para procesadores AMD
Athlon antiguos
-
Una placa de Socket LGA755
La nueva CPU de Intel no tiene un PGA. Tiene un LGA, tambin
conocido como Socket LGA T. representa Land Grid Array. Un LGA es
diferente de la PGA en que los pines son en realidad parte del
enchufe, no el CPU. Quien ya tiene una CPU especfica en mente debe
seleccionar una motherboard basada en la CPU. Por ejemplo, si desea
utilizar uno de los nuevos chips multi-ncleo de Intel o AMD, usted
necesitar seleccionar una motherboard con el correcto para esos
chips. CPU simplemente no encajar en los zcalos que no coinciden
con su PGA. La CPU se comunica con otros elementos de la placa base
a travs de un conjunto de chips. A continuacin analizaremos el
chipset ms detalladamente. Chipsets
El chipset es el "pegamento" que conecta el microprocesador con
el resto de la placa base y por lo tanto al resto del equipo. En un
PC, consta de dos partes bsicas: el northbridge y el southbridge.
Todos los diversos componentes de la computadora se comunican con
la CPU a travs del chipset.
-
El northbridge y southbridge.
El northbridge conecta directamente con el procesador mediante
el bus frontal (FSB). Un controlador de memoria se encuentra en el
northbridge, lo que le da el acceso rpido CPU a la memoria. El
northbridge tambin se conecta al bus AGP o PCI bus express y a la
memoria de s mismo. El southbridge es ms lento que el northbridge e
informacin de la CPU tiene que pasar por el northbridge antes de
alcanzar el southbridge. Otros autobuses conectan el southbridge el
bus PCI, los puertos USB y las conexiones de disco duro IDE o SATA.
Seleccin de chipset y CPU seleccin ir de la mano, porque
fabricantes optimizacin los chipsets para trabajar con CPUs
especficas. El chipset es una parte integrada de la placa base, as
que no puede ser eliminado o actualizado. Esto significa que no slo
debe zcalo de la placa base encaja la CPU, chipset de la placa base
debe funcionar ptimamente con la CPU. A continuacin, analizaremos
los autobuses, que, como el chipset, llevan la informacin de un
lugar a otro. Velocidad de bus
Un bus es simplemente un circuito que conecta una parte de la
placa base a otra. Los datos ms que un autobs puede manejar al
mismo tiempo, ms rpido permite informacin para viajar. La velocidad
del bus, mide en megahercios (MHz), se refiere a la cantidad de
datos puede mover simultneamente a travs del bus.
-
Buses de conectan diferentes partes de la placa base uno al
otro.
Velocidad del bus generalmente se refiere a la velocidad del bus
frontal (FSB), que conecta la CPU con el northbridge. Velocidades
de FSB pueden variar desde 66 MHz a ms de 800 MHz. Puesto que la
CPU alcanza el controlador de memoria aunque el northbridge,
velocidad FSB puede afectar dramticamente el rendimiento de un
equipo. stos son algunos de los otros buses encontrados en una
placa base: El parte posterior de autobs conecta la CPU con el
nivel 2 (L2) de cach, tambin conocido como cache secundario o
externo. El procesador determina la velocidad del bus parte
posterior. El bus de memoria conecta el northbridge a la memoria.
El bus IDE o ATA conecta el southbridge Amarak unidades. El bus AGP
conecta la tarjeta de video a la memoria y la CPU. La velocidad del
bus AGP suele 66 MHz. El bus PCI que conecta las ranuras PCI con el
southbridge. En la mayora de los sistemas, la velocidad del bus PCI
es 33 MHz. Tambin compatible con PCI es PCI Express, que es mucho
ms rpido que PCI pero sigue compatible con sistemas operativos y
software actual. PCI Express es probable reemplazar a los buses PCI
y AGP. Cuanto ms rpido velocidad del bus de una computadora, ms
rpido funcionar--a un punto. Una velocidad de bus rpido no se puede
compensar un procesador lento o chipset. Ahora echemos un vistazo a
la memoria y cmo afecta a la velocidad de la placa base.
Memoria y otras funciones Hemos establecido que la velocidad del
procesador controla la rapidez cree que una computadora. La
velocidad del chipset y autobuses controla qu tan rpido puede
comunicarse con otras partes de la computadora. La velocidad de la
conexin de RAM directamente controla qu tan rpido el ordenador
puede acceder a las instrucciones y datos y por lo tanto tiene un
gran efecto en el rendimiento del sistema. Un procesador rpido con
RAM lento va a ninguna parte. La cantidad de memoria disponible
tambin controla cunto datos la computadora pueden tener fcilmente
disponibles. RAM que conforma la mayor parte de la memoria de una
computadora. La regla general es ms RAM de la computadora tiene,
mejor. Gran parte de la memoria disponible hoy en da es memoria
dual rate (DDR). Esto significa que la memoria puede transmitir
datos dos veces por ciclo en lugar de una vez, lo que hace la
memoria ms rpida. Adems,
-
la mayora de las motherboards tienen espacio para mltiples chips
de memoria, y en motherboards nuevas, que se conectan a menudo al
northbridge mediante un bus doble en lugar de un solo bus. Esto
reduce an ms la cantidad de tiempo que tarda el procesador obtener
informacin de la memoria. 200-pin DDR RAM SODIMM Ranuras de memoria
de una placa base afectan directamente qu tipo y cunta memoria se
apoya. Al igual que otros componentes, la memoria se conecta a la
ranura mediante una serie de pines. El mdulo de memoria debe tener
el nmero correcto de pernos para encajar en la ranura de la placa
base. 64MB SDRAM SIMM En los primeros das de las motherboards,
prcticamente todo lo que no sea el procesador vino en una tarjeta
que enchufado en la junta. Ahora, caracterstica de las motherboards
una variedad de accesorios a bordo como la compatibilidad con LAN,
video, sonido soporte y controladores RAID. Las motherboards con
todas las campanas y silbidos son convenientes y fciles de
instalar. Hay placas base que tienen todo lo que necesitas para
crear una computadora completa--todo lo que haces es el palillo de
la placa base en un caso y aadir un disco duro, un controlador de
CD y una fuente de alimentacin. Tienes un ordenador completamente
operativo en una sola tarjeta. Para muchos usuarios promedio, estas
caractersticas integradas proporcionan amplio soporte para vdeo y
sonido. Para los jugadores vidos y personas que hacen trabajo de
diseo asistido por ordenador (CAD) o grfico de alta intensidad, sin
embargo, las tarjetas de vdeo independientes proporcionan mejor
rendimiento. Introduccin a la nueva arquitectura de
microprocesadores INTELSs Sandy Bridge es que el nombre de la nueva
microarquitectura Intel CPU est usando a partir de 2011. Es una
evolucin de la microarquitectura Nehalem que fue introducida por
primera vez en el Core i7 y tambin se utiliza en el Core i3 y
procesadores Core i5. Si no sigue el mercado de CPU que cerca,
vamos a hacer un rpido resumen. Despus el Pentium 4, que fue basado
en la microarquitectura de generacin 7 de Intel, llamada Netburst,
Intel decidi volver a su sexta generacin microarquitectura (lo
mismo uno utilizado por Pentium Pro, Pentium II y Pentium III,
apodado P6), que ha demostrado para ser ms eficiente. Desde el
Pentium M CPU (que es una 6 generacin Intel CPU), Intel desarroll
la arquitectura de ncleo, que fue utilizada en la serie del
procesador Core 2 (Core 2 Duo, Core 2 Quad, etc.). Entonces, Intel
tiene esta arquitectura, ajustado un poco ms (la principal
innovacin fue la adicin de un controlador de memoria integrado) y
lanz la microarquitectura Nehalem, que fue utilizada en la serie
del procesador Core i7, Core i3 y Core i5. Y, de este
microarquitectura, Intel desarroll la microarquitectura Sandy
Bridge, que fue utilizada por la nueva generacin de procesadores
Core i7, Core i3 y Core i5 en 2011 y 2012. Para comprender mejor el
presente tutorial, le recomendamos que lea los siguientes
tutoriales, en este orden en particular: Interior Pentium M
arquitectura Interior de microarquitectura Intel Core Interior de
microarquitectura Intel Nehalem A continuacin se resumen las
principales caractersticas de la microarquitectura Sandy Bridge.
Les explicaremos con ms detalle en las pginas siguientes. El puente
norte (controlador de memoria, controlador de grficos y controlador
PCI Express) est integrado en el mismo chip como el resto de la
CPU. En CPUs basados en Nehalem, el puente del norte se encuentra
en un chip de silicio separadas embalado junto con el chip de
silicio de la CPU. De hecho, con procesadores de 32 nm basados en
Nehalem el puente norte es manufacturado bajo proceso de 45 nm.
Primeros modelos utilizan un proceso de fabricacin de 32 nm
Arquitectura de anillo Nuevo descifrado cach de microinstrucciones
(L0 cach, capaz de almacenar 1.536 microinstrucciones, que se
traduce en ms o menos a 6 kB) datos de L1 de 32 kB instrucciones y
32 kB L1 cache por ncleo de CPU (no se cambia de Nehalem) Memoria
cach L2 fue renombrado a "cach de nivel medio" (MLC) con 256 kB por
ncleo de CPU Memoria cach L3 que ahora se llama LLC (ltimo nivel de
cach), que ya no est unificado y es compartida por los ncleos de
CPU y el motor de grficos Tecnologa Turbo Boost de prxima generacin
Nuevo conjunto de instrucciones AVX (extensiones de Vector
avanzadas) Controlador de grficos mejorados Rediseado DDR3 de
memoria de doble canal regulador apoyando recuerdos hasta
DDR3-1333.
-
Integrado controlador PCI Express apoyando uno x 16 carril o
carriles dos x 8 (no se cambia de Nehalem) Primeros modelos
utilizan una nueva toma con pasadores de 1155
Haz clic para agrandar
Figura 1: Microarquitectura Sandy Bridge Resumen Mejoras a la
tubera del CPU
Vamos a empezar nuestro viaje hablando de lo nuevo es la forma
de instrucciones son procesadas en la microarquitectura Sandy
Bridge. Hay cuatro decodificadores de instruccin, lo que significa
que la CPU puede decodificar hasta cuatro instrucciones por ciclo
de reloj. Estos decodificadores estn encargadas de descifrar las
instrucciones IA32 (a.k.a. x 86) en RISC-como microinstrucciones
(ops) que se utilizan internamente por las unidades de ejecucin de
CPU. Al igual que anteriores CPUs de Intel, microarquitectura Sandy
Bridge soporta dos macro - y micro-fusion. Macro-fusion permite la
CPU que unen dos relacionados con x 86 instrucciones en una sola,
mientras que micro-fusin une dos relata microinstrucciones en uno
solo. Por supuesto, el objetivo es mejorar el rendimiento. Lo nuevo
es la adicin de un cach microinstruction descodificada, capaz de
almacenar 1.536 microinstrucciones (que traduccin ms o menos a 6
kB). Intel refiere esta memoria cach como una "memoria cach L0". La
idea es obvia. Cuando entra el programa que se ejecuta en un bucle
(es decir, tiene que repetir las mismas instrucciones varias
veces), la CPU no necesitar decodificar otra vez las 86
instrucciones x: se pueden descodificar ya en la memoria cach,
ahorrando tiempo y as mejorar el rendimiento. Segn Intel esta
memoria cach tiene una tasa de xito de 80%, es decir, es utilizado
el 80% del tiempo. Ahora se preguntarn si esto no es la misma idea
utilizada en la microarquitectura Netburst (es decir, los
procesadores Pentium 4), que tena un cach de seguimiento que tambin
almacena microinstrucciones descodificadas. Cach de seguimiento de
un trabaja de forma diferente desde un cach microinstruction:
almacena las instrucciones en el mismo orden que fueron
originalmente funcionaron. As, cuando un programa alcanza un bucle
que se corra, digamos, 10 veces, que el cach de seguimiento
almacenar las mismas instrucciones 10 veces. Por lo tanto, hay un
montn de instrucciones repetidas en el cach de seguimiento. Lo
mismo no ocurre con el cache microinstruction, que almacena
instrucciones descodificadas slo individuales. Cuando se utiliza la
cach microinstruction, la CPU pone el cach de instrucciones L1 y
los decodificadores a "dormir", haciendo la CPU para ahorrar energa
y ejecutar ms fresco. La unidad de prediccin de rama fue rediseada
y el tamao de Branch Target Buffer (BTB) se duplic en comparacin
con Nehalem, adems ahora utiliza una tcnica de compresin para
permitir almacenar ms datos. Prediccin de bifurcaciones es un
circuito que intenta adivinar los prximos pasos de un programa por
adelantado, cargando a dentro de la CPU las instrucciones piensa
que la CPU intentar cargar siguiente. Si lo llega a correcto, la
CPU no perder tiempo cargando estas instrucciones desde la memoria,
como ya estarn dentro de la CPU. Aumentar el tamao de la TbB
permite este circuito cargar an ms las instrucciones por
adelantado, mejorando el rendimiento de la CPU. El programador en
la microarquitectura Sandy Bridge es similar a la que se utiliza en
la microarquitectura Nehalem, con puertos de envo seis, tres
puertos utilizados por las 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 la microarquitectura
Nehalem tiene 12 de ellos, el Sandy Bridge tiene 15, vase la figura
2. Segn Intel, han sido rediseados para mejorar la coma flotante
(es decir, operaciones matemticas) rendimiento.
Haz clic para agrandar
Figura 2: Unidades de ejecucin (configuracin estndar)
Cada unidad de ejecucin est conectado con el planificador de
instruccin usando un datapath 128-bit. Para poder ejecutar las
nuevas instrucciones AVX, que llevan datos de 256 bits, en lugar de
agregar unidades de 256 bits y 256-bit datapaths a la CPU, dos
unidades de ejecucin son "combinadas" (es decir, utiliza al mismo
tiempo), como puedes ver en la figura 3.
Haz clic para agrandar
Figura 3: Unidades de ejecucin (cuando se ejecuta instrucciones
AVX)
Despus de ejecuta una instruccin, no es copiado hacia el buffer
reordenar como sucedi en anteriores arquitecturas Intel, sino que
ms bien haba indicado en una lista que se haga. De esta manera la
CPU guarda pedacitos y mejora la eficiencia. Otra diferencia est en
los puertos de memoria. La microarquitectura Nehalem tiene una
carga, la direccin de una tienda y un almacn de las unidades de
datos, cada uno conectado a un puerto de despacho individual. Esto
significa que los procesadores basados en Nehalem pueden cargar
desde la cach de datos L1 128 bits de datos por ciclo. En la
microarquitectura Sandy Bridge, la carga y las unidades de direccin
tienda pueden utilizarse como una unidad de carga o una unidad de
direccin de almacn. Este cambio permite dos veces ms datos que
cargarse desde la cach de datos L1 al mismo tiempo (con dos
unidades de 128-bit al mismo tiempo en lugar de slo uno), por lo
tanto mejorar el rendimiento. De esta manera, los procesadores
basados en Sandy Bridge pueden cargar 256 bits de datos de la cach
de datos L1 por ciclo.
-
Haz clic para agrandar
Figura 4: Sandy Bridge microarquitectura.
El conjunto de instrucciones AVX
Hace un tiempo, AMD propuesta un conjunto de instrucciones SSE5.
Sin embargo, Intel decidi crear su propia implementacin de lo que
sera las instrucciones SSE5, llamadas AVX (extensiones de Vector
avanzadas). Estas instrucciones uso el mismo concepto SIMD (Single
Instruction, Multiple Data) introducido con la instruccin MMX
establecido y utilizando las instrucciones SSE (Streaming SIMD
Extensions). Este concepto consiste en usar un solo registro grande
para almacenar datos varias pequeas y luego procesar todos los
datos con una sola instruccin, acelerando el proceso. El conjunto
de instrucciones AVX agrega 12 nuevas instrucciones y aumenta el
tamao del XMM registros de 128 bits a 256 bits. Toda la informacin
sobre el nuevo conjunto de instrucciones AVX puede encontrarse aqu
(busque la Intel Advanced Vector Extensions Programming Reference).
La arquitectura de anillo
Los procesadores basados en Sandy Bridge tendr una arquitectura
de anillo para los componentes internos de la CPU para hablar con
los dems. 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
directamente, tienen que usar el anillo. Los componentes que
utilizan el anillo incluyen los ncleos de CPU, cada L3 memoria cach
(que ahora se llama ltimo nivel de cach, o LLC y no est unificado,
ver figura 5), el agente del sistema (controlador de memoria
integrado, controlador de PCI Express, unidad de control y
pantalla) y el controlador de grficos. En la figura 5 vemos el
anillo (lnea negra) con sus "paradas" (cajas rojas). Es importante
entender que el anillo se encuentra fsicamente en las cachs de
memoria (imaginar un telesqu donde cada caja roja es una parada),
puesto que la ilustracin es bidimensional, que tenga la impresin de
que los cables del anillo ejecutan dentro de la memoria cach, que
no es el caso. Adems, cada ltimo cach nivel no est atado a un
determinado ncleo de CPU. Cualquier ncleo puede utilizar cualquiera
de las cachs. Por ejemplo, en la figura 5, tenemos un quad core CPU
con cuatro cachs de nivel ltimas. Ncleo 1 no est ligado a la cach
1; puede utilizar cualquiera de las cachs. Esto tambin significa
que ningn ncleo de CPU puede acceder a datos que estn almacenados
en cualquiera de las cachs.
-
Haz clic para agrandar
Figura 5: La arquitectura del anillo (lnea negra con rojo
"paradas") Hay en realidad cuatro anillos: anillo de datos,
solicitud, reconoce anillo y snoop. Corren a la misma velocidad de
reloj como el reloj interno de la CPU. Se basa en el protocolo QPI
(QuickPath Interconnect), el mismo que utilizado por socket 1366
CPU a hablar con el chipset. Cada componente decide cundo usar el
anillo, si est vaco, y el anillo de elegir siempre el camino ms
corto hacia el destino. La prxima generacin Turbo Boost
Turbo Boost es una tecnologa que automticamente overclockea la
CPU cuando la CPU "pide" ms potencia de procesamiento. En la
microarquitectura Sandy Bridge esta tecnologa fue revisada con el
fin de permitir que la CPU superar su TDP (potencia de diseo
trmico) por 25 segundos es decir, para disipar el calor ms de lo
permitido oficialmente. Esto es posible porque el disipador de
calor y los componentes son todava fros. Vea la figura 6.
Haz clic para agrandar
Figura 6: Prxima generacin Turbo Boost
Adems, los ncleos de CPU y el controlador de grficos "compartan"
TDP entre ellos. Por ejemplo, si el ncleo de grficos no est
disipando mucho calor, esto da TDP extra a los ncleos de CPU a
utilizar, permitindoles funcionar a una velocidad de reloj ms alta
y en un TDP superior a la calificacin oficial
-
(etiquetada como "Ncleo alimentacin especificada" en la figura
7), si las aplicaciones estn exigiendo ms potencia de
procesamiento, por supuesto. Vea la figura 7.
Haz clic para agrandar
Figura 7: TDP puede equilibrarse entre ncleos de CPU y
procesador de grficos
El motor de grficos integrados
El procesador de grficos integrado en los procesadores Sandy
Bridge base tendr un motor de DirectX 10.1. Como se explica en la
primera pgina de este tutorial, estar disponible en el mismo chip
de silicio como el resto de la CPU, en lugar de estar disponible en
un chip separado pero "pegados" junto con la CPU dentro del mismo
paquete. En la figura 8, tiene una mirada global en el procesador
de grficos Sandy Bridge.
Haz clic para agrandar
Figura 8: Procesador de grficos de Sandy Bridge
El nmero de unidades de ejecucin ("procesadores") depender de la
CPU (por ejemplo Core i5 CPU tendr ms unidades de ejecucin que
partes Core i3). Procesadores Sandy Bridge pueden tener hasta 12
unidades de ejecucin de grficos. Si usted paga mucha atencin en la
figura 8, se ver que "Pantalla" y "Grficos" estn en partes
separadas de la CPU. Esto puede leerse como "2D" y "3D" y ayuda a
la CPU para ahorrar energa apagando el procesador grfico cuando no
ests jugando juegos. Otra innovacin importante es que el motor de
grficos puede usar el ltimo nivel de cach (LLC,
anteriormente conocido como memoria cach L3) para almacenar
datos, especialmente de texturas. Esto
mejora el rendimiento en 3D, como el motor de grficos no
necesita acudir a la memoria RAM para datos,
puede cargar datos directamente desde la memoria cach (si ya est
ah, por supuesto).