Вы находитесь на странице: 1из 35

Ejemplo:

Muestrecomoplanificarauncompiladorlasiguientesecuenciade
instruccionesparaunprocesadorVLIWcon3unidadesdeejecucin.
Supongaquetodaslasoperacionestienenunalatenciadedosciclosy
cualquierunidaddeejecucinpuedeejecutarcualquiertipodeinstruccin.

ADDr1,r2,r3
SUB r16, r14, r7
SUBr16,r14,r7
LDr2,(r4)
LDr14,(r15)
MULr5,r1,r9
ADD 9 10 11
ADDr9,r10,r11
SUBr12,r2,r14

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

Solucin:

Palabra1

ADDr1,r2,r3

LDr2,(r4)

Palabra 2
Palabra2

SUB r16, r14, r7


SUBr16,r14,r7

ADD r9 r10 r11


ADDr9,r10,r11

NOP

Palabra3

MULr5,r1,r9

SUBr12,r2,r14

NOP

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

LDr14,(r15)

Enlasiguientetablasemuestracomosepodranplanificarlasoperaciones.
ObsrvesequelaoperacinLDr14,(r15)sehacolocadoenlainstruccin
anterioralaoperacinSUBr16,r14,r7apesardequelaoperacinSUB
apareceantesenelfragmentodecdigooriginalydequeleedelregistrode
destino en el que la operacin LD almacenar el dato Ya que las
destinoenelquelaoperacinLDalmacenareldato.Yaquelas
instruccionesVLIWnosobreescribenlosregistroshastaquenose
completan,elvalorprevioder14permanecerhastadosciclosdespusde
quelaoperacinLDsehayaemitido,permitiendoquelaoperacinSUB
puedaleerelvaloranteriorder14ygenereunresultadocorrecto.Al
planificarlasoperacionesfueradeordenydeestaforma,sehalogradoque
elfragmentodeprogramaocupemenosinstruccionesVLIW.Demanera
similar, la operacin ADD r9, r10, r11 se ha planificado antes que la
similar,laoperacinADDr9,r10,r11sehaplanificadoantesquela
operacinMULr5,r1,r9,aunqueestasdosoperacionespodranhaberse
colocadoenlamismainstruccinsinincrementarelnmerodeinstrucciones
necesariasparacodificarelfragmentodeprograma.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

Ejemplo:

********

Muestrecomouncompiladorplanificaraelcdigodelproblemadela
diapositiva156,parasuejecucinenunprocesadorVLIWconelmismo
nmerodeunidadesdeejecucinylasmismaslatenciasdelasoperaciones
especificadas en el problema original Al contrario que en los problemas de
especificadasenelproblemaoriginal.Alcontrarioqueenlosproblemasde
losprocesadoressuperescalares conejecucinfueradeorden,debera
suponerqueelcompiladoranalizatodoslosposiblesordenamientosde
operacionesparaencontrarlamejorplanificacin.Estoreflejaelhechode
queelcompiladorpuedededicarmstiempoytenerunavisinmsglobal
delprogramaparaencontrarlamejorplanificacindeloqueusualmente
realizaelhardwaredelossuperescalares entiempodeejecucin.
ADDr1,r2,r3
, ,
SUBr5,r4,r5
LDr4,(r7)
MULr4,r4,r4
ST (r7) r4
ST(r7),r4
LDr9,(r10)
LDr11,(r12)
ADDr11,r11,r12
MULr11,r11,r11
ST(r12),r11
ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

SUBr4,r5,r5

LDr4,(r7)

Palabra2
l b

ADDr1,r2,r3

NOP

NOP

NOP

NOP

NOP

Palabra3

MULr4,r4,r4

ADDr11,r1,r12

Palabra4

ST(r7),r4

MULr11,r11,r11

Palabra5

ST(r2),r11

NOP

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

LDr9,(r10)

LDr11,(r12)

Palabra1

NOP

NOP

NOP

NOP

D
Desenrolladodebucles
ll d d b l
Engeneral,lasiteracionesdeunbuclesuelencontenerpocoparalelismo,debido
especialmente a dependencias de control y si existen dependencias de datos
especialmenteadependenciasdecontroly,siexistendependenciasdedatos,
estassemultiplican.Unatcnicaquepermitedisminuirestasituacinesla
llamadaDesenrolladodebucles.
Porejemplo,undesenrollodebuclesenlenguajeC:
for(i=0;i<100;i++)
{
a[i]=b[i]+c[i];
}

for(i=0;i<100;i+=2)
{
a[i]=b[i]+c[i];
a[i+1]=b[i+1]+c[i+1];
}

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

UNIDADIV
ADMINISTRACIN DE MEMORIA
ADMINISTRACINDEMEMORIA

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

Jerarquadememoria
q
Incrementotamao

Incrementovelocidad

Incrementocostoporbit

P
Procesador
d
Registros
Cachprimaria
L1

Cachsecundaria
L2

Memoriaprincipal

Memoria
Secundaria
DiscoMagntico

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

Administracin de Memoria Cach


AdministracindeMemoriaCach
Memoriachach:Darunasolucineficientequehaceapareceral
q
p
procesadormsrpidodeloqueesparaconlamemoriautilizada.
LneadeCach:Bloquedecache,elcualesunconjuntodelocalidades
contiguas de memoria
contiguasdememoria.
Usualmente,lamemoriacachepuedealmacenarunnmerorazonablede
bloques,peroestenmeroespequeocomparadoconelnmerototalde
bloquesenlamemoriaprincipal.
Correspondencia:Funcionesdemapeo quehacencorresponderlos
bloquesdelamemoriaprincipalalaslneasdelamemoriacach.
Algoritmosdesustitucin:Criteriosconloscualessedecideque
Algoritmos
de sustitucin: Criterios con los cuales se decide que
bloquescontenidosenlamemoriacachsesustituirndelosbloques
delamemoriaprincipal,debidoaqueeldatobuscadonoseencuentra
enlamemoriacach.
ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

Lalongituddelneadeunacacheseltamaodelbloquedecach(el
tamaodelgrupodedatosquesonllevadosysacadosdelacachen
respuestaaunfallodelamisma).Laslneasdelacachestnalineadas(las
direccionesdelprimerbyteenunalneacachessiempreunmltiplodela
longitud de la lnea)
longituddelalnea).
Estosimplificaelprocesodedeterminarsihaocurridoonounfallode
cache,puestoquelosbitsmenossignificativosdeladireccindeterminan
quebytedeunadireccinreferencianlalneaquelacontiene,ysolamente
losbitsmssignificativossenecesitanenviaralamatrizdeetiquetaspara
determinarsihaexistidounacierto.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

10

Ejemplo:
Enunacachecon64bytesdelongituddelnea,Cuntosbitsseutilizanpara
determinarquebytedentrodelalneacacheindicaladireccin?
Solucin:
Ellog2 de64es6,porlotantolos6bitsmenossignificativosdeladireccin
determinanelbytededireccindentrodeunalneadecache.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

11

Ejemplo:
Supongamosunacachede1KB,conlneasde64bytes.Determinecuantas
lneashabraenlacache.Yconlneasde32bytes.Culopcinconviene
ms?,porqu?
Solucin:
Unacachde1,024bytespuedecontener16lneas,mientrasquesisereduceel
tamaodelneasa32bytes,elnmerodelneasaumentaa32.Entrems
pequealalneamscorrespondenciastendrnconlaDRAM,peromenosopcin
l l

d i t d
l DRAM
i
aencontrarelvalordeseado.Sinembargo,silalneaesdemasiadogrande,el
tiempodesustitucinaumentaconsiderablemente.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

12

Lasmemoriascachegeneralmentecontienenunamatrizdeetiquetasyuna
matrizdedatos.Lamatrizdeetiquetascontienelasdireccionesdelosdatos
existentesenlacache,mientraslamatrizdedatoscontienelosdatos
mismos.Larazndeestadivisineslareduccindeltiempodeaccesoala
i
L
d
t di i i
l
d i d l ti
d
l
cache,puestoquelamatrizdeetiquetasgeneralmentecontienemuchos
menosbitsquelamatrizdedatosysepuedeporlotantoaccederaellams
rpidamente.Adems,estetipodearreglopermiterealizarenparalelola
p
,
p
g p
p
determinacindeacierto/fallo,reduciendoeltiempodeaccesoglobal.
Enlascaches,losdatosylasinstruccionessuelenmemorizarseencaches
separadas de datos e instrucciones la cual a veces de denomina como
separadasdedatoseinstrucciones,lacualavecesdedenominacomo
arquitecturaHarvard,lacualpermitealprocesadorcaptarsimultneamente
datoseinstruccionesdeambascachesrespectivamente.Cuandolacache
contienetantodatoscomoinstrucciones,selellamacacheunificada.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

13

Ejemplo:
Siunacachtienelneasde64bytes,Cuantotiemposenecesitapara
captarunalneadecachesilamemoriaprincipalnecesita20ciclospara
responderacadapeticindememoriaydevuelve2bytesdedatosen
respuestaacadapeticin?
Solucin:
Debidoaquelamemoriaprincipaldevuelve2bytesdedatosenrespuestaacada
Debido
a que la memoria principal devuelve 2 bytes de datos en respuesta a cada
peticin,senecesitan32peticionesdememoriaparacaptarunalnea.A20ciclos
porpeticin,lacaptacindeunalneadecachenecesita640ciclos.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

14

Mapeodirecto
FuncionesdeMapeo(correspondencia)

Mapeoasociativo
Mapeoasociativoporconjuntos

FIFO(FirsInFirstOut)
(
)
LIFO(LastIntFirsOut)
FuncionesdeSustitucin

LRU(LeastRecentlyUsed)
LFU(LeastFrequentlyUsed)

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

15

OrganizacindeCacheconcorrespondenciadirecta
s+w
Cache
Etiqueta

Datos

DireccindeMemoria
Etiqueta

s r

Lnea

Memoria
Principal
W0
W1

L0

Palabra

B0

...

s r

...

W2
W3

s
Compa
racin

Li

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

Bj

W(4j+3)

...

...

(fallodecache)

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

16

CorrespondenciaDirecta

Direccin
Etiqueta Lnea+Palabra

FFFC
FFF8

Datos
11223344

FF
Etiqueta
01
FF

0008
0004
0000

12345678

FFFC
FFF8

00
01
00

01
0008
0004
0000
FFFC
FFF8

0002
0001
0000

87654321
11235813
13579246

(14bits)

11235813
Cachede16Kpalabras

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

Nmerode
lnea
3FFF
3FFE

Datos
12345678
11223344

DireccindeMemoriaPrincipal
0008
0004
0000

87654321
13579246

MemoriaPrincipalde
16MBytes

Etiqueta

8
ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

Lnea

14

Palabra

2
17

OrganizacindeCachetotalmenteasociativa
s+w
Cache
Etiqueta

Datos

DireccindeMemoria
Etiqueta

Memoria
Principal
W0
W1

L0

W2
W3

Palabra

...

...

B0

w
s

...

Lj

Comparacin

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

Bj

W(4j+3)

...

...
Lm1
(fallodecache)

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

18

CorrespondenciaAsociativa
Direccin

Datos

FFFFFC
FFFFF8
FFFFF4

24682468
11223344
33333333
Etiqueta
FFFFFC
000000
FFFFF4

1633A0
16339C
163398

87654321

16339C
FFFFF8

Datos
24682468
12345678
33333333

87654321
11223344

Nmerode
lnea
3FFF
3FFE
3FFD

0001
0000
(14bits)

(22bits)
Cachede16Kpalabras

000008
000004
000000

DireccindeMemoriaPrincipal
12345678
MemoriaPrincipalde
16MBytes
ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

Etiqueta

Palabra

22

2
19

OrganizacindeCacheasociativaporconjuntos
s+w
Cache
Etiqueta

DireccindeMemoria
Conjunto

Etiqueta

Memoria
Principal

F0

B0

F1

...

s d

Palabra

Datos

B1

Conjunto0

...

Fkk 1
fk

...

s+w

...

Comparacin

Fk+i

Bj

Conjunto1

...

...

(aciertodecache)
F2k 1

(fallodecache)

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

20

Etiqueta

Conjunto
+
Palabra

7FFC
7FF8

CorrespondenciaAsociativadedosvas
Datos
24682468
11223344

