DE2505384A1 - Steuerteil fuer eine elektronische datenverarbeitungsanlage - Google Patents

Steuerteil fuer eine elektronische datenverarbeitungsanlage

Info

Publication number
DE2505384A1
DE2505384A1 DE19752505384 DE2505384A DE2505384A1 DE 2505384 A1 DE2505384 A1 DE 2505384A1 DE 19752505384 DE19752505384 DE 19752505384 DE 2505384 A DE2505384 A DE 2505384A DE 2505384 A1 DE2505384 A1 DE 2505384A1
Authority
DE
Germany
Prior art keywords
memory
control
network
command
programmed
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.)
Ceased
Application number
DE19752505384
Other languages
English (en)
Inventor
William H Beall
George F Reyling
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.)
National Semiconductor Corp
Original Assignee
National Semiconductor Corp
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 National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of DE2505384A1 publication Critical patent/DE2505384A1/de
Ceased 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation

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

Steuerteil für eine elektronische Datenverarbeitungsanlage
Für die vorliegende Anmeldung wird die Priorität aus der entsprechenden US-Anmeldung Serial-No» 4-77 053 vom 6„ Juni 1974-in Anspruch genommen«,
Die vorliegende Erfindung bezieht sich auf einen Steuerteil für eine Datenverarbeitungsanlage, mit einem Befehlsspeicher zur Speicherung von Befehlen einer ersten Befehlsebene, jeweils einschließlich eines Operationskodes, sowie mit einem programmierten Steuerspeicher für eine Vielzahl von Befehlen einer zweiten Befehlsebene, sowie einer Registereinheit zur Speicherung der zu verarbeitenden Daten, wobei eine Rechen- und Verknüpfungseinheit mit der genannten Registereinheit und dem genannten programmierten Steuerspeicher zur Ausführung gesteuerter Rechenoperationen an denjenigen Daten verbunden ist, die der Rechen- und Verknüpfungseinheit zugeführt werden, und zwar gemäß Befehlen aus dem programmierten Steuerspeicher. Dabei betrifft die vorliegende Erfindung insbesondere programmierbare VerknüpfungsnetzwBDke für mikroprogrammierte Steuerteile der vorgenannten Art, zur Umwandlung vorgegebener Operationskodes
1
509851/0688
in die entsprechenden Steuerspeicheradressen für die zugehörigen Mikroprogramme oder Mikroroutinen,
In einer mikroprogrammierten Rechenanlage gibt es zwei Programmoder Befehlsebenen, nämlich einmal die Ebene der Mikrobefehle und zum andern die Ebene der Makrobefehle, Die Ebene der Makrobefehle ist in einer Folge oder in einer Gruppe von Befehlen enthalten, die allgemein als Programm bekannt sind, das durch einen Programmierer oder eine Bedienperson der Rechenanlage angefertigt wird, um bestimmte Aufgaben zu lösen,, Das Programm in der Ebene der Makrobefehle für die Rechenanlage schließt eine Gruppe von Anlagenoperationen, wie z„Be Addition, Multiplikation
und derglo, ein, die nach der Verfügung des Programmierers ausgewählt werden können» Innerhalb der Rechenanlage vermögen diese Anlagenoperationen eine Gruppe von Mikroroutinen auszuwählen, die Mikrobefehle einschließen, die solchen Operationen, wie Z0B0 Verschieben, Zählen, Wortübertragung und derglo entsprechen, wobei diese Mikrobefehle durch den Entwickler der Rechenanlage ausgewählt werden können.
Ein Teil jedes Befehls in der Ebene der Makrobefehle ist eine Binärzahl, die als Operationskode bezeichnet wird, und dieser Operationskode wird einer Steuereinheit innerhalb der Rechenanlage zugeführt, um eine Befehlsfolge aus einer Anzahl von möglichen Folgen zur Ausführung auszuwählen. Bei einer mikroprogrammierten Rechenanlage wird der Operationskode eines Maschinenbefehls als eine Adresse in einem Steuerspeicher verwendet,, Dasjenige Mikroprogramm, das eine Einsprungstelle bei jener Adresse aufweist, wird ausgeführt, um die gewünschte Steuerfunktion zu vollziehen,
2
509851/0688
Die im Steuerspeicher abgespeicherten Mikrobefehle bewirken, daß die Steuereinheit innerhalb der Rechenanlage die grundlegenden Steuerfunktionen dieser letzteren ausführt, und veranlassen die Rechen- und Verknüpfungeinheit (arithmetic and logic unit, ALU) dazu, die gründlegenden Datenverarbeitungsfunktionen der Rechenanlage an denjenigen Daten auszuführen, die in einer Registereinheit gespeichert sind0 . .·
Die beiden grundlegenden Funktionen des mikroprogrammierten Steuerspeichers in Verbindung mit der Steuereinheit werden als "Abruf-Funktion" und als "Ausführungsfunktion" bezeichnet« Bei der Durchführung der "Abruf-Funktion" vollzieht der Steuerteil, der die Steuereinheit und den Steuerspeicher einschließt, eine Reihe von Mikrobefehlen, die bewirken, daß ein Makrobefehl aus einem äußeren Speicher, der solche Makrobefehle enthält, abgerufen und in einen Befehlsspeicher innerhalb der Steuereinheit gebracht wird.
Für jeden Makrobefehl, der abgerufen oder in den Befehlsspeicher geliefert worden ist, gibt es eine spezielle Reihe von Mikrobefehlen oder eine Mikroroutine in dem mikroprogrammierten Steuerspeicher, diese Routine ist auszuführen, um die Befehlsausführung zu erbringen, die dem jeweiligen Makrobefehl entspricht« Wenn beispielsweise das Makroprogramm den Befehl "Register addieren" einschließt, so veranlaßt die Mikroroutine den Zugriff zu den Daten in den entsprechenden Registern in der Registereinheit und bewirkt, daß die Rechen- und Verknüpfungseinheit die ausgewählten Daten zueinander addiert» Dann veranlaßt die Mikroroutine die Speicherung der resultierenden Summe in einem
- 3 509-861/00-88
geeigneten Register innerhalb der Registereinheit. Nach vollbrachter Befehlsausführung kehrt der Steuerteil zur Betriebsart der "Abruf-Funktion" zurück, um einen weiteren Makrobefehl auszulesen oder abzurufen.
Um den Zugriff auf die richtige Mikroroutine im Steuerspei.cher zu vollziehen, muß der Operationskodeteil des Befehlsspeicherinhalts eingesetzt werden, um die Adresse des anfänglichen Mikrobefehls für die Mikroroutine festzulegen,. Diese Anforderung kann insofern ein beträchtliches Problem darstellen, als der Operationskodeteil der verschiedenen Befehle für eine spezielle Rechenanlage, von variabler oder unterschiedlicher Länge ist« Im Fall einfacher Rechenanlagen kann die Länge einiger der Operationskodeteile oder -felder die Anzahl der binären Zeichenelemente oder Bits überschreiten, die für die Adressierung des Steuerspeichers zugelassen sind, der die Mikrobefehle enthält. Beispielsweise kann der Befehlsaufbau bei einem Satz von 16-Bit-Makrobefehlen ein Operationskodefelä enthalten, das sich von vier bis zehn Bits in seiner Länge änderte In dem Fall, daß der Steuerspeicher weniger als einige hundert Worte an Speicherkapazität aufweist, würde der Operationskode nicht direkt dazu eingesetzt, die Adresse der entsprechenden Mikroroutine zu bestimmen, weil in gewissen Fällen die Adresse über die Speichergrenzen des Steuerspeichers hinausgehen würde» In dem Fall, daß der Steuerspeicher mehr als 1024 Worte enthalten würde, was 10 Adressen-Bits entspricht, ist es wünschenswert, dem Entwickler des Mikroprogramms die Auswahl der Startadressen zu überlassen, anstatt daß derartige Startadressen direkt durch den Operationskode festgelegt werden. Im letzteren Fall könnten derartige
509851/0688
Adressen an ungeeigneten Stellen im Mikroprogramm erscheinen. Daher ist es wünschenswert, eine Einheit zu haben, die einen beliebigen Operationskode umformt oder in einer beliebigen Steuerspeicheradresse abbildet. In der Vergangenheit ist es üblich gewesen, diskrete Verknüpfungsgatter einzusetzen, um diese Funktion auszuführen,, Jedoch ist durch die Bemühung, die Anzahl der verwendeten Gatter möglichst niedrig zu halten, die Auswahl an Operationskodes und Startadressen beschränkt worden«.
In der Vergangenheit sind Steuerspeicher mit Festwertspeichern (read-only memories, ROMs) ausgeführt wordeno Ein Festwertspeicher als Steuerspeicher erfordert die vollständige Kodierung aller seiner Adressen-Eingangsleitungen» Demgemäß muß die Zahl der Adresseneingangsleitungen bei einer Rechenanlage mit Makrobefehlen, die 10 Bits an Informationen für den Operationskode aufweisen, mindestens 10 betragene Somit würde ein mit einem Festwertspeicher ausgeführter Steuerspeicher mindestens 1024 Speicherstellen erfordern O
Die Forderung nach einer derartig umfangreichen Festwertspeieheranordnung kann mitunter dadurch umgangen werden, daß ein zweistufiger Steuerspeicher eingesetzt wird, wobei eine Stufe eine partielle Dekodierung, und die andere Stufe die tatsächliche Steuerung ausführtβ Diese Verfahrensweise ist jedoch nicht allgemeingültig, und wegen des verhältnismäßig langsamen Zugriffs auf zwei Ebenen in den MOS-Festwertspeichern könnte der Durchsatz der Daten durch die Anlage bis auf .einen nicht annehmbaren Wert herabgesetzt werden,. Außerdem müßten bei einer Ausführung mit Festwertspeicher, wenn mehrere Befehle sich in gemeinsame
- 5 - S09851/0688
Kode-Segmente im Mikroprogramm teilen, entweder diese Segmente wiederholt werden, oder es muß ein -Sprung zu einem gemeinsamen Segment im Mikroprogramm vorgesehen sein,, Da derartige Sprünge die Einfügung eines besonderen Mikrobefehls im Mikroprogramm erfordern, um diese Funktion auszuüben, wobei diese Mikrobefehle im Festwertspeicher zu speichern sind und einen zusätzlichen Zyklus für die Ausführung erfordern, verschlechtern sie den Durchsatz der Daten durch das System.
In der Vergangenheit ist es ebenfalls üblich gewesen, das Multiplexverfahren auf die erforderlichen Kodes bei der Einbringung in die Speicherelemente des Festwertspeichers anzuwenden, sofern nicht alle Kodekombinationen der Befehle und Zeitsteuerungsdaten verwendet werden,, Dieses Verfahren komprimiert effektiv die Datenmenge und reduziert die Anzahl von Festspeicherworten, die erforderlich sind, um die Ausgangsdaten zu speichern,, Wenngleich die Verwendung von Multiplexern die Anzahl der im Festwertspeicher
sie
erforderlichen Stellen bedeutend vermindert, so trägfzur Verlängerung der Zeit zur Durchführung der Ausgabe der entsprechenden Datenmenge bei» Weiterhin ist dieses Verfahren verhältnismäßig schwierig auszuführen, Abänderungen sind ebenfalls nicht besonders einfach durchzuführen und nicht allgemein einsetzbar.
Daher ist es Aufgabe der vorliegenden Erfindung, einen mikroprogrammierten Steuerteil mit einem programmierbaren Verknüpfungsnetzwerk zur Umwandlung der Operationskodes in entsprechende Steuer-Speicheradressen in einer digitalen Datenverarbeitungsanlage zu schaffen, dabei ist entweder der Steuerspeicher oder die zugehörige Steueradresseneinheit mit diesem Verknüpfungsnetzwerk ausgeführt,
509851/0688
dabei gilt es, eine Adressier- und Speichervorrichtung zu schaffen, die als programmierbares Verknüpfungsnetzwerk ausgeführt ist, dieses Verknüpfungsnetzwerk soll -wahlfrei durch "eine Maske zur Herstellung der erforderlichen Schaltungsalgebra programmierbar sein.
Weiterhin ist Aufgabe der vorliegenden Erfindung, eine Adressier- und Speichervorrichtung, die als programmierbares Verknüpfungsnetzwerk ausgeführt ist, für alle programmierbaren Steuerungsebenen und für alle zueinander parallelen Steuerungsabschnitte einer vorgegebenen Programmebene innerhalb einer Datenverarbeitungsanlage zu schaffen»
Der zur Lösung der gestellten Aufgabe vorgeschlagene Steuerteil · nach der vorliegenden Erfindung ist dadurch gekennzeichent, daß eine programmierte Adressenerzeugungsschaltung mit dem genannten Befehlöspeicher und dem programmierten Steuerspeicher verbunden ist zur Erzeugung der Adressen entsprechend den Operationskodes der Befehle, die aus dem genannten Befehlsspeicher ausgewählt worden sind, und zur Zuführung der genannten Adressen an den genannten programmierten Steuerspeicher, zur Auswahl von Befehlen, die der genannten Rechen- und Verknüpfungseinheit zugeführt werden sollen, daß ein programmierter Steuerspeicher oder die Adressenerzeugungsschaltung ein programmierbares Verknüpfungsnetzwerk mit einer Vielzahl von Eingangsanschlüssen umfaßt y daß ein erster, programmierbarer Teil des Verknüpfungsnetzwerkes eine erste adressierbare Schaltungsanordnung zur Erzeugung einer Vielzahl von Signalen an Ausgängen einschließt, daß jedes der Signale an den Ausgängen einem logischen Teilprodukt entspricht und infolge
— 9 —
509851/068 8
der Anwesenheit ausgewählter Eingangssignale an den genannten Eingangsanschlüssen auftritt, und daß ein programmierbarer Datenteil eine "ODER"-Verknüpfungsanordnung umfaßt, um auf selektive Weise die genannten logischen Teilprodukte miteinander zu kombinieren und eine Vielzahl von Ausgangssignalen zu bilden, die den erforderlichen Bitkonfigurationen am Ausgang entsprechen,,
Der Gegenstand der vorliegenden Erfindung weist den klaren Vorteil auf, daß das programmierbare Adressieren und die Datenausgabe mit einer möglichst geringen Anzahl von Bauteilen ermöglicht werden» Unter gewissen Umständen kann die vorliegende Erfindung funktioneile oder organisatorische Vorteile schaffen, aus denen sich höhere Verarbeitungsgeschwindigkeiten ergeben.
Außerdem wird beim Erstellen des erfindungsgemäßen Mikroprogramms erheblich mehr Freiheit beim Entwurf der Rechnerarchitektur als bisher zugestanden, und daher ist ein derartiger Entwurf weitaus einfacher.
Diese und weitere Merkmale und Vorteile der vorliegenden Erfindung werden noch deutlicher aus der nachfolgenden, ausführlichen Beschreibung der Ausführungsbeispiele und anhand der beigefügten Zeichnungen. Es zeigen:
Fig. 1 : eine Darstellung eines Blockschaltbildes eines
Teils einer Datenverarbeitungsanlage, der einen Steuerteil nach der vorliegenden Erfindung umfaßt
509851/0681
Fig. 2A - 2Ds Darstellungen einer Anzahl von Befehlsaufbauten, die in einer bestimmten Rechenanlage eingesetzt werden können und die noch wirkungsvoller durch den Gegenstand der vorliegenden Erfindung verarbeitet werden,
Figo 3ί ein Blockschaltbild eines erfindungsgemäßen
programmierbaren Verknüpfungsnetzwerks,
Figo 4: ein Blockschaltbild einer ersten Ausführungs
form der vorliegenden Erfindung,
Figo 5: ein Blockschaltbild einer zweiten Ausführungs
form der vorliegenden Erfindung, und
Figo 6j ein Blockschaltbild einer dritten Ausführungsform
der vorliegenden Erfindung,
Es wird auf Figo 1 bezug genommen, dort ist ein Teil einer Datenverarbeitungsanlage dargestellt, der einen externen Speicher 10, einen Steuerteil 12 und einen Verarbeitungsteil 14- umfaßte Der externe Speicher 10 enthält die Makrobefehl·,-, 'von denen jeder eine bestimmte Reihe von Mikrobefehlen oder eine Mikroroutine festlegt, die ausgeführt werden muß, um die dem jeweiligen Makrobefehl zugeordnete Ausführungsfunktion zu erledigen0 Der Steuerteil 12 schließt eine Steuereinheit 16 ein, die ein Befehlsregister 18 enthält, das dort zur Aufnahme und zum Festhalten von Makrobefehlen angeordnet ist«, Ein Ausgang des Befehlsregisters 18 wird einer Adressenerzeugungsschaltung 20 zugeleitet, die den Operationskode
- 9 -5 09S51/Q68«
des Makrobefehls in eine entsprechende Adresse überführt oder abbildet« Diese Adresse wird einem Steuerspeicher 22 zugeführt, der die Mikrobefehle enthalte
Der Verarbeitungsteil 14 umfaßt eine Registereinheit 24-, die eine Vielzahl von Registern aufweist, um darin Daten zu speichern, die verarbeitet werden sollen,, Der Verarbeitungsteil 14 schließt ebenfalls eine Rechen- und Verknüpfungseinheit (arithmetic and logic unit, ALU) 26 ein, die die Verarbeitung dieser Daten ausführte Mikrobefehle im Steuerspeicher 22 bewirken, daß die Steuereinheit 16 die grundlegenden Steuerungsfunktionen der Rechenanlage durchführt, und'bewirken ferner, daß die Rechen- und Verknüpfungseinheit 26 die grundlegenden Datenverarbeitungsfunktionen der Rechenanlage an denjenigen Daten durchführt, die in der Registereinheit 24- gespeichert sind» Die beiden grundlegenden Punktionen des mikroprogrammierten Steuerspeichers 22 in Verbindung mit der Steuereinheit 16 können als "Abruf" und "Ausführung" angesehen werden,, Um die Funktion des "Abrufs" auszuführen, vollzieht der Steuerteil 12 eine Reihe von Mikrobefehlen, die zur Folge haben, daß ein Makrobefehl aus dem externen Speicher 10 in das Befehlsregister 18 eingelesen oder abgerufen wirde
Für jeden in das Befehlsregister 18 eingelesenen Makrobefehl gibt es eine bestimmte Reihe von Mikrobefehlen in dem Steuerspeicher 22, die ausgeführt werden müssen, um die Funktion der "Ausführung" zu vollziehen. Wenn beispielsweise der Makrobefehl ein Befehl der Form "Register addieren" ist, so führt die Mikroroutine Zugriffe auf Daten in den entsprechenden Registern der Registereinheit 24-aus und veranlaßt, daß die Rechen- und Verknüpfungseinheit 26 die
509851/0688
ausgewählten Daten zueinander addiert. Anschließend speichert dieselbe Mikroroutine die Ergebnisse einer derartigen Addition in einem geeigneten Register der Regist er einheit 24-. Nach vollständiger Befehlsausführung kehrt der Steuerteil 12 zur Funktion des "Abrufens" zurück, um einen weiteren Makrobefehl abzurufen,,
Wie zuvor erwähnt, muß der Operationskodeteil des Inhaltes des Befehlsregisters 18 eingesetzt werden, um die Anfangsadresse eines Mikrobefehls der Mikroroutine anzugeben. Der Operationskodeteil der verschiedenen Befehle für eine bestimmte Rechenanlage ist von variabler oder unterschiedlicher Länge, und im Fall einfacher Rechenanlagen kann die Länge der Operationskodefelder die Anzahl der Bits überschreiten, die zum Adressieren des Steuerspeichers 22 zugelassen werden. In Fig. 2A bis Figo 2D ist ein typischer Satz von Makrobefehlen dargestellt, wo vier Makrobefehle Operationskodes enthalten, die mit 28a - 28d bezeichnet sind und 4-, bzw, 6, 8 und 10 Bits aufweisen. Um die eingangs geschilderten Schwierigkeiten zu überwinden, auf die man bei vorbekannten Rechenanlagen mit derartigen Operationskodes von variabler Länge gestoßen ist, wird im Fall der vorliegenden Erfindung ein beliebiger Operationskode durch eine Adressenerzeugungsschaltung 20 in eine beliebige Adresse im Steuerspeicher 22 umgeformt oder abgebildet. Außerdem begrenzt die besondere Ausbildung der Adressenerzeugungsschaltung 20 nach dem Prinzip der vorliegenden Erfindung nicht die Auswahl der Operationskodes, die einsetzbar sind, und beschränkt nicht die Startadressen, die ausgewählt werden können. Insbesondere kann die Adressenerzeugungsschaltung 20 mit einem programmierbaren Verknüpfungsnetzwerk 30 ausgeführt sein, wie es in seiner funktioneilen, aus Logikbausteineri gebildeten
-5 09851/0688
Form in Fig. 3 dargestellt ist. Es ist selbstverständlich, daß das Blockdiagramm nach Fig. 3 nur ein äquivalentes, aus Logikbausteinen gebildetes Diagramm des erfindungsgemäßen Verknüpfungsnetzwerks darstellt.
Das Verknüpfungsnetzwerk 30 umfaßt eine Vielzahl von Eingangsanschlüssen, 32a - 32m, wobei m ganzzahlig und größer als 1 ist. Diese Eingangsanschlüsse 32a - 32m sind jeweils direkt mit Leitungen 36a - 36m und, über entsprechende logische Inverterstufen 34-a - 3^> roit anderen Leitungen, 38a - 38m, verbunden. Eine Vielzahl von "UND"-Gattern 40a - 4On, wobei η ganzzahlig und größer als 1 ist, sind zum selektiven Anschluß ihrer Eingänge an eine oder mehrere der Leitungen 36s. -36m und 38a - 38m angeordnet, aber in keinem Fall ist irgend eines dieser Gatter 40a 4On an irgend eine der Leitungen' 36a —36m und 38a - 38m angeschlossen, die in ihrer Kennzeichnung dieselbe Ordnungszahl oder denselben Buchstaben a - m aufweisen. In der Zeichnung sindderartige selektive Anschlüsse oder Verbindungen durch "X" gekennzeichnet, wobei dieses Symbol "X" der Verbindung nach einer wahlfrei ausgesuchten Verbindungsleitermaske während der Herstellung des erfindungsgemäßen Verknüpfungsnetzwerkes 30 entspricht«, Die Ausgänge der "UND"-Gatter 40a -4On sind jeweils mit einer von den Leitungen 42a - 42n verbunden. Eine Vielzahl von "ODER"-Gattern 44a - 44p, wobei £ eine beliebige ganze Zahl darstellt, die größer als 1 ist, weisen Eingänge auf, die zum selektiven Anschluß an entsprechende Leitungen 42a - 42n angeordnet sind, wie es durch das Symbol 11X" für die wahlfreie Maske in der Zeichnung dargestellt ist.
12 509851/0688
Obgleich jeder beliebige Kode am Eingang für jeden Kode am Ausgang in dem erfindungsgemäßen Verknüpfungsnetzwerk 30 dekodiert werden kann, ist es nicht wünschenswert, alle möglichen Eingangskombinationen des Kodes innerhalb derselben Einheit zu dekodieren. Die Anzahl der Eingänge, die dem Verknüpfungsnetzwerk 30 zugeführt werden können, übertrifft die Anzahl der Eingänge, die bei einem vergleichbaren Festwertspeicher zur Verfügung stünde« Im Fall des Ausführungsbeispiels eines Verknüpfungsnetzwerkes 30, das 14- Eingänge und 8 Ausgänge aufweist, würde ein vergleichbarer Festwertspeicher 16 384- Speicherworte aufweisen. Das Verknüpfungsnetzwerk 30 weist jedoch beträchtlich weniger äquivalente Worte (üblicherweise weniger als einige hundert) auf. Diese Worte oder Terme werden als logische Teilprodukte (partial product terms) bezeichnet, und jedes derartige logische !Teilprodukt kann als eine "UND"—Verknüpfungsfunktion oder Konjunktion beschrieben werden, die sich auf einen Teil des logischen Gesamtergebnisses oder vollständigen logischen Produkts bezieht, das an den Ausgängen der "ODER"-Gatter 46 vorhanden isto Jedes logische Teilprodukt wird auf einer entsprechenden Leitung der Leitungen 4-2a - 4-2n entwickelte Jedes logische Produkt kann bis zu einem Umfang programmiert werden, der durch die Anzahl der Eingänge des Verknüpfungsnetzwerkes 30 begrenzt wird. Im vorliegenden Ausführungsbeispiel, kann das Verknüpfungsnetzwerk 30 bis zu 14· Variable in in seinem logischen Produkt aufweisen, oder es kann eine Eingabe aufweisen, die das logische Produkt bestimmt« Das Verknüpfungsnetzwerk 30 kann im Hinblick auf die Schaltungsalgebra als eine Ansammlung von nUND"-Verknüpfungen oder Konjunktionen beschrieben werden, die an einem jeden beliebigen Ausgang einer "ODER"-Verknüpfung oder Disjunktion unterworfen werden kann0
- 13 -
509851/0681
Die umfangreiche Variation in den Möglichkeiten bei den logischen Teilprodukten mit m Variablen am Eingang und η Teilprodukten bei der Konjunktion kann besser anhand der folgenden Booleschen GleichungsbeispielB gewürdigt werden:
-12
wobei P jeweils ein logisches Teilprodukt am Ausgang jeweils eines der "ODER"-Gatter 40 an den Leitungen 42 darstellt, und I den logischen Spannungswert an jeweils einem der Eingangsanschlüsse. 52a - 32mo
Es ist möglich, durch wahlfreie Masken zur Herstellung der notwendigen Verknüpfungen jedes der logischen Teilprodukte für jeden der verschiedenen Ausgänge zu kombinieren oder zusammenzufassen, um die gewünschte Kodekombination zu erstellen,, Im Hinblick auf die Schaltungsalgebra können jedes beliebige oder alle logischen Teilprodukte oder Konjunktionsausdrücke an jedem Ausgang kombiniert einer "ODER"-Verknüpfung oder Disjunktion unterzogen werden. Die Booleschen Gleichungen für die Ausgangsgruppe an den Ausgängen der "ODER"-Gatter 44- haben die folgende Form:
14 -
509851/0681
1 τ "*■ 16 τ χ 20 T x 42 τ * * ° χ η
P1 +P16 + P20 + P42+ ... P
°2 - P6 +P16
°p * P1 +P20 +P36 + ··· Pn * '
wobei O den Ausgangswert aus jeweils einem der "ODER"-Gatter-44-darstellt.
Anders betrachtet, kann man das programmierbare Verknüfpungsnetzwerk 50 vom Konzept her als einen Festwertspeicher mit programmierbaren Adressen ansehen, ebenso wie der übliche programmierbare Datenteil. Falls eine Adresse am Eingang auftritt", die durch die Maske nicht einprogrammiert worden ist, so erfolgt kein Zugriff auf ein "Wort" des Verknüpfungsnetzwerkes 30, und die Ausgänge weisen allesamt den logischen Spannungswert "0" auf. Wenn eine Adresse am Eingang auftritt, die für mehr als ein "Wort" programmiert worden ist, so wird der Inhalt von mehreren "Worten" dementsprechend einer "ODER"-Verknüpfung oder Disjunktion unterzogen, um das Ausgangssignal zu bilden. Beim Programmieren der Adressen kann jedes Adressenbit mit dem logischen Spannungswert "1", "0" oder als "entfallend" oder "Leerbit" programmiert werden« Als "Leerbits" programmierte Bits werden beim Dekodieren der Adresse nicht berücksichtigt, und somit können mehrere verschiedene Adressen hergestellt werden, die einen Zugriff auf dasselbe "Wort" des Verknüpfungsnetzwerkes 30 nach der vorliegenden Erfindung ausführen. Durch den Einsatz des Verknüpfungsnetzwerkes 30 ist es nur erforderlich, die für eine bestimmte Funktion erforderlichen Adressen und Worte auszubilden, im Gegen-
- 15 -■
509851/0688
satz zu vorbekannten Festwertspeicherstrukturen, wo alle Adressen und Worte auszubilden sind« Diese Vorteile des erfindungsgemäßen Verknüpfungsnetzwerkes 30 werden in den Ausführungsformen der vorliegenden Erfindung, die in Fig. 4- bis Fig. 6 veranschaulicht sind, im weitesten Maße ausgenutzt»
Bs wird auf Fige 4· bezug genommen, demnach ist die Adressenerzeugungsschaltung 20 mit dem erfindungsgemäßen Verknüpfungsnetzwerk 30 ausgebildet, um die Umwandlung oder Abbildung der Adressen zu erhalten. In dem vorliegenden Fall wird das Verknüpfungsnetzwerk 30 in der Adressenerzeugungsschaltung 20 dazu verwendet, eine beliebig festlegbare Umwandlung des Operationskodes in die Steuerspeicheradresse zu schaffen. Die Anzahl der Adresseneingänge zum Verknüpfungsnetzwerk 30 ist gleich der höchstmöglichen Anzahl von Operationskode-Bits in dem Makrobefehl, der von dem Befehlsregister 18 angeliefert wirdo Die Anzah-1 der Ausgänge des Verknüpfungsnetzwerkes 30 ist gleich der Anzahl von Adressen-Bits im Steuerspeicher 22. Wenn beispielsweise der Steuerspeicher ein Speicher mit 256 Worten ist, so sind acht Ausgänge vom Verknüpf ungsnetζwerk 30 her erforderlich. Die Anzahl der "Worte" oder logischen Teilprodukte im Verknüpfungsnetzwerk 30 ist gleich der Anzahl der Makrobefehlstypen, und jeder Makrobefehlstyp, d.h. Jeder eindeutige Operationskode greift auf ein unterschiedliches "Wort" des Verknüpfungsnetzwerkes 30 zu, um die entsprechende Mikroroutine im Steuerspeicher 22 zu adressieren,» Alle Bits am Ausgang des Befehlsregisters 18, die nicht Bestandteil des Operationskodes sind, werden als nicht geltende Bits oder Leerbits aufgefaßt. Bei Berücksichtigung des Satzes der in Figo 2A bis Fig. 2D dargestellten Befehle ist der größte Operationskodeteil
509851/0688
von einer Länge von 10 Bits, und daher weist das Verknüpfungsnetzwerk 30 zehn Eingänge auf0 Wenn jedoch der Befehl nach Figo 2A im Befehlsregister 18 enthalten ist, sind nur die vier Bits des Operationskodes 28a zu berücksichtigen, und die übrigen sechs Bits werden als nicht zu berücksichtigende Bits oder Leerbits angesehene
Eine durch das Verknüpfungsnetzwerk 30 erzeugte Adresse wird in einem Adressenregister 46 zwecks Adressierung des Steiierspeichers 22 gespeicherte Das Adressenregister 46 kann ein Zählregister sein, so daß aufeinanderfolgende Befehle durch entsprechende Eingaben in dieses Adressenregister 46 adressiert werden können. Es sind Verfahren zur Verringerung der logischen Teilprodukte auf die mindestmögliche Anzahl in dem Verknüpfungsnetzwerk J)O, und damit auoh zur Verringerung der Gatter, die erforderlich sind, bereits bekannte Der Steuerspeicher 22 kann aus einer beliebigen, adressierbaren Speichervorrichtung, wie beispielsweise einem Festwertspeicher, bestehen«,
Figo 5 veranschaulicht eine zweite Ausführungsform der vorliegenden Erfindung, wobei das Befehlsregister 18 direkt mit dem Adressenteil des Steuerspeichers 22 verbunden ist, der mit dem erfindungsgemäßen Verknüpfungsnetzwerk 30 ausgebildet ist. Demgemäß wird das Mikroprogramm in dem Verknüpfungsnetzwerk 30 (noch genauer im Steuerspeicher 22) gespeichert, und der Zugriff erfolgt direkt · vom Befehlsregister 18 auf die Routine in dem Verknüpfungsnetzwerk 30» das seinerseits den Makrobefehl ausführt und dadurch Rechenzeit einsparte Lediglich die Operationskode-Bits sind für den Zugriff auf das Verknüpfungsnetzwerk 30 von Bedeutung, wobei
- 17 -509851/0688
die anderen Bits des Makrobefehls als Leerbits interpretiert werden. Da dies alle möglichen Befehls-Bitkombinationen ausschöpft, sind ein oder zwei zusätzliche Adressen-Bits auf einem oder mehreren Anschlüssen 4-8, von einer anderen (nicht dargestellten) Quelle .her, für Routinen mit vielfachen Mikrobefehlen vorgesehen. Deartige Adressen-Bits werden dazu verwendet, zu bewirken, daß die Rechenalage eine Folge ausführt, und sie können direkt von einem Ausgang des Verknüpfungsnetzwerkes 30 oder durch ein Zählregister, oder von einem Zähler direkt geliefert werden, Sprungbedingungen, die die Ausführung der Befehle beeinflussen, können dazu eingesetzt werden, ein oder mehrere.Adressen-Bits an einem oder mehreren der Anschlüsse ^O zu erzeugen, um einen anderen Mikrobefehl entsprechend dieser Bedingung zu adressieren.
Da das Mikroprogramm in einem programmierbaren Verknüpfungsnetzwerk gespeichert ist, können identische Worte durch die Verwendung von Leerbits dazu gebracht werden, eine einzige physikalische Speicherstelle zu belegen. Dies verringert die Anzahl der Worte im Mikroprogramm im Vergleich zum Speicherbedarf bei Festwertspeichern- Außerdem können Subroutinen durch einen mitlaufenden Kode (inline code) ersetzt werden, der durch die Verwendung von Leerbits mehreren Programmsegmenten gemeinsam isto Außerdem können Programmschleifen von fester Länge durch wiederholte Anweisungen ersetzt werden, die mit höherer Geschwindigkeit ausgeführt werden und weniger physikalische Speicherstellen einnehmen,, So würde die Verschiebung eines Bytes von 8 Bit Länge mindestens drei Schritte erfordern (Verschieben, Verminderung des Zählers, bedingte Verzweigung), und folglich 24· Mikrobefehls-Ausführungsschritte, wenn diese Verschiebung mit einem Pestwert-
18
509851/0688
speicher ausgeführt würde, es erfordert jedoch nur eine einzige physikalische Speicherstelle (einen Verschiebungsbefehl) und acht Ausführungsschritte, wenn die Verschiebung.mit einem erfindungs-
nioht
gemäßen programmierbaren Verknüpfungsnetzwerk mit drei zu berücksichtigenden Ausdrücken ausgeführt wird» Schließlich kann das erfindungsgemäße Verknüpfungsnetzwerk 30 dazu verwendet werden, die Notwendigkeit von expliziten Verzweigungsprüfungen bei Mikrobefehlen für Programmunterbrechungen oder andere Bedingungen zu beseitigen,, Dies wird durch die Verwendung dieser Bedingungen als Adresseneingaben in das Verknüpfungsnetzwerk 30 über den Anschluß 50 erreicht» Diese Organisation gestattet hohe Rechengeschwindigkeit, erfordert jedoch ein sehr umfangreiches Netzwerk, weil es viele Eingaben in die> Anordnung gibt, und jede Eingabe die richtigen Bitkonfigurationen und dazu die komplementären Bitkonfigurationen erforderte Jedoch bietet diese Einschränkung keine größeren Probleme, weil Verfahren zur Erzielung eines möglichst geringen Wortbedarfs angewendet werden können, um die Zahl der Worte zu verringern, die für das Mikroprogramm benötigt werden.
Eine dritte Ausführungsform der vorliegenden Erfindung ist in Fig. 6 veranschaulicht, wobei die Adressenerzeugungsschaltung und der Steuerspeicher 22 mit dem erfindungsgemäßen programmierbaren Verknüpfungsnetzwerk 30 ausgebildet sindo Eine Vielzahl von "UND"-Gattern 52a - 52p haben eine Eingabe, die von einem entsprechenden Ausgang der Adressenerzeugungsschaltung 20 .geliefert wird, sowie eine zweite Eingabe, die von einem entsprechenden Ausgang des Befehlsregisters 18 geliefert wirdo Die Ausgangssignale der "UND"-Gatter 52a - 52p werden als Eingaben an das Adressenregister 46 geliefert, das ebenfalls ein Zählregister sein kann.
509851/0688
Die in Fige 6 dargestellte Ausführungsform hat allgemein den niedrigsten Bit-Zählwert der hier beschriebenen drei Ausführungsformen. Für jeden Makrobefehlsaufbau greift das Befehlsregister auf ein unterschiedliches Wort in der Adressenerzeugungsschaltung 20 zu, im Gegensatz zu jedem Makrobefehl, wie es bei der in Figo 4 dargestellten Ausführungsform erforderlich ist«, Die Adressenerzeugungsschaltung 20 bringt alle Bits, die nicht Bestandteil des Operationskodes sind, auf den logischen Spannungswert "O1O Dies hat den Vorteil, daß diese Bits als nicht zu berücksichtigende Bits im Steuerspeicher 22 auftreten und daher dazu verwendet werden können, auf mehrere Mikrobefehle in jeder Routine zuzugreifen,, Demgemäß wird die Forderung zusätzlicher Adressen-Bits, wie sie in der in Fig» 5 dargestellten Ausführungsform benötigt werden, unter der Voraussetzung vermieden, daß das Register 46 weitergezählt werden kann, oder daß Adressenrückführungsleitungen in einer MuItipiexanordnung an den Eingang des Adressenregisters angeschlossen sind0 Alle anderen Vorteile der vorliegenden Erfindung bleiben dabei erhalten.
In den oben beschrieben Ausführungsformen werden nicht alle der dem Fachmann bekannten Steuerungsfunktionen und ihre entsprechenden Bausteine beschrieben oder dargestellt. Es ist jedoch selbstverständlich, daß alle diese Funktionen wie bei anderen Datenverarbeitungsanlagen ausgeführt werden können.,
Multiplexer können beispielsweise eingesetzt werden, um die Adressen-Bits an das Register 46 oder den Steuerspeicher 22 zu liefern. Außerdem würden weitere Eingaben benötigt, um zu bewirken, daß das Zählregister 46 eine Folge ausführt,
20
509851/0688
Es ist selbstverständlich, daß die Lehre der vorliegenden Erfindung über die speziellen Ausführungsformen hinausgehen kann, die oben beschrieben wurden» Beispielsweise kann das Verknüpfungsnetzwerk 30 des Steuerspeichers 22 unterteil werden, d„h< > aus mehreren einzelnen Verknüpfungsnetzwerken zusammengesetzt werden, wobei ein jedes dieser Verknüpfungsnetzwerke seine eigene Funktion hat, beispielsweise ein derartiges Verknüpfungsnetzwerk zur Steuerung der Rechen- und Verknüpfungseinheit (ALU), ein anderes zur Registersteuerung, ein weiteres für die Steuerung der P:ggrammunterbrechungen und ein letztes für die Eingabe/Ausgabe-Steuerungo Diese Verfahrensweise erfordert weniger Bits und ergibt eine Verringerung der Zwischenverbindungen bei bestimmten Anwendungen«,
Ein weiteres Verfahren, das in Verbindung mit zueinander parallelen Unterteilungen eingesetzt werden kann, ist die Ausbildung mehrerer verschiedener Ebenen im Steuerspeicher 22 mit einem erfindungsgemäßen programmierbaren Verknüpfungsnetzwerko Dementsprechend kann ein Mikrobefehl die Ausführung einer Folge von Steuerbefehlen in der niedrigeren Ebene bewirken, entweder in einem einzigen, in mehreren Ebenen programmierten Verknüpfungsnetzwerk, oder in einem oder mehreren parallel zueinander angeordneten und funktionell unterteilten programmierbaren Verknüpfungsnetzwerke
- Patentansprüche -
21
509851/0688

