DE2318069A1 - Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix - Google Patents
Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrixInfo
- Publication number
- DE2318069A1 DE2318069A1 DE2318069A DE2318069A DE2318069A1 DE 2318069 A1 DE2318069 A1 DE 2318069A1 DE 2318069 A DE2318069 A DE 2318069A DE 2318069 A DE2318069 A DE 2318069A DE 2318069 A1 DE2318069 A1 DE 2318069A1
- Authority
- DE
- Germany
- Prior art keywords
- micro
- additional
- microinstruction
- unit
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
Seehnersteuersystem unter Verwendung von
Mikroprogramm!erung und statisch/dynamischer
Erweiterung von "Steuerf unkt ionen mittels festverdrahteter logischer Matrix
Die vorliegende Erfindung betrifft binäre Datenverarbeitungssysteme, bei welchen die verschiedenen auszuführenden logischen
und arithaetisehen Operationen durch eine Gruppe von in
einem in diesen Systemen enthaltenen Festwertspeicher gespeicherten
Mikrobefehlen gesteuert werden d.h. sogenannte
fflikroprograntiaierte Rechner, wie sie nachstehend näher definiert
und erläutert sind.
Bekanntlich werden binäre elektronische Rechner entworfen und gebaut, um eine vorbestimmte Gruppe von Befehlen auszuführen,
zum Beispiel:
Binäre Summe, binäre Subtraktion, Dezimalsumme, Dezimalsub—
traktion, Einsehreiben in ein Register aus einer Speicherzelle, Verschieben, Vergleichen usw.
3098U/08SÖ
Dein Programmierer stehen nur diese iJefehle zur Verfügung, der
Leim Aufstellen des Arbei tsp ro gr amins für den Rechner diese
Befehle verwenden muß, ohne die ¥eise in üetraehfc zu ziehen,
in welcher sie durch den Rechner ausgeführt v/erden.
Praktisch umfassen die Befehle, was den Rechner betrifft, eine Folge von Gruppen aus Grundoperationen, wie beispielsweise das
Bilden vorbestimmter Schaltungen eines logischen Netzwerks oder die übertragung von geeigneten elektrischen Signalen durch
das elektrische Netzwerk.
Diese Grundoperationen werden als "Mikrooperationen" bezeichnet, wobei die Gruppe aus gleichzeitig, d.h. in einem einzigen Grund—
taktintervall ausgeführten Mikrooperationen als "Mikrobefehl" bezeichnet wird. Die Folge von zum Ausführen eines einzigen Pro—
grammbefehls benötigten Mikrobefehlen ist ein "Mikroprogramm",
Bis vor einigen Jahren war das Verfahren der Ausführung solcher Mikrooperationen, Mikrobefehle und Mikroprogramme von der Art
abhängig, in welcher der Rechner konstruiert und gebaut war, d.h. sie war von den Bauelementen, der sogenannten "hardware"
des Rechners abhängig. Mit andex-en Worten wurde die zwischen den Progranimbefehlen und den Mikrooperationen zu ihrem
Ausführen notwendige Wechselbeziehung durch den räumlichen Aufbau der Steuereinheit des Rechners bestimmt und konnte
deshalb nicht verändert werden, ohne diesen räumlichen Aufbau d.h. die Beschaltung und die bestandteile der Steuereinheit
des Rechners zu verändern.
Praktisch wurde diese Wechselbeziehung durch die sogenannte "Logische Folgematrix" d.h. durch ein Decodiernetzwerk hergestellt,
das als Eingang einen den auszuführenden Befehl verkörpernden
Binärcode aufnimmt und an seinem Ausgang ein Schema aus die Gruppe von auszuführenden Mikrooperationen verkörpernden
Binärwerten liefert.
Dieses Decodiernetzwerk kann zusätzlich eine Gruppe von besondere Zustände des Geräts verkörpernden Signalen auf-
309 8 4£/085fl
nehmen, die die Binärsignale am Ausgang der logischen Folge—
matrix bedingen und ändern können. Somit kann ein Befehl die
Ausführung einer Vielzahl von Mikrobefehlen in aufeinanderfolgenden
Zeiträumen, d.h. in einer Mikrofolge mit Hilfe der logischen Folgematrix durchführen.
Jedoch sind im Verlaufe der letzten Jahre Versuche unternommen
worden, den Rechner anpassungsfähiger als zuvor und ihn geeignet
zu machen, verschiedene Gruppen von Maschinenbefehlen nach
den Wünschen verschiedener Benutzer auszuführen, wobei man selbstverständlich innerhalb der Grenzen der durch die verfügbare
Gruppe von MikroOperationen zulässigen raaterialeigenen Leistungsfähigkeiten
blieb. Zum Erreichen dieses Zieles war es ohne Änderung der Hardware der Haschine notwendig, die durch den Aufbau
der Maschine bedingte Eins-zu-Eins-Korrelation zwischen Befehlen und MikroOperationen aufzugeben und diese Korrelation
auf mittelbare Weise durch Verwendung einer Speichereinrichtung herzustellen, die in der Lage ist, als Antwort auf einen Befehl
eine Gruppe von je einer Mikrooperation entsprechenden Si gnalen zu liefern, wobei die Information den in der Speichereinrichtung
gespeicherten SigiriLen entspricht.
Durch Modifizieren des Inhalts dieser Speichereinrichtung ist es möglich, die Gruppe von MikroOperationen unterschiedlich
zu gestalten und als Ergebnis die Ausführung der Gruppe von Befehlen verschiedener Maschinensprachen ohne Veränderung der
Schaltungsanordnung des Rechners zu erzielen.
Deswegen sind moderne Rechner nach diesen Kriterien gebaut und umfassen zerstörungsfreie modifizierbare, als ROS (Read Only
Storage) bezeichnete Speicher, die die zum Steuern der Mikrooperationen geeignete Information enthalten. Der Festwertspeicher
speichert eine Vielzahl von Wörtern, die je eine Vielzahl von Bits umfassen, wobei für den Festwertspeicher jeder
Maschinenbefehl eine Adresse ist, der das Auslesen eines
oder mehrerer Wörter des Festwertspeichers der Reihenfolge nach bewirkt.
309844/08SO
Jedes ausgelesene Wort aus dem Festwertspeicher bestimmt eine
Gruppe von auszuführenden Mikrooperationen d.h. einen Mikrobefehl. Der einfachste Weg der Verwendung dieser Information
besteht darin, jedes Bit zum Steuern einer einzigen Mikrooperation
zu bestimmen. So ist als Beispiel der Binärwert eines Bits, wenn die entsprechende Mikrooperation ausgeführt werden
soll, EIHS und irn gegenteiligen Fall MJLL. Da die Anzahl der Mikrooperationen, die in einem Rechner ausgeführt werden
können, in der Größenordnung von mehreren hundert liegen kann, würde eine Eins-zu-Eins-Übereinstimmung zwischen Bits und
Mikrooperationen Wörter von übertriebener Länge und demzufolge Festwertspeicher von sehr hohem Speichervermögen und
hohen Kosten erfordern.
Die Konstrukteure haben sich deshalb bemüht, die zum Enthalten der benötigten Mikrobefehle erforderliche Speicherkapazität
des Festwertspeichers erheblich zu verringern. Zum Erreichen dieses Zieles wurden verschiedene Wege besehritten, von welchen
einer beispielsweise darin besteht, die Mikrooperationen in Gruppen aus wechselseitig internexklusiven Mikrooperationen
anzuordnen und jede Mikrooperation einer Gruppe in codierter Form darzustellen. Zur wechselseitigen internexklusiven Mikrooperation
sind die Mikrooperationen so bestimmt, daß keine zwei von ihnen in einem und demselben Taktintervall ausgeführt
werden können.
Ein als "anpassungsfähiges Decodieren" bezeichnetes anderes
Verfahren besteht in der Verwendung einer bestimmten Bitan— zahl jedes Mikrobefehls als "Funktionscode" zum Auswerten
dar übrigen Bits des Mikrobefehls.
Ein weiteres Verfahren besteht in einem einem Funktionscode von veränderbarer Länge verwendenden anpassungsSiigen Decodierverfahren
wie es in der Patentanmeldung P 22 64 346.5 von der Anmelderin vorgeschlagen wurde.
- 5 309844/085Ö
Der Zweck dieses Verfahrens ist die Verringerung der Länge der
Mikrobefehle, ohne die durch ein Mikrobefehlssteuerungssystem
gewährleistete Anpassungsfähigkeit im wesentlichen zu verringern,
Dies ist auch die Aufgabe der vorliegenden Erfindung, wobei das Ergebnis im wesentlichen dadurch erzielt wird, daß man dem
Festwertspeieher eine nachstehend als "festverdrahtete Folgesteuerung"
bezeichnete logische Folgematrix hinzufügt, die bei Bedarf wirksam wird d.h. wenn vorbestimmte Bedingungen wie das
Auslesen von spezifischen Festwertspeicheradressen entsprechenden vorbestimmten Mikrobefehlen erfüllt sind, und in diesem
Falle vorsieht, zusätzliche Mikrooperatxonskommandos zu liefern, die an die durch die Festwertspeichermikrobefehle erzeugten
Mikrooperationskommandos angehängt werden.
Mit anderen Worten wird ein digitaleß elektronisches Datenver—
arbeitungssystem mit einer zentralen Verarbeitungseinheit, einem Taktwerk, einer Mikroprogrammiereinheit zum Liefern einer Folge
von Gruppen aus Ilauptmikrokommandos zum Steuern der Folge der
Operationen der zentralen Verarbeitungseinheit in Auswirkung einer Folge von in der Mikroprogrammiereinheit gespeicherten
Mikrobefehlen und'zum aufeinanderfolgenden Auslesen in Auswirkung
von dazu in Beziehung stehenden Mikrobefehlsadressen
vorgeschlagen, bei dem erfindungsgemäß eine durch die Mikro—
programtaiereinheit gesteuerte zusätzliche logische Einheit
eine Folge von Gruppen aus zusätzlichen Mikrokommandos liefert,
die mit den Gruppen aus Hauptmikrokommandos zum Steuern der
zentralen Verarbeitungseinheit zusammenwirken.
Auf drese Weise wird ohne Benötigung einer größeren Länge des
ursprünglichen Mikrobefehls eine statische Erweiterung der durch den Mikrobefehl ausgeführten Steuerfunktionen erzielt.
Dies ist nur einer der Vorteile der Erfindung, da die festverdrahtete
Folgesteuerung die Kommandos in Auswirkung vorbestiHua-
- 6 309844/08 5 0
ter Bedingungen während der Ausführung eines einzigen Mikrobefehls
genauso ändern kann, wie sich der Mikrobefehl den Umständen entsprechend
selbst ändern könnte.
Auf diese Weise wird eine dynamische Erweiterung des Mikrobefehls
erreicht, durch die Mikrokommandos eines Mikrobefehls
an einer vorher festgesetzten Adresse verändert werden können.
Dies bedeutet außerdem, daß an die Stelle einer Vielzahl von Mikrobefehlen, die einen gemeinsamen ersten Teil haben und durch
einen zweiten Teil voneinander abweichen, ein einzelner, dem gemeinsamen Teil entsprechender Mikrobefehl von reduzierter Länge
und eine durch die festverdrahtete Polgesteuerung gemäß den Zuständen
erzeugte veränderbare Erweiterung treten können. Es ist offensichtlich, daß die Speicherkapazität des Festwertspeichers
beachtlich verringert wird.
Außerdem ist ein weiterer Aspekt der Erfindung zu erwähnen, der als Ergebnis der kombinierten Verwendung eines Festwertspeichers
und einer festverdrahteten Polgesteuerung die Bezeichnung
einer dynamischen Erweiterung rechtfertigt.
Die Ausführung eines Befehls erfordert im allgemeinen die Ausführung
einer Anzahl von aufeinanderfolgenden, ein Mikroprogramm
bildenden Mikrobefehlen. Nun läßt sich eine Verringerung der
Speicherkapazität des PestwertSpeichers durch Mittel erzielen,
die das Ausführen des gleichen Befehls durch eine geringere Anzahl von in dem Festwertspeicher gespeicherten Mikrobefehlen,
d,h. durch ein kürzeres Mikroprogramm ermöglichen, und zwar läßt sich dies durch Verwendung der festverdrahteten Folgesteuerung
erzielen. Während nämlich die festverdrahtete Folgesteuerung als Antwort auf gegebene Zustände des Rechners und
gemäß einer geeigneten Taktsteuerung entlang einer Folge von Mikrokommandogruppen fortschreitet, im Verlaufe dessen der Fest—
Wertspeichermikrobefehl unverändert bleibt, wird eine Gruppe von aufeinanderfolgenden Mikrobefehlen mit einem gemeinsamen feststehenden
und einem veränderbaren Teil verfügbar gemacht. Auf
— 7 —
309844/085Ö
diese Weise wird eine dynamisch veränderbare Erweiterung des Mikrobefehls erzielt und somit die Länge des gespeicherten
Mikroprogramms reduziert.
Ein weiterer Vorteil bietet die Tatsache, daß beim vorliegenden Stand der Technik die Ansprechzeit der Festwertspeicher, wie
sie bei der gewöhnlich durch MOS-Technologie erzielten Mikroprogrammspeicherung
verwendet werden, erheblich größer ist als die Ansprechzeit der logischen Schaltungen nach den bipolaren Technologien.
Demzufolge ermöglicht die Verwendung der festverdrahteten Polgesteuerung das Erreichen höherer Leistungen in Form
von Ansprechgeschwindigkeit.
Hinzuzufügen ist, daß eine festverdrahtete Folgesteuerung konstruktiv
einfach und robust ist, da sie eine verhältnismäßig kleine Anzahl von gedruckten Leiterplatten enthält, wobei ihre
Aufgabe eine Hilfsaufgabe ist, da die Ilauptsteueroperationen durch den Festwertspeicher ausgeführt werden. Sie kann aus
einer leicht austauschbaren Funktionseinheit bestehen, und dadurch ist es möglich, eine Anzahl von festverdrahteten Folgesteuerungen
zur Verfugung zu haben, die je auf ein spezifisches Erfordernis eingestellt sind.
V/eitere Einzelheiten und Vorteile der Erfindung sind nachstehend anhand von zwei in der Zeichnung dargestellten bevorzugten Aus—
führungsbeispielen näher beschrieben. Es zeigen:
Fig. 1 ein Blockdiagramm einer ersten Ausführungsform der
Erfindung;
Fig. 2 ein Blockdiagramm einer zweiten Ausführungsform der
Erfindung;
Figo 3 ein logisches Blockdiagramm der zentralen Verarbeitungseinheit eines erfindungsgemäß gesteuerten Rechners;
309844/085Ö
Fig. 4 ein logisches Diagramm eines als festverdrahtete Folgesteuerung
verwendeten Netzwerks und
Fig. 5 eine Variante des Netzwerks nach Fig. 4.
Fig. 1 zeigt das schematische Blockdiagramm einer ersten bevorzugten
Ausführungsform der Erfindung.
Das Bezugszeichen 1 bezeichnet einen Programmier—Festwertspeicher
ROS. Er ist mit einem als ROSAR ("Read Only Storage Acces Register
bezeichneten Adressenregister 2 versehen, das mit der Adressenfolge der den Rechner steuernden Mikrobefehle geladen wird.
Das Register 2 wird mit Hilfe von dem Bedarf entsprechend aktivierten
Eingangskanälen 3» 4, 5» 6 geladeno Beispielsweise kann
der Kanal 3 benutzt werden, um das Register 2 in einen, einer vorher festgelegten Festwertspeicheradresse entsprechenden Auf—
gangszustand zu setzen d.h. zur Initialisierung des Rechners.
Der Kanal 4 kann benutzt werden, um das Register auf einen der um eins vermehrten vorangehenden Adresse entsprechenden
Zustand zu stellen. Es zeigt sich, daß der Inhalt des Adressenregisters 2 über den Kanal 7 einer Zählschaltung 8 zugeführt
wird, die die Adresse um eins erhöht und sie unter Steuerung durch eine Einheit 9 mit beispielsweise einer Vielzahl von
UND-Gattern dem Eingangskanal 4 zuführt. Auf diese Weise kann die auf den neusten Stand gebrachte Adresse nur unter
bestimmten Bedingungen in das Adressenregister 2 eingegeben werden.
Eine solche Bedingung ist dargestellt durch das Vorhandensein eines Mikrokommandos D, das sich aus dem Decodieren des sich
in Ausführung befindenden Mikrobefehls ergibt, und durch das Fehlen eines Sperrmikrokommandos h (d.h. durch das Vorhandensein
seines Komplements h) an den Eingangsleitung^en des UND-Gatters
10.
- 9 -3098 4 4/0850
Der Kanal 5 kann benutzt werden, um das Einstellregister 2
durch einen unbedingten Sprungbefehl oder einen relativen Adressienaikrobefehl in einen einer neuen, vorher festgelegten
Adresse entsprechenden Zustand zu setzen. Es zeigt sich, daß der Inhalt des Adressenregisters 2 über den Kanal 7 einer Über—
tragungs-Zähleinheit 11 zugeführt wird, die diesen Inhalt um den Betrag - KK ändern und die auf den neuesten Stand gebrachte
Adresse dem Eingangskanal 5 zuführen kann. Die Einheit 11 kann dem Eingangskanal auch nur den Betrag KK zuführen. Dieser
Betrag KK, der addiert, subtrahiert oder übertragen werden kann, wird der Einheit 11 über den Kanal 14 zugeführt und wird
wie nachstehend noch näher erläutert durch einen unbedingten Sprungraikrobefehl oder durch einen relativen Adressiermikrobefehl
erzeugt.
Auch in diesem Falle ist an dem Kanal 5 eine Steuereinheit
vorhanden, wobei die auf den neuesten Stand gebrachte Adresse in das Register 2 nur unter vorbestimmten Bedingungen (auf das
UND-Gatter 31 gegebene Mikrokommandos E und ti) eingegeben wird.
Eine entsprechende Adressierfunktion kann unter Umständen durch den Kanal 6 ausgeübt werden.
Außer zur Initialisierungsoperation erfolgt in allen übrigen Fällen die Abänderung der Adresse in dem Adressen-Register 2
zu bestimmten wie durch ein nicht dargestelltes Taktwerk gesteuerten
Zeiten.
Der Hialt des Adressenregisters 2 adressiert über den Kanal 7
den Festwertspeicher 1, der den spezifischen Mikrobefehl ausliest und ihn über den Kanal 12 in das Register 13 (ROR) eingibt.
Der Mikrobefehl kann einige Bits enthalten, die den Betrag + KK um den die nachfolgende Festwertspeicheradresse abgeändert werden
soll, und bestimmen, ob er addiert, subtrahiert oder übertragen werden so^J. Der übrige Teil des Mikrobefehls im Register 13
- 10 309844/0850
wird durch den Decodierer 15 (zu dessen Beschreibung auf die vorerwähnte Patentanmeldung hingewiesen wird) decodiert, der
eine Gruppe von mit Λ, B, C...Z bezeichneten elementaren Mikrooperationskommandos lieferte Die elementaren Mikrooperationskomraandos
steuern die Operationen des Rechners und die Abwicklung des Programms: Beispielsweise ermöglicht das Hikrokommando
D das Erhöhen der Adresse um eins über den Kanal k und das Mikrokommando
E, die Adresse über den Kanal 5 auf den neuesten Stand zu bringen. Der bis hierher beschriebene Aufbau entspricht dem
heutigen Stande der Technik.
Erfindungsgemäß wird dieser logische Aufbau durch zusätzliche
Elemente integriert, die sowohl die statische als auch die dynamische Erweiterung der durch sie ausgeübten Steueifunktionen
ermöglichen.
Fig. 1 zeigt, daß der Inhalt des Adressenregisters 2 außerdem auf dem Kanal 7 einem Decodier- und Bedingungsnetzwerk 16 über
eine beispielsweise eine Gruppe von UND-Gattern enthaltende Frei—,
gabeeinheit 17 zugeführt wird, die das Übertragen des Inhalts des Adressenregisters 2 nur zuläßt, wenn an der Leitung IB ein
Freigabesignal vorhanden ist. Dieses Freigabesignal kann in dem Register 13 aus dem Mikrobefehl entstehen oder durch den Decodierer
15 erzeugt werden oder auch stets vorhanden sein.
Die aus dem Adressenregister 2 übertragene Adresse wird durch
einen Decodierer 19 decodiert, der eine Gruppe von Signalen liefert, die über ein Bedingungsnetzwerk 3't in den Ausgang
der Einheit 16 übertragen werden, die eine Gruppe von mit a, b, c,o...,z bezeichneten zusätzlichen Mikrokommandos erzeugt. Das
Bedingungsnetzwerk 34 kann eine Gruppe von UND-Gattern entsprechend
dem Gatter 20 enthalten, die je mit einem oder mehreren Bedingungseingängen versehen sind, die vorher festgelegte Zustände
der zentralen Verarbeitungseinheit des Rechners verkörpernde Signale führen. Diese Signale sind als Ganzes durch den
Pfeil 21 dargestellt.
- 11 -
30 9844/0850
Während der Ausführung eines Programms kann die gleiche Mikroprogrammadresse
mehr als einmal vorkommen, wobei jedesmal die
Zustände der zentralen Verarbeitungeinheit unterschiedlich sein können und folglich das zusätzliche Mikrokomraando ebenfalls
unterschiedlich sein kann.
Somit erzeugt das Auslesen eines Mikrobefehls aus dem Festwertspeicher
1 an einer vorher festgelegten Adresse eine Gruppe von feststehenden Mikrokommandos A, B, C, .....,Z und eine
Gruppe von zusätzlichen Mikrokommandos a, b, c, ...., z, die sich entsprechend den Bedingungen verändern können. Dies
bedeutet, daß im Verlaufe des betreffenden Zeitraumes alles so abläuft, als wenn eine Folge von Mikrobefehlen ausgelesen
und ausgeführt wird. Im Verlaufe des gleichen Zeitraumes verhindert
ein zusätzliches Mikrokomraando h über die Kanäle h und
jegliche Änderung der Adresse in dem Adressenregister 2. Das gleiche zusätzliche Mikrokomraando h, oder ein passendes
anderes kann den Kanal 6 freigeben, über den passende zusätzliche Mikrokommandos als neue Adressen in das Adressenregister
übertragen werden können. Auf diese Weise wirken das Mikroprogrammiernetzwerk
und das statisch-dynamische Erweiterungs— netzwerk wechselseitig ein, da jedes von ihnen die Arbeitsweise
des anderen über vorbestimmte Bedingungssignale oder Adressen— code bedingen kann. Außerdem sei bemerkt, daß die Gruppe von
zusätzlichen Mikrokommandos nicht zu dem di.e Mikrokommandos A, B, G, ....,Z erzeugenden Mikrobefehl, sondern zu der Adresse des
Mikrobefehls in Wechselbeziehung steht. Dies erhöht die Anpassung sjäiigke it des dynamischen Erweiterungssystems nach der
Erfindung. Wenn die durch das Netzwerk 16 erzeugten zusätzlichen Mikrokommandos durch Decodieren des aus dem Festwertspeicher 1
ausgelesenen und in das Register 13 eingegebenen Mikrobefehls erzielt wurden, würden alle übereinstimmenden Mikrobefehle,
selbst wenn sie in verschiedenen Mikroprogrammen enthalten wären, durch die gleichen Bedingungen der zentralen Verarbeitungseinheit
die gleiche dynamische Erweiterung, d.h. die gleiche Folge von zusätzlichen Mikrokommandos erzeugen. Dagegen macht
309844/0850 -12-
die Verwendung der in dem Adressenregister 2 enthaltenen
Festwertspeicheradresse zum Erzeugen der zusätzlichen Mikrokorainandos
das Programm von solchen Begrenzungen frei, und können für jeden Mikrobefehl in Bezug auf seine Lage im
Programm der meistgeeignete Aufbau und die meistgeeignete Folge
der zusätzlichen Mikrokommandos vorgesehen werden. Selbstverständlich
findet das Einwirken des Netzwerks 16 nur wenn an der Leitung ein Freigabesignal vorhanden ist, und für durch
den Decodierer 19 erkennbare vorbestimmte Adressen statt.
Wenn auch vielseitig, so hat dieser logische Aufbau doch einige Einschränkungen: Beispielsweise läßt er ein erneutes Zuordnen
der Mikroprogramme in dem Festwertspeicher 1 nicht zu,
da dies eine einem vorher festgelegten Mikroprogramm entsprechende Änderung der Adressen und des Netzwerks 16 erfordern würde.
Innerhalb des Erfindungsbereiches kann eine andere Ausführungsform der kombinierten Steuerung mit Hilfe eines Mikroprogramm-Speichers
und eines logischen statischen und dynamischen Erweiterungsnetzwerks bevorzugt werden, die in Fig. 2 dargestellt
ist.
Das den Festwertspeicher 1 verwendende Programmiersystem ist das gleiche wie das anhand von Fig. 1 beschriebene, wobei
die gemeinsamen Bestandteile mit den gleichen Bezugszeichen versehen sind.
Die Art des Anschlusses des Mikroprogrammierers und der festverdrahteten
Folgesteuerung ist anders.
Das Decodier- und Bedingungsnetzwerk 16 enthält in diesem Falle ein Zustandregister 22 und ein Freigabe-Flip-Flop 23.
Zum Bewirken der Arbeitsweise des Netzwerks 16 ist ein bestimmter Mikrobefehl vorgesehen. Dieser Mikrobefehl kann beispielsweise
folgende Bedeutung haben: "Einreifen des Netzwerks 16 durch Setzen des Flip-Flops 23 ermöglichen und das Zustandsregister
3098U/085Ö -13-
mit dem hier angegebenen Code ladenM. Ein Mikrobefehl dieser Art
ist in der Gruppe von Übertragungsiaikrobefehlen enthalten, die
!.ewölinlieh zum Übertragen einer durch den Mikrobefehl bestimmten
Größe aus dea Festwertspeicher i in ein ebenfalls durch den
iükrobofehl bestiffiistes Register.
Hit anderen Worten kann dieser Hikrobefehl aus drei Abschnitten
gebildet werden: Einem Punktionscode, der angibt, daß die auszuführende Operation eine Übertragung ist, einem Adressencode,
der anzeigt, in welches Register die Größe übertragen werden soll, und eine» dritten Teil, der die Größe oder die Adresse des
Registers oder die diese Größe enthaltende Speicherstelle in binärer
For«
Bei in den Register 13 enthaltenen Mikrobefehl dieser Art zerlegt das BeeQdiernetzwerk 15 den Befehl in diese drei Abschnitte
und liefert ein wit Y bezeichnetes Kommando, das
das Flip-Flop 23 setzt und das Eingeben der durch den dritten Abschnitt des Mikrobefehls angegebenen Größe durch Freigeben
der beispielsweise eine Gruppe von UND-Gattern enthaltenden Einheit 16 in das Zustandsregister 22 ermöglicht. Der Inhalt
dieses Registers wird über den Ausgangskanal 25 und die durch das
Flip-Flop 23 gesteuerte Freigabeeinheit 26 auf den Decodierer 19 gegeben und durch ihn deeodiert.
Die deeodiqrten Signale erzeugen unter den durch die zentrale
Verarbeitungseinheit eingestellten und über die Kanäle 21 angelegten
Bedingungen auch, in diesem Falle die Gruppe von zusätzlichen Mikrokppiiaandos Qx Jb, e,, ..., .z, die sich mit der Veränderung
dieser Bedingungen verändern können.
Auf diese Welse wird auch in diesen} Falle sowohl eine statische
als auch eine dynamische Erweiterung der Mikrqoperationsgruppe erzielt, jedoch unterliegen die Mikroprogramme keinem Zwang
mehr und können in deffl Festwertspeicher 1 nach Belieben erneut
zugeordnet werden, da das Netzwerk 16 in Auswirkung eines spezi—
-Ik-
fischen Mikrobefehls, der an einer beliebigen Adresse des Festwertspeichers
liegen kann, aktiviert und nicht mehr durch die Fortdauer eines Mikrobefehls in dem Register 13, sondern durch
den Zustand des Zustandsregisters 22 bedingt ist, das diesen Zustand so lange wie nötig hält. Es sei bemerkt, daß die
gleichen zusätzlichen Mikrokomnandos oder ein Teil von ihnen
zum Modifizieren des Inhalts dos Zustandsregisters 22 vorwendet
werden können.
Bei dieser Wirkung kann ein Eingangskanal 27 durch eine mittels
eines zusätzlichen Mikrokoramandos wie beispielsweise w gesteuerte
Freigabeeinheit 33 freigegeben werden und eine einer passenden Untergruppe von zusätzlichen Mikrokommandos entsprechende
Gruppe von Sigrlalen übertragen. Auf diese Weise kann die festverdrahtete
Folgesteuerung unter der kombinierten Steuerung sowohl durch die über den Kanal 21 angelegten Bedingungen als
auch durch die zusätzlichen Mikrokommandos fortschalten.
Das Abschalten der festverdrahteten Folgesteuerung wird durch
eines der asätzlichen Mikrokommandos gesteuert. Wie in Fig. 2
gezeigt, setzt das zusätzliche Mikrokommand ο χ das Flip—Flop
23 zurück und sperrt somit die Einheit 26, was die Übertragung von Information über den Kanal 25 verhindert. Die in dem
Adrossenregister 2 enthaltene Adresse kann durch das Mikrokonimando
ii erneut geändert werden.
Die Ausführung des Mikroprogramms kann demzufolge gemäß der
nachstehenden Operationsfolge stattfinden.
Aus dem Festwertspeicher 1 wird eine Folge von Mikrobefehlen
ausgelesen und der Reihe nach in das Register 13 eingegeben und ausgeführt. Der letzte Mikrobefehl der Folge befiehlt die
Übertragung einer Größe in das Zustandsregister 22. Diese Operation wird ausgeführt, wobei zugleich ein neuer Mikrobefehl
in das Register 13 eingegeben wird. An dieser Stelle wird die festverdrahtete Folgesteuerung aktiviert, wobei
- 15 -
3Ü98/U/0R5O
-15- 7318069
die zentrale Verarbeitungseinheit durch die Gruppe von aus dein
Heilster 13 zugeführten Mikrokommandos und durch die zusätzlichen,
aus der festverdrahteten Folgesteuerung zugeführten Mikrokommandos gesteuert wird, so daß auf diese Weise eine
statische Erweiterung des Mikrobefehls erzielt wird. Die festverdrahtete Folgesteuerung schaltet in Übereinstimmung mit ihrem
inneren Aufbau und den über den Kanal 21 empfangenen externen Bedingungen eine Folge von Zuständen fort. Zur gleichen Zeit
bleibt der in dem Register 13 enthaltene Mikrobefehl unverändert oder er kann sich mit dem Verändern der zusätzlichen Mikro—
kommandos schrittgleich verändern.
Auf diese ¥eise ist eine dynamische Erweiterung erzielt worden, als wenn eine Folge von fiktiven Mikrobefehlen in das Register
15 eingegeben würde , um eine Folge von Mikrokommandos zu
erzeugen.
Es sei bemerkt, daß die Geschwindigkeit, mit welcher die zusätzlichen Mikrokoinnaidos durch die festverdrahtete Folgesteuerung
geliefert werden, durch die Arbeitsgeschwindigkeit des Netzwerks 16 begrenzt ist, das im allgemeinen nach Technologien
hergestellt wird, die höhere Geschwindigkeit zulassen als die des Mikroprogrammspeichers, wobei demzufolge die dynamische
Erweiterung des Mikrobefehls mit Hilfe der fostverdrahteten Folgesteuerung nicht nur das Einsparen eines beachtenswerten
Teiles der Speicherkapazität des Festwertspeichers 1 zuläßt, sondern außerdem eine hohe Arbeitsgeschwindigkeit
vorsieht. Jedoch können wie gesagt die festverdrahtete Folgesteuerung
und der Festwertspeicher 1 schrittgleich arbeiten.
Zur besseren Erläuterung der vorstehenden Gedanken wird nunmehr ein Beispiel eines mit Hilfe der festverdrahteten Folgesteuerung
erweiterten Mikroprogramms im einzelnen beschrieben.
Fig. 3 zeigt als Beispiel ein scheraatisches Blockdiagramm eines
Teiles des Aufbaus eines elektronischen Rechners.
- 16 -
309844/08S0
Der Rechner enthält eine Gruppe von Arbeitsregistern 50 >
von welchen jedes ein Fassungsvermögen von 8 Bits hat, eine Zähl- und Übertragungseinheit 51» eine arithmetische Einheit 52, ein
8-Bit-Rechenwerksregister 53» eine Anzahl Flip-Flops 5^>
55} 56>»«
61 zum Speichern besonderer Zustandbedingungen und passende Verbindungskanäle zwischen den Einheiten, die durch Gruppen von
Gattern in einem bestimmten Zustand gebracht werden, durch die sie zum Übertragen der Daten freigegeben oder gesperrt werden
können. Die mit einem Symbol und einer Bezugsziffer bezeichneten logischen Gatter sollen in den meisten Fällen eine Gruppe
von durch das gleiche Signal gesteuerten und auf allen in dem Kanal enthaltenen Leitungen arbeitenden Gattern darstellen.
Es sind nur die wichtigsten Verbindungskanäle dargestellt.
Der Rechner gemäß dem dargestellten Beispiel hat eine Parallelität
von 8 Bits, jedoch kann er mit gepackten Ziffern, d.h. mit durch k—Bit—Codes ausgedrückte und in jedem 8—Bit—Wort paarweise
enthaltene Dezimalziffern betrieben werden.
Der Aufbau des Rechners ist besser verständlich durch ein
die
Beispiel seiner mit Hilfe eines durch/festverdrahtete
Folgesteuerung erweiterten Mikroprogramms gesteuerten Arbeitsweise.
Es sei angenommen, daß die auszuführende Operation die Dezimal—
summe aus einem ersten Operanden und einem zweiten Operanden ist. Das Ergebnis soll in dem durch den ersten Operanden belegten
Speicherfeld gespeichert werden. Die Operanden sind aus einer Vielzahl von Bits gebildet, die eine Vielzahl von Dezimalziffern
und ein Vorzeichen verkörpern,, Ihr Aufbau ist wie folgt:
D,D D,D D,D D,S erster Operand
D,D D,D D,D D,S zweiter Operand
- 17 309844/0850
Jeder Buchstabe D stellt eine eine Dezimalziffer bedeutende
Gruppe aus vier Bits dar, während der Buchstabe S eine ein Vorzeichen bedeutende Gruppe aus vier Bits darstellt.
Die Operanden sind in Speicherstellen mit einer Anzahl von 8-Bit-Gruppen (Oktette) gespeichert, die durch eine Adresse
und eine in Anzahl von Oktetten ausgedrückte Länge gekennzeichnet sind, Die den Operanden kennzeichnende Adresse ist
die Adresse des das Vorzeichen enthaltenden Oktetts.
Der Dezimalsummenbefehl umfaßt eine Folge von Bits, die der
Reihe nach bestimmen:
Die auszuführende Operation; die Speicheradresse des ersten Operanden;
die Speicheradresse des zweiten Operanden; die Länge des ersten Operanden in Anzahl von Oktetten.
Wenn dieser Befehl durch den Rechner ausgewertet wird, findet
eine als "Heranholen" bezeichnete Vorbereitungsphase unter Steuerung durch ein Mikroprogramm statt, die den Rechner zum
Ausführen des Befehls voreinstellt sowie die Adressen und Länge der Operanden in vorbestimmte Register 50 eingibt. Die
Beschreibung und Erörterung dieser Heranholphase sind zur Verstand
Ii ehmaehung der Erfindung unnötig und werden daher fortgelassen.
Danach wird die Ausführungsphase eingeleitet, die unter Annahme, daß sie durch ein in dem Festwertspeicher 1
enthaltenes Mikroprogramm und durch die festverdrahtete Folgesteuerung
gesteuert wird, nachstehend im einzelnen beschrieben ist.
Wie bisher bedeuten große Buchstaben (Versalien) die durch den Festwertspeicher 1 erzeugten Mlkrokommandos und kleine unterstrichene
Buchstaben die durch die festverdrahtete Folgesteuerung
erzeugten Mikrokommandos«, Rechnerzustände anzeigende alphanumerische
Signale sind durch ein oder mehrere Schriftzeichen
309844/085Ö
- 1& - ? 31 B O 6
dargestellt, dem der Buchstabe C vorangeht.
In dem veranschaulichten Beispiel hat die festverdrahtete Polgesteuerung
den in Fig. li dargestellten Aufbau, wobei sie dem
Festwertspeicher 1 wie in Fig. 1 gezeigt zugeordnet ist.
Die Mikroprogrammadressen werden aus dem Adressenregister 2 durch ein das UND-Gatter 17 steuerndes Freigabesignal an der
Leitung 18 in den Decodierer 100 übertragen. Es sei angenommen,
daß dieses Signal ein Milcrokommando A ist.
Die Ausgänge 101 bis 107 dieses Decodierers liefern die zusätzlichen
Mikrokommandos entweder unmittelbar oder über geeignete
Gatter, die difrch Zustände der zentralen Verarbeitungseinheit
verkörpernde Signale gesteuert werden.
Die Leitung 101 liefert am Ausgang der festverdrahteten Folgesteuerung
ein unbedingtes Mikrokoramando a.
Die Leitung 102 ist an ein UND-Gatter 108 angeschlossen, das
durch ein Signal CFF I gesteuert wird, das durch ein als "Erstes Mal-Flip-Flop" bezeichnetes Bedingungs-Flip-Flop 90
(Fig. 3) geliefert wird. Der Ausgang des UND-Gatters 108 liefert
ein Mikrokommando _b und außerdem über das ODSll—Gatter
ein Hikrokommando £,
Die Leitung 103 liefert unmittelbar ein Mikrokommando I^ und ist
außerdem an ein UND-Gatter 110 angeschlossen, das durch ein
Signal CFL II gesteuert wird, das von einem in Fig. 3 mit
und als "Ende der Länge des zweiten Operanden—Flip—Flop" bezeichneten
Bedingungs-Flip-Flop erzeugt wird. Der Ausgang des UND-Gatters 110 liefert das Hikrokommando ^ und zusätzlich über
das ODER-Gatter 111 das Mikrokommando h.
Die Leitung 104 ist an das durch das vorerwähnte Signal CFI'1 I
gesteuerte UND-Gatter 112 angeschlossene Der Ausgang dieses
- 19 -
309844/0850
-19- ?318069
Gatters liefert das Mikrokoinmando je und über das ODER-Gatter
das liikro!commandο j3.
Die Leitung 105 liefert ein unbedingtes Mikrokommando m und ist
außerdem an ein UND—Gatter 113 angeschlossen, das durch ein Signal CDI gesteuert wird, das von dem als "Ungültige Ziffer-Flip-Flop"
bezeichneten Bedingungs-Flip-Flop 57 (Fig. 3) erzeugt wird. Der Ausgang des UND-Gatters 113 liefert ein Hikrokomnaido
_f und über das ODER—Gatter 111 außerdem das Mikrokonnnan—
do Ii.
Die Leitung 106 liefert über ein durch das Signal CFF I gesteuertes
UND-Gatter ein Mikrokommndo £.
Die Leitung 107 liefert ein direktes Mikrokommando j_ und ist
außerdem an ein UND-Gatter 115 angeschlossen, das durch ein Signal CFL I gesteuert wird, das von dem als "Ende der Länge
dos ersten Operanden-Flip-Flop" bezeichneten Bedingungs-Flip-Flop
60 Fig. 3) erzeugt wird. Der Ausgang des UND-Gatters liefert ein Mikrokommando i_ und über das ODER-Gatter 111 außerdem
das Mikrokommando h.
Zusammenfassend wird, wenn das Mikrokommando A vorliegt und
die Adresse im Register 2 in dem Festwertspeicher 1 einen Mikrobefehl ausliest, der zum Arbeiten der .festverdrahteten
Folgesteuerung aufruft, die Adresse in dem Register 2 durch den Decodierer 100 (Fig. h)9 der eine Vielzahl von zusätzlichen
Mikrokommandos _a, _b, £ ···» J. liefert, decodiert. Die Gruppen
von Mikrokommandos A bis Z und die zusätzlichen Mikrokommandos
a bis J1 werden auf die logischen Elemente der zentralen Verarbeitungseinheit
gegeben und steuern auf diese Weise die Ausführung des Mikroprogramms.
Die nachfolgenden Schritte des Mikroprogramms sind nachstehend
im einzelnen beschrieben: Die aufeinanderfolgend ausgelesenen
- 20 -
309844/0850
Mikrobefehle werden durch eingeklammerte Ziffern (15I-), (152)
····· bezeichnet, die als Adressen des zugeordneten Mikrobefehls im Pestwertspeicher angesehen werden können.
(151) Und.
Der erste Mikrobefehl bestimmt, daß die auszuführende Operation eine algebraische Addition mit Dezimalziffern ist. Er liefert
ein Mikrokominando B, das das Flip-Flop 56 (Fig. 3) setzt, das
seinerseits ein Bedingungssignal CADD (zusätzliches Kommando) liefert, das auf die arithmetische Einheit gegeben wird, so
daß sie festgesetzte Addition ausführt.
Der Mikrobefehl ruft außerdem zum Arbeiten der festverdrahteten
Folgesteuerung auf und erzeugt deshalb das Mikrokommando
A, sofern dies nicht ein feststehendes Mikrokommando ist. Die
Adresse (l5l) wird durch den Decodierer 100 decodiert, der auf der Leitung 101 ein Rücksetzmikrokommando a. liefert. Dieses
Mikrokommando setzt alle Bedingungs-Flip-Flops der zentralen Verarbeitungseinheit mit Ausnahme der Flip-Flops 56 und 59
zurück.
Wie in Fig. 3 gezeigt, werden die Flip-Flops 54, 55, 57, 58, 59,
60, 61 durch das Mikrokommando a, rückgesetzt, das außerdem das Flip-Flop 90 setzt und so das Bedingungssignal GFF I erzeugt.
(152) Auslesen ersten Operanden.
Dieser Mikrobefehl bestimmt, daß der im Hauptspeicher gespeicherte
erste Operand ausgelesen werden soll. Es werden die Mikrokommandokombination QRS und die Mikrokommandos M und N
erzeugt.
Die Mikrokommandokombination QRS wählt von den Registern 50
dasjenige aus, welches die Adresse des ersten Oktetts des ersten
- 21 -
309844/0850
Operanden enthält, wobei das Mikrokommando M das UND-Gatter 40
freigibt, das zuläßt, daß diese Adresse über die Kanäle 62 und 63 in das Adressenregister 80 des Hauptspeichers 81 übertragen
wird.
Das Mikrokomiaando N ermöglicht das Auslesen aus dem Hauptspeicher,
weshalb nach dieser Operation das Eingabe—Ausgabe-Register 82 des Hauptspeichers die verlangten Daten speichert.
Es sei bemerkt, daß im Verlaufe dieser Operation das Eingreifen der festverdrahteten Polgesteuerung nicht erforderlich ist und
demzufolge der Decodierer 100 in Auswirkung der Befehlsadresse
(152) kein Kommando erzeugt.
(153) Übertragen ersten Operanden in das Sammelregister
und Register sowie Prüfen der Übereinstimmung.
Dieser Mikrobefehl erzeugt die Mikrokommandos C, Q, R, S, T,
U, V und erfordert das Arbeiten der festverdrahteten Polgesteuerung
16, die ihrerseits die Adresse (153) decodiert und die zusätzlichen Mikrokommandos b und £ erzeugt. Das Flip-Flop
90S ist durch den Mikrobefehl (151) gesetzt worden, und die
festverdrahtete Polgesteuerung nimmt das Bedingungssignal CFF I
auf. Die Mikrokommandos Q, R, S geben an, welches der Register 50 mit dem ersten Oktett des Operanden geladen werden soll. Die
Mikrokommandos T, U, V gestatten durch Freigabe der UND-Gatter
91, 92, 93 dis Übertragung der Daten aus dem Hauptspeicherregister
82 über die Hauptkanäle 70 und 71 in das ausgewählte Register und in das Sammelregister 53· Gleichzeitig erscheinen
diese Daten am Ausgang der Decodierer 72 und 73» die die Übereinstimmung
eier numerischen Daten prüfen.
Sofern der den numerischen Wert der Daten verkörpernde Binärcode nicht in denjenigen enthalten ist, die Dezimalziffern
darstellen, wird das Flip-Flop 57 gesetzt, so daß es ein Fehler-
- 22 -
309844/0850
- 22 - 7318069
signal liefert, das später die Ausführung des Programms stoppt.
Da angenommen wird, daß der numerische Wert in gepackter Form dargestellt ist, werden die beiden Hälften des Oktetts durch
die Decodierer 72 und 73 gesondert geprüft. Da dies das erste
Oktett des Operanden ist, in welchem die Bits k bis 7 das Vorzeichen
bestimmen, wird nur der Ausgang des Decodierers 72 durch ein das UND-Gatter 2k freigebendes Mikrokommando C in das
Flip-Flop 57 übertragen. Das umgekehrte zusätzliche Mikrokoaimando
j3 verhindert durch Sperren der UND-Gatter 39 und 95 die
Übertragung des decodierten Ausgangs des Decodierers 73 in das Flip-Flop 57. Dadurch wird die Übereinstimmungsprüfung nur an
den Bits O bis 3 und nicht an den Vorzeichenbits ausgeführt. Die Vorzeichenbits werden außerdem auf den Decodierer lh
gegeben, der über das durch das Mikrokommando _b freigegebene UND-Gatter 96 auf das Flip-Flop 5k einwirkt und es in einen das
Vorzeichen verkörpernden Zustand setzt. Das auf diese Weise t
durch das Flip-Flop 54t gelieferte Bedingungssignal CSI wird
auf die arithmetische Einheit 52 gegeben,
(152O Länge des ersten Operanden kürzen — Sprung auf Bedingung.
Etes«· Mikrobefehl sieht vor, die Länge des in einem der
Register 50 enthaltenen Operanden um eins zu kürzen. Er erzeugt
die Mikrokommandos A, Q, R, S, F-, G, U, die das Register 50
angeben (Q, R, S), welches die Länge des ersten Operanden speichert, und diese Lä^nge über die Kanäle 62 und 63 mit Hilfe
von auf die UND-Gatter 97 und 98 einwirkenden Mikrokommandos F
und G in die Zähleinheit 51 übertragen. Die Länge des ersten Operanden wird um eins gekürzt, auf die Kanäle 64b unä 65
gegeben, von wo sie mit Hilfe von die UND-Gatter 99, 100 und freigebenden Mikrokommandos F, G und U in die Ilauptkanäle 70
und 71 und wieder in das Register übertragen wird, aus dem sie
ausgelesen worden ist. Der Ausgang der Zähleinheit 51 wird durch den Decodierer 75 decodiert, wobei, sofern der tatsäch-
- 23 -309844/0850
-23- 23180B9
liehe Wert des Operandenlänge Null ist, ein Signal DEC ausgesandt
wird. Dieses Signal setzt über das durch das zusätzliche Mikrokommendο jL freigegebene UND-Gatter 83 das Flip-Flop 60.
Auf diese Weise wird das Bedingungssignal CFL I ausgesandt, das durch den nächstfolgenden Befehl mit der Bedeutung "Ende
der Länge des ersten Operanden" benutzt wird.
Die festverdrahtete Folgesteuerung spricht auf die Adresse
durch Liefern eines Signals auf der Leitung 103, d.h. des vorgenannten
Mikrokommandos I- an. Sofern die Bedingung CFL II
vorhanden ist, werden durch die Folgesteuerung weitere Kommandos geliefert, und zwar werden in diesem Falle die Mikrokommandos _d
und h erzeugt. Das Mikrokommando c[ gibt eine vorbestimmte Mikroprogramiaadresse
an, wobei das Mikrokommando h verhindert, daß die Festwertspeicheradresse in dem Adressenregister 2 wie üblich
auf den neuesten Stand gebracht wird, und den Kanal 6 freigibt, um «die Adresse p_, c[, _r wie durch das Mikrokommando (3 bestimmt
in das Adressenregister 2 einzugeben.
Wenn die Bedingung CFL II nicht vorhanden ist, liefert die festverdrahtete
Folgesteuerung außer JL kein Mikrokommando, wobei das Mikroprogramm auf den nächsten Mikrobefehl übergeht.
(155) Auslesen zweiten Operanden und Adresse auf den neuesten
Stand bringen.
Dieser Mikrobefehl entspricht, was die Ausleseoperation angeht,
dem anhand des ersten Operanden (152) beschriebenen«, Der einzige Unterschied besteht darin, daß die Mikrokommandos Q, R, S jetzt
das Register angeben, in welchem die Adresse des zweiten Operanden gespeichert ist. Außerdem gibt er (der Mikrobefehl) an,
daß die Adresse des zweiten Operanden zur weiteren Verwendung durch Vermehren um eins auf den neuesten Stand gebracht werden
soll.
- 2h -
309844/0850
Außerdem werden die Mikrokouimandos L, P, G erzeugt.
Das Mikrokommando L bewirkt, daß die Zähleinheit 51 den auf
ihren Eingang gegebenen ¥ert um eins erhöht. Die Mikrokommandos
F und G geben die UND-Gatter 971 98, 99, 100 frei, wobei demzufolge
die Adresse des zweiten Operanden über die Kanäle 62 und 63 in die Zähleinheit 51 übertragen, um eins erhöht, dann
über die Kanäle 64 und 65 auf die Hauptkanäle 70 und 71 übertragen und schließlich in das gleiche Register wie vorher eingegeben
wird. Dieser Mikrobefehl erfordert nicht das Arbeiten der festverdrahteten Folgesteuerung, so daß demzufolge der
Decodierer 100 auf die Adresse (155) nicht anspricht.
(156) Zweiter Operand in Akkumulator.
Dieser Mikrobefehl erzeugt Mikrokommandos C, T, V. Zusätzlich
spricht der Decodierer 100 der festverdrahteten Folgesteuerung auf diese Adresse an und liefert auf der Leitung 104 ein Signal.
Das Bedingungssignal CFF I, das vorhanden ist, gibt das UND-Gatter
112 frei und erzeugt die Mikrokommandos £ und £.
Die Mikrokommandos T und V geben die UND-Gatter 91 und 93 frei,
um Daten aus dem Hauptspeicher über die Hauptkanäle 70 und 71
in den Akkumulator 53 zu übertragen. Gleichzeitig erscheinen
die Daten am Ausgang des Akkumulators und werden auf die Decodierer 72 und 73 gegeben, die sie auf Übereinstimmung prüfen.
Sofern der die Daten darstellende Binärcode nicht in den die
Dezimalziffern darstellenden enthalten ist, wird das Flip-Flop
57 gesetzt, das ein Fehlersignal liefert, welches später das Programm stoppt.
Da angenommen wird, daß die numerischen Werte in gepackter Form gespeichert sind, werden die beiden Hälften des Oktetts
gesondert durch die Decodierer 72 und 73 überprüft und, da es
- 25 -
309844/0850
das erste Oktett des zweiten Operanden ist, in welchem die
Bits 4 Ms 7 das Vorzeichen angeben, wird nur der Ausgang des
Decodierers 72 durch das Mikrokommando C in das Flip-Flop 57 übertragen, während das umgekehrte zusätzliche Mikrokommando ji
die UND-Gatter 39 und 95 sperrt und das Übertragen des Ausgangs des Deeodierers 73 verhindert. Die Übereinstimmungsprüfung
wird demzufolge nur an den Bits O bis 3 ausgeführt und nicht an den Vorzeichenbits.
Die Vorzeiehenbits h bis 7 werden außerdem auf den Decodierer
Ik gegeben, wobei sein durch das auf das UND-Gatter 38 einwirkende
Mikrokomraando £ freigegebener Ausgang das Flip-Flop 55
in einen das Vorzeichen verkörpernden Zustand setzt. Das durch dieses Flip-Flop 55 gelieferte Signal CS II wird auf die arithmetische
Einheit 52 gegeben und steuert ihr Arbeiten beim nächsten Schritt des Mikroprogramms·,
(±57) Länge des zweiten Operanden kürzen - Sprung auf
Bedingung.
Wie der Mikrobefehl (15^) bewirkt dieser Befehl das Kürzen der Lan
des in einem der Register 50 enthaltenen Operanden um eiiB. Dieser
Mikrobefehl erzeugt die Mikrokommandos A, Q, R, S, F, G, U, die das Kürzen der Länge des zweiten Operanden und sein Übertragen
über die geeigneten Kanäle steuern. Gleichzeitig wird der Ausgang der Zähleinheit $1 durch den Decodierer 75 decodiert, wobei,
wenn die Länge des zweiten Operanden auf Null reduziert ist, diese: Ausgang das Flip—Flop 6l setzt, das die Bedingung CFL II erzeugt.
Andererseits decodiert die festverdrahtete Folgesteuerung die
Hikrobefehlsadresse und erzeugt auf der Leitung 105 ein Signal,
welches das Mikrokommando m zum Setzen des Flip-Flops 6l über das UND-Gatter 8h liefert, sofern das Signal DEC vorhanden ist.
Außerdem nimmt die festverdrahtete Folgesteuerung, sofern die
- 26 -
309844/0850
Übereinstimmung&edingug nicht bestätigt wird d.h. vrenn das
Flip-Flop 57 gesetzt wird, das Bedingungssignal CDI auf: Das Signal der Leitung 103 wird über das UND-Gatter 113 übertragen
und erzeugt die Mikrokoinrnandos £ und Jh. Das Mikrokoinmandö _h
(Fig. l) verhindert, daß die in dem Adressenregister 2 enthaltene Adresse auf den neuesten Stand gebracht wird und
gibt den Kanal 6 frei, um eine durch das Mikrokommando jf angegebene
Adresse p_, c[, y_ in den Festwertspeicher 1 einzugeben.
Der an dieser Adresse ausgelesene Mikrobefehl stoppt das Programm.
Wenn dagegen das Bedingungssignal CDI nicht vorhanden ist, erzeugt die festverdrahtete Folgesteuerung kein Mikrokommando,
und das Mikroprogramm schaltet auf den nächsten Mikrobefehl weiter.
(158) Auf Akkumulator und Register arbeiten und in Akkumulator einschreiben.
Dieser Mikrobefehl führt die algebraische Addition effektiv aus. Er erzeugt die Mikrokommandos A, Q, R, S, II, I, J, K, V.
Die durch den Decodierer 100 decodierte Adresse (158) liefert auf der Leitung IO6 ein Signal, das seinerseits, sofern das
Signal CFF I vorhanden ist, das Mikrokommando £ erzeugt. Das Mikrokommando g bestimmt, daß die Addition nur an den Bits
0 bis 3 und nicht an den das Vorzeichen verkörpernden Bits 4 bis 7 ausgeführt werden soll. Das Mikrokommando II gibt die
Übertragung der Bits 0 bis 3 aus dem durch die Mikrokommandos
Q, R, S benannten Register in die arithmetische Einheit 52 über
den Kanal 62 durch EiiwLrken auf das UND-Gatter 43 frei. Die
Bits 4 bis 7 werden nicht übertragen, da das UND-Gatter 42
durch das auf das UND-Gatter 43 einwirkende Mikrokommando £
gesperrt ist.
- 27 -
4/0850
Entsprechend gibt das Mikrokommando I die Übertragung der Bits
O bis 3 aus dem Akkumulator 53 in die arithmetische Einheit
durch Freigabe des UND-Gatters 44 frei, während die Übertragung
der Bits 4 bis 7 durch das das Gatter 37 über das Gatter 48 sperrende Mikrokommando j| unterbunden wird. Jedoch werden die
im Akkumulator 53 vorhandenen Bits 4 bis 7 über den durch das über das ODER-Gatter 49 und das UND-Gatter 88 einwirkende Mikrokommando
£ freigegebenen Überbrückungskanal 76 in den Hauptkanal
71 übertragen und erneut in den Akkumulator 53 eingegeben.
Es sei bemerkt, daß die arithmetische Einheit 52 einen möglichen
Übertrag aus einer vorangehenden Operation durch ein durch das F^lip-Flop 59 erzeugtes Signal, das über die Leitung
und das durch das Mikrokommando J freigegebene UND-Gatter 86
angelegt werden kann, berücksichtigt. Jedoch ist dieses Flip-Flop 59 durch das Mikrokoramando a. rückgesetzt worden, so daß
demzufolge bei diesem Schritt der Übertrag gleich Null ist. Der Übertrag, der sich aus der soeben ausgeführten Operation
ergeben kann, wird durch den Ausgang der arithmetischen Einheit 52 auf das Flip-Flop 58 gegeben, so daß es gesetzt wird, Das
beiiH nächsten Schritt des Mikroprogramms durch das Flip-Flop
erzeugte Signal CO setzt seinerseits das Flip-Flop 59.
(159) Inhalt des Akkumulators in Hauptspeicher einschreiben.
Dieser Mikrobefehl erzeugt die Mikrokommandos A, Q, R, S, M, O,
P, Vo
Die Mikrokoimaandos Q, R, S geben das die Speicheradresse des
ersten Operanden enthaltende Register an d.h. die Adresse der Speicherstelle, in welcher das Ergebnis der sich in Ausführung
befindenden Teiladdition gespeichert werden soll.
Diese Adresse wird über das durch den Mikrobefehl M freigelassene
UND-Gatter 40 in das Adressenregister 80 de3 Hauptspeichers
- 28 -
309844/0850
übertragen. Ein weiteres Mikrokoimnando W befiehlt das Ausführen
einer Einschreibeoperation durch den Hauptspeicher.
Die festverdrahtete Folgesteuerung decodiert ihrerseits die
Adresse (159)» wobei an der Leitung 107 ein Signal erzeugt wird, das ein Mikrokommando J^ zum Rücksetzen des Flip-Flops 90
und gegebenenfalls zuin Eingeben der einen Übertrag über das
UND-Gatter 37 verkörpernden Bedingung CO in das Flip-Flop 59 liefert.
Nunmehr ist der erste Schritt der Addition ausgeführt worden. Wenn das Flip-Flop 60 gesetzt wird, was bedeutet, daß die
Länge des ersten Operanden durch die Kürzungsoperation auf Null reduziert worden ist, werden die Mikrokommandos I^ und h erzeugt.
Wie vorstehend erörtert, gibt das Mikrokommando Ji das Eingeben
einer durch das Mikrokommando I^ benannten Adresse £, £, £ in
das Adressenregister 2 frei und sperrt die übrigen Kanäle zum auf—den—neuesten—Stand-Bringen der Mikroprogrammadresse. Das
Mikroprogramm springt auf die angegebene Adresse.
Sofern die Länge des ersten Operanden nicht Null ist, schaltet das Mikroprogramm auf den nächsten Mikrobefehl fort.
(l60) Adresse des ersten Operanden auf den neuesten Stand bringen und Folge wiederholen.
Dieser Mikrobefehl erzeugt die Mikrokommandos R, Q, S, F, G, U, L.
Wie gewöhnlich geben die Mikrokommandos R, Q, S das die Adresse
des ersten Operanden enthaltende Register 50 an.
Die Mikrokommandos F, G, U geben die Übertragung dieser Adresse
über die Kanäle 62 und 63 in die Zähleinheit 51 frei, die sie
(unter Steuerung durch das Mikrokoramando L) um eins vermehrt, worauf
sie von dort über die Kanäle 64 und 65 in die Hauptkanäle
70, 71 und wieder in das adressierte Register übertragen wird.
- 29 -
309844/0850
Gleichzeitig gibt das Mikrokommando E an, daß die Adresse des nächsten Mikrobefehls im Pestwertspeicher die Adresse (152) ist,
worauf das Eingebes dieser Adresse in das Adressenregister 2 freigegeben
wird. Das Mikroprogramm läuft ab bei Weiderholung des bereits ausgeführten Mikrobefehls mit dem Unterschied, daß
jetzt auf Grund des Mikrobefehls 159 das Flip-Flop 90 rückgesetzt
wird. Dadurch wird das Bedingungssignal CFF I nicht mehr auf die festverdrahtete Folgesteuerschaltung gegeben.
Die durch die Folgesteuerung in dieser Phase erzeugten Mikrokommandos
sind andere als die vorherigen d.h. die Mikrokommandos t>, £, £ und £ werden nicht geliefert, so daß demzufolge
auch die Bits 4 bis 7 beider Operanden auf Übereinstimmung geprüft und aus dem Register 50 und dem Akkumulator 53 in die
arithmetische Einheit 52 übertragen werden.
Dieses einfache Beispiel der Teilausführung eines Befehls mit
Hilfe eines Mikroprogrammierspeicherung und festverdrahtete
Folgesteuerung verwendenden kombinierten Steuersystems erlaubt es, die charakteristischen Merkmale der Erfindung genau festzustellen.
i) Die festverdrahtete Folgesteuerung liefert ein Mittel zum
Erweitern der Anzahl von Mikrokommandos, die sich aus einem
Mikrobefehl erzielen lassen, ohne eine Erweiterung der Länge des Mikrobefehls zu erfordern. Dies geht beispielsweise aus
den Befehlen (l5i), (153), (15*), (156) usw. klar hervor. In
all diesen Fällen genügt es, die Adressen der Mikrobefehle zu
decodieren (und gegebenenfalls nur das Mikrokommando A zu
benutzen), um jedesmal mit Hilfe der festverdrahteten Folgesteuerung
eine Gruppe von zusätzlichen Mikrokommandos a., _b, £,
£U .£» ΐ.» Ja» Jl* A» j.» it E. in Je(3er beliebigen benötigten Kombination
zu erzeugen.
II) Der betrieb der festverdrahteten Folgesteuerung ist an den
Betrieb des Mikroprogrammierspeichers nicht gebunden; sie wird nur bei Bedarf in Betrieb gesetzt. Beispielsweise machen die
- 30 309844/0850
Mikrobefehle (152) und (155) ihr Arbeiten nicht erforderlich.
III) Die zusätzlichen Mikrokommandos der festverdrahteten Folgesteuerung
sind an den Inhalt der Mikrobefehle nicht fest gebunden, sondern stehen nur mit deren Adressen in loser Beziehung.
Bei Betrachtung der Mikrobefehle (±5lt) und (157) zeigt sich,
daß diese Mikrobefehle außer der Adresse des den Operanden enthaltenden (durch verschiedene Kombinationen von P, Q, R)
adressierten Itegisters miteinander übereinstimmen. In Auswirkung der beiden verschiedenen Adressen (152O un(3 (157)
erzeugen sie jedoch verschiedene Mikrokommandos.
IV) Die zusätzlichen Mikrokommandos der festverdrahteten Folgesteuerung
sind nicht nur von den Adressen des Mikrobefehls, sondern außerdem von den BedIngungssignal en abhängig. Wie
gezeigt erzeugt der Mikrobefehl (153) eine Gruppe von zusätzlichen Mikrokommandos, wenn er im Verlaufe eines Mikroprogramms
zum ersten Mal ausgeführt wird, und eine andere Gruppe bei den nachfolgenden Ausführungen.
V) Die zusätzlichen Mikrokommandos aus der festverdrahteten
Folgesteuerung werden nicht gezwungen, sich schrittgleich mit dem Fortschreiten des Auslesens der Mikrobefehle im Festwertspeicher
zu verändern: Sie können bei unterschiedlicher, gewöhnlich höherer Geschwindigkeit erzeugt werden und bieten
deshalb die Möglichkeit, aus einem einzigen Festwertspeicher-Mikrobefehl eine Folge von Mikrobefehlen zu erhalten.
Es sei hier das Beispiel der Mikrobefehle (153) und (15*0
betrachtete
Der erste (153) erzeugt eine Gruppe von Mikrokommandos:
A, Q, R, S, Ϊ, U, V, C und der zweite (15*0 die Gruppe:
A, Q, R, S, F, G, U.
— 31 —
309844/0850
Die Operandenadresse ist für beide Befehle dieselbe; Sie weichen nur durch die lediglich im ersten Mikrobefehl vorhandenen
Mikrokoinmandos T, V, C und durch die nur in dem zweiten
Mikrobefehl vorhandenen Mikrokommandos P, G voneinander ab.
Ein einziger sän&iche Mikrokommandos A, Q, R, S, T, U, V, C,
F, G erzeugender Mikrobefehl kann beide Mikrobefehle ersetzen, sofern eine geigeiEte Einrichtung vorgesehen ist, um die dem
Mikrobefehl zugestandene Zeit aufzuteilen. Diese Einrichtung ist als Beispiel in Fig. 5 gezeigt, die nur die zur Verständliehmachung
der Arbeitsweise der für die Erfordernisse der nachstehend beschriebenen Arbeitsweise abgeänderten festverdrahteten
Folgesteuerung nach Fig. k notwendigen Bestandteile zeigt.
Wenn die durch den Decodierer 100 decodierte Adresse die Befehlsadresse
(i53) ist, wird an der Leitung 102 ein Signal erzeugt und auf die Takteinheit 120 gegeben, die die Taktsteuerung der
Mikrokonnaandos der zentralen Verarbeitungseinheit regelt.
Dieses Signal befiehlt der Takteinheit, daß der laufende Mikrobefehl in zwei daraus entstehende, in einem einzigen
Mikrobefehlszyklus auszuführende Mikrobefehle aufgeteilt werden soll.
In Auswirkung dieses Signals unterteilt die Takteinheit den Mikrobefehlszyklus in zwei Phasen.
Während der ersten Phase liefert die Takteinheit ein umgekehrtes Signal ΤΪΪ und während der zweiten Phase ein direktes Signal
TII. Diese Signale geben über die UND-Gatter 121 und 122 die Verbindung der Leitung 102 mit der Leitung 102A bzw. mit der
Leitung I03 frei.
Das Signal an der Leitung 102A erzeugt über das UND-Gatter 108 und das ODER—Gatter 109 die bereits bekannten Mikrokommandos
h und £ und zusätzlich ein Mikrokoiamando k. Das Signal an der
- 32 309844/0850
Leitung 103 liefert das bereits bekannte Mikrokommando I^
unter vorbestimmten Bedingungen außerdem die Mikrokommandos d[
und Ii, Auf diese Weise kann das nur in der ersten Phase vorhandene
Mikrokommando k dazu benutzt werden, mit Hilfe von nicht dargestellten UND-Gattern das Einwirken der Mikrokommandos F und G
während der ersten Phase zu unterbinden, während das nur in der zweiten Phase vorhandene Mikrokommando I1 dazu benutzt werden
kann, um in dieser zweiten Phase das Einwirken der Mikrokommandos T, V, "C zu unterbinden. Auf diese Weise wird der die Mikrokommandos A, Q, R, S, T, U, V, C, F, G erzeugende Mikrobefehl
im Verlaufe eines Mikrobefehlszyklus in zwei Mikrobefehle aufgeteilt,
von welchen der erste die Mikrokommandos A, Q, R, S, T, U,
V, C und der zweite Mikrokommandos A, Q, R, S, F, G, U erzeugt,
die dem Mikrobefehl (153) bzw. dem Mikrobefehl (15^) entsprechen.
Es leuchtet ein, daß die gleiche Kombination und statisch- dynamische
Srweiterung von Mikrobefehlen nach den gleichen Kriterien
und bei den passenden Abänderungen selbst dann durchgeführt werden können, wenn die festverdrahtete Folgesteuerung einem Mikroprogrammiersystem
mit Hilfe der in Fig. 2 dargestellten Einrichtung zugeordnet ist, bei welcher das Eingreifen der festverdrahteten
Folgesteuerung mit Hilfe eines besonderen Mikrobefehls erzielt wird.
Patentansprüche:
- 33 309844/0850
Claims (1)
- PatentansprücheDigitales elektronisches Datenverarbeitungssystem mit einer zentralen Verarbeitungseinheit, einem Taktwerk, einer Mikroprogrammiereinheit zum Liefern einer Folge von Gruppen aus Haupteikrokommandos zum Steuern der Folge der Operationen der zentralen Verarbeitungseinheit in Auswirkung einer Folge von in der Mikroprogrammiereinheit gespeicherten Mikrobefehlen und zum aufeinanderfolgenden Auslesen in Auswirkung von dazu in Beziehung stehenden Mikrobefehlsadressen, dadurch gekennzeichnet, daß eine durch die Mikroprogrammiereinheit (i) gesteuerte zusätzliche logische Einheit (16) eine Folge von Gruppen aus zusätzlichen Mikrokömmandos liefert» die mit den Gruppen aus Hauptmikrokommandos zum Steuern der zentralen Verarbei,tungseinheit zusammenwirken.2. System nach Anspruch 1, d a d u r c h g e k e η η zeich η et, daß die zusätzliche -logische Einheit (16) einen Decodierer (lOO) zum Decodieren der Mikrobefehlsadressen und zum Liefern der zusätzlichen Mikrokömmandos als Antwort auf vorbestimmte Adressen der Mikrobefehlsadressen enthält.3. System nach Anspruch 1, dadurch gekennzeichnet', daß die zusätzliche logische Einheit (16) einen Decodierer (lOO) enthält zum Decodieren eines in einem in der Mikroprogrammiereinheit (l) gespeicherten bestimmten Mikrobefehl enthaltenen Codes und zum Liefern mindestens einer Gruppe von zusätzlichen Mikrokömmandos während der Ausführung mindestens eines auf den bestimmten Mikrobefehl folgenden Mikrobefehls.k. System nach Anspruch 2 oder 3, dadurch gekennzeichnet , daß die zusätzliche logische Einheit (16) auf Bedingungssignale anspricht, die in der zentralen309844/0850 _ ,* _- 3Ί Verarbeitungseinheit vorliegende Zustände verkörpern.5. System nach Anspruch 2 oder 3» dadurch gekennzeichnet , daß die zusätzliche logische Einheit (l6) auf mindestens einen Teil der zusätzlichen Mikro!commandos anspricht, um unter Steuerung durch das Taktwerk (±20) und unabhängig von der Folge der Operationen der Mikroprogrammiereinheit (l) für eine vorbestimmte Anzahl von TaktIntervallen eine Folge von Gruppen aus zusätzlichen Mikrokoinmandos zu erzeugen.6. System nach Anspruch 2 oder 3» dadurch gekennzeichnet , daß die zusätzliche logische Einheit (l6) das Arbeiten der Mikroprogrammiereinheit (l) mit Hilfe von mindestens einem Teil der zusätzlichen Mikrokommandos bedingen kann.MB/Ho - 25 27,3309844/0850Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT22889/72A IT951233B (it) | 1972-04-07 | 1972-04-07 | Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2318069A1 true DE2318069A1 (de) | 1973-10-31 |
DE2318069C2 DE2318069C2 (de) | 1984-12-06 |
Family
ID=11201567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2318069A Expired DE2318069C2 (de) | 1972-04-07 | 1973-04-06 | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix |
Country Status (7)
Country | Link |
---|---|
US (1) | US3872447A (de) |
JP (1) | JPS5547418B2 (de) |
CA (1) | CA991753A (de) |
DE (1) | DE2318069C2 (de) |
FR (1) | FR2182452A5 (de) |
GB (1) | GB1421017A (de) |
IT (1) | IT951233B (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5044752A (de) * | 1973-08-23 | 1975-04-22 | ||
US3949370A (en) * | 1974-06-06 | 1976-04-06 | National Semiconductor Corporation | Programmable logic array control section for data processing system |
US3972029A (en) * | 1974-12-24 | 1976-07-27 | Honeywell Information Systems, Inc. | Concurrent microprocessing control method and apparatus |
JPS51127015A (en) * | 1975-04-25 | 1976-11-05 | Kohjin Co Ltd | Polymerization inhibition of n,n'- disubstituted acryl amides accompan ifd with less discoloration |
DE2555963C2 (de) * | 1975-12-12 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Funktionsmodifizierung |
US4084229A (en) * | 1975-12-29 | 1978-04-11 | Honeywell Information Systems Inc. | Control store system and method for storing selectively microinstructions and scratchpad information |
US4124893A (en) * | 1976-10-18 | 1978-11-07 | Honeywell Information Systems Inc. | Microword address branching bit arrangement |
SE413707B (sv) * | 1977-02-28 | 1980-06-16 | Ellemtel Utvecklings Ab | Anordning hos en programminnesstyrd telekommunikationsanleggning |
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 |
US4156278A (en) * | 1977-11-22 | 1979-05-22 | Honeywell Information Systems Inc. | Multiple control store microprogrammable control unit including multiple function register control field |
US4161026A (en) * | 1977-11-22 | 1979-07-10 | Honeywell Information Systems Inc. | Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes |
US4450525A (en) * | 1981-12-07 | 1984-05-22 | Ibm Corporation | Control unit for a functional processor |
DE3271123D1 (en) * | 1982-06-08 | 1986-06-19 | Ibm Deutschland | Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions |
US4604691A (en) * | 1982-09-07 | 1986-08-05 | Nippon Electric Co., Ltd. | Data processing system having branch instruction prefetching performance |
DE3241396A1 (de) * | 1982-11-09 | 1984-05-10 | Siemens AG, 1000 Berlin und 8000 München | Vorrichtung zur bereitstellung einer 'continue'-adresse fuer einen mikroprogramm-gesteuerten sequenzer und verfahren zu seinem betrieb |
US5218712A (en) * | 1987-07-01 | 1993-06-08 | Digital Equipment Corporation | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption |
US5155817A (en) * | 1988-04-01 | 1992-10-13 | Kabushiki Kaisha Toshiba | Microprocessor |
JPH02183830A (ja) * | 1988-12-21 | 1990-07-18 | Internatl Business Mach Corp <Ibm> | マイクロプログラム変換機構を有するコンピュータ |
US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
DE69425377T2 (de) * | 1994-11-29 | 2001-02-15 | Ibm | Einzel-Zyklus-Prozessor zur Echtzeitsverarbeitung |
US5717942A (en) * | 1994-12-27 | 1998-02-10 | Unisys Corporation | Reset for independent partitions within a computer system |
US5603005A (en) * | 1994-12-27 | 1997-02-11 | Unisys Corporation | Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed |
US6279098B1 (en) | 1996-12-16 | 2001-08-21 | Unisys Corporation | Method of and apparatus for serial dynamic system partitioning |
US5960455A (en) * | 1996-12-30 | 1999-09-28 | Unisys Corporation | Scalable cross bar type storage controller |
US5970253A (en) * | 1997-01-09 | 1999-10-19 | Unisys Corporation | Priority logic for selecting and stacking data |
US5822766A (en) * | 1997-01-09 | 1998-10-13 | Unisys Corporation | Main memory interface for high speed data transfer |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1020924A (de) * | 1961-08-25 | |||
US3579192A (en) * | 1967-11-02 | 1971-05-18 | Burroughs Corp | Data processing machine |
US3646522A (en) * | 1969-08-15 | 1972-02-29 | Interdata Inc | General purpose optimized microprogrammed miniprocessor |
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
US3725868A (en) * | 1970-10-19 | 1973-04-03 | Burroughs Corp | Small reconfigurable processor for a variety of data processing applications |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
-
1972
- 1972-04-07 IT IT22889/72A patent/IT951233B/it active
-
1973
- 1973-04-02 US US347316A patent/US3872447A/en not_active Expired - Lifetime
- 1973-04-03 CA CA168,308A patent/CA991753A/en not_active Expired
- 1973-04-06 FR FR7312548A patent/FR2182452A5/fr not_active Expired
- 1973-04-06 DE DE2318069A patent/DE2318069C2/de not_active Expired
- 1973-04-07 JP JP3996473A patent/JPS5547418B2/ja not_active Expired
- 1973-04-09 GB GB1699473A patent/GB1421017A/en not_active Expired
Non-Patent Citations (1)
Title |
---|
NICHTS-ERMITTELT * |
Also Published As
Publication number | Publication date |
---|---|
DE2318069C2 (de) | 1984-12-06 |
US3872447A (en) | 1975-03-18 |
JPS5547418B2 (de) | 1980-11-29 |
FR2182452A5 (de) | 1973-12-07 |
IT951233B (it) | 1973-06-30 |
CA991753A (en) | 1976-06-22 |
GB1421017A (en) | 1976-01-14 |
JPS4911043A (de) | 1974-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2540975A1 (de) | Multi-mikro-prozessor-einheit | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE1915818A1 (de) | Elektronisches Datenverarbeitungssystem | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE2601242A1 (de) | Elektronenrechner mit programmspeicherung | |
DE1200578B (de) | Datenverarbeitungssystem | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2854400A1 (de) | Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE1221037C2 (de) | Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens | |
DE1549381B2 (de) | Datenverarbeitungsanlage | |
DE1194605B (de) | Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8120 | Willingness to grant licences paragraph 23 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |