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 matrix

Info

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
Application number
DE2318069A
Other languages
English (en)
Other versions
DE2318069C2 (de
Inventor
Giancarlo Dipl Ing Tessera
Ferruccio Dipl Ing 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

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)

  1. Patentansprüche
    Digitales 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 zentralen
    309844/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,3
    309844/0850
    Leerseite
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 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)

* 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
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)

* 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
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