Der Wartezustand in einem 8086 -Mikroprozessor wird erzeugt, um die Geschwindigkeit der CPU mit langsamerem Speicher oder Peripheriegeräten zu synchronisieren. Es handelt sich im Wesentlichen um eine Verzögerung, die in den Buszyklus eingefügt wird. Dies geschieht, wenn der 8086 auf Daten zugreifen muss, die noch nicht fertig sind. So wird es generiert:
1. Ready Signal: Der 8086 verwendet das Signal "Ready", um festzustellen, ob der Speicher oder Peripheriegeräte bereit ist, Daten bereitzustellen oder Daten zu akzeptieren. Dieses Signal ist ein Eingang zum 8086.
2. Speicher/periphere Antwortzeit: Wenn der 8086 einen Speicherzugriff initiiert (lesen oder schreiben), sendet er die Adresse und Steuerungssignale. Der Speicher oder periphere Empfang dieser Anfrage dauert eine gewisse Zeit, um zu antworten. Diese Zeit hängt von seiner Geschwindigkeit ab (Zugriffszeit).
3. bereit =0 (nicht bereit): Wenn der Speicher/Peripheral nicht bereit ist, innerhalb des Zeitpunkts zu reagieren, den der 8086 erwartet (bestimmt durch seine interne Uhr), gilt die "Ready" -Linie niedrig ("Ready" =0).
4. Wartezustandsinsertion: Der 8086 überwacht die "Ready" -Linie. Wenn es "Ready` =0) sieht, fügt es einen Wartezustand ein. Dies bedeutet, dass der 8086 seinen Betrieb ausnimmt und im Wesentlichen auf den nächsten Taktzyklus wartet. Die Adress- und Kontrollsignale werden während dieses Wartezustands stabil gehalten.
5. bereit =1 (bereit): Wenn der Speicher/Peripheral schließlich fertig wird, behauptet er die "Ready" -Linie hoch ("Ready` =1).
6. Lebenslauf -Betrieb: Nach "Ready` =1" wird der 8086 seinen Betrieb fortgesetzt und den Speicherzugriff abgeschlossen.
Im Wesentlichen ist ein Wartezustand einfach der 8086, der im selben Buszyklus verbleibt, bis das Signal "Ready" angibt, dass der Speicher/Peripherieur fertig ist. Mehrere Wartezustände können eingefügt werden, wenn der Speicher/Peripherieur mehr Zeit benötigt, um zu reagieren. Die Anzahl der Wartezustände wird dadurch bestimmt, wie lange das "Ready" -Signal niedrig bleibt.
wie es implementiert ist:
Der Wartezustandsmechanismus wird normalerweise extern zum 8086 implementiert, typischerweise unter Verwendung externer Schaltkreise. Diese Schaltung überwacht die Zugriffszeit des Speichers und erzeugt das "Ready" -Signal entsprechend. Manchmal erfolgt dies mit einem Wartungs-State-Generator-Chip. Auf diese Weise kann der Systemdesigner die Anzahl der benötigten Wartezustände basierend auf der Geschwindigkeit des verwendeten Speichers einstellen. Ein schnellerer Speicher würde weniger Wartezustände erfordern, während langsamerer Speicher mehr erfordern würde.
Zusammenfassend ist der Wartezustand kein intrinsischer Bestandteil des 8086 -Befehlssatzes, sondern ein Mechanismus zur Synchronisierung des CPU -Betriebs mit langsameren externen Geräten unter Verwendung des externen "Ready" -Signals.