Está en la página 1de 16

Quadern de laboratori

Estructura de Computadors
Emilio Castillo
Jos Mara Cela
Montse Fernndez
David Lpez
Joan Manuel Parcerisa
Angel Toribio
Rubn Tous
Jordi Tubella
Gladys Utrera

Departament dArquitectura de Computadors


Facultat dInformtica de Barcelona
Quadrimestre de Primavera - Curs 2014/15

Aquest document es troba sota una llicncia Creative Commons

Licencia Creative Commons


Esta obra est bajo una licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5
Espaa de Creative Commons. Para ver una copia de esta licencia, visite

http://creativecommons.org/licenses/by-nc-sa/2.5/es/
o envie una carta a
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Usted es libre de:
copiar, distribuir y comunicar pblicamente la obra
hacer obras derivadas
Bajo las condiciones siguientes:
Reconocimiento. Debe reconocer los crditos de la obra de la manera especificada por el autor
o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace
de su obra).
No comercial. No puede utilizar esta obra para fines comerciales.
Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada,
slo puede distribuir la obra generada bajo una licencia idntica a sta.
Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los
derechos de autor
Nada en esta licencia menoscaba o restringe los derechos morales del autor.
Advertencia: Este resumen no es una licencia. Es simplemente una referencia prctica para entender
el Texto Legal (la licencia completa).
Los derechos derivados de usos legtimos u otras limitaciones reconocidas por ley no se ven afectados
por lo anterior.

Sessi 5: Memria cache


Objectiu: Realitzar activitats relacionades amb la gesti del nivell de memria cache del subsistema de memria dun computador que afavoreixin lassimilaci dels conceptes implicats.

Lectura prvia
Considerem que el subsistema de memria dun computador consta duna memria principal
(MP) i duna memria cache (MC). Tamb considerem en aquest punt que la MP permet
emmagatzemar tot lespai adreable pel processador mentre que la MC emmagatzema un
subconjunt daquest espai adreable. Daltra banda, sabem que el temps daccs a MP s
ms elevat (ms dun ordre de magnitud) respecte al temps daccs a MC. Daltra banda,
tamb coneixem que el cost per byte de fabricar la MP s ms baix que el cost de fabricar la
MC. Lobjectiu en incorporar el nivell de memria cache en un computador s disminuir el
temps mitj daccs a memria.
A continuaci es resumeixen els diferents aspectes arquitectnics que considerem en el
disseny duna memria cache.
Mida de la MC. La MC sorganitza en blocs que contenen un cert nombre de paraules. El
producte del nombre de blocs pel nombre de paraules per bloc estableix la capacitat de la
MC quant a dades emmagatzemables de lespai adreable pel processador.
Algorisme demplaament. Especifica en quina entrada de la MC subica el bloc de MP que
cont la paraula de memria que accedeix el processador.

Correspondncia directa: A cada bloc de MP li correpon una entrada fixa de MC.

Completament associativa: Cada bloc de MP pot anar a qualsevol entrada de MC.

Associativa per conjunts: La MC sorganitza en conjunts, que contenen un cert


nombre de blocs cada un. A cada bloc de MP li correpon un conjunt fix de MC, i el
bloc pot anar a qualsevol de les entrades que t el conjunt.

Algorisme de reemplaament. Especifica quin bloc sha de eliminar de la MC quan no hi ha


lloc per col.locar-ne un de nou. Aquest algorisme noms saplica en els emplaaments
totalment associatiu i associatiu per conjunts. En la correspondncia directa el bloc a eliminar
s nic i no hi ha alternativa. Lalgorisme de reemplaament que considerem s:

- 61 -

Sessi 5: Memria cache

Estructura de Computadors

LRU: Selimina el bloc que fa ms temps que no es referencia.

Poltica descriptura. Estableix com es gestionen les escriptures a memria. Duna banda
cal decidir si conv copiar a la MC el bloc de MP quan lescriptura provoca una fallada i
daltra banda cal mantenir la coherncia de les dues memries (MC i MP). La combinaci
daquests dos aspectes ens dna les segents alternatives:

Escriptura immediata amb assignaci: En cas de fallada en una escriptura es


copia el bloc que saccedeix a MC. Es realitza lescriptura tant a MC com a MP.
Aquesta poltica s lnica que es considera en el simulador MARS.

Escriptura immediata sense assignaci: En cas de fallada en una escriptura no


es porta el bloc a MC i lescriptura es realitza nicament a MP. Si lescriptura genera
un encert la paraula sescriu tant a MC com a MP.

Escriptura retardada amb assignaci: En cas de fallada en una escriptura es porta


el bloc a MC. Lescriptura es realitza nicament a MC. La MP sactualitzar quan el
bloc on es realitza lescriptura shagi de reemplaar, en un moment posterior de
lexecuci del programa. Per a aquest efecte, sutilitza el bit D (bit de bloc modificat).

Model de temps.
A continuaci es descriu el model de temps que es considera per servir una referncia a
memria, diferenciant si es tracta duna lectura o duna escriptura i si laccs provoca un
encert o una fallada a la MC. A ms, el model contempla totes les poltiques descriptura
estudiades.
A nivell general cal considerar que el temps de servei duna referncia a memria s el temps
en determinar si la referncia s un encert o una fallada a memria cache i servir la
referncia en cas dencert (th) ms el temps de penalitzaci per resoldre la referncia en
accedir al segent nivell de la jerarquia de memria (tp):
taccs = th + tp
Laccs a les etiquetes per comprovar si la referncia s un encert i el servei de la referncia
en cas dencert es realitzen seqencialment durant el temps th: en la primera meitat daquest
temps es fa laccs a les etiquetes i en la segona meitat es fa la lectura o escriptura a
memria cache.
Per aquelles configuracions de memria cache amb poltica descriptura immediata es
considera lexistncia dun buffer descriptura amb llargada ilimitada on queden

- 62 -

Estructura de Computadors

Sessi 5: Memria cache

emmagatzemades les escriptures pendents de portar a MP. Tamb es considera que cap
referncia a memria entra en conflicte amb escriptures pendents en aquest buffer. Cal
adonar-se que el contingut daquest buffer es porta a MP en paral.lel amb lexecuci de les
instruccions que vnen a continuaci de laccs a memria.
A continuaci es mostra una taula amb el temps de penalitzaci (tp) associat a una referncia
segons sigui lectura/escriptura; encert/fallada i segons la memria cache contempli una
poltica descriptura immediata sense assignaci/retardada amb assignaci:
Immediata
amb assignaci

Immediata
sense assignaci

Retardada
amb assignaci

Lectura - Encert

Lectura - Fallada

tblock + th1

tblock + th1

03

03

tp

Escriptura - Encert
Escriptura - Fallada

tblock + th

bloc modif.: 2*tblock + th2


bloc no mod.: tblock + th1
05
bloc modif.: 2*tblock + th2
bloc no mod.: tblock + th1

Es porta el bloc de MP i es reinicia laccs a memria.

Es porta el bloc modificat a MP; es porta el nou bloc de MP guardant-lo a lentrada que es

reemplaa i es reinicia laccs a memria.


3

Lescriptura es fa a MC i a MP. Lactualitzaci de MP a partir del buffer descriptura es fa de

forma concurrent amb la continuaci de la referncia a memria.


4

Lescriptura es fa nicament a MP. Lactualitzaci de MP a partir del buffer descriptura es fa

de forma concurrent amb la continuaci de la referncia a memria.


5

Lescriptura es fa nicament a MC.

- 63 -

Sessi 5: Memria cache

Estructura de Computadors

Enunciats de la sessi
En la realitzaci daquesta sessi de laboratori considerarem un computador que disposa dun
processador de 32 bits, com s ara el MIPS, i que el seu sistema de memria, adreable a
nivell de byte, t una memria cache que gestiona de forma independent les instruccions i les
dades. Noms analitzarem les referncies a paraules dins la memria cache de dades. Aquesta
memria cache ser parametritzable pel que fa referncia a lalgorisme demplaament: correspondncia directa, completament associatiu i associatiu per conjunts i pel que fa referncia
a la seva mida: nombre de blocs que cont i nombre de paraules per bloc (compte que no
podem indicar el nombre de bytes per bloc). Tamb cal considerar de forma general per totes
les activitats daquesta sessi que les variables globals que contenen els programes analitzats
estan sempre emmagatzemades a memria a partir de ladrea 0x10010000.

