DE1499200B2 - DATA PROCESSING SYSTEM WITH PRIORITY CONTROLLED PROGRAM INTERRUPTION - Google Patents

DATA PROCESSING SYSTEM WITH PRIORITY CONTROLLED PROGRAM INTERRUPTION

Info

Publication number
DE1499200B2
DE1499200B2 DE19651499200 DE1499200A DE1499200B2 DE 1499200 B2 DE1499200 B2 DE 1499200B2 DE 19651499200 DE19651499200 DE 19651499200 DE 1499200 A DE1499200 A DE 1499200A DE 1499200 B2 DE1499200 B2 DE 1499200B2
Authority
DE
Germany
Prior art keywords
psw
program
field
interruption
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
German (de)
Other versions
DE1499200A1 (en
Inventor
Gene Myron Saratoge Cahf Johnson Jacob Raymond Cahngaert Peter Case Richard Paul Poughkeepsie Boehm Elaine Marie Wappingers Falls Hanf WiI harn Porter Endicott Perkins jun Char les Bertram Endwell Collins Arthur Fre derick Greene Jack Elhs Magdall Albert Allan Rood Amdhahl
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/en
Publication of DE1499200B2 publication Critical patent/DE1499200B2/en
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Executing Machine-Instructions (AREA)
  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Debugging And Monitoring (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)

Abstract

1,061,361. Editing data. INTERNATIONAL BUSINESS MACHINES CORPORATION. Feb. 11, 1965 [April 6, 1964], No. 5906/65. Heading G4A. In an electronic data processing system, data characters to be edited are transferred selectively and successively under partial control of a bi-stable device from a first (" source ") storage field to a second (" pattern ") storage field initially containing control and data characters (e.g. decimal point), whereby at the conclusion of an editing operation the second field contains selected characters from the first field selectively interspersed with data characters of the second field. Bytes each have 8 bits and comprise two binary-coded decimal digits or one such and a sign (" packed " format), or one such digit plus 4 zone bits (" unpacked " format). Provision is made for interchanging the two halves of a byte in a register to simplify test on a half, testing being done generally by subtracting a constant from the number and seeing if the result is zero. The bi-stable device referred to above is a " significance trigger " which is 0 if the next " source " character is presumed non-significant and 1 if significant. The trigger is set to 1 if the " source " character is non-zero, or when a " significance start " control character is detected in the " pattern " field, and set to 0 when a " field separation " control character is detected. The characters of the " pattern " field are accessed from memory in turn. Those not control characters are retained in the " pattern " field if the "significance trigger " is at 1 but replaced by fill characters if at .0. " Field separation " control characters are replaced by fill characters. Detection of a " significance start " control character or a " digit select " control character results in the accessing of the. corresponding " source " character. If this is non-zero or if the "significance trigger " is at 1, it replaces the control character in the "pattern " field after being " unpacked " by insertion of zone bits 1111. Otherwise the control character is replaced by a fill character. The editing operation is initiated by an instruction word containing an OP code specifying either normal, editing as above or the latter plus the additional feature of storing the address in the "pattern " field of the highest significant character in the "source" field when this is detected through switching of the " significance trigger ". This facilitates later insertion of e.g. a currency symbol. The editing instruction word also specifies the number of bytes in the " pattern " field and the addresses of the highest order bytes of the " source " and " pattern " fields. These addresses are each specified by specifying a number and a register, the contents of the register being added to the number to get the address. Detection of a sign character in the " source " field sets to 1 a trigger to indicate that a sign is present, and if the sign is negative sets a further trigger to 1 to indicate this. This will cause the " significance trigger " to be set to 1. The second sign trigger and another trigger set to 1 in the presence of a non-zero " source " digit can be used to control subsequent (unspecified) operations. Reference has been directed by the Comptroller to Specification 954,801.

Description

1 21 2

Die Erfindung betrifft eine Datenverarbeitungsan- programm zugeordnete Programmstatuswort in das lage mit vorranggesteuerter Programmunterbrechung, aktive PSW-Register übertragen,
mit einem aktiven Programmstatuswort-Register Wenn für jedes bereitstehende Unterprogramm ein (PSW-Register) für die Aufnahme der das laufende Registerpaar zur Aufnahme von Programmstatus-Programm beschreibenden Daten (Programmstatus- 5 Wörtern vorgesehen wird, von denen eines leer ist wort) und mit einer Steuerschaltung zur Steuerung und das Programmstatuswort des zu unterbrechendes Programmablaufs und zur Entgegennahme von den Programms aufnimmt und von denen das andere Unterbrechungsanforderungen. das Programmstatuswort des unterbrechenden Pro-
The invention relates to a program status word assigned to a data processing program in the position with priority-controlled program interruption, active PSW registers transferred,
with an active program status word register If a (PSW register) is provided for each available subroutine for the recording of the data describing the current register pair for recording the program status program (program status 5 words, one of which is an empty word) and with a Control circuit for controlling and the program status word of the program sequence to be interrupted and for receiving the program and from which the other interrupt requests. the program status word of the interrupting program

Während der Ausführung der verschiedenen Ope- gramms enthält, so kann in einfacher Weise ein Ausrationen, die in programmgesteuerten Datenverarbei- io tausch der Programmstatuswörter und der Übergang tungsanlagen ausgeführt werden, können gewisse Be- von einem laufenden Programm zu einem Unterdingungen auftreten, die eine Unterbrechung des programm vorgenommen werden. Ergibt die folgende normalen gerade ablaufenden Problemprogramms er- Prüfung, daß eine Unterbrechungsanforderung höhefordern. Solche Bedingungen können in verschiede- rer Dringlichkeit vorliegt, so gelangt das soeben ins nen Teilen der Anlage auftreten; sie können durch 15 aktive PSW-Register eingetragene Programmstatus-Eingabe- und Ausgabeeinheiten hervorgerufen wer- wort nunmehr in das leere Register des Registerden, ζ. B. wenn eine Eingabe oder Ausgabeoperation paares für das unterbrechende Programm höherer begonnen oder beendet werden soll; sie können auch Dringlichkeit. Dieser Vorgang kann sich wiederholen, in sogenannten externen Einheiten auftreten, so in Ein Ausführungsbeispiel der erfindungsgemäßen der Konsole, in einem im System verwendeten Zeit- 20 Datenverarbeitungsanlage wird an Hand der Zeichgeber oder in anderen an die Anlage angeschlossenen nungen erläutert. Es zeigtDuring the execution of the various ope- grams, a ration, the program-controlled data processing io exchange of the program status words and the transition management systems are executed, certain loads can be changed from a running program to a subcondition occur that interrupt the program. Results in the following normal currently running problem program check that an interrupt request is required. Such conditions can be present with varying degrees of urgency occur in parts of the system; you can enter program status input via 15 active PSW registers and output units are now called into the empty register of the register, ζ. B. when an input or output operation pair higher for the interrupting program should be started or ended; they can also be urgency. This process can be repeated occur in so-called external units, so in An embodiment of the invention the console, in a time data processing system used in the system, is based on the signal generator or explained in other connections connected to the system. It shows

Einheiten, die auf Verlangen eine sofortige Berück- Fig. 1 ein vereinfachtes Blockdiagramm einerUnits that can be immediately referred to on request

sichtigung erfordern; auch festgestellte Fehler der Datenverarbeitungsanlage, in der das erfindungsge-require viewing; also detected errors in the data processing system in which the inventive

Maschine oder des Programms können eine Unter- mäße Unterbrechungssystem Verwendung findenThe machine or the program can use an undersized interruption system

brechung notwendig machen. Normalerweise ist es 25 kann,make refraction necessary. Usually it is 25 can,

beim Auftreten einer Unterbrechungsbedingung aus- F i g. 2 eine schematische Darstellung eines Proreichend, das gerade ablaufende Problemprogramm grammstatuswortes,if an interrupt condition occurs, F i g. 2 a schematic representation of a prorichend, the currently running problem program of the program status word,

zu unterbrechen, ein Unterbrechungsunterprogramm F i g. 3 ein Diagramm, das angibt, wann die ver-to interrupt, an interrupt subroutine F i g. 3 is a diagram showing when the

auszuf uhren, und anschließend das Problemprogramm schiedenen Arten von Unterbrechungsbedingungen inand then run the problem program into various types of interruption conditions

fortzusetzen. 30 bezug auf das Problemprogramm auftreten könnento continue. 30 can occur with respect to the problem program

Es ist bekannt, bei Mehrkanalübertragungen jedem und zu welchen Zeiten die Unterbrechungsunter-Kanal ein eigenes Kontrollwort zuzuordnen, welches programme begonnen werden,
die Eigenschaften und den Zustand dieses Kanals für Fig. 4 ein Diagramm, das für den Fall mehrerer eine Informationsübertragung angibt. gleichzeitig auftretender Unterbrechungsbedingungen
It is known that in multi-channel transmissions each and at what times the interruption sub-channel is assigned its own control word, which programs are started,
the properties and the state of this channel for FIG. 4, a diagram which indicates an information transmission in the case of several. simultaneous interruption conditions

Es ist weiter bekannt, jedem Ein- und Ausgabe- 35 angibt, in welcher Reihenfolge die dem Problemgerät ein bistabiles Merkelement zuzuordnen, das bei programm und den verschiedenen Unterbrechungseiner Unterbrechungsanforderung für dieses Gerät Unterprogrammen zugeordneten Programmstatuseingestellt wird; diese Merkmalelemente werden Wörter vervollständigt und eingespeichert werden,
zyklisch nach dem Vorliegen einer Unterbrechungs- Fig. 5 ein Blockdiagramm der Schaltung, mit anforderung abgefragt. Ein Vorrang zwischen den 4° deren Hilfe festgestellt wird, ob eine angeforderte Anfragen wird dabei nicht in Betracht gezogen. Unterbrechung gemäß dem gegenwärtig benutzten
It is also known to indicate to each input and output 35 the order in which the problem device is assigned a bistable memory element which is set during the program and the various interruptions of an interrupt request for this device subroutines assigned to the program status; these feature elements will be completed and stored in words,
cyclically after the presence of an interruption Fig. 5 is a block diagram of the circuit, queried with request. A priority between the 4 ° whose help is determined whether a requested request is not taken into account. Interruption according to the one currently in use

Aufgabe der vorliegenden Erfindung ist es, die Programmstatuswort stattfinden kann oder nicht, und Auswahl des mit höchster Dringlichkeit ausgestatte- Fig. 6 ein Blockdiagramm der Schaltung, die die ten unterbrechenden Programms unter Verwendung für die Anlage vorgegebene Dringlichkeitsreihenfolge von Programmstatuswörtern in sehr anpassungsfähi- 45 der verschiedenen Unterbrechungen bestimmt,
ger Weise vorzunehmen, beim Vorliegen mehrerer Fig. 1 zeigt ein Blockdiagramm einer Maschine, Anforderungen unterschiedlicher Dringlichkeit, be- in welcher das obengenannte Unterbrechungssystem ginnend bei der Anforderung geringster Dringlich- Verwendung finden kann. In diesem Diagramm stellt keit, laufend zu prüfen, ob noch eine Anforderung Block 1 einen Kernspeicher dar, der einen Haupthöherer Dringlichkeit vorliegt, und erst wenn dies 5° speicher 2 zur Speicherung von Makroinstruktionen, nicht mehr der Fall ist, die Anforderung der derzeit anderen Kontrollwörtern und Daten, die alle unterhöchsten Dringlichkeit zu erledigen und anschließend schiedlicher Länge sein können, und einen Arbeitsnacheinander in umgekehrter Reihenfolge die Bear- speicher 3 aufweist, der für die auszuführenden beitung der restlichen Anforderungen durchzu- Rechenoperationen die Funktion von Registern überführen. 55 nimmt. Die 8-Bit-Speicherstellen werden adressiert
The object of the present invention is to determine which program status word can take place or not, and to select the one with the highest urgency different interruptions determined,
1 shows a block diagram of a machine, requests of different urgency, in which the above-mentioned interruption system can be used starting with the request of the lowest urgency. This diagram shows the ability to continuously check whether a request block 1 represents a core memory that is of a higher priority, and only when this is no longer the case, the request of the currently other one Control words and data, all of which have to be dealt with under the highest urgency and can then be of different lengths, and work one after the other in reverse order which the processing memory 3 has, which transfer the function of registers for the processing of the remaining requirements to be carried out arithmetic operations. 55 takes. The 8-bit storage locations are addressed

Bei einer Datenverarbeitungsanlage der eingangs vom Adressenregister 5; die eingespeicherten 8 BitsIn the case of a data processing system, the input from the address register 5; the stored 8 bits

genannten Art wird die gestellte Aufgabe gelöst durch bilden jeweils ein Byte und werden parallel in dasmentioned type, the task at hand is achieved by forming one byte at a time and entering them in parallel into the

mehrere PSW-Register für die im Bedarfsfall gleich- Datenregister 19 ausgelesen. Das Einschreiben vonseveral PSW registers for the same data register 19 read out if necessary. The registered mail from

zeitige Aufnahme von Daten zur Beschreibung bereit- Daten erfolgt unter der Kontrolle der dem Speicher stehender Unterprogramme oder unterbrochener 6° zugeordneten Sperrschaltung 4 in ÜbereinstimmungTimely inclusion of data ready for description- data takes place under the control of the memory standing subroutines or interrupted 6 ° assigned locking circuit 4 in accordance

Programme; durch von der Steuerschaltung zur an mit dem Inhalt des Registers 19. Block 6 stellt einenPrograms; through from the control circuit to with the content of the register 19. Block 6 represents a

sich bekannten Einleitung je eines Unterprogramms Festwertspeicher dar, in dem Mikroinstruktionen ge-known introduction of a read-only memory subroutine in which microinstructions are

imterschiedliclier Priorität erregbare Steuervorrich- speichert sind. Die Mikroinstruktionen werden auscontrol devices which can be excited at different priorities are stored. The microinstructions will be off

tungen, die in bekannter Weise je einem Unterpro- durch das Adressenregister 7 bestimmten Speichergramm zugeordnet sind und die ferner bei Erregung 65 stellen in Leseverstärker-Verriegelungsschaltungen 8lines, which in a known manner each to a subpro- by the address register 7 determined memory program are assigned and which also set in sense amplifier latch circuits 8 when energized 65

das aktive Programmstatuswort ergänzen, in das dem ausgelesen. Nach erfolgter Decodierung werden sieadd the active program status word to the read out. After decoding, they will be

betreffenden Unterprogramm zugeordnete inaktive zur Steuerung der Operationen der Rechenanlagerelevant subroutine assigned inactive for controlling the operations of the computer system

l'SW-Registu-r abspeichern und das diesem Unter- verwendet. Die Steuerschaltungen sind durch Block 9Save l'SW register and use this sub-. The control circuits are through block 9

I 499 2Ö0I 499 2Ö0

3 . 43. 4th

dargestellt, unter anderem ymfassen sie die Schaltun- führung aller Programme durch ein übergeordnetes gen 10 und 11, die zur Steuerung der Ünterbrechun- Programm, das im folgenden als Monitorprogramm gen dienen. Letztere Schaltungen und ihre Arbeits- bezeichnet wird, überwacht. Wenn .mehrere Proweise werden im Zusammenhang mit den Fig. 5 gramme, von denen jedes aus einer Folge von und 6 ausführlich erklärt. Die Blöcke 12 stellen die 5 Makroinstruktionen besteht, durchgeführt werden Teile der Anlage dar, von denen eine Ünterbrechungs- sollen, bestimmt dieses Monitorprogramm die Reihenanforderung ausgehen kann. Arithmetische und lo- folge ihrer Durchführung; es steuert auch die Untergische Operationen werden im Rechenwerk 18 aus- programme^ die beim Auftreten von Unterbrechungsgeführt. Die beiden Operanden, mit denen die arith- bedingungen in der Anlage erforderlich, werden.
metischen und logischen Verknüpfungen vorzuneh- io Während der Ausführung von Problemprogrammen men sind, werden über die Leitungen A (13) und arbeitet die Rechenanlage unter der Steuerung eines ß (14) den Pufferregistern A (16) und B (17) züge- vom Monitorprogramm: bereitgestellten Steuerwortes, führt und von dort an das Rechenwerk weiterge- das als Programmstatuswort (PSW) bezeichnet wird, geben. Die die Ergebnisse darstellenden Signale Für die verschiedenen Unterbrechungsuoterprowerden auf die Leitung Z (15) gegeben, von wo sie 15 gramme werden ebenfalls durch die Art der Unterin eines oder mehrere der Register 19 bis 25 über- programme bestimmte. PSW verwendet. Die in den geführt werden. Diese Register dienen verschiedenen PSW enthaltenen Informationen geben den jeweilig Zwecken: Register 19 vyird, wie bereits, erklärt, als gen Stand der Programme sowie die in der Anlage Hauptspeicherdatenregister verwendet: Register 20 bestehenden Verhältnisse und Bedingungen wieder, dient als Instruktionszähler, die in ihm 21 gespei- 20 zu diesem Zweck wird es laufend korrigiert und Vercherten Werte werden in das Adressenregister 5 über- volIständigL· Neben anderen Informationen enthält es tragen; Register 21 wird als Zwischenadressenregister beispielsweise die: Adresse der nächsten Makröbenutzt, die in ihm gespeicherten Werte dienen über Instruktion. Für die direkte Kontrolle eines gerade das Adressenregister 5 zum Aufrufen der Speicher- ablaufenden Programms ist das gegenwärtig benutzte stellen des Hauptspeichers 1 oder über das Adressen- 25 oder aktive PSW in einer hierfür vorgesehenen register 7 zum Adressieren des Festwertspeichers 6. Speicherstelle des Arbeitsspeichers 3 enthalten; be-^ Die restlichen Register 22 bis 25 dienen zur zeitweili- stimmte Teile des PSW werden darüber hinaus in Regen Speicherung des Operationscodes, des Bedin- gistern, Verriegelungsschaltungen oder ähnlichen zur gungscodes, des Längencodes und von Statusbits, zeitweiligen Speicherung dienenden !Einrichtungen Teiladressen oder, anderen Informationen, die im 30 gegeben. Nichtaktive PSW, die zu gera'de nicht zur Zusammenhang mit dem jeweils ausgeführten Pro- Ausführung gelangenden Programmen gehören, sind gramm von Bedeutung sind. Die Anzahl der Register in. hierfür vorgesehenen festen Stellen des .Hauptist selbstverständlich nicht auf die Zahl der in der Speichers 2 enthalten. Sowie ein Programm. Unterzeichnung angegebenen beschränkt. Die in den Re- brochen wird, wird das diesem zugeordnete PSWVals gistern gespeicherten Werte können, wie im Dia- 35 »altes« PSW in den Hauptspeicher eingegeben und gramm gezeigt, den verschiedenen Leitungen und ein »neues« PSW, das zur Steuerung der nachfolgen-Adressenregistern zugeführt werden; so können z. B. den Operationen Anwendung findet, in den Arbeitsaus dem Hauptspeicher 2 in das Datenregister 19 aus- speicher übergeführt. Diese PSW enthalten zu jeder gelesene Daten über die Leitung 13, das Puffer- Zeit die für eine Unterbrechung.und spätere Wiederregister 16 und das Rechenwerk 10 zu jedem ande- 40 aufnahme eines Programms erforderlichen Informaren Register geleitet werden. r tipnen. . . . .
shown, among other things they ymfassen the switching of all programs by a superordinate gene 10 and 11, which are used to control the interruption program, which are used in the following as a monitor program. The latter circuits and their working called is monitored. If several methods are used in connection with FIG. 5, grams, each of which is a sequence of and 6, are explained in detail. The blocks 12 represent the 5 macro instructions, parts of the system are carried out, one of which is to be interrupted, this monitor program determines the series request can proceed. Arithmetic and logically their implementation; It also controls the Untergische Operations are programmed in the arithmetic unit 18 which are interrupted when an interruption occurs. The two operands with which the arithmetic conditions are required in the system are.
Metic and logical links are to be carried out. During the execution of problem programs, the computer system works under the control of a ß (14) and the buffer registers A (16) and B (17) are pulled from the monitor program via lines A (13) : provided control word, and from there to the arithmetic unit, which is referred to as the program status word (PSW). The signals for the various interruption programs, which represent the results, are sent to line Z (15), from where they 15 grams are also determined by the type of subroutine in one or more of the registers 19 to 25 via programs. PSW used. Which are led into the. These registers are used for various information contained in PSW and for the respective purposes: Register 19 is used, as already explained, as the status of the programs and the main memory data register in the system: Register 20 reflects existing relationships and conditions, serves as an instruction counter, which is 21 For this purpose it is continuously corrected and saved values are stored in the address register 5 that is overcompleteL · In addition to other information, it contains carry; Register 21 is as an intermediate address register example: address of the next Makröbenutzt that stored therein values serve on instruction. For the direct control of a currently running address register 5 for calling up the memory program, the currently used location of the main memory 1 or via the address 25 or active PSW is contained in a register 7 provided for this purpose for addressing the read-only memory 6 ; Be ^ The remaining registers 22 to 25 are used to temporarily store certain parts of the PSW are also used in the rain storage of the operation code, the condition, interlocking circuits or similar for the supply codes, the length code and status bits, temporary storage serving devices part addresses or , other information given in the 30th. Inactive PSWs, which are currently not related to the connection with the program execution in each case, are important to the program. The number of registers in the fixed positions provided for this purpose in the main is of course not included in the number in the memory 2. As well as a program. Signing specified restricted. The PSWV assigned to it will be able to register the values stored as registers, as entered in the main memory and shown in the diagram, the various lines and a "new" PSW that is used to control the following -Address registers are supplied; so can z. B. the operations is used, transferred to the work from the main memory 2 in the data register 19 aus- memory. These PSW contain for each read data via the line 13, the buffer time, which are passed for an interruption and subsequent re-register 16 and the arithmetic unit 10 to each other information register required to record a program. r type. . . . .

In der in Fig. 1 gezeigten Anlage wird die Aus- Im folgenden wird eine eingehende BeschreibungIn the system shown in Fig. 1, the following is a detailed description

führung von Problernprogrammen durch eine Folge der Funjction der PSW und der" Arbeitsweise. des von Makroinstruktionen kontrolliert; jede dieser . Unterbrechungssystems gegeben.
Makroinstruktionen bestimmt eine auszuführende 45 In F i g. 2 ist das in der Anlage verwendete PSW Operation, die unter der direkten Steuerung einer 26 schematisch dargestellt; es besteht aus den.Bit-Folge von Makroinstruktionen zur Ausführung ge- Positionen 0 bis 63, die in Feldern 26^1 bis 26K langt. Der Operationscode einer jeden Makroinstruk- gruppiert sind. Nachstehend wird eine Erklärung der tion bestimmt diese Operation, die Bits der Makro- in diesen Feldern gespeicherten Informationen sowie Instruktionen werden jedoch nicht direkt zur Kon- 5° der von diesen ausgeführten Steuerungfunktionen getrolle der Schaltungen der Anlage benutzt; hingegen geben.
Execution of problem learning programs through a sequence of the funjction of the PSW and the "working method" controlled by macroinstructions; each of these. interrupt system given.
Macro instructions determine a 45 in Fig. 1 to be executed. Figure 2 is the PSW operation used in the plant, shown schematically under the direct control of a 26; It consists of the bit sequence of macro instructions for execution. Positions 0 to 63, which are in fields 26 ^ 1 to 26K . The opcode of each macroinstruct are grouped. The following is an explanation of the function governing this operation, but the bits of the macro information and instructions stored in these fields are not used directly to control the control functions performed by them on the circuitry of the system; however give.

bewirkt der in einem der Register gespeicherte Ope- Fdd 26A Bks 0 bis 7 _ SYSTEM-MASKEcauses the operation stored in one of the registers Fdd 26A - Bks 0 to 7 _ SYSTEM MASK

rationscode im Zusammenwirken mit den Steuer- . .-.ration code in cooperation with the tax. .-.

schaltungen 9 das Auslesen einer ersten Mikro- Beim Auftreten einer Forderung nach einer Ein-circuits 9 the reading of a first micro- When a request for an input occurs

instruktion aus dem Festwertspeicher 6. Die Adresse 55 gäbe/Ausgabe oder einer »Externen« Unterbrechung der jeweils nächsten Mikroinstruktion ist wenigstens dienen die Bits der System-Maske dazu zu b'estimteilweise in der vorangehenden Mikroinstruktion ent- men, ob eine solche Unterbrechung gegenwärtig halten, die zur. Vervollständigung der Adresse er- stattfinden kann, d.h. erlaubt ist, oder nicht. Die forderlichen Bits hängen von den zu der Zeit in der ..· Bitpositionen 0 bis 6 entsprechen sieben verschieder Anlage bestehenden Verhältnissen und vom Ope- 60 nen Kanälen, über die die Eingabe/Ausgabe-Einrationscode der Makroinstruktion ab. Nach Ausfüh- heiten mit der Rechenanlage verbunden sind; Bitrung der einer Makroinstruktion entsprechenden position 7 ist den Einheiten zugeordnet, die ein exFolge von Mikroinstruktfonen wird, die, nächste ternes Ünterbrechungsprogramm erforderlich machen Makroinstruktion von der SpeichersteHe des Haupt- können. Ein »O«-Bit in einer dieser Bitpositionen Speichers ausgelesen, die durch den Instruktipnsr 65 bewirkt» daß die Ausführung des entsprechenden zähler 20 bestimmt wird, und das Problemprogramm Unterprogramms zurückgestellt wird; ein »1«-Bit wird fortgeführt, zeigt an, daß das Unterprogramm zur Ausführunginstruction from read-only memory 6. Address 55 would be / output or an "external" interruption The bits of the system mask are at least partially used for the next micro-instruction in each case the preceding microinstruction indicates whether such an interruption is present hold that to. Completion of the address can take place, i.e. is allowed or not. the Required bits depend on the at the time in the .. · Bit positions 0 to 6 correspond to seven different System existing conditions and from the open channels through which the input / output input code the macro instruction. After executions are connected to the computer system; Bit position 7 corresponding to a macro instruction is assigned to the units which have an ex sequence of microinstructions that make the next internal interrupt program necessary Macro instruction from the memory level of the main can. An "O" bit in one of these bit positions Memory read out, which by the Instruktipnsr 65 causes the execution of the corresponding counter 20 is determined and the problem program subroutine is reset; a "1" bit continues, indicates that the subroutine is ready to be executed

In der beschriebenen Rechenanlage wird die Aus- gelangen kann. Der Zweck dieser UnterbrechungenIn the computer system described, the can be achieved. The purpose of these interruptions

und die durch sie bedingten Vorgänge werden später näher erläutert.and the processes caused by them will be explained in more detail later.

Die System-Maske des aktiven PSW ist im Arbeitsspeicher und darüber hinaus auch in Verriegelungsschaltungen gespeichert. The system mask of the active PSW is stored in the main memory and also in interlocking circuits.

Feld 26 B — Bits 8 bis 11 — SPEICHERSCHUTZCODE Field 26 B - Bits 8 through 11 - MEMORY PROTECTION CODE

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 Adresse enthaltenen Speichercode nicht überein, so wird eine Unterbrechung des Programms erforderlich.This 4-bit code defines the areas of the main memory, which are accessible for the instructions of the current program. Is that true? Memory protection code with the one contained in an address used to address the main memory If the memory code does not match, the program must be interrupted.

Der Speicherschutzcode des aktiven PSW ist im Arbeitsspeicher und in einem Register der Rechenanlage enthaltenThe memory protection code of the active PSW is in the main memory and in a register of the computer system contain

Feld 26C — Bit 12 — Unbenutzt
Feld 26 D—Bit 13 — MASCHINEN-PRÜFMASKE
Field 26C - Bit 12 - Not used
Field 26 D - Bit 13 - MACHINE TEST MASK

Dieses Bit wird zur Feststellung benutzt, ob eine Maschinen-Prüf-Unterbrechung stattfinden kann oder nicht. Eine solche Unterbrechung wird angefordert, werin 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.This bit is used to determine whether a Machine test interruption may or may not take place. Such an interruption is requested who has found an error in the operation of the computer system. If this bit is a "1", then the interruption is initiated; however, if this bit is a "0", the program currently running becomes continued.

Feld 26E — Bit 14 — LAUF/WARTField 26E - Bit 14 - RUN / WAIT

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.If this bit is a "0", the computer is executing instructions, it is "running". Will this bit on the other hand to "1", the execution of instructions is interrupted and the system waits until the program is interrupted.

Feld 26 F — Bit 15 — MONITOR/PROBLEMField 26 F - Bit 15 - MONITOR / PROBLEM

Ist dieses Bit eine »1«, so befindet sich die Rechenanlage im Problemprogrammstatus, die Programme gelangen normal zur Ausführung. Wird dieses Bit zu »0«j so befindet sich die Rechenanlage im Monitorstatus, in welchem nur besondere Funktionen ausgeführt werden können, alle anderen Funktionen führen zu einere Fehleranzeige.If this bit is a "1", the computer is located in problem program status, the programs run normally. Will this bit to »0« j the computer is in monitor status, in which only special functions can be carried out, all other functions lead to an error display.

Die Bits 13, 14 und 15 des aktiven PSW sind im Arbeitsspeicher gespeichert, Bits 13 und 14 sind darüber hinaus auch in Verriegelungsschaltungen enthalten. Bits 13, 14 and 15 of the active PSW are stored in memory, bits 13 and 14 are above also included in interlocking circuits.

Feld 26G — Bits 16 bis 31 — UNTER-Field 26G - Bits 16 to 31 - SUB-

BRECHUNGSCODEREFRACTION CODE

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 Unterbrechungsprogramm anforderte, als auch den Grund oder die Bedingung, die die Unterbrechung erforderlich machte.This 16-bit code is used to indicate the reason used, which caused an interruption; it determines the various types of interruption both the entity that requested an interrupt program and the reason or condition which made the interruption necessary.

Der Unterbrechungscode ist im aktiven PSW nicht enthalten; diese Information wird dem PSW erst dann zugeführt, wenn es bei einer Unterbrechung als altes PSW in den Hauptspeicher übergeführt wird. anderfolgenden Speicherstellen enthalten. Der Instruktionslängencode wird durcli das Monitorprogramm im Falle einer Maschinen-Prüfungs-Unterbrechung oder einer Programm-Prüfungs-Unterbrechung benutzt, um die Adresse des ersten Bytes der Instruktion, die die Unterbrechung hervorrief, zu bestimmen. Bits 32 und 33 dienen zur Bestimmung der Länge der Instruktion, die derzeit ausgeführt oder gerade beendet wird. Sie werden von jeder Makroinstruktion, deren Bitpositionen 0 und 1 die Länge der Instruktion kennzeichnen, in das PSW eingefügt, so daß die Speicheradresse des ersten Bytes der Instruktion bestimmt werden kann.The interrupt code is not included in the active PSW; this information will only be sent to the PSW then supplied when it is transferred to the main memory as an old PSW in the event of an interruption. other storage locations included. The instruction length code is generated by the monitor program in the case of a machine test interruption or a program test interruption used to get the address of the first byte of the instruction that caused the interrupt determine. Bits 32 and 33 are used to determine the length of the instruction that is currently being executed or is just finished. They are used by every macro instruction whose bit positions 0 and 1 are the Identify the length of the instruction inserted into the PSW so that the memory address of the first byte the instruction can be determined.

Feld 26/ — Bit 34 und 35 — BEDINGUNGSCODEField 26 / - Bit 34 and 35 - CONDITION CODE

Dieser Code kennzeichnet eine von mehreren Bedingungen, die bei der Ausführung vorangegangener Instruktionen in der Rechenanlage aufgetreten sind. Im aktiven PSW ist dieser Code in decodierter Form im Arbeitsspeicher enthalten:This code identifies one of several conditions that existed when executing the previous Instructions have occurred in the computer system. In the active PSW this code is in decoded form contained in the main memory:

Bits 34 und 35Bits 34 and 35 4-Bit-Code des aktiven PSW4-bit code of the active PSW 00
01
10
11
00
01
10
11th
1000
0100
0010
0001
1000
0100
0010
0001

Bei der Ausführung einer Instruktion, in deren Verlauf ein Code in das Bedingungsregister der Anlage gebracht wird, wird jeweils der im PSW enthaltene 4-Bit-Code geändert, um das Ergebnis der ausgeführten Operationen zu kennzeichnen. Der Code bleibt dann so lange unverändert, bis eine andere Instruktion eine Änderung des Bedingungsregisters bewirkt. When executing an instruction, in the course of which a code is entered in the condition register of the system is brought, the 4-bit code contained in the PSW is changed to the result of the to mark performed operations. The code then remains unchanged until a another instruction causes a change in the condition register.

Feld 26/ — Bits 36 bis 39 — PROGRAMMPRÜFMASKE Field 26 / - Bits 36 to 39 - PROGRAM CHECK MASK

Diese Bits werden zur Feststellung benutzt, ob eine angeforderte Programm-Prüfungs-Unterbrechung stattfinden kann oder nicht; eine solche Unterbrechung wird erforderlich, nachdem im Programm ein Fehler festgestellt wurde.These bits are used to determine whether a Program Check Interrupt has been requested may or may not take place; such an interruption becomes necessary after in the program an error was detected.

Jedes der 4 Bits entspricht einer von vier Unterbrechungsbedingungen, die in der Rechenanlage auftreten können. Beim Auftreten einer solchen Bedingung wird das entsprechende Bit betrachtet, ist es eine »1«, so wird eine Programm-Prüfungs-Unterbrechung eingeleitet, ist es hingegen eine »0«, so wird das laufende Programm fortgeführt.Each of the 4 bits corresponds to one of four interruption conditions, which can occur in the computer system. When such a condition occurs if the corresponding bit is considered, if it is a "1", then a program check interruption occurs initiated, but if it is a "0", the current program is continued.

Die Programm-Prüfmaske ist Teil des aktiven PSW und somit im Arbeitsspeicher enthalten.The program test mask is part of the active PSW and is therefore contained in the working memory.

Feld 26 H — Bits 32 und 33 — INSTRUKTIONSLÄNGENCODE Field 26 H - Bits 32 and 33 - INSTRUCTION LENGTH CODE

In der Anlage finden Makroinstruktionen verschiedener Länge Anwendung. Die 8-Bit-Bytes, aus denen sich eine Instruktion zusammensetzt, sind in aufein-FeId 26 K — Bits 40 bis 63 — INSTRUKTIONSADRESSE Macro instructions of various lengths are used in the system. The 8-bit bytes that make up an instruction are in aufein-Field 26 K - bits 40 to 63 - INSTRUCTION ADDRESS

Diese Bits definieren die Adresse der nächsten Makroinstruktion, die im Verlauf des laufenden Programms auszuführen ist.These bits define the address of the next macro instruction in the course of the current one Program is to be executed.

Nach Ausführung einer Makroinstruktion ist die Adresse der nächsten Instruktion des laufenden Programms sowohl im Instruktionszähler der Anlage als auch in den Bitpositionen 40 bis 63 des aktiven PSW enthalten. Während der Ausführung einer jeden Instruktion wird diese Adresse in Übereinstimmung mit dem Instruktionslängencode, der in jeder Instruktion enthalten ist, erhöht; die Adresse wird er-After a macro instruction has been executed, it is the address of the next instruction in the current program both in the instruction counter of the system and in bit positions 40 to 63 of the active PSW contain. During the execution of each instruction this address becomes in agreement incremented with the instruction length code included in each instruction; the address will be

setzt, wenn die normale Instruktionsreihenfolge durch Steuerung einer Folge von Mikroinstruktionen 1 bis η sets when the normal instruction order by controlling a sequence of microinstructions 1 to η

eine Verzweigungsinstruktion unterbrochen wird. ausgeführt, die durch die jeweilige Makroinstruktiona branch instruction is interrupted. executed by the respective macro instruction

Das in der beschriebenen Datenverarbeitungs- bestimmt ist (Spalten 30,4 und 30S).
anlage verwendete Unterbrechungssystem gestattet Pfeile in der Spalte» Unterbrechung angefordert« die Unterbrechung laufender Programme und die 5 (30C) geben für jede Unterbrechungsart an, zu wel-Ausführung von Unterbrechungsunterprogrammen, eher Zeit, mit Bezug auf die Mikroinstruktionsfolge, die durch Bedingungen erforderlich werden, die in eine Unterbrechung angefordert werden kann,
externen Einheiten des Systems, in E/A-Einheiten Anforderungen für Maschinen-Prüfungs (MASCH oder in der Rechenanlage selbst auftreten. Eine PRÜF)-, Programm-Prüfungs (PROGPRUF)-, EinUnterbrechung besteht in der Einspeicherung des io gäbe/Ausgabe (E/A)- und externe (EXT) Unteraktiven PSW als »altes« PSW und der Bereitstellung brechungen können zu jeder Zeit erfolgen, wie durch eines »neuen« PSW. Anschließend beginnt die Aus- den oberen Pfeil und die große Klammer angedeutet, führung des durch das neue PSW bestimmten Pro- Die Monitor-Ruf (MON RUF)-Unterbrechung wird gramms unter den Bedingungen und an der Stelle, durch eine vom Programmierer vorgesehene Makrodie durch das neue PSW definiert werden. 15 Instruktion eingeleitet und kann deshalb nur nach
That is determined in the data processing described (columns 30, 4 and 30S).
The interrupt system used allows arrows in the "Interrupt requested" column to interrupt running programs and the 5 (30C) indicate for each type of interruption when interrupt subroutines are to be executed, rather time, with reference to the sequence of microinstructions required by conditions, which can be requested in an interruption,
external units of the system, in I / O units, requirements for machine testing (MASCH or occurring in the computer system itself. A TEST), program test (PROGPRUF), interruption consists in the storage of the io output / output (E / A) - and external (EXT) underactive PSW as "old" PSW and the provisioning breaks can take place at any time, as with a "new" PSW. The upper arrow and the large brackets then begin, the program determined by the new PSW The monitor call (MON RUF) interruption is carried out under the conditions and at the point by a macro provided by the programmer the new PSW to be defined. 15 instruction initiated and can therefore only follow

In der Anlage können fünf verschiedene Arten Ablauf einer Mikroinstruktionsfolge erfolgen, wieFive different types of sequence of microinstructions can be run in the system, such as

von Unterbrechungsbedingungen auftreten: durch den mit MON RUF gekennzeichneten Pfeilof interruption conditions occur: by the arrow marked with MON RUF

angegeben.specified.

1. MASCHINEN-PRÜFUNG Pfeile der Spalte »Unterbrechung erfolgt« (30D)1. MACHINE TEST Arrows in the column "Interruption occurred" (30D)

20 geben für jede Unterbrechungsart an, zu welcher20 indicate for each type of interruption to which

Eine Maschinen-Prüfungs-Unterbrechung wird ein- Zeit, mit Bezug auf die Mikroinstruktionsfolge, die geleitet, sobald ein Fehler der Maschine festgestellt Ausführung des Unterbrechungsunterprogramms bewurde, gönnen wird, wenn sie angefordert wurde und wenn 2 PROCRAMM PRi1IFT JNC durch die entsprechenden Maskenbits bestimmtA machine test interruption is given a time, with reference to the microinstruction sequence, which, as soon as an error in the machine has been detected, will allow execution of the interruption subroutine, if it has been requested and if 2 PROCRAMM PRi 1 IFT JNC by the corresponding mask bits certainly

25 wurde, daß die Unterbrechung stattfinden kann.25 that the interruption can take place.

Eine Programm-Prüfungs-Unterbrechung wird ein- Wie gezeigt, werden MASCH PRÜF- und PROGA program check break is activated. As shown, MACH CHECK and PROG

geleitet, sobald ein Fehler im Programm festgestellt PRUF-Unterbrechungen sofort eingeleitet. Die Mi-routed as soon as an error is detected in the program PRUF interruptions initiated immediately. The Mi

wurde, z.B. ein ungültiger Operationscode, eine kroinstruktionsfolge wird unterbrochen, da einewas, e.g. an invalid operation code, a sequence of instructions is interrupted because a

falsche Speicheradresse oder eine Uberlaufbedingung. Fortsetzung des Programms zu fehlerhaften Ergeb-wrong memory address or an overflow condition. Continuation of the program with incorrect results

1 cmrADc/ATicPADc 3° nissen führen könnte. 1 cmrADc / ATicPADc 3 ° could lead nits.

ό. bUNOrAüt/AUbOABt E/A. und EXT-Unterbrechungen werden nach ό. bUNOrAüt / AUbOABt I / O. and EXT interruptions are after

Eine Eingabe/Ausgabe-Unterbrechung wird einge- Ablauf der Mikroinstruktionsfolge eingeleitet. DieAn input / output interruption is initiated. The sequence of microinstructions is initiated. the

leitet, sobald eine Eingabe/Ausgabe-Einheit während letzte Mikroinstruktion einer solchen Folge dientdirects as soon as an input / output unit serves such a sequence during the last microinstruction

der von ihr ausgeführten Operationen einen Punkt immer zur Feststellung, ob während der Ausführung erreicht, an dem das Monitorprogramm zur Bestim- 35 der Mikroinstruktionsfolge Anforderungen für E/A-of the operations performed by it always has a point to determine whether during the execution reached, at which the monitor program for determining the 35 microinstruction sequence requirements for I / O

mung des weiteren Arbeitsverlaufs der Anlage hin- oder EXT-Unterbrechungen aufgetreten sind,the further work process of the system or EXT interruptions have occurred,

zugezogen werden muß. Eine MON RUF-Unterbrechung wird, wie bereitsmust be drawn. A MON RUF interruption will, as already

. pv erwähnt, nach Ablauf der Mikroinstruktionsfolge ein-. pv mentioned, after the sequence of microinstructions

4. üAiüKiN geleitet.4. üAiüKiN headed.

Eine externe Unterbrechung wird eingeleitet, so- 40 Durch die Anwendung der PSW wird es möglich,An external interruption is initiated, as soon as 40 The use of the PSW makes it possible to

bald die Rechenanlage von externen Einheiten, deren mehrere gleichzeitig auftretende Unterbrechungsan-soon the computer system of external units, whose multiple interruptions occurring at the same time

Operationen keinen Aufschub erlauben, benutzt wer- forderungen zu bearbeiten, das Unterbrechungs-Operations do not allow postponement to be used to process requests that interrupt interruption

den muß. programm höchster Dringlichkeit zuerst auszuführenthe must. Execute the highest urgency program first

5 MONITOR-RUF unc* ^e Inforrnatnen zu speichern, die für die5 MONITOR CALL unc * ^ e I n forrnat i ° nen to save the for the

45 Unterbrechungsprogramme geringerer Dringlichkeit45 less urgency interrupt programs

Eine Monitor-Ruf-Unterbrechung wird durch eine erforderlich sind. Treten in dem beschriebenen besondere Monitor-Ruf-Instruktion eingeleitet. Der Unterbrechungssystem mehrere, eine Unterbrechung Hauptanwendungszweck dieser Unterbrechung be- erfordernde Bedingungen gleichzeitig auf, so werden steht darin, die Rechenanlage vom Problemstatus in nacheinander das alte Problemprogramm-PSW im den Monitorstatus umzuschalten; dies ist erforderlich, 50 Hauptspeicher gespeichert, das einer ersten Unterwenn ein PSW ersetzt oder geändert werden soll. brechung (niedrigste Dringlichkeit) entsprechendeA monitor call interruption is required by one. Step into the described special monitor call instruction initiated. The interruption system multiple, one interruption Main purpose of this interruption requiring conditions at the same time, so will it says, the computer system from the problem status in the old problem program PSW in one after the other switch the monitor status; this is required to have 50 main memories stored, which is a first sub-if a PSW is to be replaced or changed. refraction (lowest urgency) appropriate

Wie bereits erwähnt, können Maschinen-Prüfungs-, neue PSW in den Arbeitsspeicher übergeführt, dieses Programm-Prüfungs-, Eingabe/Ausgabe- und externe erste neue PSW, nachdem es entsprechend den Unterbrechungsunterprogramme nur dann eingeleitet Unterbrechungsbedingungen geändert und vervollwerden, wenn die entsprechenden Maskenbits des 55 ständigt wurde, wieder in den Hauptspeicher eingeaktiven PSW eine »1« darstellen; ist hingegen das speichert, das nächste nue PSW, das dem in der entsprechende Bit eine »0«, so kann eine Unter- Dringlichkeitsreihenfolge nächsten Unterbrechungsbrechung nicht erfolgen, bis zur Änderung des Bits programm zugeordnet ist, in den Arbeitsspeicher auf»l«. Eine Monitor-Ruf-Unterbrechung wird durch übergeführt usw. Die Ausführung von Instruktionen eine Makroinstruktion eingeleitet und erfordert da- 60 wird wieder aufgenommen unter der Kontrolle des her kein Maskenbit im PSW. PSW, das als letztes aus dem Hauptspeicher in denAs already mentioned, machine test, new PSW can be transferred to the main memory, this Program checking, input / output and external first new PSW after it according to the Interrupt subroutines are only initiated and interrupt conditions are changed and completed, when the corresponding mask bits of the 55 have been set, reactivate the main memory PSW represent a "1"; if, on the other hand, the saves, the next new PSW, which is the one in the If the corresponding bit is a »0«, a sub-urgency sequence cannot take place in the next interrupt interruption until the program bit has been changed in the working memory to "l". A monitor call interruption is carried out by, etc. The execution of instructions a macro instruction is initiated and requires that 60 is resumed under the control of the no mask bit in the PSW. PSW, which is the last from the main memory to the

Das in F i g. 3 gezeigte Diagramm gibt an, zu wel- Arbeitsspeicher übergeführt wurde, also dem Untercher Zeit, mit Bezug auf das Problemprogramm, die brechungsprogramm höchster Dringlichkeit entAnforderungen für die verschiedenen Arten von spricht; die Reihenfolge der Ausführung der UnterUnterbrechungen auftreten und zu welcher Zeit die 65 brechungsprogramme ist derjenigen entgegengesetzt, Unterbrechungen vorgenommen werden können. in der die PSW überführt wurden.
Wie bereits erwähnt, werden die durch Makroinstruk- Im Hauptspeicher sind zehn Speicherstellen von tionen definierten Operationen unter der direkten je 64 Bits den verschiedenen PSW fest zugeordnet.
The in Fig. 3 shows the diagram to which main memory was transferred, that is to say the Untercher time, with reference to the problem program, the break program of highest urgency according to the requirements for the various types of speaks; the order of execution of the sub-interrupts occur and at what time the 65 interrupt programs is opposite to that at which interrupts can be made. in which the PSW were transferred.
As already mentioned, the operations defined by macroinstructions are permanently assigned to the various PSWs under the direct 64 bits in the main memory ten storage locations.

, ' 109 516/273, '109 516/273

Die PSW, für welche diese Stellen vorgesehen sind, werden wie folgt bezeichnet:The PSW for which these positions are intended are designated as follows:

I. Altes EXT PSW
II. Neues EXT PSW
I. Old EXT PSW
II. New EXT PSW

III. Altes E/A PSWIII. Old I / O PSW

IV. Neues E/A PSWIV. New I / O 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
V. Old MASCH PRUEF PSW
VI. New MASCH PRUEF PSW
VII. Old PROG PRUEF PSW
VIII. New PROG PRUEF PSW
IX. Old MON RUF PSW
X. New 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 PRÜF-Unterbrechung wird das alte PSW beispielsweise in die Speicherstelle VII »altes PROG PRÜF-PSW« eingegeben. Die meisten Bits des PSW werden unverändert, d. h. so, wie sie im Arbeitsspeicher enthalten waren, in den Hauptspeicher übergeführt; der Bedingungscode jedoch muß, wie bereits erklärt, vorher decodiert werden.When an interrupt is initiated, the active problem program PSW after it becomes appropriate the interruption conditions was changed and completed as the old PSW in the corresponding Main memory location saved. For a PROG CHECK interruption, the old PSW is stored in memory location VII »old, for example PROG PRÜF-PSW «entered. Most of the bits of the PSW are left unchanged; H. the way she's in RAM were included, transferred to the main memory; the condition code however must, as already explained, be decoded beforehand.

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:When storing an old PSW, the interrupt code is in bit positions 16, respectively to 31 included. This code defines the reasons for the interruption as follows:

1. Für eine EXT-Unterbrechung definiert der Code, welche externe Einheit die Unterbrechung verursachte. 1. For an EXT interrupt, the code defines which external unit caused the interrupt.

2. 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.2. For a MON RUF interruption, the code forms the information that the MON PROG decoded, determines the reason for the MON RUF instruction.

3. Für eine PROG PRÜF-Unterbrechung definiert der Code die durch ein fehlerhaftes Programm entstandene Bedingung, die eine Unterbrechung erforderlich macht.3. For a PROG CHECK interruption, the code defines that caused by a faulty program resulting condition that requires an interruption.

4. Für eine MASCH PRÜF-Unterbrechung ist der Code immer »0«.4. The code is always »0« for a MASCH CHECK interruption.

5. Für eine E/A-Unterbrechung definiert der Code den Kanal und die Einheit, die die Unterbrechung anforderten.5. For an I / O interruption, the code defines the channel and unit that the interruption occurs requested.

Nachdem das alte PSW vollständig in die durch die Art der Unterbrechung bestimmte Speicherstelle des Hauptspeichers eingegeben worden ist, wird das neue PSW in die für das jeweils aktive PSW vorgesehene Speicherstelle des Arbeitsspeichers übergeführt. Wenn z. B. ein altes PSW in die Speicherstelle IV »altes PROG PRÜF PSW« eingespeichert wurde, wird das neue PSW, das zur Kontrolle des PROG PRÜF-Unterbrechungsprogramms dient, der Speicherstelle VIII »neues PROG PRÜF PSW« entnommen. Für das neue PSW ist der Unterbrechungscode nicht erforderlich und wird daher nicht in den Arbeitsspeicher übernommen; der 2-Bit-Bedingungscode 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 Speicherstelle des Hauptspeichers zurückgeführt. Anschließend 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.After the old PSW is completely in the memory location determined by the type of interruption of the main memory has been entered, the new PSW is stored in the one provided for the currently active PSW Memory location of the main memory transferred. If z. B. an old PSW in the memory location IV "old PROG CHECK PSW" has been saved, the new PSW that is used to control the PROG CHECK interrupt program, taken from storage location VIII "new PROG CHECK PSW". The new PSW does not require the interrupt code and is therefore not included in the Working memory taken over; the 2-bit condition code is decoded into 4-bit form as before explained. The new PSW now contains the start address and the start conditions for the monitor program, under whose control the interrupt program is running and the computer system begins executing instructions until the interrupt routine has ended. At that time, the PSW, under whose control the Interrupt program was executed in the memory location assigned to it in the main memory returned. Then the old PSW, which is used to control the interrupted problem program served, entered into the working memory, and the computer sets the problem program to the Resume where it left off.

Das Diagramm der Fig. 4 zeigt die Anwendung der PSW für den Fall, daß zwei Unterbrechungen, EXT und E/A, gleichzeitig angefordert werden. EsThe diagram of Fig. 4 shows the application of the PSW in the event that two interruptions, EXT and I / O can be requested at the same time. It

ίο sei angenommen, daß 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.ίο it is assumed that both interruptions to At the time of the request, the corresponding mask bits were determined to be "allowed", the corresponding Subroutines are to be executed in the order of their urgency.

Die in der Spalte 4(M angegebenen Zahlen entsprechen den verschiedenen Operationsschritten, die für das angenommene Beispiel erforderlich sind. In den Spalten 40 # und 4OC ist gezeigt, welches Programm oder Unterprogramm während der einzelnen Schritte jeweils ausgeführt wird und welches PSW als aktives PSW im Arbeitsspeicher enthalten ist. Die verschiedenen Programme, Problemprogramm, EXT-Unterbrechung, und E/A-Unterbrechung, sind durch unterschiedliche Schraffierungen in Übereinstimmung mit den für die Blöcke 41, 42 und 43 angegebenen Erläuterungen dargestellt. Die Doppelspalten 4OD bis 40/7 stellen die Paare der den verschiedenen Unterbrechungsarten fest zugeordneten Speicherstellen des Hauptspeichers dar, die zur Speicherung der nichtaktiven PSW dienen. Ein solches Paar der Speicherstellen I bis X ist jeweils für die alten und neuen PSW einer Unterbrechungsart vorgesehen, wie I und II für EXT-Unterbrechungen, III und IV für E/A-Unterbrechungen usw. Der Einspeicherung eines PSW in die »alte« Speicherstelle eines Paares folgt automatisch das Auslesen der zugehörigen »neuen« Speicherstelle. Es folgt eine ausführliche Beschreibung der Operationsschritte 1 bis 12.The numbers given in column 4 (M correspond the various operational steps required for the example adopted. In columns 40 # and 4OC show which program or subroutine is used during each Steps are carried out in each case and which PSW is contained in the main memory as the active PSW. the various programs, problem program, EXT interrupt, and I / O interrupt, are through different hatchings in accordance with those indicated for blocks 41, 42 and 43 Explanations shown. The double columns 4OD to 40/7 represent the pairs of the different ones Types of interruptions are permanently assigned storage locations in the main memory that are used for storage serve the non-active PSW. Such a pair of storage locations I to X is for the old and new PSW of one type of interruption are planned, such as I and II for EXT interruptions, III and IV for I / O interruptions etc. The storage of a PSW in the "old" storage location of a pair follows automatically reading out the associated "new" memory location. A detailed description follows of operation steps 1 to 12.

Schritt 1Step 1

Ausführung eines Problemprogramms unter der Kontrolle eines Problemprogramm-PSW, das im Arbeitsspeicher enthalten ist. Die »alten« PSW-Speicherstellen im Hauptspeicher (ungerade Zahlen I, III usw.) sind leer, während die »neuen« PSW-Speicherstellen (gerade Zahlen II, IV usw). die den verschiedenen Unterbrechungsunterprogrammen entsprechenden PSW enthalten.Execution of a problem program under the control of a problem program PSW contained in the RAM is included. The "old" PSW storage locations in the main memory (odd numbers I, III etc.) are empty, while the "new" PSW storage locations (even numbers II, IV etc.). the different Interrupt subroutines included corresponding PSW.

Schritt 2step 2

Während der Ausführung des Problemprogramms werden gleichzeitig zwei erlaubte Unterbrechungen unterschiedlicher Dringlichkeit angefordert: eine EXT-Unterbrechung (niedrigere Dringlichkeit) undDuring the execution of the problem program, two interruptions are permitted at the same time different urgency required: an EXT interrupt (lower urgency) and

eine E/A-Unterbrechung (höhere Dringlichkeit). Das Problemprogramm-PSW wird als altes PSW in die Speicherstelle I übergeführt; dies ist die Speicherstelle, die der Unterbrechung niedrigerer Dringlichkeit der beiden angeforderten Unterbrechungen entspricht. an I / O interruption (higher priority). The problem program PSW is transferred to the Storage location I transferred; this is the location for the lower priority interrupt of the two requested interruptions.

Schritt 3step 3

Das neue EXT-Unterbrechungs-PSW wird der Speicherstelle II entnommen und in den Arbeitsspeicher übergeführt. Da noch eine weitere Unterbrechung (höhere Dringlichkeit) auf die Ausführung wartet, wird nicht mit der Ausführung des EXT-Unterbrechungsprogramms begonnen.The new EXT interruption PSW is taken from memory location II and into the working memory convicted. There is another interruption (higher urgency) to the execution waits, does not begin executing the EXT interrupt routine.

Schritt 5Step 5

Das EXT-Unterbrechungs-PSW wird als altes PSW in die Speicherstelle III übergeführt; dies ist die Speicherstelle, die der Unterbrechung höherer Dringlichkeit entspricht.The EXT interruption PSW is transferred to storage location III as the old PSW; This is the memory location corresponding to the higher priority interrupt.

Schritt 5Step 5

Das neue E/A-PSW wird aus der Speicherstelle IV ausgelesen und in den Arbeitsspeicher eingespeichert. Da keine weiteren Unterbrechungen angefordert sind, beginnt die Ausführung des E/A-Unterbrechungsprogramms. The new I / O PSW is read out from memory location IV and stored in the main memory. Since no more interrupts are requested, execution of the I / O interrupt routine begins.

Schritt 6Step 6

1515th

Ausführung des E/A-Unterbrechungsprogramms unter der Kontrolle des im Arbeitsspeicher enthaltenen E/A-PSW.Execution of the I / O interrupt routine under control of what is in memory I / O PSW.

Schritt 7Step 7

2020th

Nach Abschluß des E/A-Unterbrechungsprogramms wird das E/A-Unterbrechungsprogramms wird das E/A-PSW in die ihm zugeordnete Speicherstelle IV zurückgeleitet.Upon completion of the I / O interrupt routine, the I / O interrupt routine becomes the I / O PSW is returned to the memory location IV assigned to it.

Schritt 8Step 8

Das EXT-PSW wird automatisch aus der Speicherstelle III ausgelesen und in den Arbeitsspeicher eingespeichert. Beginn des EXT-Unterbrechungsprogramms. The EXT-PSW is automatically read from memory location III and into the working memory stored. Start of the EXT interrupt program.

Schritt 9Step 9

Ausführung des EXT-Unterbrechungsprogramms unter der Kontrolle des im Arbeitsspeicher enthaltenen EXT-PSW.Execution of the EXT interrupt routine under the control of what is in memory EXT-PSW.

Schritt 10Step 10

Nach Abschluß des EXT-Unterbrechungsproprogramms wird das EXT-PSW in die ihm zugeordnete Speicherstelle II zurückgeleitet.After the EXT interrupt routine has been completed, the EXT-PSW becomes the one assigned to it Location II returned.

Schritt 11Step 11

Das Problemprogramm-PSW wird aus der Speicherstelle I ausgelesen und in den Arbeitsspeicher eingespeichert. Die Ausführung des Problemprogramms wird an der Stelle wieder aufgenommen, an der es durch den Schritt 2 unterbrochen worden war.The problem program PSW is read from memory location I and into the main memory stored. Execution of the problem program will resume at the point at which it was interrupted by step 2.

Schritt 12Step 12

Ausführung des Problemprogramms unter der Kontrolle des im Arbeitsspeicher enthaltenen Problemprogramm-PSW. Execution of the problem program under the control of the problem program PSW contained in memory.

Die Arbeitsweise der verschiedenen PSW wurde für den Fall von zwei gleichzeitig auftretenden Unterbrechungsanforderungen beschrieben.The mode of operation of the different PSWs was designed for the case of two simultaneous interruption requests described.

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.Cases in which only a single interruption is required or in which an interruption is already in progress Interrupt program is to be interrupted are treated accordingly and therefore not here further explained. The same applies to other types of interruptions than those selected in the example.

F i g. 5 zeigt ein Blockdiagramm der in F i g. 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 120 bis 126 und von den externen Einheiten über den Kanal 127 angefordert werden.F i g. 5 shows a block diagram of the FIG. 1 , circuit 11 , which is used for the mask operation which is used to determine whether or not a requested interrupt can take place at the present time, ie is allowed. The circuit shown is limited to handling I / O and EXT interrupts requested by the I / O units on channels 120-126 and requested by the external units on channel 127.

Wie bereits erwähnt, werden die Bits der Systemmaske der aktiven PSW 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 den Kanal 121, usw.) »1« ist, bedeutet dies, daß die Unterbrechung erlaubt ist; eine »0« würde andeuten, daß die Unterbrechung wenigstens zeitweilig zurückgestellt werden muß.As noted, the system mask bits of the active PSW 26 are used to determine whether a requested I / O or EXT interrupt is allowed. If the bit corresponding to the channel requesting the interruption (bit 0 for channel 120, bit 1 for channel 121, etc.) is "1", it means that the interruption is allowed; a "0" would indicate that the interruption must be postponed at least temporarily.

Das aktive PSW 26 ist vollständig im Arbeitsspeicher 3 gespeichert. Die Bits der Systemmaske sind darüber hinaus in den zugeordneten Verriegelungsschaltungen 500 bis 507 enthalten, wobei diese Schaltungen sich im Ein-Zustand befinden, wenn das entsprechende Maskenbit »1« ist, sie sind im Aus-Zustand, wenn das Bit »0« ist. Für jedes Maskenbit bzw. für jeden 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 mit den 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, daß ein über die andere Eingangsleitung vom entsprechenden Unterbrechungskanal kommendes 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 F i g. 5 gezeigte Schaltung liefert außerdem auf den Ausgangsleitungen 57 bzw. 58 Signale »Unterbrechung angefordert« (UNT ANGEF) und »externe Unterbrechung angefordert« (EXT AN-GEF), die der in F i g. 6 gezeigten Schaltung zugeführt werden und zur Anzeige dienen, daß 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.The active PSW 26 is completely stored in the main memory 3. The bits of the system mask are also contained in the associated locking circuits 500 to 507, these circuits being in the on state when the corresponding mask bit is "1" and in the off state when the bit is "0". One of the AND circuits 530 to 537 is provided for each mask bit or for each of the interruption channels 120 to 127. The inputs of these AND circuits are connected to the corresponding interlock circuits via lines 510 to 517 and to the corresponding interrupt channels via lines 520 to 527. An interlock circuit in the on state applies a potential to one input line of the associated AND circuit, which prepares the AND circuit in such a way that a signal coming from the corresponding interrupt channel via the other input line passes the AND circuit. These signals appearing on the output lines 540 to 547 of the AND circuits are used to indicate permitted interrupt requests. The in F i g. The circuit shown in FIG. 5 also supplies signals "interruption requested" (UNT ANGEF) and "external interruption requested" (EXT AN-GEF) on the output lines 57 and 58, respectively, which the circuit shown in FIG. 6 and serve to indicate that an interrupt request of some kind or a request for an external interrupt is present. The signal UNT ANGEF appears at the output of the OR circuit 56, the input lines of which are connected to lines 540 to 547.

Da eine Mehrzahl von E/A-Kanälen 120 bis 126 angeschlossen ist, mehrere E/A-Unterbrechungsanforderungen daher gleichzeitig auftreten können, muß 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 PSW 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. Since a plurality of I / O channels 120 to 126 are connected, several I / O interrupt requests can therefore occur simultaneously, a priority order of these channels must be determined, if not all channels with only one exception by the mask bits 0 to 6 of the active one PSW can be defined as unauthorized. However, the circuitry required for this priority determination is no longer described since it does not constitute an essential part of the present invention.

Die F i g. 6 zeigt ein Blockdiagramm der in F i g. 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.The F i g. 6 shows a block diagram of the FIG. 1 with 10 designated control circuit, which is used to control the various PSW operations required when several interrupt requests occur simultaneously. This circuit determines the order of priority given by the structure of the system in which the various types of interruption programs are executed.

13 1413 14

Block 60 stellt die Schaltungen dar, die unter der 1. Keine Unterbrechung angefordert,Block 60 represents the circuits that were requested under the 1st no interruption,

direkten Kontrolle einer Folge von Mikroinstruktio- 2. Eine einzelne Unterbrechungsanforderung,direct control of a sequence of micro-instruction 2 . A single interrupt request,

nen der zu bearbeitenden Programme steuert. Diese ~ ,, , . . , ... .. . , T, . ,the programs to be processed. This ~ ,,,. . , ... ... , T,. ,

Operationen werden entweder durch ein am Anfang 3" \ ehrere . gleichzeitig auftretende Unterbre-Operations are either terminated by a 3 " \ more simultaneous interruption

eines Problemprogramms auf die Leitung 61 gege- 5 chungsanforderungen.of a problem program on line 61.

benes Signal eingeleitet oder durch ein Signal auf der „ . · ι ιinitiated signal or by a signal on the ". · Ι ι

Leitung 62; letzteres erscheint nach vollständiger e ι s ρ ι eLine 62; the latter appears after the complete e ι s ρ ι e

Ausführung einer Makroinstruktion, wenn keine Es sei angenommen, daß während einer Makro-Unterbrechungsanforderung vorliegt, oder am Anfang instruktion, die unter der Steuerung der entsprecheneines Unterbrechungsprogramms. Die von der io den Mikroinstruktionsfolge ausgeführt wurde, in der Schaltung 60 gesteuerten Operationen umfassen auch Anlage keine Unterbrechungsbedingungen auftraten die laufend erfolgenden Änderungen und Vervoll- und somit keine Unterbrechungsanforderung geständigungen des aktiven PSW. stellt wurde.Execution of a macro instruction if none Assume that during a macro interrupt request is present, or at the beginning instruction that corresponds to one under the control of Interrupt program. The sequence of microinstructions carried out by the io in the Circuit 60 controlled operations also include plant no interruption conditions occurred the ongoing changes and completions and thus no interruption requests of the active PSW. was presented.

Wenn durch Signale auf den Leitungen 63 oder 64 Da keine MASCH PRUEF- oder PROG PRUEF-die Anforderung für erlaubte MASCH PRUEF- 15 Unterbrechungsanforderungen gestellt wurden, wel- oder PROG PRUEF-Unterbrechungen angezeigt ehe eine sofortige Beendigung der Mikroinstruktionswird, bewirkt die Schaltung 60 die sofortige Be- folge bewirkt hätten, wird die letzte Mikroinstruktion endung der gerade ausgeführten Mikroinstruktionen- der Folge zur Feststellung benutzt, ob eine Anfordefolge und liefert Signale auf den Ausgangsleitungen rung für eine E/A- oder EXT-Unterbrechung vor-65 bzw. 66. Diese Signale werden zu den durch die 20 liegt. Das auf der Leitung 68 erscheinende Abfrage-Blöcke 8OD und 8OE dargestellten Schaltungen ge- signal wird zur Schaltung 70 geleitet. Diese Schaltung leitet, die die entsprechenden Unterbrechungen ein- führt die bereits erwähnte einfache logische Funktion leiten. Wird durch eine vom Programmierer vorge- aus, um eines der Ausgangssignale JA oder NEIN sehene Instruktion eine MON-RUF-Unterbrechung auf den Leitungen 71 bzw. 62 zu erzeugen. Da angeeingeleitet, so erscheint ein Signal auf der Ausgangs- 25 nommen wurde, daß keine Unterbrechungsanfordeleitung 67, welches, zur Schaltung 80 C geleitet, die rung vorliegt, ist auf der Eingangsleitung UNT AN-erforderliche Unterbrechung bewirkt. GEF 57 kein Signal vorhanden, und die Schaltung 70When signals on lines 63 or 64 since no MASCH PRUEF or PROG PRUEF requests for allowed MASCH PRUEF 15 interrupt requests have been made, wel or PROG PRUEF interrupts are indicated before an immediate termination of the microinstruction, circuit 60 causes the would have caused immediate consequences, the last microinstruction ending of the microinstructions being executed in the sequence is used to determine whether there is a request sequence and provides signals on the output lines for an I / O or EXT interruption before -65 or 66. These signals are related to the ones through the 20. The interrogation blocks 80D and 80E shown on the line 68 are sent to the circuit 70. This circuit, which introduces the appropriate interruptions, conducts the already mentioned simple logic function. If an instruction is provided by the programmer to generate one of the output signals YES or NO, a MON-RUF interrupt on lines 71 or 62, respectively. Since initiated, a signal appears on the output 25 that no interrupt request line 67, which is routed to circuit 80C, is present, has caused an interruption required on the input line UNT AN. GEF 57 no signal present, and the circuit 70

Die jeweils letzte Instruktion einer Mikroinstruk- gibt ein Signal auf die NEIN-Ausgangsleitung 62.The respectively last instruction of a microinstruction sends a signal to the NO output line 62.

tionsfolge erzeugt ein Signal auf der Ausgangsleitung Dieses Signal wird zur Steuerschaltung 60 geleitettion sequence generates a signal on the output line. This signal is passed to control circuit 60

68, das zur Feststellung dient, ob während der Aus- 30 und bewirkt hier die Ausführung der nächsten Ma-68, which is used to determine whether during the training 30 and here causes the execution of the next measure

führung der Mikroinstruktionsfolge eine Anforde- kroinstruktion des laufenden Programms,Execution of the micro-instruction sequence a request instruction of the current program,

rung für eine E/A- oder EXT-Unterbrechung gestellt „ . . ,'tion set for an I / O or EXT interruption ". . , '

wurde. Beispiel 2became. Example 2

Die Blöcke 70 »Unterbrechung?« und 72 Es sei angenommen, daß während der AusführungBlocks 70 "Interrupt?" And 72 Assume that during execution

»Extern?« stellen einfache logische Schaltungen 35 einer zu einem Problemprogramm gehörenden Ma-"External?" Represent simple logic circuits 35 of a program belonging to a problem program.

dar, die nach Eingang eines Signals auf den Leitun- kroinstruktion eine E/A-Unterbrechung vom Kanalrepresents an I / O interruption from the channel after a signal has been received on the line unrecognized instruction

gen 68 bzw. 71 die folgende Funktion ausüben: 121 (s. F i g. 5) angefordert wurde und daß dasgen 68 or 71 exercise the following function: 121 (see Fig. 5) was requested and that the

wenn ein UNT ANGEF- oder ein EXT ANGEF-Si- Bit 1 der Systemmaske der aktiven PSW, das diesemif a UNT ANGEF- or an EXT ANGEF-Si-Bit 1 of the system mask of the active PSW, this

gnal auf den Eingangsleitungen 57 bzw. 58 vorhan- Kanal entspricht, eine »1« ist und somit die Unter-gnal on the input lines 57 or 58 corresponds to channel present, a "1" is and thus the sub-

den ist, wird ein Signal auf die JA-Ausgangsleitung 40 brechung als erlaubt definiert.If this is the case, a signal on the YES output line 40 is defined as being allowed to be broken.

71 bzw. 73 gegeben; wenn kein Anforderungssignal Da keine MASCH PRUEF- oder PROG PRUEF-71 and 73 given; if no request signal Since no MASCH PRUEF or PROG PRUEF

vorhanden ist, wird ein Signal auf der NEIN-Aus- Unterbrechungsanforderungen gestellt wurden, dieis present, a signal is set to the NO-off interrupt requests that

gangsleitung 62 bzw. 74 erzeugt. eine sofortige Beendigung der MikroinstruktionsfolgeTransit line 62 and 74 generated. an immediate termination of the microinstruction sequence

Mit 8OA bis 80E sind Schaltungen gekennzeich- bewirkt hätten, wird die letzte Mikroinstruktion der net, die für die verschiedenen Unterbrechungsarten 45 Folge zur Feststellung benutzt, ob eine Anforderung EXT, E/A, MON RUF, PROG PRUEF und für eine E/A- oder EXT-Unterbrechung vorliegt. MASCH PRUEF unter der Kontrolle von Mikroin- Das Abfragesignal auf Leitung 68 wird zur Schalstruktionen die folgenden Operationen steuern: Ver- tung 70 geleitet. Da angenommen wurde, daß eine vollständigung des aktiven PSW mit Informationen, Anforderung für eine erlaubte Unterbrechung gestellt die die anfordernde Einheit und den Grund für die 50 wurde und dieses durch ein Signal auf der Leitung Unterbrechung definieren; Übertragung des aktiven 57 angezeigt wird, erzeugt die Schaltung 70 auf der PSW vom Arbeitsspeicher in eine der »alten« PSW- JA-Ausgangsleitung 71 einen Impuls, der zur Schal-Speicherstellen, wobei diese Speicherstelle durch die tung 72 geführt wird. Diese Schaltung, die beim Auf-Art der Unterbrechung bestimmt ist: Speicherstelle treten einer Anforderung für eine EXT-Unterbre- »altes EXT PSW« für Schaltung 80 A »altes E/A 55 chung ein Signal auf der Leitung 58 erhält, übt die PSW« für 8OB, »altes MON RUF PSW« für 8OC, erwähnte Funktion, die der der Schaltung 70 ent- »altes PROG PRUEF PSW« für 8OD und »altes spricht, aus und liefert ein JA- oder NEIN-Aus-MASCH PRUEF PSW« für 80 E; Auslesen des gangssignal auf den Leitungen 73 bzw. 74. Da anneuen PSW aus der Speicherstelle des Hauptspei- genommen wurde, daß nur eine E/A-Unterbrechung chers, die der Stelle, in die das alte PSW eingespei- 60 angefordert wurde, liegt kein Signal auf der Leitung chert wurde, zugeordnet ist, und Überführung des 58 und es erscheint ein Ausgangssignal auf der neuen PSW in den Arbeitsspeicher. Nach Abschluß NEIN-Leitung 74. Für die in F i g. 6 gezeigte Andieser Operationen erscheint ein Ausgangssignal auf Ordnung bedeutet dieses Signal, daß eine E/Ader der Schaltung 80 entsprechenden Leitung 68 A, Unterbrechung angefordert wurde; dieses wird an 68 B, 68 C, 68 D bzw. 68 E. 65 Hand der folgenden Betrachtung klar: ein Signal aufWith 80A to 80E circuits are identified, the last microinstruction of the net, the 45 sequence for the various interrupt types, is used to determine whether a request is EXT, I / O, MON RUF, PROG PRUEF and for an I / O or there is an EXT interruption. MASCH PRUEF under the control of microin- The interrogation signal on line 68 is used to control the following operations: processing 70. Since it was assumed that a completion of the active PSW with information, a request for a permitted interruption was made which the requesting unit and the reason for the 50 were made and this was defined by a signal on the interruption line; Transmission of the active 57 is indicated, the circuit 70 on the PSW from the main memory into one of the "old" PSW-YES output line 71 generates a pulse which is sent to the switching memory locations, this memory location being passed through the device 72. This circuit, which is determined by the on-type of interruption: Storage location occurs when a request for an EXT interruption "old EXT PSW" for circuit 80 A "old I / O 55 receives a signal on line 58, the PSW exercises «For 8OB, » old MON RUF PSW «for 8OC, mentioned function, which the circuit 70 contains» old PROG PRUEF PSW «for 8OD and» old, and delivers a YES or NO-Aus-MASCH PRUEF PSW «For 80 E; Reading out the output signal on lines 73 or 74. Since the new PSW was taken from the memory location of the main memory, there is no I / O interruption that corresponds to the location in which the old PSW was requested Signal on the line chert has been assigned, and transfer of the 58 and an output signal appears on the new PSW in the working memory. After completion, NO line 74. For those shown in FIG. In these operations shown in Fig. 6, an output signal appears in order, this signal means that an I / wire line 68 A, interruption corresponding to circuit 80 has been requested; this becomes clear at 68 B, 68 C, 68 D or 68 E. 65 Hand of the following consideration: a signal on

Die Arbeitsweise der in F i g. 6 gezeigten Schal- Leitung 57 zeigt an, daß eine Anforderung für eineThe operation of the in F i g. 6 shown switching line 57 indicates that a request for a

tungsanordnungen wird nachfolgend an Hand von Unterbrechung irgendeiner Art gestellt wurde, undprocessing orders is made below on the basis of interruption of any kind, and

drei Beispielen erklärt: da in der vorliegenden, in Fig. 6 gezeigten Anord-three examples explained: since in the present arrangement shown in FIG.

15 1615 16

nung nur zwei verschiedene Arten von Unterbre- Da keine Anforderungen für MASCH PRUEF-There are only two different types of interruption, since there are no requirements for MASCH TEST

chungsanforderungen abgefragt werden und ferner oder PROG PRUEF-LJnterbrechungen aufgetretenand further or PROG PRUEF-L interruptions occurred

die Abwesenheit eines Signals auf Leitung 58 an- sind, die eine sofortige Beendigumng der Mikroin-the absence of a signal on line 58 indicating an immediate termination of the microin-

gibt, daß die vorliegende Anforderung sich nicht auf struktionsfolge bewirkt haben würde, dient die letzteindicates that the request at hand would not have affected the instruction sequence, the last one is used

eine EXT-Unterbrechung bezieht, muß es sich not- 5 Mikroinstruktion der Folge zur Feststellung, ob einerefers to an EXT interrupt, it must not- 5 microinstruction of the sequence to determine whether a

wendigerweise um eine Anforderung für eine E/A Anforderung für eine E/A- oder eine EXT-Unter-maneuverable around a request for an I / O request for an I / O or an EXT sub-

Unterbrechung handeln. brechung vorliegt. Das Abfragesignal auf der Lei-Act interruption. there is a refraction. The query signal on the line

Die Abfrage der verschiedenen Arten von Unterr tung 68 wird zur Schaltung 7Ö geleitet, die, wie im brechungsanfprderungen wird in der Reihenfolge Beispiel 2 erläutert, ein JA-Ausgangssignal auf der zunehmender Dringlichkeit der Unterbrechungen io Leitung 71 entwickelt. Auf den beiden Eingangsausgeführt. In der in F i g. 6 gezeigten Anordnung leitungen 58 und 71 der Schaltung 72 sind Signale werden nur zwei verschiedene Dringlichkeitsstufen vorhanden, so daß diese Schaltung ebenfalls ein JA-in Betracht gezogen, jedpch kann, ohne das Prinzip Ausgangssignal auf die Leitung 73 gibt, das zur des Verfahrens zu ändern, ein weiter unterteiltes Schaltung 8OA weitergeleitet wird. Diese Schaltung Öringlichkeitsschema verwendet werden; so könnten 15 bewirkt die Einspeicherung des aktiven PSW in die z. B. den verschiedenen E/A-Kanälen unterschied- Hauptspeicherstelle »al|es EXT PSW« und die darliehe Prioritäten zugeordnet werden, denen durch auffölgende Überführung des neuen PSW, das für zusätzliche Abfrageschaltungen (entsprechend den die Ausführung des EXfrProgramms erforderlich Schaltungen 70 und 72) Rechnung getragen werden ist, von der Hauptspeicherstelle »neues EXT PSW« kann. 30 zum Arbeitsspeicher. Nach Abschluß dieser Über-The interrogation of the various types of communication 68 is passed to circuit 70, which, as explained in the order of example 2 in the break request, develops a YES output signal on the increasing urgency of the interruptions on line 71. Executed on the two entrances. In the in F i g. 6 shown arrangement lines 58 and 71 of the circuit 72 signals are only two different levels of urgency available, so that this circuit can also be considered a YES, without the principle output signal on the line 73 to change the method , a further subdivided circuit 8OA is forwarded. This circuit urgency scheme can be used; so could 15 causes the storage of the active PSW in the z. B. the different I / O channels - main memory location "al | es EXT PSW" and the priorities are assigned to which by subsequent transfer of the new PSW, which is required for additional query circuits (corresponding to the circuits 70 and 72 required for executing the EXfr program ) Must be taken into account, from the main memory location »new EXT PSW« can be used. 30 to the main memory. After completing this transfer

Zum angenommenen Beispiel zurückkehrend: das tragungen wird das auf Leitung 68A entwickelte Si-NEIN-Signal auf der Leitung 74 wird zur Schaltung gnal der Schaltung 70 zugeführt und die Abfrageope-805 geleitet, die die Vervollständigung des aktiven ration wiederholt. Da eine zweite Unterbrechungs-PSW steuert und die Überführung des dem unter- anforderung vorliegt, ist auf Leitung 57 ein Signal brochenen Programm zugeordneten alten PSW vom 25 vorhanden, und die Schaltung 70 liefert ein JA^Ausr Arbeitsspeicher in die Hauptspeicherstelle »altes E/A gangssignal auf Leitung 71. Da die Anforderung für PSW« veranlaßt. Da die Abfrage nach EXT- und die EXT-Unterbrechung durch die Überführung des E/A-UnterbrecliungsanfQrderungen am Ende einer entsprechenden PSW in den Arbeitsspeicher bereits Makroinstruktion stattfindet, enthält das aktive PSW berücksichtigt wurde, liegt kein Signal mehr auf der zu dieser Zeit alle Informationen, die zur Wiederauf- 30 Leitung 58, und die Schaltung 72 entwickelt ein nähme des unterbrochenen Programms nach Ab- NEINrAusgangssignal auf der Leitung 74. Dieses Schluß des Ünterbrechungsprogramms erforderlich zeigt an, wie bereits erläutert, daß eine Anforderung sind. Neben der Einspeicherung des aktiven PSW für eine E/ArUnterbrechung vorliegt, und die Schalals altes PSW in den Hauptspeicher sind keine weite- tung 80 B steuert die Einspeicherung des alten PSW ren Datenübertragungs- oder Einspeicherungsopera- 35 in die Hauptspeicherstelle »altes E/A PSW«. Es wird tionen erforderlich. Anschließend wird, weiterhin darauf hingewiesen, daß dieses alte PSW das dem durch die Schaltung 80 B gesteuert, das für das E/A- noch nicht ausgeführten EXT-Unterbrechungsprot Unterprogramm erforderliche neue PSW YQn der gramm zugeordnete Kontrollwort ist. Dieses PSW Hauptspeicherstelle »neues E/A PSW« ausgelesen enthält alle Informationen, die erforderlich sind, um und in den Arbeitsspeicher übergeführt. 40 die Ausführung des EXT-UnterbrechungsprogrammsReturning to the assumed example: the transmission is carried out, the Si-NO signal developed on line 68 A on line 74 is fed to the gnal circuit of circuit 70 and passed the query operation 805 which repeats the completion of the active ration. Since a second interrupt PSW controls and the transfer of the subrequest is available, there is an old PSW assigned to the program interrupted from the 25 on line 57, and the circuit 70 supplies a YES ^ Alr working memory in the main memory location »old I / O output signal on line 71. As the request for PSW «initiated. Since the query for EXT and the EXT interruption is already taking place through the transfer of the I / O interruption requests at the end of a corresponding PSW to the main memory, contains the active PSW has been taken into account, there is no longer a signal that contains all the information at this time , which leads to the restart 30 line 58, and the circuit 72 develops the interrupted program after a NO output signal on the line 74. This termination of the interrupt program required indicates, as already explained, that a request is made. In addition to the storage of the active PSW for an I / O interruption, and the old PSW in the main memory are no expansion 80 B controls the storage of the old PSW ren data transfer or storage operations in the main memory location »old I / O PSW «. It will be necessary. It is then further pointed out that this old PSW is the new PSW YQn of the control word assigned to the program, which is controlled by the circuit 80 B , the new PSW YQn is the control word required for the I / O not yet executed EXT interruption protocol subroutine. This PSW main storage location "new I / O PSW" read out contains all the information that is required to be transferred to and from the main memory. 40 the execution of the EXT interrupt routine

Nach Ausführung dieser PSW-Übertragungen wird einzuleiten, sobald es wieder in den Arbeitsspeicher das Ausgangssignal auf der Leitung 685 zur Schal- übergeführt wird. Dieses geschieht, wie weiter unten tung 70 geleitet und die oben erläuterte Abfrage- erklärt werden wird, nach Abschluß des E/A-pperation wiederholt. Da angenommen worden ist, Unterbrechungsprogramms, das gegenüber der EXT-daß keine weiteren ynterbrechungsanforderungen ge- 45 Unterbrechung von höherer Dringlichkeit ist.
Stellt wurden, wird ein Signal auf der NEIN-Aus- Nach Einspeicherung des alten (EXT) PSW wird gangsleitung 62 erzeugt und zur Schaltung 60 weiter- das neue, für das E/ArUnterbrechungsprogramm ergeleitet, djje ihrerseits die Ausführung des E/A- forderliche PSW aus der Hauptspeicherstelle »neues Unterbrechungsprogramms einleitet. E/A PSW« ausgelesen und in den Arbeitsspeicher
After these PSW transmissions have been carried out, an initiation is made as soon as the output signal on line 685 is transferred to the main memory again. This is done, as directed further below by device 70 and as explained above, is repeated after the I / O operation has been completed. Since it has been assumed, the interrupt program which, compared to the EXT, is that no further interrupt requests are made. An interruption of higher urgency.
After the old (EXT) PSW has been stored, output line 62 is generated and the new one for the I / O interruption program is passed on to circuit 60, which in turn requires the execution of the I / O PSW from the main memory location »initiates a new interrupt program. I / O PSW «read out and into the working memory

Nach Abschluß dieses Unterprogramms wird, 59 übergeführt.After completion of this subroutine, 59 is transferred.

wenn keine weitere Unterbrechung angefordert Das nach Abschluß dieser Operation auf der Leiwurde, das aktiye PSW, welches das dem E/A- tung 685 erscheinende Signal wird an die Schaltung ynterbrechungsprogramm zugeordnete PSW ist, in 70, gegeben, und die Abfrageoperation wird erneut die Hauptspeicherstelle »neues E/A PSW« einge- wiederholt. Da angenommen wurde, daß keine weitespeichert, und das PSW, das die für die Wiederauf- 55 ren Unterbrechungsanforderungen gestellt wurden, nähme des unterbrochenen Problemprogramms not- erscheint ein Signal auf der NEIN-Ausgangsleitung wendigen Informationen enthält, wird aus der Spei- 62, das, zur Schaltung 60 geführt, die Ausführung cherstelle »altes E/A PSW« ausgelesen und in den des E/ATUnterbrechungsprogramms einleitet.
Arbeitsspeicher übergeführt, Anschließend wird die Nach Abschluß des E/A-Unterbrechungspro-Ausführung des Problemprogramms fortgesetzt. 6q gramms und unter der Annahme, daß keine weiteren . Unterbreehungsanforderungen aufgetreten sind, wird B?IsVl?1 3 das aktive (E/A) PSW in die Hauptspeicherstelle
If no further interrupt is requested After this operation has been completed on the line, the active PSW, which is the signal appearing on I / O 685, is given to the PSW associated with the circuit interrupt program in 70, and the query operation again becomes the main memory location "New I / O PSW" repeated. Since it was assumed that no further storage was made, and the PSW, which the interrupt requests for the resumption were made, would take the interrupted problem program, a signal appears on the NO output line contains necessary information , routed to circuit 60, read out the "old I / O PSW" execution and initiate that of the I / AT interrupt program.
Working memory transferred, then after the completion of the I / O interrupt pro execution of the problem program is continued. 6q gramms and assuming that no further. Interrupt requests have occurred, will B ? I s Vl? 1 3 the active (I / O) PSW in the main memory location

Es. sei angenommen, daß, während der Ausführung »neues E/A PSW« eingespeichert und das PSW für einer zu einern Problemprogramm gehörenden Ma- das EXTrUnterbrechungsprogramm aus der Speikrpinstruktion zwei Anforderungen für Unterbre- 65 cherstelle »altes E/A PSW« ausgelesen und dem chungen unterschiedlicher- Dringlichkeit, und zwar Arbeitsspeicher zugeführt. Hierauf erfolgt die Ausfür eine E/A- und für eine EXT-Unterbrechung, auf- führung des zweiten Unterbrechungsprogramms,It. Assume that "new I / O PSW" is stored during execution and the PSW for a measure belonging to a problem program - the EXTr interrupt program from the memory instruction read out two requests for interrupter 65 “old I / O PSW” and the different urgency, namely working memory supplied. This is followed by the execution an I / O and for an EXT interruption, execution of the second interrupt program,

getreten sind und als erlaubt bestimmt wurden. Nach Abschluß auch dieses Programms und wie-entered and were determined to be allowed. After completing this program and again

deruin annehmend, daß keine weiteren Unterbrechungsanforderungen aufgetreten sind, wird das jetzt aktive (EXT) PSW in die Hauptspeicherstelle »neues EXT PSW« eingespeichert und das PSW, das die für die Wiederaufnahme des unterbrochenen Problemprogramms erforderlichen Informationen enthält, der Speicherstelle »altes EXT PSW« entnommen und in die Arbeitsspeicher eingegeben. Hierauf wird die Ausführung des unterbrochenen Problemprogramms forgesetzt.deruin assuming that no further interrupt requests occurred, the now active (EXT) PSW is stored in the main memory location »new EXT PSW «and the PSW that is required for resuming the interrupted problem program contains the required information, taken from the "old EXT PSW" storage location and entered into the working memory. The interrupted problem program is then executed continued.

Bei dem beschriebenen Verfahren werden, wenn gleichzeitig mehrere Unterbrechungsanforderungen auftreten, die entsprechenden PSW in der Reihenfolge zunehmender Dringlichkeit der Unterprogramme eingespeichert, das PSW niedrigster Priorität wird zuerst berücksichtigt; hingegen erfolgt die Ausführung der Unterprogramme in der entgegengesetzten Reihenfolge, d. h. das Unterprogramm höchster Dringlichkeit wird zuerst ausgeführt.In the case of the method described, several interrupt requests are made at the same time the corresponding PSW occur in the order of increasing urgency of the subroutines stored, the PSW with the lowest priority is taken into account first; however, the Execution of the subroutines in the opposite order, d. H. the subroutine Urgency is carried out first.

Mit Hilfe des angegebenen Verfahrens ist es auch möglich, Unterbrechungsanforderungen zu berücksichtigen, die während der Ausführung eines Unterbrechungsprogramms anderer Art auftreten. Wenn die angeforderte zweite Unterbrechung als erlaubt bestimmt wurde, ermöglicht das System die Unterbrechung des ablaufenden ersten Unterbrechungsprogramms. With the help of the specified procedure, it is also possible to take interruption requests into account, which occur during the execution of another type of interrupt routine. if the requested second interruption has been determined to be allowed, the system enables the interruption of the running first interrupt program.

Aus dem Vorangegangenen wird ersichtlich, daß, sobald das Monitorprogramm die Ausführung eines Unterbrechungsprogramms 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-Speicherstelle eingegeben würde, die bereits das PSW des ursprünglichen Problemprogramms enthält. Diese Situation kann durch geeignete Anwendung der Maskenbits der PSW verhindert werden: handelt es sich beispielsweise bei den nacheinander auftretenden Unterbrechungsanforderungen um E/A-Unterbrechungen, muß die Systemmaske des neuen E/A-PSW, das dem ersten Unterbrechungsprogramm entspricht, alle von anderen E/A-Kanälen angeforderten Unterbrechungen als unerlaubt definieren. Auf diese Weise kann keine weitere E/A-Unterbrechung eingeleitet werden, bevor nicht das gegenwärtig ablaufende E/A-Unterprogramm zu Ende geführt ist.From the foregoing it can be seen that as soon as the monitor program executes a Interrupt program initiated and started, this subprogram is not carried out by a subprogram of the same type may be interrupted. If this were allowed, then all information would be get lost via the interrupted, originally running problem program because the PSW assigned to the first interrupt program would be entered into the "old" PSW memory location that already had the PSW of the original Contains problem program. This situation can be avoided by suitable application of the mask bits PSW can be prevented: this is, for example, the interruption requests that occur one after the other in order to I / O interruptions, the system mask of the new I / O PSW corresponding to the first interruption program must all of Define interruptions requested by other I / O channels as not permitted. That way you can no further I / O interrupt can be initiated before the currently executing I / O subroutine has been completed.

MASCH PRUEF- und PROG PRUEF-Unterbrechungen werden sofort nach Auftreten der die Unterbrechungen erfordernden Bedingungen eingeleitet. Auch hier wird das der Kontrolle des zu unterbrechenden Programms dienende alte PSW in den Hauptspeicher übergeführt und das neue, für die Ausführung des Unterbrechungsprogramms erforderliche PSW in den Arbeitsspeicher eingegeben. Das gleiche gilt für die MON RUF-Unterbrechungen, die sich lediglich darin unterscheiden, daß sie durch vom Programmierer vorgesehene Makroinstruktionen eingeleitet werden.MASCH PRUEF and PROG PRUEF interruptions are activated immediately after the occurrence of the Interruptions requiring conditions initiated. Again, this becomes the control of what is to be interrupted The old PSW serving the program is transferred to the main memory and the new one for the Execution of the interrupt program required PSW entered into the working memory. The same applies to the MON RUF interruptions, which only differ in that they are through macro instructions provided by the programmer are initiated.

Die durch den in F i g. 6 gezeigten Aufbau der Anlage vorgegebene Prioritätsreihenfolge kann leicht geändert werden, indem man die durch die in den PSW enthaltenen Masken gegebenen 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 Unterbrechungsprogramm höherer Priorität zur Ausführung gelangen, so kann man die Maskenbits des dem Unterprogramm niedrigerer Priorität entsprechenden PSW, das als erstes in den Arbeitsspeicher eingegeben wird, so wählen, daß 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 bestimmten Reihenfolge auszuführen gestattet.The by the in F i g. 6 shown structure of the system predetermined order of priority can easily can be changed by using the options given by the masks contained in the PSW exploits. Should z. B. an interrupt program that has a lower priority according to the circuit has, as a second, simultaneously requested interrupt program, before this second Interrupt program of higher priority get to be executed, you can use the mask bits of the PSW corresponding to the lower priority subroutine, which is the first in the working memory is entered, select the channel corresponding to the channel requesting the higher priority interrupt Mask bit is made "0", which defines this interruption as not allowed will. This gives a very versatile and easily variable interruption method that Interruptions of varying urgency in one determined by the programmer or the program Order allowed to execute.

Claims (2)

Patentansprüche:Patent claims: 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 im Bedarfsfall gleichzeitige Aufname von Daten zur Beschreibung bereitstehender Unterprogramme oder unterbrochener Programme, durch von der Steuerschaltung (60) zur an sich bekannten Einleitung je eines Unterprogramms unterschiedlicher Priorität erregbare Steuervorrichtungen (80), die in bekannter Weise je einem Unterprogramm zugeordnet sind und die ferner 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.1. Data processing system with priority-controlled program interruption, with a Active program status word register (PSW register) for the inclusion of the current program descriptive data (program status word) and with a control circuit for control of the program sequence and for receiving interrupt requests through several inactive PSW registers for the simultaneous recording of data available for description if necessary Subroutines or interrupted programs by the control circuit (60) excitable to initiate a subroutine of different priority, known per se Control devices (80) which are each assigned to a subroutine in a known manner and which also supplement the active program status word when excited, in the relevant Save the inactive PSW registers assigned to the subroutine and this subroutine Transfer the assigned program status word to the active PSW register. 2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekemizeichnet, daß jedem bereitstehenden Unterprogramm ein Registerpaar (4OD bis 40/?) zugeordnet ist, von denen das eine Register (z. B. 40DI) 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örige und in das aktive PSW-Register zu übertragende Programmstatuswort enthält, wobei beim gleichzeitigen Vorliegen einer weiteren Unterbrechungsanforderung höherer Priorität das Programmstatuswort des zunächst berücksichtigten Unterprogramms aus dem aktiven PSW-Register wieder entnommen und in das eine Register (z. B. 40£111) des dem zweiten Unterprogramm zugeordneten Registerpaares (z. B. 40E) eingetragen und aus dem anderen Register (z. B. 40£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 Anforderungen in umgekehrter Folge vorgenommen wird.2. Data processing system according to claim 1, characterized in that each available subroutine is assigned a pair of registers (4OD to 40 /?), One of which registers (z. B. 40DI) is provided for receiving the program status word associated with the program to be interrupted and the other (e.g. 40 DII) contains the program status word belonging to the interrupting subroutine and to be transferred to the active PSW register, with the program status word of the subroutine initially considered from the active PSW register again if another higher priority interrupt request is present and entered into one register (e.g. 40 £ 111) of the register pair assigned to the second subprogram (e.g. 40E) and from the other register (e.g. 40 £ IV) of the second register pair that of the second subprogram associated program status word is transferred to the active PSW register and that further simultaneous interrupt requests orders are treated in the same way and the requirements are broken down in the reverse order. Hierzu 2 Blatt ZeichnungenFor this purpose 2 sheets of drawings
DE19651499200 1964-04-06 1965-03-20 DATA PROCESSING SYSTEM WITH PRIORITY CONTROLLED PROGRAM INTERRUPTION Pending DE1499200B2 (en)

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 DE1499200A1 (en) 1970-03-05
DE1499200B2 true DE1499200B2 (en) 1971-04-15

Family

ID=23405304

Family Applications (6)

Application Number Title Priority Date Filing Date
DENDAT1250659D Pending DE1250659B (en) 1964-04-06 Microprogram-controlled data processing system
DEJ27677A Pending DE1246289B (en) 1964-04-06 1965-03-11 Condition register for a program-controlled data processing system
DE19651303416D Pending DE1303416B (en) 1964-04-06 1965-03-19
DE19651499200 Pending DE1499200B2 (en) 1964-04-06 1965-03-20 DATA PROCESSING SYSTEM WITH PRIORITY CONTROLLED PROGRAM INTERRUPTION
DE19651499201 Pending DE1499201B2 (en) 1964-04-06 1965-03-26 Circuit arrangement for converting information in a packed byte representation into an unpacked representation
DEJ27790A Pending DE1237363B (en) 1964-04-06 1965-03-27 Arithmetic-logical unit

Family Applications Before (3)

Application Number Title Priority Date Filing Date
DENDAT1250659D Pending DE1250659B (en) 1964-04-06 Microprogram-controlled data processing system
DEJ27677A Pending DE1246289B (en) 1964-04-06 1965-03-11 Condition register for a program-controlled data processing system
DE19651303416D Pending DE1303416B (en) 1964-04-06 1965-03-19

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE19651499201 Pending DE1499201B2 (en) 1964-04-06 1965-03-26 Circuit arrangement for converting information in a packed byte representation into an unpacked representation
DEJ27790A Pending DE1237363B (en) 1964-04-06 1965-03-27 Arithmetic-logical unit

Country Status (12)

Country Link
US (1) US3400371A (en)
AT (4) AT264162B (en)
BE (5) BE662152A (en)
CH (6) CH418011A (en)
DE (6) DE1246289B (en)
ES (3) ES311385A1 (en)
FI (1) FI46568C (en)
GB (7) GB1061361A (en)
IL (1) IL23159A (en)
NL (5) NL143351B (en)
NO (1) NO117054B (en)
SE (3) SE316936B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2261221A1 (en) * 1971-12-21 1973-06-28 Ibm METHOD AND ARRANGEMENT FOR THE CONTROL OF A DATA PROCESSING SYSTEM
DE2411963A1 (en) * 1973-04-30 1974-11-14 Ibm DATA PROCESSING SYSTEM

Families Citing this family (53)

* 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 (en) * 1966-06-03 1970-08-06 Ibm Adding-subtracting circuit for coded decimal numbers, especially those in byte representation
DE1549531A1 (en) * 1966-08-16 1971-04-01 Scient Data Systems Inc Digital computer system
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
US3740722A (en) * 1970-07-02 1973-06-19 Modicon Corp Digital computer
US3761893A (en) * 1970-07-02 1973-09-25 Modicon Corp Digital computer
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
DE2336676C3 (en) * 1973-07-19 1981-06-19 Ibm Deutschland Gmbh, 7000 Stuttgart Device for modifying microprogram instructions
DE2560129C2 (en) * 1974-09-25 1982-11-04 Data General Corp., 01581 Westboro, Mass. Method for generating and executing the initial microinstruction of a microinstruction sequence used for executing a macroinstruction
US3990052A (en) * 1974-09-25 1976-11-02 Data General Corporation Central processing unit employing microprogrammable control for use in a data processing system
US4241397A (en) * 1977-10-25 1980-12-23 Digital Equipment Corporation Central processor unit for executing instructions with a special operand specifier of indeterminate length
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 (en) * 1979-11-14 1986-05-16 Bull Sa DEVICE FOR SHARING A CENTRAL SUBSYSTEM OF AN INFORMATION PROCESSING SYSTEM INTO SEVERAL INDEPENDENT SUBSYSTEMS
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 (en) * 1982-12-31 1984-07-16 Philips Nv DATA PROCESSOR UNIT EQUIPPED WITH A CONTROL PART INCLUDING AN ADDRESS GENERATOR FOR GENERATING ADDRESSES COMPOSED OF CHARACTERISTIC ADDRESS PARTS.
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
US4584643A (en) * 1983-08-31 1986-04-22 International Business Machines Corporation Decentralized synchronization of clocks
US4531185A (en) * 1983-08-31 1985-07-23 International Business Machines Corporation Centralized 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
US5034914A (en) * 1986-05-15 1991-07-23 Aquidneck Systems International, Inc. Optical disk data storage method and apparatus with buffered interface
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
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 (en) * 1989-01-31 1992-12-02 International Business Machines Corporation Method for synchronizing the dispatching of tasks among multitasking operating systems
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 (en) * 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Simultaneous access management method
DE69123663T2 (en) * 1990-08-31 1997-06-26 Ibm Channels in a computer input / output system
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 (en) * 2018-07-05 2023-02-03 北京谷山丰生物医学技术有限公司 Method and device for improving frequency response of electrocardio acquisition system

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 (en) * 1957-11-13 1960-06-30 Emi Ltd Logistic electronic computing device
NL136146C (en) * 1957-12-09
IT600645A (en) * 1957-12-23
BE582071A (en) * 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 (en) * 1959-09-08
NL136144C (en) * 1959-10-19 1900-01-01
US3111648A (en) * 1960-03-31 1963-11-19 Ibm Conversion apparatus
NL267513A (en) * 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
USB325107I5 (en) * 1961-01-27
US3273126A (en) * 1961-08-25 1966-09-13 Ibm Computer control system
DE1187044B (en) * 1961-09-13 1965-02-11
DE1157009B (en) * 1961-09-13 1963-11-07 Telefunken Patent Arithmetic unit of a digital calculating machine
GB993879A (en) * 1961-11-16
US3258748A (en) * 1962-01-08 1966-06-28 Fntan, fntin
NL287533A (en) * 1962-01-22
US3248708A (en) * 1962-01-22 1966-04-26 Ibm Memory organization for fast read storage
NL292579A (en) * 1962-05-10
FR1365593A (en) * 1962-06-22 1964-11-03
NL294820A (en) * 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
BE637749A (en) * 1962-10-01
US3286239A (en) * 1962-11-30 1966-11-15 Burroughs Corp Automatic interrupt system for a data processor
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
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 (en) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Data storage device
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2261221A1 (en) * 1971-12-21 1973-06-28 Ibm METHOD AND ARRANGEMENT FOR THE CONTROL OF A DATA PROCESSING SYSTEM
DE2411963A1 (en) * 1973-04-30 1974-11-14 Ibm DATA PROCESSING SYSTEM

Also Published As

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

Similar Documents

Publication Publication Date Title
DE1499200B2 (en) DATA PROCESSING SYSTEM WITH PRIORITY CONTROLLED PROGRAM INTERRUPTION
DE2555963C2 (en) Function modification facility
DE2411963C3 (en) Electronic data processing system with a priority control circuit with changeable control blocks
DE2714805C2 (en)
DE2846495C2 (en) Central unit
DE2629459C2 (en)
DE2322674C3 (en) Microprogram controller
DE1931966C3 (en) Data processing system with associative memories
DE2318069C2 (en) Micro-programmed computer system with expansion of control functions by means of a hard-wired logic matrix
DE2230102A1 (en) CALCULATOR FOR VARIABLE WORD LENGTHS
DE2533403A1 (en) DATA PROCESSING SYSTEM
DE2847934A1 (en) DATA PROCESSING DEVICE WITH A MICRO COMMAND MEMORY
DE2806024A1 (en) STORAGE SYSTEM WITH ERROR DETECTION AND CORRECTION POSSIBILITY
DE2758152A1 (en) MEMORY PROTECTION ARRANGEMENT
CH650600A5 (en) CENTRAL PROCESSOR UNIT OF A DATA PROCESSING SYSTEM WITH OPERATION CODE EXTENSION REGISTER.
DE1275800B (en) Control unit for data processing machines
DE2054830C3 (en) Information processing system with means for accessing memory data fields of variable length
DE2023354A1 (en) Programmable unit and method of operating a programmable unit
DE3043653A1 (en) DATA PROCESSING SYSTEM
DE2935101C2 (en)
DE2458286A1 (en) DATA PROCESSING SYSTEM FOR MOVING DATA FIELDS WITH DIFFERENT STRUCTURES
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE2702722A1 (en) INSTRUCTION INTERPRETATION IN ELECTRONIC DATA PROCESSING SYSTEMS
DE1499224C3 (en) Data processing system with storage facilities in the basement
DE1296427B (en) Data processing system

Legal Events

Date Code Title Description
E77 Valid patent as to the heymanns-index 1977