Byteadressierbarer Speicher und ISA

746
O.A.

Ich versuche, einige Verwirrung hinsichtlich der Befehlssatzarchitektur und des Zugriffs auf den Speicher zu beseitigen. Grundsätzlich weiß ich, dass die Daten im byte-adressierbaren Speicher byteweise im Big-Endian oder Little-Endian gespeichert werden. Wenn wir nun einen 32-Bit-Prozessor haben, könnten wir 32-Bit-Register verwenden. übertragen Datenbusse zu jedem Zeitpunkt 4 Byte Daten? Sind die Anweisungen auch 32 Bit lang? Wie wirkt sich das auf die Opcode-Größe gegenüber der Operandengröße aus?

1
Schnelle Pseudo-Antwort: Die Befehlsgröße ist unabhängig von der Größe des Datenregisters. Datenbusse zum Hauptspeicher sind häufig breiter und werden typischerweise zum Füllen eines Cache-Blocks (über mehrere "Beats" [zweimaliger Buszyklus für DDR]) verwendet. Die Verbindung zwischen L1-Cache und dem Kern kann * breiter * sein als die des Core Universalregister zur Unterstützung von Ladepaaren / Mehrfachoperationen oder Einzelzugriffs-FP / SIMD-Register Laden / Speichern (wenn diese größer als die GPRs sind), und auf zwei Bänke kann gleichzeitig zugegriffen werden, um nicht ausgerichtete Zugriffe zu unterstützen. (Icache kann auch mehr als einen Befehl pro Zyklus bereitstellen.) Paul A. Clayton vor 9 Jahren 0
Diese Frage ist zu umfassend, da die Antworten je nach ISA erheblich variieren können. bwDraco vor 9 Jahren 0

1 Antwort auf die Frage

0
Varaquilex

übertragen Datenbusse zu jedem Zeitpunkt 4 Byte Daten?

Dies hängt vom Systemdesign ab, aber ich sage ja, sie übertragen bei jedem Taktzyklus 4 Bytes Daten (sofern sie dazu aufgefordert werden, natürlich), vorausgesetzt, Sie sind Informatik- / Naturwissenschaftsstudent und nehmen eine Computerorganisation in Anspruch / Architekturklasse. Dies kann jedoch nicht immer der Fall sein, da zeitgenössische Computerarchitekturen weitaus komplexer sind als in Ihrem Computerorganisationskurs.

Ich empfehle Ihnen, alles zu lesen, was Sie über DDR-, DDR2- und DDR3-Speicher wissen müssen, damit Sie eine Vorstellung davon haben, wie Übertragungen mit doppelten Datenraten auftreten.

Sind die Anweisungen auch 32 Bit lang?

Nicht unbedingt. Es liegt am Konstruktionssystem. Ich empfehle Ihnen, über RISC- und CISC-Architekturen zu lesen .

[ Quelle ] Ein Computer mit komplexem Befehlssatz (CISC) mit IA-32 (nämlich Intel i386-Architektur) kann beispielsweise Befehle mit einer Länge von 1 Byte bis 12 Byte (8 Bit bis 96 Bit) haben, während er über 32-Bit-Datenregister verfügt.

Wie wirkt sich das auf die Opcode-Größe gegenüber der Operandengröße aus?

Wieder voll und ganz den Designentscheidungen.