DE2702090B2 - Datenverarbeitungssystem mit einem zentralen Prozessor - Google Patents
Datenverarbeitungssystem mit einem zentralen ProzessorInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling 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.
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)
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
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)
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)
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 |
-
1976
- 1976-01-29 US US05/653,409 patent/US4034349A/en not_active Expired - Lifetime
- 1976-12-31 CA CA269,013A patent/CA1081857A/en not_active Expired
- 1976-12-31 IT IT31062/76A patent/IT1065850B/it active
-
1977
- 1977-01-19 DE DE2702090A patent/DE2702090C3/de not_active Expired
- 1977-01-28 GB GB3503/77A patent/GB1574862A/en not_active Expired
- 1977-01-28 FR FR7702407A patent/FR2339910A1/fr active Granted
- 1977-01-28 JP JP794377A patent/JPS5293244A/ja active Pending
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 |