View Single Post
Old 20-08-2006, 12:35   #2549
Star trek
Senior Member
 
L'Avatar di Star trek
 
Iscritto dal: Nov 2001
Città: undefined
Messaggi: 6416
Quote:
Originariamente inviato da NvidiaMen
La TLB (fondamentale ad esempio nella gestione della memoria virtuale del PC su HD) non è altro che una porzione della cache L1 (Translation Lookaside Buffer) con il compito di "ricordare" (o memorizzare) gli indirizzi mappati in memoria ed utilizzati più di recente dal processore in modo da ridurre il numero di volte che la CPU vada a controllare la "page table". Quest'ultima è una porzione di area presa dalla memoria fisica (la DDR) nella quale viene tabellata la pagina virtuale (che comprende sia la memoria DDR che la memoria "di riserva" presente nell'hard disk) con l'effettiva pagina fisica richiesta dal processore. In parole povere la "page table", creata nella ddr, indica al processore dove andare a trovare il dato (contraddistinto da un preciso indirizzo virtuale) richiesto: o nella stessa DDR o nella porzione di HD utilizzata come memoria virtuale. Ebbene la TLB evita, nei limiti del possibile, al processore di andare a controllare la "page table" fidandosi del fatto che l'indirizzo fisico (in DDR o in HD) corrispondente a quello virtuale richiesto dalla CPU possa trovarsi già dentro sè stessa (perchè utilizzato già di recente: prediction): ciò accellererà l'elaborzione perchè se il corrispondente indirizzo fisico è effettivamente nella cache TLB verrà evitata una scansione nella "page table" in DDR.
Ebbene tutto quel che ho appena detto (tra DDR e memoria virtuale dell'hard disk) vale anche nel rapporto tra cache L1 e cache L2 e anche nel rapporto tra cache L2 e DDR.
Dopo questa breve premessa... adesso è possibile illustrare l'oggetto della tua domanda, ovvero la MISS PENALITY. Praticamente rappresenta il fatto che il dato non trovandosi in TLB vada ricercato nella "page table" e riportato nella TLB che non lo conteneva. Ciò determinerà un ritardo nella reperibilità del dato (infatti il processore rimarrà in questa fase non operativo) a seconda se questo si trovi in cache L2 o mappato in DDR o ancor peggio in HD. Nell'immagine da te riportata il tempo necessario ad individuare il dato richiesto tabellato nella "page table" della ddr ma presente nella cache L1 ed a riportarlo nella TLB della stessa cache L1 richiederà 5 cicli, mentre quello necessario a riportare il dato nella TLB prelevandolo dalla cache L2 richiederà 17 cicli (lato dati, mentre rispettivamente 4 e 24 cicli lato istruzioni).
Ciao.
Ok allora niente di grave mi sembra.

P.S. Hai visto il mio PVT?
Grazie
Star trek è offline   Rispondi citando il messaggio o parte di esso