Activitat 5.A: Lectures a una cache de correspondncia directa


En aquesta primera activitat analitzarem el comportament de la memria cache amb correspondncia directa en servir una seqencia de referncies, que seran nicament de lectura.
En primer lloc identificarem els camps en qu es descomponen les adreces de memria, els
quals intervenen en la gesti que sha de realitzar a la memria cache.
Exercici 5.1: Considera que la memria cache cont 32 blocs i cada bloc t 4 paraules. Si
el processador genera una referncia a memria consistent en la lectura de la paraula que t
com adrea 0x1001014C, contesta les segents preguntes:
1)

Quin s el nmero (en hexadecimal) del bloc de memria principal al qual


pertany aquesta referncia?

2) Quin s lndex (en hexadecimal) del bloc de memria cache que correspon a
aquesta referncia?

3) Quina s letiqueta (en hexadecimal) que correspon a aquesta referncia?

- 64 -

Estructura de Computadors

Sessi 5: Memria cache

Analitzarem com es comporta la memria cache en el recorregut seqencial dun vector. El


programa que fa aquest recorregut es mostra a la figura 5.1. Examinal i contesta lexercici 5.2
abans de continuar:
int vector[100];
main()
{
int i, sum=0;

move
la
move
li

$t1,
$t2,
$t0,
$t3,

$zero
vector
$zero
100

bge
lw
addu
addiu
addiu
b

$t0,
$t4,
$t1,
$t2,
$t0,
for

$t3, fi
0($t2)
$t1, $t4
$t2, 4
$t0,1

# sum=0
# i=0

for:
for (i=0; i<100; i++)
sum += vector[i];
}

fi:

Figura 5.1: Programa que fa el recorregut seqencial dun vector, en alt nivell i en
assemblador MIPS.

Exercici 5.2: Considera la mateixa memria cache de lexercici 5.1, s a dir, de


correspondncia directa i que cont 32 blocs de 4 paraules cada un, i contesta les segents
preguntes:
1) Indica ladrea (en hexadecimal) de lelement del vector que saccedeix en
cada una de les 10 primeres iteracions del bucle. A ms, per cada una
daquestes referncies indica el nmero de bloc de MC que saccedeix i si es
produeix un encert o una fallada.
Iteraci

Adrea

Bloc MC

Encert /
Fallada

1
2
3
4
5
6
7
8
9
10

2) Quina s la taxa dencerts que sobt en lexecuci completa daquest


programa?

- 65 -

Sessi 5: Memria cache

Estructura de Computadors

Per verificar lexercici 5.2, i daqu en endavant per analitzar el funcionament de la memria
cache, farem servir el mdul "Data Cache Simulator" del MARS, que es troba a lopci
"Tools" del seu men. Carrega aquest mdul i observa que sobre una nova finestra. En
aquesta finestra es poden canviar els parmetres de disseny a la part anomenada "Cache Organization". A la part anomenada "Cache Performance" obtindrem dades estadstiques del comportament de la memria cache en lexecuci dun programa: les referncies a memria que es
produeixen durant la seva execuci, el nombre dencerts, el nombre de fallades, i la taxa
dencerts. Inicialment, cal prmer el bot "Connect to MIPS" per poder usar aquest mdul.
El fitxer s5a.s cont el programa de la figura 5.1. Carrega aquest programa al MARS, assemblal i posa en marxa el mdul "Data Cache Simulator". Executa completament el programa i
verifica si la taxa dencerts que has contestat a lexercici 5.2 s la que indica el simulador.
Completa lexercici 5.3 abans de continuar:
Exercici 5.3: Contesta les segents preguntes:
1) Si dupliquem la mida de la cache en base a duplicar el nombre de blocs que
cont, hi haur alguna variaci en la taxa dencerts obtinguda? Per qu?

2) Si dupliquem la mida de la cache en base a duplicar el nombre de paraules


per bloc, hi haur alguna variaci en la taxa dencerts obtinguda? Per qu?.

Verifica la respostes de lexercici 5.3 canviant la geometria de la cache en el mdul "Data


Cache Simulator" i executant novament de forma completa el programa. Tingues en compte
dinicialitzar la cache, prement el bot "Reset", cada cop que executis el programa.
Laccs als elements del vector tamb es pot efectuar en ordre contrari, ats que el que volem
obtenir s la suma de tots els elements. Contesta lexercici 5.4 abans de continuar:
Exercici 5.4: La taxa dencerts que sobtindria en lexecuci del programa si el recorregut
es fa des del darrer element del vector fins al primer s la mateixa o diferent respecte el
recorregut en ordre creixent dels elements?

Modifica el programa del fitxer s5a.s invertint lordre del recorregut i guardal amb el nom
s5a2.s. Verifica amb el simulador la taxa dencerts de lexercici 5.4.
- 66 -

Estructura de Computadors

Sessi 5: Memria cache

A continuaci analitzarem leficincia de la cache comparant un processador amb i sense


cache de dades. Completa el segent exercici:
Exercici 5.5: Suposem un sistema computador amb cache dinstruccions i dades separades.
La dinstruccions s una cache ideal. La de dades s de correspondncia directa amb 32
blocs i blocs d 4 paraules, i t el segent model de temps simplificat:

Temps de cicle: tc = 10 ns.

En cas de no tenir cache, temps daccs a memria principal: tMP = 6 cicles

En cas dencert a la cache, temps daccs a memria : th = 1cicle

En cas de fallada de cache cal afegir una penalitzaci addicional: tp = tblock + th.
Consisteix en el temps per copiar el bloc de MP a cache: tblock = 10 cicles
ms el temps per llegir/escriure de nou la paraula a la memria cache: th = 1 cicle

Suposem que per al programa de la figura 5.1 hem mesurat que CPIideal =2 (s el CPI si tots
els accessos a cache sn encerts). Quin s el guany en el rendiment del programa en el sistema amb cache de dades respecte dun sistema sense cache de dades?
Nota1: Per calcular el nmero dinstruccions executades, tingueu en compte que algunes lnies dassemblador sn macros
que sexpandeixen a ms duna instrucci; que el test del salt del bucle sexecuta una vegada ms que la resta dinstruccions; i que sexecuten 3 instruccions del fitxer startup.s, 1 al principi del programa i 2 ms al final del programa.
Podeu usar les eines "Instruction Statistics" i "Instruction Counter" del simulador MARS.
Nota2: A fi de calcular el temps dexecuci del sistema sense cache coneixent el CPIideal del mateix sistema per amb
cache caldr considerar que el temps daccs a memria s taccs = tMP i modelitzar-lo com si fos un sistema amb cache en
qu tots els accessos fallen (m=100%) i amb una penalitzaci per fallada tp = tMP - th.

Sense cache: texe


Amb cache:
texe
Guany =

(en ns.) =
(en ns.) =

Activitat 5.B: Escriptures en una cache de correspondncia directa


Introduirem ara les escriptures en les referncies que genera el processador. Considerant el
programa de la figura 5.2, que realitza lordenaci dels elements dun vector, completa lexercici 5.6 abans de continuar.

- 67 -

Sessi 5: Memria cache

Estructura de Computadors

int vec[5] = {20, -18, 45, 12, -1};


main() {
int i, j, aux, max;
for (i=0; i<4; i++) {
max = i;
for (j=i+1; j<5; j++)
if (vec[j] > vec[max]) max = j;
aux = vec[i];
vec[i] = vec[max];
vec[max] = aux; }
}

Figura 5.2: Programa dordenaci dels elements dun vector

Exercici 5.6: Considerant que la memria cache aplica una poltica descriptura immediata
amb assignaci, que t 32 blocs, i que els blocs sn de 4 paraules, digues:
1) Per a cada una de les 4 iteracions del bucle exterior omple la taula amb la segent
informaci: (a) una llista dels elements vec[x] que saccedeixen (anota sols
lndex); (b) per cada element, si s una referncia de lectura (R) o descriptura (W)
i si genera un encert (h) o a una fallada (m) a la cache.
Iteraci i=0
vec[]

R/W

Iteraci i=1
h/m

vec[]

R/W

Iteraci i=2
h/m

vec[]

R/W

Iteraci i=3
h/m

vec[]

R/W

h/m

2) Compta el nombre total daccessos a memria i dencerts que es realitzen en cada


iteraci del bucle extern.
Iteraci i=0
accessos

encerts

Iteraci i=1
accessos

encerts

Iteraci i=2
accessos

encerts

Iteraci i=3
accessos

3) Quina s la taxa dencerts que sobt en lexecuci del programa?

- 68 -

encerts

Estructura de Computadors

Sessi 5: Memria cache

El fitxer s5b.s cont la traducci del programa de la figura 5.2. Verifica la taxa dencert calculada a lexercici anterior carregant al simulador aquest fitxer, assemblant-lo, configurant correctament el mdul "Data Cache Simulator", i executant el programa.
Completa el segent exercici abans de continuar:
Exercici 5.7: Indica com canviaria la taxa dencerts si hagussim considerat una poltica
descriptura immediata sense assignaci. dem per al cas duna poltica descriptura
retardada amb assignaci? Raona les respostes.

Un cop vist el comportament de la memria cache durant lexecuci del programa, volem abstraure aquest comportament per entendre com es comportar amb vectors ms grans. Completa el segent exercici abans de continuar:
Exercici 5.8: Suposem que el vector a ordenar tingus 64 elements:
1) Considerant la mateixa geometria de la cache de lexercici 5.6, quantes
fallades es produirien?

2) Suposem que volem reduir al mxim la capacitat de la memria cache per


sense que augmenti el nombre de fallades del programa. Raona fins a quin
nombre mnim de blocs la podem reduir.

Modifica el programa del fitxer s5b.s (copiant-lo amb el nom s5b2.s) perqu el vector tingui
64 elements: canvia la declaraci (per a aquest experiment no importa que no sinicialitzin els
elements del vector), i tamb el nombre diteracions dels dos bucles.
Verifica amb el simulador que les respostes donades a lexercici 5.8 siguin correctes.

- 69 -

Sessi 5: Memria cache

Estructura de Computadors

Activitat 5.C: Accs a mltiples dades estructurades


Analitzarem ara com es comporta la memria cache en lexecuci dun programa que accedeix a mltiples estructures de dades, on es posa de manifest lexistncia de conflictes per
accedir als mateixos blocs de la cache. Considereu el programa de la figura 5.3, que realitza la
suma de dos vectors i deixa el resultat en un tercer vector.
int A[128], B[128], C[128];
main() {
int i;
for (i=0; i<128; i++)
C[i] = A[i] + B[i];
}

Figura 5.3: Programa que realitza una suma de vectors.

Completa el segent exercici abans de continuar:


Exercici 5.9: Considerant que la memria cache, de correspondncia directa, aplica una
poltica descriptura immediata amb assignaci, que t 16 blocs i que els blocs sn de 4
paraules, indica quina s la taxa dencerts en lexecuci del programa de la figura 5.3.

El fitxer s5c.s cont la traducci del programa de la figura 5.3 a assemblador MIPS. Verifica
amb el simulador la resposta donada en lexercici anterior.
Completa el segent exercici abans de continuar:
Exercici 5.10: Aquest exercici pretn que pensis una manera de millorar la taxa dencerts
de lanterior programa fent petites modificacions a la declaraci de dades: essent conscient
de la geometria que t la cache (16 blocs de 4 paraules cadascun), omple les 2 caselles que
hi ha a continuaci, que formen part de la declaraci dels vectors del programa de la figura
5.3, per tal que la taxa dencerts sigui 0,75.
.data
A:

.space 512

B:

.space 512

C:

.space 512

Copia el fitxer s5c.s en un nou fitxer s5c2.s, i escriu-hi les modificacions que has proposat a
lexercici anterior. Verifica amb el simulador si sobt la taxa dencerts de 0,75.
- 70 -

Estructura de Computadors

Sessi 5: Memria cache

Ara analitzarem quin seria el rendiment del programa de la figura 5.3 en una memria cache
associativa. En primer lloc ho farem per a una cache completament associativa. Completa el
segent exercici:
Exercici 5.11: Considerant una memria cache completament associativa (de 16 blocs de
4 paraules cadascun), calcula quina s la taxa dencerts que obtindrem en lexecuci del
programa de la figura 5.3.

Verifica-ho amb el simulador.


A continuaci analitzarem el programa en una memria cache associativa per conjunts. Completa el segent exercici:
Exercici 5.12: Considerant una memria cache amb blocs de 4 paraules, associativa per
conjunts amb 16 conjunts, raona quin ha de ser el grau mnim de lassociativitat (nombre de
blocs per conjunt) perqu la taxa dencerts del programa de la figura 5.3 sigui diferent de 0
(recorda que lassociativitat no s necessriament potncia de 2).

Al simulador pots especificar el nombre de blocs que t cada conjunt (el grau de lassociativitat) al camp "Set size". Malauradament, el simulador noms tracta graus dassociativitat que
sn potncies de 2. Verifica la resposta amb el simulador, ajustant lassociativitat al valor que
saproximi ms a la teva resposta.

- 71 -

Sessi 5: Memria cache

Estructura de Computadors

Activitat 5.D: Optimitzaci de codi (opcional)


En aquesta darrera activitat lobjectiu s arribar a optimitzar lexecuci dun programa tenint
en compte la memria cache de qu disposa el sistema. Considereu el programa de la figura
5.4, que realitza el producte duna matriu per un vector:
int V1[16], M[16][16], V2[16];
main() {
int i,j,tmp;
for (i=0; i<16; i++) {
tmp = 0;
for (j=0; j<16; j++)
tmp += M[i][j] * V2[j];
V1[i] = tmp;
}
}

Figura 5.4: Programa que realitza el producte duna matriu per un vector.

El fitxer s5d.s cont aquest programa tradut a assemblador MIPS.


Determina mitjanant el simulador MARS quina s la taxa dencerts que sobt executant el
programa de la figura 5.4. Considera que els blocs de la memria cache sn de 4 paraules. Calcula aquesta taxa per a diferents mides de la cache completant la segent taula (dins de cada
fila suposem que la mida total no canvia, sols lassociativitat):
Capacitat
de la cache

Correspondncia
directa

Associativa
de grau 2

Associativa
de grau 4

8 blocs
16 blocs
32 blocs
64 blocs
128 blocs

- 72 -

Associativa
de grau 8

Completament
Associativa

Estructura de Computadors

Sessi 5: Memria cache

