DE1499215B2 - Steuerwerk fuer einen digitalrechner - Google Patents
Steuerwerk fuer einen digitalrechnerInfo
- Publication number
- DE1499215B2 DE1499215B2 DE19651499215 DE1499215A DE1499215B2 DE 1499215 B2 DE1499215 B2 DE 1499215B2 DE 19651499215 DE19651499215 DE 19651499215 DE 1499215 A DE1499215 A DE 1499215A DE 1499215 B2 DE1499215 B2 DE 1499215B2
- Authority
- DE
- Germany
- Prior art keywords
- register
- priority
- control unit
- control
- circuit
- 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.)
- Granted
Links
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- 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
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
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 1 147 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
zo 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.
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-
geschaltet sind, deren Ausgangssignal auf die Vorrang-Steuerschaltung
zur Sperrung derselben geleitet wird und zum anderen über einen weiteren Entschlüßler
und Odergatter die Steuerung des Datenflusses zwisehen Registern der Datenverarbeitungsanlage übernimmt.
Der Vorteil des erfindungsgemäßen Steuerwerkes besteht darin, daß mit einem sehr geringen technischen
Aufwand Mikrobefehle mit einem Minimum an Zeit mehrmals an verschiedenen Stellen einer Datenverarbeitungsanlage,
wo sie benötigt werden, zur Wirkung gebracht werden können und daß gleichzeitig an einer
anderen Stelle von der gleichen Ablaufkette ein weiterer Befehl ausgeführt werden kann. Gleichzeitig
mit diesen Operationen können außerdem auch andere Ablaufketten über ihren eigenen Entschlüßler Mikrobefehle
abgeben und andere Teile einer Datenverarbeitungsanlage überlappt steuern, wodurch die
Flexibilität des Steuerwerkes und damit der gesamten Datenverarbeitungsanlage wesentlich erhöht wird.
Im folgenden wird ein Ausführungsbeispiel der Erfindung an Hand der Zeichnungen beschrieben.
Es zeigt
F i g. 1 das Blockschaltbild des Steuerwerkes, F i g. 2 das Zeitdiagramm eines Beispieles und
F i g. 3 das Blockschaltbild der Datenwege eines Digitalrechners, der das erfindungsgemäße Steuerwerk
enthält.
Wie F i g. 3 zeigt, werden die hauptsächlichen Datenwege des Digitalrechners, der erfindungsgemäße
Steuerwerke enthält, durch die vier Sammelleitungen W, X, Y und Z 3-1 bis 3-4 gebildet. Die beiden
X- und F-Sammelleitungen 3-2 und 3-3 sind Speicherentnahmeleitungen
und die beiden W- und Z-Sammelleitungen sind Speichereingabeleitungen. Die Auskreuzung
3-5 ermöglicht den Austausch von Daten zwischen den beiden Speicherentnahmeleitungen. Die
vier Sammelleitungen verbinden das Speicherregister 3-6 und die übrigen Register mit den arithmetischen
und den logischen Rechenwerken. Die Register 3-8 bis 3-14 dienen als Schnellspeicher. Der Adreßschalter
3-15 und das Speicher-Adreßregister 3-16 werden für die Speicherauswahl und für die Adressenänderung
benötigt. Die arithmetischen und logischen Rechenwerke 3-17 bis 3-19 führen Multiplikation, Addition
und schrittweises Verändern aus. Die W- und Z-Sammelleitungen
3-1 und 3-4 haben Speicherfunktion, wie durch die Selbsthalteschaltungen 3-21 und 3-24 angedeutet
ist. Die W- und Z-Sammelleitungen sind weiterhin mit Paritäts-Prüfschaltungen 3-31 und 3-34 versehen.
Die JF-Sammelleitung 3-1 liefert vier Bytes an das
Speicherregister 3-6. Diese Bytes gelangen auf die W-Sammelleitung 3-1 entweder vom Z>-Register 3-8,
vom C4-Register 3-9, vom O-Register 3-10, vom CC-Register 3-11, vom ^(-Register 3-13 oder von einer
Ein- oder Ausgabe-Einheit. Die Z-Sammelleitung 3-2 erhält ihre Daten entweder direkt von der linken
Hälfte des Speicherregisters 3-6 oder indirekt von seiner rechten Hälfte über die Auskreuzung 3-5. Die
X-Sammelleitung 3-2 liefert die Daten entweder an das D-Register 3-8, an das C4-Register 3-9, an das
C5-Register 3-10 oder an das CC-Register 3-11. Das Null-Byte der Jf-Sammelleitung kann weiterhin an
ein spezielles Register, das Schutzregister 3-25, weitergegeben werden.
Die F-Sammelleitung 3-3 ist im wesentlichen ein
Spiegelbild der Z-Sammelleitung 3-2. Sie erhält die rechte Hälfte eines Datenwortes vom Speicherregister
3-6 direkt und seine linke Hälfte über die Auskreuzung 3-5. Es liefert seine Daten an das ^-Register 3-12, an
das Λ-Register 3-13 oder an das ^-Register 3-14 weiter. ;
Die Z-Sammelleitung 3-4 liefert ihre Daten an das
Speicherregister 3-6 und an die arithmetischen und logischen Rechenwerke 3-17 und 3-18. Die Z-Sammelleitung
3-4 erhält ihre Daten vom i?-Register 3-12, ίο vom Λ-Register 3-13 oder vom i?-Register 3-14.
Das Wesen dieser Anordnung nach F i g. 3 besteht darin, daß der Speicher über das Speicherregister 3-6
und die Speicher-Entnahme-Sammelleitungen 3-2 und 3-3 sowie die Auskreuzung 3-5 mit ausgewählten
Registern oder arithmetischen Rechenwerken verbunden ist. Während der Rechnung werden die vorübergehend
in den Registern gespeicherten Daten entweder verarbeitet oder zur Steuerung der arithmetischen
und logischen Rechenwerke verwendet. Die zo Ergebnisse gelangen über die Speicher-Eingabe-Sammelleitungen
3-1 und 3-4 über das Speicherregister 3-6 zurück zum Speicher. Die meisten Register
sind lediglich an zwei Sammelleitungen angeschlossen, das ^-Register jedoch verkehrt mit drei
Sammelleitungen.
An allen Verbindungspunkten der Sammelleitungen mit anderen Sammelleitungen, Registern oder Rechenwerken
befinden sich Torschaltungen. Diese Torschaltungen werden von den Oder-Schaltungen 1-19
oder dem Steuerregister 1-20 von F i g. 1 betätigt. Diese wiederum werden entsprechend den Befehlen
im Befehlsregister 1-28 über das in F i g. 1 gezeigte Vorrang-Steuerwerk erregt.
Das Vorrang-Steuerwerk bewirkt, daß die Datenwege nach F i g. 3 einschließlich der Rechenwerke,
Sammelleitungen und Register derart zusammengeschaltet werden, daß sie als Rechner arbeiten. Das
Vorrang-Steuerwerk enthält im wesentlichen eine Anzahl von Ablaufketten 1-1 bis 1-7, welche geeignete
Folgen von Mikrobefehlen erzeugen und damit jeweils die Ausführung einer kurzen Folge von Operationen
veranlassen. Die Vorrangschaltung 1-15 stellt dabei fest, welche Ablaufkette sofortigen Zugang zu den
Datenwegen haben muß. Jede Operation besteht aus dem Weiterleiten von Daten und dem Steuern von
logischen Funktionen und nimmt zwei aus je zwei halben Umläufen bestehende Maschinenumläufe in
Anspruch. In der ersten Hälfte jedes Umlaufes werden dabei die Sammelleitungen und in der zweiten Hälfte
die Register beeinflußt.
Die Ablauf ketten steuern folgende Funktionen: IO 1-1 die Ein- und Ausgabe, DX1-2 die Datenübertragung,
CA, CB und CC 1-3 bis 1-5 die Operandensteuerung, IL1-6 das Befehlsladen und BP1-7 die
Byteverarbeitung. Dabei sind die Vorrangstufen in der angegebenen Reihenfolge zugeteilt. Die Ein- und
Ausgabe z. B. wird durch elektromechanische Einrichtungen beeinflußt und ist somit zeitlich nicht so
flexibel wie andere Operationen. Hier wurde daher die höchste Vorrangstufe zugeteilt. Die Vorrangstufe
ist jeweils fest mit der Ausnahme der /L-Ablaufkette
1-6, welche unter bestimmten Umständen die CA-, CB- und CC-Ablaufketten 1-3 bis 1-5 umgehen kann.
Jede Ablaufkette enthält zwei Register für die zu einer Operation gehörenden Mikrobefehle. So enthält
die DJSf-Ablaufkette 1-2 das 5-Register 1-8, welches
zur Sammelleitungszeit arbeitet, und das i?-Register 1-9, welches zur Registerzeit arbeitet.
Eine Ablaufkette ist also eine Einrichtung, die mehrere, den einzelnen vierteiligen 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 Ablauf kette 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 .R-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, J-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 Ablaufkette 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 DZ-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
7 8
Steuerfolgen benötigt, eine Bytesteuerfolge und eine Ablaufkette, die Torschaltungen während zweier auf-Datenübertragungsfolge.
Anstatt zwei eigene Folgen einanderfolgender Maschinenumläufe zu steuern. Da für jeden Kanal vorzusehen, wurde nun eine zweite weiterhin die Ausgangssignale sowohl der ersten als
Vorrangstufe für die gesamte Ein- und Ausgabe ein- auch der zweiten Entschlüßler durch das Steuerregister
gerichtet. Hierdurch wurde die erforderliche Aus- 5 1-20 verzögert werden, treten die Torsteuersignale zu
rüstung auf zwei unabhängige Folgen und eine der vier verschiedenen Zeitpunkten auf: im ersten Umlauf
Anzahl der Kanäle gleicher Anzahl von Zustands- zur Sammelschienen- und zur Registerzeit und im
Flipflops verringert. zweiten Umlauf zur Sammelschienen- und zur Register-Die unabhängigen Steuerfolgen' werden durch die zeit.
Ablaufketten realisiert. Die Ablaufketten bestehen, i° Der Informationsfluß der Mikrobefehle von der
wie bereits weiter oben angegeben wurde, aus zwei Ablaufkette über die ersten Entschlüßler 1-13, 1-14
Registern. Fünf Flipflops und ein Paritäts-Flipfiop und die Register 1-22, 1-23 der Vorrangkette zum
je Register reichen aus, wenn die Anzahl der zu zweiten Entschlüßler 1-24 und schließlich von den
steuernden Zustände nicht größer ist als 32. Entschlüßlern zu den Torschaltungen des Rechners,
Wenn eine Ablaufkette zur Abgabe ihres Mikro- 15 ermöglichen die Überlappung des zweiten Umlaufs
befehls veranlaßt wird, so dient dieser zum öffnen einer Operation mit dem ersten Umlauf der folgenden
der erforderlichen Torschaltungen des Digitalrechners. Operation, sofern die Benutzung der Sammelschienen
Im allgemeinen erfordert jede Operation eine Speicher- und des Speichers nicht kollidieren. Die jeweils in den
befragung. Sie benötigt dann zwei Maschinenumläufe, ersten und zweiten Umläufen auszuführenden Operaeinen
ersten Umlauf für das Adressieren und einen 20 tionen können so ausgewählt werden, daß derartige
zweiten Umlauf für die Datenübertragung. Während Kollisionen selten auftreten. Die Konfliktschaltung
jeder dieser Umläufe müssen ankommende und ab- 1-27 stellt mögliche Kollisionen fest und verhindert in
gehende Torschaltungen gesteuert werden. Deswegen solchen Situationen die Überlappung,
müssen zu vier verschiedenen Zeiten Steuervorgänge Die X- und 7-Sammelschienen von F i g. 3 werden vorgenommen werden. 25 zur Speicherentnahme während eines zweiten Um-Der Mikrobefehl am Ausgang einer Ablaufkette laufs benötigt. Die W- und Z-Sammelleitungen werden wird an einen ersten Entschlüßler und an eine Ent- während eines ersten Umlaufs zum Adressieren des Scheidungsschaltung angelegt. Der Ausgang der Ent- Speicheradreßregisters und zum Abändern des Adreßscheidungsschaltung ist mit der Vorrangschaltung, registers des Rechners benötigt. Da aber die W- und derjenige des ersten Entschlüßlers mit verschiedenen 30 Z-Sammelleitungen auch während des zweiten Umlaufs Torschaltungen und dem Eingang der Ablaufkette zum Abspeichern von Informationen benötigt werden, verbunden. ist es nicht möglich, das Abspeichern von Daten mit Abhängig von der Art des Mikrobefehls ist die dem Adressieren des Speichers für die folgende Opera-Vorrangschaltung betroffen oder nicht. Wenn die Vor- tion zu überlappen. Die Konfliktschaltung 1-27 und rangschaltung nicht betroffen ist, läuft die Kette ab- 35 die Vorrangschaltung 1-15 erkennen alle Speicherhängig von ihrem derzeitigen Zustand und etwaigen operationen und verzögern die folgenden Operationen äußeren Bedingungen in ihren nächsten Zustand um einen Umlauf. Diese Verzögerung ist tragbar, da weiter. Gleichzeitig werden die zugehörigen Torschal- die Mehrzahl aller Operationen entweder Daten dem tungen geöffnet. Die Mehrzahl aller Mikrobefehle je- Speicher entnehmen oder ohne Speicherbefragung verdoch benutzt die Sammelleitungen und den Speicher 40 arbeiten und nur eine kleine Gruppe Daten abspeichert, und benötigt daher die Vorrangschaltung. Solange die Datenverarbeitungsoperationen verwenden die W- und Ablaufkette noch nicht zur Abgabe ihres Mikrobefehls Z-Sammelleitungen, aber nicht den Speicher. Deshalb veranlaßt wurde, öffnet der erste Entschlüßler noch können solchen Datenverarbeitungsoperationen die keine Torschaltungen, und die Ablaufkette bleibt un- ersten Umläufe stets zugeteilt werden,
verändert in ihrem Zustand. Sobald jetzt die Abgabe 45 Die Ausgangssignale der Ablaufketten und der veranlaßt wird, werden die Ausgangsimpulse des Vorrangkette werden, einschließlich der Paritäts-Prüfersten Entschlüßlers wirksam, und die Kette nimmt stellen, von den ersten und den zweiten Entschlüßlern am Ende des Umlaufs ihren nächsten Zustand ab- dekodiert. Nur gültige Codewerte können Signale hängig von ihrem alten Zustand und den Bedingungen erzeugen, die tatsächlich Torschaltungen öffnen. Ein des Rechners ein. Die Vorrangschaltung wirkt wie ein 50 Codewert mit ungültiger Parität oder ein nicht verVerteiler und leitet den Mikrobefehl einschließlich wendeter Codewert mit gültiger Parität kann keine seiner Paritäts-Prüfstelle an den Verschlüßler weiter, Informationen an die W- und Z-Sammelleitungen welcher den Mikrobefehl derart verschlüsselt, daß er weiterleiten. Die Paritäts-Prüfschaltungen auf diesen sowohl die zugehörige Ablaufkette als auch die erfor- beiden Sammelleitungen arbeiten jedoch ununterderliche Operation kennzeichnet. Dieser Schlüssel wird 55 brochen und stellen, da ungerade Parität erforderlich in den Registern 1-22 und 1-23 der Vorrangkette für ist, auch die Abwesenheit von Informationen auf den einen ganzen Maschinenumlauf gespeichert und an- Sammelleitungen fest. Daher können die Paritätsschließend an den zweiten Entschlüßler 1-24 weiter- Prüf schaltungen auf den Sammelleitungen auch indirekt geleitet, dessen Ausgangssignale die Torschaltungen zum Überprüfen des Vorrang-Steuerwerks benutzt des Rechners während des zweiten Maschinenumlaufs 60 werden. Gültige Codewerte senden stets Informationen öffnen. Während jede Ablaufkette einen eigenen ersten auf allen Bytes der W- und Z-Sammelleitungen. Auch Entschlüßler 1-13, 1-14 aufweist, ist nur ein einziger wenn auf einer dieser Sammelleitungen keine Inforgemeinsamer zweiter Entschlüßler 1-24 vorhanden. mation benötigt wird, so wird wenigstens die richtige Jeder Entschlüßler steuert mehrere Torschaltungen. Paritäts-Prüfziffer erzeugt. Hierdurch werden übrigens Eine Torschaltung wird jedoch nur entweder von den 65 auch die Zähl- und Byte-Adressierschaltungen noch Oder-Schaltungen 1-18 oder von den Oder-Schaltun- zusätzlich geprüft. Die Prüfung erstreckt sich nicht gen 1-19 geöffnet. Die Verzögerung in den Registern nur auf die einzelnen Ablaufketten, sondern auch auf 1-22 und 1-23 der Vorrangkette ermöglicht es einer einen Fehler in der Vorrangschaltung oder in der
müssen zu vier verschiedenen Zeiten Steuervorgänge Die X- und 7-Sammelschienen von F i g. 3 werden vorgenommen werden. 25 zur Speicherentnahme während eines zweiten Um-Der Mikrobefehl am Ausgang einer Ablaufkette laufs benötigt. Die W- und Z-Sammelleitungen werden wird an einen ersten Entschlüßler und an eine Ent- während eines ersten Umlaufs zum Adressieren des Scheidungsschaltung angelegt. Der Ausgang der Ent- Speicheradreßregisters und zum Abändern des Adreßscheidungsschaltung ist mit der Vorrangschaltung, registers des Rechners benötigt. Da aber die W- und derjenige des ersten Entschlüßlers mit verschiedenen 30 Z-Sammelleitungen auch während des zweiten Umlaufs Torschaltungen und dem Eingang der Ablaufkette zum Abspeichern von Informationen benötigt werden, verbunden. ist es nicht möglich, das Abspeichern von Daten mit Abhängig von der Art des Mikrobefehls ist die dem Adressieren des Speichers für die folgende Opera-Vorrangschaltung betroffen oder nicht. Wenn die Vor- tion zu überlappen. Die Konfliktschaltung 1-27 und rangschaltung nicht betroffen ist, läuft die Kette ab- 35 die Vorrangschaltung 1-15 erkennen alle Speicherhängig von ihrem derzeitigen Zustand und etwaigen operationen und verzögern die folgenden Operationen äußeren Bedingungen in ihren nächsten Zustand um einen Umlauf. Diese Verzögerung ist tragbar, da weiter. Gleichzeitig werden die zugehörigen Torschal- die Mehrzahl aller Operationen entweder Daten dem tungen geöffnet. Die Mehrzahl aller Mikrobefehle je- Speicher entnehmen oder ohne Speicherbefragung verdoch benutzt die Sammelleitungen und den Speicher 40 arbeiten und nur eine kleine Gruppe Daten abspeichert, und benötigt daher die Vorrangschaltung. Solange die Datenverarbeitungsoperationen verwenden die W- und Ablaufkette noch nicht zur Abgabe ihres Mikrobefehls Z-Sammelleitungen, aber nicht den Speicher. Deshalb veranlaßt wurde, öffnet der erste Entschlüßler noch können solchen Datenverarbeitungsoperationen die keine Torschaltungen, und die Ablaufkette bleibt un- ersten Umläufe stets zugeteilt werden,
verändert in ihrem Zustand. Sobald jetzt die Abgabe 45 Die Ausgangssignale der Ablaufketten und der veranlaßt wird, werden die Ausgangsimpulse des Vorrangkette werden, einschließlich der Paritäts-Prüfersten Entschlüßlers wirksam, und die Kette nimmt stellen, von den ersten und den zweiten Entschlüßlern am Ende des Umlaufs ihren nächsten Zustand ab- dekodiert. Nur gültige Codewerte können Signale hängig von ihrem alten Zustand und den Bedingungen erzeugen, die tatsächlich Torschaltungen öffnen. Ein des Rechners ein. Die Vorrangschaltung wirkt wie ein 50 Codewert mit ungültiger Parität oder ein nicht verVerteiler und leitet den Mikrobefehl einschließlich wendeter Codewert mit gültiger Parität kann keine seiner Paritäts-Prüfstelle an den Verschlüßler weiter, Informationen an die W- und Z-Sammelleitungen welcher den Mikrobefehl derart verschlüsselt, daß er weiterleiten. Die Paritäts-Prüfschaltungen auf diesen sowohl die zugehörige Ablaufkette als auch die erfor- beiden Sammelleitungen arbeiten jedoch ununterderliche Operation kennzeichnet. Dieser Schlüssel wird 55 brochen und stellen, da ungerade Parität erforderlich in den Registern 1-22 und 1-23 der Vorrangkette für ist, auch die Abwesenheit von Informationen auf den einen ganzen Maschinenumlauf gespeichert und an- Sammelleitungen fest. Daher können die Paritätsschließend an den zweiten Entschlüßler 1-24 weiter- Prüf schaltungen auf den Sammelleitungen auch indirekt geleitet, dessen Ausgangssignale die Torschaltungen zum Überprüfen des Vorrang-Steuerwerks benutzt des Rechners während des zweiten Maschinenumlaufs 60 werden. Gültige Codewerte senden stets Informationen öffnen. Während jede Ablaufkette einen eigenen ersten auf allen Bytes der W- und Z-Sammelleitungen. Auch Entschlüßler 1-13, 1-14 aufweist, ist nur ein einziger wenn auf einer dieser Sammelleitungen keine Inforgemeinsamer zweiter Entschlüßler 1-24 vorhanden. mation benötigt wird, so wird wenigstens die richtige Jeder Entschlüßler steuert mehrere Torschaltungen. Paritäts-Prüfziffer erzeugt. Hierdurch werden übrigens Eine Torschaltung wird jedoch nur entweder von den 65 auch die Zähl- und Byte-Adressierschaltungen noch Oder-Schaltungen 1-18 oder von den Oder-Schaltun- zusätzlich geprüft. Die Prüfung erstreckt sich nicht gen 1-19 geöffnet. Die Verzögerung in den Registern nur auf die einzelnen Ablaufketten, sondern auch auf 1-22 und 1-23 der Vorrangkette ermöglicht es einer einen Fehler in der Vorrangschaltung oder in der
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 iF-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 Datenfiusses 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 Konfliktschaltung (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 true DE1499215B2 (de) | 1972-08-03 |
DE1499215C DE1499215C (de) | 1973-03-08 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
US3328771A (en) | 1967-06-27 |
GB1076775A (en) | 1967-07-19 |
DE1499215A1 (de) | 1970-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE1299145B (de) | Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen | |
DE2230830C2 (de) | Datenverarbeitungsanlage | |
DE2413401C3 (de) | Einrichtung zum Synchronisieren der Programmabschnitte dreier, nach demselben Programm parallel arbeitender Rechner | |
DE1933685C3 (de) | Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage | |
DE1524209B2 (de) | Programmgesteuerte datenverarbeitungsanlage | |
DE1549522B1 (de) | Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner | |
DE2907181A1 (de) | Befehlssatz-modifizierregister fuer einen datenprozessor | |
DE2533403A1 (de) | Datenverarbeitungssystem | |
DE2019444A1 (de) | Datenverarbeitungsanlage | |
DE1424762B2 (de) | Datenverarbeitungsanlage | |
DE2015971A1 (de) | Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden | |
DE2363846A1 (de) | Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage | |
DE2632564A1 (de) | Schaltung zur selbsttaetigen auswahl einer unter mehreren speichereinheiten mit einem adressenbereich | |
DE1424747B2 (de) | Erweiterbare digitale datenverarbeitungsanlage | |
DE2801853A1 (de) | Integrierte digitale datenverarbeitungseinrichtung | |
DE1499215C (de) | Steuerwerk fur einen Digitalrechner | |
DE4340551A1 (de) | Programmspeichererweiterung für einen Mikroprozessor | |
DE1499215B2 (de) | Steuerwerk fuer einen digitalrechner | |
DE1808678B2 (de) | Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher | |
DE2838887C2 (de) | Datenverarbeitungsanlage mit einer Schaltung für Unterbrechungsanforderungen zur Übernahme des gemeinsamen Busses | |
CH493886A (de) | Datenverarbeitungsanlage | |
DE1762205B2 (de) | Schaltungsanordnung fuer ein elektronisch gesteuertes selbstwaehlamt | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) |