Mikroprozessor 8085

Was ist die Notwendigkeit, das 8-Bit-Register im Speicher mithilfe des Adressbusses zu aktivieren, um Daten daraus zu lesen? Die Aktivierung ist erforderlich, um Daten in das Register zu schreiben und danach zu lesen. Können wir nicht einfach ein Lesesignal an den Ausgang des Tri-State-Puffers liefern, um Daten zu lesen .Weil nach dem Schreiben von Daten, wenn wir das Freigabesignal deaktivieren, das D-Flipflop im Speicherzustand ist und wir auf diesen gespeicherten Ausgang zugreifen können, indem wir ein Lesesignal an den Tri-State-Puffer liefern.

Das Datenblatt sollte sehr klar sein und die Lese- und Schreibzyklen der CPU erklären und welche Glue-Logik implementieren muss. Wenn sich Ihre Frage nicht auf die CPU selbst bezieht, sondern auf das darauf basierende Computerdesign, suchen Sie nach verwandten Schaltkreisen und studieren Sie sie.

Antworten (2)

Wenn Sie nur das Lesesignal (RD) verwenden, um den Puffer ohne ein separates Freigabesignal zu aktivieren, antwortet dieser Puffer auf jede Adresse, von der die CPU liest. Da Sie auch einige Speichergeräte an den Bus angeschlossen haben, reagieren sowohl das Speichergerät als auch der Puffer gleichzeitig und verursachen eine Buskollision, bei der die Daten auf dem Bus beschädigt werden. Das separate Freigabesignal wird durch "Decodieren" des Adressbusses erzeugt, so dass der Puffer nur auf eine Adresse antwortet, die nicht von den Speichergeräten verwendet wird.

Beachten Sie auch, dass der 8085 normalerweise kein Memory Mapped IO verwendet. Es verfügt über spezielle IN- und OUT-Anweisungen zum Lesen von IO-zugeordneten IO. Tatsächlich befinden sich diese E/A-Geräte in einem vom Rest des Speichers getrennten Adressraum. Wenn der Tri-State-Puffer das einzige E/A-Gerät ist, das Sie in Ihrem System haben, ist es möglicherweise möglich, ihn zu verwenden, ohne eine Adresse vollständig zu decodieren, aber Sie müssen trotzdem das Aktivierungssignal dafür aus dem Lesevorgang (RD) generieren. , Schreib- (WR) und IO/M-Signale.

Der 8085 kann bis zu 65536 verschiedene Speicherbytes adressieren. Sie müssen den Adressbus sowohl zum Schreiben als auch zum Lesen verwenden, um das gewünschte Byte auszuwählen.