DE2419837B2 - Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen - Google Patents
Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlenInfo
- Publication number
- DE2419837B2 DE2419837B2 DE19742419837 DE2419837A DE2419837B2 DE 2419837 B2 DE2419837 B2 DE 2419837B2 DE 19742419837 DE19742419837 DE 19742419837 DE 2419837 A DE2419837 A DE 2419837A DE 2419837 B2 DE2419837 B2 DE 2419837B2
- Authority
- DE
- Germany
- Prior art keywords
- register
- command
- address
- microprogram
- instruction
- 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
- 238000000034 method Methods 0.000 title claims description 9
- 230000006870 function Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 125000000524 functional group Chemical group 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine Schaltungsanordnung zur Adressierung eines Mikroprogramms in Datenverarbeitungseinrichtungen
durch mittels eines Befehlsadreßregisters schrittweise gesteuertes Auslesen von Befehlswerten aus einem Befehlsspeicher und Auswertung der
Befehlsworte hinsichtlich im Rahmen des Mikroprogramms durchzuführender Programmroutinen, wobei
Befehlsworte mit junktionell voneinander unabhängigen individuellen Funkiionsgruppen verwendet werden
und dem Befehhspeicher ein Befehlsregister mit entsprechend der Zahl der Funktiongruppen aufgeteilten
Registerabschnitten und Abschnittsausgängen nachgeordnet ist. Ferner betrifft die Erfindung ein Verfahren,
nach dem mit dieser Schaltungsanordnung Sprungbefehle durchgeführt werden können.
In Datenverarbeitungseinrichtungen werden allgemein
Daten aus Quellregistern entnommen und vorgegebenen Operationen unterzogen. Die Ergebnisse
dieser Operationen werden dann in Zielregister wieder eingespeichert. Im Rahmen einer Operationssteuerung
werden Programmsteuerungsvorgänge abgewickelt, die auch als Befehlsschleife bezeichnet werden. Hierbei
werden laufend Befehle aus einem Befehlsspeicher auseelesen und ausgeführt. Die Folge der in dem
Befehlsspeicher enthaltenen Befehle ist durch das jeweils in eine Datenverarbeitungseinnchtung eingegebene Programm bestimmt
Die Druchführung einer Befehlsschleife kann nun noch in einzelne Schritte unterteilt werden, die auch als
Mikrobefehle bezeichnet werden. Diese Folge von Mikrobefehlen ist für die Ausführung eines bestimmten
Befehls fest vorgegeben. Sie wird durch das sogenannte Mikroprogramm gebildet, das bei der Konstruktion
einer Datenverarbeitungseinrichtung für jeden Befehl
festgelegt ist
Die in dem Befehlsspeicher enthaltenen Befehle sind in Form von Befehlsworten gespeichert, die aus
Datenbits gebildet sind und eine Aneinanderreihung mehrerer Bitgruppen darstellen. Diese dienen zur
Kennzeichnung untercchiedlicher Funktionen, und zwar beispielsweise der jeweils durchzuführenden Operation,
der Adresse eines Quellregisters, der Adresse des Zielregisters und einer Kondition bzw. Bedingung, von
der abhängig die jeweilige Operation durchzuführen ist. Die Adresse des Quellregisters und die Adresse des
Zielregisters können zusätzlich noch ein Kennzeichen für eine sogenannte Erzeugungsvorschrift für die
Adresse enthalten, die angibt, ob die Adresse direkt
anzusteuern ist oder ob beispielsweise zunächst ein Register aufzusuchen ist, aus dem dann eine Adresse
entnommen werden muß.
Die für die Kennzeichnung der durchzuführenden Operation vorgesehene Bitgruppe eines Befehlswortes
kann gemäß bisheriger Verfahrensweise auch sogenannte Programmsprünge angeben. Dabei wird beim
Auslesen eines entsprechenden Befehls aus dem Befehhspeicher von der durch das Programm vorgegebenen
Befehlsreihenfolge abgegangen und eine Anzahl nachfolgender Befehle übersprungen, so daß das
Programm nach diesem sogenannten Sprungbefehl an einer durch diesen Sprung bestimmten Stelle fortgesetzt
wird.
Die Adressierung eines Mikroprogramms durch einen jeweiligen Befehl wird nun so durchgeführt, daß
das jeweilige Befehlswort aus dem Befehlsspeicher in ein Befehlsregister ausgelesen wird und aus dem
Befehlsregister auf einen Decodierer geführt wird. In dem Decodierer werden die einzelnen Bitgruppen des
Befehlswortes ausgewertet, so daß also beispielsweise Angaben über die jeweilige Operation, eine Kondition
sowie die Registeradressen erhalten werden. Mit diesen Angaben ist es dann möglich, die jeweilige Funktion
durch das Leitwerk einer Datenverarbeitungseinrichtung durchführen zu lassen, wozu diesem entsprechende
Steuerbefehle zugeführt werden.
Das Befehlssystem einer Datenverarbeitungseinrichtung setzt nun dem Aufwand an Speicherkapazität,
Operationszeit und Vielseitigkeit durchzuführender Funktionen gewisse Grenzen. Es wird deshalb angestrebt,
mit möglichst kurzen Befehlsworten eine möglichst vielseitige Funktionsmöglichkeit einer Datenverarbeitungseinrichtung
zu verwirklichen. Somit ist also ein Optimum in dem Verhältnis zwischen Anzahl der Bits eines Befehlswortes und dem Aufwand für die
Befehlsauswertung anzustreben. Das hierzu bisher verfolgte Prinzip sieht gewisse funktioneile Abhängigkeiten
zwischen den einzelnen Bitgruppen eines Befehlswortes vor. Solche Abhängigkeiten haben den
Zweck, den Vorrat an verfügbaren unterschiedlichen Befehlen zu erweitern, ohne aber dabei eine unzweckmäßig
große Länge der Befehlsworte zu benötigen. Der Nachteil besteht darin, daß der Aufwand für die
Decodierung solcher Befehlsworte relativ hoch ist, denn
es müssen nicht nur die einzelnen Bitgruppen ausgewertet werden, sondern auch ihre Abhängigkeiten untereinander,
um die dadurch vorgegebenen Funktionsänderungen sicher festzustellen. Die gegenseitige Abhängigkeit
einzelner Bitgruppen der Befehlsworte kann auch dazu verwendet werden, die funktionell Bedeutung der
einzelnen Gruppen nicht nur zu kondition.eren, sondern völiig zu ändern. Dadurch wird aber eine weitere
Aufwandserhöhung für die Decodierung der Befehlsworte getrieben.
Mit diesem bekannten Prinzip der Begrenzung der Befehlswortlänge ist aber auch ein erhöhter Aufwand
für das Mikroprogramm verbunden, denn die in. ihm enthaltenen, innerhalb einer Programmroutine durchzuführenden
Einzelschritte müssen naturgemäß abhängig von dem durch die Decodierung jeweils erhaltenen
laisächlichen Befehlsaufbau in den dadurch vorgegebenen Möglichkeiten entsprechenden Zahlen vorhanden
sein.
Es zeigt sich daraus, daß der Aufwand für die Ansteuerung von Mikroprogrammen nach den bisher
bekannten Prinzipien entweder auf den Bereich der Speicherung des Mikroprogramms oder aber auf den
Bereich der Speicherung der Befehlsworte konzentriert wird, denn es können entweder lange Befehlsworte
ohne eine gegenseitige funktionelle Abhängigkeit ihrer Funktionsgruppen verwendet werden, wodurch der
Speicheraufwand für die Befehlsspeichcrung erhöht wird, oder es werden die beschriebenen kürzeren
Befehlsworte verwendet, wodurch der Aufwand für die Speicherung der Mikroprogramme erhöht wird. In
jedem Falle ist aber eine Erhöhung der Anzahl möglicher Programmroutinen nicht gegeben, denn
einerseits entstehen mehr Befehle, jedoch weniger Mikroprogrammroutinen, andererseits weniger Befehle,
jedoch mehr Mikroprogrammroutinen, so daü diese Möglichkeiten der Modifikation der verwendeten
Befehlsstruktur an sich unbefriedigende Lösungen darstellen.
Durch das Buch »Digitale Rechenanlagen« von Speiser, 2. Aufl. 1965, Springer-Verlag, Seiten 240.
241. 260, 261 ist es bekannt, bei der Operationensteuerung in digitalen Rechenanlagen Befehlsworte mit
funktionell voneinander unabhängigen individuellen Funktionsgruppen zu verwenden, wobei davon auszugehen
ist, daß einem diese Befehlsworte enthaltenden Befehlsspeicher auch ein entsprechend aufgeteiltes
Befehlsregister nachgeordnet ist.
Die Aufgabe der Erfindung Desteht darin, unter Ausnutzung dieses bekannten Prinzips zu einer
Schaltungsanordnung zu gelangen, mit der es möglich ist, sowohl den Aufwand für die Befehlsspeicherung als
auch den Aufwand für das Mikroprogramm herabzusetzen, dabei jedoch mindestens die bisher mögliche Zahl
von Programmroutinen zu erreichen.
Diese Aufgabe wird für eine Schaltungsanordnung der eingangs genannten Art erfindungsgemäß dadurch
gelöst, daß die Abschnittsausgänge auf einen Multiplexer geführt sind, dessen Multiplexausgang einen ".'eil
einer in ein Mikroadreßregister einzugebenden Mikroadresse liefert, wobei der Multiplexer durch Steuersignale
Verknüpfungslogik gesteuert wird, welche durch Blockadressen des Mikroprogramms und Statussignale
der Datenverarbeitungseinrichtung angesteuert wird.
Mit dieser Schaltungsanordnung ist es möglich, bei Verwendung kurzer Befehlsworte, deren Länge nur
durch die GrundoDeration und die Konditions- sowie die Adressenangaben für Quellregister und Zielregister
bestimmt ist, eine ordnungsgemäße Ansteuerung von Mikroprogrammen bei einem Aufwand für den
Befehlsspeicher und für den Mikroprogrammspeicher zu gewährleisten, der jeweils dem verringerten Aufwand
der beiden zuvor beschriebenen bekannten Prinzipien entspricht
Durch Veröffentlichungen in »Elektronische Rundschau« Nr. 10, 1955, Seiten 349 bis 453 und in
»Elektronische Rechenanlagen«, Heft 3, 1960, Seiten 123 bis 128 werden Mikroprogrammsteuerungen ihrem
Grundprinzip nach beschrieben. Hierbei ist zwar die Einwirkung von Bedingungen und Adressen auf die
Mikroprogrammsteuerung beschrieben, jedoch können diese Maßnahmen keine Anregung dazu geben, in einer
Schaltungsanordnung nach der Erfindung den Multiplexer in der angegebenen Weise zu steuern.
Bei Anwendung des erfindungsgemäßen Prinzips hingegen erreicht m.in eine in jedem Zustand
vollkommen homogene Befehlsstruktur, bei der in neuartiger Weise die die jeweilige Operation angebende
Bitgruppe des Befehlswortes sehr hoch ausgenutzt wird, der Aufwand für das Mikroprogramm aber gering
bleibt. Die einzelnen Bitgruppen des Befehlswortes können immer hinsichtlich dessen, was durch sie
gekennzeichnet wird, dieselbe Bedeutung haben. Diese Bedeutung ändert sich nicht abhängig von anderen
Bitgruppen, so daß dann die Auswertung der Befehlsworte einen geringeren Aufwand als bei Vorhandensein
einer derartigen Abhängigkeit verursacht.
Demgemäß kann die Schaltungsanordnung derart weiter ausgebildet sein, daß fünf Registerabschnitte des
Befehlsregisters für Befehlsabschnitte vorgesehen sind, die eine Operation, eine Kondition, eine Quellregisteradresse,
eine Zielregisteradresse und eine Adre^senbildungsvorschrift kennzeichnen.
Gleichzeitig wird es dadurch aber möglich, alle erforderlichen bzw. gewünschten Kombinationen von
Bitgruppen zu Befehlsworten zu kombinieren. Außerdem wird eine besondere Kennzeichnung von Sprungbefehlen
in dem Operationsteil des Befehlswortes überflüssig, da die Sprungbefehle du'ch eine besondere
Zieladresse gekennzeichnet werden können.
Hierzu ist ein Verfahren zur Durchführung von Sprungbefehlen mit einer Schaltungsanordnung nach
der Erfindung vorteilhaft derart ausgebildet, daß der der Zielrcgisteradresse zugeordnete Befchlsabschnitt für
die Adressierung des Befehlsadreßregisters verwendet wird und daß eine durch eine Operation, einen
Quellregisterinhalt, eine Kondition und eine Adressenbildungsvorschrift sowie durch den Zielregisterinhalt
gebildete Sprungadresse in das Befehlsadreßregister eingespeichert wird.
Enthält der Teil des Befehlswortes, der die Zieladresse angibt, also die Adresse des Befehlsadreßregisters, so
werden bei Auslesung eines entsprechenden Sprungbefehls aus dem Befehlsspeicher in das Befehlsregister und
Auswertung dieses Befehls durch die Decodierung Daten einem Queliregister entnommen und in das
Befchlsadreßregister eingespeichert. Die Bitgruppe des Sprungbefehlswortes, die die Operation kennzeichnet,
enthält dann eine Information darüber, wie groß der Sprung im Programmablauf ist, d. h. bis zu welchem
Befehl der Programmfolge der Befehlszähler springen muß, um dann einen Befehl zu erreichen, der mit den aus
dem Quellregister ausgelesenen Daten durchzuführen ist.
Dadurch wird bereits ersichtlich, daß ein wesentlicher
Teil des bisherigen Aufwandes für die Kennzeichnung von Befehlen von der die Operation kennzeichnenden
Bitgruppe eines Befehlswortes auf die Auswertung des Befehlswortes verlegt sit.
Durch den Wegfall einer gegenseitigen funktioneilen Abhängigkeit der einzelnen Bitgruppen der Befehlsworte entsteht natürlich zunächst der Eindruck, daß weniger
unterschiedliche Befehle zur Verfugung gestellt werden können. Tatsächlich ist aber zu berücksichtigen, daß bei
diesem Prinzip alle Befehle ohne eine Ausnahme auch konditioniert werden können. Dadurch ergibt sich der
Vorteil, daß sogenannte Verzweigungsbefehle bzw. konditionierte Sprungbefehle eingespart werden können
und somit in vielen Fällen kürzere Befehlsschleifen zur Durchführung kleinerer, jedoch öfter zu durchlaufender
Programmroutinen ausreichen. Damit ist natürlich ein geringerer Aufwand für die Befehlsspeicherung
verbunden. Gleichzeitig ergibt sich aber auch durch das Einsparen von Befehlen eine kürzere Verarbeitungszeit
für die einzelnen Programmabläufe.
Ferner ist zu berücksichtigen, daß durch die Möglichkeit der Bildung beliebiger Kombinationen von
Bitgruppen und durch den Wegfall der Kennzeichnung von Sprungbefehlen durch einen besonderen Operationscode
alle Befehle direkt gebildet werden können, die zur Durchführung eines Programms erforderlich
sind. Zusätzlich können solche Befehle dann noch als Sprung- bzw. Unterprogrammsprungbefehie gekennzeichnet
werden, so daß gegenüber bisherigen Verfahren eine sehr hohe Anzahl von Befehlen verfügbar ist.
die eine entsprechende Anzahl unterschiedlicher Funktionen veranlassen. Dadurch ist wiederum zu erkennen,
daß auch komplizierte Programme schneller und mit weniger Speicheraufwand durchzuführen sind.
Ein Ausführungsbeispiel der Erfindung wird im folgenden an Hand der Figur beschrieben, die in
Blockdarstellung das Prinzip der Verfahrensdurchführung darstellt.
In der Figur ist eine Übersicht des Ablaufs der Ansteuerung eines Mikroprogramms dargestellt, die
von einem Befehlsspeicher zu einem Mikroprogrammspeicher erfolgt. Der Befehlsspeicher 10 enthält fest
gespeicherte Befehlsworte, deren Aufeinanderfolge bzw. Reihenfolge ihrer Auslesung durch das Programm
vorgegeben ist, das in eine Datenverarbeitungseinrichtung eingegeben ist. Dem Befehlsspeicher 10 ist ein
Befehlsadreßregister 11 zugeordnet, das die einzelnen Speicherstellen des Befehlsspeichers 10 fortlaufend
durch Änderung des in ihm vorhandenen Speicherinhalts ansteuert und eine Auslesung des dort jeweils
eingespeicherten Befehlswortes an dem Ausgang 12 des Befehlsspeichers 10 bewirkt Vom Ausgang 12 aus wird
das jeweilige Befehlswort in ein Befehlsregister 13 eingegeben. Die Ausgänge dieses Befehlsregisters 13
sind fortlaufend mit A, B, C, D, E bezeichnet und ermöglichen eine Ausspeicherung der Informationen
der einzelnen Bitgruppen aus dem Befehlsregister. Im
dargestellten Ausführungsbeispiel erfolgt dies dür jeden Ausgang A bis E über eine Dreifachleitung, so daß also
jeweils drei Bits eine Bitgruppe ausmachen. Die Länge des aus Speicherzellen gebildeten Befehlsregisters 13
entspricht somit der jeweiligen Befehlswortlänge.
Aus dem Befehlsregister 13 werden Informationen ausgespeichert, die am Ausgang A beispielsweise die
durchzuführende Operation, am Ausgang B eine Kondition, am Ausgang Ceine Quellregisteradresse, am
Ausgang D eine Zielregisteradresse und am Ausgang E eine Adressenbildungsvorschrift (z. B. direkt oder indirekt) kennzeichnen. Diese Informationen werden auf einen Multiplexer J4 geführt, der im wesentlichen
ein Schaltwerk darstellt, mit dem die Ausgänge A bis E
des Befehlsregisters 10 abgeslastet werden. Ihre
Informationen von jeweils 3 Bits werden also nacheinander über diesen Multiplexer 14 und ein durch
Taktsignal 24 aufsteuerbares UND-Glied 25 einem Mikroadreßregister 15 zugeführt, mit dem wiederum ein
Mikroprogrammspeicher 16 angesteuert wird, in dem
ίο einzelne Mikroprogrammroutinen eingespeichert sind.
Je nach der im vorliegenden Fall 8 Bits langen Mikroadresse. die durch eine noch zu beschreibende 5
Bits lange Blockadresse von einer Verknüpfungslogik 20 her ergänzt wird, wird eine dieser Mikroprogrammroutinen
angesteuert und bewirkt in einem Mikrodatenregister 17, das dem Mikroprogrammspeicher 16 nachgeschaltet
ist, die Ausgeibe von Steuergrößen an den Ausgängen 18, mit denen das (nicht dargestellte)
Leitwerk der Datenverarbeitungseinrichtung gesteuert wird.
Es ist bereits zu erkennen, daß bei Fehlen einer gegenseitigen Abhängigkeit der Funktionen der IVngruppen
der jeweiligen Befehlsworte bzw. der Informationen an den Ausgängen A bis ffdcs Befehlsregisters 13
eine Auswertung bzw. Weiterleitung dieser Informationen sehr einfach ist, denn eine besondere Auswertung
gegenseitiger Abhängigkeiten ist zwischen dem Befehlsregister
13 und dem Multiplexer 14 nicht mehr erforderlich. Dieser Multiplexer 14 kann also sehr
einfach aufgebaut sein, wodurch der Aufwand der Befehlsauswertung weiter verringert wird. Wie bereits
beschrieben, ist auch der Aufwand für den Mikroprogrammspeicher
16 geringer, da in ihm weniger Mikroprogrammroutinen zu speichern sind. 13a die
Befehlsworte die beschriebene relativ geringe 1 .mge
haben, ist auch der Aufwand für den Befehlsspeicher
gering, obwohl eine große Anzahl Befehlsworte zur Verfügung steht.
Der Multiplexer 14 wird durch eine einfache Verknüpfungslogik 20' gesteuert, die ihrerseits mil
verschiedenen Steuersignalen 26 und 27 und Taktsignalen 24 angesteuert wird und den Multiplexer 14
weiterschaltet. Solche Steuersignale sind z. B. Statussignale
26 aus dem (nicht dargestellten) arithmetischen Teil uer Datenverarbeitungseinrichtung und auch
Unterprogrammsignale 27 zur Durchführung von Unterprogrammsprüngen. Gleichzeitig erzeugt diese
Verknupfungslogik 20 eine 5 Bits lange Blockadresse, die taktgesteuert über ein UND-Glied 28 direkt in das
Mikroadreßregister 15 eingespeichert wird und einen Andreßteil der Mikroprogrammadresse bildet. Die
letzten 3 Bits der Gesamtadresse entstammen dem Multiplexer 14.
Die durch die Verknüpfungslogik 20 gelieferte
Blockadresse gibt an, welcher Block von Mikroprogrammroutinen anzusteuern ist Dadurch ist eine
gewisse Vorauswahl innerhalb des Mikroprogramms möglich, die dann durch den vom Multiplexer 14
gelieferten Adressenteil näher spezifiziert wird. Die
fei Blockadresse wird durch Informationen gebildet, die
über eine (hier 5-adrige) Steuerleitung aus dem Mikrodatenregister 17 an die Verknüpfungslogik 20
geliefert werden. Es besteht also eine Abhängigkeit der jeweiligen Blockadresse von dem Verlauf der jeweils
durchgeführten Mikroprogrammroutine.
Die Steuerung von Sprungbefehlen erfolgt einzig und allein dadurch, daß das Befehlsadreßregister 11 als
Zielregister in dem in Betracht kommenden Befehl
angegeben wird. Es wird dann die normale regelmäßige Änderung des Inhalts des Befehlsadreßregisters durch
die Sprungadresse überschrieben und dadurch von der linearen Befehlsfolge des Programms abgewichen. Zu
einem Unterprogramm-Sprung wird durch eine besondere Steuergröße 27 die Verknüpfungslogik 20 dazu
veranlaßt, eine ganz bestimmte Blockadresse zu bilden, die eine Mikroroutine in dem Mikroprogrammspeicher
16 adressiert, durch die die Rückkehradresse in einem Zwischenspeicher abgespeichert wird, so daß sie nach
Ablauf des Unterprogramms für das Befehlsadreßregister 11 verfügbar ist.
Es ist also zu erkennen, daß immer dann, wenn durch eine Zieladresse die Ansteuerung des Befchlsadreßregisters
11 erfolgt, ein Sprungbefehl durchzuführen ist. Der
Inhalt des Befehlsadreßregisters 11 kann also mit allen
Befehlsarten verändert werden. Solche Befehlsarter sind beispielsweise Ladebefehle. Additionsbefchle usw.
so daß abhängig davon, um welche Befehlsart es sich jeweils handelt, absolute und auch relative Sprungbefehle
leicht realisiert werden können. Somit ist auch eint Variation der Sprungbefehle selbst möglich, wodurch
eine weitere Erhöhung der Vielseitigkeit eines Befehlssystems möglich ist. Da ferner die Bedeutung der
einzelnen Bitgruppen hinsichtlich der Kennzeichnung ihrer Funktionen unverändert ist. ist in jedeir
Befehlswort auch immer eine Bitgruppe vorhanden, die
eine Kondition kennzeichnet. Bei einem Verfahren nach der Erfindung können somit auch konditioniert
Sprungbefehle in allen Kombinationen durchgeführt werden.
Hierzu 1 Blatt Zeichnungen
Claims (3)
1. Schaltungsanordnung zur Adressierung eines Mikroprogramms in Datenverarbeitungseinrichtungen durch mittels eines Befehlsadreßregisters
schrittweise gesteuertes Auslesen von Befehlsworten aus einem Befehlsspeicher und Auswertung der
Befehlsworte hinsichtlich im Rahmen des Mikroprogramms durchzuführender Programmroutintn, wo- jo
bei Befehlsworte mit funktionell voneinander unabhängigen individuellen Funktionsgruppen verwendet werden und dem Befehlsspeicher ein
Befehlsregister mit entsprechend der Zahl der Funktionsgruppen aufgeteilten Registerabschnitten
und Abschnittsausgängen nachgeordnet ist, dadurch gekennzeichnet, daß die Abschnittsausgänge (A. B. C, D, E) auf einen Multiplexer (14)
geführt sind, dessen Mukiplexausgang einen Teil einer in ein Mikroadreßregister (15) einzugebenden
Mikroadresse liefert, wobei der Multiplexer (14) durch Steuersignale einer Verknüpfungslogik (20)
gesteuert wird, welche durch Blockadressen des Mikroprogramms und Stalussignale der Datenverarbeitungseinrichtung
angesteuert wird.
2. Schaltungsanordnung nach Anspruch 1, dadurch
gekennzeichnet, daß fünf Registerabschnitte des Befehlsregisters (13) für Befehlsabschnme vorgesehen
sind, die eine Operation, eine Kondition, eine Quellregisteradresse, eine Zielrogisteradresse und
eine Adressenbildungsvorschrift kennzeichnen.
3. Verfahren zur Durchführung von Sprungbefehlen mit einer Schaltungsanordnung nach Anspruch 1
und 2. dadurch gekennzeichnet, daß der der Zielregisteradresse zugeordnete Befehlsabschnitt
für die Adressierung des Bcfthlsadreßregisters (11)
verwendet wird und daß eine durch eine Operation, einen Quellregisterinhalt, eine Kondition und eine
Adressenbildungsvorschrift sowie durch den Zielregisterinhalt gebildete Sprungadresse in das Befehlsadreßregistcr
(11) eingespeichert wird.
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19742419837 DE2419837B2 (de) | 1974-04-24 | 1974-04-24 | Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen |
IT7520816A IT1033334B (it) | 1974-04-24 | 1975-02-28 | Processo per indirizzare un microprogramma in dispositivi di elaborazione di dati e disposizione circuitale che realizza tale processo |
ES436302A ES436302A1 (es) | 1974-04-24 | 1975-04-04 | Disposicion de circuito para direccionar un microprograma eninstalaciones de proceso de datos. |
CH472475A CH593517A5 (de) | 1974-04-24 | 1975-04-14 | |
NL7504627A NL7504627A (nl) | 1974-04-24 | 1975-04-18 | Werkwijze voor het adresseren van een micropro- gramma in gegevensverwerkingsinrichtingen. |
CA225,075A CA1024263A (en) | 1974-04-24 | 1975-04-21 | Method and apparatus for addressing a microprogramme |
FR7512502A FR2269146B1 (de) | 1974-04-24 | 1975-04-22 | |
AT309275A AT351303B (de) | 1974-04-24 | 1975-04-22 | Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungsein- richtungen |
GB16851/75A GB1499187A (en) | 1974-04-24 | 1975-04-23 | Data processing methods and apparatus |
SE7504700A SE409916B (sv) | 1974-04-24 | 1975-04-23 | Sett och anordning for adressering av ett mikroprogram hos en databehandlingsanordning |
JP50048718A JPS50147635A (de) | 1974-04-24 | 1975-04-23 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19742419837 DE2419837B2 (de) | 1974-04-24 | 1974-04-24 | Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2419837A1 DE2419837A1 (de) | 1975-10-30 |
DE2419837B2 true DE2419837B2 (de) | 1976-12-02 |
Family
ID=5913819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742419837 Ceased DE2419837B2 (de) | 1974-04-24 | 1974-04-24 | Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen |
Country Status (11)
Country | Link |
---|---|
JP (1) | JPS50147635A (de) |
AT (1) | AT351303B (de) |
CA (1) | CA1024263A (de) |
CH (1) | CH593517A5 (de) |
DE (1) | DE2419837B2 (de) |
ES (1) | ES436302A1 (de) |
FR (1) | FR2269146B1 (de) |
GB (1) | GB1499187A (de) |
IT (1) | IT1033334B (de) |
NL (1) | NL7504627A (de) |
SE (1) | SE409916B (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2801707A1 (de) * | 1977-01-24 | 1978-11-09 | Juergen Dethloff | Textverarbeitungsmaschine, dateneingabeplatz, o.dgl. |
DE2846520A1 (de) * | 1977-10-25 | 1979-04-26 | Digital Equipment Corp | Zentrale recheneinheit fuer ein datenverarbeitungssystem |
DE3133742A1 (de) * | 1981-08-26 | 1983-03-17 | Otto 7750 Konstanz Müller | Verfahren zum betrieb einer zentraleinheit eines digitalen mehrbit-rechensystems und zentraleinheit zur ausfuehrung des betriebsverfahrens |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57149769A (en) * | 1981-03-11 | 1982-09-16 | Mitsubishi Electric Corp | Manufacture of reverse direction operation npn transistor |
-
1974
- 1974-04-24 DE DE19742419837 patent/DE2419837B2/de not_active Ceased
-
1975
- 1975-02-28 IT IT7520816A patent/IT1033334B/it active
- 1975-04-04 ES ES436302A patent/ES436302A1/es not_active Expired
- 1975-04-14 CH CH472475A patent/CH593517A5/xx not_active IP Right Cessation
- 1975-04-18 NL NL7504627A patent/NL7504627A/xx unknown
- 1975-04-21 CA CA225,075A patent/CA1024263A/en not_active Expired
- 1975-04-22 AT AT309275A patent/AT351303B/de not_active IP Right Cessation
- 1975-04-22 FR FR7512502A patent/FR2269146B1/fr not_active Expired
- 1975-04-23 JP JP50048718A patent/JPS50147635A/ja active Pending
- 1975-04-23 SE SE7504700A patent/SE409916B/xx unknown
- 1975-04-23 GB GB16851/75A patent/GB1499187A/en not_active Expired
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2801707A1 (de) * | 1977-01-24 | 1978-11-09 | Juergen Dethloff | Textverarbeitungsmaschine, dateneingabeplatz, o.dgl. |
DE2846520A1 (de) * | 1977-10-25 | 1979-04-26 | Digital Equipment Corp | Zentrale recheneinheit fuer ein datenverarbeitungssystem |
DE3133742A1 (de) * | 1981-08-26 | 1983-03-17 | Otto 7750 Konstanz Müller | Verfahren zum betrieb einer zentraleinheit eines digitalen mehrbit-rechensystems und zentraleinheit zur ausfuehrung des betriebsverfahrens |
Also Published As
Publication number | Publication date |
---|---|
AT351303B (de) | 1979-07-25 |
IT1033334B (it) | 1979-07-10 |
JPS50147635A (de) | 1975-11-26 |
FR2269146A1 (de) | 1975-11-21 |
ATA309275A (de) | 1978-12-15 |
FR2269146B1 (de) | 1977-04-15 |
SE7504700L (sv) | 1975-10-27 |
SE409916B (sv) | 1979-09-10 |
CA1024263A (en) | 1978-01-10 |
NL7504627A (nl) | 1975-10-28 |
ES436302A1 (es) | 1977-04-01 |
CH593517A5 (de) | 1977-12-15 |
DE2419837A1 (de) | 1975-10-30 |
GB1499187A (en) | 1978-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1928202B2 (de) | Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen | |
DE3688232T2 (de) | Datenverarbeitungssystem. | |
EP0097725A1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2536622C2 (de) | Verzweigungssteuerung mit flexibler Auswahl von Steuerworten | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE2117581C3 (de) | Einrichtung zur Adressenprüfung | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2403669C3 (de) | SpezialComputer | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2403039C2 (de) | Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage | |
DE2419837B2 (de) | Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen | |
DE2440390C3 (de) | ||
DE3101270C2 (de) | Rechneranordnung zur Wortverarbeitung mit einer Einrichtung zur Funktionserweiterung | |
DE2440390A1 (de) | Elektronischer rechner | |
DE3009121C2 (de) | Mikroprogramm-Steuereinrichtung | |
DE2204680C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE1449540B2 (de) | Digitalrechner | |
DE2527272C3 (de) | ||
DE2529348A1 (de) | Verfahren zum verarbeiten von maschinenbefehlen mit bytefeldoperanden in einem mikroprogrammierten prozessor einer datenverarbeitungsanlage | |
DE2317772C3 (de) | Schaltungsanordnung für eine unter Verwendung eines gespeicherten Programms zentralgesteuerte, Funktionsblöcke enthaltende Vermittlungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8235 | Patent refused |