DE1499215B2 - Steuerwerk fuer einen digitalrechner - Google Patents

Steuerwerk fuer einen digitalrechner

Info

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
Application number
DE19651499215
Other languages
English (en)
Other versions
DE1499215C (de
DE1499215A1 (de
Inventor
Gerrit Anne; Wright William Vaughn; Poughkeepsie; Larson Russell Hall Wappingers Falls; 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
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

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement 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
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)

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