HINTERGRUND DER ERFINDUNG
-
Die Erfindung betrifft einen Mikroprozessor in einem
Informationsverarbeitungssystem und insbesondere eine zentrale
Verarbeitungseinheit vom mikroprogrammgesteuerten Typ (im
folgenden "Mikroprogrammkontroller" genannt).
-
Bei einem Mikroprogrammkontroller werden durch eine
Bedienungsperson programmierte Befehle in einem Programmspeicher
als ein Makrobefehl gespeichert. Jeder Makrobefehl umfaßt
Adreßinformationen, die eine Startadresse oder eine Folge
von Mikrobefehlen zur Ausführung des Makrobefehls
bezeichnen. Die Folge der Mikrobefehle für die entsprechenden
Makrobefehle sind in einem Mikrobefehlsspeicher gespeichert.
Wenn ein Makrobefehl aus dem Programmspeicher gelesen wird,
wird die Folge der Mikrobefehle für diesen Makrobefehl aus
dem Mikrobefehlsspeicher gelesen. Der Kontroller führt die
Folge der Mikrobefehle aus. Auf diese Weise wird der
Makrobefehl ausgeführt.
-
Wenn eine Unterbrechungsanforderung während der
Befehlsausführung auftritt, wird im allgemeinen die
Unterbrechungsverarbeitung nicht direkt ausgeführt, und sie wird nach der
Befehlsausführung vorgenommen. Mit anderen Worten umfaßt
die Folge von Mikrobefehlen für jeden Makrobefehl an ihrem
Ende einen bedingten Unterbrechungszweigbefehl. Wenn jedoch
eine Befehlsausführungszeit lang ist, wie bei einem STRING-
Befehl zum Übertragen einer Zeichenfolge oder einer
Bitfolge, ist es für eine Echtzeitverarbeitung vorteilhaft,
eine Unterbrechungsanforderung während der
Befehlsausführung zu erhalten. Bei der Ausführung des STRING-Befehls
wird eine Schleife von Mikrobefehlen zum Übertragen einer
Dateneinheit der Zeichenfolge oder der Bitfolge in einer
Anzahl wiederholt, die durch die Länge der Zeichenfolge
oder Bitfolge bestimmt ist. Dementsprechend wird der
bedingte Unterbrechungszweigbefehl in die Schleife der
Mikrobefehle eingefügt. Wenn die Übertragung einer Dateneinheit
eine vorgegebene Anzahl von Malen durchgeführt ist, wird
ein Endsignal erzeugt, um die Ausführung des STRING-Befehls
zu beenden. Somit erfordert die Schleife der Mikrobefehle
einen weiteren bedingten Zweigbefehl zum Entscheiden, ob
das Datenübertragungs-Endsignal erzeugt wird oder nicht.
-
Auf diese Weise kann eine Unterbrechungsanforderung während
der Ausführung des STRING-Befehls empfangen werden. Die
Schleife der Mikrobefehle umfaßt jedoch zwei bedingte
Zweigbefehle. Insbesondere wird der bedingte Zweigbefehl
zweimal durchgeführt, jedesmal, wenn eine Dateneinheit der
Zeichenfolge oder der Bitfolge übertragen wird. Als
Ergebnis ist die Ausführungszeit des STRING-Befehls verlängert.
ZUSAMMENFASSUNG DER ERFINDUNG
-
Dementsprechend ist es eine Aufgabe der Erfindung, einen
Mikroprozessor zu schaffen, der eine
Unterbrechungsanforderung während der Befehlsausführung ohne eine Verlängerung
der Befehlsausführungszeit erhält.
-
Eine weitere Aufgabe der Erfindung liegt in der Schaffung
eines Mikroprogrammkontrollers, der ein
Unterbrechungsanforderungssignal
empfangen kann, das zeitweilig während der
Ausführung eines Befehls zugeführt wird.
-
Ein erfindungsgemäßer Prozessor umfaßt Mittel zum Speichern
einer Folge von Mikrobefehlen für jeden Makrobefehl,
Mittel, die auf den auszuführenden Makrobefehl ansprechen, zum
Lesen der zugeordneten Folge von Mikrobefehlen aus den
Speichermitteln, Mittel zum Ausführen der Folge von
Mikrobefehlen, die aus den Speichermitteln ausgelesen sind, ein
ODER-Tor, dem ein Unterbrechungsanforderungssignal und ein
Befehlendesignal zugeführt wird, Mittel zur Erfassung des
Pegels eines Ausgangssignals des ODER-Tores, wenn der aus
den Speichermitteln ausgelesene Mikrobefehl eine
zusammengesetzte bedingte Zweigbefehlinformation enthält, um ein
Detektorsignal auszugeben, wenn das Ausgangssignal des
ODER-Tores einen aktiven Pegel einnimmt, und Mittel, die
auf das Detektorsignal ansprechen, zur Bezeichnung einer
Zweigadresse der Speichermittel zum Lesen eines
Mikrobefehls, der in der Zweigadresse gespeichert ist.
-
Dementsprechend sind bei der Ausführung des STRING-Befehls
nicht zwei bedingte Zweigbefehle in einer Schleife von
Mikrobefehlen zum Übertragen einer Dateneinheit einer
Zeichenfolge oder einer Bitfolge erforderlich. Nur ein
bedingter Zweigbefehl ist in der Schleife der Mikrobefehle
erforderlich. Wenn der bedingte Zweigbefehl aus den
Speichermitteln ausgelesen und dann ausgeführt wird, wird der
Ausgangspegel des ODER-Tores erfaßt. Wenn sowohl das
Unterbrechungsanforderungssignal als auch das Befehlsendesignal
nicht erzeugt werden, nimmt der Ausgang des ODER-Tores
einen inaktiven Pegel ein. Das Detektorsignal wird nicht
erzeugt. Die Übertragung einer Dateneinheit der
Zeichenfolge oder der Bitfolge wird somit wiederholt. Wenn
zumindest eines, das Unterbrechungsanforderungssignal oder das
Befehlendesignal, erzeugt werden, wird das Detektorsignal
durch Ausführung des bedingten Zweigbefehls erzeugt. Die
Zweigadresse wird dadurch bezeichnet, und eine
Zweigverarbeitung wird durchgeführt. Bei der Zweigbearbeitung wird
ein Befehl zum Entscheiden, welches der Signale, das
Unterbrechungsanforderungssignal oder das Befehlendesignal,
zugeführt wurde, zunächst ausgeführt. Falls entscheiden wird,
daß das Unterbrechungsanforderungssignal zugeführt wird,
wird der Inhalt eines Programmzählers, der die Adresse
eines Programmspeichers, der die Makrobefehle speichert, und
der Inhalt eines Programmstatuswortes in
Zwischenspeicherbereiche gespeichert, und eine Unterbrechungsverarbeitung
wird dann ausgeführt. Für den Fall des Bestimmens, daß das
Befehlendesignal zugeführt wird, wird ein dem STRING-Befehl
nächstes Makroprogramm aus dem Programmspeicher ausgelesen,
und eine Folge von Mikrobefehlen für das nächste
Makroprogramm wird ausgeführt. Auf diese Weise kann der
erfindungsgemäße Prozessor eine Unterbrechungsanforderung während der
Ausführung des STRING-Befehls ohne Verlängerung der
Ausführungszeit für den STRING-Befehl empfangen.
-
Das Unterbrechungsanforderungssignal wird häufig zeitweilig
zugeführt, und in diesem Fall könnte es vor der
Zweigverarbeitung verschwinden. Auf diese Weise tritt ein Fehlbetrieb
des Prozessors auf. Um diesen Nachteil zu vermeiden, umfaßt
ein erfindungsgemäßer Prozessor ferner Mittel zum Halten
eines Unterbrechungsanforderungssignals. Selbst wenn das
Unterbrechungsanforderungs signal vor der Zweigverarbeitung
verschwindet, wird festgestellt, daß die
Verzweigungsbedingung durch die Unterbrechungsanforderung bewirkt ist. Ein
Fehlbetrieb des Prozessors tritt somit nicht auf.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die obigen und andere Aufgaben, Vorteile und Merkmale der
Erfindung werden aus der folgenden Beschreibung in
Verbindung mit den beigefügten Zeichnungen deutlich. Es zeigen:
-
Fig. 1 ein Blockdiagramm eines Ausführungsbeispiels der
Erfindung,
-
Fig. 2 ein Ablaufdiagramm zur Erläuterung des Betriebs
eines in Fig. 1 dargestellten Kontrollers,
-
Fig. 3 ein Blockdiagramm eines weiteren
Ausführungsbeispiels der Erfindung, und
-
Fig. 4 ein Flußdiagramm zur Erläuterung des Betriebs des in
Fig. 3 dargestellten Kontrollers.
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSBEISPIELE
-
Bezugnehmend auf Fig. 1 umfaßt ein Mikroprogrammkontroller
gemäß einem Ausführungsbeispiel der Erfindung ein
Mikrobefehls-ROM (Nur-Lese-Speicher) 1, der eine Folge von
Mikrobefehlen für Makrobefehle speichert, die ihrerseits in
einem Programm-ROM (nicht dargestellt) gespeichert und durch
eine Bedienungsperson programmiert sind. Jeder der
Makrobefehle umfaßt eine Adreßinformation, die eine Startadresse
der zugeordneten Folge von Mikrobefehlen bezeichnet.
Dementsprechend wird die Adreßinformation des
auszuführenden Makrobefehls einem Mikroadreßregister 2 als
Startadresse zugeführt. Auf diese Weise wird ein
Start-Mikrobefehl der Folge von Mikrobefehlen für den
auszuführenden Makrobefehl ausgelesen und einem Dekoder 3 zugeführt.
Der Dekoder 3 dekodiert den ausgelesenen Mikrobefehl und
erzeugt Daten- und/oder Steuersignale 301, die ihrerseits
einem Ausführungsteil 4 einschließlich einer arithmetischen
und logischen Einheit (nicht dargestellt) zugeführt werden,
zur Ausführung einer arithmetischen und/oder logischen
Operation und zur Steuerung eines Datenspeichers und
verschiedener I/O-Einheiten (alle nicht dargestellt) über einen
interen Bus 401. Der Dekoder 3 erzeugt weiterhin
Zweigadresseninformationen 303 und Verzweigungssteuersignale 302,
wenn der aus dem ROM 1 ausgelesene Mikrobefehl ein
Zweigbefehl ist. Die Zweigadresseninformation 303 wird einem
ersten Satz Eingangsanschlüsse eines Multiplexers 6
zugeführt,
wobei ein zweiter Satz Eingangsanschlüsse mit
Adreßinformationen versorgt wird, die durch Inkrementieren
des Inhalts des Mikroadreßregisters 2 um 1 durch einen
Inkrementer 5 erhalten werden. Der Multiplexer 6 wählt die
Adreßinformation des Dekoders 3, wenn ein seinem
Steueranschluß 601 zugeführtes Steuersignal einen hohen Pegel
einnimmt, und das von dem Inkrementer 5, wenn das Steuersignal
einen niedrigen Pegel einnimmt, wodurch die ausgewählte
Adreßinformation dem Mikroadreßregister 2 zugeführt wird.
Die Zweigsteuerbefehle 302 von dem Dekoder 3 werden einer
Verzweigungssteuereinheit 7 zugeführt. Wenn der Dekoder 3
einen unbedingten Zweigbefehl dekodiert, erzeugt die
Zweigsteuereinheit 7 ein Hochpegel-Ausgangssignal 704 ohne
Beurteilung des Pegels seiner Eingangsanschlüsse 701 bis 703,
wobei das Hochpegel-Ausgangssignal 704 seinerseits dem
Multiplexer 601 als Steuersignal zugeführt wird. Wenn
andererseits ein bedingter Zweigbefehl dekodiert wird, beurteilt
die Verzweigungssteuereinheit 7 den Pegel an jedem ihrer
Anschlüsse 701 bis 703 entsprechend dem Inhalt des
bedingten Zweigbefehls und erzeugt das Hochpegel-Ausgangssignal
704, wenn der beurteilte Anschluß 701, 702 oder 703 einen
aktiven Pegel einnimmt. Bei diesem Ausführungsbeispiel wird
ein Unterbrechungsanforderungssignal INT dem ersten
Anschluß 701 der Einheit 7 über ein ODER-Tor 10 zugeführt.
Wie vorstehend beschrieben, wird bei der Ausführung des
STRING-Befehls zur Übertragung einer Zeichenfolge oder
einer Bitfolge eine Schleife von Mikrobefehlen zum Übertragen
einer Dateneinheit der Befehlsfolge oder der Bit folge in
einer vorgegebenen Anzahl von Malen wiederholt. Diese
Anzahl von Malen ist in einem Schleifenzähler 9 gespeichert,
der seinerseits den darin gespeicherten Wert jedesmal dann
um 1 vermindert, wenn eine Dateneinheit der Befehlsfolge
oder der Bitfolge übertragen ist, und erzeugt schließlich
ein Hochpegel-Ausgangssignal als STRING-Befehlsendesignal,
wenn der Wert zu 0 wird Das Ausgangssignal des
Schleifenzählers
9 wird dem zweiten Anschluß 702 der Einheit 7
zugeführt.
-
Um eine Unterbrechungsanforderung während der Ausführung
des STRING-Befehls ohne Verlängerung seiner Ausführungszeit
zu empfangen, ist ein ODER-Tor 8 vorgesehen, und ein
bedingter Zweigbefehl ist in dem Mikrobefehls-ROM 1
entsprechend der vorliegenden Erfindung vorgesehen. Dem ODER-Tor 8
wird das Unterbrechungsanforderungssignal INT an seinem
einen Anschluß und das Ausgangssignal des Schleifenzählers
9 an seinem anderen Eingangsanschluß zugeführt, und der
Ausgangsanschluß des ODER-Tores 8 ist mit dem dritten
Anschluß 703 der Einheit 1 verbunden. Der bedingte
Zweigbefehl wird verwendet, um den Pegel des Anschlusses 703, d.h.
den Ausgangspegel des ODER-Tores 8, zu erfassen.
-
Eine detaillierte Beschreibung des Ausführungsvorganges des
STRING-Befehls wird im folgenden mit Bezug auf Fig. 2
durchgeführt. Wenn der STRING-Befehl als auszuführender
Makrobefehl ausgelesen wird, wird eine Startadresse einer
Folge von Mikrobefehlen für den STRING-Befehl in dem
Mikroadreßregister 2 eingestellt, wodurch das Lesen der Folge
von Mikrobefehlen aus dem Mikrobefehls-ROM 1 beginnt. Durch
Ausführung einiger Mikrobefehle in der Folge von
Makrobefehlen wird eine Voroperation des STRING-Befehls
ausgeführt, wie durch den Schritt 100 in Fig. 2 dargestellt ist.
Bei der Voroperation des STRING-Befehls werden die
Zuweisung einer Startadresse der zu übertragenden Zeichenfolge
oder Bitfolge, die Bezeichnung einer Bestimmungsadresse,
eine arithmetische Operation zum Erhalten der Anzahl von
Datenübertragungszeiteinheiten etc. durch den
Ausführungsteil 4 unter Steuerung des Dekoders 3 durchgeführt. Ein
nächster Mikrobefehl wird anschließend aus dem ROM 1
ausgelesen und durch den Ausführungsteil 4 ausgeführt, um in dem
Schleifenzähler 9 einen Zählwert, der der Anzahl von
Dateneinheitsübertragungen entspricht, zu speichern, wie in Fig.
2 durch den Schritt 101 angegeben ist. Anschließend wird
der bedingte Zweigbefehl (im Folgenden als "JSTRT"-Befehl
bezeichnet) erfindungsgemäß aus dem Mikrobefehls-ROM 1
ausgelesen. Als Ergebnis des Dekodierens des JSTRT-Befehls
erzeugt der Dekoder 3 eine Zweigadresseninformation 303 und
veranlaßt die Verzweigungssteuereinheit 7, den
Eingangspegel des dritten Anschlusses 703, d.h. den Ausgangspegel des
ODER-Tores 8, zu beurteilen, durch die Steuersignale 302.
Wenn weder das Unterbrechungsanforderungssignal INT als
auch das Hochpegel-Ausgangssignal des Schleifenzählers 9
nicht zugeführt werden, d.h. wenn eine
Unterbrechungsanforderung nicht auftritt und der Inhalt des Schleifenzählers 9
nicht 0 ist, nimmt der Ausgang des ODER-Tores 8 einen
niedrigen Pegel (inaktiven Pegel) ein. Das
Tiefpegel-Steuersignal 704 wird somit von der Einheit 7 erzeugt, so daß der
Multiplexer 6 die Adreßinformation von dem Inkrementer 5
auswählt und sie dem Mikroadreßregister 2 zuführt. Auf
diese Weise wird die der Adresse, bei der der JSTRT-Befehl
gespeichert ist, nächste Adresse bezeichnet. Der in der
bezeichneten Adresse gespeicherte Mikrobefehl umfaßt eine
Datenübertragungsinformation. Dementsprechend wird eine
Dateneinheit der Zeichenfolge oder der Bit folge durch den
Ausführungsteil 4 in die Bestimmungsadresse übertragen, wie
durch den Schritt 103 in Fig. 2 dargestellt ist. Als
Ergebnis der Datenübertragung inkrementiert der Ausführungsteil
4 die Adresse der zu übertragenden Zeichenfolge oder
Bitfolge um 1, und der Schleifenzähler 9 dekrementiert den
darin gespeicherten Zählwert um 1. Falls gewünscht, können
die in Fig. 2 dargestellten Schritte 102 und 103
ausgetauscht werden. Ein unbedingter Zweigbefehl wird als
nächster Mikrobefehl durchgeführt. Dementsprechend erzeugt der
Dekoder 3 die Zweigadresseninformation, die die Adresse
bezeichnet, an der der JSTRT-Befehl gespeichert ist, und die
Verzweigungssteuereinheit 7 erzeugt das
Hochpegel-Ausgangssignal 704. In dem Mikroadreßregister 2 wird dadurch die
Adresse gespeichert, an der der JSTRT-Befehl gespeichert
ist. Somit werden Dateneinheiten der Zeichenfolge oder der
Bitfolge nacheinander übertragen.
-
Wenn eine Unterbrechungsanforderung auftritt und/oder der
Inhalt des Schleifenzählers 9 zu 0 wird, erfaßt die
Verzweigungssteuereinheit 7 den hohen Pegel (aktiven Pegel)
des Ausgangs des ODER-Tores 8 durch Ausführung des JSTRT-
Befehls und erzeugt das Hochpegelsignal 704, das
seinerseits dem Multiplexer 6 zugeführt wird. Die
Zweigadresseninformation des Dekoders 3 wird somit dem
Mikroadreßregister 2 zugeführt. Auf diese Weise wird eine
Verzweigungsverarbeitung ausgeführt.
-
Bei der Verzweigungsverarbeitung wird ein bedingter
Unterbrechungszweigbefehl (im folgenden "JINTR-Befehl"
bezeichnet) oder ein bedingter Nullzweigbefehl (im folgenden als
"JZLC-Befehl" bezeichnet) zuerst ausgeführt. Bei diesem
Ausführungsbeispiel wird der JINTR-Befehl durchgeführt, wie
durch den Schritt 104 in Fig. 2 angegeben ist.
Dementsprechend erfaßt die Verzweigungssteuereinheit 7 den Pegel am
ersten Anschluß 701. Falls das
Unterbrechungsanforderungssignal INT zugeführt wird, nimmt der Pegel am ersten
Anschluß 701 den hohen Pegel an. Aufgrunddessen führt die
Einheit 7 das Hochpegelsignal 704 dem Multiplexer 6 zu, so
daß die zweite Zweigadresseninformation des Dekoders 3 dem
Mikroadreßregister 2 zugeführt wird. Eine
Unterbrechungsfreigabeoperation wird auf diese Weise durchgeführt, wie im
Schritt 105 in Fig. 2 dargestellt ist. Bei der
Unterbrechungsfreigabeoperation werden das Zwischenspeichern der
Inhalte eines Programmzählers und eines
Programmstatuswortes (nicht dargestellt), das Lesen einer durch die
Startadresse bezeichneten Makrobefehls für eine
Unterbrechungsverarbeitung und das Einstellen einer Startadresse
für eine Folge von Mikrobefehlen für den auszuführenden
Makrobefehl durch Verwendung des Ausführungsteils 4
durchgeführt. Wenn die Unterbrechungsverarbeitung beendet ist,
wird der STRING-Befehl erneut ausgeführt, um die
verbleibenden Daten der Befehlsfolge oder der Bitfolge zu
übertragen. Wenn andererseits der erste Anschluß 702 den niedrigen
Pegel aufweist, erzeugt die Verzweigungssteuereinheit 7 das
Tiefpegel-Ausgangssignal 704. Dies bedeutet, daß der Inhalt
des Schleifenzählers 9 zu 0 wird. Dementsprechend wird die
Adreßinformation vom Inkrementer 5 dem
Mikroprogrammregister 2 zugeführt, und eine STRING-Befehlendeoperation wird
ausgeführt, wie durch den Schritt 106 in Fig. 2 angegeben
ist. Bei dieser Operation wird der Inhalt eines
Programmzählers (nicht dargestellt) um 1 erhöht, um einen nächsten
Makrobefehl auszulesen und eine Startadresse einer Folge
von Mikrobefehlen zur Ausführung des nächsten Makrobefehls
in dem Mikroadreßregister 2 unter Steuerung der
Ausführungseinheit 4 zu speichern.
-
Wenn der JZLC-Befehl bei der Verzweigungsverarbeitung als
erstes ausgeführt wird, wird der in Fig. 2 dargestellte
Schritt 104 durch den JZLC-Befehl ersetzt, und die Schritte
105 bzw. 106 werden ausgeführt, wenn der zweite Anschluß
702 den niedrigen Pegel bzw. den hohen Pegel einnimmt.
-
Da nur ein bedingter Zweigbefehl (d.h. der JSTRT-Befehl)
während der Datenübertragung ausgeführt wird, ist die
Ausführungszeit für den STRING-Befehl nicht verlängert. Wenn
eine Unterbrechungsanforderung während der Ausführung des
STRING-Befehls auftritt, wird eine
Unterbrechungsverarbeitung ohne Abwarten des Endes des STRING-Befehls ausgeführt.
-
Das Unterbrechungsanforderungssignal INT wird häufig
zeitweilig zugeführt. In diesem Fall kann das zeitweilige
Unterbrechungsanforderungssignal INT vor der Ausführung des
JINTR-Befehls in der Verzweigungsverarbeitung verschwinden,
so daß der Schritt 106, der in Fig. 2 dargestellt ist,
ausgeführt wird, um den STRING-Befehl zu beenden. Dadurch
tritt ein Fehlbetrieb auf.
-
Um diesen Nachteil zu vermeiden, sind ein ODER-Tor 10, eine
S-R-Flipflop-Schaltung 11 (im folgenden "F/F-Schaltung"
bezeichnet), ein UND-Tor 12 und eine Verzögerungsschaltung 13
erfindungsgemäß vorgesehen. Dem ODER-Tor 10 wird das
zeitweilige Unterbrechungsanforderungssignal INT und das
Q-Ausgangssignal der F/F-Schaltung 11 zugeführt, und sein
Ausgangsanschluß ist mit dem Anschluß 701 der Einheit 7 und
dem Eingang des ODER-Tores 8 verbunden. Das zeitweilig
auftretende Unterbrechungsanforderungssignal INT wird
weiterhin über eine Verzögerungsschaltung 13 einem Anschluß des
UND-Tores 12 zugeführt, dessen anderer Anschluß das
Ausgangssignal 704 der Verzweigungssteuereinheit 7 erhält. Der
Ausgang des UND-Tores 12 ist mit einem Set-Anschluß S der
F/F-Schaltung 11 verbunden, dessen Anschluß R mit einem
Rückstellsignal 401 von dem Ausführungsteil 4 versorgt
wird. Die Verzögerungsschaltung 13 verzögert das
zeitweilige Auftreten des Unterbrechungsanforderungssignals INT um
eine Verzögerungszeit, die etwa gleich der Zeitspanne von
einem Zeitpunkt, zu dem der JSTRT-Befehl ausgeführt wird,
zu einem Zeitpunkt, bei dem die Verzweigungssteuereinheit 7
das Hochpegel-Ausgangssignal 704 erzeugt, ist. Wenn das
Hochpegel-Ausgangssignal 704 aufgrund der Ausführung des
JSTRT-Befehls erzeugt wird, erzeugt dementsprechend das
UND-Tor das Hochpegel-Ausgangssignal zum Einstellen der
F/F-Schaltung 11, deren Q-Ausgang dadurch auf den hohen
Pegel geändert wird und diesen hält. Insbesondere wird das
temporäre Unterbrechungsanforderungssignal INT durch die
F/F-Schaltung 11 gehalten. Wenn der JINTR-Befehl durch die
Verzweigungsverarbeitung ausgeführt wird, wird der hohe
Pegel des ersten Anschlusses 701 der Einheit 7 erfaßt, so daß
die Unterbrechungsfreigabeoperation ausgeführt wird. Kein
Fehlbetrieb tritt auf. Bei dem
Unterbrechungsfreigabevorgang erzeugt der Ausführungsteil 4 ein Rückstellsignal 401
zum Rückstellen der F/F-Schaltung 11. Der Q-Ausgang wird
dadurch auf den niedrigen Pegel geändert. Wenn andererseits
das Hochpegel-Ausgangssignal 704 als Ergebnis der Tatsache
erzeugt wird, daß der Inhalt des Schleifenzählers 9 zu 0
wird, wird die F/F-Schaltung 11 nicht eingestellt. Die
STRING-Befehlendeoperation wird dadurch ausgeführt.
-
Wenn die Adresse der zu übertragenden Dateneinheit und/oder
die Bestimmungsadresse eine bestimmte Grenze des
Speicherumfanges überschreitet, muß der STRING-Befehl beendet
werden. Ein Aufbau für diesen Zweck ist in Fig. 3 als
weiteres Ausführungsbeispiel der Erfindung dargestellt, bei
dem dieselben Bestandteile wie in Fig. 1 mit denselben
Bezugsziffern versehen sind, um ihre weitere Beschreibung zu
unterlassen. In Fig. 3 ist ein ODER-Tor mit drei
Eingangsanschlüssen verwendet, deren erster und zweiter
Eingangsanschluß mit dem Unterbrechungsanforderungssignal INT bzw.
dem Ausgangssignal des Schleifenzählers 9 versorgt werden
und deren dritter Eingangsanschluß mit einem Steuersignal
402 von dem Ausführungsteil 4 versorgt wird. Das Signal 402
wird weiterhin einem vierten Eingangsanschluß 705 der
Verzweigungssteuereinheit 7 zugeführt. Die Ausführungseinheit
4 erzeugt ein Hochpegelsignal 402, wenn die Adresse der zu
übertragenden Dateneinheit und/oder die Bestimmungsadresse
die spezielle Grenze eines Speicherbereichs überschreitet.
-
Ein Flußdiagramm zur Erläuterung des Betriebs dieses
Prozessors ist in Fig. 4 dargestellt. Wenn irgendeines der
Signale, d.h. das Unterbrechungsanforderungssignal INT, das
Hochpegel-Ausgangssignal des Schleifenzählers 9 oder das
Mochpegel-Steuersignal 402, zugeführt werden, nimmt der
Ausgang des ODER-Tores 80 den hohen Pegel ein, so daß die
Verzweigungsverarbeitung nach der Ausführung des
JSTRT-Befehls durchgeführt wird. Angenommen, das ODER-Tor nimmt
aufgrund der Tatsache, daß das Hochpegel-Steuersignal 402
ihm zugeführt wird, den hohen Pegel ein, erzeugt die
Verzweigungssteuereinheit 7 kein Hochpegel-Ausgangssignal 704,
selbst wenn die JINTR- und JZLC-Befehle ausgeführt werden.
-
Auf diese Weise wird eine Grenzüberschrittsoperation, die
in Fig. 4 durch den Schritt 108 bezeichnet ist, ausgeführt.
Bei dieser Operation wird die Ausführung des STRING-Befehls
beendet, und eine den Grenzüberschritt angebende Nachricht
wird ausgeführt. In diesem Ausführungsbeispiel sind
ebenfalls eine Halteschaltung aus der F/F-Schaltung 11, dem
UND-Tor 12 und der Verzögerungsschaltung 13 vorgesehen, um
ein zeitweilig auftretendes
Unterbrechungsanforderungssignal INT zu halten.