DE1499215C - Steuerwerk fur einen Digitalrechner - Google Patents

Steuerwerk fur einen Digitalrechner

Info

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
Application number
DE19651499215
Other languages
English (en)
Other versions
DE1499215A1 (de
DE1499215B2 (de
Inventor
Gerrit Anne Wright Willi am Vaughn Poughkeepsie Larson Rüssel Hall Wappingers Fallo N Y Blaauw (V St A)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US379235A external-priority patent/US3328771A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1499215A1 publication Critical patent/DE1499215A1/de
Publication of DE1499215B2 publication Critical patent/DE1499215B2/de
Application granted granted Critical
Publication of DE1499215C publication Critical patent/DE1499215C/de
Expired legal-status Critical Current

Links

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.
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
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 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)

Patentansprüche
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.
DE19651499215 1964-06-30 1965-06-28 Steuerwerk fur einen Digitalrechner Expired DE1499215C (de)

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