[go: up one dir, main page]

DE1250659B - Microprogram-controlled data processing system - Google Patents

Microprogram-controlled data processing system

Info

Publication number
DE1250659B
DE1250659B DENDAT1250659D DE1250659DA DE1250659B DE 1250659 B DE1250659 B DE 1250659B DE NDAT1250659 D DENDAT1250659 D DE NDAT1250659D DE 1250659D A DE1250659D A DE 1250659DA DE 1250659 B DE1250659 B DE 1250659B
Authority
DE
Germany
Prior art keywords
register
field
character
trigger
microinstruction
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
DENDAT1250659D
Other languages
German (de)
Inventor
Jacob Ray mond Johnson Peter Calmgaert Richard Paul Case Poughkeepsie N Y Elame Marie Boehm Wappmgers Falls N Y William Porter Hanf Endicott N Y Charles Bertram Perkins jun Endwell N Y Arthur Frederick Collms Jack Elhs Greene Albert Allan Magdall Gene Myron Amdhahl Saratoga Calif
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.)
Publication date
Publication of DE1250659B publication Critical patent/DE1250659B/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Executing Machine-Instructions (AREA)
  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Debugging And Monitoring (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

BUNDESREPUBLIK DEUTSCHLANDFEDERAL REPUBLIC OF GERMANY

DEUTSCHESGERMAN

PATENTAMTPATENT OFFICE

AUSLEGESCHRIFTEDITORIAL

Int. CL: Int. CL:

G06fG06f

Deutsche Kl.: 42 m3 - 9/16 German class: 42 m3 - 9/16

Nummer: 1250 659Number: 1250 659

Aktenzeichen: J 27773 IX c/42 m3File number: J 27773 IX c / 42 m3

Anmeldetag: 25. März 1965Filing date: March 25, 1965

Auslegetag: 21. September 1967Opened on: September 21, 1967

Die Erfindung betrifft ein mikroprogrammgesteuertes Datenverarbeitungssystem mit einem Makrobefehle enthaltenden Hauptspeicher mit zugeordneten Decodern und Registern sowie mit einem Mikrobefehlsfolgen enthaltenden und von den Ausgangsregistern des Hauptspeichers gesteuertem Festwertspeieher, der über Decoder und ein zugeordnetes Register die Makrooperationen mit den einzelnen Einheiten des Datenverarbeitungssystems steuert.The invention relates to a microprogram-controlled data processing system with a macroinstruction containing main memory with assigned decoders and registers as well as with a Read-only memory containing micro instruction sequences and controlled by the output registers of the main memory, the macro operations with the individual via decoder and an assigned register Units of the data processing system controls.

Elektronische Datenverarbeitungsanlagen arbeiten unter der Steuerung eines Programms von Makrobefehlen. Ein Makrobefehl definiert eine 'Makrooperation, wie z. B. Addieren, Subtrahieren oder Vergleichen mittels eines Teiles des Befehls, der Operationscode genannt wird. Jeder Makrobefehl kann in Mikrobefehle unterteilt werden, von denen viele verschiedenen Makrobefehlen gemeinsam sind. Man hat gefunden, daß es in Mehrzweck-Datenverarbeitungsanlagen zweckmäßiger ist, eine Steuerschaltung für MikroOperationen vorzusehen und zur Ausführung einer Makrooperation die MikroOperationen auszuführen, die hierfür notwendig sind.Electronic data processing systems operate under the control of a program of macro instructions. A macro instruction defines a macro operation such as B. Add, subtract or Compare using part of the instruction called the opcode. Any macro command can be broken down into microinstructions, many of which have different macroinstructions in common are. It has been found that in multipurpose data processing systems it is more expedient to to provide a control circuit for micro-operations and for executing a macro-operation carry out the micro-operations necessary for this.

Jede Mikrooperation steht unter der Steuerung eines Mikrobefehls, der, wenn er decodiert ist, die notwendigen Schalt- und Torsignale für die Datenverarbeitungsanlage zur Ausführung der MikroOperation zur Verfügung stellt. Der Satz von Mikrobefehlen, die notwendig sind, um eine Makrooperation auszuführen, wird Mikroprogramm genannt. Mikrobefehle sind in einem Speicher mit schnellem Zugriff gespeichert.Each micro-operation is under the control of a micro-instruction which, when decoded, the necessary switching and gate signals for the data processing system to carry out the micro-operation provides. The set of microinstructions that are necessary to run a macro operation is called a microprogram. Micro instructions are in a memory with fast Access saved.

Bisher war es üblich, daß der Makrobefehl nur den ersten Befehl eines Mikroprogramms auswählt. Die Adresse des nachfolgenden Mikrobefehls im Speicher wurde entweder vollständig durch den vorhergegangenen Mikrobefehl oder teilweise durch den vorhergegangenen Mikrobefehl und teilweise durch Maschinenbedingungen bestimmt.Up to now it has been customary for the macro instruction to select only the first instruction of a microprogram. The address of the subsequent microinstruction in memory was either completely replaced by the previous one Microinstruction or partly by the previous microinstruction and partly by Machine conditions determined.

In der Veröffentlichung von Mc Crack en. Weiss, Lee: »Programming Business Computers«, S. 171 bis 174, John Wiley & Sons, Inc. New York, wird nach beschrieben, wie durch bestimmte Angaben im Hauptprogramm die Steuerung des Ablaufes von Unterprogrammen beeinflußt werden kann. Dabei geben die im Hauptprogramm enthaltenen Adressen den ersten Befehl eines Unterprogramms bzw. das Unterprogramm überhaupt an. Das Hauptprogramm enthält dabei nicht nacheinander fortlaufende Adressen von Befehlen eines Unterprogramms. Der nächstfolgende Befehl in einem Unterprogramm wird durch den vorhergehenden Befehl, MikropiOgrammgesteuerte
Datenverarbeitungsanlage
In the publication by Mc Crack en. Weiss, Lee: "Programming Business Computers", pp. 171 to 174, John Wiley & Sons, Inc. New York, describes how certain information in the main program can influence the control of the sequence of subroutines. The addresses contained in the main program indicate the first command of a subprogram or the subprogram in general. The main program does not contain consecutive addresses of commands of a subprogram. The next command in a subroutine is microgram-controlled by the previous command
Data processing system

Anmelder:Applicant:

International Business Machines Corporation, Armonk, N. Y. (V. St. A.)International Business Machines Corporation, Armonk, N.Y. (V. St. A.)

Vertreter:Representative:

Dipl.-Ing. H. E. Böhmer, Patentanwalt, Böblingen, Sindelfinger Str. 49Dipl.-Ing. H. E. Böhmer, patent attorney, Boeblingen, Sindelfinger Str. 49

Als Erfinder benannt:Named as inventor:

Gene Myron Amdhahl, Saratoga, Calif.; Jacob Raymond Johnson,Gene Myron Amdhahl, Saratoga, Calif .; Jacob Raymond Johnson,

Peter Calingaert,Peter Calingaert,

Richard Paul Case, Poughkeepsie, N. Y.; Elaine Marie Boehm, Wappingers Falls, N. Y.; William Porter Hanf, Endicott, N. Y.; Charles Bertram Perkins jun., Endwell, N. Y.; Arthur Frederick Collins,Richard Paul Case, Poughkeepsie, N. Y .; Elaine Marie Boehm, Wappingers Falls, N.Y .; William Porter Hemp, Endicott, N. Y .; Charles Bertram Perkins, Jr., Endwell, N.Y .; Arthur Frederick Collins,

Jack Ellis Greene,Jack Ellis Greene,

Albert Allan Magdall,Albert Allan Magdall,

John Willis Rood, Vestal, N. Y.; Richard Joseph Carnevale,John Willis Rood, Vestal, N. Y .; Richard Joseph Carnevale,

Bruce Martin Updike, Endwell, N. Y.; Anthony Eugene Villante, Binghampton, N. Y.; Gerrit Anne Blaauw, Poughkeepsie, N. Y.; Helmut Weber, Vestal, N. Y. (V. St. A.)Bruce Martin Updike, Endwell, N. Y .; Anthony Eugene Villante, Binghampton, N.Y .; Gerrit Anne Blaauw, Poughkeepsie, N. Y .; Helmut Weber, Vestal, N. Y. (V. St. A.)

Beanspruchte Priorität:Claimed priority:

V. St. v. Amerika vom 6. April 1964 (357 372) -V. St. v. America April 6, 1964 (357 372) -

gegebenenfalls noch abhängig von Ergebnissen, eines Unterprogramms festgelegt.possibly still determined depending on the results of a subroutine.

Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Schaltungsanordnung zu schaffen, die mit einem Minimum an Steuerschaltungen und an Mikrobefehlsspeicherplatz auskommt und dadurch einen einfach zu handhabenden und flexiblen Befehlssatz sowie eine Zeitersparnis ermöglicht.The invention is therefore based on the object to provide a circuit arrangement with a Minimum of control circuits and microinstruction storage space and thereby one easy-to-use and flexible instruction set as well as time savings.

Die erfindungsgemäße Lösung der Aufgabe ist dadurch charakterisiert, daß Bereiche des Mikrobefehlsregisters mit dem dem Hauptspeicher zugeordneten Decoder verbunden sind und daß weitere Bereiche des Mikrobefehlsregisters mit einem zusätz-The inventive solution to the problem is characterized in that areas of the microinstruction register are connected to the decoder assigned to the main memory and that further areas of the microinstruction register with an additional

709 648/155709 648/155

lichen Decoder verbunden sind, der außerdem mit dem Operationscodebereich des Makrobefehlsregisters verbunden ist, wobei in beiden genannten Decodern Steuersignale gebildet werden, die die Adresse des nächsten Mikrobefehls über zugeordnete Und-Kreise bestimmen.union decoder are also connected to the operation code area of the macro instruction register is connected, wherein control signals are formed in both decoders mentioned, which the Determine the address of the next microinstruction using assigned AND circles.

Im folgenden soll ein Ausführungsbeispiel der' Erfindung an Hand der F i g. 1 und 2 erläutert werden.In the following an embodiment of the 'invention with reference to the F i g. 1 and 2 explained will.

F i g. 1 zeigt den Mikrobefehlsspeicher und diesem zugeordnete Steuereinrichtungen zur Auswahl eines Mikrobefehls in einer Datenverarbeitungsanlage gemäß der Erfindung;F i g. 1 shows the microinstruction memory and associated control devices for selecting one Microinstruction in a data processing system according to the invention;

F i g. 2 zeigt das Flußdiagramm zweier Mikroprogramme, wie sie in einer erfindungsgemäßen Daten-Verarbeitungsanlage benutzt werden können.F i g. 2 shows the flow chart of two microprograms as they are in a data processing system according to the invention can be used.

Die Datenverarbeitungsanlage des Ausfuhrungsbeispiels besteht aus einer großen Zahl von Einzelteilen, nur einige dieser Teile werden in der vorliegenden Erfindung benutzt, und nur diese Teile sind im einzelnen beschrieben.The data processing system of the exemplary embodiment consists of a large number of individual parts; only some of these parts are used in the present Invention used, and only these parts are described in detail.

Die wesentlichsten der bei der Erfindung nicht beteiligten Teile der Anlage sind der Hauptspeicher, der die Makrobefehle enthält, eine arithmetischlogische Einheit, Eingabe- und Ausgabeeinrichtungen und Register. Diese alle können in an sich bekannter Weise aufgebaut sein.The most essential of the parts of the system not involved in the invention are the main memory, which contains the macro instructions, an arithmetic and logic unit, input and output devices and register. These can all be constructed in a manner known per se.

Die Teile der Datenverarbeitungsanlage, welche zur Realisierung der Erfindung benutzt werden, enthalten einen Festwertspeicher 1 mit schnellem Zugriff von beliebiger Form, mehrere Register, mehrere Decoder, logische Schaltungen und Verbindungen zwischen diesen Teilen. Jedes Register besteht aus mehreren bistabilen Elementen, von denen jedes abhängig von der Art des zugeführten Bits eingestellt wird. Jedes bistabile Element und das darin gespeicherte Bit wird durch seine Position in dem Register gekennzeichnet. Zum Beispiel ist das bistabile Element ZO das erste bistabile Element im Register X, das das Bit ZO enthält.The parts of the data processing system which are used to implement the invention contain a read-only memory 1 with fast access of any form, several registers, several decoders, logic circuits and connections between these parts. Each register consists of several bistable elements, each of which is set depending on the type of bit supplied. Each bistable element and the bit stored in it is identified by its position in the register. For example, the bistable element ZO is the first bistable element in register X that contains the bit ZO.

Ein Statusregister 5 enthält bestimmte Betriebsbedingungen der Maschine, wie z. B. Überlauf. Die Eingangssignale für das Operationscoderegister G entsprechen dem Teil des Makrobefehls, welcher die Operation, die in der Maschine auszuführen ist, bestimmt, z. B. Addieren, Vergleichen oder Exklusiv-Oder. A status register 5 contains certain operating conditions of the machine, such as. B. Overflow. the Input signals for the operation code register G correspond to the part of the macroinstruction which the Operation to be performed in the machine determines e.g. B. Adding, comparing or exclusive-or.

Der Festwertspeicher 1 enthält viele Mikrobefehle, von denen jeder eine bestimmte Stelle in dem Speicher einnimmt und denen eine bestimmte Speicheradresse zugeordnet ist. In dem dargestellten Ausführungsbeispiel besteht jeder Mikrobefehl aus sechzig Bits, und diese Bits sind in mehrere Gruppen, sogenannte Felder, z. B. das CN-, das CH-, das CL- und das CF-FeId aufgeteilt. Jedes Feld besteht aus einer bestimmten Zahl von Bits. Mit 5 ist das Ausgaberegister des Festwertspeichers 1 bezeichnet.The read-only memory 1 contains many microinstructions, each of which occupies a specific position in the memory and to which a specific memory address is assigned. In the illustrated embodiment, each microinstruction consists of sixty bits, and these bits are divided into several groups, so-called fields, e.g. B. divided the CN, the CH, the CL and the CF field. Each field consists of a certain number of bits. The output register of the read-only memory 1 is denoted by 5.

Das Register 5 besteht aus hundertzwanzig bistabilen Elementen, einem Satz von Elementen SL-I-U (ungeradzahlig) bis SL-60-U und einem zweiten Satz von Elementen SL-I-G (geradzahlig) bis SL-60-G. Jedes Paar von mit gleichen Zahlen bezeichneten ungeradzahligen und geradzahligen bistabilen Elementen, z. B, SL-I-U und SL-I-G, ist mit einem bistabilen Element eines Mikrobefehlsregisters (MI- G Register) 7 über Und-Schaltungen 6 und eine Oder-Schaltung 14 miteinander verbunden. Diese Und-Schaltungen welche die ungeradzahligen bistabilen Elemente mit dem M/-Register 7 verbinden, ,sind mit »SECHS UNGERADE« gekennzeichnet, während die Und-Schaltungen, welche die geradzahligen bistabilen Elemente mit dem M/-Register 7 verbinden, mit »SECHS GERADE« bezeichnet sind. Das M/-Register 7 besteht aus sechzig bistabilen Elementen. Jedes bistabile Element erzeugt ein echtes und ein komplementäres Ausgangssignal, welche angeben, in welchem stabilen Zustand sich das bistabile Element befindet. Jeder Mikrobefehl besteht aus sechzig Bits und wird über das Ausgaberegister 5 aus dem Festwertspeicher 1 in das M7-Register 7 eingegeben.The register 5 consists of one hundred and twenty bistable elements, one set of elements SL-IU (odd) to SL-60-U and a second set of elements SL-IG (even) to SL-60-G. Each pair of like-numbered odd and even bistable elements, e.g. B, SL-IU and SL-IG, are connected to a bistable element of a microinstruction register (MI- G register) 7 via AND circuits 6 and an OR circuit 14. These AND circuits, which connect the odd-numbered bistable elements to the M / register 7, are marked with "SIXS ODD", while the AND circuits, which connect the even-numbered bistable elements to the M / register 7, are marked with "SIX STRAIGHT «are marked. The M / register 7 consists of sixty bistable elements. Each bistable element generates a real and a complementary output signal, which indicate the stable state in which the bistable element is. Each microinstruction consists of sixty bits and is entered into the M7 register 7 from the read-only memory 1 via the output register 5.

Die Bits in dem Mikrobefehl sind in Felder eingezeilt. Jedes Feld wird dazu benutzt, um eine bestimmte Steuer- und Torschaltungsfunktion in der Datenverarbeitungsanlage auszuführen. Der Anschaulichkeit halber sind die Abschnitte des M/-Registers 7 ebenso gekennzeichnet wie die entsprechenden Felder des Mikrobefehls. So enthält das M/-Register u. a. ein CF-FeId mit den zwei Bits des CF-Feldes des Mikrobefehls. Abhängig von diesen Bits wird der Operand in echter oder komplementärer Form in die arithmetisch-logische Einheit der Maschine eingegeben; sie bewirken damit, daß eine Additions- oder Subtraktionsoperation ausgeführt wird.The bits in the microinstruction are fielded. Each field is used to indicate a specific Execute control and gate functions in the data processing system. The clarity For the sake of this, the sections of the M / register 7 are marked as well as the corresponding ones Fields of microinstruction. For example, the M / register contains a CF field with the two bits of the CF field of the microinstruction. Depending on these bits, the operand is converted into the arithmetic-logical unit of the machine entered; they cause an addition or Subtraction operation is performed.

Die Ausgänge der zwei bistabilen Elemente, welche das CF-FeId darstellen, führen zwei Signale, welche die echten und zwei, welche die komplementären Zustände der bistabilen Elemente kennzeichnen.The outputs of the two bistable elements, which represent the CF field, carry two signals, which the real and two which characterize the complementary states of the bistable elements.

Die oben erläuterte gleichartige Kennzeichnung für die Felder im Mikrobefehl und im M/-Register wird in F i g. 1 auch für das CN-FeId, das aus sechs Bits besteht, das CH-FeId, das aus vier Bits besteht, und das CL-FeId, das aus drei Bits besteht, angewandt. Die bistabilen Elemente, die das CiV-FeId bilden, haben zwölf Ausgänge CNO bis CN 6 und C7V0 bis C]V5. Die Ausgänge CNO bis CN3 werden einem CiV-Register 8 zugeführt, in welchem sie in bistabilen Elementen gespeichert werden. Die Ausgänge CiV 4 und CN 5 werden als Eingänge Und-Schaltungen 9 und 10 zugeführt. Die Ausgänge aus dem CH-FeId werden einem Cif-Decoder 11 zugeführt. Andere Eingänge des C#-Decoders 11 sind die Ausgänge 51, S 2, 54 und S 6 aus dem 5-Register und die Ausgänge GO bis G 6 aus dem G-Register. Die Ausgänge aus dem CL-FeId werden einem CL-Decoder 12 zugeführt. Andere Eingänge des CL-Decoders 12 sind mit den Ausgängen 55 und 57 des 5-Registers und den Ausgängen G 5 und G 7 des G-Registers verbunden.The above-mentioned similar identification for the fields in the microinstruction and in the M / register is shown in FIG. 1 is also applied to the CN field, which consists of six bits, the CH field, which consists of four bits, and the CL field, which consists of three bits. The bistable elements that form the CiV field have twelve outputs CNO to CN 6 and C7V0 to C] V5. The outputs CNO to CN3 are fed to a CiV register 8 in which they are stored in bistable elements. The outputs CiV 4 and CN 5 are supplied as inputs AND circuits 9 and 10. The outputs from the CH field are fed to a Cif decoder 11. Other inputs of the C # decoder 11 are the outputs 51, S 2, 54 and S 6 from the 5 register and the outputs GO to G 6 from the G register. The outputs from the CL field are fed to a CL decoder 12. Other inputs of the CL decoder 12 are connected to the outputs 55 and 57 of the 5 register and the outputs G 5 and G 7 of the G register.

Der Festwertspeicher 1 wird über einen Decoder 2 adressiert, dessen Ausgänge zwei Koordinaten des Speichers 1 auswählen. Die Eingänge des Decoders 2 sind mit den Ausgängen des W-Registers 4 und des Z-Registers 3 verbunden.The read-only memory 1 is addressed via a decoder 2, the outputs of which have two coordinates of the Select memory 1. The inputs of the decoder 2 are connected to the outputs of the W register 4 and the Z register 3 connected.

Im vorliegenden Ausführungsbeispiel soll die Adresse des Mikrobefehls im Festwertspeicher 1 eine Zahl mit zwölf Bits sein, von welcher das PF-Register die vier höchsten Bitstellen und das Z-Register 3 die acht niederen Bitstellen enthält. Um die Möglichkeit des Auftretens von Fehlern infolge fehlerhaften Arbeitens der elektronischen Teile zu vermeiden, ist die Anlage so ausgebildet, daß sich die Adressen aufeinanderfolgender Mikrobefehle, die zu einem bestimmten Mikroprogramm gehören, sowenig wie möglich verändern. Aufeinanderfolgende Mikrobefehle eines Mikroprogramms sind deshalb in aufeinanderfolgenden Adressen gespeichert, und Mikro-In the present exemplary embodiment, the address of the microinstruction in read-only memory 1 should be Twelve bit number of which the PF register the four highest bit positions and the Z register 3 contains the eight lower bit positions. To the possibility the occurrence of errors as a result of incorrect operation of the electronic parts is to be avoided the system is designed in such a way that the addresses of successive microinstructions that lead to a specific Include microprograms, change them as little as possible. Successive microinstructions of a microprogram are therefore stored in consecutive addresses, and micro-

befehle, die nach einer Verzweigung ausgelesen werden, haben Adressen, die sich nur in den niedrigen Stellen von denen im Hauptstrang des Mikroprogramms unterscheiden. Daraus folgt, daß während irgendeiner Makrooperation das J-F-Register 4 unveränderte Eingangssignale an den Decoder liefert.Instructions that are read out after a branch have addresses that are only in the lower Differentiate places from those in the main strand of the microprogram. It follows that while any macro operation the J-F register 4 unchanged Supplies input signals to the decoder.

Das Z-Register 3 liefert die Ausgangssignale XO bis X 6 an den Decoder 2, das Ausgangssignal X 7 an die Und-Schaltungen »SECHS UNGERADE« und das Ausgangssignal X7 an die Und-Schaltungen »SECHS GERADE«. Eingänge des X-Registers sind die vier Ausgänge des CW-Registers 8, die Ausgänge der zwei Oder-Schaltungen 15 und 16, der Ausgang H 3 des Ctf-Decoders 11 und der Ausgang Ll des CL-Decoders 12. Die Eingänge der Oder-Schaltungen 15 und 16 werden durch die Ausgänge Hl und H2 aus dem CH-Decoder 11 sowie den Ausgängen je einer Und-Schaltung 9 und 10 gebildet. Der Decoder 11 erzeugt außerdem ein Torsignal !7-4, welches den Und-Schaltungen 9 und 10 zugeführt wird.The Z register 3 supplies the output signals XO to X 6 to the decoder 2, the output signal X 7 to the AND circuits “SIX ODD” and the output signal X 7 to the AND circuits “SIX EVEN”. The inputs of the X register are the four outputs of the CW register 8, the outputs of the two OR circuits 15 and 16, the output H 3 of the Ctf decoder 11 and the output Ll of the CL decoder 12. The inputs of the OR Circuits 15 and 16 are formed by the outputs Hl and H2 from the CH decoder 11 and the outputs of an AND circuit 9 and 10 each. The decoder 11 also generates a gate signal! 7-4, which is fed to the AND circuits 9 and 10.

Der Festwertspeicher 1 ist wortorientiert. Das bedeutet, daß die Leseleitungen so angeordnet sind, daß ganze Wörter anstatt einzelner Bits ausgelesen werden. In einem bevorzugten Ausführungsbeispiel werden gleichzeitig zwei Mikrobefehlswörter in das Register 5 ausgelesen, um die Zahl der Leseleitungen und der Treiberschaltungen zu reduzieren.The read-only memory 1 is word-oriented. This means that the reading lines are arranged in such a way that whole words instead of single bits are read out. In a preferred embodiment two microinstruction words are simultaneously read out into register 5 to determine the number of read lines and reduce the driver circuits.

Die Decoder 11 und 12 enthalten jeweils eine Anzahl von Und-Schaltungen, von welchen eine für eine bestimmte Kombination von Eingängen eingeschaltet wird. Eine eingeschaltete Und-Schaltung erzeugt nur ein Ausgangssignal, wie z. B. in dem CL-Decoder 12 oder mehr als ein Ausgangssignal, wie z. B. in dem C//-Decoder 11. Solche Decoder sind an sich bekannt und sollen hier nicht im einzelnen beschrieben werden.The decoders 11 and 12 each contain a number of AND circuits, one of which is for one certain combination of inputs is switched on. An activated AND circuit only generates an output signal such as B. in the CL decoder 12 or more than one output signal such. B. in that C // decoder 11. Such decoders are known per se and are not to be described in detail here will.

Zur Ausführung einer Operation wird ein Makrobefehlswort aus dem Hauptspeicher gelesen und in Steuerregistern der Datenverarbeitungsanlage gespeichert. Der Operationscode, der einen Teil des Makrobefehls bildet, wird in dem G-Register abgespeichert. Mittels an sich bekannter Schaltungen, die in F i g. 1 nicht dargestellt sind, wird der Operationscode decodiert, um die Adresse des ersten Mikrobefehls des Mikroprogramms zu erzeugen, das den Makrobefehl ausführen soll. Es empfiehlt sich, die Anlage so auszubilden, daß die gleiche Anfangsadresse einer Mikroprogrammfolge durch verschiedene Operationscodes erzeugt werden kann. Die höheren Stellen der Adresse werden in das W-Register 4 und die niederen Stellen in das X-Register 3 gebracht. Der Übersichtlichkeit halber sind die Eingangsleitungen in F i g. 1 nicht gezeigt.To perform an operation, a macro instruction word is read from main memory and stored in Control registers of the data processing system stored. The opcode that is part of the Forms macro command is stored in the G register. By means of known circuits that in Fig. 1, the opcode is decoded to the address of the first microinstruction of the microprogram that is to execute the macroinstruction. It is best to use the System to train so that the same start address of a microprogram sequence by different Operation codes can be generated. The higher digits of the address are in the W register 4 and the lower digits placed in X register 3. For the sake of clarity are the input lines in FIG. 1 not shown.

Die Bits AO bis X 6 des Z-Registers 3 und der Inhalt des PF-Registers 4 werden dem Adressendecoder 2 zugeführt und werden dort decodiert, um eine einzelne Wortleseleitung mit Strom zu beaufschlagen. Zwei Mikrobefehlswörter mit sechzig Bits werden in das Register 5 ausgelesen, eines in die bistabilen Elemente SL-I-U bis SL-60-U und das andere in die bistabilen Elemente SL-I-G bis 5L-60-G. Abhängig vom Bit X 7 wird eines der Mikrobefehlswörter in das M/-Register 7 gebracht. Wenn die bistabile Schaltung X1 ein 1-Bit speichert, dann ist Xl auf hohem Potential, und wenn es ein Signal Xl speichert, ist es auf niedrigem Potential. Die Und-Schaltungen »SECHS UNGERADE« werden geöffnet, und der Inhalt der bistabilen Elemente SL-I-U bis SL-60-U wird in das M/-Register 7 gebracht. Wenn die bistabile Schaltung X 7 eine 0 speichert, dann ist das Ausgangssignal auf niedrigem Potential und das Ausgangssignal X 7 auf hohem Potential. Die Und-Schaltungen »SECHS GERADE« werden geöffnet, und der Inhalt der bistabilen Elemente SL-I-G bis 5L-60-G wird in das M/-Register 7 gebracht.The bits A0 to X 6 of the Z register 3 and the content of the PF register 4 are fed to the address decoder 2 and are decoded there in order to apply current to a single word read line. Two microinstruction words with sixty bits are read out into the register 5, one into the bistable elements SL-IU to SL-60-U and the other into the bistable elements SL-IG to 5L-60-G. Depending on the bit X 7, one of the microinstruction words is brought into the M / register 7. If the bistable circuit X1 stores a 1-bit, then Xl is high, and if it stores a signal Xl , it is low. The AND circuits “SIX ODD” are opened and the content of the bistable elements SL-IU to SL-60-U is brought into the M / register 7. If the bistable circuit X 7 stores a 0, then the output signal is at low potential and the output signal X 7 is at high potential. The AND circuits “SIX STRAIGHT” are opened and the content of the bistable elements SL-IG to 5L-60-G is brought into the M / register 7.

Die Ausgangssignale der bistabilen Elemente, aus welchen das M/-Register 7 besteht, werden in alle Teile der Datenverarbeitungsanlage geschickt, um die Ausführung des ersten aus dem Speicher 1 gelesenen Mikrobefehls zu steuern. Darüber hinaus liefert der Mikrobefehl Signale, welche die Auswahl des nächsten Mikrobefehls des Mikroprogramms steuern. Bis dahin liefert das CN-FeId Signale CiVO bis CN 3 an das CiV-Register 8 und Signale CN 4 und CN 5 zu den Und-Schaltungen 9 und 10; die bistabilen Elemente des Ci/-Feldes liefern Ausgangssignale in echter und komplementärer Form zum C77-Decoder 11, und die bistabilen Elemente des CL-Feldes liefern Signale in echter und komplementärer Form an den CL-Decoder 12.The output signals of the bistable elements, of which the M / register 7 consists, are sent to all parts of the data processing system in order to control the execution of the first microinstruction read from the memory 1. In addition, the microinstruction provides signals which control the selection of the next microinstruction in the microprogram. Until then, the CN field supplies signals CiVO to CN 3 to the CiV register 8 and signals CN 4 and CN 5 to the AND circuits 9 and 10; the bistable elements of the Ci / field supply output signals in real and complementary form to the C77 decoder 11, and the bistable elements of the CL field supply signals in real and complementary form to the CL decoder 12.

Die Signale CH, UH und CL, OZ legen fest, welche Faktoren für die Auswahl des nächsten Mikrobefehls bestimmend sind. Der nächste Mikrobefehl kann durch den laufenden Mikrobefehl im M/-Register 7 ohne Bedingung ausgewählt werden. In diesem Fall schalten die Signale Ci? und CH eine oder mehrere Und-Schaltungen im Ci?-Decoder 11 ein, und die Signale CL und ~CL schalten die Und-Schaltung im CL-Decoder 12 ein. Die Ausgangssignale des Decoders sind in diesem Fall vollständig bestimmt und werden nicht durch die Inhalte des S- und des G-Registers beeinflußt.The signals CH, UH and CL, OZ determine which factors are decisive for the selection of the next microinstruction. The next microinstruction can be selected by the current microinstruction in the M / register 7 without any conditions. In this case the signals Ci? and CH one or more AND circuits in the Ci? decoder 11, and the signals CL and ~ CL switch the AND circuit in the CL decoder 12 on. The output signals of the decoder are completely determined in this case and are not influenced by the contents of the S and G registers.

Es soll nun angenommen werden, daß der nächste Mikrobefehl unter dem Einfluß der Inhalte des S- und des G-Registers bestimmt wird. In diesem Fall schaltet nur ein Teil der Signale CH, CH und CL, CTL eine oder mehrere Und-Schaltungen in ihrem zugeordneten Decoder ein. Die übrigen Eingänge für die teilweise aktivierten Und-Schaltungen kommen von bistabilen Elementen des S- und/oder G-Registers. Sollten die verbleibenden Eingänge beispielsweise mit den bistabilen Elementen 54 und G 5 verbunden sein, so hängt die Auswahl der durch die Signale CH, UH und CL, UL ausgewählten Und-Schaltungen und damit der Ausgänge der Decoder von den Zuständen dieser bistabilen Elemente ab. Ein solcher Zustand wird im folgenden als »Auswahl durch 54 und G 5« bezeichnet.Let it now be assumed that the next microinstruction is determined under the influence of the contents of the S and G registers. In this case, only some of the signals CH, CH and CL, CTL switch on one or more AND circuits in their assigned decoder. The remaining inputs for the partially activated AND circuits come from bistable elements of the S and / or G register. If the remaining inputs should be connected to the bistable elements 54 and G 5, for example, the selection of the AND circuits selected by the signals CH, UH and CL, UL and thus the outputs of the decoders depends on the states of these bistable elements. Such a state is referred to in the following as "selection by 54 and G 5".

Der CH-Decoder 11 liefert Ausgangssignale an den Ausgängen Hl bis H 3 und E/4. Dieses letztere Ausgangssignal wird den Und-Schaltungen 9 und 10 zugeführt und bewirkt die Übertragung der Bits CiV 4 und CN 5 vom CiV-FeId des M/-Registers 7 zu den bistabilen Elementen X 4 und X 5 des X-Registers 3 über die Oder-Schaltungen 15 und 16. Die Ausgänge Hl und Hl des C/7-Decoders 11 bilden zusammen mit den Ausgängen der Und-Schaltungen 9 und 10 die Eingänge der Oder-Schaltungen 15 und 16, welche die Einstellung der bistabilen Elemente X 4 und X 5 bestimmen. Das E/4-Signal ermöglicht es somit, entweder die Signale Hl und H2 direkt in die bistabilen Elemente X 4 und XZ des Z-Registers 3 einzugeben oder eine Oder-Verknüpfung zwischen Hl und CiV4 und Hl und CNS auszuführen. Das bedeutet, wenn das t/4-Signal vorhanden ist und entwederThe CH decoder 11 supplies output signals at the outputs H1 to H 3 and E / 4. This latter output signal is fed to the AND circuits 9 and 10 and causes the transmission of the bits CiV 4 and CN 5 from the CiV field of the M / register 7 to the bistable elements X 4 and X 5 of the X register 3 via the OR Circuits 15 and 16. The outputs Hl and Hl of the C / 7 decoder 11 together with the outputs of the AND circuits 9 and 10 form the inputs of the OR circuits 15 and 16, which set the bistable elements X 4 and X. 5 determine. The I / 4 signal thus makes it possible either to enter the signals Hl and H 2 directly into the bistable elements X 4 and XZ of the Z register 3 or to carry out an OR link between Hl and CiV4 and Hl and CNS. That means when the t / 4 signal is present and either

Hl oder CN 4 auf hohem Potential ist, dann wird die bistabile Schaltung X 4 in einen stabilen Zustand gebracht, der eine binäre 1 repräsentiert. Entsprechendes gilt für die Ausgänge H 2 und CTV 5 und die bistabile Schaltung X5. Das Ausgangssignal H3 wird direkt der bistabilen Schaltung 6 des Z-Registers 3 zugeführt. Hl or CN 4 is at high potential, then the bistable circuit X 4 is brought into a stable state, which represents a binary 1. The same applies to the outputs H 2 and CTV 5 and the bistable circuit X5. The output signal H3 is fed directly to the bistable circuit 6 of the Z register 3.

Der CL-Decoder 12 erzeugt nur ein einziges Ausgangssignal Ll. Dieses wird direkt der bistabilen Schaltung X 7 des X-Registers 3 zugeführt. Die bistabile Schaltung X 7 erzeugt Ausgangssignale X 7 und Xl, welche, wie oben beschrieben, die Auswahl einer oder der zwei Mikrobefehle steuern, die aus dem Festwertspeicher ausgelesen werden. Das Ausgangssignal L1 kann von den Signalen CL, CL oder den Bits SS und 57 des 5-Registers oder den Bits G 5 und G 7 des G-Registers oder irgendeiner Kombination dieser Signale abhängig sein.The CL decoder 12 generates only a single output signal Ll. This is fed directly to the bistable circuit X 7 of the X register 3. The bistable circuit X 7 generates output signals X 7 and Xl which, as described above, control the selection of one or the two microinstructions that are read from the read-only memory. The output signal L1 may be dependent on the signals CL, CL or the bits SS and 57 of the 5 register or the bits G 5 and G 7 of the G register or any combination of these signals.

Bis jetzt wurde eine Schaltung zur Auswahl der Adresse eines Mirkobefehls beschrieben, die so arbeitet, daß die Auswahl abhängig ist vom Operationscode des gerade ausgeführten Makrobefehls der im G-Register enthalten ist.So far, a circuit for selecting the address of a microinstruction has been described as follows works that the selection depends on the operation code of the macro instruction being executed is contained in the G register.

Als ein Beispiel für die Wirkungsweise der Erfindung soll nun beschrieben werden, welche Mikrooperationen durch die Makrooperationen »Festkomma Addition« und »Festkomma Subtraktion« unter besonderer Berücksichtigung der Unterschiede zwischen den Mikroprogrammen dieser beiden Operationen beschrieben werden.As an example of the operation of the invention, it will now be described which micro-operations through the macro operations "fixed point addition" and "fixed point subtraction" with special consideration of the differences between the microprograms of these two operations.

Die elektronische Datenverarbeitungsanlage, die die Erfindung enthält, hat eine arithmetisch-logische Einheit, welche die Subtraktion durch eine komplementäre Addition ausführt. Zwei Operanden werden vom Hauptspeicher oder anderen Registern zu einem ersten und einem zweiten Operandenregister gebracht. Die zwei Operanden werden dann gleichzeitig parallel durch den Adder geschickt und das Ergebnis wird in das erste Operandenregister gebracht. Wenn die bistabile Schaltung 50 des Status- oder 5-Registers eingeschaltet ist (das wird im allgemeinen durch den Ausdruck 50 = 1 dargestellt), dann wird der zweite Operand komplementiert, bevor er in den Addierer gelangt, und ein »Ubertrag-Ein«-Signal wird in die niedrigste Stelle des Addierers gebracht, in dem ein den Übertrag anzeigendes bistabiles Element eingeschaltet wird. Das in das erste Operandenregister gebrachte Ergebnis stellt die Differenz der zwei Operanden dar. Wenn die bistabile Schaltung 50 aus ist (50 = 0), werden beide Operanden dem Addierer nicht komplementiert zugeführt; die den Übertrag speichernde bistabile Schaltung bleibt oder wird ausgeschaltet, so daß kein »Übertrag-Ein«-Signal für die niedrigste Stelle des Addierers erzeugt wird. In diesem Fall ist das in das erste Operandenregister gebrachte Ergebnis die Summe der zwei Operanden.The electronic data processing system which contains the invention has an arithmetic and logic function Unit that performs the subtraction through a complementary addition. Two operands will be brought from main memory or other registers to first and second operand registers. The two operands are then sent simultaneously in parallel through the adder and the result is placed in the first operand register. When the bistable circuit 50 of the status or 5 register is on (this is generally represented by the expression 50 = 1) then the second The operand is complemented before it goes into the adder, and a "carry-on" signal is put into the Brought the lowest digit of the adder, in which a carry-indicating bistable element is switched on will. The result placed in the first operand register represents the difference between the two operands When the bistable circuit 50 is off (50 = 0), both operands are given to the adder supplied not complemented; the bistable circuit storing the carry remains or becomes turned off so that no "carry-on" signal is generated for the lowest digit of the adder. In in this case the result placed in the first operand register is the sum of the two operands.

Der Operationscode für den Befehl »Festkomma Addition« ist 000 110 10, während der für die »Festkomma Subtraktion« 00011011 ist. Diese unterscheiden sich nur im letzten Bit nämlich G 7.The operation code for the command "Fixed point addition" is 000 110 10, while that for the "Fixed point Subtraction «00011011 is. These differ only in the last bit, namely G 7.

F i g. 2 zeigt ein Flußdiagramm dieser zwei Operationen. F i g. Figure 2 shows a flow diagram of these two operations.

Beide Operationscodes führen zum gleichen ersten Mikrobefehl, der aus dem Speicher 1 in das MI-Register 7 gelesen wird. Die Felder CN, CH und CL des ersten Mikrobefehls wählen den nächsten Mikrobefehl in der oben beschriebenen Weise ohne eine Bedingung aus, und in gleicher Weise wählt jeder Mikrobefehl des Programmabschnittes A (s. F i g. 2) ohne Bedingung den nächsten Mikrobefehl aus. Der erste Mikrobefehl des Mikroprogramms, der bei der »Festkomma Addition« und der »Festkomma Subtraktion« der gleiche ist, bewirkt die Übertragung der Operanden in die Operandenregister. Both operation codes lead to the same first microinstruction, which is read from memory 1 into MI register 7. The fields CN, CH and CL of the first microinstruction select the next microinstruction in the manner described above without any condition, and in the same way each microinstruction of the program section A (see FIG. 2) selects the next microinstruction without condition. The first microinstruction in the microprogram, which is the same for “fixed point addition” and “fixed point subtraction”, causes the operands to be transferred to the operand register.

Der letzte Mikrobefehl des Programmabschnittes A fordert eine Auswahl des nächsten Mikrobefehls auf Grund des G7-Bits an. Das bedeutet, wie obenThe last microinstruction of program section A requests selection of the next microinstruction on the basis of the G7 bit. That means like above

ίο an Hand der F i g. 1 erläutert wurde, daß die Und-Schaltungen des Cfi-Decoders 11, denen Signale von der bistabilen Schaltung G 7 des Operationsregisters zugeführt werden, nur teilweise durch die CH- und Ώϊ-Ausgangssignale vom CTY-FeId des WZ-Registers 7 vorbereitet werden. Welche dieser Und-Schaltungen vollständig vorbereitet werden, hängt vom Zustand der bistabilen Schaltung G 7 ab. Die Ausgänge des C/Z-Decoders 11 und somit die Ausgänge des Z-Registers 3 und die Adresse des nächsten Mikrobefehls hängen somit von dem Bit G 7 des Operationscodes ab, d. h., ob der Makrobefehl ein Additions- oder Subtraktionsbefehl ist. Diese Situation wird in F i g. 2 durch die Raute angedeutet, welche das übliche Symbol für einen Verzweigungspunkt in einem Flußdiagramm ist.ίο on the basis of FIG. 1 it was explained that the AND circuits of the Cfi decoder 11, to which signals from the bistable circuit G 7 of the operational register are fed, are only partially prepared by the CH and Ώϊ output signals from the CTY field of the WZ register 7. Which of these AND circuits are fully prepared depends on the state of the bistable circuit G 7. The outputs of the C / Z decoder 11 and thus the outputs of the Z register 3 and the address of the next microinstruction thus depend on bit G 7 of the operation code, ie whether the macroinstruction is an addition or subtraction instruction. This situation is illustrated in FIG. 2 indicated by the diamond, which is the usual symbol for a branch point in a flowchart.

Wenn das Bit G 7 Null ist, wird ein Mikrobefehl in das M/-Register 7 gebracht, der die bistabile Schaltung 50 ausschaltet. Dieser Mikrobefehl wird ohne Bedingung einen zweiten Mikrobefehl auswählen, dsr die bistabile Schaltung zur Anzeige eines Übertrags, welche oben beschrieben wurde, ausschaltet. Danach wird der erste Mikrobefehl des Programmabschnittes B des Mikroprogramms ohne Bedingung ausgewählt. If the bit G 7 is zero, a microinstruction is placed in the M / register 7, which switches the bistable circuit 50 off. This microinstruction will unconditionally select a second microinstruction, which will switch off the bistable circuit for indicating a carry, which has been described above. Thereafter, the first microinstruction of program section B of the microprogram is selected unconditionally.

Wenn das Bit G7 eine Eins ist, wird ein Mikrobefehl in das M/-Register 7 gebracht, der die bistabile Schaltung 50 einschaltet. Dieser Mikrobefehl wird ohne Bedingung einen zweiten Mikrobefehl auswählen, welcher die bistabile Schaltung zur Anzeige eines Übertrages einschalten wird. Danach wird der erste Mikrobefehl des Programmabschnittes B des Mikroprogramms ohne Bedingung ausgewählt. Der Programmabschnitt B ist ein Satz von Mikrobefehlen, die jeweils ohne Bedingung durch die davorliegenden Mikrobefehle ausgewählt werden. Diese Mikrobefehle bewirken, daß die Operanden durch die Addierer laufen und daß das Ergebnis in das Operandenregister gebracht wird. Wenn das Programm dem Ja-Zweig des MikroprogrammsIf the bit G7 is a one, a microinstruction is placed in the M / register 7, which turns the bistable circuit 50 on. This microinstruction will select a second microinstruction without any conditions, which will switch on the bistable circuit to indicate a carry. Thereafter, the first microinstruction of program section B of the microprogram is selected unconditionally. The program section B is a set of microinstructions, each of which is selected unconditionally by the preceding microinstructions. These microinstructions cause the operands to pass through the adders and the result to be placed in the operand register. If the program joins the yes branch of the microprogram

(s. F i g. 2) gefolgt ist, entwickelt der Programmabschnitt B die Summe der zwei Operanden, während, wenn das Programm dem Nein-Zweig folgt, der Programmabschnitts die Differenz der zwei Operanden ermittelt.(see Fig. 2), the program section B develops the sum of the two operands, while if the program follows the no branch, the program section determines the difference between the two operands.

Das oben beschriebene Beispiel zeigt, daß zur Ausführung eines Makrobefehls weniger Mikrobefehle benötigt werden, wenn der Operationscode des Makrobefehls ständig auf die Entwicklung des Mikroprogramms einwirkt. Wäre die bistabile Schaltung50 und die bistabile Schaltung zur Anzeige des Übertragers direkt durch den Operationscode des Makrobefehls gesteuert worden, so hätte dies eine wenig flexible Funktion ergeben, die auf wenigstens einem Zeichen des Operationscodes beruht, und damit wäre die Zahl der möglichen Makrooperationen kleiner als bei der erfindungsgemäßen Anordnung gewesen. Dadurch, daß ein Operationscode-Bit auf das augenblicklich auszuführende MikroprogrammThe example described above shows that fewer microinstructions are required to execute a macroinstruction are needed if the operation code of the macro instruction is constantly changing the development of the Microprogram acts. The bistable circuit would be 50 and the bistable circuit for displaying the transmitter directly through the operation code of the If the macro command has been controlled, this would have resulted in an inflexible function which at least works on one character of the operation code, and that would be the number of possible macro operations been smaller than in the arrangement according to the invention. By having an opcode bit on the microprogram to be executed at the moment

einwirkt, wird dem Programmierer ein flexibler Befehlssatz zur Verfügung gestellt, der ein Minimum an Steuerschaltungen und an Mikrobefehlsspeicherplatz benötigt.acts, a flexible instruction set is made available to the programmer, which has a minimum required in control circuits and in microinstruction storage space.

Claims (3)