Loptimitzaci que volem aplicar est basada en aprofitar la localitat temporal de les referncies al vector V2. Fixat que aquest vector es llegeix tot sencer, una vegada per cada fila que
tractem de la matriu M. El que pretenem s que els accessos al vector corresponguin nicament a aquells elements que caben en un bloc de la cache que, en el cas que considerem, sn 4.
Aix, en lloc de multiplicar tota una fila de la matriu M per tot el vector V2 volem fer el tractament de 4 en 4 elements1: s a dir, que dividirem la matriu en blocs de 4 columnes i farem
primer totes les operacions involucrades amb els elements del primer bloc (iterant totes les
seves files) abans de passar al bloc segent. Completa el segent exercici abans de continuar:
Exercici 5.13: El codi que hi ha a continuaci correspon a una versi optimitzada del
programa de la figura 5.4, on shi ha aplicat loptimitzaci anomenada "tiling". Lndex k
itera els 4 blocs de la matriu (amb 4 columnes per bloc). Completa les caselles buides amb
les sentncies dalt nivell que contenen els accessos a les estructures de dades.
int V1[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int M[16][16], V2[16];
main()
{
int i,j,k,tmp;
for (k=0; k<4; k++)
for (i=0; i<16; i++)
{
tmp = 0;
for (j=0; j<4; j++)
{
tmp +=

+= tmp;
}
}

Aquesta optimitzaci rep el nom de "loop blocking" o "tiling", que consisteix en


transformar un bucle en dos bucles de forma que lespai diteracions de loriginal (bucle j)
passa a tenir menys iteracions (de 16 passa a 4) per aprofitar la localitat temporal de les
estructures que shi accedeixen (en aquest cas, la localitat temporal del vector V2)

1.

- 73 -

Sessi 5: Memria cache

Estructura de Computadors

Completa el segent exercici abans de continuar:


Exercici 5.14: Tradueix a assemblador MIPS el programa de lexercici 5.13.

Escriu el programa de lexercici anterior en un fitxer nou, i anomenal s5d2.s. Verifica amb el
simulador que s correcte, comprovant que el resultat que sobt al vector V1 coincideix amb
lobtingut al programa original del fitxer s5d.s.
Determina amb el simulador la taxa dencerts que sobt executant el programa optimitzat:
Capacitat
de la cache

Correspondncia
directa

Associativa
de grau 2

Associativa
de grau 4

Associativa
de grau 8

Completament
Associativa

8 blocs
16 blocs
32 blocs
64 blocs
128 blocs

Quina s la diferncia entre la millor taxa dencerts daquesta versi i la de la versi no optimitzada?

- 74 -

También podría gustarte

  • A7 Gracias Tarjeta
    A7 Gracias Tarjeta
    Documento1 página
    A7 Gracias Tarjeta
    enricsg
    Aún no hay calificaciones
  • PSXMZCI
    PSXMZCI
    Documento1 página
    PSXMZCI
    enricsg
    Aún no hay calificaciones
  • Sdgs
    Sdgs
    Documento14 páginas
    Sdgs
    enricsg
    Aún no hay calificaciones
  • Fasfa
    Fasfa
    Documento66 páginas
    Fasfa
    enricsg
    Aún no hay calificaciones
  • EnvioChrono VEHQL2M1 Brasulto 1
    EnvioChrono VEHQL2M1 Brasulto 1
    Documento1 página
    EnvioChrono VEHQL2M1 Brasulto 1
    enricsg
    Aún no hay calificaciones
  • Maccc
    Maccc
    Documento1 página
    Maccc
    enricsg
    Aún no hay calificaciones
  • Sdgs
    Sdgs
    Documento14 páginas
    Sdgs
    enricsg
    Aún no hay calificaciones
  • Mokjomjopi
    Mokjomjopi
    Documento10 páginas
    Mokjomjopi
    enricsg
    Aún no hay calificaciones
  • Mokjomjopi
    Mokjomjopi
    Documento10 páginas
    Mokjomjopi
    enricsg
    Aún no hay calificaciones
  • Docutyutyment
    Docutyutyment
    Documento3 páginas
    Docutyutyment
    enricsg
    Aún no hay calificaciones
  • Sdgsdtori Sessio3
    Sdgsdtori Sessio3
    Documento10 páginas
    Sdgsdtori Sessio3
    enricsg
    Aún no hay calificaciones
  • Enteros Ca2 Septiembre 09 fm8
    Enteros Ca2 Septiembre 09 fm8
    Documento34 páginas
    Enteros Ca2 Septiembre 09 fm8
    enricsg
    Aún no hay calificaciones
  • Dasda
    Dasda
    Documento1 página
    Dasda
    enricsg
    Aún no hay calificaciones
  • Docutyutyment
    Docutyutyment
    Documento3 páginas
    Docutyutyment
    enricsg
    Aún no hay calificaciones
  • So Lucio Nari
    So Lucio Nari
    Documento36 páginas
    So Lucio Nari
    enricsg
    Aún no hay calificaciones
  • So Lucio Nari
    So Lucio Nari
    Documento36 páginas
    So Lucio Nari
    enricsg
    Aún no hay calificaciones
  • Pract 1
    Pract 1
    Documento15 páginas
    Pract 1
    enricsg
    Aún no hay calificaciones
  • Sesion 1
    Sesion 1
    Documento12 páginas
    Sesion 1
    enricsg
    Aún no hay calificaciones