DE2505384A1 - Steuerteil fuer eine elektronische datenverarbeitungsanlage - Google Patents
Steuerteil fuer eine elektronische datenverarbeitungsanlageInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction 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
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
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
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
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
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
509851/0688
Claims (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, undIkzwar 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ähltAdressen 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 entspricht22
509851/0688und 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) erzeugte3e 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 infolgeder Anwesenheit ausgewählter Eingangssignale an den genannten Eingangsanschlüssen (32a - 32m) auftritt, und daß eine zweite- 23 - . 509851/0688Schaltungsanordnung (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/0688knü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 werden08o 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
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)
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)
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)
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 |
-
1974
- 1974-06-06 US US05/477,053 patent/US3949370A/en not_active Expired - Lifetime
-
1975
- 1975-02-08 DE DE19752505384 patent/DE2505384A1/de not_active Ceased
- 1975-02-24 CA CA220,632A patent/CA1029470A/en not_active Expired
- 1975-04-07 GB GB14184/75A patent/GB1507485A/en not_active Expired
- 1975-05-22 JP JP50061420A patent/JPS51852A/ja active Pending
- 1975-06-03 FR FR7517252A patent/FR2274087A1/fr active Granted
Patent Citations (1)
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)
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 |