Principio di località temporale e spaziale in informatica

Principio di località temporale e spaziale in informatica

Principio di località temporale e spaziale in informatica

La legge di Amdahl è molto importante anche perchè è un teorema applicabile ad ogni tipo di sistema. Del resto, se consideriamo specificamente i programmi eseguiti da un calcolatore, possiamo trarre ulteriori importanti osservazioni.

La proprietà principale di un programma è la cosiddetta località  del riferimento: essa corrisponde al fatto che i programmi tendono a riutilizzare i dati e le istruzioni che hanno usato di recente. Ad esempio, una regola pratica ormai ampiamente accettata è la cosiddetta regola 90/10: essa afferma che un programma spende il 90% del suo tempo di esecuzione solo per il 10% del  suo  codice. Una immediata implicazione di questo principio è che, basandosi sul “passato recente” del programma, è possibile predire, con ragionevole accuratezza, quali dati ed istruzioni il programma userà nel “prossimo futuro”.

E’ possibile compiere degli studi dettagliati al fine di esaminare il comportamento dei programmi nei riguardi del principio di località del riferimento. Ad esempio, si è trovato che il noto programma Spice (per la simulazione dei circuiti elettrici ed elettronici) presenta le seguenti caratteristiche:

  • meno del 4% delle istruzioni del programma rappresenta l’80% delle istruzioni eseguite dinamicamente durante le simulazioni; a questo 4% di istruzioni si dà il nome di istruzioni statiche;
  • all’interno di tali istruzioni statiche, la percentuale di istruzioni eseguite dinamicamente sale al 90%;
  • sempre tra le istruzioni statiche, meno del 50% viene eseguito almeno una volta ad ogni esecuzione del programma;
  • in generale, rispetto al totale delle istruzioni, solo il 30% di esse viene eseguito una o più volte.

Dati come quelli appena esposti possono servire ad ottimizzare il codice sorgente  di un programma, ottimizzando le istruzioni che hanno la maggiore probabilità di essere eseguite, a scapito di quelle invece meno ricorrenti.

La località dei riferimenti può essere applicata anche all’accesso ai dati, anche  se in modo decisamente meno regolare rispetto all’accesso alle istruzioni. Vanno distinti, in particolare, due differenti tipi di località (località temporale e spaziale):

  • la località temporale afferma che gli elementi ai quali si è fatto riferimento di recente saranno usati ancora nel prossimo futuro;
  • la località spaziale afferma invece che gli elementi i cui indirizzi sono vicini ad un dato indirizzo di riferimento tendono ad essere referenziati in tempi molto

Questi concetti sono alla base dell’uso di particolari unità di memoria ad accesso rapido denominate memorie cache, che consentono di migliorare le prestazioni di una macchina rendendo più velocemente disponibili quei dati che essa vorrà utilizzare con maggiore probabilità.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *