DE2055739A1 - Datenverarbeitungssystem - Google Patents
DatenverarbeitungssystemInfo
- Publication number
- DE2055739A1 DE2055739A1 DE19702055739 DE2055739A DE2055739A1 DE 2055739 A1 DE2055739 A1 DE 2055739A1 DE 19702055739 DE19702055739 DE 19702055739 DE 2055739 A DE2055739 A DE 2055739A DE 2055739 A1 DE2055739 A1 DE 2055739A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- read
- branch
- signals
- 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.)
- Withdrawn
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/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
-
- 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/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
Description
iJipl.-Ing. τ-ίρίηζ Bard^hle ο η r tr α ο η
τ 4.' ,. -, * 2 ο Q ο / ο y
1-aten.tanwalt
SOOO Minchen, Postfach 4
SOOO Minchen, Postfach 4
Kein Zeichen: F 1066
.'Anmelder: Honeywell Inc.
2701 Fourth Avenue South Kinneäpolis, Ilinnesota, V0 St0 A.
D :i t en ν ■:. τ o:s ^; i tung s system
Die Erfindung bezieht sich, auf eine Mikroprogramm-Verzweigungasteuerung
und insbesondere auf ein Verfahren zur mikroprogrammierten Verzweigung, wobei eine in einem
Festwertspeicher-Adressenregister enthaltene Mikroadr.esse
unter Heranziehung bestimmter Verzweigungszustandssignale
bei Vorhandensein eines zugehörigen Mikrooperations-Verzweigungscodes
in dem Inhalt des vorliegenden Mikrobefehls direkt modifiziert wird.
Obwohl die Mikroprogrammierung als solche keine neue Entwicklung
auf dem Gebiet der Rechnertechnik darstellt, ist das Verfahren der Mikroverzweigung bisher nur in begrenztem
Umfange angewandt worden. Im allgemeinen ist bei der jeweiligen Lösung ein Mikroprogramm dazu benutzt worden, nach-
109821/1831
einander eine Reihe von vorbezeichneten Mikrobefehlen zu durchlaufen, durch die der sogenannte Anzeige-Makrobefehl
bezeichnet wird. Die Verzweigung hat somit bei den bisher bekannten Anlagen im allgemeinen die Funktion eines Makrobefehls.
Me besondere Ausführung eines Verzweigungs-Makrobefehls
wird dann durch die Mikrobefehlsfolge vorgenommen.
Obwohl eine erschöpfende Darstellung sämtlicher die Mikroprogrammierung
betreffender Druckschriften im vorliegenden Rahmen unpraktisch erscheint, seien nachstehend einige
Druckschriften als Bezugspunkt für die Erfindung aufgeführt.
1. "Mjcro-Programming and the Design of the Control Circuits
in an Electronic Digital Computer" von M.V.Wilkes und
J.B. Stringer, Proc.Cambridge Phil. Soc, Seiten 230 bis
238, Ausgabe April 1953;
2. R.J.Mercer, HMia_a?o-ProgrammingM Ausgabe April 1957,
von Jour.Assoc. Computing Machinery, Seiten 157 bis 171J
3. US-Patentschriften 3 215 987, 3 245 o44, 3 246 303, 3 258 748, 3 300 764, 3 302 183, 3 349 379, 3 330 025, 3 387 279,
3 389 376, 3 391 394, 3 400 371, 3 434 112, 3 444 527, 3 469 247;
4. Honeywell Computer Journal, Winter-Spring 1968, "Model
4200-8200 Read-Only Memory Control Logic" von Stuart Klein und Scott Schwartz.
Werden in Datenverarbeitungs- bzw. Rechensystemen kompliziertere
Befehle gefordert, so wird es notwendig, die Möglichkeit der Mikroprogrammierungs-Hardware zusätzlich vorzusehen.
Dabei ergibt sich eine bedeutende Verbesserung bzw. Steigerung in der Geschwindigkeit oder Zyklusdauer des Pestwertspeichers.
Es ist dabei von Bedeutung, daas die Zyklus-
109821/1831
dauer kurz genug ist, um eine Anzahl von Mikrospeicherzyklen innerhalb eines Hauptspeicherzyklus unterzubringen.
Die Geschwindigkeitszunahme bei dem Festwertspeicher löst jedoch nicht vollständig das bestehende Problem.
Der Erfindung liegt demgemäss die Aufgabe zugrunde, ein Mikroverzweigungs-Verfahren anzugeben, das unmittelbar die
jeweils vorliegende Mikroadresse als Funktion bestimmter Verzweigungszustände
zu modifizieren erlaubt.
Gemäss der Erfindung wird dabei die Verknüpfungskombination
von bestimmten ausgewählten Zustands-Bits mit bestimmten
ausgewählten Bits in der jeweils vorliegenden Festwertspeicheradresse erfasst, so dass eine neue Adresse unmittelbar
in Abhängigkeit von den Zustandsbits erhalten wird.
Demgemäss wird die oben bezeichnete Aufgabe erfindungsgemäss durch ein Datenverarbeitungssystem gelöst, bei dem Makrobefehle,
die Operationscodes, Adressenzustandssignale und Adressen enthalten, durch Heranziehen von zumindest einem
Mikrobefehlsspeicher ausgewertet werden. Gemäss der Erfindung
ist dabei eine Mikroverzweigungs-Steuereinrichtung vorgesehen, deren Besonderheit darin liegt, dass erste Einrichtungen
vorgesehen sind, die ein Mikroadressenregister für die Steuerung der Adressenauswahl eines Mikrobefehls
aus dem Mikrobefehlsspeicher enthalten, dass zweite Einrichtungen für die Aufnahme eines ausgewählten Mikrobefehls
aus dem Mikrobefehlsspeicher und für die Abgabe entsprechender Mikroausgangssignale vorgesehen sind, dass dritte Einrichtungen
für die Abgabe von Mikroverzweigungs-Steuersignalen auf bestimmte Sätze von Mikroausgangssignalen hin vorgesehen
sind und dass vierte Einrichtungen vorgesehen sind, die auf die Adressenzustandssignale und auf die Mikroverzweigungs-Steuersignale
hin die ersten Einrichtungen derart steuern, dass der Inhalt des Mikroadressenregisters als direkte
109821/1831
Verknüpfungsfunktion der Adressenzuatandssignale geändert
wird.
In einem nachstehend noch näher beschriebenen Beispiel ist eine Mikroverzweigung für eine Adressensteuerung in einer
extrem einfachen und wirksamen Weise möglich gemacht. Im besonderen werden dabei drei Verzweigungs-Steuerbits, die
im folgenden auch mit Ab, Ib und Xb bezeichnet werden, automatisch "odermässig"mit bestimmten Bits der jeweils
vorliegenden Festwertspeicheradresse unter Bildung einer neuen Adresse zusammengefasst, sofern eine derartige Adressenmodifikation
durch einen besonderen Mikrooperations-Verzweigungscode in dem gerade gelesenen Mikrobefehl bezeichnet ist.
In dem typischen Anwendungsfall der Erfindung wird der jeweilige Mikroverzweigungs-Befehl in einen Festwertspeicher-Adressenplatz
eingesetzt, wobei der die niedrigste Wertigkeit besitzende Oktalcode eine 0 ist. Sodann ist als erläuterndes
Modifikationsverfahren angenommen, dass die Zustandebits Xb, Ib und Ab in der betreffenden Reihenfolge von links
nach rechts eingeführt werden, um eine neue Oktalziffer niedrigster Wertigkeit zu bilden.
In der nachstehend angegebenen Tabelle ist die Wirksamkeit dee Verfahrens der direkten Bit-Modifikationsverzweigung
veranschaulicht. Dabei wird durch XX7 * XX111 irgendeine
Oktaladresse angegeben (bei der 7g » 111p isO» bei der
die die niedrigste Wertigkeit besitzende Oktalziffer eine ist. Der Buchstabe A bezieht sich dabei auf den Inhalt des
Mikroadressenregisters. Der Ausdruck A * A bedeutet, dass die Α-Adresse direkt benutzt wird. A * frei bedeutet,
dass keine Adresse vorhanden ist. A » c(A) bedeutet, dass der Inhalt der Α-Adresse als neue Α-Adresse benutzt wird.
Dies stellt eine indirekte Adressierung dar. A « A+X bedeutet, dass die neue Α-Adresse die Summe der vorhergehenden Adresse
109821/1831
und X ist. A « c(k)+X umfasst dabei den Fall, dass sowohl
eine indirekte als auch eine Mizierte Adressierung vorhanden ist.
XX7 (XX111) ersetze A durch c(A), A« c(A), und gehe nach XX5 (XX1O1
XX5 (XX1O1) ersetze A durch A+X,A*A+X, und gehe nach XX1 (XYOOI)
XX3 (XXO11) ersetze A durch c(A), A=c(A), und gehe nach XX1 (XX001)
XX1 (XXOO1) lies Operand *c(A), und gehe zur Verzweigung über
von XX „
XX4 (XX100) prüfe die Bereitschaft zur Ausführung
XXO (XXOOO) adressiere eine Verzweigungs-Mikrooperation
Sämtliche fünf grundsätzlichen Adressierungsmöglichkeiten sind durch die obige Tabelle umfas*. Wenn die Verzweigungs-Mikrooperation
die Modifikation der Adresse zu XX7 bewirkt, läuft die Mikrofolge in folgender Weise abχ XX7-XX5-XX1-XX4.
Dies bedeutet, dass zuerst die Α-Adresse durch c(A) ersetzt wird, dass dann diese indirekte Α-Adresse zu dem Index hinzuaddiert
wird, woraufhin der Inhalt der indirekten indizierten Adresse gelesen wird und daraufhin eine zwangsweise Verzweigung
zu "Prüfung auf Bereitschaft zur Ausführung" vorgenommen wird.
Wenn die erste modifizierte Adresse durch XX5 gegeben ist, lautet die Ablauffolge:
XX5-XX1-XX4.
Ytenn die erste modifizierte Adresse durch XX3 gegeben ist,
lautet die Ablauffolge:
XX3-XX1-XX4.
Wenn die erste modifizierte Adresse durch XX1 gegeben ist, lautet die Ablauffolge:
XX1-XX4.
Wenn die erste Adresse durch XXO gegeben ist, wird sie direkt umgesetzt in
109821/1831
Auf diese Weise ist ein Minimum an Mikrobefehlen erforderlich, und die Verzweigung wird so direkt wie möglich ausgeführt.
Es dürfte aus der Kurzbeschreibung ersichtlich sein, dass der geeignete Mikrobefehl für sämtliche Arten der Adressierung
direkt durch die wirksamste Lösung erhalten werden kann, da die Zuatandscodes den jeweils unmittelbaren Weg für die Mikrobefehlsabholung
bereitstellen. Dabei kann dann eine Modifizierung vorgenommen werden, nachdem der jeweilige Mikrobefehl
ausgeführt ist, und zwar zur Aufnahme des nächsten in Frage kommenden Mikrobefehls.
Gremäss einer anderen Anwendung der Erfindung wird eine verbesserte
Mikroverzweigungssteuerung angewandt, um die Ausführung
einer Dezimalmultiplikation vorzunehmen.
In dem gewählten Beispiel ist es notwendig, eine Verzweigung als Teil eines verbesserten Modifikationaverfahrena zu einem
Unterbefehl oder einer MikroOperation hin vorzunehmen, durch den bzw. die der geeignete, in einer Zahl enthaltene Paktor
für eine bestimmte dezimale Multiplikatorziffer gewählt wird. Die Erfindung wird in diesem nain . dazu herangezogen, eine
direkte Verknüpfungsverzweigung asu einem Mikrobefehl von vier verschiedenen Mikrobefehlen auszuführen. Zu welchem Mikrobefehl
die Verzweigung hin vorgenommen wird, hängt von der Summe des Multiplikationsübertrags und der vorliegenden
MuMplikatorziffer ab.
Die Verzweigungssteuerung für die Multiplikation ist in der nachstehenden Tabelle zusammengefasst. Dabei ist MR(m) die
m-te Multiplikatorziffer, und C iat der Übertrag von der letzten Multiplikationsoperation, während der ein Teilprodukt
gebildet worden ist. Die Grösaen m und C werden zunächst auf Null gesetzt. Die Verzweigungefunktionen (B), (C), (D)
109821/1831
und (E) entsprechen dabei der Funktion, die erforderlich ist, um auf die den jeweiligen Eintrag liefernden Verzweigungszustände
hin arbeiten zu können.
(A) C + MR(m)3? O
1-5
Verzweigung zu (E)
auszuführende Funktion
Vers chi ebe/iultiplikand
nach rechts um eine Ziffernstelle und erhöhe m dann zu (F) (m*m+i)
setze C-O, addiere Zahlfaktoren X1 bis X5 für 1-5 und gehe dann nach
(E)
6-9 (B)
10 (D)
(F) vergl. m mit der Zahl der bedeutenden Multiplikatorziffern
(die in dem hier betrachteten Beispiel mit 12 angenommen sind), wenn m * 12 ist, gehe
zum nächsten Befehl über, wenn nicht, gehe nach (λ) über.
setze C«1, subtrahiere Zahlfaktoren X4-X1 für
6-9 und gehe dann nach (E)
setze 0*1, führe Verzweigung
nach (E) aus
Obwohl die Erfindung hier in der Weise veranschaulicht ist, dass sie nur zwei ziemlich einfache Fälle zeigt, dürfte
einzusehen sein, dass das angegebene Konzept generell die Verzweigung durch direkte Festwertspeicher-Adressenmodifikation
zu irgendeinem Speicherplatz von 2n-Speicherplätzen ermöglicht, wobei η die Anzahl von Verzweigungszuständen
109821/1831
bedeutet. Obwohl die Adressenmodifikation in den Adressenbits niedriger Wertigkeit dargestellt ist, kann es im übrigen in
einigen Fällen erwünscht sein, bestimmte Adressenbits höherer Wertigkeit bzw. -Ordnung zu modifizieren, so dass ein Sprung
oder eine Verzweigung von der Festwertspeicheradresse niedriger Wertigkeit zu einer Adresse von mehreren Adressen höherer
Ordnung bzw. Wertigkeit ausgeführt werden kann. Bevor auf eine nähere Erläuterung der praktischen Ausführung der Erfindung
eingegangen werden wird, erscheint es angebracht, einige grundsätzliche Betrachtungen im Hinblick auf einen
herkömmlichen, bekannten Verzweigungsbefehl anzustellen.
Obwohl eine Mehrzahl von Bits umfassende Zustandscodes bei
bisher bekannten Datenverarbeitungsanlagen häufig verwendet weden, wie zum Beispiel in dem bekannten IBM-360-System,
sind von dem jeweiligen Befehl nur zwei Ausgangsgrössen möglich.
Wenn die Verknüpfung des Zustandscodes den gestellten Anforderungen nicht genügt hat, wird der nächste Befehl des
jeweiligen Programms in der normalen Ablauffolge abgeholt
(die nächste Befehlsadresse). Wenn demgegenüber der Zustandscode
den geforderten Bedingungen genügt hat, wobei durch den betreffenden Code eine komplizierte Abdeckfunktion
dargestellt sein kann, dann wird die Verzweigung dadurch vorgenommen, dass die vorliegende Befehlsadresse durch die
ψ Verzweigungsadresse ersetzt wird, die direkt oder indirekt
von dem Verzweigungsbefehl selbst abgeleitet ist.
Das charakteristische Merkmal der vorliegenden Erfindung, dass die Erfindung sowohl von dem herkömmlichen Makroprogrammverfahren
(das ist das Verfahren, bei dem normale Befehle verwendet werden) oder von herkömmlichen Mikroprogranaiverfahren
abhebt, besteht darin, daas die jeweils vorliegende Adresse des Befehls oder der Mikrobefehl nicht ersetzt wird ,
sondern vielmehr direkt durch den jeweiligen Verzweigungszu-
109821/1831
atand modifiziert wird. Diea bedeutet, daaa bei der praktischen
Ausführung der vorliegenden Erfindung ein Spezialzustandacoderegister
nicht beibehalten zu werden braucht, da die Makrooder Mikroadreaae aelbat die Modifikations- bzw. Inderungsbita
erhält bzw. aufnimmt.
Eine weitere bedeutaame Möglichkeit hinaichtlich der Anwendung
der Erfindung beateht in der automatiachen Einfügung von Unterbrechungazuatandabita in eine Adreaae, und zwar zum Zwecke
der Beachleunigung der Betriebaabwicklung bei einer Unterbrechung.
Auch hierbei liefert die Erfindung eine bedeutende Verbesserung gegenüber dem entsprechenden herkömmlichen Verfahren,
bei dem der Unterbrechercode ala indirekte Adreaee verwendet
wird anstatt ale Element zur direkten Modifikation einer vorliegenden
Adreaae.
Anhand von Zeichnungen wird die Erfindung nachstehend an einem Auaführungabeiapiel näher erläutert.
Pig. 1 zeigt in einem Blockdiagramm ein die vorliegende Erfindung auanutzendea typischea System.
Pig. 2 zeigt in einem Blockdiagramm denjenigen Teil des
Systems gemäss Pig. 1, der eine verbesserte Mikro-Verzweigung
für eine Rechenbefehlssteuerung ausführt.
Pig. 3 zeigt in einem Blockdiagramm denjenigen Teil des Systeme gemäaa Pig. 1, der eine Mikroverzweigung
für eine Adressenerzeugung ausführt.
Pig. 4 zeigt in einem Blockdiagramm die grundsätzlichen Teile einer Mikroprogramm-Steuereinrichtung, die
speziell für Adresaenzustandsaignale vorgesehen ist.
Pig. 5 zeigt eine Tabelle, die aich auf den Betrieb der Ausführungsform gemäsa Pig. 4 bezieht.
109821/1831
Fig. 6 veranschaulicht in einem Flussdiagramm die allgemeinen
Funktionen, die bei der Adressererzeugung ausgeführt
werden müssen, wobei drei Grundzustände zu prüfen sind: Α-Operand?, indirekte Adresse? Index?
Fig. 7 zeigt ein dem Flussdiagramm gemäss Fig. 6 entsprechendes
Flussdiagramm mit gewissen Vereinfachungen zum Zwecke der Veranschaulichung der Art und Weise, in der
die Erfindung wirkt.
Fig. 8 zeigt ein weiteres Flussdiagramm mit speziellen Adressenfc
codes zur Veranschaulichung einer speziellen Anwendung
des Mikroverzweigungs-Befehls gemäss der Erfindung im
Hinblick auf eine Adressenerzeugung.
Fig. 9 zeigt die Grund-Verknüpfungseinrichtung, wie sie für die Erzeugung der modifizierten Festwertspeicher-Adressen
im Falle der Adressenerzeugung benutzt wird.
Fig. 1o veranschaulichen in einem detaillierten Flussdiagramm
a» »c> ^iQ grundsätzlicne Mikroprogrammsteuerung für eine
GL U · 6
Mehrfachproduktanwendung im Falle einer dezimalen Multiplikation.
" Fig.11 lässt erkennen, wie ein Mikroverzweigungs-Befehl gemäss
der Erfindung dazu herangezogen werden kann, die durch die Fig. 10 bezeichneten Funktionen auszuführen.
Fig.12 gibt in einer Tabelle detailliert verschiedene Mikrobefehle
an, die zur Ausführung einer dezimalen Multiplikation benutzt werden.
Fig. 13 zeigt in einem detaillierten Flussdiagramm die Anwendung spezieller Festwertspeicher-Adressen zur Veranschauliehung
des Betriebs gemäss der Erfindung im Hinblick auf eine dezimale Multiplikation.
109821/1831
Im folgenden aei fig. 1 näher betrachtet. Im Zusammenhang
mit Fig. 1 sei bemerkt, dass daa Syatem einen Hauptapeicher
MM enthält, der Einrichtungen zur Eingabe dea Speicherinhalts über eine Steuereinrichtung IN und eine Auagabeeinrichtung
für die Auagabe dea Speicherinhalta dea Hauptapeichera MM
enthält. Die Ausgabeeinrichtung ist dabei mit OUT bezeichnet. Die Adresse für den Hauptspeicher MM wird dabei von einer
Speicheradressen-Steuereinrichtung MA bezeichnet.
Eine bei dem System vorgesehene Verknüpfungs- und Steuereinrichtung
LC dient zur Aufnahme von Mikrobefehlen von dem Adressengenerator-Festwertspeicher AG- ROM und von dem Festwertspeicher
AU ROM der Recheneinheit. Diese Mikrobefehle werden dabei über die entsprechenden Ausgaberegister AG· OUT
und AU OUT aufgenommen. Der Festwertspeicher AG· ROM wird von einer Adresaenateuereinrichtung durch eine AG—Adresse
gesteuert, und der Festwertspeicher AU ROM wird von einer Adreaaenateuereinrichtung mit einer AU Adrease geateuert.
Die Verknüpfunge- und Steuereinrichtung LO ist verschiedenen
Arbeitsregistern zugeordnet, die generell mit WR bezeichnet sind. Ferner sind die betreffenden Einrichtungen einem
Steuerspeicher zugeordnet, der generell mit CM bezeichnet ist. Die verschiedenen Verzweigungszustände sowie externe
und datenabhängige Zuatandssignale werden der Einrichtung LC zugeführt.
Der Zweck der Fig. 1 besteht darin, die generelle Organisation des Gesamtsystems zu veranschaulichen. Die spezielle
Art und Weise, in der die Verknüpfungs- und Steuereinrichtung LC für die verschiedene Anwendung bei den Mikroverzweigungs-Befehlen
gemäss der Erfindung geeignet ist, wird weiter unten noch näher erläutert werden.
Im folgenden seien die Fig. 2 und 3 näher betrachtet, in
denen Untersysteme näher bezeichnet sind, die für die Fest-
109821/1831
wertspeicher AU ROM und AG ROM verwendet werden. Im Zusammenhang
mit Fig. 2 sei besonders darauf hingewiesen, dass die Verzweigungszustände, die im Falle der Fig. 1 der Einrichtung
LC zugeführt wurden, hier der speziellen Verknüpfungseinrichtung ,IC-AU zugeführt werden. Das in Fig. 2 dargestellte
Adressenregister steuert dabei den Festwertspeicher AU ROM, wobei das Ausgangssignal dieses Speichers einem örtlichen
Register zugeführt wird, der der Ausgabeeinrichtung AU OUT gemäss Fig. 1 entspricht. Das örtliche Register ist dabei
mit einem Mikrooperations-Unterbefehlsgenerator verbunden, der Teil der Einrichtung LC bildet und von dem die Mikrooperationen
abgegeben werden, die in der Adressen- und Verzweigungslogik verwendet werden.
Es sei ferner bemerkt, dass ein Operationscoderegister dargestellt
ist, das auch Teil der Verknüpfungseinrichtung LC bildet, sowie die Adressenverzweigungslogik steuert, die in
das AU ROM-Adressenregister hineinwirkt. Dies ist dabei beabsichtigt,
um anzuzeigen, dass die Folge von Mikrobefehlen, die ausgeführt werden, durch eine zunächst ausgelöst Verzweigung
vorgenommen wird, die eine direkte Umsetzung des Makobefehls-Operationscodes ist.
Im weiteren sind spezielle Eingänge für die externen und datenabhängigen Zustände vorgesehen,und ausserdem ist ein
Wartungsfeld vorgesehen, Der Zweck der genannten speziellen Eingänge und dea Wartungefeldee dient dazu, spezielle Funktionen
zu veranschaulichen, die als Teil der grundsätzlichen Verzweigungszustands-Eingangssignale
zu der Verknüpfungs- und Steuereinrichtung LC hin betrachtet werden können. Der Hauptzweck der Fig. 2 besteht darin, die Beziehung auf ein
System zu zeigen, bei dem die vorliegende Erfindung angewandt wird. Bei diesem System handelt es sich um das System Honeywell
8200, das in der Druckschrift "Honeywell Computer Journal", Winter-Spring 1968, näher beschrieben ist.
109821 /1831
In Fig. 3 Bind die grundsätzlichen Punktionen veranschaulicht,
die dem Festwertspeicher AG-ROM zugehörig sind. Eine dabei dargestellte Folgesteuereinrichtung erzeugt ein Signal entsprechend
einer Startadresse, und zwar auf die Aufnahme einea Befehls von dem Hauptspeicher hin. Eine Vergrösserungs-Logik
dient dabei dazu, den Inhalt des Adressenregisters für eine normale Ablauffolge zu vergrössern. Eine Verzweigung wird in
diesem Fall dadurch ausgeführt, dass die Terzweigungaadreaae von dem örtlichen Register her empfangen wird, und zwar absprechend
dem Ausgangssignal des Festwertspeichers AG- ROM. Die Verzweigungsadresse wird in einem Entwicklungs-Register
abgespeichert. Dieses Register übt dabei eine entsprechende Funktion aus wie ein Befehlszähler in einem herkömmlichen
Makorprogramm-System.
Ein örtliches Register, wie es in dem AU ROM-Festwertspeicher enthalten sein kann, nimmt Signale auf, die an einen Mikrooperations-
und ünterbefehls-G-enerator abgegeben worden sind, der ferner Signale verschiedener externer Zustände aufnimmt.
Signale verschiedener Verzwe^ingszustände werden dabei einer
Adressen- und Verzweigungslogik zugeführt, wie dies im Falle der Fig. 2 der Fall ist.
Obwohl die Steueretarichtungen AU und AG- gemäss Fig. 2 und
sich etwas in dem Mikrobefehlsformat unterscheiden, wie weiter unten noch näher ersichtlich werden wird, wird die neue Mikroverzweigungs-Steuerung
gemäss der Erfindung in gleicher Weise bei beiden Steuereinrichtungen angewandt.
Im folgenden seien die Figuren 4 bis 9 näher betrachtet, die sich auf die Anwendung des Festwertspeichers AG· ROM für
die Adressensteuerung und insbesondere für die Mikroverzweigungs-Steuerung gemäss der Erfindung beziehen. Die Figuren 10 bis
beziehen sich dabei in entsprechender Weise auf die Anwendung der Erfindung bei dem Festwertspeicher AU ROM.
109821/1831
Im folgenden aei nun Fig. 4 näher betrachtet, gemäaa der
Verzweigunga-Mikrooperationasignale von einem AG-Mikrobefehl
einer Verknüpfungaeinrichtung zugeflhrt werden, die auaserdem
Zuatandaaignale Ab, Ib, Xb aufnimmt. Die Verknüpfungaeinrichtung
erzeugt modifizierte Adresaenbits, die mit der AG-Adrease
unter Bildung der Mikroverzweigunga-Adrease zusammengefaaat
werden, wie diea im folgenden noch näher eraichtlich werden wird. Die Form dea Mikrobefehle gemäaa Fig. 4 veranschaulicht
den Fall, daaa eine Verzweigungaadreaae in dem
Befehl enthalten iat und zwar inabeaondere in den Bitpoaitionen
2 bia 10. Dadurch iat ea möglich, eine Verzweigung zu einer fe beatimmten Adreaae hin vorzunehmen anatatt zu der modifizierten
Verzweigungaadreaae. Die Bita 11 bia 16 aind in Fig. 4 ala
Verzweigungs-Mikrooperationen bezeichnet.
Bei der tataächlichen Auaführung können die Verzweigunga-Mikrooperationabita
gruppenweiae zuaammengefaaat aein, um die Decodierung zu vereinfachen. Dadurch ist dann allerdings
die maximale Zahl von Möglichkeiten nicht mehr vorhanden. Für die vorliegenden Zwecke sei angenommen, dasa jede Verzweigunga-Mikrooperation
genau die Zustandsbita festlegt, die mit der vorliegenden Mikroadrease zuaammenzufaaaen sind,
um die modifizierte Adresse zu bilden, und dass ferner die ^ Verzweigungs-Mikrooperation festlegt, welche Bitpositionen
bei der vorliegenden Adresse zu modifizieren sind.
Als weitere Vereinfachung sei im folgenden angenommen, dass der die Verzweigungs-Mikrooperation umfassende Mikrobefehl
bei einer Adresse vorgesehen iat, bei der der Oktalcode niedrigster Wertigkeit durch M0M gebildet iat. Dadurch ist
die Anwendung einer einfachen MOder"-Logik für die Zusammenfaaaung
der modifizierten Zuatandabita mit der vorliegenden
Mikroadreaee möglich.
109821/1831
Es dürfte sicher einzusehen sein, dass die Erfindung auf die Modifizierung der Bitpositionen niedrigster Wertigkeit
nicht beschränkt ist,und auch nicht auf die Anwendung von MO"-Adressenbits für eine HOderw-Modifikation, Es sei jöoch
bemerkt, dass durch die betreffenden Massnahmen ein einfaches Mechanisierungsschema erhalten wird.
Zum Zwecke lediglich vereinfachter Darstellung sei nunmehr angenommen, dass die Zustandsbyte Xb, Ib und Ab, wie sie
in Fig. 5 bezeichnet sind, dazu herangezogen werden, die Adressenbits niedrigster Wertigkeit (ursprünglich 000)
des Festwertspeichers AG- ROM zu modifizieren. Diese Adressen- i
bits sind bezeichnet mit: AR0M1-3 AR0M1-2, AR0M1-1.
Im Zusammenhang mit Fig. 5 sei bemerkt, dass fünf Zustandecodes durch die Signale Xb, Ib und Ab festgelegt werden.
Sind alle drei Signale jeweils durch eine n0w gebildet, so
ist keine Α-Operandenadresse in dem auszuführenden Mateobefehl
angegeben (Α-Adresse leer).
Wenn lediglich das Zustandssignal Ab durch eine M1n gebildet
ist, ist eine direkte Adressierung bezeichnet, gemäss der der Operand von c(A) gelesen wird. Dies bedeutet, dass
der Inhalt (c) der Α-Adresse den zu lesenden Operanden enthält . * {
Wenn die Signale Ib und Ab jeweils durch eine ?1H gebildet
sind, ist die Adressierung indirekt, wobei A zuerst durch e(A) ersetzt wird, woraufhin der Inhalt dieser Adresse
gelesen wird. Dies lässt sich wie folgt darstellen: lies c(c(A)).
Wenn die Adresse eine direkte, aber indizierte Adresse ist, wobei Xb und Ab jeweils durch eine W1n gebildet sind,
109821/1831
so kann die Operandenablesung wie folgt geschrieben werden: Lies c(A+X), wobei X der Index ist.
Der letzte zu betrachtende Fall ist der, dass sämtliche Zustandsbits jeweils durch eineM1M gebildet sind (111).
Damit ist die indirekte, indizierte Adresse bezeichnet:
Lies c(c(A)+X).
In Fig. 5 sind fünf Festwertspeicheradressen (ROM) als den obigen fünf Zustandscodes entspechend dargestellt, wobei
die Adressen XX1, XX3, XX5, XX7 den Einfügungen der Zustandecodes Xb, Ib und Ab in die Bitpositionen 3, 2 bzw. 1
der vorliegenden Festwertspeicheradresse entsprechen. Der Fall, dass sämtliche Zustandsbits jeweils durch eine'O"
gebildet sind, ist der eine Fall, bei dem eine willkürliche Auswahl vorgenommen werden kann, um eine Verzweigung zu irgendeinem
Platz hin vorzunehmen, der nicht von anderen Zustandssignalen benutzt wird. In diesem Fall kann es erwünscht sein,
die Logik so auszulegen, dass die Verzweigung zu der Verzweigungsadresse in den Bits 2 bis 10 gemäss Fig. 4 vorgenommen
wird, ^ie entsprechende Bitdarstellung der tatsächlichen
Einfügungen in die Bitpositionen 1, 2 und 3 der Featwertspeicheradresse ROM ist ebenfalls in Fig. 5 wiedergegeben.
Für die vorliegende Adresse XX4 werden die entsprechenden Bits als Leer-Α-Adressenverzweigung gewählt.
Das im vorstehenden benutzt Zeichen X bedeutet dabei, dass irgendein Oktalcode eingesetzt werden kann.
Im folgenden sei das in Fig. 6 dargestellte Flussdiagramm
näher betrachtet, in dem die grundsätzliche Funktion der Adressensteuerung veranschaulicht ist. Wenn ein neuer Befehl
gelesen wird, besteht die erste überprüfung darin, ob eine Α-Adresse bezeichnet ist oder nicht. Ist keine solche Adresse
bezeichnet, so führt das Syetem eine direkte Verzweigung
10 9 8 2 1/18 31
zu dem Punkt "Prüfung" hin aus, worauf weiter unten noch,
näher eingegangen werden wird. Ist jedoch eine A-Operandenadresse
bezeichnet (Ab«i) so muas eine Prüfung vorgenommen werden, um festzustellen, ob Ib durch eine n1n gebildet
ist oder nicht, und zwar für eine indirekte Adressierung. Ist die Adresse eine direkte Adresse (lb««0), so wird eine
direkte Verzweigung zu der Indexprüfung vorgenommen. Ist die Adresse jedoch eine indirekte Adresse (Ib»i), so wird
die Α-Adresse durch den Inhalt der Α-Adresse (A^c(A)) ersetzt.
Gremäss einem besonderen Merkmal der Erfindung ist eine Verknüpfungseinrichtung
bzw. Logik vorgesehen, die das Zustandsbit Ib nach Ausführung der Funktion A»c(A) zu 11O" macht.
Die nächste Prüfung läuft darauf hinaus, zu bestimmen, ob eine ürflizierung erforderlich ist oder nicht. Ist kein Index
erforderlich, so wird der Operand ausgelesen, woraufhin das Flussdiagramm auf eine "Prüfung" übergeht. Ist ein Index
erforderlich (Xb=1), so wird die Ausführung der Funktion A*A+X vorgenommen, woraufhin das Zustandsbit Xb zu "0" wird.
Damit ist der Eintrag zu dem Leseoperand mit einem Zustandscode
vorgenommen, der £uf 001 eingestellt ist. Das Zustandsbit
Ab«1 wird dabei zu 0 , um den Zustandscode zu 000 überzuführen.
Damit wird die Verzweigung zu der "Prüfung" hin bewirkt.
In Fig. 7 ist das Flussdiagramm gemäss Fig. 6 vereinfacht
dargestellt, um eine mehrfache Verzweigung von der Adressencodeanforderung
zu veranschaulichen. Dabei wird in dem Fall, dass der Zustandscode mit Xb, Ib und Ab entweder 011
oder 111 ist, eine Sy3temverzweigung zu der Funktion hin vorgenommen, gemäss der die Α-Adresse durch die indirekte
Α-Adresse ersetzt wird. Daraufhin wird der Code 011 in den Code 001 umgesetzt, und der Code 111 wird in den Code
umgesetzt. Der Code 101 bewirkt eine Indizierung und dann eine Verzweigung zu 001, während die direkte Umsetzung des
10 3
Codes 011 in den Code oo1 den Indizierungsschritt umgeht.
In Pig. 8 ist eine weitere charakterLatische Darstellung der
Wirkung des Flussdiagramms gemäss Fig. 6 veranschaulicht.
Dabei ist die urspiihgliche Mikrobefehlsadresse als 000g (Oktal)
angenommen.
In Fig. 8 ist eine Oktaladresse der besonderen Darstellung wegen angenommen. Die Verzweigungs-Mikrooperation, als BAIX
bezeichnet (Verzweigung auf Ab, Ib und Xb) hin, sei annahmegemäss
in dem Mikroadressen-Speicherplatz 00Q. Der drei Bit fe umfassende Zustandscode Xb, Ib, Ab wird als Oktalziffr eingeführt,
um eine direkte Verzweigung zu der richtigen Mikroadresse zu bewirken. Demgemäss bewirken die Bitcodes 001, 011, 101
und 111 eine Verzweigung zu 001, 003, 005 und Ooi.
Es sei ferner bemerkt, dass das erfindungsgaasse Verfahren
der Zustandsbit-Modifikation ebenfalls dann angewandt wird, wenn der Code 111 in den Code 101, der Code 101 in den Code
001 und der Code 011 in den Code 001 umzusetzen ist. Ein Ursprungscode von 000 wird dabei in 004 umgesetzt, und zwar
durch eine Logik oder durch ejae herkömmliche unbedingte Verzweigung,
so dass sämtliche Mikrobefehle sohliessüch zu dem
"Prüf"-Mikrobefehl hinführen, wie dies oben bereits ausgeführt W worden ist.
DieMPiüfung" wird dabei dazu benutzt, zu bestimmen, ob irgendwelche
Unterbrechungen oder speziellen Zustände ermittelt worden sind, die die Ausführung des Befehls unmöglich machen
würden. Wenn der Operationscode des Markobefehla zum Beispiel "unrechtmässig" war oder sich nicht in dem Grundvorrat der
Verarbeitungseinrichtung befand, würde die Piüffunktion eine
Verzweigung zu einem speziellen "Festhalte"-Unterprogramm hin liefern. Ein weiterer Zweck der Prüfung besteht darin, eine
Verzweigung oder "Festhaltung" zu speziellen Unterbrecher-
1 Ü 9 ÜZ I / I 8 31
speicherstellen hin zu bewirken, um atweder datenbezogene
oder externe Unterbrechungen zu verarbeiten oder gegebenenfalls
eine spezielle Programmanforderung zu bedienen, wie eine Anforderung, die sich auf eine Eingabe-Ausgabe-Verarbeitung
bezieht.
Pig. 9 veranschaulicht die generelle Form der Verknüpfung zur Erzeugung von modifizierten Adressenbits AEOM1-1, AR0M1-2
und AROM1-3. Die betreffende Verknüpfung lässt sich wie folgt
beschreiben:
AHOM1 -1-BAIX.Αί>+(übrige Verzweigungs-Mikrooperation mit
zugehörigen Zustandsbyte, wie Ab). J
AROM1-2^BAIX.Ab.Ib+(andere Verzweigungs-Mikrooperation mit
zugehörigen Zustandsbits, wie Ab).
AROM1-3*BAIX.Ab.Xb+(andere Verzweigungs-Mikrooperation mit
zugehörigen Zustandsbits, wie Ab).
Eine Realisierung dieser Verknüpfung durch eine Verknüpfungseinrichtung, wie sie in Pig. 9 gezeigt ist, besteht darin,
dass dann, wenn die Verzweigung auf den AbT Ib-, Xb-Mikrooperationscode
ermittelt ist, das Bit AROM1-1 auf 1M" nur dann
gesetzt wird, wenn Ab*1 ist. Ist AbeO während BAIX»1 ist,
so wird das bezeichnete Adressenbit nicht geändert.
In entsprechender Weise ist mit AR0M1-2»BAIX.Ab.Iti festgelegt, {
dass das Adressenbit eine "1" nur dann wird, wenn der Mikrobefehl BAIX ."'?" ■ Mikrobefehl angefordert wird und wenn
Ab und Ib jeweils durch einen1M gebildet aind. Das Bit AROM1-3
legt fest, dass BAIX, Ab und Xb jeweils durch eine H1H gebildet
sein muss, damit das zugehörige Adressenbit gesetzt ist.
Wie oben bereits bemerkt, wird mit Beendigung der Ausführung einer bezeichneten indirekten Adresse (A*c(A)) das zugehörige
Zustandsbit zu O gemacht. Demgemäss kann ein O-Setzausdruck
109821/1831
angegeben werden:
oAR0M1-2*Beendigung von A«c(A).
In entsprechender Weise kann AROM1-3 nach der Indizierung
zu 0 gemacht werden, und zwar entsprechend der Beziehung:
0JLROMI-^«Beendigung von A»*A+X.
Wie oben bereits bemerkt, kann der einfache Fall der Einfügung in die Oktalpoaition niedrigster Wertigkeit der Mikroadresse
bzw. die Einführung der entsprechenden Bits in die betreffende Oktalposition über eine Oder-Verknüpfung erweitert werden, um
fe 2n-Adressenbitstellen innerhalb der Mikroadresse zu erfassen,
wobei η die Anzahl der Zustandsbits ist. Darüberhinaus können
die Bitstellen innerhalb der Mikroadresse von den Bits höchster Wertigkeit gewählt werden, um zum Beispiel durch direkte Modifizierung
des neunten Adressenbits Sprünge zu 256 Stellen hin ausführen zu können. Andere Variationen dürften aus den hier
gegebenen Beispielen ersichtlich sein.
Im folgenden wird die Anwendung der vorliegenden Erfindung auf eine Rechensteuereinrichtung näher betrachtet. Der spezielle
Fall ist dabei so gemhlt, dass eine mikroprogrammierte dezimale Multiplikation vorgenommen wird. Die dabei betrachtete
Verfahrensweise wird an anderer Stelle bereits näher beschrie-P ben.
Die Figuren 10a bis 10e zeigen ein Flussdiagramm, das das
grundsätzliche Verfahren festlegt, wie es an der zuvor erwähnten anderen Stelle beschrieben wird. Bezüglich der Fig. 10a sei
bemerkt, dass der Verzweigungspunkt (A) einen Satz von Prüfungen liefert, denen zufolge man zu (B), (C), (D) oder (E) hin
gelangt. Entsprechend dem jeweils angesteuerten Ausgang wird ein Spezialflussdiagramm angewandt. Dabei ist der Anfangsbzw.Eintragpunkt mit dem gleichen Bezugszeichen bezeichnet,
das an die jeweilige Figurennummer angefügt ist. Demgemäss entsprechen
die Figuren 10b, 1Oe, 1Od und 1Oe den Ausgängen
109821 /1831
(B), (C), (D) und (E) gemäsa Figur 10a. Die dabei bezeichneten
Punktionen entsprechen der Operation, die gemäss dem an der erwähnten anderen Stelle beschriebenen Verfahren auszuführen
ist.
Das Verfahren besteht grundsätzlich darin, für eine Multiplikand-Verschiebung
eine direkte !Ferzweigung zu (E) hin vorzunehmen
und den Multiplikatorziffernzähler (m) weiterzuschalten, wenn
der Zustand, der während der Verzweigung (A) gemäss Fig. 10a ermittelt wird, durch eine H0H dargestellt ist. Wenn der Zustand
der Multiplikatorziffer und des Übertrags durch einen ,
Code 1-5 gebildet ist, wird die Verzweigung zu (C) hin vor- "
genommen. Dabei wird das Übertragssignal ^C" auf w0H gesetzt,
und ausserdem wird eine unmittelbare Addition von Zahlfaktoren
X1, X2, X3, X4 und X5 vorgenommen. Der Zustand von 6-9 in
der Multiplikatorziffer und dem Übertrag bewirkt eine Verzweigung zu (B) hin, wobei das Übertrag-Signal "Ο" auf "1" gesetzt
wird. Die auf zehn ergänzten Zahlenfaktoren X4» X3* X2 und X1 werden für die Fälle 6, 7, 8 und 9 benutzt, und zwar subtrahiert.
Der Fall des Zustande 10 entspricht dem Zustand 0, jedoch mit der Ausnahme, dass die Verzweigung bei (D) festlegt,
dass C»1 für den Übertrag ist. Sämtliche Verzweigungen (B), (C) und (D) führen zu (E) hin und bewirken eine Verschiebung
des gebildeten Teilprodukts wie dies oben dargelegt | worden ist.
Nachdem die Funktionen der Verzweigung (E) abgee&Losaen sind,
werden die Funktionen von (F) auegeführt, und zwar zur Überprüfung
der Beendigung. Wenn sämtliche MuItipltetorziffern
benmtzt worden sind, wird der nächste Befehl gelesen. Sind
noch nicht sämtliche Multiplikatorziffern benutzt worden, so wird eine Rückführ-Verzweigung zu (A) vorgenommen.
Eine besondere Form, die die Hardware und die Mikrobefehle für das Beispiel der dezimalen Multiplikation gemäss Fig. 10
109821/1831
annehmen können, ist in Figuren 11 und 12 weitergeführt.
In !ig. 11 ist dabei die generelle Form des grundsätzlichen Rechen-Verzweigungsbefehls dargestellt, wobei die Bits 13
bis 27 verschiedene MikroOperationen bezeichnen, die auf die Verzweigungen bezogen sind. Es sei bezüglich dieses Beispiels
angenommen, dass die bei der Verzweigung (A) vorhandene Verzweigungs-Mikrooperation der Mikrobefehl ist, der mit MLPA
in Fig. 12 bezeichnet ist und der die geeigneten Verzweigungen zu (B),(C),(D) oder (E) hin liefert.
Im Zusammenhang mit der Hardware-Lösung gemäss Fig, 11 sei
bemerkt, dass die Vorzeichensteuerung eine direkte Funktion des Signals MCM ist, das ferner den Übertrag bildet. Die Auswhl-Codesteuerschaltung
ist dabei entsprechend den Definitionen der verschiedenen Mikrobefehle gemäss Fig. 12 aufgebaut; durch
diese Steuereinrichtung wird die Auswahllogik veranlasst, den jeweils richtigen Zahlfaktor von einem Registerder Register RX1
bis RX5 entsprechend Σ1 bis X5, einzuführen.
Aus der obigen Erläuterung dürfte die gegenseitige Beziehung der verschiedenen Mikrobefehle MLPB, MLPC, MLPD, MLPE, MLPF
und nächster Mikrobefehl ersichtlich sein. Es sei bemerkt, dass der letzte Buchstabe bei jedem Mikrobefehl dem Verzweigungs-Eingangspunkt
(B), (C), (D), (E) und (F) gemäss Fig. 10 entspricht.
In Fig. 13 ist ein spezieller Fall gezeigt, gemäss dem die Erfindung unter Heranziehung des gerade beschriebenen Rechenverfahrens
angewandt wird. Dabei ist angen-rommen, dass die Multiplikationsoperation
an der Stelle 0437g in dem Festwertspeicher AU ROM beginnt. Die verschiedenen Verzweigungen entsprechen
dabei, wie ersichtlich, den zuvor betrachteten Verzweigungen.
109821/1831
Claims (1)
- Patentansprüche(\j. Datenverarbeitungss3>"stem, in welchem Makrobefehle Operationskodes, Adressenzustandssignale und Adressen enthalten und durch Anwendung zumindest eines Mikrobefehlsspeichers ausgewertet werden, wobei eine Mikroverzweigungssteuerung vorgesehen ist, dadurch gekennzeichnet, daß erste Einrichtungen vorgesehen sind, die ein Mikroadressenregister enthalten, das zur Steuerung der Adressenauswahl eines Mikrobefehls aus dem .Mikrobefehlsspeicher dient, daß zweite Einrichtungen vorgesehen sind, die einen ausgewählten, aus dem Mikrobe- j fehlsspeicher ausgelesenen Mikrobefehl aufnehmen und ™ entsprechende Mikroausgangssignale erzeugen, daß dritte Einrichtungen vorgesehen sind, die auf bestimmte Sätze von Mikroausgangssignalen hin Mikroverzweigungs-Steuersignale erzeugen, und daP- vierte Einrichtungen vorgesehen sind, dip* auf die Adressenzustandssignale und auf die lÜkroverzweigungs-Steuersignale hin die ersten Einrichtungen derart steuern, daß der Inhalt des Mikroadressenregisters als direkte Ver^nüpfungsfunktion der Adressenzustandssignale modifiziert wird,2. Datenverarbeitungssystem nach Anspruch 1, dadurchgekennzeichnet, daß diejenigen Speicherbefehle, die jRechenoperationen festlegen, unter Heranziehung zumindest eines Festwertspeichers umgesetzt werden, der einen Speicherplatz für Mikrobefehle des jeweiligen Hauptspeicherbefehls umfaßt, daß eine Verzweigungseinrichtung zur Steuerung der Adresse für die Mikrobefehlsauswahl aus den Pestwertspeicher vorgesehen ist, daß eine Festwertspeicher-Adressierungseinrichtung vorgesehen ist, dip die Auswahl eines Mikrobefehl? aus dem Festwertspeicher steuert, daß Festwerspeicher-109821/1831Ausgabeeinrichtungen vorgesehen sind, die Festwert— speicher-Ausgangssignale entsprechend dem jeweils ausgewählten Mikrobefehl abgeben, daß eine Kikrooperations-Dekodiereinrichtung vorgesehen ist, die bestimmte Teile des jeweiligen Mikrobefehls in Verzweigungs-Mikrooperationen umsetzt, daR eine erste Verknüpfungs^inrichtung vorgesehen ist, die auf Verzweigungs-Zustands-Eingangssignale und auf die pestv/prfepeicher-Ausgangssignale hin Festwertspeicher-Adressenmodifizierungssignale erzeugt, und daß eine zv/eite Verknüpfungseinrichtung vorgesehen ist, dier die Festwertspeicher-Adresseneinrichtung derart steuert,daß eine unmittelbare Verzweigung zu der nächsten Festwertspeicher-Mikrobefehlsadresse als direkte Verknüpfungsfunktion sämtlicher Verzweigungs-Zustandseingangssignale erfolgt, die auf den dekodierten Teil des Mikrobefehls bezogen sind, der die entsprechende Verzweigungsmikrooperation bezeichnet.3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß zur Modifizierung einer Mikroprogrammadresse eine erste einrichtung vorgesehen ist, dip die jeweils vorliegende Hikroadresse speichert, daß eine zweite, einrichtung vorgesehen ist, die Zustandssignale( "Λ „.,Cn)und den Mikroverzweigungskode von dem jeweiligen Mikrobefehl her aufnimmt, der durch die jeweils vorliegende Mikroadresse abgelesen ist, daß eine dritte einrichtung vorgesehen ist, die 4dressp>nmodifikationssignale als funktion von Zustandssignalen und des Mikroverzweigungskodes erzeugt, und daß eine vierte Einrichtung vorgesehen ist, die die Adressenmodifikationssignale in die vorliegende Mikroadresso an T?itpositionen einführt, die durch den r'ikrovrrzweigungskode bezeichnet sind, und zwar zur Bildung einer neuen Mikroadresse., -die zum Auslesen df^ nächsten Mikrobefehls dient,8AD ORIGINAL 109821/1831, System, bei dem Befehle aus einem Hauptspeicher unter der Steuerung einer Verknüpfungseinrichtung ausgelesen und ausgewertet werden, .wobei zumindest ein Festwertspeicher verwendet ist, von dessen Ausgang Verknüpfungssteuersignale abgegeben werden, die in der Verknüpfungseinrichtung zur Bezeichnung bestimmter Kikrooperationen herangezogen werden, welche sich auf die Anwendung des Hauptspeichers sowie von Arbeitsregistern und eines Steuerspeichers beziehen, und wobei für die Aufnahme einer Verzweigung sowie von externen und datenabhängigen ZustandsSignalen eine Verzweigungs-Kikrooperationssteuerung vorgesehen ist, nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß eine erste Verknüpfungseinrichtung vorgesehen ist, die eine Ursprungs-Pestwertspeicheradresse als Punktion des aus den Hauptspeicher ausgelesenen Hauptbefehls bildet, daß eine zweite Verknüpfungseinrichtung vorgesehen i<3t, die die Festwertspeicheradresse während der Ablaufsteuerung des Pestwertspeichers für keine Verzweigung bewirkende Mikrooperationen bildet, daß eino dritte Verknüpfungseinrichtung vorgesehen ist, die das Vorhandensein von speziellen Verzweigungs-ITikrooperationen in der Inhalt des Ausgangssignals des Festwertspeichers Ppststellt, daß eine vierte Verknüpf ungseinrichtimg vorgesehen ist, die selektiv von 'Atir dritten Verknüpfungseinrichtung gesteuert modifizierte Festvortr.poicherac'reösensignale als kombinierte Funktion der speziellen Mikrooperationen und dF>r Zustandesignale erzeugt, und daß eine fünfte Tr"rknüpfungseinric.ihtung vorgesehen ist, die die modifizierten Adress^nsignal^ in die nächste Adresse für den pG^tw-rt^poichor einPührt,BAD ORIGINAL109821/1831System nach Anspruch 4, dadurch gekennzeichnet, daß c\ie Verzweigungszustände auf indirekte Wrp?und aup eine Indizierung bezogen sind.6, System nach Anspruch 4, dadurch gekennzeichnet, daß die Verzweigungszustände auP eine arithmetische Schaltung in Abhängigkeit von Oatenzuständen bezogen sind.1„ System nach Anspruch 4, dadurch gekennzeichnet, daß gesonderte festwertspeicher für eine Rechensteu^reinrichtung und Adressensteuereinrichtung vorgesehen sind, daß der .für di° Rechensteuereinrichtung vorgesehene Festwertspeicher ein RecheneinriehtYings-^estwertspeicher (AU—ROF) ist und daß der für die Adressen— steuereinrichtung vorgesehene Festwertspeicher ein Adressengenerator-Festwertspeicher (AQ-ROl!) ist,8, System nach Anspruch 4, dadurch gekennzeichnet, daß die zv/eite Verknüpfungseinrichtung für eine arithmetische Adressenergänzung ohne Verzweigung dient und die jeweils aur den neuesten Stand gebrachte Adresse aus einem entsprechenden Adressenbereich des jeweils gelesenen Inhalts des Rocheneinrir-htrungs-Festwertspeichers ableitet.9. System nach Anspruch 4, dadurch gekennzeichnet, daß die zweite Verknüpfunnseinrichtung für eine ohne Verzweigung erfolgend^ Adressierung der dem Adressengenerator-Festwertspeicher zugehörigen 1Vrknüpfungseinrichtung verwendet wird und zur Ableitung der jeweils neuesten Adresse als ilchrittfunktion auF die jeweils vorliegende Adrespengenerator-pest'"orts peicheradres se,BAD ORIGINAL109821/183110«, System nach einen der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine erste Einrichtung zur Auswahl von ZuHtandssignalen vorgesehen ist, die auf einen besonderen Satz von Programmverzweigungen bezogen sind, daP eine zweite Einrichtung zur verknüpfungsmäRigen Kennzeichnung von Bitpositionen innerhalb eines vorliegenden Befehlsadressenregisters vorgesehen ist, die sich auf die möglichen Eintragpunkte in einem Programmbeziehen, das bei der Ausführung der Programmverzweigungen ausgeführt wird, und daß eine dritte. Einrichtung vorgesehen ist, die Adressenmodifikationsbits erzeugt, welche entsprechende Verknüpf imgsZuordnungen zu den Zustandssignalen aufweisen, und zur Einführung dieser Kodifikationsbits in die genannten verknüpfungsmäßig bezeichneten Bitpositionen innerhalb des vorliegenden Befehlsadressenregisters diente11. "^erfahren zur Durchführung einer mikroprogrammierten Verzweigimg bei einen- System nach einen der Ansprüche bis 10, dadurch gekennzeichnet, daß die jeweils vorliegende liikroadresse aus einem Festwertspeicher— Adressenregister ausgelesen wird, daß dann der Festwerspeicherinhalt mit der vorliegenden rikroadresse ausgelesen wird, daß eine verknüpfungsmäßige "berprüfung und Dekodierung jeglicher l'ikrooperations-Verz.weigungszustünde in dem Festwertspeicherinhalt vorgenommen wird, daP das Ergebnis des letzten Schrittes zur Steuerung der Verwendung von Verzweigungszustandssignalen herangezogen wird, vcaa zwar zur Erzeugung von Adressenmodifikationssignelen, und daß die Adressenmodifikationssignale zur l'odifizierung der vorliegenden Kikroadresse und damit zur direkten Erzeugting der n'i^hst^n 7*ikroadresse heranqezoaen werden„BAD ORIGINAL 109821/183112. Verfahren zur Ausführung von 2 Sprängen, wobei η die Anzahl von Verzweigungszuständen ist, insbesondere nach Anspruch^, dadurch gekennzeichnet, daß zunächst bestimmte Zustandsbits bezeichnet v/erden,die sich auf eine Verzweigungsoperation beziehen, daß bestimmte Bitpositionen in einer vorliegenden Befehlsplatzadresse bezeichnet v/erden, an der zur Festlegung von Verzweigungsendpunkten Eitmodifikatienen vorzunehmen sind, und daß modifizierte Adrossenbits erzeugt werden, die eine zu den Verzweigungszustandsbits in Beziehung stehen und die in die zweite bezeichnete ■Bitposition eingeführt werden,13o Verfahren zur Fodifizierung bestimmter Bits in ein^r in einem Kikrobefehlsspeicher enthaltenen Adresse in Abhängigkeit von einer Vielzahl von 'Vustandssignalen und von dem Vorhandensein eines bestimmten Iiikroopera— tionskodes im Inhalt eines Mikrobefehls, bei einem System nach oinem der Ansprache 1 bis 10, dadurch gekennzeichnet, daß zunächst (*cr Inhalt des bestimmten !■'ikrooperationslcodes unter Erzeugung eines bestimmten Verzweigungs-I';ikrokodes dekodiert wird, daß ^.er verzweigungs-I'ikrokode mit den r:ustandssignalen (C1 ... Cn) unter Erzeugung von Adressenmodifikationskodobits zusammengefaßt wird, und zwar entsprechend ('en bestimmten Bits der vorliegenden Adresse, und da^ dann ^ine CD^B-Voricir'iρfung vorgenommen wird, bei örr ;qie Adressenrnodifikationsbits in die vorliegende Adresse unter Bildung der neuen 3'ikroadresse eingef'ihrt wenden.14, Vorrichtung zur direkten Adressenmodifikation einer Festwertspp'icheradresse in Abhängigkeit von Tu^tandsbits Ab, Ib und Xb, entsprechend einer gerade vorliegenden Hauptspeicheradresse, einer indirektem Adresse bzw.ΘΑΟ ORJGtNAl109821/1831einer Indizierung, insbesondere zur Durchführung des Verfahrens nach Anspruch 13, dadurch gekennzeichnet, daß eine erste Verknüpfungseinrichtung vorgesehen ist, die ein Bezeichnungssignal entsprechend einer Verzweigungs-Mikrooperation erzeugt, daß eine zweite Verknüpfungseinrichtung vorgesehen ist, die das Mikrooperations-Bezeichnungssignal mit den Zustandsbits unter Bildung von Adresseninodifikationssignalen zusammenfaßt, und daß eine dritte Verknüpfungseinrichtung vorgesehen ist, die die Adressenmodifikationssignale in die Festwertspeicheradresse einführt, und zwar in Positionen, die durch Typenbezeichnungssignale festgelegt sind,15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die Zustandsbits für die Festlegung folgender Kodes ausgenutzt sind:
Xb Ib Ab Prüfung auf Ausführung O O 0 Lies c(A) 0 0 1 Lies c(c(/) O 1 1 Lies c(A + X) 1 O 1 Lies c(c(a)+X). 1 1 1 109821/1831
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US87591069A | 1969-11-12 | 1969-11-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2055739A1 true DE2055739A1 (de) | 1971-05-19 |
Family
ID=25366589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19702055739 Withdrawn DE2055739A1 (de) | 1969-11-12 | 1970-11-12 | Datenverarbeitungssystem |
Country Status (4)
Country | Link |
---|---|
US (1) | US3634883A (de) |
JP (1) | JPS5721733B1 (de) |
DE (1) | DE2055739A1 (de) |
GB (1) | GB1329310A (de) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4825364A (en) * | 1970-12-28 | 1989-04-25 | Hyatt Gilbert P | Monolithic data processor with memory refresh |
US4896260A (en) * | 1970-12-28 | 1990-01-23 | Hyatt Gilbert P | Data processor having integrated circuit memory refresh |
US5410621A (en) * | 1970-12-28 | 1995-04-25 | Hyatt; Gilbert P. | Image processing system having a sampled filter |
US3889242A (en) * | 1971-10-04 | 1975-06-10 | Burroughs Corp | Modifiable computer function decoder |
US3753232A (en) * | 1972-04-06 | 1973-08-14 | Honeywell Inf Systems | Memory control system adaptive to different access and cycle times |
US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
JPS549456B2 (de) * | 1972-07-05 | 1979-04-24 | ||
US4011547A (en) * | 1972-07-17 | 1977-03-08 | International Business Machines Corporation | Data processor for pattern recognition and the like |
US3959777A (en) * | 1972-07-17 | 1976-05-25 | International Business Machines Corporation | Data processor for pattern recognition and the like |
US3839705A (en) * | 1972-12-14 | 1974-10-01 | Gen Electric | Data processor including microprogram control means |
JPS5324151B2 (de) * | 1972-12-25 | 1978-07-19 | ||
US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
US3794979A (en) * | 1973-03-02 | 1974-02-26 | Ibm | Microprogrammed control unit with means for reversing and complementing microinstructions |
US3859636A (en) * | 1973-03-22 | 1975-01-07 | Bell Telephone Labor Inc | Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory |
US3979725A (en) * | 1973-08-06 | 1976-09-07 | Xerox Corporation | Multi-way program branching circuits |
IT995722B (it) * | 1973-10-10 | 1975-11-20 | Honeywell Inf Systems Italia | Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti |
IT995721B (it) * | 1973-10-10 | 1975-11-20 | Honeywell Inf Systems Italia | Apparato per l interpretazione di codici di funzione in calcolatori microprogrammati e per l indirizza mento indipendente di fasi inter pretative ed esecutive di micro programma |
US3940744A (en) * | 1973-12-17 | 1976-02-24 | Xerox Corporation | Self contained program loading apparatus |
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
US4107773A (en) * | 1974-05-13 | 1978-08-15 | Texas Instruments Incorporated | Advanced array transform processor with fixed/floating point formats |
US4205372A (en) * | 1974-09-25 | 1980-05-27 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
US3990052A (en) * | 1974-09-25 | 1976-11-02 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
GB1529581A (en) * | 1974-10-29 | 1978-10-25 | Xerox Corp | Data processing apparatus |
US4042913A (en) * | 1976-04-30 | 1977-08-16 | International Business Machines Corporation | Address key register load/store instruction system |
US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
US4124893A (en) * | 1976-10-18 | 1978-11-07 | Honeywell Information Systems Inc. | Microword address branching bit arrangement |
US4323964A (en) * | 1976-11-01 | 1982-04-06 | Data General Corporation | CPU Employing micro programmable control for use in a data processing system |
US4118773A (en) * | 1977-04-01 | 1978-10-03 | Honeywell Information Systems Inc. | Microprogram memory bank addressing system |
US4179736A (en) * | 1977-11-22 | 1979-12-18 | Honeywell Information Systems Inc. | Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit |
US4302809A (en) * | 1978-06-29 | 1981-11-24 | Burroughs Corporation | External data store memory device |
US4218757A (en) * | 1978-06-29 | 1980-08-19 | Burroughs Corporation | Device for automatic modification of ROM contents by a system selected variable |
US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
US4291372A (en) * | 1979-06-27 | 1981-09-22 | Burroughs Corporation | Microprocessor system with specialized instruction format |
US4371931A (en) * | 1979-06-27 | 1983-02-01 | Burroughs Corporation | Linear micro-sequencer for micro-processor system utilizing specialized instruction format |
JPS5619150A (en) * | 1979-07-25 | 1981-02-23 | Fujitsu Ltd | Microprogram control system |
US4336602A (en) * | 1979-09-24 | 1982-06-22 | Control Data Corporation | Network for generating modified microcode addresses |
US4493045A (en) * | 1981-10-19 | 1985-01-08 | Fairchild Camera & Instrument Corp. | Test vector indexing method and apparatus |
US4499545A (en) * | 1982-06-30 | 1985-02-12 | Pitney Bowes Inc. | Method and apparatus for individualized selection of special fee postage value computations |
US4984151A (en) * | 1985-03-01 | 1991-01-08 | Advanced Micro Devices, Inc. | Flexible, next-address generation microprogram sequencer |
US5032983A (en) * | 1987-04-10 | 1991-07-16 | Tandem Computers Incorporated | Entry point mapping and skipping method and apparatus |
US5123096A (en) * | 1987-08-03 | 1992-06-16 | Masahito Matuo | Data processor with addressing mode decoding function |
JPH01271838A (ja) * | 1988-04-22 | 1989-10-30 | Fujitsu Ltd | マイクロプログラム分岐方法 |
US5594908A (en) * | 1989-12-27 | 1997-01-14 | Hyatt; Gilbert P. | Computer system having a serial keyboard, a serial display, and a dynamic memory with memory refresh |
DE69325207T2 (de) * | 1992-06-15 | 1999-12-09 | Koninkl Philips Electronics Nv | Prozessor zur Verarbeitung zeitdiskreter Signale |
US5644741A (en) * | 1993-10-18 | 1997-07-01 | Cyrix Corporation | Processor with single clock decode architecture employing single microROM |
US5794026A (en) * | 1993-10-18 | 1998-08-11 | National Semiconductor | Microprocessor having expedited execution of condition dependent instructions |
US5471597A (en) * | 1993-12-23 | 1995-11-28 | Unisys Corporation | System and method for executing branch instructions wherein branch target addresses are dynamically selectable under programmer control from writable branch address tables |
SE520511C2 (sv) * | 1997-12-02 | 2003-07-22 | Ericsson Telefon Ab L M | Processor och förfarande för instruktionsavkodning |
US7613991B1 (en) | 2003-08-19 | 2009-11-03 | Altera Corporation | Method and apparatus for concurrent calculation of cyclic redundancy checks |
US7320101B1 (en) * | 2003-08-19 | 2008-01-15 | Altera Corporation | Fast parallel calculation of cyclic redundancy checks |
US7930691B2 (en) * | 2006-04-27 | 2011-04-19 | Agere Systems Inc. | Methods and apparatus for updating data structures during in-service upgrade of software in network processor |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3160858A (en) * | 1961-09-29 | 1964-12-08 | Ibm | Control system for computer |
US3238508A (en) * | 1961-12-18 | 1966-03-01 | Ibm | Logical manipulator |
DE1190706B (de) * | 1963-07-17 | 1965-04-08 | Telefunken Patent | In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine |
US3380025A (en) * | 1964-12-04 | 1968-04-23 | Ibm | Microprogrammed addressing control system for a digital computer |
DE1524090B2 (de) * | 1966-04-30 | 1970-11-19 | Anker-Werke Ag, 4800 Bielefeld | Einrichtung zur Modifizierung eines Befehls im Befehlsregister einer elektronischen Datenverarbeitungsanlage |
US3454932A (en) * | 1966-06-27 | 1969-07-08 | Gen Electric | Data processing system employing indirect addressing apparatus |
US3530439A (en) * | 1968-07-22 | 1970-09-22 | Rca Corp | Computer memory address generator |
-
1969
- 1969-11-12 US US875910A patent/US3634883A/en not_active Expired - Lifetime
-
1970
- 1970-10-07 GB GB4776570A patent/GB1329310A/en not_active Expired
- 1970-11-12 JP JP9910970A patent/JPS5721733B1/ja active Pending
- 1970-11-12 DE DE19702055739 patent/DE2055739A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JPS5721733B1 (de) | 1982-05-10 |
US3634883A (en) | 1972-01-11 |
GB1329310A (en) | 1973-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2055739A1 (de) | Datenverarbeitungssystem | |
DE2540824C2 (de) | Auf verschiedene Ausbaustufen veränderbare Abrechnungsmaschine | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE1250659B (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage | |
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2446224A1 (de) | Vorrichtung zum steuern des mikroprogramms im operationssystem einer digitalen datenverarbeitungsanlage | |
DE2417795A1 (de) | Datenverarbeitungsanlage | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE1549498A1 (de) | Rechenanlage | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2601242A1 (de) | Elektronenrechner mit programmspeicherung | |
DE2753650C2 (de) | Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten | |
DE1806535B2 (de) | Seriell arbeitende digitale rechenanlage | |
DE3116385A1 (de) | Mikroprogramm-steuerungssystem | |
DE2336676C3 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8130 | Withdrawal |