M i k r o r o ramm w e r k Die Erfindung betrifft ein Mikroprogrammwerk
für Datenverarbeitungsanlagen, insbesondere ein Mikroprogrammwerk für kleinere Rechenmaschinen
die über Speicher gesteuert werden, deren Stellen oder Speicherplätze den durchzuführenden
Operationen entsprechend programmierbar sind. Jede Maschinenoperation steht unter
der Steuerung eines programmierten Befehls, welcher die Schalt- und Torsignale für
den Funktionsablauf der Maschine zur Verfügung stellt. Der Progipammspeicher muß
also ein Speicher mit schnellem Zugriff sein.M ikroro ramm w ork The invention relates to a microsequencer for data processing installations, in particular a microsequencer for smaller computing machines that are controlled by memory whose points or memory locations are the operations to be performed in accordance with programmable. Each machine operation is under the control of a programmed command, which provides the switching and gate signals for the machine's functional sequence. The program memory must therefore be a memory with fast access.
Bei der Programmierung wird allgemein davon ausgegangen,
daB der erste
Befehl von einem Makroprogrammbefehl abgeleitet wird. Die Adresse
bzw. der Speicherplatz ist dem Mikrobefehl untergeordnet und vollständig
oder teilweise von den Maschinenbedingungen abhängig: Da in kleinen Rechenmaschinen
die Befehle in Serie verarbeitet werden,. war es bisher
nicht möglich, während
eines Befehlablaufea in das Programm mit einer Eingabe einzugreifen. In programming , it is generally assumed that the first command is derived from a macro program command. The address or the memory location is subordinate to the microinstruction and completely or partially dependent on the machine conditions: Since the instructions are processed in series in small calculating machines. it was not previously possible to intervene in the program with an input while a command was running.
Für größere Maschinen sind Schaltungen entwickelt worden, mit
welchen
unter bestimmter Voraussetzung in den Programmablauf eingegriffen
werden
kann. Bei einer dieser bekannten Schaltungen sind bestimmte Bereiche
des Mikroprogrammspeichers mit einem dem Hauptspeicher zuge-
ordneten Decoder
verbunden. Andere Bereiche üieses Speichers sind mit
einem
weiteren Decoder verbunden, welcher seinerseits mit den Operations-
bereich
des Hauptspeichers verbunden ist. In beiden Decodern werden
Steuersignale
erzeugt, welche die Adresse des folgenden Mikrobefehle über Und-Kreise
bestimmen. Eine dexVetige Speicheranordnung ist für kleine Rechenmaschinen
zu aufwendig. Es sind auch Steuerhaltungen be-
kannt geworden, welche die
Übertragung-von Befehlen zwischen den Speichern und Decodern steuern.
Mit einer dieser bekannten Schaltungen
ist es möglich, Befehle mit
gleichbleibender Dätennenge von einem
Speicher auf den anderen zu
übertragen. Bei einer anderen bekannten
Schaltung ist. es zwar möglich die zu übertragende Datenmenge
zu verändern, jedoch wird hier die Anordn=g weh aufwendiger
dadurch, dass über einen ersten Zähler der Beginn der Daten-
übertragung und über einen zweiten Zähler die Datenmenge be-
stimmst wird. Der erste Zähler bestimmt hier
die-Anfangsadresse
innerhalb einer Datenmenge und wird durch einen ersten
Teil
des Befehlswortes geladen, während der zweite. Zähler ,durch
einen zweiten Teil des Befehlswortes geladen wird `und
die
Dinge des zu übertragenden Bereichs bestimmt. Auch diese be-
kannte Anordnung eignet sich nicht für kZ4tßere Rechenma-,
schinen.
Die Erfindung hat es sich zur Aufgabe gemacht,. für 'eine
kleine
Datenverarbeitungsanlage eine Steuerschaltung bzw. ein
Mikro--
programmwerk vorzusehen, bei welchem in den Mikroprogrammab-
lauf mit einer Eingabe eingegriffen werden kann.-Das
ertin--
dungsgemässe Mikroprogrammwerk ist aadurdh gekennzeichnet,
dass
einer Programmschritte liefernden Anordnungen zwei gekoppelte
Eingänge derart zugeordnet sind, dass dir erste` Eingang die
Ausgangsbedingungen für den zweiten Eingj und der
.weite.
Eingang die Ausgangsbedingungen für den ersten EIngang
bestimmt.
Die Eingänge können auf bistabilen Kreisen.aufgabaut sein,
während es sich bei der Programmschritte liefernden
Anordnung
um einen Mikroprogrammschritt - Generator handeln kann: Die
Er-
findung wird mit einem Ausführungsbeispiel unter Bezugnahme
auf
die beigefügte Zeichnung beschrieben. Die Zeichnung
zeigt eine
Schaltungsanordnung mit einem 16-atelligenSchritt-Ganerator
ge-
steuerten Zähler, dessen erste zehn Stellen 1-#1a Nikroprogramm-.
schritte darstellen. Die weiteren sechs Stellen 11--16
liefern
Mikroprogrammschritte für die Bearbeitun« der.elngegebenen
In-
formationen. Anstelle des Schritt-Generator gesteuerten Zählers
kann auch jede andere steuerbare SpeicWceinrchtung benutzt
werden. a Inn weiteren Verlauf der Beschreibung wird
der
Zähler als Speicher bezeichnet. Der Speicherbereich I, der
für
die Mikrobefehle 1-1o reserviert ist, wird über das Befehls-
Flip-Flop FF-B gesteuert und-dem zweitem Spelcherbereieh
11 ist
das Eingabe-Flip-Flop FF-E zugeordnet. Der Einstelleingang
des
FF-B wird mit einem Befehl angesteuert, so dass der Einstell-
ausgang über Leitung B einen Eingang an das Und-Tor U1 liefert.
Einen zweiten Eingang erhält das Und-Tor U1 über Leitung
T vom
Taktgenerator und einen dritten über Leitung ST liefert die
Start-Schaltung. Der Ausgang des Und-Tores U1 liegt über Lei-
tung ;S an der ersten Stufe oder Stelle des Speichers.
Die Rückstellseite des FF-B ist über Leitung 13 und
11 mit dem
Ausgang des Und-Tores U2 verbunden, das einen ersten Eingang
Vom Ausgang des Oder-Tores 01 über Leitung 2o und 21 erhält
und
dessen zweiten Eingang über einen Inverter das Befehlsende
über
Leitung 25 und 23 angesteuert. Der Ausgang des Oder-Tores 01
liegt auch über Leitung 2o und 22 an Eingang des Und-Tores
U3,
dessen zweiten Eingang, wie beim Und-Tor U2, das Befehlsende
über Leitung 25 und 24 zur Verfügung gestellt.
Das Oder-Tor 01 erhält einen ersten Eingang über Leitung
19
vom Ausgang des Und-Tores U4 und einen zweiten über Leitung
26
und 2? vom Ausgang der Speicherstelle 16.
Am ersten Eingang des Und-Tores U4 liegt der Ausgang der Speicher-
stelle 1o über Leitung 18 und der zweite Eingang dieses Tores
ist über Leitung 1? mit dem Riickstellausgang des FF-E verbunden,
das den Speicherbereich Il steuert. Der Rijckstelleingang de-.
FF-E ist mit Leitung 28 in die Leitung 26 geschaltet, so dass
er vom Ausgang der Speicherstelle 16 gesteuert wird.
Der Einstelleingang des FF-E' wird von einer Eingabeschaltung
gesteuert und der Einstellausgang E liegt an einem ersten Ein-
gang des Und-Tores US. Einen zweiten Eingang erhält
dieses Tor
vom Taktgenerator über Leitung T und schliesslich wird sein
dritter Eingang vom Riickstellausgang ß des FF-B gesteuert.
Der
j.iusgang des Und-Tores US liegt mit Leitung 16 am Eingang
der
Speicherstelle 11.
Diesen erfindungsgemässen Schaltungsbau entspricht folgende Arbeitsweise:
Beim Einschalten der Maschine wird das Taktsignal über Leitung T an einem Eingang
des Und-Tores U1 gelegt. Mit dem Startsignal wird der geite Eingang des Und-Tores
U1 angesteuert und das Ausgangssignal dieses Tores bereitet über ,Leitung
15 die Schaltung vor. Dieses Signal versetzt das Eingangs-FF-B in die Grundstellung,
so dass der Rückstellausgang H an einem Eingang des Und-Tores US liegt und über
Leitung 16, die Stufe 11 des Speicherbereichs 1I angesteuert wird. For larger machines, circuits have been developed which, under certain conditions, can be used to intervene in the program sequence. In one of these known circuits , certain areas of the microprogram memory are connected to a decoder assigned to the main memory. Other areas of this memory are connected to a further decoder, which in turn is connected to the operational area of the main memory. In both decoders control signals are generated which determine the address of the following microinstructions via AND circles . A dexVetige memory arrangement is too expensive for small calculating machines. There are also tax attitudes become known loading that control the transfer-of commands between the memories and decoders. With one of these known circuits it is possible to transfer commands with a constant amount of data from one memory to the other . In another known Circuit is. the amount of data to be transferred is possible
to change, but here the arrangement is painful more complex
by the fact that the beginning of the data
transmission and using a second counter the amount of data
will agree . The first counter determines here the start address
within a set of data and is followed by a first part
of the command word loaded, while the second. Counter, through
a second part of the command word is loaded `and the
Things of the area to be transferred determined. These also
Known arrangement is not suitable for larger arithmetic,
machines.
The invention has set itself the task . for 'a small one
Data processing system a control circuit or a micro-
program work to be provided, in which in the microprogram
can be intervened with an input.
appropriate microprogram work is marked aadurdh that
two coupled arrangements delivering program steps
Inputs are assigned in such a way that the first input is the
Starting conditions for the second entry and the .wide .
Input determines the output conditions for the first input .
The inputs can be assigned to bistable circuits,
while the program steps supply arrangement
can be a microprogram step generator: The
invention is illustrated with an embodiment with reference to FIG
the accompanying drawing. The drawing shows a
Circuit arrangement with a 16-digit step ganerator
controlled counters, the first ten digits of which are 1- # 1a Nikroprogramm-.
show steps. The other six digits 11--16 provide
Microprogram steps for processing the given information
formations. Instead of the step generator controlled counter
Any other controllable storage device can also be used
will. a Inn further course of the description will be of
Counter referred to as memory. The storage area I, which is used for
the micro-commands 1-1o is reserved, the command
Flip-flop FF-B controlled and the second Spelcherbereieh 11 is
assigned to the input flip-flop FF-E. The setting input of the
FF-B is controlled with a command so that the setting
output via line B provides an input to the AND gate U1.
The AND gate U1 receives a second input via line T from
The clock generator and a third via line ST supplies the
Start circuit. The output of the AND gate U1 is via line
tion; S at the first level or location of the memory.
The reset side of the FF-B is via lines 13 and 11 with the
Output of the AND gate U2 connected, which has a first input
From the output of the OR gate 01 via line 2o and 21 receives and
the end of the command via an inverter
Lines 25 and 23 activated. The output of the OR gate 01
is also via lines 2o and 22 at the input of the AND gate U3,
its second input, as with the AND gate U2, the end of the command
made available via lines 25 and 24.
The OR gate 01 receives a first input via line 19
from the output of the AND gate U4 and a second via line 26
and 2? from the output of memory location 16.
At the first input of the AND gate U4 is the output of the memory
put 1o over line 18 and the second entrance of this gate
is on line 1? connected to the reset output of the FF-E,
which controls the memory area II. The Rijckstelle entrance de-.
FF-E is connected to line 26 with line 28, so that
it is controlled by the output of the memory location 16.
The setting input of the FF-E ' is provided by an input circuit
controlled and the setting output E is at a first input
corridor of the AND gate US. A second input receives this gate
from the clock generator via line T and finally will be
third input controlled by the reset output ß of the FF-B. Of the
j.iusgang of the AND gate US is with line 16 at the entrance of the
Location 11.
This circuit construction according to the invention corresponds to the following mode of operation: When the machine is switched on, the clock signal is applied via line T to an input of the AND gate U1. With the start signal, the geite input of the AND gate U1 is controlled and the output signal of this gate prepares the circuit via line 15. This signal sets the input FF-B to the basic position so that the reset output H is at an input of the AND gate US and stage 11 of the memory area 1I is controlled via line 16.
Der Ausgang der Stufe 16 steuert nun über Leitung 26 und 28 den Rückstelleingang
des Flip-Flop FF-E und liefert über Leitung 26, 27 das Oder-Tor 0-1 und die Leitungen
2o und 21 sowie 2o und 22 die Bedingungen für die Und-Tore U2 und U3. Erscheint
nun auf dem Eingang des Flip =Flop FF-B ein Befehl, so wird dieser Flip - Flop FF-B
umgeschaltet und über seinen Einstellausgang B gelangt der Befehl auf den Eingang
des lores U1, dessen Bedingungen über die Taktleitung T erfüllt sind. Das Ausgangssignal
des Und-Tores U1 steuert über Leitung 15 die ersten Speicherstelle 1 an und veranlasst
die entsprechenden ltikroprogrammsohritte für die den Speicheretellen 1-1o gespeicherten
Befehle. Nach dem Durchlaufen der Speicherstelle 1o steuert das Signal über Leitung
18 das Und-Tor 4 an, dessen Bedingungen, wie oben vermerkt, über Leitung 17 erfüllt
ist. Über Leitung 19, das Oder-Tor 01 und Leitung 2o und 22 steuert
das Signal weiter das Und-Tor U3 an, wenn über Leitung 25 und 24 ein Befehlsende-Signal
anliegt. In diesem Fall steuert der Ausgang des Und-Tores U3 über Leitung 14 erneut
die Speicherstelle 1 an und der Befehlszyklus wird wiederholt. Liegt über Leitung
25 und 23 kein Befehlsende-Signal an, so liefert der Inverter dieBedingung für das
Und-Tor U2 und über Leitung 11
und 12 wird die erste Speicherstelle erneut
vorbereitet und über Leitung 11 und 13 das FF-B zurückgeschaltet, so dass über seinen
Ausgang B auch die Bedingungen den Und-Toree US wieder erfüllt sind, die durch die
Umschaltung des PF-H für die Dauer der Befehlsbearbeitung unterbrochen
waren.
Soll nun die Befehlsbearbeitung mit einer Eingabe unterbrochen
werden, so wird mit dem Eingabebefehl auf den Einstelleingang das FF-E gesetzt.
Der vom ßückstellausgang E über Zeitung 17 am Und-Tor U4 stehende Impuls wird unterbrochen
und das Und-Tor gesperrt. Diese Sperre tritt aber erst dann ein, wenn der laufende
Befehl alle Speicherstellen 1-1o durchlaufen hat. Über der Ausgang des Und-Tores
U3 bleibt die Schaltung weiter hin vorbereitet, weil nun mit dem Eingabebefehl über
das Und-Tor U5 und Zeitung 16 der Speicherbereich II d.h. die Speicherstelle 11
bis 16 für die Mikrogrammschritten herangezogen werden und die letzte Speicherstelle
16 über Zeitung 26 und 28 das FF-E zurückschaltet, so dass über Leitung 17
die Bedingungen des Und-Tores U4 wieder erfüllt sind. Über den Einstelleingang des
FF-B kann ein neuer Befehl die Speicherstellen ansteuern.The output of stage 16 now controls the reset input of the flip-flop FF-E via lines 26 and 28 and supplies the OR gate 0-1 and lines 2o and 21 as well as 2o and 22 the conditions for the and via lines 26, 27 -Gates U2 and U3. If a command now appears at the input of the flip flop FF-B, this flip-flop FF-B is switched and the command reaches the input of the lores U1 via its setting output B, the conditions of which are met via the clock line T. The output signal of the AND gate U1 controls the first memory location 1 via line 15 and initiates the corresponding microprogram steps for the commands stored in the memory locations 1-1o. After passing through the storage location 1o, the signal controls the AND gate 4 via line 18, the conditions of which, as noted above, are met via line 17. Via line 19, the OR gate 01 and lines 2o and 22, the signal continues to control the AND gate U3 when an end of command signal is present via lines 25 and 24. In this case, the output of the AND gate U3 controls memory location 1 again via line 14 and the command cycle is repeated. If there is no end of command signal on lines 25 and 23, the inverter supplies the condition for the AND gate U2 and the first memory location is prepared again via lines 11 and 12 and the FF-B is switched back via lines 11 and 13, so that its output B also fulfills the conditions for the AND gates US, which were interrupted by the changeover of the PF-H for the duration of the command processing. If the command processing is now to be interrupted with an input, the FF-E is set with the input command on the setting input. The impulse from the reset output E via newspaper 17 at the AND gate U4 is interrupted and the AND gate is blocked. This lock only occurs when the current command has passed through all memory locations 1-1o. The circuit remains prepared via the output of the AND gate U3, because now with the input command via the AND gate U5 and newspaper 16, the memory area II, ie the memory locations 11 to 16, are used for the microgram steps and the last memory location 16 for the newspaper 26 and 28 the FF-E switches back, so that the conditions of the AND gate U4 are met again via line 17. A new command can control the memory locations via the setting input of the FF-B.