8085 μp; Warum nimmt der Lesezyklus 3 T-Zustände und nicht 2 an?

In dem Text, dem ich folge, RSGaonkar , wird erklärt, dass

  • Während T1 wird die Adresse im Programmzähler (PC) im Speicheradressenregister (MAR) zwischengespeichert.

  • Während der fallenden Flanke von T2 M E M R ¯ wird aktiv, und während der ansteigenden Flanke wird der Inhalt des Speicherdatenregisters auf den Bus gelegt

  • Während T3 wird der Inhalt des Busses in den Akkumulator eingeklinkt.

Meine Frage ist , warum der MDR während der steigenden Flanke von T2 nicht direkt auf den Akkumulator eingeklinkt wird, sondern einen anderen T-Zustand annimmt, um ihn einzuklinken?

Das ist der Stand der Dinge.
@MarkoBuršič :( Okay, aber es könnte einen ganzen T-State einsparen (jemand hätte definitiv darüber nachgedacht, denn es muss einen Grund geben, den Prozess auf einen ganzen T-State auszudehnen, sonst könnten wir möglicherweise riesige Mengen einsparen Zeit, aber das ist nicht der Fall)
Liegt es daran, dass der 8085 einen gemultiplexten Adressbus hat?

Antworten (1)

Der "zusätzliche" T-Zustand ist in den Zyklus eingebaut, um dem externen Speicher ausreichend Zeit zum Antworten zu geben. Denken Sie daran, dass bei der Entwicklung dieses Chips die Speicherchips dieselbe Basistechnologie wie der Prozessor verwendeten und genauso langsam waren, außerdem war zusätzliche Zeit für die Decodierung externer Adressen und die Buspufferung erforderlich.

Die Designer wollten es einfach machen, ein "minimales" System zusammenzustellen, ohne dass eine externe Logik zum Generieren von Wartezuständen erforderlich ist.


Hier sind die Details des Lesezyklus aus dem Datenblatt auf Seite 1-25.

Lesezyklus-Zeitdiagramm

Beachten Sie, dass t CYC 320 ns (3 MHz, 8085 AH) beträgt, aber auch nur 167 ns (6 MHz, 8085 AH-1) betragen kann.

t AD ist die gesamte Speicherzugriffszeit aus Sicht der CPU, von dem Zeitpunkt, an dem die Adresse stabil ist, bis zu dem Zeitpunkt, an dem die Daten gültig sein müssen. Sie wird beim 8085AH mit 575 ns angegeben. Wenn Sie einen T-Zyklus kürzen, würde dies auf nur 255 ns sinken.

Wie gesagt, aus Sicht der CPU – die Adressleitungen werden an den Pins der CPU gültig und die Daten müssen an den Pins der CPU gültig sein . Diese Gesamtzeit muss die Zeit beinhalten, die die Adresssignale benötigen, um sich durch Adresspuffer, Adressdecoder und möglicherweise über eine Art System-Backplane auszubreiten, bevor sie zu den Pins des eigentlichen RAM-Chips gelangen. Dies ist der Punkt, an dem der RAM-Lesezyklus beginnt – t AA ist die Zeit von dem Zeitpunkt, an dem die Adresse an den Pins des RAM-Chips gültig ist, bis zu dem Zeitpunkt, an dem seine Datenausgänge gültig sind, und dies ist normalerweise der langsamste Parameter auf dem Chip.

Wenn die Daten dann an den Pins des RAM-Chips gültig werden, müssen sie sich noch durch einen oder mehrere Buspuffer ausbreiten (und eine weitere Reise über die Backplane), bevor sie zur CPU selbst zurückkehren.

All dieser Overhead könnte sich leicht auf etwas in der Größenordnung von 200 ns summieren. Bei einem Zyklus mit 2 T-Zuständen blieben nur 55 ns für die Zugriffszeit des RAM-Chips übrig. Bei einem 3-T-State-Zyklus erhalten Sie eher 375 ns, was für die damals verfügbaren Chips ein viel vernünftigerer Wert ist.

Ich habe darüber nachgedacht und bekam einen naiven Zweifel, wie kann ein Speicher langsam sein, ich meine, Spannungen und Ströme über Kabel übertragen, warum sollte das langsam sein? Hängt das nicht von unserer Taktrate ab? Und was bedeutet Buspufferung? Ich meine, ich verstehe die Bedeutung dieses Ausdrucks nicht, wie... als Aktion.
Speicherchips sind Schaltkreise, genau wie der Prozessor. Sie brauchen also Zeit, um zu reagieren.
Die Prozessorstifte waren nicht stark genug, um Logiksignale zu einer Reihe von Speicherchips zu treiben, die alle parallel verdrahtet sind, oder um physisch lange Drähte zu treiben. Also brauchten Sie für alle außer den kleinsten Boards Puffer (dh 74HC244), um den Antrieb zu erhöhen. Diese Puffer fügten Verzögerung hinzu.
@AravindhVasu wie kann eine CPU langsam sein?
@ user253751 was meinst du?
@AravindhVasu Speicher kann genauso langsam sein wie CPUs