DE1499200A1 - Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung - Google Patents
Datenverarbeitungsanlage mit vorranggesteuerter ProgrammunterbrechungInfo
- Publication number
- DE1499200A1 DE1499200A1 DE19651499200 DE1499200A DE1499200A1 DE 1499200 A1 DE1499200 A1 DE 1499200A1 DE 19651499200 DE19651499200 DE 19651499200 DE 1499200 A DE1499200 A DE 1499200A DE 1499200 A1 DE1499200 A1 DE 1499200A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- psw
- interruption
- field
- register
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 12
- 238000012546 transfer Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 abstract description 86
- 238000012360 testing method Methods 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 abstract 2
- 238000003780 insertion Methods 0.000 abstract 2
- 230000037431 insertion Effects 0.000 abstract 2
- 238000000926 separation method Methods 0.000 abstract 2
- 230000000717 retained effect Effects 0.000 abstract 1
- 230000003936 working memory Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 101150036157 Nenf gene Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- 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
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- 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/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- 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
-
- 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/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3856—Operand swapping
Description
H99200
IBM Deutschland
Internationale Büro-Matchinen Geseihthaft mbH
Böblingen, 23. 4. 69 jo-kr
Anmelderin:
International Business Machines Corporation, Armonk, N. Y. 10 50·^
Amtliches Aktenzeichen:
Aktenzeichen der Anmelderin:
Docket 6580 WB
Die Erfindung betrifft eine Datenverarbeitungsanlage mit vorranggesteuerter
Programmunterbrechung, bei der ein laufendes Programm oder Unterprogramm durch ein diesem Programm zugeordnetes Programmstatuswort beschrieben
wird.
Während der Ausführung der verschiedenen Operationen, die in programmgesteuerten
Datenverarbeitungsanlagen ausgeführt werden, können gewisse Bedingungen auftreten, die eine Unterbrechung des normalen gerade ablaufenden
Problemprogramms erfordern. Solche Bedingungen können in verschiedenen Teilen der Anlage auftreten; sie können durch Eingabe- und Ausgabeeinheiten
hervorgerufen werden, z. B. wenn eine Eingabe- oder Ausgabeoperation begonnen oder beendet werden soll; sie können auch in sog. externen
Einheiten auftreten, so in der Konsole, in einem im System verwendeten Zeitgeber,
oder in anderen an die Anlage angeschlossenen Einheiten, die auf
Verlangen eine^ofortige Berücksichtigung erfordern; auch festgestellte Fehler
der Maschine oder des Programms können eine Unterbrechung notwendig
machen. Normalerweise ist es beim Auftreten einer Unterbrechungsbedingung
009810/1389
'»11.1111
ausreichend, das gerade ablaufende Problemprogramm zu unterbrechen, ein
Unterbrechungsunterprogramm auszuführen, und anschließend das Problemprogramm
fortzusetzen.
Es ist bekannt, bei Mehrkanalübertragungen jedem Kanal ein eigenes Kontrollwort
zuzuordnen, welches die Eigenschaften und den Zustand dieses Kanals für eine Informationsübertragung angibt.
Es ist weiter bekannt, jedem Ein- und Ausgabegerät ein bistabiles Merkelement
zuzuordnen, das bei einer Unterbrechungsanforderung für dieses Gerät eingestellt wird; diese Merkmalelemente werden zyklisch nach dem Vorliegen
einer Unterbrechungsanforderung abgefragt. Ein Vorrang zwischen den Anfragen wird dabei nicht in Betracht gezogen.
Bei der vorliegenden Erfindung wird die Auswahl des mit höchster Dringlichkeit
ausgestatteten unterbrechenden Programms unter Verwendung von Programmstatusworten
in sehr anpassungsfähiger Weise vorgenommen. Beim Vorliegen mehrerer Anforderungen unterschiedlicher Dringlichkeit wird, beginnend
bei der Anforderung geringster Dringlichkeit, laufend geprüft, ob noch eine Anforderung höherer Dringlichkeit vorliegt; erst wenn dies nicht
mehr der Fall ist, wird die Anforderung der/ferzeit höchsten Dringlichkeit
erledigt und anschließend nacheinander in umgekehrter Reihenfolge die Bearbeitung
der restlichen Anforderungen durchgeführt.
Gegenstand der Erfindung ist demnach eine Datenverarbeitungsanlage mit
vorranggesteuerter Programmunterbrechung, mit einem aktiven Programmstatuswort-Register
(PSW-Register) für die Aufnahme der das laufende Programm beschreibenden Daten (Programmstatuswort) und mit einer Steuerschaltung
zur Steuerung des Programmablaufs und zur Entgegennahme von Unterbrechungsanforderungen; sie ist gekennzeichnet durch mehrere inaktive
PSW-Register für die Aufnahme von Daten zur Beschreibung bereitstehender
Unterprogramme oder unterbrochener Programme; durch von der Steuer-
Docket 6580 WB OOfSi 0/1389
Schaltung zur Einleitung je eines Unterprogramms unterschiedlicher Polaritäten erregbare Steuervorrichtungen, die je einem Unterprogramm zugeordnet
sind und die bei Erregung das aktive Programmstatuswort ergänzen, in das dem betreffenden Unterprogramm zugeordnete inaktive PSW-Register abspeichern
und das diesem Unterprogramm zugeordnete Programmstatuswort in das aktive PSW-Register übertragen; und durch zwischen die Steuerschaltung
und die Steuervorrichtungen eingefügte logische Schaltungen die nach
jedem solchen Austausch von Programmstatusworten prüfen, ob weitere Unterbrechungsanforderungen
vorliegen» und die gegebenenfalls eine weitere Steuervorrichtung höherer Priorität zum nochmaligen Austausch der Programmstatueworte
erregen.
Wenn für jedes bereitstehende Unterprogramm ein Registerpaar zur Aufnahme
von Programmstatusworten vorgesehen wird, von denen eines leer ist und
das Programmstatuswort des zu unterbrechenden Programms aufnimmt und
von denen das andere das Programmstatuswort des unterbrechenden Programms
enthält, so kann in einfacher Weise ein Austausch der Programmstatuswörter
und der Übergang von einem laufenden Programm zu einem Unterprogramm vorgenommen werden» Ergibt die folgende * Prüfung, daß eine
Unterbrechungsanfo-rderung höherer Dringlichkeit vorliegt, so gelangt das
soeben ins aktive PSV/-Register eingetragene Programmstatuswort nunmehr
is das leere Register des Regfcterpaares für das unterbrechende Programm
höherer Dringlichkeit.' Dieser Vorgang kann sich wiederholen*
Sin Ausführungsbeispiel der erfindungsgernäßen Datenverarbeitungsanlage
ird an Hand der Zeichnungen, erläutert» Es zeigen:
Fig. 1: ein vereinfachtes Blockdiagramm einer Datenverar
beitungsanlage, in der das erfindungsgemäße Unterbrechungssystem
Verwendung finden kann;
009810/1389
ORiQfNAL
Fig. 2: eine schematische Darstellung eines Programmsta
tuswortes; "'■"■■■.
Fig. 3: ein Diagramm, das angibt, wann die verschiedenen
Arten von Unterbrechungsbedingungen in Bezug auf das Problemprogramm auftreten können, und zu
welchen Zeiten die Unterbrechungsunterprogramme begonnen werden;
Fig. 4: ein Diagramm, das für den Fall mehrerer gleichzei
tig auftretender Unterbrechungsbedingungen angibt, in welcher Reihenfolge die dem Problemprogramm
und den verschiedenen Unterbrechungsunterprogrammen zugeordneten Programmstatusworte vervollständigt
und eingespeichert werden;
Fig. 5: ein Blockdiagramm der Schaltung, mit deren Hilfe
festgestellt wird, ob eine angeforderte Unterbrechung gemäß dem gegenwärtig benutzten Programmstatuswort
stattfinden kann oder nicht, und
Fig. 6: ein Blockdiagramm der Schaltung, die die für die
Anlage vorgegebene Dringlichkeitsreihenfolge der verschiedenen Unterbrechungen bestimmt.
Fig. 1 zeigt ein Biockdiagramm einer Maschine, in welcher das erfindungsgemäße
U nterbrechungs system Verwendung finden kann. In diesem Diagramm
stellt Block 1 einen Kernspeicher dar, der einen Hauptspeicher Z zur Speicherung
von Makroinstruktionen, anderen Kontrollworten und Daten, die alle
unterschiedlicher Länge sein können, und einen Arbeitsspeicher 3 aufweist, der für die auszuführenden Rechenoperationen die Funktion von Registern
übernimmt.. Die 8-Bit-Speicherstellen werden adressiert vomAdressenregister
5; die eingespeicherten 8 Bits bilden jeweils ein Byte und werden parallel
in das Patenregister 19 ausgelesen. Das Einschreiben von Daten erfolgt
unter der Kontrolle der dem Speicher zugeordneten Sperr schaltung 4 in Über-
Docket 6580 WB 00981J/1389 ->?
einstimmung mit dem· Inhalt.de s Registers 19; Block 6 stellt einen. Festwertspeicher
dar, in dem Makroinstruktionen gespeichert sind. Die Mikroinstruktionen
werden aus durch das Adr.es senregister 7 bestimmten Speicherstellen in Leseverstärker-Verriegelungsschaltungen 8 ausgelesen. Nach erfolgter
Decodierung werden sie zur Steuerung der Operationen der Rechenanlage
verwendet. Die Steuerschaltungen sind durch Block 9 dargestellt, unter anderem
umfassen sie die Schaltungen 10 und 11, die zur Steuerung der Unterbrechungen
dienen. Letztere Schaltungen und ihre Arbeitsweise werden im
Zusammenhang mit den Figuren 5 und 6 ausführlich erklärt. Die Blöcke 12
stellen die Teile der Anlage dir, von denen eine Unterbrechungsanforderung
ausgehen kann. Arithmetische Und logische Operationen werden im Rechen-"Werk'lS
ausgeführt. Die beiden Operanden, mit denen die arithmetischen und
logischen Verknüpfungen vorzunehmen sind,1 werden über die Leitungen A (13)
und B (14) den Pufferregistern A (l6) und B (17) zugeführt und von dort an
da^/Rechenwerk weitergegeben. Die die. Ergebnisse darstellenden Signale
.wurden auf die-Leitung Z,(15) gegeben,- von wo sie in eines oder mehrere der
Register 19 bis 25 überführt werden. Diese "Register dienen verschiedenen
Zwecken: Register 19 wird, wie. bereits erklärt,,als Hauptspeicherdatenregister verwendet: Register 20 dient als Instruktionszähler, die in ihm 21 gespeicherten
Werte werden in das Adressenregister .5 übertragen; Register 21 wird als Zwischenadressenregister benutzt, die in ihm gespeicherten
Werte dienen über das Adressenregister 5 zum Aufrufen der Speicher stellen
de<s Hauptspeichers 1,. oder über das Adressertregistör 7 zürn Adressieren
■des· Festwertspeichers=, 6., Die: restlichen Register 22 bis 25'dienen zur zeitweiligen
Speicherung des Operationscodes, de s Bedingungscödes, des Länggeaieodes
und vonStatusbits, "Teiladresgeri oder änderen Informationen,, die
im-Zusammenhang mit,dem-jeweils ausgeführten* Programm vbri Bedeutung sind*
DieiAnisahl der Register ist selbstverständlich nicht'au:f die Zahl'der '"*
in dör Zeichnung angegebenen: beschränkt. Die iri deri-Registef iiΪ ge speichertencWerten
können, wie im Diagramm gezeigt, den*verscHeäenett Leitungen.·
und.Ädressenregistern zugeführt wer den; so. können z»5©^ aus dem liaupt-' ·
2 in-4ä.s Datenregister.f L9 ausgelesen© Datefa. übfer:die."ijeitun'g 13, ; '"
das Puff er register 16, und das Rechenwerk 10 zu jedem anderen Register geleitet
werden.
In der in Fig. 1 gezeigten Anlage wird die Ausführung von Problemprogrammai
durch eine Folge von Makroinstruktionen kontrolliert; jede dieser Makroinstruktionen
bestimmt eine auszuführende Operation, die unter der direkten Kontrolle einer Folge von Makroinstruktionen zur Ausführung gelangt. Der
Operationskode einer jeden Makroinstruktion bestimmt diese Operation, die
Bits der Makroinstruktionen werden jedoch nicht direkt zur Kontrolle der
Schaltungen der Anlage benutzt; hingegen bewirkt der in einem der Register
gespeicherte Operationscode im Zusammenwirken mit den Steuer schaltungen 9 das Auslesen einer ersten Mikroinstruktion aus dem F estwert speicher 6.
Die Adresse der jeweils nächsten Mikroinstruktion ist wenigstens teilweise in der vorangehenden Mikroinstruktion enthalten, die zur Vervollständigung
der Adresse erforderlichen Bits hängen von den zu der Zeit in der Anlage bestehenden
Verhältnissen und vom Operationscode der Makroinstruktion ab. "; ' . -· ■-■' : : ■■'■ ■ · '- ■ '-■■- ■ . / .■ .■■■■-·..-.·.".■·"* \u/iVi-.yr[s
Nach Ausführung der einer Makroinstruktion entsprechenden Folge von Mikroinstruktionen
wird die nächste Makroinstruktion von der Speicher stelle des Hauptspeichers ausgelesen, die durch den Instruktionszähler 20 bestimmt
wird, und das Problemprogramm wird fortgeführt.
In der beschriebenen Rechenanlage wird die Ausführung aller Programme
durch ein übergeordnetes Programm, das im folgenden als Monitorprogramm
bezeichnet;wirdf. überwacht,. "Wenn.mehrere Programme, von denen jedes aus
einer F.olge,von.Makrqin_struktip.nenf.besteht, durchgeführt werden.sollen, be-.
stimmt dieses-Mpnitoipr.ograrniri die Reihenfolge ihrer Durchführung; es
steuert auch die Unterprogramme, die beim Auftreten von Unterbrechung sbedingungen
in der Anlage erforderlich werden. - . r ... . _.. .
Während der Ausführung von: Problemprogrammen arbeitet d
unter der Kontrolle eines vom Monitorprogramm bereitgestellten. Kontrollwortes, das als Programmstatuswort..(PSW}.bezeichnet wird. Für die ver-
Docket 6580 WB 003810/1389 gAD
schiedenen Unterbrechungsunterprogramme werden ebenfalls durch die Art
der Unterprogramme bestimmte PSW' s verwendet. Die in den PSW' s enthaltene
Informationen geben den jeweiligen Stand der Programme sowie die in der Anlage bestehenden Verhältnisse und Bedingungen wieder, zu diesem
Zweck, wird es laufend korrigiert und vervollständigt. Neben anderen Informationen
enthält es beispielsweise die Adresse der nächsten Makroinstruktion. Für die direkte Kontrolle eines gerade ablaufenden Programms ist das
gegenwärtig benutzte oder aktive PSW in einer hierfür vorgesehenen Speichersteile
des Arbeitsspeichers 3 enthalten; bestimmte Teile des PSW' s werden
darüber hinaus in Registern, Verriegelungsschaltungen, oder ähnlichen zur
zeitweiligen Speicherung dienenden Einrichtungen gegeben. Nichtaktive PSW' s,
die zu gerade nicht zur Ausführunggelangenden Programmen, gehören, sind in
hierfür vorgesehenen festen Stellen des Hauptspeichers 2 enthalten. Sowie
ein Programm unterbrochen wird, wird das diesem zugeordnete PSW als
"altes" PSW in den Hauptspeicher eingegeben und ein "neues" PSW, das zur*
Kontrolle der nachfolgenden Operationen Anwendung findet, in den Arbeitsspeicher überführt. Diese PSW' s enthalten zu jeder Zeit die für eine Unterbrechung
und späterer Wiederaufnahme eines Programms erforderlichen Informationen.
Im folgenden wird eine eingehendere Beschreibung der Funktion der PSW' s
und der Arbeitsweise des Unterbreehungssystems gegeben.
In Fig.. 2 ist das in der Anlage verwendete PSW 26 schematisch dargestelltes
besteht aus den Bitpositionen 0 - 63, die in Feldern 26A bis 26K gruppiert
sind. Nachstehend wird eine Erklärung der in diesen Feldern gespeicherten
Informationen sowie der von diesen ausgeführten Kontrollfunktionen gegeben."
Beim Auftreten einer Forderung nach einer Eingabe/Ausgabe- oder einer
"Externen" Unterbrechung dienen die Bits der System-Maske dazu zu
Docket 6580 WB 009810/138
' -β- t , U99200
bestimmen, ob eine solche Unterbrechung gegenwärtig stattfinden kann,
d.h. erlaubt ist, oder nicht. Die Bitposit'ionen 0 bis 6 entsprechen sieben verschiedenen Kanälen, über die die Eingabe/Ausgabe-Einheiten
mit der Rechenanlage verbunden sind; Bitposition 7 ist den Einheiten zugeordnet, die ein externes -Unterbrechungsprogramm erforderlich
machen können. Ein "0" Bit in einer dieser Bitpositionen bewirkt, dass die Ausführung des entsprechenden Unterprogrammes zurückgestellt
wird; ein "1" Bit zeigt an, dass das Unterprogramm zur Ausführung gelangen kann. Der Zweck dieser Unterbrechungen und die durch sie
bedingten Vorgänge werden später näher erläutert.
j Die System-Maske des aktiven PSWs ist im Arbeitsspeicher und darüber
.·
hinaus auch in Verriegelungsschaltungen gespeichert.
Feld 26B - Bits 8 bis 11 - SPEICHERSCHUTZCODE
Dieser 4-Bit-Code definiert die Bereiche des Hauptspeichers, die für die Instruktionen des gerade ablaufenden Programms zugänglich sind.
Stimmt der Speicherschutzcode mit dem in einer zur Adressierung des Hauptspeichers benutzten /dresse enthaltenen Speichercode nicht überein,
so wird eine Unterbrechung des Programms erforderlich.
Der Speicherschutzcode des aktiven PSWs ist im Arbeitsspeicher und
in einem Register der Rechenanlage enthalten
■■■-'■--■" I'
Feld 26C - Bit 12 - Unbenutzt . \
Docket 6580 WB
009810/1389
Feld 26D - Bit 13 - MASCHINEN-PRUEFMASKE '
Dieses Bit wird zur Feststellung benutzt, ob eine Maschiiien-Prüf-Unterbrechung
.stattfinden kann oder nicht. Eine solche Unterbrechung wird angefordert wenn in der Arbeitsweise der Rechenanlage ein Fehler festgestellt
wurde. Ist dieses Bit eine "1", so wird die Unterbrechung eingeleitet; ist dieses Bit jedoch eine "0", wird das gerade ablaufende
Programm fortgeführt.
Wenn dieses Bit eine "0" ist, führt die Rechenanlage Instruktionen aus,
sie "läuft". Wird dieses Bit hingegen zu "1", so wird die Ausführung von
Instruktionen unterbrochen und die Anlage wartet bis eine Unterbrechung des Programms erfolgt.
Feld 26F - Bit 15 - MONITOR/PROBLEM ·
Ist dieses Bit eine "1", so befindet sich die Rechenanlage im Problemprogrammstatus,
die Programme gelangen normal zur A5USführung.
Wird dieses Bit zu "0", so befindet sich die Rechenanlage-im Monitor status,
in welchem nur besondere Funktionen ausgeführt werden können, alle anderen
Funktionen führen zu einer Fehleranzeige.
Die Bits 13, 14 und 15 des aktiven PSWs sind im Arbeitsspeicher
gespeichert, Bits 13 und 14 sind darüber hinaus auch in Verriegelungsschaltungen enthalten.
65βο WB 009810/1389
Feld 26G - Bits 16 bis 31 - UXTER.BRECHUNGSCODE - , ·, ...
Dieser 16-Bit-Code wird zur Angabe des Grundes benutzt, der eine
Unterbrechung herbeiführte; er bestimmt für die verschiedenen Unterbrechungsarten sowohl die Einheit, die ein Unterbrechungsprqgramm anforderte, als auch den Grund oder die Bedingung die die Unterbrechung
erforderlich machte. . ·
Unterbrechung herbeiführte; er bestimmt für die verschiedenen Unterbrechungsarten sowohl die Einheit, die ein Unterbrechungsprqgramm anforderte, als auch den Grund oder die Bedingung die die Unterbrechung
erforderlich machte. . ·
Der Unterbrechungscode ist im aktiven PSW nicht enthalten; diese
Information wird dem PSW erst dann.zugeführt, wenn es bei einer ,....-.
Unterbrechung als altes PS\*/ in den Hauptspeicher überführt wird.
Information wird dem PSW erst dann.zugeführt, wenn es bei einer ,....-.
Unterbrechung als altes PS\*/ in den Hauptspeicher überführt wird.
Feld 26H - Bits 32 und 33 - IX\STRUKTIOXSL· AEXGEXC ODE ' ' " '"' ''"' Λ"'"' ;
In der Anlage finden Mixkr.oinsiruktiönen verschiedener Länge Anwendung, j "
Die 8-ii It-ByLe-S;,. aus deneiv sich-eine Jnslruktion.zusitrnmensetzt, slr.d · · ■':■-■"■■
in aufeinanderfolgenden Speiche:r stelle ή "entlialten. Der Instruktion!.'1..^t-I1 ^
code wird durch das Monitorprogramrn im Falle einer Maschinen-Prüfungsr .-, UnterbrechungjOdei' ein,er .Prograrum-Prüfungs-Unterbrechung beri'utzt, xxm die Adresse des "ersten Bytes der Instruktion, die die Unterbrechung hervor- ;
code wird durch das Monitorprogramrn im Falle einer Maschinen-Prüfungsr .-, UnterbrechungjOdei' ein,er .Prograrum-Prüfungs-Unterbrechung beri'utzt, xxm die Adresse des "ersten Bytes der Instruktion, die die Unterbrechung hervor- ;
rief, zu bestimmen. Bits.32 und 33 dienen zur Bestimmung der Lfinge der_.
Instruktion, die derzeit ausgeiührt oder gerade beendet wird: Sie- «-<-i:c?f; ·.*."»-,-von jeder Makroinstruktion, deren Bitpositionen 0 und 1 die Länge der
Instruktion kennzeichnen, in das PSY/ eingefügt, sodass die Speicheradresse
Instruktion, die derzeit ausgeiührt oder gerade beendet wird: Sie- «-<-i:c?f; ·.*."»-,-von jeder Makroinstruktion, deren Bitpositionen 0 und 1 die Länge der
Instruktion kennzeichnen, in das PSY/ eingefügt, sodass die Speicheradresse
des ersten Bytes der Instruktion besfifiVrnt werden kann.'
Feld 261.- Bits 34 und 35v-"'-BEa)iN6Ü^GSCOOEV^'* ' "'-'·.· ''' '"'" '"-'= ; ^V ''■"■
Dieser Code kennzeichnet ^-dingungen, die-beitd'e^ ?«·»>·■■ 13Cl
Ausführung vorangeg^Rgei·? ·. tr, Rechenanlage
sind. Im aktiven PSV/ ist dieser Code in decodicrter Form im Arbeitsspeicher
enthalten:
00 1000
01 0100
10 0010
11 0001
Bei der Ausführung einer Instruktion, in deren Verlauf ein Code in das
Bedingungsrcrgister der Anlage gebracht wird, wird jeweils der im
PSW enthaltene 4-Bit-Code geändert, um das Ergebnis der ausgeführten
Operationen zu kennzeichnen. Dor Code bleibt dann solange
unverändert, bis eine andere Instruktion eine Aenderung des Bedingungsregisters bewirkt.
Feld ?.6J - Bits 36 bis 39 - PROGRAMM-PRUeFMASKC'
Diese Bits worden zur Feststellung ber.ut/.t, ob eine angeforderte
Programm-Prüfungs-Unterbrechung stattfinden kann oder nicht; eine solche
Unterbrechung wird erforderlich nachdem im Programm ein Fehler festgestellt wurde.
Jedes der 4 Bits entspricht einer von vier Unterbrechungsbedingungen,
die in der Rechenanlage auftreten können. Beim Auftreten einer soK her.
Bedingung wird d * entsprechende :VIt betrachtet, ist es eine 'M", s>j
wird eine Programm-Prüfungs-Unterbrechung eingeleitet, ist es hingegen eine "0", eo wird das laufende Programm fortgeführt.
Die Programm-Prüfmaske ist Teil des aktiven PSW's und somit im
Arbeitsspeicher enthalten.
Diese'Bits definieren die Adresse der nächsten Makroinstruktion.die
im Verlaufe des laufenden Programms auszuführen ist.
Docket 6580 WB
009810/1389
H99200
Nach Ausführung einer Makroinstruktion ist die Adresse der nächsten
Instruktion des laufendes Programms sowohl im Instruktionszähler der
Anlage als auch in den Bitpositionen 40 bis 63 des aktiven PSWs enthalten. Während der Ausführung einer jeden Instruktion wird diese Adresse in
Uebereinstimmung mit dem Instruktionslängencode, der in jeder Instruktion
enthalten ist, erhöht; die Adresse wird ersetzt, wenn die normale Instruktionsreihenfolge durch eine Verzweigungsinstruktion unterbrochen
wird.
Das in der beschriebenen Datenverarbeitungsanlage verwendete Unterbrechungssyst.em
gestattet die Unterbrechung laufender Programme und die Ausführung von Unterbrechungsunterprogrammen, die durch Bedingungen
erforderlich werden, die in externen Einheiten des Systems, in E/AEinheiten oder in der Rechenanlage selbst auftreten. Eine Unterbrechung
besteht in der Einspeicherung des aktiven PSW1S als "altes" PSW und der
Bereitstellung eines "neuen" PSW1S. Anschliessend beginnt die Ausführung
des durch das neue PSW bestimmten Programms unter den Bedingungen und an der Stelle, die durch das neue PSW definiert werden.
In der Anlage können fünf verschiedene Arten von Unterbrechungsbedirigiingen
auftreten: .
1. MASCHINEN-PRUEFUNG
Eine Maschinen-Prüfungs-Unterbrechung wird eingeleitet, sobald ein Fehler
der Maschine festgestellt
0Ö9Ö10/1389
SAD
Docket 6580 WB " . - ■- , ^ \ 4 *: vl
■ 2. PROGRAMM- PRUEF-UXC- ..-■·■: : . ·-" /, \ . -
Eine Programm-Prüfungs-Unterbrechung wird eingeleitet, sobald ein
Fehler im'Programm festgestellt wurde, so z.B. ein ungültiger Operationscode, eine falsche Speicheradresse oder eine Ueber lauf oedingung.
3. EINGABE/AUSGABE ' "■ '
Eine Eingabe/Ausgabe-Unterbrechung wird eingeleitet, sobald eine Eingabe/
Ausgabe-Einheit während der von ihr ausgeführten Operationen einen Punkt
erreicht, an dem das Monitorprogramm zur Bestimmung des weiteren Arbeitsverlaufs der Anlage hinzugezogen werden muss.
4. EXTERN ' .
Eine externe Unterbrechung wird eingeleitet, sobald die Rechenanlage
von externen Einheiten, deren Operationen keinen Aufschub erlauben,
benutzt werden muss.
5. MONITOR-RUF . ... .·.-.,;/ .;.,.. :
Eine Monitor-Ruf-Unterbrechung wird durch eine besondere. Monitor-Ruf- .:
Instruktion eingeleitet. Der Hauptanwendungs zweck dieser Unterbrechung.-.: besteht darin, die ,Recherianlage vom Problemstatus ,in den Monitor status ...
umzuschalten; dies ist erforderlich.wenn ein PSW ersetzt oder geändert/ ;
werden soll. . .... ,-....- .. ..:: , . ,,; „ .,'-'. ·>- ■ -
Wie bereits erwähnt.können Maschinen-Prüfungs-, Programm-Prüfunqs-.
Eingabe/Ausgabe- und externe -Unterbrechungsunterprogramme nur dann
eingeleitet werden,, wenn die entsprechenden Maskenbits des aktiven 11PS W s
eine "1" darstellen; ist hingegen das entsprechende Bit eine "0", so kann
eine Unterbrechung nicht erfolgen, bis zur Aeiiderung des Bits auf "1".
Eine Monitor-Ruf-Unter-- ——■
Docket 6580 WB 0 0 9 810/1389 '
brechung wird «.k:re!; e,;:;e IA .:.'iu;iscru.<iion eingeleitet und i-Fiordri;t .~. v?*%v»
daher kein Maskenbit im PSV/.
Das in Fig. 3 gezeigte Diagramm gibt an( zu w.elcher. Zeit, mit B.-zu- ,lui
das Problemprogramm,. die Anforderungen für die verschiedenen Arten.
von. Unterbrechungen auftreten und zu welcher Zeit die Unterbrechungen
vorgenommen werden können. V/ie bereits erwähnt, werden die durdh Makroinstruktionen definierten Operationen unter der direkten Steuerung
einer Folge von Aiikroinstruktionen 1 bis i: ausgeführt, die durch die
jeweilige Makroinstruktion bestimmt ist (Spalten 3-OA und 30B).
Pfeile in der Spalte "Unterbrechung angefordert1.' (30C) geben für jede
Unterbrechungsart an, zu welcher Zeit, mit Bezug auf die Mlkroinstruktionsfol.ge,.
eine .Unterbrechung a ivgt-fordert werden kann. / ... .t.- .:"
Anforderungen für Maschinen-Prüfunga (MASCH PRUEF)-,Programm~
Prüfungs. (PROG PRUEF)-,Eingabe/Ausgabe^.(E/A)-,und externe (ZXT;-Unterbrechungen
können zu jeder Zeit erfolgen wie durch den oberen Pie:] und die grosse Klammer angedeutet. Die Monitor-Ruf (MON RUF)-Ui.rerbrechung
wird durch eine vorn Programmierer vorgesehene Makroinstruktion eingeleitet und kann deshalb nur nach Ablauf einer Mikroinstruktionsfolge
erfolgen wie durch den mit MON RUF gekennzeichneten Pfeil angegeben.
Pfeileßri.der-;Spalte. A1Unterbrechung x^folgt1* (.30D) geben für jede 'tintcr-JM'--;
brech;unigJs-a'r.ttian,i-35Uswel>cher Zeit, mit- Bezug'äuf' die Mütroinstriiktion■><-: ■-'.-folge,
die Ausführung des Untorbrechungsunierprogramraes begönne!. v~ir<:,
Docket 6580 "WB
0 09810/1389 8A6
wenn sie angefordert wurde und wenn durch die entsprechenden. Mabkenbits
bestimmt wurde, dass die Unterbrechung stattfinden kann.
Wie gezeigt, werden MASCTI PRUEF- und PROG PRUEF-Unterbrechungen
sofort eingeleitet. Die Mikroinstruktionsfolge wird unterbrochen, da eine
Fortsetzung des Programms zu fehlerhaften Ergebnissen führen könnte.
E/A-und EXT-Unterbreclumgen werden nach Ablauf der Mikroinstruktionsfolge
eingeleitet. Die letzte Makroinstruktion einer solchen Folge dient
immer zur Feststellung, ob während der Ausführung der Mikroinstru'-.tionsfolge
Anforderungen für E/A- oder EXT-Unterbrechungen aufgetreten sind.
Eine MON RUF-Unterbrechung wird, wie bereits erwähnt, nach Ablauf
der'Mikroinstruktionsfolge eingeleitet.
Durch die Anwendung der PSWs wird es möglich, mehrere gleichzeitig
auftretende Unterbrechungsanforderungen zu bearbeiten, das Unterbrechtmgs· programm höchster Dringlichkeit zuerst auszuführen und die Informationen
zu speichern, die für die Unterbrechungsprogramme geringerer Dringlichkeit erforderlich sind. Treten in dem beschriebenen Unterbrechungssrystem
mehrere^ eine Unterbrechung erfordernde Bedingungen gleichzeitig auf,
so werden nacheinander das alte Problemprogramm-PSW im Hauptspeicher gespeichert, das einer ersten Unterbrechung (niedrigste Dringlichkeit)
entsprechende neue PSW in den Arbeitsspeicher überführt, dieses erste
neue.PSW, nachdem es entsprechend den Unterbrechungsbedingungen geändert und vervollständigt wurde, wieder in den Hauptspeicher eingespeichert, das nächste neue PSW, das dem in der Dringlichkeitsreihenfo.ge'
Docket 6580 WB
00981071389
nächsten Unterbrechungsprogramm zugeordnet ist, in den Arbeitsspeicher
überführt, usw. Die Ausführung von Instruktionen wird wieder aufgenommen
unter der Kontrolle des PSWs, das als letztes aus dem Hauptspeicher
in den Arbeitsspeicher überführt wurde, also dem Unterbrechungsprogramm
höchster Dringlichkeit entspricht; die Reihenfolge der Ausführung der
Unterbrechungsprogramme ist derjenigen entgegengesetzt, in der diePSWs
überführt wurden»
• Im. Hauptspeicher sind 10 Speicher stellen von je 64 Bits den verschiedenen
PSWs fest zugeordnet. Die PSWs, für welche diese Stellen vorgesehen sind, werden wie folgt bezeichnet:
I. Altes EXT PSW
II. Neues EXT PSW
III. Altes E/A PSW
IV. Neues E/A PSW '
V. Altes MASCH PRUEF PSW
VI. Neues MASCH PRUEF PSW
VII. Altes PROG PRUEF PSW
VIII. Neues PROG PRUEF PSW
IX. Altes MON RUF PSW ·
X. Neues MON RUF PSW.
Wenn eine Unterbrechung eingeleitet wird, wird das aktive Problemprogramm-PSW,
nachdem es entsprechend den Unterbrechungsbedingungen geändert und vervollständigt wurde, als altes PSW in der entsprechenden
Hauptspeicherstelle gespeichert. Für eine PROG PRUEF-Unterbrechung
wird das alte PSW beispielweise in die Speicherstelle VII "altes PROG PRUEF PSW11-eingegeben. Die meisten Bits des PSWs werden
Docket 6580 WB
009810/1389
' "?M" '~ORWUNAL
unverändert, d.h. so, wie sie im Arbeitsspeicher enthalten waren,
in den Hauptspeicher überführt; der Bedingungscode jedoch muss, wie bereits erklärt, vorher decodiert werden.
Wenn ein altes PSW gespeichert wird, ist der Unterbrechungscode jeweils in den Bitpositionen 16 bis 31 enthalten. Diese Code definiert
die Gründe für die Unterbrechung wie folgt:
1. Für eine EXT-Unterbrechung definiert der Code welche externe
Einheit die Unterbrechung verursachte.
Z. Für eine MON RUF-Unterbrechung bildet der Code die Information,
die, vom MON PROG decodiert, den Grund für die MON RUF-Instruktion
bestimmt. '
3. Für eine PROG PRUEF-Unterbrechung definiert der Code die durch
ein fehlerhaftes Programm entstandene Bedingung, die eine Unterbrechung erforderlich macht.
4. Für eine MASCH PRUEF-Unterbrechung ist der Code immer "0".
5. Für eine E/A-Unterbrechung definiert der Code den Kanal und die
Einheit, die die Unterbrechung anforderten. '
Nachdem das alte PSW vollständig in die durch die Art= der Unterbrechung
bestimmte. Speicherstelle des Hauptspeichers eingegeben worden istj ■
wird das neue PSW in die für das jeweils aktive, PSW vorgesehene-Speichert '
des Arbeitsspeichers überführt. Wenn z.B'. ein altes PSW in die Speieher- :
stelle IV "altes PROG PRUEF PSW" eingespeichert wurde, wird das neue ■
PSW, das zur Kontrolle des PROG PRUEF-Unterbrechungsprogramms dient,
Docket 6580 WB - /; - fV ? ί If 1 S ■ ' :
009810/1389
der Speicher stelle VIII "neues PROG PRUEF PSW" entnommen. Für das
neue PSW ist der Unterbrechungscode nicht erforderlich und wird d.iher
nicht in den Arbeitsspeicher übernommen; der 2-Bit-Bedingungscodc· wird in die 4-Bit-Form decodiert wie bereits erklärt. Jetzt enthält das
neue PSW die Anfangsadresse und die Anfangsbedingungen für das Monitor-Programm,
unter dessen Kontrolle das Unterbrechungsprogramm abläuft', und die Rechenanlage beginnt mit der Ausführung von Instruktionen bis
das Unterbrechungsprogramm beendet ist. Zu dieser Zeit wird das PSW, unter dessen Kontrolle das Unterbrechungsprogramm ausgeführt wurde,
in die ihm zugeordnete Speicher stelle des Hautpspeichers zurückgeführt. Anschliessend wird das alte PSW, das zur Kontrolle des unterbrochenen
Problemprogramms diente, in den Arbeitsspeicher eingegeben und die
Rechenanlage setzt das Problemprogramm an der Stelle fort, an der es unterbrochen wurde.
Das Diagramm der Fig. 4 zeigt die Anwendung der PSW's für den Fall,
dass zwei Unterbrechungen, EXT und E/A, gleichzeitig angefordert werden.
. Es sei angenommen, dass beide Unterbrechungen zur Zeit der Anforderung durch die entsprechenden Maskenbits als "erlaubt" bestimmt wurden, die
entsprechenden Unterprogramme also in der Reihenfolge ihrer Dringlichkeit
auszuführen sind.
Die in der Spalte 40A angegebenen. Zahlen entsprechen den verschiede on
Operations schritten, .die für das angenommene Beispiel erforderlich sind.
In den Spalten 4OB und 40C ist gezeigt, welches Programm oder Unterprogramm
während der einzelnen Schritte" jeweils ausgeführt wird u::d
Docket 6580 WB ' ' BAOOBiGINAL
003810/1389 . ·
■ .- . -19- · H99200
ι
·
welches PSW als aktives PSW im Arbeitsspeicher enthalten ist. Die
verschiedenen Programme; Problemprogramm, EXT-Unterbrechung,
und E/A-Unterbrechung, sind durch unterschiedliche-Schraffierungen
in Uebereinetimmung mit den für die Blöcke 41, 42 und 43 angegebenen
Erläuterungen dargestellt. Die Doppel spalten 4OD bis 4OH stellen die Paare der den verschiedenen Unterbrechungsarten fest zugeordneten
Speicherstellen des Hautpspeiche rs dar, die zur Speicherung der nichtaktiven PSW's dienen. Ein solches Paar der Speicherstellen I bis X
ist jeweils für die alten und neuen PSW's einer Unterbrechungsart vorgesehen,
wie I und II für EXT--Unterbrechungen, III und IV für E/A-Unterbrechungen,
usw. Der Einspeicherung eines PSW's in die "alte" Speicherstelle eines Paares folgt automatisch das Auslesen der zugehörigen
"neuen" Speicherstelle. Es folgt eine ausführliche Beschreibung der Operationsechritte 1 bis 12.
Schritt 1: ·
Ausführung eines Problemprogramms unter der Kontrolle eines Problemprogramm-PSW1
s, das im Arbeitsspeicher enthalten ist. Die "alten" PSW-Speicherstellen
im Hauptspeicher (ungerade Zahlen I, III, usw. ) sind leer, Während die "neuen" PSAV- Speicherstellen (gerade Zahlen II, IV, usw.)
die den verschiedenen Unterbrechungsunterprogrammen entsprechenden
PSW's enthalten.
Schritt 2: ·
Während der Ausführung des Problemprogramms werden gleichzeitg zwei
erlaubte Unterbrechungen unterschiedlicher Dringlichkeit angefordert:
Docket 6580 WB ,
009810/13 89
eine EXT-Unterbrechung (niedrigere Dringlichkeit) und eine E/A-Unterbrechung
(höhere Dringlichkeit). Das Problemprogramm-PSW wird als altes PSW in die Speicherstelle I überführt; dies ist die Speicherstelle
die" der Unterbrechung niedrigerer Dringlichkeit der beiden angeforderten
Unterbrechungen entspricht.
Schritt 3: .' : .
Das neue EXT-Unterbrechungs-PSW wird der Speicher stelle II entnommen
und in den Arbeitsspeicher· überführt. Da noch eine weitere Unterbrechung
(höhere Dringlichkeit) auf die Ausführung wartet, wird nicht mit der
Ausführung des EXT-Unterbrechungsprogramms begonnen.
Schritt 4:
Das EXT-Unterbrechungs-PSW wird als altes PSW in die Speicherstelle-III
überführt; dies ist die Speicherstelle,' die der Unterbrechung höherer
, i
Dringlichkeit entspricht.
Schritt 5;
Das neue E/A-PSW wird aus der Speicher stelle IV auegelesen und in den
Arbeitespeicher eingespeichert. Da keine weiteren Unterbrechungen angefordert
sind, beginnt die Ausführung des E/A-Unterbrechungsprogrammes.
Schritt 6: .
Ausführung des E/A-Unterbrechungsprogramms unter der Kontrolle "des
im Arbeitsspeicher enthaltenen E/A-PSW's.
Docket 6580 WB : :
009810/1389
Nach Abschluss des E/A-Unterbrechungsprogrammes wird das E/A-PSW
in die ihm zugeordnete Speicherstelle IV zurückgeleitet.
Schritt 8: · .
Dag EXT-PSW wird automatisch aus der Speicher stelle III ausgelesen und
in den Arbeitsspeicher eingespeichert. Beginn des EXT-Unterbrechungs-
programmes.
Schritt 9:
Schritt 9:
Ausführung des EXT-Unterbrechungsprogrammes unter der Kontrolle des
im Arbeitsspeicher enthaltenen EXT-PSW1S.
Schritt 10: .
Nach Abschluss des EXT-Unterbrechungsprogrammes wird das EXT-PSW in die. ihm zugeordnete Speicher stelle II zurückgeleitet.
. f
Schritt 11:
Das Problemprogramm-PSW wird aus der Speicherstelle lausgelesen
und in den Arbeitsspeicher eingespeichert. Die Ausführung des Problempr.ogrammes
wird an der Stelle wieder aufgenommen, an der es durch den Schritt 2 unterbrochen worden war.
Schritt 12:
Ausführung des Problemprogrammes unter der Kontrolle des im Arbeitsspeicher
enthaltenen Pröblemprogramm-FSW;
Die Arbeitsweise der verschiedenen PSW's wurde für den Fall von
zwei gleichzeitig auftretenden UnterbrechnngsaBfof derungen beschrieben·
Erocket &S8Ö WB
Fälle, in denen nur eine einzelne Unterbrechung erforderlich wird,
oder in denen ein bereits ablaufendes Unterbrechungsprogramm zu
unterbrechen ist, werden entsprechend behandelt und hier daher nicht
weiter erläutert. Das gleiche gilt für andere Unterbrechungsarten als die im Beispiel gewählten.
Fig. 5 zeigt ein Blockdiagramm der in Fig. 1 mit 11 bezeichneten Schaltung, die für die Maskenoperation verwendet wird, welche zur
Bestimmung dient, ob eine angeforderte Unterbrechung zum gegenwärtigen Zeitpunkt stattfinden kann, d.h. erlaubt ist, oder nicht.
Die gezeigte Schaltung ist auf die Behandlung von E/A- und EXT-Unterbrechungen
beschränkt, die von den E/A-Einheiten über die Kanäle-123
bis 126 und von den externen Einheiten über den Kanal 127 angefordert
werden.
Wie bereits erwähnt, werden die Bits der Systemmaske der aktiven PSW's
26 zur Bestimmung benutzt, ob eine angeforderte E/A- oder EXT-Unterbrechung
erlaubt ist. Wenn das dem die Unterbrechung anfordernden
Kanal entsprechende Bit (Bit 0 für den Kanal 120, Bit 1 für Kanal 121,
usw. ) '1I" ist, bedeutet dies, dass die Unterbrechung erlaubt ist; eine
"0" würde andeuten, dass die Unterbrechung wenigstens zeitweilig- ' ■'*■ "-zurückgestellt
werden muss. . v- " ..' "w:" "-
Das aktive PSW 26 ist vollständig im Arbeitsspeicher 3 gespeichert.
Die Bits der Systemmask'i sind darüber hinaus in den zugeordneten
Verriegelungsschaitpngen SOO Ms 507 enthalten, wobei diese Schaltungen
eich im Ein-Zustand befinden;, wenn das eiitsprechende Maskeftbii
Docket 65&ÜWB-
'008*10/1309'
-23- H99200
"1" ist, sic« sind im Aus-Zustand, wenn das Bit "O" ist. Für jedes
Maskenbit, bzw. für joden der Unterbrechungskanäle 120 bis 127,
ist eine der UND-Schaltungen 530 bis 537 vorgesehen. -Die Eingänge
dieser UND-Schaltungen sind über die Leitungen 510 bis 517.mil dun
entsprechenden Verriegelungsschaltungen und über die Leitungen 520 bis
527 mit den entsprechenden Unterbrechungskanälen verbunden. Durch eine im Ein-Zustand befindliche Verriegelungsschaltung wird auf die
eine Eingangsleitung der zugehörigen UND-Schaltung ein Potential gelegt, das die UND-Schaltung derart vorbereitet, dass ein über die
andere Eingangsleitung vom entsprechenden Unterbrechungskanal, kommende Signal die UND-Schaltung passiert. Diese auf den Ausgangsleitungen
540 bis 547 der UND-Schaltungen erscheinenden Signale dienen zur Anzeige von- erlaubten Unterbrechungsanforderungen. Die in Fig. 5
gezeigte Schaltung liefert ausserdem auf den Ausgangsleitungen 57 bzw. 58 Signale "Unterbrechung angefordert" (UNT ANGEF) und
"externe Unterbrechung angefordert" (EXT ANGEF), die der in Fig. b gezeigten Schaltung zugeführt werden und zur Anzeige dienen, dass eine
Unterbrechungsanforderung irgendeiner Art, bzw. eine Anforderung für
eine externe Unterbrechung vorliegt. Das Signal UNT ANGEF erscheint
am Ausgang der ODER-Schaltung 56, deren Eingangsleitungen mit den Leitungen 540 bis 547 verbunden sind.
Da eine Mehrzahl von E/A-Kanälen 120 bis 126 angeschlossen ist, mehrere
E/A-Unterbrechungsanforderungen daher gleichzeitig auftreten können,
muss eine Prioritätsreihenfolge dieser Kanäle bestimmt werden, wenn nicht
alle Kanäle mit nur einer Ausnahme durch die Maskenbits 0 bis 6 des aktiven
Docket 6580 WB
009810/1389 ' mD original
PSWs als unerlaubt definiert werden. Die für diese Prioritätsbestimmung
erforderliche Schaltung wird jedoch nicht mehr beschrieben, da sie nicht
einen wesentlichen Teil der vorliegenden Erfindung darstellt.
Die Fig. 6 zeigt ein Blockdiagramm der in Fig. 1 mit 10 bezeichneten ·
Steuerschaltung, die zur Steuerung der verschiedenen.beim gleichzeitigen
Auftreten mehrerer Unterbrechungsanforderungen erforderlichen PSW-Operationen dient. Diese Schaltung bestimmt die durch den Aufbau der
Anlage vorgegebene Prioritätsreihenfolge., in der die Unterbrechungsprogramme verschiedener Art ausgeführt werden.
Block 60 stellt die Schaltungen dar, die unter der direkten Kontrolle
einer Folge von Mikroinstruktionen die. Ausführung der Makroinstruktionen
der zu bearbeitenden Programme steuert. Diese Operationen werden entweder durch ein am Anfang eines Problemprogramms auf die Leitung
61 gegebene Signal eingeleitet, oder durch ein Signal auf der Leitung 62; letzteres erscheint nach vollständiger Ausführung einer Makroinstruktion
wenn keine Unterbrechungsanforderung vorliegt, oder am Anfang eines Unterbrechungsprogrammes. Die von der Schaltung 60 gesteuerten
Operationen umfassen auch die laufend erfolgenden Ae nde runge η und Vervollständigungen;des aktiven PSWs. .
Wenn durch Signale auf den Leitungen 63 oder 64 die Anforderung für
erlaubte MASCH PRUEF-oder PROG PRUEF-Unterbrechungen angezeigt
wird, bewirkt die Schaltung 60 die sofortige Beendung der gerade ausgeführten
Mikroinstruktionenfolge und liefert Signale auf den Ausgangs-leitungen 65 bzs. 66. Diese Signale werden zu den durch die Blöcke 8.0D
Docket 6580 WB 0 0 9 810*1389
' -25- . 1A9920G
Und 8OE dargestellten Schaltungen geleitet, die die entsprechenden
Unterbrechungen einleiten. Wird durch eine vom Programmierer vorgesehene
Instruktion eine MON RUF-Unterbrechung eingeleitet, sp erscheint ein Signal auf der Ausgangsleitung 67, welches, zur
Schaltung 8OC geleitet, die erforderliche Unterbrechung bewirkt.
Die jeweils letzte Instruktion einer Mikroinstruktionsfolge erzeugt
ein Signal auf der Ausgahgsleitung 68, das zur Feststellung dient, ob'während der Ausführung der Mikroinstruktionsfolge eine. Anforderung
für eine E/A- oder EXT-Unterbrechung gestellt wurde.
Die Blöcke 70 "Unterbrechung?11 und .72 "Extern?" stellen einfache
logische Schaltungen dar, die nach Eingang eines Signals auf den
Leitungen 6f> bzw. 71 die folgende Funktion ausüben: wenn ein UNT ANGEF-
oder ein EXT ANGEF-Signal auf den Eingangsleitungen 57 bzw, 58 vorhanden ist, wird ein Signal auf die JA-Ausgangsleitung 71 bzw. 73 gegeben;
wenn kein Anforderungs signal vorhanden ist, wird ein Signal auf der
NEIN-Ausgangsleitung 62 bzw. 74 erzeugt.
Mit 80A'bis 8OE sind Schaltungen gekennzeichnet, die für die verschiedenen
Unterbrechungsarten EXT, E/A, MON-RUF, PROG PRUEF und MASCH
PRUEF unter der Kontrolle von Makroinstruktionen die folgenden Operationen steuern: Vervollständigung des aktiven PSWs mit Informationen, die die
anfordernde Einheit und den Grund für die Unterbrechung definieren; Uebertragung des aktiven PSWs vom Arbeitsspeicher in eine der "alten"
PSW-Speicherstellen, wobei diese Speicher stelle durch die Art der Unter«
Docket. 6580 WB
■Q0981 0/1389
brechung bestimmt ist: Spc>icherstelle"altes EXT PSW*für Schaltung 3OA,
"altes E/A PSw"für 8OB, "altes MON RUF *PSw"für 80C,"altc-s PROG PRUEF
PSW"für 8OD u"nd"altes MASCH PRUEF PSW*für 8OE; Auslesen des neuen
PSVvfe aus der Speicherstelle des Hauptspeichers, die der Stellt·, in die das
alte PSVV eingespeichert wurde, zugeordnet ist, und Ueberfül.rung des neuen PSWs in den Arbeitsspeicher. Nach Abschluss dieser Operationen
erscheint ein Ausgangssignal auf der der Schaltung 80 entsprechenden
Leitung 68A, B, C, D bzw. E.
Die Arbeitsweise der in Fig. 6 gezeigten Schaltungsanordnungen wird
nachfolgend anhand von drei Beispielen erklärt:
1. Keine Unterbrechung angefordert;
2. Eine einzelne Unterbrechungsanforderung;
3. Mehrere gleichzeitig auftretende Unterbrechungsanforderungun.
Es sei angenommen, dass während einer Alakroinstruktion, die unter der
Steuerung der entsprechenden Mikroinstruktionsfolge ausgeführt wurde, in der Anlage keine Unterbrechungsbedingungen, auftraten .und somit keine
Unterbrechungsanforderung gestellt wurde.
Da keine MASCH PRUEF-oder PROG PRUEF-Unterbrechungsanforderungen
gestellt wurden, welche eine sofortige Beendung der Makroinstruktion sfol ge
bewirkt hätten, wird die letzte Makroinstruktion der Folge zur Feststellung
benutzt, ob eine Anforderung für eine E/A- oder EXT-Unterbrechung
vorliegt. Das auf der Leitung 68 erscheinende Abfragesignal wird zur Schaltung 70 geleitet. Diese Schaltung führt die bereits erwähnte einfach«?
Docke. 6580 WB v.009B.)0/1389
logische Funktion aus, um eines der Ausgangssignale JA oder NEIN auf den Leitungen 71 bzw. 62 zu erzeugen. Da angenommen wurde,
dass keine Unterbrechungsanforderung vorliegt, ist auf der Eingangsleitung UNT ANGEF 57 kein Signal vorhanden und die Schallung70 gibt
ein Signal auf die NEIN-Ausgangsleitung 62. Dieses Signal wird zur
Steuerschaltung 60 geleitet und bewirkt hier die Ausführung der nächsten
Makroinstruktion des laufenden Programmes.
Es sei angenommen, dass während der Ausführung einer zu einem Problemprogramm
gehörenden Makroinstruktion eine E/A-Unterbrechung vom Kanal 121 (siehe Fig. 5) angefordert wurde und dass das Bit 1 der
Systemmaske der aktiven PSWs, das diesem Kanal entspricht, eine 1 ist und somit die Unterbrechung als erlaubt definiert.
Da keine MASCH PRUEF- oder PROG PRUEF-Unterbrechungsanforderungen
gestellt wurde, die eine sofortige Beendung der Mikroinstruktionsfolge bewirkt hätten, wird die letzte Makroinstruktion der Folge zur Feststellung
benutzt, ob eine Anforderung für eine E/A-- oder EXT-Unterbrechung
vorliegt. Das Abfragesignal auf Leitung 68 wird zur Schaltung 70 geleitet.
Da angenommen wurde, dass eine Anforderung für eine erlaubte Unterbrechung
gestellt wurde und dieses durch ein Signal auf der Leitung 57 angezeigt wird, erzeugt die Schaltung 70 auf der JA-Ausgangsleitung 71
einen Impuls, der zur Schaltung 72 geführt wird. Diese Schaltung, die beim Auftreten einer Anforderung für eine EXT-Unterbrechung ein Signal
auf der Leitung 58 erhält, übt die erwähnte Funktion, die der der Schaltung
Docket 6580 WB
009810/13 89 ^
70 entspricht, aus und liefert ein JA-oder NEIN-Ausgangssignal auf den
Leitungen 73 bzw. 74. Da angenommen wurde, dass nur eine E/A-Unterbrechung
angefordert wurde, liegt kein Signal auf der Leitung 58 und es erscheint ein Ausgangssignal auf der NEIN-Leitung 74. Für die in Fig.
gezeigte Anordnung bedeutet dieses Signal, dass eine E/A- Unterbrechung angefordert wurde; dieses wird anhand der folgenden Betrachtung klar:
ein Signal auf Leitung 57 zeigt an, dass eine Anforderung für eine Unterbrechung irgendeiner Art gestellt wurde, und da in der vorliegenden,
in Fig.· 6 gezeigten Anordnung nur zwei verschiedene Arten von Unterbrechungsanforderungen
abgefragt werden und ferner die Abwesenheit eines Signals auf Leitung 58 angibt, dass die vorliegende Anforderung
sich nicht auf eine EXT-Unterbrechung bezieht, muss es sich notwendigerweise
um eine Anforderung für eine E/A-Unterbrechung handeln.
Die Abfrage der verschiedenen Arten von Unterbrechungsanforderungen
wird in der Reihenfolge zunehmender Dringlichkeit der Unterbrechungen
ausgeführt. In der in Fig. 6 gezeigten Anordnung werden nur zwei verschiedene
Dringlichkeitsstufen in Betracht gezogen, jedoch kann, ohne das Prinzip des Verfahrens zu ändern, ein weiter unterteiltes Dringlichkeit«-
schema verwendet werden; so könnten z.B. den verschiedenen E/A-Kanälen
unterschiedliche Prioritäten zugeordnet werden, denen durch zusätzliche
Abfrage schaltungen (entsprechend den Schaltungen 70 und 72) Rechnung getragen werden kann. , '
Zum angenommenen Beispiel zurückkehrend: das NEIN-Signal auf der
Leitung 74 wird zur Schaltung 8OB geleitet, die die Vervollständigung
Docket 6580V1IfB ·
009810/1389
SAO
.■*■■-
.-des aktiven PSWs.steuert und die Ueberführung des dem unterbrochenen
Programm zugeordneten alten PSW vom Arbeitsspeicher in die Kaupt-.
speicherstelle "altes E/A PSW" veranlässt. Da die Abfrage nach EXT-
und E/A-Unterbrechungsanforderungen am Ende einer Makroinstruktion
stattfindet, enthält das aktive PSW zu dieser Zeit alle Informationen, die
zur Wiederaufnahme des unterbrochenen Programmes nach Abschluss des Unterbrechungsprogrammes erforderlich sind. Neben der Einspeicherüng
des aktiven PSW's als altes PSW in den Hauptspeicher sind keine weiteren Datenübertragungs- oder Einspeicherungsoperationen
erforderlich. Anschliessend wird, weiterhin durch die Schaltung 8OB gesteuert, das für das E/A-Unterprogramm erforddrlichoneue PSW
von der Hauptspeicherstelle "neues E/A PSW" ausgelesen und in den
Arbeitsspeicher überführt.
Nach Ausführung, dieser PSW-Uebertragungen wird das Ausgangssignal
auf der Leitung 68B zur Schaltung 70 geleitet und die oben erläuterte .
Abfrageoperation wiederholt. Da angenommen worden ist, dass keine weiteren Unterbrechungsanforderungen gestellt wurde, wird ein Signal
auf der NEIN-Ausgangsleitung 62 erzeugt und zur Schaltung 60 weitergeleitet,
dieihrerseits die Ausführung des E/A-Unterbrechungsprogrammes einleitet.
·
Nach Abschluss dieses Unterprogrammes wird, "wenn keine weitere
Unterbrechung angefordert wurde, das aktive PSW, welches das dem
E/A-Unterbrechungsprogramm zugeordnete PSW ist, in die Hauptspeicherstelle
"neues E/A PSW" eingespeichert, und das 3PSW, das die für die
Docket 6580 WB . _ ; BAD ORIGlNAU
H99200 le
. Wiederaufnahme des unterbrochenen Problemprogrammes notwendigen Informationen enthält, wird aus der Speicherstelle "altes E/A PSW"
ausgelesen und in den Arbeitsspeicher überführt. Anschliessead wird die
Ausführung des Problemprogramrnes fortgesetzt.
Es sei angenommen, dass während der Ausführung einer zu einem
Problemprogramm gehörenden Makroinstruktion zwei Anforderungen für Unterbrechungen unterschiedlicher Dringlichkeit, und zwar für eine
E/A- und für eine EXT-Unterbrechung, aufgetreten sind und als erlaubt
bestimmt wurden.
Da keine Anforderungen für MASCH PRUEF-oder PROG PRUEF-Unterbrechungen aufgetreten sind, die eine sofortige Beendung der Mikroinstruktionsfolge
bewirkt haben würde, dient die letzte Mikroinstruktion
der Folge zur Feststellung, ob eine Anforderung für eine E/A- oder eine EXT-Unterbrechung vorliegt. Das Abfragesignal auf der Leitung 68 wird
zur Schaltung 70 geleitet, die, wie in Beispiel 2 erläutert, ein JA-Ausgangssignal auf der Leitung 71 entwickelt. Auf den beiden Eingangsleitungen
58 und 71 de1· Schaltung 72 sind Signale vorhanden, so dass diese Schaltung
ebenfalls ein JA-Ausgangssignal auf die Leitung 73 gibt, das zur Schaltung
8OA weitergeleitet wird. Diese Schaltung bewirkt die Einspeicherung des
aktiven PSW's in die Hauptspeicher stelle "altes EXT PSW" und die darauf
folgende Ueberführung des neuen PSW^S; das für die Ausführung des EXT-Programmes
erforderlich ist, von der Hauptspeicherstelle "neues EXT PSW"
zum Arbeitsspeicher. Nach Abschluss dieser tJebertragungen wird das·._.
Docket 658b WES
ÖÖS8iÖ/if89
auf Leitung 68A entwickelte Signal der Schaltung 70 zugeführt und die
Abfragfoperation wiederholt. Da eine zweite Unterbrechungsanforderung
vorliegt, ist auf Leitung 57 ein Signal vorhanden und die Schallung 70
liefert ein JA-Ausgangssignal auf Leitung 71. Da die Anforderung; für die
EXT-Unterbrechung durch die Ueberführung des entsprechenden PSW1 s
in den Arbeitsspeicher bereits berücksichtigt wurde, liegt kein Signal
mehr auf der Leitung 58 und die Schaltung 72 entwickelt ein NEIN-Ausgangssignal
auf der Leitung 74. Dieses zeigt an, wie bereits erläutert, dass
eine Anforderung für eine E/A-Unterbrechung vorliegt, und die Schaltung
8OB steuert die Einspeicherung des alten PSWs in die Hauptspeicher stelle
"altes E/A PSW". Eb wird daraufhingewiesen, dass dieses alte PSW das
dem noch nicht ausgeführten EXT-Unterbrechungsprogramm zugeordnete
Kontrollwort ist. Dieses PSW enthält alle Informationen, die erforderlich
sind, um die Ausführung des EXT-Unterhrechungsprogrammes einzuleiten
sobald es wieder in den Arbeitsspeicher überführt wird. Dieses geschieht, wie weiter unten erklärt werden wird, nach Abschluss des E/A-Unterbrechungsprogramme s, das gegenüber der EXT-Unterbrechung von höherer
Dringlichkeit ist. .
Nach Einspeicherung des alten (EXT) PSW's wird das neue, für das E/A-Unterbrechungsprogramm
erforderliche PSW aus der Hauptspeicherstelle "neues E/A PSW" ausgelesen und in den Arbeitsspeicher überführt.
Das nach Abschluss dieser Operationen auf der Leitung 68B erscheinende
Signal wird an die Schaltung 70 gegeben und die Abfrageoperation wird
erneut wiederholt. Da angenommen wurde, dass keine weiteren Unter-
Docket 6580 WB
BAD ORIGINAL 009810/1389
brechungsanforderungen gestellt wurden, erscheint ein Signal auf der
NEIN-Ausgangsleitung 62, das, zur Schaltung 60 geführt, die Ausführung
des E/A-Unterbrechungsprogrammes einleitet.
Nach Abschluss des E/A-Unterbrechungsprogrammes und unter der Annahme, dass keine weiteren Unterbrechungsanforderungen aufgetreten
sind, wird das aktive (E/A) PSW in die Hauptspeicher stelle* "neues E/A PSW" eingespeichert und das PSW für das EXT-Unterbrechungsprogramm
aus der Speicherstelle "altes E/A PSW" ausgelesen und dem Arbeitsspeicher zugeführt. Hierauf erfolgt die Ausführung des zweiten Unterbrechungsprogrammes.
Nach Abschluss auch dieses Programmes und wiederum annehmend, dass
keine weiteren Unterbrechungsanforderungen aufgetreten sind, wird das jetzt aktive (EXT) PSW in die Hauptspeicherstelle "neues EXTPSW" eingespeichert
und das PSW, das die für die Wiederaufnahme des unterbrochenen Problemprogrammes erforderlichen Informationen enthält,
der Speicherstelle "altes EXT PSW" entnommen und in den Arbeitsspeicher eingegeben. Hierauf wird die Ausführung des unterbrochenen Problemprogrammes
fortgesetzt.
Bei dem beschriebenen Verfahren werden, wenn gleichzeitig mehrere
Unterbrechungsanforderungen auftreten, die entsprechenden PSW*s in der
Reihenfolge zunehmender Dringlichkeit der Unterprogramme eingespeichert,
das PSW niedrigster Priorität wird zuerst zurücksichtigt; hingegen erfolgt
die Ausführung der Unterprogramme in der entgegengesetzten Reihenfolge,
d.h. das Unterprogramm höchster Dringlichkeit wird zuerst ausgeführt.
Docket 6580 WB
00981071389
Mit Hilfe des angegebenen Verfahrens ist es auch möglich, Unterbrechxmgsanforderungen
zu berücksichtigen, die während der Ausführung eines Unterbrechungsprogrammes anderer Art auftreten. Wenn die angeforderte
zweite Unterbrechung als erlaubt bestimmt wurde, ermöglicht das System
die Unterbrechung des ablaufenden ersten Unterbrechungsprogrammes.
Aus dem Vorangegangenen wird ersichtlich, dass, sobald das Monitor-Programm
die Ausführung eines Unterbrechungsprogrammes eingeleitet und begonnen hat, dieses Unterprogramm nicht durch ein Unterprogramm
der gleichen Art unterbrochen werden darf. Würde dieses zugelassen, so würden alle Informationen über das unterbrochene, ursprünglich
ablaufende Problemprogramm verloren gehen, da das dem ersten Unterbrechungsprogramm
zugeordnete PSW in die "alte " PSW-Speicher stelle eingegeben würde, die bereits das PSW des ursprünglichen Problemprogrammes
enthält. Diese Situation kann durch geeignete Anwendung der Maskenbits der PSW s'verhindert werden: handelt es sich beispielsweise
bei den nacheinander auftretenden Unterbrechungsanforderungen um E/AUnterbrechungen,
muss die Systemmaske des neuen E/A-PSW's das dem ersten Unterbrechurigsprogramm entspricht, alle von anderen E/A-Kanälen
angeforderten Unterbrechungen als unerlaubt definieren. Auf diese Weise
kann keine weitere E/A-r Unterbrechung eingeleitet werden bevor nicht das
gegenwärtig ablaufende E/A-Unterprogramm zu Ende" geführt ist.
MASCH PRUEF-und PROG PRUEF-Unterbrechüngen werden sofort
nach Auftreten der die Unterbrechungen erfordernden Bedingungen eingeleitet.
Auch liier wird das der Kontrolle des zu Unterbrechenden
Docket 6580 WB BAD ORIGINAL
Programms dienende alte PSV/" in. doi: Hautpspeicher überführt und das
neue, für die Ausführung des. Unterbrechungsprogrammes erforderliche·
PSV/ in den Arbeitsspeicher eingegeben. Das gleiche gilt für die MOX RLT-Unterbrechungen,
die sich lediglich darin unterscheiden, dass sit· durch
vom Programmierer vorgesehene Makroinstruktionen eingeleitet werden.
Die durch den in Fig. 6 gezeigten Aufbau der Anlage vorgegebene Prioritätsreihenfolge kann leicht geändert werden, indem man die durch die in den
PSWs enthaltenen Masken gegebe'nen Möglichkeiten ausnutzt. Soll z. B-.
ein Unterbrechungsprogramm, das entsprechend der Schaltung eine niedrigere Priorität aufweist, als ein zweites, gleichzeitig angefordertes
Unterbrechungsprogramm vor diesem zweiten Unter br e.chungspro« ramm
höherer Priorität zur Ausführung gelangen, so kann man die Maskenbits
des dem Unterprogramm, niedrigerer Priorität entsprechenden PSWs,
das als erstes in den Arbeitsspeicher entgegeben wird, so wählen, dass
das dem die Unterbrechung höherer Priorität anfordernden Kanal entsprechende Maskenbit zu "0" gemacht wird, wodurch diese Unterbrechung
als nicht erlaubt definiert wird. Hierdurch ist ein sehr vielseitiges und leicht variierbares Unterbrechungsverfahren gegeben, das Unterbrechungen
Unterschiedlicher Dringlichkeit in einer vom Programmierer oder vom
Programm selbst bestimmten Reihenfolge auszuführen gestattet.
Docket 6580 fß 009810/1389
Claims (2)
1. Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung,
mit einem aktiven Programmstatuswort-Register (PSW-Register)
für die Aufnahme der das laufende Programm beschreibenden Daten (Programmstatuswort) und mit einer Steuerschaltung zur Steuerung
des Programmablaufs und zur Entgegennahme von Unterbrechungsanforderungen,
gekennzeichnet durch mehrere inaktive PSW-Register für die Aufnahme von Daten zur Beschreibung bereitstehender Unterprogramme oder unterbrochener Programme; durch von der Steuerschaltung
(60) zur Einleitung je eines Unterprogramms unterschiedlicher Polaritäten erregbare Steuervorrichtungen (80), die je einem Unterprogramm
zugeordnet sind und die bei Erregung das aktive Programmstatuswort ergänzen, in das dem betreffenden Unterprogramm zugeordnete
inaktive PSW-Register abspeichern und das diesem Unterprogramm
zugeordnete Programmstatuswort in das aktive PSW-Register übertragen;
und durch zwischen die Steuerschaltung (6o) und die Steuervorrichtungen
(80) eingefügte logische Schaltungen (70, 72) die nach jedem solchen
Austausch von Programmstatusworten prüfen, ob weitere Unterbrechungsanforderungen
vorliegen, und die gegenenfalls eine weitere Steuervorrichtung (z, B« 80 A) höherer Priorität zum nochmaligen Austausch der Programm Statusworte erregen.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet,
daß jedem bereitstehenden Unterprogramm ein Registerpaar (40 D bis
40H) zugeordnet ist, von denen eines (z. B, 40 DI) für die Aufnahme
des dem zu unterbrechenden Programm zugehörigen Programmstatuswort
vorgesehen ist und das andere (z. B. 40 DII) das dem unterbrechenden Unterprogramm zugehörigen und in das aktive PSW-Register zu
übertragende Programmstatuswort enthält; daß beim gleichzeitigen Vorliegen einer weiteren Unterbrechungsanforderung höherer Priori-Docket
6580 WB 00 9810/1389
: '"' : ? '- BAD ORfQINAL
tat das Programmstatuswort des zunächst berücksichtigten Unterprogramms
aus dem aktiven PSW-Register wieder entnommen und in das eine Register
(z. B. 40 E III) des dem zweiten Unterprogramm zugeordneten Registerpaares (z. B, 40 E) eingetragen und aus dem anderen Register (z. B. 4OE
IV) des zweiten Registerpaares das dem zweiten Unterprogramm zugehörige Programmstatuswort zum aktiven PSW-Register übertragen wird
und daß weitere gleichzeitige Unterbrechungsanforderungen in gleicher Weise behandelt werden und der Abbau der Anfordervmgen in umgekehrter Folge
vorgenommen wird.
009 810/1389
Docket 6580 WB
31-Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US357372A US3400371A (en) | 1964-04-06 | 1964-04-06 | Data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE1499200A1 true DE1499200A1 (de) | 1970-03-05 |
DE1499200B2 DE1499200B2 (de) | 1971-04-15 |
Family
ID=23405304
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DENDAT1250659D Pending DE1250659B (de) | 1964-04-06 | Mikroprogrammgesteuerte Datenverarbeitungsanlage | |
DEJ27677A Pending DE1246289B (de) | 1964-04-06 | 1965-03-11 | Bedingungsregister fuer eine programmgesteuerte Datenverarbeitungsanlage |
DE19651303416D Pending DE1303416B (de) | 1964-04-06 | 1965-03-19 | |
DE19651499200 Pending DE1499200B2 (de) | 1964-04-06 | 1965-03-20 | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung |
DE19651499201 Pending DE1499201B2 (de) | 1964-04-06 | 1965-03-26 | Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung |
DEJ27790A Pending DE1237363B (de) | 1964-04-06 | 1965-03-27 | Arithmetisch-Logische-Einheit |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DENDAT1250659D Pending DE1250659B (de) | 1964-04-06 | Mikroprogrammgesteuerte Datenverarbeitungsanlage | |
DEJ27677A Pending DE1246289B (de) | 1964-04-06 | 1965-03-11 | Bedingungsregister fuer eine programmgesteuerte Datenverarbeitungsanlage |
DE19651303416D Pending DE1303416B (de) | 1964-04-06 | 1965-03-19 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19651499201 Pending DE1499201B2 (de) | 1964-04-06 | 1965-03-26 | Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung |
DEJ27790A Pending DE1237363B (de) | 1964-04-06 | 1965-03-27 | Arithmetisch-Logische-Einheit |
Country Status (12)
Country | Link |
---|---|
US (1) | US3400371A (de) |
AT (4) | AT264162B (de) |
BE (5) | BE662154A (de) |
CH (6) | CH418011A (de) |
DE (6) | DE1246289B (de) |
ES (3) | ES311385A1 (de) |
FI (1) | FI46568C (de) |
GB (7) | GB1061361A (de) |
IL (1) | IL23159A (de) |
NL (5) | NL6504273A (de) |
NO (1) | NO117054B (de) |
SE (3) | SE316936B (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB768767A (en) * | 1954-05-20 | 1957-02-20 | Univ Kingston | Method and apparatus for density control |
US3388239A (en) * | 1965-12-02 | 1968-06-11 | Litton Systems Inc | Adder |
DE1524158B1 (de) * | 1966-06-03 | 1970-08-06 | Ibm | Addier-Subtrahier-Schaltung für kodierte Dezimalzahlen insbesondere solche in Byte-Darstellung |
DE1549531A1 (de) * | 1966-08-16 | 1971-04-01 | Scient Data Systems Inc | Digitale Rechenanlage |
US3478322A (en) * | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
US3544969A (en) * | 1967-11-27 | 1970-12-01 | Standard Computer Corp | Language independent computer |
US3568163A (en) * | 1968-10-07 | 1971-03-02 | Hewlett Packard Co | Incremental display circuit |
US3577189A (en) * | 1969-01-15 | 1971-05-04 | Ibm | Apparatus and method in a digital computer for allowing improved program branching with branch anticipation reduction of the number of branches, and reduction of branch delays |
US4558411A (en) * | 1969-05-19 | 1985-12-10 | Burroughs Corp. | Polymorphic programmable units employing plural levels of sub-instruction sets |
US3701972A (en) * | 1969-12-16 | 1972-10-31 | Computer Retrieval Systems Inc | Data processing system |
US3761893A (en) * | 1970-07-02 | 1973-09-25 | Modicon Corp | Digital computer |
US3740722A (en) * | 1970-07-02 | 1973-06-19 | Modicon Corp | Digital computer |
GB1349950A (en) * | 1971-12-21 | 1974-04-10 | Ibm | Microprogramme control system |
US3740728A (en) * | 1972-01-19 | 1973-06-19 | Hughes Aircraft Co | Input/output controller |
US3768077A (en) * | 1972-04-24 | 1973-10-23 | Ibm | Data processor with reflect capability for shift operations |
US3825902A (en) * | 1973-04-30 | 1974-07-23 | Ibm | Interlevel communication in multilevel priority interrupt system |
DE2336676C3 (de) * | 1973-07-19 | 1981-06-19 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Modifizierung von Mikroprogrammbefehlen |
DE2560129C2 (de) * | 1974-09-25 | 1982-11-04 | Data General Corp., 01581 Westboro, Mass. | Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge |
US3990052A (en) * | 1974-09-25 | 1976-11-02 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
JPS5931734B2 (ja) * | 1977-10-25 | 1984-08-03 | デイジタル イクイプメント コ−ポレ−シヨン | 特別のオペランド指定子を持つた命令を実行する中央処理装置 |
US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
US4310895A (en) * | 1979-11-02 | 1982-01-12 | International Business Machines Corporation | Plural null digital interconnections |
FR2469752B1 (fr) * | 1979-11-14 | 1986-05-16 | Bull Sa | Dispositif de partage d'un sous-systeme central d'un systeme de traitement de l'information en plusieurs sous-systemes independants |
US4368513A (en) * | 1980-03-24 | 1983-01-11 | International Business Machines Corp. | Partial roll mode transfer for cyclic bulk memory |
US4453209A (en) * | 1980-03-24 | 1984-06-05 | International Business Machines Corporation | System for optimizing performance of paging store |
US4408273A (en) * | 1980-05-27 | 1983-10-04 | International Business Machines Corporation | Method and means for cataloging data sets using dual keyed data sets and direct pointers |
US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
US4435753A (en) * | 1980-10-31 | 1984-03-06 | International Business Machines Corporation | Register allocation system using recursive queuing during source code compilation |
NL8205076A (nl) * | 1982-12-31 | 1984-07-16 | Philips Nv | Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld. |
US4567574A (en) | 1983-03-14 | 1986-01-28 | International Business Machines Corporation | Optimizing cobol object code instruction path length with respect to perform statements |
US4575798A (en) * | 1983-06-03 | 1986-03-11 | International Business Machines Corporation | External sorting using key value distribution and range formation |
US4531185A (en) * | 1983-08-31 | 1985-07-23 | International Business Machines Corporation | Centralized synchronization of clocks |
US4584643A (en) * | 1983-08-31 | 1986-04-22 | International Business Machines Corporation | Decentralized synchronization of clocks |
US4587628A (en) * | 1983-12-05 | 1986-05-06 | International Business Machines Corporation | Method and apparatus for dynamic invocation of utilities |
US4603323A (en) * | 1984-05-25 | 1986-07-29 | International Business Machines Corporation | Method for extending the exponent range of an IBM 370-type floating point processor |
US4631673A (en) | 1985-01-22 | 1986-12-23 | International Business Machines Corporation | Method for refreshing multicolumn tables in a relational data base using minimal information |
US4782444A (en) * | 1985-12-17 | 1988-11-01 | International Business Machine Corporation | Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering |
US4775969A (en) * | 1986-05-15 | 1988-10-04 | Aquidneck Systems International, Inc. | Optical disk storage format, method and apparatus for emulating a magnetic tape drive |
US5034914A (en) * | 1986-05-15 | 1991-07-23 | Aquidneck Systems International, Inc. | Optical disk data storage method and apparatus with buffered interface |
US5247646A (en) * | 1986-05-15 | 1993-09-21 | Aquidneck Systems International, Inc. | Compressed data optical disk storage system |
US4823306A (en) * | 1987-08-14 | 1989-04-18 | International Business Machines Corporation | Text search system |
EP0381655A3 (de) * | 1989-01-31 | 1992-12-02 | International Business Machines Corporation | Verfahren für die Tasksynchronisierungszuweisung zwischen Multiaufgabenbetriebssystemen |
EP0409808A3 (en) * | 1989-07-19 | 1991-11-27 | International Business Machines Corporation | Method for ensuring map integrity in a system-managed store of a computer |
US5218696A (en) * | 1989-07-24 | 1993-06-08 | International Business Machines Corporation | Method for dynamically expanding and rapidly accessing file directories |
US5226143A (en) * | 1990-03-14 | 1993-07-06 | International Business Machines Corporation | Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager |
US5301290A (en) * | 1990-03-14 | 1994-04-05 | International Business Machines Corporation | Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store |
JP2575543B2 (ja) * | 1990-04-04 | 1997-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時アクセス管理方法 |
EP0472814B1 (de) * | 1990-08-31 | 1996-12-18 | International Business Machines Corporation | Kanäle in einem Rechnerein-Ausgabesystem |
US5379398A (en) * | 1992-04-20 | 1995-01-03 | International Business Machines Corporation | Method and system for concurrent access during backup copying of data |
US5584039A (en) * | 1993-11-08 | 1996-12-10 | International Business Machines Corporation | System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices |
US5487077A (en) * | 1994-05-23 | 1996-01-23 | International Business Machines Corporation | Location dependent variable error correction processing for multi-track recording media using variable length coding means |
US7607133B2 (en) * | 2004-02-11 | 2009-10-20 | Arm Limited | Interrupt processing control |
GB2506169A (en) * | 2012-09-24 | 2014-03-26 | Imagination Tech Ltd | Limiting task context restore if a flag indicates task processing is disabled |
CN109171701B (zh) * | 2018-07-05 | 2023-02-03 | 北京谷山丰生物医学技术有限公司 | 提高心电采集系统频率响应的方法及装置 |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2843841A (en) * | 1954-09-20 | 1958-07-15 | Internat Telemeter Corp | Information storage system |
US2872666A (en) * | 1955-07-19 | 1959-02-03 | Ibm | Data transfer and translating system |
US3319230A (en) * | 1956-09-26 | 1967-05-09 | Ibm | Data processing machine including program interrupt feature |
DE1084497B (de) * | 1957-11-13 | 1960-06-30 | Emi Ltd | Logistische elektronische Rechenvorrichtung |
NL136146C (de) * | 1957-12-09 | |||
IT600467A (de) * | 1957-12-23 | |||
IT614742A (de) * | 1958-08-29 | 1900-01-01 | ||
US3056552A (en) * | 1959-01-28 | 1962-10-02 | Ibm | Asynchronous parallel adder deriving intermediate sums and carries by repeated additions and multiplications |
US3153775A (en) * | 1959-02-11 | 1964-10-20 | Ibm | Table look-up system |
US3141151A (en) * | 1959-03-23 | 1964-07-14 | Burroughs Corp | Magnetic tape storage system for digital computers wherein an indication of the number of bits in a message is stored with the message |
US3185966A (en) * | 1959-09-08 | 1965-05-25 | Ibm | Data editing system |
NL255604A (de) * | 1959-09-08 | |||
NL136144C (de) * | 1959-10-19 | 1900-01-01 | ||
US3111648A (en) * | 1960-03-31 | 1963-11-19 | Ibm | Conversion apparatus |
NL267513A (de) * | 1960-07-25 | |||
US3233224A (en) * | 1960-09-15 | 1966-02-01 | Burroughs Corp | Data processing system |
US3119098A (en) * | 1960-10-31 | 1964-01-21 | Ibm | Stream editing unit |
US3228005A (en) * | 1960-12-30 | 1966-01-04 | Ibm | Apparatus for manipulating data on a byte basis |
NL274015A (de) * | 1961-01-27 | |||
US3273126A (en) * | 1961-08-25 | 1966-09-13 | Ibm | Computer control system |
NL283190A (de) * | 1961-09-13 | |||
DE1157009B (de) * | 1961-09-13 | 1963-11-07 | Telefunken Patent | Rechenwerk einer digitalen Rechenmaschine |
GB993879A (de) * | 1961-11-16 | |||
US3258748A (en) * | 1962-01-08 | 1966-06-28 | Fntan, fntin | |
NL287533A (de) * | 1962-01-22 | |||
US3248708A (en) * | 1962-01-22 | 1966-04-26 | Ibm | Memory organization for fast read storage |
NL292579A (de) * | 1962-05-10 | |||
NL294416A (de) * | 1962-06-22 | |||
BE634161A (de) * | 1962-07-03 | |||
US3267433A (en) * | 1962-08-24 | 1966-08-16 | Ibm | Computing system with special purpose index registers |
US3292152A (en) * | 1962-09-17 | 1966-12-13 | Burroughs Corp | Memory |
NL298451A (de) * | 1962-10-01 | |||
US3319226A (en) * | 1962-11-30 | 1967-05-09 | Burroughs Corp | Data processor module for a modular data processing system for operation with a time-shared memory in the simultaneous execution of multi-tasks and multi-programs |
US3286239A (en) * | 1962-11-30 | 1966-11-15 | Burroughs Corp | Automatic interrupt system for a data processor |
US3264615A (en) * | 1962-12-11 | 1966-08-02 | Ibm | Memory protection system |
US3271744A (en) * | 1962-12-31 | 1966-09-06 | Handling of multiple matches and fencing in memories | |
US3292155A (en) * | 1963-03-15 | 1966-12-13 | Burroughs Corp | Computer branch command |
US3268875A (en) * | 1963-12-20 | 1966-08-23 | Ibm | Translation operation |
US3297997A (en) * | 1963-06-10 | 1967-01-10 | Beckman Instruments Inc | List control |
DE1218761B (de) * | 1963-07-19 | 1966-06-08 | International Business Machines Corporation, Armonk, N. Y. (V. St. A.) | Datenspeidbereinrichtung |
US3297999A (en) * | 1963-08-26 | 1967-01-10 | Burroughs Corp | Multi-programming computer |
US3300764A (en) * | 1963-08-26 | 1967-01-24 | Collins Radio Co | Data processor |
US3302183A (en) * | 1963-11-26 | 1967-01-31 | Burroughs Corp | Micro-program digital computer |
US3290658A (en) * | 1963-12-11 | 1966-12-06 | Rca Corp | Electronic computer with interrupt facility |
US3312946A (en) * | 1963-12-18 | 1967-04-04 | Ibm | Processor for coded data |
US3328768A (en) * | 1964-04-06 | 1967-06-27 | Ibm | Storage protection systems |
US3315235A (en) * | 1964-08-04 | 1967-04-18 | Ibm | Data processing system |
US3325785A (en) * | 1964-12-18 | 1967-06-13 | Ibm | Efficient utilization of control storage and access controls therefor |
-
0
- GB GB1054725D patent/GB1054725A/en active Active
- DE DENDAT1250659D patent/DE1250659B/de active Pending
-
1964
- 1964-04-06 US US357372A patent/US3400371A/en not_active Expired - Lifetime
-
1965
- 1965-02-11 GB GB5906/65A patent/GB1061361A/en not_active Expired
- 1965-03-01 GB GB8602/65A patent/GB1045425A/en not_active Expired
- 1965-03-11 DE DEJ27677A patent/DE1246289B/de active Pending
- 1965-03-15 IL IL23159A patent/IL23159A/xx unknown
- 1965-03-16 GB GB10969/65A patent/GB1108801A/en not_active Expired
- 1965-03-16 GB GB10974/65A patent/GB1055704A/en not_active Expired
- 1965-03-16 GB GB10973/65A patent/GB1108802A/en not_active Expired
- 1965-03-19 DE DE19651303416D patent/DE1303416B/de active Pending
- 1965-03-20 DE DE19651499200 patent/DE1499200B2/de active Pending
- 1965-03-22 AT AT259965A patent/AT264162B/de active
- 1965-03-25 AT AT275865A patent/AT255801B/de active
- 1965-03-26 DE DE19651499201 patent/DE1499201B2/de active Pending
- 1965-03-27 DE DEJ27790A patent/DE1237363B/de active Pending
- 1965-03-29 AT AT285265A patent/AT267226B/de active
- 1965-03-29 AT AT285365A patent/AT253260B/de active
- 1965-03-31 GB GB13606/65A patent/GB1108800A/en not_active Expired
- 1965-04-02 CH CH463665A patent/CH418011A/de unknown
- 1965-04-02 CH CH463965A patent/CH424324A/de unknown
- 1965-04-02 CH CH464165A patent/CH432065A/de unknown
- 1965-04-02 CH CH464065A patent/CH422394A/de unknown
- 1965-04-02 NO NO157511A patent/NO117054B/no unknown
- 1965-04-02 CH CH463865A patent/CH425282A/de unknown
- 1965-04-02 CH CH463765A patent/CH426321A/de unknown
- 1965-04-03 ES ES0311385A patent/ES311385A1/es not_active Expired
- 1965-04-05 ES ES0311414A patent/ES311414A1/es not_active Expired
- 1965-04-05 ES ES0311413A patent/ES311413A1/es not_active Expired
- 1965-04-05 NL NL6504273A patent/NL6504273A/xx unknown
- 1965-04-05 NL NL6504269A patent/NL6504269A/xx not_active Application Discontinuation
- 1965-04-05 NL NL6504272A patent/NL6504272A/xx unknown
- 1965-04-05 NL NL6504270A patent/NL6504270A/xx not_active Application Discontinuation
- 1965-04-05 NL NL656504271A patent/NL143351B/xx not_active IP Right Cessation
- 1965-04-06 FI FI650831A patent/FI46568C/fi active
- 1965-04-06 BE BE662154A patent/BE662154A/xx unknown
- 1965-04-06 BE BE662152A patent/BE662152A/xx unknown
- 1965-04-06 BE BE662153A patent/BE662153A/xx unknown
- 1965-04-06 BE BE662151A patent/BE662151A/xx unknown
- 1965-04-06 BE BE662149A patent/BE662149A/xx unknown
- 1965-04-06 SE SE4431/65A patent/SE316936B/xx unknown
- 1965-04-06 SE SE4432/65A patent/SE310277B/xx unknown
- 1965-04-06 SE SE4433/65A patent/SE311445B/xx unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1499200A1 (de) | Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung | |
DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2629459C2 (de) | ||
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
CH619309A5 (de) | ||
DE1915818A1 (de) | Elektronisches Datenverarbeitungssystem | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2930441C2 (de) | Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige | |
CH615521A5 (de) | ||
DE1931966B2 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2912287A1 (de) | Datenverarbeitungsgeraet | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2753650C2 (de) | Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2854400A1 (de) | Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen | |
DE1549434A1 (de) | Datenverarbeitungsanlage | |
DE1499200C (de) | Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE2936801C2 (de) | Steuereinrichtung zur Ausführung von Instruktionen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E77 | Valid patent as to the heymanns-index 1977 |