DE3587643T2 - Informationsverarbeitungseinheit mit Unterbrechungsfunktion. - Google Patents
Informationsverarbeitungseinheit mit Unterbrechungsfunktion.Info
- Publication number
- DE3587643T2 DE3587643T2 DE85102394T DE3587643T DE3587643T2 DE 3587643 T2 DE3587643 T2 DE 3587643T2 DE 85102394 T DE85102394 T DE 85102394T DE 3587643 T DE3587643 T DE 3587643T DE 3587643 T2 DE3587643 T2 DE 3587643T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- request
- register
- unit
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
Description
- Die vorliegende Erfindung betrifft einen Informationsprozessor mit einer Betriebsunterbrechungsfunktion und insbesondere einen Informationsprozessor mit zumindest einer Anspassungsschaltung zum Anzeigen einer Unterbrechungsanforderung von einer Unterbrechungsquelle an den Informationsprozessor.
- Eine Betriebsunterbrechungsfunktion ist eine der wichtigen Funktionen eines Informationsprozessors und ist für einen Mikroprozessor zwingend erforderlich, damit dieser an zumindest eine Peripherieeinrichtung gekoppelt werden kann. Im Stand der Technik werden zwei Typen von Beantwortungssystemen für eine von einer Peripherieeinrichtung kommenden Verarbeitungsanforderung vorgeschlagen. Eines ist ein System, in dem ein Vorhandensein der von einer Peripherieeinrichtung kommenden Verarbeitungsanforderung ständig durch eine zentrale Verarbeitungseinheit (im folgenden CPU genannt) in einem Informationsprozessor programmüberwacht ist. Es wird ganz allgemein als Abrufsystem bezeichnet. Entsprechend diesem System ist die CPU nicht in der Lage, eine Verarbeitung wesentlicher Daten aktiv durchzuführen, sondern überwacht nur ein Vorhandensein der von der Peripherieeinrichtung kommenden Verarbeitungsanforderung, und deshalb kann ein Programm nicht effizient mit hoher Geschwindigkeit ausgeführt werden.
- Das andere ist ein Unterbrechungssystem. Es ist das System, in welchem die CPU die Peripherieeinrichtung nicht direkt überwacht, und es wird nur zu der Zeit, wenn die Verarbeitungsanforderung von der Peripherieeinrichtung in Form eines Unterbrechungssignals an die CPU erzeugt wird, eine gewünschte Datenverarbeitung in der CPU entsprechend einem Unterbrechungs-Nutzungsprogramm ausgeführt. Verglichen mit dem vorigen System kann das letztere die Effektivität einer Programmausführung wirksam erhöhen.
- In diesem Unterbrechungsmodus muß jedoch die CPU den den gegenwärtigen Zustand der CPU-anzeigenden Verarbeitungsstatus in einer Stapeleinrichtung festhalten, bevor die Unterbrechungsverarbeitung gestartet wird, um die durch die Unterbrechung gestoppte Programmausführung korrekt wieder zustarten. Zum Festhalten des Verarbeitungsstatus müssen Inhalte eines Programmzählers, eines Status-Wortregisters und anderer Register, die wichtige Informationen zum Ausführen des Programms halten, in der Stapeleinrichtung (beispielsweise wird im allgemeinen ein Direktzugriffspeicher verwendet) über interne Busse in der CPU gestapelt werden. Ferner müssen die in der Stapeleinrichtung gestapelten Inhalte zu den jeweiligen Registern und dem Programmzähler über die internen Busse zurückgeführt werden, nachdem der Unterbrechungsbetrieb beendet worden ist.
- In dem herkömmlichen Informationsprozessor müssen diese Halte- und Rückführoperationen (organisatorische Operationen) zwangsläufig in Abhängigkeit von einer Unterbrechungsanforderung durchgeführt werden. Beispielsweise wird eine Datenübertragung von einer Peripherieeinrichtung zur CPU und umgekehrt in dem Unterbrechungsmodus durchgeführt. Bei diesem Datenübertragungsvorgang werden jedoch der oben beschriebene Programmzähler, das Status-Wortregister und andere Register nicht benutzt, dennoch müssen diese Inhalte in der Stapeleinrichtung gestapelt werden. Deshalb muß in dem das Unterbrechungssystem verwendenden Informationsprozessor des Standes der Technik eine lange Organisationszeit verbraucht werden. Insbesondere können in dem Fall, in dem ein gängiger Bus in der CPU als der interne Bus verwendet wird, die oben erwähnten Inhalte nicht gleichzeitig zu der Stapeleinrichtung übertragen werden, so daß eine sehr lange Zeitdauer für das Festhalten und Zurückführen benötigt wird.
- Andererseits macht der Fortschritt in der Halbleitertechnologie einen hochintegrierten Schaltkreis möglich. Ein Mikroprozessor, der eine große Anzahl von Elementen auf einem einzigen Halbleiterchip aufweist, wird hergestellt, und eine Vielzahl von Peripherieeinrichtungen, wie eine Wiedergabeeinheit, eine Druckereinheit, eine Tastatureinheit, ein Motor, werden durch einen einzigen Mikroprozessor gesteuert. Ein solcher Mikroprozessor benötigt eine Analog/Digital- oder eine Digital/Analog-Umwandlungsfunktion, eine Zeitgeberfunktion, eine Direkt-Speicherzugriffsfunktion, eine serielle Datenübertragungsfunktion, oder dgl. Deshalb müssen eine Vielzahl von Anpassungsschaltungen zum Steuern eines Informationsaustausches zwischen der CPU und den Peripherieeinrichtungen auf einem einzigen Halbleiterchip zusammen mit der CPU ausgebildet werden. In diesem Zustand muß der Mikroprozessor viele Male eine Unterbrechungsanforderung von den Peripherieeinrichtungen über Anpassungsschaltungen erhalten. Deshalb wird die oben erwähnte Organisationszeit länger, und die Nutzleistung des Mikroprozessors wird weiter reduziert.
- Aufgabe der vorliegenden Erfindung ist, einen Informationsprozessor zu schaffen, der eine Unterbrechungsoperation mit geringerer Organisationszeit durchführen kann.
- Ein weiteres Ziel der vorliegenden Erfindung ist, einen Informationsprozessor zu schaffen, der eine Datenübertragung zwischen einer Peripherieeinrichtung und einer CPU bei hoher Geschwindigkeit in einem Unterbrechungsmodus ausführt.
- Noch ein weiteres Ziel der vorliegenden Erfindung ist, einen Mikroprozessor zu schaffen, der einen Halbleiterchip aufweist, auf welchem wenigstens eine Anpassungsschaltung, die abhängig von einer Unterbrechungsanforderung aus einer externen Unterbrechungsquelle ist und einer CPU eine Hochgeschwindigkeits-Unterbrechungsoperation anzeigt, zusammen mit der CPU integriert ist.
- Ein Informationsprozessor der vorliegenden Erfindung nach Anspruch 1 hat eine zentrale Verarbeitungseinheit (CPU) und zumindest einer Interfaceeinheit. Die Interfaceeinheit hat eine Empfangsschaltung zum Empfangen einer Unterbrechungsanforderung von einer Unterbrechungsquelle und zum Erzeugen eines Anforderungssignals und eines Modussignals an die CPU. Das Modussignal wird dazu verwendet, der CPU einen Unterbrechungsmodus anzuzeigen. Es gibt zwei Unterbrechungsmodi in dem Informationsprozessor. Ein erster Modus ist ein Normalmodus, in welchem die CPU eine Information festhält, die zum Wiederanstarten eines Programms, das durch die Unterbrechung an eine Stapeleinrichtung angehalten worden ist, bevor die CPU die Unterbrechungsoperation ausführt und die festgehaltene Information zurückführt, nachdem die Unterbrechungsoperation beendet worden ist. Ein zweiter Modus ist ein Spezialmodus (nachstehend Makroservice-Modus genannt), in welchem die CPU die Unterbrechungsoperation ausführt, ohne Zwischenspeicherung der Information, die gemäß dem ersten Modus in der Stapeleinrichtung zwischengespeichert werden muß.
- Gemäß dem Informationsprozessor der vorliegenden Erfindung wird die Unterbrechungsoperation gemäß dem Modussignal durchgeführt. Insbesondere ist, wenn die Unterbrechungsoperation in dem zweiten Modus durchgeführt wird, das Zwischenspeichern von Inhalten eines Programmzählers, eines Status-Wortregisters und der anderen Register nicht erforderlich. Deshalb kann die Unterbrechungsoperation zuerst mit geringer Organisationszeit ausgeführt werden. Ferner ist das Zurückführen der Inhalte zum Programmzähler und dem Status-Wortregister nach Beendigung der Unterbrechungsoperation nicht erforderlich. Eine Unterbrechungsoperation, die die Stapeloperation nicht benötigt, ist in dem zweiten Modus ausgeführt. Eine Datenübertragung zwischen der CPU und einer Peripherieeinrichtung kann im zweiten Modus durchgeführt werden. Wenn beispielsweise der Informationsprozessor einen A/D-Wandler oder einen D/A-Wandler umfaßt, wird ein umgewandeltes Digitaldatum oder ein umzuwandelndes Analogdatum zwischen dem als Interfaceeinheit wirkenden A/D-Wandler oder dem D/A-Wandler und der CPU im zweiten Modus übertragen. Wenn der Informationsprozessor eine Serielldaten-Informationsaustausch-Interfaceeinheit umfaßt, die an eine Peripherieeinrichtung zum Manipulieren von Serielldaten zu koppeln ist, findet eine Datenübertragung zwischen der seriellen Informationsaustausch-Interfaceeinheit und der CPU im zweiten Modus statt. In diesem Fall wird die Datenübertragung im zweiten Modus über einen Datenbus parallel durchgeführt, welcher die CPU an die serielle Informationsaustausch-Interfaceeinheit koppelt. Wenn der Informationsprozessor eine Echtzeit-Ausgangseinheit als Interfaceeinheit umfaßt, setzt die CPU ein von dem Echtzeit-Ausgangsanschluß auszugebendes Datum in den zweiten Modus. Wenn ferner der Informationsprozessor eine Ereignis-Zähleinheit als Interfaceeinheit umfaßt, empfängt die CPU einen Inhalt der Ereignis-Zähleinheit, die vor- oder zurückzählt, wann immer ein Ereignis in einer Peripherieeinrichtung im zweiten Modus in Abhängigkeit von Unterbrechungsanforderungen auftritt, die in einem vorbestimmten Intervall von einem Zeitgeber in dem Informationsprozessor erzeugt werden. Es ist leicht zu verstehen, daß die vorliegende Erfindung auch für andere Unterbrechungsoperationen verwendet werden kann, in welchen die Stapeloperation für den Programmzähler und das Status-Wortregister nicht benötigt werden. Ferner kann in der vorliegenden Erfindung eine Arithmetik-Logikeinheit (ALU) und ein (RAM) in der CPU im zweiten Modus verwendet werden.
- In dem Fall, daß ein Informationsprozessor mit einem einzigen Chip-Mikroprozessor verwirklicht wird, kann eine Unterbrechungsanforderung von außerhalb des Chips und eine Unterbrechungsanforderung, die im Chip erzeugt wird, als gleicher Unterbrechungspegel bemessen sein (anschließend als I/O-Anforderungen bezeichnet). Die I/O-Anforderungen werden durch eine der beiden Modi entsprechend dem Modussignal verarbeitet. Der erste Modus ist ein herkömmlicher Unterbrechungs-Handlingmodus, der die I/O-Anforderungen entsprechend der Programmanipulation verarbeitet. In diesem Modus werden Inhalte des Programmzählers, Registers, Flags und anderen für das Unterbrechungshandling zwischengespeichert. Das heißt, die Organisationsverarbeitung wird ausgeführt. Der zweite Modus ist der Makroservice, durch welchen eine Datenübertragung zwischen einem speziellen Funktionsregister (nachstehend SFR genannt) in der auf dem Mikroprozessorchip vorgesehenen Interfaceeinheit und einem Speicher (nachstehend RAM genannt), der in der CPU vorgesehen ist, ausgeführt werden kann, ohne die Organisationsverarbeitung durchzuführen. Wenn der Makroservice sein Ende erreicht, startet die CPU die Ausführung des zurückgestellten Programms wieder an. Da die Organisationsverarbeitung in diesem Fall nicht notwendig ist, kann das zurückgestellte Programm unmittelbar durchgeführt werden. Demgemäß ist die Zurückstellung des Programms nicht so von einer Software überwacht und sieht aus, als sei ein Übertragungsbefehl zur Verarbeitung automatisch in die Programmanipulation eingeführt.
- Der Makroservice (der zweite Modus) dient dazu, die Anzahl von Unterbrechungsvorkommen, für welche eine softwaremäßige Verarbeitung ausschlaggebend ist, zu verringern und somit Belastungen der softwaremäßigen Verarbeitung zu verringern. Demgemäß wird der Makroservice für eine einfache Datenübertragung zwischen Pufferbereichen der peripheren Interfaceeinheit und dem Speicher verwendet, welche durch ein Unterbrechungshandling des Standes der Technik verarbeitet worden sind. Andererseits wird ein Editieren und Glätten einer Reihe von über den Makroservice entsprechend der I/O-Anforderungen erhaltenen Daten durch ein Unterbrechungshandling des ersten Modus wie seit jeher verarbeitet. Deshalb hat der Mikroprozessor der vorliegenden Erfindung ferner eine Einrichtung zum Austauschen des zweiten Modus in den ersten Modus. Diese Einrichtung dient einer eine Datenübertragung und ein Datenhandling gemäß einem Programm umfassenden Unterbrechungsoperation.
- Fig. 1 ist ein Blockdiagramm, das eine Ausführungsform dieser Erfindung wiedergibt;
- Fig. 2 ist ein Blockdiagramm, das den I/O-Anforderungssteuerabschnitt 1 in Fig. 1 wiedergibt;
- Fig. 3 ist ein Blockdiagramm, das den Ausführungsabschnitt 2 im Detail und den Speicher 3 in Fig. 1 wiedergibt;
- Fig. 4 ist ein Schaltdiagramm der I/O-Anforderung-Erzeugungsschaltungen 7, 8, 9 und der Prioritätssteuerschaltung 10;
- Fig. 5 ist ein Blockdiagramm eines herkömmliches A/D-Wandlers;
- Fig. 6 ist ein Blockdiagramm, das schematisch ein Beispiel eines Mikrocomputers mit einem darin enthaltenen A/D-Wandler wiedergibt;
- Fig. 7 ist ein Flußdiagramm einer Wandlungsverarbeitung in Fig. 6;
- Fig. 8 ist ein Blockdiagramm, das im Detail einen Mikrocomputer mit einer Makroservice-Datenübertragungsfunktion gemäß einer Ausführungsform dieser Erfindung wiedergibt; und
- Fig. 9 bis 16 sind Blockdiagramme jeweils anderer Ausführungsformen der vorliegenden Erfindung.
- Fig. 1 ist ein Blockdiagramm einer Haupteinheit. Die Ausführungsform umfaßt einen I/O-Anforderung-Steuerabschnitt 1 zum Steuern einer Unterbrechungsanforderung von einer Peripherieeinrichtung und anderem, einen Ausführungsabschnitt 2 zum Ausführen einer Verarbeitung gemäß einem Programm und der Unterbrechungsanforderung, und einen Speicherabschnitt 3, wobei ein Unterbrechungsanforderungssignal dem Ausführungsabschnitt 2 über eine Leitung 4 zugeführt wird. Ein Modussignal wird ebenfalls dem Ausführungsabschnitt 2 zum Bestimmen eines Unterbrechungsmodus über eine Leitung 5 zugeführt. Der Ausführungsabschnitt 2 und der Speicherabschnitt 3 sind miteinander über einen internen Bus 6 gekoppelt. Wenn I/O-Anforderungen von der Peripherieeinrichtung und anderem erzeugt werden und die I/O-Anforderungsleitung 4 auf einen aktiven Pegel kommt, stellt der Ausführungsabschnitt 2 ein Programm zurück, das gerade ausgeführt wird und akzeptiert die I/O-Anforderungen. Der Ausführungsabschnitt (CPU) 2 prüft einen Pegel der I/O-Modusbestimmungsleitung 5. In dem Beispiel wird, falls die I/O-Bestimmungsleitung 6 sich auf einem niedrigen Pegel befindet, die I/O- Anforderung als eine normale Unterbrechungsanforderung (der erste Modus) empfangen, während, falls sie sich auf einem hohen Pegel befindet, die Anforderung dann als ein Makroservice empfangen wird.
- Als nächstes ist Fig. 2 ein Blockdiagramm des I/O-Anforderungssteuerabschnitts (eine Interfaceeinheit) 1 in Fig. 1, und eine Operation soll mit Bezug darauf beschrieben werden. Es werden hier drei I/O-Anforderungsquellen A, B, C zur Beschreibung aufgeführt. Der I/O-Anforderungssteuerabschnitt 1 hat I/O-Anforderungs-Erzeugungsschaltungen 7, 8, 9 zum Erzeugen von I/O-Anforderungen entsprechend der jeweiligen I/O-Anforderungsquellen A, B, C, wobei die I/O-Anforderungsleitungen 11a, 11b und 11c die I/O-Anforderungen übertragen. I/O-Modusbestimmungsleitungen 12a, 12b und 12c übertragen Modussignale. Ferner hat der Steuerabschnitt 1 eine Schaltung 10 zum Detektieren eines Prioritätspegels für die empfangenen I/O-Anforderungssignale und zum Anzeigen einer Unterbrechung an die CPU 2. Somit wird die I/O- Quelle mit dem höchsten Prioritätspegel ausgewählt und das der ausgewählten Quelle entsprechende I/O-Anforderungssignal und das Modussignal werden jeweils über die Leitungen 4 und 5 an die CPU 2 übertragen. Falls die Unterbrechungsoperation in dem ersten Modus durchgeführt wird, setzt hier die I/O-Anforderungsquelle die I/O-Modusbestimmungsleitung 12 auf einen niedrigen Pegel. Andererseits setzt sie, falls die Unterbrechung in dem zweiten Modus durchgeführt wird, die Bestimmungsleitung 12 auf einen hohen Pegel. Es sei angenommen, daß der Prioritätspegel der I/O-Anforderungsleitungen 11a, 11b, 11c in der Rangfolge 11a > 11b > 11c vorliegen.
- Als nächstes gibt Fig. 3 die CPU 2 und den Speicher 3 in Fig. 1 im Detail wieder, und eine Operation wird im Bezug dazu beschrieben. Die I/O-Anforderungsleitung 4 und die I/O-Modusbestimmungsleitung 5 des I/O-Anforderungssteuerabschnitts 1 in Fig. 1 sind an eine I/O-Empfangsschaltung 15 gekoppelt. Unterbrechungsprogramme entsprechend I/O-Anforderungen sind in einem Programmspeicher (ROM )13, in dem Mikroprogramme vorbereitend gespeichert sind, geladen und der Zugriff auf einen Programmzähler (PC) 14 wird ausgeführt. Ein allgemeiner Operationsstatus der CPU 2 wird in ein Programmstatus-Wortregister (PSW) 16 gesetzt. Die CPU umfaßt ferner eine Arithmetik-Logik-Operationseinheit (ALU) 17 mit einer Arithmetik-Logik-Operationsfunktion, ein Befehlsregister 18, das eine aus dem ROM 13 herausgelesene Befehlsanweisung hält, einen Befehlsdecoder 19 zum Erzeugen verschiedener Steuersignale entsprechend der Inhalte des Befehlsregisters und eine Ausführungssteuereinheit 20 zum Steuern von Operationen der CPU entsprechend einem Ausgangssignal des Befehlsdecoders 19. Die CPU hat Speicherzeiger (nachstehend MP genannt), die jeweils dazu geeignet sind, eine Adresse des RAM 3 zu zeigen, spezielle Funktionsregisterzeiger (nachstehend SFRP genannt), die dazu geeignet sind, eine SFRP-Adresse in einer Interfaceeinheit (nicht dargestellt) zu zeigen, Anschlußzähler (nachstehend TC genannt) zum Speichern einer Anzahl von Makroservices. Drei Registergruppen 21, 22, 23, die jeweils das MP, das SFRP und den TC aufweisen, sind für Makroservices vorbereitet. Inhalte vom MP, SFRP und TC können darin gemäß einer Software eingestellt sein. Normalerweise wird in der CPU ein im ROM 13 gespeicherte Befehl entsprechend dem Programmzähler 14 herausgelesen und an das Befehlsregister 18 übertragen, wobei der zum Befehlsregister 18 übertragene Befehl an dem Befehlsdekoder 19 dekodiert wird und die Ausführungssteuereinheit 20 verschiedene Steuersignale entsprechend dem Dekodierungsergebnis erzeugt und so das Programm ausführt. Dann wird bei jeder Ausführung eines Befehls ein Wert des Programmszählers 14 fortgeschrieben, um auf einen sequentiellen Befehl zuzugreifen, der zum Ausführen des Programms erforderlich ist.
- Wenn hier die I/O-Empfangsschaltung 15 detektiert, daß die I/O-Anforderungsleitung 4 einen aktiven Pegel erhält, muß eine Ausführung des Programms zurückgestellt werden, und der Pegel der I/O-Modusbestimmungsleitung 5 wird abgetastet. Falls der Pegel der Leitung 5 niedrig ist, erkennt dann die I/O-Empfangsschaltung 15, daß die Anforderung ein normaler Unterbrechungsmodus (der erste Modus) ist. In einem solchen Zustand werden Inhalte des Programmzählers 14 und Inhalte des Programmstatus-Wortregisters 16 an Stellen in dem RAM 3 zwischengespeichert, die durch einen Stapelzeiger (nicht dargestellt) bestimmt sind, und anschließend wird eine Leitadresse, die für die Unterbrechung notwendig ist, in den Programmzähler 14 gesetzt. So wird das normale Unterbrechungs-Handlingprogramm begonnen. Wenn das Unterbrechungs-Handlingprogramm beendet wird, werden die im RAM zwischengespeicherten Inhalte jeweils zum Programmzähler 14 und zum Programmstatus-Wortregister 16 zurückgeführt. Bei diesem ersten Modus wird die Organisationsoperation benötigt.
- Falls andererseits die I/O-Modusbestimmungsleitung 5 auf einem hohen Pegel ist, erkennt die I/O-Empfangsschaltung 15, daß die Anforderung der Makroservice ist und die Registergruppe betrifft, die der akzeptierten I/O-Quelle in der Basis eines Vektors (nachfolgend beschrieben) entspricht, welche von einer Interfaceeinheit ausgesandt worden ist. Zu diesem Zeitpunkt werden Inhalte des Programmzählers 14 und des Programmstatus-Wortregisters 16 nicht im RAM 3 zwischengespeichert, sondern werden so gehalten, wie sie sind. Die Registergruppe 21 entspricht hier der I/O-Quelle A, die Registergruppe 22 entspricht der I/O-Quelle B und die Registergruppe 23 entspricht der I/O-Quelle C. Falls die I/O- Quelle A die höchste Priorität aufweist, und ihr Modussignal sich auf einem hohen Pegel befindet, wird auf die Registergruppe 21 Bezug genommen. In diesem Fall überträgt die Ausführungssteuerschaltung 20 Inhalte der durch den MP angezeigten Adresse zu einer durch den SFRP angezeigten Adresse oder Inhalte der durch den SFRP angezeigten Adresse zu einer durch den MP angezeigten Adresse über den Bus 21. Dies kann durch eine Steuerung gleich der normalen Übertragungsbefehlsausführung bewirkt werden. Demgemäß wird die Stapeloperation in dem Makroservice niemals ausgeführt werden. Dann wird gemäß dem Makroservice ein Wert des MP um 1 in der ALU 17 erhöht und in den MP geladen, während ein Wert des TC in der ALU 17 um 1 erniedrigt und in den TC geladen wird, womit eine Reihe von Makroservices geschlossen wird. Wenn jedoch der TC-Wert 0 wird, wird die Interfaceeinheit entsprechend der I/O-Anforderungsquelle A so gesteuert, daß das erste Modusunterbrechungsanforderungssignal erzeugt wird. Als Ergebnis wird die erste Modusunterbrechung von der Anpassungsschaltung der Quelle A erzeugt, genau nachdem der Makroservice beendet worden ist. Somit wird das Unterbrechungshandling aufeinanderfolgend aktiviert, um die durch den Makroservice auf einem normalen Unterbrechungshandlingprogramm übertragenen Daten zu verarbeiten.
- Als nächstes gibt Fig. 4 ein detailliertes Schaltdiagramm der I/O-Anforderungsschaltungen 7, 8, 9 und der Prioritätssteuerschaltung wieder. Eine Steuerschaltung 100 wirkt als eine Schnittstelleneinheit und umfaßt die I/O-Anforderungsschaltung 7 und einen Teil der Prioritätssteuerschaltung 10 in Fig. 2, und eine Steuerschaltung 200 und 300 wirken als weitere Anpassungsschaltungen und umfassen jeweils die I/O- Anforderungsschaltungen 8 und 9 und die anderen Teile der Prioritätssteuerschaltung 10. Da diese drei Steuer-(Interface)schaltungen exakt in gleicher Weise arbeiten, wird die Steuerschaltung 100 hier zur Beschreibung herausgenommen. Die Steuerschaltung 100 umfaßt ein I/O-Anforderungs- Flip-Flop (nachfolgend I/O-RQF/F genannt) 104, welches ein Einstell/Rückstell-Flip-Flop (nachfolgend RSF/F genannt) zum Empfangen des Unterbrechungssignals von der Quelle A ist, eine Unterbrechungsmaskenschaltung 105 zum Maskieren des empfangenen Unterbrechungssignals, eine einen Unterbrechungszustand anzeigende Zustandsflagge 112, einen Modus F/F 113, welcher ein RSF/F zum Anzeigen des Makroservice ist, ein Register 117 zum Speichern zu verwendender Information in dem Makroservice, ein Register 120 zum Speichern eines zu verwendenden Vektors in der normalen Unterbrechung (dem ersten Modus). Eine I/O-Modusbestimmungsleitung 34, eine Informationsleitung 31, eine Bestätigungsleitung 32, eine Rückstelleitung 33, eine Makroservice-Inhibitleitung 35 und eine Lesesteuerleitung 36 sind mit jeder Steuerschaltung der CPU gekoppelt. Eine Anforderungsleitung 101 von der I/O-Anforderungsquelle ist mit dem I/O-RQF/F 104 gekoppelt, und wenn die Anforderungsleitung 101 einen hohen Pegel erreicht, wird der I/O-RQF/F 104 über ein ODER-Gate 103 gesetzt. Die Unterbrechungsmaskenflagge 105 und der Modus F/F 113 sind zum Setzen und Zurücksetzen durch Programme bereit, wobei die Unterbrechungsmaskenflagge 105 gesetzt wird, wenn die Unterbrechungsanforderung verboten ist, und der Modus F/F 113 in Abhängigkeit vom Modussignal 12 in Fig. 2 gesetzt wird.
- Es wird hier eine Operation beschrieben, die durchgeführt wird, wenn die Anforderungsleitung 101 von der I/O-Anforderungsquelle einen hohen Pegel erreicht und der I/O-RQF/F 104 entsprechend dem Zustand, in dem die Unterbrechungsmaskenflagge 105 zurückgestellt ist und der Modus F/F 113 zurückgesetzt ist, gesetzt wird. Da ein Ausgangssignal des Modus F/F 113 einen niedrigen Pegel hat, ist ein Steuereingangssignal 111 zum Steuern der Priorität auf einem niedrigen Pegel, und ein Ausgangssignal des I/O-RQF/F 104 und ein Ausgangssignal der Unterbrechungsmaskenflagge 105 beide auf einem niedrigen Pegel sind, bekommt ein Ausgangssignal eines UND-Gates 107 einen hohen Pegel und bekommen die Ausgangssignale der ODER-Gates 108 und 110 einen hohen Pegel. Ein Ausgangssignal des ODER-Gates 110 ist mit einem ODER- Gates 210 gekoppelt, und ein Ausgangssignal des ODER-Gates 210 ist mit einem ODER-Gate 310 gekoppelt, weshalb eine I/O-Verarbeitungsanforderungsleitung 30 einen hohen Pegel entsprechend einem Ausgangsstatus des ODER-Gates 108 erhält. Wenn die Situation, in der die I/O-Verarbeitungsanforderungsleitung 30 einen hohen Pegel erhalten hat, detektiert worden ist, stoppt die CPU 2 das Programm, das gerade ausgeführt wird. Diese Leitung 30 wird benutzt, um der CPU den Empfang der I/O-Anforderung anzuzeigen. Das Bestätigungssignal (nachfolgend I/O-ACK-Signal genannt) wird von der CPU über die Leitung 32 übertragen. In Abhängigkeit von diesem ACK-Signal wird der Zustand F/F (nachfolgend CF/F genannt) 112 über ein UND-Gate 109 gesetzt. Falls die I/O- Anforderung in diesem Fall in den anderen Steuerschaltungen 200 und 300 erzeugt worden ist, werden die Ausgangssignale der ODER-Gates in den Steuerschaltungen 200 und 300 entsprechend dem ODER-Gate 108 in der Steuerschaltung 100 niemals einen hohen Pegel erhalten, und somit wird CF/F in den Steuerschaltungen 200 und 300 niemals gesetzt. Das heißt, CF/F ist ein Flip-Flop, wodurch die I/O-Anforderung akzeptiert wird, wenn die I/O-Anforderungsquelle mit höherer Priorität als die I/O-Anforderung der eigenen Steuerschaltung die I/O-Anforderung nicht erzeugt hat. Wenn CF/F 112 gesetzt ist, wird eine Leitkante durch eine Leitkantendetektierschaltung 119, an welche ein Ausgang des CF/F 112 gekoppelt ist, detektiert, wobei der I/O-RQF/F 104 zurückgesetzt ist, um für die nächste I/O-Anforderung bereit zu sein. Dann wird ein Dreistufenpuffer 115 aktiviert und ein Inhalt des Modus F/F 113 wird an die Modusbestimmungsleitung 34 ausgegeben. In diesem Fall erkennt die CPU, da ein niedriger Pegel auf der Modusbestimmungsleitung 34 detektiert wird, den ersten Modus, das heißt, die normale Unterbrechung, und beginnt die Stapeloperation für den Programmzähler und das Programmstatus-Wortregister. Nach dem Beginn der Stapeloperation überträgt die CPU das Vektor-Lesesignal an die Leitung 36, um eine Leitadresse des zu verarbeitenden Leitprogramms herauszufinden. Da der CF/F sich auf einem hohen Pegel befindet, und der Modus F/F auf einem niedrigen Pegel liegt, bekommt ein Ausgangssignal eines Invertergates 122 einen hohen Pegel, weshalb ein Ausgangssignal eines UND-Gates 121 einen hohen Pegel erhält und den Dreistufenpuffer 119 aktiviert. Demgemäß wird eine Vektorinformation des Registers 120 an einen Bus 31 ausgegeben und an die CPU gesandt. In diesem Fall wird ein Ausgangssignal des UND-Gates 118 nicht zu einem hohen Pegel, da der Modus F/F sich auf einem niedrigen Pegel befindet, und ein Dreistufenpuffer 116 wird nicht aktiviert. Das Vektordatum auf dem Bus 31 wird von der CPU empfangen und eine Zweigoperation zum Überspringen des Unterbrechungsprogramms wird durchgeführt. Ferner wird ein Signal (nachfolgend EOP- Signal genannt) 33, das anzeigt, daß die I/O-Anforderungsverarbeitung vorbei ist, auf einen hohen Pegel gebracht, um den CF/F 112 zurückzustellen. Wenn das Unterbrechungshandlingprogramm beendet worden ist, werden Inhalte, die im RAM 3 zwischengespeichert worden sind, zum Programmzähler, zum Programmstatus-Wortregister und anderen zurückgeführt, wodurch die zurückgestellte Programmausführung wieder begonnen wird.
- Als nächstes wird eine Operation beschrieben, die die Situation bewältigt, in welcher die I/O-Anforderung erzeugt wird und der I/O-RQF/F 104 gesetzt wird, wenn der Modus F/F 113 gesetzt ist. In diesem Fall sind ein Ausgangssignal des I/O-RQF/F 104 und ein Ausgangssignal des Modus F/F 113 auf einem hohen Pegel und der Steuereingang 111 für eine Priorität befindet sich auf einem niedrigen Pegel, weshalb ein Ausgangssignal des UND-Gate 106 einen hohen Pegel erhält und die Ausgangssignale der ODER-Gates 108 und 110 einen hohen Pegel erhalten. Der Ausgang des ODER-Gates 110 ist mit einem Eingang des ODER-Gates 210 gekoppelt, und ein Ausgang des ODER-Gates 210 ist mit einem Eingang des ODER- Gates 310 gekoppelt, weshalb die I/O-Anforderungsleitung 30 bedingungslos einen hohen Pegel erhält. Wenn die Situation, in der die I/O-Anforderungsleitung 30 einen hohen Pegel erhält, detektiert wird, stellt die CPU das Programm in Ausführung zurück, gibt das I/O-ACK-Signal 32 aus, setzt den CF/F 112 über das UND-Gate 108 und stellt den I/O-RQF/F 104 zurück auf einen Ausgang des Leitkantendetektors 119, an welchem ein Ausgang des CF/F 112 gekoppelt ist. Dann macht ein Ausgangssignal des CF/F 112 den Dreistufenpuffer 115 aktiv und gibt einen Inhalt des Modus F/F 113 an die Modusbestimmungsleitung 34 aus. Da ein hoher Pegel der I/O-Bestimmungsleitung 34 abgetastet wird, erkennt die CPU, daß ein Makroservice ausgeführt wird. Als notwendige Information zum Erhalten des Makroservices überführt die CPU dann das Vektorlesesignal 36 auf einen hohen Pegel, das UND-Gate 118 auf einen hohen Pegel und den Dreistufenpuffer 116 in einen aktiven Zustand und gibt eine Information des Registers 117, das eine notwendige Information für den Makroservice hält, an den Bus 31 aus. Die an den Bus 31 ausgegebene Information besteht in diesem Fall aus einer Registergruppen-Auswahlinformation, die anzeigt, welche Registergruppe und Information auszuwählen ist, daß die Richtung einer automatischen Datenübertragung bestimmt ist, nämlich die Übertragung vom SFR zum RAM oder vom RAM zum SFR. Die CPU greift auf eine der Registergruppen 21-23 entsprechend der über den Bus 31 erhaltenen Information zurück. Somit wird eine Datenübertragung zwischen der CPU und einer Peripherieeinrichtung entsprechend dem Inhibit 100 durch Benutzung des Busses 21 durchgeführt. Im Makroservice werden bei jeder Datenübertragung eine Addition und eine Subtraktion um 1 jeweils am MP und TC ausgeführt, und wenn die Subtraktion zu TC = 0 führt, sperrt die CPU den Makroservice und hebt das Signal 35 auf einen hohen Pegel und setzt den Modus F/F 113 zwangsweise auf eine Hardware zurück. Da ferner ein Ausgang des CF/F 112 sich auf einem hohen Pegel befindet, wird der I/O-RQF/F 104 über das UND-Gate 102 und das ODER-Gate 103 gesetzt, indem das Inhibit-Signal 35 auf einen hohen Pegel gebracht wird. Die CPU bringt dann das EOP-Signal 33 auf einen hohen Pegel und stellt den CF/F 112 zurück, wodurch eine Serie von Makroservices geschlossen wird. Da jedoch der Modus F/F 113 zurückgesetzt ist und der I/O-RQF/F 104 hier gesetzt ist, wird eine normale Unterbrechungsanforderung (der erste Modus) erzeugt, wodurch eine Unterbrechung für die überführten Daten erzeugt wird. Deshalb wird das normale Unterbrechungsprogramm sequentiell gemäß den durch den Makroservice übertragenen Daten ausgeführt.
- Die oben beschriebene Ausführungsform wird nun gemäß einer praktischen Anwendung beschrieben. Falls ein A/D-Wandler für die Interfaceeinheit benutzt wird, wird die I/O-Anforderung erzeugt, wenn eine A/D-Wandlungsoperation zu einem Ende kommt. Einige Abtastwerte, die durch eine arithmetische Operation gemittelt worden sind, werden normalerweise als ein A/D-Wandlungswert verwendet. Demgemäß wird die Anzahl von zu mittelnden Daten auf dem TC eingestellt, eine Adresse, in welcher ein Ergebnis des A/D-Wandlungswertes geladen ist, wird auf dem SFRP eingestellt, ein geeigneter Pufferbereich wird auf dem Speicherzeiger eingestellt, der Modus F/F 113 wird gesetzt, die Unterbrechungsmaskenflagge 105 wird zurückgesetzt, die Richtung einer Datenübertragung wird in der Form des SFR zum RAM für die Information in dem Register 117 festgelegt und dann wird die A/D-Wandlung begonnen. Somit wird der A/D-Wandlungswert automatisch in den Pufferbereich an jedem Ende einer A/D-Wandlung geladen, und es wird eine Unterbrechung erzeugt, wenn die Operation, bei der 1 am MP addiert und 1 am TC subtrahiert wird, so häufig wie durch TC spezifiziert ausgeführt worden ist. Demgemäß wird im Unterbrechungshandlungsprogramm die Häufigkeit der Unterbrechungserzeugung einfach dadurch weitgehend vermindert, daß Daten, die in dem Pufferbereich geladen sind, gemittelt werden und MP und TC zurückgesetzt werden, wodurch eine Nutzleistung des Programms erhöht wird.
- Ferner wird in dieser Ausführungsform eine Operation der CPU nicht vollständig gestoppt, um den Makroservice zu steuern, sondern die CPU arbeitet selbst für die Übertragung, weshalb die Hardware zur Steuerung der Befehlsausführung zur Zeit einer normalen Programmanipulation wirksam verwendet werden kann, ohne eine spezielle Hardware für einen Makroservice zu benötigen. Dann kann in der Ausführungsform, in der ein vorrangiges Beispiel als Beschreibung herangezogen wird, jedoch eine Verarbeitungsanforderungssteuerung, die in der Rangordnung variabel ist, leicht zufriedenstellend sein. Eine Datenübertragung wird nur für die Verarbeitung aufgenommen, ein Informationsprozessor jedoch, der äußerst flexibel ist, ist für eine anspruchsvolle Anwendung heranziehbar, indem eine Steuerung durch normale Befehlsvergleiche und dgl. damit kombiniert wird, ohne ferner irgendeine spezielle Hardware hinzuzufügen.
- Die vorliegende Erfindung ist für unterschiedliche Interfaceeinheiten anwendbar. Ein Beispiel für eine Anwendung mit einer A/D-Wandler-Interfaceeinheit wird beschrieben.
- Ein Beispiel einer Analogdatenverarbeitung auf der Basis eines herkömmlichen A/D-Wandlers mit einem solchen Hintergrund, wird mit Bezug auf ein Blockdiagramm aus Fig. 5 beschrieben.
- Ein A/D-Wandler 50 umfaßt Analogeingänge 51-1 bis 51-8, einen Multiplexer 52, ein A/D-Kanalmodusregister 53 mit einem Kanalbestimmungsbit 53-1 und einer A/D-Umwandlungsendflagge 53-2, eine Abtastergebnis-Halteschaltung 54, eine Reihenwiderstandsschaltung 55, einen Spannungsvergleicher 56, ein Stufennäherungsregister 57 (nachfolgend SAR genannt), einen Controller 58, ein Umwandlungsergebnisregister 59 (nachfolgend CRR genannt) und arbeitet so, daß beispielsweise ein 8-Bit A/D-Umwandlungswert über einen Stufenannäherungsprozeß erhalten wird.
- Zunächst schreibt die CPU einen Wert in den Kanalbestimmungsbit 53-1 des A/D-Kanalmodusregisters 53. Die A/D-Umwandlungsendflagge 53-2 wird dann gleichzeitig zurückgesetzt. Der Analogeingang 51-1, der durch die Bestimmung des A/D-Kanalmodusregisters 53 ausgewählt worden ist, wird in der Abtastergebnishalteschaltung 54 abgetastet und ihr Ausgangssignal dient als ein Eingang des Spannungsvergleichers 56. Der Spannungsvergleicher 56 setzt ein entsprechendes Digitaldatum im SAR 59 von einem oberen Bit entsprechend einer Differenz zwischen dem Analogeingang und einem Spannungsabgriff, der nachfolgend durch einen Abgriffdekoder der Reihenwiderstandsschaltung 55 ausgewählt wird. Das heißt, ein Bit des Digitaldatums wird durch Vergleich eingestellt, der einmal auf der Basis des Spannungsvergleichers 56 ausgeführt worden ist, und der 8-Bit A/D-Wandlungswert wird im SAR 59 zu dem Analogeingang 51-1 gesetzt, in dem die Vergleichsoperation wiederholt wird. Das Ergebnis wird dem CRR 59 selbsthaltend zugeführt, und die A/D- Wandlungsendflagge 53-2 des A/D-Kanalmodusregisters 53 wird gleichzeitig gesetzt. In Abhängigkeit von einem A/D-Wandlungsbefehl prüft die CPU die A/D-Wandlungsendflagge 53-2 ständig während einer Operation des A/D-Wandlers 50 zur Datenwandlung und muß warten, bis die A/D-Wandlungsendflagge gesetzt worden ist. Zu dem Zeitpunkt, an dem die A/D-Wandlungsendflagge sicher gesetzt ist, liest die CPU den A/D- Wandlungswert, der im CRR 59 gehalten wird, und lädt ihn in den Speicher.
- Somit muß der den herkömmlichen A/D-Wandler enthaltende Mikrocomputer ein Ende einer Umwandlung jederzeit während einer A/D-Wandlung überwachen, eine Hauptverarbeitung, die die CPU ausführen muß, kann im wesentlichen nicht über die ganze Zeit durchgeführt werden, und die Nutzleistung ist somit nicht ausreichend sichergestellt.
- Um den obigen Nachteil zu beheben, gibt es ein Verfahren, in dem eine Unterbrechungsanforderung immer dann an die CPU geliefert wird, wenn ein Wandlungswert in das CRR 59 ohne Verwendung der Wandlungsendflagge 53-2 geladen wird. Das Verfahren wird mit Bezug auf ein Blockdiagramm in Fig. 6 und ein Flußdiagramm in Fig. 7 beschrieben. Ein Mikrocomputer 60 umfaßt einen Ausführungsabschnitt 61, einen Programmspeicher 62, einen Datenspeicher 63, einen A/D-Wandler 64 und einen A/D-Unterbrechungssteuerungsabschnitt 66, die wechselweise über einen internen Bus 65 miteinander gekoppelt sind. Der Ausführungsabschnitt 61 umfaßt einen Programmzähler (nachfolgend PC genannt) 61-1, ein Programmstatuswort 61-2 (nachfolgend PSW genannt), einen allgemeinen Registersatz 61-3 und führt ein Programm entsprechend einem aus dem Programmspeicher 62 herausgelesenen Befehlscode aus und lädt Verarbeitungsdaten in den Datenspeicher 63. Der A/D-Wandler 64 hat einen CRR 64-2 für ein Byte, unterzieht einen analogen Eingang 64-1 einer A/D-Wandlung und lädt daraufhin diesen in den CRR 64-2, aktiviert ein Wandlungsendsignal 610 und avisiert dann dem A/D-Unterbrechungssteuerungsabschnitt 66, daß die Wandlung vollendet worden ist. Der A/D-Unterbrechungssteuerungsabschnitt 66 aktiviert dann eine Unterbrechungsanforderungsleitung 611, avisiert dem Ausführungsabschnitt 601, daß eine A/D-Unterbrechungsanforderung erzeugt worden ist, wodurch der Ausführungsabschnitt 601 ein A/D-Unterbrechungshandling ausführt.
- Es wird nun eine Softwareverarbeitungsprozedur entsprechend einer A/D-Unterbrechung mit Bezug auf das Flußdiagramm aus Fig. 7 beschrieben. In der Softwareverarbeitung wird ein Wandlungswert-Ladebereich 63-1 in den Datenspeicher 63 gesetzt, und eine Adresseninformation zum Bestimmen des Wandlungswert-Ladebereichs 63-1 und eine Wandlungsfrequenzinformation werden vorher in einer Wandlungsparameter- Shuntbereich 63-2 in den Datenspeicher 63 gesetzt.
- Wenn das Avisieren einer Wandlung beendet worden ist, führt der Ausführungsabschnitt 61 ein Wandlungsunterbrechungshandling aus. Zunächst wird, um die dann zu verarbeitenden Inhalte zwischenzuspeichern, jeder Inhalt des PC 61-1, PSW 61-2 und dem allgemeinen Registersatz 61-3 beiseite auf einen getrennten Bereich gesetzt, der zeitweise als ein Stapelbereich 63-3 vorbereitet wird. Als nächstes wird eine Adresse des Wandlungswert-Ladebereichs 63-1 aus dem Wandlungsparameter-Shuntbereich 2 herausgelesen und in einen Pointer geladen. Ein Wandlungswert wird dann aus dem CRR 64-2 und in den durch den Pointer bestimmten Wandlungswert- Ladebereich 63-1 geladen. Wenn die Wandlung eine vorbestimmte Anzahl von Malen durchgeführt worden ist, wird eine Reihe von Datenumwandlungen als abgeschlossen angesehen und so an eine Wandlungsprozedur-Endverarbeitung A abgezweigt. Wenn die Wandlung nicht die vorbestimmte Anzahl von Malen erreicht, werden die Adresseninformationen des Wandlungswert-Ladebereichs 63-1 und der Wandlungsfrequenz-Datenbereich fortgeschrieben und zu dem Wandlungsparameter-Shuntbereich 63-2 zurückgeführt. Dann werden jeder Inhalt des PC 61-1, PSW 61-2 und des allgemeinen Registersatzes 61-3, die auf den Stapelbereich 63-3 beiseite gesetzt worden sind, zur Ausgangsposition zurückgeführt, wodurch der Umwandlungsunterbrechungsservice beendet wird.
- Wie oben beschrieben, sind in der Softwareverarbeitung entsprechend einer Unterbrechung bei dem herkömmlichen Mikrocomputer viele Prozesse (Organisation), wie ein Unterbrechungshandling an der CPU, Stapeloperationen für den PC, PSW und den allgemeinen Registersatz zu einem Stapelregister (einem Teil des RAM), eine Rückführoperation von dem Stapelregister, und eine Rückführoperation zu einer Hauptroutine außer der Übertragung des A/D-Wandlungswertes erforderlich. Die Organisation überdeckt dann ein beachtliches Ausmaß einer gesamten Unterbrechungsserviceroutine und somit kann das Verfahren mehr oder weniger schlecht eine Ausführungszeit, die der Hauptverarbeitung zugewiesen ist, vermindern und verschlechtert somit einen Datendurchlaufin der CPU.
- Es ist andererseits eine solche Puffertechnik denkbar, daß ein Register gleich dem CRR 59 mehrfach parallel eingebaut ist, und eine Unterbrechungsanforderung zu dem Zeitpunkt erzeugt wird, wenn der A/D-Wandlungswert in allen CRR's geladen ist. Entsprechend der Technik wird eine Frequenz zur Unterbrechungserzeugung auf 1/n vermindert, indem die Anzahl an CRR's auf n erhöht wird, deshalb wird ein Verhältnis der Organisationszeit entsprechend einer Unterbrechung vermindert, und somit kann eine Nutzleistung an der CPU sicher erhöht werden, eine Erhöhung der Anzahl an CRR's, die als Puffer vorgesehen sind, muß zu dem Nachteil führen, daß ein Chipbereich des Mikrocomputers unvorteilhaft wächst.
- In einem Informationsprozessor, der mit einer Wandlungseinheit (einer Interfaceeinheit) zum Erzeugen eines Wandlungsdatums und eines Wandlungsendsignals entsprechend einem Abschließen einer A/D-Wandlung, einer CPU zum Durchführen einer normalen Programmanipulation und einer Datenübertragung gemäß dem Wandlungsendsignal, und ein Speicher zum Speichern eines Verarbeitungsdatums und eines Programms versehen ist, ist dadurch gekennzeichnet, daß die CPU mit einer A/D-Wandlungsdatum-Verarbeitungssteuereinrichtung zum Verwirklichen einer Ausführung einer A/D-Wandlungsdatum- Übertragung und Halten eines Zustand auf dem Weg zur normalen Programmverarbeitung versehen ist, und wenn die A/D- Wandlungseinheit das Wandlungsendsignal erzeugt, die CPU die normale Programmanipulation und der Steuerung der A/D- Wandlungsdatum-Verarbeitungssteuereinrichtung zurückstellt und die A/D-Wandlungsdatum-Übertragung ausführt.
- Gemäß dieser Erfindung kann eine Verarbeitung aufgrund einer I/O-Anforderung für eine A/D-Wandlungsbeendigung, nämlich eine Datenübertragung zwischen CRR und dem Datenspeicher ausgeführt werden, ohne eine Programmanipulation (Software) zwischenzuschalten. Die Datenübertragung (nachfolgend automatische Datenübertragung genannt) erfolgt so, daß die CPU eine Programmanipulation in Ausführung zurückstellt, wenn eine I/O-Anforderung entsprechend einer A/D- Wandlungsbeendigung erzeugt wird, und die CPU selbst führt den Makroservice durch.
- Fig. 8 zeigt eine Ausführungsform des Mikroprozessors in Fig. 1, der eine A/D-Wandlungs-Interfaceeinheit umfaßt. Ein A/D-Wandler 80 hat einen CRR 80-2 und gibt ein A/D-Wandlungsendsignal 80-3 an eine I/O-Anforderungssteuerschaltung 81 aus. Eine A/D-Wandlungs-Interfaceeinheit 800 hat die I/O-Anforderungssteuerschaltung 81, eine I/O-Anforderungsleitung 4 und eine I/O-Modusbestimmungsleitung 5, die von dieser abgeht, und die I/O-Anforderungsempfangsschaltung 15 zum Steuern einer Operation der CPU 810. Andererseits umfaßt das Programm einen Programmspeicher 13 für ein Unterbrechungshandlingprogramm und andere und einen Datenspeicher (RAM) 3 mit einem A/D-Wandlungsdatum-Ladebereich 3-1. Ferner umfaßt die CPU 810 einen PC 14 zum Anzeigen einer Adresse des als nächstes auszuführenden Befehls, eine Arithmetik-Logik-Operationseinheit (nachfolgend ALU genannt) 17, einen PSW 16 zum Anzeigen eines allgemeinen Operationszustandes der CPU, einer allgemeinen Registergruppe 85 zum Halten eines in Verarbeitung befindlichen Datums, ein Befehlsregister 18 zum Halten des als nächstes aus zuführenden Befehls, einen Befehlsdekoder 19 zum Interpretieren von Inhalten des Befehlsregisters 18 und zum Erzeugen verschiedener Steuersignale, und eine Ausführungssteuereinheit 20 zum Steuern einer allgemeinen Operation der CPU entsprechend eines Ausgangssignals des Befehlsdekoders 19. Dann ist das für den Makroservice notwendige Register 21 vorgesehen. Das Register 21 umfaßt einen Speicherzeiger (nachfolgend MP genannt) 21-1 zum Bestimmen einer Adresse des Datenspeichers, einen SFR-Zeiger (nachfolgend SFRP genannt) 21-2 zum Bestimmen einer Adresse des Spezialregisters, einen Anschlußzähler (nachfolgend TC genannt) 21-3 zum Halten einer Übertragungsfrequenz der A/D-Wandlungswert-automatischen Datenübertragung. All die obigen Funktionselemente sind mit einem internen Bus 210 gekoppelt.
- Eine Operation des Makroservice bei einer A/D-Wandlungsdatum-Verarbeitung wird beschrieben. Wenn der Analogeingang 80-1 am A/D-Wandler 80 abgetastet wird und der abgetastete A/D-Wandlungswert im CRR 80-2 geladen worden ist, wird das A/D-Wandlungsendsignal 80-3 an den I/O-Anforderungssteuerabschnitt 81 ausgegeben. Der I/O-Anforderungssteuerabschnitt 81 sendet dann ein Signal über die I/O-Anforderungsleitung 4 und die I/O-Modusbestimmungsleitung 5, die mit der I/O-Anforderungsempfangsschaltung 15 gekoppelt sind. Wenn die I/O-Anforderungsleitung 4 aktiviert ist und die Modusleitung 5 einen niedrigen Pegel erhält, dann wird die I/O-Anforderung als der erste Modus erkannt. Wenn hingegen die Modusleitung 5 sich auf einem hohen Pegel befindet, erkennt die Schaltung 15 die I/O-Anforderung als den Makroservice (den zweiten Modus) und setzt eine Information in das Befehlsregister 18. Die Ausführungssteuereinheit 2 verbietet ein Fortschreiben des PC 14 und beginnt die folgende Verarbeitung ohne die Inhalte des PC 14, PSW 16 und der allgemeinen Registergruppe 85 zwischenzuspeichern. Zuerst gibt die I/O-Anforderungssteuerschaltung 81 eine Information entsprechend einer Adresse des Registers 21 auf den internen Bus 210 aus, und die Ausführungssteuereinheit 20 liest die Adresse der Registergruppe 21. Als nächstes liest die Ausführungssteuereinheit 20 einen A/D-Wandlungswert aus dem CRR 80-2 aus, der durch SFRP 21-2 des Registers 21 angezeigt wird, lädt das Datum in den A/D-Wandlungswert-Ladebereich 21-3 des Datenspeichers 3 ein, der durch MP 21-1 angezeigt wird, zieht von einem Wert des TC 21-3 einen Betrag 1 ab und lädt diesen wieder in den TC 21- 3. Eine Reihe von den oben genannten Verarbeitungsabläufen beendet den Makroservice irgendwann bei der A/D-Wandlungswertübertragung. Eine Reihe von Datenübertragungen wird als beendet angesehen, wenn ein Wert des TC 21-3 durch Substraktion 0 wird, und nachdem der dann vorliegende A/D- Wandlungswert in den A/D-Wandlungswert-Ladebereich 3-1 geladen worden ist, aktiviert die I/O-Anforderungssteuerschaltung 8 die I/O-Anforderungsleitung 4 wieder, bringt die I/Q-Modusbestimmungsleitung 5 auf einen niedrigen Pegel, um eine A/D-Wandlungsunterbrechungsanforderung zu erzeugen, wodurch das A/D-Wandlungsunterbrechungsprogramm aktiviert wird.
- Wie oben beschrieben, umfaßt die Erfindung zwei Modusarten, die normale Softwareunterbrechung (erster Modus) und den Makroservice (zweiter Modus), um ein Wandlungsendsignal, das entsprechend eines Abschlusse einer A/D-Wandlung erzeugt wird, aufzunehmen, welche in geeigneter Weise ausgewählt werden können. Insbesondere zur Zeit des Makroservicemodus kann die Zeit, die zum Zwischenspeichern des PC 14, PSW 16 und des allgemeinen Registers 85, was für das herkömmliche Unterbrechungshandling notwendig ist, für das Abzweigen an das Unterbrechungsprogramm, das Zurückführen zum Register, das Lesen von Befehlen, Dekodieren und dgl. deutlich eingespart werden, und eine Verschlechterung des Durchsatzes der CPU kann soweit wie möglich unterdrückt werden.
- Eine andere Ausführungsform der vorliegenden Erfindung ist in Fig. 9 dargestellt, in welcher ein Zähler dazu dient, eine Zeitdauer und eine von einer Peripherieeinrichtung erzeugte Pulsbreite, beispielsweise die Drehfrequenz und Geschwindigkeit eines Motors, zu messen, was als eine Funktion in einem Mikrocomputerchip integriert ist. Zum Messen einer Pulsperiode und Strichbreite wird ein Zähler mit einem Zähler (nachfolgend frei laufender Zähler genannt (FRC)) zum Zählen eines vorbestimmtes Zähltaktes und einem Fangregister (nachfolgend CPTR genannt) zum temporären Halten eines gezählten Datums im allgemeinen in einem Mikrocomputer verwendet. Wenn ein Pulssignal von einem Meßobjekt abgeschickt wird, lädt der Zähler in einer solchen Konfiguration einen Wert, der einen Zählzustand des FRC im CPTR (die Operation wird nachfolgend Einfangen genannt) anzeigt, und setzt eine Zähloperation des FRC fort, bis das nächste Pulssignal eingegeben worden ist. Wenn das nächste Pulssignal eingegeben worden, fängt er dann den Wert des FRC. Das CPTR hält dann ein Datum, das immer zuvor gefangen worden ist. Um die Breite und die Periode des Pulses zu erhalten, wird das vorher im CPTR geladene Datum temporär in ein anderes Register gesetzt, und eine Differenz zwischen dem vorher gefangenen Datum wird erhalten, wenn der nächste FRC-Wert gefangen wird.
- Dann muß zum Zwecke einer hochpräzisen Steuerung eine Messung von Rauschen oder eine Optimumsteuerung in Betracht gezogen werden. Demgemäß wird eine Technik verwendet, in der das Vorhandensein einer Fangerzeugung aufgrund von Rauschen und ein Beschleunigungs- oder Verzögerungsgrad durch Vergleichen der Information über die Breite und die Periode eines Pulses, der von dem vorher gefangenen Datum erhalten wurde, mit einer neu erhaltenen Information, erhalten wird oder ein Mittelwert wird von mehr als einmal gefangenen Daten erhalten, wobei verschiedene Steuerungen ausgeführt werden.
- In Fig. 9 hat ein Zähler 95 FRC 95-1 und CPTR 95-2, und wenn ein Wert von FRC 95-1 auf dem Fangbefehlssignal 95-3 gefangen wird, wird das Fangendsignal 95-4 ausgegeben. Eine Zählwertverarbeitungs-Steuereinheit 900 hat eine I/O-Anforderungssteuerschaltung 905, eine I/O-Verarbeitungsanforderungsleitung 4, eine I/O-Modusbestimmungsleitung 5 und eine I/O-Anforderungsempfangsschaltung 15 zum Steuern einer Operation der CPU 910. Dann hat der Datenspeicher 3 den arithmetischen Operationsergebnis-Ladebereich 30-2, den Stapelbereich 30-3, auf welchem der Status zwischengespeichert ist, und umfaßt die CPU 910 ein PC 14 zum Zeigen einer Adresse des Programmspeichers 13, ein PSW 16 zum Anzeigen eines allgemeinen Operationszustands der CPU, den allgemeinen Registersatz 91 zum Halten von in der Verarbeitung befindlicher Daten, die ALU 17, das Befehlsregister 18 zum Halten des als nächstes auszuführenden Befehls, einen Befehlsdekoder 19 zum Interpretieren eines Inhalts des Befehlsregisters 18 und Erzeugen verschiedener Steuersignale, und eine Ausführungssteuereinheit 20 zum Steuern einer allgemeinen Operation der CPU 910 aufgrund eines Ausgangssignals des Befehlsdekoders 19. Ferner ist eine Makroservice-Registergruppe 207, die für den Makroservice notwendig ist, auf einem Teil des Datenspeichers 3 vorgesehen. Die Makroservice-Registergruppe 207 umfaßt einen Zeiger (nachfolgend I/O P genannt) 207-1 zum Bestimmen einer Adresse des Fangregisters, einen Zeiger (nachfolgend BP genannt) 207-2 zum Bestimmen einer Adresse des Datenspeichers, der das vorher gefangene Datum hält, einen Speicherzeiger (MP) 207-3, zum Bestimmen einer Adresse des arithmetischen Operationsergebnis-Ladebereichs 30-2, in welchem ein Substraktionsergebnis zweier Fangdaten geladen ist, und einen Anschlußzähler (TC) 207-4 zum Halten einer Fangfrequenz. Jedes Teil ist mit dem internen Bus 210 verbunden.
- Eine Operation des Makroservice in einer Zähldatenverarbeitung wird beschrieben. Wenn ein aktives Signal von der Fangbefehlsleitung 95-3 eingegeben wird, fängt der Zähler 95 den alten Wert der FRC 95-1 im CPTR 95-2 und gibt das Fangendsignal 95-4 aus. Der I/O-Anforderungssteuerabschnitt 905 bringt dann die I/O-Anforderungsverarbeitungsleitung 4 zur I/O-Empfangsschaltung 15 auf einen aktiven Pegel und bringt zudem die I/O-Modusbestimmungsleitung 5 auf einen hohen Pegel.
- Bei Detektion dessen, daß die I/O-Modusbestimmungsleitung 5 sich auf einem hohen Pegel befindet, wenn die I/O-Anforderungsleitung 4 aktiv wird, setzt die I/O-Empfangsschaltung 15 einen Makroservicecode in das Befehlsregister 18, um so die I/O-Anforderung unter Makroservice zu verarbeiten. Die Ausführungssteuerungseinheit 20 verbietet ein Fortschreiben des PC 14 und beginnt die folgenden Verarbeitungsschritte, wie Halten der Inhalte des PC 14, PSW 16 und des allgemeinen Registersatzes 91.
- Zuerst gibt die I/O-Anforderungssteuereinheit 20 eine Adresse der Makroservice-Registergruppe 207 auf den internen Bus 210, und die Ausführungssteuereinheit 20 liest die Adresse des Makroserviceregister 207. Als nächstes liest die Ausführungssteuereinheit 20 ein Fangdatum aus dem durch I/O P 207-1 des Makroserviceregisters 207 bestimmten CPTR 95-2. Dann liest die Ausführungssteuereinheit 20 den Wert, der vorher aus dem Speicher des durch BP 207-2 des Makroserviceregisters 207 bestimmten Adresse aus und subtrahiert den vorher gefangenen Wert von dem Wert des CPTR. Ein durch die Subtrahierung erhaltenes Ergebnis wird in dem arithmetischen Operationsergebnis-Ladebereich 30-2 in dem durch MP 207-3 bestimmten Datenspeicher 3 geladen, und der gelesene Wert des CPTR 95-2 wird in dem Speicher der durch BP 207-2 bestimmten Adresse geladen. Als nächstes wird der TC 20-4 erniedrigt und im TC 207-4 geladen, ein Wert des Speicherzeiger MP zum Bestimmen der Adresse, an der ein arithmetisches Operationsergebnis geladen wird, wird erhöht und in den MP 207-3 geladen. Eine Verarbeitung von einer Fangdatensubtrahierung und Übertragung in den Makroservice kommt nach einer Reihe von obigen Verarbeitungsdurchläufen zu einem Ende, wenn jedoch der Wert des TC 207-4 als Ergebnis einer Subtraktion 0 wird, wird eine Reihe des Makroservice als beendet angesehen, und die I/O-Anforderungssteuerschaltung 905 aktiviert die I/O-Verarbeitungsausführungs-Anforderungsleitung 4 wieder und bringt zudem die I/O-Verarbeitungsausführungsmodus-Bestimmungsleitung 5 auf einen niedrigen Pegel, um so eine herkömmliche Unterbrechungsanforderung zu erzeugen. Die I/O-Empfangsschaltung 15 aktiviert dann das Unterbrechungsserviceprogramm und führt eine Softwareverarbeitung zum Mitteln einer Reihe von durch Ausführung des Makroservice erhaltener Daten durch.
- Wie oben beschrieben, wird in dieser Ausführungsform das Fangdatum gemäß dem Makroservice automatisch subtrahiert und übertragen, wenn ein Fangendsignal erzeugt wird, wodurch die Zeit, die durch Verschieben und Zurückführen des PC 14, PSW 16 und des allgemeinen Registersatzes 91, durch Abzweigen auf ein Unterbrechungsprogramm, Lesen von Befehlen, Dekodieren und dgl., was in der herkömmlichen Unterbrechungsroutine die eine Softwareverarbeitung erforderlich macht, unvermeidbar ist, deutlich gekürzt werden kann und der Durchsatz einer CPU verbessert wird.
- In einem Informationsverarbeitungssystem mit einem Datenprozessor (Mikrocomputer), der darin als ein Steuersystem arbeitet, sind Verarbeitungsgänge zum regelmäßigen und sequentiellen Ausgeben eines Informationsmusters erforderlich, wie eine Mustererzeugung von beispielsweise einem Punktzeichen, das mit einem Punktpositionssignal in einem Punktdrucker synchronisiert ist, einer Erzeugung eines Motorantriebsmusters an jeder Stufe eines Stufenmotorantriebs, einem Ausgang einer Displaysegmentinformation in einer dynamischen Displaysteuerung einer Bildröhre, einer lichtemittierenden Diode oder dgl. Diese Verarbeitungsgänge werden im allgemeinen in einer Unterbrechung ausgeführt.
- Eine andere bevorzugte Ausführungsform dieser Erfindung wird nun mit Bezug auf Fig. 10 beschrieben.
- Der Informationsprozessor umfaßt eine I/O-Anforderungsverarbeitungs-Steuerschaltung 100, die als ein Eingangsteil des Ausgangssynchronisationssignals 1003 eines Informationsmusters arbeitet, die CPU 1000, die den Programmzähler 12 umfaßt, das Programmstatus-Wortregister 16, den allgemeinen Registersatz 105 und die ALU 17, den Programmspeicher 13, den Datenspeicher 3, der die Musterausgangsparameter-Zwischenspeicherbereich 30-1 und den Musterausgangs-Ladebereich 30-2 umfaßt, welche an den internen Bus 210 gekoppelt sind. Die I/O-Anforderungssteuereinheit 1001, die das Ausgangsmustersynchronisationssignal 1003 eingibt, erzeugt ein I/O-Anforderungssignal 4 und ein I/O-Modusbestimmungssignal 5 in Abhängigkeit von dem Signal 1003. Der Informationsprozessor umfaßt ferner eine I/O-Anforderungsempfangsschaltung 15 zum Steuern einer Operation der CPU 1000 bei Erhalt des I/O-Anforderungssignals 4 und des I/O-Modusbestimmungssignals 5 von der Schaltung 1001, das Befehlsregister 18 zum Speichern des auszuführenden Befehls, dem Befehlsdekoder 19 zum Erzeugen verschiedener Steuersignale entsprechend den Inhalten des Befehlsregisters 18, die Ausführungssteuereinheit 20 zum Steuern einer allgemeinen Operation des Ausführungsabschnitts entsprechend einem Ausgang des Befehlsdekoders 19, ein Makroserviceregister 21 mit einem Speicherzeiger (M) 21-1 zum Bestimmen einer Adresse des Datenspeichers 3, einem Portzeiger (nachfolgend PORTP) 21-2 zum Bestimmen eines Ports und einen Anschlußzähler (TC) 21-3 zum Speichern einer Anzahl von Makroserviceeinstellungen, die Ausgangseinheit 1006 mit dem Ausgangsregister 1006-2 zum Ausgeben eines Musterdatums und den Anschluß 1006-1 und die Musterausgangsleitung 1006-3. Es wird vorgezogen, daß der Musterausgangsabschnitt 1006 mit zumindest zwei Registerstufen versehen ist, die wie später beschrieben in Reihe geschaltet sind.
- Ein willkürlicher Wert kann in das Register 21 gemäß einem Programm gesetzt werden. In dieser Ausführungsform wird eine Adresseninformation des Musterausgangsdaten-Ladebereichs 3-10 im MP 21-1 des Makroserviceregisters 21 geladen, eine Bestimmungsinformation des Ausgangsregisters 1006-2 wird im PORTP 21-2 geladen, und eine Musterausgangsfrequenz wird zuvor im TC 21-3 geladen.
- Ein Befehlswort, das in einer Adresse des Programmspeichers 13 gespeichert ist, der normalerweise durch einen Inhalt des Programmzählers 12 bestimmt ist, wird in das Befehlsregister 18 gesetzt, wobei das an das Befehlsregister 18 übertragene Befehlswort auf dem Befehlsdekoder 19 interpretiert wird und die Ausführungssteuereinheit 20 somit jedes Teil steuert, um eine Hauptprogrammausführung zu realisieren. Die I/O-Anforderungsempfangsschaltung 15 tastet das I/O-Anforderungssignal 4 bei jeder Beendigung die Befehlsausführung ab und wiederholt die obige Operation, wenn es sich auf einem niedrigen Pegel befindet.
- Wenn das I/O-Anforderungssignal 302 sich auf einem hohen Pegel befindet, wird ein Pegel des I/O-Modusbestimmungssignals 5 detektiert. Wenn der Pegel des I/O-Modusbestimmungssignals 303 niedrig ist, wird ein herkömmliches Unterbrechungshandling (der erste Modus) ausgeführt.
- Wenn andererseits das I/O-Modusbestimmungssignal 303 sich auf einem hohen Pegel befindet, erkennt die I/O-Anforderungsempfangsschaltung 15 den Makroservice (den zweiten Modus). Die CPU sperrt ein Fortschreiben des Programmzählers 12 und führt die folgenden Verarbeitungsschritte aus, ohne Inhalte des Programmzählers 12 und des Programmstatus- Wortregisters 16 in dem Stapelbereich des Datenspeichers 3 zwischenzuspeichern.
- 1. Die Ausführungssteuereinheit 20 liest ein Ausgangsmusterdatum aus dem Ausgangsdaten-Ladebereich 3 bis 10, der durch MP 21-1 des Registers 310 gezeigt wird, überträgt dieses an das Ausgangsregister 1006-2, das durch PORTP 21-2 gezeigt wird, und sendet es über den PORT 1006-1 an die Ausgangsleitung 1006-3.
- 2. Zu einem Wert des MP 21-1 wird mittels der ALU 17 ein Wert 1 addiert und wieder im MP 21-1 geladen.
- 3. Von einem Wert des TC 21-3 wird mittels der ALU 17 ein Wert 1 subtrahiert und wieder im TC 211-3 geladen.
- Der Makroservice zum Ausgeben eines Musters an den PORT wird gemäß den obigen Verarbeitungsschritten ausgeführt. Wenn hier der Wert des TC 21-3 durch Subtraktion 0 wird, aktiviert die I/O-Anforderungssteuerschaltung 1001 wieder das I/O-Anforderungssignal 4 und bringt gleichzeitig das I/O-Modusbstimmungssignal 5 auf einen niedrigen Pegel und erzeugt somit eine Unterbrechungsanforderung gemäß dem ersten Modus, um eine Musterausgangsendverarbeitung durchzuführen.
- Fig. 11 ist ein Blockdiagramm einer zweiten Ausführungsform, in der das Ausgangsregister 1006-2 der Ausführungsform in Fig. 10 dazu veranlaßt wird, als ein erstes Ausgangsregister zu arbeiten, ein zweites Ausgangsregister 1006-4 in Längsrichtung davon vorgesehen ist, und das Register somit in zwei Stufen ausgebildet ist.
- Eine Operation des Informationsprozessors ist gleich wie im Fall der Ausführungsform aus Fig. 10.
- Im allgemeinen gelangt die I/O-Anforderung in einer Vielzahl entsprechend einer Priorität zu einer Verarbeitung und die mit einer niedrigen Priorität wird einer Steuerung mit anhängender Akzeptanz unterzogen. In dem Fall, daß die I/O- Anforderung mit niedrigem Prioritätspegel während der Verarbeitung von einigen I/O-Anforderungen erzeugt wird, wird die Verarbeitung der niedrigen Priorität angehalten, falls aber die angehaltene I/O-Anforderung eine Musterinformations-Ausgangsanforderung ist, kann eine Verzögerung bei der Erzeugung der Anforderung zum Musterausgang entstehen.
- In dem Prozessor aus Fig. 11 wird synchron mit dem sich auf aktivem Pegel befindlichen Musterinformation-Ausgangssynchronisationssignal 1000, das in dem ersten Ausgangsregister 1006-2 gehaltene Datum an das zweite Ausgangsregister 1006-4 übertragen und über den Port 1006-1 ausgegeben. Demgemäß kann durch ein Setzen einer Musterinformation, die an das zweite Ausgangsregister 1006-4 ausgegeben wird, die Musterinformation ausgegeben werden, obwohl die I/O-Anforderung gehalten wird.
- In der Ausführungsform von Fig. 11 wird, wenn die I/O-Anforderung mit höherem Prioritätsrang beendet ist und somit die Musterinformation fertig zur Ausgabeverarbeitung ist, die als nächstes auszugebende Musterinformation über die Makroserviceoperation in das zweite Register 1006-4 geladen, wie im Fall der Ausführungsform in Fig. 10.
- Wie oben beschrieben, ist in dem Prozessor mit einer Vorrangsteuerung ein Ausgangsmuster mit niedriger Priorität zur Übertragung bereit, auch bei Ausführung der Verarbeitung einer hohen Priorität, da der Ausgangsport in zwei Stufen ausgebildet ist, wodurch eine Verzögerung bei der Erzeugung der Ausgangsmusteranforderung zum Datenausgang unterdrückt wird.
- Fig. 12 zeigt eine Ausführungsform der vorliegenden Erfindung mit einer seriellen Datenaustauschfunktion.
- Zunächst wird unter Bezug auf das Blockdiagramm aus Fig. 12 eine Operation für I/O-Übertragungs- und Empfangsanforderungen in der seriellen Datenübertragung beschrieben. Der Serielldatentransmitter 1204 hat das Empfangspufferregister 1207 (nachfolgend Empfangspuffer genannt) und das Übertragungspufferregister 1209 (nachfolgend Übertragungspuffer genannt) und gibt das Empfangsendsignal 1210 und das Übertragungsendsignal 1212 an eine I/O-Anforungssteuereinheit 1200 als Unterbrechung aus. Die I/O-Anforderungssteuereinheit 1200 umfaßt eine I/O-Übertragungsanforderungsschaltung 2401 zum Erzeugen einer I/O-Anforderung zur Beendigung einer Übertragung (nachfolgen I/O-Übertragungsanforderung genannt) bei Empfang des Übertragungsendsignals, eine I/O- Empfangsanforderungsschaltung 2402 zu Erzeugen einer I/O- Anforderung zum Beenden eines Empfangs (nachfolgend I/O- Empfangsanforderung genannt) bei Empfang des Empfangsendsignals, Übertragungs/Empfangs-I/O-Anforderungsleitungen
- 2403-1, 2403-2, Übertragungs/Empfang-I/O-Modusbestimmungsleitungen 2404-1, 2404-2 zum Bestimmen von Übertragung/Empfang-I/O-Verarbeitungsmodi, die I/O-Anforderungsleitung 4, die I/O-Modusbestimmungsleitung 5, Übertragung/Empfang-I/O-Anforderungsbusse 2405-1, 2405-2 und eine Prioritätssteuerschaltung 2408. Wenn der Übertragungspuffer 1208 bei der Übertragung leer wird, werden die I/O-Übertragungsanforderungsleitungen 2403-1 aktiv, und falls die I/O- Übertragungsanforderungsschaltung 2401 sich in einer Position befindet, um die I/O-Übertragungsanforderung durch eine Unterbrechung auszuführen, so wird die I/O-Übertragung-Modusbestimmungsleitung 2404-1 auf einen niedrigen Pegel gebracht, und eine Unterbrechung-Zweigadresse wird an den I/O-Übertragungsanforderungsbus 2405-1 ausgegeben. Wenn dann die Anforderung als Makroservice verarbeitet werden muß, wird die I/O-Übertragung-Modusbestimmungsleitung 2404-1 auf einen hohen Pegel gebracht, und eine Adresse einer ersten Makroservice-Registergruppe 21 (Fig. 13), die später beschrieben wird, wird an die Schaltung 2408 über den I/O- Übertragungsanforderungsbus 2405-1 ausgegeben. Wenn ferner das Empfangsdatum in dem Empfangspuffer 1007 geladen worden ist, wird die I/O-Empfangsanforderung aktiv, und die I/O- Empfangsanforderungsschaltung 2402 arbeitet in der gleichen Weise wie oben, bis auf das Ausgeben einer Adresse einer zweiten Makroserviceregistergruppe 22 (Fig. 13), was später in Verbindung mit dem I/O-Anforderungsbus beschrieben wird.
- Die Schaltung 2408 wählt die I/O-Anforderung mit höchster Priorität aus und aktiviert die I/O-Anforderungsleitung 4 und die I/O-Modusbestimmungsleitung 5.
- Als nächstes ist Fig. 13 ein Blockdiagramm einer CPU. In Fig. 12 umfaßt die CPU die Einheit 1200, die I/O-Anforderungsempfangsschaltung 15 zum Steuern einer Operation der CPU bei Empfang des I/O-Anforderungssignals und des I/O- Modusbestimmungssignals von der I/O-Anforderungssteuereinheit 1200 aus Fig. 12, den Programmspeicher 13, den Datenspeicher 3, den Programmzähler 14, das Statuswortregister 16, die ALU 17, einen allgemeinen Registersatz 506 zum Festhalten des temporär in Verarbeitung befindlichen Datums, das Befehlsregister 18, den Befehlsdekoder 19, und die Ausführungssteuereinheit 20. Die CPU umfaßt ferner eine erste und eine zweite Makroservice-Registergruppe 21, 22, die aus Speicherzeigern (MP) 21-1, 22-1 zum Bestimmen einer Adresse des Datenspeichers 3, SFR Zeiger (SFRP) 21-2, 2-2 zum Bestimmen einer Adresse eines speziellen Registers und Anschlußzähler (TC) 21-3, 22-3 zum mehrmaligen Festhalten des Makroservice. Ein willkürlicher Wert kann durch eine Software in die erste und die zweite Registergruppe 21, 22 gesetzt werden.
- In dieser Ausführungsform ist eine Anordnung derart gewählt, daß eine Adresse des Ladebereichs eines Übertragungsdatums in den MP 21-1 der ersten Registergruppe 21 geladen wird, eine Übertragungspufferadresse in den SFRP 21-2 geladen wird, eine Übertragungsfrequenz in den TC 21-3 geladen wird, eine Adresse des Empfangsdatum-Ladebereichs im MP 22-1 der zweiten automatischen Übertragung-Registergruppe 22 geladen wird, eine Empfangspufferadresse in den SFRP 22-2 geladen wird, eine Empfangsfrequenz in einen TC 22-3 geladen wird, alles im vorhinein durch eine Software.
- Als nächstes wird eine Operation mit Bezug auf Blockdiagramme aus Fig. 12 und Fig. 13 beschrieben. Die CPU überträgt einen in dem Programmspeicher 13 gespeicherten Befehl, der einem Inhalt des Programmzählers 4 entspricht, an das Befehlsregister 18, der Befehlsdekoder 19 und die Ausführungssteuerungseinheit 20 arbeiten dann entsprechend dem an das Befehlsregister 18 übertragenen Befehl, wodurch eine normale Programmausführung realisiert wird. Ein Wert des Programmzählers 14 wird bei jeder Ausführung eines Befehls an eine Adresse des als nächstes auszuführenden Befehls fortgeschrieben. Die I/O-Anforderungsempfangsschaltung 15 tastet die I/O-Anforderungsleitung 406 bei jeder Beendigung des Befehls ab, und wenn sie sich auf einem inaktiven Pegel befindet, wird die normale Programmoperation fortgesetzt.
- Als nächstes wird, wenn die I/O-Anforderungsempfangsschaltung 15 durch Abtasten detektiert, daß die I/O-Anforderungsleitung 4 sich auf einem aktiven Pegel befindet, gleichzeitig auch ein Pegel der I/O-Modusbestimmungsleitung 407 abgetastet. Falls der Pegel der I/O-Modusbestimmungsleitung 5 niedrig ist, wird dann der erste Modus in der CPU gesetzt. Andererseits wird, wenn die I/O-Modusbestimmungsleitung 5 sich auf einem hohen Pegel befindet, der Makroservicecode in der CPU gesetzt. Die Ausführungssteuerungseinheit 20 verbietet ein Adressenfortschreiben des Programmzählers 14. In diesem Fall werden der Programmzähler 14, das Programmstatus-Wortregister 16 und der allgemeine Registersatz 506 nicht auf dem Stapel zusammen mit den in den Bereichen zurückgehaltenen Werten zwischengespeichert, und die folgenden Verarbeitungsvorgänge werden begonnen.
- 1. Die I/O-Anforderungssteuereinheit 1200 gibt eine Adresse des ersten Makroserviceregisters 21 auf den internen Bus 21 aus.
- 2. Die Ausführungssteuereinheit 20 liest die Adresse der ersten Makroserviceregistergruppe 21, um die Registergruppe auszuwählen.
- 3. Die Ausführungssteuereinheit 20 liest ein Übertragungsdatum aus dem Übertragungsdatum-Ladebereich in dem RAM 3, der durch MP 21-1 gezeigt wird und überträgt diesen an den Übertragungspuffer 1209, der durch SFRP 21-2 gezeigt wird.
- 4. Zu einem Wert von MP 21-1 wird mittels der ALU 17 ein Wert 1 addiert und im MP 21-1 wieder gespeichert.
- 5. Von einem Wert des TC 21-3 wird mittels der ALU 17 ein Wert 1 subtrahiert und im TC 21-3 wieder gespeichert.
- Die Makroservice-Datumsübertragung kommt über die obigen Verfahrensschritte zu einem Ende. Wenn jedoch ein Wert des TC 21-3 durch Subtraktion 0 wird, aktiviert die I/O-Übertragungsanforderungsschaltung 2401 die I/O-Übertragungsanforderungsleitung 2403-1 wieder und bringt die I/O-Übertragungsmodusbestimmungsleitung gleichzeitig auf einen niedrigen Pegel, um die Übertragungsunterbrechungsanforderung zu erzeugen. Demgemäß wird in diesem Fall, wenn der Makroservice endet, das Übertragungsunterbrechungsprogramm aktiviert, da die Übertragungsunterbrechungsanforderung erzeugt worden ist.
- Eine Operation, bei erzeugter I/O-Empfangsanforderung wird als nächstes beschrieben. Wenn sich die I/O-Bestimmungsleitung 5 auf einem niedrigen Pegel befindet, wird die I/O- Empfangsanforderung erzeugt. Ein Verfahren zum Aktivieren des Empfangsunterbrechungshandling ist das gleiche, wie in dem Fall der I/O-Übertragungsanforderung, mit der Ausnahme, daß die I/O-Anforderungssteuereinheit 1200 eine Empfangsunterbrechung-Zweigadresse auf den internen Bus 210 ausgibt. Wenn die I/O-Modusbestimmungsleitung 5 sich auf einem hohen Pegel befindet, erkennt die I/O-Anforderungsempfangsschaltung 15, daß die Anforderung der Makroservice sein muß und setzt zwangsweise einen Code in das Befehlsregister 18. In diesem Fall sperrt die Ausführungssteuereinheit 20 ein Adressenfortschreiben des Programmzählers 14. Die CPU beginnt die folgenden Verarbeitungsschritte, wie das Festhalten von Inhalten des Programmzählers 14, des Statuswortregisters 16 und des allgemeinen Registersatzes 506.
- 1. Die I/O-Anforderungssteuereinheit 1200 gibt eine Adresse der zweiten Makroservice-Registergruppe 22 an den internen Bus 210.
- 2. Die Ausführungssteuereinheit 20 liest die Adresse der zweiten Registergruppe 22, um die Registergruppe auszuwählen.
- 3. Die Ausführungssteuereinheit 20 liest ein Empfangsdatum aus dem Empfangspuffer 1207, der durch SFRP 22-2 der zweiten Registergruppe 22 gezeigt wird, und überträgt diesen an den Empfangsdatum-Ladebereich im RAM 3, der durch MP 22-1 gezeigt wird.
- 4. Ein Wert der MP 22-1 wird mittels der ALU 17 mit 1 addiert und im MP 22-1 wieder gespeichert.
- 5. Ein Wert des TC 22-3 wird mittels der ALU 17 um 1 subtrahiert und im TC 22-3 wieder gespeichert.
- Die Makroservicedatenübertragung zum Empfang kommt über die obigen Verarbeitungsschritte zum Ende. Wenn jedoch ein Wert des TC 22-3 durch Subtraktion 0 wird, aktiviert die I/O-Anforderungsempfangsschaltung 1200 die I/O-Anforderungsempfangsleitung 2403-2 wieder, wie im Fall der Übertragung, und bringt die I/O-Empfangsmodus-Bestimmungsleitung 2404-2 auf einen niedrigen Pegel, um eine Empfangsunterbrechungsanforderung zu erzeugen. Demgemäß wird in diesem Fall, wenn die Makroservice-Datenübertragung im Empfangsfall vorbei ist, das normale Empfangsunterbrechungsprogramm aktiviert.
- Wie oben beschrieben, ist der Serielldatenprozessor gemäß der Erfindung dazu geeignet, einen Verarbeitungsmodus einer Empfangsunterbrechung und einer Übertragungsunterbrechung sowie wahlweise einen weiteren Verarbeitungsmodus einer Makroservice-Datenübertragung entsprechend einer I/O-Empfangsanforderung und einer Makroservice-Datenübertragung entsprechend einer I/O-Übertragungsanforderung, um die I/O- Empfangsanforderung und die I/O-Übertragungsanforderung zu meistern, zu steuern. Wenn ferner eine Unterbrechung aufgrund einer Software ausgewählt wird, können verschiedene Datenverarbeitungsprozesse, die durch I/O-Übertragungs/Empfangsanforderungen induziert sind, mit einem Unterbrechungsprogramm manipuliert werden, wie schon seit jeher.
- Eine andere Art eines Informationsprozessors, der eine Datenübertragung entsprechend einer Zeichensteuerung durch Hardware durchführen kann, wird im folgenden beschrieben.
- Ein Informationsprozessor ist mit einem Erzeugungsabschnitt zum Erzeugen einer ersten Verarbeitungsanforderung, die eine Übertragung begleitet, und einer zweiten Verarbeitungsanforderung, die einen Empfang begleitet, einem Speicherabschnitt zum Speichern von Übertragungs-/Empfangsdaten und Programmen, und einer CPU zum Ausführen von Verarbeitungsvorgängen entsprechend der ersten und zweiten Verarbeitungsanforderung und in Programmen versehen, wobei die CPU eine Datenübertragungseinrichtung aufweist, die dazu geeignet ist, eine Datenübertragung in Übereinstimmung mit der ersten und der zweiten Verarbeitungsanforderung unter Beibehaltung ihres eigenen Zustandes in bezug auf die Programmausführung zu verarbeiten, und mit einer Datendetektiereinrichtung zum Verarbeiten einer vorbestimmten Detektion eines Übertragungs-/Empfangsdatums versehen ist.
- Gemäß dieser Ausführungsform kann eine Datenübertragung aufgrund einer Zeichensteuerung zwischen einem Übertragungspufferregister oder einem Empfangspufferregister und einem Datenspeicher entsprechend I/O-Anforderungen einer Beendigung der Übertragung und des Empfangs ausgeführt werden, ohne eine Programmanipulation zwischenzuschalten.
- Gemäß der Datenübertragung (nachfolgend Suchmodus-automatische Datenübertragung genannt) stellt, wenn eine I/O-Anforderung von der peripheren Hardware erzeugt wird, die CPU eine laufende Operation zu einer Programmausführung zurück und führt selbst eine Datenübertragung durch eine Steuerung aufgrund einer vorbestimmten Zeichensuche durch, ohne eine Zwischenschaltung anderer Programmanipulationen, unter Beibehaltung des vorigen CPU-Status (Programmzähler und Programmstatuswort) und des Datums in einem allgemeinen Registersatz. Ferner wird zum Schutz des Datenspeichers auf der Empfangsseite vor einem Übertragungsverlust, der mit einer starr fortlaufenden Verarbeitung aufkommen kann, eine Maximum-Datenübertragung-/Empfangsfrequenz gesetzt, die abweicht von der zur Detektion einer Übereinstimmung mit einem Suchzeichen, und somit wird eine serielle Übertragung oder ein serieller Empfang entsprechend einer Übereinstimmung mit der Maximum-Datenübertragung-/Empfangsfrequenz beendet, ungeachtet eines Verlustes, falls dieser vorliegt, bei der Detektion einer Übereinstimmung mit dem Suchcharakter. Wie beschrieben, wird in der Suchmodus-Automatikübertragung, eine Erzeugungsfrequenz der Übertragungsende-Unterbrechung oder der Empfangsende-Unterbrechung, die im wesentlichen aufgrund von Software verarbeitet wird, minimiert, wodurch die CPU für eine Softwareverarbeitung freigehalten wird und eine doppelte Datenübertragungssteuerung durch eine Suchzeichensteuerung und eine Maximum-Übertragungsfrequenzsteuerung verwirklicht wird.
- Ferner wird bei der Suchmodus-automatischen Datenübertragung eine Verarbeitung nach Beendigung einer vorbestimmten Anzahl von Übertragungen und Empfängen gemäß einer Übereinstimmung der Übertragungs-/Empfangsdaten mit einem vorbestimmten Suchzeichen oder in Übereinstimmung der Datenübertragungsfrequenz mit einer Maximum-Datenübertragung/Empfangsfrequenz durch Unterbrechung getroffen.
- Fig. 14 ist ein Blockdiagramm, das die Funktion wiedergibt. Der Serielldatentransmitter 140 hat das Übertragungspufferregister 1400-1 und das Empfangspufferregister 1400-2 und gibt das Übertragungsendsignal 1400-3 und das Empfangsendsignal 1400-4 an einen I/O-Anforderungssteuerabschnitt 1401. Der Ausführungsabschnitt umfaßt einen I/O-Anforderungsakzeptanzabschnitt 202 zum Steuern einer Operation des Ausführungsabschnitts beim Empfang einer I/O-Ausführungsanforderungsleitung 201-1 und einer I/O-Ausführungsmodusbestimmungsleitung 201-2 von dem I/O-Anforderungssteuerungsabschnitt 201, dem Programmspeicher 103 zum Laden von Programmen, wie einem Unterbrechungshandlingprogramm und dgl., den Datenspeicher 104 zum Halten von Übertragungs/Empfangsdaten, den Programmzähler 102-1 zum Zeigen einer Adresse des als nächstes auszuführenden Programms, eine Arithmetik-Logik-Operationseinheit (nachfolgend ALU genannt) 203 mit einer Arithmetik-Logik-Operationsfunktion, das Programmstatuswort 102-2, das einen allgemeinen Operationszustand des Ausführungsabschnitts anzeigt, den allgemeinen Registersatz 102-3 zum Halten von in der Verarbeitung befindlicher Daten, ein Befehlsregister 204 zum Halten des als nächstes auszuführenden Befehls, einen Befehlsdekoder 205 zum Interpretieren von Inhalten des Befehlsregister 204 und zum Erzeugen verschiedener Steuersignale und einen Ausführungssteuerabschnitt 206 zum Steuern einer allgemeinen Operation des Ausführungsabschnitts entsprechend einem Ausgangssignal des Befehlsdekoders 205. Ferner hat der Ausführungsabschnitt eine erste und eine zweite Suchmodusautomatische Übertragung-Registergruppe 207, 208, und die Suchmodus-automatische Übertragung-Registergruppen 207, 208 umfassen Suchzeichenregister (nachfolgend SCR genannt) 207- 1, 208-1 zum Halten eines Werts des Suchzeichens zum Detektieren eines Seriellübertragungs-/Empfangsendes, Speicherzeiger (nachfolgend MP) 207-2, 208-2 zum Bestimmen einer Adresse des Datenspeichers, SFR-Zeiger (nachfolgend SFRP genannt) 207-3, 208-3 zum Bestimmen einer Adresse des speziellen Registers, Anschlußzähler (nachfolgend TC) 207-4, 208-4 zum Halten einer Übertragungsfrequenz der Suchmodusautomatischen Datenübertragung, und all die oben genannten Funktionseinheiten sind mit dem internen Bus 105 verbunden.
- Mit Bezug auf das Blockdiagramm wird eine Operation der Suchmodus-automatischen Datenübertragung in der Seriellübertragung und dem Seriellempfang der Erfindung unten beschrieben.
- Im Hinblick auf eine I/O-Übertragungsanforderung gibt, wenn das Übertragungspufferregister 100-1 durch ein nach außen Abgeben von Übertragungsdaten leer wird, der Serielldatentransmitter 100 zuerst das Übertragungsendsignal 100-3 an den I/O-Anforderungssteuerabschnitt 201 aus. Der I/O-Anforderungssteuerabschnitt 201 gibt dann ein Signal an den I/O- Anforderungsaktzeptanzabschnitt 202 über die I/O-Ausführungsanforderungsleitung 201-1 und die I/O-Ausführungsmodusbestimmungsleitung 201-2 aus. Bei Detektion, daß die I/O-Ausführungsanforderungsleitung 201-1 aktiv ist, tastet der I/O-Anforderungsaktzeptanzabschnitt 202 einen Pegel der I/O-Ausführungsmodusbestimmungsleitung 201-2 ab, und falls der Pegel niedrig ist, erkennt dann der I/O-Anforderungsakteptanzabschnitt 202 die I/O-Anforderung als ein Unterbrechungshandling und setzt einen Unterbrechungshandlingcode in das Befehlsregister 204. Der Ausführungssteuerabschnitt 206 verbietet dann ein Fortschreiben einer Adresse des Programmzählers 102-1 und setzt Werte des Programmzählers 102-1, des Programmstatuswort 102-2 beiseite in den Datenspeicher 104. Dies geschieht in einem normalen Unterbrechungshandling. Als nächstes gibt der I/O-Anforderungssteuerabschnitt 201 eine Zweigadresse des Übertragungsunterbrechungsprogramms auf den internen Bus 105, und der Ausführungssteuerabschnitt 206 überträgt die Unterbrechungszweigadresse an den Programmzähler 102-1, wodurch das Übertragungsunterbrechungs-Handlingprogramm aktiviert wird. Wenn das Unterbrechungsserviceprogramm zum Ende kommt, werden Daten, die in den Datenspeicher 104 beiseite gesetzt wurden, zu dem Programmzähler 102-1 und dem Programmstatuswort 102-2 zurückgeführt, und eine in Ausführung befindliche Programmanipulation wird wieder begonnen.
- Andererseits, falls sich die I/O-Ausführungsmodusbestimmungsleitung 201-2 auf einem hohen Pegel befindet, erkennt der I/O-Anforderungsaktzeptanzabschnitt 202 die I/O-Anforderung als eine Suchmodus-automatische Datenübertragungsanforderung und setzt einen Suchmodus-automatische Datenübertragung-Verarbeitungscode in das Befehlsregister 204. Der Ausführungssteuerabschnitt 206 verbietet ein Fortschreiben einer Adresse des Programmzählers 102-1 und beginnt die folgende Verarbeitung, wie Festhalten von Werten des Programmzählers 102-1, des Programmstatuswort 102-2 und des allgemeinen Registersatzes 102-3.
- Zuerst gibt der I/O-Anforderungssteuerabschnitt 201 eine Adresse der ersten Suchmodus-automatische Übertragung-Registergruppe 207 auf den internen Bus 105, und der Ausführungssteuerabschnitt 206 liest die Adresse der ersten Suchmodus-automatische Übertragung-Registergruppe 207, um die Registergruppe auszuwählen. Als nächstes liest der Ausführungssteuerabschnitt 206 ein Übertragungsdatum aus dem Übertragungsdaten-Ladebereich 104, der durch den MP 207-2 der ersten Suchmodus-automatische Übertragung-Registergruppe 207 gezeigt wird, führt eine Subtraktion mit einem Wert des SCR 207-1 mittels der ALU 203 aus, und falls das Ergebnis nicht 0 ist, wird das Übertragungsdatum an das durch den SFRP 207-3 gezeigte Übertragungspufferregister 100-1 übertragen. Dann wird ein Wert des MP 207-2 mittels der ALU 203 um 1 erhöht und in den MP 207-2 zurückgeladen, und es wird ein Wert des TC 207-4 um 1 erniedrigt und in den PC 207-4 zurückgeladen.
- Eine Reihe der obigen Verarbeitungsabläufe schließt die Suchmodus-automatische Datenübertragung in der Seriellübertragung, wenn jedoch das Ergebnis, das durch Subtrahieren des Wertes des SCR 207-1 von dem Übertragungsdatum erhalten wird, 0 wird, das heißt, eine Übereinstimmung mit dem Übertragungsdatum detektiert wird, oder der Wert des TC 207-4 durch Subtraktion 0 wird, wird eine Reihe von Datenübertragungen als beendet angesehen, wobei das Übertragungsdatum an das Übertragungspufferregister 100-1 übertragen wird, der I/O-Anforderungssteuerabschnitt 201 dann die I/O-Ausführungsanforderungsleitung 201-1 wieder aktiviert, die I/O-Ausführungsmodusbestimmungsleitung 201-2 auf einen niedrigen Pegel bringt, um eine Übertragungsunterbrechungsanforderung zu erzeugen, wodurch das Übertragungsunterbrechungsprogramm aktiviert wird.
- Eine Operation im Zusammenhang mit einer I/O-Empfangsanforderung wird als nächstes beschrieben. Wenn das Empfangspufferregister 100-2 voll wird, gibt der Serielldatentransmitter 100 das Empfangsendsignal 110-4 an den I/O-Anforderungssteuerabschnitt 201. Der I/O-Anforderungssteuerabschnitt 201 gibt dann die I/O-Ausführungsanforderungsleitung 201-1 und die I/O-Ausführungsmodusbestimmungsleitung 201-2 an den I/O-Anforderungsaktzeptanzabschnitt 202 aus. Der I/O-Anforderungsakzeptanzabschnitt 202 detektiert, daß die I/O-Ausführungsanforderungsleitung 201-1 aktiv ist und tastet einen Pegel der I/O-Ausführungsmodusbestimmungsleitung 201-2 ab, und falls dieser sich auf einem niedrigen Pegel befindet, erkennt dann der I/O-Anforderungsakzeptanzabschnitt 202 die I/O-Anforderung als ein Unterbrechungshandling und aktiviert das Empfangsunterbrechungshandlingprogramm. Die Verarbeitungsoperation ist in diesem Fall die gleiche, wie im Fall der I/O-Übertragungsanforderung mit Ausnahme, daß der I/O-Anforderungssteuerabschnitt 201 eine Zweigadresse des Empfangsunterbrechungsserviceprogramm auf den internen Bus 105 ausgibt.
- Wenn die I/O-Ausführungsmodusbestimmungsleitung 201-2 sich auf einem hohen Pegel befindet, erkennt der I/O-Anforderungsakzeptanzabschnitt 202 die I/O-Anforderung als eine Suchmodus-automatische Datenübertragungsanforderung und setzt einen Suchmodus-automatische Datenverarbeitung-Verarbeitungscode in das Befehlsregister 204. Der Ausführungssteuerabschnitt 206 verbietet ein Fortschreiben einer Adresse des Programmzählers 102-1 und beginnt die folgende Verarbeitung unter Haltung der Werte des Programmzählers 102-1, des Programmstatuswortes 102-2 und des allgemeinen Registersatzes 102-3.
- Der I/O-Anforderungssteuerabschnitt 201 gibt eine Adresse der zweiten Suchmodus-automatische Übertragungs-Registergruppe 208 auf den internen Bus 105 aus und der Ausführungssteuerabschnitt 206 liest die Adresse der zweiten Suchmodus-automatische Übertragung-Registergruppe 208, um die Registergruppe auszuwählen.
- Als nächstes liest der Ausführungssteuerabschnitt 206 ein Empfangsdatum aus dem Empfangspufferregister 100-2, das durch den SFRP 208-3 der zweiten Suchmodus-automatische Übertragung-Registergruppe 208 gezeigt wird, führt eine Subtraktion mit einem Wert des SCR 208-1 mittels der ALU 203 durch, und falls das Ergebnis nicht 0 ist, wird das Empfangsdatum zu dem durch den MP 208-2 gezeigten Empfangsdatum-Ladebereich 104 übertragen. Dann wird ein Wert des MP 208-2 mittels der ALU 203 um 1 erhöht und im MP 208-2 wieder geladen, und ein Wert des TC 208-4 wird um 1 vermindert und im TC 208-4 wieder geladen.
- Mit einer Reihe der obigen Verarbeitungsprozesse schließt die Suchmodus-automatische Datenübertragung die Seriellübertragung, wenn jedoch das Ergebnis, das durch Subtrahieren des Wertes des SCR 208-1 von dem Empfangsdatum erhalten wird, 0 wird, das heißt, eine Übereinstimmung des Suchzeichens mit dem Empfangsdatum detektiert wird, oder der Wert des TC 208-4 durch Subtraktion 0 wird, wird eine Reihe von Datenempfängen als beendet angesehen, wobei das Empfangsdatum in den Empfangsdatum-Ladebereich 100-2 geladen wird, der I/O-Anforderungssteuerabschnitt 201 die I/O-Ausführungsanforderungsleitung 201-1 wie im Fall der Übertragung wieder aktiviert wird, die I/O-Ausführungsmodusbestimmungsleitung 201-2 dann auf einen niedrigen Pegel gebracht wird und so die Empfangsunterbrechung erzeugt wird, um das Empfangsunterbrechungsprogramm zu aktivieren.
- Wie oben beschrieben ist gemäß dieser Erfindung ein Seriellinformationsprozessor herstellbar, welcher auf zwei Arten arbeitet, um mit I/O-Übertragungs-/Empfangsanforderungen, falls diese vorliegen, über ein normales Softwareunterbrechungshandling und eine Suchmodus-automatische Datenübertragung, die in geeigneter Weise durch Software ausgewählt werden kann, fertig zu werden.
- Insbesondere kann die in der Suchmodus-automatischen Datenübertragung erforderliche Zeit zum Abzweigen und Zurückführen des CPU-Status und -Datums und zum Ausführen von Befehlen deutlich vermindert werden, in dem eine Softwareverarbeitung durch Unterbrechung ausgeschlossen wird, und ferner kann eine schnelle und sichere Datenübertragung durch eine doppelte Steuerung aufgrund eines Zeichens und einer Maximum-Übertragungsfrequenz gewährleistet werden.
- Dann wird in einem Serielldatenübertragungssystem, das eine Vielzahl von seriellen Informationsprozessoren mit einer vorher zugewiesenen Adresse aufweist, als weitere Ausführungsform, ein Ziel-Seriellinformationsprozessor ausgewählt, ohne Zwischenschaltung eines Unterbrechungshandlings aufgrund von Software, und es kann so eine Serielldatenübertragung begonnen werden, in der eine Suchmodus-automatische Datenübertragung durchgeführt wird, in der eine Adresseninformation jedes Seriellinformationsprozessors als ein Suchzeichen gesetzt ist und das Suchzeichen als eine Startinformation für die Serielldatenübertragung gesetzt ist. Demgemäß geht es ohne zu sagen so, daß eine Konfiguration eines Serielldatenübertragungssystems entsprechend der Suchmodus-automatischen Datenübertragung, für welche das Suchzeichen eine Adresseninformation jedes Seriellinformationsprozessors und das Suchzeichen einer Endinformation für die Serielldatenübertragung aufweist, die beide kombiniert sind, leicht verwirklicht werden kann.
- Noch eine weitere Ausführungsform dieser Erfindung ist in Fig. 15 dargestellt, in der ein Gleichstrom-Motorantrieb (DC-Motorantrieb) gesteuert wird. Ein DC-Motorantrieb ist mit einem Zeitgeber zum Erzeugen einer Verarbeitungsanforderung in gewünschten Zeitintervallen, einem Zähler zum Zählen eines Eingangspulses, einem D/A-Wandler, einem Speicher zum Speichern eines Programms und verschiedener Daten, einer CPU zum wahlweisen Ausführen einer Verarbeitung entsprechend der Verarbeitungsanforderung und einer Verarbeitung entsprechend dem Programm, wobei die Erfindung dadurch gekennzeichnet ist, daß wenn der Zeitgeber die Verarbeitungsanforderung erzeugt, die CPU eine Ausführung des Programms zurückstellt, ein Geschwindigkeitsabweichungsdatum erzeugt, ohne den vorigen Status beiseite zu setzen, und dieses dem D/A-Wandler übermittelt.
- Fig. 15 gibt eine Ausführungsform wieder. Ein Zeitgeber 2030 hat ein Zeitgeberregister 2030-1 und gibt ein I/O- Zeitgeberanforderungssignal 2030-2 an einen I/O-Anforderungssteuerabschnitt 2020-2. Ein Datenwandlungs-Steuerabschnitt 2020 hat den I/O-Anforderungssteuerabschnitt 2020- 2, eine I/O-Ausführungsanforderungsleitung 2020-3, eine I/O-Ausführungsmodusbestimmungsleitung 2020-4 und einen I/O-Anforderungsakzeptanzabschnitt 2020-1 zum Steuern einer Operation der CPU 2000. Die CPU 2000 umfaßt einen Programmzähler 2000-1 zum Zeigen einer Adresse des als nächstes auszuführenden Programms, eine Arithmetik-Logik-Operationseinheit (ALU) 2000-4 mit einer Arithmetik-Logig-Operationsfunktion, ein Programmstatus-Wortregister 2000-2 zum Anzeigen eines allgemeinen Operationsstatus der CPU, einen allgemeinen Registersatz 2000-3 zum Halten eines in Verarbeitung befindlichen Datums, ein Befehlsregister 2000-5 zum Halten des als nächstes auszuführenden Befehls, einen Befehlsdekoder 2000-6 zum Interpretieren eines Inhalts des Befehlsregisters 2000-5 und zum Erzeugen verschiedener Steuersignale, einen Ausführungssteuerabschnitt 2000-7 zum Steuern einer allgemeinen Operation der CPU aufgrund eines Ausgangssignals des Befehlsdekoders 2000-6. Eine Makorservice-Registergruppe 2070, die für den Makroservice notwendig ist, ist auf einem Teil eines Datenspeichers 2060 gesetzt. Die Makroservice-Registergruppe 2070 umfaßt einen Speicherzeiger (MP) 2070-1 zum Bestimmen einer Adresse eines Befehlswert-Tabellenbereichs 2060-1, der vorher in den Datenspeicher 2060 gesetzt worden ist, einen Zeiger (SFRP) 2070-2 zum Bestimmen einer Adresse eines D/A-Registers 2050-1 und einen Anschlußzähler (TC) 2070-3 zum Halten einer Datumsübertragungsfrequenz an das D/A-Register durch den Makroservice. Ein Zähler 2040 hat ein Zählregister 2040-1 und ein Zählfangregister 2040-2, wobei das Zählregister 2040-1 einen an eine Zähleingangsleitung 2040- 3 eingebenen Verkoderpuls zählt, einen Zählregisterwert an das Zählfangregister 2040-2 in Abhängigkeit von dem I/O- Zeitgeberanforderungssignal 2030-2 überträgt und unmittelbar anschließend geleert wird. Ein D/A-Wandler 2050 hat das D/A-Register 2050-1 und gibt eine einem in das D/A-Register 2050-1 gesetzten Wert entsprechende Spannung über eine D/A- Wandlerausgangsleitung 2050-2 aus. Das Ausgangssignal wird dann als ein Analogsignal dem DC-Motor aufgedrückt.
- Operationen des ersten Modus und des zweiten Modus (Makroservice) werden mit Bezug zu Fig. 15 beschrieben. Wenn die Zeit, die mit dem Wert übereinstimmt, der in das Zeitgeberregister 2030-1 des Zeitgebers 2030 übereinstimmt, abläuft, wird das I/O-Zeitgeberanforderungssignal 2030-2 aktiv. Wenn das Zeitgeberanforderungssignal 2030-2 als aktiv erkannt wird, veranlaßt der I/O-Anforderungssteuerabschnitt 2020-2 den I/O-Anforderungsakzeptanzabschnitt 2020-1, die I/O-Anforderungsleitung 2020-3 und die I/O-Modusbestimmungsleitung 2020-4 anzutreiben. Bei einer Detektion dessen, daß die I/O-Anforderungsleitung 2020-3 aktiv ist, tastet der I/O-Anforderungsakzeptanzabschnitt 2020-1 einen Pegel der I/O-Modusbestimmungsleitung 2020-4 ab. Falls sich dieser auf einem niedrigen Pegel befindet, erkennt dann der I/O- Anforderungsakzeptanzabschnitt 2020-1 die I/O-Anforderung als eine Unterbrechungshandlinganforderung und setzt einen Unterbrechungshandlingcode in das Befehlsregister 2000-5.
- Der Ausführungssteuerabschnitt 2000-7 verbietet dann ein Fortschreiben einer Adresse des Programmzählers 2000-1 und setzt Werte des Programmzählers 2000-1 und des Programmstatuswortregisters 2000-2 beiseite in den Datenspeicher 2060. Als nächstes gibt der I/O-Anforderungssteuerabschnitt 2020- 2 eine Zweigadresse eines Zeitgeberunterbrechungsprogramms auf einen internen Bus 2080, und der Ausführungssteuerabschnitt 2000-7 setzt die Unterbrechungszweigadresse in den Programmzähler 2000-1, wodurch das Zeitgeberunterbrechungsprogramm aktiviert wird. Wenn das Unterbrechungsserviceprogramm endet, werden Daten, die in den Datenspeicher 2060 beiseite gesetzt worden sind, zu dem Programmstatuswortregister 2000-2 und dem Programmzähler 2000-1 zurückgeführt, und die zurückgestellte Programmanipulation wird wieder aufgenommen. Das vorstehende betrifft den ersten Modus.
- Falls sich andererseits die I/O-Ausführungsmodusbestimmungsleitung 2020-4 auf einem hohen Pegel befindet, wenn die I/O-Anforderungsleitung 2020-3 aktiv wird, erkennt der I/O-Anforderungsakzeptanzabschnitt 2020-1 die I/O-Anforderung als eine Makroserviceanforderung und setzt einen Makroservicecode in das Befehlsregister 2000-5. Der Ausführungssteuerabschnitt 2000-7 beginnt die folgenden Verarbeitungsschritte, wie das Festhalten des Status des Programmzählers 2000-1, des Programmstatus-Wortregisters 2000-2 und des allgemeinen Registersatzes 2000-3. Zuerst gibt der I/O- Anforderungssteuerabschnitt 2020-2 eine Adresse der Makroserviceregistergruppe 2070 aus, wobei der Ausführungssteuerabschnitt 2000-7 die Adresse liest und die Registergruppe auswählt. Als nächstes liest der Ausführungssteuerabschnitt 2000-7 ein Datum der durch MP 2070-1 gezeigten Adresse oder den vorigen Befehlswert aus dem Befehlswert-Tabellenbereich 2060-1 und führt eine Subtraktion mit dem Zählfangregister 2040-2 mittels der ALU 2000-4 durch. Das Ergebnis wird zu der durch SFRP 2070-2 gezeigten Adresse, nämlich dem D/A- Register 2050-1, übertragen. Dann wird ein Wert des MP 2070-1 mittels der ALU 2000-4 um 1 erhöht und im MP 2070-1 wieder geladen. Andererseits wird ein Wert des TC 2070-3 um 1 erniedrigt und im TC 2070-3 wieder geladen.
- Die an den Motor anzulegende Spannung wechselt somit automatisch zu einer Spannung, wodurch die Motordrehzahl dem auf MP 2070-1 bezogenen Befehlswert folgt, indem das D/A- Register entsprechend der I/O-Anforderung von dem Zeitgeber über eine Reihe von obigen Verarbeitungsschritten fortgeschrieben wird. Wenn der TC 2070-3 durch Subtraktion 0 wird, betrachtet der I/O-Anforderungssteuerabschnitt 2020-2 eine Reihe von Beschleunigungs- oder Verzögerungsverarbeitungsschritte als beendet an und aktiviert die I/O-Anforderungsleitung 2020-3 wieder. Ferner wird die I/O-Modusbestimmungsleitung 2020-4 auf einen niedrigen Pegel gebracht, wobei eine Zeitgeberunterbrechung zwangsweise erzeugt wird und die Software auf ein Ende einer Serie von Makroservices avisiert ist.
- Wie oben beschrieben wird gemäß diese Ausführungsform eine Unterbrechungserzeugung, für die eine Softwareverarbeitung erforderlich ist, reduziert, und die Zeit, die zum Abzweigen und Zurückführen des Programmzählers, des Programmstatuswort und des allgemeinen Registers, für eine Zweigverarbeitung an das Unterbrechungshandlingprogramm, ein Lesen des Befehles, Dekodieren und dgl., kann deutlich eingespart werden. Eine Verschlechterung des Datendurchsatzes der CPU kann folglich minimiert werden. Ferner muß der Befehlswert nicht fortgeschrieben werden, oder wird beispielsweise der MP 2070-1 nicht um 1 erhöht, und der Befehlswert jedes Mal für eine Umdrehung mit konstanter Geschwindigkeit aus der gleichen Tabelle entnommen, wodurch diese auf einfache Weise gesteuert ist. Wie beschrieben, hat der DC-Motorantrieb gemäß dieser Ausführungsform eine epochemachende D/A- Umwandlungsdaten-Verarbeitungssteuereinrichtung, wodurch eine sehr hohe Brauchbarkeit sichergestellt ist.
- Noch eine weitere Ausführungsform, die für eine Serielldatenübertragung geeignet ist, erfordert eine Zeitüberwachung. Eine serielle Schnittstelle erzeugt eine Unterbrechung, wann immer ein Datum übertragen oder empfangen wird, wobei ein serielles Datum aufgrund einer Softwareverarbeitung der CPU übertragen oder empfangen wird, und ein Zeitgeber, der der seriellen Schnittstelle zugeordnet ist, arbeitet zur Zeitüberwachung einer normalen Seriellübertragung/Empfang, das heißt, eine Empfangsbeendigung am Ziel wird innerhalb einer konstanten Zeitdauer in einer seriellen Übertragung und ein Vorhandensein des empfangenen Datums innerhalb einer konstanten Zeitdauer in einem seriellen Empfang detektiert.
- Ein Informationsprozessor mit einem Serielldatentransmitter zum Erzeugen einer Anforderung sendet, für eine Übertragung, und einer Anforderung zum Empfangen, für einen Empfang, einem Zeitgeber zum Erzeugen einer Messungsende-Anforderung, für eine Beendigung einer Zeitmessung, einem Speicherabschnitt zum Speichern eines Übertragungs/Empfangsdatums und Programms, einer CPU zum Ausführen von Verarbeitungsschritten entsprechend der Anforderung zum Senden, der Anforderung zum Empfangen und der Anforderung zum Beenden einer Messung, umfaßt eine Datenübertragungseinrichtung zum Übertragen eines Datums entsprechend der Anforderung zum Senden und der Anforderung zum Empfangen unter Festhalten eines Status der CPU zur Programmanipulation, eine Seriellübertragung/Empfangs-Abnormitäts-Detektiereinrichtung für die Anforderung zum Messungsende des Zeitgeber, eine CPU, die eine vorbestimmte Übertragung/ Empfangsdatumsverarbeitung durch die Datenübertragungseinrichtung und die Übertragung/Empfangsdatumsverarbeitung durch die Seriellübertragung/Empfangs-Abnormitäts-Detektiereinrichtung überwacht, wenn der Serielldatentransmitter die Anforderung zum Senden und die Anforderung zum Empfangen erzeugt.
- Fig. 16 ist ein Blockdiagramm, das den oben erwähnten Informationsprozessor wiedergibt. In der Ausführungsform hat der Serielldatentransmitter 601 die Übertragungsleitung 6061, das Übertragungspufferregister 6011 und die Empfangsleitung 6062, das Empfangspufferregister 6012 und ist ferner mit einer CTS-Leitung 6063, einer DSR-Leitung 6064 als Übertragung-/Empfangs-Steuersignale an den Ausgang TxBE 6065, einem RxBF 6066 und einem CTS-Wahrnehmungssignal 6067 an einen I/O-Anforderungssteuerabschnitt 6031 versehen. Der Zeitgeber 606 wird aus einem Satz Zeitgebern (0) 6016 einer Zeitgerbereinheit und dem Dekrementmesser 6022 gebildet. Der Zeitgeber (0) 6016 besteht aus dem Zeitgeber 0-Modulo- Register 6018 und dem Zeitgeber 0-Zeitgeberregister 6019, und gibt das Zeitgeber 0-Zählendsignal 6069 an den I/O-Anforderungssteuerabschnitt 6031 aus.
- Der I/O-Anforderungssteuerabschnitt 6031 hat eine Servicesteuerung-Registergruppe 6041, die aus einem I/O-Kanalregister mit einer Adresseninformation der peripheren Hardware und einem Bit zur Funktionsüberwachung besteht, welches ein Übertragungskanalregister 6042, ein Bit 6043 zur Übertragungsüberwachungsfunktion und ein Empfangskanalregister 6044 und ein Bit 6045 zur Empfangsüberwachungsfunktion umfaßt.
- Der Ausführungsabschnitt umfaßt einen I/O-Anforderungsakzeptanzabschnitt 6032 zum Steuern einer Operation des Ausführungsabschnitts bei Empfang einer I/O-Ausführungsanforderungsleitung 6071 und einer I/O-Ausführungsmodusbestimmungsleitung 6072 von dem I/O-Anforderungssteuerabschnitt 6031, den Programmspeicher 604 zum Laden von Programmen, wie einem Unterbrechungsserviceprogramm und dgl., den Datenspeicher 605 zum Halten eines Übertragungs/Empfangsdatums, ein PC 6013 zum Zeigen einer Adresse des als nächste auszuführenden Programms, eine Arithmetik- Logik-Operationseinheit (ALU) 6033 mit einer Arithmetik- Logik-Operationsfunktion, ein PSW 6014, das einen allgemeinen Operationszustand des Ausführungsabschnitts anzeigt, den allgemeinen Registersatz 6015 zum Halten eines in Verarbeitung befindlichen Datums, ein Befehlsregister 6034 zum Halten des als nächstes auszuführenden Befehls, einen Befehlsdekoder 6035 zum Interpretieren von Inhalten des Befehlsregisters 6034 und zum Erzeugen verschiedener Steuersignale, und einen Ausführungssteuerabschnitt 6036 zum Steuern einer allgemeinen Operation des Ausführungsabschnitts aufgrund eines Ausgangssignals des Befehlsdekoder 6035. Ferner hat der Ausführungsabschnitt eine erste und eine zweite automatische Übertragung-Registergruppe 6037, 6038 mit einer Überwachungsfunktion, die zur automatischen Datenübertragung erforderlich ist, und mit einer Überwachungsfunktion durch den Zeitgeber (nachfolgend Makroservice mit Überwachungsfunktion genannt) versehen ist, und die Makroservice-Registergruppen 6037, 6038 umfassen jeweils Überwachungszeitgeber-Moduloabschnitte (nachfolgend WDM genannt) 6046, 6051 für auf dem Speicher abgebildete, softwareüberwachte Zeitgeber, Überwachungszeitgeber-Zählabschnitte (nachfolgend WDC genannt) 6047, 6052 und SFR-Zeiger (nachfolgend SFRP genannt) 6048, 6053 zum Bestimmen einer Adresse eines speziellen Registers, Anschlußzähler (TC) 6049, 6054 zum Halten einer Verarbeitungsfrequenz der automatischen Übertragung, Speicherzeiger (MP) 6050, 6055 zum Bestimmen einer Adresse des Datenspeichers, und all die Funktionseinheiten sind mit dem internen Bus 607 verbunden.
- Eine Operation der Makroservice-Datenübertragung mit Überwachungsfunktion bei Seriellübertragung/Empfang wird als nächstes beschrieben.
- Für eine I/O-Übertragungsanforderung wird zunächst ein Zählwert in das Zähler-0-Moduloregister 6018 und den WDM 6046 der ersten Makroservice-Registergruppe 6037 mit Überwachungsfunktion gesetzt, um ein vorbestimmtes Überwachungszeitintervall (Zeit zwischen einem Übertragungsende und einem Zielempfangsende) zu erhalten. Die vorbestimmte Überwachungszeit kann als Produkt eines Zählwertes des Zeitgeber 0-Moduloregister 6018 und eines Zählwertes des WDM 6046 ausgedrückt werden. Wenn das Übertragungspufferregister 6011 durch das nach außen Senden eines Übertragungsdatums leer wird, gibt der Serielldatentransmitter 1 TxBE 6065 an den I/O-Anforderungssteuerabschnitt 6031 aus.
- Der I/O-Anforderungssteuerabschnitt 6031 gibt dann die I/O- Anforderungsleitung 6071 und die I/O-Modusbestimmungsleitung 6072 an den I/O-Anforderungsakzeptanzabschnitt 6032 aus. Bei Detektion, daß die I/O-Anforderungsleitung 6071 aktiv ist und sich zudem die I/O-Modusbestimmungsleitung 6072 auf einem niedrigen Pegel befindet, erkennt der I/O- Anforderungsakzeptanzabschnitt 6032 die I/O-Anforderung als ein Unterbrechungshandling und führt ein normales Unterbrechungshandling aus, das mit einem Abzweigen und Zurückführen des PC 6013, PSW 6014 und des allgemeinen Registersatzes 6015 begleitet ist.
- Falls andererseits die I/O-Modusbestimmungsleitung 6072 sich auf einem hohen Pegel befindet, erkennt der I/O-Anforderungsakzeptanzabschnitt 6032 die I/O-Anforderung als eine Makroservice-Datenübertragungsanforderung mit Überwachungsfunktion und setzt den Verarbeitungscode in das Befehlsregister 6034.
- Der Ausführungssteuerabschnitt 6036 führt den nächsten Verarbeitungsgang durch unter Halten von Werten des PC 6013, PSW 6014 und des allgemeinen Registersatzes 6015. Zuerst gibt der I/O-Anforderungssteuerabschnitt 6031 eine Adresse der ersten Makroservice-Übertragungsregistergruppe 6037 mit Überwachungsfunktion über das Übertragungskanalregister 6042 auf den internen Bus 607 aus, wobei der Ausführungssteuerabschnitt 6036 dann die Adresse liest, um die erste Registergruppe 6037 mit Überwachungsfunktion auszuwählen. Als nächstes liest der Ausführungssteuerabschnitt 6036 ein Übertragungsdatum aus dem Übertragungsdatum-Ladebereich A aus, der durch den MP 6050 der ersten Registergruppe 6037 gezeigt wird, überträgt diesen an das Übertragungspufferregister 11, das durch SFRP 6048 gezeigt wird, überträgt ferner einen Wert des WDM 6046 an den WDC 6047, bringt den Bit 6043 zur Übertragungsüberwachungsfunktion in der Servicesteuerregistergruppe 6041 des I/O-Anforderungssteuerabschnitts 6031 auf 1 und sendet dann ein Startsignal an den Zeitgerber (0) zum Steuern des durch Software überwachten Zeitgebers. Dann wird ein Wert des MP 6050 durch die ALU 6033 um 1 erhöht, in den MP 6050 zurückgeladen, und ein Wert des TC 6049 wird um 1 erniedrigt und in den TC 6049 zurückgeladen, womit die Makroservice-Datenübertragung abgeschlossen wird.
- Wenn dann der Wert des TC 6049 durch Subtraktion 0 wird, wird eine Reihe einer Datenübertragung als abgeschlossen angesehen, wobei der I/O-Anforderungssteuerabschnitt 6031 die I/O-Anforderungsleitung 6071 wieder aktiviert und die I/O-Modusbestimmungsleitung 6072 in diesem Fall auf einen niedrigen Pegel bringt, um eine Übertragungsunterbrechungsanforderung zu erzeugen, wodurch das Übertragungsunterbrechungs-Serviceprogramm aktiviert wird.
- Der Zeitgeber (0) 6016, der entsprechend der Makroservice- Datenübertragung aufgrund der I/O-Übertragungsanforderung gestartet ist, gibt das Zeigeber-0-Zählendsignal 6069 an den I/O-Anforderungssteuerabschnitt 6031 entsprechend einem in dem Zeitgeber-0-Modulregister 6018 gesetzten Wert an jedem vorbestimmten Zeitintervall aus. Der I/O-Anforderungssteuerabschnitt 6031 aktiviert die I/O-Ausführungsanforderungsleitung 6071 und bringt die I/O-Ausführungsmodusbestimmungsleitung 6072 auf einen hohen Pegel und avisiert den I/O-Anforderungsakzeptanzabschnitt 6032 einer Zeitgeber-0-automatischen Datenübertragung.
- Für die Zeitgeber-0-Makroservice-Datenübertragung wird eine Reihe der folgenden Verarbeitungsläufe durch den I/O-Anforderungssteuerabschnitt 6031 und den Ausführungssteuerabschnitt 6036 ausgeführt.
- 1. Eine Adresseninformation eines ersten Kanalregisters (oder des Übertragungskanalregister 6042) in der Servicesteuerung-Registergruppe 6041 des I/O-Anforderungssteuerabschnitts 6031 wird auf den internen Bus 607 ausgegeben.
- 2. Der Ausführungssteuerabschnitt 6036 liest die Adresse, um die erste Registergruppe 6037 mit Überwachungsfunktion auszuwählen und subtrahiert von einem Wert des WDC 6037 ein Wert 1 durch die ALU 6033.
- 3. Der Bit 6043 zur Übertragungsüberwachungsfunktion wird geprüft, und falls er 1 ist, wird ein Subtraktionsergebnis in den WDC 6047 zurückgeladen, falls er aber 0 ist, wird nicht zurückgeladen. (Da der Bit 6043 zur Übertragungsüberwachungsfunktion in diesem Fall 1 ist, wird der Wert des WDC 6047 um 1 verringert.)
- 4. Der Ausführungssteuerabschnitt 6036 avisiert der I/O-Anforderungssteuerabschnitt 6031, daß die Subtraktion einmal vorüber ist, und der I/O-Anforderungssteuerabschnitt 6031 gibt eine Adresseninformation des nächsten Kanalregisters auf den internen Bus 607.
- Nur der WDC der I/O-Anforderungsquelle, für den der Bit zur Überwachungsfunktion 1 ist, wird um 1 vermindert, indem eine Reihe der obigen Verfahrensläufe 1-4 wiederholt werden. Ferner wird in dem Fall, daß der Wert einiger WDC 0 wird, nachdem eine Reihe von Subtraktionen mit allen I/O- Anforderungsquellen beendet worden ist, durch den I/O-Anforderungssteuerabschnitt 6031 die I/O-Anforderungsleitung 6071 wieder aktiviert und die I/O-Bestimmungsleitung 6072 zu diesem Zeitpunkt auf einen niedrigen Pegel gebracht, und das Zeigeber-0-Unterbrechungshandling aktiviert.
- Wo eine normale serielle Übertragung durchgeführt worden ist, wird der Serielldatentransmitter 601 von dem Zielempfangsende innerhalb einer vorbestimmten Zeit durch Aktivierung des CTS 6063 avisiert. Wenn der CTS 6063 aktiv wird, sendet der Serielldatentransmitter 1 ein CTS-Wahrnehmungssignal 6067 an den I/O-Anforderungssteuerabschnitt 6031, wobei der I/O-Anforderungssteuerabschnitt 6031 dann die I/O-Anforderungsleitung 6071 zum I/O-Anforderungsakzeptanzabschnitt 6032 aktiviert und zudem die I/O-Modusbestimmungsleitung 6072 auf einen hohen Pegel bringt, wodurch eine CTS-automatische Datenübertragung durchgeführt wird. Mit dem auf 0 gehaltenen Bit 6043 zur Übertragungsüberwachungsfunktion in der Servicesteuerregistergruppe 6041 des I/O-Anforderungssteuerabschnitts 6031 wird die Subtraktion des WDC 6047 entsprechend der Zeigeber-0-Makroservice-Datenübertragung gestoppt.
- Dann werden, im Fall einer Abnormität aufgrund der seriellen Übertragung und der damit unterbliebenen Aktivierung des CTS innerhalb einer vorbestimmten Zeit, eine Subtraktion und ein Stopp des WDC 6047 entsprechend der CTS-automatischen Datenübertragung nicht ausgeführt, und als Ergebnis einer Subtraktion des WDC 6047 auf dem Zeitgeber (0) 6016 entsprechend der Makroservice-Datenübertragung wird der Wert des WDC 6047 0 und das Zeitgeber-0-Unterbrechungshandling aktiviert, wodurch die Abnormität bei der seriellen Übertragung detektiert wird.
- Eine I/O-Empfangsanforderung wird als nächstes beschrieben.
- Wie in dem Fall einer I/O-Übertragungsanforderung, wird ein Zählwert im voraus in das Zeitgeber-0-Moduloregister 6018 und den WDM 6052 der zweiten Registergruppe 6038 mit Überwachungsfunktion gesetzt, um so ein vorbestimmtes Zeitintervall (Datenempfangsintervall) zu erhalten. Wenn das Empfangspufferregister 6012 voll wird, aktiviert der Serielldatentransmitter 1 das DSR, um der Quelle die Empfangsbeendigung zu avisieren, und gibt ein RxBF 6066 an den I/O-Anforderungssteuerabschnitt 6031 aus. Der I/O-Anforderungssteuerabschnitt 6031 gibt dann die I/O-Anforderungsleitung 6071 und die I/O-Modusbestimmungsleitung 6072 an den I/O- Anforderungsakzeptanzabschnitt 6032 aus.
- Der I/O-Anforderungakzeptanzabschnitt 6032 detektiert, daß die I/O-Ausführungsanforderungsleitung 6071 aktiv ist und tastet einen Pegel der I/O-Anforderungsausführungsmodus-Bestimmungsleitung 6072 zur gleichen Zeit ab, und falls sich diese auf einem niedrigen Pegel befindet, erkennt dann der I/O-Anforderungsakzeptanzabschnitt 6032 die I/O-Anforderung als ein Unterbrechungshandling, und das Empfangsunterbrechungsserviceprogramm wird aktiviert. Wenn die I/O-Ausführungsmodus-Bestimmungsleitung 6072 sich auf einem hohen Pegel befindet, erkennt der I/O-Anforderungsakzeptanzabschnitt 6032 die I/O-Anforderung als die Makroservice-Datenübertragungsanforderung mit Überwachungsfunktion und setzt den Verarbeitungscode in das Befehlsregister 6034. Der Ausführungssteuerabschnitt 6036 beginnt die folgenden Verarbeitungsschritte unter Haltung von Werten des PC 6013, PSW 6014 und des allgemeinen Registersatzes 6015.
- Der I/O-Anforderungssteuerabschnitt 6031 gibt eine Adresse der zweiten Registergruppe 6038 mit Überwachungsfunktion auf den internen Bus 607 aus, und der Ausführungssteuerabschnitt 6036 liest die Adresse, um die zweite Registergruppe 6038 mit Überwachungsfunktion auszuwählen.
- Als nächstes liest der Ausführungssteuerabschnitt 6036 ein Empfangsdatum aus dem Empfangspufferregister 6012, das durch SFRP 6053 der zweiten automatischen Übertragung-Registergruppe 6038 mit Überwachungsfunktion gezeigt wird, überträgt dieses auf den Empfangsdatum-Ladebereich D, der durch MP 6055 gezeigt wird, überträgt ferner einen Wert des WDM 6051 zum WDC 6052, bringt dann den Bit 6045 zur Empfangsüberwachungsfunktion in der Servicesteuerregistergruppe 6041 des I/O-Anforderungssteuerabschnitt 6031 auf 1 und sendet ein Startsignal an den Zeitgeber (0) 16. Der Wert des MP 6055 wird dann um 1 erhöht und der Wert des TC 6054 wird dann um 1 durch die ALU 6033 erniedrigt, beide werden zurückgeführt und somit die Makroservice-Datenübertragung abgeschlossen. Wenn der Wert des TC 6054 dann durch Subtraktion 0 wird, wird eine Reihe des Datenempfangs als abgeschlossen angesehen, und das Empfangsunterbrechungsprogramm wird dann wie im Fall der Übertragung aktiviert.
- Der Zeitgeber (0) 6016, der entsprechend der seriellen Empfangs-Makroservice-Datenübertragung gestartet ist, gibt das Zeitgeber-0-Zählendsignal 6069 an den I/O-Anforderungssteuerabschnitt 6032 an jedem vorbestimmten Zeitintervall entsprechend einem in dem Zeitgeber-0-Moduloregister 6018 gesetzten Wert aus. Der I/O-Anforderungssteuerabschnitt 6031 aktiviert dann die I/O-Anforderungsleitung 6071, bringt die I/O-Modusbestimmungsleitung 6072 auf einen hohen Pegel und avisiert dann dem I/O-Anforderungsakzeptanzabschnitt 6032 die Zeitgeber-0-Makroservice-Datenübertragung.
- Die Zeitgeber 0-automatische Datenübertragung vermindert den WDC der Makroservice-Datenübertragungsregistergruppe entsprechend der I/O-Anforderungsquelle, für welche das Bit zur Überwachungsfunktion in der Servicesteuerungs-Registergruppe 6041 des I/O-Anforderungssteuerabschnitts 6031, alle um 1, wie im Fall einer Übertragung.
- Im Hinblick auf den seriellen Empfang liest der Ausführungssteuerabschnitt 6036 eine Adresse des Empfangskanalregisters 6044, um die zweite Registergruppe 6038 mit Überwachungsfunktion auszuwählen, vermindert einen Wert des WDC 6052 durch die ALU 33 um 1 und führt das Ergebnis zum WDC 6052 zurück.
- Wenn der Wert einiger WDC 0 wird, nachdem eine Reihe von Subtraktionen an allen I/O-Anforderungsquellen beendet worden ist, wie im Fall der Übertragung, aktiviert der I/O-Anforderungsteuerabschnitt 6031 die I/O-Anforderungsleitung 6071 wieder und bringt die I/O-Modusbestimmungsleitung 6072 zu diesem Zeitpunkt auf einen niedrigen Pegel, wodurch das Zeitgeber-0-Unterbrechungshandling aktiviert ist.
- In einem Fall, in dem der serielle Empfang unter normalen Zeitintervallen durchgeführt wird, wird der WDC 6052 immer dann initialisiert, wenn das Datum über die automatische Datenübertragung entsprechend einer I/O-Empfangsanforderung empfangen wird. Falls jedoch eine Abnormität bei der seriellen Empfangsoperation auftritt und somit das nächste Datum nicht innerhalb des normalen Zeitintervalls empfangen wird, wird ein Subtraktionsergebnis des Zeitgeber (0) 6016 über die Makroservice-Datenübertragung 0, da der WDC 6052 nicht initialisiert ist, und somit wird eine Zeitgeber-0- Unterbrechung aktiviert, wodurch die Abnormität des seriellen Empfangs der CPU detektiert wird.
Claims (12)
1. Informationsprozessor mit einem Programmspeicher (13)
zum Speichern von Befehlen für ein Programm; einen
Datenspeicher (3), einer Zentralverarbeitungseinheit (2)
einschließlich eines Programmzählers (14) zur Ausweisung
einer Adresse des Programmspeichers, in der ein
auszuführender Befehl gespeichert ist, einer Ausführungseinheit
(17-20) zur Durchführung einer Auslesung aus dem
Programmspeicher und einem Statuswortregister (16) zum Speichern
von Information, die den Ausführungszustand der
Ausführungseinheit angibt; zumindest einer Peripherieeinheit zur
Erzeugung einer Betriebsanforderung; und einer
Anforderungssteuereinheit (7, 10, 15) zum Antworten auf die
Betriebsanforderung und zur Erzeugung, in einem ersten
Zustand, einer ersten Betriebsunterbrechungsanforderung für
die Ausführungseinheit; wobei die Ausführungseinheit die
Ausführung des in dem Programmspeicher gespeicherten
Programms in Abhängigkeit von der ersten
Betriebsunterbrechungsanforderung zurückstellt und, nach dem
Zwischenspeichern der Inhalte des Programmzählers und des
Statuswortregisters, einen Unterbrechungsbetrieb durchführt, durch
Ausführung der aus dem Programmspeicher ausgelesenen Befehle
unter Verwendung des Programmzählers und des
Statuswort-Registers,
dadurch gekennzeichnet, daß die
Anforderungs-Steuereinheit (7, 10, 15) ferner in einem zweiten
Zustand eine zweite Betriebsunterbrechungsanforderung für die
Ausführungseinheit in Abhängigkeit von der
Betriebsanforderung für die Ausführungseinheit erzeugt und daß die
Ausführungseinheit (17-20) ferner auf die zweite
Betriebsunterbrechungsanforderung antwortet, die Ausführung des im
Programmspeicher gespeicherten Programms zurückstellt und
einen Unterbrechungsbetrieb durchführt, der durch die
zweite Betriebsunterbrechungsanforderung gefordert wurde,
ohne die Inhalte des Programmzählers und des
Statuswortregisters zwischenzuspeichern, wobei die Inhalte des
Programmzählers und des Statuswortregisters wie sie sind
gehalten werden und ohne Verwendung von Befehlen, die im
Programmspeicher gespeichert sind, und daß die
Ausführungseinheit eine Registergruppe (21, 22) auswählt, die zur
Ausführung der zweiten Betriebsunterbrechungsanforderung
vorbereitet ist, wobei die Registergruppe die Adresszeiger, die
auf Adressen im Datenspeicher und auf die Adressen eines
speziellen Funktionsregisters (SFR) in der
Anforderungssteuereinheit zeigen und einen Zählwert speichert, wobei
die Inhalte der Register durch die Ausführungseinheit zur
Steuerung der Datenübertragung zwischen dem Datenspeicher
und der Peripherieeinheit verwendet werden.
2. Informationsprozessor nach Anspruch 1,
dadurch gekennzeichnet, daß die
Anforderungssteuereinheit (7, 10, 15) ein Flagregister (113)
aufweist, das in einen ersten oder einen zweiten Zustand
gebracht wird.
3. Informationsprozessor nach Anspruch 2,
dadurch gekennzeichnet, daß, wenn der
Unterbrechungsbetrieb, der durch die zweite
Betriebsunterbrechungsanforderung gefordert wird, vorgegebene Male
ausgeführt wurde, die Ausführungseinheit (17-20) das
Flagregister (113) vom zweiten Zustand in den ersten Zustand
ändert, um die Anforderungssteuereinheit (7, 10, 15) zu
veranlassen, die erste Betriebsunterbrechungsanforderung zu
erzeugen.
4. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die
Peripherieeinheit einen Analog-Digital-Wandler (80) aufweist zur
Wandlung eines Analogsignals (80-1) in ein Digitalsignal,
wobei der Wandler (80) ein Register (80-2) aufweist zum
Speichern des Digitaldatums und zur Erzeugung der
Betriebsanforderung (80-3), wenn ein Wandlerbetrieb beendet
ist, und daß in Abhängigkeit von der zweiten
Betriebsunterbrechungsanforderung von der Anforderungs-Steuereinheit
(800) die Ausführungseinheit (17-20) das Digitaldatum aus
dem Register (80-2) ausliest und das Digitaldatum in einen
vorgegebenen Bereich (3-1) des Datenspeichers (3)
einschreibt.
5. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die
Peripherieeinheit eine Zählereinheit (95) aufweist, die mit einem
Pulssignal (95-3) versorgt wird, wobei die Zählereinheit
(95) einen freilaufenden Zähler (95-1) zum Zählen eines
Taktsignals und ein Fangregister (95-2) zum Festhalten
eines Zählwertes des freilaufenden Zählers (95-1) aufweist,
wenn das Pulssignal (95-3) zugeführt wird und zur Erzeugung
der Betriebsanforderung (95-4) in Abhängigkeit von dem
Pulssignal (95-3), und daß in Abhängigkeit von der zweiten
Betriebsunterbrechungsanforderung der
Anforderungssteuereinheit (900) die Ausführungseinheit (17-20) den Zählwert
aus dem Fangregister (95-2) ausliest und den ausgelesenen
Zählwert in einen vorgegebenen Bereich (30-2) des
Datenspeichers (3) einschreibt.
6. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß der
Informationsprozessor ferner eine Ausgangseinheit (1006) mit einem
Ausgangsregister (1006-2) aufweist zum zeitweiligen
Speichern von Musterinformationen, die ihm übertragen werden,
und einen Ausgangsanschluß (1006-1) zum Ausgeben der
Musterinformation,
die im Ausgangsregister (1006-2)
gespeichert ist, daß die Peripherieeinheit eine Einrichtung
aufweist, die abhängig von einem
Ausgangssynchronisationssignal (1003) arbeitet, zur Erzeugung der
Betriebsanforderung, daß der Datenspeicher (3) einen Bereich (3-10)
aufweist zum Speichern von auszugebenden Musterinformationen,
und daß in Abhängigkeit von der zweiten
Betriebsunterbrechungsanforderung der Anforderungssteuereinheit (1101, 15)
die Ausführungseinheit (17-20) die auszugebende
Musterinformation aus dem Bereich (3-10) des Datenspeichers (3)
ausliest und diese auszugebende Musterinformation an das
Ausgangsregister (1006-2) der Ausgangseinheit (1006)
überträgt.
7. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die
Peripherieeinheit eine Einrichtung aufweist, die Abhängigkeit von
einem Ausgangssynchronisationssignal (1003) eine
Betriebsanforderung erzeugt, daß der Informationsprozessor ferner
eine Ausgangseinheit (1006) einschließlich eines ersten
Registers (1006-4) aufweist zum zeitweiligen Speichern von
übertragenen Daten, ein zweites Register (106-2) zum
zeitweiligen Speichern von dahin übertragenen Daten, einen
Ausgangsanschluß (1006-1) zum Ausgeben der im zweiten Register
(1006-2) gespeicherten Daten und eine Einrichtung, die
abhängig ist von dem Ausgangssynchronisationssignal (1003),
zum übertragen der Daten vom ersten Register (1006-4) zum
zweiten Register (1006-2), daß der Datenspeicher (3) einen
Bereich (3-10) aufweist zum Speichern von Musterdaten, die
aus zugeben sind, und daß in Abhängigkeit von der zweiten
Betriebsunterbrechungsanforderung der
Anforderungssteuereinheit (1001, 15) die Ausführungseinheit (17-20) die
Musterdaten aus dem Bereich (3-16) des Datenspeichers (3)
ausliest und die Musterdaten in das erste Register (1006-4)
der Ausgangseinheit (1006) überträgt.
8. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die
Peripherieeinheit eine Serielldaten-Empfangseinheit (1204) aufweist,
die seriell mit Daten versorgt wird, wobei die
Serielldaten-Empfangseinheit (1204) ein Pufferregister (1207)
aufweist zum zeitweiligen Speichern der seriell zugeführten
Daten und zur Erzeugung der Betriebsanforderung (1210),
wenn sie das Datum durch eine vorgegebene Anzahl von Bit
erhält, und daß in Abhängigkeit von der zweiten
Betriebsunterbrechungsanforderung der Anforderungssteuereinheit
(1200) die Ausführungseinheit (17-20) das Datum aus dem
Pufferregister (1207) ausliest und das Datum in den
Speicher (3) einschreibt.
9. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die
Peripherieeinheit eine Serielldaten-Übertragungseinheit (1204)
aufweist mit einem Pufferregister (1209) zum zeitweiligen
Speichern von dahin übertragenen Daten und einer
Einrichtung zur Übertragung der in dem Pufferregister
gespeicherten Daten seriell, daß die Serielldaten-Übertragungseinheit
(1204) die Betriebsanforderung (1212) erzeugt, wenn die
serielle Übertragung der in dem Pufferregister gespeicherten
Daten beendet ist, daß der Datenspeicher (3) die als
nächste seriell zu übertragenden Daten speichert und daß in
Abhängigkeit von der zweiten
Betriebsunterbrechungsanforderung von der Anforderungssteuereinheit (1200) die
Ausführungseinheit (203-206) die als nächste von dem
Datenspeicher (3) zu übertragenden Daten ausliest und die Daten dem
Pufferregister (1209) der Serielldaten-Übertragungseinheit
(1204) überträgt.
10. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die
Peripherieeinheit eine Datenübertragungseinheit (1400) aufweist, mit
einem Pufferregister (1400-1) zum zeitweiligen Speichern
der dahin übertragenen Daten und einer Einrichtung zum
Ausgeben der in dem Pufferregister gespeicherten Daten, wobei
die Datenübertragungseinheit (1400) die Betriebsanforderung
(1400-3) erzeugt, wenn das Pufferregister leer wird, daß
der Datenspeicher (104) zu übertragende Daten speichert und
Suchzeichendaten übermittelt, und daß in Abhängigkeit von
der zweiten Betriebsunterbrechungsanforderung der
Betriebssteuereinheit (1401, 15) die Ausführungseinheit (203-206)
die zu übertragenden Daten ausliest und Suchzeichendaten
vom Datenspeicher übermittelt, feststellt, ob beide Daten
koinzident miteinander sind und das zu übermittelnde Datum
an das Pufferregister (1400-1) übertragen wird, wenn die
beiden Daten als nicht koizident identifiziert werden.
11. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß die
Peripherieeinheit eine Datenempfangseinheit (1400) aufweist mit einem
Pufferregister (1400-2) zum zeitweiligen Speichern von
durch die Datenempfangseinheit empfangenen Daten und zur
Erzeugung der Betriebsanforderung (1400-2), wenn das
Pufferregister voll wird, daß der Datenspeicher (104)
empfangene Suchzeichendaten speichert und daß in Abhängigkeit von
der zweiten Betriebsunterbrechungsanforderung der
Anforderungssteuereinheit (1401) die Ausführungseinheit (203-206)
Daten aus dem Pufferregister (1400-2) ausliest und die
empfangenen Suchzeichendaten vom Datenspeicher (104) empfängt
und erfaßt, ob beide Daten koinzident miteinander sind und
die Daten aus dem Pufferregister (1004-2) in den
Datenspeicher (104) einschreibt, wenn beide Daten als nicht
koinzident identifiziert werden.
12. Informationsprozessor nach Anspruch 1, 2 oder 3,
dadurch gekennzeichnet, daß der
Informationsprozessor ferner einen Digital-Analog-Wandler (2050)
aufweist mit einem Register (2050-1) zum zeitweiligen
Speichern von dahin übertragenen Digitaldaten und einer
Einrichtung zum Wandeln der in dem Register gespeicherten
Digitaldaten in ein Analogsignal (2050-2), daß die
Peripherie-Einheit eine Zeitgebereinheit (2030) aufweist zur
Erzeugung der Betriebsanforderung (2030-2) in einem
vorgegebenen Zeitintervall und daß in Abhängigkeit von der zweiten
Betriebsunterbrechungsanforderung der
Anforderungssteuereinheit (2020) die Ausführungseinheit (2004-4 bis 2007) zu
wandelnde Digitaldaten an das Register (2050-1) des Digital-
Analog-Wandlers (2050) überträgt.
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59040006A JPS60183663A (ja) | 1984-03-02 | 1984-03-02 | 情報処理装置 |
| JP59040010A JPS60183639A (ja) | 1984-03-02 | 1984-03-02 | デ−タ処理装置 |
| JP59040007A JPH0623947B2 (ja) | 1984-03-02 | 1984-03-02 | 情報処理装置 |
| JP59040009A JPH0632580B2 (ja) | 1984-03-02 | 1984-03-02 | モ−タ駆動装置 |
| JP59040005A JPS60183662A (ja) | 1984-03-02 | 1984-03-02 | 情報処理装置 |
| JP4000884A JPS60183667A (ja) | 1984-03-02 | 1984-03-02 | 情報処理装置 |
| JP59040004A JPS60183661A (ja) | 1984-03-02 | 1984-03-02 | 情報処理装置 |
| JP59186811A JPS6165347A (ja) | 1984-09-06 | 1984-09-06 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3587643D1 DE3587643D1 (de) | 1993-12-09 |
| DE3587643T2 true DE3587643T2 (de) | 1994-03-24 |
Family
ID=27572257
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE85102394T Expired - Lifetime DE3587643T2 (de) | 1984-03-02 | 1985-03-04 | Informationsverarbeitungseinheit mit Unterbrechungsfunktion. |
Country Status (3)
| Country | Link |
|---|---|
| US (3) | US5036458A (de) |
| EP (1) | EP0153764B1 (de) |
| DE (1) | DE3587643T2 (de) |
Families Citing this family (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2545789B2 (ja) * | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
| JPS63108457A (ja) * | 1986-10-24 | 1988-05-13 | Brother Ind Ltd | デ−タ処理装置 |
| US5142677A (en) * | 1989-05-04 | 1992-08-25 | Texas Instruments Incorporated | Context switching devices, systems and methods |
| EP0318055B1 (de) * | 1987-11-27 | 1995-02-01 | Nec Corporation | Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen |
| US5226173A (en) * | 1988-05-06 | 1993-07-06 | Hitachi, Ltd. | Integrated data processor having mode control register for controlling operation mode of serial communication unit |
| JPH0212432A (ja) * | 1988-06-30 | 1990-01-17 | Nec Corp | データ処理装置 |
| EP0369470B1 (de) * | 1988-11-17 | 1993-02-24 | Nec Corporation | Datenverarbeitungseinrichtung zur Erzeugung einer Folge von Impulsen die eine variable Länge an den Ausgängen aufweisen |
| JP2655615B2 (ja) * | 1988-12-08 | 1997-09-24 | 日本電気株式会社 | 情報処理装置 |
| US5596761A (en) * | 1989-07-06 | 1997-01-21 | Ricoh Company, Ltd. | Central processing unit with internal register initializing means |
| JP2559868B2 (ja) * | 1990-01-06 | 1996-12-04 | 富士通株式会社 | 情報処理装置 |
| DE69128565T2 (de) * | 1990-06-25 | 1998-06-04 | Nippon Electric Co | Mikrorechner ausgestattet mit einer DMA-Steuerung |
| US5542076A (en) * | 1991-06-14 | 1996-07-30 | Digital Equipment Corporation | Method and apparatus for adaptive interrupt servicing in data processing system |
| US5291604A (en) * | 1991-08-30 | 1994-03-01 | Intel Corporation | Transparent system interrupts with automated halt state restart |
| DE69231278T2 (de) * | 1992-01-02 | 2001-01-18 | Amdahl Corp., Sunnyvale | Anwendungs-software für hardware-unterbrechungen. |
| GB2266606B (en) * | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
| DE69317149T2 (de) * | 1992-05-12 | 1998-10-08 | Nippon Electric Co | Mikrocomputer mit Befehlsspeicher für Befehle zum Auslesen interner Bedingungen |
| US5640548A (en) * | 1992-10-19 | 1997-06-17 | Motorola, Inc. | Method and apparatus for unstacking registers in a data processing system |
| US5596755A (en) * | 1992-11-03 | 1997-01-21 | Microsoft Corporation | Mechanism for using common code to handle hardware interrupts in multiple processor modes |
| JPH0764886A (ja) * | 1993-08-23 | 1995-03-10 | Nec Corp | シリアルインターフェイス装置を有する処理装置 |
| US5440703A (en) * | 1993-09-20 | 1995-08-08 | International Business Machines Corporation | System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified |
| JPH07210537A (ja) * | 1993-12-10 | 1995-08-11 | Advanced Micro Devicds Inc | コンピュータシステム |
| JP2734992B2 (ja) * | 1994-07-25 | 1998-04-02 | 日本電気株式会社 | 情報処理装置 |
| WO1996009584A2 (en) * | 1994-09-19 | 1996-03-28 | Philips Electronics N.V. | A microcontroller system for performing operations of multiple microcontrollers |
| JP3323009B2 (ja) * | 1994-09-29 | 2002-09-09 | 日本電気株式会社 | データ処理装置 |
| DE69610450T2 (de) * | 1995-03-13 | 2001-04-26 | Sun Microsystems, Inc. | Virtueller Ein/Ausgabeprozessor |
| US5701493A (en) * | 1995-08-03 | 1997-12-23 | Advanced Risc Machines Limited | Exception handling method and apparatus in data processing systems |
| US5761491A (en) * | 1996-04-15 | 1998-06-02 | Motorola Inc. | Data processing system and method for storing and restoring a stack pointer |
| JP3141787B2 (ja) * | 1996-08-28 | 2001-03-05 | 日本電気株式会社 | マイクロコンピュータ |
| US6016517A (en) * | 1997-04-10 | 2000-01-18 | International Business Machines Corporation | Data processing system and method for optimizing connector usage |
| US6237137B1 (en) * | 1997-10-15 | 2001-05-22 | Dell Usa, L.P. | Method and system for preventing unauthorized access to a computer program |
| JP2000187656A (ja) * | 1998-10-13 | 2000-07-04 | King Jim Co Ltd | 文字情報処理装置 |
| US6332199B1 (en) | 1998-10-29 | 2001-12-18 | International Business Machines Corporation | Restoring checkpointed processes including adjusting environment variables of the processes |
| US6229465B1 (en) * | 1999-04-30 | 2001-05-08 | International Business Machines Corporation | Built in self test method and structure for analog to digital converter |
| US6967950B2 (en) * | 2000-08-11 | 2005-11-22 | Texas Instruments Incorporated | Pull transfers and transfer receipt confirmation in a datapipe routing bridge |
| US6823416B1 (en) * | 2001-04-18 | 2004-11-23 | Analog Devices, Inc. | Method and apparatus for device interface |
| US6986028B2 (en) * | 2002-04-22 | 2006-01-10 | Texas Instruments Incorporated | Repeat block with zero cycle overhead nesting |
| US7539853B2 (en) | 2002-11-18 | 2009-05-26 | Arm Limited | Handling interrupts in data processing of data in which only a portion of a function has been processed |
| US9158574B2 (en) | 2002-11-18 | 2015-10-13 | Arm Limited | Handling interrupts in data processing |
| DE10309615A1 (de) * | 2003-03-05 | 2004-09-23 | Siemens Ag | Dynamische Verarbeitung von Datenverarbeitungsaufträgen |
| JP2009238001A (ja) | 2008-03-27 | 2009-10-15 | Texas Instr Japan Ltd | コンピュータシステム |
| US9697150B2 (en) * | 2013-09-04 | 2017-07-04 | Jory Schwach | Real-time embedded system |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3373408A (en) * | 1965-04-16 | 1968-03-12 | Rca Corp | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
| DE2214240C2 (de) * | 1972-03-23 | 1974-03-28 | Siemens Ag, 1000 Berlin U. 8000 Muenchen | Verfahren zur Abspeicherung von Steuerdaten bei Programmunterbrechung in einem Verarbeitungssystem |
| US4181938A (en) * | 1975-10-15 | 1980-01-01 | Tokyo Shibaura Electric Co., Ltd. | Processor device |
| US4091447A (en) * | 1976-07-19 | 1978-05-23 | Union Carbide Corporation | Interrupt control system for a microcomputer |
| US4250546A (en) * | 1978-07-31 | 1981-02-10 | Motorola, Inc. | Fast interrupt method |
| US4495571A (en) * | 1979-01-31 | 1985-01-22 | Honeywell Information Systems Inc. | Data processing system having synchronous bus wait/retry cycle |
| US4348720A (en) * | 1979-08-31 | 1982-09-07 | Bell Telephone Laboratories, Incorporated | Microcomputer arranged for direct memory access |
| US4530049A (en) * | 1982-02-11 | 1985-07-16 | At&T Bell Laboratories | Stack cache with fixed size stack frames |
-
1985
- 1985-03-04 DE DE85102394T patent/DE3587643T2/de not_active Expired - Lifetime
- 1985-03-04 EP EP85102394A patent/EP0153764B1/de not_active Expired - Lifetime
-
1988
- 1988-12-20 US US07/287,622 patent/US5036458A/en not_active Expired - Lifetime
-
1991
- 1991-04-25 US US07/691,297 patent/US5163150A/en not_active Expired - Lifetime
- 1991-04-25 US US07/691,284 patent/US5159688A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5163150A (en) | 1992-11-10 |
| US5036458A (en) | 1991-07-30 |
| US5159688A (en) | 1992-10-27 |
| EP0153764B1 (de) | 1993-11-03 |
| EP0153764A2 (de) | 1985-09-04 |
| EP0153764A3 (en) | 1988-07-20 |
| DE3587643D1 (de) | 1993-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3587643T2 (de) | Informationsverarbeitungseinheit mit Unterbrechungsfunktion. | |
| DE3852928T2 (de) | Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen. | |
| DE69127851T2 (de) | Direktspeicherzugriffübertragungssystem und Benutzung | |
| DE3751091T2 (de) | Übertragungsprotokoll zwischen Prozessoren. | |
| DE69429279T2 (de) | Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern | |
| DE69223303T2 (de) | Verfahren und Gerät für die dynamische Zuweisung von unadressierten Unterbrechungen | |
| DE3204905C2 (de) | ||
| DE3851534T2 (de) | Vorrichtung und verfahren zur buszugriffssteuerung. | |
| DE19605093B4 (de) | Verfahren und Vorrichtung zum Einrichten und Verwalten einer Verbindung zwischen einem Client-Computersystem und jedem einer Mehrzahl von Server-Computersystemen | |
| DE69613056T2 (de) | Schnittstelleneinrichtung zwischen einem Rechner redundanter Architektur und einem Kommunikationsmittel | |
| DE69128565T2 (de) | Mikrorechner ausgestattet mit einer DMA-Steuerung | |
| DE3883532T2 (de) | Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus. | |
| DE3888353T2 (de) | Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus. | |
| DE69628798T2 (de) | Verfahren zur Übertragung von Multimediadaten | |
| DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
| DE3882991T2 (de) | Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus". | |
| EP0762274A1 (de) | Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks | |
| DE3704056A1 (de) | Peripherer dma-controller fuer datenerfassungssysteme | |
| DE68919018T2 (de) | Zeitgeberkanal mit Übereinstimmungserkennungsmerkmalen. | |
| DE3485980T2 (de) | Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem. | |
| DE4018481C2 (de) | ||
| DE69515355T2 (de) | Mehrfacharbitrierungsschema | |
| DE69219848T2 (de) | Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau | |
| DE69028836T2 (de) | Datenverarbeitungssystem mit Direktspeicherzugriffssteuerung und Verfahren zur Busmasteränderung unter Verwendung Unterbrechungen mit gegebener Priorität | |
| DE19900251B4 (de) | Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8327 | Change in the person/name/address of the patent owner |
Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP |