DE1499727C3 - Circuit arrangement for the selection of command words - Google Patents

Circuit arrangement for the selection of command words

Info

Publication number
DE1499727C3
DE1499727C3 DE19661499727 DE1499727A DE1499727C3 DE 1499727 C3 DE1499727 C3 DE 1499727C3 DE 19661499727 DE19661499727 DE 19661499727 DE 1499727 A DE1499727 A DE 1499727A DE 1499727 C3 DE1499727 C3 DE 1499727C3
Authority
DE
Germany
Prior art keywords
memory
bits
command
address
word
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.)
Expired
Application number
DE19661499727
Other languages
German (de)
Other versions
DE1499727B2 (en
DE1499727A1 (en
Inventor
Gerals Howard Hyde Park N.Y. Ottaway (V.StA.); Painke, Helmut, 7032 Sindelfingen; Scheler, Titus, 7030 Böblingen; Will, Helmut, 7032 Sindelfingen; Wright, William Vaughn, Poughkeepsie, N.Y. (V.St.A.)
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.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US502196A external-priority patent/US3397391A/en
Application filed by IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Publication of DE1499727A1 publication Critical patent/DE1499727A1/en
Publication of DE1499727B2 publication Critical patent/DE1499727B2/en
Application granted granted Critical
Publication of DE1499727C3 publication Critical patent/DE1499727C3/en
Expired legal-status Critical Current

Links

Description

Die Erfindung betrifft eine Schaltungsanordnung zur Selektion von Befehlswörtern aus mehreren gleichzeitig aus einer Wortzeile eines Speichers ausgelesenen Befehlswörtern, die zum Zwecke der Mikroprogrammierung einer Datenverarbeitungsanlage in einem Speicher gespeichert sind, mit Hilfe von Bitkombinationen, die in einem Befehlsteil eines oder mehrerer Befehlswörter vorhanden sind.The invention relates to a circuit arrangement for selecting command words from several at the same time read out from a word line of a memory command words that are used for the purpose of Microprogramming of a data processing system is stored in a memory with the help of bit combinations that are present in a command part of one or more command words.

In Datenverarbeitungsanlagen werden Speicher verwendet, die sowohl im technischen Aufbau als auch in ihrer organisatorischen Struktur verschieden sind. So sind z. B. Speicher bekanntgeworden, die in einem Speicherwort die Adresse bzw. ein Adressenteil des nächstfolgenden Wortes, das aus dem Speicher laut Programm entnommen werden muß, enthalten. Diese Speicher eignen sich besonders als Programmspeicher, da darin eine Folge von Befehlen, die das Programm darstellen, gespeichert werden kann und ohne großen Zeitaufwand und technischen Aufwand nacheinander wieder gelesen werden kann. Ein solcher Speicher, insbesondere eine Adressensuchvorrichtung für einen solchen Speicher ist im DT-PS 1106 990 beschrieben. In modernen Computern jedoch sind die Programme aus Mikrobefehlen zusammengesetzt, deren Aufeinanderfolge durch Makrobefehle oder übergeordnete Befehle bestimm! wird. Jeder Mikrobefehl eines derartigen bekannten Steuerwerkes besteht im allgemeinen aus zwei Teilen, von denen der erste Teil eine verschlüsselte Steuerangabe enthält, die die jeweils auszuführende Operation angibt sowie die Adresse der Daten enthält, auf die sich diese Operation bezieht. Der zweite Teil oder auch Folgeadressierungsteil enthält die Adresse des jeweils nächsten Mikrobefehls, der beim Programmablauf an der Reihe ist. Diese Mikrobefehle werden in den bekannten Datenverarbeitungsanlagen meistens in sogenannten Festwertspeichern gespeichert. Diese haben nämlich die Fähigkeit, ein sehr schnelles Lesen der in ihnen gespeicherten Informationen zu gestatten. Ein Mikrobefehl wird aus einem solchen Speicher parallel, d. h. in seiner gesamten Länge in einem einzigen Speicherzyklus entnommen. Der Speicher ist daher so aufgebaut, daß jeweils eine von der Speicherbreite bestimmte feste Anzahl Bitstellen für einen Mikrobefehl zur Verfügung steht. Die Kosten eines Festwertspeichers sind direkt von der Anzahl der Bitpositionen in jedem Speicherwort abhängig und es ist deshalb wünschenswert, so wenig wie möglich Speicherpositionen für die Mikrobefehle zu benötigen. Die Länge der Folgeadresse des nächsten Mikrobefehls ist bei den bekannten Mikroprogramm-Steuerwerken stets lang genug, um den Zugriff zu jedem Mikrobefehl innerhalb des Festwertspeichers zu ermöglichen. Die Länge des Steuerteils eines Mikrobefehls kann zwischen einer einzigen Bitstelle bis zu einer beliebigen Anzahl von Bitstellen liegen, wobei die Begrenzung durch das Ausmaß der Steueroperationen gegeben ist, die vom jeweiligen Mikrobefehl durchzuführen sind.In data processing systems, memories are used that have both technical structure and also differ in their organizational structure. So are z. B. memory became known in a memory word the address or an address part of the next word that comes from the Memory must be removed according to the program. These memories are particularly suitable as Program memory, as a sequence of instructions that represent the program are stored in it can and can be read again one after the other without spending a lot of time and technical effort. Such a memory, in particular an address search device for such a memory, is in the DT-PS 1106 990 described. In modern computers, however, the programs are made up of microinstructions composed, the sequence of which is determined by macro commands or superordinate commands! will. Each micro-command of such a known control unit generally consists of two parts, the first part of which contains an encrypted control information indicating the operation to be carried out and contains the address of the data to which this operation relates. The second part or the next addressing part contains the address of the next microinstruction that occurs during the program run is your turn. These micro-instructions are used in the known data processing systems mostly stored in so-called read-only memories. Namely, these have the ability to be a very allow quick reading of the information stored in them. A microinstruction is out such a memory in parallel, d. H. taken in its entire length in a single storage cycle. The memory is therefore constructed in such a way that in each case one fixed memory is determined by the width of the memory Number of bit positions is available for a microinstruction. The cost of a read-only memory is depends directly on the number of bit positions in each memory word and it is therefore desirable to require as few memory positions as possible for the microinstructions. The length of the subsequent address the next microinstruction is always long enough with the known microprogram control units, to enable access to every microinstruction within the read-only memory. The length of the The control part of a microinstruction can have any number of between a single bit position Bit positions, the limitation being given by the extent of the control operations carried out by the respective microinstruction are to be carried out.

1414th

ίζ ιίζ ι

Es ist bekannt, daß bei den normalen Operationsabläufen innerhalb einer Datenverarbeitungsanlage jeweils aufeinanderfolgende Mikrobefehle in jedem spezifischen Unterprogramm oft in aufeinanderfolgenden Speicherpositionen liegen. Dementsprechend unterscheidet sich die Adresse eines folgenden Mikrobefehls von der Adresse des vorhergehenden Mikrobefehls lediglich durch Wertdifferenzen in den niedrigen Adressenteilen. Es ist außerdem bekannt, daß viele Mikrobefehle nicht die Fähigkeit haben müssen, alle Positionen innerhalb des Festwertspeichers durch eine Folgeadresse adressieren zu können, sondern nur einen begrenzten Teil innerhalb des Speichers. Deshalb wurde schon ein Mikroprogrammsteuerwerk mit einem Mikroprogrammspeicher vorgeschlagen, daß dadurch charakterisiert ist, daß der Steuerteil und der Folgeadressierungsteil der Mikrobefehle variable, sich zu einer vorgegebenen festen Mikrobefehlslänge ergänzende Teillängen aufweisen, und daß eine Abtastschaltung vorgesehen ist, die aus dem Steuerteil eines Mikrobefehls die Zahl der in diesem Mikrobefehl enthaltenden Folgeadressierungsstellen angebende Steuersignale bildet und an eine Folgeadressensteuerschaltung weiterleitet, die diesen Folgeadressierungsstellen zugeordnete Adressenregisterstellen auswählt und die bis dahin gespeicherte Folgeadresse durch die neue Folgeadresse ersetzt, während der Inhalt der nicht ausgewählten Adressenregisterstellen unverändert bleibt. Hier jedoch hat auch dieses Mikroprogramm den Nachteil, daß der Speicherplatz im vorhandenen Festwertspeicher nicht optimal ausgenutzt wird.It is known that in the normal operational sequences within a data processing system successive microinstructions in each specific subroutine, often in consecutive ones Storage positions. Accordingly, the address differs from one of the following Microinstruction from the address of the previous microinstruction only by value differences in the low address parts. It is also known that many microinstructions do not have the capability must address all positions within the read-only memory using a subsequent address can, but only a limited part within the memory. Therefore a microprogram control unit was already established proposed with a microprogram memory that is characterized in that the control part and the sequential addressing part of the microinstructions variable partial lengths that complement each other to a predetermined fixed microinstruction length have, and that a sampling circuit is provided which from the control part of a microinstruction the Forms control signals indicating the number of subsequent addressing locations contained in this microinstruction and forwards to a subsequent address control circuit which is assigned to these subsequent addressing locations Selects address register positions and the subsequent address saved up to that point with the new subsequent address replaced while the contents of the unselected address register locations remain unchanged. Here, however, this microprogram also has the disadvantage that the memory space in the existing read-only memory is not used optimally.

Außerdem ist es durch die DT-AS 11 91 612 bekannt, Adressen in Befehlslisten nur so weit anzugeben, wie sie sich von den unmittelbar vorhergehenden Adressen unterscheiden. Die Adresse besteht dabei aus zwei Teilen, deren erster im Ablauf eines Programms durch einen besonderen Befehl eingestellt wird und bis zu einem weiteren besonderen Befehl unverändert bleibt, während ein zweiter Teil des Befehlsregisters, in dem eine Befehlsadresse gespeicherut ist, für jeden Befehl neu geladen wird. Zum Springen in eine andere im Speicher vorhandene Adresse muß deshalb ein besonderer Befehl vorhanden sein, nämlich üblicherweise ein Verzweigungsbefehl, der zum Abrufen der gewünschten Adresse jedoch mindestens einen zusätzlichen Speicherzyklus benötigt, wodurch diese Schaltungsanordnung relativ langsam ist.In addition, it is known from the DT-AS 11 91 612 to only specify addresses in command lists to the extent that how they differ from the immediately preceding addresses. The address exists consists of two parts, the first of which is set in the course of a program by a special command and remains unchanged until another special command, while a second part of the Command register, in which a command address is stored, is reloaded for each command. To the A special command must therefore be available to jump to another address in the memory be, usually a branch instruction that is used to get the desired address however, at least one additional memory cycle is required, which makes this circuit arrangement relatively is slow.

Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Wortauswahlschaltung für Speicheranordnungen, insbesondere zur Selbstauswahl von Befehlen, zu schaffen, die eine bessere Ausnutzung des zur Verfügung stehenden Mikroprogramm-Speicherraums ohne zusätzliche Speicherzyklen ermöglicht.The invention is therefore based on the object of providing a word selection circuit for memory arrangements, especially to create self-selection of commands that make better use of the available standing microprogram memory space without additional memory cycles.

Die erfindungsgemäße Lösung der Aufgabe besteht in den Kennzeichen des Patentanspruchs 1.The solution to the problem according to the invention consists in the characteristics of claim 1.

Durch die asymmetrische Aufteilung des Speichers für die Befehle ergibt sich, daß die Adreßteile verschieden groß sind. Daraus ergibt sich zwar bei den zwei kleineren Adreßteilen eine Einschränkung, die jedoch in der Praxis überraschend völlig unbedeutend ist, während auf der anderen Seite durch die größere Anzahl von Adressenbits in dem einen Teil ein wesentlich größeren Freiheitsgrad gewonnen wird, indem durch die größere Anzahl von Adressenbits in diesem Teil die gewünschte Adresse angegeben werden kann, zu der im Speicher verzweigt werden soll, ohne daß hierzu ein besonderer Befehl bzw. ein besonderer zusätzlicher Speicherzyklus erforderlich ist.The asymmetrical division of the memory for the commands means that the address parts are different are great. This results in a restriction with the two smaller address parts, the however in practice it is surprisingly completely insignificant, while on the other hand by the larger Number of address bits in which a part a much greater degree of freedom is obtained by the desired address is indicated by the larger number of address bits in this part to which the memory is to be branched to without a special command or a special additional memory cycle is required.

Die Erfindung wird an Hand eines in den Zeichnungen dargestellten Ausführungsbeispieles näher erklärt. In den Zeichnungen bedeutetThe invention is explained in more detail using an exemplary embodiment shown in the drawings. In the drawings means

Fig. 1 ein Blockschaltbild einer Steuereinheit für Speicheranordnungen,1 shows a block diagram of a control unit for memory arrangements,

F i g. 2 ein Schaltbild des in der F i g. 1 benutztenF i g. 2 is a circuit diagram of the in FIG. 1 used

ao ROS-Registers und die logische Verknüpfung der Ausgänge dieses Registers.ao ROS register and the logical connection of the outputs of this register.

Die Fig. 1 zeigt ein Schaltbild einer Steuereinheit 20 für Speicheranordnungen, die einen Festwertspeicher 22 enthält, weiterhin ein Ausgaberegister 24 für diesen Festwertspeicher 22 und einen Wortauswahldecoder 26, der zur Steuerung der Auswahl von einem der Befehlswörter^, B, C) aus dem Festwertspeicherwort 0 bis 59 dient. Die Steuereinheit 20 beinhaltet weiter ein Eingabeadressenregister oder1 shows a circuit diagram of a control unit 20 for memory arrangements which contains a read-only memory 22, an output register 24 for this read-only memory 22 and a word selection decoder 26 which is used to control the selection of one of the command words ^, B, C) from the read-only memory word 0 to 59 is used. The control unit 20 further includes an input address register or

ao auch Adressenregister 28 und zwei Decoder 30 und 32 zur Decodierung der niedrigstelligen und hochstelligen Adressenbits, wenn die Schaltkreise des Festwertspeichers 22 direkt angesteuert werden sollen. Die Ausgangsgrößen des Ausgabe-Registers 24 werden zu verschiedenen Bitkombinationen miteinander verknüpft, die auf verschiedene Schaltkreise gegeben werden können. In erster Linie sind die Bits 10 bis 17 zum Ansteuern der entsprechenden Bitspeicherstellen vom Adressenregister 28 verwendet. Diese umfassen die höchststelligen Adressenbits 10 bis 15 und die Wortauswahlbits 16, 17 von der Adresse des nächsten Befehls. Die niedrigststelligen Adressenbits der Adresse des nächsten Befehls 18 bis 21 werden vom Ausgabe-Register 24 des Festwertspeichers 22 zu einer Modifizierungsschaltung 34 übertragen. Die vorstehend genannten Bits können in der Modifizierungsschaltung 34 mit einer gleichen Anzahl von Bits auf der Hauptdatensammelleitung 36 des Rechners mit Hilfe einer sogenannten USE-Instruktion verknüpft, wodurch eine Modifikation durchgeführt werden kann, oder unverändert zu den niedrigstelligen Bitstellen des Adressenregisters 28 übertragen werden. Die Bits 1 bis 9 vom Ausgabe-Register 24 werden in den verschiedensten Kombinationen zu verschiedenen Teilen eines Decoders 38 übertragen. Der Decoder 38 wird verwendet zur Entschlüsselung des Operationsschlüssels und zur Registersteuerung 70, welche die Steuerung zur Rückstellung und nachfolgenden Einstellung der Arbeitsregister 44 einschließt, weiterhin zur Steuerung der Auswahl verschiedener Eingabe- und Ausgabefunktionen E/A, zur Steuerung der Übertragung von Ausgangsdaten von einem der ausgewählten Arbeitsregister 44 zur Datensammelleitung 36. Eine Stufe des Decoders 38 ist mit dem vorgeschalteten Puffer 48 verbunden, so daß diese Stufe die Steuerung der Arbeitsregister 44 zu einem bestimmten Zeitpunkt innerhalb eines Zyklus ermöglicht. Aus Fig. 1 ist zu ersehen, daß der Ausgang des Decoders 38 ebenso wie die Taktsteuerschaltung 40 mit allen Teilen des Rechners zur Steuerung der Abläufe verbunden ist. Zu diesen Teilen gehören auch der Hauptspeicher 42, Arbeitsspeicher 44, eine Erhöhungsschaltung 46 und andere für die vorliegende Erfindung nicht erforderliche Schaltkreise des jeweils benutzten Rechners, weshalb hier nicht näher darauf eingegangen wird.ao also address registers 28 and two decoders 30 and 32 for decoding the low-digit and high-digit address bits if the circuits of the read-only memory 22 are to be controlled directly. The output variables of the output register 24 are linked to form various bit combinations that can be sent to various circuits. Bits 10 to 17 are primarily used to control the corresponding bit storage locations from address register 28. These include the most significant address bits 10 to 15 and the word selection bits 16, 17 from the address of the next command. The lowest-digit address bits of the address of the next instruction 18 to 21 are transferred from the output register 24 of the read-only memory 22 to a modification circuit 34. The above-mentioned bits can be linked in the modification circuit 34 with an equal number of bits on the main data bus line 36 of the computer with the aid of a so-called USE instruction, whereby a modification can be carried out, or they can be transferred unchanged to the lower-digit bit positions of the address register 28. Bits 1 to 9 from output register 24 are transmitted to different parts of a decoder 38 in the most varied of combinations. The decoder 38 is used for decryption of the operation key and for register control 70, which includes the control for resetting and subsequent setting of the working registers 44, further for controlling the selection of various input and output functions I / O, for controlling the transmission of output data from one of the selected working register 44 to data bus 36. One stage of the decoder 38 is connected to the upstream buffer 48, so that this stage enables the control of the working registers 44 at a specific point in time within a cycle. From Fig. 1 it can be seen that the output of the decoder 38, like the clock control circuit 40, is connected to all parts of the computer for controlling the processes. These parts also include the main memory 42, working memory 44, an incremental circuit 46 and other circuits of the particular computer used which are not required for the present invention, which is why they will not be discussed in more detail here.

Während des Arbeitens des Rechners wird in jedem Mikrobefehlszyklus ein Wort vom Festwert-While the computer is working, one word is written from the fixed value in each microinstruction cycle.

speicher 22 bereitgestellt, welches drei Befehlswörter (A, B, C) enthält. Da nur eines dieser Befehlswörter vom Wortauswahldecoder26 ausgewählt wird, wer-' den entweder 22 oder 16 Bits zu dem Ausgabe-Register 24 übertragen. Einzelheiten des Wortauswahldecoders 26 sind im Zusammenhang mit dem in der F i g. 2 gezeigten Ausgabe-Register 24 zu sehen. Wird ein 16Bit langes Wort ausgewählt^), dann bleiben die Bits 10 bis 15 des Ausgabe-Registers 24 unbeeinflußt. Im nächstfolgenden Zyklus wird ein Speicherwort vom Festspeicher 22 in Abhängigkeit von dem Vorhandensein der Bits 10 bis 21 ausgewählt. Wenn eine USE-Instruktion ausgeführt wird, dann erstreckt sich diese Abhängigkeit auch auf die Bits 0 bis 3 der Datensammelleitung 36. Daher definiert jeder Zyklus, zumindest teilweise, die Adresse für den nächsten Zyklus. In jedem Zyklus werden auch die Operationsbits 1 bis 9 zur Steuerung der anderen Teile des Rechners (42, 44, 46) bereitgestellt.memory 22 is provided which contains three command words (A, B, C) . Since only one of these command words is selected by the word selection decoder 26, either 22 or 16 bits are transferred to the output register 24. Details of the word selection decoder 26 are in connection with the one shown in FIG. 2 output register 24 shown. If a 16-bit long word is selected ^), bits 10 to 15 of the output register 24 remain unaffected. In the next following cycle, a memory word is selected from read-only memory 22 depending on the presence of bits 10 to 21. When a USE instruction is executed, this dependency extends to bits 0 through 3 of data bus 36. Therefore, each cycle defines, at least in part, the address for the next cycle. Operation bits 1 to 9 for controlling the other parts of the computer (42, 44, 46) are also provided in each cycle.

Die Schaltung nach F i g. 1 kann die Auswahl zwisehen den Wörtern j4, B und C vornehmen. Dabei ist das Wortv4 nur 16 Bit lang. Die übrigen 6 Bits, die ein volles 22-Bit-Befehlswort umfaßt, sind von einem der vorhergehenden Befehlswörter. Die Auswahl zwischen den Befehlswörtern A, B und C wird durch den Wortauswahldecoder 26 auf Veranlassung der Bits 16 und 17 vom Ausgabe-Register 24 durchgeführt. Auf diese Art und Weise werden Wörter durch Adressenbits ausgewählt, die in jedem Wort erscheinen, so daß immer das Kurzwort (A) ausgewählt wird, und es dennoch die Fähigkeit besitzt, selbst ein anderes Kurzwort (A) oder eines von den langen Wörtern (B, C) auszuwählen. Auf diese Art und Weise ist eine sehr einfache effektive Methode zur Reduzierung des Aufwandes von Speichersystemen möglich. In diesem speziellen Ausführungsbeispiel wird angenommen, daß 1024 adressierbare Speicherwörter vorhanden sind, wobei jedes ein Wort Λ, B und C umfaßt. Man bedenke, daß jedes Wort 6 Bits weniger hat als anderweitig (dies ist bedingt dadurch, daß das Wort A nur 16 Bit lang ist anstatt 22 Bit), so daß von den 60000 vorhandenen Bits im Speicher 6000 eingespart werden. Mit anderen Worten, es wird hier eine Möglichkeit gezeigt, eine 10%ige Einsparung an Speicherplatz zu schaffen. Natürlich, wenn auch B 16 Bit lang ist, so daß eine volle Adressierung nur durch das Wort C ausführbar ist, ist eine 2O°/oige Einsparung möglich, jedoch mit dem Nachteil, daß mehrere Einschränkungen in bezug auf das Mikroprogramm hingenommen werden müssen. Jedoch läßt sich auch diese Methode in bestimmten Systemen mit großem Vorteil anwenden. The circuit according to FIG. 1 can choose between the words j4, B and C. Word v4 is only 16 bits long. The remaining 6 bits, which comprise a full 22-bit command word, are from one of the preceding command words. The selection between the command words A, B and C is carried out by the word selection decoder 26 at the instigation of bits 16 and 17 from the output register 24. In this way, words are selected by address bits that appear in each word so that the acronym (A) is always selected and it still has the ability to use another acronym (A) or one of the long words (B , C) . In this way, a very simple and effective method for reducing the complexity of storage systems is possible. In this particular embodiment, it is assumed that there are 1024 addressable memory words, each comprising a word Λ, B and C. Note that each word has 6 bits less than otherwise (this is due to the fact that word A is only 16 bits long instead of 22 bits), so that 6000 of the 60000 bits in memory are saved. In other words, a possibility is shown here to create a 10% saving in storage space. Of course, even if B is 16 bits long, so that full addressing can only be carried out using the word C, a saving of 20% is possible, but with the disadvantage that several restrictions with regard to the microprogram have to be accepted. However, this method can also be used to great advantage in certain systems.

In der Fig. 2 ist das Ausgabe-Register 24 zu sehen, welches eine Vielzahl von Selbsthalteschaltungen, wovon nur die Schaltungen 50 bis 53 zu sehen sind, enthält, wobei eine Selbsthalteschaltung für ein Bit im Register vorhanden ist. Jede von diesen Selbsthalteschaltungen ist schaltbar in Abhängigkeit von den Bits des ausgewählten Befehlsworts vom Festwertspeicher 22. Die Selbsthalteschaltungen 50, 51 und 53 stehen in Verbindungen zu den BitsO bis 9 und 16 bis 21 und werden geschaltet durch bestimmte Bits von irgendeinem der Befehlswörter (Λ, B, C), wobei die Selbsthalteschaltung 52, die zu den Bits 10 bis 15 in Verbindung steht, nur durch die Wörter B und C geschaltet wird. Jede von diesen Selbsthalteschaltungen wird durch die mit ihm verbundenen ODER-Schaltkreise 54, die wiederum mit den UND-Schaltungen 56 und 58 in Verbindung stehen, geschaltet. Dabei sind die UND-Schaltungen 58 in Verbindung mit den Bits der Wörter B oder C und die UND-Schaltungn 56 in Verbindung zu dem Wort A. Die Auswahl zwischen A, B und C ist möglich mit der Steuerung von Signalen, die auf den Leitungen 16, 60' und 62' auftreten. Diese Leitungen werden durch spezielle Kombinationen der Bits 16 und 17 vom Ausgabe-Register 24 erregt. Wenn dabei das Bit 16 nicht vorhanden ist, dann wird automatisch durch ein Signal das Wort Λ ausgewählt, wenn die Bits 16 und 17 beide vorhanden sind, dann wird an der UND-Schaltung 62 ein Signal erzeugt, welches das Wort C auswählt; wenn das Bit 16 vorhanden ist, aber das Bit 17 abwesend ist, dann wird an der UND-Schaltung 60 ein Signal erzeugt, das das Wort B auswählt. In FIG. 2 the output register 24 can be seen, which contains a multiplicity of latching circuits, of which only the circuits 50 to 53 can be seen, with a latching circuit for one bit being present in the register. Each of these latching circuits is switchable depending on the bits of the selected command word from the read-only memory 22. The latching circuits 50, 51 and 53 are connected to bits 0 to 9 and 16 to 21 and are switched by certain bits of any of the command words (Λ, B, C), the self-holding circuit 52, which is connected to bits 10 to 15, being switched by words B and C only. Each of these self-holding circuits is switched by the OR circuits 54 connected to it, which in turn are connected to the AND circuits 56 and 58. The AND circuits 58 are in connection with the bits of the words B or C and the AND circuits 56 in connection with the word A. The selection between A, B and C is possible with the control of signals on the lines 16, 60 'and 62' occur. These lines are energized by specific combinations of bits 16 and 17 from output register 24. If bit 16 is not present, then the word Λ is automatically selected by a signal; if bits 16 and 17 are both present, then a signal is generated at AND circuit 62 which selects word C; if bit 16 is present but bit 17 is absent, then a signal is generated at AND circuit 60 which selects word B.

Wenn irgendein Wort ausgewählt ist, dann schalten die entsprechenden UND-Schaltungen in Verbindung mit dem ODER-Schaltkreis 54 die entsprechenden Selbsthalteschaltungen 50 bis 53, nur, wenn ein Bit-Signal auf einer Bitleitung vorhanden ist (z.B. als Bit 15 vom Wort B). Wenn jedoch auf der Bitleitung kein Signal vorhanden ist, dann ist durch die Definition das Komplement auf der Leitung vorhanden (z. B. 15 im Wort B). If any word is selected, then the corresponding AND circuits in conjunction with the OR circuit 54 switch the corresponding latching circuits 50 to 53 only when a bit signal is present on a bit line (e.g. as bit 15 of word B). If, however, there is no signal on the bit line, then by definition the complement is present on the line (e.g. 15 in word B).

Um zu gewährleisten, daß die Selbsthalteschaltungen 50 bis 53 auch dann immer richtig geschaltet werden, wenn kein Bit vorhanden ist, werden diese Selbsthalteschaltungen 50 bis 53 durch ein allgemeines Rückstellsignals RST ROSREG (welches hier nur zur Illustration verwendet wird) über die ODER-Schaltkreise 64 rückgestellt oder in Abhängigkeit von mehreren UND-Schaltungen 66, 68. Für jede UND-Schaltung 56 ist eine entsprechende UND-Schaltung 66 und für jede UND-Schaltung 58 die entsprechende UND-Schaltung 68 vorhanden. Dies bedeutet, daß irgendeiner der ODER-Schaltkreise 54 oder der ODER-Schaltkreise 64 durch einen von" den UND-Schaltungen 56, 58, 66, 68 in Abhängigkeit von irgendeinem Signal oder dessen Komplement (z.B. 15 oder 15) für das entsprechende auszuwählende Wort erregt wird. Das Signal an der Leitung RST ROSREG, das hier nur zur Illustration verwendet wird, dient zur Rückstellung des Ausgabe-Registers 24, damit neue Daten, die vom Wortauswahldecoder 26 ausgewählt wurden, eingetragen werden können.In order to ensure that the latching circuits 50 to 53 are always switched correctly even if no bit is present, these latching circuits 50 to 53 are activated by a general reset signal RST ROSREG (which is used here only for illustration) via the OR circuits 64 reset or as a function of a plurality of AND circuits 66, 68. A corresponding AND circuit 66 is provided for each AND circuit 56 and the corresponding AND circuit 68 is provided for each AND circuit 58. This means that any of the OR circuits 54 or the OR circuits 64 can be replaced by one of the AND circuits 56, 58, 66, 68 depending on any signal or its complement (e.g. 15 or 15) for the corresponding word to be selected The signal on the RST ROSREG line, which is used here only for illustration, is used to reset the output register 24 so that new data selected by the word selection decoder 26 can be entered.

Hierzu 2 Blatt ZeichnungenFor this purpose 2 sheets of drawings

Claims (5)

Patentansprüche:Patent claims: 1. Schaltungsanordnung zur Selektion von Befehlswörtern aus mehreren gleichzeitig aus einer Wortzeile eines Speichers ausgelesenen Befehlswörtern, die zum Zwecke der Mikroprogrammierung einer Datenverarbeitungsanlage in einem Speicher gespeichert sind, mit Hilfe von Bitkombinationen, die in einem Befehlsteil eines oder mehrerer Befehlswörter vorhanden sind, dadurch gekennzeichnet, daß der die Befehlswörter enthaltende Speicher (22) in Abschnitte zur Speicherung der Befehlswörter (A, B und C) unterschiedlicher Länge unterteilt ist, daß dem Speicher (22) ein Ausgabe-Register (24) zugeordnet ist, dessen Bitkapazität mit der Länge des größten Abschnittes im Speicher (22) übereinstimmt, und daß zwischen dem Ausgabe-Register (24) und dem Speicher (22) ein Wortauswahldecoder (26) angeordnet ist, der aus dem im Ausgabe-Register (24) stehenden Befehl eine Bitkombination von mindestens zwei Bit (16 und 17) zugeleitet bekommt, um während des Auslesens der Befehlswörter (A, B oder C) eines dieser Wörter zu selektieren, wobei dann die Bitkombination, die die Blockadresse angibt, nicht gelöscht wird, wenn das selektierte Befehlswort ein kurzes Befehlswort (A) ohne Blockadreßteil (Bits 10 bis 15) ist.1. Circuit arrangement for the selection of command words from a plurality of command words read out simultaneously from a word line of a memory, which are stored in a memory for the purpose of microprogramming a data processing system, with the aid of bit combinations that are present in a command part of one or more command words, characterized in that, that the memory (22) containing the command words is divided into sections for storing the command words (A, B and C) of different lengths, that the memory (22) is assigned an output register (24) whose bit capacity is as long as the largest Section in the memory (22) coincides, and that a word selection decoder (26) is arranged between the output register (24) and the memory (22), which is a bit combination of at least two bits from the command in the output register (24) (16 and 17) is fed to one of these while reading out the command words (A, B or C) To select words, in which case the bit combination which specifies the block address is not deleted if the selected command word is a short command word (A) without a block address part (bits 10 to 15). 2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß der als Festwertspeicher ausgebildete Speicher (22) in drei Teile unterteilt ist, die ungleich lang sind, weil einer (A) der zu identifizierenden Teile weniger Bits enthält als einer der anderen Teile (B, C) und der genannte eine Teil (A) die Bits (16, 17) enthält, die zur Auswahl dem Wortauswahldecoder (26) zugeführt werden.2. Circuit arrangement according to claim 1, characterized in that the memory (22) designed as a read-only memory is divided into three parts which are of unequal length because one (A) of the parts to be identified contains fewer bits than one of the other parts (B, C) and said one part (A) contains the bits (16, 17) which are fed to the word selection decoder (26) for selection. 3. Schaltungsanordnung nach den Ansprächen 1 und 2, dadurch gekennzeichnet, daß das Adressenregister (28) des Festwertspeichers, über das die Auswahlbits (16, 17) dem Wortauswahldecoder (26) zugeführt werden, außerdem über eine Modifizierungsschaltung (34) zur Modifizierung von Befehlen mit den niedrigststelligen Adressenbits der Adresse des nächsten Befehls und mit den höchststelligen Adressenbits (10 bis 15) im Ausgabe-Register (24) verbunden ist und daß das Adressenregister (28) des Festwert-Speichers zur Weiterleitung der genannten Adressenbits zum Festwertspeicher mit zwei binären Decodern (30, 32) verbunden ist.3. Circuit arrangement according to claims 1 and 2, characterized in that the address register (28) of the read-only memory, via which the selection bits (16, 17) are sent to the word selection decoder (26) are supplied, also via a modification circuit (34) for modification of commands with the least significant address bits of the address of the next command and is connected to the most significant address bits (10 to 15) in the output register (24) and that the address register (28) of the read-only memory for forwarding said address bits is connected to the read-only memory with two binary decoders (30, 32). 4. Schaltungsanordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß der mit dem Ausgabe-Register (24) verbundene Wortauswahldecoder (26) aus zwei UND-Schaltungen (60, 62) besteht, denen die Komplemente und die wahren Werte der Wortauswahlbits (16, 17) zugeführt werden. "4. Circuit arrangement according to claims 1 to 3, characterized in that the with the Output register (24) connected word selection decoder (26) from two AND circuits (60, 62) exists, to which the complements and the true values of the word selection bits (16, 17) are supplied will. " 5. Schaltungsanordnung nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß das Ausgabe-Register (24) aus Selbsthakeschaltungen (50, 51 und 53) besteht, die je ein Bit speichern können und in Verbindung zu den Bits 0 bis 9 und 16 bis 21 des Festwertspeichers (22) stehen, wodurch nur bestimmte Bits von irgendeinem der Befehlswörter (.4. B, C) geschaltet werden und wobei die Selbsthalteschaltung (52), die mit den Bits 10 bis 15 verbunden ist, nur durch die Befehlswörter B und C geschaltet wird.5. Circuit arrangement according to claims 1 to 4, characterized in that the output register (24) consists of self-hooking circuits (50, 51 and 53) which can each store a bit and in connection with bits 0 to 9 and 16 to 21 of the read-only memory (22), whereby only certain bits of any of the command words (.4. B, C) are switched and the self-holding circuit (52), which is connected to bits 10 to 15, only by the command words B and C is switched.
DE19661499727 1965-10-22 1966-10-12 Circuit arrangement for the selection of command words Expired DE1499727C3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US502196A US3397391A (en) 1965-10-22 1965-10-22 Compact storage control apparatus
US50219665 1965-10-22
DEJ0031983 1966-10-12

Publications (3)

Publication Number Publication Date
DE1499727A1 DE1499727A1 (en) 1972-04-13
DE1499727B2 DE1499727B2 (en) 1975-10-30
DE1499727C3 true DE1499727C3 (en) 1976-06-16

Family

ID=

Similar Documents

Publication Publication Date Title
DE2755273C2 (en)
DE1774296B2 (en) Restructurable control unit for electronic digital computers
DE1499203B1 (en) Circuit arrangement for memory protection in data processing systems with simultaneous operation
DE2719635A1 (en) ARRANGEMENT FOR AN EXTENSION OF A MICROPROGRAM CONTROL OF A DATA PROCESSING SYSTEM
DE2322674B2 (en) Microprogram controller
DE2339636A1 (en) PROGRAM CONTROL DEVICE
DE19526008A1 (en) Vertically partitioned primary instruction cache
DE2551741A1 (en) DATA PROCESSING DEVICE
DE2433436A1 (en) PROCEDURE AND ARRANGEMENT FOR MULTIPLE BRANCHING THE PROGRAM IN A DIGITAL COMPUTER
DE2951040C2 (en)
DE2336676C3 (en) Device for modifying microprogram instructions
DE2900586A1 (en) ARRANGEMENT FOR DECODING CODE WORDS OF VARIABLE LENGTH
DE2418921C2 (en) Device for storing micro-programs in a data processing system
DE2759120C2 (en)
DE2835110A1 (en) FAST REAL-TIME COMPUTER EMULATOR
DE3344340C2 (en) Data processing arrangement for performing microinstructions
DE2720842A1 (en) DATA TRANSFER SYSTEM
DE2948442A1 (en) DIGITAL COMPUTER SYSTEM
DE2235883C3 (en) Data processing device
DE1499727C3 (en) Circuit arrangement for the selection of command words
DE2204680C3 (en) Microprogram controller
DE2710436A1 (en) DATA PROCESSING DEVICE
DE1296429B (en) Data processing system
DE1499727B2 (en) Circuit arrangement for the selection of command words
DE2237427C3 (en) Control arrangement in a data processing system with microprogram control