Wenn Sie sich jemals gefragt haben, wie der Prozess von einem Prozessor und dem Prozessor verfolgt wird RAM dass es zugewiesen wurde, um die Daten und die Anweisungen zu erhalten, die es ausführen muss, dann haben Sie Glück, denn in diesem Artikel werden wir erklären, wie dieser Kommunikationsprozess zwischen den beiden wichtigsten Elementen eines PCs mit jedem kommuniziert andere.
In diesem Artikel Wir werden nicht erklären, welche Art von RAM besser ist or die Spezifikationen von jedem , aber ein Prozessor kommuniziert mit ihm, um die Programme ausführen zu können.

Der Grund warum Wir verwenden externen Speicher Denn Die Anzahl der zum Speichern der Informationen erforderlichen Transistoren würde nicht in den Raum eines Prozessors passen Aus diesem Grund müssen RAM-Speicher außerhalb des Prozessors verwendet werden, um die Anweisungen und Daten zu speichern, die ausgeführt werden sollen.
Warum benötigt ein Prozessor eine Kommunikation mit dem RAM?

Die Phase, in der die CPU Der nächste Befehl, der aus dem RAM ausgeführt werden soll, heißt "Fetch" und ist eine der drei Stufen, aus denen ein Befehlszyklus besteht: Fetch-Decode-Execute, über die wir in diesem Artikel des ersten nur sprechen werden, während der andere zwei bleiben für eine andere Zeit übrig, da der RAM-Speicher nicht in sie eingreift, außer um das Ergebnis zurückzuschreiben.
Jeder Prozessor hat eine Reihe von miteinander verbundenen Registern, die dazu dienen, den folgenden Befehl zu erfassen: Sie sind die folgenden:
- Programm zähler: Der PC zeigt auf die nächste Speicherzeile, in der sich der nächste Prozessorbefehl befindet. Sein Wert wird jedes Mal um 1 erhöht, wenn ein vollständiger Befehlszyklus abgeschlossen ist oder wenn ein Sprungbefehl den Wert des Programmzählers ändert.
- Speicheradressregister: Der MAR kopiert den Inhalt des PCs und sendet ihn über die Adresspins der CPU, die mit den Adresspins des RAM verbunden sind, an den RAM.
- Speicherdatenregister : Wenn der Befehl gelesen wird, überträgt der RAM über seinen Datenbus den Inhalt der Speicheradresse, auf die der MAR zeigte.
- Befehlsregister: Der Befehl wird in das Befehlsregister kopiert, von wo aus die Steuereinheit ihn entschlüsselt, um zu wissen, wie der Befehl ausgeführt wird.
Was ist DRAM-Speicher?

Der Art des für RAM verwendeten Speichers , sowohl als System-RAM als auch als Video-RAM oder VRAM, ist DRAM- oder 1T-DRAM-Speicher . In dieser Art von Speicher wird jedes Bit in der gespeichert Kombination eines Kondensators und eines Transistors , statt in mehreren Transistoren wie SRAM, daher der Name 1T-DRAM.
Alle derzeit im PC verwendeten RAM-Speicher: DDR4, GDDR6, HBM2e, LPDDR4 usw. Sie sind Speicher vom Typ DRAM, während die internen Speicher der Prozessoren, Register-Caches und Notizblöcke vom Typ SRAM sind.
Diese Kombination eines Kondensators und eines Transistors wird als a bezeichnet Bitzelle , Wenn der Kondensator der Bitzelle geladen ist, wird interpretiert, dass die in dieser Bitzelle enthaltene Information eine 1 ist. Wenn sie nicht geladen ist, wird sie als 0 interpretiert.

Die Bitzellen sind in einer Matrix organisiert, in der über die Adressierungsstifte wie folgt auf sie zugegriffen wird:
- Die erste Hälfte der Bits wählt die Zeile aus, auf die wir zugreifen möchten
- Die zweite Hälfte der Adressierungsbits enthält die Spalte, auf die wir zugreifen möchten.
Hierzu gibt es einen Binärdecoder zwischen der Bitzellenmatrix und dem Adressierungsbus, mit dem die entsprechende Bitzelle ausgewählt werden kann.
Die Kontaktstifte für die Kommunikation mit dem RAM

Um auf den RAM zuzugreifen, Die CPU verwendet eine Reihe von Pins, mit denen sie auf den Inhalt des Pins zugreifen kann RAM und sogar modifizieren . Dazu müssen Sie zuerst herausfinden, wo sich die Daten befinden oder wo wir sie bearbeiten möchten, und sie dann in eine bestimmte Richtung übertragen. Hierfür werden zwei verschiedene Arten von Stiften verwendet.
- Adressierung Stifte : Normalerweise von A0 bis AN markiert, wobei N die Anzahl der Pins und gleich der Anzahl der Adressierungsbits ist, die immer 2 ^ N beträgt.
- Datenstifte : Hier werden Daten zum und vom RAM übertragen.
- Schreiben aktivieren: Wenn der Pin aktiv ist, erfolgt die Datenübertragung in Richtung des Speichers, während das Schreiben erfolgt. Wenn er nicht aktiv ist, erfolgt dies in Richtung des Prozessors und des Lesens.
Wenn unser System über mehrere RAM-Speicherchips verfügt, werden die ersten Bits der Adressierung verwendet, um auszuwählen, auf welche der Speicherchips wir innerhalb des DIMM-Speichermoduls zugreifen möchten. Es gab auch Fälle, in denen die Adress- und Datenpins identisch sind. Dies liegt daran, dass die Adressierung und der Zugriff auf die Daten nicht gleichzeitig erfolgen.
Um zu verstehen, wie die Adressierung genauer funktioniert, müssen wir ein grundlegendes Stück Elektronik, den Binärdecoder, überprüfen.
Der Binärdecoder und seine Rolle bei der Kommunikation mit dem RAM
Der Binärdecoder ist ein sehr verbreitetes Stück Elektronik, sie bestehen darin, dass aus einem Eingang von n Bits ein Eingang aus 2 ^ n verschiedenen Möglichkeiten ausgewählt wird. Es wird durch Platzieren von n NOT-Gates auf 2 ^ n AND-Gates erstellt.
Im RAM-Speicher wird die Adressierung in zwei Zyklen übertragen: Zuerst wird die Zeile, auf die zugegriffen werden soll, und dann die Spalte anstatt gleichzeitig gesendet.
Der Grund dafür hat eine sehr einfache Erklärung: Stellen Sie sich vor, Sie haben einen Prozessor mit 16 Adressierungsbits, der an einen einzelnen RAM-Speicherchip angeschlossen ist. Wenn der Binärdecoder 16 Bit wäre, würden 16 NICHT-Gatter und 65536 UND-Gatter benötigt. Im Gegensatz dazu verfügt ein 8-Bit-Binärdecoder über 8 NOT-Gatter und 256 UND-Gatter, was viel einfacher zu implementieren ist.
Dies ist der Grund, warum die Adressierung an RAM in zwei Schritten erfolgt.
Speicherbänke

Die Daten im RAM sind nicht nacheinander gespeichert , aber in verschiedenen Banken innerhalb desselben Chips, Jede der Bänke enthält ein Array von Bitzellen Wenn wir jedoch beispielsweise n Datenbits übertragen möchten, benötigen wir n Arrays von Bitzellen, von denen jede mit einem Pin des Datenbusses verbunden ist.
Die Verwendung von mehrere Banken im selben Speicherchip, ermöglicht die gleichzeitige Auswahl mehrerer Bits mit einem einzigen Zugriff auf den Speicher , Da Alle Banken teilen sich die Adressierung . Wenn wir also 8 Speicherbänke haben, führt die Auswahl einer bestimmten Bitzelle dazu, dass die Daten gleichzeitig zu und von den 8 Speicherbänken übertragen werden.
Die Standardgröße von Bänken in RAM-Speichern beträgt 8 Bit, daher wird der maximale Speicher bei der Adressierung immer als 2 ^ n Bytes gezählt. Tatsächlich übertragen die 16-, 32-, 64-Bit-Busse usw. die Daten mehrerer aufeinanderfolgender Speicheradressen von der ersten an.
Kommunikation zwischen RAM und CPU

Die Kommunikation zwischen der CPU und dem RAM hängt davon ab, ob sie korrekt ausgeführt wird, dh die richtigen Daten werden in die richtige Richtung und in die richtige Speicherbank gesendet. Daher hat jeder RAM-Speicher ein Zeitfenster, dh die Zeit, in der die verschiedenen Operationen ausgeführt werden können. Diese müssen zu bestimmten Zeiten und nach diesem Verfahren ausgeführt werden:
- Spalte auswählen (Adressierung)
- Zeile auswählen (Adressierung)
- Datenübertragung.
Hierzu werden eine Reihe spezieller Pins verwendet, von denen einer bereits gesehen wurde und Write Enable ist. Die beiden anderen sind die folgenden:
- Spaltenzugriffs-Strobe: Dieser Pin wird aktiviert, wenn wir dem RAM-Speicher mitteilen, dass wir die Spalte angeben, auf die wir zugreifen möchten.
- Zeilenzugriffs-Strobe :: Dieser Pin wird aktiviert, wenn wir dem RAM-Speicher mitteilen, dass wir die Zeile angeben, auf die wir zugreifen möchten.
Beide Operationen können wie folgt zusammengefasst werden:


- Der Lesevorgang ist sehr einfach. Dazu muss der WE-Pin inaktiv sein, um anzuzeigen, dass die Daten vom RAM zum Prozessor übertragen werden, die Zeile und dann die Spalte, damit die Informationen vom Speicher-RAM zum Prozessor fließen .
- Die Schreiboperation ist etwas anders, dafür muss der WE-Pin aktiv sein, aber die Daten werden nicht nach Auswahl der Datenspalte übertragen, sondern nach Auswahl der Zeile und gleichzeitig mit der Auswahl der Spalte, in der sich die Daten befinden.
Damit erhalten Sie bereits eine ungefähre Vorstellung davon, wie die Kommunikation zwischen einem Prozessor und seinem RAM funktioniert.