Come Funziona Il Computer_ Il Processore - Parte 1 - Come Lavora La Cache - Pagina 9 - Tom's...

2
12/1/2015 Come funziona il computer: il processore Parte 1 Come lavora la cache Pagina 9 Tom's Hardware http://www.tomshw.it/cont/articolo/comefunzionailcomputerilprocessoreparte1comelavoralacache/51231/9.html 1/2 Come funziona il computer: il processore Parte 1 di Tom's Hardware, 28 novembre, 2013 08:20 Come lavora la cache Facciamo ad esempio una persona che sta mangiando, e che è come un processore che richiede dati su cui operare dalla memoria principale. La cucina dove il cibo viene preparato è la RAM, il controller della cache è il cameriere, e la cache L1 è il tavolo dove siete seduti. Arriva, si siede e ordina una bistecca. Per mantenere credibili le proporzioni, diciamo che mangia a una velocità di un boccone (byte?) ogni quattro secondi (233 MHz = un ciclo di circa 4 ns), e che alla cucina servono 60 secondi per preparare ogni singolo piatto i 60 ns della memoria principale. Dopo aver ordinato bisogna quindi aspettare 60 secondi per la preparazione del piatto. Dopo che il cameriere lo ha consegnato il cliente lo consuma con la consueta velocità, e poi ne chiede un'altra. Altri 60 secondi di attesa, e la procedura si ripete anche per il successivo piatto di patatine e per il dolce. Il nostro cliente immaginario ha passato molto tempo ad aspettare e pochissimo a mangiare. Alla terza sera il cameriere inizia a pensare, "questa persona viene sempre alla stessa ora e ordina sempre le stesse cose. Perché non preparare il cibo in anticipo in modo da sorprenderlo? Forse otterrò una bella mancia". Ed ecco che il cameriere porta subito il piatto, senza attesa! Non appena state finendo la bistecca per ordinarne una seconda il cameriere vi anticipa mettendovi la seconda bistecca nel piatto. Il resto del pasto continua nello stesso modo: il cliente mangia un pasto intero ingurgitando un boccone ogni quattro secondi, ma senza aspettare che la cucina prepari il cibo. Tutto grazie all'intelligenza e dell'attenzione del cameriere. L'esempio del ristorante descrive la funzione della cache L1 nel processore. La cache L1 di per sé è un tavolo che può contenere uno o più piatti di cibo. Senza un cameriere, lo spazio sul tavolo è un semplice buffer del cibo. Quando è rifornito potete mangiare fino a quando il buffer si svuota, ma nessuno sembra essere abbastanza intelligente da riempirlo. Il cameriere è il controller della cache che entra in azione e aggiunge l'intelligenza per decidere quali piatti vanno collocati sul tavolo prima che il cliente li ordini. Come un controller reale della cache, usa la propria preparazione per indovinare (letteralmente) quale cibo richiederete successivamente e se indovina, non dovrete più aspettare. Diciamo che la quarta sera arrivate allo stesso orario e ordinate la bistecca di sempre. Il cameriere ha già preparato la portata richiesta, e non dovete aspettare. Finite la bistecca e mentre il cameriere vi sta già servendo la seconda, voi lo stupite chiedendo un piatto d'insalata. Il cameriere ha fatto un'ipotesi errata e la conseguenza è che stavolta dovete attendere 60 secondi per far sì che la cucina prepari la portata. Questo avvenimento è chiamato "cache miss", nel quale un controller non ha correttamente riempito la cache con il dato di cui il processore aveva bisogno poco dopo. Il risultato è l'attesa, o nel caso del computer con il Pentium 233 MHz il passaggio a 16 MHz velocità della RAM ogni volta che avviene un "cache miss".

description

processore

