arquitecturas multi nucleo

Upload: daniel-garcia

Post on 05-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/15/2019 Arquitecturas Multi NuCleo

    1/45

  • 8/15/2019 Arquitecturas Multi NuCleo

    2/45

    Arquitecturas Multi-núcleo

    Las arquitecturas multi-núcleo se referen a microprocesadores que combinandos o más núcleos independientes en un solo paquete ó circuito integrado,los cuales trabajan a la misma recuencia. En general, los microprocesadoresmulti-núcleos permiten que un dispositivo computacional ex iba una cierta

    orma del paralelismo a nivel de ebras sin incluir múltiples microprocesadoresen paquetes !sicos separados.En la igura " se ilustra de manera simplifcada la arquitectura de un procesadormulti- núcleo.

    Caché L2 compartida

    Caché L1 Caché L1

    Caché L1

    P1 P2 Pn

    #igura ". $rquitectura de un procesador multi-núcleo .

    2.1 Taxonomía de computadoras paralelas

  • 8/15/2019 Arquitecturas Multi NuCleo

    3/45

    Existen di erentes taxonom!as %&' para clasifcar las arquitecturas paralelasexistentes, una de las más viejas ( popular es la de #l(nn.

    2.1.1 Clasifcaci n de !l"nn

    La clasifcación #l(nn se basa en dosaspectos)

    ". *nstrucción.

    +. atos.

    Los datos son elementos que se manipulan de acuerdo a la instrucción.ependiendo del número de instrucciones a ejecutar ( datos a manipular

    simultáneamente, #l(nn ace la siguiente clasi icación. El más simple de estoses nuestra propia computadora secuencial, donde una instrucción solo manipulaun dato a la ve . #l(nn llama a este tipo de sistema una

  • 8/15/2019 Arquitecturas Multi NuCleo

    4/45

    sola instrucción, un solo dato /*/ , del ingl0s /ingle *ntruction /ingle ata1. Enla igura +

    se ilustra el modelo /*/ .

    #ato

    $nstrucci n

    %rocesa

    dor

    &esultado

    #igura +. 2odelo /*/ .

    El sistema de una sola instrucción, múltiple dato /*2 , del ingl0s /ingle*nstruction 2ultiple data1 es un sistema en el que la misma instrucción manipuladi erentes datos en paralelo. $qu! el número de datos es el númerode procesadores trabajando

    simultáneamente. En la igura 3 se ilustra el modelo/*2 .

  • 8/15/2019 Arquitecturas Multi NuCleo

    5/45

    #ato 1

    %rocesador 1 &esultado 1

    #ato 2

    %rocesador 2 &esultado 2

    #ato '

    %rocesador ' &esultado '

    #igura 3. 2odelo /*2 .

    #l(nn tambi0n explica el sistema de múltiple instrucción, un solo dato 2*/ , delingl0s 2ultiple *nstruction /ingle ata1, un modelo teórico de una maquina quereali a un número de operaciones di erentes con el mismo dato. En la igura 4 seilustra el modelo 2*/ .

    I * t & u + +

    i ,

  • 8/15/2019 Arquitecturas Multi NuCleo

    6/45

  • 8/15/2019 Arquitecturas Multi NuCleo

    7/45

    di erente. En la igura & se ilustra el modelo2*2 .

    $nstrucci n 1

    #ato 1%rocesad

    or 1

    &esultado 1

    $nstrucci n 2

    #ato 2

    %rocesad

    or 2

    &esultado 2

    $nstrucci n '

    #ato '

    %rocesad

    or '

    &esultado '

    #igura &. 2odelo 2*2 .

  • 8/15/2019 Arquitecturas Multi NuCleo

    8/45

    2.1.2 Modelo de m(quina de acceso aleatorio

    paralelo

    En el modelo de máquina de acceso aleatorio paralelo 67$2, del ingles 6arallel7andom $ccess 2ac ine1 %&', todos los procesadores están conectados enparalelo con la memoria global. Esta memoria es compartida con todos losprocesadores, como se muestra en la fgura 8. $ esto se le conoce tambi0ncomo modelo de memoria compartida. 9odos los procesadores trabajans!ncronamente con un reloj común. 5ada procesador es capa de acceder

    lectura:escritura1 a la memoria. La comunicación entre procesadores es atrav0s de la memoria. Esto signifca que el dato de un procesador Pi escomunicado a otro procesador Pj siguiendo los pasos siguientes)

    ". El procesador Pi escribe el dato en la memoria global.

    +. El procesador Pj lee el dato de la memoria global.

    Memoria compartida

  • 8/15/2019 Arquitecturas Multi NuCleo

    9/45

    %1 %2 %n

    #igura 8. 2odelo 67$2.

    En el modelo 67$2 existen 4 tipos di erentes de arquitecturas, dependiendo lacapacidad de que más de un procesador pueda leer:escribir a una localidadde memoria, como se aprecia en la fgura ;.

    ". Lectura exclusiva:escritura exclusiva 67$2 E7E

  • 8/15/2019 Arquitecturas Multi NuCleo

    10/45

    67$2

    )&)* C&)* )&C* C&C*

    )C& %C& AC&

    #igura ;. 2odelos de 67$2 .

    El modelo 67$2 de lectura exclusiva:escritura exclusiva permite que en uninstante dado solo un procesador pueda leer:escribir a una localidad dememoria. 6or lo tanto, la lectura o escritura simultánea a una localidad de

  • 8/15/2019 Arquitecturas Multi NuCleo

    11/45

    memoria por más de un procesador no es permitido. El modelo 57E

  • 8/15/2019 Arquitecturas Multi NuCleo

    12/45

    intenta escribir a la misma localidad de memoria simultáneamente, elprocesador con ma(or prioridad es el que escribe. En $57 se asume queentre los procesadores que intentan escribir simultáneamente, solo uno deellos logra escribir.

    2.2 Microprocesador $ntel core 2 quad

    El + de noviembre de +>>8 se lan ó al mercado la serie de procesadores *ntel5ore + ?uad con cuatro núcleos %++', asegurando ser un 8&@ más rápido que los5ore + uo disponibles en ese entonces. En la igura A se ilustra la memoriacac 0 nivel + el microprocesador *ntel 5ore + ?uad.*nicialmente %++', estos procesadores ueron producidos con el proceso demanu actura de

    8& nanómetros núcleo Bentsfeld1, con recuencias que van desde los +.4 CDasta los 3

    CD ( con un bus de la parte rontal #/ , del ingl0s #ront /ide us1 de entre">88 ( "333

    2 ( una memoria cac 0 L+ de A 2 +x4 2 1. 6osteriormente, se redujo elproceso de abricación a 4& nanómetros, creando el núcleo ForG ield que, aligual que su antecesor, corresponde a + núcleos > 2 ( sucac 0 L+ es de "+ 2 +x8 2 1.

  • 8/15/2019 Arquitecturas Multi NuCleo

    13/45

    El procesador *ntel quad-core tiene dos núcleos 5onroe en un solo encapsuladodonde cada núcleo 5onroe es una unidad de doble núcleo, estos dos núcleos5onroe se comunican entres! a trav0s de bus del sistema.

    Caché L2 Caché L2

    #igura A. 2emoria cac 0 L+ en *ntel 5ore + ?uad.

    N - + l e '

    1

    N - + l e '

    (

    N - + l e '

    3

    N - + l e '

    4

  • 8/15/2019 Arquitecturas Multi NuCleo

    14/45

    El microprocesador 5ore + ?uad %+3' está basado en la arquitectura deprocesadores ual

    5ores, con las caracter!sticas principalessiguientes)

    Ejecución dinámica.

    5ac 0 más rápida.

    $cceso rápido a memoria.

    )+ecuci n din(mica extendida. Ejecución efciente debido a laentrega de más instrucciones por ciclo de reloj. 5ada núcleo puede reali ar

    asta 4 instrucciones simultáneamente.Caché din(mica a,an ada. $signación dinámica de la cac 0 L+ para

    cada núcleo de procesador basado en la carga de trabajo. Esto reducesignifcativamente la latencia en el uso recuente de los datos ( mejora eldesempeHo. La cac 0 L+ compartida permite que cada núcleo utilicedinámicamente asta el ">> @ de los 4 2 disponible. En la fgura I seilustra la cac 0 dinámica de *ntel.Acceso r(pido a memoria. Jptimi a el anc o de banda en el uso de datos delsubsistema de memoria por la aceleración en la ejecución uera de orden. El

    dato puede ser movido de la memoria del sistema a la cac 0 L+ rápidamente (con ello avan ando en la ejecución. Estomantiene lleno el pipeline, que mejora el rendimiento ( desempeHo en lasinstrucciones.

  • 8/15/2019 Arquitecturas Multi NuCleo

    15/45

    L+ 5ompartida

    ecrementa

    el trá ico

    inámicamentei- ireccional

    L" 5ac 0 L" 5ac 0

    Kúcleo " Kúcleo +

    #igura I. 5ac 0 dinámica de *ntel.

  • 8/15/2019 Arquitecturas Multi NuCleo

    16/45

    2.' Microprocesador $ntel Core i

    El microprocesador *ntel core i;, considerado como el mejor microprocesadordel planeta para computadoras de escritorio es una arquitectura mejorada (optimi ada del core + quad, (a que en 0ste, los núcleos se comunican entre s!directamente. $demás tiene 3 niveles de memoria cac 0, en el nivel L"cuenta con 3+ B de cac 0 para datos ( 3+ B para instrucciones, en elnivel L+ cuenta con +&8 B de cac 0 compartida para datos einstrucciones, mientras que en el nivel L3 puede manejar asta A 2 tambi0ncompartida. Este microprocesador cuenta con 4 núcleos !sicos, que alvirtuali ar sus actividades, los convierte en A núcleos lógicos, es decir elsistema operativo identifca A unidades de procesamiento, esto permite alprogramador desarrollar sistemas paralelos con A entidades paralelas. /uinterconexión es califcada como dinámica ( compartida, ( la tecnolog!amultitarea simultánea /29, del ingl0s /imultaneousl( 2ulti9 reading1 esuna de sus nuevas cualidades %+;'.

    En la fgura "> se muestra la memoria cac 0 nivel 3 del microprocesador *ntel5ore i;. En aplicaciones multitarea es rápida, debido a que combina latecnolog!a turbo amplifcador de *ntel *9 9, del ingl0s *ntel 9urbo oost

    9ec nolog(1 ( la tecnolog!a iper- ebra de *ntel *D99, del ingl0s *ntel D(per- 9 reading 9ec nolog(1, que maximi a el desempeHo dividiendo la carga detrabajo.

    5ontrolador de memoria integrada - 3

  • 8/15/2019 Arquitecturas Multi NuCleo

    17/45

    / / ú / ú / ú

    ?

    6 5ac 0 nivel 3 compartida

    #igura ">. 2emoria cac 0 L3 en *ntel 5orei;.

    La arquitectura de 4& nm del 5ore i; %+;' proveniente del códigoKe alemM, está

    con ormada por ;3" millones de transistores, AI millones menos que laarquitectura 6enr(n

  • 8/15/2019 Arquitecturas Multi NuCleo

    18/45

    que utili aba "+ 2 para cac 0 combinado en el L+ a tan sólo A 2 combinadopara cac 0 L3. $demás el 5ore i; tiene una nueva particularidad) poseer /ilicio

    /i1 como elemento conductor, el elemento Da nio D 1 se a convertido en lanueva capa semiconductora, pues según las investigaciones de *ntel5orporation, este material reduce el calor ( por ende el consumo de energ!a.Esta cantidad de unidades lógicas a ora son aprovec ados en la cac 0 ( conesto aumenta el paralelismo de las unidades de ejecución en el c ip. En la fgura"" seilustra la interconexión interna del microprocesador *ntel5ore i;.

    5ontrolador*:J

    6rocesador " 6rocesador 3

    6rocesador + 6rocesador 4

    Meori

    Controlador de

    Memoria

    M e m o r

    i a

    d e

    M e m o r

    i a

    Meori

    M e m o r i a

    d e

    M e m o r

    i a

  • 8/15/2019 Arquitecturas Multi NuCleo

    19/45

    5ontrolador*:J

    #igura "". *nterconexión interna del microprocesador 5ore i;.

    Nna de sus novedades es que a ora la unidad de detección de bucles se acolocado detrás de las etapas de decodi icación de instrucciones. La capacidadactual de almacenamiento llega a los +A micro-operaciones.Los investigadores de *ntel lograron per eccionar el modo de entrada para elacceso de memoria cac 0 a trav0s del nuevo esquema acceso no uni orme amemoria KN2$, del ingl0s Kon-Nni orm 2emor( $ccess1 lo que en el 5ore+ uo era casi imposible de conseguir, movimientos como los saltos de relojde una manera más sincroni ada %+;'.

    Controlador de

    Memoria

  • 8/15/2019 Arquitecturas Multi NuCleo

    20/45

    Características del procesador

    Core i

    e acuerdo a %+4' el procesador 5ore i; presenta las siguientescaracter!sticas)

    Cuatro unidades de procesamiento. 6rovee cuatro unidades de ejecuciónindependientes en un solo procesador. Los cuatro núcleos de procesamientodedicado a(uda a que el sistema operativo ( aplicaciones se ejecuten de una

    orma mu( e iciente.Tecnolo0ía súper-tarea. 6ermite ejecutar dos tareas por núcleo !sico,

    aciendo un total de

    A tareas para cómputo masivo. 5on esta tecnolog!a se ejecuta mas aplicacionesen paralelo, aciendo más en menos tiempo.Tecnolo0ía de tur o ampli icaci n. *ncrementa dinámicamente la

    recuencia del procesador con orme es necesario, tomando ventaja delcalentamiento ( potencia de procesador cuando opera por debajo de los l!mitesespecifcados. 5onsiguiendo un mejor desempeHo automático, cuando más senecesita.Caché r(pida. /e encuentra en el último nivel de cac 0. Dabilita efciente (dinámicamente la asignación de memoria para los cuatro núcleos delprocesador para manipulación ( almacenamiento e iciente de los datos.

    &uta de interconexi n r(pida. Es un sistema de interconexión queincrementa el anc o de banda ( con baja latencia, logrando una velocidad altade trans erencia de datos de +&.8C :s.

  • 8/15/2019 Arquitecturas Multi NuCleo

    21/45

    Controlador de memoria inte0rada. Es un controlador de memoriainterna con tres canales 73 de ">88 2 , o reciendo un desempeHo enmemoria de asta +&.8 C :s. 5ombinado con procesadores de algoritmose icientes de pre-búsqueda, este controlador de memoria disminu(e la latencia (aumenta el anc o de banda, entregando un desempeHo asombroso enaplicaciones donde se manipulan muc os datos.3# a,an ado. *nclu(e un conjunto de instrucciones /*2 //E, del ingl0s/treaming /*2 Extensions 41, mejorando signifcativamente el anc o banda enmultimedia ( aplicaciones de computo intensivo. Las instrucciones //E de "+Abits son enviadas en una tasa de rendimiento espec!fco por ciclo de reloj,permitiendo un nuevo nivel de procesamiento efciente con aplicaciones //E4

    optimi ado.4ensor di0ital de temperatura 5#T46 del in0lés #i0ital Thermal

    4ensor7. 6roporciona más efciencia al procesador ( la plata orma de controlt0rmico un sistema acústico, el 9/ continuamente mide la temperatura decada núcleo. La abilidad de monitorear

  • 8/15/2019 Arquitecturas Multi NuCleo

    22/45

    continuamente ( detectar la variación de temperatura del procesadorpermite activar el sistema de ventiladores, que giran de acuerdo a la necesidadpara mantener resco el sistema. La incorporación de esta tecnolog!a reduce laemisión de ruido de la computadora personal 65, del ingles 6ersonal 5omputer1.)+ecuci n din(mica. 2ejora la velocidad ( efciencia de ejecución, entregandomás instrucciones por ciclo de reloj. 5ada núcleo puede ejecutar astacuatro instrucciones simultáneamente.Acceso r(pido a memoria. 2ejora el desempeHo del sistema,optimi ando el uso disponible del anc o de banda de datos del subsistema dememoria ( reduciendo e ectivamente la latencia a acceso a memoria.

    2.8 Microprocesador AM# 9pteron de cuatro núcleos

    El Jpteron es un $2 con arquitectura xA8 %+8' de la l!nea deprocesadores para servidores, u0 el primer procesador que se le implementó el

    conjunto de instrucciones de la arquitectura $2 84. Este procesador salió almercado el ++ de abril de +>>3 con núcleo /ledgeDarmmer, para competir en elmercado de procesadores para servidores, particularmente en el mismosegmento del procesador *ntel Oeon. Los procesadores basados en la micro-arquitectura $2 B"> ueron anunciados el "> de septiembre de +>>;,destacando el procesador de cuatro núcleos.El procesador $2 Jpteron tercera generación con proceso de manu actura de

    8& nm está diseHado para un desempeHo óptimo en aplicaciones muti- ebras.Este diseHo se caracteri a por tener cuatro núcleos en solo c ip, que aumenta laefciencia en los datos compartidos. $demás de una estructura de memoriacac 0 mejorada 84 B de datos cac 0 ( 84 B de cac 0 L" de instrucciones,&"+ B de L+ cac 0 por cada núcleo ( + 2 de cac 0 L3 por 56N1 ( un

  • 8/15/2019 Arquitecturas Multi NuCleo

    23/45

    controlador de memoria integrada. En la fgura "+ se ilustra los niveles dememoria cac 0 que tiene el microprocesador $2 Jpteron de cuatro núcleos.

  • 8/15/2019 Arquitecturas Multi NuCleo

    24/45

    Kúcleo " Kúcleo+

    Kúcleo3

    Kúcleo 4

    5ontroladorde 5ac 0

    5ontroladorde5ac0

    5ontroladorde5ac0

    5ontrolador de5ac 0

    L1 L1 L1

    L1

    L2 L2 L2

    L2

    L'

    #igura "+. Kiveles de memoria cac 0 en $2 Jpteron de cuatronúcleos.

  • 8/15/2019 Arquitecturas Multi NuCleo

    25/45

    Entre las tecnolog!as más importantes del procesador $2 Jpteron de cuatronúcleos son)

    El diseHo nativo del quad-core tiene una arquitectura de cuatro núcleosen un solo subtrato.*ndexación para virtuali aciones rápidas. 2ejora el desempeHo demuc as aplicaciones virtuali adas, debido a que las máquinas virtualesadministran directamente la memoria.Enlaces con tecnolog!as de super-transporte asta tres porprocesador $2 Jpteron1. /on enlaces de alta velocidad que proveen unanc o de banda de asta A.>C :s por enlace de cada conexión entre procesadores ( subsistema deentradas ( salidas, que a(uda a mejorar la escabilidad ( el rendimiento delas aplicaciones.5ontrolador de memoria integrada en el c ip. J rece un alto anc o debanda, baja latencia en el acceso a memoria para un desempeHoexcelente de aplicaciones que acen un uso intensivo de memoria, como

    ambientes virtuali adas. 9ecnolog!a de núcleos dinámicos independientes. 6ermite variar la

    recuencia de cada núcleo para reducir el consumo de energ!a de losnúcleos menos utili ados.

    9iene implementado la tecnolog!a para reducir el consumo de energ!ade asta un

    ;&@ por núcleo en modo espera.

    $rquitectura de conexión directa P permite eliminar la parte tradicionalcuello de botellaM de la arquitectura xA8) conexión directa con los buses

    de supe-transporte *:J

  • 8/15/2019 Arquitecturas Multi NuCleo

    26/45

    asta A C :s1, comunicación en tiempo real entre procesadorQ elcontrolador de memoria integrada reduce la latencia ( e ectos dedesempeHo positivamenteQ conexión directa a la memoria 7+.

    9ecnolog!a avan ada de 8& nm que usa el /J* /ilicon Jn *nsulator1, unapequeHa uga de corriente ace que el desempeHo por > núcleos de procesadores que operan

    juntos en el tratamiento del grupo de datos de una aplicación. En la fgura "3 sepresenta un diagrama simplifcado de la unidad de procesamiento gráfco CA>.

  • 8/15/2019 Arquitecturas Multi NuCleo

    27/45

    La serie "> de C6N 9esla tiene implementado la segunda generación de laarquitectura 5N $, que está optimi ado para aplicaciones cient!fcas, como elestándar *EEE de punto =otante en doble precisión, cac 0 de datos locales en

    orma de memoria compartida, distribuida en todo el C6N.Los productos de KS* *$ tesla son masivamente multi- ebras, debido a que sonc ip multi- núcleos. Este pueden tener asta "+> procesadores escalares,ejecutar más "+,>>> ebras concurrentemente ( tener un desempeHo porencima de los 4;> C#LJ6/. Los C6N tienen una pequeHa memoria compartidapor bloque de A procesadores escalares.

  • 8/15/2019 Arquitecturas Multi NuCleo

    28/45

    5ada procesador de ebras tiene dos elementos de procesamientos, cadaelemento de procesamiento tiene A procesadores escalares que alcan a los 3+C#LJ6/ pico a ".3& CD , tiene A,"I+ registros de 3+ bits 3+ B 1, teniendo comooperaciones usuales los tipos =oat, int, bi urcación, entre otros.

    #igura "3. iagrama simplifcado del procesador gráfco CA>.

    2.:.1 3istoria del c mputo ;%<

    El c ip gráfco solo reali aba unciones gráfcas en pipelines. $Hos despu0s, estec ip llego a ser gradualmente programable, por lo que Kvidia introduce el primerC6N o unidad de procesamiento gráfco. e "III al +>>>, particularmente encómputo cient!fco que reali aban los investigadores, tales como imágenesm0dicas ( electromagn0ticas empe aron utili ando el C6N. Los investigadoresencontraron un excelente desempeHo de operaciones de punto =otante en elC6N. Esto dio lugar a un nuevo C6N llamado C6C6N ó C6N para cómputo depropósito general.El problema que ten!a el C6C6N, era que para programarlo se ten!a que utili arun lenguaje de programación gráfco, como JpenCL ( 5g. $s! los

  • 8/15/2019 Arquitecturas Multi NuCleo

    29/45

    programadores ac!an sus aplicaciones cient!fcas en aplicaciones gráfcas.Esto limitaba a la accesibilidad al enorme desempeHo del C6N para la ciencia.Kvidia i o realidad en traer el enorme potencial de su procesador gráfco a lacomunidad cient!fca, invirtiendo en la modifcación del C6N para que 0ste seacompletamente programable ( soporte lenguajes de alto nivel, como 5 ( 5TT.

  • 8/15/2019 Arquitecturas Multi NuCleo

    30/45

    2.:.2 Arquitectura paralela C8> %+A' tiene la capacidad de cómputo equivalente a unclúster pequeHo de computadoras. Esto se debe a que en su arquitecturainterna tiene implementado+4> núcleos de procesadores.

    5on los +4> núcleos que el procesador 9esla 5">8> tiene puede ejecutarconcurrentemente miles de ebras, obteniendo con ello una respuesta rápida (precisa.Este procesador gráfco cierra la brec a entre la demanda de la aplicación ( eldesempeHo entregado por el procesador de cómputo. 5on la arquitectura

  • 8/15/2019 Arquitecturas Multi NuCleo

    31/45

    masivamente paralela del C6N, los cient!fcos e ingenieros pueden conseguir unsalto cuántico en desempeHo ( continuar avan ando con sus investigaciones,motivados por la rapide con la que obtiene los resultados.KS* *$ 9esla tiene un ambiente de programación llamada 5N $ 5, quesimplifca la programación de muc os núcleos ( aumenta el desempeHo por laausencia de carga de actividades de cómputo intensivo desde el 56N al C6N.Esto permite a los desarrolladores a utili ar C6N de KS* *$ para resolverproblemas cada ve más complejos donde se requiere un ma(or poder decómputo, como dinámica molecular, análisis fnanciero, dinámica de =uidos,análisis estructural ( muc os otros.

  • 8/15/2019 Arquitecturas Multi NuCleo

    32/45

    2.:.'.1 Características del procesador Tesla C1>?>

    Arquitectura multinúcleo con enorme capacidad de c(lculo en paralelo

    528> unidades de procesamiento7. 6ermite resolver en la estación de trabajoproblemas de cálculo complejos que antes exig!an el uso de un clúster deservidores.8 ;@ de memoria de alta ,elocidad. 6ermiten almacenar grandesvolúmenes de datos de orma local para cada procesador a fn de maximi arlas ventajas de los ">+ C :s de velocidad de trans erencia de la memoria (reducir el movimiento de datos por el sistema. )ntorno de pro0ramaci n enC C

  • 8/15/2019 Arquitecturas Multi NuCleo

    33/45

  • 8/15/2019 Arquitecturas Multi NuCleo

    34/45

  • 8/15/2019 Arquitecturas Multi NuCleo

    35/45

    2.?.1 Componentes del procesador C)LL

    El microprocesador 5ELL %"3', básicamente está compuesta por un elementoprocesador potente 66E, del ingl0s 6oUer 6rocessor Element1, oc o elementosde procesadores sin0rgicos /6E, del ingl0s /(nergistic 6rocessor Element1.Estos dos procesadores están conectados entre s! a trav0s de un bus interno dealta velocidad, denominada bus de interconexión de elementos E* , del ingl0sElement *nterconnect us1. $demás de incorporar un subsistema de memoriaO 7 de 7$2 N/.

  • 8/15/2019 Arquitecturas Multi NuCleo

    36/45

    )lemento de procesador %oBer%C 5%%)6 del in0lés %oBer%C

    %rocessor )lement7

    El 66E es un procesador de 84 bit, con un núcleo 6oUer65 con arquitectura 7*/5de dos ebras en hardware . Este procesador es el que controla ( administralos oc o elementos /6E. El 66E tambi0n es el que se encarga de interactuarcon el sistema operativo. e acuerdo con la * 2 el procesador puede correr unsistema operativo normal a lado de un sistema operativo de tiempo real ( ambos

    uncionando correctamente.

    El 66E tiene dos niveles de memoria cac 0, la memoria cac 0 nivel " L"1separada, 3+ B para instrucciones ( 3+ B para datos. La memoria cac 0 nivel+ unifcada L+1 de &"+ B para instrucciones ( datos, cada l!nea de cac 0 esde "+A bits. Nna unidad $ltivec es incluida en dic o procesador para procesardatos de coma =otante en doble precisión mediante pipeline . 5ada 66N escapa de ejecutar dos operaciones de coma =otante en doble precisión por

    cada ciclo de reloj, combinando escalarmente una instrucción de multiplicación (suma alcan ando los 8.4 C#LJ6/ a 3.+ CD Q ó A operaciones en precisión simplepor ciclo de reloj con una instrucción vector de suma ( multiplicación,alcan ando los +&.8 C#LJ6/ a 3.+ CD .

    )lemento procesador sinér0ico 54%)6 del in0lés 4"ner0istic

    %rocessor )lement7

    5ada /6E está compuesto por una unidad de procesamiento sin0rgico /6N, delingl0s /(nergistic 6rocessing Nnit1 ( una controlador de =ujo a memoria

    2#5, del ingl0s 2emor( #loU 5ontroller1. Nn /6E es un procesador 7*/5 conorgani ación /*2 de "+A bits para instrucciones de precisión simple ( doble.

  • 8/15/2019 Arquitecturas Multi NuCleo

    37/45

  • 8/15/2019 Arquitecturas Multi NuCleo

    38/45

    @us de interconexi n de

    elementos

    El bus de interconexión de elementos E* , del ingl0s Element *nterconnect us1es un bus interno del procesador 5ell que conecta varios elementos del sistemaen un c ip) el procesador 66E, el controlador de memoria, los oc ocoprocesadores ( dos inter aces de entrada:salida siendo un total de "+participantes en el 6la(/tation3. El bus de interconexión de elementos inclu(euna unidad arbitraria que unciona como un conjunto de semá oros.El bus de interconexión de elementos actualmente esta implementadocomo un anillo circular con cuatro canales unidireccional de "8 (tes de anc oque giran en sentido opuesto por par de canal. 5uando a( un tráfco estándar,cada canal puede transportar asta tres transacciones concurrente. 5omo estebus corre a la mitad de velocidad del reloj del sistema la e ectividad del canal esde "8 (tes cada dos ciclos del sistema. $ concurrencia máxima, con trestransacciones activas sobre los cuatro anillos, el pico instantáneo en el anc o de

    banda del bus es I8 (tes por reloj "+ transacciones concurrentes por "8 (tesde anc o entre dos ciclos del sistema por trans erencia1.5ada elemento conectado al bus de interconexión de elemento tiene un puertode lectura de

    "8 (tes ( un puerto de escritura de "8 (tes. El l!mite de cada elementoen la tasa de lectura ( escritura es de "8 (tes por ciclo del bus. 5ada

    procesador /6N contiene un administrador dedicado para el acceso directo amemoria que es capa de programar secuencias largas de transacciones avarios puntos sin inter erir con los cálculos actuales del /6NQ la cola deladministrador de acceso directo a memoria puede ser administrado localmenteo remotamente como sea mejor, esto nos provee una lexibilidad adicional almodelo de control.

  • 8/15/2019 Arquitecturas Multi NuCleo

    39/45

    El =ujo de datos sobre un canal del bus de interconexión de elementos esgradual alrededor del anillo. 5omo son doce elementos conectados, el númerototal de pasos alrededor del canal acia el punto de origen son doce. /eispasos para distancias largas entre dos elementos. Este bus no permitetransmitir datos que requieran más de doce pasosQ como los datos que requierentomar rutas cortas en otra dirección alrededor de anillo. El número de pasos queimplica el env!o de paquetes tiene un impacto mu( pequeHo sobre la latencia detrans erencia) la velocidad del reloj de controlador de pasos es mu( rápidocomparado con otras consideraciones. /in embargo, la comunicación endistancias largas perjudica el desempeHo total del bus debido a que reduce laconcurrencia disponible.

  • 8/15/2019 Arquitecturas Multi NuCleo

    40/45

    $sumiendo que el procesador 5ell corre a 3,+ CD . $ esta recuencia de relojcada canal transmite a un ritmo de +&,8 C :s. 5ontemplando el E*aisladamente de los elementos que interconecta, alcan ar doce transaccionessimultáneas con este ratio de trans erencia arrojar!a un anc o de bandateórico de +>;,+ C :s. asándose en esta perspectiva muc as de laspublicaciones de * 2 describen el anc o de banda disponible en el E* como

    ma(or de 3>> C :sM. Este número re=eja el pico instantáneo de anc o debanda del E* escalado por la recuencia del procesador.En la práctica el anc o de banda e ectivo del E* %"I' puede tambi0n estarlimitado por los participantes involucrados en el anillo. 2ientras que cada uno delos nueve núcleos de proceso puede mantener una velocidad de lectura (escritura de +&,8 C :s de manera simultánea, el adaptador de controladora dememoria 2*5, del ingl0s 2emor( *nter ace 5ontroller1 está sujeto a un par decanales de memoria O 7 del ingl0s Extreme ata 7ate1 que permiten un tráfcomáximo de +&,8 C :s para escrituras ( lecturas combinadasQ ( las doscontroladoras de E:/, según aparece en la documentación, soportan una

    velocidad máxima combinada de entrada de +&,8 C :s ( una velocidad máximacombinada de salida de 3& C :s.

    Controladora de memoria "

    ) 4

    El procesador 5ell contiene un macro O*J 7ambus doble canal de nuevageneración, que interconecta con memoria O 7 7ambus. La controladoraadaptadora de memoria 2*51 está separada del macro O*J ( a sido diseHadapor * 2. El enlace O*J-O 7 corre a 3,+C :s en cada pin. os canales de 3+ bits pueden proporcionar un máximoteórico de +&,8

  • 8/15/2019 Arquitecturas Multi NuCleo

    41/45

    C :s.

    El adaptador de sistema empleado en 5ell, tambi0n un diseHo 7ambus, esconocido como #lex*J. La inter ace #lex*J está organi ada en "+ carriles, siendocada carril un canal de A bits punto a punto. 5inco caminos de A bits de anc opunto a punto son carriles de entrada al 5ell, mientras que los siete restantesson de salida. Esto proporciona un anc o de banda máximo teórico de 8+,4C :s

    38,&C :s salida, +8C :s entrada1.La inter ace #lex*J puede poseer una recuencia de reloj independiente

    t!picamente, a 3.+

    CD 1. 5uatro canales de entrada ( cuatro de salida se encargan deimplementar la co erencia de memoria %"I'.

  • 8/15/2019 Arquitecturas Multi NuCleo

    42/45

    En adici on al !ro"lema del "a#o ni$el de ILP (lo %&e conlle$a a &n&'o

    ine ciente de lo' rec&r'o') &n !roce'ador '&!ere'calar tam " i en 'ecaracteri* +a !or de'!erdiciar ca!acidad de com!&to !ermaneciendo d&ranteal,&no' ciclo' de relo# en e'tado ocio'o (id le ). En oca'ione' la e#ec&ci o

    del -o de in'tr&ccione' '&ele "lo%&ear'e de"ido a entre otra' co'a' mala' !rediccione' de lo' 'alto' de'acierto' en la memoria cac e dein'tr&ccione' o ! eracione' de E/S etc. lo %&e 'e trad&ce inde0ecti"lemen t een &n !roce'ador ocio'o a la e'!era de &na in'tr&cc io n a e#ec&tar.

    Proce'adore' M &lti ilo1.2.

    mo) a ni$el de in'tr&ccione'. Por e#em!lo !ara &n !ro,rama MIPS t 3!icola0rec&encia de in'tr&ccione' de 'alto condicional ! odr 3a 'er del 45 6 7859.E'to 'i,ni ca %&e cada c&atro in'tr&ccione' e#ec&tada' el !roce'ador 'eenc&entra ante &n hazard de con trol.

    Para ma imi+ar el a!ro$ec amiento de lo' rec&r'o' del !roce'ador 'e re*%&iere &n alto ,rado de !araleli'mo a ni$el de in'tr&ccione' (ILP − Instruc-tion Level Par a ll elism ). Si como oc&rre en la ! r a ctica e'te !araleli'moe' e'ca'o en t once' de" er an anali+ar'e otra' e'trate,ia' %&e le den lao! ort&ni* dad al !roce'ador de e#ec&tar m& lti!le' in'tr&ccione' 'im &l

    aneamen t e. Una !o'i"ilidad con ,ran a&,e en lo' & ltimo' t iem! o' e' el

    a!ro$ec amiento del !araleli'mo a ni$el de ; ilo< de e #ec&cio n (ILP −

    on 'i,ni cati$a en el 'ola!amiento (o !araleli'*lo %&e re'&lta en &na red&cci

    Ante e'ta' 'it&acione' la t &"er 3a 'e detiene a'ta %&e el rie',o 'eare'&elto(!or e#em!lo %&e concl&=a la e #ec&ci on de la in'tr&ccion %&e de"e !rod&cir el dato re%&erido). A' 3 el rendimiento ideal de &na in'tr&cci on !or ciclo

    2. Rie',o' de control ( control hazar ds ): de"ido a 'alto' d&rante la

    e#ec&*

    PROCESADORES MU LT I>ILO

  • 8/15/2019 Arquitecturas Multi NuCleo

    43/45

    !or 'er el encontrado en lo' !roce'adore' moderno' a&n%&e e' im! ortan t ea re0erencia al !rimer e'%&ema (m&lti ilo e ! lEn e'te tra"a#o 'e ar

    M&lti ilo im! l 3cito: c&ando el !roce'ador tiene la ca!acidad de,e*nerar dinamicamente ilo' !ro!io' a !artir de &n & nico -o de in'*tr&ccione' median t e mecani'mo' de e'!ec&lac io n. E'to !&edelo,rar'e !or e#em!lo e !lotando la inde!endencia entre 'ec&encia' dein'tr&c* cione' como ! odr 3a 'er cada iteracion de &n "&cle (en e'teca'o cada ilo im! l 3cito corre'!onde r 3a a la e #ec&ci on de &naiterac io n 'i la' ite* racione' 'on inde!endiente' &na de otra). En,eneral la ca!acidad ! ara ,enerar ilo' im! l 3cito' !or !arte del

    M&lti ilo e ! l 3cito: c&ando el !roce'ador e#ec&ta ilo' o !roce'o'del usuario (e.,. del 'i'tema o!erati$o). E' decir a= &na corre'!ondencia

    directa entre lo' ilo' de software = lo' ilo' de hardware 'o! ortado'

    Una ' ol&ci on al &'o ine cien t e de lo' rec&r'o' del !roce'ador con'i'teenla &tili+acion de m& lti!le' ilo' (o -o') de in'tr&ccione' t ecnicacono cida como ejecucion multihilo . En e'te tra"a#o el conce!to de ilo

    (thread ) di(e r e al &tili+ado en el a m "ito del softwar e ? a%& 3 'e ar re0erencia a -o' de in'tr&ccione' 'o!ortado' a ni$el de hardware adi0erencia de lo' ilo' creado' !or el 'i'tema o!erati$o o !or el &'&ario.Sin em"ar,o en m&c o' ca'o' &n ilo a nivel de software ! odr 3acorre'!onder'e con &n ilo a nivel de hardware . En e'te 'entido el modelo

    De'!erdicio e rtical : de"ido al "lo%&eo o latencia' en la' in'tr&c*cione' e#ec&tada' con lo c&al el !roce'ador de"e !ermanecer ocio'o.

    !ara &n ciclo de relo# &'ar e(cien t emen te lo' rec&r'o' (&nidade' 0 &n*cionale') di'! oni"le'.

    ILP %&e im!ideDe'!erdicio >ori+on t al : de"ido al "a#o ni$el de

    PROCESADORES MU LT I>ILO

  • 8/15/2019 Arquitecturas Multi NuCleo

    44/45

    La otra alternati$a con'i'te en e#ec&tar lo' ilo' di'!oni"le' en 0orma 'i*m&lt a nea di'e nBo conocido como SMT ( Simultaneous Multithreading ).E'ta t ecnica !ro!&e'ta !or E,,er' = otro' en 7C9) "&'ca minimi+ar tanto elde'* !erdicio ori+on t al como tam " i en el de'!erdicio $ertical. Para e$itar %&e el !roce'ador !ermane+ca ocio'o la' in'tr&ccione' a e#ec&tar 'e t oman de$ario' -o' 'im &lt aneamen t e de manera tal %&e ante el "lo%&eo de &node ello' 'e !&eda con t in&ar con la e#ec&ci on de al,&no de lo' otro'. Enrealidad la anterior =a e' &na caracte r 3'tica de la ! ol 3tica FMT. Ladi0erencia e'ta en %&e &n e'%&ema SMT "&'ca ma imi+ar !ara cada ciclo derelo# la &tili+ac io n de lo' rec&r'o' del !roce'ador. Si el -o (!roce'o o

    ilo) en e #ec&ci on !re'en ta &n alto ni$el de ILP en t once' e'e !araleli'mo !ermite e !lotar al ma imo la &tili+acion de la' &nidade' 0&ncionale' !ara&n ciclo de relo#. Por otra !arte 'i $ario' -o' !re'entan cada &no &

    "a#o ni$el de ILP en t once' !&eden 'er e#ec&tado' ' im&ltaneamen t e !arama imi+ar el a!ro$ec amiento de lo' rec&r'o'. En la ,&ra 1.4 !&ede

    CMT (Coarse-grain Multithreading ): lo' -o' ( ilo') 'e alternanc&an*do el %&e e'ta"a en e #ec&ci on inc&rre en al,&na !enalidad tal como

    FMT ( Fine-grain Multithreading ): lo' -o' ( ilo') 'e alternan en cadain'tr&cci on e#ec&tada.

    de'tacar %&e la or,ani+ac io n cac e !ro!&e'ta e' inde!endiente del ori,en

    delo' ilo' en e #ec&ci on.

    En lo' !roce'adore' con m&lti ilo e ! l 3cito e i'ten do' alternati$a' ! ara el mane#o conc&rren t e de la e #ec&ci on. Por &na !arte lo' ilo' ! odr

    3an 'er e#ec&tado' en 0orma intercalada mediante '&ce'i$o' cam"io' decon te to (notar %&e en &nmomen t o determinado &n & nico ilo tienedi'!oni"le la totalidad de lo' rec&r'o' del !roce'ador). De!endiendo de la,ran &laridad con la %&e 'e intercalan lo' ilo' ! odr 3amo' e'tar en

    PROCESADORES MU LT I>ILO

  • 8/15/2019 Arquitecturas Multi NuCleo

    45/45

    T I E M P O

    Como re'&ltado el e'%&ema SMT !ermite oc&ltar la' latencia' de memoria(de"ido a de'acierto' en la cac e de ni$el 8) como t am "i en otra'latencia' ,enerada' !or o!eracione' de E/S o de ' incroni+ac io n 7449)=a %&een dic o' ca'o' lo' rec&r'o' !&eden 'er a!ro$ec ado' !or otro' ilo' dee#ec&cion. Sin em"ar,o el &'o de e'ta t ecnica ,enera n&e$o' de'a 0 3o')

    !artic&larmen t e en el di'e nBo de la' &nidade' 0&ncionale' %&e 'e $ein$ol&crada' = a0ectada' ! or la e !lotacion del !araleli'mo a ni$el de ilo(TLP − Thread Level Para- ll el i sm ). E' decir de"e re!lantear'e laconce!cion de a%&ello' rec&r'o' %&e 'e com!arten entre lo' ilo'. Lamemoria cac e de ni$el 8 e' &na de la' com!onente' ma ' a0ectada'de"ido a %&e la e i'tencia de m& lti!le' in'tr&c* cione' !erteneciente' a m&

    lti!le' ilo' de e #ec&ci on dentro del ! roce'ador ,enera &na 'it&ac io n de

    Fi,&ra 1.4: U'o de lo' rec&r'o' en ar%&itect&ra' S&!ere'calar FMT = SMT.

    Desperdiciohorizontal

    Hilo 3

    Hilo 2

    Desperdiciovertical

    Hilo 1

    SMTFMTSuperscalar

    U ID!DES FU "IO !#ES

    0&nci on del t iem! o !ara la' ar%&itect&ra' S&!ere'calar FMT = SMT.

    Clara*men t e el e'%&ema SMT !re'enta &n me#or a!ro $ec amien t o de la' &nidade'0&ncionale' al e !lotar tanto el !araleli'mo a ni$el de in'tr&ccione' como el