Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi A - F > Architettura degli elaboratori e delle reti > Esercizio CACHE IV Compitino
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
lSical
.consigliere.

User info:
Registered: Mar 2008
Posts: 102 (0.02 al dì)
Location:
Corso: Informatica
Anno: 1
Time Online: 5 Days, 1:00:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Esercizio CACHE IV Compitino

Ciao, qualcuno potrebbe gentilmente aiutarmi ad interpretare questo esercizio :? prensente nel compitino dell'anno scorso:
Disegnate una cache per un’architettura MIPS, a 4 vie di 1KByte per banco, e linee di 4 parole (per ciascun banco). Supponiamo
che l’indirizzamento della memoria principale sia su 32 bit. Disegnare il circuito di scrittura della cache. Definire cosa rappresenta il
campo TAG e dimensionarlo. Supponiamo che all’inizio i bit di validità siano tutti a 0. Definire cosa succede in corrsipondenza di
questo frammento di codice (se si verifica una miss, una hit e dove vengono scritti / letti i dati della cache, quale indirizzo e quale tag
vengono associati ad ogni istruzione):
sw $t0, 20($zero)
lw $t0, 64($zero)
lw $t0, 60($zero)
sw $t0, 56($zero)
sw $t0, 0($zero)
lw $t0, 20($zero)
lw $t0, 64($zero)
lw $t0, 128($zero)

vorrei sapere cosa si intende con l’indirizzamento della memoria principale sia su 32 bit, e che la cache è a 4 vie di 1KByte per banco (cioè 4 blocchi a 1kByte per via?)

Per ora credo di aver capito che:
-Se è una cache a 4 vie allora è in grado di memorizzare 4 blocchi diversi per ogni indice.
- 1kByte/4 word = 256 word all'interno della cache ?
quindi 256 word/ 4 vie = 64 =2^6 pari a 6 bit per l'indice?
perciò il tag sarebbe 32-2-6=24

poi come faccio a determinare il numero di linee?

Grazie dell'aiuto :-D, Ciao!!!

06-06-2008 22:02
Click Here to See the Profile for lSical Click here to Send lSical a Private Message Find more posts by lSical Add lSical to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
marcodili
.fedelissimo.

User info:
Registered: Apr 2007
Posts: 41 (0.01 al dì)
Location:
Corso: informatica
Anno: terzo
Time Online: 1 Day, 9:48:29 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

no guarda.. secondo me stai sbagliando..

praticamente 4 vie 1k byte per banco vuol dire in totale una cache da 4 kbyte.

ci sono quattro banchi da 1k byte ciascuno... ogni banco ha linee che contengono 4 parole (quindi vuol dire che ogni banco ha quattro blocchi)

quindi:

K = 32 - log2 (2^10) = 32-10= 22 bit di tag

poi sono quattro blocchi per banco quindi avra bisogno di 2 bit per rappresentare i blocchi

quindi n bit di indice = 32 - 22 -2 -2(bit unused) = 6

quindi hai in totale 2^6 = 64 linee

per riassumere = 22 bit di tag, 6 di indice, 2 di blocco, 2 di unused

io lo ho svolto così. Cmq fare un disegno della cache può sempre aiutare.

07-06-2008 13:35
Click Here to See the Profile for marcodili Click here to Send marcodili a Private Message Find more posts by marcodili Add marcodili to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lSical
.consigliere.

User info:
Registered: Mar 2008
Posts: 102 (0.02 al dì)
Location:
Corso: Informatica
Anno: 1
Time Online: 5 Days, 1:00:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ciao, Innanzitutto grazie mille della risposta :razz::razz:
adesso ho capito :D , quindi quando dice "Supponiamo
che l’indirizzamento della memoria principale sia su 32 bit" vuol dire che l'indirizzo è su 32 bit? e poi ma i due bit unused ci sono sempre???:?
o come faccio a stabilire se ci sono o no?(perchè su alcuni esercizi ho visto che per ottenere l'indice fanno: dimensione banco/ numero vie= 2^n dove n è l'indice)?

poi le seguenti istruzioni sono giuste: :? ho scritto gli ultimi 10 bit, 6 bit per l'indice, 2 per i blocchi e 2 unused

sw $t0, 20($zero)= (|00 0001| 01|00) quindi ho una hit visto che è una store word, suppongo di scrivere sul banco 0, indice = 1 quindi linea 1, blocco 1 e tag 0, bit v=1

lw $t0, 64($zero)= (|00 0100| 00|00) quindi miss perchè il dato non c'è,(confronto il tag di tutte le linee di posizione 4 nei vari banchi) scrivo ancora sul banco 0(posso scrivere sul banco che voglio vero? visto che la corrispondenza è associativa?), indice =4 = linea 4, blocco 0 e tag 0, bit v=1

lw $t0, 60($zero) (|00 0011| 11|00) miss perchè dato non presente
(confronto il tag di tutte le linee di posizione 3 nei vari banchi), scrivo ancora sul banco 0, indice = 3=linea 3, blocco 3 tag 0, bit v =1

sw $t0, 56($zero) (|00 0011| 10|00) HIT perchè dato presente al banco 0, indice= linea 3 e bit di validate = 1 e il tag è uguale, quindi non lo riscrivo?
blocco 2, tag=0

sw $t0, 0($zero) Hit come la sw precedente ?

lw $t0, 20($zero) (|00 0001| 01|00) HIT perchè dato presente al banco 0, linea=1 e tag =0 quindi ricarico il dato

.... e cosi via ....:D

Grazie ancora delle risposte!! :-D :-D

Last edited by lSical on 08-06-2008 at 08:54

07-06-2008 18:33
Click Here to See the Profile for lSical Click here to Send lSical a Private Message Find more posts by lSical Add lSical to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
LG2100
.fedelissimo.

User info:
Registered: Nov 2007
Posts: 44 (0.01 al dì)
Location: Milano
Corso: Informatica magistrale
Anno: Laureato
Time Online: 4 Days, 23:21:25 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Tra l'altro l'esercizio chiede di disegnare il circuito di scrittura della cache, ma io non l'ho trovato da nessuna parte. Qualcuno sa dirmi dov'è spiegato? Oppure bisogna improvvisarne uno? :D

08-06-2008 10:41
Click Here to See the Profile for LG2100 Click here to Send LG2100 a Private Message Find more posts by LG2100 Add LG2100 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lSical
.consigliere.

User info:
Registered: Mar 2008
Posts: 102 (0.02 al dì)
Location:
Corso: Informatica
Anno: 1
Time Online: 5 Days, 1:00:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ciao!, guarda che c'è nella slide della lezione 28, :) (26/36)
scusa hai provato se le istruzioni sono giuste?

Last edited by lSical on 08-06-2008 at 10:48

08-06-2008 10:44
Click Here to See the Profile for lSical Click here to Send lSical a Private Message Find more posts by lSical Add lSical to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
LG2100
.fedelissimo.

User info:
Registered: Nov 2007
Posts: 44 (0.01 al dì)
Location: Milano
Corso: Informatica magistrale
Anno: Laureato
Time Online: 4 Days, 23:21:25 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ho svolto l'esercizio e mi vengono le HIT/MISS come a te. Credo sia giusto. L'unico dubbio che ho è sulle sw che accedono a blocchi non in cache se anche per loro si hanno hit o miss. Pensandoci, se si cerca di scrivere una word su un blocco in cui il bit di validate è a 0 bisogna per forza recuperare dalla ram il resto del blocco con conseguente ritardo di tempo e poi mettere il bit di validate a 1.... peccato che sulle slide non ci siano esempi con le sw...
La slide 26 della lezione 28 mi sembra un circuito di lettura, non di scrittura. In input prende l'indirizzo e fornisce un dato in output...

Last edited by LG2100 on 08-06-2008 at 14:30

08-06-2008 11:13
Click Here to See the Profile for LG2100 Click here to Send LG2100 a Private Message Find more posts by LG2100 Add LG2100 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lSical
.consigliere.

User info:
Registered: Mar 2008
Posts: 102 (0.02 al dì)
Location:
Corso: Informatica
Anno: 1
Time Online: 5 Days, 1:00:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

è vero, quello è il circuito di lettura xD:D, ...comunque se la cache è la copia della memoria principale allora quando faccio una sw vedo se il dato è presente in essa quindi alla fine lo seleziono dalla cache e quindi forse il grafico è lo stesso(almeno credo :D), poi per la sw, credo di aver sentito a lezione che si ha sempre hit perchè scrivo direttamente sulla memoria,
quindi tipo per l'istruzione
sw $t0, 56($zero) visto che il dato è presente sulla cache allora non faccio altro che prenderlo, di conseguenza ho una HIT :?

08-06-2008 11:34
Click Here to See the Profile for lSical Click here to Send lSical a Private Message Find more posts by lSical Add lSical to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
LG2100
.fedelissimo.

User info:
Registered: Nov 2007
Posts: 44 (0.01 al dì)
Location: Milano
Corso: Informatica magistrale
Anno: Laureato
Time Online: 4 Days, 23:21:25 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Se il dato è già in cache non ci sono dubbi. Il problema è se il dato non c'è. Però probabilmente si verifica hit o miss solo se l'operazione è di lettura :)

08-06-2008 11:58
Click Here to See the Profile for LG2100 Click here to Send LG2100 a Private Message Find more posts by LG2100 Add LG2100 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
lSical
.consigliere.

User info:
Registered: Mar 2008
Posts: 102 (0.02 al dì)
Location:
Corso: Informatica
Anno: 1
Time Online: 5 Days, 1:00:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Si infatti, se non c'è, cerchi una linea libera in qualunque blocco e scrivi direttamente :), per il grafico al massimo disegno quello che c'è sperando mi dia qualche punto :D:D

Last edited by lSical on 08-06-2008 at 14:33

08-06-2008 12:03
Click Here to See the Profile for lSical Click here to Send lSical a Private Message Find more posts by lSical Add lSical to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Shaper
.consigliere.

User info:
Registered: Sep 2007
Posts: 147 (0.02 al dì)
Location: Milano
Corso: Informatica
Anno: Secondo anno
Time Online: 1 Day, 11:23:27 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ma quindi, quando si tratta di sw, non avrebbe nemmeno senso parlare di hit o miss? E quindi che ci scrivo? La cosa mi lascia perplesso...:?

__________________
Eidolon64|Blog

09-06-2008 09:30
Click Here to See the Profile for Shaper Click here to Send Shaper a Private Message Visit Shaper's homepage! Find more posts by Shaper Add Shaper to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
marcodili
.fedelissimo.

User info:
Registered: Apr 2007
Posts: 41 (0.01 al dì)
Location:
Corso: informatica
Anno: terzo
Time Online: 1 Day, 9:48:29 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ragazzi cmq il fatto della sw è spiegata in teoria.. il tempo della sw dipende se avviene in writethrough o in write back... guardate bene sulle dispense cosa c'è scritto. Writethrough scrive sia in cache che in memoria (quindi probabilmente il tempo sarà paragonabile a quello di una miss), writeback scrive in cache e rimanda la scrittura in memoria solo quando viene sovrascritta la linea di cache(quindi il tempo sarà paragonabile a una hit).
Cmq nel caso in cui ci sia da calcolare qualche tempo o dice il professore quale delle 2 viene utilizzata oppure scegliamo noi credo! Cmq nei compitini non ha mai chiesto di calcolare il tempo totale di un tot di istruzioni!
Questa mi sembra la soluzione migliore.

09-06-2008 16:28
Click Here to See the Profile for marcodili Click here to Send marcodili a Private Message Find more posts by marcodili Add marcodili to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Shaper
.consigliere.

User info:
Registered: Sep 2007
Posts: 147 (0.02 al dì)
Location: Milano
Corso: Informatica
Anno: Secondo anno
Time Online: 1 Day, 11:23:27 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by marcodili
ragazzi cmq il fatto della sw è spiegata in teoria.. il tempo della sw dipende se avviene in writethrough o in write back... guardate bene sulle dispense cosa c'è scritto. Writethrough scrive sia in cache che in memoria (quindi probabilmente il tempo sarà paragonabile a quello di una miss), writeback scrive in cache e rimanda la scrittura in memoria solo quando viene sovrascritta la linea di cache(quindi il tempo sarà paragonabile a una hit).
Cmq nel caso in cui ci sia da calcolare qualche tempo o dice il professore quale delle 2 viene utilizzata oppure scegliamo noi credo! Cmq nei compitini non ha mai chiesto di calcolare il tempo totale di un tot di istruzioni!
Questa mi sembra la soluzione migliore.


Sì, il discorso del writeback fila, ma siccome ci chiede di scrivere se si verifica una hit o una miss, noi che gli scriviamo nel caso della sw?

__________________
Eidolon64|Blog

09-06-2008 16:59
Click Here to See the Profile for Shaper Click here to Send Shaper a Private Message Visit Shaper's homepage! Find more posts by Shaper Add Shaper to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
marcodili
.fedelissimo.

User info:
Registered: Apr 2007
Posts: 41 (0.01 al dì)
Location:
Corso: informatica
Anno: terzo
Time Online: 1 Day, 9:48:29 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

guarda.. secondo me basta che gli scrivi solo scrittura... e poi al max se vuoi far vedere che hai studiato scrivi :ipotizzando writethrough, tempo paragonabile ad una miss.

09-06-2008 17:01
Click Here to See the Profile for marcodili Click here to Send marcodili a Private Message Find more posts by marcodili Add marcodili to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Shaper
.consigliere.

User info:
Registered: Sep 2007
Posts: 147 (0.02 al dì)
Location: Milano
Corso: Informatica
Anno: Secondo anno
Time Online: 1 Day, 11:23:27 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by marcodili
guarda.. secondo me basta che gli scrivi solo scrittura... e poi al max se vuoi far vedere che hai studiato scrivi :ipotizzando writethrough, tempo paragonabile ad una miss.


Sì, penso sia la cosa migliore...

__________________
Eidolon64|Blog

09-06-2008 17:03
Click Here to See the Profile for Shaper Click here to Send Shaper a Private Message Visit Shaper's homepage! Find more posts by Shaper Add Shaper to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
ste182
.arcimaestro.

User info:
Registered: Oct 2004
Posts: 258 (0.03 al dì)
Location:
Corso: informatica
Anno:
Time Online: 2 Days, 5:06:07: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by marcodili
no guarda.. secondo me stai sbagliando..

praticamente 4 vie 1k byte per banco vuol dire in totale una cache da 4 kbyte.

ci sono quattro banchi da 1k byte ciascuno... ogni banco ha linee che contengono 4 parole (quindi vuol dire che ogni banco ha quattro blocchi)

quindi:

K = 32 - log2 (2^10) = 32-10= 22 bit di tag

poi sono quattro blocchi per banco quindi avra bisogno di 2 bit per rappresentare i blocchi

quindi n bit di indice = 32 - 22 -2 -2(bit unused) = 6

quindi hai in totale 2^6 = 64 linee

per riassumere = 22 bit di tag, 6 di indice, 2 di blocco, 2 di unused

io lo ho svolto così. Cmq fare un disegno della cache può sempre aiutare.


so che è una discussione un pò vecchia ma sto studiando per l'appello di domani e mi servirebbe capire.
io l'ho fatto diversamente:
- una linea= 4(blocchi) * 32bit (suppongo che una word sia di 4byte dato che il bus è a 32bit) = 128 bit di linea
- numero di linee = 1024(1KB) / 128bit = 8
- indice = log2(8) = 3 bit
- 2 bit di offset
- tag = 32 -2 -2 -3 = 25 bit

ricapitolando:
25bit di tag | 3bit di indice | 2bit di offset | 2 bit unused

no??

__________________
Live Fast, Die Fun

17-06-2009 15:04
Click Here to See the Profile for ste182 Click here to Send ste182 a Private Message Find more posts by ste182 Add ste182 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 11:55.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.091 seconds (69.89% PHP - 30.11% MySQL) con 26 query.