DE2023354A1 - Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit - Google Patents
Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren EinheitInfo
- Publication number
- DE2023354A1 DE2023354A1 DE19702023354 DE2023354A DE2023354A1 DE 2023354 A1 DE2023354 A1 DE 2023354A1 DE 19702023354 DE19702023354 DE 19702023354 DE 2023354 A DE2023354 A DE 2023354A DE 2023354 A1 DE2023354 A1 DE 2023354A1
- Authority
- DE
- Germany
- Prior art keywords
- command
- commands
- memory
- register
- programmable unit
- 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/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7896—Modular architectures, e.g. assembled from a number of identical packages
-
- 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/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/24—Loading of the microprogram
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Description
Üipl.-lng. Horst Rosfe
Dipl.-Ing. Peter Koset
Dipl.-Ing. Peter Koset
Patentanwälte
Bad Gandersheim
Bad Gandersheim
Burroughs Corporation 11. Mai 1970
Patentgesuch vom 11.5.1970
Burroughs Corporation
6071 Second Avenue
Detroit, Mich. 48252
V.St.A.
Detroit, Mich. 48252
V.St.A.
Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
Die Erfindung betrifft eine programmierbare Einheit mit
mehreren Registern zur Datenübertragung, einem ersten Speicher zum Speichern von Befehlen, die Routinen vorschreiben,
und einem zweiten Speicher zum Speichern von Gruppen von Operationsbefehlen, und ein Verfahren zum
Betreiben einer programmierbaren Einheit.
Eine derartige programmierbare Einheit kann für verschiedene Aufgaben verwendet werden, z.B. für Rechen- und andere
Datenverarbeitunggzwecke, und auch zur Eingebe/Aasgabe-Steuerung«
Dabei werden mehrere Stufen oder Ebenen von Unterbefehlsgruppen verwendet.
Das Anwendungsgebiet elektronischer Rechner hat sich so stark erweitert, daß zur Zeit ein Bedürfnis für ein vollständiges
Spektrum von Rechnern zur Durchführung einer Vielfalt von Rechenaufgaben und anderer Datenverarbeitungsarbeiten besteht. Zeitweilig hat man sogenannte Groflrechenanlagen
hauptsächlich für komplizierte mathematische Aufgaben und kleine Datenverarbeitungsanlagen hauptsächlich
788/238 009848/1633
für Organisations- und Buchungsaufgaben, bei denen verhältnismäßig
einfache Rechenoperationen mit einer großen Anzahl von Daten durchzuführen sind, für geeignet gehalten.
In letzter Zeit sind die organisatorischen Arbeiten derart angewachsen, daß der Einsatz großer Datenverarbeitungsanlagen
zweckmäßig ist, und andererseits wurden Anwendungsgebiete für mittlere und kleine Datenverarbeitungsanlagen
erschlossen, die in der lage sind, sowohl wissenschaftliche
Aufgaben als auch das Aufzeichnen von Daten A durchzuführen. Es besteht daher ein Bedürfnis nach einer
Vielfalt von Rechenverarbeitungsanlagen, die von sehr kleinen bis zu sehr großen Anlagen reicht, von denen jede nicht
nur organisatorisch® und wissenschaftliche Aufgaben durchführen, sondern auch. Datenübertragungen, Datenerfassungen
und dergleichen steuern kann»
Je größer das Anwendungsgebiet, d.h.· die Zahl der unterschiedlichen Anwendtmgsfäll© wurd©, um so mehr ist man dazu
übergegangen 9 unterschiedliche, auf den einzelnen Anwenclungsfall
zugeschnittene Seelieiianlagen herzustellen.
So legt man in denjenigen Fällen, in denen eine große Anzahl von Rechenaufgaben zu lösen ist, bei denen einige
W hundert oder tausend sich wiederholende Rechenschritte vorkommen, besonderen Wert auf ein© hohe Betriebsgeschwindigkeit
und auf die Anzahl τοη Datenbits, die pro Zeiteinheit
bei der Durchführung eines Befehls verarbeitet werden kann. Daher pflegt man eine Rechenanlage für diesen Pail
auf Parallelbetrieb und eine große Stellenzahl auszulegen und algorithmische Hechenprogrsee©s die mit den Daten durchzuführen sind, fest zu verdrahten, um eine höhere Betriebsgeschwindigkeit zu erzielen«, Dies ist ein wesentlicher. Grund
dafür, daß Großrechner oder wissenschaftliche Rechner so kostspielig sind« W©sm ein billiger Rechner verlangt wird,
pflegt maß Äiesen nach Kostengesichtspimkten auszulegen,
009848/163
so daß die Schaltungsanordnungen und Einrichtungen dieser Rechner verhältnismäßig einfach sind und die verschiedenen
Algorithmen vom Programmierer programmiert werden müssen.
Infolgedessen dauert die Durchführung des Programms verhältnismäßig
lange, nicht nur, weil die Anlage jeden einzelnen Schritt des Programms ausführen muß, sondern auch,
weil die Anlage auf die Verarbeitung von Daten mit verhältnismäßig geringer Breite (Stellenzahl) ausgelegt ist,
um den 'Jchaltungsaufwand gering zu halten. Ba der Hersteller
beider Arten von Anlagen zwei verschiedene Rechenverknüpfungseinheiten für die getrennten Anlagen entwickeln
und herstellen miß, verliert er den wirtschaftlichen Vorteil, der sich durch die Serienproduktion nur eines Typs
ergibt.
Diesen Nachteil haben auch Rechenanlagen, die so groß sind,
daß bei ihnen die Eingabe- und AusgabeoperatiDnen gleichzeitig
mit Rechenoperationen und anderen Verknüpfungsoperationen gesteuert werden müssen· Diese getrennten E/ASteuerwerke
können selbst digitalen Allzweck-Rechenanlagen gleichen, so daß sie ein eigenes rechenwerk und manchmal
sogar einen eigenen Speicher enthalten. Die Funktion und der Aufbau eines derartigen E/A-Steuerwerks unterscheidet
sich dennoch von der Allzweck-Rechenanlage, mit der es
in Verbindung steht.
Ein weiterer Nachteil unterschiedlich aufgebauter Anlagen besteht darin, daß sie verschieden programmiert werden müssen.
Da bei größeren Anlagen einige Routinen fest verdrahtet sind, ist nur ein Befehl zur Durchführung dieser
Routine erforderlich. Bei einer kleineren Anlage müssen dagegen mehrere dieser Befehle zur Durchführung der gleichen
Routine eingegeben werden. Biese Programm!erschwierigkeiten
treten noch stärker in Erscheinung, wenn die Anlagen von
009848/1633
verschiedenen Herstellern gebaut werden, da verschiedene . Hersteller auch verschiedene Befehlsformate verwenden,
die sich in der Länge und auch in der Größe der Felder, in die sie aufgeteilt sind, unterscheiden. Um diese Unterschiede
in den "Maschinensprachen" auszugleichen, wurde eine Vielzahl verschiedener Programmiersprachen entwickelt,
wie ii'ortran, Cobol und Algol. In diesen Programmiersprachen
abgefaßte Programme können in verschiedenen Rechenanlagen umgesetzt und verwendet werden, doch müssen diese Programme
zunächst in die Liaschmensprache der betreffenden Anlage
φ übersetzt werden, was durch ein Steuerprogramiu, auch Kompiler
genannt, durchgeführt wird, und wenn für eine bestimmte
Programmiersprache kein derartiges Steuerprogramm vorgesehen ist, dann muß der Programmierer sein Programm
in eine Sprache umschreiben, für die die Anlage einen Kompiler
enthält.
^s wurden üaher schon die verschiedensten Bauarten entwickelt,
um Anpassungsschwierigkeiten sowohl beim Schaltungsaufbau, ctuch Hardware genannt, als auch bei der Programmierung,
auch Software genannt, zu verringern. Während bei bestimmten rertigungsprograminen bereits eine Verringerung
erreicht worden ist, r.aben Versuche, die Anpassungsw
Schwierigkeiten zwischen verschiedenen Programmiersprachen zu beseitigen, in Wahrheit nur zu noch mehr Programmiersprachen
geführt» gestimmte .Bauweisen, die i.;an bislang
eingewandt hat, umfassen die Ausüilüung modularer (bausteinartiger)
Verarbeitungseinheiten und Speichereinheiten, die es gestatten, die Fähigkeiten der Anlage durch Inzufügen
weiterer Verarbeitungseinheiten und die Kapazität der Anlage durch Hinzufügen von ßpeichereinheiten
zu erweitern. Bei anderen Bauweisen wird die Datenflußbreite verschiedener Bauteile eines Fertigungsprogramms
gleich einem Vielfachen eines Grundeinheitssegmentee
gewählt und das Befehlsformat für dieses Fertigungspro-
009848/1633
gramm so angepaßt, daß es ebenfalls gleich einem Vielfachen
dieses Grundsegments ist.
Um sowohl den Aufbau als auch das Programmieren von Rechenanlagen flexibler zu machen, ist es auch bekannt, Mikroprogramme
oder Mikrobefehle zu verwenden. Ursprünglich war ein Mikrobefehl lediglich eine Gruppe von Steuerbits innerhalb
eines Makrobefehls. Diese Steuerbits wurden zur Durchführung von Korrekturen während der Ausführung eines Multiplizierbefehls
oder eines Schiebebefehls und dergleichen verwendet» Dieses "Verfahren wurde dann dahingehend weiterentwickelt,
daß man einen Makrobefehl die Ausführung einer bestimmten Routine vorschreiben läßt, z.B. die Addition
zweier Operanden, während die Makrobefehle in Form der Ausführung einer Folge von Mikrobefehlen durchgeführt werden,
von denen jeder die Verknüpfungsglieder (oder Tore) bestimmt,.die in den verschiedenen Programmablaufzeiten
durchgeschaltet werden müssen. Da mehrere Makrobefehle durch eine endliche Anzahl von Mikrobefehlen verwirklicht
werden können, hat man erkannt, daß die gleichen Mikrobefehle in einem getrennten Speicher gespeichert werden können,
um in einer bestimmten Phase nach der Ausführung verschiedener Makrobefehle adressiert zu werden. Man hat weiter
erkannt, daß verschiedene Folgen von Mikrobefehlen so formuliert werden könnsn3 daß sie bestimmte Operationen ausführen,
und in irgendeinem Arbeitsspeicher getrennt gespeichert werden können. Auf diese Weise kann eine große
Vielfalt von Mikrobefehlen zur Ausführung einer großen Vielfalt von Routinen erzeugt werden, und wenn eine Rechenanlage
so ausgebildet ist, daß sie bestimmte Routinen ausführt, brauchen nur diejenigen Befehlsfolgen gespeichert
zu werden, die nach der Ausführung spezieller, einzelner
Makrobefehle zur Ausführung aufgerufen werden sollen.
009643/1633
Das Verfahren der Anwendung von Mikrobefehlen oder.Mikroprogrammen
ging dann über in die Verwendung von Unterbefehlsgruppen, die für den Programmierer nicht in Erscheinung
treten, wodurch das Erstellen bestimmter Programme durch die Verringerung der Ansahl der einzelnen
Schritte, die vom Programmierer programmiert werden müssen, vereinfacht wird. Das Verfahren der Mikroprogrammierung
gestattet die Herstellung weniger kostspieliger Rechenanlagen, die dennoch eine Vielzahl verschiedener Routinen
durchführen könnens ohne daß einzelne Punktionen verdrahtet zu werden brauchen.
Schritte, die vom Programmierer programmiert werden müssen, vereinfacht wird. Das Verfahren der Mikroprogrammierung
gestattet die Herstellung weniger kostspieliger Rechenanlagen, die dennoch eine Vielzahl verschiedener Routinen
durchführen könnens ohne daß einzelne Punktionen verdrahtet zu werden brauchen.
Obwohl die Anwendung von Mikrobefehlsfolgen oder Unterbefehlsfolgen
die Arbeit des Programmierers erheblich vereinfacht und dem Rechenanlagenhersteller mehr Möglichkeiten
zur Lösung bestimmter baulicher Probleme einräumt,
ist bislang noch nicht das Problem der Schalttangskompatibilität zwischen verschiedenen Baugruppensystemen eines Fertigungsprograiams und das Problem der Programmkompati-Mlität zwischen verschiedenen Programmiersprachen und
zwischen den Maschinensprachen der verschiedenen Systeme
gelöst.
ist bislang noch nicht das Problem der Schalttangskompatibilität zwischen verschiedenen Baugruppensystemen eines Fertigungsprograiams und das Problem der Programmkompati-Mlität zwischen verschiedenen Programmiersprachen und
zwischen den Maschinensprachen der verschiedenen Systeme
gelöst.
Der Erfindung lisg-fc daher die Aufgabe zugrunde, eine programmierbare
Einheit zu sehaff©ns deren funktionelle Fähigkeiten
während des Betriebs der Einheit dynamisch veränderbar
sind. Im einzelnen soll sie dabei während des Betriebs derart dynamisch, veränderbar sein, daß sie in verschiedenen
ProgranHHspraehen aufgestellte Programme durchführt«
Gleichzeitig soll sie während des Betriebs dynamisch derart veränderbar sein, daß sie Rechenbefehlsfolgen oder
SteuerbefQhlsfolgeffi für Eingabe/Ausgabe-Datenübertragungen
ausführt» Dabei soll sie vom Rechenbetrieb auf den Eingabe/ Ausgabe-Steuerbetrieb umschaltbar sein, ohne daß für jede
Betriebsart ein® eigene Schaltungsanordnung erforderlieh ist,
: 4 Ö / 1
Mehrere dieser programmierbaren Einheiten sollen ferner zu einer größeren Reeher.anordnung zusammengeschaltet werden
können, um verschiedene Rechen- und Datenverarbeitungsoperationen durchzuführen, ohne daß irgendeine Einheit dieser
Anordnung in irgendeiner speziellen Weise angepaßt zu werden braucht. Die programmierbare Einheit soll gleichzeitig
eine erweiterbare Anzahl funktioneller Verknüpfungseinheiten zur 1/urchführung verschiedener logischer. Verknüpfungsoperationen,
gesteuert durch Unterbefehlsgruppen, aufweisen. Dabei gehört es zur Aufgabe der Erfindung, die
programmierbare Einheit so auszubilden, daß mehrere dieser
Einheiten zusammengeschaltet verschiedene Rechenkapazitäten und -fähigkeiten aufweisen.
Nach der Erfindung wird diese Aufgabe, ausgehend von einer
programmierbaren Einheit der eingangs erwähnten Art, dadurch gelöst, daß an den ersten Speicher eine erste Vorrichtung
angeschlossen ist, der einer der Routine-Befehle zuführbar ist, daß an die erste Vorrichtung eine zweite
Vorrichtung angeschlossen ist, die bei Erhalt des Routine-Befehls den zweiten Speicher adressiert und einen Operationsbefehl aufnimmt, und daß an die zweite Vorrichtung
eine dritte Vorrichtung angeschlossen ist, die so vorbereitet ist, daß sie von einem Operationsbefehl betätigbar
ist.
Eine Weiterbildung besteht darin, daß die Einheit einen
dritten Speicher enthält und die dritte Vorrichtung bei Erhalt eines Operationsbefehls den dritten Speicher adressiert und einen Steuerbefehl erhält.
Eine andere Weiterbildung besteht darin, daß die dritte Vorrichtung eine Verknüpfungseinheit mit mehreren modularen
Halbgliedern enthält, die durch einen Operationsbefehl so
.009848/1633
einstellbar sind, daß sie betriebsbereit sind·
Das heißt, die Flexibilität, die sich durch eine Mikroprogrammierung
ergibt, bei der also eine einzige Stufe oder Ebene von Unterbefehlegruppen verwendet wird, ist
nicht ausreichend, um die der Erfindung zugrundeliegende Aufgabe zu lösen. Daher wird nach der Erfindung nicht nur
eine Ebene von Unterbefehlen, die weiterhin M-Befehle genannt werden, sondern noch eine zweite Ebene von Unterbefehlen, weiterhin N-Befehle genannt, verwendet» Die Makrobefehle
oder Systembefehle werden S-Befehle genannt. Die gerätetechnische Verwirklichung von N-Befehlen kann als
ein Dekodierer für die M-Befehle angesehen werden, die verschlüsselt und keine reinen Steuersignale sind. Bei
den N-Befehlen kann es sich um Kombinationen erforderlicher Steuersignale oder um verschlüsselte Signale handeln. Die
Ausbildung einer zweiten Ebene von Unterbefehlsgruppen oder N-Befehlsgrupten erweitert daher die Flexibilität um eine
zusätzliche Größenordnung gegenüber der, die sich durch Anwendung der bekannten Mikroprogrammierung ergibt.
Da nach der Erfindung alle Algorithmen durch mehrere Ebenen von Befehlsgruppen gesteuert werden können, sind keine speziellen
Schaltungen für spezielle Algorithmen erforderlich, sondern es genügt, dia Booleschen Grundverknüpfungsarten
vorzusehen. Nach der Erfindung können daher mehrere gleiche Verknüpfungseinheiten parallel geschaltet werden, um eine
der gewünschten Datenflußbreite angepaßte Rechenanlage zu schaffen, ohne die Grundverknüpfungseinheiten abzuändern.
Dies wird dadurch erreicht, daß nach der Erfindung verschiedene Algorithmen durch verschiedene Folgen von M-Befehlen
realisiert werden können, so daß die die Steuersignale bestimmenden N-Befehle von der Art des auszuführenden
Algorithmus unabhängig sein können.
009848/1633
Ferner umfaßt die Erfindung eine Anordnung aus mehreren
programmierbaren Einheiten, die individuell programmiert sind und einander in Form und Schaltungsaufbau gleichen, wobei jede der Einheiten durch eine Änderung der M-Befehlsgruppen dynamisch derart veränderbar sind, daß sie entweder in einem Datenverarbeitungsbetrieb oder in einem Eingabe/Ausgabe-Steuerbetrieb arbeiten.
programmierbaren Einheiten, die individuell programmiert sind und einander in Form und Schaltungsaufbau gleichen, wobei jede der Einheiten durch eine Änderung der M-Befehlsgruppen dynamisch derart veränderbar sind, daß sie entweder in einem Datenverarbeitungsbetrieb oder in einem Eingabe/Ausgabe-Steuerbetrieb arbeiten.
Ein weiteres Merkmal der Erfindung besteht in einer programmierbaren Anlage und Verfahren zum Betreiben dieser
Anlage, bei der bzw. nach denen verschiedene Befehlsfolgen, die aus einer ersten Ebene von Unterbefehlsgruppen ausgewählt sind, gespeichert und durch Befehle, die aus einer zweiten Ebene von Unterbefehlsgruppen ausgewählt werden, dekodiert oder ausgeführt werden, wobei die Unterbefehlsfolgen aus der ersten Ebene in Abhängigkeit vom Informationsinhait eines Befehls ausgewählt oder adressiert werden, der aus der höheren Befehlsebene ausgewählt wird.
Ein spezielles Merkmal der Erfindung besteht in einer Vorrichtung zum überlappten Adressieren und Auswählen der
Unterbefehle aus der zweiten Ebene zur Anpassung an die
Ausführung bedingter Unterbefehle der ersten Ebene während einer bestimmten Zeitspanne.
Anlage, bei der bzw. nach denen verschiedene Befehlsfolgen, die aus einer ersten Ebene von Unterbefehlsgruppen ausgewählt sind, gespeichert und durch Befehle, die aus einer zweiten Ebene von Unterbefehlsgruppen ausgewählt werden, dekodiert oder ausgeführt werden, wobei die Unterbefehlsfolgen aus der ersten Ebene in Abhängigkeit vom Informationsinhait eines Befehls ausgewählt oder adressiert werden, der aus der höheren Befehlsebene ausgewählt wird.
Ein spezielles Merkmal der Erfindung besteht in einer Vorrichtung zum überlappten Adressieren und Auswählen der
Unterbefehle aus der zweiten Ebene zur Anpassung an die
Ausführung bedingter Unterbefehle der ersten Ebene während einer bestimmten Zeitspanne.
Ein weiteres Merkmal der programmierbaren Einheit und des Verfahrens zum Betreiben dieser Einheit besteht darin, daß
getrennte Folgen von Unterbefehlen der ersten Ebene verwendet werden, um den Betrieb der Einheit in verschiedenen
Betriebsarten zu steuern, z.B. in einem Verarbeitungsbetrieb und einem Eingabe/Ausgabe-Steuerbetrieb, wobei die
Befehlsfolgen in Abhängigkeit von speziellen Befehlen einer höheren Ebene adressierbar und auswählbar sind.
009348/1833
Ein weiteres besonderes Merkmal der programmierbaren Einheit und des Verfahrens zum Betreiben der Einheit besteht
darin, daß verschiedene Folgen von Unterbefehlen der ersten Ebene zur Ausführung von in verschiedenen Programmsprachen
ausgedrückten Befehlen einer höheren Ebene vorgesehen sind und in Abhängigkeit von der Programmspraehe, in der die
Befehle der höheren Eben© ausgedrückt sind, wählbar sind.
Vorzugsweise enthält die programmierbare Einheit nach der Erfindung eine Rechen- und Verknüpfungsschaltung, die aus
mehreren modularen (bausteinartigen) Verknüpfungseinheiten
aufgebaut ist, die durch Unterbefehle der beiden Ebenen gesteuert werden.
Die Erfindung und ihre Weiterbildungen werden im folgenden anhand von Zeichnungen näher beschrieben9 die ein bevorzugtes
Ausführungsbeispiel darstellen·
Pig» 1A stellt eine programmierbare Einheit nach der Erfindung
dar.
Fig. 1B stellt ein© Anordnung programmierbarer Einheiten
nach der Erfindung dar. . .
Fig. 2 ist eine sehematische Darstellung des Steuerwerks
und der Rechenverknüpfungseinheit nach der Erfindung.
Fig. 3 stallt die Reclisnverknüpfiingseinheit nach der Erfindung
ausführlicher dar»
Fig. 4 stellt ein® andere Ausführung der Rechenverknüpfungseinheit
dar»
Die Figo 5-11 stellen verschiedene Verknüpfung^schaltungen
der progress!erbaren Einheit dar»
009841/1833
Fig. 12 ist eine schematiache Darstellung der Arbeitsspeicher-Koppelelektronik.
Die Pig. 13 - 16 stellen Pormate verschiedener Befehle
dar, die in der Anlage verwendet werden.
Pig. 1" ist eine schematinche Darstellung des Dekodierers
für Subbefehle der zweiten Ebene.
Pig. 18 ist eine schematiache Darstellung des Dekodierers für Subbefehle der ersten Ebene.
Pig. 19 ist eine Tabelle der N-Steuersignale der Steuerfelder
der Phase 2 A 3 des N-Befehls.
Pig. 20 ist eine Tabelle der N-Jteuersignale des Steuerfelds
der Phase 3 des N-üefehls.
Die Fig. 21 - 23 sind Zeitdiagramme, die dia Überlappung
der Ausfuhrung von Befehlen darstellen, und
die Pig. ZA und 25 stellen M-Befehlsfolgen dar, die in
der Anlage nach der Erfindung verwendet werden können.
Ausführliche Beschreibung der Anlage Definitionen
Einige Begriffe, die in der folgenden Beschreibung häufiger
vorkommen, werden wie folgt definiert:
Programmsprache ist eine Ausdruckefom, die in binäre
Signale umgesetzt und von einen Programmierer oder dem Benutzer eines Rechners ohne Kenntnis des Schaltungsaufbaue
einer speziellen Verarbeitungsanlage verwendet werden kann.
£'09848/1633
. 12_ 202335A
S-Befehl ist ein Befehl, der eine Information enthält
, die eine Routine oder einen Prozeß vorschreibt, die bzv/. der mit einer Gruppe von Daten durchgeführt
werden soll. Ein S-Befehl ist mit einem an eich bekannten Makrobefehl oder Befehl in Maschinensprache
vergleichbar.
M-Befehl ist ein Befehl, der eine Information enthält,
die eine Operation vorschreibt, die in einer Verarbeitungsanlage ausgeführt werden soll, bei der eine oder
mehrere dieser Operationen zur Durchführung eines Prozesses erforderlich sind, der vom S-Befehl vorgeschrieben
wird. Ein M-Befehl ist mit einem Mikrobefehl vergleichbar, wie er bislang verwendet wird.
N-Befehl ist ein Befehl, der eine Information enthält,
die Steuersignale vorschreibt, die in der Verarbeitungsanlage verwendet werden sollenj um die Ausführung eines
M-Befehls auszulösen. Zur Durchführung eines M-Befehls
können ein oder mehrere N-Befehle erforderlich
sein.
Die bislang angewandte Mikroprogrammierung hat zwei wesentliche
Vorteile. Zum einen braucht der Programmierer nicht die einzelnen Schritte vorzuschreiben» die zur Durchführung
einer bestimmten Operation erforderlich sind5 diese Schritte
werden durch die Folge von Mikrobefehlen vorgeschrieben, -die der Makrobefehl aufruft» Zum anderen braucht in der Rechenanlage
nicht für jede spezielle Funktion, die die Rechenanlage ausführen sollf eine spezielle Schaltungsanordnung
vorgesehen zu sein. Ferner kann die Anlage eine größere Anzahl von Rechenoperationen bei einem bestimmten Befehlsformat
ausführen, da der Operationsteil des Befehls nicht mehr die speziellen Maschinenoperationen vorzuschreiben braucht.
Q09S48/1633
Nach der Erfindung werden drei getrennte Anlagen zu einer
Anlage zusammengefaßt: Nämlich die S-Anlage, die M-Anlage
und die N-Anlage. Jede Anlage enthält ihren eigenen Arbeitsspeicher
und ihren eigenen Befehlsdekodierer. Die liste der N-Befehle liegt normalerweise fest, kann jedoch
veränderbar sein. Die liste der M-Befehle läßt sich während des Normalbetriebs der Anlage dynamisch ändern. Jede einzelne Gruppe von M-Befehlen kann einer bestimmten Gruppe
von S-Befehlen eine bestimmte Bedeutung zuschreiben. Jeder S-Befehl kann einen vollständigen Algorithmus vorschreiben,
dessen Schritte durch eine !Folge von M-Befehlen festgelegt
werden. Ein S-Befehl entspricht einem Makrobefehl oder Maschinensprachebefehl an sich bekannter Art. Nach der Erfindung
ist jedoch keine bestimmte Gruppe von S-Befehlen erforderlich, es können vielmehr mehrere verschiedene Gruppen
von S-Befehlen, einschließlich solcher Gruppen von S-Befehlen
verwendet werden, die in verschiedenen Programm-Sprachen aufgezeichnet sind. Ferner ist die Gruppe von Befehlsteilen,
die die Eingabe und Ausgabe von Daten steuert, nach der Erfindung durch eins bestimmte Gruppe von S-Befehlen
verwirklicht. Jede Gruppe von S-Befehlen wird bei* der Anlage nach der Erfindung durch jeweils eine getrennte
Gruppe von M-Befehlen interpretiert, von denen jeder wiederum durch die Liste von N-Befehlen verwirklicht wird.
Die Art und Weise, wie die Erfindung verwirklicht wird,
wird anhand der Zeichnungen näher beschrieben. Mg. 1A stellt den grundsätzlichen Aufbau einer programmierbaren
Einheit nach der Erfindung dar. Die programmierbare Einheit enthält zwei Hauptteile, nämlich eine Rechenverknüpfungseinheit
ALU und ein Steuerwerk. Der Arbeitsspeicher 20 ist in drei Teile unterteilt dargestellt,
nämlich in einen Hauptarbeitsspeicher 2OA, einen Mikroprogramm-Arbeitsspeicher
2OB und einen N-Arbeitsspeicher
1309848/1633
-H-
2OG. Bei dem Hauptarbeitsspeicher 2OA handelt es sich um
einen normalen destruktiv lesbaren Speicher, wie er normalerweise in Datenverarbeitungsanlagen verwendet wird.
Bei dem MP-Arbeitsspeicher 2OB handelt es sich normalerweise um einen nicht destruktiv lesbaren Speicher. Bei
dem ^-Arbeitsspeicher 200 handelt es sich vorzugsweise
um einen nicht destruktiv lesbaren Speicher, doch kann es sich auch um einen lesespeicher (auch Totspeicher oder
Festwertspeicher genannt) handeln. Bei allen drei Arbeitsspeichern kann es sich um magnetische Dünnschicht- oder
Festkörperspeicher handeln» Als ^-Arbeitsspeicher 200
wird jedoch ein Speicher gewählt„ der den kürzesten Speicherzyklus
aufweist. Die Anlage nach Fig» 1A wird durch
mehrere Eingabe/Ausgabe-Geräte 9 vervollständigt, die
über eine durch die programmierbare Einheit 10 gesteuerte Schalteinheit 8 mit dem Hauptarbeitsspeicher 2OA verbunden
sind.
Bevor die programmierbare Einheit 10 ausführlicher beschrieben wird, wird ein spezieller Anwendungsfall einer
derartigen programmierbaren Einheit anhand von Fig. 1B
beschrieben, um die Vielseitigkeit der programmierbaren Einheit 10 zu veranschaulichen» lach Fig« 1B sind mehrere
programmierbare Einheiten 119 ,·. 14 au einer Anordnung
oder Matrix miteinander verbunden-, und zwar über eine Schaltersynchronisier- oder Schalterverriegelungsvorrichtung
15, die -auch an Arbeitsspeichereinheiten 21, 22 und
und über Schalteinheiten 8 an mehrere Eingabe/Ausgabe-Geräte 9 angeschlossen ist. Die programmierbaren Einheiten
11, ..., H sind ebenso ausgebildet wia die programmierbare Einheit 10 nach Fig. 1A und können nach der Erfindung
auf verschiedene Betriebsarten eingestellt werden. Die Einheiten 11 und 12 können alsoj, wie es in der Tabelle
nach Fig. 1B dargestellt ist, so eingestellt werden, daß
0098A8/1S33
sie während eines bestimmten Arbeitstaktee die Ein- und
Ausgabe steuern, während die Einheiten 13 und 14 im Verarbeitunpsbetrieb
arbeiten. In einem späteren Arbeitstakt, wenn keine Eingabe/Ausgabe-Operationen erforderlich
sind, werden alle vier Einheiten auf Verarbeitungsbetrieb eingestellte In einem noch späteren Arbeitstakt, wenn
weitere Eingabe/Ausgabe-Operationen erforderlich sind, wird eine der Einheiten, z.B. die Einheit 13, auf Eingabe/
Ausgabe-Steuerbetrieb eingestellt. Die in Pig. 1B dargestellte Tabelle dient lediglich zur Erläuterung der Tatsache,
daß irgendeine programmierbare Einheit oder alle programmierbaren Einheiten in Abhängigkeit vom Anwendungsfall entweder auf Eingabe/Ausgabe-Steuerbetrieb oder auf
Verarbeitungsbetrieb einstellbar ist bzw. sind.
Pig. 2 stellt die Hauptregister und Hauptdatenübertragungskanäle
des Steuerwerks und der Rechenverknüpfungseinheit ALU der programmierbaren Einheit dar. Die ALU enthält eine
Verknüpfungseinheit 30, die unter anderem als Addierer wirkt, sowie einen Walzenschalter 31» A-Register 32, B-Register
33 und NICHT-Tore 34.
Das B-Register 33 ist das Hauptrerbindungsglied zwischen
der programmierbaren Einheit und dem Hauptarbeitsspeicher. Das Register dient auch als sekundärer Eingang des Addierers
30 und dient bestimmten sekundären Funktionen, die bei den Rechenoperationen auftreten. Die NICHT-Tore 34
dienen zur Bildung des wahren Inhalts des B-Registers 33 oder des Einer-Komplements des Inhalts des Registers 33.
Die A-Register 32 sind drei funktionell gleiche Register.
Jedes der A-Register dient als Datenzwischenspeicher in einer ALU und als Haupteingang des Addierers 30. Alle A-
009848/1633
Register werden durch die Ausgangssignale der Walzenschalter 31 geladen.
Das Steuerwerk der programmierbaren Einheit nach der Erfindung enthält drei Hauptteile: Nämlich einen Teil, der
als Verbindungsglied zwischen der ALU und dem Arbeitsspeicher und Peripheriegeräten dient, einen Teil, der
die Dekodierung der M-Befehle bewirkt, und einen Teil,
der die N-Befehlssteuersignale empfängt und weiterleitet.
Die Ausgangssignale der ALU sind die Ausgangssignale der
Walzenschalter 31 und können Verbindungstoren 48, Adressenregistern 45 und 46, einem Arbeitsspeicherinformationsregister
47 und einem Sprung-MikrobefehlsZählregister 41
zugeführt werden. Die Ausgangssignale der Walzenschalter
31 können auch einem Verschiebungsbetragregister 44 zugeführt
werden. Über die Verbindungstore 48 werden Adressen und andere Informationen entweder in ein Arbeitsspeicheradressenregister
49 oder einen Zähler 50 übertragen. Das Adressenregister 45 enthält die Basieadresse eines 256-Wortblocks
des Hauptarbeitsspeichers. Der Inhalt deses Registers wird mit dem Inhalt des Arbeitsspeicheradressenregisters
49 zur Bildung einer absoluten Arbeitsspeicheradresse verknüpft. An das Adressenregister 45 ist ein
zweites Adressenregister 46 angeschlossen, das die Basisadresse eines 246-Wortblocks des Hauptarbeitsspeichers
oder die höchsten Stellen einer Geräteadresse enthalten kann. Auch der Inhalt des zweiten Adressenregisters 46
wird mit dem Inhalt des Arbeitsspeicheradressenregisters 49 zur Bildung einer absoluten Arbeitsspeicheradresse oder
einer Geräteadresse verknüpft. Das Arbeitsspeicherinformationeregister
47 dient als Zwischenspeicher für Informationen, die in den Hauptarbeitsspeicher oder ein Gerät
übertragen werden sollen,, Dieses Register wird durch die
AusgangBßignale der Walzenschalter 31 geladen«
009848/1S33
Die Mikrobefehle werden zunächst einem Mikrobefehlsdekodierer
4-0 zugeführt, um den N-Arbeitsspeicher zu adressieren,
und dann in ein Variablenregister 511 das Verschiebungsbetragregister
44 und das Sprung-Mikroprogrammzählregister 41 übertragen» Das Variablenregister 51 wird
als Zwischenspeicher für beliebige Variable (und deren Komplement), die in den M-Befehlen enthalten sind und
dem Addierer 30, dem Zählregister 50 oder dem Arbeitsspeicheradressenregister
49 zugeführt werden sollen, verwendet. Das Verschiebungsbetragregister 44 speichert entweder
die Verschiebungsbetragzahl oder dessen Wortlängenkomplement, die bzw. das zur Steuerung der Anzahl von Bits
verwendet werden soll, um die Daten in den Walzenschaltern 31 verschoben werden. Das Register 41 enthält die Sprungoder
Rückkehradresse für Programmsprünge und Unterprogrammrückläufe in M-Programmen. Die in diesem Register gespeicherte
Adresse ist gewöhnlich um 1 kleiner als diejenige Stelle, an die zurückgekehrt werden soll. Dieses Register
kann aus dem Mikroprogrammzählregister 42, durch Walzenschalt
er aus gangs signale oder vom M-Befehlsdekodierer 40
geladen werden. An dieses Register ist das Mikroprogrämmzählregister
42 angeschlossen, bei dem es sich um den Befehlsadressenzähler für den M-Arbeitsspeieher handelt. Es
enthält gewöhnlich die laufende Mikrobefehlsadresse»
Die Dekodierung der N-Befehle geschieht durch ein Prüfschaltwerk
53 und das Operationsbefehlsregister 52. Die Wirkungsweise dieser Schaltungen wird später noch ausführlicher
beschrieben. An dieser Stelle sei nur soviel erwähnt, daß das Prüfschaltwerk 53 Informationen von einem
Bedingungsregister 54 erhält, dessen Inhalt eine Gruppe
von Prüfbits ist, die als FehlerIndikatoren, Unterbrechungsbefehle, örtliche und globale Boolesche Schaltvariable
sowie Asynchron!tats- oder Entriegelungsindikatoren wirken.
009848/1633
Diese verschiedenen Bedingungsregisterbits werden noch
ausführlicher beschrieben·
Bevor die Pormate bzw. der Aufbau der M- und N-Befehle beschrieben
wird, werden zunächst die Hauptoperationen beschrieben, die in der programmierbaren Einheit ausgeführt
werden. Diese Operationen werden durch M-Befehle ausgelöst.
Die Arbeitsspeicher- und Geräteoperationen dienen zur Übertragung von Daten zwischen der programmierbaren Einheit und
dem Arbeitsspeicher oder irgendeinem Peripheriegerät. Die programmierbare Einheit ist mit den Arbeitsspeichereinheiten
und Geräten über eine Schaltersynchronisier- oder Schalterverriegelungsvorrichtung
durch bidirektionale Mehrfachleitungen verbunden. Die Arbeitsspeicher-'und Geräteadressen
werden aus dem Arbeitsspeicheradressenregister 49 zur Schalterverriegelungsvorrichtung und nach Herstellung der
Verbindung zum ausgewählten Arbeitsspeicher oder Gerät weitergeleitet. Aus einem Arbeitsspeicher oder Gerät empfangene
Daten werden durcli Verbinden des B-Registers mit der äußeren Datenmehrfachleitung ins B-Register übertragen.
Die in den Arbeitsspeicher oder das Gerät zu übertragenden Daten werden über 'das Arbeitsspeicherinformationsregister
47 geleitet. Jede Arbeitsspeicher- oder Geräteoperation wird im ersten Takt des M-Befehls ausgelöst und parallel
oder gleichzeitig mit der Ausführung eines nachfolgenden M-Befehls fortgesetzt. Die Arbeitsspeicher-und Geräteoperationen
können also vollständig durch (logisch©) Verknüpf ungsOperationen überlappt werden. Die Arbeitsspeicher-,
Geräte- und Einstelloperationen können in jedem M-Befehl
00S848/1633
als bedingte oder unbedingte Gruppe vorgeschrieben sein.
Die speziellen Arbeitespeicher- und Geräteoperationen werden
nachstehend ausführlicher beschrieben.
Jeder It-Befehl kann genau eine (logische) Verknüpfungsoperation vorschreiben. Diese Operationen umfassen binäre
Boolesche Verknüpfungsoperationen, auch Schaltfunktionen genannt, zwischen den EingangsSignalen A und B und zwischen
den Eingangssignalen B und Z der AIU und die meisten Verknüpfungsoperationen zwischen Z und A. Es kommen auch
einige ternäre Boolesche Verknüpfungsoperationen zwischen allen drei Eingangssignalen und echte Additionsoperationen
zwischen jeweils zwei Eingangssignalen vor· Die Schaltfunktionen der verschiedenen Booleschen Verknüpfungsoperationen
sind in Fig. 19 als Tabelle dargestellt.
Bei den echten Additionsoperationen erfolgt eine Zweierkomplementaddition
der Eingangssignale A und B der ALU. Die gleichen Verknüpfungen können zwischen den Eingangssignalen B und Z und zwischen den Eingangssignalen Z und
A durchgeführt werden, wenn dies erforderlich ist. Das Endübertragausgar.gssignal der höchsten Stelle der ALU
wird zur Überprüfung des nächsten M-Befehls verwendet,
und im 1 berlaufbit des Bedingungsregisters für eine spätere Prüfung gespeichert.
Die ALU besteht aus mehreren "logischen" Grundeinheiten
entsprechend der Datenkanalbreite, die für eine bestimmte
programmierbare Einheit gewählt ist. Die Anzahl der Bits bei einer Grundeinheit ist gleich 8 gewählt. Die Variationsmöglichkeiten
bei Additionsoperationen hängen von der Wahl der jeder 8-Bit-Gruppe zugeführten Überträge bzw.
009848/1633
davon ab, ob der Übertragausgang einer vorhergehenden
Stufe mit dem Übertrageingang einer folgenden Stufe verbunden ist. Bei jeder 8-Bit-Grupp® kann die logische Einheit
so verdrahtet sein, daß das Übertrageingangssignal entweder gleich dem Übertragausgangssignal d@r unmittelbar
vorhergehenden (rechts benachbarten) Gruppe oder konstant
ist. Diese Wahl läßt sich nicht durch das Programm ändern. Der Übertrageingang bzw. das Lbertrageingangssignal kann
jedoch durch das Programm entweder freigegeben bzw« durchgeschaltet
oder gesperrt werden«, Bei herkömmlichen Anordnungen erhalten alle, bis auf die niedrigst© 8-Bit-Grupp©,
ein Übertragsignal von der vorhergehenden Gruppe.. Der
niedrigsten (an weitesten rechte liegenden) Gruppe wird ständig eine Eins als Übertrag zugeführt. Für alle Gruppen,
mit Ausnahme für die Gruppe der niedrigsten Stelle, werden alle Übertragdurchechaltsignale zusammen gebildet, während
der der niedrigsten Stelle zugeführte 1-Übertrag getrennt
gebildet wird.
Es gibt vier Walzenschalteroperationen, die vorgeschrieben werden können, und eine muß vorgeschrieben werden. Diese
Operationen sind: Verschiebe nicht, verschiebe nach rechts zirkular den Betrag im Verschiebungsbetragregister 44,
verschiebe nach rechts hinaus den Betrag im Verschiebungsbetragregister
und verschiebe nach links hinaus das Zweierkomplement des Betrags im Verschiebungsbetragregister 44.
Eine andere Operationsart, die durch die M-Befehle gesteuert
wird, sind die Setz-Operationen, die zur Unterbrechung anderer Programmeinheiten bei einer Zusammenschaltung
mehrerer dieser Einheiten zu einer Anordnung, zum Aussperren und Entriegeln kritischer Teile einer der-
009848/1633
artigen Anordnung und zum Einstellen bzw· Setzen örtlicher
Bedingungsbits verwendet werden. Außerdem enthalten die M-Befehle verschiedene Arten von Informationen, die in
Verbindung mit dem Format des M-Befehls und anderer Befehle
ausführlicher beschrieben wird·
Die programmierbare Einheit enthält vier Steuerinformationsquellen.
Diese umfassen die drei Befehlsebenen oder Befehlsstufen, nämlich den S-Befehl, den M-Befehl und den
N-Befehl sowie eine Gruppe von Bedingungsbits, die im
Bedingungsregister 54 gespeichert sind, wie es in Fig. dargestellt ist. Diese Informationsquellen werden nachstehend
beschrieben.
Anhand von Fig. 13 wird ein S-Befehlsformat beschrieben.
Es sei darauf hingewiesen, daß nicht nur ein bestimmtes S-Befehlsformat verwendet werden kann. Nach der Erfindung
ist es vielmehr möglieh, verschiedene Befehlsformate zu
verwenden. Es muß lediglich dafür gesorgt sein, daß bestimmte Folgen von M-Befehlen in !!-Arbeitsspeicher vorhanden
sind, die jede spezielle Gruppe von S-Befehlen dekodiert
oder interpretiert. Es ist ferner möglich., mehrere
dieser M-Befehlsfolgen im !!-Arbeitsspeicher zu speichern.
Die in den Fig. 13A, 13B und 130 dargestellten Befehlsformate dienen zur Steuerung von Eingabe/Ausgabe-Datenübertragungen,
doch können diese Befehlsformate auch zum Aufrufen von Routinen verwendet werden, die in der programmierbaren
Einheit ausgeführt werden sollen·
009848/1633
202335M
Der Eingabe/Ausgabe-Deskriptor nach Pig. 13 enthält 96
Bits, die in drei Teile unterteilt sind. Der Operationsteil nach Pig. 13A ist in zwei Felder unterteilt. Das
PeId I schreibt die auszuführende Operation vor, während
das Feld II zum Vorschreiben der Adresse des Peripheriegeräts oder der Arbeitsspeichereinheit, in die oder aus
der Daten übertragen werden sollen» verwendet werden kann. Das Feld III nach Pig. 13B ist ein Zeichen aus θ Bits,
das als Vergleichszeichen zum Beenden einer Datenübertragung verwendet werden kann. Das PeId IV stellt einen Zähler
dar, der die Anzahl von Datengruppen vorschreibt, die übertragen werden sollen, und dessen Zählerstand bei jeder
Datenübertragung um eins verringert und auf das Auftreten des Zählerstands null überprüft wird. Das PeId V
stellt eine Gruppe von Steuerbits dar, z.B. Kennzeichen oder "Fahnen", die zur Modifizierung der Datenübertragung
oder zum Vorschreiben verschiedener Bedingungen verwendet werden können. Das ü'eld VI ist ein Befehlszähler, der die
absolute Adresse vorschreibt, unter der die nächste Deskriptoroperation
aufzusuchen ist. Das PeId VII des Steuerteils
II nach Pig. 130 wird zum Vorschreiben der Arbeitsspeicheradresse verwendet, unter der Baten eingegeben oder ausgelesen
werden sollen· Das PeId VII kann in zwei Unterfelder
unterteilt sein, um beispielsweise eine Basisadresse und
eine relative Adressenstelle vorzuschreiben. Das Bit 64 des Steuerteils II wird zum Anzeigen der Tatsache verwendet,
daß der Kanal, dessen Betrieb gerade vom Deskriptor überwacht wird, belegt ist, während das Bit 65 daasu verwendet
wird, zu verhindern, daß der augenblickliche Deskriptor
eine neue E/A-Folge auf einem anderen Kanal auslöst,
und das Bit 95 ist ein Paritätsbit.
Die Befehlsformate nach Pig® 13 können Informationen enthalten,
die für eine bestimmte Kanaloperation erforderlich sind, zu der die Adressierung einer neuen Gruppe von Deskrip-
009848/1633
202335A
tor-Befehlen gehört, die eine neue Operation in diesem
Kanal auslösen, wenn die augenblickliche Operation ausgeführt ist. Das Befehlsformat nach Pig. 13 wurde zwar
in bezug auf einen E/A-Deskriptor beschrieben, kann jedoch auch für andere Routinen verwendet werden. In jedem
Falle wird dieses Deskriptorformat durch die programmierbare Einheit dadurch realisiert, daß das B-Register 33
der Hechenverknüpfungseinheit nach Pig. 2 dae PeId I aufnimmt,
aus dem dieses Feld dann über den Addierer 30 und die Walzenschalter 31 ins Sprung-Mikroprögrammzählregister
(SMPZR) 41 übertragen wird, um den M-Arbeitsspeicher zu adressieren. Unter dieser Adresse wird eine neue Adresse
ausgelesen und dem Mikrobefehlsdekodierer 40 nach Fig.
zugeführt. Diese Adresse schreibt die Anfangespeicherzelle der Folge von M-Befehlen vor, die zur Durchführung des
auf diese Weise dekodierten S-Befehls erforderlich ist.
Nachdem beschrieben wurde, wie ein S-Befehl zur Gewinnung
einer Folge von M-Befehlen, die den S-Befehl ausführen,
dekodiert wird, werden nachstehend die M-Befehleformatβ
anhand von Fig. 14 beschrieben.
Jeder M-Befehl benötigt einen 16-Bit-Wort-Speicherplatz
in dem Mikroprogramm-Arbeitsspeicher, auch M-Arbeitsspeicher genannt. Es- gibt zwei Arten von M-Befehlen, von denen jede
durch die N-Befehl· verschieden dekodiert wird. Die erste Art von M-Befehlen schreibt mindestens tine von sechs
Punktionen vor: Eine Bedingung, eine Verknüpfungseinheitsoperation,
eine Arbeitsspeicher- oder Geräteoperation, einen wahren Nachfolger, einen falschen Nachfolger und Variable
in dem Befehl. Die Bedingung und Nachfolger müssen in jedem M-Befehl vorhanden sein. Die anderen Punktionen sind
009848/1633
jedoch frei wählbar, doch können alle frei wählbaren Angaben in demselben Befehl enthalten sein. Eine zweite
Art von M-Befehl enthält nur Befehlsvariable.
Der Aufbau der ersten Art von M-Befehlen ist in Fig. 14a
dargestellt. In diesem Befehl ist das nullte Bit eine 1, während die übrigen Bits die Adresse eines N-Arbeitsspeichers
darstellen, unter der der N-Befehl aufgesucht werden
kann, der die Operation und Bedingungssteuerbits enthält, die durch die erste Art von M-Befehl vorgeschrieben werden.
Der Aufbau der zweiten Art von !-Befehlen ist in den Fig.
14b und 14c dargestellt,, Nach Fig. 14b stellen die ersten
drei Bits Nullen dar, wodurch sie anzeigen, daß die übrigen Bits 3 bis 15 eine M-Arteeitsspeicheradresse darstellen,
die ins Register 41 n&gh Figo 2 übertragen werden muß. Wenn
mindestens eines der Bits 1 und 2 eine 1 und das nullte Bit eine O ist, dann hat der Aufbau das in Fig«, 14c dargestellte
Format, bei dem die Bits 3-7 ein Schiebebetragregister-Inhaltsfeld
darstellen* wenn das Bit 3 eine 1 ist, und die Bits 9-15 ein Variablenfeld -darstellen,, wenn das Bit 2
eine 1 ist. Das Bit 8 kann sich entweder im Schiebebetragregister-Inhaltsfeld
oder dem Variablenfeld befinden, wenn beide nicht spezifiziert (vorgeschrieben) sind* Wenn jedoch
die Bits 2 und 3' beide eine 1 darstellen, dann wird das
Bit β> als Teil dea Schiebebetrag-Register-Inhaltsfeldes
betrachtet» ■
Es gibt 16 prüfbar© Bedingungen t von denen.genau eine bei
jedem M-Befehl geprüft werden muß. Wenn die Prüfung positiv
ausfällt, wird der gesamte Befehl ausgeführt und der wahre Nachfolger als nächste Befehlsadresse gewählt, Wenn die
Irüfung negativ ausfällt 9 werden nur die unbedingten Teile
des Befehls ausgeführt und der falsche Nachfolger (d^h. die
Negation des Nachfolgers) als nächste Befehlsadresse gewählt,
00934 8-/1633
202335k
Me 16 Bedingungen, die überprüft werden können, umfassen
die 12 Bedingungsregisterbits und vier andere Bedingungen, bei denen es sich um Überlauf, exklusives ODBR und um die
Ausgangssignale der niedrigsten und höchsten Binärstelle
des Addierers handelt, die sich bei dem vorhergehenden M-Befehl ergeben.
Die durch die M-Befehle vorgeschriebenen Verknüpfungseinheitsoperationen
umfassen die Auswahl der Addierer-Eingangssignale, die Addiereroperation, die Walζensehaiteroperation
und die Festlegung des Bestimmungsortes der Ausgangssignale des Addierers und der Walzenschalter, wobei
es sich bei diesem Bestimmungsort entweder um die AIU oder das Steuerwerk handeln kann. Die Steuerungen für das
Variablen-, Zähler- und Sehiebebetragregister und die
Steuerungen zur Änderung von Befehlen, die bereits verarbeitet werden, -sind ebenfalls in dieser Gruppe enthalten.
Die speziellen Rechen- und Yerknüpfungsoperationen sowie
Arbeitsspeicher-, Geräte- und Einstelloperationen wurden bereits in dem Abschnitt "Durch ivi-Befehle gesteuerte
Operationen" erwähnt. Diese allgemeinen Operationen sollen hier nicht wiederholt werden, doch müssen noch bestimmte
spezielle !Punktionen beschrieben werden, die ebenfalls durch die M-Befehle gesteuert werden. Zu diesen gehört
nicht nur das Weiterleiten von Datenteilen in das A-"und
das B-Register der ALU, sondern auch in die Register 41, 45, 47, 49 und .50, wie es in Pig. 3 dargestellt ist. Die
M-Befehle steuern auch die Übertragung des Inhalts des
Yariablenregisters 51 in das Zählerregister 50 und die
Weiterschaltung des Zählerregisters 51. Wenn der Zähler 50 beim Weiterschalten "überläuft" und auf null zurückgesetzt
wird, dann wird das Zählerüberlaufbit des Bedingungsregisters
54 gesetzt. Diese Übertragungssteuerfunktionen
werden durch Adressieren entsprechender N-Befehle
009848/1633
— CO —
durchgeführt, die die erforderlichen Steuersignale enthalten.
Bei jedem M-Befehl muß der Inhalt des Schiebebetragregisters
44 wie folgt gewählt werden? Entweder gleich dem Innalt, den es bei dem vorhergehenden üefehl hatte, oder
gleich dem Wortlängenkomplement des Inhalts, den es bei
dem vorhergehenden Befehl hatte, oder gleich dem V/ert der
sechs binären Ausgangssignale aer niedrigsten Stelle der Walzenschalter 31 bei dem vorhergehenden Befehl oder gleich
einem Yariablenwert aus dem M-Befehl» Diese Wahl wird vor
und nicht nach der Verschiebung in den Walζenschaltern 31
getroffen.
Der M-Befehl ermöglicht auch die Durchführung zweier Austauschoperationen,
die es ermöglichen9 teilweise ausgeführte
Befehle zu ändern» Diese Operationen hängen vom
Ergebnis der Bedingungsprüfimg ab und umfassen das Aus=*
tauschen des Bestimmungsortes oder des Befehls <, Bei einer Bestimmungsortaustauschoperatioa gestattet eine positive
Bedingungsprüfung das Abschließen des vorhergehenden Befehls,
und wenn die Bedingungsprüfimg- negativ ausfällt, dann wirkt der gerade in der Durellführung befindliche Befehl
als Löschoperation.. Wenn die Bedingungsprüfung/ bei
einer Befehlsaustauschoperation positiv ausfällt, dann wird der vorhergehende Befehl nach, eine» Takt-unterbrochen
und die laufende Operation ausgeführt s wenn jedocJa. die Bedingungsprüfung
negativ ausfällt ~f dann wirkt der laufende
Befehl als Lösehoperation«,
Es gibt 12 Arbeitsspeicher- und Garäteaperatlonen, von .
denen jede durch ©inen bestisaten M-Befehl ausgelöst werden kann. Diese Operationen simeU Verriegele mit Gerät
sum Lesen, verriegele mit Serät gum Schreiben^ entriegele
Arbeitsspeicher oder ö©räts der oder äas göm H£sen r0a®r«
viert ist, entriegele Arbeitsspeicher oder öeräts der oder
009848/1633
das zum Lesen reserviert ist, lies (wenn ein Gerät bereits
zum Lesen verriegelt ist), schreibe (wenn ein Gerät bereits zum Schreiben verriegelt ist), lies Register, schreib
Register und bringe Inhalt des Mikroprogrammzählregisters
41 in den M-Arbeitsspeicher.
Wie bereits angedeutet, muß jeder M-Befehl die nächste M-Befehlsadresse
oder den Nachfolger im M-Arbeitsspeicher in einer von zwei Arten vorschreiben, eine für den positiven Ausgang der Bedingungsprüfung und eine für den negativen
Ausgang der Bedingungsprüfung. Wenn beide Vorschriften
gleich sind, dann ist der Nachfolger nicht bedingt. Das Register 42 nach Pig. 2 enthält normalerweise die
Adresse des laufenden (gerade in der Ausführung befindlichen) Befehls. Daa Register 41 nach Pig. 2 enthält gewöhnlich die um eins verhinderte Adresse des Altemativbefehls.
Es gibt sieben Wahlmöglichkeiten für Jeden Nachfolger: Schalte zum nächsten Befehl der Polge weiter (die
nächste Befehlsadresse ist der Inhalt des Registers 42+1,
und der Inhalt des Registers 42 wird durch die nächste Befehlsadresse ersetzt), überspringe den nächsten Befehl
(diese Operation gestattet bedingte Verzweigungen innerhalb einer expliziten Additionsvorschrift aufgrund eines
Befehls; die nächste Befehlsadresse ist der um zwei vermehrte Inhalt des Registers 42, und der Inhalt des Registers
42 wird durch die nächste Befehlsadresse ersetzt), wiederhole den Befehl noch einmal (diese Operation gestattet die
Wiederholung der Ausführung eines Befehls so lange, bis sich der Wert einer Bedingung ändert; die nächste Befehlsadresse
ist der Inhalt des Registers 42, der unverändert bleibt), speichere. Programmsehleifenadresse (dadurch wird
die Speicherung der Adresse des laufenden Befehls im Register
41 veranlaßt, so daß später zu der um eins vermehrten
Adresse des laufenden Befehls gesprungen werden kann),
009848/1633
führe einen Befehl außerhalb der Reihenfolge aus (diese Operation gestattet die Ausführung des im Register 41
gespeicherten Befehls und eine unmittelbare Rückkehr zur normalen Reihenfolge), rufe eine Verzweigungsanweisung
auf (diese Operation bewirkt einen Sprung in eine Routine, die im Register 41 vorgeschrieben ist, wobei die
augenblickliche Position für eine spätere Rückkehr gespeichert wird) und springe (diese Operation gestattet
den übergang zur Steuerung des im Register 41 gespeicherten Befehls).
In den M-Befehlen können drei Variable auftreteni M-Befehlsadressen,
Datenvariable und Verschiebebeträge. Bei Befehlen des ersten Typs wird über die Verknüpfungseinheitszeit
hinaus keine zusätzliche Zeit zur Verarbeitung der Variablen benötigte Bei Befehlen des zweiten Typs,
die nur Variable enthalten, wird nicht mehr als ein Takt
benötigt. Bei den M-Befehlsadressenvariablen handelt es
sich um diejenigen Adressen, die ein vollständiges M-Befehlswort benötigen» das daher nicht bei Befehlen des
ersten Typs oder bei anderen Variablen verwendet werden kann. Datenvariable können bei Befehlen des zweiten Typs
entweder allein oder zusammen mit einem Schiebebetrag verwendet werden. Die Datenvariable wird im Variablenregister
51 nach Fig. 2 gespeichert, bevor die Verknüpfungseinheit bei diesem Befehl irgendeine Operation durchführt. Die
Verschiebebetragvariablen werden ins Register 44 nach Fig. 2 übertragen, bevor die Verlmüpfungseinheit bei diesem
Befehl irgendein© Operation durchführt.
Bedingungsbit8
Wie bereits erwähnt, sind die äußeren Sedingungseignale,
die dem Bedingungsregieter 54 nach Fig. 2 zugeführt werden,
eine der vier Informationsquellen in <äer programmierbaren
009848/1633
Einheit. Da diese Bedingungsbits die Durchführung der M-Befehle
durch die F-Befehle beeinflussen, werden die durch
diese Bits jeweils dargestellten Bedingungen vorgeschrieben, bevor das Format der F-Befehle vorgeschrieben wird.
Wie bereits erwähnt wurde, speichert das Bedingungsregister 12 prüfbare Bits, die als Fehlerindikatoren, Unterbrechungsbits,
örtliche und globale Boolesche Variable und als Asynchronitäts- oder Entriegelungsindikatoren wirken.
Das Format des Bedingungsregisters ist in Fig. 16 dargestellt.
Das Überlaufbit (GOV) wird gesetzt, wenn im Zählregister
50 nach Fig. 2 ein Überlauf auftritt, wenn also der Zähler beim Weiterschalten auf null zurückgesetzt wird. Das Bit
wird zurückgesetzt, wenn es überprüft (abgetastet) wird. Es wird auch immer dann zurückgesetzt, wenn die Ausgangssignale
des Walzenschalters oder der Inhalt des Variablenregisters 51 nach Fig. 2 in das Zählerregister übertragen
werden. Wenn es im gleichen Takt gesetzt und zurückgesetzt wird, dominiert die Rücksetzung. Bei einer Überprüfung
dieses Bits wird in V/irklichkeit die ODER-Verknüpfung dieses
Bits mit dem wahren Überlauf des Zählers überprüft»
Das Lesebereitbit (RDG) ist ein Bit, das anzeigt, daß Daten
bereitstehen, die taktweise ins B-Register übertragen werden sollen. Dieses Bit wird von demjenigen Arbeitspeicher-Modul
oder Gerät gesetzt, mit dem die programmierbare Einheit in Leseverbindung steht. Alle Geräte setzen dieses Bit.
Das Lesebereitbit wird durch Überprüfung zurückgesetzt»
Das Arbeitsspeicheradressenregisterbereitbit (MAR) ist ein
Bit, das zum Anzeigen der Tatsache verwendet wird, daß das
Arbeitsspeicheradresaenregister 49 erneut geladen werden kann. Es wird durch die Schalterverriegelungvorrichtung oder
009848/1633
ein Gerät während einer Verriegelungs-, Lese- oder Schreiboperation gesetzt. Beim Prüfen wird das Bit zurückgesetzt.
Solange wie das Bit gesetzt ist, nachdem die erwähnten Operationen ausgelöst wurden, zeigt es an, daß das Gerät
oder der Arbeitsspeicher-Modul belegt ist»
Das Bit ERR zeigt an, daß im Arbeitsspeicher-Modul oder Gerät, der bzw. das mit der programmierbaren Einheit für
eine Leseoperation in Verbindung stehts ein Fehler aufgetreten
ist. Das Bit wird durch das Gerät oder die Schal-A
terverriegelungsvorrichtung gesetzt und beim Überprüfen zurückgesetzt. Das Bit stellt die ODES-Verknüpfung aller
Fehlersignale dar, die ein sofortiges Eingreifen erfordern„
Dazu gehören Arbeitsspeicher-Paritätsfehler, ungültige
Adressen bei Peripherie-Arbeitsspeichern, Gerät oder Arbeitsspeicher nicht angeschlossen (ein Signal von der
dchalterverriegelungsvorrichtung). _und letzausfall im Gerät.
V/arnsignale wie "Papier des Sehnelldruckers ausgegangen"
gehören nicht dazu (einige Geräte-Eehlerarten werden
nur optisch angezeigt).
Das Bit ERW, das ähnlich, wie das Bit EBB wirkt 9 zeigt Fehler
an, die bei einem Gerät oder Arbeitsspeicher-Modul, φ das bzw. der mit der programmierbaren Einheit zum Lesen in
Verbindung steht, auftreten« Ein Bit "Erster externer Anruf" (EX1) zeigt an, daß ein neuer Anruf.γοη einem externen
Gerät oder einer weiteren programmierbaren, Einheit aufgetreten ist". Derartige Anrufe oder Aaforderlangen können
normalerweise durch irgendeine programmierbar© Einheit bedient werden«, Das Bit wird durch das Q-erät gleichzeitig
oei allen, programmierbaren Einheiten gesetzt« Beim überprüfen
wird es (örtlich) in jeder programmierbaren Einheit
zurückgesetzt«
009848/1633
Ein Bit "Zweiter externer Anruf" (EX2) ist ein Bit, das
einen Anruf von einem Gerät anzeigt, das belegt, jedoch nicht mit irgendeiner j)rogrammierbaren Einheit verriegelt
ist (in Verbindung steht). Angezeigt würden solche Ereignisse, wie das Einschalten eines Magnetbandgerätes. In
diesem Falle würde nur diejenige programmierbare Einheit, die das einschalten des Bandgerätes ausgelöst hat, eine
Antwort erwarten.
Ein Bit "Arbeit-ispeicherinformationsregister bereit" (KIR)
zeigt an, daß der Arbeitsspeicher oder ein Gerät nach einer Schreiboperation Daten erhalten hat. Dieses Bit wird beim
Überprüfen in jeder programmierbaren Einheit zurückgesetzt.
Ein Bit "Erster globaler Zustand" (GGt) zeigt im gesetzten
Zustand an, daß eine Entriegelung (Trennung) erfolgreich durchgeführt wurde. Das Bit kann in höchstens einer programmierbaren
Einheit gesetzt werden. Es wird in jeder programmierbaren Einheit örtlich gesetzt und zurückgesetzt.
Wenn das Bit überprüft wird, wird es nicht dabei zurückgesetzt.
Ein Bit "Zweiter globaler Zustand" (GC2) hat eine ähnliche
Punktion wie aas Bit .GC1.
Ein Bit "Erster lokaler Zustand" (LCT) wird bei kurzzeitiger
Speicherung. Boolescher Bedingungen in einer programmierbaren Einheit verwendet. Es wird örtlich durch die programmierbare
Einheit gesetzt und örtlich durch Überprüfung zurückgesetzt·
Ein Bit "Zweiter lokaler Zustand" (LC2) ist dem Bit LC1
ähnlich. Welche Bedeutung einem Zustande- oder Bedingungsbit zugeordnet wird, hängt vom speziellen Anwendungsfall ab.
009848/1633
Mit Ausnahme der globalen Zustandebits sind alle Bits .bis
auf ihre äußeren Verbindungen identisch. Es können jedoch nur drei Bits (MIR9 LC1, LC2) örtlich gesetzt werden.
jjbgef ehl 8 f ο rma t
Das N-Befehlsformat wird anhand von Fig. 15 beschrieben.
Dieses Format besteht aus Steuersignalen, die zur Durchführung der M-Befehle erforderlich sind. Das N-Befehlsformat
umfaßt Steuersignale, die nicht unmittelbar durch eine Schaltungsanordnung erzeugt werden, sondern in Befehlsform
in dem N-Arbeitsspeicher gespeichert sind und aus diesem unter einer N-Arbeitsspeicheradresse ausgelesen
werden, die in einem M-Befehl enthalten ist. Bei
dem bevorzugten Ausführungsbeispiel der Erfindung werden
die verschiedenen Bits des N-Befehls zwar direkt als Steuersignale
verwendet, doch liegt es auch im Rahmen, der Erfindung, die verschiedenen Bits des N-Befehls zu verschlüsseln
und verschlüsselte Kombinationen der Bits die Erzeugung der gewünschten Steuersignale bestimmen zu lassen.
Wie in Fig. 15 angedeutet ist, erfolgt die Durchführung
eines M-Befehls in drei Phasen. Daher sind auch, die Steuersignale,
die durch den N-Befehl ausgelöst werden, in drei
Gruppen unterteilt: Nämlich diejenigen, die während der ersten Phase verwendet werden müssen, diejenigen, die während
der Phasen 2 und 3 verwendet werden müssen, und diejenigen, die während der Phase 3 verwendet werden müssen.
Die zeitlichen Verhältnisse in den verschiedenen Phasen
werden später noch anhand von Taktdiagrammen ausführlicher
beschrieben; sie werden jedoch jetzt schon grob beschrieben, um das Verständnis der verschiedenen Steuersignale,
die in dem ^-Befehlsformat nach Fig. 15 enthalten sind,
009848/16 33
zu erleichtern. Wie bereits erwähnt., gibt es drei Zeitphasen,
und es gibt auch zwei Arten von M-Befehlen. Die
eine Art von Befehl löst stets Steuersignale der Phase 1 und Phase 3 aus und kann in einigen Fällen Steuersignale
der Phase 2 auslösen. Befehle der zweiten Art enthalten
od'er bewirken nur Steuersignale der Phase 1. Durch Befehle
der zweiten Art ausgelöste Steuersignale der Phase 1 werden zum Einspeichern der Variablen in die Register 41,
44 oder 51 verwendet. M-Befehle der zweiten Art benötigen
stets eine Taktzeit und überlappen stets die Phase 2 der vorhergehenden Befehle der ersten Art,
Die Phase 1 tritt bei jedem Befehl der ersten Art auf und benötigt eine Taktzeit. Sie überlappt stets die Phase 3
des vorhergehenden Befehls der ersten Art (dazwischen können Befehle der zweiten Art auftreten). Die Phase 1 wird
zur Zustande- bzw. Bedingungsüberprüfung, zur Berechnung der nächsten Befehlsadresse, zur Auslösung von Arbeitsspeicher-
und Geräteoperationen, zum Eingeben von Befehlsvariablen in das Variablenregister 51 oder das Verschiebungsbetragregister
44 und zum Einstellen einer Operation der Verknüpfungseinheit verwendet.
Die Phase 2 tritt bei einigen M-Befehlen der ersten Art auf
und benötigt eine variable Anzahl von Taktzeiten. Sie dient
zur Verzöerung der Phase 3 zur Übertragweiterleitung, Befehlszwischenspeicherung,
Befehlsmodifikation und Durchführung eines M-Befehls der zweiten Art. Wenn es sich bei
dem nächsten M-Befehl um einen Befehl der zweiten Art handelt, wird der augenblickliche M-Befehl der ersten Art
in der Phase 2 angehalten, und zwar für die Dauer eines Taktes (einer Taktzeit), während der M-Befehl der zweiten
Art ausgeführt wird. Die Phase 3 tritt bei Jedem M-Befehl der ersten Art auf und benötigt eine Taktzeit. Sie ist
009848/1633
- 54 -
stets die Phase 1 des nächsten M-Befehls der ersten Art
(dazwischen können Befehle der zweiten Art auftreten). Y/ährend der Phase 3 werden Verknüpfungseinheitsoperationen
und Zielortbestimmungen durchgeführt·
Die verschiedenen Steuersignale der N-Befehle können in
fünf Gruppen unterteilt werden, je nach der Phase, in der sie ausgeführt werdenβ
Diese Steuersignale werden direkt aus den M-Befehlen heraus
ausgeführt. Die Bedingungs- oder Zustandsüberprüfung, das Vorschreiben bedingter und nicht bedingter Operationen,
das Ersetzen von Operationen, die Nachfolger-Operationen, das Auslösen von Arbeitsspeicher- oder Geräteoperationen
und Zustande- oder Bedingungsbitsinstell-Schiebebetragregistervorschreibungen
gehören zu dieser Gruppe»
In der Phase { 2 verwendete Steuersignale
Nur die Verknüpfungseinheitsoperationen (mit Ausnahme der
Zielortbestimmung) werden in der Phase 2 durchgeführt. In
Abhängigkeit von der Breite (Stellsnzahl) einer wahren
Additionsoperation, der -Taktfrequenz dar programmierbaren Einheit und davon, ob die Walzensehalterausgangssignale
benötigt werden, können zwei anstelle einer Taktseit erforderlich
sein, um die Verknüpfungsein&eitsoperation
vollständig durchzuführen. In diesen Fällen wird eine
Phase 2 mit einer Dauer von einer Taktzeit eingeschaltete Die Tatsache-, daß eine zusätzliche Zeit benötigt wird,
wird explizit im Befehl während der Dauersteuerung angezeigt.
008848/1633
Wenn das Auslesen des nächsten Befehls aus dem M-Arbeitespeicher
verzögert wird, bleibt der Befehl der ersten Art,
der gerade ausgeführt wird, (und es wird ständig einer
ausgeführt) so lange in der Phase 2, bia das Auslesen durchgeführt werden kann. Die Länge dieser Verzögerungszeit
läßt sich nicht vom Programmierer bestimmen und wird dynamisch durch den Mikroprogrammzwischenspeicher oder den M-Arbeitespeicher
angezeigt.
Wenn der nächste M-Befehl eine Ereetzungs- oder Austauschoperution
enthält, wird der Befehl der ersten Art, der gerade ausgeführt wird, für die Dauer eines Taktes (einer
Taktzeit) in der Phase 2 angehalten, um die Durchführung der }hase 1 der Austauschoperation zu gestatten* Das Bedürfnis
nach dieser Verzögerung wird durch die Austauschsteuersignale des nächsten befehle bestimmt.
L'ieee Steuersignale werden uus dem Befehlsregister 52 heraus
ausgeführt. Diese Gruppe steuert nur die Verknüpfungseinheitsoperation,
und zwar die A-riegieterauswahl, die B-Registerauswahl,
die C-Eingabeauswahl, die Addiereroperation
und die Walzenschalteroperation.
Kur in Phase 3 verwendete Steuersignale
Diese Steuersignale kommen aus dem Befehlsregister 52.
öie steuern die A-Register-Zielortbestimmung, die 3-Register-ZielortbestimiBung,
die ?ern-Zielortbestimmung und die Variablenübertragung
sowie Zähleroperationen.
009848/1633
Die Variablen in den M-Befehlen werden während des ersten
Taktes des Befehls in das vorgeschriebene Register (41, 44 oder 51) übertragen. Bei Befehlen der ersten Art ist dies
die Phase 1; bei Befehlen der zweiten Art ist dies die
Phase 2 des Befehle der ersten Art, der dann gerade ausgeführt wird.
Eine Tabelle der wichtigeren Steueroits (oder Steuersignale),
die in dem K-Befehlsformat enthalten sind, sind in Fig. 20 zusammen mit einer Liste ihrer Funktionen dargestellt.
Äußere Steuersignale setzen die Zustande--bzw. Beciingungsregisterbits
und werden durch äußere Geräte, Arbeitsspeicher und andere programmierbare Einheiten, ausgelöst.
Die speziellen Steuersignale werden im einzelnen noch anhand der verschiedenen Schaltungen näher beschrieben, denen
diese Steuersignale zugeführt werden,.
In Pig. 3 ist ein ausführlicheres Blockschaltbild der ALU
nach der Erfindung als in Fig. 2 dargestellt. Es sei daran erinnert, daß ein Merkmal der Erfindung in der Schaffung
einer Rechen- und Verknüpfungsschaltung besteht, die aus mehreren modularen Verknüpfungseinheiten aufgebaut ist.
Lie Schaltungsanordhung nach "Fig. 3 enthält eine Verknüpfungseinrichtung
in Form zweier Halbglieder 60 und 61. Jedem Halbglied sind Datenteile oder Datensegmente aus acht
Bits zuführbar. Die Verknüpfungseinrichtung nach Fig. 3 kann daher aus 16 Bits bestehende Datensegmente aufnehmen.
Die Verknüpfungshalbglieder 60 und 61 werden jeweils durch binäre Steuervorrichtungen 68 und 69 gesteuert, die ihrer-
009848/1633
202335A
seits durch Steuersignale des N-Dekodierers 55 des Steuerwerks
der programmierbaren Einheit nach Fig. 2 gesteuert werden.
Das Verknüpfungshalbglied 60 enthält Verknüpfungsgruppen 64 und 65 sowie Übertragseinheiten 74 und 75. In ähnlicher
Weise enthält das Verknüpfungshalbglied 61 Verknüpfungsgruppen 66 und 67 sowie Übertragseinheiten 76
und 77. Jede Verknüpfungsgruppe kann Datensegmente aus vier Bits aufnehmen. Wie die Darstellung nach Mg. 3 zeigt,
besteht die Punktion jeder Übertrageinheit in einer Übertragvorausschau
für ihre zugeordnete Verknüpfungsgruppe. Außerdem wird die Übertragvorausschau für jedes Halbglied
60 und 61 auch jeweils durch Übertragvorausschau-Halbglieder
80 und 81 durchgeführt. .
Der übrige Teil der ALO", die in Fig. 3 dargestellt ist,
enthält A-Register 32 und das B-Register (und'Nicht-Tore)
33. Das Setzen der A-Register 32 kann durch A-Register-Steuervorrichtungen
70 und 71 und das B-Register durch eine B-Register-Steuervorrichtung 72 gesteuert werden. Die
NIGHT-Tore, die noch ausführlicher beschrieben werden, werden
durch Signale gesteuert, die sie vom Steuerwerk über Steuerleitungen 73 erhalten.
In den Pig. 2 und 3 sind gleiche Bezugszahlen für gleiche
Bauteile verwendet.
In Fig. 4 ist eine andere Ausführungsform einer ALU dargestellt,
die aus zwei Verknüpfungseinrichtungen oder vier Verknüpfungshalbgliedern besteht. Bei diesem Aufbau kann
die ALU Datensegmente aua 32 Bits aufnehmen. Wie bei dem Ausführungsbeispiel nach Fig. 3V ist an jedes der Verknüpfungshalbglieder
60, ..·, 63 jeweils ein Übertragvoraus schau-Halbglied 90, *.., 93 angeschlossen. Die Ver-
009848/1833
202335A
bindungen zwischen den verschiedenen Vorausschau-Halbgliedern
unterscheiden sich von denen des Ausführungsbeispiels nach Fig. 3 in folgender Weise. Jedes Übertragvorausschau-Halbglied
erhält Gruppensignale von den beiden Übertrageinheiten in dem entsprechenden Verknüpfungshaibglied,
wie θβ in Hg. 3 dargestellt ist, und führt zu
diesen Übertrageinheiten Gruppenübertragsignale zurück.
Außerdem erzeugt jedes Übertragvoraussehau-Halbglied Halbglied-Übertragungs- und Halbglied-Erzeugungasignale,
die jedem Übertragvorauaschau-Halbglied in der Einrichtung,
bei dem es sich um dasjenige von jeweils zwei Übertragvorausschau-Halbgliedern
handelt, das der höheren Stelle zugeordnet ist, zugeführt werden» Nach Fig« 4 stellen
also die tibertragvorausscham-Halbgliedar 90 und 92
die höchststelligen Übertragvorausschau-Halbglieder der Paare 90, 91 und 92, 93 darf während di® Übertragvorauaschau-Halbglieder
91 und 93 jeweils das niodrigststallige
Halbglied der Paar® darstellen Umgekehrt erzeugt das
niedrigststellige Halbglieä jedes Paares Gruppensignale,
die dem höchststelligen Glied diesee Paares zugeführt
werden· Wie ferner aus Fig» 4 zu ersehe» ist, werden die
vom höchststelligea 6-lied eines Paare® erzeugten Halbgliedsignal® den anderen liöchststelligen Gliedern der
Paare über Verbindung®!!, 94 und 95 zugeführt» während die Gruppenüberträge zwischen Halbgliedern von den niedrigststelligen
des Paares zu den höchststelligen de® Paares
über Verbindungen 96 übertragen, werden« Bei dem Ausführungsbeispiel"
nach Pig· 3r bei dem nur ein Paar von HaIbgliedern
verwendet wirdj, werdan die swischen. Halbgliedern
übertragenen Gruppensignale erneut üfeer eine Verbindung
82 vom niedrigststelligen Glied des Paare® zum höchstetelligen
übertragene Wie fernsr an© Hg1, 3-zu ersehen ist„
werden die Halbgliedübertrageignal© auch, von demjenigen
ÜbertragvorausBchaii-Halbglied Y®rw®nd@t9 das dies® Signale
erzeugt«
202335A - 39 -
Ee bestehen noch weitere Unterschiede zwischen den Ausführungsbeispielen
nach den Pig. 3 und 4. Ein Unterschied ist die Art und Weise, in der die verschiedenen Steuersignale
zur Betätigung verschiedener Verknüpfungshalbglieder verwendet werden. Bei dem Ausführungsbeispiel nach
Fig. 3 iat jedes Verknüpfungshalbglied mit seiner eigenen
Verknüpfungssteuereinheit versehen, so daß jedes Verknüpfungshalbglied getrennt verwendet werden kann. Bei
dem Ausführungsbeispiel nach Pig. 4 sind das höchststellige
Halbglied 60 und das niedrigatstellige Verknüpfungshalbglied
63 jeweils mit getrennten (eigenen) Steuereinheiten 98 und 99 versehen. Den dazwischen liegenden Verknüpfungshalbgliedern
61 und 62 werden die gleichen Steuersignale von der Zwischen-Stauereinheit 97 zugeführt. Jede
der Steuereinheiten wird durch Steuersignale des Steuerwerks der Anlage in Abhängigkeit vom Format der jeweiligen
N-Befehle gesteuert, wie nachstehend noch ausführlicher
beschrieben wird.
Wie aus Pig. 2 zu ersehen ist, ist der Addierer 30 auch mit einem dritten Eingang, dem Z-Eingang, versehen. Wie
aus den Fig. 3 und 4 zu ersehen ist, stellen die X-Eingangssignale
den Inhalt des Zählerregisters 50 nach Fig. 2, der dem höchststelligen Verknüpfungshalbglied zugeführt
wird, und den Inhalt aus dem Variablenregister 51 nach
Fig. 2 dar, der dem niedrigeteteiligen Verknüpfungehalbglied
zugeführt wird.
Die in Pig. 3 dargestellten und auch bei dem Ausführungsbeispiel nach Pig. 4 realisierten Verknüpfungsgruppen sind
gleich ausgebildet. Der Schaltungsaufbau einer Verknüpfungsgruppe ist in Pig. 5 dargestellt und wird jetzt beschrieben.
Es handelt sich üb ein Schaltnetz, das iat wesentlichen aus
mehreren UKD-Glieäern und NOE-Gliedern besteht. Das Schaltnet
ε nach Pig. 5 kann in vier Schaltungsgruppen unterteilt
009848/1633
werden, von de,nen jeder Datenbits mit verschiedener Stellenwertigkeit
in Form von Signalen und auch Steuersignale C1, ..., C7 zuführbar sind. Eine erste Ebene von Verknüpfungsgliedern
erzeugt Zwischensignale X, Y, K1 und deren Komplemente (auch Negationen genannt) und führt
sie einer zweiten Ebene von Verknüpfungsgliedern zu, um ein Erzeugungssignal, Übertragungss.ignal und ein Summensignal
für Jedes der vier Kennbit-Teile zu erzeugen. Die durch das Schaltnetz nach Pig. 5 verwirklichten Schaltfunktionen
sind in Fig. 5 in Form schaltalgebraischer
Gleichungen dargestellt.
Die A-Eingangssignale kommen aus den A-Begistern. Die B-Eingangesignale
kommen aus deaf B-Register und stellen den "wahren" Inhalt dieses Registers oder dessen Negation
(Komplement) dar. Die Z-Eingangssignale kommen entweder
vom Zähler 50 oder aus dem Variablenregister 51 des Steuerwerks der programmierbaren Einheit, die in Fig. 2 dargestellt
ist. Die negierten Übertragssignale K kommen von den jeweiligen Übertragvorausschau-Schaltungen, die noch
ausführlicher beschrieben werden. Die S-Signale stellen die Verknüpfungsergebnisse dar und werden entweder den
Y/al ζ en schal tern 31 oder dem B-Register 33 zugeführt« Die
G-Signale und T-Signale werden den jeweiligen Ubertragvorausschau-Schaltungen
zugeführ.t, die daraufhin die erwähnten negierten Übertragssignale K erzeugen.
Die o-Ausgangssignale stellen Verknüpfungsergebnisse in
Abhängigkeit von der Wahl der Steuersignale C-j, ..., CL
dar, die dem Schaltnetz bzw. der Verknüpfungsgruppe nach Fig. 5 in Abhängigkeit von den Steuereinheiten 68 und 69
nach rig. 3 zugeführten N-Signalen zugeführt werden. Die
N-Signale Kommen vom ft~Dekodxerer 55 (Pig. 2) und stellen
einen vorbestimmten N-Befehl dar.
202335A
Wie aus Pig. 5 zu ersehen ist, muß Jedes Stellenbit-Glied der in dieser Figur dargestellten Verknüpfungsgruppe ein
Übertragsignal vom vorhergehenden Glied erhalten und dem in der Reihenfolge nächsten Glied das Übertragsignal zuführen«
Die Gruppen-Übertragvorausschau-Schaltung, die diese Signale erzeugt, ist in Fig. 6 dargestellt und wird
jetzt beschrieben. Die Schaltung ist so ausgelegt, daß sie über die Halbglied-Übertragvorausschau-Schaltung, die nachstehend
beschrieben wird, ein Übertragsignal GCjn von der
nächstniedriger stelligen Verknüpfungsgruppe erhalte Diese Schaltung erhält auch die verschiedenen Bitübertragungssignale
BT und Biterzeugungssignale BG von den jeweiligen Gliedern ihrer zugehörigen Verknüpfungsgruppe. Die Erzeugung
dieser Signale wurde anhand von Fig. 5 beschrieben. Nach
Erhalt dieser Signale erzeugt die Schaltung nach Fig. 6
ihrerseits die entsprechenden negierten Übertragsignale Se, die den verschiedenen Gliedern der zugehörigen Verknüpfungsgruppe
als Übertragsignale K (siehe Fig. 5) zugeführt werden. Wie weiter in Fig. 6 dargestellt ist, erzeugt
diese Schaltung auch das negierte Gruppenübertragungssignal GT und das negierte Gruppenerzeugungssignal GG, die
den Übertragvoraueschau-Halbgliedern zugeführt werden, wie es in Fig. 3 dargestellt ist, und die noch ausführlicher
beschrieben werden. Die durch die Schaltung nach Fig. 6
verwirklichten algebraischen Schaltfunktionen sind ebenfalls in Fig. 6 dargestellt. Die Schaltung nach Fig. 6
ist die Schaltung der jeweiligen Übertrageinheiten 74, ·.·,
77, die in Fig. 3 dargestellt sind.
Die Übertragvoraueschau-Halbglieder 80 und 81, die in Fig.
3 dargestellt sind, und 90, ..·, 93» die in Fig. 4 dargestellt sind, sind in Fig. 7 ausführlicher dargestellt und
werden jetzt beschrieben. Wie in den Fig. 3 und 4 dargestellt
ist, erhält jedes Übertragvorausschau-Halbglied in
Abhängigkeit davon Signale oder keine Signale vom nächst-
009148/1631
niedriger stelligen Übertragvorausschau-Halbglied, ob es
sich um das höchststellige oder niedrigststellige Übertragvorausschau-Halbglied
des Verknüpfungsteils handelt, von dem es ein Teil bildet. Umgekehrt führt jedes Übertragvorausschau-Halbglied
den anderen Übertragvorausschau-Halbgliedern verschiedene Arten von Signalen in Abhängigkeit
von seinem Platz in der hierarchischen Reihenfolge au. Die Schaltung nach Fig. 7 ist so ausgelegt, daß sie
die verschiedenen gewünschten Signale unabhängig von ihrer Reihenfolge in der Hierarchie erhält und erzeugt. Daher
sind bestimmte Verbindungsleitungens die In Pig. 7 dargestellt
sind, erforderlich oder nicht erforderlich. Die Schaltung nach Pig« 7 ist daher so ausgelegt, daß sie negierte
Gruppenerzeugungssignale GH? erhält, die durch Zeichen
mit ungeradaahligen Indices dargestellt sind,, wenn
sie von einer niedriger stelligan. Gruppe von Übertrageinheiten
kommen j und mit geradzahligen Indizes versehen sind, wenn sie von einer höher st@llig©n Gruppenübertragseinheit
kommen. Die Schaltung kann auch negierte Gruppenübertragungssignale
GT erhalten, die ebenfalls nach der eben angegebenen
Definition mit geradzahligen und ungeradzahligen Indizes versehen sind. Ferner erzeugt die Schaltung nach
Pig. 7 Gruppenübertragsignal© GC, die ebenfalls mit geradzahligen
oder ungeradzahligen Indizes in Abhängigkeit von
ihrer Stellenwertigkeit versehen sind und den jeweiligen Gruppenübertragsöinheiten zugeführt werden, wie es in Pig,
3 dargestellt iet. Wenn das Üb@rtragvoraueschau-Halbglied
ein niedriger etelligfes ist, ist es so ausgebildet, daß
es dem näc* thöher stelligen die Gruppenübertragungssignale
GT unu Gruppenerzeugungssignale GG zuführt,,
Wenn die Schaltung ein höehststelliges Übertragvoraussehau-Halbglied
ist, erzeugt es die jeweiligen Halbglied-Übertragungssignale
ST und Halbglied-Erzeugungssignale SG und führt sie allen hoher etelligen Übertragvoraueschau-Halb-
001848/1633
gliedern der ALU zu, wie es in Pig. 4 dargestellt ist. Me Schaltung nach Pig. 7 ist daher auch so ausgebildet
und angeschlossen, daß sie diese Halbgliederzeugungs- und Halbglied-Übertragungssignale von den anderen höchststelligen
dbertragvorausschau-Halbgliedern erhält und daraus ein negiertes i'bertrageingangssignal S(L erzeugt. Diese Punktion
iet jedoch nicht vorgesehen, wenn es sich bei dieser Schaltung um ein niedriger stelliges Übertragvorausschau-Ilalbglied
handelt. In ähnlicher Weise spricht die Schaltung nicht auf Gruppenübertragungs- und Gruppenerzeugungssignale
des nächstniedriger stelligen Übertra^rorausschau-Halbgliedes
an, und in diesem Falle werden den Eingangsleitungen für diese Funktion zwangsläufig auf null oder
eins gehaltene binäre Signale zugeführt, wie es in Pig. 7 dargestellt ist.
Es sei darauf hingewiesen, daß die Erzeugung von Gruppenübertragsignalen
und deren Weiterleitung in die niedrigstetelligen
Bitstellen jedes Verknüpfungshalbgliedee durch ein Steuersignal N15 gesperrt werden kann, das durch eine
Steuereinheit 68 oder 69 (siehe Fig. 2) erzeugt werden
kann.
Die durch die Schaltung nach Fig. 7 verwirklichten algebraischen Schaltfunktionen sind ebenfalls in Pig. 7 dargestellt.
Die verschiedenen binären Steuereinheiten 68 und 69 nach Fig. 3 und 97, 98 und 99 nach Fig. 4 werden jetzt anhand
von Fig. b näher beschrieben. Bei diesen Steuereinheiten
handelt es sieh um herkömmliche Dekodierer, die aus mehreren UKD- und NOR-Gliedern bestehen. Der öchaltungsaufbau ist dennoch-dargestellt, um das Verständnis der verschiedenen
N-Steuersignale zu erleichtern, die aus den
H-Befehlen gewonnen werden. Die zur Steuerung der jewei-
009848/1633
ligen Verknüpfungsgruppen nach Fig. 5 verwendeten Steuersignale
umfassen fünf N-Signale, von denen ein Signal ein Sperrsignal ist. Durch die Dekodierung der Signale Nq,
N10, N1- und N1O werden sieben Untersteuersignale O1, ...,
Cj erzeugt und den betreffenden Verknüpfungsgruppen zugeführt,
wie es in Fig. 5 dargestellt ist und anhand dieser Figur beschrieben wurde. Ein achtes Signal N15 wird ebenfalls
durch das Steuerwerk nach Fig. 2 erzeugt und dem Übertrag-Halbglied zugeführt, das dem Verknüpfungshalbglied
entspricht, um die Erzeugung des niedrigststelligen Gruppenübertragsignals für dieses Verknüpfungshalbglied
zu sperren, wie es anhand von Fig. 7 beschrieben wurde. Ein weiteres Sperrsignal dient zum Sperren der Signale
Cj- und Cg. Kurz auf Fig. 5 Bezug nehmend, sei darauf hingewiesen,
daß die Signale C5 und Cg zur Einschaltung der
Z-Eingangssignale der Verknüpfungsgrupue dienen. Das der
Steuerschaltung nach Fig« 8 zugeführte Sperrsignal dient also zum Sperren des Z-Eingangs der entsprechenden Verknüpf
un^s gruppen. Die durch die verschiedenen Verknüpfungsgruppen unter der Leitung der N-Steuersignale durchgeführten
Funktionen sind in Fig. 20 unter der Überschrift "Addiereroperation11 aufgeführt.
Andere Beispiele, wie die N-Steuersignale des N-Befehlsformats
zur Steuerung der ALU-Operationen verwendet werden, sind in den Fig. 9, 10 und 11. dargestellt, die jeweils den
Schaltungsaufbau der A-Eegister, des B-Registers und der Walzenschalter zeigen«
Wie in Fig. 9 dargestellt ist, bestehen die drei A-Kegister
A1, A2 und A5 jeweils aus drei Gruppen von Flipflops A11*
..·, A18; A21, .... A^g5 A^1, .··, A^q. Wie aus der Ta»
belle nach Fig. 21 zu ersehen ist, werden di® Eingänge der Α-Register durch zwei N-Signale N21 und N22 gesteuert,
deren Aufgabe darin besteht, den Inhalt der Α-Register im-
009848/1833
202335A
verändert zu halten und einen Eingang des A1-Registers,
des A2-Hegisters und des A3-Registers zu bilden. Nach
Fig. 9 werden die Steuersignale N2 -\ und N22 &&&■ N-Dekodierer
110 zugeführt, der diese in drei Signale C15, C14
und C1C umsetzt, die jeweils den Flipflops des Al-Registers,
des A2-Registers und des A3-Registers zugeführt werden.
Bei diesen Signalen kann es sich um solche Signale handeln, die die betreffenden Flipflops während einer Taktzeit zurückgesetzt
halten und dadurch verhindern, daß die Flipflops gesetzt werden, so daß die Funktion der Steuersignale
N21 und N22 darin besteht, irgendeines der C-Signale
zu sperren und somit zu gestatten, daß Datensegmente, die über die Datenleitungen 88 zugeführt werden, in irgendeinem
der Register-Flipflop-Gruppen gespeichert werden.
Wie aus der Tabelle nach Fig. 19 zu ersehen ist, werden die A-Register-Ausgänge durch die Steuersignale N1 und N2
gesteuert, um das Auslesen der Register A1, A2 und A, zu
bewirken oder alle auf null zurückzusetzen. Wie diese Operationen verwirklicht werden, ist ebenfalls in Fig. 9 dargestellt,
wonach die Steuersignale N1 und N2 einem N-Dekodierer
111 zugeführt werden, der seinerseits vier Ausgangssignale Cq, ..., O12 erzeugt. Die Signale Cq, C10 und
C11 werden UND-Gliedern zugeführt, um das Auslesen der
Flipflops der Register A1, A2 und A3 zu steuern. Das Signal
G12 wird jedoch mehreren nur mit einem Eingang versehenen
UND-Gliedern zugeführt, deren Ausgangssignale durch NOR-Glieder, wie es in Fig. 9 dargestellt ist, negiert werden, um O-Ausgangssignalβ zu erzeugen. Die Ausgangssignale
der NOR-Glieder werden über leitungen 84 den jeweiligen Verknüpfungsgruppen zugeführt, wie es in den Fig. 3 und
dargestellt ist.
Anhand von Fig. 10 wird beschrieben, wie die Steuersignale
den Betrieb des B-Registers steuern. Wie aus der Tabelle
008848/1633
nach Pig. 20 zu ersehen 1st, werden die Eingänge des B-Registers durch drei N-Signale, N18, N1Q und N20 gesteuert. Diese Signale werden (siehe Pig. 10) einem N-Dekodierer
112 zugeführt, der sie in Signale C1^, ...,
Cp1 umsetzt. Ss sei daran erinnert, daß das B-Register
aus dem Haupt-Arbeitsspeicher, vom Addierer und von den Walzenschaltern Daten und 4-Bit-Überträge und 8-Bit-überträge
erhalten kann. So dient das Signal C1^ zum Durchschalten
eines UND-Gliedes zur Übertragung eines über eine Eingangsleitung 107 zugeführten Signals, das einen
8-Bit-Übertrag darstellt, das Steuersignal C1^ zum Durchschalten
eines UND-Gliedes zur Übertragung eines über eine Eingangsleitung 108 sugeführten Signals, das einen
4-Bit-Übertrag darstellt, das Signal C18 zum Durchschalten
eines UND-Gliedes zur Übertragung von über Eingangsleitungen 106 zugeführten Dat@nbit8f das Signal C1Q zum
Durchschalten von UND-Gliedern zur Übertragung von 8-Bit-Datensegmenten,
die über Leitungen 105 zugeführt werden, und das Signal CpQ zum Durchschalten von UND-Gliedern, um
die Übertragung von Datenbita über Leitungen 104 ins B-Register
zu ermöglichen. Die Leitungen 104 gehören zu den Datenleitungen 88, die von den Walzenschaltern kommen und
auch die Leitungen 106 von den Addiererausgängen umfassen, Die verschiedenen C-Signale dienen also zum Durchschalten
der verschiedenen zugeführten Datenbits in die jeweiligen Flipflops B-, ..·, Bg, die das B-Register bilden. Wie aus
Fig. 10 zu ersehen ist, dient das Steuersignal Cp1 zum
Setzen der jeweiligen Flipflops mit Beginn eines Taktes.
Die Schaltfunktionen der Steuersignale I~* „.·, N8 , die
diese Operationen steuern, sind in der Tabelle nach Fig. 19 unter der Überschrift "B-Register-Ausgänge" angegeben.
Diese Steuersignale werden vom Steuerwerk der programmierbaren Einheit nach der Erfindung den entsprechenden Verknüpfungegliedern
nach Fig. 10 zugeführt, deren Ausgangs-
001041/1633
leitungen die Datenleitungen 85 bilden, die das B-Register iuit den jeweiligen Verknüpfungseinheiten verbinden. Die in
den Fig. 9 und TO dargestellten Register sind nur auf eine Stellenzahl (Breite) von 6 Bits ausgelegt. Die Register
können jedoch auf jede beliebige Stellenzahl erweitert
werden. Die einzige Änderung, die unter Umständen erforderlich würde, wäre das Zwischenschalten zusätzlicher Treiberstufen,
um die erforderliche Steuerleistung zu erzielen. Aber auch die Treiberstufen würden durch die jeweiligen
N-Signale in der beschriebenen Weise gesteuert werden.
Fig. 11 stellt ein echematisches Schaltbild der Walzenschalter
dar, von denen zwei bei diesem Ausführungsbeispiel der Erfindung verwendet werden. Die Schaltung nach
Fig. 11 kann 8-Bit-Datensegmente über die Datenleitungen
88 aufnehmen und nach rechts oder links um irgendeinen
Betrag verschieben, der im Schiebebetragregister 44 nach
Fii*. 2 angegeben ist. Die Ausgangssignale des Registers
weraen einem (nicht dargestellten) Dekodierer zugeführt,
der durch Signale N1^ und N1- des Befehls gesteuert wird
und die passenden Steuerleitungen C22* ···» C?9 auswählt,
die zur Durchführung der gewünschten Verschiebung erforderlich sind. Wenn also der Inhalt des Sehiebebetragre-
£.isters 44 eine Verschiebung von drei Bits vorschreibt und
der N-Befehl eine Rechtsverschiebung bestimmt, führt der
Dekodierer der Leitung Ggc ein entsprechendes Signal zu.
Wem: der N-Befehl eine Linksverschiebung (von drei Bits)
vorschreibt, dann führt der Dekodierer der Leitung Οργ
ein Signal zu. Daa resultierende, verschobene Datensegment wird dann wieder den Datenleitungen 88 zugeführt. Die durch
die Signale N1^ und N1- vorgeschriebenen Operationen sind
in der Tabelle nach Pig. 19 unter der Überschrift "Schiebeoperationen"
angegeben.
Der Schalter nach Pig. 18 kann auch auf die Aufnahme von
Datensegmenten mit einer größeren Anzahl von Bits erweitert
D09B48/1633
werden, wenn die Datenkanalbreite der programmierbaren
Einheit nach der Erfindung entsprechend erweitert ist.
Im folgenden werden die Fig. 19 und 20 kurz beschrieben. Wie bereits in bezug auf das Format des N-Befehls nach
Fig. 15 beschrieben wurde, besteht dieser Befehl hauptsächlich aus Steuersignalen, die während verschiedener Betriebsphasen
der programmierbaren Einheit verwendet werden müssen und jetzt ausführlicher beschrieben werden. Die drei
Gruppen von Halbglied-Steuersignalen oder li-Signalen werden
in den Phasen 2 und 3, in der Phase 3 und in der Phase 1 verwendet. Fig. 19 ist eine Liste der N-Steuersignale,
die während der Phase 2 und 3 verwendet werden. Fig. 20 ist eine Liste der übergeordneten N-Steuersignale, die
während der Phase 3 verwendet werden.
Wie bereits erwähnt wurde, werden die N-Befehle aus dem
N-Arbeitsspeicher geholt und vorn N-Dekodierer 55 (siehe
Fig. 2) dekodiert oder realisiert. Diese Schaltung ist ausführlicher in Fig. 17 dargestellt und wird jetzt beschrieben.
Der N-Befehl mit dem in Fig. 16 dargestellten Format wird
über das N-Arbeitsspeicher-Ausgaberegister 115 in die verschiedenen
Register übertragen, die die Prüfschaltung 53 nach Fig. 2 bilden. Wie aus dem Befehlsformat nach Fig.
zu ersehen ist, enthält der N-Befehl Phase-1-Steuersignale,
Phase-2/3-Steuersignale und zwei weitere Bits, die eine
Verknüpfungeeinheitsoperationsbedingung und eine 2-Taktzeiten-Bit-Bedingung
darstellen» Die speziellen Steuersignale der Phase 3 und die Steuersignale d®r Phase 2 und
3 wurden bereits ausführlicher beschrieben. Die Steuersignale der Phase 1 wurden jedoch noch nicht ausführlich
beschrieben. Bei den Steuersignalen der Phase 1 handelt
009848/1633
202335A
es sich, um diejenigen Signale, die während der ersten
Phase einer Befehlsausführung erforderlich sind und zur Steuerung der verschiedenen Bedingungsregister nach Fig.
17 verwendet werden. Ein Bit des Steuerfeldes der Phase 1 bestimmt also, ob der wahre oder der negierte Zustand der
verschiedenen Bedingungsbits des Bedingungsregisters 54 geprüft werden sollen oder nicht. Dieses Signal wird einem
Bedingungswähler 118 über eine leitung 142 zugeführt.
Vier andere Bits des Phase-1-Feldes schreiben eine spezielle
Bedingung vor, auf die die verschiedenen Bedingungsbits des Bedingungsregisters 54 überprüft werden müssen,
und diese vier Signale werden einem Bedingungswählerdekodierer
119 über Leitungen 141 zugeführt.
Eine weitere Gruppe von Steuerbits des Feldes der Phase 1
schreibt eine neue M-Befehls-Adresse vor, und diese Bits
werden über Leitungen 139 und 140 einem Arbeitsspeicher-Register-Steuerwähler 128 zugeführt, der bewirkt, wenn er
durch, den Bedingungswähler 118 vorbereitet ist, daß das
M-Programm-Adressenregister (MPAD) 129 die Übertragung einer
neuen Adresse durch das Register 42 oder das Register 41 nach Fig. 2 in den M-Arbeitsspeicher auslöst.
Das Steuerfeld der Phase 1 enthält ferner Bits, die eine Arbeitsspeicher- oder eine Geräte-Operation oder eine Setz-Operation
vorschreiben, wie es bereits beschrieben wurde, und diese Bits werden über Leitungen 136 und 137 in ein
Vorbereitungsregister 127 übertragen, das, wenn eine geeignete
Bedingung durch, den Bedingungswähler 118 überprüft
wird, diese Bedingung der Schalterverriegelungsvorrichtung und auch einem Setzbedingungsdekodierer 120 zuführt, um
das entsprechende Bedingungsbit im Bedingungsregister 54 zu setzen. Ein weiteres Bit des Steuerfeldes der Phase 1
dient zum Anzeigen eines Wortkomplements des Inhalts des Registers 44 nach Fig. 2. Dieses Bit wird über eine Lei-
009848/1633
tung 135 in ein Vorbereitungsregister 126 übertragen,
um das Komplement im Schiebebetragregister 44 auszubilden.
Wenn eine Verknüpfungseinheitsoperation durchgeführt werden
soll, wird das entsprechende Bit des N-Befehlsformatee
über eine leitung 132 in Setzbedingungsregister 123 und
124 übertragen, um die Steuersignale der Phase 2 und 3 und der Phase 3 ins Befehlsregister 52 zu übertragen. Wenn
ein 2-Taktzeiten-Befehl ausgeführt werden soll, wird dieser
durch das erste Bit des N-Befehlsformates angezeigt
und über UND-Glieder 125 taktweise ins Befehlsregister 52 übertragen. Bas Befehlsregister enthält dann die passenden
Steuersignale der Phase 2 und 3 und der Phase 3, die bereits beschrieben wurden und zur Steuerung der Verknüpfungsund
Zieiortbestimmungs-Operationen erforderlich sind. Die
anderen, zum Setzen der jeweiligen Bedingungsbits des Bedingungsregisters
54 erforderlichen Signale enthalten ein Signal, das aus der Schalterverriegelungsvorrichtung zum
Grlobalbedingungshit 121 übertragen wird, um die geeigneten Grlobalbedingungsbits im Bedingungsregister 54 zu setzen.
Die anderen Bedingungsbite, die gesetzt werden müssen, werden
durch Signale der ALU oder der Schalterverriegelungsvorrichtung
gesetzt, wie es bereite beschrieben wurde.
Der M-Befehls-Dekodierer 40 wird jetzt anhand von Pig. 18
beschrieben. Es sei daran erinnert, (vgl. die Beschreibung des M-Befehlsformates anhand von Fig· 14), daß eine 1 in
der nullten Bitstelle einen Befehl der ersten Art anzeigt,
der eine N-Adresse enthält, und daß eine 0 in der nullten
Bitstelle einen Variablenbefehl oder einen Befehl der zweiten Art anzeigt, bei dem die Bitstelltn 1 und 2 verschiedene
VarlablQnoperationea vorschreiben» Nach Fig. 18 werden
diese ersten drei Bits durch einen Dekodierer 151 überprüft. Wenn die nullte Bitstelle ein® 1 enthält, dann wird
der Inhalt des HPM-Eegisters 150 zur Adressierung des
N-Arbeitsepeichers ausgelesen. Wenn das nullte Bit eine
00S843/ 1633
2Ό2335Α
Hull und das erste Bit eine Eine ist, dann wird das Variablenfeld des M-Befehle ins Variablenregieter 51 nach
Fig. 2 übertragen, Wenn die zweite Bitstelle eine Eins enthält, dann wird der Inhalt dee Schiebebetragregisterfeldes
(vgl. Fig. 14) zum Schiebebetragregistereingabewähler 153
übertragen. Wenn die ersten drei Bitstellen eine Null enthalten, dann ist der verbleibende Teil des M-Befehls eine
neue M-Adresse, dit ins Register 41 (Fig· 2) Übertragen
wird. Wenn sowohl die erste als auch die zweite Bitstelle eine Eins enthält, betätigt der Dekodierer 151 ein Steuertor 152» um das Variablenregister 51 so einzustellen, daß
es ein Datensegment mit verschiedenen Anzahlen von Datenbits aufnimmt, wie es bereits bei der Beschreibung des M-Befehlsformatee erwähnt wurde.
Wie ebenfalls bereite erwähnt wurde, enthält das N-Befehlβίο rmat in dem Feld der Phase 1 bestimmte Bits, die zum Vorschreiben von Datenübertragungen in die oder aus der programmierbaren Einheit verwendet werden. Ua die Art und Weise
besser zu verstehen, in der die Datenübertragungen stattfinden, und um zu erläutern, wie Daten und die verschiedenen Befehle in ihren zugehörigen Arbeitsspeichern abgespeichert werden, wird aui Fig. 12 Bezug genommen, in der
die üchalterverriegelungavorrichtung (SW) ausführlicher
dargestellt ist, die in Fig. 1A nur duroh gestrichelte
Linien angedeutet ist. Wie aus Fig· 12 iu ersehen iet,
können Daten und/oder Befehle in irgendeinen der drei Arbeitsspeicher 20a, 20b und 20c über das Arbeitsspeicher-Befehlsregister 47 oder das SHFZR 41, bei denen es sich um
Register der programmierbaren Einheit handelt, aus einem Peripheriegerät über die Schalteinheit 8 (siehe Fig. 12
und auch die Fig. 1A und 1B) übertragen werden können.
Welches Register mit welchem Arbeitsspeicher verbunden wird,
wird durch das Phase-1-Feld des N-Befehle bestimmt, der die
Datenübertragung steuert« Wie ferner in Fig. 2 dargestellt
009Ö48/1633
ist und bereits besehrieben wurde, wird der !-Arbeitsspeicher
200 vom M-Dekodierer 40, der M-Arbeitsspeicher ■ 20b vom Register 4-2 oder 41 über einen Adressenfortschalter
43 und der Hauptarbeitsspeicher oder der S-Arbeitsßpeicher über das Arbeitsspeicheradressenregister 49 adressiert
, wenn er mit dem Register-Adressenregister 45 oder dem Adressenregister 46 in Reihe geschaltet ist. Die Ausgangssignale
des Haupt-Arbeitsspeichers 20a werden dem B-Register 33 zugeführt. Die Ausgangssignale des M-Arbeitsspeichers
20b werden dem M-Dekodierer 40 über den MP-Zwisohenspeicher 25 zugeführt.
Obwohl der MP-Zwischenspeicher 25 noch nicht beschrieben wurde, dient er einer wichtigen Funktion, nämlich dem Auslesen
einer Folge von M-Befehlen nach dem Dekodieren eines
S-Befehls, wodurch er die Verzögerung eliminiert, die auftreten würde, wenn die einzelnen M-Befehle getrennt adressiert
würden.
Qobwohl dies in Fig. 12 nicht explizit dargestellt ist, sei darauf hingewiesen, daß auch ein anderer Datenübertragungsweg
vom Register 47, vom Register 41 und der SE8 direkt ins B-Register 33 vorgesehen sein kann.
Phasenrelationen bei M-Befehl-Ausführung
Wie bereits erwähnt wurde, gib.t es zwei Arten von M-rBefeh-.
lens Befehle der ersten Art, die Verknüpfungs- und Datenübertragungsoperationen
bewirken, und Befehle der zweiten Art, die Variable mit einer neuen M-Befehl-Adresse und
Schiebebeträge enthalten«, Ein Befehl der ersten Art wird in drei Phasen ausgeführt, von denen die erste und dritte"
eine Taktzeit und die zweite Phase eine variable Anzahl von Taktzeiten benötigen. Ein Befehl der zweiten Art hat
009848/1S33
■- 53 -
nur die erste Phase, die nur eine Taktzeit benötigt.
Die Ausführung aufeinanderfolgender M-Befehle überlappt
sich, und diese Überlappung und andere Verhältnisse bei der Ausführung werden jetzt anhand der Hg. 21, 22 und
23 beschrieben,
S1Ig. 21 zeigt die Überlappung zweier aufeinanderfolgender
M-Befehle, die Befehl A und Befehl B genannt werden. Es
sei daran erinnert, daß, wenn es sich bei dem M-Befehl um
einen Befehl der ersten Art handelt, dann ein entsprechender
N-Befehl zur Durchführung der verschiedenen erforderlichen
Operationen vorliegt. Wie aus der Kurve b nach fig. 21 zu ersehen ist, wird die Adresse für den TT-Befehl A zu Beginn
des Taktes T-. in den M-Arbeitsspeicher gebracht. Der IT-Befehl
A wird gegen Ende dieses Taktes- T1 aus dem N-Arbeitsspeioher
geholt, wie es in der Kurve c dargestellt 1st. Die ausgewählten .Bedingungen werden überprüft (Kurve d) und die
Eingangssignale dem MPAD-Register (Kurve e) zugeführt. Die
Ausgangssignale vom MPAD-Register (Kurve e) und die Ausgangssignale
des Befehlsregisters (Kurve g) werden zu Beginn des Taktes T2 erzeugt. Das Befehlsregister ist jetzt .
frei, so daß es einen neuen Befehl aufnehmen kann, und daher wird während des gleichen Taktes eine neue Adresse für
den nächsten Befehl B erzeugt, wie es durch die Kurve h aargestellt ist. Der Befehl B wird kurz vor dem linde des
Taktes Tp (siehe Kurve j) aus dem ^-Arbeitsspeicher geholt.
Die anderen Kurven nach Fig. 21, die das Setzen von zwei
Taktflipflops und verschiedene Sperrsignale darstellen, kommen bei dieser Operation nicht vor. Wie noch aus Pig,
21 zu ersehen ist, erfolgt die Ausführung der Phase-1-ijteuerungen
des Befehls B am Ende des Taktes T2» so daß die
Phase-1-Steuerungen des Befehls B während der Phase 3 des
Befehls A ausgeführt werden.
009848/1633
Im folgenden wira annand von Fig. 22 die Ausführung eines
xsefehls üer ersten Art beschrieben, bei dem die Phase 2
zwei Takte Denötigt. Die in Fig. 22 dargestellten Kurven b, ..., e sind die gleichen wie in Fig. 21, da sie das
Auslesen des ersten Befehls A darstellen. In diesem Falle enthält der ausgelesene H-Befehl jedoch ein Bit, das eine
2-Takt-Operation anzeigt, wie es bereits bei Fig. 17 erwähnt wurde. Dies bewirkt, daß ein 2-Takt-Flipflop gesetzt
wird, wie es durch die Kurve g in Fig. 22 dargestellt ist, und infolgedessen werden die Ausgangssignale des MPAD-Registers
und des Befehlsregisterss wie es in den Kurven f
und h dargestellt ists um einen Takt verzögert, wie es
für die 2-Takt-0peration erforderlich ist. In ähnlicher Weise wird auch das Adressieren und Auslesen des Befehls
B aus dem M-Arbeitsapeicher für die Dauer eines Taktes so lange verzögert, bis die 2-Takt-Operation des Befehls A
ausgeführt worden ist. vv'ährend der Takte T2 und T, (siehe
Kurve j) wird daher die Phase I.des Befehls B am Ende des
Taktes T, ausgeführt, da die verschiedenen Taktimpulse
am Ende des Taktes Tp gesperrt wurden« Phase 2 und/oder 3
wird während des Taktes T. ausgeführt»
Anhand von Fig. 23 werden jetzt die Zeitverhältnisse zwischen zwei aufeinanderfolgenden Befehlen beschrieben, wobei
der zweite M-Befehl B eine Variable enthält und daher keinen N-Befehl benötigt. Wie aus Fig. 23 zu ersehen ist,
sind die ersten fünf Kurven (bs ..., f) die gleichen wie
in Fig. 21, und sie stellen das Auslesen und die Ausführung
der ersten Phase des Befehls A dar. Ferner wird das Auslesen des Befehlsregisters (Kurve h in Fig. 21 und Kurve
g in Fig. 23) beide Kaie zu Beginn des Taktes T2 ausgelöst.
Ferner erfolgt auch das Adressieren des M-Arbeitespeichers
zum Auslesen des Befehls B bei beiden Figuren zur gleichen Zeit. Das Auslesen des M-Befehls (Kurve i in Fig. 23) erfolgt
jedoch früher als das Auslesen des N-Befehlsnach
00984871633
202335A
Pig. 21 (Kurve j), und da der Befehl B bei Fig. 23 eine Variable ist, ist kein N-Befehl erforderlich. Dadurch
wird bewirkt, daß der M-Dekodierer 40 nach Fig. 2 ein
Haltsignal erzeugt, wie es die Kurve m in Fig. 23 darstellt.
Als Folge davon wird die Ausgabe des Befehlsregisters (Kurve g in Fig.· 23) beibehalten, während die
Variablen des M-Befehls B jeweils in ein Register übertrafen werden, wie es durch die Kurve i in Fig. 23 angedeutet ist. Scheinbar gleichzeitig mit dem Haltsignal
nach Kurve m werden die verschiedenen Fhasentaktimpulse gee]errt (siehe Kurve n), um die Übertragungen der Variablen
am Ende des Taktes T? zu ermöglichen. Nachdem die Übertragungen
der Variablen erfolgt ist, bleibt die Ausgabe des Befehlsregisters bis zum Ende des Taktes T-, gültig,
wie es durch die Kurve g dargestellt ist. Auf diese Weise
wird die Ausführung eines M-Befehls der ersten Art verzögert,
um Variablenübertragungen durch den nächsten Befehl der zweiten Art zu gestatten. Die Variable des B-Befehls
schreibt stets eine neue M-Adresse vor. Dann wird
das MIAD-Register gezwungen, wie es durch die Kurve j angedeutet
ist, den Id-Arbeitsspeicher (Kurve k) erneut zu
adressieren, um einen neuen Befehl aus dem M-Arbeitspeicher
und dann dessen N-Gegenstück aus dem K-Arbeitsspeicher
zu holen, wie es die Kurve e zeigt, iier Befehl wird
am jinde des Taktes T, aus dem N-Arbeitsspeicher geholt,
wenn die Halt- und Sperrsignale nicht mehr anstehen.
Obwohl die soweit beschriebenen Zeitdiagramme nur einige verschiedene Situationen darstellen, die während der Ausführung
aufeinanderfolgender Befehle in. überlappter Weise auftreten können, wird dennoch angenommen, daß die obige
Beschreibung hinreichend klar macht, wie die überlappte Befehlsausführung stattfindet und wie z.B. verschiedene
Variableninformationen in. die jeweiligen Register über-
009848/1633
BAD ORiGWAt
tragen werden können, wenn dies bei der Ausführung eines
bedingten M-Befehls erforderlich ist.
Fig. 24 stellt eine Folge von M-Befehlen dar, die bei
einer bestimmten Eingabe/Ausgabe-Operation verwendet werden, die durch e;Lnen E/A-Deskriptor der in Fig. 13 dargestellten
Art vorgeschrieben wird. Bei jedem Sehritt der Folge ist die Ausführung eines M-Befehls erforderlich,
Diese Schritte sinds Bringe Inhalt des Arbeitsspeicher-Adressenregisters
(AAR) ins A2-Register; übertrage "Gerätychreib-Signal"
und bringe Inhalt des A1-Registers und das niedrigstetellige Zeichen des B-Registers + 1 ins
Α-Register; übertrage Signal "Trenne lesendes Gerät·'} lies Gerät und verschiebe Inhalt des B-Registers um vier
Bite nach links und bringe ihn ins A3-Register; wenn AAR
bereit ist, bringe Inhalt von A1-Register + 1 ins A1-Register
und ins AAR; wenn B-Register bereit ist, bringe Inhalt des B-Registers ins A2-Regieter und lies Gerät;
wenn AAR bereit ist, bringe Inhalt des A2-Registers ins AAR; wenn B-Register bereit ist, bringe dessen Inhalt ins
Arbeitsspeicherinformationsregister (AIR); bringe Inhalt von AIR in den Arbeitsspeicher und verschiebe Inhalt von
A3-Regieter um acht Bits nach rechte.
Eine weitere M-Folge ist in Fig. 25 dargestellt, die zur
Durchführung einer nZeichenfolgeabtast"-Routine geeignet
ist, wie sie durch einen S-Befehl vorgeschrieben wird. Diese Routine dient zu» Aufsuchen aller Anfangestellen
aller gleichen (matches) Zeichen einer Zeichenfolge in einer Ursprungs- oder Quellenfolge. Die Inschriften in
Fig. 25 geben an, welche Register die jeweiligen Datensegmente enthalten, die den Ursprungs- oder Quellenort S
009848/1633
.57- 2Q23354
(source location), Zeichenort P (pattern location), Quelleninhalt
SC (source contents)f Zeicheninhalt PO (pattern contents), G-leichheitsanzeige M (match indication), Zeiger
(pointers) SP, PP und MP und die Register-Adressenregister
(EAH) darstellen,
Pat»nt«nwllte
Dipl.-lng. H or at Rose
Dipl.-lng. Peter Kosel
009848/1633
Claims (1)
- Hohenhöfen 5 ""5^* 202335 ABurroughs Corporation 11. Mai 1970Patentgesuch vom 11.5.1970Patentansprüche1y Programmierbare Einheit mit mshreren Registern zur Datenübertragung, einein ersten Speicher zum Speichern von Befehlen, die Routinen vorschreiben, und einem zweiten Speicher zum Speichern von Gruppen von Operationsbefehlen, dadurch gekennzeichnet, daß an den ersten Speicher eine erste Vorrichtung angeschlossen ist, der einer der Routine-Befehle zuführbar ist, daß an die erste Vorrichtung eine zweite Vorrichtung angeschlossen ist, die bei Erhalt des Routine-Befehls den zweiten Speicher adressiert und einen Operationsbefehl aufnimmt, und daß an die zweite Vorrichtung eine dritte Vorrichtung angeschlossen ist, die so vorbereitet ist, daß sie von einem Operationsbefehl betätigbar ist.2· Programmierbare Einheit nach Anspruch 1, dadurch gekennzeichnet, daß die Einheit einen dritten Speicher enthält und die dritte Vorrichtung bei Erhalt eines Operationsbefehls den dritten Speicher adressiert und einen Steuerbefehl erhält.3. Programmierbare Einheit nach Anspruch 1, dadurch gekennzeichnet, daß die dritte Vorrichtung eine Verknüpfungseinheit mit mehreren modularen Halbgliedern enthält, die durch einen Operationsbefehl so einstellbar sind, daß sie betriebsbereit sind.4· Programmierbare Einheit nach Anspruch 2, dadurch gekennzeichnet, daß die Register zur Datenübertragung in einer Verknüpfungseinheit angeordnet sind, die eine Schaltung enthält, die so angeschlossen ist, daß sie die Verknüpfungseinheit und Register zur Durchführung von Verknüpfungsoperationen und Datenübertragungen in Abhängigkeit009848/1633 788/238von verschiedenen Gruppen von Steuersignalen, die die Steuerbefehle darstellen, vorbereitet, daß einige der wiederauffindbar verschlüsselten Operationsbefehle vorbestimmte Gruppen dieser Steuersignalgruppen vorschreiben, und daß an den dritten Speicher ein Befehlsdekodierer angeschlossen 1st, um vorbestimrate Gruppen der Steuersignalgruppen auszulesen und entweder die Verknüpfungseinheit oder die Register vorzubereiten·5. Programmierbare Einheit nach Anspruch 4, dadurch gekennzeichnet, daß sie einen Taktgeber, der Taktimpulse erzeugt, die Phasen darstellen, in denen die Steuersignalgruppen auegeführt werden, und eine Adressiervorrichtung · enthält, die so ausgebildet und angeschlossen ist, daß sie eine gespeicherte Gruppe von Steuersignalen während der Ausführung einer vorhergehenden Gruppe von Steuersignalen aufsucht.b. Programmierbare Einheit nach Anspruch 5t dadurch gekennzeichnet, daß sie eine Verzögerungsvorrichtung enthält, die an den Taktgeber angeschlossen ist und bestimmte Taktimpulse sperrt, vm die Ausführung der vorhergehenden Gruppe von Steuersignalen zu verhindern und daa Auelesen eines neuen Operationsbefehls zu ermöglichen.7. Programmierbare Einheit nach Anspruch 4, dadurch gekennzeichnet, daß sie eine Operationabefehlespeicher-Adressiervorrichtung enthält, die vom Befehlsdekodierer Operationsbefehlsadressen erhält.8. Programmierbare Einheit nach Anspruch 4, dadurch gekennzeichnet, daß sie eine Steuersignalepeioher-Adressiervorrichtung enthält, der Steuersignal-Gruppenadressen aus dem Operationebefehledekodierer zuführbar sind.009848/16339. Programmierbare Einheit nach Anspruch 2, dadurch gekennzeichnet, daß sie eine Verknüpfungseinheit aus mehreren modularen Halbgliedern enthält, die durch einen Steuerbefehl bo einstellbar sind, daß sie betriebsbereit sind.10. Programmierbare Einheit nach Anspruch 9» dadurch gekennzeichnet, daß verschiedene modulare Halbglieder durch verschiedene Steuersignale in Abhängigkeit vom Format des Steuerbefehle steuerbar sind.w 11. Programmierbare Einheit nach Anspruch 9t dadurch gekennzeichnet, daß jedes Halbglied Datensegmente aus zwei verschiedenen Datenquellen für eine Verknüpfungsoperation aufnehmen kann.12. Programmierbare Einheit nach Anspruch 11, dadurch gekennzeichnet, daß das höchststellige und das niedrlgststellige Halbglied dritte Datensegmente aus verschiedenen Datenquellen getrennt aufnehmen können.13. Programmierbare Einheit nach Anspruch 9, dadurch gekennzeichnet, daß die Halbglieder gleichzeitig Datensegmente von drei verschiedenen Datenquellen für eine Ver-^ knüpfungeoperation aufnehmen können·H. Programmierbare Einheit nach Anspruch 13, gekennzeich.-net durch eine Vorrichtung zum Sperren der Aufnahme von Dateneegmenten aus einer der Datenquellen.15· Programmierbare Einheit nach Anspruch 4, dadurch gekennzeichnet, daß sie einen Taktgeber zur Erzeugung von Taktimpulsen, die Phasen darstellen, in denen die Operationebefehle durchgeführt werden, und ein· Adreesiervor-009848/1833Ci-■%>-. ■■■■■■richtung enthält, die während der Ausführung eines vorhergehenden Operationsbefehle einen neuen Operationsbefehl adressiert. ·16. Programmierbare Einheit nach Anspruch 15» dadurch gekennzeichnet, daß sie eine an den Taktgeber angeschlossene Verzögerungsvorrichtung enthält, die vorbestimmte Taktimpulse sperrt, um die Durchführung des vorhergehenden Operationsbefehls zu verhindern und das Adressieren und Auslesen eines neuen Operationsbefehls zu ermöglichen.17. Programmierbare Einheit nach Anspruch 15» dadurch gekennzeichnet, daß an den zweiten Speicher ein Operationsbefehlsdekodierer angeschlossen ist, dem die Operationsbefehle zuführbar sind, und daß der Operationsbefehlsadressiervorrichtung voa Operationsbefehlsdekodierer Operationsbefehlsadressen zuführbar sind.18. Programmierbare Einheit nach Anspruch 4- oder 17, dadurch gekennzeichnet, daß sie ein Variablenregister enthält, dem Datenvariable vom Befehlsdekodierer zuführbar sind.19. Programmierbare Einheit nach Anspruch 4 oder 15» dadurch gekennzeichnet, daß es ein Peripheriegerät enthält, da# die Verknüpfungseinheit und/oder Register derart ausgebildet sind, daß sie in da» Peripheriegerät Daten übertragen oder aus dem Peripheriegerät Daten aufnehmen können, daß vorbestimmte Operationsbefehlefolgen, die im zweiten Speicher gespeichert sind, Verknüpfungsoperationen vorschreiben und andere Operationsbefehlsfolgen Datenübertragungen in das oder aus dem Peripheriegerät vorschreiben·009848/163320· Programmierbare Einheit nach Anspruch 4 oder 15» dadurch gekennzeichnet, daß die Verknüpfungseinheit und/oder Register durch ausgewählte Operationsbefehle derart vorbereitbar sind, daß sie Routine-Befehle mit verschiedenen Formaten, die die gleiche Routine vorschreiben und die Operationsbefehlsadresse zum Auslesen einer Gruppe von Operationsbefehlen aus dem zweiten Speicher zur Durchführung dieser Routine erzeugen, aufnehmen.21. Programmierbare Einheit nach Anspruch 3» dadurch gekennzeichnet, daß sie verschiedene modulare Halbglieder enthält, die derart durch verschiedene Steuersignale steuerbar sind, wie es durch den Operationsbefehl gefordert wird.22. Programmierbare Einheit nach Anspruch 3, dadurch gekennzeichnet, daß jedem Halbglied Datensegmente aus zwei Datenquellen für eine Verknüpfungsoperation zuführbar sind.23· Programmierbare Einheit nach Anspruch 22, dadurch gekennzeichnet, daß dem höchststelligen und dem niedrigstatelligen Halbglied getrennt dritte Datensegmente aus verschiedenen Datenquellen zuführbar sind·24· Programmierbare Einheit nach Anspruch 3, dadurch gekennzeichnet, daß die Halbglieder zur gleichzeitigen Aufnahme von Datensegaenten aus drei verschiedenen Baten·" quellen für eine Verknüpfungsoperation, ausgebildet sind.25. Programmierbare Einheit nach Anspruch 23, dadurch gekennzeichnet) daß sie ein« die Aufnahm· von Dateneegmenten aus einer der Datenquellen sperrende Vorrichtung enthäl-t.26· Programmierbare Einheit mit mehreren Registern zur Datenübertragung, gekennzeichnet durch einen Speicher zum Speichern auslesbar verschlüsselter Operationsbefehls-009848/1633gruppen, yon denen jede Gruppe zur Durchführung eines eine Routine vorschreibenden Befehls auegebildet ist, und eine Verknüpfungseinheit/ die aus mehreren modularen Halbgliedern gebildet ist, die bei der Ausführung eines der Operationsbefehl· so einstellbar sind, daß sie für den Betrieb vorbereitet sind«27. Programmierbare Einheit nach Anspruch 26, dadurch gekennzeichnet, daß verschiedene modulare Halbglieder durch verschiedene Steuersignale in Abhängigkeit vom Format der Uperutionsbefehle steuerbar sind.28. Verfahren zum Betreiben einer programmierbaren Einheit mit mehreren Registern zur Datenübertragung, einem ersten Speicher zum Speichern von Befehlen, die Routinen vorschreiben, einen zweiten Speicher zum Speichern von Gruppen von Operationsbefehlen und einen dritten Speicher zum Speichern von Gruppen von Steuerbefehlen, dadurch gekennzeichnet, daß zunächst einer der Routine-Befehle ausgelesen wird, daß dann Gruppen von Operationsbefehlen in Abhängigkeit von diesen Routine-Befehl ausgelesen werden und schließlich der Steuerbefehl in Abhängigkeit von einem der Operationebeiehle ausgelesen wird.ic'9. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß vorbestimmte Operationsbefehle Adressen der Steuerbefehle vorschreiben.■ ν30. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß in dem zweiten Speicher Operationsbefehlsfolgen, die Verknüpfungsoperationen vorschreiben, und Operationsbefehlefolgen, die Datenübertragungen in oder aus einem Peripheriegerät vorschreiben, gespeichert werden.009848/1633IW ^ ■·31. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß in dem ersten Speicher Routine-Befehle mit verschiedenen Formaten gespeichert werden, die die gleiche Routine vorschreiben.32. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß verschiedene Steuerbefehle zur Vorbereitung verschiedener Halbglieder einer Verknüpfungseinheit verwendet werden.33· Verfahren zum Betreiben einer programmierbaren Einheit mit einer Verknüpfungseinheit und mehreren Registern zur Datenübertragung, dadurch gekennzeichnet, daß die Verknüpfungseinheit und die Register in Abhängigkeit von verschiedenen Gruppen von Steuersignalen vorbereitet werden, daß mehrere aufsuchbar verschlüsselte Operationsbefehle in einem Operationsbefehlespeicher gespeichert werden, von denen einige Operationsbefehle vorbestimmte Gruppen von Steuersignalen vorschreiben, und daß vorbestimmte Operationsbefehle dieser Operationsbefehle ausgelesen werden, um das Auslesen dieser Gruppen von Steuersignalen vorzuschreiben und entweder die Verknüpfungseinheit oder das Register vorzubereiten.34. Verfahren nach Anspruch 33, dadurch gekennzeichnet, daß in dem.Operationsbefehlsspeieher Folgen von Operationsbefehlen, die Verknüpfungsoperationen vorschreiben, und Folgen von Operationsbefehlen, die Datenübertragungen in oder aus einem leripheriegerät vorschreiben, gespeichert' werden·35. Verfahren nach Anspruch 33, dadurch gekennzeichnet, daß in einem Hauptspeicher Befehle mit verschiedenem Format gespeichert werden, die die Ausführung der gleichen Routine durch ein® Gruppe von Operationsbefehlen vorschreiben.009848/1633202338436. Verfahren nach Anspruch 33, dadurch gekennzeichnet, daß zur Vorbereitung verschiedener Halbglieder der Verknüpfungseinheit verschiedene Steuersignale verwendet wer-. den·37# Befehlskombination zur Anwendung in einer programmierbaren Einheit, dadurch gekennzeichnet, daß sie eine Gruppe von Befehlen, die Eoutinen vorschreiben, Gruppen von Operationsbefehlen, von denen 3ede Gruppe so ausgebildet ist, daß durch sie einer der Boutine-Befehle durchführbar ist, und eine Gruppe von Steuerbefehlen enthält, von denen jeder Steuersignale vorschreibt, die zur Durchführung eines der Operationsbefehle erforderlich sind.38t Befehlskombination nach Anspruch 37, dadurch gekennzeichnet, daß ein Operationsbefehl die Adresse eines in einem Speicher gespeicherten Steuerbefehls enthält.OipWng. Horst Rose Dipl.«lng. Pt Κοββΐt e e r s β i t e
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US04/825,569 US4558411A (en) | 1969-05-19 | 1969-05-19 | Polymorphic programmable units employing plural levels of sub-instruction sets |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2023354A1 true DE2023354A1 (de) | 1970-11-26 |
DE2023354C2 DE2023354C2 (de) | 1983-10-20 |
Family
ID=25244342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2023354A Expired DE2023354C2 (de) | 1969-05-19 | 1970-05-13 | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher |
Country Status (11)
Country | Link |
---|---|
US (1) | US4558411A (de) |
JP (4) | JPS578494B1 (de) |
BE (1) | BE750068A (de) |
CA (2) | CA939070A (de) |
CH (1) | CH522919A (de) |
DE (1) | DE2023354C2 (de) |
FR (1) | FR2047381A5 (de) |
GB (3) | GB1318231A (de) |
NL (3) | NL178361C (de) |
NO (1) | NO137165C (de) |
SE (1) | SE393201B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2424931A1 (de) * | 1973-06-05 | 1975-01-02 | Burroughs Corp | Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4024504A (en) * | 1973-12-21 | 1977-05-17 | Burroughs Corporation | Firmware loader for load time binding |
IT1016854B (it) * | 1974-08-21 | 1977-06-20 | Olivetti & Co Spa | Calcolatore elettronico di elabora zione dati |
DE3069249D1 (en) | 1979-02-13 | 1984-10-31 | Secr Defence Brit | Data processing unit and data processing system comprising a plurality of such data processing units |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US5854907A (en) * | 1982-02-22 | 1998-12-29 | Texas Instruments Incorporated | Microcomputer for digital signal processing having on-chip memory and external memory access |
JPS58182758A (ja) * | 1982-04-20 | 1983-10-25 | Toshiba Corp | 演算制御装置 |
NL8203175A (nl) * | 1982-08-12 | 1984-03-01 | Wavin Bv | Haspel voor het opwikkelen van kunstofbuis. |
JPS6031479A (ja) * | 1983-07-26 | 1985-02-18 | Sumitomo Rubber Ind Ltd | 可撓性ホ−ス用巻き取り装置 |
JPS6089585U (ja) * | 1983-11-28 | 1985-06-19 | 株式会社富士通ゼネラル | 冷蔵庫 |
GB8413933D0 (en) * | 1984-05-31 | 1984-07-04 | Columbia Automation Ltd | Emulating timing characteristics of microprocessor |
CA1223969A (en) * | 1984-10-31 | 1987-07-07 | William M. Johnson | Microcode control of a parallel architecture microprocessor |
US4783738A (en) * | 1986-03-13 | 1988-11-08 | International Business Machines Corporation | Adaptive instruction processing by array processor having processor identification and data dependent status registers in each processing element |
JPS638269U (de) * | 1986-07-02 | 1988-01-20 | ||
JPS6317174U (de) * | 1986-07-19 | 1988-02-04 | ||
US5185870A (en) * | 1987-04-10 | 1993-02-09 | Tandem Computers, Inc, | System to determine if modification of first macroinstruction to execute in fewer clock cycles |
JPS63161483U (de) * | 1987-04-10 | 1988-10-21 | ||
EP0312764A3 (de) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | Datenprozessor mit mehrfachen Ausführungseinheiten zur parallelen Ausführung von mehreren Befehlsklassen |
JPH01117184A (ja) * | 1987-10-26 | 1989-05-10 | Ashimori Ind Co Ltd | ホース巻取装置 |
US5136717A (en) * | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
JPH0810428B2 (ja) * | 1988-12-26 | 1996-01-31 | 三菱電機株式会社 | データ処理装置 |
US5321825A (en) * | 1991-06-18 | 1994-06-14 | Advanced Micro Devices, Inc. | Processing system with lock spaces for providing critical section access |
US6006321A (en) | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
US6150836A (en) * | 1997-06-13 | 2000-11-21 | Malleable Technologies, Inc. | Multilevel logic field programmable device |
US6219776B1 (en) * | 1998-03-10 | 2001-04-17 | Billions Of Operations Per Second | Merged array controller and processing element |
US6438569B1 (en) | 1999-09-20 | 2002-08-20 | Pmc-Sierra, Inc. | Sums of production datapath |
US7237216B2 (en) * | 2003-02-21 | 2007-06-26 | Infineon Technologies Ag | Clock gating approach to accommodate infrequent additional processing latencies |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL276777A (de) * | 1961-04-04 | |||
GB1014635A (en) * | 1962-07-31 | 1965-12-31 | Rca Corp | Data processing system |
US3300764A (en) * | 1963-08-26 | 1967-01-24 | Collins Radio Co | Data processor |
US3302183A (en) * | 1963-11-26 | 1967-01-31 | Burroughs Corp | Micro-program digital computer |
GB1054725A (de) * | 1964-04-06 | |||
US3315235A (en) * | 1964-08-04 | 1967-04-18 | Ibm | Data processing system |
US3391394A (en) * | 1965-10-22 | 1968-07-02 | Ibm | Microprogram control for a data processing system |
US3404378A (en) * | 1965-10-29 | 1968-10-01 | Automatic Telephone & Elect | Computers |
US3478322A (en) * | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
JPS5320378A (en) * | 1976-08-09 | 1978-02-24 | Tokyo Tatsuno Kk | Method of testing leakage in tank |
DE2639250C2 (de) * | 1976-09-01 | 1985-12-12 | Basf Ag, 6700 Ludwigshafen | Verfahren zur Herstellung von nadelförmigem, kobaltdotiertem magnetischem Eisenoxid |
JPS5331619A (en) * | 1976-09-02 | 1978-03-25 | Kayaku Antibiotic Research Co | Tetrapeptide and its derivatives |
-
1969
- 1969-05-19 US US04/825,569 patent/US4558411A/en not_active Expired - Lifetime
-
1970
- 1970-04-29 CA CA081410A patent/CA939070A/en not_active Expired
- 1970-05-06 GB GB2180370A patent/GB1318231A/en not_active Expired
- 1970-05-06 GB GB330273A patent/GB1318234A/en not_active Expired
- 1970-05-06 SE SE7213883A patent/SE393201B/xx unknown
- 1970-05-06 FR FR7016550A patent/FR2047381A5/fr not_active Expired
- 1970-05-06 BE BE750068D patent/BE750068A/xx not_active IP Right Cessation
- 1970-05-06 JP JP3855270A patent/JPS578494B1/ja active Pending
- 1970-05-06 GB GB328173A patent/GB1318233A/en not_active Expired
- 1970-05-12 NO NO701791A patent/NO137165C/no unknown
- 1970-05-13 NL NLAANVRAGE7006955,A patent/NL178361C/xx not_active IP Right Cessation
- 1970-05-13 CH CH715770A patent/CH522919A/de not_active IP Right Cessation
- 1970-05-13 DE DE2023354A patent/DE2023354C2/de not_active Expired
-
1975
- 1975-07-04 CA CA230,760A patent/CA993562A/en not_active Expired
-
1978
- 1978-03-16 JP JP53030497A patent/JPS5922263B1/ja active Pending
- 1978-03-20 JP JP53032295A patent/JPS5922264B1/ja active Pending
- 1978-03-23 JP JP53020378A patent/JPS5922262B1/ja active Pending
-
1984
- 1984-10-05 NL NL8403030A patent/NL8403030A/nl not_active Application Discontinuation
- 1984-10-08 NL NL8403059A patent/NL8403059A/nl not_active Application Discontinuation
Non-Patent Citations (1)
Title |
---|
GB-Buch "Proceedings of the Cambridge Philosophical Society" Science Museum Library, London, 27. Jan. 1953, S. 230-238 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2424931A1 (de) * | 1973-06-05 | 1975-01-02 | Burroughs Corp | Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten |
Also Published As
Publication number | Publication date |
---|---|
GB1318233A (en) | 1973-05-23 |
NL7006955A (de) | 1970-11-23 |
GB1318231A (en) | 1973-05-23 |
NL8403030A (nl) | 1985-02-01 |
FR2047381A5 (de) | 1971-03-12 |
CA993562A (en) | 1976-07-20 |
CH522919A (de) | 1972-05-15 |
NO137165C (no) | 1978-01-11 |
NL8403059A (nl) | 1985-02-01 |
JPS578494B1 (de) | 1982-02-17 |
US4558411A (en) | 1985-12-10 |
JPS5922264B1 (de) | 1984-05-25 |
NL178361C (nl) | 1986-03-03 |
BE750068A (fr) | 1970-10-16 |
NL178361B (nl) | 1985-10-01 |
DE2023354C2 (de) | 1983-10-20 |
JPS5922263B1 (de) | 1984-05-25 |
CA939070A (en) | 1973-12-25 |
JPS5922262B1 (de) | 1984-05-25 |
NO137165B (no) | 1977-10-03 |
GB1318234A (en) | 1973-05-23 |
SE393201B (sv) | 1977-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE2714805C2 (de) | ||
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2648229C2 (de) | ||
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2055739A1 (de) | Datenverarbeitungssystem | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2054947A1 (de) | Adressenvorbereitungseinnchtung und verfahren und Speicherzugnffan forderungseinnchtung fur ein Infor mationsver arbeitungssystem | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE2358593A1 (de) | Datenverarbeitungsanordnung und bei dieser verwendbare steuerschaltung | |
DE2935101C2 (de) | ||
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2255252A1 (de) | Vorrichtung zur steuerung einer anzeigeausgabe mittels mikroprogramm | |
DE1549399A1 (de) | Verfahren und System zur grafischen Aufzeichnung von Kurvenzuegen | |
DE1957600C3 (de) | ||
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |