Frage

Ich habe Montag Buch in einem auf Speichermodell Lesung bis ich abgeholt und ich habe eine Frage oder zwei. Lassen Sie uns sagen, dass der Adressbus 32 Zeilen hat, hat der Datenbus 32 Zeilen und die CPU 32-Bit (der Einfachheit halber). Nun, wenn die CPU eine Leseanforderung macht und sendet die 32-Bit-Adresse, sondern braucht nur 8 Bit, alle 32 Bits kommen sowieso zurück? Außerdem werden die Adressen im Speicher adressieren noch pro Byte korrekt? So ein Abrufen Byte würde zurückbringen 0000 0001 bis 0000 0004 Adresse?

War es hilfreich?

Lösung

In der Regel ja. Es gibt nichts, durch das Lesen Teile eines Wortes aus einem Bus gewonnen werden, so dass ein ganzes Wort gelesen wird. geben Anweisungen, welche Teile der Worte, die sie brauchen, um tatsächlich zu laden oder zu speichern in den Registern.

Das sagte, es ist selten in diesen Tagen direkt aus dem Speicher zu lesen. CPUs haben Caches, mit denen Sie interagieren 99% der Zeit, und wenn die Daten nicht im Cache ist, eine ganze Zeile in (mehrere Wörter) gebracht und dann noch Sie aus dem Cache gelesen.

Beachten Sie auch, dass viele moderne CPUs tatsächlich 64-Bit-Busse haben.

Andere Tipps

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top