Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Discutiamo gli esercizi proposti per le memorie


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 30 risposta/e

#1
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:
- Esercizio 1
La parola richiesta si trova in memoria se l'etichetta del blocco 18 è 78
L'indirizzo corrispondente al dato richiesto è 301
Per memorizzare le etichette sono necessari 224 bit aggiuntivi

- Esercizio 2
La parola richiesta si trova in memoria se l'etichetta di uno dei 4 blocchi appartenenti al set 466 è 12
L'indirizzo corrispondente al dato richiesto è 29837 o 29853 o 29869 o 29885 a seconda di quale posizione occupa il blocco nel set
Per memorizzare le etichette sono necessari 10240 bit aggiuntivi

- Esercizio 3
Il riferimento è allocato in memoria se il bit di validità della pagina 214869 nella tabella delle pagine è 1
L'indirizzo in memoria centrale è num_pag_fis* 2^12 +140

- Esercizio 4
Il numero di righe della tabella delle pagine è 2^18
I bit necessari per ogni riga della tabella sono 19

Come per le altre discussioni sugli esercizi proposti fatemi sapere se vi trovate! :ciao:



#2
Learner88

Learner88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 46 Messaggi:
Ciao Enrico,Nel secondo esercizio, Come fai a ricavarti quei quattro indirizzi??

Grazie in anticipo! Ciao!

#3
Fox

Fox

    Advanced Member

  • Utente
  • StellaStellaStella
  • 108 Messaggi:

Ciao Enrico,Nel secondo esercizio, Come fai a ricavarti quei quattro indirizzi??

Grazie in anticipo! Ciao!

up! :rosso:

#4
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:
Prendendo l'indirizzo generato dal processore esso può essere scomposto nel modo seguente:
- Essendoci 16 locazioni per blocco i 4 bit meno significativi identificano proprio la word
- Essendo la cache composta da 2^11 blocchi ed essendo lo schema set-associativo a 4 vie, il numero di set è 2^11/2^2=2^9, quindi altri 9 bit codificano il numero del set
- Traduco questo numero 111010010=466
- Trovo l'indirizzo della word moltiplicando l'indirizzo del set per il numero di blocchi nel set e questo per il numero di locazioni in ogni blocco, dopodiché aggiungo l'offset della word: 466 x 4 x 16 + 13 = 29837
- L'indirizzo sarebbe questo appena riportato se fossimo certi che la word si trovi nel primo blocco del set, ma non essendo sicuri, l'indirizzo sarà 29837+16=29853 se è nel secondo blocco, 29853+16=29869 se è nel terzo, 29869+16= 29885 se è nel quarto

Spero di essere stato chiaro, buono studio a tutti! Fatemi sapere se negli altri vi trovate! :ciao:

EDIT: Corretto l'errore nel 4° passo!

#5
Fox

Fox

    Advanced Member

  • Utente
  • StellaStellaStella
  • 108 Messaggi:

Prendendo l'indirizzo generato dal processore esso può essere scomposto nel modo seguente:
- Essendoci 16 locazioni per blocco i 4 bit meno significativi identificano proprio la word
- Essendo la cache composta da 2^11 blocchi ed essendo lo schema set-associativo a 4 vie, il numero di set è 2^11/2^2=2^9, quindi altri 9 bit codificano il numero del set
- Traduco questo numero 111010010=466
- Trovo l'indirizzo della word moltiplicando l'indirizzo del set per il numero di blocchi nel set e questo per il numero di locazioni in ogni blocco: 466 x 4 x 16 = 29837
- L'indirizzo sarebbe questo appena riportato se fossimo certi che la word si trovi nel primo blocco del set, ma non essendo sicuri, l'indirizzo sarà 29837+16=29853 se è nel secondo blocco, 29853+16=29869 se è nel terzo, 29869+16= 29885 se è nel quarto

Spero di essere stato chiaro, buono studio a tutti! Fatemi sapere se negli altri vi trovate! :ciao:

eferre sei sempre di grande aiuto :cheers:
Il procedimento di calcolo degli indirizzi del blocco è chiarissimo soltando che mi trovo in maniera diversa:
-Primo blocco indirizzo 29824
-Secondo blocco indirizzo 29840
-Terzo blocco indirizzo 29856
-Quarto blocco indirizzo 29872
Vedi se ti trovi così ^_^

#6
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:
Avevo dimenticato di aggiungere l'offset della word, adesso è corretto! :D

#7
Biorain90

Biorain90

    Advanced Member

  • Utente
  • StellaStellaStella
  • 86 Messaggi:
Ciao Enrico, nel 4° esrcizio, quando calcoliamo il numero di bit per riga,sommiamo l'esponente di k con 3 , ma dei bit necessari all'algoritmo di sostituzione cosa ce ne facciamo? dov è che entra in gioco ? mi pare strano che in tutto l'esercizio non venga utilizzato questo dato....

Grazie x qualsiasi delucidazione :D

#8
Umberto

Umberto

    Newbie

  • Utente
  • StellaStellaStella
  • 414 Messaggi:
Enrico mi trovo con te, solo di questo ke avete discusso non mi trovo...xkè se vedi in quelli svolti ce n'è uno set associativo a due vie ke calcola l'indirizzo normalmente, come se fosse ad indirizzamento diretto...
Quindi io ho fatto:
466*16+13 se si trova nel primo blocco del set ecc...
r0x GRAZIE DI ESISTERE...

#9
Umberto

Umberto

    Newbie

  • Utente
  • StellaStellaStella
  • 414 Messaggi:

Ciao Enrico, nel 4° esrcizio, quando calcoliamo il numero di bit per riga,sommiamo l'esponente di k con 3 , ma dei bit necessari all'algoritmo di sostituzione cosa ce ne facciamo? dov è che entra in gioco ? mi pare strano che in tutto l'esercizio non venga utilizzato questo dato....

Grazie x qualsiasi delucidazione :D


quoto questo dubbio...
r0x GRAZIE DI ESISTERE...

#10
Biorain90

Biorain90

    Advanced Member

  • Utente
  • StellaStellaStella
  • 86 Messaggi:
Anch' io mi trovo con Umberto per quanto riguarda gli indirizzi nel set associativo, nell'esempio non moltiplica per due, ma si limita ad aggiungere il n° di locazioni ogni volta che si vuole andare al blocco successivo.....

#11
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:

Enrico mi trovo con te, solo di questo ke avete discusso non mi trovo...xkè se vedi in quelli svolti ce n'è uno set associativo a due vie ke calcola l'indirizzo normalmente, come se fosse ad indirizzamento diretto...
Quindi io ho fatto:
466*16+13 se si trova nel primo blocco del set ecc...


Infatti l'esercizio svolto è sbagliato, tanto è vero che nella soluzione suppone che la word cercata si trovi nel secondo blocco e scrive 10*128+128+45, cioè 11*128+45... se si vuole rispettare la logica usata nell'esercizio allora questo calcolo dovrebbe essere giusto se la word si trova nel set 11, invece si trova nel set 10, al secondo blocco...

In altre parole se i bit corrisponenti al set vi avessero dato come risultato 11, non avrebbe fatto differenza se la word si fosse trovata nel primo blocco del set 11 o nel secondo del set 10, vi pare?! Invece la differenza c'è eccome!

#12
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:

Ciao Enrico, nel 4° esrcizio, quando calcoliamo il numero di bit per riga,sommiamo l'esponente di k con 3 , ma dei bit necessari all'algoritmo di sostituzione cosa ce ne facciamo? dov è che entra in gioco ? mi pare strano che in tutto l'esercizio non venga utilizzato questo dato....

Grazie x qualsiasi delucidazione :D


Nell'esercizio 4 dice di prendere in considerazione la figura 7.21, dove c'è il solo bit di validità... quindi io ho aggiunto i 2 di informazione utile al trasferimento e sono arrivato a 19!

Se invece vuoi utilizzare la logica (secondo me sbagliata) dell'esercizio svolto, allora questo numero sale a 20! Secondo me nello svolto c'è un errore, perchè se dice di prendere in considerazione la figura 7.21 là c'è un solo bit per così dire "strutturale".

#13
Learner88

Learner88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 46 Messaggi:
Grazie! Ora è tutto chiaro! :cheers:

#14
ziofabrix

ziofabrix

    Newbie

  • Utente
  • StellaStellaStella
  • 251 Messaggi:
Enrico secondo me va seguita la logica dell'esercizio,anche perkè c'è bisogno di considerare il bit di modifica per la write back
Non preoccupatevi per il futuro:se la caverà benissimo anche senza di voi

#15
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:

Enrico secondo me va seguita la logica dell'esercizio,anche perkè c'è bisogno di considerare il bit di modifica per la write back


Chi te lo dice che la tabella rappresentata in figura fa riferimento ad una memoria di tipo write-back?! In fondo se così fosse stato il bit ci sarebbe stato già! D'altra parte si è detto che la politica più utilizzata per la memoria virtuale è proprio quella write-back, ma niente vieta che io possa utilizzare un'altra politica...

#16
Di bello Giuseppe

Di bello Giuseppe

    Advanced Member

  • Utente
  • StellaStellaStella
  • 38 Messaggi:
Ragazzi se la traccia dell'esercizio voleva che i bit aggiunti alla tabella delle pagine fossero 2 per ogni campo "validità,modifica,accesso" per la logica del tlb, ma che senso avrebbe mettere 2 bit nel campo validità?

#17
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:
Infatti non credo che la traccia intendesse dire che bisogna aggiungere dei bit ai campi, ma solo che bisogna aggiungere dei bit (necessari alla gestione del trasferimento) al di fuori di quelli che sono rappresentati già in figura... nel caso specifico è uno solo ed è quello di validità!

#18
Di bello Giuseppe

Di bello Giuseppe

    Advanced Member

  • Utente
  • StellaStellaStella
  • 38 Messaggi:
L'esercizio svolto n 7 si riferisce alla tabella delle pagine contenente solo il bit di validità fig 7.21, ma nello svolgimento considera tre bit come in una cache tlb, c'è troppa confusine.

#19
eferre

eferre

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1502 Messaggi:

L'esercizio svolto n 7 si riferisce alla tabella delle pagine contenente solo il bit di validità fig 7.21, ma nello svolgimento considera tre bit come in una cache tlb, c'è troppa confusine.


Ma perchè dice di aggiungere un bit, ma secondo me intendeva aggiungerne 2, come nell'esercizio proposto...

#20
Di bello Giuseppe

Di bello Giuseppe

    Advanced Member

  • Utente
  • StellaStellaStella
  • 38 Messaggi:
Anche secondo me è così, comunque non sò se avete visto gli esercizi di assembler,le traccie in c sono "sgrammaticate" nel senso che in una funzione ho visto due return, poi in u'altro esercizio si chiedeva di prendere in input la dimensione del vettore,e poi dichiarare il vottore secondo il dato preso in input....... in c è scorretto




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi