Como Trabaja La Cpu

30
COMO TRABAJA LA CPU Aunque cada microprocesador tiene su propio diseño interno, microprocesadores todos comparten un mismo concepto básico que vamos a explicar en este tutorial. Tomamos un vistazo dentro de una arquitectura genérica de la CPU, así que usted será capaz de entender más acerca de los productos Intel y AMD y las diferencias entre ellos. La CPU (Unidad Central de procesamiento) que también se llama microprocesador o procesador está a cargo de procesamiento de datos. Cómo procesará datos dependerá del programa. El programa puede ser una hoja de cálculo, 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 números 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 continuación dependerá del programa. La CPU podía continuar para cargar y ejecutar el programa o podría 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 más lento que la memoria RAM, esto hace lento el sistema, ya que la CPU sería ocupada hasta que todos los datos fueran trasladados desde la unidad de disco duro a la memoria RAM. Este método se llama PIO, procesador de entrada-salida (o entrada-salida programado). Hoy en día 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 más rápido. Este método se llama autobús 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 zócalos 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 señal que se utiliza para sincronizar las cosas dentro de la computadora. Echa un vistazo en la figura 2, donde se nos muestran una señal de reloj típicas: 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 señal de reloj va de "0" a "1"; esto hemos marcado con una flecha. La señal del reloj se mide en

description

Bases Practicas del Funcionamiento de las CPU modernas

Transcript of Como Trabaja La Cpu

  • 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).