DE1474063A1 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE1474063A1 DE1474063A1 DE19641474063 DE1474063A DE1474063A1 DE 1474063 A1 DE1474063 A1 DE 1474063A1 DE 19641474063 DE19641474063 DE 19641474063 DE 1474063 A DE1474063 A DE 1474063A DE 1474063 A1 DE1474063 A1 DE 1474063A1
- Authority
- DE
- Germany
- Prior art keywords
- interruption
- interrupt
- program
- register
- arrangement
- 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.)
- Pending
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Description
H7A063
6H7-64/Dr.v.B./Bo.
ECA 54 165
US-Ser.No. 329,639
Piled: December 11, 1963
Dr. Expl.
Die vorliegende Erfindung betrifft elektronische Datenverarbeitungsanlagen oder Computer, bei denen ein laufendes Programm unterbrochen werden kann, um ein Programm höherer Dringlichkeitsstufe durchzuführen·
Durch die vorliegende Erfindung soll eine hinsichtlich ihrer Uhterbreohungsfähigkeit verbesserte Datenverarbeitungsanlage angegeben werden, bei der die Unterbrechung näoh Wuneoh
eines Programmierers durchgeführt werden kann ohne wie bisher schaltungstechnisohen und apparativen Beschränkungen unterworfen zu sein.
Gemäß der Erfindung werden eine Anzahl von Unterbreohnngeindikatoren vorgesehen, die jeweils beim Auftreten einer entsprechenden Unterbreohungsforderung gesetzt werden, welche ale
Ergebnis einer bestimmten Bedingung in der Anlage oder ale Er-
009820/1374
H74063
■- 2 -
gebnls der Entschlüsselung eines Befehls in dem durchgeführten
Programm auftritt. Wenn eich einer der Unterbrechungeindikatoren im gesetzten Zustand befindet, wird das laufende Programm an
einem für eine unterbrechung geeigneten Punkt unterbrochen) um
einen Unterbrechungsindikator-Abfragebefehl auszuführen· Der
Unterbrechungeindikator-Abfragebefehl enthält die Adresse einer Maske, die diejenigen Unterbrechungsindikatoren angibt, welchen
der Programmierer eine Unterbrechung zu bewirken gewillt ist. Die Anordnung zur Durchführung des Unterbrechungsindikator-Abfragebefehls stellt fest, welcher gesetzte und nicht maskierte
Unterbrechungsindikator die höchste Priorität hat und bewirkt einen Zugriff der Datenverarbeitungsanlage zu einem bestimmten
zugehörigen Speicherplatz, in dem der Programmlerer vorher ein entsprechendes spezielles Unterprogramm gespeichert hat, das
durchzuführen ist. Jedes beliebige Ühterbrechungs-Unterprogramm
kann jeder Zeit einfach dadurch geändert werden, daß der Inhalt der entsprechenden Speicherplatz· geändert wird·
Die Unterbrechungsfähigkeit ermöglicht dem Programmierer, geeignete Befehle in ein Programm üblicher Art einzubauen:
Setzen eines speziellen Unterbreohungsindikatore, so daß an
einem bestimmten Punkt in das normale Programm ein entsprechendes gewünsohtes Unterprogramm eingeschaltet} ferner um das
die wegen einer allgemeinen oder Realzeit-Dringlichkeit «ine
Unterbrechung verhindern, ohne dabei den gesetzten Zustand
001820/1394
H7A063
irgendeines Unterbrechungsindikators aufzuheben.
Die Erfindung wird im folgenden an Hand der Zeichnung näher erläutert, in der die Figuren 1A, 1B, 1C und 1D zusammen
ein Schaltbild einer Datenverarbeitungsanlage darstellen, bei der Unterbrechungen eines laufenden Programmes möglich sind·
In Pig. 1D ist rechts unten dargestellt, wie die Schaltbilder der Pig. 1A bis 1D zusammengehören. Außerdem sind in
Pig. 1D die verwendeten Schaltsymbole erläutert.
Der im wesentlichen in Fig. 1A dargestellte Computer mit Unterbrechungsmöglichkeit ist wortorganisiert und enthält einen
Speicher HSM hoher Arbeitsgeschwindigkeit zum Speichern von Befehls- und Datenwörtern, die jeweils zehn Zeichen umfassen.
Jedes Zeichen besteht aus sechs Binärziffern zuzüglich einer Paritätsziffer, die in der folgenden Beschreibung jedoch der
Einfachheit halber nicht erwähnt wird· Das im Speioher HSH dargestellte Befehlsformat enthält ein Operationscodezeichen Op,
ein Operationswahlzeichen (operation' option character) H und
vier A-Adressenzeichen A0, A1, Ap und A, sowie vier B-Adreesenzeiohen Bq, B1, B2, B5. Ein Datenwort enthält, wie dargestellt,
zehn jeweils aus sechs Bits bestehende Datenzeichen dQ bis dg·
Befehle- und Datenwörter können einzeln zwischen dem Speioher HSM und einen Speioherregister 20 Übertragen werden. Ein, zwei,
drei oder vier Zeichen können jeweils gleichzeitig Über eine
009820/1374
U74063
Austausch- oder Vermittlungsstufe 22 entsprechenden von Tier seohsadrigen Sammelleitungen BO, B1, S2, B3 zugeführt werden.
Die Zeichenspeicherplätze im Schnellspeicher HSM können duroh Tier sechsstellige, d.h. aus jeweils sechs Bits bestehende
Zeichen CQ, C1, C« und C, in einem Adressenregister 24 adressiert
werden. Sie Zeichen CQ, C1 und C2 werden dem Speicher HSM über
eine Leitung 25 zugeleitet und ermöglichen den Zugriff zu einem
TOlletändigen Befehls- oder Batenwort. Sas Zeichen C, im Adresse»
register 24- und entsprechende Zeichen in anderen Steuersignalen werden über eine Leitung 26 der Vermittlungsstufe 22 zugeführt
und wählen ein bis Tier Zeichen für eine übertragung zwischen dem Speicherregister 20 und den Sammelleitungen BO bis B3 aus.
Sie Tom Adressenregister 24 ausgehenden Leitungen 23, 26 sind
außerdem über eine Leitung 27 mit einem Sammelleitungsaddierer 28 Terbunden, von dem aus eine ergänzte oder gekürzte Adresse
. über ein Gatter 30 den Sammelleitungen BO bis B3 zugeführt werden kann. Sie Yermittlungsstufe 22 wird duroh Gatter einschlieflieh eines Gatters 32 gesteuert.
Sem Adressenreglster 24 werden Adressen, die aus Tier
Zeiohen bestehen, über die Sammelleitungen BO bis B3 von einem
, mit P-Regleter bezeichneten Begister für die laufenden Adressen,
- das sich in einem Konseptepeicher 34 befindet, zugeführt. Der
: Konzeptspeicher 34 enthält eine Anzahl von Speicherplätzen für
f ·■ ■' ■ "
·; Tier Zeichen, die als Register verwendet werden. Sie Speicher-
009820/1374
H7A063
platze 35 werden, als Register für den laufenden Betriebszustand
des Computers verwendet. Sie Speicherplätze 36 dienen bei einer unterbrechung wegen einer als "gewöhnlich" bezeichneten Priorität oder Dringlichkeitsstufe zur Speicherung des Zustandes des
Computers. Die Speicherplätze 37 dienen zur Speicherung des Zustandes des Computers, wenn eine Unterbrechung wegen einer
mit "Realzeit" bezeichneten Priorität oder Dringlichkeitsstufe
vorliegt.
Jeder der vier Zeichen enthaltenden Speicherplätze oder Register im Konzeptspeicher 34 kann durch ein einziges sechsstelliges Zeichen adressiert werden. Das gerade zur Adressierung
des Konzeptspeichers 34 verwendete sechsstellige Zeichen ist in einem Adressenregiater 40 gespeichert. Der Inhalt des Adressenregisters 40 bestimmt, welcher der vier Zeichen umfassenden.
Speicherplätze im Konzeptspeicher 34 für die übertragung von
Zeichen zwischen dem Konzeptspeicher 34 und den Sammelleitungen BO bis S3 Über ein Speioherregieter 44 und Gatter 46 ausgewählt
worden ist. Die dem Konzeptspeicher-Adreeeenregister 40 zugeführt en Adressen werden durch einen Adressengenerator 48 entsprechend den Eingängen von einer Anzahl von Gattern' erzeugt.
Diese Gatter umfassen Gatter P, A und Bf die die Erzeugung von
Adressen für die entsprechend bezeichneten Register P1 A bzw. B
steuern.
Der Funktioneablauf Im Computer wird duroh eine übliche
Taktgeber- und Leitwerkeinheit 50 gesteuert. Sie Einheit 50
001120/1174
erhält Eingangseignale von allen Teilen des Computers und liefert
Ausgangssignale an alle Teile des Computers. Einige Elemente der Einheit 50, die eine besondere Bolle für die ünterbrechungsfähig·-
keit der Anlage spielen, sind in Tig. 1C dargestellt und mit 50'
bezeichnet. Roch näher zu erläuternde Einzelteile davon tragen die Bezugszeichen 51 bis 59.
Wenn der Computer dem Schnellspeicher HSM einen Befehl zur
Ausführung entnimmt, werden die Teile des Befehls über die Hauptleitungen in die entsprechenden BaumverteilungB-Zeitfolge-Umformer-Register übertragen. Während eines ersten Teiles dieses
■;, Raum/Zeitfolge-ümformungszyklus (staticizing cycle, im folgenden
■ , kurz "Umf ormungszyklus*) wird das Operationscodezeichen Op in das
■■ Umformungsregister Op übertragen, dessen Inhalt durch einen
Operationsdekoder 62 dekodiert wird. Der Dekoder 62 hat eine Anzahl von Ausgängen, von denen nur drei mit SI, CI und FI beseiohnete Ausgänge dargestellt sind. Der Wahl- oder Index-Teil
> I dta Befehls wird in ein Register N übertragen, dessen Inhalt
: durch einen Dekoder 64 entschlüsselt wird. Der Dekoder 64 hat
viele Ausgänge, von denen nur die mit NQ, SQ, N1, N2, N*, JS, A
:: dargestellt sind. Per Inhalt des Umformerreglsters N kann durch
tin Signal von einem Gatter 65 verringert werden.
Während eines zweiten Teiles des Befehlsumformungsvorgangeβ
wird der A-Adressenteil des Befehls in das A-Register des Eonleptepeichere 34 übergeführt. Während eines dritten Teiles des
ümformungsvorganges wird der B-Adreseenteil des Befehle in das
001120/1374
H74063
B-Register des Konzeptspeichers 34 übertragen.
Die Hauptleitungen BO bis B3 verlaufen von Fig. 11 durch
die Figuren 1B, 1C bis hinein in die Pig. 1D. In Fig. 1B ist die
sechsadrige Leitung B2 aber eine entsprechende Anzahl von Gattern
68 mit einem Datenregister D2 im Rechenwerk des Computers verbunden.
In entsprechender Weise ist die sechsadrige Leitung B?
über eine entsprechende Anzahl von Gatter 69 mit einem Datenregister D, im Rechenwerk verbunden.
Die einzelnen Bit-Ausgänge der Datenregister D2 und D, sind
mit sechs entsprechenden Bit-Vergleichsstufen oder Komparatoren 70 verbunden. Zu jedem einzelnen Bit-Komparator 70 gehört ein·
eigene Ausgangsleitung in einer Leitungsgruppe 72, die ein Signal führt, das anzeigt, ob die beiden zugeführten Bits übereinstimmen
oder nicht.
Die Ausgänge 72 der Komparatoren 70 sind über ein Oder-Gatter 74 an ein Und-Gatter 75 angeschlossen, das ein Ausgangssignal
H liefert, wenn die verglichenen Bits übereinstimmen· Ein erregter Ausgang B eines Inverters79 zeigt an, daß keine
Übereinstimmung herrscht. Die Ausgänge 72 der Komparatoren 70 werden außerdem einem Prioritätswähler 76 zugeführt, dessen
durchnumerierte achtzehn AusgangsIeitungen mit entsprechend
numerierten Eingängen von achtzehn Gattern in einem Unterbrechungsindikator-Identifizierungskreis
80 verbunden sind. Wenn
009820/1374
■- ■ - 8 -
zwischen mehr als einem von den sechs Bits eine Übereinstimmung
festgestellt worden ist, erregt der Prioritätewähler 76 zu einer
i
bestimmten Zeit jeweils nur den der höchsten Vorrangstufe ent-
1 sprechenden Ausgang· Der Prioritätewähler kann in bekannter Weise
ausgeführt sein und für jeden Satz von Eingangs- und Ausgangs-L?' leitungen ein Gatter sowie Sperrverbindungen von den Eingängen
der einzelnen Gatter zu den Eingängen aller Gatter, die Sätzen
von Eingangs- und Auegangsleitungen niedrigerer Dringlichkeitsstufe zugeordnet sind, enthalten.
1 80 werden durch ein Gatter 77 gesteuert. Die numerierten Aus-'·. gänge des Indikator-Identifizierungskreises 80 sind über eine
2 achtzehnadrige Leitung 81 mit Eingängen eines Indikatornummercodierers oder -generators 62 verbunden. Die Ausgänge 01 und 11
,< vom Identifizierungskreie 80 sind an den mit 1 bezeichneten
« f.
' ohender Weise sind die Ausgänge 02 und 12 bis 07 und 17 des
I " Identifizierungskreises 80 mit. den mit 2 bis 7 bezeichneten
-> entsprechenden Eingängen der Gatter 2 , 2* und 2 im Codierer
? 82 verbunden. Der Codierer 82 setzt die durch die Erregung
; kreises 80 dargestellte Indikatornummer in zwei aus sechs Bits
■ bestehende numerische Dezimalziffern, die dieselbe Nummer aus-
drüoken. Die beiden Ziffern werden Zeichenregistern C1 bzw. C2
■' zugeführt. Diese Zeichenregister C1 und C9 können jedoch auch
009820/1374
U74063
weggelassen werden, sie sollen in der Zeichnung nur andeuten, daß die zugehörige Zahl aus zwei binärcodierten Dezimalziffern
besteht. Die sechs Ausgänge des Zeichenregisters C1 sind über
sechs Gatter 83 mit den sechs entsprechenden Leitern der Sammelleitung B1 Verbunden. In entsprechender Weise sind die sechs
Ausgänge des Zeichenregisters C« über sechs Gatter 84 mit den
sechs Leitern der Sammelleitung B2 verbunden.
Die achtzehnadrige Ausgangsleitung 81 des Indikator-Identifizierungskreises 80 ist außerdem aber eine Biickstell-Leitung
85 mit einem Gatter 86 (Fig. 10) verbunden, dessen Ausgang Über
eine Leitung 85'mit den Bückstelleingängen B von achtzehn Unterbrechungs-Indikator-Flipflops 90 angeschlossen ist. Die achtzehn Flipflops 90 weisen außerdem getrennte Setzeingänge auf,
denen über eine achtzehnadrige Leitung 91 Setzsignale zugeführt werden können, die von achtzehn entsprechenden Ausgangspunkten für Forderungen naoh einer Unterbrechung des laufenden
Programmes kommen. Die Forderungen naoh einer Unterbrechung des · laufenden Programmes können von bestimmten Kreisen entsprechend
speziellen Betriebsbedingungen im Computer oder in den peripheren Einheiten, die dem Computer zugeordnet sind, stammen
oder durch Dekodierung von Befehlen, die eine Unterbrechung des laufenden Programmes fordern, erzeugt werden.
Die achtzehn Unterbreohungs-Indikator-Ilipflops 90 sind entsprechend ihrer Dringlichkeitsstufe oder Priorität in zwei Gruppm
001120/1174
- ίο -
unterteilt. Die ersten fünf Unterbrechungs-Indikatoren sind Unterbrechungsforderungen der Dringlichkeitsstufe "Eealzeit"
zugeordnet. Die Ausgänge dieser fünf Flipflops sind über fünf Gatter 93 verbunden, die einen gemeinsamen Ausgang au-fweisen,
der ein Signal B^ für eine fiealzeit-Unterbrechungsforderung
liefert. Die Gatter 93 können durch ein invertiertes Sperreignal Ir von einer Unterbrechungs-Programmeinheit 53 (Pig. 1C)
gesperrt werden. Die anderen dreizehn Unterbrechungs-Indikatoren 06 bis 18 entsprechen Unterbrechungen aus Gründen niedrigerer
"gewöhnlicher" Priorität. Die Ausgänge dieser dreizehn Unterbreohungs-Indikator-Flipflops sind über dreizehn Gatter 97 verbunden) die einen gemeinsamen Ausgang R entsprechend einer
Unterbrechungsforderung gewöhnlicher Dringlichkeitsstufe aufweisen. Die Gatter 97 können durch invertierte Sperrsignale I
oder Ir von der Einheit 53 gesperrt werden· Die achtzehn numerierten UnterbreChungs-Indikator-Flipflop3 sind außerdem gemäß
der sechsstelligen Zeichen entsprechenden Organisation der Anlage in drei Gruppen von jeweils sechs Indikatoren unterteilt.
Die Ausgänge der ersten sechs Unterbrechungs-Indikatoren 01 bis 06 sind über sechs Gatter 94 mit einem Oder-Gatter 95 verbunden.
Die Ausgänge der nächsten sechs Indikatoren 07 bis 12 sind über sechs Gatter 98 an ein Oder-Gatter 95 angeschlossen} und die
letzten sechs Indikatoren 13 mit 18 sind sohließfioh über sechs
Satter 99 mit einem Oder-Gatter 95 gekoppelt. Der Auegang dee
Oder-Gatters 95 ist über eine seohsadrige Leitung 100 mit den
entsprechenden geons Adern der Sammelleitung B2 verbunden.
009120/1374
U74063
Bei der Unterbrechungsanordnung sind Vorkehrungen getroffen,
die während einer Unterbrechung eine zweite Unterbrechung aus einem Grunde gleicher oder kleinerer Dringlichkeit verhindern·
Hierzu liefert die Einheit 53 immer dann ein Sperrsignal am Ausgang 1 , wenn in der Anlage ein "gewöhnliches" Unterbrechungprogramm läuft. Der Sperrauegang I ist über einen Inverter 96
mit einem (Jäter 97 verbunden. Der zweite Sperrsignalausgang I2,
der Einheit 53 ist Über einen Inverter 92 mit einem Gatter 93 und über einen Inv rter 96* mit einem Gatter 97 verbunden.
Im folgenden wird insbesondere auf die fig. 1D eingegangen,
in der die schon in Fig. 1A dargestellten Wahlregister Op und H nochmals abgebildet sind« Die Dekoder 62 und 64 sind ebenfalls
nochmals abgebildet, der Dekoder 64 ist dabei in Fig. 1D mit zusätzlichen Ausgängen dargestellt, die in Fig. 1A fehlen.
Wenn der auf die Register Op und N aufgeteilte Befehl das Setzen eines programmgesteuerten Unterbrechungs-Indikators
fordert, z.B. des Indikators 06, machen die dekodierten FI und 7 Signale von den Dekodern 62, 64 ein Gatter 110 (Fig. 1D) ansprechbereit, dessen Ausgang über eine Leitung 91' mit dem
Setzeingang S des ebenfalls nochmals in Fig. 1D dargestellten
Unterbrechungs-Indikators 06 verbunden ist, der zu der in Pig. 1C
dargestellten Unterbrechungs-Indikatorgruppe 90 gehört. Der leiter 91' ist eine der achtzehn Adern der Leitung 91 (Fig.10).
009820/1374
Eb ist eine programmgesteuerte Anordnung vorgesehen, um
Sperreignale zu erzeugen und zu beendigen, die verhindern, daß im Computer das laufende Programm unterbrochen wird, auch wenn
eine Unterbrechungsforderung vorliegt und durch einen gesetzten Unterbrechungs-Indikator in der Gruppe 90 angezeigt wird. Die
Unterbrechungesignalsteuerleitung CI vom Dekoder 62 (Fig· 1B)
und die Leitungen für die Signale J und 1 vom Dekoder 64 sind
Über Gatter 130 und 132 mit den Setz- bzw. EUcketelleingängen
eines Flipflops 134 verbunden, um ein Signal I zu erzeugen oder
abzuschalten, das zur Verhinderung von Unterbrechungen gewöhnlicher Dringlichkeitsstufe dient. In entsprechender Weise sind
Signalleitungen O und β vom Dekoder 64 (fig. 1D) über Gatter
136, 138 an ein Flipflop 140 angeschlossen, um ein Sperreignal
Ir zu erzeugen oder abzuschalten, das Unterbrechungen sowohl
der gewöhnlichen als auch der Realzeit-Dringlichkeitsstufen verhindert.
Beim Entschlüsseln eines mit "Setzprogrammtest1* bezeichneten Befehls durch die Dekoder 62 und 64 werden die Auegänge fl
und % erregt, die über ein Gatter 124 mit dem Setzeingang eines
FlipflopB 123 verbunden sind, dessen Ausgang seinerseits an ein Gatter 128 angeschlossen ist· Ein Ausgangsleiter 9J" dee Gatters
128 let eine der achtzehn Adern der Setzleitung 91 in Fig. 1C
und stellt den Leiter dar, der mit dem Setzeingang des Unterbreohongs-Indikators 18 (Fig. 1C) verbunden let, der zum Programmtesten vorgeeehen let. Das Gatter 128 ist außerdem mit
009820/1374
U74063
einem Ausgang W an daa Gatter 51 (Fig. 10) angeschlossen.
Ein anderer Wahlbefehl "Programmtestende" bewirkt, wenn
er entschlüsselt worden ist, die Erregung der Eingänge CI und A eines Gatters 126, dessen Ausgang mit dem Rückstelleingang des
Flipflops 123 verbunden ist.
Der Computer arbeitet zyklusweise und synchron. Bas Leitwerk 50 (Pig. 1A) der Anlage enthält einen Taktgeber, der Taktimpulse Tq bis T8 liefert. Die Arbeitsweise des Computers vor,
während und nach einer Unterbrechung wird unter Bezugnahme auf aufeinanderfolgende Maschinenzyklen beschrieben, die mit V, W,
Z, Γ und Z bezeichnet sind.
Zyklus V
Es sei angenommen, daß die Anlage während des Zyklus V einen Befehl des normalen Programmes ausführt. Das Programm
soll nach diesem Befehl unterbrochen werden können, was dadurch angezeigt wird, daß das Leitwerk 50 der Anlage ein Signal W
erzeugt. Es sei nun ferner angenommen, daß die Forderung nach einer Unterbrechung aufgetreten ist, z.B. als Ergebnis spezieller Bedingungen im System oder der Entschlüsselung eines stati-βiertem Befehls, der eine Unterbrechung fordert» Das die Forderung nach einer Unterbrechung anzeigende Signal wird über einen
Leiter der achtzehnadrigen Leitung 91 (Fig. 1C) zu dem entspre-
009120/1374
chenden der achtzehn Unterbrechungs-Indikatoren 90 geleitet,
und bewirkt, daß der betreffende Unterbrechungs-Indikator gesetzt wird.
Die Unterbrechungsschaltung kann auf Wunsch des Programmierers
daran gehindert werden, eine Unterbrechung zu verhindern. Eine Unterbrechung findet nur dann statt, wenn die Einheit 53
kein Sperrsignal I oder Ir liefert. Wenn irgendeiner der Indikatoren
gesetzt ist und die Unterbrechung nicht in den (rattern 93 oder 97 (Fig. 10) durch ein vorher erzeugtes Sperrsignal verhindert
wird, liefern die Gatter 93 oder 97 ein Signal B1, oder
B , die die Forderung nach einer Unterbrechung anzeigen. Wenn es eich bei dem gesetzten Indikator um einen Realzeit-Indikator
handelt, liefert das Gatter 93 ein Unterbrechungsforderungssignal B und wenn es sich bei dem gesetzten Indikator um einen
Indikator für eine Unterbrechung gewöhnlicher Dringlichkeit handelt, liefert das Gatter 97 ein Unterbrechungsforderungssignal
B . Das oben erwähnte Signal W, das während des Zyklus V im leitwerk 50 erzeugt wird, wird dazu verwendet, den oder die
folgenden Zyklen W zu ermöglichen.
Zyklus W
Während des Zyklus W, der in der Praxis eine Anzahl von Maschinen^zyklen umfaßt, werden das Unter br echungs signal R_ oder
H den Gattern 51 oder 52 (Fig. 10) zugeführt, um ein Sprung-
009820/1374
U7A063 - 15 -
signal J oder J zu erzeugen· Das Sprungsignal wird in der
Computer-Steuereinheit 53 dazu verwendet, das laufende Programm zu unterbrechen und das Unterbrechungsprogramm einzuleiten· Hierzu werden die Inhalte der Register im Konzeptspeieher 34 durch
eine das Gatter P *(Pig. 1A) enthaltende Anordnung transponiert.
Die dem normalen Zustand des Computers entsprechenden Inhalte
der Register 35 werden in das allgemeine Unterbrechungsregister 36 oder das Realzeit-Unterbrechungsregister 37 übertragen, je
nach dem ob die Unterbrechung aus einem Grunde allgemeiner oder Realzeit-Dringlicliicei te stufe erfolgte.
Die Inhalte des Sprung-P-Allgemein-Registers oder des
Sprung-P-Realzeit-Registers werden in das P-Register übertragen,
welches das für die Adresse des gerade von der Maschine ausgeführten Befehls verwendete Befehlsregister ist· Das Sprung-P-Allgemein- oder Sprung-P-Realzeit-Register enthielt die Adresse
des Speicherplatzes im Schnellspeicher, wo der erste Befehl des
Unterbrechungsprograoames gespeichert ist. Dieser Befehl, der sich nun im P- oder Befehle-Register befindet, bewirkt den Zugriff und die Statisierung des ersten Befehls im allgemeinen oder
Realzeit-Unterbrechungsprogramm.
Der erste oder einer der ersten Befehle im Unterbreohungsprogramm ist der Befehl SI, der das Abtasten der Unterbrechungs-Indikatoren fordert. Beim Statisieren des Befehls im Schnellspeicher wird u.a. das Operationscodeζeichen in das Register Op
(Pig. 1A) und das Operationewahlzeichen H in das Statisierungs-
009820/1374
U74063
register H übertragen. Der Op-Dekoder 62 entschlüsselt die
Inhalte d·· Registers Op und erregt die Leitung 31 und der H-Dekoder 64 entschlüsselt die Inhalte des Statisierungsregisters
H und erregt eine entsprechende der Ausgangsleitungen Hq, Rq,
H1, H2 und "Sy
Beim Statisieren des Befehle SI werden außerdem der A-Adressentell und der B-Adressenteil des Befehls in das A-Register bzw. das B-Register des Konzeptspeichers 34 (Mg. 1A)
übertragen. Der A-Adressenteil des Befehls enthält ein durch
den Programmierer bestimmtes Zeichen AQ, ferner Zeichen A. und
A«, die jeweils gleich Hull gesetzt sind und ein Zeichen A>,
das durch den Programmierer bestimmt werden kann. Die Inhalte des Α-Registers stellen nachdem sie später während der Ausführung des Befehls SI geändert worden sind, die Adresse im
Speicher HSM für das im speziellen durchzuführende Unterprogramm dar· Der B-Adressenteil des Befehls ist durch den Programmierer
bestimmt und stellt die Adresse der als erstes zu verwendenden Unterbrechungs-Indikatormaske.im Speicher HSM dar.
Die Signale Sl, W und der Taktimpuls Tq bewirken über die
Gatter 54, 55 (Pig. 1C), daß ein Signal X erzeugt wird, das den folgenden Zyklus Σ ermöglicht.
Zyklus I
Die früher erzeugten Signale SI und X dienen zusammen mit Taktimpulsen zur Durchführung folgender Übertragungsvorgänge:
009820/1374
Beim Takt TQ wird das Gatter B (Pig. 1A) aufgetastet und liefert
ein Ausgangssignal an den Adressengenerator 48, der die Adresse
"4" des B-Registers im Konzeptspeicher 34 erzeugt und sie dem
Adressenregister 40 dee Konzeptspeichers 34 zuführt. Hierauf
wird der Inhalt dee B-Eegisters über die Gatter 46 und die
Sammelleitungen BO, B1, B2 und B3 dem Adressenregister 24 des Schnellspeichers HSM zugeführt, wo er zum Adressieren des Speichers HSM dient, um ein Maskenzeichen ( und neun andere, nicht
benötigte Zeichen) herauszulesen und in das Speicherregister zu übertragen.
Beim Takt T, wird der Inhalt des Adressenregisters 24 durch den Leitungsaddierer 28 ergänzt und durch das Gatter 30 den
Sammelleitungen zugeführt. Während des gleichen Taktes T, wird das Gatter B aufgetastet, so daß das B-Hegister im Konzeptspeicher 34 addressiert wird und die ergänzte Adresse von den Sammelleitungen aufnimmt. Während des gleichen Taktes liefert
außerdem das Gatter 65 noch ein Verkürzunge- oder Dekrementsignal an das Statisierungsregister N.
Beim Takt T4 läßt das Gatter 32 die Vermittlungsetufe 22
das Maskenzeiohtn im Speicherregister 20 zu der Sammelleitung B3 weiterleiten. Das Maakenzelohen auf der Leitung B3 wird
durch das Gatter 69 (Pig. 1B) dem Datenregieter D5 angeführt.
Während des Takt·« T6 leitet eines dtr Gatter 94, 98, 99
(Pig. 10) eine Greppe τοη Unterbreohunge-Indikator-Bita durch
das Oder-Gatter 95, die Sammelleitung B2 und das Gatter 68
Η7Α063
(Pig. 1B) in das Datenregister Dg· Welche spezielle Gruppe von
Unterbrechungs-Indikator-Bits auf diese Weise übertragen werden
soll, wird dadurch bestimmt, welcher der Ausgänge Ng» N1, Nq des
N-Dekoders (fig. 1A) erregt ist.
Während des Taktes TQ erzeugt das Gatter 57 (?ig. 10) ein
Signal Y, das den nächsten Arbeitszyklus ermöglicht.
Zyklus Y
Die sechs Indikator-Bits des im Datenregister Dg (Fig. 1B)
gespeicherten Zeichens und die sechs Maskenbits des im Datenregister D, gespeicherten Zeichens werden gleichzeitig in einem
Mehrbit-Komparator 70, der sechs Ausgänge 72 aufweist, verglichen. Bei Übereinstimmung wird der entsprechende Ausgangsleiter erregt. Die sechs Ausgänge werden dem Prioritätswähler
76 zugeführt, der Ausgänge 1 mit 6 aufweist, von denen nur der der höchsten Dringlichkeitsstufe entsprechende erregt wird,
wenn die Bits bei mehr als einer Stelle übereinstimmen. Die Ausgänge des Comparators 70 werden außerdem über ein Oder-Gatter
74 einem Gatter 75 zugeführt, das während des Zyklus T ein übereinstimmungssignal M liefert, wenn ein· Übereinstimmung
existiert, oder es tritt am Auegang dee Inverters 79 Üa Hioht-Ub ere ins t immun ge signal B auf, wenn keine Über β inet immun g vorliegt. Die numerierten Ausgänge des Prioritätswählers 76 sind
mit den entsprechend numerierten Eingängen von 18 Gattern df β
Indikator-Identifizierungskreiees 80 verbunden. Dem Indikator-
009820/1374
Identifizierungekreie 80 wird außerdem dae Signal von dem erregten Auegang H0, N1 oder Ng des N-Dekoders 64 (Fig. 1A) «ugeftthrt.
Beim Takt Tg erregt das Gatter 77 (iig. 1B) den Indikator-Identifizierungakreis 80, so daß ein Ausgangssignal an derjenigen der Ausgangsleitungen 01 bis 18 auftritt, die demjenigen
der gesetzten Unterbrechungs-Indikatoren entspricht, dem die
höchste Dringlichkeitsstufe zukommt. Das Ausgangssignal des Indikator-Identifizierungskreises 80 wird über die achtzehnadrige Leitung 81 dem Indikator-Nummerncodierer 82 zugeführt,
so daß, wie durch die symbolischen Zeichenregister C1 und Cg
zwei aus sechs Bits bestehende Zeichen erzeugt werden, die den beiden Dezimalziffern der Indikator-Nummer entsprechen. Das
binärcodierte Dezimalzeichen im Register C. stellt entweder eine Null oder eine Eins dar. Das binärcodierte Dezimalzeichen
im Register Cg kann eine der Dezimalziffern 0 mit 9 darstellen·
Beim Takt T, lassen die Gatter 83 und 84 (Pig. 1B) die Indikator-Nummerz'eichen C1 und Cg über die Leitungen B1 bzw.
B2 zu den mittleren Zeichenplätzen C1 und Cg der vier Zeichen
in dem Α-Register (Pig. 1A) im Konzeptspeicher 34 durch.
Wenn beim Takt T^ ein* Übereinstimmungssignal M vorhanden
ist, stellt der erregte Ausgang des Indikator-Identifizierungskreises 80 (Fig. 1B) über eine Ader der Leitung 81, eine entsprechende Ader der Rückstell-Leitung 85 und eines der Gatter
0OS820/1I74
(fig· 1C) den entsprechenden Unterbrechungs-Indikator 90 zurttck.
Während des Taktes T8 erzeugt die Anordnung 50' (Pig· 1C)
entweder ein Signal X oder ein Signal Z. Wenn der N-Dekoder in Fig. 1A das Ausgangs signal NQ liefert und der Ausgang des
Komparator8 70 (Pig. 1B) durch das Signal £ anzeigt, bewirken
diese dem Gatter 56 zugeführten. Signale, daß das Oder-Gatter das Signal Σ erzeugt· Wenn andererseits das Signal NQ oder das
Signal H am Eingang des Oder-Gatters 58 anliegen, bewirkt dieses Gatter, daß das Gatter 59 das Signal Z erzeugt.
Wenn während des vorangegangenen Zyklus Y das Signal X erzeugt worden war, werden die Schritte der früher beschriebenen
Σ
Zyklen/und Y wiederholt, bis ein Signal Z resultiert. Die Zyklen
X und Y werden dreimal wiederholt, wenn der programmierte Befehl
SI eine Wahl N gleich 3, die hier als N, bezeichnet ist, enthielt. In diesem Falle werden .alle achtzehn Unterbrechungs-Indikatoren abgetastet. In entsprechender Weise wenn N gleich N2
war, werden die Zyklen Σ und Y zweimal wiederholt, um die Unterbrechungs-Indikatoren 07 bis 12 abzutasten. Wenn schließlich
H gleich N1 war, werden die Zyklen Σ und ϊ einmal durchgeführt,
üb die Indikatoren 13 mit 18 abzutasten. Anschließend wird das Signal Z erzeugt.
001120/1374
U74063
Wenn das Signal Z während des vorangehenden Zyklus Y erzeugt worden war, wird das Signal Z vom Leitwerk 50 (Fig. 1A)
dahingehend interpretiert, daß die Inhalte des A-Eegisters im
Konzeptspeicher 34 in das für den laufenden Befehl bestimmte
Register P im Konzeptspeicher übertragen wird.
Andererseits kann der Inhalt des A-Eegisters in einen sogenannten "STA"-Platz im Schnellspeicher HSM abertragen und
dort gespeichert werden. Anschließend bewirkt eine Übertragung eines Steuerbefehle, der im Programm auf den Unterbrechungs-Indikator-Abtastbefehl folgen kann, daß der frühere Inhalt des
A-Hegisters vom HSTA"-Platz im Speicher HSM in das P-Eegister
übertragen wird. Diese alternative Anordnung gibt dem Programmierer eine zusätzliche Steuerungsmögliohkeit für die Unterbrechung*
einrichtungen und macht außerdem zusätzliche Schaltungsanordnungen überflüssig, die sonst erforderlioh sind, um den Inhalt
des Α-Registers in das P-Eegister zu übertragen·
Der Inhalt des A-Eegistere, der sioh nun im P- oder Befehls-Register befindet, ist die Adresse im Schnellspeicher HSM
für den ersten Befehl eines Unterprogramme, das duroh den Programmierer dazu bestimmt worden 1st, bei dsr Testetellung einer
ünterbreohungeforderung von einem speziellen Untsrbrsohungs-Indikator durchgeführt zu werden, oder er ist die Adresse sines
Unterprograna·β in Sohnsllspsiohsr,. das im Falle elnsr unerwarteten (unaaekierten) Unttrbreohungsfordsrung durchzuführen
ist.
OOmO/1374
Ea war erwähnt worden, daß der anfängliche Uhterbrechunge-Abtastbefehl SI einen aus vier Zeichen bestehenden A-Adressenteil enthielt, der in das Α-Register übertragen wurde· Von den
vier Zeichen war AQ durch den Programmierer bestimmt, A^ und Ag
waren gleich Null gesetzt und A, konnte ebenfalls durch den
Programmierer bestimmt werden. Wenn während der Ausführung des Befehls SI ein unmaskierter und gesetzter Unterbrechungs-Indikator gefunden wird, wird die Nummer des Unterbrechungs-Indikators in den Plätzen A1 und A2 des Α-Registers gespeichert. Das
A-fiegister enthält dann die Adresse im Schnellspeicher HSM für
den ersten Befehl eines Unterprogramme β, das durchzuführen ist,
nachdem der spezielle Unterbrechungaverlauf festgestellt wurde. Das spezielle Unterprogramm war früher zusammen mit anderen
durch den Programmierer in Speicherplätzen des Speichere HSH
gespeichert worden, deren Adressen durch die programmierten Zeichen AQ und A, und durch die den Indikator bezeichnenden
Zeichen A1 und A„ identifiziert sind.
Wenn bei der Durchführung eines UnterbrechungB-Abtastbefehle
SI kein gesetzter und unmaskierter Unterbrechunge-Indikator gefunden wurde, bleiben die beiden mittleren Zeiohen A1 und A2 des
A-Äegistere weiterhin lull. Di· Zeiohen AQ, A1, A2 und A3 i«
A-Eegieter stellen dann dl· Adresse des Speichere HSM für den
•raten Befehl dar, der auszuführen 1st, falle keine Unterbreohungiforderung ermittelt worden let· Dieser erete !«fehl
kann dl· Anlag· wieder auf dae normale Program« «urüokepringen
001120/1174
H74063
Die beschriebene Unterbrechung wird immer (soweit sie nicht
verhindert wird) durch das Setzen eines der achtzehn Unterbrechungs-Indikatoren 90 eingeleitet. Die meisten der Unterbrechung»·
Indikatoren werden automatisch gesetzt, wenn in den Stufen des Computers bestimmte Bedingungen auftreten· Es kann sich dabei
beispielsweise um einen Befehl vom Bedienungspult, einen Rechenfehler, ein überschreiten der Rechenkapazität, eine besetzte oder
arbeitsunfähige Periphereeinrichtung oder ein normales oder abnormales Ende eines Simultanbetriebes handeln. Zusätzlich ist
einer der Unterbrechungs-Indikatoren für eine Steuerung durch den Programmierer vorgesehen anstatt durch die Stufen oder
Schaltungen der Anlag' gesteuert zu werden.
Bei dem vorliegenden Beispiel ist der Unterbrechungs-Indikator 06 für programmierte Unterbrechungen reserviert. Der
Unterbrechungs-Indikator 06 wird als Ergebnis einer Entschlüsselung eines Befehls gesetzt, der vom Programmierer geschrieben
und in ein laufendes Programm eingesetzt worden war.
Wenn ein programmierter Unterbrechungsbefehl durch die Anlage statisiert worden ist, werden der Ausgang PI des Op-Dekoders 62 (Yig. 1D) und der Ausgang 7 des N-Deköder3 64 erregt. Die von diesen beiden Ausgängen gelieferten Signale lassen
das Gatter 110 ein Signal an einen der Setzleiter 91· liefern,
das den Unterbrechunge-Indikator 06 der Ünterbrechungs-Indikatorgruppe 90 (Fig. 1C) setzt. Wenn der Unterbreohungs-Indikator
009820/1374
H7A063
06 gesetzt ist, wird das beschriebene Unterbrechungsprogramm
einschließlich des Unterbrechungs-Indikator-Abtastbefehls SI eingeleitet. Der Computer fragt die Unterbrechungs-Indikatoren
ab und stellt fest, daß der Indikator 06 gesetzt ist, worauf dann das spezielle Unterprogram beginnt, das nach Wunsch des
Programmierers durchzuführen ist·
Der beschriebene Programmunterbrechungavorgang kann durch
die Gegenwart von Sperrsignalen I oder I an den Invertereingangen
(Fig. 1C) der Gatter 93 und 97 verhindert oder gehemmt werden. Im folgenden sollen nun die verschiedenen Bedingungen
erläutert werden, unter denen die Sperrsignale I und I erzeugt
werden.
Die Schaltungen des Computers verhindern oder hemmen die Unterbrechung eines Unterbrechungsprogranmes oder Unterprogrammes
beim Auftreten einer zweiten Unterbrechungsforderung gleicher oder kleinerer Dringlichkeit o.der Priorität. Wenn das laufende
Programm unterbrochen wird, wie es an Hand der Zuführung eines Sprungsignals J oder J3, an die Einheit 53 (Pig. 1C) beschrieben
wurde, springt die Anlage auf die Durchführung des Unterbrechungsprogrammes
über, welches den Unterbrechungs-Indikator-Abtastbefehl
SI enthält. Wenn dies geschieht, erzeugt die Einheit 53 geeignete Signale für die Steuerung der Anlage und
außerdem das entsprechende Sperrsignal I oder I * Wenn es sich
009820/1374
147Λ063
bei dem begonnenen Unterbreehungsprogramm, um ein "gewöhnliches"
Unterbrechungsprogramm handelt, wird das Sperrsignal I erzeugt
und über den Inverter 96 dem Eingang des Gatters 97 zugeführt. Dieser Eingang sperrt einen Ausgang R vom Gatter 97» so daß
das Gatter 51 gesperrt wird und das laufende "gewöhnliche" Unterbrechungsprogramm
oder Unterprogramm nicht unterbrechen kann.
Das laufende "gewöhnliche" Unterbrechungsprogramm oder
Unterprogramm kann jedoch seinerseits unterbrochen werden, um einer Forderung nach einer dringlicheren Realzeit-Unterbrechung
nachzukommen. Das einer Unterbrechungsforderung der Dringlichkeitsstufe
"Realzeit" entsprechende Signal Rx vom Gatter 93
tastet das Gatter 52 auf und läßt ein Sprungsignal J entstehen. Das Sprungsignal J wird der Einheit 53 zugeführt und bewirkt,
daß die Anlage das "gewöhnliche" Unterbrechungsprogramm oder
Unterprogramm unterbricht und auf das Realzeit-Unterbrechungsprogramm springt.
Immer wenn die Einheit 53 den Computer auf ein Realzeit-Programm und Unterprogramm springen läßt, liefert die Einheit 53
außerdem ein Sperrausgangssignal I , das über die Inverter 92 und 96' den beiden Gattern 93 und 97 zugeführt wird, um die
Unterbrechung des Realzeit-Programmes oder Unterpi^ogrannee durch
eine Unterbrechungsforderung der Dringlichkeitsstufen "Realzeit" oder "gewöhnlich" zu verhindern.
009820/1374
Zusammenfassend gesagt, kann ein normales Programm sowohl durch eine gewöhnliche als auch durch eine Realzeit-Unterbrechungsforderung
unterbrochen werden. Ein gewöhnliches Unterbrechungsprogramm oder Unterprogramm kann nur durch eine, Unterbrechungsforderung
der Dringlichkeitsstufe "Realzeit" unterbrochen werden. Ein Realzeit-Unterbrechungsprogramm oder Unterprogramm
kann nicht unterbrochen werden.
Der Programmierer kann die Unterbrechung eines beliebigen Teiles eines Programmes verhindern oder hemmen, indem er in das
Programm Befehle einbaut, die den Punkt bestimmen, von dem ab eine Unterbrechung nicht mehr gestattet ist und die außerdem
einen späteren Punkt festlegen, von dem ab wieder eine Unterbrechung erlaubt ist« Diese Befehle können nach Wunsch des
Programmierers sowohl gewöhnliche nxk als auch Realzeit-Unterbrechungen
verhindern.
Wenn ein Setzbefehl zur Verhinderung gewöhnlicher Unterbrechungen (GUV-Befehls) entschlüsselt wird, liefert der Dekoder
62 (Fig. ID) ein Signal SI und der Dekoder 64 ein Signal J,
Diese Signale setzen über das Gatter 130 das Flipflop 134 und lassen eiii gewöhnliches Sperrsignal I entstehen, das dem Gatter
97 (Fig. 1C) zugeführt w'ird und die Unterbrechung des laufenden
Progranmes wegen einer Ursache gewöhnlicher Dringlichkeitsstufe
verhindern. Ein die Verhinderung gewöhnlicher Unterbrechungen
009820/1374
H74063
wieder aufhebender Befehl (GUA-Befehl) läßt beim Entschlüsseln
Signale Cl und 1 entstehen, die das Flipflop 134 über das Gatter
132 wieder zurücksetzen und das die Unterbrechung verhindernde Signal I beenden.
In entsprechender.Weise läßt ein Setzbefehl zur Verhinderung von Realzeit-Unterbrechungen (BW-Befehl) beim Entschlüsseln
Signale Cl und 0 entstehen, die über das Gatter 136 bewirken,
daß das Flipflop 140 gesetzt wird und ein Eealzeit-Sperrsignal I erzeugt. Ein späterer Befehl zur Aufhebung der Verhinderung
von Healzeit-Unterbrechungen (RUA-Befehl) läßt die entschlüsselten Signale CI und / entstehen, die das Flipflop 140 über das
Gatter 138 zurücksetzen und das Realzeit-Sperrsignal I beenden.
Im folgenden wird die Arbeitsweise von Anordnungen beschrieben, mit Hilfe derer der Computer zur Lokalisierung von
Fehlern in einem dem Computer zugeführten und von diesem ausgeführten Programm verwendet werden kann. Erfahrungsgemäß enthält ein langes und komplexes Programm immer irgendwelche Fehler,
die zu einem offensichtlich falschen Endresultat führen· Es kann sich beispielsweise herausstellen, daß die in einem bestimmten
Speicherplatz gespeicherte Information zu irgendeinem unbekannten Zeitpunkt während der Durchführung des Programmes fälschlich
geändert worden ist· Es ist dann sehr zeitraubend und mühsam, in dem geschriebenen Programm denjenigen Punkt zu suchen, an
dem ein falscher Befehl die unerwünschte Änderung des Inhaltes
009820/1374
U7A063
dee betreffenden Speicherplatzes verursacht hat. Um den Fehler
im Programm zu finden, wird der Computer daher selbst unter Zuhilfenahme von Schaltungsanordnungen und Stufen verwendet, die
auf einen Befehl ansprechen, der "Programm-Testbetrieb-Setzbefehl1
oder kurz PTS-Befehl bezeichnet werden soll.
Beim Entschlüsseln des PTS-Befehls liefern die Dekoder 62
und 64 (Fig. 1D) die entschlüsselten Signale CI und #, die das
Gatter 124 ansprechen lassen und das Flipflop 123 setzen. Das Ausgangssignal des Flipflops 123 wird bei entsprechenden Takten
T durch das Gatter 128 übertragen, um das Signal W und ein Signal,
das den Programmtest-Unterbrechungaindikator 18 in der
Unterbrechungs-Indikatorgruppe 90 (Fig. 10) setzt, entstehen zu
lassen. Das Signal W vom Gatter 128 und das Signal H vom Gatter 97 (Fig. 10) bewirken, daß das Gatter 51 anspricht und daß die
Einheit 53 im normalen Programm am Ende jedes einzelnen normalen Befehls dieses Programms einen Sprung ausführt.
Der Computer tritt dann in dae beschriebene gewöhnliche
Unterbrechungsprogramm ein, um den Unterbrechungs-Indikator 18 als denjenigen, der gesetzt worden ist, zu identifizieren und
in ein programmiertes Unterprogramm einzutreten, das vom Programmierer zur Ermittlung des Punktes, an dem sich im normalen
Programm ein Fehler befindet, entworfen worden ist. Es kann sich dabei um ein Unterprogramm handeln, während dessen der
frühere Inhalt des gestörten Speicherplatzes mit dem gegenwärtigen Inhalt dieses Speicherplatzes verglichen wird. Das
009820/1374
Unterprogramm kann außerdem bewirken, daß das Ergebnis des Vergleiches
ausgedruckt wird oder auf andere Weise den Punkt des Programmes angeben, bei dem der Inhalt des betreffenden Speicherplatzes
gestört wird.
Die Durchführung des Unterbrechungsprogrammes und des Programm-Testbetrieb-Unterprogrammes
resultiert in einer Rückstellung des Unterbrechungs-Indikators 18. Die Information, die im
Flipflop 123 erhalten bleibt, bewirkt jedoch, daß der Indikator während der Durchführung des nächsten normalen Befehles wieder
gesetzt wird. Wenn das Flipflop 123 einmal in der beschriebenen Weise gesetzt worden ist, führt der Computer nach jedem normalen
Befehl eine Programmtest-Unterbrechung durch. Diese Programmtest-Unterbrechungen
können an jedem Punkt des normalen Programmes dadurch beendet werden, daß in dieses ein Programmtestende-Befehl
eingesetzt wird. Wenn ein solcher Befehl entschlüsselt wird, spricht das Gatter 126 an und setzt das Flip-Flop 123
zurück, so daß keine weiteren Programmtest-Unterbrechungen mehr stattfinden.
Die beschriebene Unterbrechungsanordnung zeichnet dadurch aus, daß: 1.) Der Programmierer durch die für das Zeichen N im
Unterbrechnngs-Indikator-Abtaetbefehl gewählte Zahl bestimmen
kann, ob eine, zwei oder alle drei Unterbrechungs-Indikatorgruppen abgefragt werden β ollen? 2·) der Programmierer duroh
009820/1374
H74063
die B-Adresse im Unterbrechungs-Indikator-Abtastbefehl bestimmen
kann, welchen Unterbrechungs-Indikatoren in den einzelnen Gruppen erlaubt werden soll, eine Unterbrechung zu verursachen; 3.) der
Programmierer einen Befehl einsetzen kann, der den Unterbrechungs-Indikator 06 setzt und bewirkt, daß das laufende Programm unterbrochen
wird, um ein vom Programmierer gewünschtes ünterbrechungs-Unterprogramm
durchzuführen; 4.) der Programmierer Befehle einsetzen
kann, die Unterbrechungen sowohl der gewöhnlichen als auch der Realzeit-Dringlichkeitsstufe verhindern, und 5.) der
Programmierer einen Befehl einsetzen kann, der nach allen normalen Befehlen eine Unterbrechung bewirkt, um das Programm zu
prüfen und Fehler im Programm zu lokalisieren.
Ganz allgemein gesagt, steht der von der Anlage eingeschlagene Weg hinsichtlich der Unterbrechungsfähigkeit unter
der Zontrolle des Programmierers, ohne daß dieser dabei den üblichen Beschränkungen unterworfen wäre, die durch feste und
vorher festgelegte Schaltungen und Verdrahtungen der Anlage verursacht werden.
009820/1374
Claims (7)
1.) Elektronische Datenverarbeitungsanlage, deren Programmablauf durch eine programmgesteuerte Unterbrechungsanordnung unterbrochen
werden kann, gekennzeichnet durch eine Anzahl von Unterbrechungs-Indikatoren (90), die jeweils
entsprechend einer Unterbrechungeforderung infolge des Auftretens einer entsprechenden Bedingung setzbar sind; eine Unterbrechungs-Indikator-Abtastanordnung,
die darauf anspricht, daß irgendeiner der Unterbrechungs-Indikatoren gesetzt ist und bewirkt, daß das
laufende Programm unterbrochen wird und ein Sprung zur Durchführung eines gespeicherten Programmes stattfindet, bei dem die
Zustände von durch Programmierung ausgewählten Unterbrechungs-Indikatoren abgefragt werden und eine den ermittelten Zuständen
entsprechende spezielle Adresse erzeugt wird, und durch eine Anordnung, die diese Adresse zum Zugriff zu einem entsprechenden
gespeicherten Unterbrechungs-Unterprogramm und zu dessen Einleitung benutzt. ·
2.) Einrichtung nach Anspruch 1, gekennzeichnet durch eine programmgesteuerte Anordnung, die ein Arbeiten
der Unterbrechungs-Indikator-Abtastanordnung zu verhindern gestattet.
009820/1374
3·) Einrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß die Unterbrechungs-Indikatoren eine gewöhnliche* Dringlichkeitsstufe und eine einer bevorrechtigten
Realzeit-Dringlichkeitsstufe entsprechende Gruppe von Unterbrechungs-Indikatoren
umfassen, und daß die programmgesteuerte Ünterbrechungs-Anordnung nur die Durchführung des normalen
Programmes niedrigster Dringlichkeitsstufe unterbricht.
4,) Einrichtung nach Anspruch 1, gekennzeichnet
durch einen Speicher mit Speicherplätzen für Befehle eines
normalen Programms, ein Unterbrechungsprogramm und Unterbrechungs-Unterprogramme
entsprechend verschiedenen Unterbrechungsursachen, und mit Speicherplätzen für Unterbrechungs-Abtastmasken, wobei
die auf das Setzen irgendeines Unterbrechungs-Indikators ansprechende
Anordnung eine Unterbrechung des laufenden Programmes und einen Sprung auf das Unterbrechungsprogramm bewirkt, das
einen Befehl enthält, der das Abtasten von Unterbrechungs-Indikatoren und einen Vergleich der Zustände der Indikatoren mit
den Zuständen einer Unterbrechungs-Abtastmaske fordert, und durch eine auf das Ergebnis dieses Vergleiches ansprechende
Anordnung zur Erzeugung der Speicheradresse des entsprechenden durchzuführenden Unterprogrammes.
5·) Einrichtung nach Anspruch 4, gekennzeichnet durch Eegister, einschließlich eines Befehlsregisters,
zur Aufnahme von Speicheradressen der Speicherplätze; eine Anord-
009820/1374
H74063
nung um dem Komparator Signale entsprechend den Zuständen der
Unterbrechungs-Indikatoren und der Adressierten Unterbrechungs-Abtastmaske
zuzuführen und ein Ausgangssignal zu erzeugen, das einem Indikator entspricht, der gesetzt und nicht maskiert ist;
durch eine auf den Komparator ansprechende Anordnung zur Erzeugung
der Speicheradresse des entsprechenden Unterprogrammes, das
durchzuführen ist, und durch eine Anordnung zur Übertragung dieser Adresse in das Befehlsregister um die Durchführung des Unterprogrammes
einzuleiten.
6.) Einrichtung nach Anspruch 4, gekennzeichnet durch ein Befehlsformat einschließlich eines Operationscode Op, einer Operationswahl N, einer Α-Adresse und einer B-Adresse,
mit entsprechenden Registern, und mit einem Befehlsregister für die Speicheradresse des als nächstes auszuführenden
Befehls, wobei die auf das Setzen irgendeines Unterbrechungs-Indikators entsprechende Anordnung eine Unterbrechung des laufenden
Programmes und einen Zugriff und eine Statisierung eines Unterbrechungsprogramm-Befehls bewirkt, wobei N eine einer Gruppe
von Unterbrechungsindikatoren entsprechende Zahl und B die Speicheradresse einer entsprechenden gewünsohten Maske iat; durch
einen Komparator; durch eine Anordnung, die die Inhalte der OP- und N-Ke&ister entschlüsselt und dem Komparator die Statusbits
einer angegebenen Gruppe von Unterbrechungs-Indikatoren und Bits einer angegebenen entsprechenden Maske zuführt, um einen Ausgang
009820/1374
U7A063
- 34 -
zu erzeugen, der anzeigt, ob ein gesetzter und unmaskierter
Unterbrechungs-Indikator vorhanden ist oder nicht; durch eine auf den Inhalt des N-Registers und den Ausgang des Komparators
ansprechende Anordnung, die eine entsprechende Adresse erzeugt, und diese im Α-Register speichert und durch eine Anordnung, die
bewirkt, daß der Inhalt des Α-Registers zum Adressieren des Speicherplatzes verwendet wird, der das entsprechende Unterprogramm,
das in diesem speziellen Falle durchgeführt werden soll, enthält.
7.) Einrichtung nach Anspruch 6, dadurch gekennzeichnet,
daß die auf den Inhalt des N-Registers und den Ausgang des Komparators ansprechende Anordnung den Vergleichsprozeß
mit der nächsten Gruppe von Unterbrechungs-Indikatoren
und der nächsten entsprechenden Maske wiederholt, wenn kein gesetzter und unmaskierter Unterbrechungs-Indikator existiert^
bis ein gesetzter und unmaskierter Unterbrechungs-Indikator gefunden worden ist oder die letzte Gruppe verglichen worden ist,
und die im Falle, daß ein gesetzter und unmaskierter Unterbrechungß-Indilrator
vorhanden ist, die Nummer dieses Unterbrechungs-Indikators erzeugt und im Α-Register speichert.
009820/1374
3S
Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US329639A US3290658A (en) | 1963-12-11 | 1963-12-11 | Electronic computer with interrupt facility |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1474063A1 true DE1474063A1 (de) | 1970-05-14 |
Family
ID=23286341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19641474063 Pending DE1474063A1 (de) | 1963-12-11 | 1964-12-07 | Datenverarbeitungsanlage |
Country Status (4)
Country | Link |
---|---|
US (1) | US3290658A (de) |
DE (1) | DE1474063A1 (de) |
GB (1) | GB1044739A (de) |
SE (1) | SE319030B (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1250659B (de) * | 1964-04-06 | 1967-09-21 | International Business Machines Corporation, Armonk, NY (V St A) | Mikroprogrammgesteuerte Datenverarbeitungsanlage |
US3333252A (en) * | 1965-01-18 | 1967-07-25 | Burroughs Corp | Time-dependent priority system |
US3435420A (en) * | 1966-01-03 | 1969-03-25 | Ibm | Contiguous bulk storage addressing |
US3479649A (en) * | 1966-07-22 | 1969-11-18 | Gen Electric | Data processing system including means for masking program interrupt requests |
US3513445A (en) * | 1966-09-29 | 1970-05-19 | Gen Electric | Program interrupt apparatus |
US3473161A (en) * | 1966-11-23 | 1969-10-14 | Gen Electric | Circular listing |
US3508206A (en) * | 1967-05-01 | 1970-04-21 | Control Data Corp | Dimensioned interrupt |
US3431559A (en) * | 1967-05-17 | 1969-03-04 | Webb James E | Telemetry word forming unit |
US3512136A (en) * | 1967-06-21 | 1970-05-12 | Gen Electric | Input/output control apparatus in a computer system |
SE303056B (de) * | 1967-08-31 | 1968-08-12 | Ericsson Telefon Ab L M | |
JPS4845150A (de) * | 1971-10-11 | 1973-06-28 | ||
JPS549456B2 (de) * | 1972-07-05 | 1979-04-24 | ||
US3798615A (en) * | 1972-10-02 | 1974-03-19 | Rca Corp | Computer system with program-controlled program counters |
JPS4966041A (de) * | 1972-10-27 | 1974-06-26 | ||
US4004283A (en) * | 1974-10-30 | 1977-01-18 | Motorola, Inc. | Multiple interrupt microprocessor system |
US4037204A (en) * | 1974-10-30 | 1977-07-19 | Motorola, Inc. | Microprocessor interrupt logic |
US4159516A (en) * | 1976-03-23 | 1979-06-26 | Texas Instruments Incorporated | Input/output controller having selectable timing and maskable interrupt generation |
DE2754890C2 (de) * | 1977-12-09 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Programmunterbrechung |
US4760516A (en) * | 1986-11-25 | 1988-07-26 | Dialogic Corporation | Peripheral interrupt interface for multiple access to an interrupt level |
JPS63238630A (ja) * | 1987-03-26 | 1988-10-04 | Toshiba Corp | マイクロプロセツサの割込み制御装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL233967A (de) * | 1957-12-09 | |||
NL229160A (de) * | 1958-06-30 | |||
US3061192A (en) * | 1958-08-18 | 1962-10-30 | Sylvania Electric Prod | Data processing system |
US3048322A (en) * | 1960-11-14 | 1962-08-07 | Int Paper Co | Container and blank therefor |
-
1963
- 1963-12-11 US US329639A patent/US3290658A/en not_active Expired - Lifetime
-
1964
- 1964-11-12 GB GB46193/64A patent/GB1044739A/en not_active Expired
- 1964-12-07 DE DE19641474063 patent/DE1474063A1/de active Pending
- 1964-12-10 SE SE14956/64A patent/SE319030B/xx unknown
Also Published As
Publication number | Publication date |
---|---|
GB1044739A (en) | 1966-10-05 |
SE319030B (de) | 1969-12-22 |
US3290658A (en) | 1966-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1474063A1 (de) | Datenverarbeitungsanlage | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE2411963C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken | |
DE2744531C2 (de) | Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage | |
DE3751164T2 (de) | Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten. | |
DE2719253C3 (de) | Schnittstellenschaltung für Datenverarbeitungsanlagen | |
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE2953861C2 (de) | ||
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE2702090B2 (de) | Datenverarbeitungssystem mit einem zentralen Prozessor | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE2755371A1 (de) | Ein/ausgabe-verarbeitungssystem | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE1915818B2 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE2928488A1 (de) | Speicher-subsystem | |
DE3121742C2 (de) | Mikroprogramm-Steuereinrichtung | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE2629266A1 (de) | Ein/ausgabe-system | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE68922545T2 (de) | Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen. | |
DE1549531A1 (de) | Digitale Rechenanlage | |
DE2359037A1 (de) | Mikroprogrammrechnereinrichtung |