DE2055739A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

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
Application number
DE19702055739
Other languages
English (en)
Inventor
Leonard Acton Mass Kriedermacher (VStA)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell Inc
Original Assignee
Honeywell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Inc filed Critical Honeywell Inc
Publication of DE2055739A1 publication Critical patent/DE2055739A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction selection based on results of processing by address selection on input of storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation

Description

iJipl.-Ing. τ-ίρίηζ Bard^hle ο η r tr α ο η
τ 4.' ,. -, * 2 ο Q ο / ο y
1-aten.tanwalt
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.
Adressensteuer-Tabelle
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.
Mulitplikationsverzweigunga-Tabelle
(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)

  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, dadurch
    gekennzeichnet, daß diejenigen Speicherbefehle, die j
    Rechenoperationen 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/1831
    Ausgabeeinrichtungen 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, die
    r 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 ORIGINAL
    109821/1831
    System 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 ORIGINAL
    109821/1831
    10«, 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 diente
    11. "^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/1831
    12. 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.
    ΘΑΟ ORJGtNAl
    109821/1831
    einer 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
DE19702055739 1969-11-12 1970-11-12 Datenverarbeitungssystem Withdrawn DE2055739A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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