DE1499200A1 - Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung - Google Patents

Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung

Info

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
Application number
DE19651499200
Other languages
English (en)
Other versions
DE1499200B2 (de
Inventor
Magdall Albert Allan
Blaauw Gerrit Anne
Perkins Jun Charles Bertram
Peter Calingaert
Greene Kack Ellis
Villante Anthony Eugene
Collins Arthur Frederick
Carnevale Richard Joseph
Boehm Elaine Marie
Updike Bruce Martin
Amdhahl Gene Myron
Case Richard Paul
Hanf William Porter
Johnson Jacob Raymond
Helmut Weber
Rood John Willis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1499200A1 publication Critical patent/DE1499200A1/de
Publication of DE1499200B2 publication Critical patent/DE1499200B2/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/57Arithmetic 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/575Basic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3856Operand 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
Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung
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."
Feld 26A - Bits 0 bis 7 - SYSTEM-MASKE
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
OBlOiNALtNSPECTED
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.
Feld 26E - Bit 14 - LAUF/WART
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. . ·
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.
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- ;
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
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:
Bits 34 und 35 4-Bit-Code des aktiven PSV/'a.
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.
Feld 26K- Bits 40 bis 63 - INSTRUKTIONSADRESSE
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:
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.
Beispiel 1
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.
Beispiel 2
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.
Beispiel 3
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)

- 35 PATENTAN S P R Ü C H E
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
DE19651499200 1964-04-06 1965-03-20 Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung Pending DE1499200B2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
AT264162B (de) 1968-08-26
GB1108802A (en) 1968-04-03
BE662151A (de) 1965-08-02
DE1246289B (de) 1967-08-03
NL6504269A (de) 1965-10-07
AT253260B (de) 1967-03-28
DE1499201B2 (de) 1971-01-21
CH432065A (de) 1967-03-15
GB1054725A (de)
ES311414A1 (es) 1966-01-16
FI46568B (fi) 1973-01-02
CH422394A (de) 1966-10-15
CH418011A (de) 1966-07-31
DE1499201A1 (de) 1970-10-22
CH424324A (de) 1966-11-15
FI46568C (fi) 1973-04-10
NL6504273A (de) 1965-10-07
IL23159A (en) 1969-01-29
SE316936B (de) 1969-11-03
AT255801B (de) 1967-07-25
CH425282A (de) 1966-11-30
GB1055704A (en) 1967-01-18
BE662149A (de) 1965-08-02
GB1061361A (en) 1967-03-08
AT267226B (de) 1968-12-27
GB1045425A (en) 1966-10-12
DE1499200B2 (de) 1971-04-15
ES311385A1 (es) 1965-11-01
BE662153A (de) 1965-08-02
BE662154A (de) 1965-08-02
NL6504272A (de) 1965-10-07
DE1303416B (de) 1971-12-23
NL6504271A (de) 1965-10-07
GB1108801A (en) 1968-04-03
DE1237363B (de) 1967-03-23
US3400371A (en) 1968-09-03
GB1108800A (en) 1968-04-03
NO117054B (de) 1969-06-23
ES311413A1 (es) 1965-10-01
BE662152A (de) 1965-08-02
CH426321A (de) 1966-12-15
DE1250659B (de) 1967-09-21
NL6504270A (de) 1965-10-07
NL143351B (nl) 1974-09-16
SE311445B (de) 1969-06-09
SE310277B (de) 1969-04-21

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