Gestione della memoria I sistemi di memoria possono

  • Slides: 18
Download presentation
Gestione della memoria • I sistemi di memoria possono essere suddivisi in: – memoria

Gestione della memoria • I sistemi di memoria possono essere suddivisi in: – memoria interna al processore – memoria principale – memoria secondaria Fondamenti di Informatica 1

Memoria interna • Registri interni alla CPU (visibili al programmatore Assembly) • Memorizzano temporaneamente

Memoria interna • Registri interni alla CPU (visibili al programmatore Assembly) • Memorizzano temporaneamente i dati e le istruzioni • Dimensioni: decine di bytes Fondamenti di Informatica 2

Memoria principale • Veloce e di grande capacità • Memorizza dati e istruzioni che

Memoria principale • Veloce e di grande capacità • Memorizza dati e istruzioni che servono per il funzionamento della CPU • La CPU vi accede direttamente • Dimensioni: decine di MBytes Fondamenti di Informatica 3

Memoria secondaria • Di grandi dimensioni e molto più lenta della memoria principale •

Memoria secondaria • Di grandi dimensioni e molto più lenta della memoria principale • Memorizza dati e istruzioni che non sono di immediato interesse per la CPU • Dimensioni: decine di Gigabytes Fondamenti di Informatica 4

Memoria secondaria • Può essere suddivisa in: – memorie in linea (es. dischi magnetici);

Memoria secondaria • Può essere suddivisa in: – memorie in linea (es. dischi magnetici); interesse nell’ambito dei millisecondi … secondi – memorie fuori linea (es. nastri magnetici); interesse nell’ambito dei minuti … anni Fondamenti di Informatica 5

Tecnologie e caratteristiche • Le memorie differiscono per la tecnologia con cui sono realizzate

Tecnologie e caratteristiche • Le memorie differiscono per la tecnologia con cui sono realizzate e per i seguenti parametri: – costo per singolo bit immagazzinato – tempo di accesso (ritardo tra la richiesta del dato e la sua disponibilità al richiedente) – modi di accesso (seriale o casuale) Fondamenti di Informatica 6

Tecnologie delle memorie • Memorie a semiconduttore con tecnologia VLSI (Very Large Scale of

Tecnologie delle memorie • Memorie a semiconduttore con tecnologia VLSI (Very Large Scale of Integration) • Memorie magnetiche (memoria secondaria) • Memorie ottiche (memoria secondaria) Fondamenti di Informatica 7

Il sistema di memoria • La memoria deve essere progettata e gestita in modo

Il sistema di memoria • La memoria deve essere progettata e gestita in modo da ottenere: – capacità di memorizzazione adeguata – prestazioni accettabili – costi ridotti • Il collo di bottiglia della macchina di Von Neumann è la comunicazione tra la CPU e la memoria Fondamenti di Informatica 8

Gerarchie di memoria • La soluzione ottimale per un sistema di memoria è: –

Gerarchie di memoria • La soluzione ottimale per un sistema di memoria è: – costo minimo – capacità massima – tempi di accesso minimi • Soluzione approssimata: gerarchia Fondamenti di Informatica 9

Esempio di gerarchia • Il sistema di memoria di uno studente: – la propria

Esempio di gerarchia • Il sistema di memoria di uno studente: – la propria memoria – borsa – scaffale di casa – libreria o biblioteca di Facoltà – depositi casa editrice Fondamenti di Informatica 10

Località • Un sistema di memoria gerarchico è efficiente se la modalità di accesso

Località • Un sistema di memoria gerarchico è efficiente se la modalità di accesso ai dati ha caratteristiche prevedibili • Principio di località: – Se al tempo t si accede all’indirizzo X, è molto probabile che l’indirizzo X+ΔX sia richiesto fra t e t+Δt Fondamenti di Informatica 11

Località Numero di accessi in intervallo di tempo • Nel breve periodo, gli indirizzi

Località Numero di accessi in intervallo di tempo • Nel breve periodo, gli indirizzi generati da un programma sono confinati in regioni limitate Fondamenti di Informatica Spazio indirizzi 12

Struttura della gerarchia • Memorie M 1 e M 2 (tecnologie diverse) con: –

Struttura della gerarchia • Memorie M 1 e M 2 (tecnologie diverse) con: – costo per bit: c 1 > c 2 – dimensioni: S 1 < S 2 – tempi di accesso: t 1 < t 2 M 1 M 2 Fondamenti di Informatica 13

Gestione della gerarchia • La gestione deve essere automatica e trasparente all’utente • I

Gestione della gerarchia • La gestione deve essere automatica e trasparente all’utente • I dati utilizzati più raramente sono posti in memorie con tempi di accesso più elevato; i dati utilizzati più frequentemente in memorie con prestazioni più elevate Fondamenti di Informatica 14

Gestione della gerarchia • Obiettivi: – mimare una memoria con: • tempi di accesso

Gestione della gerarchia • Obiettivi: – mimare una memoria con: • tempi di accesso della più veloce • le dimensioni della maggiore • i costi della più economica • Criteri: – allocazione dinamica – spostamento automatico dei dati Fondamenti di Informatica 15

Memoria virtuale • Il meccanismo di gestione della gerarchia di memoria si dice Memoria

Memoria virtuale • Il meccanismo di gestione della gerarchia di memoria si dice Memoria Virtuale • La memoria virtuale: – sfrutta efficacemente la gerarchia – rende il programma indipendente dalle dimensioni della memoria della macchina – libera il programmatore dalla gestione dello spazio di memoria fisico Fondamenti di Informatica 16

Sostituzione dati in memoria • Obiettivo: – minimizzare il numero di insuccessi • Politiche:

Sostituzione dati in memoria • Obiettivo: – minimizzare il numero di insuccessi • Politiche: – FIFO: First In First Out – LRU: Least Recently Used Fondamenti di Informatica 17

Esempio di gerarchia CPU Cache L 1 Cache L 2 Memoria Principale Fondamenti di

Esempio di gerarchia CPU Cache L 1 Cache L 2 Memoria Principale Fondamenti di Informatica Memoria Secondaria 18