Mindmap-Galerie Kapitel 3 Speichersystem
Dies ist eine Mindmap zu Kapitel 3 Speichersystem, einschließlich Speicherübersicht, Hauptspeicher, Verbindung zwischen Hauptspeicher und CPU, externem Speicher usw.
Bearbeitet um 2024-01-16 15:52:21Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Kapitel 3 Speichersystem
Speichersystem
Speicherübersicht
Klassifizierung des Gedächtnisses
Funktions-(Ebenen-)Klassifizierung
Haupterinnerung
Hilfsspeicher
Cache-Speicher
Klassifizierung der Zugriffsmethode
Direktzugriffsspeicher (RAM)
Nur-Lese-Speicher (ROM)
Speicher mit seriellem Zugriff
Sequential Access Memory (SAM) (z. B. Klebeband)
Direktzugriffsspeicher (DAM) (z. B. Diskette, CD)
Klassifizierung der Informationsbewahrung
flüchtiger Speicher
nichtflüchtiger Speicher
Speicherleistungsindikatoren
Lagerung
Kosten pro Einheit
Speichergeschwindigkeit
Mehrstufiges Lagersystem
Die Informationen in jeder Speicherebene sind eine umfassende Beziehung
Cache-Hauptspeicherschicht
Löst hauptsächlich das Problem der Nichtübereinstimmung der CPU- und Hauptspeichergeschwindigkeit
Der Datentransfer zwischen Hauptspeicher und Cache erfolgt automatisch durch die Hardware und ist für alle Programmierer transparent.
Hauptspeicher-Hilfsspeicherschicht
Löst hauptsächlich das Kapazitätsproblem des Speichersystems
Die Datenübertragung zwischen Hauptspeicher und Hilfsspeicher erfolgt durch die Hardware und das Betriebssystem und ist für den Anwendungsprogrammierer transparent.
In der Cache-Hauptspeicherschicht und der Hauptspeicher- und Hilfsspeicherschicht sind die Inhalte in der oberen Schicht nur Kopien der Inhalte in der nächsten Schicht, d. h. die Inhalte im Cache (oder Hauptspeicher) sind nur Hauptspeicher ( oder Hilfsspeicher).
Speicherung von Daten im Hauptspeicher
Der Hauptspeicher wird üblicherweise byteweise angesprochen. Am Beispiel eines 32-Bit-Computers kann auf den Hauptspeicher in Bytes, 16-Bit-Halbwörtern oder 32-Bit-Wörtern zugegriffen werden.
Ausrichtung der Datengrenzen
Theoretisch ist es möglich, von einer beliebigen Byte-Adresse aus zu beginnen, aber wenn eine Multibyte-Variable über verschiedene Wortspeichereinheiten verteilt ist, erfordert der Zugriff auf die Variable mehrere Speicherzyklen.
Die sogenannte Grenzausrichtung bedeutet Grenzausrichtung entsprechend der Größe des Datentyps. Die spezifischen Regeln lauten wie folgt.
(1) Die letzten 3 Bits der Startbyte-Adresse von Acht-Byte-Daten sind 000, und die Adresse ist ein ganzzahliges Vielfaches von 8. (2) Die niedrigsten beiden Bits der Startbyte-Adresse von Vier-Byte-Daten sind 00, und die Adresse ist ein ganzzahliges Vielfaches von 4. (3) Das niedrigste Bit der Startbyte-Adresse von Doppelbyte-Daten ist 0 und die Adresse ist ein ganzzahliges Vielfaches von 2. (4) Für Einzelbyte-Daten gibt es kein Grenzausrichtungsproblem (der Hauptspeicher wird byteweise adressiert).
Haupterinnerung
SRAM-Chips und DRAM-Chips
So funktioniert SRAM
Das Speicherelement verwendet ein bistabiles Flip-Flop (MOS mit sechs Transistoren).
zerstörungsfreies Auslesen
Wie DRAM funktioniert
Nutzen Sie die Ladung des Gate-Kondensators im Speicherzellenschaltkreis zum Speichern von Informationen
Aktualisierungsmethode
Zentralisierte Aktualisierung
In einem Aktualisierungszyklus wird ein fester Zeitraum verwendet, um alle Zeilen des Speichers nacheinander neu zu generieren.
Der Vorteil besteht darin, dass Lese- und Schreibvorgänge nicht durch Aktualisierungsarbeiten beeinträchtigt werden. Der Nachteil besteht darin, dass während der konzentrierten Aktualisierungsperiode (Totzone) nicht auf den Speicher zugegriffen werden kann.
Vereinzelte Aktualisierung
Der Zugriffszyklus des Speicherchips beträgt 0,5 μs und der Zugriffszyklus des Systems beträgt 1 μs.
Der Systemarbeitszyklus eines Speichers gliedert sich in zwei Teile: Die erste Hälfte dient dem normalen Lesen, Schreiben oder Halten. Die zweite Hälfte dient der Auffrischung.
Der Vorteil besteht darin, dass es keine Totzone gibt. Der Nachteil besteht darin, dass der Zugriffszyklus des Systems verlängert und die Geschwindigkeit der gesamten Maschine verringert wird.
Asynchrone Aktualisierung
Die asynchrone Aktualisierung ist eine Kombination der ersten beiden Methoden. Sie kann die „Totzeit“ verkürzen und das maximale Aktualisierungsintervall von 2 ms voll ausnutzen.
Teilen Sie den Aktualisierungszyklus durch die Anzahl der Zeilen, um das Zeitintervall t zwischen zwei Aktualisierungsvorgängen zu erhalten, und verwenden Sie eine Logikschaltung, um jedes Mal t eine Aktualisierungsanforderung zu generieren.
Dies verhindert, dass die CPU zu lange wartet und reduziert die Anzahl der Aktualisierungen, was die Arbeitseffizienz der gesamten Maschine grundlegend verbessert.
Lese- und Schreibzyklus des DRAM-Chips
Vergleich von SRAM und DRAM
Interne Struktur des Speicherchips
Speicherbank (Speichermatrix)
Adressdecoder
I/O-Steuerkreis
Chipauswahl-Steuersignal
Steuersignale lesen/schreiben
Rom
Eigenschaften des Nur-Lese-Speichers (ROM)
Sowohl ROM als auch RAM unterstützen Direktzugriffsspeicher.
Der Aufbau ist einfach, daher ist die Bitdichte höher als bei Lese-/Schreibspeichern.
Es ist nichtflüchtig und daher äußerst zuverlässig.
ROM-Typ
Maskenmodus rom
Einmalig programmierbarer Nur-Lese-Speicher
Löschbarer programmierbarer schreibgeschützter Speicher
Flash-Speicher
Solid-State-Laufwerke (SSD)
Grundbestandteile des Hauptspeichers
Multimodulspeicher
Einzelner Mehrwortspeicher
Die Struktur eines einzelnen Mehrwortspeichers ist genau die gleiche wie bei der Speicherbiterweiterungsmethode. Bei dieser Methode teilen sich mehrere Speichermodule den Adressbus und greifen entsprechend derselben Adresse parallel auf dieselbe Einheit verschiedener Speichermodule zu, wodurch Folgendes erreicht wird Zugriff auf mehrere Speicher im selben Speicherzyklus. Wenn m Speichermodule gleichzeitig arbeiten, kann die Hauptspeicherbandbreite um das m-fache erhöht werden.
Die derzeit am häufigsten in Computern verwendete Mehrkanal-Speichertechnologie ist die Single-Body-Multi-Word-Technologie.
Lesen Sie m Wörter gleichzeitig parallel aus (die Busbreite beträgt ebenfalls m Wörter).
In einem Zugriffszyklus werden m Anweisungen von derselben Adresse abgerufen und dann nacheinander zur Ausführung an die CPU gesendet. Das heißt, alle 1/m Zugriffszyklus ruft die CPU eine Anweisung aus dem Hauptspeicher ab.
Nachteile: Anweisungen und Daten müssen kontinuierlich im Hauptspeicher gespeichert werden. Sobald eine Übertragungsanweisung auftritt oder die Operanden nicht kontinuierlich gespeichert werden können, ist die Auswirkung dieser Methode nicht offensichtlich.
Mehrkörper-Parallelspeicher
Verschachtelte Adressierung höherer Ordnung (sequentieller Modus)
Der Hauptzweck besteht darin, die Speicherkapazität zu erweitern, was genau der Erweiterung des Speicherworts entspricht.
Interleaved-Adressierung niedriger Ordnung (Interleave-Modus)
Die niedrigste Adresse im selben Körper ist dieselbe
Verbindung zwischen Hauptspeicher und CPU
Verbindungsprinzip
Erweiterung der Hauptspeicherkapazität
Biterweiterungsmethode
Worterweiterungsmethode
gleichzeitige Graphemexpansion
Adressvergabe und Chipauswahl von Speicherchips
Methode zur Linienauswahl
Bei der Leitungsauswahlmethode werden andere Adressleitungen höherer Ordnung als die On-Chip-Adressierung direkt (oder über Inverter) mit den Chipauswahlanschlüssen jedes Speicherchips verbunden. Wenn die Informationen einer bestimmten Adressleitung „0“ sind, ist die entsprechende Adresszeile ist ausgewählt.
Nachteile: Der Adressraum ist nicht kontinuierlich.
Methode zur Auswahl des Decodierungschips
Acht 8Kx8-Bit-Speicherchips werden verwendet, um einen 64Kx8-Bit-Speicher zu bilden (die Adressleitung besteht aus 16 Bit und die Datenleitung besteht aus 8 Bit), was 8 Chipauswahlsignale erfordert.
Wenn die Leitungsauswahlmethode verwendet wird, bleiben mit Ausnahme der 13-Bit-Adressleitung für die On-Chip-Adressierung nur die oberen 3 Bits übrig, was nicht ausreicht, um 8 Chipauswahlsignale zu erzeugen.
Verbindung zwischen Speicher und CPU
Angemessene Auswahl an Speicherchips
Adressleitungsverbindung
Die Anzahl der Adressleitungen der CPU ist häufig größer als die Anzahl der Adressleitungen des Speicherchips. Normalerweise ist das niedrige Bit der CPU-Adressleitung mit der Adressleitung des Speicherchips verbunden. Du kannst warten.
Datenkabelanschluss
Bei Ungleichheit muss der Speicherchip so erweitert werden, dass die Anzahl der Datenbits der Anzahl der Datenleitungen der CPU entspricht. Muss gleich sein.
Befehlszeilenverbindungen zum Lesen/Schreiben
Chip-Select-Leitungsverbindung
Das Chipauswahl-Gültigkeitssignal hängt mit dem Speicherzugriffskontrollsignal MREO (aktiver niedriger Pegel) der CPU zusammen.
Wenn die CPU auf E/A zugreift, ist MREO hoch, was darauf hinweist, dass keine Speicherarbeit erforderlich ist.
Die Steuerleitungen des SRAM-Chips umfassen Chipauswahlsignale sowie Lese- und Schreibsteuerleitungen.
DRAM verfügt nicht über eine Chipauswahl-Steuerleitung. Bei der Kapazitätserweiterung können RAS und CAS zur Steuerung der Chipauswahl verwendet werden.
Externer Speicher
Festplattenspeicher
Komponenten des Festplattengeräts
Zusammensetzung des Festplattenspeichers
Diskettenlaufwerk
Das Plattenlaufwerk wird auch als Plattenmaschine bezeichnet. Seine Hauptfunktion besteht darin, den Plattenteller mithilfe elektrischer Signale anzutreiben, um magnetische Vorgänge durchzuführen. Es besteht aus drei Teilen: Spindelantrieb, Positionierungsantrieb und Datensteuerung.
Festplattencontroller
Die Hauptfunktion besteht darin, Festplattenoperationen vom Host zu empfangen, die Laufwerkssteuerung zu implementieren und die Lese-/Schreibsteuerung zu implementieren. Die Hardware besteht hauptsächlich aus Host-Schnittstelle, Geräteschnittstellen-Steuerschaltung, Datenpuffer, Datensteuerschaltung, Datentrennungsschaltung usw.
Teller
Die Hauptfunktion besteht darin, Daten zu speichern. Festplatten verfügen normalerweise über mehrere Platten, die alle auf der Spindel befestigt sind. Sie alle verwenden während des Betriebs eine gleichmäßige Rotation, sodass die Aufzeichnungsdichte der inneren Spur höher ist als die Aufzeichnungsdichte der äußeren Spur.
Lagerfläche
Köpfe
Zylinder
Sektoren
Prinzipien der magnetischen Aufzeichnung
Lese-/Schreibvorgänge werden durch elektromagnetische Umwandlung durchgeführt.
Festplattenleistungsindikatoren
Aufnahmedichte
Festplattenkapazität
durchschnittliche Zugriffszeit
Die durchschnittliche Zugriffszeit besteht aus drei Teilen: Suchzeit (die Zeit, die der Magnetkopf benötigt, um sich zur Zielspur zu bewegen), Rotationsverzögerungszeit (die Zeit, die der Magnetkopf benötigt, um den zu lesenden und zu schreibenden Sektor zu positionieren). und Übertragungszeit (die Zeit, die zum Übertragen von Daten benötigt wird). Da die Entfernung zwischen suchenden und findenden Sektoren unterschiedlich ist, werden die Suchzeit und die Rotationsverzögerungszeit normalerweise gemittelt. (Die eigentliche Prüfung gibt manchmal auch die Latenz des Festplattencontrollers an.)
Datenübertragungsrate
Festplattenadresse
Der Arbeitsprozess der Festplatte
Adressierung
Diskette lesen
Festplatte schreiben
Disk-Array
Organisieren Sie mehrere unabhängig arbeitende Festplatten auf eine bestimmte Weise in einem Array und nutzen Sie die Datenblockierungstechnologie, um Daten auf verschiedenen Festplatten zu gestaffeln und zu speichern, sodass sie parallel arbeiten können, um die Zugriffsgeschwindigkeit zu verbessern.
RAID verbessert die Übertragungsraten durch die gleichzeitige Verwendung mehrerer Festplatten
Erhöhen Sie den Datendurchsatz des Speichersystems erheblich, indem Sie den Zugriff über mehrere Festplatten hinweg parallelisieren
Erweitert nicht nur die Speicherkapazität, sondern verbessert auch die Zugriffsgeschwindigkeit auf Festplattendaten
Cross-Storage, paralleler Zugriff
Verbessern Sie die Zuverlässigkeit
Verbessern Sie die Sicherheit und Zuverlässigkeit durch die Spiegelungsfunktion
Sorgen Sie für Fehlertoleranz durch Datenüberprüfung
SSD
Komposition
Ein oder mehrere Flash-Speicherchips (ähnlich: Festplattenlaufwerk)
Flash-Übersetzungsschicht (ähnlich: Festplattencontroller übersetzt Lese- und Schreibanforderungen logischer Blöcke von der CPU in Lese- und Schreibsteuersignale für das zugrunde liegende physische Gerät)
Daten werden in Seiteneinheiten gelesen und geschrieben.
Eine Seite kann erst beschrieben werden, nachdem der gesamte Block, zu dem sie gehört, gelöscht wurde.
Sobald jedoch ein Block gelöscht ist, kann jede Seite im Block direkt erneut beschrieben werden.
Zufällige Schreibvorgänge sind aus zwei Gründen langsam
Löschblöcke sind langsamer.
Wenn ein Schreibvorgang versucht, eine Seite P zu ändern, die vorhandene Daten enthält, müssen alle Seiten, die nützliche Daten in diesem Block enthalten, in einen neuen (gelöschten) Block kopiert werden, bevor auf Seite P geschrieben werden kann.
Vorteile und Nachteile
Vorteil
Der wahlfreie Zugriff ist viel schneller als bei mechanischen Festplatten
Keine mechanischen Geräusche oder Vibrationen
Geringerer Energieverbrauch
Gute Erdbebensicherheit
Hohe Sicherheit
Mangel
einfach zu tragen
Cache-Speicher
Das Lokalitätsprinzip des Programmzugriffs
zeitliche Lokalität
Die Informationen, die in naher Zukunft verwendet werden, sind wahrscheinlich die Informationen, die jetzt verwendet werden, da das Programm Schleifen enthält.
Spezifisch für Array-Elemente: Wenn auf das Array-Element nur einmal zugegriffen wird, darf es keine zeitliche Lokalität geben.
räumliche Lokalität
Die Informationen, die in naher Zukunft verwendet werden sollen, werden wahrscheinlich im Speicherbereich an die jetzt verwendeten Informationen angrenzen, da Anweisungen normalerweise nacheinander gespeichert und ausgeführt werden und Daten im Allgemeinen in Clustern in Form von Vektoren, Arrays usw. gespeichert werden. zusammen.
Das grundlegende Funktionsprinzip von Cache
Sowohl der Cache als auch der Hauptspeicher sind in gleich große Blöcke unterteilt. Die Anzahl der Blöcke im Cache ist viel geringer als die Anzahl der Blöcke im Hauptspeicher. Es werden nur Kopien der aktivsten Blöcke im Hauptspeicher gespeichert.
Der Datenaustausch zwischen CPU und Cache erfolgt in Worteinheiten, während der Datenaustausch zwischen Cache und Hauptspeicher in Cache-Blöcken erfolgt.
Wenn die CPU eine Leseanforderung ausgibt
Wenn die Speicherzugriffsadresse im Cache gefunden wird, wird die Adresse in die Cache-Adresse umgewandelt und der Cache unabhängig vom Hauptspeicher direkt gelesen.
Wenn der Cache fehlschlägt, muss immer noch auf den Hauptspeicher zugegriffen werden, und der Block, in dem sich das Wort befindet, wird gleichzeitig vom Hauptspeicher in den Cache übertragen.
Wenn der Cache zu diesem Zeitpunkt voll ist, muss dieser Block verwendet werden, um einen ursprünglichen Informationsblock im Cache gemäß einem bestimmten Ersetzungsalgorithmus zu ersetzen.
Am Ende wird auf den Cache zugegriffen
Wenn die CPU eine Schreibanforderung ausgibt
Wenn der Cache erreicht wird, muss er gemäß einer bestimmten Schreibstrategie verarbeitet werden. Zu den gängigen Verarbeitungsmethoden gehören vollständiges Schreiben und Zurückschreiben.
Wenn sie fehlen, schreibt die Schreibzuordnungsmethode die Daten in den Cache, und die Nicht-Schreibzuordnungsmethode schreibt die Daten direkt zurück in den Hauptspeicher.
Cache- und Hauptspeicher-Zuordnungsmethode
direkte Zuordnung
Cache-Zeilennummer = Hauptspeicherblocknummer mod. Gesamtzahl der Cache-Zeilen
vollständig assoziative Abbildung
jede Position
Verwenden Sie G-Komparatoren, um alle Cache-Zeilen gleichzeitig zu vergleichen.
Assoziative Zuordnung festlegen
Cache-Gruppennummer = Hauptspeicherblocknummer mod Cache-Gruppennummer (Q)
Zwei-Wege-Gruppenverbindung
Jede Cache-Zeile entspricht einem markierten Eintrag
Einschließlich Gültigkeitsbit, Tag-Bit, Konsistenzerhaltungsbit und Ersetzungsalgorithmus-Steuerbit
Cache-Schreibstrategie
Für Cache-Schreibtreffer (Schreibtreffer)
Vollständige Schreibmethode (Durchschreibmethode, Durchschreiben)
Wenn ein Cache-Schreibvorgang auftritt, wird derselbe Datenblock im Cache und im Hauptspeicher gleichzeitig geändert.
Der Nachteil der Durchschreibmethode besteht darin, dass der Cache keine Pufferfunktion für CPU-Schreibvorgänge hat, was die Effizienz des Caches verringert.
Schreib zurück
Jede Cache-Zeile setzt ein Änderungsbit (Dirty Bit).
Durch diese Strategie fungiert der Cache als Cache sowohl für Lese- als auch für Schreibvorgänge.
Für Cache-Schreibfehler
Schreiben-Zuordnen (Schreiben-Zuordnen)
Laden Sie den Block im Hauptspeicher in den Cache und aktualisieren Sie dann den Cache-Block.
Nicht-Schreib-Zuweisung (nicht-Schreib-Zuweisung)
Schreibt nur in den Hauptspeicher, es wird kein Blockabgleich durchgeführt.
virtueller Speicher
Grundkonzepte des virtuellen Speichers
Der virtuelle Speicher adressiert einheitlich den Adressraum des Hauptspeichers oder des Hilfsspeichers, um einen riesigen Adressraum zu bilden. In diesem Bereich können Benutzer frei programmieren, ohne sich um die tatsächliche Hauptspeicherkapazität und den tatsächlichen Speicherort des Programms zu kümmern.
Hauptspeicher und Hilfsspeicher bilden zusammen einen virtuellen Speicher und unterliegen der gemeinsamen Verwaltung von Hardware und Systemsoftware.
Typische Organisationsstruktur des virtuellen Speichers
virtuelle Adresse (virtuelle Adresse)
Seitennummer des virtuellen Speichers Seitenwortadresse
Physikalische Adresse des Hauptspeichers (reale Adresse)
Seitennummer des Hauptspeichers Seitenwortadresse
Die CPU greift über eine virtuelle Adresse auf den Hauptspeicher zu, ermittelt mithilfe der Speicherverwaltungssteuereinheit MMU (Memory Management Unit) die Entsprechung zwischen der virtuellen Adresse und der physischen Adresse und bestimmt, ob der der virtuellen Adresse entsprechende Inhalt bereits vorhanden ist Haupterinnerung.
Festplattenspeicheradresse (Festplattenadresse oder Zusatzspeicheradresse)
Festplattennummer Festplattennummer Titelnummer Sektornummer
So funktioniert der virtuelle Speicher
Die Konvertierung der virtuellen Speicheradresse in die Hauptspeicheradresse muss von der MMU abgeschlossen werden. Wenn die Konvertierung fehlschlägt, wird ein Ausnahmesignal generiert, das die Ausführung des Ausnahmehandlers für fehlende Seiten auslöst, um die verbleibende Arbeit abzuschließen, und die Anweisung erneut ausführt hat die Ausnahme „Seite fehlt“ generiert, um sicherzustellen, dass das Programm korrekt ausgeführt wird.
Letztendlich werden die Daten aus dem Hauptspeicher abgerufen und die CPU kann nicht direkt auf den Hilfsspeicher zugreifen.
Ausgelagerter virtueller Speicher
In den meisten Systemen gibt es für jeden Prozess eine Seitentabelle.
Seitentabelle
Logisches Strukturdiagramm der Seitentabelle
Sowohl der Hauptspeicher als auch die Festplatte sind in Seiten fester Größe unterteilt
Die Festplatte ist in eine Swap-Partition und eine Datenpartition unterteilt
Die Swap-Partition wird zum Speichern dynamisch geänderter Daten verwendet, die aus Hauptspeicherseiten ausgelagert werden.
Die Datenpartition wird zum Speichern von Benutzerprogrammen und Daten verwendet
Hauptspeicher und Festplattenspeicher werden zum virtuellen Adressraum zusammengefasst.
Zugriffsprozess auf den virtuellen Seitenspeicher
Wenn eine Seite aufgerufen wird, werden die von der CPU-Hardware ausgeführten Schritte ausgeführt
Der Prozessor generiert eine virtuelle Adresse und übergibt sie an die MMU.
Die MMU verwendet das Seitentabellen-Basisadressregister PTBR und die virtuelle Seitennummer, um die Seitentabelleneintragsadresse PTEA zu generieren, greift auf die im Cache/Hauptspeicher gespeicherte Seitentabelle zu und fordert den Seitentabelleneintrag an, der der virtuellen Seitennummer entspricht.
Der Cache/Hauptspeicher gibt Seitentabelleneinträge an die MMU zurück, um die physische Adresse der abgerufenen Informationen zu bilden.
Wenn das gültige Bit im zurückgegebenen Seitentabelleneintrag 1 ist, verwendet die MMU den zurückgegebenen Seitentabelleneintrag, um die physische Adresse PA zu erstellen, und verwendet die konstruierte physische Adresse PA, um auf den Cache/Hauptspeicher zuzugreifen.
Cache/Hauptspeicher gibt die angeforderten Daten an den Prozessor zurück.
Der Seitenfehlerbehandlungsprozess ist wie folgt:
Der Prozessor generiert eine virtuelle Adresse und übergibt sie an die MMU.
Die MMU verwendet das Seitentabellen-Basisadressregister PTBR und die virtuelle Seitennummer, um die Seitentabelleneintragsadresse PTEA zu generieren, greift auf die im Cache/Hauptspeicher gespeicherte Seitentabelle zu und fordert den Seitentabelleneintrag an, der der virtuellen Seitennummer entspricht.
Cache/Hauptspeicher gibt Seitentabelleneinträge an die MMU zurück, um die physische Adresse PA der abgerufenen Informationen zu bilden.
Wenn das gültige Bit im Seitentabelleneintrag 0 ist, bedeutet dies, dass sich die Seite, auf die zugegriffen wird, nicht im Hauptspeicher befindet. Die MMU löst eine Ausnahme aus und ruft den Ausnahmehandler für Seitenfehler im Betriebssystemkernel auf.
Wenn die Hauptspeicherseite voll ist, muss die Seite basierend auf dem Ersetzungsalgorithmus ausgelagert werden. Wenn das Seitenänderungsbit 1 ist, wird die Seite auf die Festplatte ausgelagert, andernfalls wird sie direkt verworfen.
Der Seitenfehlerhandler lädt eine neue Seite von der Festplatte und aktualisiert den Seitentabelleneintrag PTE im Speicher.
Der Seitenfehler-Handler kehrt zum ursprünglichen Prozess zurück und erzwingt den Neustart der Anweisung, die den Seitenfehler verursacht hat. Bei dieser Ausführung treten keine Seitenfehler auf.
Virtueller Speicherzugriffsprozess kombiniert mit Cache
Die MMU generiert eine Seitentabelleneintragsadresse für den Zugriff auf den Cache basierend auf der vom Prozessor gesendeten virtuellen Adresse VA.
Wenn der Seitentabelleneintrag PTE trifft, wird der Seitentabelleneintrag direkt zurückgegeben und eine physische Adresse generiert, um auf den Hauptspeicher zuzugreifen.
Wenn der Seitentabelleneintrag PTE fehlt, muss der Seitentabellenblock, in dem sich der Seitentabelleneintrag befindet, vom Hauptspeicher in den Cache verschoben werden.
Bei Verwendung von PA für den Datenzugriff kann es auch zu Problemen mit fehlendem Cache kommen.
Schneller Tisch (TLB)
In einem ausgelagerten virtuellen Speichersystem, das schnelle und langsame Tabellen enthält, werden bei der Adressübersetzung häufig die schnellen und langsamen Tabellen gleichzeitig nachgeschlagen.
Greifen Sie nach Inhalt auf die Schnelltabelle und nach Adresse auf die Seitentabelle zu
TLB-Treffer-Zugriffsprozess
Der Prozessor generiert die virtuelle Adresse und übergibt sie an die MMU.
Die MMU verwendet die virtuelle Seitenzahl VPN, um den TLB abzufragen.
Wenn der TLB-Zugriff erfolgreich ist (der Seitentabelleneintrag befindet sich im TLB und das gültige Bit im entsprechenden PTE ist 1), gibt der TLB die physische Seitennummer zurück, die der virtuellen Seitennummer entspricht, an die MMU.
MMU verwendet den zurückgegebenen Seitentabelleneintrag (physische Seitennummer in), um die physische Adresse PA zu erstellen, und verwendet PA, um auf den Cache/Hauptspeicher zuzugreifen.
Cache/Hauptspeicher gibt von der CPU angeforderte Daten an den Prozessor zurück.
Prozess, wenn TLB fehlschlägt (vorausgesetzt, der Zugriff auf den Hauptspeicher trifft zu)
Der Prozessor generiert eine virtuelle Adresse und übergibt sie an die MMU.
Die MMU verwendet die virtuelle Seitenzahl VPN, um den TLB abzufragen.
Wenn der TLB-Zugriff fehlschlägt, werden Informationen über TLB-Zugriffsfehler an die MMU zurückgegeben.
Die MMU verwendet das Basisadressregister PTBR der Seitentabelle und die virtuelle Seitennummer, um die Seitentabelleneintragsadresse PETA zu generieren, greift auf die im Cache/Hauptspeicher gespeicherte Seitentabelle zu und fordert den Inhalt des Seitentabelleneintrags an, der der virtuellen Seitennummer entspricht.
Der Cache/Hauptspeicher gibt den Seitentabelleneintrag PTE an die MMU zurück, um die physikalische Adresse PA der abgerufenen Informationen zu bilden.
Wenn das gültige Bit im zurückgegebenen Seitentabelleneintrag PTE 1 ist, muss die TLB-Tabelle aktualisiert werden, und der zurückgegebene PTE wird zum Erstellen der physischen Adresse PA verwendet, und die erstellte physische Adresse PA wird für den Zugriff auf den Cache/Hauptspeicher verwendet .
Cache/Hauptspeicher gibt die angeforderten Daten an den Prozessor zurück.
Mehrstufiges Speichersystem mit TLB und Cache
TLB fehlt: Der Seitentabelleneintrag der Seite, auf die zugegriffen werden soll, ist nicht im TLB
Seite fehlt: Die Seite, auf die zugegriffen werden soll, befindet sich nicht im Hauptspeicher (das gültige Bit des entsprechenden Seitentabelleneintrags ist 0). Entsprechende Seitenfehlerverarbeitung: Seite laden, TLB aktualisieren, Seitenfehlerbefehl neu starten
Cache fehlt: Der Hauptspeicherblock, auf den zugegriffen werden soll, befindet sich nicht im Cache. Entsprechende Cache-fehlende Verarbeitung: Aus dem Speicher übertragen und den Cache erneut aufrufen
Segmentierter virtueller Speicher
Jedes Programm erstellt eine Segmenttabelle.
Normalerweise unterteilen Programmierer verschiedene Datentypen wie Unterprogramme, Operanden und Konstanten in verschiedene Segmente, und jedes Programm kann mehrere Segmente desselben Typs haben.
Der Segmenttabelleneintrag enthält mindestens die folgenden drei Felder:
Das gültige Bit zeigt an, ob das Segment in den realen Speicher geladen wurde.
Die Segmentstartadresse gibt die erste Adresse des Segments im realen Speicher an, wenn das Segment in den realen Speicher übertragen wurde.
Die Segmentlänge gibt die tatsächliche Länge des Segments an.
Adressübersetzung
3 Arten ungewöhnlicher Situationen
Fehlendes Segment (Segment existiert nicht): Einbauposition = 0.
Adresse außerhalb der Grenzen: Der Offset überschreitet die maximale Segmentlänge.
Schutzverletzung, die Betriebsmethode stimmt nicht mit den angegebenen Zugriffsrechten überein.
Segmentierter virtueller Speicher
Jedes Programm führt eine zweistufige Verschiebung über eine Segmenttabelle und mehrere Seitentabellen durch.
Jeder Eintrag in der Segmenttabelle entspricht einem Segment, und jeder Eintrag verfügt über einen Zeiger, der auf die Seitentabelle des Segments zeigt.
Eine virtuelle Adresse besteht aus vier Feldern
Eine Segmenttabelle und eine Reihe von Seitentabellen werden verwendet, um die Position aller Seiten im virtuellen Speicher im Hauptspeicher anzugeben.
(Multitasking-System) Adresskonvertierungsprozess des segmentierten virtuellen Speichers Jedes Programm entspricht einer Segmenttabelle und jedes Segment entspricht einer Seitentabelle (es gibt semantische Mehrdeutigkeiten, siehe Abbildung).
Vergleich zwischen virtuellem Speicher und Cache
Ähnlichkeiten
Es gibt Probleme wie Adresszuordnung, Ersetzungsalgorithmus und Aktualisierungsstrategie.
der Unterschied
Der Cache befasst sich hauptsächlich mit der Systemgeschwindigkeit, während der virtuelle Speicher mit der Hauptspeicherkapazität befasst ist.
Der Cache ist vollständig in Hardware implementiert und ein Hardwarespeicher, der für alle Programmierer transparent ist. Der virtuelle Speicher wird gemeinsam vom Betriebssystem und der Hardware implementiert. Es handelt sich um einen logischen Speicher, der für Systemprogrammierer undurchsichtig, für Anwendungsprogrammierer jedoch transparent ist.