DE2702090B2 - Datenverarbeitungssystem mit einem zentralen Prozessor - Google Patents

Datenverarbeitungssystem mit einem zentralen Prozessor

Info

Publication number
DE2702090B2
DE2702090B2 DE2702090A DE2702090A DE2702090B2 DE 2702090 B2 DE2702090 B2 DE 2702090B2 DE 2702090 A DE2702090 A DE 2702090A DE 2702090 A DE2702090 A DE 2702090A DE 2702090 B2 DE2702090 B2 DE 2702090B2
Authority
DE
Germany
Prior art keywords
address
signal
control
main line
data
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.)
Granted
Application number
DE2702090A
Other languages
English (en)
Other versions
DE2702090C3 (de
DE2702090A1 (de
Inventor
Nicholas Hatfield Derchak
Robert Francis Jeffersonville Monaco
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sperry Corp
Original Assignee
Sperry Rand Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sperry Rand Corp filed Critical Sperry Rand Corp
Publication of DE2702090A1 publication Critical patent/DE2702090A1/de
Publication of DE2702090B2 publication Critical patent/DE2702090B2/de
Application granted granted Critical
Publication of DE2702090C3 publication Critical patent/DE2702090C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

ι*.η"· .ii-if rifiW*fw
stattfindet. Dadurch wird die Zeit merklich reduziert, die für den zentralen Prozessor zur Verfügung stehen muß, um Unterbrechungen bzw. Unterbrechungsanfragen von peripheren Geräten zu verarbeiten.
Ein weiteres, gegenüber dem bekannten Stand der r> Technik neues Merkmal besteht bei Datenverarbeitungssystem nach der Erfindung auch darin, daß eine Generatoreinrichtung vorgesehen ist, die auf die Prioritäts-Kodiereinrichtung zum Erzeugen eines Wiederstartvektors und zum Erzeugen und Zuführen i<> eines Prozessor-Unterbrechungsanfragesignals zum zentralen Prozessor während des gleichen Instruktionszyklusses, in welchem die Adresse und der Zustand des unterbrechenden peripheren Gerätes in den ersten und den zweiten adressierbaren Registern gespeichert werden, anspricht.
Besonders vorteilhafte weitere Weiterbildungen und Ausgestaltungen der Erfindung ergeben sich aus den Ansprüchen 3 bis 9.
Im folgenden wird die Erfindung anhand eines Ausführungsbeispiels und unter Hinweis auf die Zeichnungen näher erläutert. Es zeigt
F i g. 1 ein Blockschaltbild eines Datenverarbeitungssystems,
F i g. 2 ein logisches Schaltbild der Unterbrechungs-Prioritäts-Kodiereinrichtung und der Einrichtung zum Erzeugen eines Wiederstartvektors,
F i g. 3 ein logisches Schaltbild des I/O-Adressenregisters, des I/O-Zustandregisters und der Adressierschaltungen derselben,
F i g. 4 ein funktionelles Blockschaltbild eines bekannten Mikroprozessors, der dazu verwendet werden kann, auf den Wiederstartvektor einzuwirken, der durch die Schaltungen gemäß F i g. 2 erzeugt wurde und
F i g. 5 ein Zeitdiagramm, welches die Zeitpunkte J5 veranschaulicht, bei welchen verschiedene Signale innerhalb des Systems auftreten.
Der Gegenstand der vorliegenden Erfindung soll im folgenden in Verbindung mit einem Mikroprozessor beschrieben werden, dessen funktionelles Blockschaltbild in Fig.4 veranschaulicht ist. Der Mikroprozessor enthält einen Akkumulator 10, eine Akkumulatorsperre 12, eine arithmetische logische Einheit 14, ein Register 16, ein Instruktionsregister 18, einen Instruktionsdekoder und eine Maschinenzyklus-Kodierschaltung 20, eine Zeitsteuer- und Steuerschaltung 22, eine Registeranordnung 24, einen Adressenpuffer 26 und eine Datenhauptleitung-Puffer-Sperre 28.
Was den Gegenstand der vorliegenden Erfindung betrifft, so enthält die Registeranordnung einen in Stapelzeigerzähler 24, einen Programmzähler 36, einen Inkrementer/Dekrementer und eine Adressensperre 38. Der Programmzähler 36 enthält die Speicheradresse der laufenden Programminstruktion und wird automatisch während jedes Instruktionsabrufes inkrementiert. Die Inhalte des Programmzählers werden an die Adressensperre 38 ausgelesen und werden über den Adressenpuffer 26 an eine Adressenhauptleitung 40 gelegt, um die Speicherstelle zu adressieren, welche die Instruktion enthält. Die Inhalte der Adressensperre wi gelangen dann über den Inkrementer/Dekrementer, in welchen der Wert um die Einheit inkrementiert wird, bevor er zurück zum Programmzähler geleitet wird.
Während des Betriebes des Mikroprozessors kann es erforderlich sein, zeitweilig die Inhalte bestimmter h5 Register oder die Inhalte des Programmzählers zu speichern. Bestimmte Zonen oder Gebiete des Speichers sind für die Speicherung dieser Werte reserviert und der Stapelzeigerzähler 34 dient dazu, diese Werte zu speichern oder von dem Speicher herauszusuchen. Die Inhalte des Stapelzeigerzähiers 34 stellen die Adresse der nächsten verfügbaren Stapel oder Ablagestelle in dem Speicher dar. Wenn ein anderer Wert in dem Speicher abgelegt oder gestapelt werden soll, so wird der Stapelzeigerzähler an die Adressensperre 38 ausgelesen und adressiert über den Adressenpuffer 26 den Speicher, um die Daten speichern zu können. Der Wert in der Adressensperre gelangt dann zum Stapelzeigerzähler über den Inkrementer/Dekrementer zurück, der den Wert um die Einheit zurückschaltet bzw. dekrementiert. Wenn einer der in dem Speicher gestapelten Werte aus dem Stapel entfernt werden soll, wird im wesentlichen die gleiche Prozedur durchgeführt, mit der Ausnahme, Haß der Wert inkrementiert wird, wenn er zum Stapelzeigerzähler von der Adressensperre zurückgeleitet wird.
Die Registeranordnung 24 enthält verschiedene Einzelbyte (acht Bit)-Register, die paarweise betrieben werden können. Zwei dieser Register W und Z sind nicht programmäßig adressierbar und werden lediglich für die interne Ausführung von Instruktionen verwendet. Die Daten in den W- und Z-Registern können unter der Steuerung der Zeitsteuer- und Steuerschaltungen 22 zur Adressensperre 38 überführt werden, um den Speicher zu adressieren und können nach der Inkrementierung durch den Inkrementer/Dekrementer in den Programmzähler 36 eingelesen werden. Es werden Acht-Bit-Datenbytes bzw. Datenworte in die W- und Z-Register über einen Multiplexer 39 von der internen Zweirichtungsdatenhauptleitung 42 eingelesen.
Die interne Zweirichtungsdatenhauptleitung 42 dient für die Übertragung der Acht-Bit-Bytes der Daten zwischen der Registeranordnung 24, dem Akkumulator 10, der arithmetischen logischen Einheit 14, dem zeitweiligen Register 16 und dem Instruktionsregister 18. Zusätzlich ist die interne Datenhauptleitung 42 mit der Datenhauptleitungspuffersperre 28 verbunden, so daß Acht-Bit-Bytes oder Datenworte in einer von zwei Richtungen zwischen der internen Datenhauptleitung 42 und einer Zweirichtungs-CPU-Datenhauptleitung 44 übertragen werden können.
Die Instruktionen gelangen in das Instruktionsregister 18 und werden durch den Instruktionsdecoder und die Maschinenzyklus-Kodierschaltung 20 dekodiert, um die Zeitsteuer- und Steuerschaltung 22 zu steuern. Die Zeitsteuer- und Steuerschaltung erzeugt die Zeitsteuer- und Steuersignale, die den verschiedenen Elementen innerhalb des Mikroprozessors zugeführt werden, um die Instruktionen durchzuführen. Darüber hinaus enthält die Zeitsteuer- und Steuerschaltung 22 bestimmte Signale von bestimmten Anschlüssen, und sendet diese bestimmten Signale zu bestimmten Anschlüssen, die ihrerseits wieder mit extern vom Mikroprozessor vorhandenen Elementen verbunden sein können. All diese Signale werden bei der Realisierung des Gegenstandes der Erfindung nicht verwendet. Das zeitliche Erscheinen derjenigen Signale, die verwendet werden, ist in F i g. 5 veranschaulicht.
Der Mikroprozessor besitzt die Fähigkeit, auf bestimmte Wiederstartinstruktionen, die in das Instruktionsregister 18 eingegeben werden, anzusprechen, um zwei Stapelschreiboperationen auszuführen, bzw. die Inhalte des Programmzählers 36 im Speicher zu speichern und um dann in den Programmzahler einen anderen Wert einzulesen, der in dem zeitweiligen Register 16 gespeichert ist. In dieser Aufeinanderfolge
werden die Inhalte des zeitweiligen Registers 16 (nur die Bits 3 — 5) zum Register Z der Registeranordnung 24 übertragen, nachdem beide Register Wund Z entleert wurden. Nachdem der zweite Stapelschreibvorgang vervollständigt ist, werden die Inhalte von Wund Z zur Adressensperre 38 übertragen, um den Speicher zu adressieren und um die erste Instruktion eines Unterprogramms vom Speicher herauszuziehen. Die
Inhalte der Adressensperre werden dann inkremcntiert und in dem Programmzähler 36 gespeichert, um sie für das Herausziehen nachfolgender Instruktionen des Unterprogramms aus dem Speicher zu verwenden. Die Wiederstartinstruktionskodes und die Adressen der ersten Instruktionen der Unterprogramme sind in Tabelle I wiedergegeben.
Tabelle I Erste Instruktionsadresse
Wiederstart instruktionskode (hexadecimal)
(hexadecimal) 0
Cl 8
CF 10
Dl 18
DF 20
El 28
EF 30
Fl 38
FF
Der Mikroprozessor gemäß Fig.4 arbeitet mit den Instruktionszyklen, die aus einem von fünf Maschinenzyklen M\ — M5 bestehen. Jeder Maschinenzyklus umfaßt drei, vier oder fünf Unterzyklen, die als T-Zyklen bezeichnet sind. Jeder T-Zyklus besitzt eine Dauer von 500 Nanosekunden. Gemäß Fig.5 sind alle fünf Maschinenzyklen und alle Γ-Unterzyklen in Verbindung mit der Unterbrecherfolge nicht erforderlich. Während Ti jedes Maschinenzyklus erzeugen die Mikroprozessorzeitsteuer- und Steuerschaltung 22 das Signal SYNC. Zusätzlich erzeugen die Zeitsteuer- und Steuerschaltung 22 das Signal DBIN bei jedem 7"-Zyklus. während welchem die Daten auf der Zweirichtungsdatenhauptleitung 44 über die Datenhauptleitungs-Puffer/Sperre 28 in den Mikroprozessor eingespeist werden müssen Es ist auch ein Merkmal des Mikroprozessors, daß der Intruktionsdekoder und die Maschinenzyklus-Kodierschaltungen 20 ein Siatuswort erzeugen, welches auf die Datenhauptleilung 44 während der SYNC-Zch jedes MaschinenfM/Zyklus gelangt. Diese Statuswortc vermitteln eine Anzeige des Standes des Mikroprozessors und besitzen die in Tabelle Il gezeigten Formen.
Tabelle II
Datenhaupt lcitungsbit wo /3 2 1)3 1)4 D 5 I) 6 /.
PO 1
1 STACK IILTA OUT Ml INI' Λ
Status-Daten 0 0 0 0 I 0 1
Abruf INTA 1 0 0 0 0 0 1
Speicher lesen 0 0 0 0 0 0 0 0
Speicher schreiben 0 1 1 0 0 0 0 I
Stapel lesen 0 0 1 0 0 0 0 0
Stapel schreiben 0 1 0 0 0 0 I 0
Eingang lesen 0 1 0 0 1 0 0 0
Ausgang schreiben 0 1 0 0 0 1 0 0
Unterbrcch. Ack. 0 0 I 0 0 0 1
Halt Ack. 1 0 I 0 1 0 0
Unterbrech. Ack. 0
Zeit Halt I
MlMR
Gemäß Fig. I ist ein Mikroprozessor 100, der die an früherer Stelle erläuterten Merkmale aufweist, mit externen Schalungselementen kombiniert, um ein Datenverarbeitungssystem mil einem Haupttaktgeber 102, einer CPU-Statussperre 104, einem Speicher 106, einem I/O Statusregister 108, einem I/O-Adressenregistcr 110, einem Systcmslalusregister 112, Hauptlcitungssteuerlogik 114, Fehlerlogikschallungen 116 und einer Wiederstartvektor-Erzeugcrsehaltung 116 zu bilden. Zur Veranschaulichung des Gegenstandes der Erindung ist das Datenverarbeitungssystem mit einer einzelnen Steuerung für direkten Speichcr/.ugriff (SDMA) 120 ausgebildet. Es können jedoch mehrere SDMA als auch Scheiben-Speichcrstcucrungcn nut direktem Zugriff verwendet werden, wie diese beispicls weise in der US-PS 40 67 059 von Dc relink, beschrieben sind, auf die Bezug genommen werden soll. Der SDMA 120 steuert eine Vielzahl von Unterstem' rungen (SDC) 122 und 124, die ihrerseits eine Viel/nhl von pcriphcren Geräten 126 und 128 steuern.
Das Datcnvcrarbcitungssystcm ist mit einer gemein samen SystcmhauptlciUing ausgestattet, die eine Scehzchn-ßit-Systcmndrcsscnsammel.sehienc 130, eine Acht-Hil-Systemdnlcnsiimmelsehk'ne 132 und eine System-
steuersamnielschiene 134 umfaßt. Die auf der Adressensammelschiene 40 durch den Mikroprozessor 100 vorgegebenen Adressen können über einen Satz von Drei-Zustandstreiberstufen 136 bis zur Systemadressensammelschiene 130 tormäßig gesteuert werden. Adres- ι sen auf der Systemadressensammelschiene 130 können einer Registerauswählschaltung 131 zugeführt werden, um auf einer von drei Leitungen 140, 142 oder 144 ein Signal zu erzeugen, so daß dadurch das I/O-Adressenregister 110, das I/O-Statusregister 108 oder das in Systemstatusregister 112 adressiert werden. Die Adressen auf der Systemadressensammelleitung 130 können dem Speicher 106 zugeführt werden, um aus dem Speicher ein Byte oder Datenwort einzuschreiben oder auszulesen, welches auf der Systemdatensammelschiene ι -, 132 erscheint. Ein Acht-Bit-Adressenwort auf der Systemadressensammelschiene 130 kann durch den SDMA 120 hindurchgeführt werden und über die SDC-Sammelschiene 129 geleitet werden, um einen der SDC 122,124 usw. auszuwählen oder zu adressieren, wie _>n dies in der zuvor erwähnten US-PS erläutert ist. Zusätzlich können Adressen, die innerhalb des SDMA 120 in Abhängigkeit von Unterbrechungssignalen von den SDC erzeugt werden, zur Systemadressenhauptschiene 130 gesteuert übertragen werden und in dem r, I/O-Adressenregister 110 gespeichert werden.
Die Ausgangsdaten des Mikroprozessors 100 können durch einen Satz von Drei-Zustands-Treibcrstufen 146 zur Systemdatensammelschiene 132 übertragen werden, um sie in dem Speicher 106 zu speichern. Wie bereits an so früherer Stelle erwähnt, gibt der Mikroprozessor ein Statusbyte an die Datensammelschiene 44 während 77 jedes Maschinenzyklus ab. Diese Statusworte gelangen durch die Drei-Zustands-Treiberstufen 146 und werden in den CPU-Statussperren 104 gespeichert. Die Daten π aus dem Speicher 106, dem I/O-Adressenregister 110, dem I/O-Statusregister 108 oder dem Systemstatusregister 112 können dadurch in den Mikroprozessor eingespeist werden, indem sie über die Systemdatenhauptleitung 132 aber einen Satz von Sperr-Empfän- κι gern 148, über die Prozessordateneingangshauptleitung 150, über einen Satz von Drei-Zustands-Treiberstufen 152, und über die CPU-Datenhauptleitung 44 in den Mikroprozessor geleitet werden. Die von der Wiederstartvektor-Erzeugerschaltung 118 erzeugten Wieder- r> Startvektoren werden direkt über die CPU-Datenhauptleitung 44 in den Mikroprozessor 100 eingelesen.
Wie in der US-PS 40 67 059 beschrieben ist, kann eine direkte Datenübertragung in einer von zwei Richtungen zwischen dem Speicher 106 und irgendeinem der SDC κι durchgeführt werden. Der SDMA 120 erzeugt die erforderliche Speicheradresse und schickt diese über die Systemadressenhauptleitung 130 zum Speicher 106. Die tatsächliche Datenübertragung findet in einer von zwei Richtungen über eine Bahn statt, welche den Speicher v> 106, die Systemdatenhauptleitung 132, den SDMA 120, die SDC-Hauptleitung 129 und den aktiven der SDC enthält.
Die Systemsteuerhauptleitung 134 führt Steuersignale durch das System hindurch. Die von der Zeitsteuer- wi und Steuerschaltung 200 des Mikroprozessors 100 abgeleiteten Signale gelangen zur Hauptleitungs-Steuerlogikschaltung 114 und diese Schaltung schickt bestimmte Signale, wie dies noch erläutert werden soll, zur Systemsteuerhauptleitung 134. Der Haupttaktgeber i/> 102 erzeugt Φ1- und <ß2-Taktsignale, um den Mikroprozessor 100 zu treiben. Zusätzlich erzeugt der Haupttaktgeber 102 Taktimpulse A und ßvon 62,5 Nanosekunden (siehe Fig. 5) und legt diese Signale an verschiedene Elemente des Prozessorsystems über die Systemsteuerhauptleitung 134 an.
Im folgenden soll eine vollständige Beschreibung darüber erhalten werden, auf welche Weise ein SDC über den SDMA 120 wirken kann, um eine Unterbrechungsanfrage zu erzeugen, und zwar für den Zweck, über eine Zustandsbedingung des SDC zu berichten. Es ist ausreichend, festzustellen, daß der SDMA 120 ein Register enthält, welches mit einem Acht-Bit-Byte bzw. Datenwort geladen ist, welches den Status des SDC, der eine Unterbrechungsanfrage formt, wiedergibt. Nachdem dieses Register geladen ist, sendet der SDC eine Unterbrechungsanfrage über die Systemsteuerhauptleitung 134 zur Hauptleitungssteuerlogik 114. Wenn die Unterbrechung gewährt wird, sendet die Hauptleitungssteuerlogik 114 ein Hauptleitungserteilungssignal über die Systemsteuerhauptleitung 134 zu dem SDMA 120 zurück. Das Hauptleitungs-Freigabesignal veranlaßt den SDMA auf die Systemadressenhauptleitung 130 ein Acht-Bit-Datenwort abzugeben, welches die Adresse des SDMA und die Zahl des SDC wiedergibt, der die Unterbrechungsanfrage gebildet hat. Zur gleichen Zeit wird der in dem Register in dem SDMA 120 gespeicherten Zustand auf die Systemdatenhauptleitung 132 ausgelesen. Wie im folgenden erläutert werden soll, wird dieser Zustand, der auf einem Acht-Bit-Datenwort bzw. Byte besteht, in dem I/O-Statusregister 108 zur gleichen Zeit gespeichert, zu welcher das Adressen-Byte in dem I/O-Adressenregister 110 gespeichert wird.
Gemäß Fig.2 wird das von dem SDMA 120 der F i g. 1 erzeugte Unterbrechungs-Anfragesignal als auch alle Unterbrechungsanfragesignale der Scheiben-Speichersteuerungen mit direktem Zugriff und irgendwelche anderen Signale der SDMA, die an die Systemhauptleitung angeschlossen sind, über die Systemsteuersammelleitung 134 einem Unterbrechungsanfrage-Prioritätskodierer 200 in der Hauptleitungs-Steuerlogik 114 zugeführt. Der Unterbrechungsanfrage-Prioriiätskodierer 200 besitzt Acht-Dateneingänge DO— Dl und einen Freigabeeingang El. Die Dateneingänge DO—D5 empfangen die Unterbrechungsanfragesignale INTREQO-INTREQ5. Bei dem erläuterten System gelangen lediglich sechs Scheiben-Speicherstcuerungen mit direktem Zugriff und SDMA zur Anwendung, so daß damit die Eingänge D6—D7 des Prioritätskodierers dauernd außer Bereitschaft gesetzt sind, indem sie an + V angeschlossen sind. Der Eingang DO empfängt das Unterbrechungsanfragesignal mit der höchsten Priorität, während der Eingang D5 das Unterbrechungsanfragesignal mit der niedrigsten Priorität empfängt. Der Prioritätenkodierer kann mehr als nur ein Unterbrechungsanfragesignal zu einem Zeitpunkt empfangen, er kann jedoch auf diese Anfragen nur dann antworten, wenn ein Signal mit niedrigem Pegel den Eingang EI in Bereitschaft setzt. Zu diesem Zeitpunkt erzeugt der Prioritätenkodierer einen binären Ausgangskode mit drei Bits, welcher dem Unterbrechungsanfragesignal mit der höchsten Priorität, welches empfangen^wird^entsprichi. Wenn beispielsweise das Signal INTREQ 3 das Signal mit der höchsten Priorität ist, welches den Prioritälcnkodicrcr zu einem Zeitpunkt, bei welchem er in Bereitschaft gesetzt wird, zugeführt wird, so erzeugt der Prioritätenkodierer Signale, welche den binären Wert 011 an seinen drei Ausgängen wiedergeben, wobei das Nullbit am Ausgangsanschluß V. erscheint.
Die drei binären Bits aus dem Prioritätenkodierer 200
gelangen zu den Eingängen A3, A 2 und A 1 eines QUAD MUX-Chip 202. Die Eingänge B3, 52 und Sl des QUAD MUX-Chips 202 sind an die Ausgänge eines Prioritätskodierers angeschlossen, der nicht gezeigt ist und der die Hauptleitungsanfragesignale von den SDMA und den Scheiben-Speichersteuerungen mit direktem Zugriff empfängt.
Der Steuereingang des QUAD MUX-Chips 202 ist dauerhaft in Bereitschaft gesetzt und während einer Unterbrechungsfolge liegt das dem Eingang 5EL zugeführte Signal auf einem niedrigen Pegel, so daß der binäre Wert, der den Eingängen A des QUAD MUX-Chips zugeführt wird, an deren Ausgängen erscheint. Beim Hindurchlaufen durch das QUAD MUX-Chip 202 erfolgt eine Signalumkehrung, so daß damit der Prioritätskodierer 200 den binären Wert 011 erzeugt, und dann die Ausgangsgröße des QUAD MUX-Chips 202 gleich 100 beträgt.
Die Ausgangssignale des QUAD MUX-Chips 202 gelangen zu den Eingängen D 3, D2 und Dl eines Quad-Sperrchips 206. Dieses Chip enthält vier Sperren, von denen lediglich drei beim Gegenstand der Erfindung verwendet werden. Die an den Eingängen D 3, D2 und Di der Quad-Sperre 206 erscheinenden Signale werden tormäßig gesteuert nu.· in die Sperren eingeleitet, wenn das Signal am Takteingang der Sperre auf einen hohen Pegel überwechselt. Das Takteingangssignal wird von einem NOR-Glied 208 abgeleitet, welches im folgenden erläutert werden soll. Das Signal POC fällt auf den niedrigen Pegel ab und löscht die Sperren 206 nur dann, wenn der Strom eingeschaltet wird. Ansonsten stellt der in den Sperren 206 enthaltene Wert immer die Signale dar, die den Eingängen D 3, D 1 zum Zeitpunkt des Auftretens des letzten Taktimpulses zugeführt wurden.
Die Signalumkehrung wird in der Quad-Sperre 206 durchgeführt, so daß dann, wenn der binäre Wert 100 zu den Sperren gelangt, diese den binären Ausgangswert 011 erzeugen. Die Ausgangssignale der Quad-Sperre 206 gelangen zu einem Oktal-Dckodicrcr 210. D;r Dekodierer 210 wird in Bereitschaft gesetzt, wenn die Ausgangsgröße des NOR-Gliedes 208 sich auf einem niedrigen Pegel befindet. Wenn der Dekodierer in Bereitschaft gesetzt wird, so erzeugt er ein Signal mil niedrigem Pegel an einem von verschiedenen Ausgängen, was von dem binären Wert abhängig ist, der den Eingängen D2, Ol und OO zugeführt wird. Bei dem angenommenen Beispiel, bei welchem der binäre Eingangswert gleich 011 ist, erzeugt der Dekodierer 210 das Ausgangssignal BÜSGRANT3 mit niedrigem Ausgnngspegcl. Dieses Signal wird über die Sysiemsteuerhauptlcitung zum SDMA oder zur Seheiben-Speicherstcucrung mit direktem Zugriff zurückgesendet, die das Signal INTREQ3 erzeugt hat, und informiert den SDMA oder die Scheiben-Speichersteuerung mit direktem Zugriff, daß seine Unterbrechungsanfrage bewertet wurde und sie kann nunmehr auf die Systcmadresscnhaupileitung und die Syslcmdatenhauptlciiung ein Adressenbyte und ein Statusbyte jeweils geben. Der Okliil-Dekodierer 210 besitzt keine ι Spcicherkapazitäl, sondern dekodier! lediglich die Ausgangsgröße der Quad-Sperre 206. Wie noch an späterer Stelle hervorgehen wird, bleibt die Quad-Sperre 206, wenn sie gesetzt wurde, für einen Γ-Zyklus von Φ 2/ί bis Φ2Β gesetzt und es wird dadurch das ι-I laiiptleiHingsfrcigabesignal vom Ende von Φ2Β zum Anfang des nächsten Φ 20 oder ca. 440 Nanosekunden Wenn der Unterbrechungsanfrage-Prioritätskodierer 200 irgendeine Unterbrechungsanfrage erkennt, so erzeugt er auf der Leitung 212 ein Signal mit niedrigem Pegel. Dieses Signal gelangt zu einem anderen Prioritätskodierer 214, dessen Zweck darin besteh;. die Priorität zwischen Unterbrechungsanfragen zu bestimmen, die von den Speichersleuerungen mit direktem Zugriff und anderen Typen von Unterbrechungsanfragen empfangen werden. Der Prioritätskodierer 214 ist dauernd durch die Verbindung seines Eingangs Ei mit Masse in Bereitschaft gesetzt. Der Eingang D3 des Kodierers 214 empfängt ein Signal INTERVAL TI MER INT, welches auf einen niedrigen Pegel abfüllt, wenn ein Intervallzeitgeber (nicht gezeigt) bestimmt, daß eine Operation innerhalb einer zugeteilten Zeit nicht vervollständigt wurde. Der Eingang D2 des Kodierers 214 empfängt das Ausgangssignal vom Kodierer 200 über die Leitung 2£2, während der Eingang Dl das Signal SYSTEM CHECK INT empfängt. Dieses letztere Signal wird erzeugt, wenn ein Speicheradressierfehler oder ein Speicherparitätsfehler aiiftriit. Der Eingang DO des Kodierers 214 empfängt ein Signal RESETiNTREO, welches durch die Schaltungsanordnung (nicht gezeigt) erzeugt wird, wenn eine betreffende Person die Rückstelltaste am Steuerpult niederdrückt.
Der Kodiercr 214 besitzt drei Ausgangslcitungcn, die mit den Eingängen Ü3, D 2 und Dl einer quad-Sperre 216 verbunden sind. Immer dann, wenn der Kodiercr 2!4 eil· Signal mit niedrigem Pegel an einem seiner D-Eingänge empfängt, erzeugt er auf diesen Ausgangsleitungen Drei-Bit-Binärwerte, um den Unterbrechungstyp anzuzeigen, welchem eine Priorität gewähn bzw. erteilt wurde.
Zu dem Zeitpunkt, zu welchem der Prioritätskodierer 214 zuerst einen Binärkode an seinen Ausgängen erzeugt, liegt das Signal INTA auf dem niedrigen Spunnungswert und setzt über einen Inverter 217 ein UND-Glied 218 in Bereitschaft. Bei dem nächsten Φ 2ß-Signal erzeugt das UND-Glied 218 ein Signal mit hohem Spaniningswcrt, um die binäre Ausgangsgröße des Prioriiätskodierers 214 in die Quad-Sperre 216 taktmäßig einzulesen.
Der binäre Wert, der in die Quad-Sperre oder Vcrriegeliingssehaltung 216 eingespeist ist, gelangt zu drei Eingängen eines Drei-Zusiandstreiberchips 220 und zu den Eingängen D2, D 1 und DO eines Oktal-Dekodiercrs 222. Die Drci-Zustandstreiberchips 220 und der Oktal-Dekodierer 222 können jedoch zu diesem Zeitpunkt Ausgangssignale von der Quad-Sperre 216 nicht empfangen.
Der Prioritätskodierer 214 besitzt einen Ausgangsanschluß EO, der normalerweise auf einem niedrigen Spannungspegel liegt und immer dann auf einen hohen Spannungspegel steigt, wenn der Kodierer ein Signal mit niedrigem Pegel an irgendeinem der Eingänge D empfängt. Das Ausgangssignal vom Anschluß FO besteht aus dem Signal INTERRUPT , welches über eine Leitung 224 und die Systemsteuerhauptleitung 134 zum Mikroprozessor 100 gelangt. Es treten dann keine weiteren Schritte auf, bis der Mikroprozessor 100 bereit ist, die Unterbrechung zu behandeln. Dies erfolgt zum Zeitpunkt Mldes Instruktionszyklus, der dem Auftreten des INTERRUPT-Signals auf der Leitung 224 folgt. Wenn die Unterbrechung beachtet wurde, so überträgt der Mikroprozessor 100 ein INTERRUPT ACKNOW-LEDG£-Statuswort auf die CPU-Datcnhauptleitung 44. Der Mikroprozessor 100 erzcutit auf der Leitiine 225
das Signal SYNC, welches mit einem Φ 34-Taktinipuls und dem Signal HOLD λ gemäß einer UND-Funktion behandelt wird. Dieses letztere Signal ist während der Zeit Ml der Unterbrechungsoperation auf einem hohen Pegel, so daß bei Φ 3A während SYNC die Drei-Zustandstreiberstufen 146 in Bereitschaft gesetzt werden und das Statuswort über die Systemdatensammelleitung 132 zu den CPU-Statussperren oder Verriegelungsschaltungen 104 übertragen wird.
Bei Φ 4/4 des M/-77-Zyklus wird ein Taktimpuls mit dem SVTVC-Signal UND-mäßig verknüpft und schafft die Möglichkeit, daß die CPU-Statussperren 104 das Statuswort von der Systemdatensammelleitung 132 annehmen. Obwohl die CPU-Statussperren 104 zur gleichen Zeit in Bereitschaft gesetzt sind, während welcher die Drei-Zustandstreiberstufen 146 außer Bereitschaft sind, ist die Ausbreitungszeit entsprechend der Ausbreitung entlang der Systemdatenhauptleitung ausreichend, daß das Statuswort in die CPU-Statussperren bzw. VerriegelungsschaUungen eingeiesen werden kann.
Aus Tabelle I läßt sich erkennen, daß das INTER RUPTACKNOWLEDCE-SiAluswoTi Bits enthält, welche die Signale INTA und Ml erzeugen. Gemäß F i g. 2 wird das Signal INTA über den Inverter 217 geleitet, um das UND-Glied 218 zu sperren. Dieses wiederum blockiert die Quad-Sperren oder Verriegelungsschaltungen 216 und verhindert jegliche Änderung in dem Wert, der in den Sperren eingestellt ist, obwohl eine Unterbrechung entsprechend einer höheren Priorität am Eingang des Prioritätskodierers 214 auftreten kann, die Ausgangsgröße des Inverters 217 gelangt durch einen weiteren Inverter 234, um einen Eingang eines NAND-Gliedes 236 in Bereitschaft zu setzen. Das NAND-Glied 236 empfängt ferner das Signal DBIN, welches auf der Ausgangsleitung 238 des Mikroprozessors erzeugt wird, wodurch das Ausgangssignal mit niedrigem Pegel des NAND-Gliedes 236 die Drei-Zu-Standstreiberstufen 220 in Bereitschaft setzt als auch ebenso die weiteren Drei-Zustandstreiberstufen 219 und 221. Die Ausgänge der Drei-Zustandstreiberstufen 219—221 sind mit der CPU-Datenhauptleitung 44 verbunden. Die Eingänge der Drei-Zustandstreiberstufen 219 und 221 sind mit Masse verbunden, so daß dadurch diese Treiberstufen die Signale mit hohem Pegel CPUDBO, CPUDBl, CPUDB 6 und CPUDB 7 immer dann erzeugen, wenn die Treiberstufen in Bereitschaft gesetzt sind. Der Eingang einer der Treiberstufen 220 ist mit + V verbunden und erzeugt somit das Signal mit hohem Spannungswert CPUDB 2 jedesmal dann, wenn die Treiberstufen 220 in Bereitschaft gesetzt werden. Der Pegel der Signale CPUDB 3-CPUDB 5 zu dem Zeitpunkt, bei welchem die Treiberstufen 220 in Bereitschaft gesetzt werden, wird durch den binären Wert bestimmt, der an den Ausgängen der Quad-Sperre 216 vorhanden ist. Nimmt man somit an, daß eine Unterbrechungsanfrage eines peripheren Gerätes durch den Prioritätskodierer 200 hindurchgeschickt wurde und das Signal auf der Leitung 212 eine Anfrage höchster Priorität beim Prioritätskodierer 214 darstellt, so speichern die Quad-Sperren bzw. Verriegelungsschaltiingen 216 den Wert 010. In diesem Fall erzeugen die Drei-Zustandstreiberstufen 219—221 auf der CPU-Datensammelleitung 44 den Wert 11010111, der Dl in hexadezimaler Schreibweise entspricht. Dieser Wert wird als ein Wiederstartvektor definiert und er entspricht, wie in Tabelle I gezeigt ist, hinsichtlich des Wertes einer der Wiederstartinstruktionen, die von dem Mikroprozessor 100 ausgefühn werden können. Da dieser während des Maschinenzyklus Ml auf der CPU-Datenhauptleitung erscheint, wire er als ein Operationskode behandelt und wird tormäßig in das Mikroprozessor-Instruktionsregister 18 in dei gleichen Weise eingelesen, wie das Instruktionsregistei normalerweise während m/mit einer neuen Instruktior beladen wird.
Die Ausgangsgröße des Inverters 217 gelangt zurr Steuereingang des Oktaldekodierers 222, so daß dann wenn das Signal INTA auftritt, die binäre Ausgangsgröße der Quad-Sperren 216 dekodiert wird, um eir Ausgangssignal mit niedrigem Pegel auf irgendeiner von acht Ausgangsleitungen zu erzeugen. Nimmt mar an, daß die Sperren bzw. Verriegelungsschaltungen 216 den binären Wert 010 speichern, so erzeugt der Oktal-Dekodierer 222 ein Ausgangssignal mit niedrigem Pegel auf einer Leitung 242. Das Signal gelangi durch einen Inverter 244 und zu einem Eingang eine« NAND-Gliedes 246 und zu den Rückstelleingänger zweier D-Typ-Flip-Flops 248 und 250. Die Ausgangsgröße mit hohem Pegel des Inverters 244 hat keinen Einfluß auf die Flip-Flops 248 und 250, sondern beide Flip-Flops befinde : sich in dem Rückstcllzustand. Die Rückstell-Ausgangsgröße des Flip-Flops 250 setzt einen zweiten Eingang des NAND-Gliedes 246 in Bereitschafi und der dritte Eingang empfängt das Taktsignal Φ 2B Daher erzeugt bei Φ2βνοη MI—T2 das NAND-Glied 246 ein Ausgangssignal mit niedrigem Pegel, welche; durch das NOR-Glied 208 invertiert wird und zu dem Signal mit hohem Pegel wird, welches die Ausgangsgröße des QUAD MUX-Chips 202 in die Quad-Sperre 20t taktmäßig einliest. Am Ende von Φ2Β wird da; NAND-Glied 246 erneut blockiert und der Ausgang des NOR-Gliedes 208 fällt auf den niedrigen Pegel ab wodurch der Oktal-Dekodierer 210 in Bereitschafi gesetzt wird und das BUS GRANT-S\gna\ erzeugt.
Der Ausgang des NAND-Gliedes 246 ist mit der Takteingängen der Flip-Flops 248 und 250 verbunden Der Rückstellausgang des Flip-Flops 248 ist rückwärts mit dem D-Eingang des Flip-Flops verbunden, währenc der set-Ausgang des Flip-Flops 248 mit dem Eingang L des Flip-Flops 250 verbunden ist. Wenn daher dei Ausgang des Flip-Flops 248 mit dem Eingang D de; Flip-Flops 250 verbunden ist. Wenn daher der Ausgang des NAND-Gliedes 246 auf den hohen Pegel steigt, wire dei^ Flip-Jjop 248 gesetzt, wodurch das Signa IXFR TiME auf den niedrigen Pegel fällt. Zur gleicher Zeit steigt der set-Ausgang des Flip-Flops 248 auf der hohen Pegel und das Signal auf der Leitung 252 setz den Prioritätenkodierer 200 außer Bereitschaft, so daf; dieser keine weiteren Unterbrechungs-Anfragen mehl annehmen kann. Die 2-, 1- und 0-Ausgänge de; Prioritätskodierers 200 steigen auf den hohen Pegel unc bewirken, dsß Signale mit niedrigem Pegel aller Eingängen der Quad-Sperren 206 zugeführt werden Der Ausgang GS des Prioritätskodierers 200 spring ebenfalls auf einen hohen Pegel und nimmt man an, daf keine anderen Unterbrechungs-Anfragen zu den Prioritätskodierer 214 gelangen, so springen desser Ausgänge 2,1 und 0 alle auf einen hohen Pegel, währenc der Ausgang FO auf einen niedrigen Pegel abfällt unc dadurch das 1NTERRUPT-S\gna\ zum Mikroprozesso beendet wird, Die Quad-Sperren 206 können die Signals mit niedrigem Pegel, die ihren Eingängen zugeführ werden, nicht annehmen und weiter können auch di< Quad-Sperren 216 die Signale mit hohem Pegel nich annehmen, welche ihren Eingängen zu diesem Zcitptink
zugeführt werden. Der Oktal-Dekodierer 210 fährt damit fort, das Signal BUS GRANTi zu erzeugen und der Oktal-Dekodierer 222 fährt damit fort, das Signal mit niedrigem Pegel auf der Leitung 242 zu erzeugen.
Bei Φ 2ß von MI— Γ3 fäll· die Ausgangsgröße des NAND-Gliedes 246 erneut auf den niedrigen Pegel ab und die Ausgangsgröße mit hohem Pegel von dem NOR-Glied 208 steuert die Signale mit niedrigem Pegel von dem QUAD MUX-Chip 202 taktmäßig in die Quad-Sperren 206. Dadurch werden die Signale mit hohem Pegel alien Eingängen des Oktal-Dekodierers 210 zugeführt. Zur gleichen Zeit gelangt ein Φ 2ß-Taktimpuls zu dem UND-Glied 218, da jedoch das Signal INTA auf einem hohen Pegel liegt, wird das UND-Glied blockiert und es wird daher irgendeine Änderung in der Einstellung der Quad-Sperren 216 verhindert. Der Ausgang mit niedrigem Pegel des Inverters 232 setzt den Oktal-Dekodierer 222 in Bereitschaft, so daß dieser fortfahren kann, das Signal mit niedrigem Pegel auf der Leitung 242 zu erzeugen.
Am Ende von Φ2Β steigt die Ausgangsgröße des NAND-Gliedes 246 erneut auf den hohen Pegel und, da der Flip-Flop 248 gesetzt ist, setzt der Ausgang des NAND-Gliedes 246 den Flip-Flop 250 und stellt den Flip-Flop 248 zurück. Wenn der Flip-Flop 248 zurückgestellt ist, springt das Signal IXFR TIME erneut auf den hohen Pegel und das Signal von der set-Seite des Flip-Flops setzt den Prioritätskodierer 220 erneut in Bereitschaft, so daß dieser eine Unterbrechungsanfrage erneut annehmen kann. Wenn der Flip-Flop 250 gesetzt 3» ist, so blockiert sein Ausgangssignal das NAND-Glied 246, so daß weitere Φ 2ß-Taktimpulse durch das NAND-Glied nicht hindurchgelangen können.
Beide Flip-Flops 248 und 250 werden in den Rückstell- bzw. reset-Zustand zurückgeführt, wenn das i> Signal INTA aufhört, den Oktal-Dekodierer 222 zu blockieren. Dies erfolgt zu einem frühen Zeitpunkt beim nächsten Maschinenzyklus bei Μ2-Γ1, wenn ein anderes Statuswort in die CPU-Statussperren bzw. Verriegelungsschaltungen 104 eingeladen wird.
Das Signal DBIN endet zu Beginn von Φ 3A des MI— r3-Zyklus, wodurch die Drei-Zustandstreiberstufen 219—221 blockiert werden.
Während des Intervalls, während welchem das Signal IXFR TIMEsich auf niedrigem Pegel befindet, blockiert es die Drei-Zustandstreiberstufen 136 und der Mikroprozessor 100 wird daran gehindert, eine Adresse auf die Systemadresenhauptleitung 130 zu geben. Zur gleichen Zeit setzt das Signal IXFR TIME die Dateneingänge des I/O-Adressenregisters und des w I/0-Statusregisters in Bereitschaft, so daß der Zustand und die Adresse des unterbrechenden SDC, die nunmehr auf den Hauptleitungen 130 und 132 vorhanden sind, in den Registern gespeichert werden können. Gemäß F i g. 3 enthält das I/O-Adressenregister zwei Quad-Sperr-Chips 300 und 302, während das I/O-Statusregister zwei Quad-Sperr-Schips 304 und 306 umfaßt. Jedes Quad-Sperrglied bzw. Verriegelungsschaltung besitzt vier Dateneingänge, die mit D 3—DO bezeichnet sind, einen Takteingang CLK und zwei t,o Steuereingänge IDX und ID 2, die beide auf dem niedrigen Pegel liegen müssen, um in die Verriegelungsschaltungen oder Sperren taktmäßig einzulesen. Zusätzlich besitzt jede Quad-Verriegelungsschaltung einen Rückstell- oder Entleerungseingang CLR und zwei h5 Eingänge ODl und OD 2, die beide auf niedrigem Spannungspegel liegen müssen, um aus den Verriegelungsschaltungen Daten auszulesen. Die Ausgänge der Sperren sind mit 30 bezeichnet. Die Ausgänge vor sowohl mit I.'0-Adressenregister als auch dem I/O-Sta tusregister sind mit der Systemdatenhauptleitung 13; verbunden. Die Dateneingänge des I/O-Adressenregi ster sind mit der SystemadreEsenhauptieitung 13( verbunden, während die Dateneingänge des I/O-Status registers mit der Prozessordateneingangshauptleitung 150 verbunden sind.
Wie bereits an früherer Stelle dargelegt wurde schickt der SDMA 120 (oder irgendein Regler, der nach einer Unterbrechung angefragt hat) eine Adresse aul die Systemadressenhauptleitung 130 und ein Acht-Bit-Statuswort auf die Systemdatenhauptleitung 132, unc zwar während des gesamten Intervalls, währenc welchem das BUS G&A/vT-Signal von dem Oktal-De kodierer 210 erzeugt wird. Während dieses Intervall; fällt das Signal IXFR TIME auf den niedrigen Pegel ab und bei Φ XA wird das Adressenwort bzw. Byte und da; Statusbyte taktmäßig in das I/0-Adressenregister unc das I/O-Statusregister eingelesen.
Sowohl das I/O-Adressenregister als auch das I/O-Statusregister sind adressierbar und es sind dieser jeweils die He^cadezimaladressen EX und £0 zugeordnet. Die Bits Ä7, Ä6 und Ä~5 auf der Systemadressenhauptleitung 130 werden durch drei Inverterstufen 308 310 und 312 geschickt, um drei Eingänge eines NAND-Gliedes 314 in Bereitschaft zu setzen, wenn alle drei Bits auf dem niedrigen SpannungspegeMiegen unc binäre Einsen wiedergeben. Die Bits A4 und Ä2 gelangen auch zu den weiteren Eingängen de< NAND-Gliedes 314, so daß dadurch das NAND-Gliec nur dann _in Bereitschaft gesetzt wird, wenn seine Eingänge A 4 und A 3 beide Null sind. Die Ausgangsgröße des NAND-Gliedes 314 setzt den Steuereingang eines Oktal-Dekodierers 316 in Bereitschaft. Dei Dekodierer 3_16 besitzt_drei Dateneingänge, welche die Signale A 2, AX und A 0 von der Systemadressenhauptleitung 130 empfangen. Der Dekodierer besitzt achi Ausgänge, von denen lediglich drei verwendet werden Wenn auf der Systemadressenhauptleitung die Adresse £0 erscheint, so empfangen alle Eingänge de: Dekodierers 416 Signale mit hohem Pegel und es erscheint ein Signal mit niedrigem Pegel auf der Leitung 142. Diese Leitung ist mit den Sperren bzw. Verriegelungsschaltungen 304 und 306 verbunden und setzt da; Auslesen aus dem I/O-Statusregister in Bereitschaft Wenn die Adresse EX auf der Systemadressenhauptleitung erscheint, so liegen die Eingänge D 2 und DX de: Dekodierers 316 auf einem hohen Pegel, während dei Eingang DO auf einem niedrigen Pegel liegt. In dieserr Fall erzeugt der Dekodierer auf der Leitung 140 eir Signal mit niedrigem Pegel, um das Auslesen aus derr I/O-Adressenregister in Bereitschaft zu setzen.
Der Zeitpunkt, zu welchem die Adresse und dei Zustand des unterbrechenden Gerätes aus derr I/O-Adressenregister und dem I/O-Statusregister ausgelesen werden, wird durch den Programmierei bestimmt. Nachdem einmal der Wiederstartvektoi erzeugt wurde und zum Instruktionsregister 18 in der Mikroprozessor 100 übertragen wurde, werden zwe aufeinanderfolgende Stapel-Schreiboperationen wan rend der Maschinenzyklen M2 und M3 ausgeführt Während dieser Zyklen werden die Inhalte der oberer und der unteren Hälfte des Programmzählers 36 in die Bank im Speicher 106 bei der Adresse eingelesen, die durch den Stapelzeigerzähler 34 angegeben wird. Dei Wiederstartvektor gelangt auch in das zeitweilige Register 16, und zwar zur gleichen Zeit, zu welchei
dieser Vektor in das Instruktionsregister 18 eingeladen wird. Am Ende des Instruktionszykliisses werden die W- und Z-Register zurückgestellt, es wird der Wiederstartvektor in das Z-Register eingeladen und die Inhalte der W- und Z-Register werden zur Adressensperre bzw. Verriegelungsschaltung 38 übertragen, ebenso über die Adressenhauptleitung 40 zum Adressenspeicher 106. Während der Übertragung des Wiederstartvektors werden jedoch die zwei Bits hoher Ordnung und die drei Bits niedriger Ordnung blockiert, so daß die Adressen- ι ο sperre 38 den Wert OOXXXOOO empfängt, wobei die X den Bits 3, 4, und 5 des Wiederstartvektors entsprechen. Da der Wiederstartvektor, der von einer Unterbrechungsanfrage eines externen Gerätes erzeugt wurde, den hexadezimalen Wert Dl besitzt, führt dies dazu, daß der hexadezimale Wert 10 in den Programmzähler eingelesen wird. Beim nächsten Instruktionszyklus, der auf den einen folgt, bei welchem die Unterbi echungsanfrage verarbeitet wird, und bei Φ 4 des Zyklus Ml-Ti, wird die an der Speicherstelle 10 gespeicherte Instruktion aus dem Speicher 106 ausgelesen und gelangt über den Sperr-Empfänger 148 und die Drei-Zustandstreiberstufen 125, von wo sie in das Instruktionsregister 18 für die Durchführung eingelesen wird. Dies stellt die erste Instruktion einer Folge von bis 2r> zu acht Bytes dar, die in aufeinanderfolgenden Speicherstellen gespeichert werden und zur Analyse dienen, welches Gerät die Unterbrechung verursacht hat, zur Analyse des Status oder Zustands des unterbrechenden Gerätes und was als Antwort auf die Unterbrechung ausgeführt werden soll.
Nachdem einmal der Wiederstartvektor in der Adressensperre 38 dazu verwendet wurde, die Speicherstelle 10 zu adressieren, wird er in dem Inkrementer/Dekrementer inkrementiert und in den Programmzähler 36 r> eingelesen.
Die Ausführung der Instruktion an der Speicherstelle 10 stellt den frühesten Zeitpunkt dar, bei welchem das I/O-Adressenregister 110 oder das I/O-Statusregister 108 ausgelesen werden können. Jedoch kann das «1 Auslesen in der Unterbrechungsanalysefoige später auftreten als durch den Programmierer bestimmt. Zur Veranschaulichung sei angenommen, daß die Instruktion an der Speicherstelle 10 aus einer INPUT-Instruktion besteht, gemäß welcher eine Übertragung vom v, I/O-Adressenregister zum Akkumulator gefordert wird. Wenn die Instruktion aus dem Speicher 106 ausgelesen wird, gelangt sie durch den Sperr-Empfänger 148 und durch die Drei-Zustandstreiberstufen 152 zum Mikroprozessor 100. Der Mikroprozessor dekodiert die w Instruktion und schickt die Adresse auf die Adressenhauptleitung 40. Die Adresse des I/O-Adressenregisters gelangt über die Drei-Zustandstreiberstufen 136 und über die Systemadressenhauptleitung 130 zu den Registerauswählschaltungen 138. In F i g. 3 wird die ■>■> Adresse (Ei) durch den Oktal-Dekodierer 316 dekodiert, um auf der Leitung 140 ein Ausgangssignal mit niedrigem Pegel zu erzeugen und die Sperren bzw. Verriegelungsschaltungen 300 und 302 in Bereitschaft zu setzen. Die Instruktion bewirkt, daß ein IN-PUT READ-Statuswort in die CPU-Statussperren 104 eingeladen wird. Gemäß Tabelle II bewirkt das INPUT READ-Statuswort das Erzeugen des Signals INP.
Das Signal INP gelangt zu einem Eingang eines b"> NAND-Gliedes 320 und nach Auftreten des Signals DBINerzeugt das NAND-Glied ein Ausgangssignal mit niedrigem Pegel, welches zu den Steuereingängen OD1 des I/O-Adressenregisters gelangt Wenn dieses Signal auftritt, schickt es die Inhalte des I/O-Adressenregisters auf die Systemdatenhauptleitung für eine Eingabe in den Akkumulator 10. Der Wert aus dem i/O-Adressenregister gelangt durch den Sperr-Empfänger 148 und die Drei-Zustandstreiberstufen 152 in den Akkumulator innerhalb des Mikroprozessors.
Die Inhalte des I/O-Statusregisters können in ähnlicher Weise in den Akkumulator 10 dadurch eingelesen werden, indem eine INPUT-Instruktion mit einer Adresse £"0 ausgeführt wird. In diesem Fall bewirkt die Adresse, daß der Oktal-Dekodierer 316 ein Signal mit niedrigem Pegel auf der Leitung 142 erzeugt, um die Eingänge OD 2 des Statusregisters in Bereitschaft zu setzen, so daß nach Auftreten der Signale INP und DBINdie Ausgangsgröße des NAND-Gliedes 320 die Inhalte des Statusregisters auf die Systemdatenhauptleitung tormäßig gesteuert schickt, von wo diese durch die Sperr-Empfänger 148 und die Drei-Zustandstreiberstufen 152 und über die CPU-Datenhauptleitung 44 zum Akkumulator 10 gelangen.
Aus der vorangegangenen Beschreibung ergibt sich, daß irgendein peripheres Gerät, das ein Unterbrechungsanfragesignal erzeugt, welches dem Prioritätskodierer 200 zugeführt wird, bewirkt, daß der gleiche Wert (D 7) als Wiederstartvektor erzeugt wird. Obwohl der Gegenstand der Erfindung anhand von Unterbrechungs-Anfragen von peripheren Geräten erläutert wurde, hat er größere Anwendungsmöglichkeiten, wie an früherer Stelle angedeutet wurde. Es können beispielsweise Schaltungen vorgesehen werden, um ein RESET INTREQ-S\gn&\ zu erzeugen, wenn die betreffende Person eine Rückstelltaste an einem Steuerpult niederdrückt. Das Signal RESET INT REQ wirkt über den Prioritätskodierer 214 und die Quad-Sperre 216, um den Wiederstartvektor C 7 zu erzeugen. Zusätzlich erzeugt der Oktal-Dekodierer 222 das Signal RE- SETlNTACK, welches zurück zu den Schaltungen gesendet werden kann, weiche die Anfrage hervorgerufen haben.
Das System des Statusregisters 112 dient dazu, den Zustand zu speichern, der aus bestimmten Fehlerbedingungen resultiert. Wenn beispielsweise ein Fehler beim Adressieren des Speichers 106 auftritt, oder wenn ein Paritätsfehler in dem aus dem Speicher ausgelesenen Wort auftritt, wird zu der Fehlerlogik 116 ein Signal geschickt, um in dem Systemstatusregister 112 eine Anzeige des Fehlers zu speichern. Als nächstes erzeugt die Fehlerlogik 116 das Signal SYSTEM CHECK INT, welches zum Prioritäts-!Codierer 214 geschickt wird. Dadurch wird bewirkt, daß der Wiederstartvektor CF erzeugt wird, während der Dekodierer 222 das Signal SYS CHECK INT ACK erzeugt. Dieses letztere Signal gelangt zur Fehlerlogik 116, um zu bestätigen, daß die angefragte Unterbrechung gewährt wurde. Der Wiederstartvektor CFbewirkt, daß der Mikroprozessor 100 die Inhalte des Programmzählers 36 speichert und auf die Adresse 08 (Tabelle I) springt, die die erste Instruktion des Unterprogramms für die Analysierung der Ursache der Unterbrechung enthält.
Das Systemstatusregister 112 ist in der gleichen Weise wie das I/O-Adressenregister und das I/O-Statusregister adressierbar. Gemäß F i g. 3 setzt die Adresse E2 den Oktal-Dekodierer 316 in Bereitschaft, um am Anschluß 5 ein Signal zu erzeugen. Dieses Signal gelangt zum NAND-Glied 322, welches weiterhin durch die Ausgangsgröße des NAND-Gliedes 320 in Bereitschaft gesetzt wird, und zwar während des Signals
DBlN, wenn die CPU-Statussperren 104 ein IN PUT READ-Statuswon enthalten. Die Ausgangsgröße des NAND-Gliedes 322 wird bei 324 invertiert, um das Signal SYS STAT ADR zu erzeugen. Gemäß Fig. 1 gelangt dieses Signal zum Systemstatusreg ster 112, um die Inhalte dieses Registers zum Akkumulator 10 in dem Mikroprozessor auszulesen. Das Systemstatusbyte gelangt über die Hauptleitung 132, über die Sperr-Empfänger 148 und die Drei-Zustandstreiberstufen 152 und über die Datenhauptleitung 44 in den Mikroprozessor.
Zusamme^assend bestimmt also eine Schaltungsanordnung, die extern von einem Mikroprozessor angeordnet ist, die Priorität zwischen unterschiedlichen peripheren Geräten, die nach Unterbrechungen anfragen, um einen Wiederstartvektor und ein Signal, welches einem der nach Unterbrechung anfragenden Geräte Priorität gewährt, zu erzeugen. Das periphere Gerät lädt seinen Zustand und seine Adresse in zwei adressierbare Register, die an eine gemeinsame Systemhauptleitung angeschlossen sind. Ler Wiederstartvektor gefangt in das instruktionsregister des Mikroprozessors. Der Mikroprozessor behandelt den Wiederstartvektor als eine Instruktion, um die Inhalte des Programmzählers im Speicher zu speichern und lädt bestimmte Bits des Wiederstartvektois in den Programmzähler. Diese Bits stellen die Startadresse eines Unterprogramms von acht Instruktionen für die
r> Analysierung der Unterbrechung dar. Eine Unterbrechung wird erkannt und der Zustand und die Identifikation des unterbrechenden Gerätes wird in einem einzigen Instruktionszyklus gespeichert. Bei dem nächsten Instruktionszyklus kann die erste Instruktion
κι des Unterbrechungs-Analysierprogramms beginnen. Während dieses Analysierprogramms können die Inhalte der zwei adressierbaren Register ausgelesen werden, um zu bestimmen, welches Gerät die Unterbrechung bewirkt hat und welcher Schritt im Hinblick auf
i") den Zustand des unterbrechenden Gerätes unternommen werden soll. Es sind Maßnahmen getroffen, die Unterbrechungen zu verarbeiten, die nicht von anfragenden peripheren Geräten stammen und jeder Unterbrechungstyp erzeugt einen unterschiedlichen
-Ό Wiederstartvektor, so daß eine unterschiedliche Adresse als erste Instruktionsadresse des Unterbrechungsanalysierprogramms ausgewählt wird.
Hierzu 5 Watt Zeichnungen

Claims (9)

Patentansprüche:
1. Datenverarbeitungssystem, mit einem zentralen Prozessor, mit einer Steuerung für direkten > Speicherzugriff und Gerätesteuerungen, einer Hauptleitungssteuerlogik, die alle über eine gemeinsame Hauptleitung zusammengeschaltet sind, wobei die Steuerung für direkten Speicherzugriff und die Gerätesteuerungen selektiv den Zugriff mehrerer ι ο peripherer Geräte zu der gemeinsamen Hauptleitung steuern, um Daten zwischen den peripheren Geräten und der gemeinsamen Hauptleitung zu übertragen, und jede Gerätesteuerung Mittel enthält, die auf eine periphere Unterbrechungsanfrage H zum Erzeugen eines Unterbrechungs-Anfragesignals ansprechen, und wobei die Hauptleitungs-Steuerlogik eine Prioritätskodiereinrichtung enthält, die auf ein Unterbrechungs-Antragesignal von der Steuerung für direkten Speicherzugriff und den Gerätesteuerungen anspricht, um ein Hauptleitungs-Freigabesignal derjenigen Gerätesteuerung zuzuführen, welcher Priorität gewährt wurde, dadurch gekennzeichnet, daß die Steuerung für direkten Speicherzugriff (120) Mittel enthält, die auf ein Hauptleitungsfreigabesignal ansprechen und sowohl die Adresse als auch den Zustand des eine Unterbrechungsanfrage, erzeugenden peripheren Gerätes (126,128) auf die gemeinsame Hauptleitung (130, 132, 134) geben, daß erste und zweite «1 adressierbare Register (108, 110) vorgesehen sind, die an die gemeinsame Hauptleitung (130, 132, 134) angeschlossen sind und den Zustand und die Adresse empfangen, die durch die Gerätesteuerung (120), welcher Priorität gewährt wurde, auf die gemeinsa- r> me Hauptleitung gegeben vyurden, und daß die Verarbeitung der peripheren Unterbrechungsanfrage und die Speicherung der Adresse und des Zustandes des unterbrechenden peripheren Gerätes (126, 128) in den ersten und zweiten adressierbaren Registern (108, 110) innerhalb eines Betriebszyklus des zentralen Prozessors (100) durchgeführt wird.
2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß eine Generatoreinrichtung (118, 216, 219—221) vorgesehen ist, die auf « die Prioritätskodiereinrichtung (200, 202, 206, 210, 214) zum Erzeugen eines Wiederstartvektors (von 118) und zum Erzeugen und Zuführen eines Prozessor-Unterbrechungsanfragesignals zum zentralen Prozessor (100) während des gleichen w Instruktionszyklus, in welchem die Adresse und der Zustand des unterbrechenden peripheren Gerätes (126,128) in den ersten und den zweiten adressierbaren Registern (108, ItO) gespeichert werden, anspricht. r>r>
3. Datenverarbeitungssystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die ersten und zweiten adressierbaren Register (108, 112) außerhalb von dem zentralen Prozessor (100) gelegen sind.
4. Datenverarbeitungssystem nach Anspruch 1, wi dadurch gekennzeichnet, daß der zentrale Prozessor (100) Mittel (44, 28) enthält, die auf das Prozessor-Unterbrechungsanfragesignal (von 118 über 44) ansprechen, um den Wiederstartvektor (von 118) als nächste Instruktion auszuführen. br>
5. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß der zentrale Prozessor (100) eine Einrichtung (in 100) enthält, die ein Unterbrechungs-Bestätigungssignal(7N7>tJerzeugt; und eine Einrichtung (234,236,219—221), die auf das Unterbrechungs-Bestätigungssignal (INTA) und das Signal der Einrichtung (in 118) zum Erzeugen des Wiederstartvektors anspricht, um den Wiederstartvektor (über 44) der zentralen Prozessoreinrichtung (100) zuzuführen.
6. Datenverarbeitungssystem nach Anspruch 5, gekennzeichnet durch folgende Einrichtungen: Eine auf das Unterbrechungs- Bestätigungssignal (INTA) ansprechende Einrichtung (234, 236, 219—221), um die Prioritätskodiereinrichtung (200) derart zu steuern, daß das Hauptleitungs-Freigabesignal (von 210) derjenigen Gerätesteuerung (120) zugeführt wird, welcher während des Intervalls die Priorität gewährt wurde, während welchem der Wiederstartvektor (von 118 über 44) der zentralen Prozessoreinrichtung (100) zugeführt wird, und eine Torsteuereinrichtung (136,146) in der gemeinsamen Hauptleitung (130, 132,134), die auf das Unterbrechungs-Bestätigungssignal (INTA) anspricht, um eine Vermischung der Adresse und des Zustandes von der Gerätesteuerung (120) mit dem Widerstartvektor (von 118) zu verhindern.
7. Datenverarbeitungssystem nach Anspruch 5, dadurch gekennzeichnet, daß die Einrichtung zum Erzeugen des Wiederstartvektors folgendes enthält: Einen weiteren Prioritäts-Kodierer (214); eine Einrichtung (DO—Dl) zum Zuführen von Unterbrechungssignalen, die verschiedene Systembedingungen anzeigen, zu dem weiteren Prioritäts-Xodierer (214), wobei eines (D 2) der Signale (von 212) von dem ersten Prioritäts-Kodierer (200) stammt und wobei der weitere !Codierer (214) den Systemzustand höchster Priorität bestimmt, der nach einer Unterbrechung anfragt und einen Vielbitwert (von 214) erzeugt, der den Systemzustand höchster Priorität wiedergibt; eine erste auf den Vielbitwert ansprechende Einrichtung (216) zum Erzeugen des Wiederstartvektors (aus 219—221); eine zweite auf den Vielbitwert ansprechende Einrichtung (222) zum Erzeugen eines Unterbrechungs-Bestätigungssignals für den Systemzustand, welchen die Priorität gewährt wurde, wobei diese zweite Einrichtung (222) das Erzeugen des Hauptleitungsfreigabesignals (über 244, 246,208) verhindert, wenn der Systemzustand, welchem Priorität gewährt wurde, nicht aus einem Unterbrechungsanfragesignal aus der Gerätesteuerung (120) besteht.
8. Datenverarbeitungssystem nach Anspruch 7, dadurch gekennzeichnet, daß an die gemeinsame Hauptleitung (130, 132, 134) ein Speicher (106) angeschlossen ist, und daß die Gerätesteuerung (120) aus einer Vielzahl von Direktspeicherzugriffs-Reglern besteht.
9. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die gemeinsame Hauptleitung (130, 132, 134) eine Systemadressenhauptleitung (130) und eine Systemdatenhauptleitung (132) enthält, daß weiter die Eingänge des ersten Registers (110) mit der Systemadressenhauptleitung (130) verbunden sind, um von der Gerätesteuerung (120) eine Adresse zu empfangen, und daß die Ausgänge dieses Registers mit der Systemdatenhauptleitung (132) verbunden sind, und daß die Eingänge des zweiten Registers (108) auf die Systemdatenhauptleitung (132) ansprechen und von der Gerätesteuerung (120) eine Zustandsinformation
bzw. Signal empfangen und daß deren Ausgänge ebenfalls mit der Systemdatenhauptleitung (132) verbunden sind.
Die Erfindung betrifft ein Datenverarbeitungssystem mit einem zentralen Prozessor, mit einer Steuerung für direkten Speicherzugriff und Gerätesteuerungen, einer Hauptleitungssteuerlogik, die alle über eine gemeinsame Hauptlfätung zusammengeschaltet sind, wobei die Steuerung für direkten Speicherzugriff und die Gerätesteuerungen selektiv den Zugriff mehrerer peripherer Geräte zu der gemeinsamen Hauptleitung steuern, um Daten zwischen den peripheren Geräten und der gemeinsamen Hauptleitung zu übertragen, und jede Gerätesteuerung Mittel enthält, die auf eine periphere Unterbrechungsanfrage zum Erzeugen eines Unterbrechungs-Anfragesignals ansprechen, und wobei die Hauptleitungs-Steuerlogik eine Prioritätskodiereinrichtung enthält, die auf ein Unterbrechungs-Anfragesignal von der Steuerung für direkten Speicherzugriff und den Gerätesteuerungen anspricht, um ein Hauptleitungs-Freigabesignal derjenigen Gerätesteuerung zuzuführen, welcher Priorität gewährt wurde.
Bei bekannten Datenverarbeitungssystemen, bei welchem mehrere periphere Geräte zur Anwendung gelangen, ist es üblich, daß die peripheren Geräte über eine bestimmte Art von Reglern arbeiten und um eine Unterbrechung der zentralen Prozessoreinheiten anfragen, wobei eine Programmierung für den Bericht des Zustandes des unterbrechenden peripheren Gerätes zur Anwendung gelangt.
Bei diesem bekannten System ist es auch üblich, mehrere Instruktionen durchzuführen, während welchen das unterbrechende Gerät identifiziert wird, wobei dann eine zweite Instruktion ausgeführt werden muß, um schließlich von dem unterbrechenden Gerät dessen Zustand zu erhalten. Es sind daher beim Stand der Technik mehrere und verschiedene Instruktionen und Operationen erforderlich, die mehrere Betriebszyklen des zentralen Prozessors beanspruchen, um ein unterbrechendes Gerät zu identifizieren und dessen Zustand in Erfahrung zu bringen.
Aus der US-PS 38 20 079 ist ein Multiprozeßrechner bekannt, der nach dem Bausteinprinzip aufgebaut ist, wobei die einzelnen Bausteine um eine gemeinsame Steuer- und Datenhauptleitung angeordnet sind. Die Steuerfunktionen für die verschiedenen Module sind unter den Modulen aufgeteilt. Dabei sind Module vorhanden, welche die Eingabe/Ausgabe-Operationen für den zentralen Prozessor übernehmen und von diesem getrennt sind, so daß der zentrale Prozessor zur Verarbeitung von Daten frei ist.
Aus der Firmendruckschrift der Firma Siemens AG. »Datenerfassung, Datenverarbeitung und Prozeßsteuerung mit Prozeßrechnern« vom März 1970 ist ebenfalls die Verwendung von peripheren Geräten, wie Lochstreifengeräte, zur Ein-/Ausgabe von Programmen und Daten, Lochkartengeräte zur Ein-/Ausgabe von Programmen und Daten und weitere derartige Einrichtungen bekannt, wobei sich jedoch dieser Literaturstelle nichts darüber entnehmen läßt, auf welche Weise sich die Verarbeitung von Unterbrechungsanfragen, die von peripheren Geräten stammen, beschleunigen läßt.
In der Firmendruckschrift der Firma Siemens AG »Periphere Steuerung für den Prozeßrechner 320«, 1973, ist u.a. ein zentnilinitiierter Steuersignalkreis beschrieben, der dann erregt wird, wenn der Rhythmus des Datentransfers von der Zentraleinheit bestimmt wird. Auch kann bei diesem bekannten Prozeßrechner ι ein peripher initiierter Steuersignalkreis erregt werden, wenn das periphere Gerät oder Einheit den Rhythmus der Datenübertragung bestimmt.
Darüber hinaus ist aus dieser Literaturstelle das Quittungsprinzip bekannt, welches der Steuerung des
in Informationstransfers dient. Dabei sendet der initiierende Kommunikationspartner eine Anforderung, die von einer Nachricht begleitet werden kann, während der andere Kommunikationspartner auf die Anforderung reagiert und als Antwort eine Quittung zurücksendet.
!') Nach Empfang der Quittung nimmt der initiierende Partner die Anforderung weg. Bemerkt der andere Partner das Verschwinden der Anforderung, dann setzt er ebenfalls die Quittung zurück.
Schließlich ist aus dieser Literaturstelle auch die
in Prioritätssteuerung in Verbindung mit peripheren Geräten bekannt Nach diesem Prinzip werden peripher initiierte Anforderungen, die in ein Organisationsprogramm eingreifen, von der Grundsteuerung vorrangig vor Datenanforderunger.i in das Prioritätsschema
2") eingereiht. Ist die Steuerung bereit, so wird die Organisationsanforderung der Anschlußstelle mit höchster Priorität durchgeschaltet. Dazu wird die Adresse des Anrufers in das linke Byte des Anzeigenmusters entsprechend der Stellung in der Hierarchie-Ebene
in eingetragen. Der Zentraleinheit wird somit im rechten Byte die Ursache, im linken Byte die Herkunft der Organisationsanforderung übermittelt.
Die der Erfindung zugrunde liegende Aufgabe besteht darin, ein Datenverarbeitungssystem der ein-
.T) gangs definierten Art bei vergleichsweise einfachem Aufbau hinsichtlich der Verarbeitung einer Unterbrechung und des damit verbundenen Informationsaustausches und Speicherung von Informationen zwischen einem Zentralprozessor und des um eine Unterbrechung anfragenden peripheren Gerätes zu verbessern.
Ausgehend von dem Datenverarbeitungssystem der eingangs definierten Art wird diese Aufgabe erfindungsgemäß dadurch gelöst, daß die Steuerung für direkten Speicherzugriff Mittel enthält, die auf ein Hauptleitungsfreigabesignal ansprechen und sowohl die Adresse als auch den Zustand des eine Unterbrechungsanfrage erzeugenden peripheren Gerätes auf die gemeinsame Hauptleitung geben, daß erste und zweite adressierbare Register vorgesehen sind, die an die gemeinsame
w Hauptleitung angeschlossen sind und den Zustand und die Adresse empfangen, die durch die Gerätesteuerung, welcher Priorität gewährt wurde, auf die gemeinsame Hauptleitung gegeben wurden, und daß die Verarbeitung der peripheren Unterbrechungsanfrage und die ν-. Speicherung der Adresse und des Zustandes des unterbrechenden peripheren Gerätes in den ersten und zweiten adressierbaren Registern innerhalb eines Betriebszyklusses des zentralen Prozessors durchgeführt wird.
no Erfindungsgemäß sind somit zwei adressierbare Register vorgesehen, die extern von dem zentralen Prozessor angeordnet sind und mit der gemeinsamen Systemhauptleitung verbunden sind, so daß, wenn ein von einem unterbrechenden peripheren Gerät erzeugte tes Unterbrechungssignal verarbeitet wird, der Zustand und die Adresse des unterbrechenden Gerätes in den zwei Registern gespeichert wird, was alles während eines Instruktionszyklusses des zentralen Prozessors
DE2702090A 1976-01-29 1977-01-19 Datenverarbeitungssystem mit einem zentralen Prozessor Expired DE2702090C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/653,409 US4034349A (en) 1976-01-29 1976-01-29 Apparatus for processing interrupts in microprocessing systems

Publications (3)

Publication Number Publication Date
DE2702090A1 DE2702090A1 (de) 1977-08-04
DE2702090B2 true DE2702090B2 (de) 1978-09-21
DE2702090C3 DE2702090C3 (de) 1980-08-14

Family

ID=24620767

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2702090A Expired DE2702090C3 (de) 1976-01-29 1977-01-19 Datenverarbeitungssystem mit einem zentralen Prozessor

Country Status (7)

Country Link
US (1) US4034349A (de)
JP (1) JPS5293244A (de)
CA (1) CA1081857A (de)
DE (1) DE2702090C3 (de)
FR (1) FR2339910A1 (de)
GB (1) GB1574862A (de)
IT (1) IT1065850B (de)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5248440A (en) * 1975-10-15 1977-04-18 Toshiba Corp Memory access control system
US4181934A (en) * 1976-12-27 1980-01-01 International Business Machines Corporation Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4339793A (en) * 1976-12-27 1982-07-13 International Business Machines Corporation Function integrated, shared ALU processor apparatus and method
US4247905A (en) * 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4181941A (en) * 1978-03-27 1980-01-01 Godsey Ernest E Interrupt system and method
US4484271A (en) * 1979-01-31 1984-11-20 Honeywell Information Systems Inc. Microprogrammed system having hardware interrupt apparatus
US4293908A (en) * 1979-01-31 1981-10-06 Honeywell Information Systems Inc. Data processing system having direct memory access bus cycle
USRE31977E (en) * 1979-03-12 1985-08-27 Texas Instruments Incorporated Digital computing system having auto-incrementing memory
US4259719A (en) * 1979-06-13 1981-03-31 Ford Motor Company Binary input processing in a computer using a stack
US4283761A (en) * 1979-06-13 1981-08-11 Ford Motor Company Binary input/output processing in a digital computer using assigned times for input and output data
US4279015A (en) * 1979-06-13 1981-07-14 Ford Motor Company Binary output processing in a digital computer using a time-sorted stack
US4470111A (en) * 1979-10-01 1984-09-04 Ncr Corporation Priority interrupt controller
FR2474200B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif d'arbitrage des conflits d'acces entre une requete asynchrone et un programme en section critique
US4349873A (en) * 1980-04-02 1982-09-14 Motorola, Inc. Microprocessor interrupt processing
IT1140233B (it) * 1981-10-20 1986-09-24 Italtel Spa Unita' di controllo dei circuiti di interfaccia di ingresso-uscita di un elaboratore elettronico
IT1193650B (it) * 1983-01-31 1988-07-21 Honeywell Inf Systems Apparato di interruzione ad affidabilita' accresciuta
US4689767A (en) * 1983-02-14 1987-08-25 Prime Computer Inc. Magnetic tape drive controller utilizing dual DMA controllers
US4907149A (en) * 1983-07-22 1990-03-06 Texas Instruments Incorporated Dynamic redirection of interrupts
US4533994A (en) * 1983-09-09 1985-08-06 Avco Corporation Priority circuit for a multiplexer terminal
US4769768A (en) * 1983-09-22 1988-09-06 Digital Equipment Corporation Method and apparatus for requesting service of interrupts by selected number of processors
US4636978A (en) * 1984-06-13 1987-01-13 Signetics Corporation Programmable status register arrangement
US4716523A (en) * 1985-06-14 1987-12-29 International Business Machines Corporation Multiple port integrated DMA and interrupt controller and arbitrator
US5077662A (en) * 1986-04-11 1991-12-31 Ampex Corporation Microprocessor control system having expanded interrupt capabilities
JPS6468838A (en) * 1987-09-10 1989-03-14 Hitachi Ltd Level processing information processor
US4972342A (en) * 1988-10-07 1990-11-20 International Business Machines Corporation Programmable priority branch circuit
JPH03137757A (ja) * 1989-10-24 1991-06-12 Mitsubishi Electric Corp 優先順位制御方式
DE3939964A1 (de) * 1989-12-02 1991-06-06 Bayer Ag Hitzehaertbare beschichtungszusammensetzungen
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
EP0547240B1 (de) * 1991-07-08 2000-01-12 Seiko Epson Corporation Risc-mikroprozessorarchitektur mit schnellem unterbrechungs- und ausnahmemodus
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
JP3730252B2 (ja) 1992-03-31 2005-12-21 トランスメタ コーポレイション レジスタ名称変更方法及び名称変更システム
US5235221A (en) * 1992-04-08 1993-08-10 Micron Technology, Inc. Field programmable logic array with speed optimized architecture
KR950701437A (ko) 1992-05-01 1995-03-23 요시오 야마자끼 슈퍼스칼라 마이크로프로세서에서의 명령어 회수를 위한 시스템 및 방법
US5287017A (en) * 1992-05-15 1994-02-15 Micron Technology, Inc. Programmable logic device macrocell with two OR array inputs
US5220215A (en) * 1992-05-15 1993-06-15 Micron Technology, Inc. Field programmable logic array with two or planes
US5331227A (en) * 1992-05-15 1994-07-19 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback line and an exclusive external input line
US5384500A (en) * 1992-05-15 1995-01-24 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback and an exclusive external input line for a combinatorial mode and accommodating two separate programmable or planes
US5300830A (en) * 1992-05-15 1994-04-05 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback and exclusive external input lines for registered and combinatorial modes using a dedicated product term for control
US5298803A (en) * 1992-07-15 1994-03-29 Micron Semiconductor, Inc. Programmable logic device having low power microcells with selectable registered and combinatorial output signals
WO1994008287A1 (en) * 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
EP0682789B1 (de) 1992-12-31 1998-09-09 Seiko Epson Corporation System und verfahren zur änderung der namen von registern
US5805902A (en) * 1993-07-02 1998-09-08 Elonex I.P. Holdings, Ltd. Structure and method for issuing interrupt requests as addresses and for decoding the addresses issued as interrupt requests
JPH0764784A (ja) * 1993-08-31 1995-03-10 Nec Corp マイクロコンピュータ
JPH07105175A (ja) * 1993-10-08 1995-04-21 Nec Corp マイクロコンピュータ
US5706459A (en) * 1994-01-06 1998-01-06 Fujitsu Limited Processor having a variable number of stages in a pipeline
US5815701A (en) * 1995-06-29 1998-09-29 Philips Electronics North America Corporation Computer method and apparatus which maintains context switching speed with a large number of registers and which improves interrupt processing time
JP4226085B2 (ja) * 1996-10-31 2009-02-18 株式会社ルネサステクノロジ マイクロプロセッサ及びマルチプロセッサシステム
US5987601A (en) * 1997-02-14 1999-11-16 Xyron Corporation Zero overhead computer interrupts with task switching
US6336184B1 (en) * 1998-08-14 2002-01-01 International Business Machines Corporation Method and apparatus for performing a trap operation in an information handling system
US20030014474A1 (en) * 2001-05-30 2003-01-16 Mckaig Ray S. Alternate zero overhead task change circuit
US20040172631A1 (en) * 2001-06-20 2004-09-02 Howard James E Concurrent-multitasking processor
US6961280B1 (en) 2003-12-08 2005-11-01 Altera Corporation Techniques for implementing address recycling in memory circuits
CN101189580B (zh) * 2005-06-03 2010-05-19 Nxp股份有限公司 对至少一个独占资源的使用进行调度的数据处理系统和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system
NL164143C (nl) * 1965-09-10 Ibm Gegevensverwerkend systeem met variabele prioriteiten.
US3560935A (en) * 1968-03-15 1971-02-02 Burroughs Corp Interrupt apparatus for a modular data processing system
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3665415A (en) * 1970-04-29 1972-05-23 Honeywell Inf Systems Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests
US3713109A (en) * 1970-12-30 1973-01-23 Ibm Diminished matrix method of i/o control
US3800287A (en) * 1972-06-27 1974-03-26 Honeywell Inf Systems Data processing system having automatic interrupt identification technique
JPS5242498B2 (de) * 1972-08-19 1977-10-25
US3909790A (en) * 1972-08-25 1975-09-30 Omnus Computer Corp Minicomputer with selector channel input-output system and interrupt system
US3828325A (en) * 1973-02-05 1974-08-06 Honeywell Inf Systems Universal interface system using a controller to adapt to any connecting peripheral device
US3924240A (en) * 1973-04-09 1975-12-02 Gen Electric System for controlling processing equipment
JPS50107831A (de) * 1974-01-30 1975-08-25

