Heim > häufiges Problem > Wie lautet die tatsächliche Adresse einer bestimmten Speichereinheit, auf die die CPU zugreifen möchte?

Wie lautet die tatsächliche Adresse einer bestimmten Speichereinheit, auf die die CPU zugreifen möchte?

青灯夜游
Freigeben: 2022-08-24 16:17:53
Original
4034 Leute haben es durchsucht

Die tatsächliche Adresse der Speichereinheit wird „physikalische Adresse“ genannt. Informationen werden in Byte-Einheiten im Speicher gespeichert. Um Informationen korrekt zu speichern oder zu erhalten, wird jeder Byte-Einheit eine eindeutige Speicheradresse zugewiesen, die als physikalische Adresse, auch tatsächliche Adresse oder absolute Adresse genannt, bezeichnet wird. Die physikalische Adresse liegt in elektronischer Form auf dem Adressbus vor, sodass der Datenbus auf die Speicheradresse einer bestimmten Speichereinheit im Hauptspeicher zugreifen kann. Im realen Adressmodus wird die physische Adresse durch Multiplizieren der Segmentadresse mit 16 und Addieren der Offset-Adresse ermittelt. Die Berechnungsmethode lautet „Physikalische Adresse = Segmentadresse * 16d + Offset-Adresse“.

Wie lautet die tatsächliche Adresse einer bestimmten Speichereinheit, auf die die CPU zugreifen möchte?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

Die tatsächliche Adresse einer bestimmten Speichereinheit, auf die die CPU zugreifen möchte, wird als „physikalische Adresse“ bezeichnet.

Informationen werden in Bytes im Speicher gespeichert. Um Informationen korrekt zu speichern oder zu erhalten, wird jeder Byte-Einheit eine eindeutige Speicheradresse zugewiesen, die als physische Adresse (physische Adresse) bezeichnet wird und auch als tatsächliche Adresse oder absolute Adresse bezeichnet wird.

Beschreibung

Adressen werden beginnend bei 0 nummeriert und jedes Mal sequentiell um 1 erhöht, sodass der physische Adressraum des Speichers linear wächst. Es wird durch eine Binärzahl, eine vorzeichenlose Ganzzahl, dargestellt und das Schreibformat ist eine Hexadezimalzahl. Es handelt sich um das Adresssignal, das auf dem externen Adressbus der CPU erscheint, um den physischen Speicher zu adressieren, und das Endergebnis der Adresstransformation darstellt. Wird für die Einheitenadressierung auf Speicherchipebene verwendet und entspricht dem Adressbus, der den Prozessor und die CPU verbindet.

In der Informatik ist die physische Adresse (englisch: Physical Address), auch echte Adresse (reale Adresse) oder Binäradresse (Binäradresse) genannt, in elektronischer Form auf dem Adressbus vorhanden, wodurch der Datenbus zugänglich ist. Die Speicheradresse von ein bestimmter Speicherort im Hauptspeicher. Bei Computern mit virtuellem Speicher wird zur Unterscheidung virtueller Adressen häufig der Begriff physische Adresse verwendet. Insbesondere bei Computern, die eine Speicherverwaltungseinheit (MMU) zum Übersetzen von Speicheradressen verwenden, beziehen sich die virtuellen und physischen Adressen auf die Adressen vor bzw. nach der MMU-Übersetzung. In Computernetzwerken sind physische Adressen manchmal gleichbedeutend mit MAC-Adressen. Diese Adresse ist eigentlich für die Datenverbindungsschicht und nicht für die physikalische Schicht, wie der Name schon sagt.

Berechnungsmethode

Im Realadressenmodus wird die physische Adresse durch Multiplizieren der Segmentadresse mit 16 und Addieren der Offsetadresse erhalten. Die 16-Bit-Segmentadresse multipliziert mit 16 entspricht einer Verschiebung von 4 Binärbits nach links, was zu einer 20-Bit-Segmentbasisadresse wird. Schließlich wird die Segmentbasisadresse zur Segment-Offset-Adresse addiert, um die physische Adresse zu erhalten.

Die Berechnungsmethode für die physikalische 20-Bit-Adresse lautet wie folgt:

Physikalische Adresse = Segmentadresse * 16d + Offset-Adresse.

Unausgerichtete Adressierung

Je nach Computersystem kann ein unausgerichteter Zugriff auf den Speicher die Leistung des Computers beeinträchtigen. Beispielsweise greift ein Computer wie der Intel 8086 mit einem 16-Bit-Datenbus effizienter auf geradzahlige Adressen zu. In diesem Fall ist zum Erhalten eines 16-Bit-Werts nur ein Speicherlesevorgang und eine Datenübertragung auf dem Datenbus erforderlich. Wenn der 16-Bit-Wert an einer ungeraden Adresse gespeichert wird, muss der Prozessor den Speicher natürlich zweimal lesen, nämlich einmal, um den Teil zu lesen, der an der niedrigen Adresse gespeichert ist, und ein anderes Mal, um den Teil zu lesen, der an der hohen Adresse gespeichert ist ; beide Male die Hälfte der gelesenen Daten verwerfen.

Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ“!

Das obige ist der detaillierte Inhalt vonWie lautet die tatsächliche Adresse einer bestimmten Speichereinheit, auf die die CPU zugreifen möchte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage