Unterschied zwischen Speicherpufferregister und Programmzähler

758
Darien Springer

Ich bin verwirrt durch den Unterschied zwischen dem CPU-Pufferregister und dem Programmzähler. Der MBR enthält Inhalte und Anweisungen aus dem Speicher. Der Programmzähler speichert die nächste Anweisung, die an das Anweisungsregister gesendet werden soll. Sowohl der MBR als auch der Programmzähler senden Informationen an das Anweisungsregister. Beide scheinen das Gleiche zu tun - halten Sie die nächsten Daten und senden Sie sie an das Anweisungsregister, wo sie dann die Anweisungen aus dem Bytecode ausführen. Was ist der Unterschied? Was vermisse ich?

0
Wäre es nicht einfach so, weil der Programmzähler ["die Adresse (Ort) der zum aktuellen Zeitpunkt ausgeführten Anweisung enthält"] (http://whatis.techtarget.com/definition/program-counter), während der MBR [ "speichert die Daten, die zum und vom Speicher für sofortigen Zugriff übertragen werden. Er enthält die Kopie der durch das Speicheradressregister angegebenen Speicherplätze."] (https://en.wikipedia.org/wiki/Memory_buffer_register) Pimp Juice IT vor 6 Jahren 1

1 Antwort auf die Frage

1
dirkt

Der Programmzähler (PC) enthält die Adresse der nächsten auszuführenden Anweisung.

Ein Anweisungsabruf funktioniert also so:

  1. Legen Sie den Inhalt des PCs auf den Adressbus (häufig gibt es ein Register für Speicheradressen (MA) oder ähnliches, das den Inhalt des Adressbusses puffert).
  2. Lesen Sie den Speicherinhalt von dieser Adresse in den MBR
  3. Latch-Inhalt des MBR in die Befehlsdecodierschaltung, sodass der MBR für andere Datenübertragungen verwendet werden kann.

Wie Sie sehen, unterscheiden sich PC und MBR völlig.

(Und Leute, die Frage ist völlig klar und nicht zu breit. Ich verstehe die engen Stimmen nicht).