5 Patentansprüche:5 claims: 1. Datenverarbeitungssystem mit einem Makrobefehle enthaltenden Hauptspeicher mit zugeordneten Decodern und Registern sowie mit einem Mikrobefehlsfolgen enthaltenden und von den Ausgangsregistern des Hauptspeichers gesteuertem Festwertspeicher, der über Decoder und ein zugeordnetes Register die Mikrooperation in den einzelnen Einheiten des Datenverarbeitungssystems steuert, dadurch gekennzeichnet, daß Bereiche (CH und CH) des Mikrobefehlsregisters (7) mit dem dem Hauptspeicher zugeordneten Decoder (11) verbunden sind und daß weitere Bereiche (CL und 'CL) des Mikrobefehlsregisters (7) mit einem zusätzlichen Decoder (12) verbunden sind, der außerdem mit dem Operationscodebereich (G, 5) des Makrobefehlsregisters verbunden ist, wobei in beiden genannten Decodern Steuersignale (U4 bzw. Ll) gebildet werden, die die Adresse des nächsten Mikrobefehls über zugeordnete Und-Kreise (9, 10 bzw. 6) bestimmen.1. Data processing system with a main memory containing macro instructions with assigned decoders and registers and with a read-only memory containing micro instruction sequences and controlled by the output registers of the main memory, which controls the micro-operations in the individual units of the data processing system via decoders and an associated register, characterized in that areas ( CH and CH) of the microinstruction register (7) are connected to the decoder (11) assigned to the main memory and that further areas (CL and 'CL) of the microinstruction register (7) are connected to an additional decoder (12) which is also connected to the operation code area (G, 5) of the macro command register is connected, with control signals (U 4 and Ll) being formed in both decoders mentioned, which determine the address of the next micro command via assigned AND circles (9, 10 and 6). 2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die Ausgangsleitungen (H 1, Hl, 773) des Decoders (11) für die Makrobefehle über Oder-Schaltungen (15 und 16) mit Bereichen von Adressenregistern (3) des Festwertspeichers (1) verbunden sind und daß der Ausgang (L 1) des zusätzlichen Decoders (12) mit einer Stufe des genannten Adressenregisters verbunden ist, dessen Ausgangsleitungen (x7 und 3c 7) zur Auswahl eines Befehls aus dem Mikrobefehlsregister (7) mit Und- und Oder-Schaltungen (6 bzw. 14), die zwischen dem Ausgangsregister (5) des Festwertspeichers (1) und dem Mikrobefehlsregister (7) liegen, verbunden sind.2. Data processing system according to claim 1, characterized in that the output lines (H 1, Hl, 773) of the decoder (11) for the macro commands via OR circuits (15 and 16) with areas of address registers (3) of the read-only memory (1) are connected and that the output (L 1) of the additional decoder (12) is connected to a stage of said address register whose output lines (x7 and 3c 7) for selecting an instruction from the microinstruction register (7) with AND and OR circuits (6 or 14), which are between the output register (5) of the read-only memory (1) and the microinstruction register (7) are connected. 3. Datenverarbeitungssystem nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Schaltung zur Ermittlung der Adressen der Mikrobefehle aus Decodern besteht, denen außer einem Teil des davor liegenden Mikrobefehls der Operationscode des Makrobefehls und gegebenenfalls Bedingungen kennzeichnende Bits zugeführt werden.3. Data processing system according to claims 1 and 2, characterized in that the Circuit for determining the addresses of the microinstructions consists of decoders, which except a part of the preceding microinstruction the operation code of the macroinstruction and, if applicable Conditions identifying bits are supplied. Hierzu 1 Blatt Zeichnungen1 sheet of drawings 709 648/155 9. 67 © Bunclcsdruckerei Berlin709 648/155 9. 67 © Bunclcsdruckerei Berlin
DENDAT1250659D 1964-04-06 Microprogram-controlled data processing system Pending DE1250659B (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 (1)

Publication Number Publication Date
DE1250659B true DE1250659B (en) 1967-09-21

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 After (5)

Application Number Title Priority Date Filing Date
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

Country Status (12)

Country Link
US (1) US3400371A (en)
AT (4) AT264162B (en)
BE (5) BE662151A (en)
CH (6) CH424324A (en)
DE (6) DE1246289B (en)
ES (3) ES311385A1 (en)
FI (1) FI46568C (en)
GB (7) GB1061361A (en)
IL (1) IL23159A (en)
NL (5) NL6504272A (en)
NO (1) NO117054B (en)
SE (3) SE311445B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2336676A1 (en) * 1973-07-19 1975-01-30 Ibm Deutschland DEVICE FOR MODIFYING MICRO-PROGRAM COMMANDS
DE2542751A1 (en) * 1974-09-25 1976-04-15 Data General Corp DATA PROCESSING SYSTEM
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

Families Citing this family (54)

* 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
US3751650A (en) * 1971-06-28 1973-08-07 Burroughs Corp Variable length arithmetic unit
GB1349950A (en) * 1971-12-21 1974-04-10 Ibm Microprogramme control system
US3740728A (en) * 1972-01-19 1973-06-19 Hughes Aircraft Co Input/output controller
US3768077A (en) * 1972-04-24 1973-10-23 Ibm Data processor with reflect capability for shift operations
US3825902A (en) * 1973-04-30 1974-07-23 Ibm Interlevel communication in multilevel priority interrupt system
FR2291542A1 (en) * 1974-01-07 1976-06-11 Cii CHARACTER OPERATOR WORKING IN BINARY DECIMALS
JPS5931734B2 (en) * 1977-10-25 1984-08-03 デイジタル イクイプメント コ−ポレ−シヨン central processing unit that executes instructions with special operand specifiers
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
US5247646A (en) * 1986-05-15 1993-09-21 Aquidneck Systems International, Inc. Compressed data optical disk storage system
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
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 (49)

* 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
NL233967A (en) * 1957-12-09
NL234523A (en) * 1957-12-23
IT614742A (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
NL255604A (en) * 1959-09-08
US3185966A (en) * 1959-09-08 1965-05-25 Ibm Data editing system
NL256940A (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
DE1157009B (en) * 1961-09-13 1963-11-07 Telefunken Patent Arithmetic unit of a digital calculating machine
NL283190A (en) * 1961-09-13
GB993879A (en) * 1961-11-16
DE1184125B (en) 1961-11-17 1964-12-23 Telefunken Patent Two-stage arithmetic unit
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
NL294416A (en) * 1962-06-22
BE634161A (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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2336676A1 (en) * 1973-07-19 1975-01-30 Ibm Deutschland DEVICE FOR MODIFYING MICRO-PROGRAM COMMANDS
DE2542751A1 (en) * 1974-09-25 1976-04-15 Data General Corp DATA PROCESSING SYSTEM
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE1250659B (en) Microprogram-controlled data processing system
DE2813128C2 (en) Control device for microprogram memory
DE2714805C2 (en)
DE3689595T2 (en) Data processing system.
DE3688824T2 (en) Data processing system.
DE2611892C2 (en) Microprogram control arrangement
DE69621493T2 (en) Hardware support for fast emulation of non-implemented commands
DE2542751C2 (en) Data processing system
DE2456578C2 (en) Data processing system
DE2715073C3 (en) Microprogrammed computer control device
DE2719635A1 (en) ARRANGEMENT FOR AN EXTENSION OF A MICROPROGRAM CONTROL OF A DATA PROCESSING SYSTEM
DE1774296B2 (en) Restructurable control unit for electronic digital computers
DE2746505C2 (en)
DE1275800B (en) Control unit for data processing machines
DE2336676C3 (en) Device for modifying microprogram instructions
DE2551741A1 (en) DATA PROCESSING DEVICE
DE1806535B2 (en) SERIAL DIGITAL COMPUTER SYSTEM
DE2433436A1 (en) PROCEDURE AND ARRANGEMENT FOR MULTIPLE BRANCHING THE PROGRAM IN A DIGITAL COMPUTER
DE69020430T2 (en) Control arrangement for changing a microinstruction.
DE3888740T2 (en) Resource control system.
DE2702722A1 (en) INSTRUCTION INTERPRETATION IN ELECTRONIC DATA PROCESSING SYSTEMS
DE2440390A1 (en) ELECTRONIC CALCULATOR
DE69032494T2 (en) Instruction decoder for a pipeline processor
DE3587326T2 (en) Programmable data path width in a programmable unit with multiple levels of subcommand sets.
DE2856768C2 (en) Priority vector interrupt device