DE1499215C - Steuerwerk fur einen Digitalrechner - Google Patents
Steuerwerk fur einen DigitalrechnerInfo
- Publication number
- DE1499215C DE1499215C DE19651499215 DE1499215A DE1499215C DE 1499215 C DE1499215 C DE 1499215C DE 19651499215 DE19651499215 DE 19651499215 DE 1499215 A DE1499215 A DE 1499215A DE 1499215 C DE1499215 C DE 1499215C
- Authority
- DE
- Germany
- Prior art keywords
- register
- priority
- control unit
- control
- registers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000011068 load Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000001419 dependent Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 210000004279 Orbit Anatomy 0.000 description 1
- 230000000903 blocking Effects 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 230000000875 corresponding Effects 0.000 description 1
- 230000003111 delayed Effects 0.000 description 1
- 238000009401 outcrossing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Description
Die Erfindung betrifft ein Steuerwerk für einen Digitalrechner mit Rechen-, Speicher-, Übertragungs-,
Ein- und Ausgabeeinheiten zur Bestimmung und Abgabe einer Folge von Mikrobefehlen durch Steuerung
mehrerer Ablaufketten, die aus bistabilen Elementen bestehen, von denen jeweils mehrere Elemente sich
im Eins-Zustand befinden, deren Eingänge abhängig von gerade ablaufenden Operationen und dem Inhalt
der Befehlsregister sowie der Zustandsregister über ein logisches Netzwerk gesteuert werden und deren
Ausgänge über einen Entschlüßler und eine Vorrangschaltung an verschiedenen Stellen einer Datenverarbeitungsanlage
nacheinander oder gleichzeitig
ίο wirksam gemacht werden.
Steuerwerke für elektronische Rechenmaschinen, die Mikrobefehlsfolgen zur Verfügung stellen, sind
bekannt. So ist z. B. in der deutschen Patentschrift 1147 783 ein Steuerwerk für elektronische Rechenmaschinen
beschrieben, das Ablaufketten, auch Sequenzketten genannt, aufweist. Bei diesem Steuerwerk
werden die Wirkausgänge einer ersten Sequenzkette parallel in einer Mehrzahl von Matrizen, die einen
Matrizenblock bilden, wirksam, währenddem die Wirkausgänge einer zweiten Sequenzkette eine oder
mehrere von diesen Matrizen auswählen, wobei die von einer Matrix ansteuerbare Folge von Mikrooperationen
einer Auswahl von Mikroprogrammen angehört. Außerdem wird durch diese Patentschrift
gezeigt, wie die Ablaufketten durch eine Vorrang-Steuerschaltung entsprechend der festgelegten Priori- täten
der verschiedenen Abläufe innerhalb einer Datenverarbeitungsanlage gesteuert werden.
Die Einstellung der Sequenzketten und die nachfolgende Ansteuerung der Matrizen, die bestimmte Mikrobefehlsfolgen enthalten, ist relativ langsam und in sehr schnellen Steuerwerken deshalb nicht brauchbar. Außerdem ist der technische Aufwand für eine derartige Lösung nicht unbeachtlich, da zur Ansteuerung der Matrixteile sehr aufwendige Treiberschaltungen und Auswahlschaltungen erforderlich sind. Ein weiteres, sehr speziell aufgebautes Steuerwerk ist durch die deutsche Patentschrift 1070 410 bekanntgeworden. Dieses Steuerwerk steuert die Reihenfolge der Unterbefehle, mit denen ein vorgesehener Hauptbefehl ausgeführt wird. Zu diesem Zweck besteht dieses Steuerwerk aus Schieberegistern, denen Hauptbefehle zugeordnet sind. Diese Register sind aus bekannten Magnetkernen aufgebaut.
Die Einstellung der Sequenzketten und die nachfolgende Ansteuerung der Matrizen, die bestimmte Mikrobefehlsfolgen enthalten, ist relativ langsam und in sehr schnellen Steuerwerken deshalb nicht brauchbar. Außerdem ist der technische Aufwand für eine derartige Lösung nicht unbeachtlich, da zur Ansteuerung der Matrixteile sehr aufwendige Treiberschaltungen und Auswahlschaltungen erforderlich sind. Ein weiteres, sehr speziell aufgebautes Steuerwerk ist durch die deutsche Patentschrift 1070 410 bekanntgeworden. Dieses Steuerwerk steuert die Reihenfolge der Unterbefehle, mit denen ein vorgesehener Hauptbefehl ausgeführt wird. Zu diesem Zweck besteht dieses Steuerwerk aus Schieberegistern, denen Hauptbefehle zugeordnet sind. Diese Register sind aus bekannten Magnetkernen aufgebaut.
Dieses Steuerwerk hat jedoch den Nachteil, daß es keine Prioritäten bei der Ausführung von Befehlsfolgen berücksichtigt und daß, da immer nur ein
Kern ausgewählt wird, nur der mit diesem Kern verknüpfte Mikrobefehl bzw. die Mikrobefehlsfolge in
einem bestimmten Zeitabschnitt ablaufen können.
Der Erfindung liegt deshalb die Aufgabe zugrunde, ein Steuerwerk für einen Digitalrechner zu schaffen,
das die einzelnen Teile einer Datenverarbeitungsanlage durch zeitliche Überlappung bzw. Parallelbetrieb
verschiedener Operationen innerhalb der Datenverarbeitungsanlage besser ausnutzt und die
Flexibilität der gesamten Anlage nach außen wesentlich erhöht, ohne daß der Programmierungsaufwand
erhöht wird.
Die erfindungsgemäße Lösung besteht in einem Steuerwerk, das dadurch charakterisiert ist, daß allen
Ablaufketten je ein separater Entschlüßler nachgeschaltet ist, deren Ausgänge mit den Eingängen eines
gemeinsamen Entschlüßlers und den Eingängen von Odergattern verbunden sind, daß die genannten Entschlüßler
von einer gemeinsamen bekannten Vorrang-Steuerschaltung gesteuert werden und daß dem Ausgang
des gemeinsamen Entschlüßlers Register nach-
3 4
geschaltet sind, deren Ausgangssignal auf die Vorrang- rechte Hälfte eines Datenwortes vom Speicherregister
Steuerschaltung zur Sperrung derselben geleitet wird 3-6 direkt und seine linke Hälfte über die Auskreuzung
und zum anderen über einen weiteren Entschlüßler 3-5. Es liefert seine Daten an das ^-Register 3-12, an
und Odergatter die Steuerung des Datenflusses zwi- das ^-Register 3-13 oder an das 5-Register 3-14
sehen Registern der Datenverarbeitungsanlage über- 5 weiter.
nimmt. Die Z-Sammelleitung 3-4 liefert ihre Daten an das
Der Vorteil des erfindungsgemäßen Steuerwerkes Speicherregister 3-6 und an die arithmetischen und
besteht darin, daß mit einem sehr geringen technischen logischen Rechenwerke 3-17 und 3-18. Die Z-Sam-Aufwand
Mikrobefehle mit einem Minimum an Zeit melleitung 3-4 erhält ihre Daten vom ^-Register 3-12,
mehrmals an verschiedenen Stellen einer Datenver- io vom ^(-Register 3-13 oder vom 5-Register 3-14.
arbeitungsanlage, wo sie benötigt werden, zur Wirkung Das Wesen dieser Anordnung nach F i g. 3 besteht
gebracht werden können und daß gleichzeitig an einer darin, daß der Speicher über das Speicherregister 3-6
anderen Stelle von der gleichen Ablaufkette ein wei- und die Speicher-Entnahme-Sammelleitungen 3-2 und
terer Befehl ausgeführt werden kann. Gleichzeitig 3-3 sowie die Auskreuzung 3-5 mit ausgewählten
mit diesen Operationen können außerdem auch andere 15 Registern oder arithmetischen Rechenwerken ver-Ablaufketten
über ihren eigenen Entschlüßler Mikro- bunden ist. Während der Rechnung werden die vorbefehle
abgeben und andere Teile einer Datenver- übergehend in den Registern gespeicherten Daten
arbeitungsanlage überlappt steuern, wodurch die entweder verarbeitet oder zur Steuerung der arith-Flexibilität
des Steuerwerkes und damit der gesamten metischen und logischen Rechenwerke verwendet. Die
Datenverarbeitungsanlage wesentlich erhöht wird. 20 Ergebnisse gelangen über die Speicher-Eingabe-Im
folgenden wird ein Ausführungsbeispiel der Sammelleitungen 3-1 und 3-4 über das Speicher-Erfindung
an Hand der Zeichnungen beschrieben. register 3-6 zurück zum Speicher. Die meisten Re-Es
zeigt gister sind lediglich an zwei Sammelleitungen ange-F i g. 1 das Blockschaltbild des Steuerwerkes, schlossen, das ^(-Register jedoch verkehrt mit drei
F i g. 2 das Zeitdiagramm eines Beispieles und 25 Sammelleitungen.
F i g. 3 das Blockschaltbild der Datenwege eines An allen Verbindungspunkten der Sammelleitungen
Digitalrechners, der das erfindungsgemäße Steuerwerk mit anderen Sammelleitungen, Registern oder Rechenenthält,
werken befinden sich Torschaltungen. Diese Tor-Wie F i g. 3 zeigt, werden die hauptsächlichen schaltungen werden von den Oder-Schaltungen 1-19
Datenwege des Digitalrechners, der erfindungsgemäße 30 oder dem Steuerregister 1-20 von F i g. 1 betätigt.
Steuerwerke enthält, durch die vier Sammelleitun- Diese wiederum werden entsprechend den Befehlen
gen W, X, Y und Z 3-1 bis 3-4 gebildet. Die beiden im Befehlsregister 1-28 über das in F i g. 1 gezeigte
X- und F-Sammelleitungen 3-2 und 3-3 sind Speicher- Vorrang-Steuerwerk erregt.
entnahmeleitungen und die beiden W- und Z-Sammel- Das Vorrang-Steuerwerk bewirkt, daß die Datenleitungen
sind Speichereingabeleitungen. Die Aus- 35 wege nach F i g. 3 einschließlich der Rechenwerke,
kreuzung 3-5 ermöglicht den Austausch von Daten Sammelleitungen und Register derart zusammenzwischen
den beiden Speicherentnahmeleitungen. Die geschaltet werden, daß sie als Rechner arbeiten. Das
vier Sammelleitungen verbinden das Speicherregister Vorrang-Steuerwerk enthält im wesentlichen eine
3-6 und die übrigen Register mit den arithmetischen Anzahl von Ablaufketten 1-1 bis 1-7, welche geeignete
und den logischen Rechenwerken. Die Register 3-8 40 Folgen von Mikrobefehlen erzeugen und damit jeweils
bis 3-14 dienen als Schnellspeicher. Der Adreßschalter die Ausführung einer kurzen Folge von Operationen
3-15 und das Speicher-Adreßregister 3-16 werden für veranlassen. Die Vorrangschaltung 1-15 stellt dabei
die Speicherauswahl und für die Adressenänderung fest, welche Ablaufkette sofortigen Zugang zu den
benötigt. Die arithmetischen und logischen Rechen- Datenwegen haben muß. Jede Operation besteht aus
werke 3-17 bis 3-19 führen Multiplikation, Addition 45 dem Weiterleiten von Daten und dem Steuern von
und schrittweises Verändern aus. Die W- und Z-Sam- logischen Funktionen und nimmt zwei aus je zwei
melleitungen 3-1 und 3-4 haben Speicherfunktion, wie halben Umläufen bestehende Maschinenumläufe in
durch die Selbsthalteschaltungen 3-21 und 3-24 ange- Anspruch. In der ersten Hälfte jedes Umlaufes werden
deutet ist. Die W- und Z-Sammelleitungen sind weiter- dabei die Sammelleitungen und in der zweiten Hälfte
hin mit Paritäts-Prüfschaltungen 3-31 und 3-34 ver- 50 die Register beeinflußt.
sehen. Die Ablauf ketten steuern folgende Funktionen: Die PF-Sammelleitung 3-1 liefert vier Bytes an das IO 1-1 die Ein- und Ausgabe, DX 1-2 die Datenüber-Speicherregister
3-6. Diese Bytes gelangen auf die tragung, CA, CB und CC 1-3 bis 1-5 die Operanden-J^-Sammelleitung
3-1 entweder vom Z)-Register 3-8, steuerung, IL 1-6 das Befehlsladen und BP1-7 die
vom C4-Register 3-9, vom C8-Register 3-10, vom 55 Byteverarbeitung. Dabei sind die Vorrangstufen in
CC-Register 3-11, vom ^-Register 3-13 oder von einer der angegebenen Reihenfolge zugeteilt. Die Ein- und
Ein- oder Ausgabe-Einheit. Die Z-Sammelleitung 3-2 Ausgabe z. B. wird durch elektromechanische Einerhält
ihre Daten entweder direkt von der linken richtungen beeinflußt und ist somit zeitlich nicht so
Hälfte des Speicherregisters 3-6 oder indirekt von flexibel wie andere Operationen. Hier wurde daher
seiner rechten Hälfte über die Auskreuzung 3-5. Die 60 die höchste Vorrangstufe zugeteilt. Die Vorrangstufe
Z-Sammelleitung 3-2 liefert die Daten entweder an ist jeweils fest mit der Ausnahme der /L-Ablaufkette
das D-Register 3-8, an das C4-Register 3-9, an das 1-6, welche unter bestimmten Umständen die CA-,
C5-Register 3-10 oder an das CC-Register 3-11. Das CB- und CC-Ablaufketten 1-3 bis 1-5 umgehen kann.
Null-Byte der Z-Sammelleitung kann weiterhin an Jede Ablaufkette enthält zwei Register für die zu
ein spezielles Register, das Schutzregister 3-25, weiter- 65 einer Operation gehörenden Mikrobefehle. So enthält
gegeben werden. die DX- Ablauf kette 1-2 das 5-Register 1-8, welches
Die Y-Sammelleitung 3-3 ist im wesentlichen ein zur Sammelleitungszeit arbeitet, und das i?-Register
Spiegelbild der Z-Sammelleitung 3-2. Sie erhält die 1-9, welches zur Registerzeit arbeitet.
Eine Ablaufkette ist also eine Einrichtung, die mehrere, den einzelnen vielsteiligen Mikrobefehlen
zugeordnete Zustände einnehmen kann. Diese Zustände folgen nicht in einer bestimmten, festen Reihenfolge
aufeinander, sondern in einer von einer (hier nicht gezeigten) Verknüpfungsschaltung gesteuerten,
von dem derzeitigen Inhalt der Register der Ablaufkette, dem Inhalt des Befehlsregisters 1-28 und demjenigen
eines Zustandsregisters 1-29 abhängigen Reihenfolge.
Jede Ablaufkette 1-1 und 1-2 ist mit ihrem Ausgang an eine Entscheidungsschaltung 1-11 und 1-12 sowie
an einen ersten Entschlüßler 1-13 und 1-14 angeschlossen. Die Entscheidungsschaltungen 1-11 und
1-12 melden an die Vorrangschaltung 1-15 weiter, daß ihre zugehörigen Ablaufketten zur Abgabe eines
Mikrobefehls bereit sind. Die Vorrangschaltung 1-15 veranlaßt dann die Ablaufkette mit der höchsten
Vorrangstufe zur Abgabe ihres Mikrobefehls an den zugehörigen ersten Entschlüßler 1-13 und 1-14. Wenn
z. B. die DZ-Ablaufkette 1-2 die höchste Vorrangstufe
aufweist, was durch ein Signal der Entscheidungsschaltung 1-12 an die Vorrangschaltung 1-15 bei Abwesenheit
eines Signals der Entscheidungsschaltung 1-11 angezeigt wird, gibt die Vorrangschaltung 1-15
ein Auslösesignal an den ersten Entschlüßler 1-14 weiter.
Der ausgewählte erste Entschlüßler gibt ein Signal an seine Ablaufkette zurück, um diese in ihren nächsten
Zustand umzuschalten. Weiterhin erregt sie die Auslöseleitungen 1-16 und den Verschlüßler 1-17. Die
Signale auf den Auslöseleitungen 1-16 werden über die Oder-Schaltungen 1-19 zur Sammelleitungszeit und
über die Oder-Schaltungen 1-18 und über das etwas verzögernde Steuerregister 1-20 zur Registerzeit an
die Torschaltungen der Anordnung nach F i g. 3 weitergeleitet, so daß in der ersten Hälfte des Umlaufs
Daten auf die Sammelleitung und in der zweiten Hälfte des Umlaufs Rechenergebnisse zurück in die
entsprechenden Register gesteuert werden.
Der Verschlüßler 1-17 bewirkt das Zwischenspeichern des gerade abgegebenen und entschlüsselten
Mikrobefehls in den B- und i?-Registern 1-22 und 1-23 der Vorrangkette, um ihn im nächsten Maschinenumlauf
erneut zur Steuerung einer kurzen Folge von Operation heranziehen zu können. Im nächsten
Maschinenumlauf wird hierfür der gespeicherte Mikrobefehl den Registern 1-22 und 1-23 entnommen und
über den zweiten Entschlüßler 1-24 den Oder-Schaltungen 1-18 und 1-19 zugeführt.
Alle Mikrobefehle der Ablaufketten enthalten eine Paritäts-Prüfziffer. Diese könnte auch über die Entschlüßler
und die Vorrangkette weitergeführt werden. Die Punkte 1-25 und 1-26 wären hierbei geeignete
Stellen für eine Paritätsprüfung. Da sich jedoch das fehlerfreie Arbeiten der Entschlüßler an den Ausgängen
der Oder-Schaltungen 1-19 und des Steuerregisters 1-20 wiederspiegelt, ist es ausreichend, die
Paritätsprüfung nur an den Sammelleitungen durchzuführen.
Da sowohl die ersten als auch der zweite Entschlüßler Zugang zu den Oder-Schaltungen 1-19 und
dem Steuerregister 1-20 haben und es verhindert werden muß, daß beide Mikrobefehle die gleichen
Sammelleitungen verwenden, ist es notwendig, alle die Fälle festzustellen, in denen der erste Umlauf
einer Operation mit dem zweiten Umlauf der vorhergehenden Operation kollidieren kann. Dies wird
durch eine Konfliktschaltung 1-27 durchgeführt, welche mit der Vorrangschaltung 1-15 zusammenarbeitet und
das Veranlassen einer Ablaufkette zur Abgabe eines Mikrobefehls verhindert. Der Konfliktschaltung 1-27
werden die in den, Registern 1-22 und 1-23 der Vorrangkette gespeicherten Werte zusammen mit einer
Kennzeichnung zugeführt, aus welcher hervorgeht, welcher Ablauf kette diese Werte entstammen. Aus
diesen Werten bestimmt die Konfliktschaltung, welche
ίο Sammelleitungen für die Ausführung des in der Vorrangkette
gespeicherten Mikrobefehls benötigt werden. Wenn eine dieser Sammelleitungen auch in dem ersten
Umlauf der folgenden Operation benötigt wird, wird der zu dieser folgenden Operation gehörende Mikrobefehl
erst im nächsten Umlauf entschlüsselt.
Im folgenden sei die Arbeitsweise des Digitalrechners, der das erfindungsgemäße Steuerwerk enthält,
näher beschrieben. Der Digitalrechner steuert gleichzeitig eine Datenverarbeitungsoperation und
die Datenübertragung durch verschiedene Ein- und Ausgabekanäle. Die Operation der Kanäle wird
durch das Hauptprogramm eingeleitet und läuft dann unabhängig von der Datenverarbeitung und voneinander
unter Steuerung der 10- und £>Z-Ablaufketten
1-1 und 1-2 ab.
Die Datenverarbeitung kann in fünf unabhängige Teile eingeteilt werden, einen Teil für das Befehlsladen (/L), einen für die Befehlsausführung (BP) und
drei für die Operandensteuerung (CA, CB, CC).
Die Befehlsladefolge beschafft die Befehle für den Digitalrechner. Die Befehlsausführungsfolge steuert
die Ausführung der gewünschten arithmetischen oder logischen Operationen, wenn die zugehörigen Operanden
in den entsprechenden Registern zur Verfügung stehen. Diese beiden Folgen sind voneinander unabhängig
und treten auch nicht gleichzeitig auf.
Eine Operandensteuerungsfolge bringt die Operanden vom Speicher in die entsprechenden Register
oder speichert Resultate ab. Sie führt dazu auch vorbereitende Aufgaben aus, wie indirektes Adressieren,
Indizieren, Steuerwortmodifizieren und Adressenrechnen. Wenn die Anzahl der Operanden und Resultate
eines Befehls 3 ist, werden drei Operandensteuerfolgen benötigt. Diese Folgen arbeiten aus zwei
Gründen gleichzeitig mit den Befehlslade- und Ausführungsfolgen sowie miteinander. Erstens muß eine
Operandensteuerfolge den Inhalt eines Registers laden oder abspeichern, wenn eine Wort- oder Halbwortgrenze
erreicht ist oder wenn ein zu verarbeitendes Datenfeld angefangen oder verbraucht ist. Diese Vorfälle
geschehen bei allen Operanden zu verschiedenen Zeiten, die am besten durch eigene Schaltungen und
eigene Steuerfolgen für jeden Operanden festgestellt werden. Zweitens kann eine Zeitersparnis nur durch
unabhängige Operandensteuerfolgen erreicht werden, wenn, wie beim indirekten Adressieren, zwischen den
einzelnen Speicherumläufen solche für Entscheidungen (ob weitere indirekte Adressierungen erforderlich sind)
eingeschoben werden müssen, welche dann vorteilhaft für Speicherumläufe anderer Operandensteuerfolgen
verwendet werden können.
Jede Steuerfolge kann unabhängig von anderen solchen Folgen ablaufen. Wenn jedoch mehr als eine
Steuerfolge die Benutzung einer funktionellen Einheit erfordert, muß eine Vorrangsteuerung angewendet
werden. Hierfür ist eine Vorrangfolge ausreichend, die von einer Vorrangschaltung überwacht wird.
Für jeden Ein- und Ausgabekanal werden zwei
Für jeden Ein- und Ausgabekanal werden zwei
Steuerfolgen benötigt, eine Bytesteuerfolge und eine Datenübertragungsfolge. Anstatt zwei eigene Folgen
für jeden Kanal vorzusehen, wurde nun eine zweite Vorrangstufe für die gesamte Ein- und Ausgabe eingerichtet.
Hierdurch wurde die erforderliche Ausrüstung auf zwei unabhängige Folgen und eine der
Anzahl der Kanäle gleicher Anzahl von Zustands-Flipflops verringert.
Die unabhängigen Steuerfolgen' werden durch die Ablaufketten realisiert. Die Ablaufketten bestehen,
wie bereits weiter oben angegeben wurde, aus zwei Registern. Fünf Flipflops und ein Paritäts-Flipflop
je Register reichen aus, wenn die Anzahl der zu steuernden Zustände nicht größer ist als 32.
Wenn eine Ablaufkette zur Abgabe ihres Mikrobefehls veranlaßt wird, so dient dieser zum Öffnen
der erforderlichen Torschaltungen des Digitalrechners. Im allgemeinen erfordert jede Operation eine Speicherbefragung.
Sie benötigt dann zwei Maschinenumläufe, einen ersten Umlauf für das Adressieren und einen
zweiten Umlauf für die Datenübertragung. Während jeder dieser Umläufe müssen ankommende und abgehende
Torschaltungen gesteuert werden. Deswegen müssen zu vier verschiedenen Zeiten Steuervorgänge
vorgenommen werden.
Der Mikrobefehl am Ausgang einer Ablaufkette wird an einen ersten Entschlüßler und an eine Entscheidungsschaltung
angelegt. Der Ausgang der Entscheidungsschaltung ist mit der Vorrangschaltung, derjenige des ersten Entschlüßlers mit verschiedenen
Torschaltungen und dem Eingang der Ablaufkette verbunden.
Abhängig von der Art des Mikrobefehls ist die Vorrangschaltung betroffen oder nicht. Wenn die Vorrangschaltung
nicht betroffen ist, läuft die Kette abhängig von ihrem derzeitigen Zustand und etwaigen
äußeren Bedingungen in ihren nächsten Zustand weiter. Gleichzeitig werden die zugehörigen Torschaltungen
geöffnet. Die Mehrzahl aller Mikrobefehle jedoch benutzt die Sammelleitungen und den Speicher
und benötigt daher die Vorrangschaltung. Solange die Ablaufkette noch nicht zur Abgabe ihres Mikrobefehls
veranlaßt wurde, öffnet der erste Entschlüßler noch keine Torschaltungen, und die Ablaufkette bleibt unverändert
in ihrem Zustand. Sobald jetzt die Abgabe veranlaßt wird, werden die Ausgangsimpulse des
ersten Entschlüßlers wirksam, und die Kette nimmt am Ende des Umlaufs ihren nächsten Zustand abhängig
von ihrem alten Zustand und den Bedingungen des Rechners ein. Die Vorrangschaltung wirkt wie ein
Verteiler und leitet den Mikrobefehl einschließlich seiner Paritäts-Prüfstelle an den Verschlüßler weiter,
welcher den Mikrobefehl derart verschlüsselt, daß er sowohl die zugehörige Ablaufkette als auch die erforderliche
Operation kennzeichnet. Dieser Schlüssel wird in den Registern 1-22 und 1-23 der Vorrangkette für
einen ganzen Maschinenumlauf gespeichert und anschließend an den zweiten Entschlüßler 1-24 weitergeleitet,
dessen Ausgangssignale die Torschaltungen des Rechners während des zweiten Maschinenumlaufs
öffnen. Während jede Ablaufkette einen eigenen ersten
Entschlüßler 1-13, 1-14 aufweist, ist nur ein einziger gemeinsamer zweiter Entschlüßler 1-24 vorhanden.
Jeder Entschlüßler steuert mehrere Torschaltungen. Eine Torschaltung wird jedoch nur entweder von den
Oder-Schaltungen 1-18 oder von den Oder-Schaltungen 1-19 geöffnet. Die Verzögerung in den Registern
1-22 und 1-23 der Vorrangkette ermöglicht es einer Ablaufkette, die Torschaltungen während zweier aufeinanderfolgender
Maschinenumläufe zu steuern. Da weiterhin die Ausgangssignale sowohl der ersten als
auch der zweiten Entschlüßler durch das Steuerregister 1-20 verzögert werden, treten die Torsteuersignale zu
vier verschiedenen Zeitpunkten auf: im ersten Umlauf zur Sammelschienen- und zur Registerzeit und im
zweiten Umlauf zur Sammelschienen- und zur Registerzeit.
ίο Der Informationsfluß der Mikrobefehle von der
Ablaufkette über die ersten Entschlüßler 1-13, 1-14 und die Register 1-22, 1-23 der Vorrangkette zum
zweiten Entschlüßler 1-24 und schließlich von den Entschlüßlern zu den Torschaltungen des Rechners,
ermöglichen die Überlappung des zweiten Umlaufs einer Operation mit dem ersten Umlauf der folgenden
Operation, sofern die Benutzung der Sammelschienen und des Speichers nicht kollidieren. Die jeweils in den
ersten und zweiten Umläufen auszuführenden Operationen können so ausgewählt werden, daß derartige
Kollisionen selten auftreten. Die Konfliktschaltung
1-27 stellt mögliche Kollisionen fest und verhindert in
solchen Situationen die Überlappung.
Die X- und 7-Sammelschienen von F i g. 3 werden zur Speicherentnahme während eines zweiten Umlaufs benötigt. Die W- und Z-Sammelleitungen werden während eines ersten Umlaufs zum Adressieren des Speicheradreßregisters und zum Abändern des Adreßregisters des Rechners benötigt. Da aber die W- und Z-Sammelleitungen auch während des zweiten Umlaufs zum Abspeichern von Informationen benötigt werden, ist es nicht möglich, das Abspeichern von Daten mit dem Adressieren des Speichers für die folgende Operation zu überlappen. Die Konfliktschaltung 1-27 und die Vorrangschaltung 1-15 erkennen alle Speicheroperationen und verzögern die folgenden Operationen um einen Umlauf. Diese Verzögerung ist tragbar, da die Mehrzahl aller Operationen entweder Daten dem Speicher entnehmen oder ohne Speicherbefragung verarbeiten und nur eine kleine Gruppe Daten abspeichert. Datenverarbeitungsoperationen verwenden die W- und Z-Sammelleitungen, aber nicht den Speicher. Deshalb können solchen Datenverarbeitungsoperationen die ersten Umläufe stets zugeteilt werden.
Die X- und 7-Sammelschienen von F i g. 3 werden zur Speicherentnahme während eines zweiten Umlaufs benötigt. Die W- und Z-Sammelleitungen werden während eines ersten Umlaufs zum Adressieren des Speicheradreßregisters und zum Abändern des Adreßregisters des Rechners benötigt. Da aber die W- und Z-Sammelleitungen auch während des zweiten Umlaufs zum Abspeichern von Informationen benötigt werden, ist es nicht möglich, das Abspeichern von Daten mit dem Adressieren des Speichers für die folgende Operation zu überlappen. Die Konfliktschaltung 1-27 und die Vorrangschaltung 1-15 erkennen alle Speicheroperationen und verzögern die folgenden Operationen um einen Umlauf. Diese Verzögerung ist tragbar, da die Mehrzahl aller Operationen entweder Daten dem Speicher entnehmen oder ohne Speicherbefragung verarbeiten und nur eine kleine Gruppe Daten abspeichert. Datenverarbeitungsoperationen verwenden die W- und Z-Sammelleitungen, aber nicht den Speicher. Deshalb können solchen Datenverarbeitungsoperationen die ersten Umläufe stets zugeteilt werden.
Die Ausgangssignale der Ablaufketten und der Vorrangkette werden, einschließlich der Paritäts-Prüfstellen,
von den ersten und den zweiten Entschlüßlern dekodiert. Nur gültige Codewerte können Signale
erzeugen, die tatsächlich Torschaltungen öffnen. Ein Codewert mit ungültiger Parität oder ein nicht verwendeter
Codewert mit gültiger Parität kann keine Informationen an die W- und Z-Sammelleitungen
weiterleiten. Die Paritäts-Prüfschaltungen auf diesen beiden Sammelleitungen arbeiten jedoch ununterbrochen
und stellen, da ungerade Parität erforderlich ist, auch die Abwesenheit von Informationen auf den
Sammelleitungen fest. Daher können die Paritäts-Prüfschaltungen auf den Sammelleitungen auch indirekt
zum Überprüfen des Vorrang-Steuerwerks benutzt werden. Gültige Codewerte senden stets Informationen
auf allen Bytes der W- und Z-Sammelleitungen. Auch wenn auf einer dieser Sammelleitungen keine Information
benötigt wird, so wird wenigstens die richtige Paritäts-Prüfziffer erzeugt. Hierdurch werden übrigens
auch die Zähl- und Byte-Adressierschaltungen noch zusätzlich geprüft. Die Prüfung erstreckt sich nicht
nur auf die einzelnen Ablaufketten, sondern auch auf einen Fehler in der Vorrangschaltung oder in der
209 532/325
Vorrangkette. Fehler in den Entschlüßlern und in den Torschaltungen werden durch das Fehlen von
Informationen auf den Sammelleitungen oder durch das Vorhandensein von zu vielen Informationen entdeckt.
Da für jede Sammelleitung vier verschiedene Paritätsprüfungen erfüllt sein müssen, ist es sehr wahrscheinlich,
daß irgendwo eine falsche Parität auftritt, wenn versehentlich zwei oder mehr Register gleichzeitig
an eine Sammelleitung angeschlossen werden. Obwohl natürlich auch eine Kompensation solcher
Fehler möglich ist, ist die Möglichkeit so unwahrscheinlich, daß die Paritätsprüfungen auf den Sammelleitungen
eine völlig ausreichende Prüfung des Vorrang-Steuerwerks ergeben.
In F i g. 2 ist als Beispiel der zeitliche Ablauf eines Addierbefehls für festes Komma und einer erfolgreichen
Verzweigung dargestellt. Bei der ersten Befehlsadresse des Addierbefehls wird eine einstufige
indirekte Adressierung vorgenommen und der erste Operand überschreitet eine Wortgrenze. Gleichzeitig
mit dieser Addieroperation läuft eine Ein- und Ausgabeoperation für zwei Bytes ab. Die obere Zeile
der Abbildung stellt die ersten Umläufe, die untere Zeile die zweiten Umläufe dar. Die zugehörigen Ablaufketten
sind jeweils unter den Strichen vermerkt. Die Bezeichnung bei dem ersten Markierungsstrich
bedeutet, daß der Inhalt des D-Registers unter der Steuerung der /L-Ablaufkette an die Sammelleitung W
ίο weitergeleitet wird.
Das Diagramm illustriert das allgemeine Prinzip der Vorrangsteuerung und einiger weiterer damit
zusammenhängender Erwägungen. So wird z. B. bei der Speicheradressierung für die Ein- und Ausgabe
die ^-Sammelleitung nicht benutzt, daher kann die Speicherbefragung für die Ein- und Ausgabe gleichzeitig
mit einer Datenverarbeitung erfolgen. Eine Kollision beim Abspeichern ist beim Übergang von
der Addier- zur Verzweigungsoperation dargestellt.
Hierzu 1 Blatt Zeichnungen
Claims (5)
1. Steuerwerk für einen Digitalrechner mit Rechen-, Speicher-, Übertragungs-, Ein- und Ausgabeeinheiten
zur Bestimmung und Abgabe einer Folge von Mikrobefehlen durch Steuerung mehrerer
Ablaufketten, die aus bistabilen Elementen bestehen, von denen jeweils mehrere Elemente
sich im Eins-Zustand befinden, deren Eingänge abhängig von gerade ablaufenden Operationen
und dem Inhalt der Befehlsregister sowie der Zustandsregister über ein logisches Netzwerk gesteuert
werden und deren Ausgänge über Entschlüßler und mit Hilfe einer Vorrangschaltung
an verschiedenen Stellen einer Datenverarbeitungsanlage nacheinander oder gleichzeitig wirksam
gemacht werden, dadurch gekennzeichnet, daß allen Ablaufketten (1-1 bis 1-7) je ein
separater Entschlüßler (z. B. 1-13, 1-14) nachgeschaltet ist, deren Ausgänge mit den Eingängen
eines gemeinsamen Entschlüßlers (1-17) und den Eingängen von Odergattern (1-18 bzw. 1-19) verbunden
sind, daß die genannten Entschlüßler von einer gemeinsamen bekannten Vorrang-Steuerschaltung
(1-15) gesteuert werden und daß dem Ausgang des gemeinsamen Entschlüßlers (1-17)
Register (1-22 und 1-23) nachgeschaltet sind, deren Ausgangssignal auf die Vorrang-Steuerschaltung
(1-15) zur Sperrung derselben geleitet wird und zum anderen über einen weiteren Entschlüßler
(1-24) und Odergatter (1-18, 1-19) die Steuerung des Datenflusses zwischen Registern der Datenverarbeitungsanlage
übernimmt.
2. Steuerwerk nach Anspruch 1, dadurch gekennzeichnet, daß jeder abgegebene Mikrobefehl
in einer Vorrangkette (1-17, 1-22, 1-23) zwischengespeichert und nach Ablauf eines Maschinenumlaufs
erneut zur Steuerung einer kurzen Folge von Operationen herangezogen werden kann.
3. Steuerwerk nach Anspruch 2, dadurch gekennzeichnet, daß eine Konfliktschaltung (1-27)
die Vorrangschaltung (1-15) am Veranlassen einer Ablaufkette zur Abgabe eines Mikrobefehls hindert,
wenn dieser die gleichen Sammelleitungen zwischen Registern und Verknüpfungsschaltungen verwendet
wie der vorhergehende, zwischengespeicherte Mikrobefehl.
4. Steuerwerk nach Anspruch 3, dadurch gekennzeichnet,
daß mindestens jeder zwischengespeicherte Mikrobefehl eine Kennzeichnung für die Konfliktschaitung (1-27) enthält, aus welcher
hervorgeht, welcher Ablaufkette er entstammt.
5. Steuerwerk nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß jede
Ablaufkette (1-2) mindestens ein mehrstelliges Register (1-8, 1-9) für die auszugebenden Mikrobefehle
und eine Verknüpfungsschaltung (1-14) enthält, welche den Inhalt dieser Register (1-8, 1-9)
abhängig von ihrem derzeitigen Inhalt und vom Inhalt des Befehlsregisters (1-28) und demjenigen
eines Zustandsregisters (1-29) abändert.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US379235A US3328771A (en) | 1964-06-30 | 1964-06-30 | Priority sequence control |
US37923564 | 1964-06-30 | ||
DEJ0028461 | 1965-06-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1499215A1 DE1499215A1 (de) | 1970-07-23 |
DE1499215B2 DE1499215B2 (de) | 1972-08-03 |
DE1499215C true DE1499215C (de) | 1973-03-08 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2714805C2 (de) | ||
DE1933685C3 (de) | Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage | |
DE1299145B (de) | Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen | |
EP0952520B1 (de) | Vorrichtung zur fehlertoleranten Ausführung von Programmen | |
DE1524209B2 (de) | Programmgesteuerte datenverarbeitungsanlage | |
DE1549522B1 (de) | Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner | |
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE2019444A1 (de) | Datenverarbeitungsanlage | |
DE3638572A1 (de) | Vektorprozessor | |
DE1549474C3 (de) | Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
DE2536622A1 (de) | Mikroprogrammsteuerung mit flexibler auswahl von steuerworten | |
DE1424747B2 (de) | Erweiterbare digitale datenverarbeitungsanlage | |
DE2906685A1 (de) | Instruktionsdecodierer | |
DE2720842B2 (de) | Datenübertragungssystem | |
DE1499215C (de) | Steuerwerk fur einen Digitalrechner | |
DE4340551A1 (de) | Programmspeichererweiterung für einen Mikroprozessor | |
DE1449561C3 (de) | Rechenmaschine mit mechanischen Eingabe- und Ausgabevorrichtungen sowie elektronischem Rechen- und Speicherwerk | |
DE2846686B1 (de) | Programmierbares Schaltwerk | |
DE1808678B2 (de) | Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE1499215B2 (de) | Steuerwerk fuer einen digitalrechner | |
CH493886A (de) | Datenverarbeitungsanlage | |
DE2936801C2 (de) | Steuereinrichtung zur Ausführung von Instruktionen | |
DE2632561A1 (de) | Steuereinrichtung fuer eine echtzeitsteuerung, insbesondere fuer fernsprechvermittlungsanlagen |