Claims (1)

  1. PATENTANSPRÜCHE " *
    Steuerteil für eine Datenverarbeitungsanlage, mit einem Befehlsspeicher zur Speicherung von Befehlen einer ersten Befehlsebene, jeweils einschließlich eines Operationskodes, sowie mit einem programmierten Steuerspeicher für eine Vielzahl von Befehlen einer zweiten Befehlsebene, sowie einer Registereinheit zur Speicherung der zu verarbeitenden Daten, wobei eine Rechen- und Verknüpfungseinheit mit der genannten Registereinheit und dem genannten programmierten Steuerspeicher zur Ausführung gesteuerter Rechenoperationen an denjenigen Daten verbunden ist9 die der Rechen- und Verknüpfungseinheit zugeführt werden, und
    Ik
    zwar gemäß Befehlen aus dem programmierten Steuerspeicher, dadurch gekennzeichnet, daß eine programmierte Ädressenerzeugungsschaltung (20,30,4-6) mit dem genannten Befehlsspeicher (18) und dem genannten programmierten Steuerspeicher (22) verbunden ist zur Erzeugung der Adressen entsprechend den Operationskodes der Befehle, die aus dem genannten Befehlsspeicher (18) ausgewählt
    Adressen worden sind, und zur Zuführung der genannten an den genannten programmierten Steuerspeicher (22) , zur Auswahl von Befehlen, die der genannten Rechen- und Verknüpfungseinheit (26) zugeführt werden sollen, daß der genannte programmierte Steuerspeicher (22) oder die Adresse-nerzeugungsschaltung (20) ein programmierbares Verknüpfungsnetzwerk (30) mit einer Vielzahl von Eingangsanschlüssen (32a - 32m) umfaßt, daß ein erster programmierbarer Teil des Verknüpfungsnetzwerkes (30) eine erste adressierbare Schaltungsanordnung (34,36,38,4-0) zur Erzeugung einer Vielzahl von Signalen an Ausgängen (4-2) einschließt, daß jedes der Signale an den Ausgängen (42) einem logischen Teilprodukt entspricht
    22
    509851/0688
    und infolge der Anwesenheit ausgewählter Eingangssignale an den genannten Eingangsanschlüssen (32a - 32m) auftritt, und daß ein programmierbarer Datenteil eine "ODER"'Verknüpfungsanordnung (44) umfaßt, um auf selektive Weise die genannten logischen Teilprodukte miteinander zu kombinieren und eine Vielzahl von Ausgangssignalen zu bilden, die den erforderlichen Bitkonfigurationen am Ausgang entsprechen,,
    2o Steuerteil nach Anspruch 1, dadurch gekennzeichnet, daß der programmierte Steuerspeicher (22) die genannte Vielzahl von Eingangsanschlüssen (32a -32m) umfaßt, die zum Empfang von Adressen aus der genannten Adressenerzeugungsschaltung (20) angeordnet sind, und daß dieser Steuerspeicher (22) ferner .das adressierbare Verknüpfungsnetzwerk (30) mit dem genannten Datenteil (44) umfaßt, derart, daß die Adresse aus der Adressenerzeugungsschaltung (20) einen entsprechenden Befehl in der zweiten Befehlsebene, am Ausgang des genannten programmierten Steuerspeichers (22) erzeugte
    3e Steuerteil nach Anspruch 2, dadurch gekennzeichnet, daß die genannte Adressenerzeugungsschaltung (20) die genannte Vielzahl von Eingangsanschlussen (32a - 32m) umfaßt, die zum Empfang der Operationskodes der Befehle angeordnet sind,' die aus dem Befehlsspeicher (18) ausgewählt werden, daß ein adressierbares Verknüpfungsnetzwerk (30) zur Erzeugung einer Vielzahl von Signalen an den Ausgängen (42) vorgesehen ist, von denen jedes Signal einem logischen Produkt entspricht und infolge
    der Anwesenheit ausgewählter Eingangssignale an den genannten Eingangsanschlüssen (32a - 32m) auftritt, und daß eine zweite
    - 23 - . 509851/0688
    Schaltungsanordnung (4-4-) zur selektiven Verknüpfung der logischen Teilprodukte des genannten Verknüpfungsnetzwerkes (30) vorgesehen ist und eine Vielzahl von Ausgangssignalen bildet, die den Bitkonfigurationen am Ausgang entsprechen, derart, daß die Operationskodes der aus dem Befehlsspeicher (18) ausgewählten Befehle in die genannten Adressen umgewandelt werden,die der genannten Vielzahl von Eingangsanschlüssen des Steuerspeichers (22) zugeführt werden.
    4-e Steuerteil nach Anspruch 1, dadurch gekennzeichnet, daß ein programmierbares Verknüpfungsnetzwerk (30) mit dem genannten Befehlsspeicher (18) und dem genannten Steuerspeicher (22) verbunden ist, zur Umwandlung der Operationskodes der aus dem Befehlsspeicher (18) ausgewählten Befehle in Adressen für die Zuführung zum genannten Steuerspeicher (22)
    5β Steuerteil nach Anspruch 4-, dadurch gekennzeichnet, daß er eine Vielzahl von "UND"-Gattern (52a - 52p) umfaßt, von denen ein jedes an einen entsprechenden Ausgang des genannten-Verknüpf ungsnet ζ Werkes (30) und an einen entsprechenden Ausgang des Befehlsspeichers (18) angeschlossen ist, um Adressen an den zugehörigen Ausgängen zu entwickeln, die dem genannten Steuerspeicher (22,4-6) zugeführt werden,
    60 Steuerteil nach Anspruch 5» dadurch gekennzeichnet, daß der genannte Steuerspeicher (22) ein programmierbares Verknüpfungsnetzwerk (30) umfaßt«,
    7o Steuerteil nach Anspruch 1, dadurch gekennzeichnet, daß der genannte Steuerspeicher (22) ein programmierbares Ver-
    24-509851/0688
    knüpfungsnetzwerk (30) umfaßt, das einen programmierbaren Adressierteil (32,34-,36,38,40) und einen programmierten Datenteil (42,44) aufweist, und daß der genannte Adressierteil (32, 34,36,38,40) an einen Ausgang des genannten Befehlsspeichers (18) angeschlossen ist, daß die genannte Rechen- und Verknüpfungseinheit (26) mit dem genannten Steuerspeicher (24) und dem Datenteil (42,44) des genannten Verknüpfungsnetzwerkes (30) verbunden ist zur Ausführung gesteuerter Rochenoperationen an Daten,· die der Rechen- und Verknüpfungseinheit (26) von der Registereinheit (24) her zugeleitet werden, und gemäß Befehlen, die dieser Rechen- und Verknüpfungseinheit (26) aus dem Datenteil (42,44) des genannten Verknüpfungsnetzwerkes (30) im Steuerspeicher (22) zugeführt werden0
    8o Steuerteil nach Anspruch 7, dadurch gekennzeichnet, daß er eine Adressenerzeugungsschaltung (20) umfaßt, die zwischen den genannten Befehlsspeicher (18) und den Steuerspeicher (22) geschaltet ist und einen Adressierteil (32,34,36,38,40) einschließt, der zum Empfang der genannten Operationskodes angeordnet ist, sowie ferner einen programmierbaren Datenteil (42,44) zur Erzeugung einer Adresse für den genannten Steuerspeicher (22) „
    - 25 -509851 /0688
DE19752505384 1974-06-06 1975-02-08 Steuerteil fuer eine elektronische datenverarbeitungsanlage Ceased DE2505384A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/477,053 US3949370A (en) 1974-06-06 1974-06-06 Programmable logic array control section for data processing system

Publications (1)

Publication Number Publication Date
DE2505384A1 true DE2505384A1 (de) 1975-12-18

Family

ID=23894319

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752505384 Ceased DE2505384A1 (de) 1974-06-06 1975-02-08 Steuerteil fuer eine elektronische datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US3949370A (de)
JP (1) JPS51852A (de)
CA (1) CA1029470A (de)
DE (1) DE2505384A1 (de)
FR (1) FR2274087A1 (de)
GB (1) GB1507485A (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4194241A (en) * 1977-07-08 1980-03-18 Xerox Corporation Bit manipulation circuitry in a microprocessor
US4195352A (en) * 1977-07-08 1980-03-25 Xerox Corporation Split programmable logic array
US4276595A (en) * 1978-06-30 1981-06-30 International Business Machines Corporation Microinstruction storage units employing partial address generators
US4396981A (en) * 1978-10-02 1983-08-02 Honeywell Information Systems Inc. Control store apparatus having dual mode operation handling mechanism
US4342080A (en) * 1978-11-08 1982-07-27 Data General Corporation Computer with microcode generator system
US4433389A (en) * 1978-12-26 1984-02-21 Burroughs Corporation Memory address translation system for accessing memory locations via job names
US4268908A (en) * 1979-02-26 1981-05-19 International Business Machines Corporation Modular macroprocessing system comprising a microprocessor and an extendable number of programmed logic arrays
JPS5616243A (en) * 1979-07-18 1981-02-17 Matsushita Electric Ind Co Ltd Microaddress production system
US4354228A (en) * 1979-12-20 1982-10-12 International Business Machines Corporation Flexible processor on a single semiconductor substrate using a plurality of arrays
GB2077010B (en) * 1980-06-02 1984-10-31 Hitachi Ltd Microprogramme control method and apparatus therefor
US4403284A (en) * 1980-11-24 1983-09-06 Texas Instruments Incorporated Microprocessor which detects leading 1 bit of instruction to obtain microcode entry point address
JPS5843654U (ja) * 1981-09-17 1983-03-24 三洋電機株式会社 基準信号発生回路
US4575794A (en) * 1982-02-22 1986-03-11 International Business Machines Corp. Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
US4509114A (en) * 1982-02-22 1985-04-02 International Business Machines Corporation Microword control mechanism utilizing a programmable logic array and a sequence counter
US4685080A (en) * 1982-02-22 1987-08-04 International Business Machines Corp. Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords
US4931989A (en) * 1982-02-22 1990-06-05 International Business Machines Corporation Microword generation mechanism utilizing a separate programmable logic array for first microwords
US4484268A (en) * 1982-02-22 1984-11-20 Thoma Nandor G Apparatus and method for decoding an operation code using a plurality of multiplexed programmable logic arrays
US4594661A (en) * 1982-02-22 1986-06-10 International Business Machines Corp. Microword control system utilizing multiplexed programmable logic arrays
US4947369A (en) * 1982-12-23 1990-08-07 International Business Machines Corporation Microword generation mechanism utilizing a separate branch decision programmable logic array
US4661901A (en) * 1982-12-23 1987-04-28 International Business Machines Corporation Microprocessor control system utilizing overlapped programmable logic arrays
EP0114194B1 (de) * 1982-12-23 1987-10-14 International Business Machines Corporation Mikroworterzeugungsmechanismus mit getrennter programmierbarer Logik-Matrix zur Abzweigungsentscheidung
US4825363A (en) * 1984-12-05 1989-04-25 Honeywell Inc. Apparatus for modifying microinstructions of a microprogrammed processor
US4984151A (en) * 1985-03-01 1991-01-08 Advanced Micro Devices, Inc. Flexible, next-address generation microprogram sequencer
US4761768A (en) * 1985-03-04 1988-08-02 Lattice Semiconductor Corporation Programmable logic device
US4864535A (en) * 1985-12-06 1989-09-05 Texas Instruments Incorporated Entry point address circuit for microcode rom
JPS62164133A (ja) * 1986-01-16 1987-07-20 Toshiba Corp マイクロプログラム制御装置
JPS62237522A (ja) * 1986-04-08 1987-10-17 Nec Corp 情報処理装置
US4750467A (en) 1986-09-11 1988-06-14 General Motors Corporation Internal combustion engine ignition system
DE68926597T2 (de) * 1988-01-27 1997-01-23 Oki Electric Ind Co Ltd Mikrorechner
US4896060A (en) * 1988-10-31 1990-01-23 Sgs-Thomson Microelectronics, Inc. Dialer with internal option select circuit programmed with externally hardwired address
USRE36443E (en) * 1988-10-31 1999-12-14 Sgs-Thomson Microelectronics, Inc. Dialer with internal option select circuit programmed with externally hardwired address
US5043879A (en) * 1989-01-12 1991-08-27 International Business Machines Corporation PLA microcode controller
US5081375A (en) * 1989-01-19 1992-01-14 National Semiconductor Corp. Method for operating a multiple page programmable logic device
JP3063006B2 (ja) * 1989-02-08 2000-07-12 インテル・コーポレーション マイクロプログラムされるコンピュータ装置及びマイクロコードシーケンスメモリをアドレツシングする方法
US5055712A (en) * 1990-04-05 1991-10-08 National Semiconductor Corp. Register file with programmable control, decode and/or data manipulation
US5189628A (en) * 1991-03-11 1993-02-23 National Semiconductor Corporation System and method for partitioning PLA product terms into distinct logical groups
US5408674A (en) * 1992-12-23 1995-04-18 Amdahl Corporation System for checking the validity of two byte operation code by mapping two byte operation codes into control memory in order to reduce memory size
EP0782726A1 (de) * 1994-09-22 1997-07-09 Honeywell Inc. Programmerbarer steuerspeicher zur steuerung und zeitsteuerung eines synchrosystems
US5691653A (en) * 1996-01-16 1997-11-25 Altera Corporation Product term based programmable logic array devices with reduced control memory requirements
SE520511C2 (sv) * 1997-12-02 2003-07-22 Ericsson Telefon Ab L M Processor och förfarande för instruktionsavkodning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3646522A (en) * 1969-08-15 1972-02-29 Interdata Inc General purpose optimized microprogrammed miniprocessor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3389376A (en) * 1965-07-06 1968-06-18 Burroughs Corp Micro-program operated multiple addressed memory
US3579192A (en) * 1967-11-02 1971-05-18 Burroughs Corp Data processing machine
US3745533A (en) * 1970-05-27 1973-07-10 Hughes Aircraft Co Digital data storage register modules
US3736567A (en) * 1971-09-08 1973-05-29 Bunker Ramo Program sequence control
US3849765A (en) * 1971-11-30 1974-11-19 Matsushita Electric Ind Co Ltd Programmable logic controller
JPS4873039A (de) * 1971-12-20 1973-10-02
US3748649A (en) * 1972-02-29 1973-07-24 Bell Telephone Labor Inc Translator memory decoding arrangement for a microprogram controlled processor
IT951233B (it) * 1972-04-07 1973-06-30 Honeywell Inf Systems Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US3827030A (en) * 1973-01-29 1974-07-30 Gulf & Western Industries Programmable controller using a random access memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3646522A (en) * 1969-08-15 1972-02-29 Interdata Inc General purpose optimized microprogrammed miniprocessor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Buch "MOSILSI Design and Application" W. Carr, J. Mize McGraw-Hill Book Company, 1972, S. 229-233 *

Also Published As

Publication number Publication date
CA1029470A (en) 1978-04-11
FR2274087B1 (de) 1979-01-19
US3949370A (en) 1976-04-06
FR2274087A1 (fr) 1976-01-02
JPS51852A (de) 1976-01-07
GB1507485A (en) 1978-04-12

Similar Documents

Publication Publication Date Title
DE2505384A1 (de) Steuerteil fuer eine elektronische datenverarbeitungsanlage
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2755273C2 (de)
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2234867C2 (de) Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen
DE1549523B2 (de) Datenverarbeitungsanlage
DE2540975A1 (de) Multi-mikro-prozessor-einheit
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2322674B2 (de) Mikroprogramm-Steuereinrichtung
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1269393B (de) Mikroprogramm-Steuerwerk
DE1262641B (de) Mikroprogrammsteuerwerk
DE2556617A1 (de) Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes
DE2951040C2 (de)
DE2625113C2 (de) Speicherschutzeinrichtung
DE2548720C2 (de) Mikroprogramm-Steuerwerk
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE3116385C2 (de) Mikroprogramm-Steuerung
DE2245284A1 (de) Datenverarbeitungsanlage
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
DE2747304C3 (de) Einrichtung zur Mikrobefehlssteuerung
DE2264346A1 (de) Mehrstufiges selbstanpassendes decodiersystem fuer binaere mikrobefehle
DE2234192C2 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection