entrega_7
DESCRIPTION
funcionamiento de dependia de datos y memoria cacha, memoria virtualTRANSCRIPT
-
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