1FF
Etiqueta
001
1FF

0008
0004
0000

Datos
12345678
11223344

Nmero
de lnea
delnea
1FFF
1FFE

Datos
24682468

001

7777777

....

Etiqueta
1FF

12345678

7FFC
7FF8

000
001
000

001
0008
0004
0000
7FFC
7FF8

87654321
11235813
13579246

0002
0001
0000
(13bits)

11235813
77777777

Cachede16Kpalabras

000

DireccindeMemoriaPrincipal
0008
0004
0000

87654321
13579246

MemoriaPrincipalde
16MBytes

Etiqueta

Conjunto

Palabra

13

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

21

Ejemplo:
Enunacacheconmapeodirectoconunacapacidadde16KByunalongitud
delneade32bytes,cuantosbits,deunaoperacindereferenciaa
memoria,seutilizanparadeterminarelbytedentrodeunalneadecachey
cuantosbitsseutilizanparaseleccionarlalneadecachequepuede
contener el dato?
contenereldato?
Solucin:
Log2 de32es5,portantosenecesitan5bitsparadeterminarelbytedentrodela
de 32 es 5 por tanto se necesitan 5 bits para determinar el byte dentro de la
lneadecachequeestsiendoreferenciado.Conlneasde32bytes,existen512
lneasenlacachede16KB,porlotantosenecesitan9bitsparaseleccionarla
lneaquepuedecontenerladireccin(log2 512=9)

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

22

Ejemplo:
Cuntosconjuntoshayenunacacheasociativaporconjuntos,dedosvas,
con32KBdecapacidadylneasde64bytesycuantosbitsdedireccinse
utilizanparaseleccionarunconjuntoenestacache?,Qupasaraenelcaso
deunacacheasociativaporconjuntosdeochovasconlamismacapacidady
longitud de lnea?
longituddelnea?
Solucin:
Unacachede32KBcon64bytesporlneacontiene512lneasdedatos.Enuna
Una
cache de 32 KB con 64 bytes por lnea contiene 512 lneas de datos En una
cacheasociativaporconjuntosdedosvas,cadaconjuntocontiene2lneas,por
lotantohay256conjuntosdecache.Log2 (256)=8,porlotantoseutilizan8bits
deladireccinparaseleccionarelconjuntoquemapealadireccin.Enunacache
asociativaporconjuntosdeochovasexisten64conjuntosyutiliza6bitsdela
direccinparaseleccionarunconjunto.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

23

AlgoritmosdeSustitucin

FIFO(FirstInFirstOut):Elprimeroenentrareselprimeroensalir
LIFO(LastInFirstOut):Elltimoenentrareselprimeroensalir
LRU(LeastRecentlyUsed):Elmenosrecientementeusado
LFU (Least Frequently Used): El menos frecuentemente usado
LFU(LeastFrequentlyUsed):Elmenosfrecuentementeusado

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

24

Alactualizarlosdatosenlamemoriacachporpartedelprocesador,debeobservarsequetambinqueden
actualizados en la memoria principal
actualizadosenlamemoriaprincipal.
ProtocoloWritetrhough:Seescribeenlalocalidaddecachyenlalocalidaddememoriaalmismo
tiempo.

ProtocoloWriteback:Atravsdeunabandera(bitdemodificacin),sesealizasiunregistrofue
modificadoporelprocesador.Despuscuandosesustituyalalneadecachseactualizarenla
memoriaprincipal.

Cuandoelprocesadorbuscaundatoquenoseencuentraenlamemoriacach,ocurreunmissread.Existendos
formasderealizarlatransferencia.

ProtocoloLoadtrhough:Cuandosetransfiereeldatodesdelamemoriahastalacach,seenvaal
mismotiempoalprocesador,ahorrandotiempoperoaexpensasdemayorcomplejidadenla
circuitera.

ProtocoloLoadback:Setransfiereeldatodesdelamemoriaprincipalhastalacachydespus se
envaestedatohastaelprocesador.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

25

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

26

MemoriaVirtual

Enlosiniciosdelossistemascomputacionales,lamemoriaRAM(principal)
erasuficienteparacontenerelprogramacompletoqueseejecutara;sin
embargo poco a poco esta dej de ser suficiente para los grandes programas
embargo,pocoapocoestadejdesersuficienteparalosgrandesprogramas
requeridos.UnaformadesolucionarelproblemaesmediantelaMemoria
Virtual,esdecir,hacerparecerqueexistememoriafsicasuficientepara
conteneryejecutarelprograma(oprogramas),encuestin.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

27

Programa

Espaciode
direcciones
virtuales
virtuales
(referenciadaspor
unprograma)

Discoduro

Memoriaprincipal

Pginaendisco

Espaciofsicode
direcciones(datos
enmemoria)

Pginafsica
Pginaendisco
Pginafsica
Marcode
pgina

PginaVirtual

PginaVirtual
Pginanosituadaenelmapadelamemoria
principal.Sercopiadaalamemoriaprincipal
cuandoseutilice.
PginaVirtual
Pginaendisco
Memoriavirtual
ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

28

Bsquedadelas
direccionesvirtuales
enlatabladepginas

Obtenerladireccin
fsica

Completarla
referenciaamemoria

Direccinen
Direccin
en
elmapade
memoria

Direccinno
enelmapade
memoria

Fallodepgina

Cargarlapginadesde
eldisco

Actualizarlatablade
pginas

Traduccindedirecciones

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

29

Nmerodepgina
virtual(VPN)

VPNyPPNpuedentener
longitudesdiferentes

Nmerodepgina
fsica(PPN)

Nmerodepgina
virtual(VPN)

Desplazamiento

Losdesplazamientosdelas
direccionesfsicasylas
direccionesvirtualestienen
elmismotamao

Desplazamiento

Nmero de pgina
Nmerodepgina
fsica(PPN)

Desplazamiento

Nmerodepgina
fsica(PPN)

Desplazamiento

Direccionesvirtualesyfsicas
Conversindedireccionesvirtualesafsicas

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

30

Ejemplo:
Enunsistemacondireccionesvirtualesde64bitsydireccionesfsicasde43
bits(similaralosprimerosprocesadoresde64bits),Cuntosbitsse
necesitanparaelVPNyparaelPPNsilaspginastienenuntamaode8KB?

Solucin:
Ellog
El
log2 (8KB)=13,porlotantosenecesitan13bitsparaelcampode
(8 KB)=13 por lo tanto se necesitan 13 bits para el campo de
desplazamientodelasdireccionesfsicasylasdireccionesvirtuales.Porlotanto,
senecesitan51bits(6413),paraelnmerodepginavirtualy30bitsparael
nmerodepginafsica.

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

31

Bitde
modificacin

Bitdevalidez

Nmerodepginafsica

PPNparalapginavirtual0

Tabladepginasdeunnivel
PPNparalapginavirtual1

PPNparalapginavirtual2

PPNparalapginavirtual3

PPNparalapginavirtual4

PPNparalapginavirtual5

PPNparalapginavirtual6

PPNparalapginavirtual7

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

32

Nmerodepgina
virtual(VPN)

Desplazamiento

Nmerodepginafsica(PPN)

Bit d
Bitde
Bit d
Bitde
modif valid
icaci ez
n

UsodeunaVPNpara
seleccionarelelementode
la tabla
latabla

Comprobacindelbitde
validezdelelementopara
versilapginaestubicada
en la memoria principal
enlamemoriaprincipal

Traduccindedireccionesutilizandolatabla
depginas

Nmerodepgina
(
)
fsica(PPN)

Desplazamiento

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

33

Acierto

Bsquedadelas
direccionesvirtuales
enlatabladepginas

Chequearla
traduccinenelTLB
Fallo

Obtenerladireccin
fsica

Completarla
referenciaamemoria

Direccin
mapeada

Direccinno
mapeada

Fallodepgina

Cargarlapginadesde
eldisco

Actualizarla
tabladepginas

TraduccindedireccionesconTLB

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

34

Bitde
Bit
de
modificacin

Nmerodepgina
virtual(VPN)

Bit de validez
Bitdevalidez

Nmerodepgina
fsica(PPN)

Elemento de TLB
ElementodeTLB

ArquitecturadeComputadoras
M.enC.JessGarcaRuiz

35

Вам также может понравиться