DE2702090A1 - Geraet zur verarbeitung von unterbrechungen in mikroverarbeitungssystemen - Google Patents
Geraet zur verarbeitung von unterbrechungen in mikroverarbeitungssystemenInfo
- Publication number
- DE2702090A1 DE2702090A1 DE19772702090 DE2702090A DE2702090A1 DE 2702090 A1 DE2702090 A1 DE 2702090A1 DE 19772702090 DE19772702090 DE 19772702090 DE 2702090 A DE2702090 A DE 2702090A DE 2702090 A1 DE2702090 A1 DE 2702090A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- main line
- address
- common
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- 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
SPERRY RAND CORPORATION, eine Gesellschaft nach den Gesetzen
des Staates Delaware, USA, 1290 Avenue of the Americas, New
York, New York 10019, USA
des Staates Delaware, USA, 1290 Avenue of the Americas, New
York, New York 10019, USA
Gerät zur Verarbeitung von Unterbrechungen in Mikro- j
Verarbeitungssystemen,
Bei bekannten Datenverarbeitungssystemen, bei welchen mehrere j periphere Vorrichtungen, wie beispielsweise Kartenleser, Drucker;
usw. zur Anwendung gelangen, war es für die peripheren Vorrich-!
tungen, die über eine bestimmte Art von Regler wirken, Üblich, i
nach einer Unterbrechung des zentralen Prozessorprogramms anzu-i
fragen, um den Zustand oder Status der unterbrochenen periphe- ! ren Vorrichtungen zu berichten. Bei diesen bekannten Systemen j
ist es üblich, eine Reihe von Instruktionen auszuführen, wäh- ί
rend welcher die unterbrechende Vorrichtung identifiziert
wird und dann eine zweite Instruktion auszuführen, um von der ! unterbrochenen Vorrichtung deren Stand zu erfahren. Wenn ein- | mal von der unterbrochenen Vorrichtung deren Stand in Erfah- < rung gebracht ist, springt der zentrale Prozessor auf ein ge- i eignetes Unterprogramm, um den Grund der Unterbrechung zu ana-j lysieren und um zu bestimmen, was als Antwort darauf unternoa- ! men werden soll.
wird und dann eine zweite Instruktion auszuführen, um von der ! unterbrochenen Vorrichtung deren Stand zu erfahren. Wenn ein- | mal von der unterbrochenen Vorrichtung deren Stand in Erfah- < rung gebracht ist, springt der zentrale Prozessor auf ein ge- i eignetes Unterprogramm, um den Grund der Unterbrechung zu ana-j lysieren und um zu bestimmen, was als Antwort darauf unternoa- ! men werden soll.
Das die Unterbrechung durchführende Gerät nach dem Stand der
Technik erfordert eine beträchtliche Anzahl von speziellen
Hardware-Komponenten und eine spezielle Software und ist daher kostspielig und benötigt mehr Prozessorzeit als zum Ver- j arbeiten der Unterbrechungsanfragen erforderlich ist. Darüber { hinaus besitzen einige kürzlich entwickelten Mikroprozessoren !
Technik erfordert eine beträchtliche Anzahl von speziellen
Hardware-Komponenten und eine spezielle Software und ist daher kostspielig und benötigt mehr Prozessorzeit als zum Ver- j arbeiten der Unterbrechungsanfragen erforderlich ist. Darüber { hinaus besitzen einige kürzlich entwickelten Mikroprozessoren !
709831/0900
-A2 -
nur eine begrenzte Anzahl von Instruktionen für die Kommunika- ;
tion mit peripheren Vorrichtungen. Beispielsweise kann der ι
INTEL Θ080 Mikroprozessor nur mit peripheren Vorrichtungen in :
Verbindung treten, wenn er eine Eingangs- und eine Ausgangs- j
Instruktion erhält. Hierdurch wird die Prozedur eingeschränkt !
und es wird die Zeit verlängert, die für die Verarbeitung einer
Unterbrechungsanfrage und zum Wechseln auf ein Unterprogramm !
für die Analyse der Unterbrechung erforderlich ist. I
Es ist Ziel der vorliegenden Erfindung, eine Einrichtung für die Verarbeitung von Unterbrechungsanfragen zu schaffen, wobei j
diese Einrichtung einfacher als die bekannte Einrichtung auf- j gebaut sein soll, die für diesen Zweck eingesetzt wird und die I
auch weniger Zeit beansprucht.
j Auch soll durch die Erfindung eine Einrichtung zum Verarbeiten
einer Unterbrechung, Speichern der Adresse und des Standes der unterbrochenen Vorrichtung und ein Umschalten auf die erste !
ι Adresse eines Unterbrechungs-Analyseunterprogramms, was alles
; innerhalb eines Instruktionszyklusses erfolgen soll, geschaf- :
fen werden. '
j Die Erfindung sucht auch eine Unterbrechungsverarbeitungsein- ;
richtung zu schaffen, die eine Unterbrechungs-Prioritäts-Ko-.
diereinrichtung enthält, ebenso eine auf die Unterbrechungs-
; I
; Priorüfits-Kodiereinrichtung ansprechende Einrichtung zum Er-,
zeugen eines Wiederstartvektors, eine auf die Unterbrechungs- : Prioritäts-Kodiereinrichtung ansprechende Einrichtung zur Signalisierung
an die unterbrochene Einrichtung, daß eine Priorität j gewährt wird, eine Registereinrichtung zum Speichern der Adres- !
se und des Standes der unterbrochenen Vorrichtung und eine Einrichtung enthält, um den erzeugten Wiederstartvektor in das Instruktionsregister
eines zentralen Prozessors als erste Instruk-i
709831/0900
tion einzugeben, die, nachdem einer unterbrochenen Vorrichtung ■
die Priorität gewährt wurde, ausgeführt wird.
i Auch ist es Aufgabe der Erfindung, eine Unterbrechungs-Verarbei-'
tungseinrichtung mit den vorangegangen aufgeführten Merkmalen j zu schaffen, bei welcher der zentrale Prozessor aus einem Mikro-i
prozessor besteht und die adressierbaren Register extern vom | Mikroprozessor angeordnet sind und mit einer Systemsammelschie- !
ne oder Hauptleitung verbunden sind; ferner ist an die System- J hauptleitung auch die Unterbrechungsvorrichtung, der Mikropro- '
zessor und ein Speicher angeschlossen.
Gemäß den Merkmalennach der vorliegenden Erfindung erfaßt die j
Unterbrechungs-Prloritäts-Kodiereinrichtung Unterbrechungsan- '
fragen, die auf einer Systemhauptleitung durch periphere Vor
richtungen erzeugt werden und erzeugt ein Unterbrechungsanfra
gesignal für den Mikroprozessor. Zu dem Zeitpunkt, bei welchem
der Mikroprozessor das Unterbrechungsanfragesignal bestätigt, '■. wird ein Hauptleitungs-Erteilungssignal zurück zur anfragenden
' Voirichtung gesendet, welcher eine Priorität erteilt wird. Zur
gleichen Zeit erzeugt die Unterbrechungs-Prioritäts-Kodiereinjrichtung einen Wiederstartvektor in dem Mikroprozessor. Die Uhterbrechungs-Anfragevorrichtung spricht auf das Hauptleitungs-
!Erteilungssignal an, indem sie ihre Adresse und Stand in zwei
j Register einspeist, die an eine gemeinsame Sammelschiene angelschlossen sind und zwar extern vom Mikroprozessor, wo diese Informationen aufbewahrt werden, bis ein Unterbrechungs-Analyseunterprogramm ausgeführt wird. Der Mikroprozeseor enthält eine
Eirichtung, die auf das Vorhandensein eines Viederstartvektors
I in dem Instruktionsregister anspricht, um die Inhalte eines Programmzählers im Speicher zu speichern und um einen Teil des
Wiederstartvektors in einen Programmzähler als Adresse der er-'sten Instruktion eines Unterprogramms einzulesen, um den Grund
709831/0900
-fr -
der Unterbrechung zu analysieren.
Weitere Vorteile und Einzelheiten der Erfindung ergeben sich ; aus der nun folgenden Beschreibung eines Ausführungsbeispiels ;
unter Hinweis auf die Zeichnungen. Es zeigt: ;
Figur 1 ein Blockschaltbild eines Mikroprozessorsystems mit j
den Merkmalen nach der Erfindung;
Figur 2 ein logisches Schaltbild der Unterbrechungs-Priori- täts-Kodiereinrichtung und der Einrichtung zum Erzeu
gen eines Wiederstartvektors;
Figur 3 ein logisches Schaltbild des I/O-Adressenregisters,
des I/O-Standregistere und der Adressierschaltungen, derselben;
Mikroprozessors, der dazu verwendet werden kann, auf den Wiederstartvektor einzuwirken, der durch die
Schaltungen gemäß Figur 2 erzeugt wurde; und
Figur 5 ein Zeitdiagramm, welches die Zeitpunkte veranschaulicht, bei welchen verschiedene Signale innerhalb
des Systems auftsten.
j Der Gegenstand der vorliegenden Erfindung soll im folgenden in
■ Verbindung mit einem INTEL 8080-Mikroprozessor beschrieben wer-
den, dessen funktionelles Blockschaltbild in Figur 4 veran
schaulicht ist. Der Mikroprozessor enthält einen Akkumulator
[
10, eine Akkumulatorsperre 12, eine arithmetische logische Ein-
heit 14, ein zeitweiliges Register 16, ein Instruktionsregi-
' ster 18, einen Instruktionsdekoder und eine Maschinenzyklus-Ko-
70 98 31/0900
dierschaltung 20, eine Zeitsteuer- und Steuerschaltung 22, eine
Kegisteranordnung 24, einen Adressenpul'fer 26 und eine Daten- ;
hauptleitung-Puffer/Sperre 28. ;
Was den Gegenstand der vorliegenden Erfindung betrifft, so enthält die Registeranordnung einen Stapelzeigerzähler 24, einen I
;Programmzähler 36, einen Inkrementer/Dekrementer und eine Adressensperre 38. Der Programmzähler 36 enthält die Speicher- ■
adresse der laufenden Programminstruktion und wird automatisch ' während Jedes Instruktionsabrufes inkrementiert. Die Inhalte
des Progammzählers werden an die Adressensperre 38 ausgelesen i 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 gelangen dann über den Inkrementer/Dekrementer, welchem der Wert um die Einheit inkrementiert wird, bevor er zurUck zum Programmzähler geleitet wird.
Während des Betriebes des Mikroprozessors kann es erforderlich sein, zeitweilig die Inhalte bestimmter 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ählers 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 Datei/speichern zu können. Der Wert in der Adressensperre (address latch) 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
709831/0900
Speicher gestapelten Werte aus dem Stapel (stack) entfernt werden soll, wird im wesentlichen die gxeiche Prozedur durchgeführt,
mit der Ausnahme, daß der Wert inkrementiert wird, wenn er zum Stapelzeigerzähler von der Adressensperre zurückgeleitet wird.
iDie Registeranordnung 24 enthält verschiedene Einzelbyte (acht ■
Bit)-Register, die paarweise betrieben werden können. Zwei die-' ser 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 Adres-
!sensperre 38 Überführt werden, um den Speicher zu adressieren j
und können nach der Inkrementierung durch den Inkrementer/De- . krementer 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 Zweirichtungsdatenhau^tleitung 42 eingelesen.
Die interne Zweirichtungsdatenhauptleitung 42 dient für die Übertragung der Acht-Bit-Bytes der Daten zwischen der Registeran- j
Ordnung 24, dem Akkumulator 10, der arithmetischen logischen ;
i i
register 18. Zusätzlich ist die interne Datenhauptleitung 42 :
mit der Datenhauptleitungspuffer/spere 28 verbunden, so daß j
Acht-Bit-Bytes oder Datenworte in einer von zwei Richtungen j 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 verschiede-
709831/0900
-Av -
nen 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 Figur 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 Programmzähler 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 2h übertragen, nachdem beide Register
W und Z entleert wurden. Nachdem der. zweite Stapelschreibvorgang vervollständigt ist, werfen die Inhalte von W und 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 inkremen tier t 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.
709831/0900
Wiederstartinstruktionskode
(hexadecimal)
C7 CF D7 DF
E7 EF F7 FF
erote Instruktionsadresse
(hexadecimal)
θ 10 18 20 28 30 38
Der Mikroprozessor gemäß Figur 4 arbeitet mit den Instruktionszyklen, die aus einem von fünf Maschinenzyklen M1-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äß Figur 5 sind alle fünf Maschinenzyklen und alle T-Unterzyklen in Verbindung mit der Unterbrecherfolge
erfindungsgemäß nicht erforderlich. Während T1 jedes Maschinenzyklusses erzeugen die Mikroprozessorzeitsteuer-
und Steuerschaltung 22 das Signal SYNC. Zusätzlich erzeugen die Zeitsteuer- und Steuerschaltung 22 das Signal DBIN
bei jedem T-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 INTEL 8080-Mikroprozessors, daß der Instruktionsdekoder und die Maschinenzyklus-Kodierschaltungen
20 ein Statuswort erzeugen, welches auf die Datenhauptleitung 44 während der SYNC-Zeit jedes Maschinen(M)-Zyklusses gelangt.
709831/0900
Diese Statusworte vermitteln eine Anzeigedes Standes des Mikroprozessors und besitzen die in Tabelle II gezeigten Formate. ;
DO | D1 | Tabelle | II | D4 | D5 | D6 | D7 j | |
Oa ten haup 11 e i -
tungsbit |
INTA | WO | Ώ2 | D3 | OUT | MI | INP | MiMR I |
Status-Daten | 0 | 1 | STACK | HLTA | 0 | 1 | 0 | 1 S |
Abruf | 0 | 1 | 0 | 0 | 0 | 0 | 0 | ι -i |
Speicher lesen | O | 0 | 0 | 0 | 0 | 0 | 0 | ο j |
Speicher schrei
ben |
O | 1 | 0 | 0 | 0 | 0 | 0 | 1 j |
Stapel lesen | O | 0 | 1 | O | 0 | 0 | 0 | 0 j |
Stapel schrei
ben |
0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
Eingang lesen | O | 0 | 0 | 0 | 1 | 0 | 0 | ο j |
Ausgang schrei
ben |
1 | 1 | 0 | 0 | 0 | 1 | 0 |
I
0 |
Unterbrech.
Ack. |
O | 1 | O | 0 | 0 | 0 | 0 | 1 |
Halt Ack. | 1 | 1 | 0 | 1 | 0 | 1 | 0 | O |
Unterbrech.
Ack. |
0 | 1 | ||||||
Zeit Halt | ||||||||
Gemäß Figur 1 ist ein Mikroprozessor 100, der die an früherer
Stelle erläuterten Merkmale aufweist, alt externen Schalungselementen kombiniert, um ein Mikroprozessorsystem mit einem
Haupttaktgeber 102, einer CPU-Statussperre 10A, einem Speicher 106, einem I/O-Statusreglster 108, einem I/0-Adressenregister
110, einem Systemstatusregister 112, logischen Hauptleitungssteuerschaltungen 114, Fehlerlogikschaltungen 116 und einer
Wiederstartvektor-Erzeugerschaltung 116 zu bilden. Zur Veranschaulichung des Gegenstandes der Erfindung ist das Mikroprozes-
709831/0900
sorsyctem mit einem einzel ausgenützten Dir ekt.spei "herzugriffsegler
(SDMA) 120 veranschaulicht. Es können jedoch mehrere SDMA's als auch Scheiben-DirektspeicherzugriffsretfJer verwendet
werden, wie diese beispielsweise in der Patentanmeldung
von Derchak, Aktenzeichen b53 4U8 beschrieben sind, auf die bezug genommen werden soll. Der SDMA 120 steuert eine Vielzahl
von Untersystemreglern (SDC1s) 122 und 124, die ihrerseits eine
Vielzahl von peripheren Vorrichtungen 126 und 128 steuern.
Das Mikroprozessorsystem ist mit einer gemeinsamen Systemhauptleitung
ausgestattet, die eine Sechzehn-Bit-Systemadressensammelschiene
130, eine Acht-Bit-Systemdatensammelschiene 132 und
eine Systemsteuersammelschiene 134 umfaßt. Die auf der Adressensammelschiene
40 durch den Mikroprozessor 100 vorgegebenen Adressen können tormäßig über einen Satz von Drei-Zurtandstreiberstufen
136 bis zur Systemadressensammelschiene 130 tormäßig
gesteuert werden. Adressen 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 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 afer auszulesen, j
welches auf der Systemdatensammelschiene 132 erscheint. Ein Acht-Bit-Adressenwort auf der Systemadressensammelschiene 130 I
kann durch den SDMA 120 hindurchgeführt werden und über die j
SDC-Sammelschiene 129 geleitet werden, um einen der SDC1S 122, j
124 usw. auszuwählen oder zu adressieren, wie dies in der zuor ! erwähnten Patentanmeldung erläutert ist. Zusätzlich können \
Adressen, die innerhalb des SDMA 120 in Abhängigkeit von Unter- ; brechungssignalen von den SDC1S erzeugt werden, tormäßig zur !
Systemadressenhauptschlene 130 gesteuert übertragen werden und I
709831/0900
i:; ·■:·■?R I/O-Adrev-ö■•■ru'egi.ster HU ^»v.p'-icheri. -.-erden.
Γ<5 c Au ε gang st.!; ι ie r 1ργ· Mikroprozessor- 1OO kor.ner· durch einen
;;atz von Drei-ru;~tands-Treiberstufen IAo zur .jy,te:nda1ensammelschiene 132 übertragen werden, um sie in dem Speicher 106 zu
speichern. '.Vie bereits an früherer Stelle erwähnt, gibt der
Mikroprozessor ein Statusbyte an die Datensaramelschiene 44 wa'h· rend Tl jedes Maschlnenzyklusses ab. Dipse Statusworte gelange! durch die Drei-Zustands-Treiberstufen 146 und werden in den
CPU-Statussperren 104 gespeichert. Die Daten aus dem Speicher 106, dem VO-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 über einen Satz von Sperr-Erapfängern 148, übei die Prozessordateneingangshauptleitung 150, über einen Satz voi Drei-Zustands-Treiberstufen 152, und über die CPU-Datenhauptleitung 44 in den Mikroprozessor geleitet werden. Die von der Wiederstartvektor-Erzeugerschaltung 118 erzeugten Wiederstartvektoren werden direkt über die CPU-Datenhauptleitung 44 in dei Mikroprozessor 100 eingelesen.
;;atz von Drei-ru;~tands-Treiberstufen IAo zur .jy,te:nda1ensammelschiene 132 übertragen werden, um sie in dem Speicher 106 zu
speichern. '.Vie bereits an früherer Stelle erwähnt, gibt der
Mikroprozessor ein Statusbyte an die Datensaramelschiene 44 wa'h· rend Tl jedes Maschlnenzyklusses ab. Dipse Statusworte gelange! durch die Drei-Zustands-Treiberstufen 146 und werden in den
CPU-Statussperren 104 gespeichert. Die Daten aus dem Speicher 106, dem VO-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 über einen Satz von Sperr-Erapfängern 148, übei die Prozessordateneingangshauptleitung 150, über einen Satz voi Drei-Zustands-Treiberstufen 152, und über die CPU-Datenhauptleitung 44 in den Mikroprozessor geleitet werden. Die von der Wiederstartvektor-Erzeugerschaltung 118 erzeugten Wiederstartvektoren werden direkt über die CPU-Datenhauptleitung 44 in dei Mikroprozessor 100 eingelesen.
Wie in der erwähnten Patentanmeldung beschrieben ist, kann ein<
direkte Datenübertragung in einer von zwei Richtungen zwischen dem Speicher 106 und irgendeinem der SDC's durchgeführt werden
Der SDMA 120 erzeigt die erforderliche Speicheradresse und
schickt diese über die Systemadressenhauptleitung 130 zum Speicher 106. Die tatsächliche Datenübertagung findet in einer von zwei Richtungen über eine Bahn statt, welche den Speicher 106, die Systemdatenhauptleitung 132, den SDMA 120, die SDC-Hauptleitung 129 und den aktiven der SDCs enthält.
schickt diese über die Systemadressenhauptleitung 130 zum Speicher 106. Die tatsächliche Datenübertagung findet in einer von zwei Richtungen über eine Bahn statt, welche den Speicher 106, die Systemdatenhauptleitung 132, den SDMA 120, die SDC-Hauptleitung 129 und den aktiven der SDCs enthält.
Die Systemsteuerhauptleitung 134 führt Steuersignale durch das
System hindurch. Die von der Zeitsteuer- und Steuerschaltung
709831/0900
2xr
.''OO de.s Mikroprozessors 100 abgeleiteten signale t;elangen iur
Hauptleitungs-Steuerlogikschal tung "1IA und diese . chaltung
schickt bestimmte signale, wie dies noch erläutert werden εοΐί,
zur Systemsteuerhauptleitung 134. Der Haupttaktgeber 102 erzeugt φΛ und ^2-Taktsignale, um den Mikroprozessor 100 zu treiben. Zusätzlich erzeugt der Haupttaktgeber 102 Taktimpulse A
und B von 62,5 Nanosekunden (siehe Figur 5) und legt diese
Signale an verschiedene Elemente des Prozessorsystems über die
Systemsteuerhauptleitung 134 an.
Hauptleitungs-Steuerlogikschal tung "1IA und diese . chaltung
schickt bestimmte signale, wie dies noch erläutert werden εοΐί,
zur Systemsteuerhauptleitung 134. Der Haupttaktgeber 102 erzeugt φΛ und ^2-Taktsignale, um den Mikroprozessor 100 zu treiben. Zusätzlich erzeugt der Haupttaktgeber 102 Taktimpulse A
und B von 62,5 Nanosekunden (siehe Figur 5) und legt diese
Signale an verschiedene Elemente des Prozessorsystems über die
Systemsteuerhauptleitung 134 an.
Im folgenden soll nun auf die genannte Patentanmeldung eingegangen
werden, um eine vollständige Beschreibung darüber zu erhalten, auf welche Weise ein SDC über den SDMA 120 wirken kann, um
eine Unterbrechungsanfrage zu erzeugen und zwar für den Zwek,
ü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, wel-: chee den Status des SDC, der eine Unterbrechungsanfrage formt, \ wiedergibt. Nachdem dieses Register geladen ist, sendet der ; SDC eine Unterbrechungsanfrage über die Systemsteuerhauptlei- ; tung 134 zur Hauptleitungssteuerlogik 114. Wenn die Unterbre- j chung gewährt wird, sendet die Hauptleitungssteuerlogik 114 ein j Hauptleitungserteilungssignal über die Systemsteuerhauptleitung
134 zu dem SCMA 120 zurück. Das Hauptleitungs-Erteilungssignal i veranlaßt den SDMA auf die Systemadressenhauptleitung 130 ein j
eine Unterbrechungsanfrage zu erzeugen und zwar für den Zwek,
ü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, wel-: chee den Status des SDC, der eine Unterbrechungsanfrage formt, \ wiedergibt. Nachdem dieses Register geladen ist, sendet der ; SDC eine Unterbrechungsanfrage über die Systemsteuerhauptlei- ; tung 134 zur Hauptleitungssteuerlogik 114. Wenn die Unterbre- j chung gewährt wird, sendet die Hauptleitungssteuerlogik 114 ein j Hauptleitungserteilungssignal über die Systemsteuerhauptleitung
134 zu dem SCMA 120 zurück. Das Hauptleitungs-Erteilungssignal i veranlaßt den SDMA auf die Systemadressenhauptleitung 130 ein j
Acht-Bit-Datenwort abzugeben, welches die Adresse des SDMA und j
die Zahl des SDC wiedergibt, der die Unterbrechungsanfrage ge- j
bildet hat. Zur gleichen Zeit wird der in dem Register in dem \
\ SDMA 120 gespeicherten Zustand auf die Systemdatenhauptleitung i
132 ausgelesen. Wie im folgenden erläutert werden soll, wird
dieser Zustand, der auf einem Acht-Bit-Datenwort bzw. Byte be- j
steht, in dem I/O-Statusregister 108 zur gleichen Zeit gespeichert, zu welcher das Adressen-Bjfce in dem I/O-Adressenregister
709831/0900
ΊΟ gespeichert wird.
Gemäß Figur ?. wird das von dem SDMA 120 der Figur 1 erzeugte
'Jnttrbrechungs-Anfragesignal als auch alle Unterbrechungsanfragesignale der Scneiben-Direktzugriffsspeicherreglern und irgend-» welchen anderen IiDMA's erzeugt werden, die an die Systemhauptleitung angeschlossen sind, über die Systerasteuersarnnjelleitung
13A einem Unterbrechungsanfrage-Prioritätskodierer 200 in der
Hauptleitung-Steuerlogikschaltung 114 zugeführt. Der Unterbre- . chungsanfrage-Prioritätskodierer 200 besitzt Acht-Dateneingänge D0-D7 und einen Freigabeeingang El. Die Dateneingänge D0-D5 ; empfangen die Unterbrechungsanfragesignale INT REQ 0 - INT REQ i), Bei dem erläuterten System gelangen lediglich sechs Scheiben- i Direktzugriffsspeicher-Regler und SDMA1s 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 Unterbrechungs- : anfragesignal mit der niedrigsten Priorität empfängt. Der Prio-J ritä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 Pe- ί gel den Eingang El in Bereitschaft setzt. Zu diesem Zeitpunkt I erzeugt der Prioritätenkodierer einen binären Ausgangskode mit j drei Bits, welcher dem Unterbrechungsanfragesignal mit der höch-j sten Priorität, welches empfangen wird, entspricht. Wenn bei- · spielsweise das Signal INT REQ 3 das Signal mit der höchsten j Priorität ist, welches den Prioritätenkodierer zu einem Zeit- | punkt, bei welchem er in Bereitschaft gesetzt wird, zugeführt ' wird, so erzeugt der Prioritätenkodierer Signale, welche den i binären Wert 011 an seinen drei Ausgängen wiedergeben, wobei ; das Nullbit am Ausgangsanschluß 2 erscheint.
'Jnttrbrechungs-Anfragesignal als auch alle Unterbrechungsanfragesignale der Scneiben-Direktzugriffsspeicherreglern und irgend-» welchen anderen IiDMA's erzeugt werden, die an die Systemhauptleitung angeschlossen sind, über die Systerasteuersarnnjelleitung
13A einem Unterbrechungsanfrage-Prioritätskodierer 200 in der
Hauptleitung-Steuerlogikschaltung 114 zugeführt. Der Unterbre- . chungsanfrage-Prioritätskodierer 200 besitzt Acht-Dateneingänge D0-D7 und einen Freigabeeingang El. Die Dateneingänge D0-D5 ; empfangen die Unterbrechungsanfragesignale INT REQ 0 - INT REQ i), Bei dem erläuterten System gelangen lediglich sechs Scheiben- i Direktzugriffsspeicher-Regler und SDMA1s 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 Unterbrechungs- : anfragesignal mit der niedrigsten Priorität empfängt. Der Prio-J ritä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 Pe- ί gel den Eingang El in Bereitschaft setzt. Zu diesem Zeitpunkt I erzeugt der Prioritätenkodierer einen binären Ausgangskode mit j drei Bits, welcher dem Unterbrechungsanfragesignal mit der höch-j sten Priorität, welches empfangen wird, entspricht. Wenn bei- · spielsweise das Signal INT REQ 3 das Signal mit der höchsten j Priorität ist, welches den Prioritätenkodierer zu einem Zeit- | punkt, bei welchem er in Bereitschaft gesetzt wird, zugeführt ' wird, so erzeugt der Prioritätenkodierer Signale, welche den i binären Wert 011 an seinen drei Ausgängen wiedergeben, wobei ; das Nullbit am Ausgangsanschluß 2 erscheint.
709831/0900
Die droi binären Bit^; aus dem Prioritate*iko(. ier"t .?"'>'"· reian^eιί
zu den eingängen A3, Λ2 und A1 eines QUAD MlJX-Chip l'.Q?. Die
Eingänge H3, B2 und B1 des QUAD FiUX-Chipt ;·0Γ. sind an die Ausgänge
eines Prioritätskodierers angeschlossen, der nicht gezeigt
ist und der die Hauptleitungsanfragesignale von den
CDMA1 s und den Scheiben-Direktzugriffsspeicherreglern empfängt.
Der Steuereingang des QUAD MUX-Chips 202 ist dauerhaft in Bereitschaft gesetzt und während einer Unterbrechungsfolge liegt
das dem Eingang SEL 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-Chips202 erfolgt eine Signalumkehrung,
so daß damit der Prioritätskodierer 200 den binären Wert 011
erzeugt, und dann die Ausgangsgröße des QUAD MUX-Chip 202 gleich 100 beträgt.
Die Ausgangssignale des QUAD MUX-Chips 202 gelangen zu den Eingängen D3, D2 und D1 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 D3, D2 und D1 der Quad-Sperre 206 erscheinenden Signale werden tormäßig ge- ;
steuert nur in die Sperren eingeleitet, wenn das Signal am Takt-j
eingang der Sperre auf einen hohen Pegel überwechselt. Das TaktH eingangssignal wird von einem NOR-Glied 208 abgeleitet,welches i
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 j
Eingängen D3, D1 zum Zeitpunkt des Auftretens des letzten Takt- \ impulses zugeführt wurden.
i Die Signalumkehrung wird in der Quad-Speire 206 durchgeführt, so J
709831/0900
2JT
daß darin, wenn der biniire i'/err Ό'· /:.i .len .'Jperrrn gelangt, die-
«,se den binären Ausgangswert Oil ?rzeugen. Dir« Ausgai gssignale
der Quad-lperre 206 gelangen zu einem Oktal-Dekodierer <?10„ Der
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 ßigaL mit niedrigem Pegel an einem von verschiedenen
Ausgängen, was von den binären Wert abhängig ist, der den ;
Eingängen D2, D1 und DO zugeführt wird. Bei dem angenommenen ; Beispiel, bei welchem der binäre Singangswert gleich 011 ist,
erzeugt der Dekodierer 210 das Ausgangssignal BUS GRANT 3 mit niedrigem Ausgangspegel. Dieses Signal wird über die Systemsteuerhauptleitung
zum SDMA oder zum Scheiben-Direktzugriffsspeicher-Regler
zurückgesendet, der dasSignal INT REQ 3 erzeugt hat, und informiert den SDMA odt,: den Scheiben-Direktzugriffsspeicher-Regler,
daß seine Unterbrechungsanfrage bewertet wurde und er kann nunmehr auf die Systemadressenhauptleitung und ■
die Systemdatenhauptleitung ein Adressenbyte und ein Statusbyte
jeweils geben. Der Oktal-Dekodierer 210 besitzt keine Speicherkapazität, sondern dekodiert 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 T-Zyklus von φ2Ά bis jrf2B gesetzt und es wird dadurch j
das Hauptleitungserteilungssignal vom Ende von jf2B zum Anfang j
des nächsten ^2B oder ca. 440 Nanosekunden erzeugt. ;
V/enn der Unterbrechungsanfrage-Prioritätskodierer 200 irgend- ;
eine 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 besteht, die Priorität zwischen Unterbrechungsanfragei zu bestimmen,
die von den Drrektzugriffs-Speicherreglern und anderen Ty- .
pen von Unterbrechungsanfragen empfangen werden. Der Priorit8ts-|
709831/0900
afc
kodier r c"\U i<-t. .jnrernl du r c hi ... , - . or ο ir.Juii:-; ^Λ^ηβί xAuy;,\x\r>-~
El mit. Ma."-.'-e in Ber^rtschnft ff.. t:;t.. Der :·. ingar·.*; Ο'· ae." Κ'··1ί..-rers
? Mi empfängt ein Signal TMVLTTTaI ϊ'Π·Έί, IiCY, welcher au! (·;-net;
niedrigen P'.gel abfällt, wer.r. fin lntei'v;-,llzei tgebei (nicht.
gezeigt) bestimmt, daß eine Operation innerhalb einer zugeteilten Zeit nicht vervollständigt wurdf·. Der Eingang D2 des Kodierers
214 empfängt das Ausgange; ign-il von Koriierer 200 über die
Leitung 212, während der Eingang DI des Signal SYSTEM CHECK INT
empfängt. Diese:: letztere Signal wird erzeugt, wenn ein Speicheradressierfehler
oder ein 5peicherparitätsfehier auftritt. Der Eingang DO des Kodierers 214 empfängt ein Signal RESET INT REQ,
welches durch die Schaltungsanordnung (nicht gezeigt) erzeugt wird, wenn eine betreffende Person die Rückstelltaste am Steuerpult
niederdrückt.
Der Kodierer 214 besitzt drei Ausgangsleitungen, die mit den Eingängen D3, D2 und D1 einer Quad-Sperre 216 verbunden sind.
Immer dann, wenn der Kodierer 214 ein Signal mit niedrigem Pegel an einem seiner D-Eingänge empfängt, erzeugt er auf diesen
Ausgangsleitungen Drei-Bit-Binär-werte, um den ühterbrechungstyp
anzuzeigen, welchem eine Priorität gewährt bzw. erteilt wurde.
Zu dem Zeitpunkt, zu welchem der Prioritatskodierer 214 zuerst
einen Binärkode an seinen Ausgängen erzeugt, liegt das Signal ;
INTA auf dem niedrigen Spannungswert und setzt über einen In- ;
verter 217 ein UND-Glied 218 in Bereitschaft. Bei dem nächsten j
^2B-Signal erzeugt das UND-Glied 218 ein Signal mit hohem Span- !
nungswert, um die binäre Ausgangsgröße des Prioritatskodierers
214 in die Quad-Sperre 216 taktmäßig einzulesen. ;
Der binäre Wert, der in die Quad-Sperre oder Verriegelungs- | schaltung 216 eingespeist ist, gelangt zu drei Eingängen eines j
709831/0900
Drei-ZustandstreibtM chips 220 und zu den Eingängen D2, UI und
IX) eines Oktal-Dekoriierers 222, Die Drei-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ß BO, !
der normalerweise nuf einem niedrigen Spannungspegel liegt und
immer dann auf einen hohen Spannungspegel steigt, wenn der Ko-
i dierer ein Signal mit niedrigem Pegel an irgendeinem der Ein- .
gänge 0 empfängt. Das Ausgangssignal vom Anschluß EO besteht (
aus dem Signal INTERRUPT, welches über eine Leitung 224 und die i 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 Ml des Instruktionszyklusses, der dem j Auftreten des INTERRUPT-Signal auf der Leitung 224 folgt. Wenn j
die Unterbrechung beachtet wurde, so überträgt der Mikroprozes-J
sor 100 ein INTERRUPT ACKNOWLEDGE-iStatuswort auf die CPU-Daten- j
hauptleitung 44. Der Mikroprozessor 100 erzeugt auf der Leitung ί 225 das Signal SYNC, welches mit einem ^3A-Taktiapuls und dem j
Signal HOLD A gemäß einer UND-Funktion behandelt wird. Dieses
letztere Signal ist während der Zeit Ml der Unterbrechungsoppration auf einem hohen Pegel, so daß bei jf3A während SYNC die !
Drei-Zustandstreiberstufen 146 in Bereitschaft gesetzt werden j
und das Statuswort über die Systemdatensammelleitung 132 zu I
den CPU-Statussperren oder Verriegelungsschaltungen 104 über- ί
tragen wird. ■
Bei ^4A des Ml-Tl-Zyklusses wird ein Taktimpuls mit dem SYNC-Signal UND-mäßig verknüpft und schafft die Möglichkeit, daß die
CPU-Statussperren 104 das Statnswort von der Systemdatensamnel- ]
leitung 132 annehmen. Obwohl die CPU-Statussperren 104 zur glei-j
chen Zeit in Bereitschaft gesetzt sind, während welcher die I
709831/0900
ί Λ'
Drei-Zustandstreiberstufen 146 außer Bereitschaft sind, ist die
Ausbreitungszeit entsprechend der Ausbreitung entlang aer oystem
datenhauptieitung ausreichend, dau das ütatuswort in die CPU- ;
Statussperren bzw. Verriegelungsschaltungen eingelesen wurden :kann.
'Aus Tabexle I läßt sich erkennen, daß das INTERRUPT ACKNOWLEDGE-1
ι Statuswortbits enthält, welche die Signale INTA und Ml erzeugen. Gemäß Figur 2 wird das Signal INTA über den Inverter 217 !
i 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 2J6 in Bereitschaft zu setzen. Das NAND-Glied 236
i empfängt ferner das Signal DBIN, welches auf der Ausgangslei- ;
I tung 238 des Mikroprozessors erzeugt wird, wodurch das Ausgangs-! signal mit niedrigem Pegel des NAND-Gliedes 236 die Drei-Zu- j
l standstreiberstufen 220 in Bereitschaft setzt als auch ebenso j
die weiteren Drei-Zustandstreiberstufen 219 und 221. Die Aus- !
! i
gänge der Drei-Zust aidstreiberstufen 219-221 sind mit der CPU- i
Datenhauptleitung 44 verbunden. Die Eingänge der Drei-Zustands- I ' treiberstufen 219 und 221 sind mit Masse verbunden, so daß da- I
ί '■ durch diese Treiber stuf en die Signale mit hohem Pegel CPUDB O, j
1 CPUDB 1, CPUDB 6 und CPUDB 7 immer dann erzeugen, wenn die Trei-)
; berstufen in Bereitschaft gesetzt sind. Der Eingang einer der j
i Treiberstufen 220 ist mit +V verbunden und erzeugt somit das j Signal mit hohem Spannungswert CPUDB 2 jedesmal dann, wenn die ;
Treiberstufen 220 in Bereitschaft gesetzt werden. Der Pegel der j Signale CPUDB 3-CPUDB 5 zu dem Zeitpunkt, bei welchen die Trei- I
' berstufen 220 in Bereitschaft gesetzt werden, wird durch den bi-j
709831/0900
nären Wert bestimmt, der an den Ausgängen der QUAD-Sperre 216
vorhanden ist. Nimmt man somit an, daß eine Unterbrechungsanfrage von einer peripheren Vorrichtung durch den Prioritätskodierer 200 hindurchgeschickt wurde und das Signal auf der Leitung 212 eine Anfrage höchster Priorität beim Prioritätskodierer 21 ^ darstellt, so speichern die QUAD-Sperren bzw. Verrie- ; gelungsschaltungen 216 den Wert 010. In diesem Fall erzeugen : die Drei-Zustandstreiberstufen 219-221 auf der CPU-Datensammel-' leitung 44 den Wert 1101 0111, der D7 in hexadezimaler Schreib- i weise entspricht. Dieser Wert wird als ein Wiederstartvektor j definiert und er entspricht, wie in Tabelle I gezeigt ist, hin- j sichtlich des Wertes einer der Wiederstartinstruktionen, die von! dem Mikroprozessor 100 ausgeführt werden können. Da dieser wäh- j rend des Maschinenzyklusses Ml auf der CPU-Datenhauptleitung ! erscheint, wird er als ein Operationskode behndelt und wird tor-) mäßig in das Mikroprozessor-Instruktionsregister 18 in der glei-; chen Weise eingelesen, wie das Instruktionsregister normaler- j weise während Ml mit einer neuen Instruktion beladen wird. j
vorhanden ist. Nimmt man somit an, daß eine Unterbrechungsanfrage von einer peripheren Vorrichtung durch den Prioritätskodierer 200 hindurchgeschickt wurde und das Signal auf der Leitung 212 eine Anfrage höchster Priorität beim Prioritätskodierer 21 ^ darstellt, so speichern die QUAD-Sperren bzw. Verrie- ; gelungsschaltungen 216 den Wert 010. In diesem Fall erzeugen : die Drei-Zustandstreiberstufen 219-221 auf der CPU-Datensammel-' leitung 44 den Wert 1101 0111, der D7 in hexadezimaler Schreib- i weise entspricht. Dieser Wert wird als ein Wiederstartvektor j definiert und er entspricht, wie in Tabelle I gezeigt ist, hin- j sichtlich des Wertes einer der Wiederstartinstruktionen, die von! dem Mikroprozessor 100 ausgeführt werden können. Da dieser wäh- j rend des Maschinenzyklusses Ml auf der CPU-Datenhauptleitung ! erscheint, wird er als ein Operationskode behndelt und wird tor-) mäßig in das Mikroprozessor-Instruktionsregister 18 in der glei-; chen Weise eingelesen, wie das Instruktionsregister normaler- j weise während Ml mit einer neuen Instruktion beladen wird. j
Die Ausgangsgröße dee Inverters 217 gelangt zum Steuereingang
des Oktaldekodierers 222, so daß dann, wenn das Signal INTA >
des Oktaldekodierers 222, so daß dann, wenn das Signal INTA >
ι auftritt, die binäre Ausgangsgröße der Quad-Sperren 216 deko- j
diert wird, um ein Ausgangssignal mit niedrigem Pegel auf ir- j gendeiner von acht Ausgangsleitungen zu erzeugen. Nimmt man 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 gelangt durch einen Inverter 244 und zu einem Eingang
Ausgangssignal mit niedrigem Pegel auf einer Leitung 242. Das
Signal gelangt durch einen Inverter 244 und zu einem Eingang
' eines NAND-Gliedes 246 und zu den Rückstelleingängen 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 befinden sich in dem
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 befinden sich in dem
! RUckstellzustand. Die Rückstell- oder reset-Ausgangsgröße des J
709831/0900
TP
'lip-Flops 250 setzt einen zweiton Eingang des WAi-ID-GliecJer.; 2
in Bereitschaft und eier dritte Eingang empiän^t dp.s Taktsignal
&2B. Daher erzeugt bei 02B von M1-T2 das NAND-Glied 2^6 ein Ausgangssignal mit niedrigem Pegel, welches durch ua: NOh-GIied
208 invertiert wird und zu dem Signal mit hohem Pegel wird,
welches die Ausgangsgröße des QUAD-MUX-Chips 202 in die Quad- :
in Bereitschaft und eier dritte Eingang empiän^t dp.s Taktsignal
&2B. Daher erzeugt bei 02B von M1-T2 das NAND-Glied 2^6 ein Ausgangssignal mit niedrigem Pegel, welches durch ua: NOh-GIied
208 invertiert wird und zu dem Signal mit hohem Pegel wird,
welches die Ausgangsgröße des QUAD-MUX-Chips 202 in die Quad- :
Sperre 206 taktmäßig einliest. Am Ende von ^2B wird das NAND- I
Glied 246 erneut blockiert und der Ausgang des iOR-Gliedes 208
fällt auf den niedrigen Pegel ab, wodurch der Oktal-Dekodierer
210 in Bereitschaft gesetzt wird und das BUS GRANT-Signal erzeugt.
fällt auf den niedrigen Pegel ab, wodurch der Oktal-Dekodierer
210 in Bereitschaft gesetzt wird und das BUS GRANT-Signal erzeugt.
Der Ausgang des NAND-Gliedes 246 ist mit den 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ährend der set-Ausgang des Flip-Flops 2hQ mit dem
Eingang D des Flip-Flops 250 verbunden ist. Wenn daher der Aus- ' gang des Flip-Flops 248 mit dem Eingang D des Flip-Flops 250 ; verbunden ist. Wenn daher der Ausgang des NAND-Gliedes 246 auf ; den hohen Pegel steigt, wird der Flip-Flop 248 gesetzt, wodurch ; das Signal IXFR TIME auf den niedrigen Pegel fällt. Zur gleichen Zeit steigt der set-Ausgang des Flip-Flops 248 auf den hohen Pe-i gel und das Signal auf der Leitung 252 setzt den Prioritäten- ; kodierer 200 außer Bereitschaft, so daß dieser keine weiteren j Unterbrechungs-Anfragen mehr annehmen kann. Die 2, 1 und 0-Aus- j gänge des Prioritätskodierers 200 steigen auf den hohen Pegel
und bewirken, daß Signale mit niedrigem Pegel allen Eingängen ! der Quad-Sperren 206 zugeführt werden. Der Ausgang GS des
Prioritätskodierers 200 springt ebenfalls auf einen hohen Pegel und nimmt man an, daß keine anderen Unterbrechungs-Anfragen zu dem Prioritätskodierer 214 gelangen, so springen dessen
Ausgänge 2, 1 und 0 alle auf einen hohen Pegel, während der
Ausgang EO auf einen niedrigen Pegel abfällt und dadurch das
Flip-Flops 248 ist rückwärts mit dem D-Eingang des Flip-Flops ; verbunden, während der set-Ausgang des Flip-Flops 2hQ mit dem
Eingang D des Flip-Flops 250 verbunden ist. Wenn daher der Aus- ' gang des Flip-Flops 248 mit dem Eingang D des Flip-Flops 250 ; verbunden ist. Wenn daher der Ausgang des NAND-Gliedes 246 auf ; den hohen Pegel steigt, wird der Flip-Flop 248 gesetzt, wodurch ; das Signal IXFR TIME auf den niedrigen Pegel fällt. Zur gleichen Zeit steigt der set-Ausgang des Flip-Flops 248 auf den hohen Pe-i gel und das Signal auf der Leitung 252 setzt den Prioritäten- ; kodierer 200 außer Bereitschaft, so daß dieser keine weiteren j Unterbrechungs-Anfragen mehr annehmen kann. Die 2, 1 und 0-Aus- j gänge des Prioritätskodierers 200 steigen auf den hohen Pegel
und bewirken, daß Signale mit niedrigem Pegel allen Eingängen ! der Quad-Sperren 206 zugeführt werden. Der Ausgang GS des
Prioritätskodierers 200 springt ebenfalls auf einen hohen Pegel und nimmt man an, daß keine anderen Unterbrechungs-Anfragen zu dem Prioritätskodierer 214 gelangen, so springen dessen
Ausgänge 2, 1 und 0 alle auf einen hohen Pegel, während der
Ausgang EO auf einen niedrigen Pegel abfällt und dadurch das
709831/0900
INTLRRUPT-^ignal zum Kikroproze-cbor beendet wi\1. Die '
ren 206 können die Signale vriit niedrigem Pegel, die ihren Ein- .
gangen zugeführt werden, nicht annehmen und weiter können auch die Quad-Sperren 216 die Signale mit hohem Pegel nicht annehmen,
welche ihren Eingängen zu diesem Zeitpunkt zugeführt werden. Der; Oktsl-Dekodierer 2Ό fährt damit fort, dan üignal BUS GRANT 3 ;
: zu erzeugen und der Oktal-Dekodierer 222 fährt damit fort, das Signal mit niedrigem Pegel auf der Leitung 242 zu erzeugen. <
Bei tf2B von M1-T3 fällt 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 niedri
gem Pegel von dem Quad-MUX-Chip 202 taktmäßig in die Quad-Sper
ren 206. Dadurch werden die Signale mit hohem Pegel allen Eingängen des Oktal-Dekodierers 210 zugeführt. Zur gleichen Zeit
gelangt ein ^2B-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 Einstel- j
! lung der Quad-Sperren 216 verhindert. Der Ausgang mit niedrigem J
Pegel des Inverters 232 setzt den Oktal-Dekodierer 222 in Be- j reitschaft, so daß dieser fortfahren kann, das Signal mit nied- L^
rigem Pegel auf der Leitung 242 zu erzeugen. ι
Am Ende von 0*2B 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 ιλίίΗ 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. Wenr der Flip-Flop 250 gesetzt ist, so blockiert sein Ausgangssignal
das NAND.Glied 246, so daß weitere ^2B-Taktimpulse durch das
709831/0900
ORIGINAL INSPECTED
WAND-'ϊα ied nicht hindurchgelanger k our. en.
Beide Flip-Flops ?ΛΒ und 250 werden Ln den Flicks teil- bzv.. reset-Zustand
zurückgeführt, wenndas Signal HiTA auihöi-u, den
Oktal-Dekodierer 222 zu blockieren. Dies erfolgt zu einem frühen
Zeitpunkt beim nächsten Maschinenryklus bei M2-TI, wenn ein
anderes Statuswort in die CPU-otatussperren bzw. Verriegeiunr;sschaltungen
104 eingeladen wird.
Das Signal D3IN endet zu Beginn von (ϊί3Α des Ml-T3-Zyklusses,
wodurch die Drei-Zustandstreiberstufen 219-22' blockiert werden.
Während des Intervalls, während welchem das Signal IXFR TIME sich auf niedrigem Pegel befindet, blockiert es die Drei-Zustandstreiberstufen
136 und der Mikroprozessor 100 wird daran gehindert, eine Adresse auf die Systemadressenhauptleitung 1 JO
zu geben. Zur gleichen Zeit setzt das Signal IXFR ΤΪΜΕ die Da-
■teneingänge des I/0-Adressenregisters und des I/O-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äß Figur 3 enthält das I/O-Adressenregister zwei Quad-
ISperr-Chips 300 und 302, während das 1/0-Statusregister zwei
Quad-Sperr-Chips 304 und 306 umfaßt. Jedes Quad-Sperrglied bzw.
Verriegelungsschaltung besitzt vier Dateneingänge, die mit D3-DO
bezeichnet sind, einen Takteingang CLK und zwei Steuereingänge ID1 und ID2, die beide auf dem niedrigen Pegel liegen müs-
sen, um in die Verriegelungsschaltungen oder Sperren taktmäßig ;einzulesen. Zusätzlich besitzt jede Quad-Verriegelungsschaltung
einen Rückstell- oder Entleerungseingang CLR und zwei Eingänge 0D1 und 0D2, die beide auf niedrigem Spannungspegel liegen müssen,
um aus den Verriegelungsschaltungen Daten auszulesen. Die
709831/0900
ORIGINAL
, Ausgänge der Sperren sind mit yi) bezeichnet. Die Ausgänge von r.i
wohl dem I/O-Adressenregister als auch dem I/O-otatusregirter
sind mit der Systemdatenhauptleitung 132 verbunden. Die Dateneingänge
des I/O-Adressenregisters sind mit der 8ystemadressenhauptleitung
130 verbunden, während die Dateneingänge des 1/0-Statusregisters
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 Andresse auf die Systemadressenhauptleitung
130 und ein Acht-Bit-Statuswort auf die Systemdatenhauptleitung 132 und zwar während des gesamten Intervalls, während
welchem das BUS GRANT -Signal von dem Oktal-Dekodierer 210 erzeugt
wird. Während dieses Intervalls fällt das Signal IXFR TIME auf den nMrigen Pegel ab und bei ^1A wird das Adressenwort
bzw. Byte und das Statusbyte taktmäßig in das I/O-Adres
senregister und das I/O-Statusregister eingelesen.
Sowohl das I/O-Adressenregister als auch das I/O-Statusregister
sind adressierbar und es sind diesen jeweils die Hexadezimaladressen E1 und EO zugeordnet. Die Bits Ϊ7, TE und T5 auf der
: Systemadressenhauptleitung 130 werden durch drei Inverterstufen
308, 310 und 312 geschickt, um drei Eingänge eines NAND- : Gliedes 314 in Bereitschaft^ setzen, wenn alte drei Bits auf
dem niedrigen Spannungspegel liegen und binäre Einsen wiedergeben. Die Bits TU und T3 gelangen auch zu den weiteren Eingängen
des NAND-Gliedes 314, so daß dadurch das NAND-Glied nur dann in Bereitschaft gesetzt wird, wenn seine Eingänge X5und A:
beide Null sind. Die Ausgangsgröße des NAND-Gliedes 314 setzt den Steuereingang eines Oktal-Dekodierers 316 in Bereitschaft.
Der Dekodierer 316 besitzt drei Dateneingänge, welche die Sign«
le 7l5, AT und Α"δ" von der Systemadressenhauptleitung 13Ο empfan-
709831/0900
gen. Der Dekodier er besitzt acht Aufgänge, von denen lediglich
drei verwendet werden. Wenn auf der .,ystomadresseni.auptlei.tung
die Adresse EO erscheint, so empfangen alle Eingänge des Dekodierers 41 ο Signale mit hohem Pegel und es erscheint ein Signal
mit niedrigem Pegel auf der Leitung 142. Diese Leitung ist mit den Spesen bzw. Verriegelungsschaltungen 304 und 306 verbunden ;
und setzt das Auslesen aus dem I/0-Statusregister in Bereitschait.
Wenn die Adresse E1 auf der Systemadressenhauptleitung , erscheint, so liegen die Eingänge D2 und DI des Dekodierers !
316 auf einem hohen Pegel, während der Eingang DO auf einem
niedrigen Pegel liegt. In diesem Fall erzeugt der Bekodierer auf der Leitung 140 ein Signal mit niedrigem Pegel, um das Auslesen
aus dem I/0-Adressenregister in Bereitschaft zu setzen.
Der Zeitpunkt, zu welchem die Adrt.öse und der Zustand der unter-!
brechenden Vorrichtung aus dem I/0-Adressenregister und dem
I/0-Statusregister ausgelesen werden, wird durch den Programmierer bestimmt. Nachdem einmal der Wiederstartvektor erzeugt wurde
und zum Instruktionsregister 18 in den Mikroprozessor 100 j Übertragen wurde, werden zwei aufeinanderfolgende Stapel-Schreibtoperationen während der Maschinenzyklen M2 und M3 ausgeführt.
Während dieser Zyklen werden die Inhalte der oberen und der un- \ teren Hälfte des Programmzählers 36 in den Stapel oder die Bank ;
im Speicher 106 bei der Adresse eingelesen, die durch den Sta- ΐ
pelzeigerzähler 34 angegeben wird. Der Wiederstartvektor gelangt
auch in das zeitweilige Register 16 und zwar zur gleichen Zeit, j zu welcher dieser Vektor in das Instruktionsregister 18 einge- :
laden wird. Am Ende des Instruktionszyklusses werden die W- und J Z-Register zurückgestellt, es wird der Wiederstartvektor in das
Z-Register eingeladen und die Inhalte der W- und Z-Register wer-*
den zur Adressensperre bzw. Verriegelungsschaltung 38 übertra- ' gen, ebenso über die Adressenhauptleitung 40 zum Adressenspei- j
eher 106. Während der Übertragung des Wiederstartvektors wer-
709831/0900
den jedocii die zwei Bits hoher Ordnung und die drei Bits niedriger Ordnung blockiert, so daß iie Adressensperre 38 den Wert
OOXXXOOO empfängt, wobei die X's den Bits 3, h und 5 des Wiederstartvektors entsprechen. Da der Wiederstartvektor, der von einer Unterbrechungsanfrage einer externen Vorrichtung erzeugt
wurde, den hexadezimalen Wert D7 besitzt, führt dies dazu, daß j der hexadezimale Wert 10 in den Programmzähler eingelesen wird, i
Beim nächsten Instruktionszyklus,der auf den einen folgt, bei j welchem die Unterbrechungsanfrage verarbeitet" wird, und bei I
4U des Zyklusses MI-TI, wird die an der Speicherstelle 10 ge- ι
speicherte Instruktion aus dem Speicher 1Of ausgelesen und ge-
langt über den Sperr-Empfänger 148 und die Drei-Zustandstreiber-j
stufen 125, von wo sie in das Instruktionsregister 18 für die j
Durchführung eingelesen wird. Dies stellt die erste Instruktion ' einer Folge von bis zu acht Byte j dar, die in aufeinanderfol- ι
genden Speicherstellen gespeichert werden und zur Analyse die- j nen, welche Vorrichtung die Unterbrechung verursacht hat, zur
Analyse des Status oder Zustands der unterbrechenden Vorrlch- j
tung und was als Antwort auf die Unterbrechung ausgeführt wer- j
den 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 eingelesen.
Die Ausführung der Instruktion an der Speicherstelle 10 stellt
den frühesten Zeitpunkt dar, bei welchem das I/0-Adressenregister 110 oder das I/0-Statusregister 108 ausgelesen werden
können. Jedoch kann das Auslesen in der Unterbrechungsanalyse- ; folge später auftreten als durch den Programmiere'bestimmt. Zur;
Veranschaulichung sei angenommen, daß die Instruktion an der
Speicherstelle 10 aus einer INPUT-Instruktion besteht, gemäß
709831/0900
welcher eine übertragung vom I/O-Adressenregister zum Akkumulator gefordert wird. Wenn die Instruktion aus dem Speicher 106
ausgelesen wird, gelangt sie durch den Sperr-Empfanger 148 und
durch die Drei-Zustandstreiberstufen 152 zum Mikroprozessor 100.
Der Mikroprozessor dekodiert die Instruktion und schickt die Adresse auf die Adressenhauptleitung AO. Die Adresse des 1/0-Adressenregisters gelangt über die Drei-Zustandstreiberstufen
136 und über die Systemadressenhauptleitung 130 zu den Registerauswählschaltungen 138. In Figur 3 wird die Adresse (E1) durch
den Oktal-Dekodlerer 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 INPUT READ-Statuswort in die CPU-Statussperren 104 eingeladen wird. GemäB Tabelle II
bewirkt das INPUT READ-Statuswort das Erzeugen des Signals INP.
Des Signal INP gelangt zu einem Eingang eines NAND-Gliedes 320
und nach Auftreten des Signals DBIN erzeugt das NAND-Glied ein Ausgangssignal mit niedrigem Pegel, welches zu den Steuereingängen 0D1 des l/0-Adressenregisters gelangt. Wenn dieses Signal
auftritt, schickt es die Inhalte des I/0-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 EO 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 0D2 des Statusregisters in Bereitschaft zu setzen, so
daß nach Auftreten der Signale INP und DBIN die Ausgangsgröße
709831/0900
des NAND-Gliedes ?20 die Inhalte des Statusregisters auf die
Systemdatenhauptleitung tormäßig gesteuert schickt, von wo die- ; se durch die Sperr-Empfanger 148 und die Drei-Zustandstreiber-1
stufen 152 und über die CPU-Datenhauptleitung 44 zum Akkumula-
! tor 10 gelangen.
\ Aus der vorangegangenen Beschreibung ergibt sich , daß irgend-I
eine periphere Vorrichtung, die ein Unterbrechungsanfragesignal erzeugt, welches dem Prioritätskodierer 200 zugeführt wird, be-I
wirkt, daß der gleiche Wert(D7) als Wiederstartvektor erzeugt !wird. Obwohl der Gegenstand der Erfindung anhand von Unterbre-'
chungs-Anfragen von peripheren Vorrichtungen 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 INT REQ-Lignal zu erzeugen, wenn die
betreffende Person eine Rückstelltaste an einem Steuerpult nie- : derdrückt. Das Signal RESET INT REQ wirkt über den Priori ta" ts-
; kodierer 214 unädie Quad-Sperre 216, um den Wiederstartvektor
! C7 zu erzeugen. Zusätzlich erzeugt der Oktal-Dekodierer 222 das
Signal RESET INT ACK, welches zurück zu den Schaltungen gesendet werden kann, welche die Anfrage hervorgerufen haben.
1DaS System des Statusregisters 112 dient dazu, den Zustand zu
!speichern, der aus bestimmten Fehlerbedingungen resultiert. Wenn beispielsweise ein Fehler beim Adressleren des Speichers
106 auftritt, oder wenn ein Paritätsfehler in dem aus dem Speicher ausgelesenen Wort auftritt, wird zu der Fehlerlogik 116
lein Signal geschickt, um in dem Systemstatusregister 112 eine
;Anzeige des Fehlers zu speichern. Als nächstes erzeugt die Feh- :lerlogik 116 das Signal SYSTEM CHECK INT, welches zum Prioritäts-Kodierer
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 ge-
709831 /0900
langt zur Fehlerlogik ii6, um zu bestätigen, <.!oß die ungefragte
ι Unterbrechung gewährt wurde. Der '.Vi ederstartvrktor CF bewirkt,
daß der Mikroprozessor 100 die Inhalte des Programmzähleri- 3b
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. ;
i Das Systemstatusregister 112 ist in der gleichen Weise wie das i
I I/O-Adressenregister und das I/0-Statusregister adressierbar. j
1 Gemäß Figur 3 setzt die Adresse E2 den Oktal-Dekodierer 316 in
j Bereitschaft, um am Anschluß 5 ein Signal zu erzeugen. Diesen ! Signal gelangt zum NAND-Glied 322, welches weiterhin durch die
1 Ausgangsgröße des NAND-Gliedes 320 in Bereitschaft gesetzt wird
iund zwar während des Signals DEIN, wenn die CPU-Statussperren
[ 10A ein INPUT READ-Statuswort enthalten. Die Ausgangsgröße des
ι NAND-Gliedes 322 wird bei 324 invertiert, um das Signal ,
j SYS STAT ADR zu erzeugen. Gemäß Figur 1 gelangt dieses Signal , ; zum Systemstatusregister 112, um die Inhalte dieses Registers
j I
I zum Akkumulator 10 in dem Mikroprozessor auszulesen. Das System-:
! statusbyte gelangt über die Hauptleitung 132, über die Sperrj
Empfänger 148 und die Drei-Zustandstreiberstufen 152 und über :
die Datenhauptleitung 44 in den Mikroprozessor. '
Zusammenfassend bestimmt also eine Schaltungsanordnung, die ! extern von einem Mikroprozessor angeordnet ist, die Priorität
zwischen unterschiedlichen peripheren Vorrichtungen, die nach
. Unterbrechungen anfragen, um einen Wiederstartvektor und ein ! Signal, welches einer der nach Unterbrechung anfragenden Vor-
j richtungen gewährt, zu erzeugen. Die periphere Vorrichtung lSdt ihren Zustand und ihre Adresse in zwei adressierbare Register,
die an eine gemeinsame Systemhauptleitung angeschlos-
; sen sind. Der Wiederstartvektor gelangt in das Instruktionsregister
des Mikroprozessors. Der Mikroprozessor behandelt den
709831/0900
Wiederstartvektor als eine Instruktion, um die Inhalte des Programmzählers im Speicher zu speichern und lädt bestimmte Bits
des Wiederstartvektors in den Programmzähler. Diese Bits stellen die Startadresse eines Unterprogramms von acht Instruktionen
I für die Analysierung der Unterbrechung dar. Eine Unterbrechung j wird erkannt und der Zustand und die Identifikation der unter-
!brechenden Vorrichtung wird in einem einzigen Instruktionszyklus ■ gespeichert. Bei dem nächsten Instruktionszyklus kann die erste
iInstruktion des Unterbrechungs-Analysierprogramms beginnen. Wäh-' rend dieses Analysierprogianis können die Inhalte der zwei adres-I sierbaren Register ausgelesen werden, um zu bestlmm-en, welche
'Vorrichtung die Unterbrechung bewirkt hat und welcher Schritt 1 im Hinblick auf den Zustand der unterbrechenden Vorrichtung un-
: ternoamen werden soll. Es sind Maßnahmen getroffen, die Unterbrechungen zu verarbeiten, die nicht von anfragenden peripheren
: Vorrichtungen stammen und Jeder Unterbrechungstyp erzeugt einen
\ unterschiedlichen Wiederstartvektor, so daß eine unterschiedli-I ehe Adresse als erste Instruktionsadresse des Unterbrechungs-
: analysierprogramms ausgewählt wird.
1 Obwohl ein bevorzugtes AusfUhrungsbelspiel nach der Erfindung
1 in Einzelheiten erläutert wurde, sei darauf hingewiesen, daß
! eine Reihe von Abwandlungen und Substitutionen vorgenommen wer-I den können, ohne dadurch den Rahmen der vorliegenden Erfindung
I zu verlassen.
i Sämtliche in der Beschreibung erkennbaren und in den Zeichnungen
j dargestellten technischen Einzelheiten sind für die Erfindung ! von Bedeutung.
709831 /0900
to
Leerseite
Claims (1)
- BROSEDKa BROSEKarl A DO^aOCU D Karl ΠΠΛΡΓ DiplomIngenieureD «023 Munchen-Pullach. Wiener Sir 2, Tel (089) 7 93 30 7t. Telex C212K7 bus d Cables r>a!en,.bus· Münchehen,hrZe.chen: « ™? Tag ^' JaiUiar 1977Yourref *Λ-£Αίί DaleSPERRY RAND CORPORATION, eine Gesellschaft nach den Gesetzen des Staates Delaware, USA, 1290 Avenue of the Americas, New York. New York 10019, USAPATENTANSPRÜCHE1. Datenprozessorsystem, gekennzeichnet durch folgende Einrichtungen und Merkmale:einen zentralen Prozessor, eine Speichereinrichtung, eine gemeinsame Systemhauptleitung, die an den zentralen Prozessor und die Speichereinrichtung angeschlossen 1st, eine periphere Vorrichtung, eine an die gemeinsame Systemhauptleitung angeschlossene Steuereinrichtung zum Steuern der peripheren Vorrichtung, in der Steuereinrichtung vorgesehene Mittel, die auf ein Unterbrechungssignal einer peripheren Vorrichtung ansprechen, um ein Unterbrechungsanfragesignal auf die gemeinsame Systemhauptleitung zu schicken, und eine Einrichtung, die auf ein Gewähr- oder Bestätigungssignal auf der Hauptleitung anspricht, um gleichzeitig den Zustand und die Adresse der peripheren Vorrichtung, die um ein· Unterbrechung anfragt, auf die gemeinsame Hauptleitung zu schicken; ein· logisch· Schaltungsanordnung, dl· mit d«r gemeinsamen7QM31/0I05OWQfNAL INSPECTEDSystemhauptleitung verbunden ist, wobei die logische Schaltungs-j anordnung folgendes enthält: eine auf ein Unterbrechungsanfrage-j signal aus der gemeinsamen Systemhauptleitung ansprechende Ein- I richtung, um ein Hauptleitungs-Gewährungssignal für die Steuer- | einrichtung zu erzeugen und um ein Zentralprozessor-Unterbre- j chungssignal für den zentralen Prozessor zu erzeugen und eben- j so einen Wiederstartvektor für den zentralen Prozessor zu er- j zeugen; und eine erste und eine zweite Registereinrichtung, die an die gemeinsame Systemhaiftleitung angeschlossen sind und auf die logische Schaltungsanordnung ansprechen, um den Zustand und die Adresse der peripheren Vorrichtung zu speichern, die um eine Unterbrechung angefragt hat.2. System nach Anspruch 1, dadurch gekennzeichnet, da6 der zentrale Prozessor aus einem Mikroprozessor besteht und daß die er ste und die zweiteRegistereinrichtung aus adressierbaren Registern bestehen, die extern vom Mikroprozessor angeordnet sind.3. System nach Anspruch 2, dadurch gekennzeichnet, daß der Mikroprozessor eine auf das Unterbrechungssignal des zentralen Prozessors ansprechende Einrichtung enthält, um den Wiederstart· vektor als die nächste Instruktion auszuführen, die auf das Auftreten des Zentralprozessor-Unterbrechungssignals folgt.4. System nach Anspruch 3, dadurch gekennzeichnet, daß der Mikroprozessor eine auf den Wiederstartvektor ansprechende Einrichtung enthält, ÜB die Speichereinrichtung zum Empfangen der Instruktion zu adressieren, die bei dem Instruktionszyklus aus geführt wird, welcher auf die Ausführung der Wiederstartvektor-Xnatruktion folgt.3. Datenverarbeltungseyetem mit einem zentralen Prozessor, der701831/0100! über eine gemeinsame Hauptleitung mit mehreren Zugriffsvorrichj tungen verbunden ist, wobei die Zugriffsvorrichtungen selektiv iden Zugriff mehrerer peripherer Vorrichtungen zur gemeinsamen I Hauptleitung steuern, um die Daten zwischen den peripheren Vori richtungen und der gemeinsamen Hauptleitung zu übertragen und ι wobei Jede dieser Zugriffsvorrichtungen Mittel enthält, die auf ! eine periphere Unterbrechungsanfrage ansprechen, um ein Unter- j ! brechungs-Anfragesignal zu erzeugen, und Mittel enthalten, die j j auf ein Hauptleitungs-Gewährungssignal ansprechen, um die Adres-i j se und den Zustand der peripheren Vorrichtung, die eine Unter- j ι brechungsanfrage erzeugt, auf die gemeinsame Hauptleitung zu \ schicken, gekennzeichnet durch die folgenden Einrichtungen und Merkmale:einen Prioritäts-Kodierer, der auf die Unterbrechungs-Aiifragesignale von der Zugriffseinrichtung anspricht, um ein Hauptlei-• tungs-Gewährungssignal der Zugriffseinrichtung zuzuführen, welcher die Priorität gewährt wurde; eine Einrichtung zum Erzeugen j eines Wiederstartvektors, die auf die Prioritätskodiereinrich- : tung anspricht, um einen Wiederstartvektor zu erzeugen und die-I sei der zentralen Prozessoreinrichtung zuzuführen und um ein Pro- ! zessor-Unterbrechungsanfragesignal dem zentralen Prozessor zuzu- < führen; und ein erstes und ein zweites adressierbares Register, j welches an die gemeinsame Hauptleitung angeschlossen ist, um ■ den Zustand und die Adresse zu empfangen und zu speichern, die !durch die Zugriffsvorrichtung, welcher Priorität gewährt wurde, i auf die gemeinsame Systemhauptleitung geschickt werden.6. System nach Anspruch 5, dadurch gekennzeichnet, daß der zen- ; trale Prozessor Mittel enthält, die auf das Prozessor-Unterbrechungsanfragesignal ansprechen, um den Wiederatartvektor als nächste Instruktion auszuführen.709831/09007» System nach Anspruch 5, dadurch gekennzeichnet, daß der zen-. trnle Prozessor eine Einrichtung enthält, die ein Unterbrechungs-r Bestätigungssignal erzeugt; und eine Einrichtung, die auf das ; Unterbrechungs-Bestätigungssignal und die Einrichtung zum Lr- , !zeugen des Wiederstartvektors anspricht, um den Wiederstartvek- j 'tor der zentralen Prozessoreinrichtung zuzuführen. ,8. System nach Anspruch 7, gekennzeichnet durch folgende Ein- ; richtungen:leine auf das UnterbrechungSTBestätigungssignal ansprechende ■Einrichtung, um die Prioritätskodiereinrichtung derart zu steuern, daß das Hauptleitungs-Gewährungssignal derjenigen Zugriffsivorrichtung zugeführt wird, welcher während des Intervalls die \ .Priorität gewährt wurde, während welchem der Wiederstartvektor j :der zentralmProzessoreinrichtung zugeführt wird, und eine Tori steuereinrichtung in der gemeinsamen Hauptleitung, die auf das iUnterbrechungs-Bestätlgungssignal anspricht, um eine Vermischung j der Adresse und des ZuStandes von der Zugriffseinrichtung mit dem Wiederstartvektor zu verhindern.
ι'9. System nach Anspruch 7, dadurch gekennzeichnet, daß die Einrichtung zum Erzeugen des Wiederstartvektors folgendes enthält:!einen weiteren Prioritäts-Kodierer; eine Einrichtung zum Zufüh- !ren von Unterbrechungssignalen, die verschiedene Systembedin- j j gungen anzeigen, zu weiteren Prioritäts-Kodierern, wobei eines I der Signale von dem ersten Prioritäts-Kodierer stammt und wojbei die weiteren Kodierer den Systemzustand höchster Priorität bestimmen, der nach einer Unterbrechung anfragt und einen Fehlbltwert erzeugen, der den Systemzustand höchster Priorität wiederfcibt; eine erste auf den Fehlbitwert ansprechende Einrichtung zum Erzeugen des Wiederstartvektors; eine zweite auf den709831/0900Fehlbitwert ansprechende Einrichtung zam Erzeugen eines Unterbrechungs-Bestätigungr:signal r, für aen .'.y-temzustcjnd, welchen
die Priorität gewährt wurde, wobei diene zweite Einrichtung
das Erzeugen des Hauptleitungs-Gewährungssignnis verhindert,
wenn der Systemzustand, welchem Priorität gewährt wurde, nicht
aus einem Unterbrechungsanfrage.signo- aus der Zugriffseinrichtung besteht. ;10. System nach Anspruch 9, dadurch gekennzeichnet, daß an die ; gemeinsame Hauptleitung ein Speicher angeschlorsen ist, und daß
die Zugriffseinrichtung aus einer Vielzahl von Direktspeicher- · zugriffs-Reglern besteht. ·11. System nach Anspruch 5» dadurch gekennzeichnet, daß die ge- : meinsame Hauptleitung eine Systemadressenhauptleitung und eine , Systemdatenhauptleitung enthält, daß weiter die Eingänge des ersten Registers mit der Systemadressenhauptleituqgverbunden ; sind, um von der Zugriffseinrichtung eine Adresse zu empfangen, , und daß die Ausgänge dieses Registers mit der Systemdatenhaupt- j leitung verbunden sind, und daß die Eingänge des zweiten Regi- j sters auf die Systemdatenhauptleitung ansprechen und von der j Zugriffseinrichtung eine Zu st and sin for ma ti on bzw. Signal empfan-j gen und daß deren Ausgänge ebenfalls mit der Systemdatenhaupt- ! leitung verbunden sind.12. Datenverarbeitungssystem, gekennzeichnet durch folgende Einrichtungen und Merkmale:einen zentralen Prozessor mit einer Einrichtung zur Ausführung einer Aufeinanderfolge von Instruktionen; eine Speichereinrichtung zum Speichern von Instruktionen und Daten; eine periphere Vorrichtung mit Mitteln zum Erzeugerveines Unterbrechungssignals der peripheren Vorrichtung, wenn eine Verbindung zwi-709831/0900sehen dem zentralen Prozessor und der pertpheren Vorrichtung ge wünscht wird; eine gemeinsame Systemhauptleitung, die mit dem zentralen Prozessor und der Speichereinrichtung verbunden ist; eine Steuereinrichtung, die an die gemeinsame Systemhauptleitung angeschlossen ist, um die periphere Vorrichtung zu steuern; 'wobei die Steuereinrichtung Mittel enthält, die auf ein Unterbrechungssignal der peripheren Vorrichtung ansprechen, um ein Unterbrechungs-Anfragesignal auf die gemeinsame Systemhauptlei- ' tung zu schicken, und ebenso Mittel enthält, die auf ein Hauptleitungs-Gewährungssignal auf der gemeinsamen Systemhauptlei- ]ι Itung ansprechen, um gleichzeitig den Zustand und die Adresse ! der peripheren Vorrichtung, die um eine Unterbrechung anfragt, I !auf die gemeinsame Systemhauptleitung zu schicken; eine erste ! an die gemeinsame Systemhauptleitung angeschlossene Einrichtung :zum Erzeugen eines Hauptleitungs-Gewährungssignals auf der ge- j ! meinsamen Systemhauptleitung in Abhängigkeit von einem Unter- ' i brechungsanfragesignal auf dieser; eine zweite Einrichtung, die jauf ein Unterbrechungsanfragesignal auf der gemeinsamen System- j . hauptleitung anspricht, um ein Zentralprozessor-Unterbrechungs-I signal zu erzeugen; ein Adressenregister und ein Statusregister, 'die mit der gemeinsamen Systemhauptleitung verbunden sind; und j eine auf das Unterbrechungssignal des zentralen Prozessors an-' sprechende Einrichtung, um die Adressen- und Statusregister in !Bereitschaft zu setzen, so daß die Adressen- und Statusregister j mit der Adresse und dem Status bzw. Zustand der peripheren Vor-I richtung belastet werden, die um eine Unterbrechung anfragt.•13. System nach Anspruch 12, dadurch gekennzeichnet, daß derj zentrale Prozessor aus einem Mikroprozessor besteht und daß die |I I, Adressen- und Statusregister extern vom Mikroprozessor angeord- !net sind. I. System nach Anspruch 12, dadurch gekennzeichnet, daß eine709831/0900dritte Einrichtung vorgesehen ist, die auf ein Unterbrechungs- j anfragesignal auf der gemeinsamen. Systemhauptleitung anspricht, ; uai einen Wiederstartvektor dem zentralen Prozessor zuzuführen; ι und in dem zentralen Prozessor eine Einrichtung vorgesehen ist, j um den Speicher mit dem Wiederstartvektor zu adressieren, so ' daß die nächste auszuführende Instruktion erhalten werden kann.15. System nach Anspruch 12, dadurch gekennzeichnet, daß mehrere periphere Vorrichtungen vorgesehen sind und jede eine Einrichtung enthält, um ein Unterbrechungssignal der peripheren Vorrichtung zu erzeugen, und daß die peripheren Vorrichtungen für eine Steuerung mit der Steuereinrichtung verbunden sind.16. Datenverarbeitungssystem mit einem zentralen Prozessor, der über eine gemeinsame Hauptleitung mit mehreren Zugriffsvoniehtungen verbunden ist, wobei die Zugriffsvorrichtungen selektiv den Zugriff mehrerer peripherer Vorrichtungen zu der gemeinsamen Hauptleitung steuern, um Daten zwischen den peripheren Vorrichtungen und der Hauptleitung zu übertragen und wobei die Zugriffsjvorrichtungen Mittel enthalten, die auf eine periphere Unterbrechungsanfrage ansprechen, um ein Unterbrechungsanfragesignal zu erzeugen, und Mittel enthalten, die auf ein Hauptleitungs-Gewährungssignal ansprechen, um die Adresse und den Zustand der peripheren Vorrichtung, die eine Unterbrechungsanfrage durchführt, auf die gemeinsame Hauptleitung zu schicken, dadurch gekennzeichnet, daß folgende Einrichtungen und Merkmale vorgesehen sind:ein Prioritäts-Kod±rer, der auf die Unterbrechungs-Anfragesigna-Ie der Zugriffsvorrichtungen anspricht, um ein. Hauptletungs-1Gewährungssignal der Zugriffsvorrichtung zuzuführen, welcher eine Priorität gewährt wurde; eine an den Prioritäts-Kodierer angeschlossene Vorrichtung zum Erzeugen eines Prozessor-Unter-709831/0900brechung:--Anfrage?i£;nalr. in Abhängigkeit von den Unterbrechung.·?-ι anfragesignalen; eine Einrichtung in dem zentralen Frozesror,
die auf das Prozesrorunterbrechungs-Anfragesign-il anspricht, um ein Unterbrechungs-Bestätigungssjgnal zu erzeugen;eine Einrichtung zum Erzeugen eines Wiederstartvektors, die mit der Prioritäts-Kodiereinrichtung verbunden ist und auf das Un- · terbrechungs-Bestätigungssignal anspricht, um einen Wiederstart-1 vektor zu erzeugen und diesen der gemeinsamen Hauptleitung^uzu- : führen; ein erstes und ein zweites adressierbares Register,
die mit der gemeinsamen Hauptleitung verbunden sind, um den Zustand und die Adresse zu empfangen und zu speichern, die durch
diejenige Zugriffsvorrichtung auf die gemeinsame Hauptleitung j geschickt wurde, welcher Priorität gewährt wurde; und eine auf ; das Unterbrechungs-Bestätigungssign il ansprechende Einrichtung,
um das Adressensignal und das Zustandssignal von der gemeinsamen Hauptleitung tormäßig gesteuert in das erste und das zwei- j te adressierbare Register einzuspeisen. i17. System nach Anspruch 16, dadurch gekennzeichnet, daß der
zentrale Prozessor eine Einrichtung athält, die mit der gemein- :; isamen Hauptleitung verbunden ist, um den Wiederstartvektor als j Adresse der nächsten Instruktion zu verwenden, die anschließend I ; nach der Unterbrechung ausgeführt werden soll.I18. System nach Anspruch 16, dadurch gekennzeichnet, daß eine jj Einrichtung vorgesehen ist, die auf das Unterbrechungs-Bestä- !tigungsslgnal anspricht, um den Prioritäts-Kodierer derart zu ' steuern, daß das Hauptleitungs-Gewährungssignal derjenigen Zu- i griffsvorrichtung zugeführt wird, welcher während des Inter- I valls eine Priorität gewährt wurde, während welchem der Wieder-; startvektor der gemeinsamen Hauptleitung zugeführt wird, und: eine Torsteuereinrichtung in der gemeinsamen Hauptleitung vor-709831/0900gesehen ist, die auf dns Unterbrechungü-Bestätigun^ssignal anspricht, um eine Vermischung der Adresse und des ZuStandes vjn der Zugriff^vorrichtung mit dem Wiederstartvektor zu verhindern.19. System nach Anspruch 16, dadurch gekennzeichnet, daß die ; Einrichtung zum Erzeugen des Wiederstartvektors folgendes ent- j hält: einen weiteren Prioritäts-Kodierer; eine Einrichtung zum ! Zuführen der Unterbrechungssignale, die für verschiedene System-: belndungen oder Zustände kennzeichnend sind, zu dem weiteren j Prioritäts-Kodierer, wobei eines dieser Signale von dem Priori- , täts-Kodierer stammt, und wobei der weitere Prioritäts-Kodierer ! den Systemzustand oder Bedingung mit höchster Priorität bestimmt^ die nach einer Unterbrechung anfragt und der einen Vielbitwert erzeugt, welcher die Systembedingung oder Zustand höchster Priorität wiedergibt; eine erste auf den Vielbitwert ansprechende Einrichtung zum Erzeugen des Wiederstartvektors; eine zweite auf den Vielbitwert ansprechende Einrichtung zum Erzeugen eines Unterbrechungs-Bestätigungssignals für die Systembedingung oder Zustand, welcher Priorität gewährt wurde, wobei die zweite Einrichtung das Erzeugen des Hauptleitungs-Gewährungsaignals verhindert, wenn der Systemzustand, welchem Priorität gewährtwurde, nicht auf einem Unterbrechungs-Anfragesignal aus der Zugriffsvorrichtung besteht.20. System nach Anspruch 19, dadurch gekennzeichnet, daß ein Speicher an die gemeinsame Hauptleitung angeschlossen ist und daß die Zugriffseinrichtung aus mehreren Direktspeicherzugriffs-Reglern besteht, um die überführung der Daten zwischen dem Speicher und den peripheren Vorrichtungen zu steuern.21. System nach Anspruch 5, dadurch gekennzeichnet, daß die gemeinsame Systemhauptleitung eine Systemadressenhauptleitung und | eine Systemdatenhauptleitung umfaßt, daß weiter das erste adres-i709831/0900AO -sierbare Register Kingänge aui'wcirt, diL mit der oy«tenia·'.rennen-Hauptleitung verbunden sind, um eine Adresse von der Zugriffε-einrichtung zu empfangen, und /Umgänge aufweist, die .Tut der Systeradatenhauptleitung verbunden rind, und dsr, dar zweite adressierbare Register Eingänge besitzt, die auf die Syctemdatenhauptleitung ansprechen und von der Zugriffseinrichtung ein Zustandssignal empfangen und Ausgänge besitzt, die ebenfalls mit der oystemdatenhauptleitung verbunden oind.22. iJystem nach Anspruch 12, dadurch gekennzeichnet, daß die Einrichtung zum Inbereitsetzen des Adressen- und Statusregisters Mittel enthält, die auf das Zentral-Prozessor-Unterbrechungssignal ansprechen, um ein Unterbrechungs-Bestätigungssignal zu erzeugen, und Mittel enthält, die auf das Unterbrechungs-Bestätigungssignal ansprechen, um das Adressen- und Statusregister während des gleichen Instruktionszyklusses zu laden, während welchem das Unterbrechungs-Bestätigungssignal erzeugt wird.709831/0900ORIGINAL INSPECTED
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 true DE2702090A1 (de) | 1977-08-04 |
DE2702090B2 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 |
US4293908A (en) * | 1979-01-31 | 1981-10-06 | Honeywell Information Systems Inc. | Data processing system having direct memory access bus cycle |
US4484271A (en) * | 1979-01-31 | 1984-11-20 | Honeywell Information Systems Inc. | Microprogrammed system having hardware interrupt apparatus |
USRE31977E (en) * | 1979-03-12 | 1985-08-27 | Texas Instruments Incorporated | Digital computing system having auto-incrementing memory |
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 |
US4259719A (en) * | 1979-06-13 | 1981-03-31 | Ford Motor Company | Binary input processing in a computer using a 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 |
US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
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 |
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 |
DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
US5235221A (en) * | 1992-04-08 | 1993-08-10 | Micron Technology, Inc. | Field programmable logic array with speed optimized architecture |
EP0638183B1 (de) | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor. |
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 |
US5220215A (en) * | 1992-05-15 | 1993-06-15 | Micron Technology, Inc. | Field programmable logic array with two or planes |
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 |
US5287017A (en) * | 1992-05-15 | 1994-02-15 | Micron Technology, Inc. | Programmable logic device macrocell with two OR array inputs |
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 |
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 |
WO1994016384A1 (en) | 1992-12-31 | 1994-07-21 | Seiko Epson Corporation | System and method for register renaming |
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 |
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 |
WO2006129285A1 (en) * | 2005-06-03 | 2006-12-07 | Nxp B.V. | Data processing system and method for scheduling the use of at least one exclusive resource |
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 IT IT31062/76A patent/IT1065850B/it active
- 1976-12-31 CA CA269,013A patent/CA1081857A/en not_active Expired
-
1977
- 1977-01-19 DE DE2702090A patent/DE2702090C3/de not_active Expired
- 1977-01-28 FR FR7702407A patent/FR2339910A1/fr active Granted
- 1977-01-28 JP JP794377A patent/JPS5293244A/ja active Pending
- 1977-01-28 GB GB3503/77A patent/GB1574862A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
FR2339910B1 (de) | 1980-04-30 |
GB1574862A (en) | 1980-09-10 |
FR2339910A1 (fr) | 1977-08-26 |
IT1065850B (it) | 1985-03-04 |
DE2702090C3 (de) | 1980-08-14 |
CA1081857A (en) | 1980-07-15 |
US4034349A (en) | 1977-07-05 |
JPS5293244A (en) | 1977-08-05 |
DE2702090B2 (de) | 1978-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2702090A1 (de) | Geraet zur verarbeitung von unterbrechungen in mikroverarbeitungssystemen | |
DE2744531C2 (de) | Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage | |
DE3882989T2 (de) | Verfahren und anordnung zur verwaltung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem. | |
DE69124743T2 (de) | Vorrichtung zur Speicherung und Durchschaltung und Verfahren zur Datensicherung während der Speicherung | |
DE4118331C2 (de) | Bussystem zur Anwendung bei einem Informationsverarbeitungsgerät | |
DE3854594T2 (de) | Programmierbare Steuerung mit parallelen Prozessoren. | |
DE2731188C2 (de) | Schaltungsanordnung zur Behandlung von Unterbrechungsanforderungen | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE3888353T2 (de) | Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus. | |
DE2212501C2 (de) | Einrichtung zur Übertragung asynchroner, digitaler Signale | |
DE3789490T2 (de) | Steuerungssystem für ein Vektorprozessor. | |
DE3882991T2 (de) | Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus". | |
DE2165767A1 (de) | Datenverarbeitungssystem | |
DE69326935T2 (de) | Verfahren und Vorrichtung zur Übertragung von einem Datenstrom mit hoher Bitfolgefrequenz über unabhängige digitale Kommunikationskanäle | |
DE69026367T2 (de) | Prioritätsvorrichtung mit programmierbarer knotenverweilzeit | |
DE2039040A1 (de) | Einrichtung und Verfahren zum UEbertragen von Daten zwischen einer zentralen Datenverarbeitungsanlage und mehreren fernen Datenendstationen | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE69207496T2 (de) | Verfahren und Vorrichtung zur Nachrichtenübertragungsverwaltung über ein Stromversorgungsnetz in einem Hausnetz | |
DE2719278C3 (de) | Schaltungsanordnung für hintereinander geschaltete Steuereinheiten zum Anschluß von Ein-/Ausgabegeräten an eine Datenverarbeitungsanlage | |
DE69601060T2 (de) | Integrierbare DDC-Schnittstelle für einen Mikroprozessor | |
DE2556617A1 (de) | Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes | |
DE69230483T2 (de) | Quadraturbusprotokoll zum Ausführen von Transaktionen in einer Rechneranordnung | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE69500748T2 (de) | Elektronischer Schaltkreis und Verfahren für die Verwendung mit einem Koprozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |