Galleria mappe mentale Capitolo 3 Sistema di archiviazione
Questa è una mappa mentale sul Capitolo 3 Sistema di archiviazione, inclusa panoramica della memoria, memoria principale, connessione tra memoria principale e CPU, memoria esterna, ecc.
Modificato alle 2024-01-16 15:52:21Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Capitolo 3 Sistema di archiviazione
Sistema di archiviazione
Panoramica della memoria
Classificazione della memoria
Classificazione delle funzioni (livelli).
memoria principale
memoria ausiliaria
memoria cache
Classificazione dei metodi di accesso
Memoria ad accesso casuale (RAM)
Memoria di sola lettura (ROM)
memoria ad accesso seriale
Memoria ad accesso sequenziale (SAM) (come il nastro)
Memoria ad accesso diretto (DAM) (come disco, CD)
classificazione della conservazione delle informazioni
memoria volatile
Memoria non volatile
Indicatori di prestazione della memoria
magazzinaggio
costo unitario
Velocità di archiviazione
Sistema di archiviazione multilivello
L'informazione in ogni livello di memoria è una relazione inclusiva
Livello di memoria principale cache
Risolve principalmente il problema della mancata corrispondenza della velocità della CPU e della memoria principale
Il trasferimento dei dati tra la memoria principale e la cache viene completato automaticamente dall'hardware ed è trasparente a tutti i programmatori.
Strato di memoria principale-memoria ausiliaria
Risolve principalmente il problema della capacità del sistema di storage
Il trasferimento dei dati tra la memoria principale e la memoria ausiliaria viene completato dall'hardware e dal sistema operativo ed è trasparente per il programmatore dell'applicazione.
Nello strato della memoria principale cache e nello strato della memoria principale e della memoria ausiliaria, i contenuti nello strato superiore sono solo copie dei contenuti nello strato successivo, ovvero i contenuti nella cache (o memoria principale) sono solo la memoria principale ( o memoria ausiliaria).
Memorizzazione dei dati nella memoria principale
La memoria principale viene solitamente indirizzata byte per byte. Prendendo come esempio un computer a 32 bit, è possibile accedere alla memoria principale in byte, mezze parole a 16 bit o parole a 32 bit.
Allineamento dei confini dei dati
In teoria è possibile iniziare da qualsiasi indirizzo byte, ma quando una variabile multibyte è distribuita su diverse unità di memorizzazione di parole, l'accesso alla variabile richiede più cicli di memorizzazione.
Il cosiddetto allineamento dei confini significa allineamento dei confini in base alla dimensione del tipo di dati. Le regole specifiche sono le seguenti.
(1) Gli ultimi 3 bit dell'indirizzo byte iniziale dei dati a otto byte sono 000 e l'indirizzo è un multiplo intero di 8. (2) I due bit più bassi dell'indirizzo del byte iniziale dei dati a quattro byte sono 00 e l'indirizzo è un multiplo intero di 4. (3) Il bit più basso dell'indirizzo del byte iniziale dei dati a byte doppio è 0 e l'indirizzo è un multiplo intero di 2. (4) Non esiste alcun problema di allineamento dei confini per i dati a byte singolo (la memoria principale viene indirizzata per byte).
memoria principale
Chip SRAM e chip DRAM
Come funziona la SRAM
L'elemento di memorizzazione utilizza un flip-flop bistabile (MOS a sei transistor)
lettura non distruttiva
Come funziona la DRAM
Utilizzare la carica sul condensatore di gate nel circuito della cella di memoria per archiviare informazioni
Metodo di aggiornamento
Aggiornamento centralizzato
In un ciclo di aggiornamento, viene utilizzato un periodo di tempo fisso per rigenerare tutte le righe della memoria una per una.
Il vantaggio è che le operazioni di lettura e scrittura non sono influenzate dal lavoro di aggiornamento. Lo svantaggio è che non è possibile accedere alla memoria durante il periodo di aggiornamento concentrato (zona morta).
Aggiornamento sparso
Il ciclo di accesso del chip di memoria è di 0,5μs e il ciclo di accesso del sistema è di 1μs.
Il ciclo di lavoro del sistema di una memoria è diviso in due parti: La prima metà viene utilizzata per la normale lettura, scrittura o trattenimento. La seconda metà è per rinfrescare.
Il vantaggio è che non esiste una zona morta. Lo svantaggio è che allunga il ciclo di accesso del sistema e riduce la velocità dell’intera macchina.
Aggiornamento asincrono
L'aggiornamento asincrono è una combinazione dei primi due metodi. Può ridurre il "tempo morto" e sfruttare appieno l'intervallo di aggiornamento massimo di 2 ms.
Dividere il ciclo di aggiornamento per il numero di righe per ottenere l'intervallo di tempo t tra due operazioni di aggiornamento e utilizzare un circuito logico per generare una richiesta di aggiornamento ogni volta t.
Ciò impedisce alla CPU di attendere continuamente per troppo tempo e riduce il numero di aggiornamenti, migliorando sostanzialmente l'efficienza lavorativa dell'intera macchina.
Ciclo di lettura e scrittura del chip DRAM
Confronto tra SRAM e DRAM
Struttura interna del chip di memoria
Banco di memoria (matrice di memoria)
decodificatore di indirizzi
Circuito di controllo I/O
Segnale di controllo selezione chip
Lettura/scrittura dei segnali di controllo
rom
Caratteristiche della memoria di sola lettura (ROM)
Sia la ROM che la RAM supportano la memoria ad accesso casuale.
La struttura è semplice, quindi la densità di bit è superiore a quella della memoria di lettura-scrittura.
Non è volatile e quindi altamente affidabile.
tipo ROM
rom in modalità maschera
Memoria di sola lettura programmabile una sola volta
memoria di sola lettura programmabile e cancellabile
Memoria flash
Unità a stato solido (SSD)
Componenti di base della memoria principale
Memoria multimodulo
Memoria singola multiparola
La struttura di una singola memoria a più parole è esattamente la stessa del metodo di espansione dei bit di memoria. In questo metodo, più moduli di memoria condividono il bus degli indirizzi e accedono alla stessa unità di diversi moduli di memoria in parallelo secondo lo stesso indirizzo, ottenendo così. accesso a più memorie nello stesso ciclo di memoria, se m moduli di memoria funzionano contemporaneamente, la larghezza di banda della memoria principale può essere aumentata di m volte.
La tecnologia di memoria multicanale più comune attualmente utilizzata nei computer è la tecnologia multiparola a corpo singolo.
Leggere m parole in parallelo alla volta (anche la larghezza del bus è di m parole).
In un ciclo di accesso, m istruzioni vengono prelevate dallo stesso indirizzo, quindi le istruzioni vengono inviate alla CPU per l'esecuzione una per una. Cioè, ogni 1/m ciclo di accesso, la CPU preleva un'istruzione dalla memoria principale.
Svantaggi: le istruzioni e i dati devono essere memorizzati continuamente nella memoria principale. Una volta incontrata un'istruzione di trasferimento, oppure gli operandi non possono essere memorizzati continuamente, l'effetto di questo metodo non è ovvio.
memoria parallela multicorpo
Indirizzamento interleaved di ordine superiore (modalità sequenziale)
Lo scopo principale è espandere la capacità della memoria, che è esattamente la stessa dell'espansione delle parole di memoria.
Indirizzamento interleaved di ordine inferiore (modalità interleave)
L'indirizzo più basso nello stesso corpo è lo stesso
Collegamento dalla memoria principale alla CPU
Principio di connessione
Espansione della capacità della memoria principale
metodo di estensione dei bit
metodo di espansione delle parole
espansione simultanea del grafema
Allocazione degli indirizzi e selezione dei chip di memoria
Metodo di selezione della linea
Il metodo di selezione della linea utilizza linee di indirizzo di ordine superiore diverse dall'indirizzamento su chip per essere collegate direttamente (o tramite inverter) ai terminali di selezione del chip di ciascun chip di memoria. Quando l'informazione di una determinata linea di indirizzo è "0", il corrispondente la riga dell'indirizzo è selezionata.
Svantaggi: lo spazio degli indirizzi non è continuo.
metodo di selezione del chip di decodifica
Otto chip di memoria da 8Kx8 bit vengono utilizzati per formare una memoria da 64Kx8 bit (la linea dell'indirizzo è di 16 bit e la linea dei dati è di 8 bit), che richiede 8 segnali di selezione del chip.
Se viene utilizzato il metodo di selezione della linea, ad eccezione della linea di indirizzo a 13 bit per l'indirizzamento su chip, rimangono solo i 3 bit superiori, il che non è sufficiente per generare 8 segnali di selezione del chip.
Connessione dalla memoria alla CPU
Selezione ragionevole di chip di memoria
Connessione alla linea dell'indirizzo
Il numero di linee di indirizzo della CPU è spesso maggiore del numero di linee di indirizzo del chip di memoria. Di solito il bit basso della linea dell'indirizzo della CPU è collegato alla linea dell'indirizzo del chip di memoria. Puoi aspettare.
Collegamento cavo dati
Se diverso, il chip di memoria deve essere espanso in modo che il numero di bit di dati sia uguale al numero di linee dati della CPU. Deve essere uguale.
Lettura/scrittura delle connessioni della riga di comando
Connessione alla linea di selezione del chip
Il segnale valido per la selezione del chip è correlato al segnale di controllo dell'accesso alla memoria della CPU MREO (livello basso attivo).
Se la CPU accede all'I/O, MREO è alto, indicando che il lavoro di memoria non è richiesto.
Le linee di controllo del chip SRAM includono segnali di selezione del chip e linee di controllo di lettura e scrittura.
La DRAM non dispone di una linea di controllo della selezione del chip. Quando si espande la capacità, è possibile utilizzare RAS e CAS per controllare la selezione del chip.
memoria esterna
archiviazione su disco
Componenti del dispositivo disco
Composizione di archiviazione su disco rigido
Unità disco
L'unità disco è anche chiamata macchina a disco. La sua funzione principale è quella di utilizzare segnali elettrici per azionare il piatto del disco per completare le operazioni magnetiche. È costituito da tre parti: azionamento del mandrino, azionamento di posizionamento e controllo dei dati.
controller del disco
La funzione principale è ricevere operazioni sul disco dall'host, implementare il controllo dell'unità e implementare il controllo di lettura/scrittura. L'hardware è composto principalmente da interfaccia host, circuito di controllo dell'interfaccia del dispositivo, buffer dati, circuito di controllo dati, circuito di separazione dati, ecc.
piatto
La funzione principale è memorizzare i dati. I dischi rigidi solitamente hanno più piatti, tutti fissati sul mandrino. Usano tutti una rotazione uniforme durante il funzionamento, quindi la densità di registrazione della traccia interna è superiore alla densità di registrazione della traccia esterna.
deposito
Teste
Cilindri
Settori
Principi di registrazione magnetica
Le operazioni di lettura/scrittura vengono completate tramite la conversione elettromagnetica.
Indicatori di prestazioni del disco
densità di registrazione
capacità del disco
tempo medio di accesso
Il tempo medio di accesso è composto da tre parti: tempo di ricerca (il tempo impiegato dalla testina magnetica per spostarsi sulla traccia di destinazione), tempo di ritardo della rotazione (il tempo impiegato dalla testina magnetica per posizionare il settore da leggere e scrivere). e tempo di trasmissione (il tempo necessario per trasmettere i dati). Poiché la distanza tra i settori di ricerca e di ricerca varia, il tempo di ricerca e il tempo di ritardo della rotazione vengono generalmente calcolati in media. (L'esame reale a volte fornisce anche la latenza del controller del disco.)
velocità di trasferimento dati
indirizzo del disco
Il processo di lavoro del disco rigido
indirizzamento
Leggi il disco
scrivere il disco
Array di dischi
Organizza più dischi che operano in modo indipendente in un array in un certo modo e utilizza la tecnologia di blocco dei dati per scaglionare e archiviare i dati su dischi diversi in modo che possano funzionare in parallelo per migliorare la velocità di accesso.
RAID migliora le velocità di trasferimento utilizzando più dischi contemporaneamente
Aumenta notevolmente il throughput dei dati del sistema di storage parallelizzando l'accesso su più dischi
Non solo espande la capacità di archiviazione, ma migliora anche la velocità di accesso ai dati del disco
Archiviazione incrociata, accesso parallelo
Migliorare l'affidabilità
Migliora la sicurezza e l'affidabilità attraverso la funzione di mirroring
Fornire tolleranza agli errori attraverso la verifica dei dati
SSD
composizione
Uno o più chip di memoria flash (simili: unità disco)
Livello di traduzione flash (simile: il controller del disco traduce le richieste di lettura e scrittura di blocchi logici dalla CPU in segnali di controllo di lettura e scrittura per il dispositivo fisico sottostante)
I dati vengono letti e scritti in unità di pagina.
È possibile scrivere su una pagina solo dopo che è stato cancellato l'intero blocco a cui appartiene.
Tuttavia, una volta cancellato un blocco, ciascuna pagina del blocco può essere riscritta direttamente.
Le scritture casuali sono lente per due motivi
I blocchi di cancellazione sono più lenti.
Se un'operazione di scrittura tenta di modificare una pagina P che contiene dati esistenti, tutte le pagine contenenti dati utili in questo blocco devono essere copiate in un nuovo blocco (cancellato) prima che possa avvenire la scrittura sulla pagina P.
Vantaggi e svantaggi
vantaggio
L'accesso casuale è molto più veloce dei dischi meccanici
Nessun rumore meccanico o vibrazione
Minore consumo energetico
Buona resistenza ai terremoti
Alta sicurezza
discordanza
facile da indossare
memoria cache
Il principio di località dell’accesso al programma
località temporale
Le informazioni che verranno utilizzate nel prossimo futuro saranno probabilmente le informazioni che vengono utilizzate ora, perché ci sono dei loop nel programma.
Specifico per gli elementi dell'array, se si accede all'elemento dell'array solo una volta, non deve esserci alcuna località temporale.
località spaziale
È probabile che le informazioni da utilizzare nel prossimo futuro siano adiacenti nello spazio di archiviazione alle informazioni utilizzate ora, poiché le istruzioni vengono solitamente archiviate ed eseguite in sequenza e i dati vengono generalmente archiviati in cluster sotto forma di vettori, array, ecc. insieme.
Il principio di funzionamento di base di Cache
Sia la cache che la memoria principale sono divise in blocchi di uguali dimensioni. Il numero di blocchi nella cache è molto inferiore al numero di blocchi nella memoria principale. Nella memoria principale vengono salvate solo copie dei blocchi più attivi.
Lo scambio di dati tra CPU e Cache avviene in unità di parole, mentre lo scambio di dati tra Cache e memoria principale avviene in blocchi di Cache.
Quando la CPU invia una richiesta di lettura
Se l'indirizzo di accesso alla memoria viene raggiunto nella cache, l'indirizzo viene convertito nell'indirizzo della cache e l'operazione di lettura viene eseguita direttamente nella cache, indipendentemente dalla memoria principale.
Se la cache fallisce, è comunque necessario accedere alla memoria principale e il blocco in cui si trova la parola viene trasferito contemporaneamente dalla memoria principale alla cache.
Se in questo momento la cache è piena, questo blocco deve essere utilizzato per sostituire il blocco originale di informazioni nella cache secondo un determinato algoritmo di sostituzione.
Alla fine si accede alla cache
Quando la CPU invia una richiesta di scrittura
Se la cache funziona, deve essere elaborata secondo una determinata strategia di scrittura. I metodi di elaborazione comuni includono la scrittura completa e la riscrittura.
In caso di mancanza, il metodo di allocazione in scrittura scrive i dati nella cache e il metodo di allocazione senza scrittura riscrive direttamente i dati nella memoria principale.
Metodo di mappatura della cache e della memoria principale
mappatura diretta
Numero di riga della cache = numero del blocco di memoria principale mod numero totale di righe della cache
mappatura completamente associativa
qualsiasi posizione
Utilizza i comparatori G per confrontare tutte le linee Cache contemporaneamente.
impostare la mappatura associativa
Numero del gruppo di cache = numero del blocco di memoria principale mod Numero del gruppo di cache (Q)
Connessione di gruppo bidirezionale
Ogni riga della cache corrisponde a una voce contrassegnata
Compresi bit valido, bit tag, bit di mantenimento della coerenza, bit di controllo dell'algoritmo di sostituzione
Strategia di scrittura nella cache
Per la cache, colpo di scrittura (colpo di scrittura)
Metodo di scrittura completo (metodo write-through, write-through)
Quando viene eseguita una scrittura nella cache, lo stesso blocco di dati nella cache e nella memoria principale viene modificato contemporaneamente.
Lo svantaggio del metodo write-through è che la cache non ha alcuna funzione di buffering per le operazioni di scrittura della CPU, il che riduce l'efficienza della cache.
rispondere
Ogni riga della cache imposta un bit di modifica (bit sporco).
Questa strategia fa sì che la cache agisca come cache sia per le operazioni di lettura che per quelle di scrittura.
Per Cache scrivi signorina
Scrittura-allocazione (scrittura-allocazione)
Carica il blocco nella memoria principale nella cache, quindi aggiorna il blocco della cache.
Non allocazione in scrittura (non allocazione in scrittura)
Scrive solo nella memoria principale, non viene eseguita alcuna regolazione del blocco.
memoria virtuale
Concetti base di memoria virtuale
La memoria virtuale indirizza in modo uniforme lo spazio degli indirizzi della memoria principale o della memoria ausiliaria per formare un enorme spazio degli indirizzi. In questo spazio, gli utenti possono programmare liberamente senza preoccuparsi dell'effettiva capacità della memoria principale e dell'effettiva posizione di archiviazione del programma nella memoria principale.
La memoria principale e la memoria ausiliaria costituiscono insieme la memoria virtuale ed entrambe funzionano sotto la gestione congiunta di hardware e software di sistema.
Tipica struttura organizzativa della memoria virtuale
indirizzo virtuale (indirizzo virtuale)
Numero di pagina della memoria virtuale Indirizzo della parola di pagina
Indirizzo fisico della memoria principale (indirizzo reale)
Numero di pagina della memoria principale Indirizzo della parola di pagina
La CPU accede alla memoria principale con un indirizzo virtuale, utilizza l'unità di controllo di gestione della memoria MMU (Memory Management Unit) per trovare la corrispondenza tra l'indirizzo virtuale e l'indirizzo fisico e determina se il contenuto corrispondente all'indirizzo virtuale è già presente nella memoria principale.
Indirizzo di archiviazione su disco (indirizzo del disco o indirizzo di archiviazione ausiliaria)
Numero del disco Numero del disco Numero della traccia Numero del settore
Come funziona la memoria virtuale
La conversione dell'indirizzo dalla memoria virtuale alla memoria principale deve essere completata dalla MMU. Quando la conversione fallisce, viene generato un segnale di eccezione, attivando l'esecuzione del gestore delle eccezioni di pagina mancante per completare il lavoro rimanente e rieseguendo l'istruzione. ha generato l'eccezione della pagina mancante per garantire che il programma venga eseguito correttamente.
Alla fine, i dati vengono ottenuti dalla memoria principale e la CPU non può accedere direttamente alla memoria ausiliaria.
Memoria virtuale paginata
Nella maggior parte dei sistemi è presente una tabella delle pagine per ciascun processo.
tabella delle pagine
Diagramma della struttura logica della tabella delle pagine
Sia la memoria principale che il disco sono divisi in pagine di dimensione fissa
Il disco è diviso in partizione di swap e partizione dati
La partizione di swap viene utilizzata per archiviare i dati modificati dinamicamente scambiati dalle pagine della memoria principale.
La partizione dati viene utilizzata per memorizzare programmi e dati utente
La memoria principale e lo spazio su disco vengono combinati per formare lo spazio degli indirizzi virtuali.
Processo di accesso alla memoria virtuale della pagina
Quando viene raggiunta una pagina, i passaggi eseguiti dall'hardware della CPU
Il processore genera un indirizzo virtuale e lo passa alla MMU.
La MMU utilizza il registro dell'indirizzo base della tabella delle pagine PTBR e il numero di pagina virtuale per generare l'indirizzo di ingresso della tabella delle pagine PTEA, accede alla tabella delle pagine memorizzata nella cache/memoria principale e richiede la voce della tabella delle pagine corrispondente al numero di pagina virtuale.
La memoria cache/principale restituisce le voci della tabella delle pagine alla MMU per formare l'indirizzo fisico delle informazioni a cui si accede.
Se il bit valido nella voce della tabella delle pagine restituita è 1, la MMU utilizza la voce della tabella delle pagine restituita per costruire l'indirizzo fisico PA e utilizza l'indirizzo fisico costruito PA per accedere alla memoria cache/principale.
la cache/memoria principale restituisce i dati richiesti al processore.
Il processo di gestione degli errori di pagina è il seguente:
Il processore genera un indirizzo virtuale e lo passa alla MMU.
La MMU utilizza il registro dell'indirizzo base della tabella delle pagine PTBR e il numero di pagina virtuale per generare l'indirizzo di ingresso della tabella delle pagine PTEA, accede alla tabella delle pagine memorizzata nella cache/memoria principale e richiede la voce della tabella delle pagine corrispondente al numero di pagina virtuale.
la memoria cache/principale restituisce le voci della tabella delle pagine alla MMU per formare l'indirizzo fisico PA delle informazioni a cui si accede.
Se il bit valido nella voce della tabella delle pagine è 0, indica che la pagina a cui si accede non è nella memoria principale e la MMU attiva un'eccezione e chiama il gestore delle eccezioni di errore di pagina nel kernel del sistema operativo.
Se la pagina della memoria principale è piena, la pagina deve essere sostituita in base all'algoritmo di sostituzione. Se il bit di modifica della pagina è 1, la pagina viene scambiata su disco, altrimenti viene scartata direttamente.
Il gestore degli errori di pagina carica una nuova pagina dal disco e aggiorna la voce PTE della tabella delle pagine in memoria.
Il gestore degli errori di pagina ritorna al processo originale, forzando il riavvio dell'istruzione che ha causato l'errore di pagina. Non si verificheranno errori di pagina in questa esecuzione.
Processo di accesso alla memoria virtuale combinato con la cache
La MMU genera un indirizzo di ingresso della tabella delle pagine per accedere alla cache in base all'indirizzo virtuale VA inviato dal processore.
Se la voce PTE della tabella delle pagine colpisce, la voce della tabella delle pagine viene restituita direttamente e viene generato un indirizzo fisico per accedere alla memoria principale.
Se manca la voce PTE della tabella delle pagine, il blocco della tabella delle pagine in cui si trova la voce della tabella delle pagine deve essere pianificato dalla memoria principale alla cache.
Potrebbero inoltre verificarsi problemi di mancanza di cache quando si utilizza PA per l'accesso ai dati.
Tabella veloce (TLB)
In un sistema di archiviazione virtuale paginato che contiene tabelle veloci e tabelle lente, quando si esegue la traduzione degli indirizzi, le tabelle veloci e le tabelle lente vengono spesso cercate contemporaneamente.
Accedi alla tabella veloce per contenuto e accedi alla tabella delle pagine per indirizzo
Processo di accesso al successo TLB
Il processore genera l'indirizzo virtuale e lo passa alla MMU.
La MMU utilizza il numero di pagina virtuale VPN per interrogare il TLB.
Se l'accesso al TLB va a buon fine (la voce della tabella delle pagine è nel TLB e il bit valido nel PTE corrispondente è 1), il TLB restituisce alla MMU il numero di pagina fisica corrispondente al numero di pagina virtuale.
MMU utilizza la voce della tabella delle pagine restituita (numero di pagina fisica in) per costruire l'indirizzo fisico PA e utilizza PA per accedere alla cache/memoria principale.
la cache/memoria principale restituisce i dati richiesti dalla CPU al processore.
Elabora quando TLB fallisce (presupponendo l'accesso agli hit della memoria principale)
Il processore genera un indirizzo virtuale e lo passa alla MMU.
La MMU utilizza il numero di pagina virtuale VPN per interrogare il TLB.
Se l'accesso TLB fallisce, le informazioni sul mancato accesso TLB vengono restituite alla MMU.
La MMU utilizza il registro dell'indirizzo base della tabella delle pagine PTBR e il numero di pagina virtuale per generare l'indirizzo di ingresso della tabella delle pagine PETA, accede alla tabella delle pagine archiviata nella cache/memoria principale e richiede il contenuto della voce della tabella delle pagine corrispondente al numero di pagina virtuale.
La memoria cache/principale restituisce la voce della tabella delle pagine PTE alla MMU per formare l'indirizzo fisico PA delle informazioni a cui si accede.
Se il bit valido nella voce PTE della tabella delle pagine restituita è 1, la tabella TLB deve essere aggiornata e il PTE restituito viene utilizzato per costruire l'indirizzo fisico PA e l'indirizzo fisico costruito PA viene utilizzato per accedere alla cache/memoria principale .
la cache/memoria principale restituisce i dati richiesti al processore.
Sistema di storage multilivello con TLB e Cache
TLB mancante: la voce della tabella delle pagine della pagina a cui accedere non è nel TLB
Pagina mancante: la pagina a cui accedere non è nella memoria principale (il bit valido della voce corrispondente della tabella delle pagine è 0). Elaborazione dell'errore di pagina corrispondente: caricamento della pagina, aggiornamento TLB, comando di riavvio dell'errore di pagina
Cache mancante: il blocco della memoria principale a cui accedere non è nella cache. Elaborazione mancante nella cache corrispondente: trasferimento dalla memoria e rivisitazione della cache
Memoria virtuale segmentata
Ogni programma imposta una tabella di segmenti.
Di solito, i programmatori dividono diversi tipi di dati come subroutine, operandi e costanti in segmenti diversi e ogni programma può avere più segmenti dello stesso tipo.
La voce della tabella dei segmenti contiene almeno i seguenti tre campi:
Il bit valido indica se il segmento è stato caricato nella memoria reale.
L'indirizzo iniziale del segmento indica il primo indirizzo del segmento nella memoria reale quando il segmento è stato trasferito nella memoria reale.
La lunghezza del segmento registra la lunghezza effettiva del segmento.
traduzione dell'indirizzo
3 tipi di situazioni anomale
Segmento mancante (segmento non esiste): posizione installata = 0.
Indirizzo fuori limite: l'offset supera la lunghezza massima del segmento.
Violazione della protezione, il metodo operativo non è coerente con i diritti di accesso specificati.
Memoria virtuale segmentata
Ogni programma esegue il riposizionamento a due livelli tramite una tabella di segmenti e tabelle di più pagine.
Ogni voce nella tabella dei segmenti corrisponde a un segmento e ogni voce ha un puntatore che punta alla tabella delle pagine del segmento.
Un indirizzo virtuale può essere visualizzato come composto da quattro campi
Una tabella di segmenti e un insieme di tabelle di pagine vengono utilizzate per indicare la posizione di tutte le pagine nella memoria virtuale nella memoria principale.
(Sistema multitasking) Processo di conversione degli indirizzi della memoria virtuale della pagina segmentata Ogni programma corrisponde a una tabella di segmenti e ogni segmento corrisponde a una tabella di pagine (ci sono ambiguità semantiche, fare riferimento all'immagine).
Confronto tra memoria virtuale e Cache
Analogie
Esistono problemi come la mappatura degli indirizzi, l'algoritmo di sostituzione e la strategia di aggiornamento.
la differenza
La cache si occupa principalmente della velocità del sistema, mentre la memoria virtuale si occupa della capacità della memoria principale.
La cache è interamente implementata nell'hardware ed è una memoria hardware trasparente a tutti i programmatori. La memoria virtuale è implementata congiuntamente dal sistema operativo e dall'hardware. È una memoria logica opaca per i programmatori di sistema ma trasparente per i programmatori di applicazioni.