DE1212748B - Datenverarbeitende Maschine mit Programmunterbrechung - Google Patents
Datenverarbeitende Maschine mit ProgrammunterbrechungInfo
- Publication number
- DE1212748B DE1212748B DEJ22656A DEJ0022656A DE1212748B DE 1212748 B DE1212748 B DE 1212748B DE J22656 A DEJ22656 A DE J22656A DE J0022656 A DEJ0022656 A DE J0022656A DE 1212748 B DE1212748 B DE 1212748B
- Authority
- DE
- Germany
- Prior art keywords
- command
- trigger
- signal
- instruction
- macro
- 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
- 238000012545 processing Methods 0.000 title claims description 19
- 238000012937 correction Methods 0.000 claims description 16
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 82
- 239000013256 coordination polymer Substances 0.000 description 39
- 102100028927 Secretin receptor Human genes 0.000 description 38
- 101000631701 Homo sapiens Secretin receptor Proteins 0.000 description 36
- 230000000903 blocking effect Effects 0.000 description 17
- 239000002131 composite material Substances 0.000 description 16
- 238000000605 extraction Methods 0.000 description 15
- 150000001875 compounds Chemical class 0.000 description 14
- 230000000694 effects Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 102100026533 Cytochrome P450 1A2 Human genes 0.000 description 2
- 101000855342 Homo sapiens Cytochrome P450 1A2 Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 108700027603 secretin receptor Proteins 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- SRZFVMRRVYUWSA-UHFFFAOYSA-N FL3P Natural products NCCCCC(NCC(=O)C(OP(=O)(O)O)C(O)C(O)CO)C(=O)O SRZFVMRRVYUWSA-UHFFFAOYSA-N 0.000 description 1
- 101100259931 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) tba-1 gene Proteins 0.000 description 1
- 101710176296 Switch 2 Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 101150083561 nop-1 gene Proteins 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000010615 ring circuit Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
BUNDESREPUBLIK DEUTSCHLAND DEUTSCHES #Ä PATENTAMT
Int. α.:
G06f
AUSLEGESCHRIFT
Deutsche Kl.: 42 m -I4-'-^ ^
pm. si, ^
Nummer: 1212 748^ #
Aktenzeichen: J 22656IX c/42 m
Anmeldetag: 14. November 1962
Auslegetag: 17. März 1966
9. 3
Die Erfindung betrifft eine programmgesteuerte datenverarbeitende Maschine, in welcher, ausgelöst
durch bestimmte Zustände der Maschine, die Ausführung der Makrobefehle unterbrochen wird und
während dieser Unterbrechung aus wenigstens einem Mikrobefehl bestehende Unterprogramme ausgeführt
werden.
Elektronische Datenverarbeitungssysteme bestehen gewöhnlich aus mehreren Einheiten, wie Speichern,
Recheneinheiten, logischen Einheiten, Eingabe-Alisgabe-Einheiten
usw. Die Operation jeder dieser Einheiten und der Datenfluß zwischen ihnen werden
durch Steuerschaltungen gesteuert, die gewöhnlich zu einer zentralen Steuerung zusammengefaßt sind; diese
betätigt Tore in den die Einheiten verbindenden Kabeln und leitet den selbständigen Betrieb derjenigen
Einheiten ein, die eigene Steuerschaltungen haben.
Die zentrale Steuerung arbeitet nach einem Programm von im Speicher enthaltenen Befehlen. In
einem typischen System erfolgt der Zugriff zu diesen Befehlen in einer Reihenfolge, die durch einen Befehlszähler
bestimmt wird, der die Befehle einzeln zur Ausführung durch die zentrale Steuerung verfügbar
macht. Wenn z. B. der Befehlszähler den Zugriff zu einem Addierbefehl ermöglicht, bewirkt die
zentrale Steuerung die Übertragung von durch den Befehl bezeichneten Operanden aus dem Speicher
zu den Eingängen der Recheneinheit. Wenn auf den Addierbefehl ein Speicherbefehl folgt, werden die
Ergebnisse der Rechenoperationen durch die zentrale Steuerung aus der Recheneinheit zum Speicher übertragen.
Normalerweise schreitet der Befehlszähler schrittweise durch das im Speicher stehende Programm
von Befehlen der Reihe nach von einem Speicherort zu einem benachbarten Speicherort weiter.
Gelegentlich erfordern in dem System auftretende Zustände eine Änderung in der Reihenfolge, in der
das Befehlsprogramm ausgeführt wird. Anstatt die obenerwähnten Addier- und Speicher-Befehle der
Reihe nach auszuführen, kann es z. B. beim Abfühlen eines Überlaufzustandes in der Recheneinheit nötig
sein, einen korrigierenden Schiebebefehl auszuführen und die Addieroperation zu wiederholen, bevor das
Ergebnis gespeichert wird. Der Schiebebefehl ändert einen Operanden ab, um den Überlaufzustand zu beseitigen,
damit nach der Wiederholung des Addierbefehls ein Ergebnis richtiger Länge erzielt wird.
Beim Auftreten eines Überlaufs wird die Befehlsfolge Addieren, Schieben, Addieren, Speichern anstatt
Addieren, Speichern.
Bei den bekannten Vorrichtungen, die zum Ändern Datenverarbeitende Maschine mit
Programmunterbrechung
Programmunterbrechung
Anmelder:
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen (Württ.), Sindelfinger Str. 49
Als Erfinder benannt:
Robert Morris Meade, Wassaic, N. Y.;
Eugene D. Conroy, Poughkeepsie, N. Y.
(V. St. A.)
Robert Morris Meade, Wassaic, N. Y.;
Eugene D. Conroy, Poughkeepsie, N. Y.
(V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 16. November 1961
(152730)
V. St. v. Amerika vom 16. November 1961
(152730)
der Befehlsfolge gegenüber der normalen Speicherprogrammfolge verwendet worden sind, handelte es
sich um manuelle und automatische Einrichtungen. Bei der manuellen Programmunterbrechung ist es
nötig, bedingte Verzweigbefehle in das Programm einzustreuen. Diese Verzweigbefehle bewirken den
Übergang des Programms auf einen anderen Befehl, und zwar nicht in der normalen Reihenfolge, wenn
eine bestimmte Bedingung erfüllt wird. So kann z. B. ein Verzweigbefehl zwischen den Addier- und den
Speicherbefehl gesetzt werden, um eine Probe auf einen Überlaufzustand zu machen. Durch diesen Verzweigbefehl
geht das Programm zum Speicherort eines Schiebebefehls über, und zwar nur dann, wenn
der Überlaufzustand eintritt. Auf den Schiebebefehl kann ein zusätzlicher Addierbefehl nach Wunsch folgen,
bevor die normale Reihenfolge wieder aufgenommen wird. Wenn der Überlaufzustand nicht eintritt,
hat der Verzweigbefehl keine Wirkung, und auf ihn folgt in der normalen Reihenfolge der Speicherbefehl.
Da der Programmierer nicht immer vorhersagen kann, wann ein bestimmter Zustand eintreten
wird, müssen Verzweigbefehle im ganzen Programm an solchen Stellen eingestreut werden, wo der angegebene
Zustand eintreten kann. Da Verzweigbefehle
609 538/328.
gewöhnlich nur einen bestimmten Zustand prüfen, muß weiterhin für jeden zu überwachenden Zustand
ein eigener Verzweigbefehl vorgesehen werden.
Die automatische Programmunterbrechung ist insofern eine Verbesserung gegenüber der manuellen,
als bei ihr nicht zahlreiche Verzweigbefehle im ganzen Programm eingestreut zu werden brauchen. Statt
dessen erfolgt, wenn einer von beliebig vielen vorbestimmten Zuständen eintritt, ein automatischer Übergang
auf einen Befehl oder auf ein Unterprogramm von Befehlen an einer nicht zur normalen Reihenfolge
gehörenden Stelle im Programm. Wenn z.B. ein Überlaufzustand während der Ausführung eines
Befehls auftritt, wird automatisch ein Schiebebefehl ausgeführt, nachdem der laufende Befehl ausgeführt
ist. Das geschieht ohne Rücksicht darauf, ob der Befehl, währenddessen der Überlauf aufgetreten ist, ein
Addierbefehl war oder nicht.
So ist auch schon eine Anordnung beschrieben worden, bei der ein Unterprogramm nur dann eingeleitet
werden kann, wenn durch einen besonderen Mikrobefehl ein bestimmter Zustand der Maschine
abgefragt wird. Je nachdem, welche Antwort (ja/nein) die Maschine auf die Abfrage gibt, wird das Unterprogramm
ausgeführt oder der normale Programmablauf fortgesetzt.
Von Nachteil ist bei dieser Anordnung, daß besondere Abfragebefehle erforderlich sind, die fortwährend
den Maschinenzustand abfragen. Da die Abfragebefehle und das Abwarten auf die Antworten
mit Wartezeiten verbunden sind, während denen eine effektive Datenverarbeitung nicht möglich ist, ergibt
sich eine relativ begrenzte Rechengeschwindigkeit.
Bei der manuellen Programmunterbrechung muß eine ganze Befehlsausführungszeit in Anspruch genommen
werden, um gewünschte Zustände regulär abzufragen, bevor Korrekturbefehle außerhalb der
normalen Befehlsfolge ausgeführt werden. Die Zustände müssen selbst dann einzeln und getrennt abgefragt
werden, wenn sie nicht aufgetreten sind. Dieses unwirtschaftliche Verfahren wird in der automatischen
Programmunterbrechung weitgehend gemildert, weil keine Verzweigbefehle nötig sind, uin
die Befehlsfolge zu verändern. Alle Zustände werden gleichzeitig geprüft, und die Programmzeit wird nur
dann unterbrochen, wenn ein Zustand auftritt. Bei der automatischen Programmunterbrechung ist es
aber immer noch erforderlich, abzuwarten, bis der zur Zeit des Auftretens des betreffenden Zustandes
gerade in Ausführung begriffene Befehl abgeschlossen ist. Würde durch einen Zustand die Befehlsfolge
vor dem Abschluß des laufenden Befehls verändert, würde die von dem laufenden Befehl bearbeitete
Information zerstört. Da es unmöglich ist, vorherzusagen, wann ein Zustand eintreten wird, würde
durch Nichtausführen eines Befehls die Wirksamkeit des Programms beseitigt.
Wegen der für das Ausführen vieler Befehle benötigten langen Zeitdauer ist es unerwünscht, bis
zum Abschluß eines Befehls zu warten, bevor die während des Befehls eintretenden Zustände wirksam
werden können. Wenn z. B. ein Überlaufzustand während der Ausführung eines Multiplizierbefehls
eintritt, kann durch einen einzigen Schiebebefehl verhindert werden, daß die ganze Multiplikationsoperation
falsch ist. Da die für das Ausführen eines Multiplizierbefehls benötigte Zeitdauer ziemlich lang
ist, ist es unzweckmäßig, auf den Abschluß eines Multiplizierbefehls zu warten, bevor die Korrektur
vorgenommen wird. Befehle, die eine große Menge gleicher Operationen ausführen, werden Makrobefehle
genannt, und diejenigen, die eine relativ kleine Anzahl -von einfachen Operationen ausführen,
sind sogenannte Mikrobefehle. Beispiele für Makrobefehle sind Multiplizieren, Dividieren, Wurzelziehen
usw., die jeder eine sich wiederholende Reihe von Operationen ausführen, wie z. B. Additionen, Stellenverschiebungen
und Subtraktionen. Mikrobefehle sind z. B. Schieben, Zählen, Rückstellen usw. und andere
einfache Operationen, für die nur wenige Schritte auszuführen sind. Operationen mittlerer Dauer (wie
z. B. Addition) sind genaugenommen weder Makronoch Mikrobefehle. Da sie jedoch das Auftreten von
Gruppen noch einfacherer Operationen bewirken, werden sie hier ebenfalls Makrobefehle genannt.
Bei den bekannten manuellen und automatischen Programmunterbrechungssystemen verursacht die
Einrichtung, die den Übergang von einer normalen Befehlsausführungsreihenfolge auf eine andere
Reihenfolge auslöst, ebenfalls eine Zeitverschwendung. Wenn z. B. ein Zustand, der eine Änderung in
der Reihenfolge der Befehlsausführung erfordert, in einem der beiden Systeme abgefühlt wird, muß die
Adresse des laufenden Befehls im Befehlszähler (oder der ihm entsprechenden Einheit) durch die Adresse
des ersten aus der Reihenfolge herausfallenden Befehls ersetzt werden. Bei dem manuellen Programm-Unterbrechungssystem
wird diese Adresse in dem Verzweigbefehl selbst angegeben, während im automatischen Programmunterbrechungssystem diese
Adresse automatisch als Funktion von Zuständen bei deren Auftreten erzeugt wird. Wenn mehr als ein aus
der Reihenfolge herausfallender Befehl auszuführen ist, wird der Befehlszähler für jeden Befehl um Eins
weitergeschaltet. Die Ausführung eines oder mehrerer Befehle außerhalb der normalen Reihenfolge (des
normalen Programms) wird hier als Ausführung eines Unterprogramms bezeichnet.
Der Inhalt des Befehlszählers muß gemerkt werden, damit die ursprüngliche Folge weiter ausgeführt
werden kann, nachdem das Unterprogramm fertig ausgeführt ist. Dafür ist es gewöhnlich erforderlich,
den Inhalt des Befehlszählers im Speicher zu speiehern, bevor die Adresse des ersten Befehls des neuen
Unterprogramms in den Befehlszähler eingegeben wird. Ein wiederholter Zugriff zum Speicher führt
zur Zeitverschwendung beim Übergang von einer Folge zur anderen: Erstens muß der gegenwärtige Inhalt
des Befehlszählers in den Speicher übertragen werden; zweitens muß der erste Befehl des neuen
Unterprogramms aus dem Speicher in den Befehlszähler übertragen werden, und drittens muß der erste
außerhalb der normalen Reihenfolge liegende Befehl aus dem durch den Befehlszähler angegebenen
Speicherort ausgelesen werden. Weitere Zeit wird nach Ausführung eines Unterprogramms für die
Rückkehr zur normalen Operationsfolge verbraucht. Befehle, die ein Unterprogramm bilden, müssen,
selbst wenn sie einfache Operationen angeben, vor der Ausführung wie jeder andere Befehl übersetzt
werden. Die Übersetzung (Entschlüsselung) bezieht sich auf das Prüfen eines Befehls zum Zwecke der
Feststellung, welche Operationen angegeben sind, und auf die Erzeugung entsprechender Signale, um
die Ausführung der angegebenen Operationen einzuleiten. In den oben besprochenen bekannten Unter-
brechungssystemen ist die für die Übersetzung zugeteilte Zeit für alle Befehle etwa gleich.
Die Zustände, die eine Unterbrechung veranlassen, werden im manuellen Unterbrechungssystem durch
einen Verzweigbefehl und im automatischen Unterbrechungssystem durch eine Schaltung und ein veränderbares
Filter umfassende Kombination angezeigt. Im automatischen System kann ein Zustand einen
Übergang zu einem außer der Reihenfolge liegenden Befehl nur dann bewirken, wenn das Filter anzeigt,
daß dieser Zustand aktiv ist. In beiden Fällen kann ein Befehl die Zustände angeben, die, wenn sie während
seiner Ausführung eintreten, zu einer Unterbrechung führen. Es ist z. B. möglich, daß ein während
eines Addierbefehls eintretender Überlauf außer acht gelassen werden soll, während an einer anderen
Stelle in dem Programm ein Überlauf während eines anderen Addierbefehls die Ausführung eines Schiebebefehls
bewirken soll und an noch einer anderen Stelle ein anderer Zustand als ein Überlauf der die
Unterbrechung bewirkende Faktor sein kann.
Für eine programmgesteuerte datenverarbeitende Maschine, in welcher, ausgelöst durch bestimmte Zu-'
stände der Maschine, die Ausführung der Makrobefehle unterbrochen wird und während dieser
Unterbrechungen aus wenigstens einem Mikrobefehl bestehende Unterprogramme ausgeführt werden, besteht
die Erfindung darin, daß dem/den jeweils ein Unterprogramm bildenden Mikrobefehl(en) im Befehlsregister
ein Auslösefeld zugeordnet ist, in dem ein dem Unterprogramm zugeordnetes Zeichen gespeichert
ist, und daß die Zustände der Maschine, die die Ausführung eines Unterprogramms erfordern,
codierte Signale auslösen, die einer Befehlssteuerung zugeführt werden, welche bei Übereinstimmung des
codierten Signals mit dem Inhalt eines Auslösefeldes den Makrobefehl unterbricht und die Ausführung
des/der dem ausgewählten Auslösefeld zugeordneten Mikrobefehls/Mikrobefehle bewirkt.
Eine sehr vorteilhafte Weiterbildung der programmgesteuerten datenverarbeitenden Maschine ist
dadurch gekennzeichnet, daß das Unterprogramm aus einem Korrekturbefehl besteht.
Weitere günstige Resultate werden auch dadurch erzielt, daß eine Vorrangsteuerung vorgesehen ist,
die beim gleichzeitigen Auftreten mehrerer Auslösesignale die Reihenfolge der Ausführung der ihnen
zugeordneten Mikrobefehle festlegt.
Diese und weitere Merkmale und Vorteile der Erfindung gehen aus der nachstehenden genaueren Beschreibung
des bevorzugten Ausführungsbeispiels der Erfindung hervor, das in den Zeichnungen veranschaulicht
ist.
Diese Merkmale und Gegenstände werden bei der erfindungsgemäßen Anordnung durch die Verwendung
zusammengesetzter Befehle realisiert, die sowohl normale Befehle (die Makrobefehle darstellen
können oder auch nicht) als auch Gruppen von Mikrobefehlunterprogrammen umfassen können. Die
Identität des Zustandes, der die Ausführung eines Unterprogramms von Mikrobefehlen bewirkt, ist
jedem Unterprogramm in dem zusammengesetzten Befehl zugeordnet. Da jeder zusammengesetzte Befehl
alle zugeordneten Abzweigbedingungen sowie Unterprogramme angibt, ist es möglich, die Ausführung
des Makrobefehlsteils sofort zu unterbrechen, wenn ausgewählte Mikrobefehle auszuführen sind,
und zwar an jeder beliebigen Stelle in der Ausführung des Makrobefehls und ohne zusätzlichen Zugriff zum
Speicher.
Im bekannten Stand der Technik umfassen typische Befehle ein Operationsfeld, das den Typ des
auszuführenden Befehls angibt, ein Adressenfeld, das den Speicherort der gemäß dem Operationsfeld zu
bearbeitenden Daten im Speicher bezeichnet, und ein Kennzahlfeld zum Anzeigen bestimmter Sonderoperationen
(z. B. Indexieren). Die erfindungsgemäße
ίο Anordnung benutzt einen Befehlsaufbau, der die
normalen Operations-, Adressen- und Markierungsfelder, die einen sogenannten Makrobefehl bilden,
enthält und dazu Operationsfeld- und Markierungsfeldteile einer Anzahl von gruppenweise angeordneten
Mikrobefehlen. Jeder Gruppe von Mikrobefehlen ist ein Auslösefeld zugeordnet, das durch
Verschlüsselung anzeigt, welche Maschinenzustände die Ausführung der betreffenden Mikrobefehlsgruppe
bewirken.
ao Zusammengesetzte Befehle sind im Speicher gespeichert
und werden als einzige Einheit durch einen Befehlszähler adressiert. Das Makrobefehls-Operationsfeld
und die Mikrobefehls-Operationsfelder stehen daher beide zur Übersetzung (Entschlüsselung)
zur Verfügung, obwohl es sein kann, daß die Mikrobefehle niemals ausgeführt werden. Falls ein Mikrobefehl
ausgeführt werden soll, wird die Ausführung des Makrobefehls sofort unterbrochen und ein
Mikrobefehl entschlüsselt. Da alle die Übersetzung des Mikrobefehls vorbereitenden Operationen ausgeführt
worden sind, ist viel weniger Zeit nötig, um einen Mikrobefehl zur Ausführung zu bringen als
einen Makrobefehl.
Der Operationscode eines Makrobefehls steuert normalerweise die Betätigung von Bedienungstoren innerhalb des Systems. Außerdem steuert er die Einleitung der Betätigung derjenigen selbständigen Einheiten, z. B. der Recheneinheiten, die eigene Torsteuerungen haben. Diese Tore und selbständigen Einheiten arbeiten nach dem Makrobefehl zu Zeitpunkten, die teilweise durch einen Taktgeber gesteuert werden. Beim Auftreten vorherbestimmter Zustände können Gruppen von Mikrobefehlen die Betätigung der Bedienungstore übernehmen. Vom Taktgeber abgeleitete Signale, die normalerweise die Tore betätigen und die selbständigen Einheiten während der Ausführung des Makrobefehls weiterschalten, werden am Übertragen oder Verändern jeglicher Daten außer unter Mikrobefehlssteuerung gehindert.
Der Operationscode eines Makrobefehls steuert normalerweise die Betätigung von Bedienungstoren innerhalb des Systems. Außerdem steuert er die Einleitung der Betätigung derjenigen selbständigen Einheiten, z. B. der Recheneinheiten, die eigene Torsteuerungen haben. Diese Tore und selbständigen Einheiten arbeiten nach dem Makrobefehl zu Zeitpunkten, die teilweise durch einen Taktgeber gesteuert werden. Beim Auftreten vorherbestimmter Zustände können Gruppen von Mikrobefehlen die Betätigung der Bedienungstore übernehmen. Vom Taktgeber abgeleitete Signale, die normalerweise die Tore betätigen und die selbständigen Einheiten während der Ausführung des Makrobefehls weiterschalten, werden am Übertragen oder Verändern jeglicher Daten außer unter Mikrobefehlssteuerung gehindert.
Die Taktsignale treten während der Unterbrechung der Ausführung des Makrobefehls weiterhin auf, aber
ihre Funktion des zeitlichen Steuerns von Datenübertragungen ist unterbrochen, wodurch das System
angehalten wird. Die Taktsignale können benutzt werden, um Berichtigungen gemäß den Mikrobefehlen
vorzunehmen. Wenn die Ausführung des Makrobefehls wieder aufgenommen wird, bewirken
die Taktsignale den Beginn der Ausführung von dem Punkt an, wo sie unterbrochen wurde.
Zum Beispiel wird während der Ausführung eines Multiplizierbefehls gewöhnlich ein Schieberegister
mit einem Ausgangstor und einem Schiebeeingang verwendet. Es sei nun angenommen, daß das Ausgangstor
beim Taktimpuls 2 und der Schiebeeingang beim Taktimpuls 3 betätigt wird, daß der Multiplizierbefehl
beim Taktimpuls 2 vor der Betätigung des Ausgangstors unterbrochen wird und daß ein
einziger Mikrobefehl Schieben auszuführen ist. Als
Ergebnis des Mikrobefehls erscheint ein Schiebeeingangssignal während des nächsten Taktimpulses,
der normalerweise das Ausgangstor betätigt hätte, wenn er nicht daran gehindert worden wäre. Sind
keine anderen Mikrobefehle auszuführen, wird die normale Operation am Unterbrechungspunkt wieder
aufgenommen. Der Taktgeber ist so eingestellt, daß der nächste Taktimpuls das Ausgangstor betätigt, als
ob es gar keine Unterbrechung der Ausführung gegeben hätte. Die Wirkung des Mikrobefehls hat darin
bestanden, das Register um eine Stelle mehr als normal zu verschieben. Natürlich können auch andere
Taktschaltungen verwendet werden. Zum Beispiel können zwei Taktgeber vorgesehen werden, einer für
Makro- und einer für Mikrobefehle, wobei der erste immer dann gestoppt wird, wenn ein Makrobefehl
unterbrochen werden soll.
Die erfindungsgemäße Anordnung gestattet es, durch mehrere in einem zusammengesetzten Befehl
angegebene Zustände die Ausführung eines Makrobefehls zu unterbrechen und so die sofortige Ausführung
von aus der Reihenfolge fallenden Mikrobefehlsunterprogfammen
einzuleiten, die in dem zusammengesetzten Befehl in Verbindung mit dem
unterbrechenden Zustand angegeben sind. Ein solches System ist als Verbesserung in Systemen geeignet,
die die manuelle und automatische Programmunterbrechung verwenden und bei denen es nötig ist,
Korrekturen als Folge von angezeigten Zuständen vorzunehmen. Jeder Befehl kann Zustände sowie bei
Auftreten der Zustände vorzunehmende Korrekturen angeben. Die Figuren der Zeichnung stellen dar in
F i g. 1 a ein Blockbild der erfindungsgemäßen Anordnung,
Fig. Ib einen Teil eines als Beispiel angeführten
Befehlsaufbaus, der von der in F i g. 1 a gezeigten Anordnung verwendet werden kann,
Fig. 2a, 2b, 2c, 2d, 2e, 2f, 2g, 2h, 2i und 2j,
wenn sie gemäß Fig. 2k angeordnet werden, ein genaues
logisches Diagramm einer Anordnung, die der inFig. Ia gezeigten ähnlich ist,
F i g. 3 einen Befehlsaufbau, der von der Anordnung nach Fig. 2a bis 2j verwendet werden kann,
Fig. 4a und 4b Impulsdiagramme, die Signale darstellen, wie sie in dem Ausführungsbeispiel von
Fig. 2a bis 2j während einer als,Beispiel angegebenen
Operation auftreten.
Allgemeine Beschreibung
In Fig. la ist ein die Erfindung enthaltendes
Datenverarbeitungssystem in Blockform dargestellt. Dieses vereinfachte System besteht aus mehreren
selbständig betätigbaren Einheiten, nämlich einem Speicher 1, einer Recheneinheit 7, einer Steuereinheit
3, einem Taktgeber 47, einer Makrobefehlseinheit 5 und einer Mikrobefehlseinheit 16. Diese
Einheiten sind jede insofern selbständig, als sie ihre jeweilige Funktion nach deren Einleitung ohne externe
Steuerungen ausführen, abgesehen von Taktsignalen, die an feststehenden Punkten in der Operation
abgewartet werden. Der Steuersignalgenerator 3 liefert Steuersignale R zu Zeitpunkten, welche
eine Funktion von Taktsignalen C sind, für die Betätigung von Datenübertragungstoren und für die
Ingangsetzung der selbständigen Einheiten. Außerdem werden den selbständigen Einheiten Taktsignale
C zugeführt.
In Fi g. Ib sind Programme von zusammengesetzten Befehlen, die jeder einen oder mehr Makrobefehle
M-I und mehrere Mikrobefehlsgruppen μ-Ι (1-3) usw.
umfassen, in dem Speicher 1 enthalten. Makro-
S befehle bestehen aus einem Adressenfeld und einem Operationsfeld. Jede Mikrobefehlsgruppe enthält ein
Auslösefeld (s) und drei Operationsfelder. Wenn ein Tor 2 durch ein Steuersignal R aus dem Steuersignalgenerator
3 zu einem durch den Taktgeber 47 bestimmten Zeitpunkt betätigt wird, werden Signale,
die den Makrobefehlsteil darstellen, aus dem Speicher 1 über die Entnahme-SammeUeitung 4 in die
Makrobefehlseinheit 5 übertragen. Das Makrobefehls-Operationsfeld in der Makrobefehlseinheit 5
hat Makrokommandos auf Kabel 6 zum Ergebnis, die die Steuereinheit 3 gemäß Taktsignalen C betätigen
und dadurch Operationen einleiten und überwachen, welche in bezug auf durch das Adressenfeld des
Makrobefehls angezeigte Operanden ausgeführt werden. Die Operanden werden aus dem Speicher 1 unter
der Steuerung von Steuersignalen R aus dem Steuersignalgenerator 3 erlangt, die den Speicher 1 in Gang
setzen, das Tor 8 betätigen und die Recheneinheit 7 wirksam machen. Operanden werden vom Speicher 1
gelief ert, zur Recheneinheit 7 geschickt, von der Recheneinheit 7 verarbeitet, und die Ergebnisse werden
auf Kabel 9 erzeugt. Das Tor 10 wird durch die Steuereinheit 3 betätigt, um die Ergebnisse im Speicher
1 über die Einschreib-Sammelleitung 11 zu spei- · ehern. Nachdem der Speicher 1 und die Recheneinheit
7 durch ein Steuersignal R ausgewählt worden sind, führen sie ihre Funktionen automatisch aus, bis
gewählte Punkte erreicht sind. Nach Erreichen eines solchen Punktes setzt eine Einheit ihre Arbeit erst
dann fort, wenn ein bestimmtes Taktsignal C auftritt.
Operanden können auch unter der Steuerung des
Steuersignalgenerators 3 und des Taktgebers 47 aus dem Speicher 1 oder aus der Recheneinheit 7 zu und
aus weiteren an die Kabel 12 und 13 angeschlossenen Einheiten durch Betätigung der Tore 14 und 15 übertragen
Werden. Bei diesen zusätzlichen Einheiten kann es sich um Eingabe-Ausgabe-Einheiten, andere
Speicher usw. handeln.
Das System enthält eine Mikrobefehlseinheit 16, die die Mikrobefehlsteile der zusammengesetzten Befehle, die über die Entnahme-SammeUeitung 4 aus dem Speicher 1 entnommen werden, bei Betätigung des Tors 17 durch die Steuereinheit 3 empfängt. Die Mikrobefehlseinheit 16 erzeugt Mikrokommandos auf Kabel IH zur Betätigung des Steuersignalgenerators 3. Normalerweise werden die Mikrokommandos auf dem Kabel 18 nicht gleichzeitig mit der Erzeugung der Makrokommandos durch die Makrobefehlseinheit 5 auf Kabel 6 erzeugt, wenn nicht bestimmte Auslösesignale auf Kabel 19 abgefühlt werden. Die Erfindung kann jedoch mit einer Einrichtung versehen sein, die gleichzeitig sowohl Mikro- als auch Makrokommandos liefert, solange die Mikrokommandos nicht die Steuereinheit betätigen, um Steuersignalei? zu erzeugen, bis die näher bezeichneten Auslösesignale abgefuhlt werden.
Das System enthält eine Mikrobefehlseinheit 16, die die Mikrobefehlsteile der zusammengesetzten Befehle, die über die Entnahme-SammeUeitung 4 aus dem Speicher 1 entnommen werden, bei Betätigung des Tors 17 durch die Steuereinheit 3 empfängt. Die Mikrobefehlseinheit 16 erzeugt Mikrokommandos auf Kabel IH zur Betätigung des Steuersignalgenerators 3. Normalerweise werden die Mikrokommandos auf dem Kabel 18 nicht gleichzeitig mit der Erzeugung der Makrokommandos durch die Makrobefehlseinheit 5 auf Kabel 6 erzeugt, wenn nicht bestimmte Auslösesignale auf Kabel 19 abgefühlt werden. Die Erfindung kann jedoch mit einer Einrichtung versehen sein, die gleichzeitig sowohl Mikro- als auch Makrokommandos liefert, solange die Mikrokommandos nicht die Steuereinheit betätigen, um Steuersignalei? zu erzeugen, bis die näher bezeichneten Auslösesignale abgefuhlt werden.
Auslösesignale werden durch die Einheiten (z. B. die Makrobefehlseinheit 5 und den Speicher 1) des
Systems erzeugt, wenn bestimmte Zustände auftreten, wie z. B. ein ungültiger Befehl. In Fig. Ib ist jeder
Mikrobefehlsgruppe der einem Makrobefehl in einem zusammengesetzten Befehl zugeordneten Gruppen
ein Auslösefelds zugeordnet, welches verschlüsselt
den Zustand angibt, der eine Unterbrechung der Ausführung des Makrobefehls bewirkt und die Ausführung
der zugeordneten Mikrobefehlsgruppe einleitet. Wenn ein bestimmtes Auslösesignal, das dem Auslösefeld
einer Mikrobefehlsgruppe entspricht, auf Kabel 19 abgefühlt wird, werden Mikrokommandos
durch die Mikrobefehlseinheit 16 erzeugt (oder, wenn sie schon erzeugt worden sind, durch die Steuereinheit
3 wirksam gemacht). Ein Sperrsignal wird über die Leitungen 20 geschickt, um zu verhindern,
daß das nächste Taktsignal C die selbständigen Einheiten über den gegenwärtigen Prüfpunkt hinaus
weiterschaltet. Dadurch verlieren die Makrokommandos die Aufsicht über die Steuereinheit 3, und das
System wird angehalten.
In Verbindung mit Fig. Ib sei z. B. angenommen, daß ein zusammengesetzter Befehl mit einem Multiplizier-Makrobefehlsteil
aus dem Speicher 1 ausgelesen worden ist. Dieser Multiplizierbefehl enthält einen Operationsteil, der die Multiplizier-Operation
angibt, und ein Adressenfeld, das den Speicherort von Operanden im Speicher 1 angibt. Dem Makrobefehl
sind mehrere Mikrobefehlsgruppen zugeordnet, von denen zwei in Fig. Ib dargestellt sind. In
diesem Beispielsfall sei angenommen, daß die der ersten Gruppe von drei Mikrobefehlen μ-Ι (1-3) zugeordneten
Auslösefelder einen Überlauf in der Recheneinheit 7 kennzeichnen. Weiter sei angenommen,
daß der erste Mikrobefehls-Operationscode eine Schiebekorrektur anzeigt. Die anderen Mikrobefehle
können dieselben, andere oder keine Operationen angeben.
Zunächst werden die Tore 2 und 17 durch die Steuereinheit 3 zu vom Taktgeber 47 bestimmten
Zeitpunkten betätigt, um den Makrobefehlsanteil des in Fig. Ib gezeigten zusammengesetzten Befehls zur
Makrobefehlseinheit 5 zu übertragen. Die Mikrobefehls-Operations- und -Auslösefelder werden der
Mikrobefehlseinheit 16 zugänglich gemacht. Der Steuersignalgenerator 3 liefert Steuersignale R gemäß
den über Kabel 6 aus der Makrobefehlseinheit 5 kommenden Makrokommandos. Die Steuersignale R
betätigen die Tore 8 und 10 und setzen den Speicher 1 und die Recheneinheit 7- in Gang, um Operanden
aus dem Speicher 1 zur Recheneinheit 7 und Ergebnisse aus der Recheneinheit 7 zum Speicher 1 zu
übertragen.
Es sei nun angenommen, daß die Ausführung des »Multiplizier«-Makrobefehls unter der Steuerung
der Makrobefehlseinheit 5 nicht abgeschlossen ist, wenn ein Überlauf in der Recheneinheit 17 eintritt.
Der Überlauf wird durch ein Signal am Auslöseeingang 19 der Mikrobefehlseinheit 16 angezeigt.
Schaltungen in der Mikrobefehlseinheit 16 erkennen, daß dieser Auslösezustand durch ein den Mikrobefehlen
des gegenwärtigen zusammengesetzten Befehls zugeordnetes Auslösefeld angegeben ist. Der
Operationsteil μ-Ι (1) des ersten Mikrobefehls, der dem ersten Auslösefeld zugeordnet ist, bewirkt das
Auftreten von Mikrokommandos auf dem Kabel 18 und von Sperrsignalen auf den Leitungen 20. Die
Sperrsignale auf den Leitungen 20 blockieren die Wirkung der Taktsignale C auf den Speicher 1 und
die Recheneinheit 7, wodurch die Speicherung der Ergebnisse und die Bildung weiterer Zwischenprodukte
durch das nächste Taktsignal verhindert werden. Dies hat zur Wirkung, daß die Ausführung
des Multiplizier-Makrobefehls unterbrochen wird.
Durch die Mikrokommandos werden Steuersignale R ausgelöst. Das nächste Taktsignal C bewirkt eine
Akkumulatorverschiebung in der Recheneinheit gemäß einem Mikrokommando auf Kabel 18. Etwaige
weitere dem Überlauf-Auslösezustand zugeordnete Mikrobefehle μ-Ι (2) und μ-Ι (3) werden dadurch
ausgeführt, daß sie nachträglich wirksam gemacht werden, um Mikrokommandos zu erzeugen. Einige
Mikrokommandos bewirken interne Berichtigungen
ίο in selbständigen Einheiten, andere betätigen Tore,
die nicht durch den Makrobefehl »Multiplizieren« betätigt werden, wieder andere schalten normalerweise
betätigte Tore ab usw. Nach Ausführung der drei Mikrobefehle, die darstellungsgemäß dem ersten
Auslösefeld zugeordnet sind, wird die Ausführung des »Multiplizier«-Makrobef ehls am Unterbrechungspunkt wieder aufgenommen. Nach Abtrennung der
Signale von den Sperrleitungen 20 können die Taktsignale C den Speicher 1 und die Recheneinheit 7
ao über den Punkt hinaus, wo die Ausführung unterbrochen
worden ist, weiterschalten.
Nachfolgende Auslösezustände werden in derselben Weise wirksam gemacht. Wenn mehr als ein
Auslösezustand gleichzeitig auftritt (wobei jeder ein Auslösezustand ist, für den Mikrobefehle vorgesehen
sind), werden die Auslösezustände nacheinander in einer durch den Vorrang bestimmten
Reihenfolge wirksam gemacht. Weiter ist es durch Einsetzen einer Adresse in die Position des Operationsfeldes
des letzten Mikrobefehls möglich, zusätzliche Mikrobefehle aus dem Speicher zu erlangen
und dadurch ein durch das Auftreten eines Auslösezustandes eingeleitetes Unterprogramm unbegrenzt
zu verlängern. Durch dieses zusätzliche Merkmal wird jedoch die Geschwindigkeit, die durch die Verwendung
nur der in dem zusammengesetzten Befehl enthaltenen Mikrobefehle erreicht wird, nicht voll
ausgenutzt.
Genaue Beschreibung eines Ausführungsbeispiels
Die gemäß Fig. 2k angeordneten Fig. 2a bis 2j
bilden ein logisches Diagramm des die Erfindung enthaltenden Datenverarbeitungssystems, das unter Bezugnahme
auf Fig. la beschrieben worden ist.
Das Datenverarbeitungssystem, das die hier beschriebene Erfindung enthält, kann serienweise, parallel,
binär oder binär-dezimal verschlüsselt arbeiten. Der gewählte Typ hat keinen Einfluß auf die Erfindung.
Zur Veranschaulichung wird nun der Aufbau eines elektronischen Datenverarbeitungssystems beschrieben,
bei welchem die Bits parallel und die Bytes in Serie verarbeitet werden. Ein Byte ist eine Gruppe
von Bits, die als Einheit behandelt wird. Es sei jedoch darauf hingewiesen, daß jeder beliebige programmgesteuerte
Rechenwert in Verbindung mit der Erfindung benutzt werden kann.
In den Fig. 2a bis 2j ist ein Datenverarbeitungssystem dargestellt, das in hohem Maße im Uberlappungsbetrieb
arbeitet und das mit Hilfe eines leistungsfähigen Befehlssatzes und anderer logischer
Aufbauverbesserungen einen sehr hohen Leistungspegel erreicht. Die hier beschriebene Erfindung berichtigt
den Fluß von Informationen zwischen den verschiedenen Einheiten während der Ausführung
eines Programms, wodurch es dem Programmierer erspart bleibt, sein Programm auf einen optimalen
Stand zu bringen. Der für dieses System entwickelte Befehlssatz weist leistungsfähige Merkmale auf, und
609 538/328
zwar sind gewöhnlich sehr wenige Befehle nötig, um ein Programm niederzuschreiben. Das ist größtenteils
der Fähigkeit der Einheiten des Systems zuzuschreiben, ihre Operationen unabhängig von externer
Steuerung auszuführen, nachdem sie einmal in Gang gesetzt worden sind. Ein Befehl, der die Ausführung
sehr vieler Operationen angibt, wird gewöhnlich als Makrobefehl bezeichnet.
Das System enthält einen Kernspeicher 21, mehrere Byteformer 22, 23 und 24 (Fig. 2i, 2j), einen statistischen
Akkumulator SACC25 (Fig. 2j), einen Tabellenadressenvereiniger 26, eine Tabellenentnahmeeinheit27
(Fig. 2i), eine logische Einheit28, die
Schalter 29 und einen statistischen Zähler SCTR103 (Fig. 2h). Die Informationen bewegen sich in den
und aus dem Kernspeicher 21 über die Einschreib-Sammelleitung 31 und die Entnahme-Sammelleitung
32 an Speicherorten, die durch ein Speicheradreßregister SAR 33 angezeigt werden. Informationen, die
den Kernspeicher 21 über die Entnahme-Sammelleitung 32 aus den durch SAR33 angegebenen Speicherorten
verlassen, werden in einem Speicherpufferregister SPR 34 gespeichert. Im SPR 34 stehende Informationen,
die einen zusammengesetzten Befehl darstellen, werden zum Befehlsregister 35 weitergeleitet.
Im 5Pi? 34 enthaltene Informationen, die
Daten darstellen, werden zu den P- und ß-Byteformern22
und 23 geschickt. Die P- und ß-Byteformer 22 und 23 empfangen außerdem Adreßinformationen
aus dem Ausgang des Befehlsregisters 35.
Ein Makrobefehlsentschlüsseler 36 (F i g. 2 a) empfängt
den Operationsteil eines Makrobefehls aus einem Addierer 37 über ein Ausführungsregister 28.
Der Adressenteil des Makrobefehls wird über den Addierer 37 in den Befehlszähler 39 eingebracht.
Die Mikrobefehlsteile des zusammengesetzten Befehls, die ursprünglich zusammen mit dem Makrobefehl
in das Befehlsregister 35 eingebracht worden sind, werden von der Mikrobefehlssteuerung 16
(F i g. 2 d) verwendet. Die Auslösefelder der Mikrobefehle
werden einem Auslöseregister 41 zugeleitet, um mit sechzig (oder mehr) Auslösesignalen verglichen
zu werden, die von Einheiten in dem System empfangen werden. Wenn durch Auslösefelder dargestellte
Auslösesignale irgendwelchen durch empfangene Auslösesignale dargestellten Zuständen entsprechen,
macht die Vorrangschaltung 42 die Auslösesignale je nach Vorrang wirksam. Der Mikrobefehlswähler
43 (Fig. 2e) wählt in Verbindung mit einem Folgering44 (Fig. 2c) Mikrobefehls-Operationsteile
einzeln aus der Gruppe von Mikrobefehlen aus, die dem Auslösefeld zugeordnet sind, das von
der Vorrangschaltung 42 Vorrang erhalten hat. Die ausgewählten Mikrobefehls-Operationsfelder werden
einzeln aus dem Befehlsregister 35 zu dem Mikrobefehlsentschlüsseler 45 (Fig. 2e) übertragen. Auf
diese Weise empfängt der Entschlüsseier 45 eine Folge von Mikrobefehls-Operationsteilen, wenn ein
Auslösefeld (in einem zusammengesetzten Befehl im Befehlsregister 35) einem empfangenen Auslösesignal
entspricht.
Die aus dem Makrobefehlsentschlüsseier 36 kommenden Makrokommandos und die aus dem Mikrobefehlsentschlüsseler
45 kommenden Mikrokommandos werden zum Steuersignalgenerator geleitet,
wo in Verbindung mit einem Taktgeber 47 bestimmte Torbetätigungs- und Einheitsauswählsignale erzeugt
werden. Signale aus dem Steuersignalgenerator 46
(s. Fig. 2f und 2g) betätigen sowohl die Eingänge der mit Bezeichnungen versehenen Tore in Fig. 2h
bis 2 j als auch die »Wählen«-Eingänge der in diesen Figuren dargestellten selbständigen Einheiten.
Weitere Tore, deren Eingänge mit einem / bezeichnet sind (Fig. 2a und 2b) werden durch die in Fig. 2b
gezeigte Befehlssteuereinheit 48 betätigt.
Der Taktgeber 47 läuft ununterbrochen und sendet Taktimpulse CP in regelmäßigen Abständen ohne
ίο Rücksicht auf den Betriebszustand des Systems.
Diese Taktimpulse werden von den Steuersignalgeneratoren 46 (Fig. 2g) und 48 (Fig. 2b) benutzt,
um das System im Takt zu halten, und zwar als Funktion von Systemzuständen. Wahlweise kann natürlich
auch ein Taktgeber verwendet werden, der von Systemzuständen abhängig ist.
Recheneinheit
ao Die in Fig. 2h, 2i und 2j gezeigte Recheneinheit
soll nur als Beispiel dienen. Die von den P- und Q-Byteformern 22 und 23 empfangenen Daten und
Adressen haben gewöhnlich eine 72 Bits umfassende parallele binäre Form. Die Adressen werden zuerst
aus dem SPR 34 empfangen, und dann empfangen die Byteformer unabhängig Datenwörter aus dem Kernspeicher
21 entsprechend den Adressen (und anderen Informationen). Aus den parallelen Daten erzeugen
die Byteformer eine Folge von 8-Bit-Bytes.
Die Byteformer SUP oder SUQ beginnen, Folgen von Bytes zu erzeugen, wenn sie durch SUP- oder
St/g-Auswahlsignale ausgewählt werden. Speicherglieder 49 und 50 speichern Bytes, wie sie empfangen
werden, wenn ihre Eingänge durch den zugeordneten Byteformer wirksam gemacht werden. Normalerweise
werden die Eingänge bei jedem Eingangs-Taktimpuls aus dem Taktgeber 47 wirksam gemacht. Wenn eins
oder mehr der Ausgangstore C, D, 1 oder 2 wirksam sind, werden einzelne Bytes aus den Speichergliedern
über die Bytefilter 51 und 52 zu einer nachgeschalteten Einheit übertragen. Die von den SUP- und
St/Q-Byteformern erzeugten Folgen können in
mehrere Pfade geleitet werden, von denen einige durch Tore C, D, F, G, HK1 und 2 ausgewählt werden.
Die Pfade können zu den Schaltern 29, der logischen Einheit 28, dem /i?S-Register usw. führen.
Die von den Byteformern 22 und 23 erzeugten Datenfolgen sind also Operationen unterworfen, die durch
diejenigen Einheiten, durch die eine Folge hindurchgeht, bestimmt werden.
Die SUP- und 5i7ß-Byteformer (die in »Zeitzone
1« liegen) können Signale erzeugen, die Fortschalten-2-(»anfangs der Zeitzone 2«)-Signale. bewirken,
wenn den zugeordneten Speichergliedern Bytes zugeführt worden sind. Das Fortschalten-2-Signal
schaltet einen M-Ring 149 im Steuersignalgenerator 46 weiter, wenn andere Einheiten in dem System
bereit sind. Ein Sperreingangssignal / kann das Auftreten dieses Fortschaltensignals unterbrechen. Die
SUP- und Süß-Byteformer senden außerdem die unten in Tabelle I aufgeführten Auslösesignale STIM,
wenn näher bezeichnete Zustände eintreten.
Die Schalter 29 ordnen die SUP- und S[/g-Folgen
aus der Tabellenentnahmeeinheit 27 und der logischen Einheit 28, die beide nachstehend erläutert
werden. Es sind vier Schalter mit der Bezeichnung W, X, Y und Z vorhanden, von denen jeder ein einziges
Speicherglied 101 über eines der Tore M, L, J und K
in der genannten Reihenfolge speist. Die selbständige
Operation wird durch ein Mf/-Signal eingeleitet. Im
allgemeinen arbeiten die vier Schaltereinheiten jede in derselben Weise. Ein »Einstell«-Byte kann für jede
Einheit angezeigt werden. Wenn ein Folgenbyte und ein Einstellbyte einander gleichen, herrscht Anpassung.
Als Ergebnis einer Anpassung können verschiedene Operationen ausgeführt werden, z. B. kann
das angepaßte Byte entweder in die Folge eingefügt oder aus ihr herausgenommen werden. Die Schalter
29 werden durch ein M£/-Auswählsignal betätigt. Sie
können ein Signal senden, das ein Fortschalten-3-Signal bewirkt, wenn kein Sperrsignal / aufgetreten
ist. Auslösesignale können abgegeben werden.
Die logische Einheit 28 wird von den /51- und /52-Registern gespeist. In bezug auf die Operandbytes
in diesen Registern kann jede beliebige von sechzehn logischen Verknüpfungs- oder sechzehn
Rechenoperationen ausgeführt werden. Die Ergebnisse werden den Schaltern 29 oder den Speichergliedern
101 und 102 zugeleitet. Signale, die ein Fortschalten-3-Signal
zur Folge haben können, werden gesendet, wenn kein Sperrsignal/ auftritt. Auslösesignale
werden erzeugt. Die selbständige Operation wird durch ein L U-Auswähleingangssignal ausgelöst.
Die Tabellenentnahmeeinheit 27 und der Tabellenadressenvereiniger 26 (Fig. 2j) wirken zusammen
bei der Ausführung eines Tabellensuchbefehls, der Bytefolgen unabhängig vom Betrieb des Systems
steuern kann. Der Tabellenadressenvereiniger 26 enthält zunächst eine Tabellengrundadresse, zu der zwei
Bytes aus der P-Folge (/STP-Register) im TAA-Addierer
addiert werden, um eine wirksame Adresse zu bilden. Die wirksame Adresse wird zu SAR33
weitergeleitet, um den Zugriff zu dem den gewünschten Tabellenwert enthaltenden Datenwort zu ermöglichen.
Das Datenwort wird von der Tabellenentnahmeeinheit 27 empfangen, die Bytes aus ihr auswählt
und so die Erzeugung einer Folge von Bytes bewirkt. Diese Folge wird etwa ebenso wie die P-
und ß-Folgen verwendet. Die Einheiten 26 und 27 werden zur selbständigen Operation durch TAA-
und SZ7[/-Signale ausgewählt; jede kann Auslösesignale
liefern. Die Tabellenentnahme-Einheit 27 kann zur Erzeugung eines Fortschalten-2-Signals beitragen,
wenn kein Sperrsignal / auftritt.
Das statistische Akkumulatorregister 25 (Fig. 2j)
enthält die Summe seines Inhalts und von Bytes entweder aus der logischen Einheit 28 oder aus der
Tabellenentnahmeeinheit 27. Die in einem SACC-Addierer 110 gebildete Summe wird von dem
Addierer 110 in ein Speicherglied 111 eingegeben, aus dem sie das statistische Akkumulatorregister entnimmt.
Das statistische Akkumulatorregister wird umgangen, wenn die Tore 11 oder 12 nicht betätigt
sind. Ausgangstore S, R und Q wählen .verschiedene 8-Bit-Bytes unter den drei Bytes aus, die in dem
statistischen Akkumulatorregister 25 gespeichert sein können. Es können Auslösesignale gesendet
werden.
Der statistische Zähler SCTR umfaßt ein SCTR-Register
103 (Fig. 2h) zum Speichern eines laufenden Zählerstandes und einen SCTÄ-Steuerzähler 30
zum schrittweisen Erhöhen oder Senken des laufenden Zählerstandes gemäß einem Signal am Eingang
— 1. Wenn kein Signal am Eingang — 1 vorliegt, ist der Ausgang 105 des SCTÄ-Steuerzählers 30 der
um Eins erhöhte Inhalt des SCTÄ-Steuerregisters
103; bei einem Signal am Eingang — 1 ist er gleich dem um Eins erniedrigten Inhalt. Der Inhalt des
SCrii-Steuerregisters 103 steht stets dem SCTR-Steuerzähler
30 über Kabel 104 zur Verfügung. Der stufenweise erhöhte oder erniedrigte Wert wird
jedoch nicht benutzt, um den Inhalt des SCTR-Steuerregisters 103 auf den laufenden Stand zu bringen,
wenn das Tor SC nicht betätigt ist. Das Register 103 kann durch ein Signal am Rückstelleingang rückgestellt
werden. Auslösesignale können abgegeben werden. Wenn z. B. der Ausgang 105 des SCTR-Steuerzählers
30 einen Zählerstand darstellt, der gleich einem durch den Inhalt des SCTÄ-Steuerbegrenzers
151 dargestellten Zählerstand ist, sendet der SCTÄ-Steuervergleicher 152 ein Auslösesignal Nr. 21.
Der .R-Byteformer 24 (Fig. 2j) empfängt eine
Folge von Bytes und bildet 72-Bit-Wörter zur Speicherung im Kernspeicher 21 als Ausgang der in
Fig. 2h, 2i und 2j gezeigten Recheneinheit. Der i?-Byteformer 24 gibt Signale ab, die die Erzeugung
eines Fortschalten-l-SignalsFSl bewirken können,
falls kein Sperrimpuls / vorliegt. Es können auch Auslösesignale
STIM abgegeben werden.
Die verschiedenen die Recheneinheit 7 bildenden Einheiten können unter Programmsteuerung in Folgen eingeschaltet oder aus Folgen herausgenommen werden. Jeder zusammengesetzte Befehl gibt die Betätigung einer bestimmten Gruppe von Toren an, die die Folge gemäß dem betreSenden zusammengesetzten Befehl steuern. Die von jeder Einheit ausgeführten Operationen sind hier nur insofern von Bedeutung, als sie zur Erläuterung der Wirkungsweise der Erfindung dienen, da jedes beliebige Rechengerät verwendet werden kann. Durch Mikrobefehle vorgenommene Berichtigungen können jedes beliebige Tor, jeden Rückstelleingang usw. beeinflussen. Da einige der selbständigen Einheiten nicht in allen Einzelheiten dargestellt sind, zeigen die Figuren nicht alle möglichen Punkte für die Abgabe von Auslöseimpulsen und Berichtigungen.
Die verschiedenen die Recheneinheit 7 bildenden Einheiten können unter Programmsteuerung in Folgen eingeschaltet oder aus Folgen herausgenommen werden. Jeder zusammengesetzte Befehl gibt die Betätigung einer bestimmten Gruppe von Toren an, die die Folge gemäß dem betreSenden zusammengesetzten Befehl steuern. Die von jeder Einheit ausgeführten Operationen sind hier nur insofern von Bedeutung, als sie zur Erläuterung der Wirkungsweise der Erfindung dienen, da jedes beliebige Rechengerät verwendet werden kann. Durch Mikrobefehle vorgenommene Berichtigungen können jedes beliebige Tor, jeden Rückstelleingang usw. beeinflussen. Da einige der selbständigen Einheiten nicht in allen Einzelheiten dargestellt sind, zeigen die Figuren nicht alle möglichen Punkte für die Abgabe von Auslöseimpulsen und Berichtigungen.
Fig. 4b zeigt die Signale, welche die Tore der
Recheneinheit 7 betätigen, und zwar werden diese Torsignale vom Steuersignalgenerator 46 geliefert,
der unten näher beschrieben wird. Hier braucht man nur zu wissen, daß normalerweise jedes von drei
Fortschaltsignalen, die vom Taktgeber 47 abgeleitet werden, die Betätigung eines verschiedenen Satzes
von Toren bewirkt. Die Tore sind in drei Zeitzonen unterteilt, die mit den Zahlen 1 bis 3 numeriert sind,
und zwar wird jedes von ihnen geöffnet, wenn ein Taktimpuls CP aus dem Taktgeber 47 und ein Fortschaltimpuls
aus einer selbständigen Einheit in der Recheneinheit 7 gleichzeitig vorliegen. Zum Beispiel
gestattet gewöhnlich der erste Taktimpuls nach dem Auftreten eines Fortschaltsignals die Auswahl aller
zur ersten Zeitzone gehörenden Tore. Fortschaltungen treten stets in aufeinanderfolgenden Reihen auf,
obwohl die Anzahl der Taktimpulse zwischen den Fortschaltungen verschieden sein kann. Im allgemeinen
genügen jedoch, wenn keine Auslösesignale auftreten, vier Taktimpulse für die Betätigung aller Tore.
Beim Auftreten der richtigen Signale werden nicht alle einer Zeitzone zugeordneten Tore betätigt, denn
die Betätigung jedes Tores ist von dem jeweils in Ausführung begriffenen Befehl abhängig. Die meisten
Makrobefehle benötigen eine große Zahl von Taktimpulsen, um die Zeitzonen mehrere Male zu durchlaufen.
In Fi g. 4 b können alle Tore während der Periode betätigt werden, die von Taktimpulsen CP 6, CP 7
und CPIi abgegrenzt wird, wodurch die Erzeugung von Fortschaltsignalen 1 bis 3 in der genannten
Reihenfolge bewirkt wird; es werden aber tatsächlich nicht alle Tore betätigt. Infolge des Auftretens eines
Auslösesignals (Nr. 21) zwischen CP 7 und CP 8 wird die weitere Betätigung von Toren während der Ausführung
des Makrobefehls bis CPIl unterbrochen.
Es sei nun wieder auf Fig. 2h, 2i und 2j eingegangen.
Wie dort gezeigt ist, können folgende Tore in der ersten Zeitzone betätigt werden: A bis H,
1,2,3, SUP, SUQ und SUU. Das Auftreten von SUP-, SUQ- und S*7E/-Signalen bewirkt die selbständige
Betätigung des P-Byteformers 22, des g-Byteformers 23 und der Tabellenentnahmeeinheit
27. Erst nach dem Auftreten eines Fortschalten-1-Signals
erfolgt der Eintritt in die erste Zeitzone.
In der zweiten Zeitzone können folgende Tore betätigt werden: / bis N, 7, 8 und SC. Die Tore J, K, L
und M können wahlweise betätigt werden, um einen der Ausgänge W, X, Y oder Z der Schalter 29 zum
Speicherglied 101 zu übertragen. Der Ausgang der logischen Einheit 28 kann zu demselben Speicherglied
101 durch Betätigung des Tors N übertragen werden. Der Ausgang der logischen Einheit 18 wird
durch Betätigung des Tors 8 zum Speicherglied 102 übertragen, welches auch so eingestellt werden kann,
daß es den Inhalt des statistischen Zahler-.SCr.R-RegisterslO3
enthält, indem das Tor 7 betätigt wird. Der Eintritt in die zweite Zeitzone kann erst nach
dem Auftreten eines Fortschalten-2-Signals erfolgen.
In der dritten Zeitzone können folgende Tore betätigt werden: T, 4, 5, 6, 9, 10, 11 oder 12. Obwohl
das Tor gleichzeitig mit den Toren 9 und 10 betätigt werden kann, um das /SA-Register zu füllen, wirkt es
auf Bytes ein, die mehrere Zeitzonen hinter den Bytes zurückliegen, welche von den Toren 9 und 10 weitergeleitet
werden. Diese Verzögerung beruht auf dem längeren Weg (durch den statistischen Akkumulator
25), den die vom Tor T weitergeleiteten Bytes durchlaufen. Die Tore Q, R und S können ebenfalls in der
dritten Zeitzone betätigt werden, um wahlweise den Inhalt des statischen Akkumulatorregisters 25 ganz
oder teilweise zum Speicherglied 109 zu übertragen für die sofortige Eingabe in den &4CC-Addierer 110
und für die Übertragung zum /RS-Register.
Speicher
Gemäß Fig. 2a und 2b besteht der Speicher 1 aus einem Kernspeicher 21, einem Speicheradressenregister
SAR 33, einem SpeicherpufEerregister SPR 34 und einem Befehlsregister 35. Welcher Kernspeicher
21 verwendet wird, ist hier nicht von Bedeutung; zur Veranschaulichung wird eine würfelförmige Anordnung
von mit koinzidierenden Strömen abgefühlten Magnetkernen verwendet. Das SAR33 zeigt einen
64-Bit-Wort-Speieherort im Kernspeicher 21 an, und zwar kann dieser Speicherort entweder über die Einschreib-Sammelleitung
31 eingeschrieben oder über die Entnahme-Sammelleitung 32 in das SPR 34 übertragen
werden. Das SPR34 speichert drei vollständige Speicherwörter, die aus 192 Bits bestehen,
welche mit 0 bis 191 numeriert sind. Wenn diese Bits einen Befehl darstellen, werden sie in das Befehlsregister
35 eingebracht. Gewöhnlich werden acht Prüfbits erzeugt, um zusammen mit 64-Bit-Speicherwörtern
übertragen zu werden.
Der Aufbau eines typischen zusammengesetzten Befehlswortes ist als Teil des Befehlsregisters 35 in
Fig. 2a und 2b dargestellt. Der zusammengesetzte Befehl besteht aus einem Makrobefehl und fünfzehn
Mikrobefehlen, die in fünf Gruppen eingeteilt sind: 1 bis 3, 4 bis 6, 7 bis 9,10 bis 12 und 13 bis 15. Der
Makrobefehl umfaßt ein aus 19 Bits bestehendes Adressenfeld, ein aus 3 Bits bestehendes Operationsfeld OM und ein aus 9 Bits bestehendes Mar-
kierungsfeld TM. Jede Gruppe von drei Mikrobefehlen ist einem aus 6 Bits bestehenden Auslösefeld
SA, SB, SC, SD oder SE, einem aus 2 Bits bestehenden Markierungsfeld TA, TB, TC, TD oder
TE und einem aus 24 Bits bestehenden Feld zum Aufnehmen der drei 8-Bit-Mikrobefehl-Operationsfelder
zugeordnet. Jedes der fünf Auslösefelder und Markierungsfelder bezieht sich also auf eine Gruppe
von drei Mikrobefehlen. Jedes 6-Bit-Auslösefeld kann jeden beliebigen von 128 Auslösezuständen
ao identifizieren, von denen sechzig als Beispiele in
Tabelle I aufgeführt sind.
25 | Auslöse signal Nr. |
Verursacht durch | Auslöse signal Nr. |
Verursacht durch |
Z |
0 | NOP | 31 | Y | ||
1 | FLlQ | 32 | MB = I | ||
30 | 2 | FLlQ | 33 | LB =1 | |
3 | FL3Q | 34 | KB = 0 | ||
4 | NOP | - 35 | KB = 1 | ||
5 | FLIP | 36 | LB =0 | ||
O Λ | 6 | FL2P | 37 | MB = O | |
35 | 7 | FL3P | 38 | immer ein | |
8 | SACC THR | 39 | EOLU | ||
9 | W | 40 | MG=I | ||
10 | Ύ | 41 | LG = 1 | ||
40 | 11 | 7 | 42 | KG=O | |
12 | Z | 43 | KG=I | ||
13 | W-X | 44 | LC? = 0 | ||
14 | W-Y | 45 | MG=O | ||
45 | 15 | CC = O | 46 | immer ein | |
16 | NOP | 47 | Anfang | ||
17 | FLlR | 48 | F-MB= 1 | ||
18 | FL2R | 49 | F-LB =1 | ||
50 | 19 | FL3R | 50 | F-KB =0 | |
20 | W | 51 | F-KB =1 | ||
21 | SCTR = LIM | 52 | F-LB =0 | ||
22 | X | 53 | F-MB = O | ||
55 | 23 | X oder Y | 54 | F | |
24 | SCTR φ LIM -E0G | 55 | T-EOG | ||
25 | SACC<THR-E0G | 56 | MG= 1-EOG | ||
26 | SACC + bis - | 57 | LG = I-EOG | ||
6o | 27 | F | 58 | KG = O-EOG | |
28 | T-LB = 1 | 59 | KG=I-EOG | ||
29 | T-KB = 1 | 60 | |||
30 | T-MB= 1 |
Die Auslösesignalnummer gibt die Quelle des Auslösesignals an. Zum Beispiel ist in Fig. 2h das
Auslösesignal Nr. 21 dargestellt. Welche Zustände tatsächlich dargestellt werden, steht zur freien Wahl.
17
Ϊ8
Jedes Mikrobefehl-Operationsfeld stellt durch
einen 8-Bit-Code eine von 512 Berichtigungen dar,
von denen fünfundsiebzig als Beispiele in Tabelle II
aufgeführt sind.'
einen 8-Bit-Code eine von 512 Berichtigungen dar,
von denen fünfundsiebzig als Beispiele in Tabelle II
aufgeführt sind.'
Tabelle Π
Mikrobefehl (Dezimalcode) |
Bezeichnung der Korrektur | NOP |
1 | SCTR um +1 fortschalten | |
2 | ,F und G rückstellen | |
3 | SACC rückstellen | |
4 | SCTR rückstellen | |
5 | SACC fortschalten | |
6 | SCTR um -1 fortschalten | |
7 | 24 Bits von SACC nach R | |
8 | Die sechzehn niedrigsten Bits von | |
9 | 5,4 CC nach R | |
Die acht niedrigsten Bits von SACC | ||
10 | nach .R | |
Addiere SCTR zu TBA | ||
11 | Die acht niedrigsten Bits von SCTR | |
12 | nach R | |
16 Bits von SCTR nach R | ||
13 | A CR-Kippschaltungen für diese Byte | |
14 | außer Betrieb setzen | |
L-Ausgangssignale für die Dauer der | ||
15 | Gruppe unterdrücken | |
^CR-Kippschaltungen für die Dauer | ||
16 | der Gruppe außer Betrieb setzen | |
Setze X in L | ||
17 | Setze MOD in L | |
18 | Setze MOD in Ό | |
19 | Setze Y in L | |
20 | Setze Z in L | |
21 | Setze W in L | |
22 | P über diese Schwelle ausgeben | |
23 | P über FLG 2-SchwelIe ausgeben | |
24 | P über FLG 1-Schwelle ausgeben | |
25 | Q über diese Schwelle ausgeben | |
26 | Q über FLG 2-Schwelle ausgeben | |
27 | Q über FLG 1-Schwelle ausgeben | |
28 | Schalte nur P über diese Schwelle | |
29 | Schalte nur P über FLG 2-Schwelle | |
30 | Schalte nur P über FLG 1-Schwelle | |
31 | Schalte nur Q über diese Schwelle | |
32 | Schalte nur Q über FLG 2-Schwelle | |
33 | Schalte nur Q über FLG 1-Schwelle | |
34 | P-Adresse speichern | |
35 | ß-Adresse speichern | |
36 | Unterdrücke Byte nach besonderem | |
37 | Byte von P | |
Unterdrücke besonderes Byteausgangs | ||
38 | signal von L | |
Unterdrücke besonderes Byte nach R | ||
39 | Unterdrücke Byte nach besonderem | |
40 | Byte von Q | |
Mikrobefehl (Dezimalcode) |
Bezeichnung der Korrektur |
41 | Unterdrücke Byte nach besonderem |
Byte von U | |
42 | Wiederhole besonderes Byte Von P |
43 | Wiederhole besonderes Byte von Q |
44 | Wiederhole besonderes Byte von U |
45 | Überspringe Zwischenraum in R |
46 | Überspringe [/-Entnahme |
47 | Schalter unwirksam machen |
48 | R in nächste Stellung schalten |
49 | R in nächste Stellung über FL 2 fort |
schalten | |
50 | R in nächste Stellung über FL1 fort |
schalten | |
51 | R in nächste Stellung über FL 3 fort |
schalten | |
52 | R in diese Stellung rückstellen |
53 | R durch Stellung FL 2 rückstellen |
54 | R durch Stellung FL1 rückstellen |
55 | R durch Stellung FL3 rückstellen |
56 | P in nächste Stellung fortschalten |
57 | P in nächste Stellung über FL 2 fort |
schalten | |
58 | P in nächste Stellung über FL1 fort |
schalten | |
59 | P in nächste Stellung über FL 3 fort |
schalten | |
60 | P in diese Stellung rückstellen |
61 | P durch Stellung FL 2 rückstellen |
62 | P durch Stellung FLl rückstellen |
63 | P durch Stellung FL 3 rückstellen |
64 | Q in diese Stellung rückstellen |
• 65 | Q durch Stellung FL 2 rückstellen |
66 | Q durch Stellung FLl rückstellen |
67 | Q durch Stellung FL 3 rückstellen |
68 | Q in nächste Stellung fortschalten |
69 | Q in nächste Stellung über FL 2 fort |
schalten | |
70 | Q in nächste Stellung über FLl fort |
schalten | |
71 | Q in nächste Stellung über FL 3 fort |
schalten | |
72 | TBA — 1 in T-Adresse aufsuchen |
73 | Überspringe Entnahme von T-Adresse |
74 | T-Adresse zu TBA zurückstellen |
75 | Lösche T-Adresse |
Die Korrekturnummern sind der Dezimalcode für die aus 8 Bits bestehenden, binär verschlüsselten
Operationsfelder. Die ausgeführten Korrekturen sind willkürlich und abhängig von der Umgebung, in der
die Erfindung benutzt wird.
Die Mikrobefehlseinheit
Die in Fig. 2c bis 2e gezeigte Mikrobefehlseinheitlö
besteht aus einem Auslöseregister 41, einer Vorrangschaltung 42, einem Mikrobefehlswähler 43,
609 538/328
einer Folgeschaltung 44 und einem Mikrobefehlsentschlüsseier 45. Die Mikrobefehlseinheit 16 hat die
Aufgabe, zu erkennen, wann ein Auslösesignal, das in einem im Befehlsregister 35 gespeicherten zusammengesetzten
Befehl angezeigt ist, in dem System aufgetreten ist, und die dem Auslösesignal zugeordneten
Mikrobefehle nacheinander wirksam zu machen.
Das Auslöseregister 41 empfängt Auslösesignale entsprechend den fünf Auslösefeldern in dem Befehlsregister
35 über einen 6-nach-60-Entschlüsseler 53. Den dreißig Eingängen des Entschlüsselers 53
werden fünf Felder zu je 6 Bits zugeführt, und zwar wird jedes Feld in einen l-aus-60-Bit-Code umgesetzt,
der auf 300 Ausgangsleitungen übertragen wird. Das heißt jeder der sechzig Auslösezustände,
die von einem Auslösefeld definiert werden können, wird durch ein anderes Signal auf einer der dem betreffenden
Feld entsprechenden sechzig Ausgangsleitungen dargestellt. Sechzig Auslösesignale aus dem
System gelangen über getrennte Leitungen in das Register 41. Jedes dieser sechzig Auslösesignale wird
mit jedem der entschlüsselten Auslösefelder in Vergleichern CFA 54, CFB 55, CFC 56, CFD 57 und
CFE 58 verglichen. Immer, wenn ein durch ein Auslösefeld dargestelltes Auslösesignal mit einem auf
einer der sechzig Auslösesignal-Eingangsleitungen auftretenden Auslösesignal übereinstimmt, erzeugt der
Vergleicher für das betreffende Feld ein Ausgangssignal. Da es möglich ist, daß mehr als ein Auslösezuständ
vorliegt, kann es sein, daß mehr als ein Vergleicher ein Ausgangssignal erzeugt. Jedes Vergleicher-Ausgangssignal
wird in einer entsprechenden bistabilen Kippstufe TA 59, TB 60, TC 61, TD 62
oder TE 63 gespeichert. Die Eins-Zustände der Kippstufen zeigen daher an, welche durch Auslösefelder
im Befehlsregister 35 verschlüsselten Auslösezustände in dem System eingetreten sind.
Die Vorrangschaltung 42 macht einzelne dieser Auslösezustände nacheinander wirksam. Die Konstruktion
der Vorrangschaltung ist ohne Belang, solange sie ihre Funktion ausführt, jeweils einen Eingang
aus einer Anzahl von »besetzten« Eingängen auszuwählen. Der hier gezeigte, der aus vier Und-Schaltungen
64, 65, 66 und 67 besteht, erteilt den Vorrang der obersten in den Eins-Zustand geschalteten
bistabilen Kippstufe. Wenn daher Auslösefelder SA und SC beide gleichzeitig auftretende Auslösezustände
identifizieren, erhält der durch das Feld SA angegebene Auslösezuständ den Vorrang. Das geschieht
dadurch, daß jedes Eins-Ausgangssignal einer bistabilen Kippstufe veranlaßt wird (durch Signale an
den durch einen Halbkreis gekennzeichneten Sperreingängen), alle Und-Schaltungen unwirksam zu
machen, die bistabilen Kippschaltungen mit niedrigerem Vorrang zugeordnet sind. Ein i23-Impuls, der
in Verbindung mit der Folgeschaltung 44 noch erläutert wird; tritt auf, nachdem jeder ausgewählte Auslösezuständ
vollständig wirksam gemacht worden ist. Durch dieses Signal wird die bistabile Kippschaltung
in dem Auslöseregister 41 rückgestellt, die dem mit Vorrang versehenen Auslösefeld zugeordnet ist, so
daß die Vorrangschaltung 42 dann den nächsten angezeigten Auslösezuständ wirksam machen kann. Die
Ausführung dieser Operation wird von fünf Und-Schaltungen 68, 69, 70, 71 und 72 ermöglicht, und
zwar tritt das Ausgangssignal jeder dieser Und-Schaltungen (von denen jede eine zugeordnete bistabile
Kippstufe rückstellt), zur i?3-Zeit nur dann auf, wenn
das entsprechende Auslösefeld den Vorrang hat. Nur einer der Ausgänge SA, SB, SC, SD und SE der Vorrangschaltung
42 weist jeweils ein Signal auf, welches diejenige Mikrobefehlsgruppe darstellt, die einem
Auslösezuständ zugeordnet ist, welcher durch ein mit Vorrang versehenes Auslösefeld dargestellt wird.
Wenn ein beliebiger Auslösezuständ den Vorrang erhalten hat, liefert die Oder-Schaltung 300 das Sperrsignal/,
welches das Auftreten von Fortschaltsignalen in der Recheneinheit 7 unterbindet, den Betrieb
der Tore durch die Befehls-Steuersignalgeneratoren 48 beeinflußt und den Mikroring 151 (Fig. 3 g) rückstellt.
Der unten erläuterte Mikrobefehlswähler leitet Mikrobefehle aus dem Befehlsregister 35 zumMikrobefehlsentschlüsseler
45. Welcher Mikrobefehl aus der Gruppe ausgewählt wird, wird durch Fortschalten
der Folgeschaltung 44 (Fig. 2c) bestimmt.
ao Die Folgeschaltung 44 besteht aus vier bistabilen
Kippschaltungen 72, 73, 74 und 75, die in bekannter Weise in Verbindung mit vier Dioden-Kondensator-Kombinationen
zu einer Ringschaltung angeordnet sind. Ein Signal am Fortschalteingang 76, das durch
das gleichzeitige Auftreten eines Taktimpulses CP aus dem Taktgeber 47 und eines Mikrokommandos
aus dem Steuersignalgenerator 46 (gemäß einem Mikrobefehl) erzeugt wird, veranlaßt die bistabile
Kippschaltung, die ein Eins-Ausgangssignal aufweist, auf ein Null-Ausgangssignal umzuschalten und die
nächste Kippschaltung, ein Eins-Ausgangssignal zu erzeugen. Auf diese Weise liegt stets ein Signal auf
einer der Ausgangsleitungen RO, Rl, R2 oder R3 vor. Das Signal wird der Reihe nach von RO bis R3
und wieder zu i?0 zurück fortgeschaltet, und zwar je einmal für je vier Signale am Eingang 76. Daher
kann die Folgeschaltung 44 schneller (oder langsamer) als normale Befehle fortgeschaltet werden,
wodurch die jedem Mikrobefehl zugeteilte Zeit der für seine Ausführung nötigen Zeit angepaßt wird.
Der Mikrobefehlswähler 43 besteht aus einer Matrix von in fünf Reihen zu je vier Spalten angeordneten
zwanzig Und-Schaltungen 76 bis 95. Jede der fünf Reihen von Und-Schaltungen läßt eine andere
Gruppe von drei Mikrobefehlen, die einem Auslösefeld zugeordnet' ist, durch. Je eine der Und-Schaltungen
in jeder Reihe läßt das Markierungsfeld durch, das der von den anderen Und-Schaltungen
in der betreffenden Reihe durchgelassenen Gruppe von Mikrobefehlen zugeordnet ist. So läßt z. B. die
erste Reihe, die aus den Und-Schaltungen 76, 77, 78 und 79 besteht, die ersten drei Mikrobefehle Ou (1-3)
und das zugeordnete Markierungsfeld TA durch. Der erste Befehl Ow(I) wird der Und-Schaltung 77 vom
Befehlsregister 35 aus durch das Kabel 96 zugeleitet. Der'Operationsteil des zweiten Mikrobefehls Ou (2)
wird vom Befehlsregister 35 der Und-Schaltung 78 über das Kabel 97 zugeführt. Der Operationsteil des
dritten Mikrobefehls Ou (3) wird der Und-Schaltung 79 über das Kabel 98 zugeleitet. Das diesen drei
Mikrobefehlen zugeordnete Markierungsfeld TA wird der Und-Schaltung 76 über das Kabel 99 zugeführt.
Die Eingangs-Operations- und Markierungsfelder
erscheinen an den Ausgängen der entsprechenden Und-Schaltungen ohne Veränderung, wenn Signale
aus der Vorrangschaltung 42 und der Folgeschaltung 44 gleichzeitig an den Eingängen der Und-Schaltungen
erscheinen. Da die Und-Schaltungen 77 bis 79
21 22
ausgewählt sind, werden die Operationsfelder dem Signal verbleibt auf einer der Leitungen bei Fort-
Mikrobefehlsentschlüsseler 45 über das Ausgangs- schaltung der Schaltung 44 nach R 3 und verändert
kabel 100 zugeleitet. sich zur nächsten R O-Zeit nur dann, wenn das Mar-
Es sei z. B. angenommen, daß das den ersten drei kierungsfeld der nächsten Gruppe von Mikrobefeh-Mikrobefehlen
zugeordnete Auslösefeld SA einen 5 len eine andere Verschlüsselung aufweist. Das Mar-Auslösezustand
beschreibt, der in der Maschine auf- kierungsfeld kann benutzt werden, um die Fortschaltgetreten
ist und dem von der Vorrangschaltung 42 zeit der Vorrangschaltung 42 zu steuern. Zum BeiVorrang
gegeben worden ist. Es erscheint ein Signal spiel gestatten es die Und-Schaltung 107 und die
auf der Leitung S1^l, wodurch je ein Eingangssignal Oder-Schaltung 108 der Vorrangschaltung 42, immer
an, jede der Und-Schaltungen 76, 77, 78 und 79 ge- ίο dann einen anderen Auslösezustand wirksam zu
legt wird. Da die Folgeschaltung 44 ein Signal er- machen, wenn die Folgeschaltung 44 nach R 3
zeugt, das der Reihe nach zwischen den Leitungen weiterschaltet, falls das zugeordnete Markierungs-
RO, Rl, R2 und R3 in der genannten Reihenfolge feld aus 00 besteht. Das einem Auslösezustand zuweitergeschaltet
wird, werden die Und-Schaltungen geordnete Unterprogramm ist also auf drei Mikro-76,
77, 78 und 79 jeweils einzeln in derselben Reihen- 15 befehle begrenzt. Wenn das zugeordnete Markiefolge
wirksam gemacht. Als erste wird die Und- rungsfeldlO lautet, wird ein Tor/l über die Oder-Schaltung
76 ausgewählt, wodurch das TVi-FeId aus Schaltung 110 wirksam gemacht, um den dritten dem
dem Befehlsregister 35 in den TA -Entschlüsseier und Markierungsfeld zugeordneten Mikrobefehl zum Be-
-Speicher 101 übertragen wird. Wenn einer der Ent- fehlszähler 39 weiterzuleiten. Die Vorrangschaltung
schlüsseler 101, 102, 103, 104 oder 105 ein Mar- 20 68 wird nicht fortgeschaltet. In diesem Falle bezeichkierungsfeld
TA, TB, TC, TD oder TE aus der zu- net der dritte Mikrobefehl einen Speicherort im
geordneten Und-Schaltung 76, 80, 84, 88 oder 89 Kernspeicher 21, wo weitere Mikrobefehle zu finden
empfängt, bewirkt er das Erscheinen eines Signals an sind. Die zusätzlichen Mikrobefehle treten an die
einem der Entschlüsselerausgänge 00, 01, 10 oder 11. Stelle der jetzt im Befehlsregister 35 befindlichen.
Diese Ausgänge können benutzt werden, um Mikro- 25 Auch das Markierungsfeld kann jetzt ausgewechselt
befehls-Unterprogramme zu steuern, was noch im werden. Das einem Markierungsfeld 10 zugeordnete
nächsten Absatz in Verbindung mit den Markierungs- Unterprogramm ist daher größenmäßig nicht auf die
feldschaltungen 106 näher erläutert wird. Man kann drei zugeordneten Mikrobefehle beschränkt. Wenn
nun wie folgt zusammenfassend sagen: Wenn die das Markierungsfeld 11 lautet, wird die Vorrang-Vorrangschaltung
42 Maschinen - Auslösezustände 30 schaltung 42 fortgeschaltet, wenn die Folgeschaltung
wirksam macht, die durch in dem Zusammengesetz- 44 die Stellung R 3 erreicht, und zwar über die Undten
Befehl enthaltene Auslösefelder identifiziert wer- Schaltung 109, und das Tor /1 wird über die Oderden,
werden Reihen der Und-Schaltungen im Mikro- Schaltung 110 betätigt. Der letzte Mikrobefehl, der
befehlswähler 43 nacheinander in der Reihenfolge gewöhnlich eine Adresse enthält, wird dem Bef ehlsdes
Vorrangs durch Leitungen SA, SB, SC, SD und 35 zähler 34 zugeleitet, und das Unterprogramm, das
SE wirksam gemacht. Für jede so ausgewählte Reihe dem die Bits 11 enthaltenden Markierungsfeld entkann
die Folgeschaltung 44 die durch die Leitungen spricht, wird beendet. Auf diese Weise kann ein
RO, Rl, R2 und R3 definierten Spalten von Und- Unterprogramm von Makrobefehlen (jeder mit semen
Schaltungen auswählen. Nach jedem vom Steuer- eigenen zugeordneten Mikrobefehlen) das Programm
signalgenerator 46 stammenden Schrittschaltsignal 4° unterbrechen. Infolgedessen ist die Anordnung iman
der Folgeschaltung 44 wird eine andere Spalte stände, die im Stand der Technik bekannten autoausgewählt.
In der ersten Reihe erfolgt die Auswahl matischen Programmunterbrechungs - Operationen
in der Reihenfolge 76, 77, 78 und 79, wodurch die auszuführen. Das restliche Feld (01) kann jede belie-Felder
TA Ou(I), Ou (2) und Ou(3) des Befehls- bige von mehreren Operationen kennzeichnen. Zum
registers 35 in der genannten Reihenfolge ausgewählt 45 Beispiel kann die Ausführung eines Mikrobefehls von
werden. Die Folgeschaltung 44 wird aber nicht not- dem logischen Verhältnis dieses Mikrobefehls zu
wendigerweise in regelmäßigen Zeitabständen fort- einem anderen Mikrobefehl abhängig gemacht
geschaltet, denn das ist vom Inhalt des Markierungs- werden.
feldes und des in Ausführung begriffenen Mikrobe- Der Mikrobefehlsentschlüsseler 45, der in Funkfehls
abhängig. Zum Beispiel kann ein Mikrobefehl 5" tion und Aufbau dem Makrobefehlsentschlüsseier 36
am Ausgang der Und-Schaltung 77 für die Dauer in der Makrobefehlseinheit 5 gleicht, empfängt die
von zwei Taktimpulsen und ein anderer Mikrobefehl Operationsteile des Mikrobefehls einzeln, wie sie ihm
(im gleichen zusammengesetzten Befehl) am Aus- vom Mikrobefehlswähler 43 zugeführt werden. Aus
gang der Und-Schaltung 79 für die Dauer nur eines jedem Mikrobefehl wird eine größere Zahl von
Taktunpulses zur Verfügung stehen. 55 Mikrokommandos erzeugt, die in Verbindung mit
Den Markierungsfeldentschlüsseler- und -speicher- dem Taktgeber 47 Signale im Steuersignalgenerator 3
schaltungen 101, 102, 103, 104 und 105 sind Mar- zum Betätigen der Tore der Recheneinheit 7 er-
kierungsfeldschaltungen 106 zugeordnet. Die von zeugen.
diesen Schaltungen ausgeführten Funktionen sind nur Befehls-Steuersignalgenerator
als Beispiel beschrieben; jede andere gewünschte 60
Wirkungsweise ist ebenfalls möglich. Die durch das Wie aus Fig. 2b ersichtlich ist, dient der Befehlszwei Bits umfassende Markierungsfeld TA, TB, TC, Steuersignalgenerator 48 (Teil des Steuersignalgene-
TD oder TE der von der Vorrangschaltung 42 aus- rators 3) zum Erzeugen von Signalen, welche Tore im
gewählten Mikrobefehlsgruppe angegebene Markie- Speicher 1, in der Makrobefehlseinheit 5 und in der
rung wird durch ein Signal auf einer der Leitungen ^5 Mikrobefehlseinheit 16 betätigen. Diese Signale wer-00,
01, 10 oder 11 dargestellt. Jedesmal, wenn die den mittels bekannter Schaltungen erzeugt, die durch
Folgeschaltung 44 zu ÄO fortgeschaltet wird, er- Taktsignale CP aus dem Taktgeber 47 entsprechend
scheinen Signale auf einer dieser vier Leitungen. Ein den Zuständen der Befehlseinheiten gesteuert werden,
23 24
wie es ein Sperrsignal 7 anzeigt (das auftritt, wenn dann indexiert werden, wie oben beschrieben, oder
die Vorrangschaltung 42 einem Auslösezustand Vor- direkt zum SAR 33 übertragen werden. Der Aufbau
rang gibt), und nach Wunsch entsprechend den Mar- des in das SPR34 eingegebenen Wortes bestimmt,
kierungsfeldern von Makrobefehlen. Die Betätigung ob der ganze zusammengesetzte Befehl im Befehls-
der Tore kann also davon abhängig gemacht werden, 5 register 35 ersetzt wird (Programmunterbrechung)
ob Makro- oder Mikrobefehle ausgeführt werden. oder ob nur eine Mikrobefehlsgruppe verändert wird.
Fig. 4a zeigt die Ausgangsimpulse der Steuer-
signaUeitungen die Tore unter der Steuerung des Steuersignalgenerator und Taktgeber
Taktgebers 47 betätigen. Bei Taktimpuls CPl wer- s & 5
den Tore72, 73, 74 und 711 betätigt, um den ge- 10 Wie aus Fig. 2f und 2g hervorgeht, empfängt der genwärtigen Inhalt des Befehlszählers 39 (die Grund- Steuersignalgenerator 46 (Teil des Steuersignalgeneadresse eines zusammengesetzten Befehls) zu in- rators3, der dem Befehls-Steuersignalgenerator 48 dexieren, indem sie ihn durch den Addierer 37 gleich- nicht zugeordnet ist) Makrokommandos und Mikrozeitig mit dem Eingang eines Vergrößerungsbetrages kommandos aus dem Makrobefehlsentschlüsseier 36 in den Addierer leiten. Die wirksame Adresse tritt 15 und dem Mikrobefehlsentschlüsseier 45. Diese Komwährend der nächsten Taktzeit CP 2 aus dem Addie- mandos erzeugen Signale für die Betätigung von rer heraus. Der Befehlszähler 39 wird zur Zeit CFl Toren in der Recheneinheit 7 unter der Steuerung um +1 fortgeschaltet, so daß zum Aufsuchen des des Taktgebers 47.
Taktgebers 47 betätigen. Bei Taktimpuls CPl wer- s & 5
den Tore72, 73, 74 und 711 betätigt, um den ge- 10 Wie aus Fig. 2f und 2g hervorgeht, empfängt der genwärtigen Inhalt des Befehlszählers 39 (die Grund- Steuersignalgenerator 46 (Teil des Steuersignalgeneadresse eines zusammengesetzten Befehls) zu in- rators3, der dem Befehls-Steuersignalgenerator 48 dexieren, indem sie ihn durch den Addierer 37 gleich- nicht zugeordnet ist) Makrokommandos und Mikrozeitig mit dem Eingang eines Vergrößerungsbetrages kommandos aus dem Makrobefehlsentschlüsseier 36 in den Addierer leiten. Die wirksame Adresse tritt 15 und dem Mikrobefehlsentschlüsseier 45. Diese Komwährend der nächsten Taktzeit CP 2 aus dem Addie- mandos erzeugen Signale für die Betätigung von rer heraus. Der Befehlszähler 39 wird zur Zeit CFl Toren in der Recheneinheit 7 unter der Steuerung um +1 fortgeschaltet, so daß zum Aufsuchen des des Taktgebers 47.
nächsten Befehls eine neue Grundadresse zur Ver- Der Taktgeber 47 sendet Taktimpulse CP zum
fügung steht. 20 Makroring 149 und zum Mikroring 151. Diese Ringe
Zur nächsten Taktimpulszeit CP 2 werden die verwenden jeder eine bekannte Schaltungsanordnung
Tore76 und 712 wirksam gemacht und übertragen (ähnlich der oben beschriebenen Folgeschaltung 44),
die neue wirksame Adresse in das SAR33. Der um Signale einzeln nacheinander auf mehreren Ausadressierte
zusammengesetzte Befehl gelangt recht- gangsleitungen zu erzeugen. Das Ausgangssignal wird
zeitig zur Verwendung zur Zeit CP3 in das SPR34. 25 von einer Leitung zu einer benachbarten Leitung für
Beim Taktimpuls CP3 überträgt das Tor 77 den jedes Fortschalt-Eingangssignal weitergeschaltet. Der
adressierten zusammengesetzten Befehl in das Be- Makroring 149 wird beim Auftreten eines Taktimpul-
fehlsregister 35. ses einen Schritt fortgeschaltet, wenn ein Fortschalt-
Beim Taktimpuls CP 4 leiten die Tore 7 4 und 713 signal aus der Fortschaltschaltung 200 an der Und-
den Makrobefehl zum Addierer 37 und das Aus- 30 Schaltung 150 vorliegt. Der Mikroring 151 wird beim
lösefeld des Mikrobefehls zum Auslöseregister 41 Auftreten eines Taktimpulses fortgeschaltet, wenn
weiter. ein Kommandosignal »Mikroring 151 fortschalten«
Beim Taktimpuls CP5 leiten die Tore 76, 78 und aus dem Mikrobefehlsentschlüsseier 45 an der Und-
und 79 das Adressenfeld des Makrobefehls zu den Schaltung 400 liegt. Der Mikroring 151 wird durch
Byteformern 22 und 23 der Recheneinheit 7, das 35 ein 7-Signal jedesmal dann rückgestellt, wenn ein
Operations- und das Markierungsfeld des Makro- anderer Auslösezustand von der Vorrangschaltung
befehls zum Ausführungsregister 38 und das Opera- mit Vorrang versehen wird.
tionsfeld dieses Befehls zum Makrobefehlsent- Im anfänglichen Zustand des Makroringes 149
schlüsseler 36 weiter. liegt ein Signal am Fortschalt-1-Ausgang. Ein Fort-
Nach dem Taktimpuls CP 5 werden die Signale 40 schalt-2-Signal wird erzeugt als Ergebnis von Signaaus
dem Befehls-Steuersignalgenerator 48 auf die- len, die aus den Q- und P-Byteformern 22, 23, der
jenigen beschränkt, die der Recheneinheit 7 Zugriff Tabellenentnahmeeinheit 27 und anderen Einheiten
zum Kernspeicher 21 geben. Das Tor 710 wird in (Zeitzonen 2 und 3) empfangen werden. Ein einziges
jedem zweiten Umlauf wirksam gemacht, um das Fortschaltsignal wird von der Fortschaltschaltung
Einschreiben über die Sammelleitung 31 zu ermög- 45 200 geliefert, um den Makroring während des nächlichen,
und das Tor 712 wird in jedem Umlauf be- sten Taktimpulses von Fortschalten 1 nach Forttätigt,
um die Veränderung der Adressen im SAR33 schalten 2 weiterzuschalten. Das weitere Fortschalten
für abwechselndes Lesen und Schreiben zu gestatten. erfolgt in entsprechender Weise. Wenn keine Fort-Der
Steuersignalgenerator 46 betätigt zu diesem Zeit- schaltsignale aus der Recheneinheit 7 ankommen,
punkt die in Fig. 2 h bis 2 j gezeigten Tore gemäß 50 erfolgt selbst beim weiteren Auftreten von Taktimpulden
durch Makro- oder Mikrobefehle erforderlich sen keine Fortschaltung. Wenn die Ausführung von
werdenden Operationen. Eine Ausnahme besteht, Mikrobefehlen infolge des Erkennens eines Auslösewenn
ein Mikrobefehl eine Adresse enthält, die zum zustandes eingeleitet werden muß, sperrt ein Sperr-Befehlszähler
39 zu übertragen ist. signal 7 aus der Vorrangschaltung 42 über die Oder-Wenn ein Mikrobefehl mit dem Markierungsfeld 55 Schaltung 300 die Abgabe von Fortschaltsignalen
10 auftritt, muß die zugeordnete Mikrobefehlsgruppe durch die selbständigen Einheiten in der Rechenim
Befehlsregister 35 durch eine neue Gruppe von einheit 7. Da der Makroring 149 ohne Fortschalt-Mikrobefehlen
(und Markierungsfeldern) ersetzt wer- signale nicht weiterschalten kann, wird die Ausfühden,
die aus dem Kernspeicher erlangt wird. Wenn rung des Makrobefehls an der gegenwärtigen Steldas
Markierungsfeld 11 lautet, ist die Operation die 60 lung des Makroringes 149 unterbrochen,
gleiche, nur wird die Adresse des gegenwärtigen zu- Im anfänglichen Zustand des Mikroringes 151 ersammengesetzten Befehls im Kernspeicher 21 gespei- scheint ein Signal am 1-Ausgang. Jedesmal, wenn ein chert und ein ganz neues Unterprogramm von zusam- neuer Auslösezustand von der Vorrangschaltung 42 mengesetzten Befehlen begonnen. In beiden Fällen den Vorrang zugewiesen erhält, wird der Mikroring betätigt der Befehls-Steuersignalgenerator 48 die 65 151 durch ein Sperrsignal 7 aus der Oder-Schaltung Tore 72, 77 und 712 während der auf die Betäti- 300 zurückgestellt. Der Mikroring 151 wird nur dann gung des Tors 71 durch die-Markierungsfeldschal- von 1 nach 2 fortgeschaltet, wenn ein Taktimpuls rung 106 folgenden Taktzeiten. Die Adresse kann und ein Kommando »Ring 151 fortschalten« (aus
gleiche, nur wird die Adresse des gegenwärtigen zu- Im anfänglichen Zustand des Mikroringes 151 ersammengesetzten Befehls im Kernspeicher 21 gespei- scheint ein Signal am 1-Ausgang. Jedesmal, wenn ein chert und ein ganz neues Unterprogramm von zusam- neuer Auslösezustand von der Vorrangschaltung 42 mengesetzten Befehlen begonnen. In beiden Fällen den Vorrang zugewiesen erhält, wird der Mikroring betätigt der Befehls-Steuersignalgenerator 48 die 65 151 durch ein Sperrsignal 7 aus der Oder-Schaltung Tore 72, 77 und 712 während der auf die Betäti- 300 zurückgestellt. Der Mikroring 151 wird nur dann gung des Tors 71 durch die-Markierungsfeldschal- von 1 nach 2 fortgeschaltet, wenn ein Taktimpuls rung 106 folgenden Taktzeiten. Die Adresse kann und ein Kommando »Ring 151 fortschalten« (aus
dem Mikrobefehlsentschlüsseler 45) gleichzeitig an
den Eingängen der Und-Schaltung 400 vorliegen. Jeder Mikrobefehl kann also die Zahl von Taktimpulsen
steuern, die für die Ausführung seiner Operationen zur Verfügung gestellt werden. Die meisten
Mikrobefehle benötigen jedoch nicht mehr als einen Schritt.
Der Steuersignalgenerator 46 ist als Matrix von Und-Schaltungen angeordnet. Jede Und-Schaltung
kann an eine Reihe von Zeitsteuersignalen entweder aus dem Makroring 149 oder aus dem Mikroring 151
(jeder an den Taktgeber 47 angeschlossen) sowie außerdem an eine Spalte von Kommandos aus dem
Makrobefehlsentschlüsseier 36 oder aus dem Mikrobefehlsentschlüsseler 45 angeschlossen werden. Die
Und-Schaltungen werden nicht notwendigerweise entweder an eine Reihe oder an eine Spalte angeschlossen,
denn die Verdrahtung ist von den gewünschten Funktionen abhängig.
Gemäß Fig. 2f ist z.B. die Und-Schaltung 111
an die Kommandoleitung »F Wählen« und an den Ausgang »Fortschalten 2« des Makroringes 149 angeschlossen,
so daß bei Vorliegen eines Signals auf der Kommandoleitung »P Wählen« zur Zeit »Fortschalten
1« die Und-Schaltung 111 ein Ausgangssignal erzeugt, das dem Einstelleingang einer bistabilen
Kippschaltung 118 zugeführt wird. Das Eins-Ausgangssignal der bistabilen Kippschaltung 118
wird an den Eingang der Oder-Schaltung 119 gelegt und bewirkt, daß Signale zu den Toren SUP, I und C
übertragen werden. Ebenso werden die Und-Schaltungen 112 und 113 zur Zeit »Fortschalten 1« durch
ihre zugeordneten Kommandoleitungen »ö Wählen« bzw. »U Wählen« betätigt, um die bistabilen Kippschaltungen
120 und 121 einzustellen, wodurch die Oder-Schaltungen 122 und 123 veranlaßt werden,
Ausgangssignale zu erzeugen, die die Tore SUQ, 2, D, SUU, 3 und E betätigen. Die Und-Schaltungen
114, 115, 116 und 117 werden zur Zeit »Fortschalten 2« betätigt und stellen die bistabilen Kippschaltungen
124, 125, 126 und 127 ein, wodurch die Tore K, L, M, 7 und SC über Oder-Schaltungen 128
129, 130, 131, 132 betätigt werden. Ein (durch einen Halbkreis gekennzeichnetes) Sperrsignal an der Und-Schaltung
115 veranschaulicht das Sperren eines Ausgangs unter Mikrobefehlssteuerung.
Die bistabilen Kippschaltungen haben nur den Zweck, im Bedarfsfall Tore für längere Zeit als für
die Dauer eines Fortschaltsignals wirksam zu machen. Da die meisten Tore in der Recheneinheit 7
nur für die Dauer eines einzigen Fortschaltsignals betätigt werden, können die bistabilen Kippschaltungen
entweder übergangen oder einen Taktimpuls nach ihrer Einstellung rückgestellt werden. Die bistabile
Kippschaltung 125 veranschaulicht das Rückstellen durch ein Signal auf einer Leitung 403 unter
der Steuerung von Mikrobefehlen.
Bis hierher sind nur die Und-Schaltungen beschrieben worden, die Makrobefehlen zugeordnet sind.
Fig. 2g zeigt, daß jede der Und-Schaltungen in dem den Mikrokommandos vorbehaltenen Teil der Matrix
mit einer einzigen Kommandoleitung und einem einzigen Ausgang des Mikroringes 151 verbunden ist.
Durch das Vorhandensein von mehr als einer Und-Schaltung in jeder Spalte wird die Ausführung komplexerer
Mikrobefehle über eine Folge von Taktimpulsen hinweg ermöglicht. Zum Beispiel kann ein
Mikrobefehl das Erscheinen von Signalen auf zwei Mikrokommandoleitungen bewirken. Eine von ihnen
(Block L) kann mit einer Und-Schaltung verbunden sein, die durch den 1-Ausgang des Mikroringes 151
, betätigt wird, und die andere (Γ-Kommando 500)
kann mit einer Und-Schaltung verbunden sein, die zur 2-Zeit betätigt wird. Daher sind zwei Taktimpulse
nötig, um die Mikrokommandos wirksam zu machen. Ein Taktimpuls CP stoppe den Mikroring
151 nur beim gleichzeitigen Auftreten eines Kommandos »Mikroring 151 stoppen« an der Und-Schaltung
400. Die Kommandoleitung »Mikroring 151 fortschalten« führt gewöhnlich kein Signal, da mehrere
Umläufe umfassende Mikrobefehle ungewöhnlich sind (obwohl sie im Rahmen der Erfindung
liegen).
Wenn ein Signal auf der Mikrokomrnandoleitung »Setzen in L« vorliegt, sendet die Und-Schaltung 137
ein Ausgangssignal, das die bistabile Kippschaltung 139 in den 1-Zustand bringt und so die Auswahl des
ao Tors L über die Oder-Schaltung 129 bewirkt. Ebenso wählt ein Signal auf der Mikrokommandoleitung M
die Und-Schaltung 140 aus, wodurch die bistabile· Kippschaltung 142 in den 1-Zustand gebracht und
das Tor M über die Oder-Schaltung 130 wirksam
as gemacht wird. Die Tore L und M werden also durch
ein Mikrokommando betätigt, obwohl sie derzeit nicht durch Makrokommandos betätigt werden. Die
Mikrokommandoleitung SCTR — 1 (Fortschaltrichtung des statistischen Zählers) betätigt die Und-Schaltung
143, um die bistabile Kippschaltung 144 in den 1-Zustand einzustellen, falls gleichzeitig das Mikrokommando
»SCTR fortschalten« (Fortschaltzeit des statistischen Zählers) aufgetreten ist. Wenn der Mikrobefehl
»SCTR fortschalten« nicht gleichzeitig aufgetreten ist, wird die bistabile Kippschaltung 144 über
die Umkehrstufe 145 riickgestellt, um zu verhindern,
daß sie einen Ausgangsimpuls erzeugt. Dies ist erforderlich, da das Fehlen eines Mikrokommandos
»SCTR — 1« definiert wird als Mikrokommando »SCTR + 1«. Die Umkehrstufe 145 zerstört alte
SCTR — 1-Kommandos, falls zur Zeit des Mikrokommandos
»SCTR fortschalten« kein neues SCTR — 1-Kommando auftritt. Das Ausgangssignal der
bistabilen Kippschaltung 144 wird an den — 1-Eingang des 5CTi?-Steuerzählers 30 (Fig. 2h) über eine
nicht gezeigte Oder-Schaltung gelegt. Auf der Mikrokommandoleitung »SCTR fortschalten« auftretende
Signale betätigen die Und-Schaltung 146, um die bistabile Kippschaltung 148 in den 1-Zustand einzustellen,
und betätigen das Tor SC über die Oder-Schaltung 132.
Mikrokommandos können auch von Makrokommandos betätigte Tore abschalten, die infolge einer
Nichtfortschaltung des Makroringes 149 im wirksamen Zustand »eingefroren« sind. Zum Beispiel
veranlaßt der Mikrokommandoblock L die Und-Schaltung 401 zum Erzeugen eines Ausgangssignals
zur 1-Zeit des Mikroringes 151, wodurch die bistabile Kippschaltung 402 eingestellt und die Und-Schaltung
115 über einen an Leitung 403 angeschlossenen Sperreingang blockiert werden. Die bistabile
Kippschaltung 125 wird durch dieses selbe Signal rückgestellt, wodurch Tor L nicht ausgewählt wird.
Sobald der Mikrokommandoblock L endet, nimmt die bistabile Kippschaltung 125 wieder den 1-Zustand
ein, um das Tor L auszuwählen.
Das Vorstehende kann wie folgt zusammengefaßt werden: Sobald ein Auslösezustand den Vorrang er-
609 538/328
27 28
hält, wird ein Sperrsignal/ zur Recheneinheit7 ge- für die Ausführung des Befehls bereit zu machen,
sendet und verhindert weitere Fortschaltimpulse für Im vorliegenden Beispiel tritt der Auslösezustand,
den Makroring 149. Daher bleibt der derzeitige Zu- den das S/4-Feld bezeichnet, zwischen CP 7 und CP 8
stand aller durch Makrokommandos betätigten Tore ein. Der Makrobefehl im Befehlsregister 35 wird von
unverändert. Die Mikrokommandos wählen dann 5 Zeit CP 6 ab ausgeführt. Daher sind schon zwei Fortzusätzliche
Tore aus oder machen die derzeit aus- schaltsignale aufgetreten, wenn die Auslösenummer
gewählten Tore unwirksam. Da Korrekturen durch 21 die Ausführung des Makrobefehls unterbricht
Mikrokommandos Rückstelleingänge usw. beein- Während der Unterbrechung der Ausführung des
flüssen, beziehen sich die in bezug auf Tore gemach- Makrobefehls werden drei Mikrobefehle zu den
ten Aussagen auch auf diese. io Zeiten CP 9, CPlO und CPIl ausgeführt. Jeder dieser
Mikrobefehle, die als Beispiele dienen, wird in
Wirkungsweise des im einzelnen beschriebenen Jner ™!f n Taktimpulszeit ausgeführt, obwohl für
Aijqführunsqheisniek ■ die Ausfuhrung anderer Mikrobefehle mehr als eine
Ausiuhrungsbeispieis Taktimpulszeit nötig sein können. Die Ausführung
Die Wirkungsweise der in Fig. 2a bis 2i be- 15 des Makrobefehls wird zur Taktimpulszeit 11 (Fort-
schriebenen erfindungsgemäßen Anordnung wird schalten 3) wieder aufgenommen und wird danach
nachstehend in Verbindung mit Fig. 3, 4 a und 4 b fortgesetzt bis zum Taktimpuls CP 90, vor dessen Zeit
beschrieben. ein Mikrobefehl mit einem Markierungsfeld 10 an-
F i g. 3 zeigt ein Aufbaubeispiel für eine Gruppe getroffen worden ist. Dieses Markierungsfeld bewirkt
von drei Mikrobefehlen, die in einem im Befehls- ao die Übertragung eines der Mikrobefehle zum Befehlsregister
35 stehenden zusammengesetzten Befehl ent- zähler 39 als Adresse weiterer Mikrobefehle, die das
halten sind. Der Inhalt des zugeordneten Makro- Mikrobefehls-Unteφrogramm fortsetzen, das dem
befehls und der anderen Gruppen von Mikrobefehlen Auslösezustand, welcher dieses Unterprogramm einbraucht
nicht erklärt zu werden, um die Wirkungs- geleitet hat, zugeordnet ist. Die neue Gruppe von
weise der Erfindung zu erläutern. Es sei angenom- 25 Mikrobefehlen wird aus dem Kernspeicher 21 in den
men, daß beim Auftreten des veranschaulichten Aus- dieser Gruppe von Mikrobefehlen zugewiesenen Teil
lösesignals (SA = 21) gerade ein Makrobefehl aus- des Befehlsregisters 35 übertragen und danach dem
geführt wird. Die Wirkungsweise des beschriebenen Mikrobefehlsentschlüsseler 45 durch den Mikro-Ausführungsbeispiels
wird an Hand der Unter- befehlswähler 43 normalerweise zugeleitet,
brechung der Ausführung dieses Makrobefehls und 30 Während der Taktimpulse CPl bis CP 5 des Taktder Ausführung eines Unterprogramms von drei gebers 47 werden Signale von entsprechenden AusMikrobefehlen Ομ(ϊ) = N, Ομ(2) = Ν und Ομ(3) gangen des Befehls-Steuersignalgenerators48 abge- = 21) beim Auftreten eines im Auslösefeld SA näher geben, um Operationen auszuführen, die im wesentbezeichneten Auslöseimpulses (21) beschrieben. Das liehen den oben in Zusammenhang mit dem Befehls-Markierungsfeld (TA = 00 ist dem Auslösefeld SA 35 Steuersignalgenerator (Fig. 4a) beschriebenen glei- und den drei Mikrobefehlen O μ (1), Oμ (2) und chen. Zur Zeit CPl bewirkt die Betätigung des Tors Ομ(3) zugeordnet. 72, daß der Inhalt (eine Grundadresse) des Befehls-
brechung der Ausführung dieses Makrobefehls und 30 Während der Taktimpulse CPl bis CP 5 des Taktder Ausführung eines Unterprogramms von drei gebers 47 werden Signale von entsprechenden AusMikrobefehlen Ομ(ϊ) = N, Ομ(2) = Ν und Ομ(3) gangen des Befehls-Steuersignalgenerators48 abge- = 21) beim Auftreten eines im Auslösefeld SA näher geben, um Operationen auszuführen, die im wesentbezeichneten Auslöseimpulses (21) beschrieben. Das liehen den oben in Zusammenhang mit dem Befehls-Markierungsfeld (TA = 00 ist dem Auslösefeld SA 35 Steuersignalgenerator (Fig. 4a) beschriebenen glei- und den drei Mikrobefehlen O μ (1), Oμ (2) und chen. Zur Zeit CPl bewirkt die Betätigung des Tors Ομ(3) zugeordnet. 72, daß der Inhalt (eine Grundadresse) des Befehls-
Es sei angenommen, daß zunächst das SCTR- Zählers 39 ausgelesen wird. Der Addierer 37 braucht
Register auf die Zahl Fünf eingestellt ist und die etwa eine Taktimpulszeit, um die wirksame Adresse
■SCTR-Steuerbegrenzung 151 die Zahl Sieben enthält. 40 des zusammengesetzten Befehls (teilweise in F i g. 3
Der SCri?-Vergleicher 152 vergleicht den Grenz- gezeigt) zu bilden. Zur Taktimpulszeit CP 2 geben
wert und die Zahl (erhöhter oder erniedrigter Inhalt die vom Addierer 37 gelieferten Resultate den Speides
Registers 103) im SCT-R-Steuerzähler 30. Wenn cherort des zusammengesetzten Befehls im Kernwährend
der Ausführung des Makrobefehls der In- speicher 21 an. Zur Taktimpulszeit CP 3 wird das
halt des SCTÄ-Registers um Eins (auf Sechs) erhöht 45 Tor 7 7 betätigt, um den zusammengesetzten Befehl
worden ist, sendet daher der SCTÄ-Vergleicher 152 (der die oben in Verbindung mit F i g. 3 erläuterte
danach die Auslösenummer 21. Da das &4-Feld die Gruppe von Mikrobefehlen enthält) zum Befehls-Nummer
21 angibt (s. Tabelle I), beginnt die Aus- register 35 zu übertragen. Zur Taktimpulszeit CP 4
führung der drei dem SA-Feld zugeordneten Mikro- überträgt das Tor/4 den ganzen Makrobefehl aus
befehle beim Auftreten von Nr. 21. Aus Tabellen 50 dem Befehlsregister 35 in den Addierer 37, das Toi
ist zu entnehmen, daß die Mikrobefehle die folgen- /3 überträgt die Mikrobefehl-Auslösefelder SA-SE
den Korrekturen vornehmen: SCTR — 1, SCTR — 1 zum o-nach-öO-Entschlüsseler 53. Wie schon erläu-
und »Setze K«. Da das zugeordnete Markierungsfeld tert, wird jedes der Mikrobefehl-Auslösefelder aus
auf 00 steht, endet das Unterprogramm nach dem dem 6-Bit-5-Felder-Code in einen l-aus-60-Code
dritten Mikrobefehl. Diese Mikrobefehle sind nur als 55 umgeschlüsselt, um in den Vergleichern 54 bis 58
Beispiele gewählt worden und sind nicht unbedingt mit den sechzig aus der Recheneinheit 7 kommenden
die besten, die auf den betreffenden Auslösezustand Auslösesignalen verglichen zu werden. Es sei angeansprechen.
nommen, daß zur Taktimpulszeit 4 keine durch Aus-
Fig. 4a und 4b zeigen eine Reihe von Takt- lösefeider dargestellten Auslösesignale aufgetreten
impulsen CPl bis CP 95, die vom Taktgeber 47 ge- 60 sind, so daß alle bistabilen Kippschaltungen 59 bis
liefert werden. Die Wirkung von CPl bis CP12 und 63 auf den Anfangszustand 0 eingestellt bleiben. Zur
CP 90 bis CP 95 auf den Speicher 1 und die Tore der Taktimpulszeit CP 5 überträgt das Tor/6 das Adres-
Makrobefehlseinheit 5 und von CP 6 bis CP13 auf senfeld des Makrobefehls aus dem Addierer 37 zu
die Tore der Recheneinheit 7 werden hier erläutert den P- und ß-Byteformern 22 und 23, das Tor/8
werden. Die ersten fünf Taktimpulse CPl bis CP 5 65 überträgt die Operations- und Markierungsfelder des
veranlassen die Betätigung des Befehls-Steuersignal- Makrobefehls aus dem Addierer 37 zum Ausfüh-
generators 48, um einen zusammengesetzten Befehl längsregister 38, und das Tor 79 überträgt dann das
in das Befehlsregister 35 einzugeben und das System Operationsfeld zum Makrobefehlsentschlüsseler 36.
29 30
Die Tore 7 8 und 19 können entweder zusammen begrenzung 151 wird mit dem Inhalt des Registers
betätigt werden, wie es F i g. 4 a zeigt, oder die Be- 103 nach einer weiteren Erhöhung (Inhalt = 7) im
tätigung des Tors/9 kann verzögert werden, bis der Vergleicher 152 verglichen. Daher wird zwischen den
Inhalt des Ausführungsregisters 38 vom Steuersignal- Taktimpulsen CP 7 und CP 8 ein Auslösesignal 21
generator 46 ausgenutzt werden kann. 5 geliefert. Der Zustand der logischen Einheit 28 und
Nach dem Auftreten des Taktimpulses CP 5 ist die der Schalter 29 (unter anderem) wird durch die Fort-Steuerung
des zusammengesetzten Befehls abge- schaltschaltung 200 abgefühlt, um festzustellen, ob
schlossen, und das System beginnt nun, den Makro- infolge des Auftretens des nächsten Taktimpulses
befehl auszuführen, dessen Operationsfeld in den CP 8 der Makroring 109 zur Fortschalten-3-Stellung
Makrobefehlsentschlüsseler 36 eingebracht worden io weiterschalten muß (Eintritt in Zeitzone 3). Während
ist. Durch den im Befehlsregister 35 enthaltenen der Betätigung dieser vorstehend beschriebenen Tore
Makrobefehl angegebene Makrokommandos er- befindet sich infolge der schrittweisen Fortschaltung
scheinen im Steuersignalgenerator 46. des statistischen Zählers die Zahl 7 im SCTR-Zäfoler
Zur Taktimpulszeit CP 6 werden gemäß Fig. 4b 30, die gleich der Zahl 7 in der SCTIR-Steuerbegren-
die Tore A bis F, H, 1, 2, SUP, SUQ und SUU aus- j 5 zung 151 ist. Infolgedessen liefert der SCTR-Steuer-
gewählt infolge des Auftretens eines Fortschalten-1- vergleicher 152 einen Auslöseimpuls 21, bevor der
Ausgangssignals (Eintritt der Zeitzone 1) aus dem statistische Akkumulator eine Fortschalten-3-Anfor-
Makroring 149. Die Signale SUP, SUQ und SUU derung signalisieren kann.
wählen den P-Byteformer 22, den Ö-Byteformer 23 Das Auftreten des Auslösesignals 21, das dem
und die Tabellenentnahmeeinheit 27 in der genann- 20 &4-Feld im Befehlsregister 35 entspricht, bewirkt die
ten Reihenfolge aus. Die P- und Ö-Byteformer haben Erzeugung eines Ausgangssignals durch den Ver-
den Adressenteil des im Befehlsregister 35 stehenden gleicher CFA 54 im Auslöseregister 41, wodurch die
Makrobefehls empfangen und gewinnen nun (wäh- bistabile Kippschaltung TA 59 in den 1-Zustand ein-
rend der folgenden Taktimpulse) Zugriff zum Spei- gestellt wird. Die Vorrangschaltung 42 gibt ein Aus-
cher, um eine Anzahl von Speicherwörtern zu ent- 25 gangssignal auf Leitung SA ab, denn alle anderen
nehmen, aus denen Bytefolgen erzeugt werden. Jedes Ausgänge sind durch Sperreingangssignale an den
von einem Byteformer gelieferte Byte wird in züge- Und-Schaltungen 64, 65, 66, 67 gesperrt. Da die
ordnetes Speicherglied49, 50 bzw. 100 (Fig. 2i) Folgeschaltung44 zu Anfang so eingestellt worden
automatisch eingegeben. Infolge der Betätigung der ist, daß sie ein Signal auf die 7?0-Leitung gibt, ko-
Tore C, D und E wird ein Satz von Bytes von diesen 30 inzidieren RO- und &4-.Signale an der Und-Schaltung
Speichergliedern aus zu den ISC-, ISD- und ISE- 76 im Mikrobefehlswähler 43. Daher wird das TA-
Registern übertragen. Durch die Betätigung des Markierungsfeld (00) zum T^t-Entschlüsseler und
Tors B wird ein Byte aus dem dem Tabellenadressen- -Speicher 101 gesendet, und es erscheint ein Signal
vereiniger 26 zugeordneten Speicherglied in der glei- auf Leitung 00, das der Und-Schaltung 107 zugeführt
chen Weise zur Tabellenentnahmeeinheit 27 weiter- 35 wird. Als Ergebnis des von der Vorrangschalrung 42
geleitet. Die Tore 1 und 2 leiten Bytes aus dem erzeugten SA-Ausgangssignals liefert die Oder-Schal-
P-Byteformer 22 und dem Ö-Byteformer 23 weiter rung 200 ein Sperrsignal 7. Dieses Sperrsignal wird
zum 751-Register bzw. zum 752-Register. Das Tor A allen größeren Einheiten in dem System sowie dem
läßt den eventuellen vorherigen Inhalt des 752-Re- Mikroring 151 zugeführt, der dadurch rückgestellt
gisters (Fig. 2h), der automatisch in das zugeord- 40 wird. Das Auftreten eines Sperrsignals7 an der logi-
nete Speicherglied eingegeben worden ist, durch zu sehen Einheit 38 und an den Schaltern 29 verhindert
den ISLBA-Registern. Die Schalter 29 empfangen das normale Auftreten eines Fortschalten-3-Signals.
Bytes aus den P- und Q-Byteformern 22 und 23 und Der Makroring 149 schaltet nicht weiter, wodurch
der Tabellenentnahmeeinheit 27 ohne Betätigung die Recheneinheit 7 in ihrem gegenwärtigen Zustand
irgendwelcher Tore. Wenn die P- und Ö-Byteformer 45 gehalten und die Ausführung der Makrobefehle
22 und 23 und die Tabellenentnahmeeinheit 27 ihre unterbrochen wird.
Operationen beendet haben, erzeugen sie Signale, Beim Anstieg des Signals CP 8 erzeugt der Mikro-
deren Ergebnis ein Fortschalten-2-Signal ist, welches befehlsentschlüsseler ein Mikrokommandosignal
die Fortschaltschaltung 200 veranlaßt, ein Fortschal- »Folgeschaltung 44 fortschalten«, um diesen Ring
tensignal zur Und-Schaltung 150 zu senden. Beim 50 in die Stellung R1 weiterzuschalten und so die Und-
Auftreten des nächsten Taktimpulses CP 7 schaltet Schaltung 77 auszuwählen, die den Mikrobefehl
der Makroring 149 weiter zum Fortschalten-2-Zu- O μ (1) zum Mikrobefehlsentschlüsseler 45 überträgt,
stand (Eintritt in Zeitzone 2). Die so entstehenden Mikrokommandos werden wäh-
Zur Taktimpulszeit CP 7 sendet der Steuersignal- rend der Taktzeit CP 8 wirksam gemacht.
generator3 die Signale N, 7, 8 und SC. Infolge der 55 Zur Taktimpulszeit CP 8 bleibt der Mikroring 151 Betätigung eines der Tore /, K, L oder M wird ein auf Stufe 1 eingestellt. Da der erste Mikrobefehl 7 ausgewähltes Byte aus den Schaltern 29 in das Spei- »Fortschalten SCTR — 1« lautet, werden den Komcherglied 101 eingebracht. Im vorliegenden Beispiel mandoleitungen SCTR — 1 und 5CT7?-Fortschalten wird jetzt keines der Tore betätigt, und statt dessen Signale durch den Mikrobefehlsentschlüsseler 45 zuempfängt das Speicherglied 101 ein Byte aus der 60 geführt. Bei Koinzidenz von Signalen auf diesen Leilogischen Einheit 28 durch Betätigung des Tors N. tungen und der Leitung »Schritt 1« vom Mikroring Das Speicherglied 102 empfängt den Inhalt des 151 aus erscheinen Signale auf den Ausgangsleitungen SCTÄ-Steuerregisters 103 durch Betätigung des SC und — 1. Das Signal -1 wird dem SCTTt-Steuer-Tors 7. Das Signal SC öffnet das Tor SC, um den zähler 30 zugeleitet, und daher zeigt das Kabel 105 Inhalt 5 des SCTi?-Steuerregisters 103 durch den 65 den um Eins verringerten Inhalt des SCTi?-Registers 5CTi?-Steuerzähler 30 berichtigen zu lassen, der den 103 an, und dieser Betrag 5 wird in das SCTR-Steueigegenwärtigen Inhalt des SCZR-Steuerregisters plus 1 register 103 über das dem Tor SC zugeführte Signal (d. h. 6) enthält. Der Inhalt 7 der SCTR-Steuer- eingebracht. Auf diese Weise wird der Inhalt des
generator3 die Signale N, 7, 8 und SC. Infolge der 55 Zur Taktimpulszeit CP 8 bleibt der Mikroring 151 Betätigung eines der Tore /, K, L oder M wird ein auf Stufe 1 eingestellt. Da der erste Mikrobefehl 7 ausgewähltes Byte aus den Schaltern 29 in das Spei- »Fortschalten SCTR — 1« lautet, werden den Komcherglied 101 eingebracht. Im vorliegenden Beispiel mandoleitungen SCTR — 1 und 5CT7?-Fortschalten wird jetzt keines der Tore betätigt, und statt dessen Signale durch den Mikrobefehlsentschlüsseler 45 zuempfängt das Speicherglied 101 ein Byte aus der 60 geführt. Bei Koinzidenz von Signalen auf diesen Leilogischen Einheit 28 durch Betätigung des Tors N. tungen und der Leitung »Schritt 1« vom Mikroring Das Speicherglied 102 empfängt den Inhalt des 151 aus erscheinen Signale auf den Ausgangsleitungen SCTÄ-Steuerregisters 103 durch Betätigung des SC und — 1. Das Signal -1 wird dem SCTTt-Steuer-Tors 7. Das Signal SC öffnet das Tor SC, um den zähler 30 zugeleitet, und daher zeigt das Kabel 105 Inhalt 5 des SCTi?-Steuerregisters 103 durch den 65 den um Eins verringerten Inhalt des SCTi?-Registers 5CTi?-Steuerzähler 30 berichtigen zu lassen, der den 103 an, und dieser Betrag 5 wird in das SCTR-Steueigegenwärtigen Inhalt des SCZR-Steuerregisters plus 1 register 103 über das dem Tor SC zugeführte Signal (d. h. 6) enthält. Der Inhalt 7 der SCTR-Steuer- eingebracht. Auf diese Weise wird der Inhalt des
5CTi?-Steuerregisters 103 um Eins verringert. Der
Abfall des Taktimpulses CP 8 erfolgt in Verbindung mit einem Mikrokommando »Folgeschaltung 44 fortschalten«
aus dem Mikrobefehlsentschlüsseier 45, wodurch der Ring 44 in die Stellung R 2 fortgeschaltet
wird. Die Und-Schaltung 78 wird ausgewählt, und daher wird der Mikrobefehl O μ (2) zum Mikrobefehlsentschlüsseler
45 gesendet. Die sich daraus ergebenden Mikrokommandos werden während der nächsten Taktimpulszeit CP 9 ausgeführt.
Zur Taktimpulszeit CP 9 schaltet der Mikroring
151 nicht über Schritt 1 hinaus weiter, da kein Mikrokommando
»Mikroring 151 fortschalten« vorliegt. Der Inhalt »SCTR — 1 stoppen« des Mikrobefehls
O μ (2) bewirkt das Auftreten der Mikrokommandos »SCTR fortschalten« und »SCTR -1«, und daher
sendet der Steuersignalgenerator 46 Ausgangssignale SC und — 1 zum Tor SC und zum — 1-Eingang des
SCTÄ-Zählers 30. Infolge der Betätigung des Tors
SC wird der Inhalt 5 des SCZIR-Steuerregisters 103,
der im SCT-R-Steuerzähler 30 um Eins (auf 4) verringert
worden ist, auf den laufenden Stand 4 gebracht. Daher wird der Inhalt des SCTR-Steu&rregisters
103 wieder um Eins verringert. Der Abfall des Taktimpulses CP 9 in Verbindung mit einem
Mikrokommando »Folgeschaltung 44 fortschalten« veranlaßt die Fortschaltung der Folgeschaltung 44 in
die Stellung R 3, und die Und-Schaltung 19 wird ausgewählt. Der dritte Mikrobefehl O μ (3) wird zum
Mikrobefehlsentschlüsseier 45 übertragen, der Mikrokommandos erzeugt, die während des nächsten Taktimpulses
CPlO wirksam gemacht werden.
Zur Taktimpulszeit CFlO bleibt der Mikroring
152 in der Stellung Schritt 1, solange der Mikrobefehl Ομ(3) ausgeführt wird, der eine Speicherung aus
dem Ausgang der Schalter 29 erfordert. Durch diese Operation wird das aus der logischen Einheit 28
empfangene Byte im Speicherglied 101 in das ISR-Register übertragen, und an seine Stelle tritt ein Byte
aus den Schaltern 29. Durch das Mikrokommando »Setze K« in Verbindung mit einem Schritt-1-Signal
wird die Und-Schaltung 133 ausgewählt, die über die Oder-Schaltung 128 das Ύοτ K öffnet und über die
Oder-Schaltung 901 das Tor 9 betätigt. Durch das Tor K wird ein Byte aus den Schaltern 29 zum Speicherglied
101 übertragen. Das vorher von der logischen Einheit 28 in das Speicherglied 101 eingegebene
Byte wird durch die Betätigung des Tors 9 in das /SR-Register übertragen. Auf diese Weise wird in
einer Bytefolge Platz für ein zusätzliches Byte aus den Schaltern 29 geschaffen.
In den Markierungsfeldschaltungen 106 veranlaßt das Auftreten des i?3-Signals aus der Folgeschaltung
44 die Und-Schaltung 107 zum Erzeugen eines Ausgangssignals, das die Und-Sehaltung 68 wirksam
macht und dadurch die bistabile Kippschaltung TA 59 rückstellt. Hierdurch wird eine andere bistabile
Kippschaltung, wenn irgendeine durch ein Auslösesignal in den 1-Zustand gebracht wird, wirksam gemacht,
um von der Vorrangschaltung 42 bedient zu werden. Da es im vorliegenden Beispiel angenommen
wird, daß kein anderes Auslösefeld einen Auslösezustand beschreibt, der eingetreten ist, wird die Ausführung
des unterbrochenen Makrobefehls wieder aufgenommen. Das wird ermöglicht durch das Fehlen
von Ausgangssignalen auf allen Leitungen SA, SB, SC, SD oder SE, wodurch das Sperrsignal / aus
der Oder-Schaltung 300 beendet und so der Makroring 149 in den Stand gesetzt wird, in den Fortschalten-3-Zustand
(Eintritt in Zeitzone 3) zu Beginn des nächsten Taktimpulses CPIl weiterzuschalten.
Zur Taktimpulszeit CPIl werden die Tore 4, 5
und 10 betätigt, um Bytes zu den ISTP-, ISTQ- und /SS-Registern weiterzuleiten. Das während CPlO' in
das /ÄÄ-Register eingegebene Byte wird vom R-Bytsformer
24 verarbeitet. Später eingegebene Bytes werden automatisch verarbeitet, um Folgen von Bytes
ίο in parallele Datenwörter umzuformen, die dann im
Speicher gespeichert werden. Dieser Prozeß wird selbständig fortgesetzt. Während CPIl sendet der
Ä-Byteformer 24 ein Fortschalten-1-Signal.
Zur Zeit CP12 erfolgt erneut der Eintritt in die Zeitzone 1, und die Verarbeitung des Makrobefehls
wird fortgesetzt. Vor dem Taktimpuls CP 90 wird ein Auslösezustand erkannt, der dem betreffenden Auslösefeld
einer Gruppe von Mikrobefehlen mit dem Markierungsfeld 10 entspricht. Der dritte Mikro-
ao befehl in der diesem Markierungsfeld zugeordneten Gruppe gibt eine Adresse im Kernspeicher 21 an, wo
weitere Mikrobefehle für die Fortsetzung dieses Unterprogramms stehen. Wenn daher die Folgeschaltung
44 zum R 3-Zustand weiterschaltet, erzeugt die Und-Schaltung 109 in der Markierungsfeldschaltung
106 ein Ausgangssignal, das über die Oder-Schaltung 110 das Tor/l zur ZeitCO90 öffnet. Diejenige der
Und-Schaltungen 83, 87, 91 und 95, die dem diese
Adresse enthaltenden Mikrobefehl zugeordnet ist, wird betätigt, um die Adresse über das Tor/1 zum
Befehlszähler 39 zu übertragen.
Zur Taktimpulszeit CP 91 wird das Tor/2 in Verbindung
mit dem Tor/12 betätigt, um diese Adresse in das MAR 33 einzuführen. Diese Adresse wird aus
dem MAR in den Kernspeicher 21 übertragen und bewirkt, daß eine neue Gruppe von Mikrobefehlen
während des nächsten Taktimpulses CP 92 am-MBR
34 zur Verfugung steht.
Zur Taktimpulszeit CP 92 wird der Inhalt des MBR 34 zum Befehlsregister 35 durch die Betätigung
des Tors/7 übertragen und tritt an die Stelle der Operationsteile der Mikrobefehlsgruppe und des
Markierungsfeldes, das dem Mikrobefehl mit der Markierung 10 zugeordnet ist. Die Ausführung des
Mikrobefehls-Unterprogramms wird jetzt während der Unterbrechung des Makrobefehls wie vorher
fortgesetzt.
Claims (3)
1. Programmgesteuerte datenverarbeitende Maschine, in welcher, ausgelöst durch bestimmte
Zustände der Maschine, die Ausführung der Makrobefehle unterbrochen wird und während
dieser Unterbrechungen aus wenigstens einem Mikrobefehl bestehende Unterprogramme ausgeführt
werden, dadurch gekennzeichnet, daß dem/den jeweils ein Unterprogramm bildenden
Mikrobefehl(en) [μ-Β (1-3)] im Befehlsregister (35) ein Auslösefeld (S) zugeordnet ist, in
dem ein dem Unterprogramm zugeordnetes Zeichen gespeichert ist, und daß die Zustände der
Maschine, die die Ausführung eines Unterprogramms erfordern, codierte Signale auslösen, die
einer Befehlssteuerung (16) zugeführt werden, welche bei Übereinstimmung des codierten Signals
mit dem Inhalt eines Auslösefeldes (S) den
Makrobefehl (OP) unterbricht und die Ausführung des/der dem ausgewählten Auslösefeld (S) zugeordneten Mikrobefehls/Mikrobefehle
[μ-Β (1-3)] bewirkt.
2. Programmgesteuerte datenverarbeitende Maschine nach Anspruch 1, dadurch gekennzeichnet,
daß das Unterprogramm aus einem Korrekturbefehl (z.B. Verschiebung beim Überlauf) besteht.
3. Programmgesteuerte datenverarbeitende Maschine nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß eine Vorrangssteuerung vorgesehen ist, die beim gleichzeitigen Auftreten mehrerer
Auslösesignale die Reihenfolge der Ausführung der ihnen zugeordneten Mikrobefehle festlegt.
In Betracht gezogene Druckschriften:
Elektronische Rundschau, 1955, S. 349 bis 353.
Elektronische Rundschau, 1955, S. 349 bis 353.
Hierzu 1 Blatt Zeichnungen
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US152730A US3245044A (en) | 1961-11-16 | 1961-11-16 | Automatic program suspension system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1212748B true DE1212748B (de) | 1966-03-17 |
Family
ID=22544165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ22656A Pending DE1212748B (de) | 1961-11-16 | 1962-11-14 | Datenverarbeitende Maschine mit Programmunterbrechung |
Country Status (3)
Country | Link |
---|---|
US (1) | US3245044A (de) |
DE (1) | DE1212748B (de) |
GB (1) | GB993879A (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1250659B (de) * | 1964-04-06 | 1967-09-21 | International Business Machines Corporation, Armonk, NY (V St A) | Mikroprogrammgesteuerte Datenverarbeitungsanlage |
US3368205A (en) * | 1965-04-14 | 1968-02-06 | Gen Electric | Control apparatus in a data processing system |
GB1192371A (en) * | 1966-06-02 | 1970-05-20 | Automatic Telephone & Elect | Improvements in or relating to Data Processing Devices |
US3480917A (en) * | 1967-06-01 | 1969-11-25 | Bell Telephone Labor Inc | Arrangement for transferring between program sequences in a data processor |
US3573736A (en) * | 1968-01-15 | 1971-04-06 | Ibm | Interruption and interlock arrangement |
US3614740A (en) * | 1970-03-23 | 1971-10-19 | Digital Equipment Corp | Data processing system with circuits for transferring between operating routines, interruption routines and subroutines |
US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB803734A (en) * | 1955-11-16 | 1958-10-29 | Powers Samas Account Mach Ltd | Improvements in or relating to programme apparatus for electronic computing machines |
US3015441A (en) * | 1957-09-04 | 1962-01-02 | Ibm | Indexing system for calculators |
US3036773A (en) * | 1957-12-26 | 1962-05-29 | Ibm | Indirect addressing in an electronic data processing machine |
NL236961A (de) * | 1958-03-10 | |||
US3061192A (en) * | 1958-08-18 | 1962-10-30 | Sylvania Electric Prod | Data processing system |
-
0
- GB GB993879D patent/GB993879A/en active Active
-
1961
- 1961-11-16 US US152730A patent/US3245044A/en not_active Expired - Lifetime
-
1962
- 1962-11-14 DE DEJ22656A patent/DE1212748B/de active Pending
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
US3245044A (en) | 1966-04-05 |
GB993879A (de) |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE1524209B2 (de) | Programmgesteuerte datenverarbeitungsanlage | |
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE2930441C2 (de) | Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE1774052B1 (de) | Rechner | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE1499206B2 (de) | Rechenanlage | |
DE2363846A1 (de) | Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage | |
DE1909477A1 (de) | Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem | |
DE1212748B (de) | Datenverarbeitende Maschine mit Programmunterbrechung | |
DE1474351C3 (de) | Datenspeicher | |
DE2136210A1 (de) | Zentraleinheit fur eine EDV-Anlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1119567B (de) | Geraet zur Speicherung von Informationen | |
DE1285218B (de) | Datenverarbeitungsanlage | |
DE2720842A1 (de) | Daten-uebertragungssystem | |
DE2459476C3 (de) | ||
DE1184122B (de) | Addiervorrichtung |