CPU Design: Cache che non ti aspetti

Ogni nerd che si rispetti probabilmente ha sentito per la prima volta la parola “cache” leggendo le caratteristiche di qualche computer sui volantini pubblicitari dei negozi di elettronica. Ma il concetto di cache è molto più ampio. Le cache le usano i browser internet per salvare pagine e dati cui si accede spesso, le usano i software per memorizzare dati temporanei prima di rimetterli su disco, e le usano una volta in più i computer nascondendole dietro l’ancora più fantascientifico nome di “memoria virtuale”. La memoria virtuale è quella cosa, ci hanno spiegato, che permette alla CPU di “vedere” più memoria centrale di quanta effettivamente ce ne sia. In effetti, la stessa identica definizione vale per la cache propriamente detta, che permette alla CPU di vedere più memoria veloce di quanta effettivamente ce ne sia. Oggi vi spiegheremo come sia possibile rendere la memoria centrale una cache del disco fisso.

L’ARTE DI PREPARARSI LA CENA - BACKSTAGE

Quando il nerd si rende conto di avere fame e che è il caso di prepararsi la cena, emerge dalla sua stanza, va in cucina e punta direttamente alla dispensa o al frigorifero, al cui interno sa trovarsi tutto l’occorrente per l’esecuzione dell’algoritmo scelto per quella sera. Il nerd non si preoccupa minimamente di effettivamente riempire dispensa e frigorifero, perché sa che simili incombenze (come pure molte altre, tipo fare il bucato o stirare i vestiti) sono gestite dal sistema operativo della casa, ossia sua madre. Forse il primo sistema operativo è stato inventato da un nerd che voleva demandare ad altri le faccende più ingrate, così da potersi unicamente concentrare sulla creazione ed esecuzione delle proprie applicazioni, questo non possiamo saperlo: fatto sta che, tanto in informatica, quanto in cucina, ci sono cose gestite da altre e di cui (normalmente) non ci si preoccupa.

Il motivo per cui, in informatica, si lascia che certe operazioni vengano eseguite da altri è lo stesso dietro cui si nasconde il nostro nerd: potrebbe essere pericoloso. Chi non sa esattamente cosa sta facendo, potrebbe combinare seri pasticci, e questo naturalmente vale sia per la gestione della memoria che per la stiratura di una camicia. Un programmatore inesperto (o malevolo) potrebbe scrivere del codice che, accedendo alla memoria, pasticci i dati di altri programmi; un nerd al supermercato potrebbe scambiare lo zucchero con il sale. Così si lascia che la memoria venga gestita dal sistema operativo, e la spesa dalla madre.

Ragionate adesso su un fatto. Il tavolo della cucina o lo spazio attorno al piano cottura rappresentano la cache della dispensa, visto che è lì che poggiamo temporaneamente (si spera) tutto quello che ci serve per la preparazione della cena, giusto? Allo stesso modo, la dispensa rappresenta la cache del supermercato, un appoggio temporaneo, più piccolo di quello di partenza, in cui mettiamo tutto ciò che ci servirà per l’elaborazione della nostra ricetta. C’è però una sostanziale differenza tra questi due tipi di cache: il tempo di accesso. Se per portare qualcosa dalla dispensa al tavolo vi basta qualche secondo, per portare qualcosa dal supermercato alla dispensa ci possono volere anche parecchie decine di minuti. Analogamente, se per accedere alla memoria centrale occorre un centinaio di nanosecondi, per accedere al disco fisso ci possono volere anche una decina di millisecondi (Figura 1). Stiamo parlando di cinque ordini di grandezza di differenza. Questo rappresenta un secondo motivo per demandare ad altri il caricamento della dispensa, e il motivo sostanziale per cui la gestione della memoria centrale viene fatta via software mentre quella della cache principale via hardware: che saranno qualche migliaio di istruzioni (diciamo un microsecondo) su 10 millisecondi? [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3412 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici e potrai fare il download in formato PDF eBook e Mobi per un anno. ABBONATI ORA, è semplice e sicuro.

5 Commenti

  1. Andrea Garrapa Andrea Garrapa 12 febbraio 2019
  2. Giordana Francesca Brescia Giordana Francesca Brescia 12 febbraio 2019
  3. Stefano Lovati Stefano Lovati 13 febbraio 2019

Scrivi un commento

Send this to a friend