DE2318069C2 - Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix - Google Patents

Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix

Info

Publication number
DE2318069C2
DE2318069C2 DE2318069A DE2318069A DE2318069C2 DE 2318069 C2 DE2318069 C2 DE 2318069C2 DE 2318069 A DE2318069 A DE 2318069A DE 2318069 A DE2318069 A DE 2318069A DE 2318069 C2 DE2318069 C2 DE 2318069C2
Authority
DE
Germany
Prior art keywords
micro
commands
register
address
sequence
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.)
Expired
Application number
DE2318069A
Other languages
English (en)
Other versions
DE2318069A1 (de
Inventor
Giancarlo Dipl.-Ing. Mailand/Milano Tessera
Ferruccio Dipl.-Ing. Cornaredo Mailand/Milano Zulian
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
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 Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2318069A1 publication Critical patent/DE2318069A1/de
Application granted granted Critical
Publication of DE2318069C2 publication Critical patent/DE2318069C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • 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/223Execution 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

Die vorliegende Erfindung betrifft eine Rechenanlage nach dem Oberbegriff des Patentanspruchs 1.
Bekanntlich werden binäre elektronische Rechner entworfen und gebaut, um eine vorbestiinmte Gruppe von Befehlen auszuführen, zum Beispiel: Binäre Summe, binäre Subtraktion, Dezimalsumme. Dezimalsubtraktion, Einschreiben in ein Register aus einer Speicherzelle, Verschieben, Vergleichen usw.
Dem Programmierer stehen nur diese Befehle zur Verfugung, der beim Aufstellen des Arbeitsprogramms für den Rechner diese Befehle verwenden muß, ohne die Weise in Betracht zu ziehen, in welcher sie durch den Rechner ausgeführt werden.
Praktisch umfassen die Befehle, was den Rechner betrifft, eirc Folge von Gruppen aus Grundoperationen, wie beispielsweise das Bilden vorbestimmten Schaltungen eines logischen Nct/.wcrks oder die Übertragung von geeigneten elektrischen Signalen durch das elektrische Netzwerk.
Diese Grundoperationen werden als »Mikrooperationcn« bezeichnet, wobei die Gruppe aus gleichzeitig, d. h. in einem einzigen Grundtaktintervall ausgeführten Mikrooperationcn als »Mikrobefehl« bezeichnet wird. Die Folge von zum Ausführen eines einzigen Programmbcfehls 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 anderen Worten wurde die zwischen den Programmbefchlen 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 Beschallung 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 aufnehmen, die die Binärsignale am Ausgang der logischen Folgematrix 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 auszufahren, wobei man selbstverständlich innerhalb der Grenzen der durch die verfügbare Gruppe von MikroOperationen zulässigen materialeigenen Leistungsfähigkeiten blieb. Zum Erreichen dieses Zieles war es ohne Änderung aer Hardware der Maschine notwendig, die durch den Aufbau der Maschine bedingte Eins-zu-Eins-Korrelation zwischen Befehlen und Mikrooperationcn 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 Mikroopcration entsprechenden Signalen zu liefern, wobei die Information den in der Speichereinrichtung gespeicherten Signalen entspricht.
Durch Modifizieren des Inhalts dieser Speichereinrichtung ist es möglich, die Gruppe von Mikrooperpiionen 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.
jedes ausgelesene Wort aus dem Festwertspeicher bestimmt eine Gruppe von auszuführenden Mikrooperalionen d. h. einen Mikrobefehl. Der einfuchste Weg der Verwendung dieser Information besteht darin, jedes Bit zum Steuern einer einzigen Mikrooperalion zu bestimmen. So ist als Beispiel der Binärwert eines Bits, wenn die entsprechende Mikrooperatior. ausgeführt werden soll, EINS und im gegenteiligen Fall NULL. Da die Anzahl der Mikrooperationen, die in einen. 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 beschritten, von welchen einer beispielsweise darin besteht, die Mikrooperalionen in Gruppen aus wechselseitig internexklusiven Mikrooperationen anzuordnen und jede Mikrooperation einer Gruppe in codierter Form da/ustellen. 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 Bitanzahl jedes Mikrobefehls als »Funktionscode« zum Auswerten der übrigen Bits des Mikrobefehls.
ίο Ein weiteres Verfahren besteht in einem einen Funktionscode von veränderbarer Länge verwendenden anpassungsfähigen Decodierverfahren wie es in der Patentanmeldung P 22 64 346.5 von der Anmelderin vorgeschlagen wurde.
Aufgabe der vorliegenden Erfindung ist, ausgehend von einer Rcchcnanlage nach dem Oberbegriff des Patentanspruches 1, die Verringerung der Länge der Mikrobefehle, ohne die durch ein Mikrobefehlssteuerungssystem gewährleistete Anpassungsfähigkeit wesentlich zu verringern.
Diese Aufgabe wird durch die im kennzeichnenden Teil der Patentansprüche 1 oder 2 genannten Maßnahmen gelöst.
Mit anderen Worten wird ein digitales elektronisches Datenverarbeitungssystem mit einer zentralen Verarbeitungseinheit, einem Taktwerk, einer Mikroprograminiereinheit zum Liefern einer Folge von Gruppen aus Hauptmikrokommandos zum Steuern der Folge der Operationen der zentralen Verarbeitungseinheit in Auswirkung einer Folge von in der Mikroprogrammiereinhcit gespeicherten Mikrobefehlen und zum aufeinanderfolgenden Auslesen in Auswirkung von dazu in Beziehung stehenden Mikrobefehlsadressen vorgeschlagen, bei dem eine durch die Mikroprogrammiereinheit
J5 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 diese Weise wird ohne Bcnötigung einer größeren Länge des ursprünglichen Mikrobefehls eine statische Erweiterung der durch den Mikrobefehl ausgeführten Steuerfiinktioncn erzielt.
Dies ist nur einer der Vorteile der Erfindung, da die
4r> festverdrahtete Folgesteuerung die Kommandos in Auswirkung vorbestimmter 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 Folgesteuerung gemäß den Zuständen erzeugte veränder-
W) bare Erweiterung treten können. Es ist offensichtlich, daß die Speicherkapazität des Festwertspeichers beachtlich verringert wird.
Außerdem ist ein weilerer Vorteil der Erfindung zu erwähnen, der als Ergebnis der kombinierten Verwendung eines Festwertspeichers und einer festverdrahteten Folgesteuerung die Bezeichnung einer dynamischen Erweiterung rechtfertigt.
Die Ausführung eines Befehls erfnrHr>n im allopmoi.
nen die Ausführung einer Anzahl von aufeinanderfolgenden, ein Mikroprogramm bildenden Mikrobefehlen. Nun läßt sich eine Verringerung der Speicherkapazität des Festwertspeichers durch Mittel erzielen, die das Ausführen des gleichen Befehls durch eine geringere r> 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 tiIs Antwort auf gegebene Zustände des Rechners und gemäß einer geeigneten Taktsteuerung entlang einer Folge von Mikrokommandogruppen fortschreitet, im Verlaufe dessen der Festwertspeichermikrobefehl unverändert bleibt, wird eine Gruppe von aufeinanderfolgenden Mikrobefehlen mit einem gemeinsamen feststehenden und einem veränderbaren Teil verfügbar gemacht. Auf diese Weise wird eine dynamisch veränderbare Erweiterung des Mikrobefehls erzielt und somit die Länge des gespeicherten Mikroprogramms reduziert.
Einen weiteren Vorteil bietet die Tatsache, daß beim vorliegenden Stand der Technik die Ansprechzeit der Festwertspeicher, wie sie bei der gewöhnlich durch MOS-Technologie erzielten Mikroprogrammspeichcrung verwendet werden, erheblich größer ist als die An- Sprechzeit der logischen Schaltungen nach den bipolaren Technologien. Demzufolge ermöglicht die Verwendung der festverdrahteten Folgesteuerung das Erreichen höherer Leistungen in Form von Ansprechgeschwindigkeit. JO
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 Hilfsaufgabc ist, da die Hauptsteueroperationen durch den Festwert-Speicher ausgeführt werden. Sie kann aus einer leicht austauschbaren Funktionseinheit bestehen, und dadurch ist es möglich, eine Anzahl von festverdrahteten Folgesteuerungen zur Verfügung zu haben, die je auf ein spezifisches Erfordernis eingestellt sind.
Weitere Ausführungsbeispiele der Erfindung sind nachstehend anhand von zwei in der Zeichnung dargestellten bevorzugten Ausführungsbeispielen näher beschrieben. Es zeigt
Fig. 1 ein Blockdiagramm einer ersten Ausführungsform der Erfindung;
Fig. 2 ein Blockdiagramm einer zweiten Ausführungsform der Erfindung;
Fig.3 ein logisches Blockdiagramm der zentralen Verarbeitungseinheit eines erfindungsgemäß gesteuerten Rechners;
Fig.4 ein logisches Diagramm eines als festverdrahtete Folgesteuerung verwendeten Netzwerks und
F i g. 5 eine Variante des Netzwerks nach F i g. 4.
F i g. 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 m> der den Rechner steuernden Mikrobefehle geladen wird.
Das Register 2 wird mit Hilfe von dem Bedarf entsprechend aktivierten Eingangskanälen 3, 4, 5, 6 geladen. Beispielsweise kann der Kanal 3 benutzt werden, t>5 um das Register 2 in einen, einer vorher festgelegten Festwertspeicheradresse entsprechenden Aufgangszustand 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 Adressenregistcr 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 eines Komplements h) an den Eingangsleitungen des UND-Gatters 10.
Der Kanal 5 kann benutzt werden, um das Einstellregistcr 2 durch einen unbedingten Sprungbefehl oder einen relativen Adressiermikrobefehl 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 Übertragungs-Zählcinheit U 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 Il kann dem Eingangskanal auch nur den Betrag KK zuführen. Dieser Betrag KK, der addiert, subtrahiert oder übertragen werden kann, wird der Einheit Il über den Kanal 14 zugeführt und wird wie nachstehend noch näher erläutert durch einen unbedingten Sprungmikrobefehl oder durch einen relativen Adressiermikrobefehl erzeugt.
Auch in diesem Falle ist an dem Kanal 5 eine Steuereinheit 30 vorhanden, wobei die auf den neuesten Stand gebrachte Adresse in das Register 2 nur unter vorbestimmten Bedingungen (auf das UND-Gatter 31 gegebene Mikrokommandos fund /^eingegeben wird.
F.inc entsprechende Adressierfunktion kann unter Umständen durch den Kanal 6 ausgeübt werden.
Außer zur Inilialisicrungsoperation erfolgt in allen übrigen Fällen die Abänderung der Adresse in dem Adressen-Register 2 zu bestimmten, durch ein nicht dargestelltes Taktwerk gesteuerten Zeiten.
Der Inhalt 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 soll. Der übrige Teil des Mikrobefehls im Register 13 wird durch den Decodierer 15 (zu dessen Beschreibung auf die vorerwähnte Patentanmeldung hingewiesen wird) decodiert, der eine Gruppe von mit A. B.C. Zbezeichneten elementaren Mikrooperationskommandos liefert Die elementaren Mikrooperationskommandos steuern die Operationen des Rechners und die Abwicklung des Programms: Beispielsweise ermöglicht das Mikrokommando D das Erhöhen der Adresse um eins über den Kanal 4 und das Mikrokommando F. die Adresse über den Kanal 5 auf den neuesten Stand zu bringen. Der bis hierher beschriebene Aufbau entspricht dem heutigen Stand der Technik.
Dieser logische Aufbau wird durch zusStzliche Elemente erweitert, die sowohl die statische als auch die dynamische Erweiterung der durch sie ausgeübten
Steuerfunktionen 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 Freigabeeinheit 17 zugeführt wird, die das Übertragen des Inhalts des Adressenregisters 2 nur zuläßt, wenn an der Leitung 18 ein Freigabcsignal 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 Bedingungsnctzwcrk 34 in den Ausgang der Einheil 16 übertragen werden, die eine Gruppe von mit a, b, c...../. 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 verschen sind, die vorher festgelegte Zustände der zentralen Verarbeilungscinheit des Rechners verkörpernde Signale führen. Diese Signale sind als Ganzes durch den Pfeil 21 dargestellt.
Während der Ausführung eines Programms kann die gleiche Mikroprogrammadresse mehr als einmal vorkommen, wobei jedesmal die Zustände der zentralen Verarbeitungseinheit unterschiedlich sein können und folglich das zusätzliche Mikrokommando 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,.., Zund eine Gruppe von zusätzlichen Mikrokommandos a. b, c, .... /, 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 Mikrokommando h über die Kanäle 4 und 5 jegliche Änderung der Adresse in dem Adressenregister 2. Das gleiche zusätzliche Mikrokommando h oder ein passendes anderes kann den Kanal 6 freigeben, über den passende zusätzliche Mikrokommandos als neue Adressen in das Adressenregister 2 übertragen werden können. Auf diese Weise wirken das Mikroprogrammicrnet/.werk und das statischdynamische Erweiterungsnetzwerk 16 wechselseitig ein, da jedes von ihnen die Arbeitsweise des anderen über vorbeslimmte Bedingungssignale oder Adressencode bedingen kann. Außerdem sei bemerkt, daß die Gruppe von zusätzlichen Mikrokommandos nicht zu dem die Mikrokommandos A. B.C..., Zerzeugenden Mikrobefehl, sondern zu der Adresse des Mikrobefehls in Wechselbeziehung steht Dies erhöht die Anpassungsfähigkeit des dynamischen Erweiterungssystems 16 nach der Erfindung. Wenn die durch das Netzwerk 16 erzeugten zusätzlichen Mikrokommandos durch Decodieren des aus dem Festwertspeicher 1 ausgclesenen und in das Register 13 eingegebenen Mikrobefehls erzielt würden, wurden 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 die Verwendung der in dem Adressenregister 2 enthaltenen Festwertspeicheradresse zum Erzeugen der zusätzlichen Mikrokommandos d;is 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 Mikro-
ri kommandos vorgesehen werden. Selbstverständlich findet das hinwirken des Netzwerks 16 nur statt, wenn an der Leitung ein l'rtigabesignal vorhanden ist und die durch den Decodierer 19 erkennbare vorbestimmte Adresse anliegt.
ίο Wenn auch vielseitig, so hat dieser logische Aufbau doch einige Einschränkungen: Beispielsweise läßt er ein erneutes Zuordnen der Mikroprogramme in dem Festwertspeicher i nicht zu, da dies eine einem vorher festgelegten Mikroprogramm entsprechende Änderung der Adressen und des Netzwerks 16 erfordern würde.
Innerhalb des F.rfindungsbereiches kann eine andere Ausfühiungsform der kombinierten Steuerung mit Hilfe eines Mikroprogrammspeichers und eines logischen statischen und dynamischen Erweiterungsnetzwerks bevorzugt werden, die in F i g. 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.
2r> Die Art des Anschlusses der Mikroprogrammier-Steuereinheit und der festverdrahteten Folgesteuerung ist anders.
Das Decodier- und Bedingungsnetzwerk 16 enthält in diesem Falle ein Zustandsrcgister 22 und ein Freigabe-
jo Flip-Mop 23.
F.in bestimmter Mikrobefehl muß zum Laden des Zustandsregistcrs 22 mittels einer Freigabeeinheit 24 geschaffen werden, wobei Information aus einer Quelle kommt, die von dem gleichen Mikrobefehl ausgewählt
r> worden ist.
Mit anderen Worten kann dieser Mikrobefehl aus drei Abschnitten gebildet werden: Einem Funktionscode, der angibt, daß die auszuführende Operation eine Übertragung ist, einem Adressencode, der anzeigt, in welches Register die Größe übertragen werden soll, und einem dritten Teil, der die Große oder die Adresse des Registers oder die diese Größe enthaltende Speicherstelle in binärer Form ausdrückt.
Bei in dem Register 13 enthaltenem Mikrobefehl die-
4r) scr Art zerlegt das Decodiernetzwerk 15 den Befehl in diese drei Abschnitte und liefert ein mit V bezeichnetes Kommando, das das Eingeben der durch den dritten Abschnitt des Mikrobefehls angegebenen Größe durch Freigeben der beispielsweise eine Gruppe von UND-Gattern enthaltenden Einheit 24 in das Zustandsregister 22 ermöglicht Der Mikrobefehl, der auf den vorerwähnten Transfer-Mikrobefehl folgt, muß, wenn er in Dekaden aufgeteilt ist, ein Signal Y1 erzeugen, das das Flip-Flop 23 setzt. Ein solches Flip-Flop steuert eine Freigabeeinheit 26. die es ermöglicht, auf den Eingang des Decoders 19 den Ausgangskanal 25 des Registers 22 zu geben. Die decodicrtcn Signale im Ausgang aus dem Decoder 19 erzeugen unter den von der zentralen Bearbcitungscinhcit eingestellten und durch Kanäle 21 ange-
bo legten Bedingungen auch in diesem Fall die Folge zusätzlicher Mikrokommandos a, b.c.. ^z, die sich mit der Veränderung dieser Bedingungen verändern können.
Auf diese Weise wird auch in diesem Falle sowohl eine statische als auch eine dynamische Erweiterung der
b5 Mikroopcrationsgruppe erzielt, jedoch unterliegen die Mikroprogramme keinem Zwang mehr und können in dem Festwertspeicher 1 nach Belieben erneut zugeordnet werden, da das Netzwerk 16 in Auswirkung eines
spezifischen 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 Zustandsrcgistcrs 22 bedingt ist. das diesen Zustand so r> lange wie nötig hält. Es sei bemerkt, daß die gleichen zusätzlichen Mikrokommandos oder ein Teil von ihnen zum Modifizieren des Inhalts des Zustandsregisters 22 verwendet werden können.
Bei dieser Wirkung kann ein Eingangskanal 27 durch in eine mittels eines zusätzlichen Mikrokoinmandos wie beispielsweise w gesteuerte Freigabeeinheit .33 freigegeben werden und eine einer passenden Untergruppe von zusätzlichen Mikrokommandos entsprechende Gruppe von Signalen übertragen. Auf diese Weise kann r> die festverdrahtetc 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 fesiverdrahtclen Folgesteuerung wird durch eines der zusätzlichen Mikrokoinmandos gesteuert. Wie in F i g. 2 gezeigt, setzt das zusätzliche Mikrokommando χ 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 Adressenregister 2 enthaltene Adresse kann durch das Mikrokommando h erneut geändert werden.
Die Ausführung des Mikroprogramms kann demzufolge gemäß der nachstehenden Operationsfolge stattfinden. JO
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 Zustandsregistcr 22. Diese Operation wird ausge- η führt, wobei zugleich ein neuer Mikrobefehl in das Register 13 eingegeben wird. An dieser Stelle wird die festverdrahtete Folgesteuerung aktiviert, wobei die zentrale Verarbeitungseinheit durch die Gruppe von aus dem Register 13 zugeführten Mikrokommandos und durch die zusätzlichen, aus der festvcrdrahicten 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 -Ti Aufbau und den über den Kanal 21 empfangenen externen Bedingungen eine Folge von Zustanden 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 Mikrokommandos schritt- ta gleich verändern.
Auf diese Weise ist eine dynamische Erweiterung erzielt worden, als wenn eine Folge von fiktiven Mikrobefehlen in das Register 13 eingegeben würde, um eine Folge von Mikrokommandos zu erzeugen.
Es sei bemerkt, daß die Geschwindigkeit, mit welcher die zusätzlichen Mikrokommandos durch die festverdrahtete Folgesteuerung geliefert werden, durch die Arbeitsgeschwindigkeit des Netzwerks 16 begrenzt ist. das im allgemeinen nach Technologien hergestellt wird, die w> höhere Geschwindigkeit zulassen als die des Mikroprogrammspeichers, wobei demzufolge die dynamische Erweiterung des Mikrobefehls mit Hilfe der festverdrahteten Folgesteuerung nicht nur das Einsparen eines beachtenswerten Teiles der Speicherkapazität des Fest- « wertspeichers I zuläßt, sondern außerdem eine hohe Arbeitsgeschwindigkeit vorsieht |cdoch können wie gesagt die festverdrahtetc Folgesteuerung und der Fcstwertspeicher 1 schriltgleich arbeiten.
Zur besseren Erläuterung der vorstehenden Gedanken wird nunmehr ein Beispiel eines mit Hilfe der fcstverdrahteten Folgesteuerung erweiterten Mikroprogramms im einzelnen beschrieben.
!·" i g. 3 zeigt als Beispiel ein schematisches Blockdiagramm eines Teiles des Aufbaus eines elektronischen Rechners.
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-Rcchenwerksregister 53. eine Anzahl Flip-Flops 54, 55, 56. ..„ 61 zum Speichern besonderer Zuslandsbcdingungcn und passende Verbindiingskanä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 4-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 Beispiel seiner mit Hilfe eines durch die feslverdrahtete Folgesteuerung erweiterten Mikroprogramms gesteuerten Arbeitsweise.
Es sei angenommen, daß die auszuführende Operation die Dezimalsumme aus einem ersten Operanden und einem zweiten Operanden ist. Das Ergebnis soll in dem durch den ersten Operanden belegten Speichcrfeld gespeichert werden. Die Operanden sind aus einer Vielzahl von Bits gebildet, die eine Vielzahl von Dezimalziffcrn und ein Vorzeichen verkörpern. Ihr Aufbau ist wie folgt:
D. I) D. D D, D D, S D. D D. D D. D D.S
erster Operand zweiter Operand
lcder Buchstabe D stellt eine eine Dezimalziffer bedeutende Gruppe aus vier Bits dar, während der Buchslabe S eine ein Vorzeichen bedeutende Gruppe aus vier Bits darstellt.
Die Operanden sind in Spcicherstellen mit einer Anzahl von 8-Bit-Gruppen (Oktette) gespeichert, die durch eine Adresse und eine in Anzahl von Oktetlen ausgedrückte Länge gekennzeichnet sind. Die den Operanden kennzeichnende Adresse ist die Adresse des das Vorzeichen enthaltenden Oktetts.
Der Dezimalsummcnbcfehl 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 1-änge des ersten Operanden in Anzahl von Oktetten.
Wenn dieser Befehl durch den Rechner ausgewertet wird, findet eine als »Heranholen« bezeichnete Vorbcrcitungsphasc unter Steuerung durch ein Mikropro-
gramm statt, die den Rechner zum Ausführen des Befehls voreinstellt sowie die Adressen und Länge der Operanden in vorbestimmtc Register 50 eingibt. Die Beschreibung und Erörterung dieser Heranholphase sind zur Verständlichmachung der Erfindung unnötig und werden daher fortgelassen. Danach wird die Ausführungsphase eingeleitet, die unter Annahme, dall 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 Mikrokommandos und kleine unterstrichene Buchstaben die durch die festverdrahtete Folgesteuerung erzeugten Mikrokommandos. Rechnerzustände anzeigende alphanumerische Signale sind durch ein oder mehrere Schriftzeichen dargestellt, dem der Buchstabe C vorangeht.
In dem veranschaulichten Beispiel hat die festverdrahtete Folgesteuerung den in Fig.4 dargestellten Aufbau, wobei sie dem Festwertspeicher 1 wie in F i g. I 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 Mikrokommando A ist.
Die Ausgänge 101 bis 107 dieses Decodieren liefern die zusätzlichen Mikrokommandos entweder unmittelbar oder über geeignete Gatter, die durch Zustände der jo zentralen Verarbeitungseinheit verkörpernde Signale gesteuert werden.
Die Leitung 101 liefert am Ausgang der festverdrahteten Folgesteuerung ein unbedingtes Mikrokommando a.
Die Leitung 102 ist an ein UND-Gatter 108 angeschlossen, das durch ein Signal CFFI gesteuert wird, das durch ein als »Erstes Mal-Flip-Flop« bezeichnetes Bedingungs-Flip-Flop 90 (F i g. 3) geliefert wird. Der Ausgang des UND-Gatters 108 liefert ein Mikrokommando 4(1 L und außerdem über das ODER-Gatter 109 ein Mikrokommando c
Die Leitung 103 liefert unmittelbar ein Mikrokommando/und ist außerdem an ein UND-Gatter 110 angeschlossen, das durch ein Signal CFL Il gesteuert wird, 4r> das von einem in F i g. 3 mit 61 und als »Ende der Länge des zweiten Operanden-Flip-Flop« bezeichneten Bcdingungs-Flip-Flop erzeugt wird. Der Ausgang des UND-Gatters 110 liefert das Mikrokommando dund zusätzlich über das ODER-Gatler 111 das Mikrokommando h. v>
Die Leitung 104 ist an das durch das vorerwähnte Signal CFFI gesteuerte UND-Gatter 112 angeschlossen. Der Ausgang dieses Gatters liefert das Mikrokommando e und über das ODER-Gatter 109 das Mikrokommando C r)5
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, w) Der Ausgang des UND-Gatters 113 liefert ein Mikrokommando /"und über das ODER-Gatter 111 außerdem das Mikrokommando Λ.
Die Leitung 106 liefert über ein durch das Signal CFFI gesteuertes UND-Gatter ein Mikrokommandog. b5
Die Leitung 107 liefert ein direktes Mikrokommando Iund ist außerdem an ein UND-Gatter 115 angeschlossen, das durch ein Signal CFL I gesteuert wird, das von dem nls »hmlc der Länge des ersten Operanden-Flip-Flop« bezeichneten Bedingungs-Flip-Flop 60 (Fig.3) erzeugt wird. Der Ausgang des UND-Gatters 115 liefert ein Mikrokommando /und über das ODER-Gatter 111 außerdem das Mikrokommando Λ.
Zusammenfassend wird, wenn das Mikrokommando A vorliegt und die Adresse im Register 2 in dem Festwertspeicher 1 einen Mikrobefehl ausliest, der zum Arbeiten der fesiverdrahteten Folgesteuerung aufruft, die Adresse in dem Register 2 durch den Decodierer 100 (F i g. 4), der eine Vielzahl von zusätzlichen Mikrokommandos a. b, c,..., i liefert, decodiert. Die Gruppen von Mikrokommandos A bis Z und die zusätzlichen Mikrokommandos a bis I 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 Mikrobefehle werden durch eingeklammerte Ziffern (151), (152) ... bezeichnet, die als Adressen des zugeordneten Mikrobefehls im Festwertspeicher angesehen werden können.
(151) Und
Der erste Mikrobefehl bestimmt, daß die auszuführende Operation eine algebraische Addition mit Dezimalziffcrn ist. Er liefert ein Mikrokommando 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 festverdrahteien Folgesteuerung auf und erzeugt deshalb das Mikrokommando A, sofern dies nicht ein feststehendes Mikrokommando ist. Die Adresse (151) wird durch den Decodierer 100 decodiert, der auf der Leitung 101 ein Rückseizmikrokommando 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 CFFI erzeugt.
(152) Auslesen ersten Operanden
Dieser Mikrobefehl bestimmt, daß der im Hauptspeicher gespeicherte erste Operand ausgelesen werden soll. Es werden die Mikrokommandokombination Q R Sund die Mikrokommandos Mund Nerzeugt.
Die Mikrokommandokombination Q R S wählt von den Registern 50 dasjenige aus, welches die Adresse des ersten Oktetts des ersten 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 Mikrokommando Nermö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 Folgesteuerung nicht erforderlich ist und demzufolge der Decodierer 100 in Auswirkung der Befehlsadresse (152) kein Kommando erzeuet.
(153) Übertragen ersten Operanden in das
Sammelregister usd Register
sowie Prüfen de- Übereinstimmung
Dieser Mikrobefehl erzeugt die Mikrokommandos C. Q. R, S. T. U, V und erfordert das Arbeiten der festverdrahteten Folgesteuerung 16, die ihrerseits die Adresse (153) decodiert und die zusätzlichen Mikrokommandos b und c erzeugt Das Flip-Flop 90ß ist durch den Mikrobefehl (151) gesetzt worden, und die festverdrahtetc Folgesteuerung nimmt das Bedingungssignal CFF \ auf. Die Mikrokommandos Q, R, S geben an, welches der Register 50 mit dem ersten Oktett des Operanden geladen werden soll. Die Mikrokommandos 7; U. V gestatten durch Freigabe der UND-Gatter 91, 92, 93 die Übertragung der Daten aus dem Hauptspcicherregisler 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 der 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 Fehlersignal 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 4 bis 7 das Vorzeichen bestimmen, wird nur der Ausgang des Decodieren 72 durch ein das UND-Gatter 24 freigebendes Mikrokommando Cin das Flip-Flop 57 übertragen. Das umgekehrte zusätzliche Mikrokommando everhindert durch Sperren der UND-Gatter 39 und 95 die Übertragung des decodierten Ausgangs des Decodieren 73 in das Flip-Flop 57. Dadurch wird die Übereinstimmungsprüfung nur an den Bits 0 bis 3 und nicht an den Vorzeichenbits ausgeführt. Die Vorzeichenbits werden außerdem auf den Decodierer 74 gegeben, der über das durch das Mikrokommando b freigegebene UND-Gatter 96 auf das Flip-Flop 54 einwirkt und es in einen das Vorzeichen verkörpernden Zustand setzt. Das auf diese Weise durch das Flip-Flop 54 gelieferte Bedingungssignal CSI wird auf die arithmetische Einheit 52 gegeben.
(154) Länge des ersten Operanden kürzen —
Sprung auf Bedingung
Dieser 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 Fund C in die Zähleinheit 51 übertragen. Die Länge des ersten Operanden wird um eins gekürzt, auf die Kanäle 64 und 65 gegeben, von wo sie mit Hilfe von die UND-Gatter 99,100 und 92 freigebenden Mikrokommandos F. C und U in die Hauptkanäle 70 und 71 und wieder in das Register übertragen wird, aus dem sie ausgelesen worden ist. Der Ausgang der Zählcinheil 51 wird durch den Decodierer 75 decodiert, wobei, sofern der tatsächliche Wert der Operandenlänge Null ist, ein Signal DEC ausgesandt wird. Dieses Signal setzt über das durch das zusätzliche Mikrokommando /freigegebene UND-Gatter
83 das Flip-Hop 60. Auf diese Weise wird das Bedingungssignal CFLI ausgesandt, das durch den nächstfolgenden Befehl mit der Bedeutung »Ende der Länge des ersten Operanden« benutzt wird.
s Die festverdrahtete Folgesteuerung spricht auf die Adresse (154) durch Liefern eines Signals auf der Leitung 103, d. h. des vorgenannten Mikrokommandos /an. Sofern die Bedingung CFL Il vorhanden ist, werden durch die Folgesteuerung weitere Kommandos geliefen, und zwar werden in diesem Falle die Mikrokommandos d und h erzeugt. Das Mikrokommando d gibt eine vorbestimmte Mikroprogrammadresse an, wobei das Mikrokommando h verhindert, daß die Festwertspeichcradresse in dem Adressenregister 2 wie üblich auf den neuesten Stand gebracht wird, und den Kanal 6 freigibt, um die Adresse g. q.r wie durch das Mikrokommando d bestimmt in das Adressenregister 2 einzugeben.
Wenn die Bedingung CFLII nicht vorhanden ist, Hefert die festverdrahtete Folgesteuerung außer/kein Mikrokommando, wobei das Mikroprogramm auf den nächsten Mikrobefehl übergeht.
(155) Ausler ?n 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 der Mikrobefehl an, daß die Adresse des zweiten Operanden zur weiteren Verwendung durch Vermehren um eins auf den neuesten Stand gebracht werden soll.
Außerdem werden die Mikrokommandos L, F, G erzeugt.
Das Mikrokommando L bewirkt, daß die Zähleinheit 51 den auf ihren Eingang gegebenen Wert um eins erhöht. Die Mikrokommandos Fund G geben die UND-Gatter 97,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älc 70 und 7t ü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.
r>0
(156) Zweiter Operand in Akkumulator
Dieser Mikrobefehl erzeugt Mikrokommandos C T K Zusätzlich spricht der Decodierer 100 der festverdrahteten Folgesteuerung auf diese Adresse an und liefert auf der Leitung 104 ein Signal.
Das Bcdingungssignal CFFI, das vorhanden ist, gibt das UND-Gatter 112 frei und erzeugt die Mikrokommandos c und e.
bo Die Mikrokommandos Vund Kgeben die UND-Gatter 91 und 93 frei, um Daten aus dem Hauptspeicher über die Hauptkanälc 70 und 71 in den Akkumulator zu übertragen. Gleichzeitig erscheinen die Daten am Ausgang des Akkumulators und werden auf die Deco-
br> diercr 72 und 73 gegeben, die sie auf Übereinstimmung prüfen.
Sofern der die Daten darstellende Binärcode nicht in den die Dezimulziffern 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 das erste Oklett des zweiten Operanden ist, in welchem die Bits 4 bis 7 das Vorzeichen angeben, wird nur der Ausgang des Decodierer« 72 durch das Mikrokommando C in das Flip-Flop 57 übertragen, während das umgekehrte zusätzliche Mikrokommando Cdie UND-Gatter 39 und 95 sperrt und das Übertragen des Ausgangs des Decodierers 73 verhindert Die Übereinstimmungsprüfung wird demzufolge nur an den Bits 0 bis 3 ausgeführt und nicht an den Vorzeichenbits.
Die Vorzeichenbits 4 bis 7 werden außerdem auf den Decodierer 74 gegeben, wobei sein durch das auf das UND-Gatter38 einwirkende Mikrokommando e freigegebener Ausgang das Flip-Flop 55 in einen das Vorzcichen verkörpernden Zustand setzt. Das durch dieses Flip-Flop 55 gelieferte Signal CSU wird auf die arithmetische Einheit 52 gegeben und steuert ihr Arbeiten beim nächsten Schritt des Mikroprogramms.
(157) Länge des zweiten Operanden kürzen —
Sprung auf Bedingung
Wie der Mikrobefehl (154) bewirkt dieser Befehl das Kürzen der Länge des in einem der Register 50 enthaltenen Operanden um eins. 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ähleinheil 51 durch den Decodierer 75 decodiert, wobei, wenn die Länge des zweiten Operanden auf Null reduziert ist, dieser Ausgang das Flip-Flop 61 setzt, das die Bedingung CFL Il erzeugt.
Andererseits decodiert die festverdrahtcle Folgesteuerung die Mikrobefehlsadresse und erzeug! auf der Leitung 105 ein Signal, welches das Mikrokommando rn zum Setzen des Flip-Flops 61 über das UND-Gatter 84 liefert, sofern das Signal DECvorhanden ist.
Außerdem nimmt die fcstvcrdrahtctc Folgesteuerung, sofern die Übereinstimmungsbedingung nicht bestätigt wird, d. h. wenn das Flip-Flop 57 gesetzt wird, das Bcdingungssignal CDI auf: Das Signal der Leitung 103 wird über das UND-Gatter 113 übertragen und erzeugt die Mikrokommandos fund h. Das Mikrokommando h (Fig. 1) 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 f angegebene Adresse q, g, r in den Festwertspeicher 1 einzugeben. Der an dieser Adresse ausgelesene Mikrobefehl stoppt das Programm.
Wenn dagegen dus 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 A1 Q, R, S. H, I, J, K. V. Die durch den Decodierer 100 decodicrtc Adresse (158) liefert auf der Leitung 106 ein Signal, das seinerseits, sofern das Signal CZ-FI vorhanden ist, das Mikrokommando g 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 H gibt die Übertragung der Bits 0 bis 3 aus dem durch die
s Mikrokommandos Q, R, S benannten Register in die arithmetische Einheit 52 über den Kanal 62 durch Einwirken 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.
Entsprechend gibt das Mikrokommando / die Übertragung der Bits 0 bis 3 aus dem Akkumulator 53 in die arithmetische Einheit 52 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 g 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 g freigegebe-
ncn Ü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 Flip-Flop 59 erzeugtes Signal.
das über die-Leitung 85 und das durch das Mikrokommando /freigegebene UND-Gatter 86 angelegt werden kann, berücksichtigt, ledoch ist dieses Flip-Flop 59 durch das Mikrokommando a rückgesetzt worden, so daß demzufolge bei diesem Schritt der Übertrag gleich
jo 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 beim nächsten Schritt des Mikroprogramms durch das Flip-Flop 58 erzeugte Signal COsetzt seinerseits das Flip-Flop 59.
(159) Inhalt des Akkumulators in Hauptspeicher einschreiben
Dieser Mikrobefehl cr/.cugt die Mikrokommandos A, Q, R, S, M. O. R V.
Die Mikrokommandos 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 des Hauptspeichers übertragen. Ein weiteres Miso krokommando 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 ± zum Rücksetzen des Flip-Flops 90 und gegebenenfalls zum 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ürzungsoperution auf Null reduziert worden ist, werden die Mikrokommandos / und h erzeugt. Wie vorstehend erörtert, gibt das Mikrokommando h das Eingeben b5 einer durch das Mikrokommando / benannten Adresse £. g, rin das Adressenregister 2 frei und sperrt die übrigen Kanäle zum auf-den-neucsten-Stand-bringen der Mikroprogrammadressc. Das Mikroprogramm springt
auf die angegebene Adresse.
Sofern die Linge des ersten Operanden nicht Null ist, schaltet das Mikroprogramm auf den nächsten Mikrobefehl fort
(160) 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 & Q, S das die Adresse des ersten Operanden enthaltende Register 50 an.
Die Mikrokommandos F, G, U geben die Übertragung dieser Adresse Ober die Kanäle 62 und 63 in die Zahleinheit Sf frei, die sie (unter Steuerung durch das Mikrokommando 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.
Gleichzeitig gibt das Mikrokommando E an, daß die Adresse des nächsten Mikrobefehls im Festwertspeicher die Adresse (152) ist, worauf das Eingeben dieser Adresse in das Adressenregister 2 freigegeben wird. Das Mikroprogramm läuft ab bei Wiederholung 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 CFFI 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 b,ce und g 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 Tcilausführung eines Befehls mit Hilfe eines Mikroprogrammierspcicherung und festverdrahtete Folgesteuerung verwendenden kombinierten Steuersystems erlaubt es, Merkmale der Erfindung zu erläutern.
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 (151),(153),(154),(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, c, d, e, f, g. h, j, J1I1 m in jeder beliebigen benötigten Kombination zu erzeugen.
II. Der Betrieb der festverdrahteten Folgesteuerung ist an den Betrieb des Mikroprogrammierspeichcrs nicht gebunden: sie wird nur bei Bedarf in Betrieb gesetzt. Beispielsweise machen die Mikrobefehle (152) und (153) 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 (154) und (157) zeigt sich, daß diese Mikrobefehle außer der Adresse des den Operanden enthaltenden (durch verschiedene Kombinationen von P. Q, /ty adressierten Registers miteinander übereinstimmen. In Auswirkung der beiden verschiedenen Adressen (154) und (157) erzeugen sie jedoch verschiedene Mikrokommandos.
IV. Die zusätzlichen Mikrokommandos der festverdrahteten Folgesteuerung sind nicht nur von den
s Adressen des Mikrobefehls, sondern außerdem von den Bedingungssignalen 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
is 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 (154) betrachtet
Der erste (153) erzeugt eine Gruppe von Mikrokommandos:
A. Q. R. S. T. U, V, C
und der zweite (154) die Gruppe:
A.Q.R.S.F.G.U.
Die Operandenadresse ist für beide Befehle dieselbe: Sie weichen nur durch die lediglich im ersten Mikrobeis fehl vorhandenen Mikrokommandos T, V, C und durch die nur in dem zweiten Mikrobefehl vorhandenen Mikrokommandos F, G voneinander ab.
Ein einziger sämtliche Mikrokommandos A. Q, R, S, T, U. V.C.F.G erzeugender Mikrobefehl kann beide Mikrobefehle ersetzen, sofern eine geeignete Einrichtung vorgesehen ist, um die dem Mikrobefehl zugestandene Zeit aufzuteilen. Diese Einrichtung ist als Beispiel in F i g. 5 gezeigt, die nur die zur Verständlichmachung der Arbeitsweise der für die Erfordernisse der nachstehend beschriebenen Arbeitsweise abgeänderten festverdrahteten Folgesteuerung nach Fig.4 notwendigen Bestandteile zeigt.
Wenn die durch den Decodierer 100 decodierte Adresse die Befehlsadresse (153) ist, wird an der Leitung 102 ein Signal erzeugt und auf die Takteinheit 120 gegeben, die die Taktsteuerung der Mikrokommandos 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
u) umgekehrtes Signal 777 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 102/4 bzw. mit der Leitung 103 frei.
Das Signal an der Leitung 102/4 erzeugt über das
b5 UND-Gatter 108 und das ODER-Gatter 109 die bereits bekannten Mikrokommandos b und cund zusätzlich ein Mikrokommando k. Das Signal an der Leitung 103 liefert das bereits bekannte Mikrokommando /und unter
19
vorbestimmten Bedingungen außerdem die Mikrokommandos d und h. 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 Mikrokomnandos Fund G während der ersten Phase zu unterbinden, während das nur in der zweiten Phase vorhandene Mikrokommando /dazu benutzt werden kann, um in dieser zweiten Phuse ti das Einwirken der Mikrokoniinandos T, V, C zu unterbinden. Auf oiese Weise wird der die Mikrokommandos iu
A, Q. R. S, T, U. V, C F, G erzeugende Mikrobefehl im *_,. Verlaufe eines Mikrobefehlszyklus in zwei Mikrobefeh-Vj Ie aufgeteilt, von welchen der erste die Mikrokommandos A Q, R, S. T, U, V. Cund der zweite Mikrokomman- J" dos A, Q, R, S. F, G, U erzeugt, die dem Mikrobefehl is
(153) bzw. dem Mikrobefehl (154) entsprechen. ·.'* Es leuchtet ein, daß die gleiche Kombination und sta-
r* tisch-dynamische Erweiterung 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.
Hierzu 4 Blatt Zeichnungen
30
35
40
45
50
55
60
h5

Claims (5)

Patentansprüche:
1. Rechenanlagc mit
einer zentralen Verarbeitungscinhcit mit einer Taktgebungsvorrichtung. mit einer Mikroprogrammicr-Steucreinhcit mit einem Mikroprogrammspeicher zum Speichern einer Folge von Mikrobefehlen,
mit einem Mikroadrcssenrcgister zum Speichern eines Mikrobefehlsadressen-Codes und Adressieren des Mikroprogrammspeichers, mit einem Mikrobcfchlsrcgistcr zum jeweils gleichzeitigen Speichern der Mikrobefehle, die aus dem Mikroprogrammspeicher gelesen werden, und mit einem ersten Decoder zum Decodieren des Inhalts des Mikrobefehlsregisicr.i in einer Fo:ge von Mikrokommandos,
dadurch gekennzeichnet, daß er eine festverdrahtete Folgesteuerung (16) mit einem /weilen Decoder (19) und einer Toreinrichtung (17) aufweist, um den Inhalt des Mikroadresscnrcgisters mit dem Eingang des zweiten Decoders zu koppeln, wobei die Toreinrichtung (17) auf eines der Mikrokommandos anspricht, das infolge der Decodierung vorher- bestimmter der Mikrobefehle aktiviert ist, und wobei der zweite Decoder am Ausgang eine Folge zusätzlicher Mikrokommandos liefert, die gemeinsam mit den Mikrokommandos am Ausgang aus dem ersten Decoder die Arbeit der Rechcnanlage steuern.
2. Rechenanlage mit
einer zentralen Verarbeitungseinheit, mit einer Taktgebungsvorrichtung, mit einer Mikroprogrammier-Steuereinhcit mit einem Mikroprogrammspeicher zum Speichern einer js Folge von Mikrobefehlen,
mit einem Mikroadresscnrcgistcr zum Speichern eines Mikrobefehlsadressen-Corlcs und Adressieren des Mikroprogrammspeichers, mit einem Mikrobcfchlsregister zum jeweils gleichzeitigen Speichern der Mikrobefehle, die aus dem Mikroprogrammspeicher gelesen werden, und mit einem ersten Decoder zum Decodieren des Inhalts des Mikrobefehlsrcgisters in einer Folge von Mikrokommandos, dadurch gekennzeichnet, daß er eine fest verdrahtete Folgesteuerung (16) aufweist mit einem zusätzlichen Register (22) zum Speichern zumindest eines Teils des Inhalts des Mikrobcfehlsregistcrs und einem zweiten Decoder (19) und mit einer Toreinrichlung (26) zum Koppeln des Inhalts des zusätzlichen Registers an den Eingang des zweiten Decoders, wobei die Toreinrichtung auf eines der Mikrokommandos anspricht, das infolge der Decodierung von vorherbestimmten dieser Mikrobefehle aktiviert ist, wobei der zweite Decoder am Ausgang eine Folge zusätzlicher Mikrobefehle liefert, die zumindest mit einem Teil der Mikrobefehle verbunden sind, die einem der Mikrobefehle vorangehen, und wobei die zusätzlichen Mikrokommandos die Arbeil bo der Rechenanlagc zusammen mit den Mikrokommandos am Ausgang des ersten Decoders urul verbunden mit einem der vorherbestimmten Mikrobefehle steuern.
3. Rechenanlage nach Anspruch 1 oder 2. dadurch t>5 gekennzeichnet, daß die festverdrahtete Folgesteuerung ein Bedingungsnetzwerk (34) umfaßt, das im Eingang mindestens einen Teil der zusätzlichen Mikrokommandos und Bedingungssignale (21) empfängt, die in der Rechenanlage bestehende Bedingungen darstellen, wobei dieses Bedingungsnetzwerk im Ausgang eine Foige von konditionierten Mikrokommandos abgibt
4. Rechenanlage nach Anspruch 1 oder Z dadurch gekennzeichnet, daß die festverdrahtete Folgesteuerung zusätzliche Schaltungseinrichtungen (121,122) umfaßt, die im Eingang zumindest einen Teil der zusätzlichen Mikrokommandos empfangen und Taktgcbersignalc, die aus der Taktgebereinheit (120) kommen.
wobei die zusätzliche Sleuerschaltungseinrichtung im Ausgang eine Folge zeillich bestimmter Mikrokommandos abgibt
5. Rechenanlage nach Anspruch 1 oder 2, gekennzeichnet durch weitere Toreinrichtungen (9,10), die von ausgewählten der zusätzlichen Mikrokommandos zum Steuern des Ladens des Mikroadressenregisters gesteuert werden.
DE2318069A 1972-04-07 1973-04-06 Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix Expired DE2318069C2 (de)

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 DE2318069A1 (de) 1973-10-31
DE2318069C2 true 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)

* Cited by examiner, † Cited by third party
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
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
US4156278A (en) * 1977-11-22 1979-05-22 Honeywell Information Systems Inc. Multiple control store microprogrammable control unit including multiple function register control field
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
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data

Family Cites Families (6)

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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NICHTS-ERMITTELT

Also Published As

Publication number Publication date
DE2318069A1 (de) 1973-10-31
JPS4911043A (de) 1974-01-31
GB1421017A (en) 1976-01-14
JPS5547418B2 (de) 1980-11-29
FR2182452A5 (de) 1973-12-07
US3872447A (en) 1975-03-18
IT951233B (it) 1973-06-30
CA991753A (en) 1976-06-22

Similar Documents

Publication Publication Date Title
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE1449531C3 (de) Prozessor, vorzugsweise für ein modul ares Mehrprozessorsystem
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2113890C2 (de) Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE2715073C3 (de) Mikroprogrammierte Rechner-Steuervorrichtung
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE2813128A1 (de) Mikroprogrammspeicher
DE2746505C2 (de)
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE3043653C2 (de) Datenverarbeitungsanlage
DE1269393B (de) Mikroprogramm-Steuerwerk
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE1806535A1 (de) Digitale Rechenanlage
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2744252C2 (de)
DE1222289B (de) Datenverarbeitungseinrichtung

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