DE2755273C2 - - Google Patents
Info
- Publication number
- DE2755273C2 DE2755273C2 DE2755273A DE2755273A DE2755273C2 DE 2755273 C2 DE2755273 C2 DE 2755273C2 DE 2755273 A DE2755273 A DE 2755273A DE 2755273 A DE2755273 A DE 2755273A DE 2755273 C2 DE2755273 C2 DE 2755273C2
- Authority
- DE
- Germany
- Prior art keywords
- input
- data
- address
- register
- arrangement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000015654 memory Effects 0.000 claims description 59
- 230000004048 modification Effects 0.000 claims 2
- 238000012986 modification Methods 0.000 claims 2
- 238000013500 data storage Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 20
- 239000013598 vector Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 150000001875 compounds Chemical group 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
Description
Die Erfindung bezieht sich auf einen Mikroprozessor gemäß
dem Oberbegriff des Patentanspruchs.
Durch die Technik der Großintegration (LSI) ist es möglich
geworden, Datenverarbeitungs- und Rechnersysteme auf wenige
Schaltkreise zu reduzieren. Gewöhnlich stellt hierbei die
Organisation eine verkleinerte Version einer großen Datenverarbeitungsanlage
dar. Wenn man jedoch eine Datenverarbeitungsanlage
auf einem oder wenigen integrierten Schaltkreisen
unterbringen will, ergeben sich im allgemeinen Probleme durch
die Begrenzung der Anzahl der externen Anschlüsse, mit denen
der integrierte Schaltkreis versehen werden kann. Ein weiteres
Problem ergibt sich daraus, daß die Programme langsamer
laufen, weil die verwendete Technologie keine hohen Geschwindigkeiten
zuläßt oder primitivere Befehle verwendet werden müssen,
von denen für die Durchführung einer gegebenen Aufgabe mehr
erforderlich sind als von den in größeren Maschinen verwendeten
Befehlen.
Aus "Proceedings of the EJCC", 1959, Seiten 48-58 und "Planning
a Computer System" von W. Buchholz, 1962, McGraw-Hill Book
Company, New York, Seiten 202-208, sind sogenannte Stretch-
Computer bekannt, bei denen gleichzeitig in einige der Register
eingeschrieben werden kann und bei denen aus anderen Registern
gleichzeitig ausgelesen werden kann. Es kann auch gleichzeitig
in der Recheneinheit des Computers gerechnet werden. Ferner
kann hierbei für einen in Datenausführungs- und Befehlsabrufeinheiten
gegliederten Prozessor jeweils ein Registersatz für
beide Einheiten vorgesehen sein.
Aus der US-PS 37 37 866 ist es bekannt, zum Ersatz von
Registersätzen vorteilhaft Registeranordnungen mit gleichzeitigem
Zugriff auf zwei Registerinhalte zu verwenden. Es
handelt sich um ein System, bei dem zwei Speichereinheiten
vorgesehen sind, die Daten an eine gemeinsame Recheneinheit
liefern und von dieser empfangen können. Jede Speichereinheit
enthält mehrere Register und besitzt mehrere Zugriffseingänge,
so daß während jedes Lese- oder Schreibzyklus ein
Zugriff zu Speicherstellen derselben Einheit hergestellt
werden kann. Eine Befehlssteuereinheit kann dieselbe Adresse
an jede der Speichereinheiten anlegen, um es zu ermöglichen,
daß ein einziger Datensatz in entsprechende Register in
jeder Speichereinheit geschrieben wird. Die Steuereinheit
kann an die Speichereinheiten auch unabhängige Adressen anlegen,
wenn die Inhalte je eines Registers beider Einheiten parallel
gelesen werden sollen.
Der Erfindung liegt die Aufgabe zugrunde, einen Mikroprozessor
zu schaffen, bei dem einerseits der aus größeren Datenverarbeitungsanlagen
bekannte überlappende Betrieb durchführbar ist,
andererseits jedoch die Daten- und Adressenleitungen besser
ausgenutzt werden, d. h. in einer gegebenen Zeit mehr Informationen
übertragen können als dies bei bekannten Systemen der Fall ist.
Diese Aufgabe wird durch die kennzeichnenden Merkmale des
Patentanspruchs gelöst.
Ein Vorteil des hier beschriebenen Mikroprozessors besteht
darin, daß die Generalregisteranordnung bzw. die Adressenregisteranordnung
in der Befehleregistereinheit bzw. in der Datenausführungseinheit
zur selben Zeit arbeiten können.
Vorteilhafterweise kann bei der Erfindung die Registeranordnung
einer Einheit (z. B. die Adressenregisteranordnung in der Befehlsabrufeinheit)
die Adressenleitung und die Datenleitung (z. B.
die Programmspeicher-Adressenleitung und die Programmspeicher-
Datenleitung) verwenden, während gleichzeitig die Registeranordnung
der anderen Einheit (z. B. die Generalregisteranordnung der
Datenausführungseinheit) die Datenspeicher-Adressenleitung und
die Datenspeicher-Datenleitung verwenden kann.
Ein wesentlicher Vorteil der Erfindung besteht darin, daß
die Registeranordnung jeder Einheit gleichzeitig mit den Einrichtungen
der Einheit über eine erste Eingangs-Ausgangseinheit und
über eine andere Eingangs/Ausgangseinheit mit einer Datenleitung
zusammenarbeiten kann. Beispielsweise kann in der Datenausführungseinheit
die Generalregisteranordnung über eine Eingangs/Ausgangseinheit
mit dem Rechenwerk und über die andere Eingangs/Ausgangseinheit
mit der Datenleitung zusammenwirken.
Im folgenden wird ein Ausführungsbeispiel der Erfindung
unter Bezugnahme auf die Zeichnung näher erläutert.
Es zeigt
Fig. 1 ein Blockschaltbild einer Anlage, in der ein Mikroprozessor
gemäß der Erfindung verwendet werden kann,
Fig. 2 ein Blockschaltbild eines Mikroprozessors gemäß einer
Ausführungsform der Erfindung,
Fig. 3 ein Logikschaltbild einer für die Realisierung der Erfindung
geeigneten Speicheranordnung,
Fig. 4 eine schematische Darstellung einer Speicherzelle, die in
der Speicheranordnung gemäß Fig. 3 verwendet werden kann,
und
Fig. 5 ein Schaltbild einer Halteschaltung,
die in der Speicheranordnung gemäß Fig. 3 verwendet werden
kann.
Das Blockschaltbild gemäß Fig. 1 zeigt, wie ein Mikroprozessor
mit anderen Komponenten einer Anlage zusammengeschaltet
sein kann. Der Mikroprozessor 10 ist mit einem Programmspeicher
12, einem Datenspeicher 14, einer Spezialfunktionseinheit
16 und Eingabe-Ausgabe- oder I/O-Geräten 17 und 19
gekoppelt. Ferner sind Verbindungen für Signale PUA, die eine Programmunterbrechung
anfordern, und Signale DMA, die einen direkten
Speicherzugriff anfordern, dargestellt. Die Verbindung mit
dem Programmspeicher 12 erfolgt über eine Programmspeicher-
Adressenleitung 112 und eine Programmspeicher-Datenleitung 113.
Die Programmspeicher-Adressenleitung 112 überträgt Adressensignale
vom Mikroprozessor 10 zum Programmspeicher 12. Die Programmspeicher-
Datenleitung 113 überträgt die
Programmbefehlswörter vom Programmspeicher 12 zum Mikroprozessor 10 und zur
Spezialfunktionseinheit 16, wenn diese verwendet wird. Bei einem bevorzugten
Ausführungsbeispiel einer solchen Anlage ist ein Befehlswort typischerweise
24 Bits lang.
Die Verbindung mit dem Datenspeicher 14 erfolgt über eine
Datenspeicheradressenleitung 114 und eine Datenleitung 115.
Die Datenspeicheradressenleitung 114 überträgt die Datenspeicheradressen
vom Mikroprozessor 10 zum Datenspeicher 14 zum Zugriff zu Datenspeicherplätzen;
ferner werden über sie bestimmte Adressenkombinationen für I/O-Gerätewahl
zur Datenübertragung und zur Steuerung der I/O-Geräte übertragen.
Der unmittelbare Adressenraum, d. h. die Plätze, die insgesamt durch das
Adressenregister angegeben werden können, basiert bei dem System gemäß
Fig. 1 zwar auf der Datenspeicher-Adressenwortlänge, ein Teil dieses Adressenraumes,
d. h. gewisse Adressen, werden jedoch mit den I/O-Geräten geteilt.
Diese Aufteilung kann auf irgendeine gewünschte Weise erfolgen; bei der
folgenden Erläuterung soll beispielsweise angenommen werden, daß die ersten
(den höchsten Werten entsprechenden) Adressen für I/O-Geräte-Adressen reserviert
sind und der Rest zur Adressierung des Datenspeichers dient. Eine
solche Anordnung eignet sich offenbar am besten für Mikroprozessor-Konfigurationen,
deren Datenspeicher-Adressenwortlängen 16 Bits oder mehr betragen.
Die Datenleitung 115 wird für eine bidirektionale
Signalübertragung zu und von dem Mikroprozessor 10, dem Datenspeicher
14 und den I/O-Geräten 17 und 19 und gegebenenfalls für eine nur in eine
Richtung verlaufende Signalübertragung von den Ausgangsklemmen der Spezialfunktionseinheit
16 verwendet. Der Mikroprozessor 10 steuert alle Datenübertragungen
über diese Leitungen, in dem er an alle mit den betreffenden Leitungen
verbundenen Einheiten Operationssteuersignale und Taktinformation
liefert.
Bei dem Mikroprozessor 10 sind Vorkehrungen für einen
Speicherdirektzugriffkanal vorgesehen. Die Datenübertragungen und Adressierungen
für diesen Kanal werden über die Datenleitung 115
bzw. Adressenleitung 114 abgewickelt. Die Anforderung eines
Datenübertragungszyklus
wird durch ein DMA-Anforderungssignal vom I/O-Gerät 17 zum Mikroprozessor
10 übertragen. Dieses Signal veranlaßt den Mikroprozessor, die
normale Folge der Ausführung von Programmbefehlen oder die Erledigung einer
Programmunterbrechung zeitweilig auszusetzen, um die dem Speicher-Direktzugriffkanal
zugeordneten Steueroperationen durchzuführen. Der Mikroprozessor
10 enthält eine Folgesteuerung in seiner Ausführungseinheit, um
die Inhalte eines Generalregisters zu verringern und auf Null zu
prüfen. Das Generalregister dient für die dem DMA-Kanal zugeordnete
Wortzählung. Wenn es auf Null zurückgeschaltet ist, wird ein Übertragung-
Fertig-Signal erzeugt, um die Operationen im Zusammenhang mit dem DMA-Kanal
zu beenden. Ein Adressenregister in der Befehlsabrufeinheit des
Mikroprozessors enthält die DMA-Datenadresse (Hinweisadresse) und wird nach
jedem Speicher-Direktzugriffzyklus automatisch weitergeschaltet (inkrementiert).
Es sind Vorkehrungen getroffen, um an den Mikroprozessor 10
eine Spezialfunktionseinheit 16 anschließen zu können. Der Spezialfunktionseinheit
16 sind zwei Operanden, die von den Allgemein- oder Generalregistern
des Mikroprozessors abgerufen werden, über einen Operandeneingang OPA
und einen Operandeneingang OPB parallel zuführbar. Das Resultat von der
Spezialfunktionseinheit 16 wird dem Mikroprozessor 10 synchron oder asynchron
über die Datenspeicher-Datenleitung 115 zugeführt. Der in der Spezialfunktionseinheit
16 auszuführende Befehl wird dieser Einheit direkt und außerdem
auch dem Mikroprozessor 10 zugeführt. Einige Operationscode sind für die Verwendung
in der Spezialfunktionseinheit 16 vorgesehen, und die Zuordnung dieser
Code kann einzigartig oder einmalig fixiert werden.
Die programmgesteuerten I/O-Geräte 17 und 19 sind mit dem
Mikroprozessor 10 durch die Datenspeicher-Adressenleitung 114 und die Datenspeicher-
Datenleitung 115 verbunden. Die Geräteadressen werden den I/O-Geräten
vom Mikroprozessor 10 über die Datenspeicher-Adressenleitung 114 zugeführt.
Wie erwähnt, werden die höchstrangigen Adressen für die Adressierung
der I/O-Geräte verwendet. Die Datenübertragungen über die Datenspeicher-
Datenleitung 115 dienen zur Verteilung der Daten auf die I/O-Geräte, den
Mikroprozessor 10, den Datenspeicher 14 und gegebenenfalls die Spezialfunktionseinheit
16 auf Teilnehmerbetrieb- oder Mehrbenutzerbasis.
Im Mikroprozessor 10 kann eine Programmunterbrechung durch
jede Einrichtung eingeleitet werden, die ein Unterbrechungsanforderungssignal
auf die einzige Unterbrechungsanforderungsleitung PUA liefert. Die Unterbrechungsanforderungssignale der verschiedenen Einrichtungen werden dieser
Leitung durch eine ODER-Verknüpfung zugeführt. Wenn der Mikroprozessor eine
Anforderung für eine Programmunterbrechung erhält, wird diese interpretiert
und jede Unterbrechung der Einrichtung wird durch spezielle Routinen oder
Unterprogramme bedient.
Das Blockschaltbild gemäß Fig. 2 zeigt, daß der Mikroprozessor
zwei Funktionseinheiten enthält, nämlich die Datenausführungseinheit
und die Befehlsabrufeinheit. (Das Wort "Befehl" wird hier als Bezeichnung
für den Operationscode zusammen mit seinen zugehörigen Operanden oder Operandenadressen
verwendet.)
Die Datenausführungseinheit führt arithmetische und logische
Operationen durch, die durch ein Befehlsrepertoire (Befehlsvorrat) definiert
werden. Alle Operationen, die in dieser Einheit durchgeführt werden, bekommen
ihre Operanden von einer Generalregisteranordnung
21 oder einen Sofort-Operanden von dem in einem Literalregister
210 gespeicherten Befehlswort oder ein apparativ verdrahtetes Literal.
Die Operationen sind Register-Register-orientiert mit dem Ergebnis, daß
sie in einem der ausgewählten Register des Stapels gespeichert oder über die
Datenspeicher-Datenleitung 115 zu den I/O-Geräten, dem Datenspeicher 14 oder
der Befehlsabrufeinheit übertragen werden. Zu den wesentlichen organisatorischen
oder konstruktiven Merkmalen ("Architektur") der Datenausführungseinheit
gehören das Rechenwerk (ALU) 27 und die Generalregisteranordnung
21.
Die ALU 27 führt alle arithmetischen
und logischen Operationen aus, die durch das Befehlsrepertoire angegeben
werden können. Verschiebungsbefehle, iterative Multiplikationsbefehle
und iterative Divisionsbefehle können unter Verwendung der Möglichkeit
einer Verschiebung um ein Bit nach links oder nach rechts an den ALU-Ausgangsklemmen
durchgeführt werden.
Die Generalregisteranordnung 21 ist beispielsweise ein Vier-
Eingangs-Zwischenspeicher für acht Wörter, der für die Speicherung arithmetischer
Operanden verwendet wird. Die Operanden für die ALU 27 sind gleichzeitig
an zwei Leseausgängen verfügbar. Beide Leseausgänge enthalten
Halteschaltungen und sind voneinander unabhängig; jeder Ausgang
kann den Inhalt irgendeines der acht Generalregister des Stapels für
arithmetische Operationen liefern. Das abzufragende oder zu lesende Register
wird durch ein Operandenbezeichnungsfeld im Befehlswort angegeben. Es sind
ferner Schreibe- oder Speichereingänge zum Speichern von Daten in einem der
Generalregister vom Ausgang der ALU und zum Speichern von Daten in ein anderes
Generalregister von der Datenspeicher-Datenleitung 115 vorgesehen. Die Speicher-
Eingänge sind unabhängig und können unter Programmsteuerung zugleich
oder einzeln verwendet werden. Dies erlaubt, daß arithmetische Operationen
von Register zu Register sich mit Datenspeicher-Register-Operationen überlappen.
Die Ausgangssignale von den Generalregisterstapel-Halteschaltungen können,
wie erwähnt, über die Operand-A- und Operand-B-Leitungen OPA bzw. OPB für
die Verwendung in der Spezialfunktionseinheit 16 übertragen werden.
Die Befehlsabrufeinheit steuert die Befehlsfolge und den
Zugriff zum Datenspeicher. Sie enthält eine Adressenregisteranordnung
22 für indirekte Adressen, einen Adressenaddierer
211, mit dem die Adressen auf den neuesten Stand gebracht
werden können, einen Befehlszähler 212 und einen Programmzählerstapel
213. Die Adressenregisteranordnung
22 ist ein Vier-Eingangs-Zwischenspeicher
für acht Wörter, der zur Speicherung indirekter Adressen dient.
Die Anordnungen 21 und 22 haben vorzugsweise eine verhältnismäßig hohe
Arbeitsgeschwindigkeit. Die im Adressenregisterstapel gespeicherten Adressen
werden durch ein Befehlsfeld oder einen Befehlsabschnitt gewählt. Die Inhalte
der gewählten Adressenregister werden durch einen Leseausgang oder ein Lesetor
IR 4 zu einer Halteschaltung durchgeschleust und
auf die Datenspeicher-Adressenleitung 114 gekoppelt, so daß ein Datenspeicherzugriff
gleichzeitig mit der Durchführung arithmetischer Operationen
in der Datenausführungseinheit stattfinden kann. Eine direkte Speicheradressierung
ist im Mikroprozessor ebenfalls gestattet, die Adressen kommen
hierfür direkt von dem unmittelbaren oder laufenden Operanden des Programmbefehlswortes. Eine indizierte Adressierung kann mit einer Folge von
zwei Befehlen bewirkt werden, die unten erläutert werden wird. Das Adressenregister
7 (AR 7) unterscheidet sich von den anderen Adressenregistern
darin, daß es als zwei Iterationszähler dient. Der Iterationszähler ICB
ist die niederrangige Hälfte von AR 7 und der Iterationszähler ICA ist
die höherrangige Hälfte.
Der Adressenaddierer 211 bringt die Adressen in der erforderlichen
Weise auf den neuesten Stand, welche auf der Datenspeicher-Adressenleitung
114 verwendet werden. Dieses Fortschreiben der Adressen, das im
Programmbefehlswort angegeben ist, findet während der Datenspeicherzugriffszeit
statt, und die fortgeschriebene Adresse wird am Ende des Befehlsausführungszyklus
in das gewählte Adressenregister zurückgespeichert. Die Adresse
kann um ±1, ±2, ±3 oder durch eine in einem anderen Adressenregister gespeicherte
Veränderliche fortgeschrieben werden.
Indizierte Adressen können unter Verwendung des Adressenaddierers
211 errechnet werden. Die Basisadresse, die als unmittelbarer
oder laufender Operand im Programmbefehlswort erscheint, wird zum Inhalt
eines gewählten Adressenregisters addiert. Das Ergebnis wird in einem
reservierten Adressenregister gespeichert. Der nächste Befehl verwendet
die errechnete indizierte Adresse in dem Adressenregister, um den Inhalt von dem gewünschten
Datenspeicherplatz abzurufen. Die Stapeladressierung ist in Fig. 2 aus
Übersichtlichkeitsgründen nicht dargestellt. Die Registeradressen sind Felder
oder Bereiche im Befehl und sollen bei dem vorliegenden Beispiel drei
Bits zur Adressierung eines aus acht Registern enthalten.
Fig. 3 zeigt eine Speicheranordnung, wie sie in einer bevorzugten
Ausführungsform der Erfindung als Registerstapel verwendet wird. Der
Registerstapel enthält eine Anordnung von Speicherzellen 300, die jeweils
zwei Dateneingangsklemmen (typisch D 12 und D 22) und zwei Datenausgangsklemmen
(typisch O 12 und O 22) aufweisen und durch Lesesignale (R 1 oder R 2) und
Schreibesignale (W 1 oder W 2) gesteuert werden. Die drei Bits des Befehlsfeldes
oder -bereiches, die zur Adressierung eines Registers verwendet werden,
wie für R 1, die Bits 2¹⁸, 2¹⁷ und 2¹⁶ vom Befehlsregister, werden einem Eins-
Aus-Acht-Decodierer 31 zugeführt. Solche Decodierer sind bekannt.
Je nach der Kombination dieser Bits liefert eine der acht Ausgangsleitungen
ein Steuersignal R 1 an eine gewählte Zeile von Zellen, die das adressierte
Register enthalten. Ferner wird eines von einer Gruppe von UND-Gliedern 32
durch das Ausgangssignal des Decodierers 31 ansprechbereit gemacht, so daß
Daten, die auf mit I 10 bis I 17 bezeichneten Datenleitungen 33 erscheinen,
gespeichert werden, wenn ein Auftast- oder Taktsignal W 1 zugeführt wird. Die
Daten-Ausgangssignale von den zugegriffenen Zellen werden einer ersten Gruppe
von Halteschaltungen zugeführt, die durch ein Tast- oder Taktsignal A gesetzt
werden. Die Zellen in der Anordnung können ferner durch einen Eins-Aus-
Acht-Decodierer 35 adressiert werden, der ein Lesesignal R 2
entsprechend einem Wahlcode liefert, der von den Bits 2¹⁵, 2¹⁴ und 2¹³
des Befehlsregisters durchgeschleust wird. Die Ausgangssignale von den Zellen
werden unter Steuerung durch ein Tastsignal B in einer zweiten Gruppe
von Halteschaltungen gespeichert.
Die Schreibeadresse für die Zellen wird durch einen dritten
Eins-Aus-Acht-Decodierer 36 geliefert, der durch ein Schreibsignal
W 2 freigegeben wird. Die Signale W 2 kommen von dem geeigneten Feld oder
Bereich des Befehls, z. B. den Bits 2¹², 2¹¹ und 2¹⁰. Die zu speichernde Information
liegt auf den Eingangsleitungen 33, die mit I 20 bis I 27 bezeichnet
sind.
Eine typische Speicherzelle ist in Fig. 4 dargestellt. Das
Signal W 1 öffnet den zwei Inverter 41 und 42 koppelnden Stromweg, in dem ein
P-Kanal-Feldeffekttransistor FET 43 gesperrt wird. Ein Signal DATA IN 1 wird
der Eingangsklemme des Inverters 41 durch einen N-Kanal-FET 44 zugeführt,
der durch das Signal W 1 aufgetastet wird. Wenn das Signal W 1 abgeschaltet
wird, sperrt der FET 44 während der FET 43 aufgetastet wird, wobei letzterer
die Schleife zwischen den Invertern 41 und 42 vervollständigt, so
daß der Bitwert von DATA IN 1 gespeichert wird. Das Schreibsignal
W 2 wirkt in der gleichen Weise wie das Signal W 1 für den Dateneingang
DATA IN 2. Das Ausgangssignal eines Ausgangsinverters 45 wird durch einen
von zwei N-Kanal-FET's durchgeschleust, je nachdem, ob das Lesekommandosignal
R 1 oder das Lesesignal R 2 zugeführt werden.
Fig. 5 zeigt eine typische Halteschaltung.
Sie enthält eine Torschaltung 51 mit zwei Transistoren, die durch
ein Tastsignal aufgetastet wird, welches außerdem eine zweite Torschaltung
52 sperrt. Durch das Sperren der Torschaltung 52 wird ein Rückführungsweg
zwischen zwei Invertern 53 und 54 unterbrochen, und das Auftasten der Torschaltung
51 bewirkt, daß die Daten von einer Klemme DATA IN auf den Eingang
des Inverters 53 gekoppelt werden. Wenn das Tastsignal abgeschaltet
wird, sperrt die Torschaltung 51, während die Torschaltung 52 aufgetastet
wird, wodurch der Stromweg zwischen den Invertern 53 und 54 geschlossen und
die Information gespeichert wird und ein ihr entsprechendes Ausgangssignal an
einer Datenausgangsklemme des Inverters 54 auftritt. Durch ein Rücksetzsignal
wird ein Transistor 55 gesperrt, der die Informationsrückführungsschleife
unterbricht, und wird ein Transistor 56 aufgetastet, der dem Eingang
des Inverters 53 ein Signal des Logikwertes Null (Massepotential) zuführt.
Der Befehlszähler (IPC) 212 in Fig. 2 dient zur
Befehlsfolgesteuerung und kann mit Verzweigungsadressen gesetzt werden. Die
Ausgangssignale vom Befehlszähler 212 werden über die Programmspeicher-
Adressenleitung 112 übertragen, um den nächsten Befehl abzurufen, während
gleichzeitig arithmetische Operationen entsprechend dem laufenden Befehl
in der Datenausführungseinheit durchgeführt werden. Die Verzweigungsadressen
für den Befehlsprogrammzähler stammen entweder von dem unmittelbaren
Operandenfeld einer Klasse spezieller Befehle oder vom obersten Platz,
Stapelwort A, eines Programmzählerstapels 213, wie unten noch erläutert
werden wird.
Der Befehlsprogrammzählerstapel 213 (IPSTACK) ist ein LIFO-
Registerstapel für vier Wörter, bei dem das zuletzt gespeicherte Wort beim
Lesen als erstes abgerufen wird, er dient zur Bearbeitung von Unterbrechungen,
zur Durchführung von Unter- oder Teilprogrammen und zur Durchführung
von iterativen Programmschleifenverkettungen. Bei der Verkettung mit
einem Unter- oder Teilprogramm werden die Programmadressenverkettungen vom
Befehlsprogrammzähler im Stapel gespeichert, wobei die bereits vorhandenen
Inhalte des Stapelregisters jeweils um einen Platz nach unten verschoben
werden. Der anfängliche Inhalt des vierten Registers, das Stapelwort D,
geht bei dieser Operation verloren. Wenn eine Rückkehr von einem Unterprogramm
erfolgt, werden die Programmadressenverkettungen um einen Platz nach
oben bewegt, wobei der anfängliche Inhalt des ersten Registers, das Stapelwort
A, in den Befehlsprogrammzähler IPC übergeführt wird. Der Inhalt des
vierten Registers, das Stapelwort D, bleibt dabei unverändert.
Ein Befehlswort ist beispielsweise 24 Bits lang und hat
eines von zwei Grundbefehlswortformaten. Das erste Format ist dadurch gekennzeichnet,
daß das höchststellige Bit (2²³) des Programmbefehlswortes
den Logikwert Null hat. Es hat die Form:
Das zweite Format ist dadurch gekennzeichnet, daß das
höchststellige Bit des Programmbefehlswortes den Logikwert Eins hat und es
hat die folgende Form:
Die Ausgangssignale von den Befehlsregistern 210 und 218
werden zusammen mit denen von einem Taktgeber 23 und einem Programmzustandsregister
24 zum Erzeugen von Takt- und Steuersignalen durch einen Steuerteil
25 verwendet. Dem Steuerteil 25 werden als Eingangssignale ferner die DMA-
und INT-(Unterbrechungsanforderungs-)Signale zugeführt. Die Steuersignale
von Steuerteil 25 werden einem Untersteuerteil 29 zugeführt, der Steuersignale
für die Befehlsabrufeinheit erzeugt, wenn die letztere eine getrennte Struktur
ist oder sich auf einem getrennten Schaltungsplättchen befindet.
Die Steuersignale werden Torschaltungen zugeführt, die den
Signalfluß in den verschiedenen Einheiten steuern. Beispielsweise dienen
zwei Torschaltungen 217 und 219 dazu, die Operanden A bzw. B von den Lesehalteschaltungen
der Generalregisteranordnung 21 weiterzuleiten, wenn sie durch
zugeordnete Steuersignale aufgetastet werden. Andere Steuersignale steuern
die ALU 27, den Addierer 211 und die Taktung der Registerstapel.
Bei Kenntnis eines Satzes von Registernamen und der detaillierten
logischen Operationen, die durch eine Maschine oder Anlage durchzuführen
sind, kann ein Durchschnittsfachmann auf dem Gebiete der Computer-
Technik einen Steuerteil angeben, der Befehle des Befehlsvorrats auszuführen
vermag. Es gibt sogar Computerprogramme, die dieses leisten, siehe z. B. das
Buch "Digital Systems: Hardware Organization and Design" von F. J. Hill und
G. R. Peterson, Verlag John Wiley & Sons (New York, 1973), ferner das Buch
"A Programming Language" von K. E. Inverson, Verlag John Wiley & Sons (New
York, 1962, und das Buch "Digital System Principles" von H. Hellermann, Verlag
McGraw-Hill (New York, 1967).
Die Operationen werden manchmal in einer speziellen symbolischen
Sprache codiert, um einem Programmierer den Entwurf eines Programmes
zu erleichtern. Eine solche Sprache ist die in der oben angegebenen Literaturstelle
erläuterte Programmsprache AHPL. Die in dieser Sprache verwendeten
Symbole sind im folgenden aufgeführt:
Die primitiven Operatoren sind ( bedeutet: "ist definiert
als"):
+ Binäre Addition (dyadisch);
- Binäre Zweierkomplement-Subtraktion (dyadisch);
∧ Logisches UND (dyadisch);
⟩ Logisches ODER (dyadisch);
⊕ Logisches EXCLUSIVES ODER (dyadisch) und
- Einer-Komplement (Querstrich) (monadisch).
Die Bezugsoperatoren sind:
= Ist gleich (dyadisch);
≠ Ungleich (dyadisch);
< Kleiner als (dyadisch) und
: Vergleiche (dyadisch gleichlange Vektoren).
Die gemischten Operatoren sind:
← Empfängt (dyadisch);
↑ Verschiebung um ein Bit nach rechts (monadisch);
↓ Verschiebung um ein Bit nach links (monadisch);
SET Einstellen eines Ein-Bit-Operanden auf den
Logikwert Eins (monadisch);
RST Einstellen eines Ein-Bit-Operanden auf den Logikwert
Null (monadisch) und
, Verketten oder Zusammenfügen (dyadisch).
Spezielle Operatoren sind:
PSH IPSTACK-Operation, wobei SWD←(SWC); SWC←(SWB);
SWB←(SWA); SWA←specifiz. Vector und
POP IPSTACK-Operation, wobei SWA←(SWB); SWB←(SWC);
SWC←(SWD).
Identifizierer sind:
LSB Niederstrangiges Acht-Bit-Byte eines monadischen
Binärvektors;
MSB Höchstrangiges Acht-Bit-Byte eines monadischen
Binärvektors;
Sg Höchstrangiges Bit eines monadischen Operanden
(Vorzeichen);
ε Binärvektor aus lauter logischen Einsen;
ε¹ Binärer Nullvektor mit der Ausnahme, daß das
niedrigststellige Bit eine Eins ist;
ω j Die j niederstrangigen Bits eines Binärvektors
und
α j Die j höchstrangigen Bits eines Binärvektors.
Die Syntax umfaßt:
( )- bedeutet bei Verwendung mit einer binären Matrix
eine spezielle Zeile oder ein spezielles
Wort der Matrix;
- bedeutet, wenn es einen arithmetischen Ausdruck enthält, das Resultat dieses Ausdruckes;
- bedeutet, bei Verwendung mit einem Registernamen oder einer Speicheradresse den Inhalt des Registers oder des durch die Adresse bezeichneten Speicherplatzes; ;- trennt zusammengesetzte Funktionen und
- bedeutet, wenn es einen arithmetischen Ausdruck enthält, das Resultat dieses Ausdruckes;
- bedeutet, bei Verwendung mit einem Registernamen oder einer Speicheradresse den Inhalt des Registers oder des durch die Adresse bezeichneten Speicherplatzes; ;- trennt zusammengesetzte Funktionen und
IF . . . THEN . . . ELSE . . .
- der Ausdruck, der auf IF folgt, wird ausgewertet
und auf eine Testgröße in Form eines
Bits reduziert; wenn sich eine logische Eins
ergibt, wird die Angabe, die auf THEN folgt,
ausgeführt, wenn es eine logische Null ist,
wird die Angabe ausgeführt, die auf ELSE folgt.
In manchen Fällen ist die Angabe ELSE nicht erforderlich,
z. B. wenn beim Testbit Null keine
Maßnahme erforderlich ist.
Weitere verwendete Abkürzungen:
ARn- das durch das Rn-Feld bezeichnete Adressenregister,
GRn- das durch das Rn-Feld bezeichnete Generalregister;
DMAB- die Datenspeicher-Adressenschiene;
DM(ARn)- der Datenspeicherplatz, der durch das Adressenregister
adressiert wird, welches durch das Rn-
Feld angegeben wird;
IPC- Befehlsprogrammzähler;
ICA- Weiterschalten des Zählers A;
ICB- Weiterschalten des Zählers B;
IMOP- unmittelbarer Operand, Bits (2⁰ bis 2¹⁵) von
Befehlen der Klasse II;
MIM- Hauptunterbrechungsmaskenbit;
R 6 A- Register Sechs des Adressenregisterstapels;
SAAC- Arithmetischen Bedingungscode setzen;
SLCC- Logischen Bedingungscode setzen und
SCCC- Vergleichsbedingungscode setzen.
Die Felder R 1 und R 2 der Befehle der Klasse I wählen die
beiden Generalregister, die die Operanden enthalten, welche bei der Ausführung
der begleitenden Operation verwendet werden sollen. In Fällen, bei
denen das Ergebnis durch die ALU 27 gebildet wird, gibt das Feld R 1 auch
das Generalregister an, in dem das Resultat zu speichern ist. Das Feld R 3
wählt das Generalregister, das Daten empfangen soll, welche sich zu dem
Zeitpunkt, in dem das Resultat der durch die ALU ausgeführten Datenoperation
in dem durch das Feld R 1 gewählten Register gespeichert wird, auf der Datenspeicher-
Datenleitung 115 befinden. (Wenn die Spezialfunktionseinheit
die Operation ausführt, werden nur die Daten auf der Datenspeicher-Datenleitung
in dem durch das Feld R 3 angegebenen Generalregister gespeichert.)
Das Feld R 4 wählt eines der Adressenregister für einen eventuellen Gebrauch
während der Befehlsausführung. Der Inhalt des durch das Feld R 4
gewählten Registers wird zu Beginn des Befehlszyklus auf die Datenspeicher-
Adressenschiene übertragen, um während des Ausführungszyklus einen Zugriff
zum Datenspeicher 14 oder einem I/O-Gerät zu bewirken. Bei einer Adressierung
des Datenspeichers wird die durchzuführende Operation durch die
Inhalte der Felder OP CODE und EXT OP angegeben. Bei der Adressierung eines
I/O-Gerätes wird die durchzuführende Operation durch die Adresse, die I/O-
Steuersignale und die Konstruktion des I/O-Gerätes bestimmt.
Das Programmzustandsregister 24 (Fig. 2) speichert einen
Bedingungscode, der vier Bits enthält. Bei der Ausführung bestimmter Befehle
werden die Bits gesetzt oder zurückgesetzt, die durch andere Befehle
für Verzweigungsentscheidungen benutzt werden. Ein Bit des Bedingungscodes
ist das Bit OV, das durch einen arithmetischen Überlauf von der ALU 27 gesetzt
wird. Wenn es einmal gesetzt ist, kann es nur durch einen der Befehle
RSTAT, CSTAT oder LSTAT zurückgesetzt werden. Ein anderes Bit ist das Bit
C, welches den Ausführungswert für bestimmte Befehle speichert und ein Eingangsbit
für andere Befehle darstellt. Es wirkt als Verbindungs- oder Anschlußbit
für Befehle betreffend doppelte Präzision oder Stellenzahl und
Verschiebungen. Ein Bit N enthält das Vorzeichen des Resultats bestimmter
Operationen. Das vierte Bit des Bedingungscodes ist das Bit Z, das gesetzt
wird, um anzuzeigen, daß das Resultat einer bestimmten Operation den Wert
Null hat und das zurückgesetzt wird, um ein von Null verschiedenes Resultat
anzuzeigen.
Generell sind die den Bedingungscode beeinflussenden Befehle
arithmetisch (SACC), logisch (SLCC) und Vergleich (SCCC). Die Resultate der
Befehle SACC, SLCC und SCCC sind in der folgenden Tabelle aufgeführt:
Die übrigen Abkürzungen wurden oben in Verbindung mit der
Programmsprache AHPL erwähnt.
Der Inhalt von dem gewählten Adressenregister wird durch den
Adressenaddierer 211 durchgeschleust und entsprechend dem MODE-Feld um 0,
+1, -1, +2, -2 oder +3 weitergeschaltet. Die so auf den neuen Stand gebrachte
Adresse wird am Ende des Ausführungszyklus in das gewählte Adressenregister
zurückgespeichert.
Das Feld EXT OP enthält drei Bits, die zur Erweiterung des
Feldes OP CODE dienen, so daß acht Sätze von sechzehn Befehlen möglich sind.
Das Feld MODE wird von der Befehlsabrufeinheit dazu verwendet, um verschiedene
wahlweise Operationen zu steuern, um Adressenregister auf den neuesten
Stand zu bringen, eine Befehlsprogrammzähler-Nachfolgesteuerung, iterative
Schleifensteuerung oder Befehlsprogrammzählerstapelsteuerung zu bewirken.
Der Inhalt des Feldes MODE gilt für alle Befehle der Klasse I mit der Ausnahme
der Fälle, daß das Feld EXT OP die Werte 110 oder 111 enthält. Das Feld
MODE bleibt bei gewissen Befehlen zur Übertragung von Information in die
Adressenregister außer Betracht. Die speziellen MODE-Steuermöglichkeiten und
ihre funktionellen Beschreibungen sind in der folgenden Tabelle I aufgeführt
(alle Tabellen folgen am Ende der Beschreibung).
Für die erweiterten Operationssätze 0 oder 1, die
durch die Werte 000 bzw. 001 des Feldes EXT OP bezeichnet werden, bewirken
die Befehle der Klasse I bestimmte Register-Register-Operationen zusätzlich
zu der Operation, die durch den Inhalt des Feldes OP CODE angegeben wird.
Bei dem erweiterten Operationssatz 0 werden zur gleichen
Zeit, wie die arithmetische Operation durchgeführt wird, die Daten auf der Datenspeicher-
Datenleitung 115 in einem Generalregister gespeichert. Beim erweiterten
Operationssatz I wird das Resultat der durchgeführten arithmetischen
Operation auf die Datenspeicher-Datenleitung 115 gekoppelt. Mit der Ausnahme
des Falles, daß die Felder R 1 und R 3 gleich sind, beschränkt keine dieser
Operationen die Spezifizierung und Leistungsfähigkeit der arithmetischen Operation.
Für diese Befehle gibt der Inhalt der Felder R 1 und R 2 jeweils eines
der acht Generalregister als Operand für den Befehl an. Die Inhalte der Felder
R 1 und R 2 können unterschiedliche Generalregister oder das gleiche Generalregister
als Quellen für die Befehlsoperanden bezeichnen. Die spezifizierte
Funktion wird mit den beiden gewählten Operanden durchgeführt und das Resultat
wird in demjenigen Generalregister gespeichert, das durch das Feld R 1 gewählt
ist. Als Ergebnis der gewählten Operation wird ein Bedingungscodestatusregister
auf einen aus einer Gruppe von speziellen Bedingungscodeeinstellungen gesetzt,
der für die Operation angegeben ist.
Die Befehle für die erweiterten Operationssätze 0 und 1 sind
in der Tabelle II aufgeführt.
Eine Angabe des erweiterten Operationssatzes 0 bedeutet,
daß in dem durch das Feld R 3 des Befehles gewählten Generalregister der Inhalt
von einem Platz im Datenspeicher oder von einem I/O-Gerät zu speichern
ist, welcher bzw. welches durch das Adressenregister adressiert ist, das durch
das Feld R 4 gewählt wurde. Die Speicherung erfolgt gleichzeitig mit dem Einschreiben
des Resultates der spezifizierten Operation in das Generalregister,
das durch den Inhalt des Feldes R 1 gewählt wurde. Wenn die Felder R 1 und R 3
gleich sind, findet eine Beschickung des Generalregisters unter Verwendung
der Daten auf der Datenspeicher-Datenschiene nicht statt. Es wird nur das Resultat
der angegebenen Operation in dem durch das Feld R 1 gewählten Generalregister
gespeichert.
Die Angabe des erweiterten Operationssatzes 1 bedeutet, daß
das Resultat der Operation in dem Datenspeicherplatz zu speichern oder zu dem
I/O-Gerät übertragen ist, welcher bzw. welches durch das vom Feld R 4 des Befehles
gewählte Adressenregister angegeben wird. Die Speicherung des Resultats
im Speicherplatz oder dem I/O-Gerät erfolgt gleichzeitig mit dem Einschreiben
des Resultates in dem durch das Feld R 1 gewählten Generalregister.
Wenn die Inhalte der Felder R 1 und R 3 gleich sind, wird das Resultat von der
arithmetischen Operation auf die Datenspeicher-Datenschiene gekoppelt, es
wird jedoch nicht in dem durch das Feld R 1 angegebenen Generalregister gespeichert.
Für die erweiterten Operationssätze 2 und 3, die durch
die Werte 010 bzw. 011 des Feldes EXT OP bezeichnet werden, spezifizieren
die OP CODES der Befehle der Klasse I die verschiedenen Operationen. Die Befehle
für die erweiterten Operationssätze 2 und 3 sind in der hinten angefügten
Tabelle III im einzelnen angegeben. Wenn man die erweiterten Operationssätze
2 und 3 angibt, hat dies die gleichen Speicher- oder Beschickungsfolgen
mit zur Folge, wie es für die erweiterten Sätze 0 bzw. 1 angegeben ist.
Bei dem erweiterten Operationssatz 4, der durch den Wert
100 im Feld EXT OP bezeichnet wird, spezifizieren die Befehle der Klasse I
einen speziellen Satz arithmetischer Operationen. Beispielsweise spezifizieren
die OP CODES 0000 bis 0111 Operationen, bei denen die Inhalte der durch
die Felder R 3 und R 4 bezeichneten Register in der arithmetischen Operation
nicht verwendet werden. Statt dessen werden die Inhalte des Bedingungscodestatusregisters
und der Generalregister, die durch die Felder R 1 und R 2 bezeichnet
werden, als Operanden verwendet. Die Inhalte des durch das Feld
R 4 bezeichneten Adressenregisters gibt die Adresse des Datenspeicherplatzes
oder das I/O-Gerät an, von dem Daten über die Datenspeicher-Datenschiene
abzurufen und in dem durch das Feld R 3 angegebenen Generalregister zu speichern
sind. (Diese Operation wird gleichzeitig mit der gewählten arithmetischen
Operation durchgeführt.)
Mit den OP CODES 1000 bis 1111 wählt das Feld R 3 das Generalregister,
das als Bestimmungsort für das arithmetische Resultat verwendet
werden soll. Es erfolgt keine gleichzeitige Beschickung von Daten vom Datenspeicher
oder einem I/O-Gerät. Während der Ausführung dieser Befehle, spezifiziert
das Feld R 1 eine Prüfung der Bits C, N oder Z des Bedingungscodestatusregisters.
Je nach dem Ergebnis der Bedingungscodeprüfung werden nur
Einsen oder nur Nullen für den einen der Eingangsoperanden der ALU 27 verwendet.
Der andere Eingangsoperand ist der Inhalt des durch das Feld R 2 gewählten
Generalregisters. Das Resultat der angegebenen logischen Operation wird
in dem durch das Feld R 3 angegebenen Generalregister gespeichert. In der Tabelle IV ist eine vollständige funktionelle Beschreibung aller Befehle des
erweiterten Operationssatzes 4 enthalten.
Die Operationen RMIM und SMIM bewirken ein Rücksetzen
bzw. Setzen des Bits MIM, das mit dem externen Unterbrechungsanforderungssignal
INT einer UND-Verknüpfung unterworfen wird. Mit diesen Befehlen kann
der Programmierer Unterbrechungen zulassen oder verhindern.
Im erweiterten Operationssatz 5, der durch den EXT OP-Codewert
101 bezeichnet wird, erfolgt die Durchführung der OP CODE-Operation
durch die Spezialfunktionseinheit. Die Zuordnung der sechzehn Binärkombinationen
des OP Code in diesem erweiterten Operationssatz ist ausschließlich
eine Funktion der in Verbindung mit dem Mikroprozessor verwendeten Spezialfunktionseinheit.
Bei der Ausführung dieser Befehle wählt das Feld R 1 das
Generalregister, dessen Inhalt über die Operand-A-Leitungen OPA zugeführt
wird und das Feld R 2 wählt das Generalregister, dessen Inhalt der Spezialfunktionseinheit
über die Operand-B-Leitungen OPB zugeführt wird. Das Ergebnis
der Operation der Spezialfunktionseinheit (SFU) wird auf die Datenspeicher-
Datenschiene durchgeschleust und in dem durch das Feld R 3 bezeichneten
Generalregister gespeichert. In diesen Befehlen kann das Feld MODE dazu
verwendet werden, Operationen anzugeben, die gleichzeitig mit dem Inhalt des
durch das Feld R 4 angegebenen Adressenregisters durchzuführen sind.
In dem erweiterten Operationssatz 6, der durch den Wert 110
des EXT-OP-Code bezeichnet wird, sind die durchgeführten Operationen ein Verkehr
der Datenausführungseinheit mit der Befehlsabrufeinheit. Bei diesen Befehlen
wird das MODE-Feld nicht zur Angabe simultaner Operationen verwendet
und der ganze Datenspeicher, I/O-Geräte und Spezialfunktionseinheit-Verkehr
wird gesperrt, da die Datenspeicher-Datenschiene als Verbindung zwischen den
beiden Funktionseinheiten verwendet wird. Das Befehlsformat ist ein Dreiadressenbefehl,
in dem die Felder R 1 und R 2 die Inhalte von Generalregistern
als Operanden wählen, der OP-CODE die von der ALU 27 durchführende arithmetische
Funktion angibt und das Feld R 4 ein Adressenregister als Bestimmungsort
für das Resultat der ALU-Operation bezeichnet. Alternativ kann das Resultat
der ALU 27 in einem durch das Feld R 1 bezeichneten Generalregister gespeichert
werden, wenn die Felder R 1 und R 3 nicht gleich sind. Immer wenn das Adresssenregister
7 als Bestimmungsregister für das Ergebnis der Operation der ALU
gewählt wird, tritt eine automatische Programmzählerstapeloperation (IPSTACK-
Operation) ein. Der Programmzählerstapel wird (nach unten) verschoben und
der Programmzählerwert +1 wird als Stapelwort A gespeichert. (Für eine Maschinenkonfiguration, die mit mehr als acht Bits in der Befehlsabrufeinheit
arbeitet, wählt der OP CODE gewisse Operationen, die eine Bytespeicherung
entweder in dem höchstrangigen oder dem niederstrangigen Byteplatz eines
durch das Feld R 4 gewählten Adressenregisters bewirken.) Die Tabelle V enthält
eine ins einzelne gehende funktionelle Beschreibung der sechzehn Operationen
des erweiterten Operationssatzes 6.
Im erweiterten Operationssatz 7, der durch den EXT-OP-Code
111 bezeichnet wird, bewirken die Operationen eine Speicherung des Inhaltes
von einem Adressenregister oder dem Befehlsprogrammzählerstapel in dem durch
das Feld R 3 gewählten Generalregister oder unter Adressierung durch das Feld
R 4 im Datenspeicher oder einem I/O-Gerät. (Die Information kann in Form ganzer
Wörter gespeichert werden oder die höchstrangige Byte oder die niederstrangige
Byte können getrennt gespeichert werden.).
Es gibt ferner Befehle zum Beschicken des Programmzählerstapels
vom Datenspeicher, einem I/O-Gerät oder einem durch das Feld R 2 bezeichneten
Generalregister. Das durch das Feld R 4 bezeichnete Adressenregister
gibt den Datenspeicherplatz oder das I/O-Gerät an, welches als Quelle
für die zu speichernde Information verwendet werden soll. (Der Programmzählerstapel
kann mit ganzen Wörtern beschickt werden oder die höchstrangige Byte
oder die niederstrangige Byte können getrennt gespeichert werden.) In diesem
erweiterten Operationssatz ist das Feld MODE mit allen seinen Steuerkombinationen
unwirksam für alle Befehle. Die Befehle im erweiterten Operationssatz
7 (EXT OP 7) sind in der Tabelle VI im einzelnen angegeben.
Bei den Befehlen der Klasse II werden im allgemeinen die
sechzehn niederstelligsten Bits als laufender oder unmittelbarer Operand
verwendet. In diesen Befehlen gibt das Feld R 1 entweder ein Generalregister,
ein Adressenregister oder im Falle eines Verzweigungsbefehles eine Erweiterung
des Operationscodes an. Diese Befehlsklasse enthält sechzehn Befehle
mit speziellen Operationen, die durch das OP-CODE-Feld angegeben werden.
Immer wenn das Adressenregister 7 als Bestimmungsort für das Resultat der
Operation gewählt wird, tritt eine automatische Programmzählerstapeloperation
ein. In diesen Fällen wird der Programmzählerstapel in Speicherrichtung verschoben
und der Programmzähler wird um +1 weitergeschaltet und sein Inhalt
als Stapelwort A gespeichert. Die Befehle der Klasse II sind in der Tabelle
VII im einzelnen angegeben.
Das beschriebene Ausführungsbeispiel eines Mikroprozessors hat einen Befehlssatz und
eine Schaltung, die sich besonders gut für eine Überlappung von Abruf- und
Ausführungsoperationen eignet. Es ist besonders nützlich für Feldverarbeitungen.
Die im einzelnen beschriebene Konstruktion läßt sich auf verschiedene
Weise realisieren. Jede Funktionseinheit kann auf einem eigenen integrierten
Schaltungsplättchen gebildet werden oder beide Einheiten können sich auf dem
gleichen integrierten Schaltungsplättchen befinden. Der Vorteil der ersterwähnten
Ausführungsform besteht darin, daß so viele integrierte Schaltkreise
wie gewünscht hintereinandergeschaltet werden können, um eine Verarbeitung
von Datenwörtern oder Befehlswörtern beliebiger Länge zu ermöglichen. Bei dem
beschriebenen bevorzugten Ausführungsbeispiel war angenommen worden, daß
die Datenwörter aus acht Bits und die Befehlswörter aus 24 Bits bestehen.
Bei Verwendung von Datenwörtern mit sechzehn Bits kann man zwei Datenausführungseinheiten
mit einer einzigen Befehlsabrufeinheit verwenden. Die Konstruktion
ist hinsichtlich der Systemgröße anpassungsfähig.
Der im einzelnen beschriebene Befehlssatz oder -vorrat
stellt nur eine von mehreren Möglichkeiten dar, die sich für die beschriebene
Architektur eignen. Sowohl die Systeme als auch die Schaltungen, die zur Erläuterung
des Konzepts und der Realisierung der Erfindung beschrieben wurden,
lassen sich abwandeln.
Claims (6)
- Mikroprozessor für die Verwendung in einem System mit einem Programmspeicher und einem Datenspeicher, wobei jeder dieser Speicher eine Adressenleitung (114, 112) und eine Datenleitung (115, 113) enthält, und wobei der Mikroprozessor eine Datenausführungseinheit mit
- a) einer Generalregisteranordnung (21) mit einem Zugriffseingang (PORT B, GR 2) zum Auslesen der Inhalte eines ausgewählten Registers der Generalregisteranordnung (21) und mit einem Eingang (PORT B, GR 3) zum Einschreiben der Inhalte in ein ausgewähltes Register der Generalregisteranordnung (21), wobei der Eingang (PORT B, GR 3) mit dem Datenspeicher verbunden ist,
- b) einem Rechenwerk (27), das zum Empfang (über 219) von Operanden vom einen Zugriffseingang (PORT B, GR 2) der Generalregisteranordnung (21) geschaltet ist und in Abhängigkeit von diesem Operanden selektive Operationen zur Erzeugung von Ergebnissignalen an einem Ausgang ausführt,
- c) ersten Schaltungen zum Übertragen der Ergebnissignale an die Datenleitung (115) des Datenspeichers und
- d) einer Steueranordnung (25, 210) mit einer Befehlsregisteranordnung (210) zum Speichern des laufenden, gerade ausgeführten Befehls und mit einem Taktgeber (23) zur Erzeugung von Steuersignalen, die zur Steuerung der Auswahl der Register der Generalregisteranordnung (21) und zur Steuerung der Operation des Rechenwerkes (27) während der Ausführung des laufenden Befehls dienen, so daß Daten an der Datenleitung (115, 113) des Datenspeichers, die entweder vom Datenspeicher oder von dem Rechenwerk (27) stammen, in ein in der Generalregisteranordnung (21) ausgewählten Register während der Ausführung eines Befehls eingeschrieben werden können,
- und eine Befehlsabrufeinheit mit
- e) einer Adressenregisteranordnung (22) mit einem Zugriffseingang (IR 4) zum Auslesen der Inhalte eines ausgewählten Registers der Adressenregisteranordnung (22) und mit einem Eingang (IR 4) zum Einschreiben der Inhalte in ein ausgewähltes Register der Adressenregisteranordnung (22),
- f) einer Befehlszähleranordnung (212) zum Speichern einer Programmspeicheradresse des als nächstes auszuführenden Befehls,
- g) zweiten Schaltungen zum selektiven Verbinden der Befehlszähleranordnung (212) mit der Adressenleitung (112) des Programmspeichers in Übereinstimmung mit den Steuersignalen und
- h) einem zusätzlichen Rechenwerk (211), das an einem Ausgang eine Modifikation einer an einen Eingang des zusätzlichen Rechenwerkes (211) angelegten Adresse erzeugt, wobei die Modifikation in Übereinstimmung mit den Steuersignalen erfolgt, und
- i) dritten Schaltungen zum selektiven Verbinden des Zugriffseingangs (IR 4) der Adressenregisteranordnung (22) mit entweder der Adressenleitung (114) des Datenspeichers oder dem Eingang des zusätzlichen Rechenwerkes (211) in Übereinstimmung mit den Steuersignalen und zum selektiven Verbinden des Ausganges des zusätzlichen Rechenwerkes (211) mit dem Zugriffseingang (IR 4) der Adressenregisteranordnung (22) in Übereinstimmung mit den Steuersignalen, derart, daß während der Ausführung eines Befehls in der Datenausführungseinheit ein nächster Befehl von dem Programmspeicher durch die Befehlsabrufeinheit abgerufen werden kann, aufweist,
- dadurch gekennzeichnet, daß die Generalregisteranordnung (21) in der Datenausführungseinheit
- j) einen zusätzlichen Zugriffseingang (GR 1) zum Auslesen der Inhalte aus einem ausgewählten Register der Generalregisteranordnung (21) und
- k) einen zusätzlichen Eingang (GR 1) zum Einschreiben der Inhalte aus einem ausgewählten Register der Generalregisteranordnung (21) enthält,
- daß die Generalregisteranordnung (21) gleichzeitig an den einem Zugriffseingang (GR 2) und dem zusätzlichen Zugriffseingang (GR 1) die Inhalte der beiden entsprechenden Register der Generalregisteranordnung (21) ausliest, die in Übereinstimmung mit den Steuersignalen ausgewählt wurden, und gleichzeitig von dem einen Eingang (GR 3) und den zusätzlichen Eingang (GR 1) die Inhalte von zwei entsprechenden Registern der Generalregisteranordnung (21) ausliest, die in Übereinstimmung mit den Steuersignalen ausgewählt wurden,
daß in der Datenausführungseinheit außerdem- l) vierte Schaltungen
vorgesehen sind, die selektiv die Ergebnissignale
von dem Ausgang des Rechenwerkes (27) zum zusätzlichen Eingang
(GR 1) der Generalregisteranordnung (21) durchschalten,
daß die Adressenregisteranordnung (22) in der Befehlsabrufeinheit außerdem - m) einen weiteren Zugriffseingang (ICA, ICB) zum Auslesen der Inhalte eines ausgewählten Registers der Adressenregisteranordnung (22) und
- n) einen weiteren Eingang (IR 1) zum Einschreiben der Inhalte eines ausgewählten Registers der Adressenregisteranordnung enthält,
- l) vierte Schaltungen
vorgesehen sind, die selektiv die Ergebnissignale
von dem Ausgang des Rechenwerkes (27) zum zusätzlichen Eingang
(GR 1) der Generalregisteranordnung (21) durchschalten,
- daß die Adressenregisteranordnung (22) durch die Steueranordnung (25, 210) zum gleichzeitigen Auslesen der Inhalte von zwei entsprechenden Registern der Adressenregisteranordnung (22) an dem einen Zugriffseingang (IR 4) und an dem weiteren Zugriffseingang (ICA, ICB) in Übereinstimmung mit den Steuersignalen und zum gleichzeitigen Einschreiben der Inhalte von zwei entsprechenden Registern der Adressenregisteranordnung (22) von dem einen Eingang (IR 4) und von dem weiteren Eingang (IR 1) in Übereinstimmung mit den Steuersignalen gesteuert wird, und daß die Befehlabrufeinheit außerdem
- o) fünfte Schaltungen zum selektiven Verbinden der Datenleitung (115) des Datenspeichers mit dem weiteren Eingang (IR 1) der Adressenregisteranordnung (22) in Übereinstimmung mit den Steuersignalen aufweist, so daß
- beispielsweise in der Datenausführungseinheit während der Ausführung eines Befehls von den Ausgängen der Generalregisteranordnung (21) ausgelesene Datenwerte gleichzeitig an die Datenleitung (115) des Datenspeichers und an einem Eingang des Rechenwerkes (27) anlegbar sind und daß an der Datenleitung (115) des Datenspeichers und an dem Ausgang des Rechenwerkes (27) erscheinende Datenwerte gleichzeitig über den einen und den zusätzlichen Eingang in entsprechende Register der Generalregisteranordnung (21) eingeschrieben werden können, und
beispielsweise in der Befehlsabrufeinheit während der Ausführung eines Befehles von dem einen Zugriffseingang (IR 4) und dem weiteren Zugriffseingang (ICA, ICB) der Adressenregisteranordnung (22) ausgelesene Adressen gleichzeitig an die Adressenleitung (114) des Datenspeichers und an den Eingang des zusätzlichen Rechenwerkes (211) anlegbar sind und an der Datenleitung (115) des Datenspeichers und an dem Ausgang des Rechenwerkes (211) erscheinende Adressen gleichzeitig über den einen Eingang (IR 4) und den weiteren Eingang (IR 1) in entsprechende Register der Adressenregisteranordnung (22) eingeschrieben werden können.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/749,994 US4079455A (en) | 1976-12-13 | 1976-12-13 | Microprocessor architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2755273A1 DE2755273A1 (de) | 1978-06-15 |
DE2755273C2 true DE2755273C2 (de) | 1987-09-03 |
Family
ID=25016084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772755273 Granted DE2755273A1 (de) | 1976-12-13 | 1977-12-12 | Mikroprozessor |
Country Status (7)
Country | Link |
---|---|
US (1) | US4079455A (de) |
JP (1) | JPS5374858A (de) |
DE (1) | DE2755273A1 (de) |
FR (1) | FR2373828A1 (de) |
GB (1) | GB1590028A (de) |
IT (1) | IT1088703B (de) |
SE (1) | SE425527B (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4247893A (en) * | 1977-01-03 | 1981-01-27 | Motorola, Inc. | Memory interface device with processing capability |
US4217638A (en) * | 1977-05-19 | 1980-08-12 | Tokyo Shibaura Electric Co., Ltd. | Data-processing apparatus and method |
US4272829A (en) * | 1977-12-29 | 1981-06-09 | Ncr Corporation | Reconfigurable register and logic circuitry device for selective connection to external buses |
US4403282A (en) * | 1978-01-23 | 1983-09-06 | Data General Corporation | Data processing system using a high speed data channel for providing direct memory access for block data transfers |
US4363091A (en) * | 1978-01-31 | 1982-12-07 | Intel Corporation | Extended address, single and multiple bit microprocessor |
JPS54114687A (en) * | 1978-02-27 | 1979-09-06 | Toyoda Mach Works Ltd | Sequence controller |
WO1979000959A1 (en) * | 1978-04-21 | 1979-11-15 | Ncr Co | A computer system having enhancement circuitry for memory accessing |
US4255785A (en) * | 1978-09-25 | 1981-03-10 | Motorola, Inc. | Microprocessor having instruction fetch and execution overlap |
US4217657A (en) * | 1978-10-18 | 1980-08-12 | Honeywell Inc. | Floating point arithmetic control |
US4298927A (en) * | 1978-10-23 | 1981-11-03 | International Business Machines Corporation | Computer instruction prefetch circuit |
US4316244A (en) * | 1978-11-08 | 1982-02-16 | Data General Corporation | Memory apparatus for digital computer system |
US4310879A (en) * | 1979-03-08 | 1982-01-12 | Pandeya Arun K | Parallel processor having central processor memory extension |
US4296470A (en) * | 1979-06-21 | 1981-10-20 | International Business Machines Corp. | Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system |
US4279016A (en) * | 1979-06-21 | 1981-07-14 | International Business Machines Corporation | Instruction pre-fetch microprocessor interrupt system |
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
US4367524A (en) * | 1980-02-07 | 1983-01-04 | Intel Corporation | Microinstruction execution unit for use in a microprocessor |
US4412283A (en) * | 1980-05-30 | 1983-10-25 | Fairchild Camera & Instrument Corp. | High performance microprocessor system |
US4434461A (en) | 1980-09-15 | 1984-02-28 | Motorola, Inc. | Microprocessor with duplicate registers for processing interrupts |
US4390963A (en) * | 1980-09-15 | 1983-06-28 | Motorola, Inc. | Interface adapter architecture |
US4486624A (en) * | 1980-09-15 | 1984-12-04 | Motorola, Inc. | Microprocessor controlled radiotelephone transceiver |
JPS5757345A (en) * | 1980-09-24 | 1982-04-06 | Toshiba Corp | Data controller |
US4656580A (en) * | 1982-06-11 | 1987-04-07 | International Business Machines Corporation | Logic simulation machine |
DE3305693A1 (de) * | 1983-02-18 | 1984-08-30 | Nixdorf Computer Ag | Schaltungsanordnung zur zwischenspeicherung von befehlsworten |
US4737933A (en) * | 1983-02-22 | 1988-04-12 | Storage Technology Partners | CMOS multiport general purpose register |
WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
US4575793A (en) * | 1983-08-19 | 1986-03-11 | Cxi, Inc. | Personal-computer to 3270 system interfacing apparatus |
EP0136218A3 (de) * | 1983-08-29 | 1988-04-20 | FAIRCHILD CAMERA & INSTRUMENT CORPORATION | Pipeline-Mehrtorprozessor |
US4630045A (en) * | 1983-10-24 | 1986-12-16 | International Business Machines Corporation | Controller for a cross-point switching matrix |
US4831521A (en) * | 1983-11-10 | 1989-05-16 | General Signal Corporation | Vital processor implemented with non-vital hardware |
JPS60156151A (ja) * | 1983-12-23 | 1985-08-16 | Nec Corp | メモリアクセス制御装置 |
JPS61115153A (ja) * | 1984-11-09 | 1986-06-02 | Hitachi Ltd | デ−タ処理装置 |
JPH0776917B2 (ja) * | 1984-12-29 | 1995-08-16 | ソニー株式会社 | マイクロコンピユ−タ |
JPS6347833A (ja) * | 1986-08-15 | 1988-02-29 | Nec Corp | マイクロコンピユ−タ |
US5146606A (en) * | 1986-09-18 | 1992-09-08 | Digital Equipment Corporation | Systems for interconnecting and configuring plurality of memory elements by control of mode signals |
US4985832A (en) * | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
US5230079A (en) * | 1986-09-18 | 1993-07-20 | Digital Equipment Corporation | Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register |
US6108763A (en) * | 1986-09-18 | 2000-08-22 | Grondalski; Robert S. | Simultaneous parity generating/reading circuit for massively parallel processing systems |
US5226129A (en) * | 1986-10-30 | 1993-07-06 | Nec Corporation | Program counter and indirect address calculation system which concurrently performs updating of a program counter and generation of an effective address |
JPS63285635A (ja) * | 1987-05-18 | 1988-11-22 | Fanuc Ltd | プロセッサ制御方式 |
EP0293517B1 (de) * | 1987-06-02 | 1992-11-25 | Deutsche ITT Industries GmbH | Steuerprozessor |
US4953078A (en) * | 1987-10-28 | 1990-08-28 | Digital Equipment Corporation | Apparatus and method for multi-threaded program execution in a microcoded data processing system |
JPH0795269B2 (ja) * | 1988-11-04 | 1995-10-11 | 富士通株式会社 | 命令コードのデコード装置 |
US5440749A (en) * | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
GB9018990D0 (en) * | 1990-08-31 | 1990-10-17 | Ncr Co | Register control for workstation interfacing means |
US5473271A (en) * | 1993-02-09 | 1995-12-05 | Dallas Semiconductor Corporation | Microprocessor output driver |
JPH08110886A (ja) * | 1994-10-07 | 1996-04-30 | Ricoh Co Ltd | Dmaコントローラ及びファクシミリ装置 |
US5802359A (en) * | 1995-03-31 | 1998-09-01 | International Business Machines Corporation | Mapping processor state into a millicode addressable processor state register array |
JP3211750B2 (ja) * | 1997-02-27 | 2001-09-25 | 株式会社デンソー | 情報処理装置及びパイプライン処理方法 |
US6970985B2 (en) * | 2002-07-09 | 2005-11-29 | Bluerisc Inc. | Statically speculative memory accessing |
US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
US20070294181A1 (en) * | 2006-05-22 | 2007-12-20 | Saurabh Chheda | Flexible digital rights management with secure snippets |
US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
US20080154379A1 (en) * | 2006-12-22 | 2008-06-26 | Musculoskeletal Transplant Foundation | Interbody fusion hybrid graft |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737866A (en) * | 1971-07-27 | 1973-06-05 | Data General Corp | Data storage and retrieval system |
US3896418A (en) * | 1971-08-31 | 1975-07-22 | Texas Instruments Inc | Synchronous multi-processor system utilizing a single external memory unit |
US3757308A (en) * | 1971-09-03 | 1973-09-04 | Texas Instruments Inc | Data processor |
US3748649A (en) * | 1972-02-29 | 1973-07-24 | Bell Telephone Labor Inc | Translator memory decoding arrangement for a microprogram controlled processor |
NL7410610A (nl) * | 1973-08-10 | 1975-02-12 | Data General Corp | Stelsel voor het verwerken van gegevens. |
JPS511157A (en) * | 1974-06-24 | 1976-01-07 | Nippon Electric Co | Reezakosenomochiita shojunsochi |
US3984813A (en) * | 1974-10-07 | 1976-10-05 | Fairchild Camera And Instrument Corporation | Microprocessor system |
US3962682A (en) * | 1974-10-30 | 1976-06-08 | Motorola, Inc. | Split low order internal address bus for microprocessor |
US3980992A (en) * | 1974-11-26 | 1976-09-14 | Burroughs Corporation | Multi-microprocessing unit on a single semiconductor chip |
US3988717A (en) * | 1975-08-06 | 1976-10-26 | Litton Systems, Inc. | General purpose computer or logic chip and system |
-
1976
- 1976-12-13 US US05/749,994 patent/US4079455A/en not_active Expired - Lifetime
-
1977
- 1977-11-28 SE SE7713451A patent/SE425527B/xx not_active IP Right Cessation
- 1977-11-29 IT IT30208/77A patent/IT1088703B/it active
- 1977-12-12 GB GB51689/77A patent/GB1590028A/en not_active Expired
- 1977-12-12 DE DE19772755273 patent/DE2755273A1/de active Granted
- 1977-12-13 FR FR7737530A patent/FR2373828A1/fr active Granted
- 1977-12-13 JP JP15038977A patent/JPS5374858A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US4079455A (en) | 1978-03-14 |
SE7713451L (sv) | 1978-06-14 |
JPS5374858A (en) | 1978-07-03 |
DE2755273A1 (de) | 1978-06-15 |
FR2373828B1 (de) | 1981-11-20 |
IT1088703B (it) | 1985-06-10 |
SE425527B (sv) | 1982-10-04 |
FR2373828A1 (fr) | 1978-07-07 |
GB1590028A (en) | 1981-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2755273C2 (de) | ||
DE2907181C2 (de) | Prozessor mit einem Befehlssatz-Modifizierregister | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE4010119C2 (de) | Anordnung und Verfahren zur Umordnung eines Speicherformats in einem Mikroprozessor | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2935906C2 (de) | Mikroprozessor | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2019444A1 (de) | Datenverarbeitungsanlage | |
DE69732793T2 (de) | Acht-bit-mikrokontroller mit risc-architektur | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2364865A1 (de) | Erweitertes speicheradressenbildungssystem eines digitalen rechnersystems | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2725614C2 (de) | ||
DE2854400A1 (de) | Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen | |
DE2336676A1 (de) | Einrichtung zur modifizierung von mikroprogrammbefehlen | |
DE2835110A1 (de) | Schneller echtzeit-rechneremulator | |
CH632349A5 (de) | Einrichtung zur mikrobefehlssteuerung. | |
DE1806464A1 (de) | Adressengenerator fuer einen Digitalrechner | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE1524211A1 (de) | Datenverarbeitungsanlage | |
DE2502005C2 (de) | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung | |
DE2760416C2 (de) | Verzweigungssteueranordnung für eine elektronische Datenverarbeitungsanordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |