entrega_7

35
Muestre como planificaría un compilador la siguiente secuencia de Ejemplo: instrucciones para un procesador VLIW con 3 unidades de ejecución. Suponga que todas las operaciones tienen una latencia de dos ciclos y cualquier unidad de ejecución puede ejecutar cualquier tipo de instrucción. ADD r1, r2, r3 SUB r16, r14, r7 SUB r16, r14, r7 LD r2, (r4) LD r14, (r15) MUL r5, r1, r9 ADD 9 10 11 ADD r9,r10,r11 SUB r12, r2, r14 Arquitectura de Computadoras M. en C. Jesús García Ruiz 1

Upload: eid-julian-munglez

Post on 10-Sep-2015

216 views

Category:

Documents


2 download

DESCRIPTION

funcionamiento de dependia de datos y memoria cacha, memoria virtual

TRANSCRIPT

  • Muestrecomoplanificarauncompiladorlasiguientesecuenciade

    Ejemplo:

    instruccionesparaunprocesadorVLIWcon3unidadesdeejecucin.Supongaquetodaslasoperacionestienenunalatenciadedosciclosycualquierunidaddeejecucinpuedeejecutarcualquiertipodeinstruccin.

    ADDr1,r2,r3SUB r16, r14, r7SUBr16,r14,r7LDr2,(r4)LDr14,(r15)MULr5,r1,r9ADD 9 10 11ADDr9,r10,r11SUBr12,r2,r14

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 1

  • Solucin:

    Palabra1

    Palabra 2

    ADDr1,r2,r3

    SUB r16, r14, r7

    LDr2,(r4)

    ADD r9 r10 r11

    LDr14,(r15)

    NOPPalabra2

    Palabra3

    SUBr16,r14,r7

    MULr5,r1,r9

    ADDr9,r10,r11

    SUBr12,r2,r14

    NOP

    NOP

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 2

  • Enlasiguientetablasemuestracomosepodranplanificarlasoperaciones.ObsrvesequelaoperacinLDr14,(r15)sehacolocadoenlainstruccinanterioralaoperacinSUBr16,r14,r7apesardequelaoperacinSUBapareceantesenelfragmentodecdigooriginalydequeleedelregistrodedestino en el que la operacin LD almacenar el dato Ya que lasdestinoenelquelaoperacinLDalmacenareldato.YaquelasinstruccionesVLIWnosobreescribenlosregistroshastaquenosecompletan,elvalorprevioder14permanecerhastadosciclosdespusdequelaoperacinLDsehayaemitido,permitiendoquelaoperacinSUBpuedaleerelvaloranteriorder14ygenereunresultadocorrecto.Alplanificarlasoperacionesfueradeordenydeestaforma,sehalogradoqueelfragmentodeprogramaocupemenosinstruccionesVLIW.Demanerasimilar, la operacin ADD r9, r10, r11 se ha planificado antes que lasimilar,laoperacinADDr9,r10,r11sehaplanificadoantesquelaoperacinMULr5,r1,r9,aunqueestasdosoperacionespodranhabersecolocadoenlamismainstruccinsinincrementarelnmerodeinstruccionesnecesariasparacodificarelfragmentodeprograma.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 3

  • Ejemplo: ********

    Muestrecomouncompiladorplanificaraelcdigodelproblemadeladiapositiva156,parasuejecucinenunprocesadorVLIWconelmismonmerodeunidadesdeejecucinylasmismaslatenciasdelasoperacionesespecificadas en el problema original Al contrario que en los problemas deespecificadasenelproblemaoriginal.Alcontrarioqueenlosproblemasdelosprocesadoressuperescalares conejecucinfueradeorden,deberasuponerqueelcompiladoranalizatodoslosposiblesordenamientosdeoperacionesparaencontrarlamejorplanificacin.Estoreflejaelhechodequeelcompiladorpuedededicarmstiempoytenerunavisinmsglobaldelprogramaparaencontrarlamejorplanificacindeloqueusualmenterealizaelhardwaredelossuperescalares entiempodeejecucin.ADDr1,r2,r3, ,SUBr5,r4,r5LDr4,(r7)MULr4,r4,r4ST (r7) r4ST(r7),r4LDr9,(r10)LDr11,(r12)ADDr11,r11,r12

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 4

    MULr11,r11,r11ST(r12),r11

  • Palabra1

    l b

    SUBr4,r5,r5 LDr4,(r7) LDr9,(r10)

    NOP

    LDr11,(r12)

    NOPPalabra2

    Palabra3

    ADDr1,r2,r3

    MULr4,r4,r4

    NOP

    ADDr11,r1,r12

    NOP

    NOP

    NOP

    NOP

    Palabra4

    Palabra5

    ST(r7),r4 MULr11,r11,r11 NOP NOP

    NOP NOPST(r2),r11 NOP

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 5

  • D ll d d b l

    Engeneral,lasiteracionesdeunbuclesuelencontenerpocoparalelismo,debidoespecialmente a dependencias de control y si existen dependencias de datos

    Desenrolladodebucles

    especialmenteadependenciasdecontroly,siexistendependenciasdedatos,estassemultiplican.UnatcnicaquepermitedisminuirestasituacineslallamadaDesenrolladodebucles.

    Porejemplo,undesenrollodebuclesenlenguajeC:

    for(i=0;i

  • UNIDADIVADMINISTRACIN DE MEMORIAADMINISTRACINDEMEMORIA

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 7

  • Jerarquadememoriaq

    P d

    Incrementotamao Incrementovelocidad Incrementocostoporbit

    Procesador

    Registros

    CachprimariaL1

    CachsecundariaL2

    Memoriaprincipal

    MemoriaSecundaria

    DiscoMagntico

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 8

  • Administracin de Memoria Cach

    Memoriachach:Darunasolucineficientequehaceapareceral

    AdministracindeMemoriaCach

    q pprocesadormsrpidodeloqueesparaconlamemoriautilizada.

    LneadeCach:Bloquedecache,elcualesunconjuntodelocalidadescontiguas de memoriacontiguasdememoria.Usualmente,lamemoriacachepuedealmacenarunnmerorazonabledebloques,peroestenmeroespequeocomparadoconelnmerototaldebloquesenlamemoriaprincipal.

    Correspondencia:Funcionesdemapeo quehacencorresponderlosbloquesdelamemoriaprincipalalaslneasdelamemoriacach.

    Algoritmos de sustitucin: Criterios con los cuales se decide queAlgoritmosdesustitucin:Criteriosconloscualessedecidequebloquescontenidosenlamemoriacachsesustituirndelosbloquesdelamemoriaprincipal,debidoaqueeldatobuscadonoseencuentraenlamemoriacach.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 9

  • Lalongituddelneadeunacacheseltamaodelbloquedecach(eltamaodelgrupodedatosquesonllevadosysacadosdelacachenrespuestaaunfallodelamisma).Laslneasdelacachestnalineadas(lasdireccionesdelprimerbyteenunalneacachessiempreunmltiplodelalongitud de la lnea)longituddelalnea).

    Estosimplificaelprocesodedeterminarsihaocurridoonounfallodecache,puestoquelosbitsmenossignificativosdeladireccindeterminanquebytedeunadireccinreferencianlalneaquelacontiene,ysolamentelosbitsmssignificativossenecesitanenviaralamatrizdeetiquetasparadeterminarsihaexistidounacierto.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 10

  • Enunacachecon64bytesdelongituddelnea,Cuntosbitsseutilizanpara

    Ejemplo:

    determinarquebytedentrodelalneacacheindicaladireccin?

    Solucin:

    Ellog2 de64es6,porlotantolos6bitsmenossignificativosdeladireccindeterminanelbytededireccindentrodeunalneadecache.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 11

  • Supongamosunacachede1KB,conlneasde64bytes.Determinecuantas

    Ejemplo:

    lneashabraenlacache.Yconlneasde32bytes.Culopcinconvienems?,porqu?

    Solucin:

    Unacachde1,024bytespuedecontener16lneas,mientrasquesisereduceeltamaodelneasa32bytes,elnmerodelneasaumentaa32.Entrems

    l l d i t d l DRAM ipequealalneamscorrespondenciastendrnconlaDRAM,peromenosopcinaencontrarelvalordeseado.Sinembargo,silalneaesdemasiadogrande,eltiempodesustitucinaumentaconsiderablemente.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 12

  • Lasmemoriascachegeneralmentecontienenunamatrizdeetiquetasyunamatrizdedatos.Lamatrizdeetiquetascontienelasdireccionesdelosdatosexistentesenlacache,mientraslamatrizdedatoscontienelosdatosi L d t di i i l d i d l ti d lmismos.Larazndeestadivisineslareduccindeltiempodeaccesoala

    cache,puestoquelamatrizdeetiquetasgeneralmentecontienemuchosmenosbitsquelamatrizdedatosysepuedeporlotantoaccederaellamsrpidamente.Adems,estetipodearreglopermiterealizarenparalelolap , p g p pdeterminacindeacierto/fallo,reduciendoeltiempodeaccesoglobal.

    Enlascaches,losdatosylasinstruccionessuelenmemorizarseencachesseparadas de datos e instrucciones la cual a veces de denomina comoseparadasdedatoseinstrucciones,lacualavecesdedenominacomoarquitecturaHarvard,lacualpermitealprocesadorcaptarsimultneamentedatoseinstruccionesdeambascachesrespectivamente.Cuandolacachecontienetantodatoscomoinstrucciones,selellamacacheunificada.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 13

  • Siunacachtienelneasde64bytes,Cuantotiemposenecesitapara

    Ejemplo:

    captarunalneadecachesilamemoriaprincipalnecesita20ciclospararesponderacadapeticindememoriaydevuelve2bytesdedatosenrespuestaacadapeticin?

    Solucin:

    Debido a que la memoria principal devuelve 2 bytes de datos en respuesta a cadaDebidoaquelamemoriaprincipaldevuelve2bytesdedatosenrespuestaacadapeticin,senecesitan32peticionesdememoriaparacaptarunalnea.A20ciclosporpeticin,lacaptacindeunalneadecachenecesita640ciclos.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 14

  • FuncionesdeMapeo(correspondencia)

    Mapeodirecto

    Mapeoasociativo

    Mapeoasociativoporconjuntos

    FIFO(FirsInFirstOut)

    FuncionesdeSustitucin

    ( )

    LIFO(LastIntFirsOut)

    LRU(LeastRecentlyUsed)

    LFU(LeastFrequentlyUsed)

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 15

  • s+w

    OrganizacindeCacheconcorrespondenciadirecta

    MemoriaPrincipalEtiqueta Datos

    Cache

    DireccindeMemoria L0 B0

    W0W1WEtiqueta Lnea Palabra W2W3

    ... ...s rs r r w

    Comparacin

    LiBj

    W(4j)W(4j+1)W(4j+2)

    w

    s

    W(4j+2)W(4j+3)... ...

    w

    (fallodecache)

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 16

  • DatosEtiqueta Lnea+Palabra

    Direccin CorrespondenciaDirecta

    11223344FFFCFFF8

    Etiqueta DatosNmerodelnea

    FF

    000000040008 3FFF

    3FFE112233441234567801

    FF

    Etiqueta Datos lnea

    12345678FFFCFFF8

    000000010002

    13579246

    8765432111235813

    000100

    01

    11235813000000040008

    FFFCFFF8

    00001357924600

    Cachede16Kpalabras(14bits)

    13579246

    87654321

    000000040008

    Etiqueta Lnea Palabra

    00

    W(4j)

    W(4j+1)W(4j+2)

    DireccindeMemoriaPrincipal

    8 14 2MemoriaPrincipalde16MBytes

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 17

  • MemoriaCache

    s+wOrganizacindeCachetotalmenteasociativa

    MemoriaPrincipalEtiqueta Datos

    Cache

    DireccindeMemoriaEtiqueta Palabra

    L0 B0

    W0W1W2WW3

    ... ...

    sw

    Comparacin

    LjBj

    W(4j)W(4j+1)W(4j+2)W

    w

    w

    s...

    W(4j+3)... ...

    (fallodecache)

    Lm1

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 18

  • DatosDireccinCorrespondenciaAsociativa

    11223344FFFFFCFFFFF8

    Etiqueta DatosNmerodelnea

    24682468

    33333333FFFFF4

    3FFF3FFE12345678

    24682468FFFFFC000000

    Etiqueta lnea

    FFFFF4 33333333 3FFD

    16339816339C1633A0

    00000001

    1122334487654321

    87654321

    FFFFF816339C

    Cachede16Kpalabras

    (14bits)(22bits)

    Etiqueta Palabra

    DireccindeMemoriaPrincipal

    000000000004000008

    12345678

    22 2MemoriaPrincipalde16MBytes

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 19

  • s+wOrganizacindeCacheasociativaporconjuntos

    MemoriaPrincipalEtiqueta Datos

    Cache

    DireccindeMemoriaEtiqueta Palabra

    B0

    Conjunto

    F0

    FEtiqueta Palabra

    Conjunto0... ...

    s dw

    B1Conjunto F1

    Fk 1

    d

    Comparacin Bj

    s+w...

    k 1

    fk

    ......

    ...

    Conjunto1Fk+i

    (aciertodecache)

    (fallodecache)

    F2k 1

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 20

  • DatosEtiquetaConjunto

    +Palabra

    CorrespondenciaAsociativadedosvas

    112233447FFC7FF8

    Etiqueta DatosNmerode lnea

    1FFEtiqueta Datos

    24682468

    000000040008 1FFF

    1FFE1122334412345678001

    1FF

    Etiqueta Datos delnea246824681FF

    Etiqueta Datos

    ...

    123456787FFC7FF8

    000000010002

    13579246

    8765432111235813

    000001000

    0017777777001

    .

    11235813000000040008

    7FFC7FF8

    000013579246000

    Cachede16Kpalabras

    (13bits)7777777001

    77777777

    13579246

    87654321

    000000040008

    Etiqueta Conjunto Palabra

    000DireccindeMemoriaPrincipal

    9 13 2MemoriaPrincipalde16MBytes

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 21

  • Enunacacheconmapeodirectoconunacapacidadde16KByunalongitud

    Ejemplo:

    delneade32bytes,cuantosbits,deunaoperacindereferenciaamemoria,seutilizanparadeterminarelbytedentrodeunalneadecacheycuantosbitsseutilizanparaseleccionarlalneadecachequepuedecontener el dato?contenereldato?

    Solucin:

    Log de 32 es 5 por tanto se necesitan 5 bits para determinar el byte dentro de laLog2 de32es5,portantosenecesitan5bitsparadeterminarelbytedentrodelalneadecachequeestsiendoreferenciado.Conlneasde32bytes,existen512lneasenlacachede16KB,porlotantosenecesitan9bitsparaseleccionarlalneaquepuedecontenerladireccin(log2 512=9)

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 22

  • Cuntosconjuntoshayenunacacheasociativaporconjuntos,dedosvas,

    Ejemplo:

    con32KBdecapacidadylneasde64bytesycuantosbitsdedireccinseutilizanparaseleccionarunconjuntoenestacache?,Qupasaraenelcasodeunacacheasociativaporconjuntosdeochovasconlamismacapacidadylongitud de lnea?longituddelnea?

    Solucin:

    Una cache de 32 KB con 64 bytes por lnea contiene 512 lneas de datos En unaUnacachede32KBcon64bytesporlneacontiene512lneasdedatos.Enunacacheasociativaporconjuntosdedosvas,cadaconjuntocontiene2lneas,porlotantohay256conjuntosdecache.Log2 (256)=8,porlotantoseutilizan8bitsdeladireccinparaseleccionarelconjuntoquemapealadireccin.Enunacacheasociativaporconjuntosdeochovasexisten64conjuntosyutiliza6bitsdeladireccinparaseleccionarunconjunto.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 23

  • AlgoritmosdeSustitucin

    FIFO(FirstInFirstOut):Elprimeroenentrareselprimeroensalir

    LIFO(LastInFirstOut):Elltimoenentrareselprimeroensalir

    LRU(LeastRecentlyUsed):Elmenosrecientementeusado

    LFU (Least Frequently Used): El menos frecuentemente usadoLFU(LeastFrequentlyUsed):Elmenosfrecuentementeusado

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 24

  • Alactualizarlosdatosenlamemoriacachporpartedelprocesador,debeobservarsequetambinquedenactualizados en la memoria principalactualizadosenlamemoriaprincipal.

    ProtocoloWritetrhough:Seescribeenlalocalidaddecachyenlalocalidaddememoriaalmismotiempo.

    ProtocoloWriteback:Atravsdeunabandera(bitdemodificacin),sesealizasiunregistrofuemodificadoporelprocesador.Despuscuandosesustituyalalneadecachseactualizarenlamemoriaprincipal.

    Cuandoelprocesadorbuscaundatoquenoseencuentraenlamemoriacach,ocurreunmissread.Existendosformasderealizarlatransferencia.

    ProtocoloLoadtrhough:Cuandosetransfiereeldatodesdelamemoriahastalacach,seenvaalmismotiempoalprocesador,ahorrandotiempoperoaexpensasdemayorcomplejidadenlacircuitera.circuitera.

    ProtocoloLoadback:Setransfiereeldatodesdelamemoriaprincipalhastalacachydespus seenvaestedatohastaelprocesador.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 25

  • ArquitecturadeComputadorasM.enC.JessGarcaRuiz 26

  • MemoriaVirtual

    Enlosiniciosdelossistemascomputacionales,lamemoriaRAM(principal)erasuficienteparacontenerelprogramacompletoqueseejecutara;sinembargo poco a poco esta dej de ser suficiente para los grandes programasembargo,pocoapocoestadejdesersuficienteparalosgrandesprogramasrequeridos.UnaformadesolucionarelproblemaesmediantelaMemoriaVirtual,esdecir,hacerparecerqueexistememoriafsicasuficienteparaconteneryejecutarelprograma(oprogramas),encuestin.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 27

  • Programa Memoriaprincipal Discoduro

    Espaciodedireccionesvirtuales

    Espaciofsicodedirecciones(datosenmemoria)

    Pginaendisco

    virtuales(referenciadasporunprograma)

    Pginafsica

    Pginaendisco

    PginaVirtual

    Pginafsica

    Marcodepgina

    PginaVirtual

    Pginanosituadaenelmapadelamemoria

    PginaVirtual

    principal.Sercopiadaalamemoriaprincipalcuandoseutilice.

    Pginaendisco

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 28

    Memoriavirtual

  • Bsquedadelasdireccionesvirtualesenlatabladepginas

    Obtenerladireccinfsica

    Completarlareferenciaamemoria

    Direccin enDireccinenelmapadememoria

    Direccinnoenelmapadememoria

    Fallodepgina CargarlapginadesdeeldiscoActualizarlatabladepginas

    Traduccindedirecciones

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 29

  • Nmerodepginavirtual(VPN)

    Desplazamiento Nmerodepginavirtual(VPN)

    Desplazamiento

    VPNyPPNpuedentenerlongitudesdiferentes

    Losdesplazamientosdelasdireccionesfsicasylasdireccionesvirtualestienenelmismotamao

    Nmero de pgina

    Nmerodepginafsica(PPN)

    Desplazamiento

    Nmerodepginafsica(PPN)

    Nmerodepginafsica(PPN)

    Desplazamiento

    Direccionesvirtualesyfsicas

    Conversindedireccionesvirtualesafsicas

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 30

  • Enunsistemacondireccionesvirtualesde64bitsydireccionesfsicasde43

    Ejemplo:

    bits(similaralosprimerosprocesadoresde64bits),CuntosbitssenecesitanparaelVPNyparaelPPNsilaspginastienenuntamaode8KB?

    Solucin:

    El log (8 KB)=13 por lo tanto se necesitan 13 bits para el campo deEllog2 (8KB)=13,porlotantosenecesitan13bitsparaelcampodedesplazamientodelasdireccionesfsicasylasdireccionesvirtuales.Porlotanto,senecesitan51bits(6413),paraelnmerodepginavirtualy30bitsparaelnmerodepginafsica.

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 31

  • Nmerodepginafsica

    Bitdemodificacin Bitdevalidez

    PPNparalapginavirtual0

    PPNparalapginavirtual1

    Tabladepginasdeunnivel

    PPNparalapginavirtual2

    PPNparalapginavirtual3

    PPNparalapginavirtual4

    PPNparalapginavirtual5

    PPNparalapginavirtual6

    PPNparalapginavirtual7

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 32

  • Bit d Bit d

    Nmerodepginavirtual(VPN)

    Desplazamiento

    Nmerodepginafsica(PPN)Bitdemodificacin

    Bitdevalidez

    UsodeunaVPNparaseleccionarelelementodela tablalatabla

    Comprobacindelbitdevalidezdelelementoparaversilapginaestubicadaen la memoria principal

    Nmerodepginafsica(PPN)

    Desplazamiento

    enlamemoriaprincipal

    Traduccindedireccionesutilizandolatabladepginas

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 33

    ( )

  • Acierto

    Bsquedadelasdireccionesvirtualesenlatabladepginas

    Obtenerladireccinfsica

    CompletarlareferenciaamemoriaChequearla

    traduccinenelTLB

    Direccinmapeada

    Fallo

    Direccinnomapeada

    Fallodepgina CargarlapginadesdeeldiscoActualizarlatabladepginas

    TraduccindedireccionesconTLB

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 34

  • Bit de Bit de validez

    Nmerodepginavirtual(VPN)

    Bitdemodificacin

    Nmerodepginafsica(PPN)

    Bitdevalidez

    Elemento de TLBElementodeTLB

    ArquitecturadeComputadorasM.enC.JessGarcaRuiz 35