DE1250659B - Microprogram-controlled data processing system - Google Patents
Microprogram-controlled data processing systemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3856—Operand swapping
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
Description
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
DatenverarbeitungsanlageIn 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)
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)
| 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)
| 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)
| 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 |
-
0
- DE DENDAT1250659D patent/DE1250659B/en active Pending
- GB GB1054725D patent/GB1054725A/en active Active
-
1964
- 1964-04-06 US US357372A patent/US3400371A/en not_active Expired - Lifetime
-
1965
- 1965-02-11 GB GB5906/65A patent/GB1061361A/en not_active Expired
- 1965-03-01 GB GB8602/65A patent/GB1045425A/en not_active Expired
- 1965-03-11 DE DEJ27677A patent/DE1246289B/en active Pending
- 1965-03-15 IL IL23159A patent/IL23159A/en unknown
- 1965-03-16 GB GB10974/65A patent/GB1055704A/en not_active Expired
- 1965-03-16 GB GB10969/65A patent/GB1108801A/en not_active Expired
- 1965-03-16 GB GB10973/65A patent/GB1108802A/en not_active Expired
- 1965-03-19 DE DE19651303416D patent/DE1303416B/de active Pending
- 1965-03-20 DE DE19651499200 patent/DE1499200B2/en active Pending
- 1965-03-22 AT AT259965A patent/AT264162B/en active
- 1965-03-25 AT AT275865A patent/AT255801B/en active
- 1965-03-26 DE DE19651499201 patent/DE1499201B2/en active Pending
- 1965-03-27 DE DEJ27790A patent/DE1237363B/en active Pending
- 1965-03-29 AT AT285265A patent/AT267226B/en active
- 1965-03-29 AT AT285365A patent/AT253260B/en active
- 1965-03-31 GB GB13606/65A patent/GB1108800A/en not_active Expired
- 1965-04-02 NO NO157511A patent/NO117054B/no unknown
- 1965-04-02 CH CH463965A patent/CH424324A/en unknown
- 1965-04-02 CH CH463765A patent/CH426321A/en unknown
- 1965-04-02 CH CH463865A patent/CH425282A/en unknown
- 1965-04-02 CH CH464165A patent/CH432065A/en unknown
- 1965-04-02 CH CH463665A patent/CH418011A/en unknown
- 1965-04-02 CH CH464065A patent/CH422394A/en unknown
- 1965-04-03 ES ES0311385A patent/ES311385A1/en not_active Expired
- 1965-04-05 ES ES0311414A patent/ES311414A1/en not_active Expired
- 1965-04-05 NL NL6504272A patent/NL6504272A/xx unknown
- 1965-04-05 NL NL656504271A patent/NL143351B/en not_active IP Right Cessation
- 1965-04-05 ES ES0311413A patent/ES311413A1/en not_active Expired
- 1965-04-05 NL NL6504270A patent/NL6504270A/xx not_active Application Discontinuation
- 1965-04-05 NL NL6504269A patent/NL6504269A/xx not_active Application Discontinuation
- 1965-04-05 NL NL6504273A patent/NL6504273A/xx unknown
- 1965-04-06 FI FI650831A patent/FI46568C/en active
- 1965-04-06 SE SE4433/65A patent/SE311445B/xx unknown
- 1965-04-06 SE SE4432/65A patent/SE310277B/xx unknown
- 1965-04-06 SE SE4431/65A patent/SE316936B/xx unknown
- 1965-04-06 BE BE662151A patent/BE662151A/xx unknown
- 1965-04-06 BE BE662153A patent/BE662153A/xx unknown
- 1965-04-06 BE BE662154A patent/BE662154A/xx unknown
- 1965-04-06 BE BE662152A patent/BE662152A/xx unknown
- 1965-04-06 BE BE662149A patent/BE662149A/xx unknown
Cited By (3)
| 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
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 |