Transcript of Come Funziona Il Computer_ Il Processore - Parte 1 - Come Lavora La Cache - Pagina 9 - Tom's...

  • 12/1/2015 Comefunzionailcomputer:ilprocessoreParte1ComelavoralacachePagina9Tom'sHardware

    http://www.tomshw.it/cont/articolo/comefunzionailcomputerilprocessoreparte1comelavoralacache/51231/9.html 1/2

    Comefunzionailcomputer:ilprocessoreParte1diTom'sHardware,28novembre,201308:20

    Come lavora la cache

    Facciamoadesempiounapersonachestamangiando,echecomeunprocessorecherichiededatisucuioperaredallamemoriaprincipale.LacucinadoveilcibovienepreparatolaRAM,ilcontrollerdellacacheilcameriere,elacacheL1iltavolodovesieteseduti.

    Arriva,sisiedeeordinaunabistecca.Permantenerecredibilileproporzioni,diciamochemangiaaunavelocitdiunboccone(byte?)ogniquattrosecondi(233MHz=unciclodicirca4ns),echeallacucinaservono60secondiperpreparareognisingolopiattoi60nsdellamemoriaprincipale.

    Dopoaverordinatobisognaquindiaspettare60secondiperlapreparazionedelpiatto.Dopocheilcamerierelohaconsegnatoilclienteloconsumaconlaconsuetavelocit,epoinechiedeun'altra.Altri60secondidiattesa,elaprocedurasiripeteancheperilsuccessivopiattodipatatineeperildolce.Ilnostroclienteimmaginariohapassatomoltotempoadaspettareepochissimoamangiare.

    Allaterzaserailcameriereiniziaapensare,"questapersonavienesempreallastessaoraeordinasemprelestessecose.Perchnonpreparareilciboinanticipoinmododasorprenderlo?Forseotterrunabellamancia".

    Edeccocheilcameriereportasubitoilpiatto,senzaattesa!Nonappenastatefinendolabisteccaperordinarneunasecondailcamerierevianticipamettendovilasecondabisteccanelpiatto.Ilrestodelpastocontinuanellostessomodo:ilclientemangiaunpastointeroingurgitandounbocconeogniquattrosecondi,masenzaaspettarechelacucinaprepariilcibo.Tuttograzieall'intelligenzaedell'attenzionedelcameriere.

    L'esempiodelristorantedescrivelafunzionedellacacheL1nelprocessore.LacacheL1dipersuntavolochepucontenereunoopipiattidicibo.Senzauncameriere,lospaziosultavolounsemplicebufferdelcibo.Quandorifornitopotetemangiarefinoaquandoilbuffersisvuota,manessunosembraessereabbastanzaintelligentedariempirlo.Ilcameriereilcontrollerdellacachecheentrainazioneeaggiungel'intelligenzaperdeciderequalipiattivannocollocatisultavoloprimacheilclienteliordini.Comeuncontrollerrealedellacache,usalapropriapreparazioneperindovinare(letteralmente)qualeciborichiederetesuccessivamenteeseindovina,nondovretepiaspettare.

    Diciamochelaquartaseraarrivateallostessoorarioeordinatelabisteccadisempre.Ilcamerierehagipreparatolaportatarichiesta,enondoveteaspettare.Finitelabisteccaementreilcamerierevistagiservendolaseconda,voilostupitechiedendounpiattod'insalata.Ilcamerierehafattoun'ipotesierrataelaconseguenzachestavoltadoveteattendere60secondiperfarschelacucinapreparilaportata.Questoavvenimentochiamato"cachemiss",nelqualeuncontrollernonhacorrettamenteriempitolacacheconildatodicuiilprocessoreavevabisognopocodopo.Ilrisultatol'attesa,onelcasodelcomputerconilPentium233MHzilpassaggioa16MHzvelocitdellaRAMognivoltacheavvieneun"cachemiss".

  • 12/1/2015 Comefunzionailcomputer:ilprocessoreParte1ComelavoralacachePagina9Tom'sHardware

    http://www.tomshw.it/cont/articolo/comefunzionailcomputerilprocessoreparte1comelavoralacache/51231/9.html 2/2

    SecondoIntellacacheL1nellamaggiorpartedeisuoiprocessoriindovinanel90%deicasi.Questosignificachelacachehaildatoilrisultatocorrettoil90%deltempo,ediconseguenzailprocessoreoperaalmassimodellavelocit(233MHzinquestoesempio)il90%deltempo.Il10%deltempoilcontrollerdellacachesbagliaeildatodeveessererecuperatodallamemoriaprincipalemoltopilenta,ilchesignificacheilprocessoredeveaspettare.QuestoessenzialmenterallentailsistemaallavelocitdellaRAM,cheinquestoesempioera60nso16MHz.Inquestaanalogiailprocessoreera14voltepivelocedellamemoriaprincipale.INDIETROAVANTI

    Tipotrebbeinteressareanche:

    Notiziedalweb

    Cliccaperidettagli