[Esercizi]Esercizi vari... Clicca QUI per vedere il messaggio nel forum |
imperator |
prova ad applicare de morgan:
1)~ (~B + ~C) = BC
2)esegui le moltiplicazioni del caso: A (B + C) = AB + AC
3) ti ritrovi dunque in questa situazione : AB + AC + BC
4)applica ancora de morgan:
AB (C + ~C) + A (B + ~B) C + (A + ~A) BC
5) esegui ancora le moltiplicazioni:
ABC + AB~C + ABC + A~BC + ABC + ~ABC =
ABC + AB~C + A~BC + ~ABC
dai un'occhiata alla slide 20 lezione 4 di pedersini, dovrebbe esserti d'aiuto |
Sephirot |
sisi confermo, in questo caso de morgan vince! |
Ariok |
ok! perfetto grazie!..tra parentesi .. ho uan versione del libro proposto da perdersini (patterson) esiste per caso un sito di riferimento per questo libro? magari con gli esercizi svolti! :P |
Ariok |
ESERCIZIO CACHE
Qualcuno di voi sta preparando gli esercizi per il 3 maggio? posto qui una mia soluzione .. ho un paio di dubbi ..
DATI:_________________________________________
Calcolatore con indirizzamento di memoria a 1GB
Ampiezza BUS dati 32bit
RICHIESTE:_____________________________________
-Progettare cache a Mappatura diretta con capacita C=256 kB con linee di 16 parole
-Indicare in che posizione viene scritta la parola 0x808080
DUBBI:_________________________________________
Non capisco,in questo esercizio, a cosa servono i dati “indirizzamento a 1GB” e bus dati a 32 bit
Io svolgerei cosi’ .. sbaglierei?
RISOLUZIONE:___________________________________
-Ogni linea e’ “composta” da 16 parole da 4 byte quindi per 256 kB
N° Linee =256/(16*4) =4 linee
-Per rappresentare 4 indici differenti sono necessari 2 bit
-Per rappresentare l’offset interno alla linea e far riferimento a una delle 16 parole sono necessari log2(16)=4 bit
-Il Tag e’ composto da 32-(4+2+2)=24 bit ( 4=bit per offset dati 2= bit indici e 2 =primi due bit pari a zero)
-Disegnerei lo schema .. facendo riferimento a quanto calcolato sopra…
La parola 0x 80 80 80 puo’ essere vista come 1000 0000 1000 0000 1000 0000
E qui il mio secondo dubbio. In questo caso non ho una parola su 32 bit… posso Emularla settando i restanti MSB a zero?
Comunque continuando su questa riga.. prenderei gli ultimi 8 bit e lavorerei cosi’:
10 00 00 00
-Gli ultimi due sono settati a zero (offset)*
-I quattro zeri centrali sono gli offset per definire in che cella risiede il dato nella cache (offset dati).In questo caso, il blocco zero ( o primo blocco) ,della linea definita qui sotto
-Il 7° e l’8° definiscono la linea… in questo caso ‘10’ quindi la terza
La parola 0x80 80 80 andrebbe nella terza linea… al primo blocco.
-Quello che chiedo e’ dunque:
-Come utilizzo i dati ?
-Ho notato che in altri esercizi pone il bus dati a dimensioni differenti da 32.. in che modo questa caratteristica influisce sull’esercizio?
-Posso trattare la parola esadecimale espressa su 24 bit ,come una parola a 32 ? (*oltretutto mi chiedo, nel caso in cui la parola esadecimale termini per esempio con un ‘5’ ,quindi 0101, dovrei forzare gli ultimi due bit a zero?)
HELP!!!! |
Ariok |
lol lo avete visto in piu' di 100 persone....nessuno e' in grado di farlo!? |
GioNeverMan |
il fatto che il pc abbia indirizzamento a 1 gb non te ne frega niente....
invece l'ampiezza del BUS è quello che puo passare da esso, cioè in parole povere, è la dimensione della tua parola!
tu nell'esercizio hai usato 32bit a parola pensando di usare il MIPS, solo che non è detto che gli ex si riferiscano sempre al MIPS.
quindi l'ampiezza del bus ti serve per stabilire le dimensioni della parola. |
Ariok |
grazie!!
quindi indirizzamento 1 Gb indirizzi -->30bit
ma per quanto riguarda l'ampiezza del bus dati? se dico .. 16 bit.. intendiamo che le parole sono di 16 bit ? invece che di 32? |
|
|
|