-
Die Erfindung betrifft eine Buszustands-Steuerschaltung
eines Mikroprozessors und insbesondere eine
Buszustands-Steuerschaltung, die innerhalb eines Mikroprozessors vorgesehen
ist, an den ein Eingangs-Ausgangs-Steuer (periphere
Steuerung)-IC durch einen Bus gekoppelt ist.
-
Der Zugriff eines Mikroprozessors auf einen
Eingangs-Ausgangs-Steuer-IC wie einem Kommunikationssteuer-IC und einem
Magnetplatten-Steuer-IC wurde bislang durch die Ausfughrung
von Eingabe-Ausgabe-Befehlen durchgeführt. Normalerweise
ergibt sich kein Problem bei der "Erholungszeit" des
Eingangs-Ausgangs-Steuer-ICs, d.h. der Zeitspanne zwischen dem
Ende eines Zugriffs und dem Beginn eines folgenden
Zugriffs, selbst wenn auf denselben Eingangs-Ausgangs-Steuer-
IC aufeinanderfolgend entsprechend vorgegebenen Befehlen
zugegriffen wird, da die Betriebsfrequenz des
Mikroprozessors klein ist und ein Befehlsholvorgang zum Finden des
nächsten Befehls immer zwischen Eingangs-Ausgangs-Zugriffen
eingeht.
-
Fig. 1 ist ein Zeitablaufdiagrarnm, das sich auf einen
externen Zugriff in dem Fall bezieht, wenn ein Mikroprozessor
aufeinanderfolgend Eingangs-Ausgangs-Befehle in bekannter
Weise ausführt. Ein Tastsignal DS wird zum Lesen und
Schreiben von Daten verwendet, und es gibt die Zeit an,
wann ein Zugriff möglich ist. Die "Erholungszeit" wird als
die Zeitspanne zwischen dem Zeitpunkt angesehen, in dem das
Tastsignal inaktiv wird, und dem Zeitpunkt, wenn es erneut
für den Zugriff auf den neuen Eingangs-Ausgangs-Steuer-IC
aktiv wird. Wie in Fig. 1 dargestellt ist, wird eine lange
Erholungszeit erhalten, selbst wenn derselbe
Eingangs-Ausgangs-Steuer-IC aufeinanderfolgend angesprochen wird, da
der Befehlsholzyklus zwischen die aufeinanderfolgenden
Eingangs-Ausgangs-Zugriffszyklen eingefügt ist.
-
Zusammen mit Verbesserungen hinsichtlich der
Integrationskapazität der LSI nähern sich die Fähigkeiten und
Funktionen von Mikroprozessoren punktuell an die der Mikrocomputer
und der mittelgroßen Allzweckcomputer. Verbesserungen der
Techniken zur Herstellung von Mikroelementen und Einfügung
einer Pipelinestruktur in der Mikroprozessorarchitektur
haben zu diesem Fortschritt beigetragen.
-
Bei der Verbesserung der Mikroprozessorarchitektur wurde
das Verhältnis des externen Zugriffs, d.h. das sog.
"Buszugriffsverhältnis" (bus access ratio), auf einen sehr
wesentlichen Grad angehoben. Mit anderen Worten können
Prozesse wie das Befehlsholen, das Befehlsdekodieren, der
Operandenzugriff und Befehlsausführung, die früher seriell
durchgeführt wurden, nunmehr parallel aufgrund der
Pipelinestruktur der Mikroprozessorarchitektur durchgeführt
werden. Durch diesselbe Maßnahme wie beim Operandenzugriff,
wird das Lesen eines Operanden, der für einen sich an einen
gegebenen Befehl anschließenden Befehl erforderlich ist,
der gerade ausgeführt wird, und das Schreiben eines
Operanden, der in einem Befehl enthalten ist, der bereits beendet
ist, aufeinanderfolgend erforderlich.
-
Hinsichtlich der Eingabe und Ausgabevorgänge werden diese
sukzessiv für denselben Eingabe-Ausgabe-Steuer-IC
durchgeführt, wobei die Eingage-Ausgabe-Zugriffszyklen manchmal
aufeinanderfolgend, ohne Einfügung des Befehlsholzyklus,
auftreten können. Dies verursacht ein Problem dadurch, daß
die Erholungszeit nicht sichergestellt werden kann, da die
Zeitspanne zwischen dem Ende eines Zugriffs und dem Beginn
eines folgenden Zugriffs kurz wird.
-
Ein System, in dem Software derart vorbereitet ist, daß
Eingabe-Ausgabe-Befehle nicht aufeinanderfolgend
durchgeführt werden, ist ein Weg zur Lösung des vorgenannten
Problems. Ein solches System muß jedoch Faktoren in Bezug auf
Hardware, beispielsweise die Pipelinestruktur eines
gegebenen Mikroprozessors, den Grad der Parallelausführung von
Befehlen, die Taktfrequenz und die Erholungszeit für den
Eingangs-Ausgangs-IC berücksichtigen. Folglich wird einem
Softwareentwickler eine deutliche Belastung auferlegt.
Selbst wenn eine Programmlösung umgesetzt ist, kann
desweiteren dasselbe Programm nicht in einem anderen System
arbeiten, das unterschiedliche Faktoren bezüglich der
Hardware aufweist. Selbst wenn die Software eine ausreichende
Zeit zwischen Eingangs-Ausgangs-Befehlen erlaubt, so daß
sie in verschiedenen Systemen arbeiten kann, wird sie
derartige nicht effektive Systeme betreiben, die nicht soviel
Zeit zur Erholung brauchen.
-
Wie oben beschrieben, bestehen mehrere Nachteile in dem
System, bei dem die Erholungszeit durch Software
sichergestellt ist.
-
Eine andere Lösung kann in einem System gefunden werden,
bei dem Hardware eine feste Zeitspanne zur Sicherstellung
der Erholungszeit vorsieht, die immer zwischen Zugriffen
für Eingabe- und Ausgabe eingebracht ist. Dieses System hat
einen Nachteil darin, daß ein unnötiger Zeitanteil
gebraucht wird, wenn Zugriffe für Eingabe und Ausgabe nicht
aufeinanderfolgend zum selben IC durchgeführt werden. Dies
führt zu einer Beschränkung hinsichtlich der
Systemleistungsfähigkeit.
-
E.D.N. Electrical Design News, Ausgabe 30, Nr. 7, April
1985, Seiten 274-275, Boston, Mass., Vereinigte Staaten von
Amerika; I.R. JOHNS: "Interface circuittry tames Z8530",
beschreibt einen monostabilen Zeitgeber zur Sicherstellung
der Minimal zeit zwischen aufeinanderfolgenden Buszugriffen
von einer CPU auf eine I/O-Vorrichtung. Das bedeutet, daß
der in dieser Druckschrift beschriebene Zeitgeber eine
Schnittstellenschaltung ist, und eine
Buszustands-Steuerschaltung ist nicht offenbart.
-
Eine Aufgabe der Erfindung liegt in der Schaffung einer
Buszustands-Steuerschaltung, die in der Lage ist, die
Erholungszeit des Eingangs-Ausgangs-Steuer-IC sicherzustellen.
-
Eine weitere Aufgabe der Erfindung liegt in der Schaffung
einer Buszustands-Steuerschaltung, die ohne
Berücksichtigung der Hardware wie Pipelinestruktur, den Grad der
Parallelausführung von Befehlen, Taktfrequenz und Erholungszeit
des Eingangs-Ausgangs-Steuer-ICs betreibbar ist.
-
Eine weitere Aufgabe der Erfindung liegt in der Schaffung
einer Buszustands-Steuerschaltung, die in der Lage ist, die
Belastung eines Softwareentwicklers zu vermindern.
-
Eine weitere Aufgabe der Erfindung liegt in der Schaffung
einer Buszustands-Steuerschaltung, die effektiv arbeitet,
selbst wenn sie mit verschiedenen Hardware-Elementen
aufgebaut ist.
-
Noch eine weitere Aufgabe der Erfindung liegt in der
Schaffung einer Buszustands-Steuerschaltung, die effektiv
betreibbar ist, selbst wenn der Zugriff auf den Eingangs
-Ausgangs-Steuer-IC nicht kontinuierlich erfolgt.
-
Diese Aufgaben werden durch eine
Buszustands-Steuerschaltung gelöst, die im Anspruch definiert ist.
-
Andere Aufgaben und Merkmale der Erfindung werden aus der
folgenden Beschreibung mit Bezug auf die Zeichnungen
deutlich.
-
Fig. 1 ist ein Zeitablaufdiagramm für einen Bus für den
Fall, in dem ein sequentiell verarbeitender Mikroprozessor
aufeinanderfolgende Eingangs-Ausgangs-Befehle abgibt, gemäß
einer bekannten Schaltung,
-
Fig. 2 ist ein Schaltdiagramm eines Ausführungsbeispiels
einer erfindungsgemäßen Buszustands-Steuerschaltung;
-
Fig. 3 ist ein Zustandsübergangsdiagramm des
Ausführungsbeispiels gemäß Fig. 2,
-
Fig. 4 ist ein Schaltungsdiagramm einer
Taktsignal-Erzeugungsschaltung und
-
Fig. 5 bis 8 sind Zeitablaufdiagramme des
Ausführungsbeispiels der Fig. 2.
Bevorzugtes Ausführungsbeispiel der Erfindung
-
Fig. 2 zeigt einen Aufbau einer Ausführungsform
(Zweiphasen-Taktsystem) der Buszustands-Steuerschaltung gemäß der
Erfindung.
-
D-Flip-Flops 102 bis 107 empfangen ein erstes Taktsignal
PHI1 und erzeugen entsprechende Ausgangssignale PI, T1, T2,
T3 und TR, die den aktuellen Buszustand anzeigen. Die
Ausgaben TI, T1, T2, T3 und TR zeigen einen Ruhezustand, einen
ersten Zustand, einen zweiten Zustand, einen dritten
Zustand bzw. einen Zustand zur Sicherstellung einer
Erholungszeit. D-Flip-Flops 108 bis 112 empfangen ein zweites
Taktsignal PHI2 und sind zur Verzögerung der aktuellen
Zustände TI, T1, T2, T3 und TR vorgesehen. D-Flip-Flops 114
und 115 liefern ein Signal PIOAC, das durch Verzögerung
eines I/O-Zugriffsignals IOAC um eine Taktperiode erhalten
wird. Eine Kombinationslogikschaltung 201 empfängt als
Eingänge die durch Verzögerung der Ausgangssignale TI, T1, T2,
T3 und TR des aktuellen Buszustands erhaltenen Signale. Sie
empfängt ferner ein Zugriffsanforderungssignal ACREQ, das
eine Anforderung für einen Zugriff anzeigt, ein
I/O-Zugriffssignal IOAC, das anzeigt, daß das
Zugriffsanforderungssignal ACREQ sich auf eine spezielle Eingabe-Ausgabe
bezieht, wenn dieses Signal aktiv ist, das Signal PIOAC,
das durch Verzögerung des I/O-Zugriffsignals IQAC um einen
Taktpuls erhalten wird, und ein Wartesignal WAIT, das eine
Verlängerung eines Zugriffszyklus anfordert. Das
Zugriffsanforderungssignal ACREQ wird während einer vorgegebenen
Zeitspanne erzeugt, wenn eine zentrale Verarbeitungseinheit
(CPU) eines Mikroprozessors den Zugriff auf ein externes
Element wie ein externer Hauptspeicher oder eine
Peripherieeinheit erfordert. Beispielsweise wird dieses
ACREQ-Signal durche einen Befehlsdekoder erzeugt, wenn der Dekoder
einen Befehl für einen externen Zugriff dekodiert
(beispielsweise Speicherlesen, Speicherschreiben, I/O-Lesen,
I/O-Schreiben).
-
Das I/O-Zugriffsignal IOAC wird aktiv, wenn auf die
Eingangs-Ausgangs-Steuereinheit zuzugreifen ist. Dieses IOAC-
Signal kann ebenfalls durch den Befehlsdekoder erzeugt
werden.
-
Das Wartesignal WAIT wird aktiv, wenn eine lange
Zugriffsdauer erforderlich ist. Wenn in dieser Ausführungsform eine
Zugriffsdauer länger als die Dauer T1 bis T3 erforderlich
ist, wird das WAIT-Signal während einer gewünschten Dauer
aktiv. Beispielsweise in einem Fall, daß ein
Niedergeschwindigkeitsspeicher oder eine
Niedergeschwindigkeits-Peripherieeinheit angesprochen wird, wird das WAIT-Signal
aktiv.
-
Die Logikschaltung 101 bestimmt einen folgenden Buszustand.
-
Die folgende Tabelle 1 ist eine Wahrheitstabelle der
Kombinationslogikschaltung 101.
Tabelle 1
Eingabe
Ausgabe
Verzögerte Signale
-
Im Folgenden wird der Betrieb der vorliegenden
Ausführungsform mit Bezug auf Tabelle 1 erläutert.
-
Zunächst sei angenommen, daß der aktuelle Buszustand der
Zustand TI ist (S1). Wenn das Zugriffs-Anforderungssignal
ACREQ aktiv wird, wird ein Übergang zum Zustand T1 (S2)
durchgeführt. Als nächstes wird ein Übergang zum Zustand T2
(S3) durchgeführt. Falls das Wartesignal WAIT im Zustand T2
aktiv ist, verbleibt der Zustand T2 (S4), falls dieses
Signal inaktiv ist, wird ein Übergang zum Zustand T3
durchgeführt (S5). Dieser Vorgang wird zur Sicherstellung einer
Zugriffszeit für den Eingangs-Ausgangs-Steuer-IC
durchgeführt. Wenn das Zugriffsanforderungssignal ACREQ im Zustand
T3 inaktiv ist, wird ein Übergang zum Zustand TI
durchgeführt (S9). Nach dem Zustand T3 (S5), wenn das
Zugriffs-Anforderungssignal ACREQ aktiv ist und wenn das
I/O-Zugriffssignal IOAC inaktiv ist, wird ein Übergang zum Zustand T1
(S6) durchgeführt. Bei dieser Ausführungsform wird in S6
nicht auf die Eingabe-Ausgabe-Steuereinheit zugegriffen,
während ein externer Speicher angesprochen wird. Wenn das
Zugriffsanforderungssignal ACREQ aktiv ist und das
I/O-Zugriffssignal IOAC aktiv ist, wird ein Wechsel in den
Zustand T1 nach dem Zustand T3, ohne den Zustand TR,
durchgeführt, falls PIOAC inaktiv ist (S7). Das bedeutet, wenn der
vorhergehende Zugriff kein I/O-Zugriff ist, wird der
Zustand T3 direkt, ohne Erholungszeit in den Zustand T1
geändert. Wenn andererseits das ACREQ-Signal aktiv ist und das
PIOAC ebenso aktiv ist, wird ein Übergang in den Zustand TR
vom Zustand T3 durchgeführt, falls IQAC aktiv ist (S8). Das
bedeutet, wenn die IOAC-Signale aufeinanderfolgend
zumindest zweimal aktiviert werden, wird der Zustand TR
notwendigerweise zwischen die Zustände T3 und T1 eingefügt. Auf
diese Weise wird die Erholungszeit geschaffen. Ein Übergang
vom Zustand TR in den Zustand T1 wird unbedingt
durchgeführt (S10).
-
Fig. 3 ist ein Zustands-übergangsdiagramm des
obenbeschriebenen Vorgangs.
-
Wie in Tabelle 1 angezeigt, wird der Zustand TR nur dann
erzeugt, wenn der I/O-Zugriff aufeinanderfolgend
erforderlich ist. Die Dauer des Zustandes T3 kann vorhergehend
entsprechend der Erholungszeit der Eingangs-Ausgangs-
Steuereinheit bestimmt weden. In dieser Ausführungsform ist
eine Taktdauer dem Zustand TR zugeordnet. Der Zustand TR
wird weggelassen, wenn der vorhergehende Zugriff kein IO-
Zugriff ist. Desweiteren kann der Zustand TR weggelassen
werden, wenn eine Dauer, die länger als die Erholungsdauer
ist, zwischen den aufeinanderfolgenden I/O-Zugriffen
vorliegt, da das D-Flip-Flop-115 zurückgesetzt ist.
-
Ein tatsächliches Tastsignal wird unter Verwendung des
Zustandes T1 und des Zustandes T3, wie in Fig. 4 dargestellt
ist, erzeugt. Jedes der D-Flip-Flops 103, 105, 106 und 107
gibt ein Pulssignal aus. Jedes Pulssignal ist in einem
Zyklus des Taktsignals PHI1 aktiv. Die Zustände T1, T2, T3
und TR sind durch Ausgangspulssignale der Flip-Flops 103,
105, 106 bzw. 107 dargestellt.
-
In Fig. 4 wird das Ausgangspulssignal, das den Zustand T1
angibt, das ist das Pulssignal vom Flip-Flop 103, einem
UND-Tor 120 zugeführt, während das Ausgangspulssignal (T3)
vom Flip-Flop 106 einem UND-Tor 121 zugeführt wird. Diese
beiden UND-Signale werden durch das Taktsignal PHI 2
gesteuert. Der Ausgang des UND-Tores 120 ist auf einen
Einstellanschluß (S) eines Set-Reset-Flip-Flops 122
geschaltet. Der Ausgang des UND-Tores 121 ist mit einem
Resetanschluß (R) des Flip-Flops 122 verbunden. Das Flip-Flop 122
aktiviert ein Tastsignal (DS), wenn sowohl das Signal (T1)
als auch das Signal PHI2 vom UND-Tor 120 empfangen werden,
und inaktiviert das Tastsignal (DS), wenn das Signal (T3)
und PHI2 vom UND-Tor 121 empfangen werden. Somit wird das
Tastsignal DS von der Eingangszeitsteuerung des Signals
(T1) bis zur Eingangszeitsteuerung des Signals (T3)
erzeugt.
-
In dieser Ausführungsform der Erfindung wird das Tastsignal
in den Zuständen T1, T2 und T3 aktiviert, wenn das PIOAC-
Signal inaktiv ist. Das Tastsignal wird in den Zuständen
T1, T2, T3 und TR aktiviert, wenn das PIQAC-Signal
aktiviert ist, da die Rücksetzzeit des Flip-Flops 122 durch
Einfügung des Zustandes TR (Erholungszeit) verzögert ist.
-
Fig. 5 ist ein Zeitablaufdiagramm für den Fall, in dem ein
Speicherzugriff anschließend an einen
Ausgangs-Eingangs-Zugriff durchgeführt wird. Das Diagramm zeigt den Übergang
vom Zustand T3, in dem ein Speicherzugriffzyklus
durchgeführt wird, zu dem Zustand T1 des
Eingangs-Ausgangs-Zugriffszyklus. Fig. 6 ist ein Zeitablaufdiagramm für den
Fall, in dem ein Eingangs-Ausgangs-Zugriff anschließend an
den Speicherzugriff erfolgt. Der Übergang wird vom Zustand
T3 des Eingangs-Ausgangs-Zugriffszyklus in den Zustand T1
des Speicherzugriffszyklus durchgeführt. Fig. 7 ist ein
Zeitablaufdiagramm für den Fall, in dem der Eingangs
-Ausgangs-Zugriff aufeinanderfolgend durchgeführt wird. Das
Diagramm zeigt, daß ein Übergang einmal vom Zustand T4 des
anfänglichen Eingangs-Ausgangs-Zugriffszyklus in den
Zustand TR zur Sicherstellung der Erholungszeit vor dem
Übergang zum Zustand T1 des folgenden
Eingangs-Ausgangs-Zugriffszyklus durchgeführt wird. Fig. 8 ist ein
Zeitablaufdiagramm für den Fall, in dem
Eingangs-Ausgangs-Zugriffszyklen aufeinanderfolgend durchgeführt werden, wobei der
Zustand T1 zwischengefügt ist. Es ist dargestellt, daß in
diesem Fall die Erholungszeit sichergestellt ist, ohne
durch den Zustand TR zu gelangen.
-
In dem oben beschriebenen Ausführungsbeispiel ist ein
Eintakt-Intervall dem Zustand zur Sicherstellung der
Erholungszeit zugeordnet. Es kann vorkommen, daß das
Eintakt-Intervall nicht zur Sicherstellung der Erholungszeit des
Eingangs-Ausgangs-Steuer-IC ausreichend ist, aufgrund
solcher Faktoren wie der Taktfrequenz eines Mikroprozessors
und der Anzahl der Takte für einen Buszugriffszyklus. In
diesem Fall kann die Erholungszeit in einfacher Weise durch
Aufbau der Buszustands-Steuerschaltung derart
sichergestellt werden, daß der Zustand zur Sicherstellung der
Erholungszeit wie erforderlich erhöht wird und daß, wenn ein
Eingangs-Ausgangs-Zugriffszyklus aufeinanderfolgend ist,
ein folgender Eingangs-Ausgangs-Zyklus begonnen wird, nach
dem der so erhöhte Zustand durchgelaufen ist. Zur
Verlängerung des Zustandes TR entsprechend der erforderlichen
Erholungszeit kann die Logikschaltung 101 modifiziert werden.
Zum Beispiel wird ein Verzögerungstor zur Verzögerung des
Übergangs vom Zustand TR in den Zustand T1 in die
Logikschaltung 101 eingebracht. Die Logikschaltung 101 kann
durch eine bekannte willkürliche Logikschaltung gebildet
sein.
-
Wie oben beschrieben wurde, kann mit der vorliegenden
Erfindung die Erholungszeit eines Eingangs-Ausgangs-Steuer-IC
mit nur einer unausweichlichen minimalen Verschlechterung
der Leistungsfähigkeit eines Mikroprozessors lediglich
durch Verzögern des Beginns eines folgenden Bus Zyklus
sichergestellt werden, wenn die Buszyklen für Eingabe und
Ausgabe aufeinanderfolgend sind. Die Erfindung verwendet
ein System, bei dem ein erstes Signal, das anzeigt, daß ein
Zugriffsanforderungssignal für eine
Eingangs-Ausgangs-Vorrichtung ist, und ein zweites Signal, das anzeigt, daß ein
Zugriff direkt vor dem Signal für die Eingangs-Ausgangs-
Vorrichtung war, zusammen in eine Buszustandsfolge
eingegeben werden. Desweiteren wird ein Zustand zur Sicherstellung
der Erholungszeit nur in dem Fall eingefügt, wenn ein
vorhergehender Zugriff auf die Eingangs-Ausgangs-Vorrichtung
erfolgte und Zugriffe für die Eingangs-Ausgangs-Vorrichtung
aufeinanderfolgend erfolgen.
-
Erfindungsgemäß kann ferner das Tastsignal als
I/O-Lesetastsignal oder als I/O Schreibtastsignal verwendet werden.
Wenn ein Speicher, der die Erholungszeit erfordert,
verwendet wird, wird die vorliegende Erfindung dort ebenfalls
angewendet. In diesem Fall kann das invertierte IOAC-Signal
dem Flip-Flop 114 eingegeben werden. Ein Speicherzugriffs-
Signal kann als IOAC-Signal verwendet werden.