Also Published As

Publication number Publication date
DE2702090C3 (de) 1980-08-14
IT1065850B (it) 1985-03-04
DE2702090A1 (de) 1977-08-04
FR2339910B1 (de) 1980-04-30
GB1574862A (en) 1980-09-10
CA1081857A (en) 1980-07-15
JPS5293244A (en) 1977-08-05
FR2339910A1 (fr) 1977-08-26
US4034349A (en) 1977-07-05

Similar Documents

Publication Publication Date Title
DE2702090B2 (de) Datenverarbeitungssystem mit einem zentralen Prozessor
DE3882989T2 (de) Verfahren und anordnung zur verwaltung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE2714805C2 (de)
DE68922261T2 (de) Verfahren und Vorrichtung für die Datenübertragung zwischen mehreren Aufgaben in Datenverarbeitungssystemen.
DE2744531C2 (de) Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage
DE2641741C2 (de) Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
DE2722099C2 (de)
DE2522748C2 (de) Peripheriekopplungsadapter zur Steuerung der Informationsübertragung zwischen einer Datensammelleitung eines Zentralprozessors und daran angeschlossenen peripheren Einheiten
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE1915818A1 (de) Elektronisches Datenverarbeitungssystem
DE3248680A1 (de) Microcomputer mit energiespar-betriebszustand
DE2719253B2 (de) Schnittstellenschaltung für Datenverarbeitungsanlagen
DE2533403A1 (de) Datenverarbeitungssystem
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE3128729A1 (de) Halbleiter-speichersystem
DE2719278C3 (de) Schaltungsanordnung für hintereinander geschaltete Steuereinheiten zum Anschluß von Ein-/Ausgabegeräten an eine Datenverarbeitungsanlage
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE1474063A1 (de) Datenverarbeitungsanlage
DE2721623A1 (de) System zur bearbeitung eines zielsystemprogrammes
DE1499206B2 (de) Rechenanlage
DE2935101C2 (de)
DE2657897A1 (de) Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher
DE1424747B2 (de) Erweiterbare digitale datenverarbeitungsanlage
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee