Warum gibt es während des T2-Zustands dieses Maschinenzyklus keinen Tristate?

Mein Lehrer hat dies als Teil gedruckter Notizen bereitgestellt, in denen er schreibt, dass es während des T2-Zustands des Speicherschreibzyklus keinen Tristate gibt. Ich bin ziemlich verwirrt darüber, warum das so ist.

Nach kurzer Recherche im Internet habe ich nirgendwo solche Aussagen gefunden. Kann der Tristate auch in T2 existieren oder ist dies optional? Wenn es wahr ist, warum ist es so?

Antworten (2)

Offensichtlich kann es weder während T2 noch während T3 "Tristate" auf AD[7:0] geben, da die CPU diese Leitungen verwenden muss, um die Daten anzusteuern, die in den Speicher geschrieben werden sollen. Die Daten müssen für die Dauer des WR-Impulses und etwas darüber hinaus gültig sein.

Was die Fußnote sagt, ist, dass es zwar einen Übergang zwischen den niederwertigen Adresswerten und den Datenwerten während T2 gibt, der Bus jedoch niemals tatsächlich "nicht angesteuert" wird.

Ein detaillierteres Zeitdiagramm würde eine gewisse Haltezeit für die Adressbits nach ALE zeigen. Es würde auch eine gewisse Einrichtungszeit für die Datenbits in Bezug auf WR- zeigen. Dazwischen sind die Buswerte "undefiniert", aber nicht hochohmig. In dem Diagramm wird dieser Unterschied durch die durchgezogene Linie vor vs. die gepunktete Linie nach den DATA-Bits auf AD[7:0] angegeben.


Es gibt tatsächlich einen subtilen Grund, warum sie das Bedürfnis verspürten, die Fußnote hinzuzufügen. Manchmal verlässt sich ein Systemdesigner auf die Tatsache, dass die Buskapazität die Haltezeit effektiv verlängert, wenn ein Bustreiber abschaltet (Tristates). In diesem Fall erklären sie ausdrücklich, dass dies während dieser Art von Zyklus nicht zutrifft.

Würden Sie dasselbe auch für den Speicherlesezyklus sagen? ist Tristate dort nicht auch erlaubt? Was ist mit dem IO-Schreibzyklus?
Warum bekommst du das nicht? Für jeden Bus kann zu einem bestimmten Zeitpunkt nur ein Treiber aktiviert sein. In jedem Zyklus, in dem Daten von der CPU übertragen werden (Speicher- oder E/A-Schreiben), muss der AD[7:0]-Bus von der CPU während T2 und T3 angesteuert werden – kein Tristate. Wenn Daten an die CPU übertragen werden (Speicher- oder E/A-Lesen), muss die CPU den AD[7:0]-Bus während T2 und T3 tristateieren, damit ein externes Gerät seine Daten dort ablegen und die CPU sie erfassen kann.

Ich denke, dass der Prozessor am Ende des T1-Zustands die niederwertige Adresse entfernt und die Daten sofort auf den Bus legt.

Ich vermute, dass das Timing-Diagramm ein wenig "aus" ist und die Worte ein Versuch sind, es zu reparieren, ohne den Grafiker zu bezahlen.

Vergleichen Sie dieses 8085-Zeitdiagramm:

Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass die niederwertige Adresse über die ansteigende Taktflanke hinaus bestehen bleibt, sodass viel Einrichtungszeit und etwas Haltezeit verfügbar ist, um die niederwertige Adresse zu speichern, bevor die Daten erscheinen.

Wie auch immer, die Linie in der Mitte zwischen High und Low sollte verwendet werden, um anzuzeigen, dass die Daten ungültig sind, nicht , dass der Bus Tristate hat, aber es macht sehr wenig praktischen Unterschied.