DE2755273A1 - Mikroprozessor - Google Patents
MikroprozessorInfo
- Publication number
- DE2755273A1 DE2755273A1 DE19772755273 DE2755273A DE2755273A1 DE 2755273 A1 DE2755273 A1 DE 2755273A1 DE 19772755273 DE19772755273 DE 19772755273 DE 2755273 A DE2755273 A DE 2755273A DE 2755273 A1 DE2755273 A1 DE 2755273A1
- Authority
- DE
- Germany
- Prior art keywords
- arrangement
- register
- address
- data
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013500 data storage Methods 0.000 claims description 29
- 238000003860 storage Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 21
- 238000000034 method Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000001356 surgical procedure Methods 0.000 description 6
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000001343 mnemonic effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 101000643024 Homo sapiens Stimulator of interferon genes protein Proteins 0.000 description 2
- 102100035533 Stimulator of interferon genes protein Human genes 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- YBYIRNPNPLQARY-UHFFFAOYSA-N 1H-indene Chemical compound C1=CC=C2CC=CC2=C1 YBYIRNPNPLQARY-UHFFFAOYSA-N 0.000 description 1
- 240000000662 Anethum graveolens Species 0.000 description 1
- 101001013167 Argopecten irradians Myosin essential light chain, striated adductor muscle Proteins 0.000 description 1
- 241000282461 Canis lupus Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 101001013166 Mizuhopecten yessoensis Myosin, essential light chain, adductor muscle Proteins 0.000 description 1
- 101100273253 Rhizopus niveus RNAP gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 150000001875 compounds Chemical group 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 201000008103 leukocyte adhesion deficiency 3 Diseases 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003756 stirring Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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
MlRIiTUIHKSIl HTHANHB ait
l'OHTPAt'II Ηβ IMIlW
27^273
TRLSfON ΙΜΟ/ΙΤ«βΟ·
Ι7βΗΙ0
TKLBX stuiK.ie
TKI.KUDAMM MOMIIKZ
RCA Docket 71,309
Ser.No. 749,994
Filed!December 13, 1976 71 309 Dr.v.B/E
Die vorliegende Erfindung betrifft einen Mikroprozessor gemäß dem Oberbegriff des Patentanspruchs 1, insbesondere die strukturelle Organisation von Mikroprozessoren, welche mit sich überlappenden
Zugriffs- und Ausführungszyklen arbeiten.
Ein Mikroprozessor ist. eine Einrichtung, die arithmetische, logische und Entscheidungen fällende Operationen unter Steuerung durch
aufeinanderfolgende Befehle auszuführen vermag, jedoch kleine Abmessungen
hat und gewöhnlich in Form eines oder zweier integrierter Schaltkreise hergestellt wird. Die Befehle werden in irgend einer Art von zugeordneter
Speichereinrichtung gespeichert. Ein Mikroprozessor ist in der Lage, mit
einem Satz peripherer Einrichtungen durch gewisse , wohl definierte Zweiweg-Kopplungs- oder Interface-Strukturen zu verkehren. Mikroprozessoren
arbeiten im Vergleich zu großen programmgesteuerten Rechengeräten (Computern) manchmal langsam, sie haben jedoch den Vorteil, daß sie auf einigen wenigen integrierten Schaltungsplättchen realisiert werden können und verhältnismäßig billig sind.
809824/0933
;■<>·.'. , .n>:i κ MfN(HF-N \'ii. »m ι·» iim - hamü.onk; »vvi ium. ι Γ ' ι m:\ iüij. ϊιι»: ho im νιο
275^273
Durch die Technik der Großintegration ist es möglich
geworden, auf kleinem Raum logische Schaltkreise herzustellen, die früher
tausende von diskreten Einrichtungen benötigten. Wenn Datenverarbeitungsund
elektronische Rechnersysteme auf wenige großintegrierte (LSI) Schaltkreise reduziert werden, stellt die Organisation gewöhnlich eine verkleinerte
Version einer großen Datenverarbeitungsanlage dar. Wenn man jedoch eine Datenverarbeitungsanlage
auf 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 kinn. Ein weiteres Problem ergibt sich daraus, daß die Programme
langsamer laufen, W3S seinen Grund in den der verwendeten Technologie von
Natur aus anhaftenden Geschwindiqkeitsbegrenzungen oder darin haben kann,
dafi primitivere Befehle verwendet werden müssen, von denen für die Durchführung
einer vorgegebenen Aufgabe mehr gebraucht werden als von den in größeren Maschinen verwendeten Befehlen.
Bei vielen Systemen ist eine Erhöhung der Geschwindigkeit
der Ausführung von Programmen wünschenswert. Eine diesbezügliche Maßnahme
besteht, in einer Überlappung der Befehls-Aufruf- oder Zugriffszeit mit der
Durchfiihrungszeit. Dies hat man schon bie manchen größeren Systemen gemacht,
wie bei dem System 370/195 (IBM), die in solchen Systemen angewandten Techniken eignen sich jedoch nicht für Mikroprozessoren.
Durch die Erfindung wird eine Architektur für einen Mikroprozessor
angegeben, der mit einem Programmspeicher und einem Datenspeicher
verwendet wird, die beide eine Adressenschiene und eine Datenschiene aufweiten,
während der Mikroprozessor eine Datenausführungseinheit und eine Befehlsaufruf- oder Zugriffseinheit enthält. Jede Einheit enthält eine Registeranordnung,
die wiederum jeweils zwei unabhängige Lese-Eingänge und -Tore und zwei unabhängige Schreibe-Eingänge oder -Tore aufweisen. Die Ausführungseinheit
hat ferner eine arithmetisch-logische üinheit zur Durchführung
von Operationen mit Operanden, die in Registern ihrer Registeranordnung gespeichert sind und zum Durchschleusen des Resultats zur Datenschiene
des Datenspeichers Ferner ist eine Steuereinheit vorgesehen, welche
ein Befehlsregister zum Speichern des Befehls, der ausgeführt wird,
80982^/0933
ORIGINAL INSPECTED
270-273
und Takt- oder Steuerschaltungen, die Steuersignale zur Ausfuhrung des laufenden Befehls liefern, enthält.
Im folgenden werden Ausführungsbeispiele der Erfindung
unter Bezugnahme auf die Zeichnung niihcr erläutert.
Es zeigen:
Fig. 1 ein Blockschaltbild eines Anlage, in der eii Mikroprozessor gemä.3 der Erfindung verwendet werden kann;
Fig. 2 ein Blockschaltbild einer Mikroprozessorkonstruktion 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 Verriegelungs- oder Halteschaltung, die in der Speicheranordnung gemäß Fig. 3 verwendet werden kann.
Das Blockschaltbild gemäß Fig. 1 zeigt, wie ein Mikroprozessor gemäß der Erfindung mit anderen Komponenten einer Anlage zusammengeschaltet sein kann. Der Mikroprozessor 10 ist mit einem Programmspeicher
12, einem Datenspeicher 14, einer Spezialfunktionseinhoit 16 und Eingabe/
Ausgabegeräten 17 und 19(I/G*-Geräten) 17 und 19 gekoppelt. Ferner sind Verbindungen für Signale PUA, die eine Programmunterbrechung anfordern, und
Signale DMA, die einen direkten Speicherzuqriff anfordern, dargestellt. Die
Verbindung mit dem Programmspeicher 12 erfolgt über eine Programmspeicheradressenschiene 112 und eine Programmspeicherdatenschiene 113. Die Programmspeicheradressenschiene 112 überträgt Adressensignale vom Mikroprozessor 10
zum Programmspeicher 12. Die Programmspeicherdatenschiene 113 überträgt die
809824/0933
ORIGINAL
2753273 /r
Programmbefehlswörter vom Programmspeicher 12 zum Mikroprozessor 10 und zur
Spezialfunktionseinheit 16, wenn diese verwendet wird. Bei einem bevorzug
ten Ausführungsbeispiel einer solchen Anlage ist ein Befehlswort typischer
weise ?4 3Hs lang.
Die Verbindung mit dpin Datenspeicher 14 erfolgt über eine
ü<iti;iisneicheradr9ssenschie:ie 114 und eine Datenspeicherdatenschiene 115.
Die Daterispeitheradressensch iene 114 überträgt die Datenspeicheradressen
vom Mikroprozessor 10 zu.n Datenspeicher 14 zum Zugriff zu Datenspeicherplätzori;
ferner werden über sie bestimmte Adressenkombinationen für I/O-Gerätewahl
zur Datenübertragung und zur Steuerung der I/0-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/0-Geräten geteilt.
Di»se Aufteilung kann auf irgend eine 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 reser
viert sind und der Rest ?ur Adressierung des Datenspeichers dient. Eine
solche Anordnung eignet sich offenbar am besten für Mirkoprozessor-Konfigurationen,
deren Datenspeicher-Adressenwortiängen 16 Bits oder mehr betragen.
Die Datenspeicherdatenschiene 115 wird für eine bidirektionale
Signalübertragung zu und von dem Mikroprozessor 10, dem Datenspeicher 14 und den I/0-Geräten 17 und 19 und gegebenenfalls/eine nur in eine
Richtung verlaufende Signalübertragung von den Ausgangsklemmen der Spezialfunktionseinheit
16 verwendet. Der Mikroprozessor 10 steuert al Ie Datenübertragungen
über diese Leitungen, in dorn er an alle mit den betreffenden Leitungen
verbundenen Einheiten Operationssteuersignale und Taktinformation 1 iefert.
Bei dem Mikroprozessor 10 sind Vorkehrungen für einen Speicherdirektzugriffkanal vorgesehen. Die Datenübertragungen und Adres
sierungen für diesen Kanal werden über die Datenspeicher-Datenschiene 115
bzw. Adressenschiene 114 abgewickelt. Die Anforderung eines Datenübertra-
809824/0933
ORIGINAL INSPECTED
gungszyklus wird durch ein DMA-Anforderungssignal vom I/0-Gerät 17 zum Mikroprozessor 10 übertragen. Dieses Signal veranlaßt den Mikroprozessor, die
normal Folge der Ausführung von Programmbefehlen oder die Erledigung einer Programmunterbrechung zeitweilig auszusetzen, um die dem Speicher-Direktzü-griffkanal zugeordneten Steueroperationen durchzuführen. Der Mikroprozessor
10 enthält eine Pol gesteuerung oder -logik in seiner Ausführungseinheit, um
die Inhalte eines General registers 0 (GRO) zu verringern und auf Null zu
prüfen; das General register Null dient für die dem DMA-Kanal zugeordnete Wortzählung. Wenn GRO auf Null zurückgeschaltet ist, wird ein übertraqunj-Fertig-Signal erzeugt, um die Operationen im Zusammenhang mit dem DMA-Kanal
zu beenden. Das Adressenregister Null (ARO) in der Befehlsabrufeinheit des Mikroprozessors enthält die DMA-Datenadresse (Hinweisadrosse) und wird nach
jedem Speicher-Direktzugriffzyklus automatisch weiterqeschaltet (inkrementiert).
Es sind Vorkehrungen getroffen, um an den Mikroprozessor eine Spezial funktionseinheit 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 A (OPA)
und einen Operandeneingang B (OPB) parallel zufiihrbar. Das Resultat von der
Spezialfunktionseinheit 16 wird dem Mikroprozessor 10 synchron oder asynchron
über die Datenspeicher-Datenschiene 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/0-Geräte 17 und 19 sind mit dem
Mikroprozessor 10 durch die Datenspeicher- Adressenschiene 114 und die Datenspeicher -Datenschiene 115 verbunden. Die Geräteadressen werden den I/O-Geräten vom Mirkoprozessor 10 über die Datenspeicher-Adressenschiene 114 zugeführt. Wie erwähnt, v/erden die höchstranqigen Adressen für die Adressierung
der I/0-Geräte verwendet. Die Datenübertragungen über die Datenspeicher-Datenschiene 115 dienen zur Verteilung der Daten auf die I/0-Geräte, den
809824/0933
ORIGINAL
Mikroprozessor 10, dön Datenspeicher 14 und gegebenenfalls die Soezialfunkttonseinheit
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 Unterbrechunysanforderunqssignale
der verschiedenen Einrichtungen werden dieser Leitung durch eine ODER-Verknijpfung 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 Mikroorozessor
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 Befehls repertoire (Befehlsvorrat) definiert
werden. Alle Operationen, die in dieser Einheit durchgeführt werden, bekommen ihre Operanden von einer General registeranordnung oder einem Generalregisterstapel
21, einen uninittlebaren oder 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-Datenschiene 115 zu den I/O-Geräten, dem Datenspeicher 14 oder
der Befehlsabrufeinheit übertragen v/erden. Zu den wesentlichen organisatorischen
oder konstruktiven Merkmalen ("Architektur") der Datenausführungseinheit gehören die arithmetisch-logische Einheit (ALU) 27 und der Generalregisterstapel
21.
Die arithmetisch-logische Einheit 27 führt alle arithmetischen und logischen Operationen aus, die durch das Befehlsrenrtoire angegeben
werden können. Verschiebungsbefehle, iterative Multiplikationsbefehle
809824/0933
i- HMöf£CTED
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. (Als ALU-Einheit kann z.U. der integrierte
Scheltkreis SN 74181 der Firma Texas Instruments, Ire. verwendet werden, dessen Spezifikationen bekannt sind.)
Der General register-stand 21 ist beispielsweise ein Vier-Ei ti^ancis-Zwischenspei ehe·" für acht Wörter, der für die Speicherung aritnmeti5icher Operanden verwendet wird. Die Operanden für die ALU 27 sind gleichzeitig an zwei Leseausgängen verfügbar. Beide Leseausgänge enthalten Verriegerlungs- oder Halteschaltungen und sind voneinander unabhängig; jeder Ausyang kann den Inhalt irgend eines der acht General register 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 Speichereingange zum Speichern von Daten in einem der General register vom Ausgang der ALU und zum Speichern von Daten in ein anderes
General register von der Datenspeicher-Datenschiene 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önne, wie erwähnt, über die Operand-Α 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 Registeranordnung oder einen
Adressenregisterstapel ?.2 für indirekte Adressen, einen Adressenfortschreibungs-Addierer ?12, mit dem die Adressen auf den neuesten Stand gebracht
v/erden können, einen Befehlsprogrammzähler 21? und einen Programmzählerstapel
213. Der Adressenregisterstapelspeicher 22 ist ein Vier-Eingangs-Zwischenspeicher für acht Wörter, der zur Speicherung indirekter Adressen dient.
Cie Zwischenspeicher 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 Lese-
809824/0933
tor IR4 zu einer Verriegelung*.;- oder Halteschaltung durchgeschleust und
auf die Dätenspeicher-Adressenschiene 114 gekoopelt, so daß ein DatenSDeicherzugri
f f 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 Ooeranden des Programmbefehlswortes.
Line indizierte Adressierung kann mit einer Folge von zwei Befehlen bewirkt werden, die unten erläutert werden wird. Das Adressenregister
7 (AR7) unterscheidet sich von den anderen Adres sen registern
darin, daß es als zwei Iterationszähler dient. Der Iterationszähler B(ICB)
ist die niederrangie Hälfte von AR7 und der Iterationszähler A (ICA) ist
die höherrangige Hälfte.
De»· Adressenaddierer ?11 bringt dio Adressen in der erforderlichen
Weise auf den neuesten Stand, welche auf der Datenspeicher-Adressenschiene 114 verwendet werden. Dieses Fortschreiben der Adressen, das im
Prograininbi.fehlswort angegeben ist, findet wJhrend der Datenspeicherzugriffszeit
stat und die fortgeschriebene Adresse wird am Ende des Befehlausführungszyklus in das gewählte Adressenregister zurückgespeichert. Die Adresse
kdr\n 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 (AR6) gespeichert. Der nächste Befehl verwendet
die errechnete indizierte Adresse in AR6, um den Inhalt von dem gewünschten
Datenspeicherplatz abzurufen. Die Stapeladressierung ist 1n 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.
809824/0933
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 D12 und 022) und zwei Datenausgangsklemmen
(zypisch 012 und 022) aufweisen und durch Lesesignale (R1 oder R2) und
Schreibesignale (W1 oder W2) gesteuert werden. Die drei Bits des Befehlsfeldes oder -oereiches, die zur Adressierung eines Registers verwendet werden,
wie für R1, die Bits 2 l , 2 und 2 vom Befehlsregister, werden einem Eins-Aus-Acht-Decodierer 31 zugeführt. Solche Decodierer sind bekannt, siehe z.B.
den von der Firma Texas Instruments, Inc. vertriebenen Schaltkries ECL 2517. Je nach der Kombination dieser Bits liefert eine der acht Ausgangsleitungen
ein Steuersignal RI 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 110 bis 117 bezeichneten Datenleitungen 33 erscheinen,
gespeichert werden, wenn ein Auftast- oder Taktsignal Wi 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 Speicherlesekommandosignal R2
entsprechend einem Wahl code R2 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 GruDpe
von Halteschaltungen gespeichert.
Die Schreibeadresse W2 für die Zellen wird durch einen dritten Eins-Aus-Acht-Decüdierer 36 geliefert, der durch ein Schreibetastsignal
W2 freigegeben wird. Die Wahl signale W2 kommen von dem geeigneten Feld uder
Bereich des Befehls, z.B. den Bits 212, 211 und 210. Die zu speichernde Information liegt auf den Eingangsleitungen 33, die mit 120 bis 127 bezeichnet
sind.
Eine typische Speicherzelle ist in Fig. 4 dargestellt. Das Signal WI ö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
809824/0933
27^5273
der Eingangsklemme des Inverters 41 durch einen N-Kanal-FET 44 zugeführt,
der durch das Signal WI aufgetastet wird. Wenn das Signal W1 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 Schreibekommandosignal
W? wirkt in der gleichen Weise wie das Signal W1 für den Dateneingang DATA IN ?.. Das Ausgangssignal eines Ausgangsinverters 45 wird durch einen
von zwei N-Kanal-FET1s durchgeschleust, je nachdem, ob das Lesekommandosignal
f<1 oder das Lesekommandosignal R2 zugeführt werden.
Fig. 5 zeigt eine typische Verriegelungs- oder Halteschaltung. Sie enthält eine Torschaltung 51 mit zwei Transistoren, die durch
ein Tastsignal aufgetastet wird, welches außerdem eine zweite Torshaltung 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, die Information gespeichert und ein ihr entsprechendes Ausgangssignal an
einer Datenausgangsklemme des Inverters 54 auftritt. Durch ein Rücksetzsignal
wird ein Transistor 54 gesperrt, der die Informationsrückführungsschleife
unterbricht, und wird als Transistor 56 aufgetastet, der dem Eingang des Inverters 53 ein Signal des Logikwertes Null (Massepotential) zuführt.
Der Befehlsprograrnmzähler (IPC) 212 in Fig. 2 dient zur
Befehlsfolgesteuerung und kann mit Verzweigungsadressen gesetzt werden. Die
Ausgangssignale vom Befehlsadressenzähler 212 werden über die Programmspeicher-Adressenschiene
212 übertragen, um den nächsten Befehl abzurufen, während gleichzeitig arithmetische Operationen entsprechend dem laufenden Befehl
in der Ddtenausführungseinheit durchgeführt werden. Die Verzweigungsadressen für den Befehlsprogramiiizähler stammen entweder von dem unmittelbaren
Operandenfeld einer Klasse spezieller Befehle oder vom obersten Platz, Stdpelwort A, eines Prograinmzählerstapels 213, wie unten noch erläutert
werden wird.
809824/0933
27b5273
Der Befehlsprogrammzähierstapel 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 Tei1 Programmen und zur Durchführung von iterativen Programnschleifenverkettungen. Bei der Verkettung mit
einem Unter- oder Teil programm werden die Programmadressenverkettungen vom
Befehlsprogrammzähler im Stapel gespeichert, wobei die bereits vorhandenen
Inhalte des Stapel registers 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, v/erden die Programmadressc-iverkettungen 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. Die Arbeitsweise eines solchen Programmzählerstapels ist an anderer Stelle in einzelnen
beschrieben (Anmeldung auf der Basis von US-Ser.No. 749,971).
eines von zwei Grundbefehlswortformaten. Das erste Format istchdurch ge-
23 kennzeichnet, daß das höchststell ige Bit (2 ) des Programmbefehlswortes
des Logikwert Null hat. Es hat die Form:
23 | 22 19 | 18 16 | 15 13 | 12 10 | 9 7 | 6 4 | 3 O |
0 | OP CODE | Rl | R2 | R3 | R4 | EXT OP |
MODE
3 |
höchststell ige Bit des Programmbefehlswortes den Logikwert Eins hat und es
hat die folgende Form:
80 9 8 24/0933
ORIGINAL i
2 7 b h 2 7 3
23 | 22 | 19 | 18 | Rl | 16 | 15 | Unmittelbarer | Operand | 0 |
1 | OP | CODE |
Befehlsformat Klasse II.
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 Eingangssignal ferner die DMA-
und INT-(Unterbrechuii<jsanforderungs-)Signale zugeführt. Die Steuersignale
vom Steuerteil 2r> 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 Schaltunqsplattchen befindet.
Oie 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 Lesehalteschaltunyen
des Generalregisterstapels 21 weiterzuleiten, wenn sie durch zugeordnete Steuersignale aufgetastet werden. Andere Steuersignale steuern
die ALU 27, den Addierer 211 und die Taktunq 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. Fs 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, Ve ring 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 Ruch "Diqitai System Principles" von H. Hellermann, Verlag
McGraw-Hill (New York, 1967).
OBKäi^M«.
809824/0933
27bb273
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 den oben angegebenen Literatur-steile erläuterte Programmsprache AHPL. Die in dieser Sprache verwendeten Symbole sind im folgenden aufgeführt:
Üie primitiven Operatoren sind (4 bedeutet:"ist definiert
als ") :
+ Δ Binäre Addition (dyadisch);
~ Δ Binäre Zweierkomplement-Subtraktion (dyadisch;
Λ Δ Logisches UND (dyadisch);
v = Logisches ODER (dyadisch;
• &
Logisches EXCLUSIVES ODER (dyadisch); und
£ Einer-Komplement (Querstrich)(moriadisch).
=
£
Ist gleich (dyadisch);
f1 £
Ungleich (dyadisch);
^ Kleiner als (dyadisch); und
: i' Vergleiche (dyadisch gleichlange Vektoren).
*■ L· Empfängt (dyadisch);
* i* 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);
809824/0933
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); SWO- (SWB);
SWD-1CSWA); S1WA-* specifiz · Vector; und
POP 4 IPSTACK-Operation, wobei. SWA-MSWB) ; SWB-^(SWC);
SWC«-(SVJD) .
Identifizierer sind:
LSB ^ Niederstrangin.es Acht-Bit-Byte eines monadischeri
fiiriärvektors;
MSB £ Höchstrangiges Acht-Bit-Byte eines monadischen
Binärvektors;
Sg A Hfichstrangiges Bit eines monadischen Operanden
(Vorzeichen);
ε Q Binärvektor aus lauter logischen Einsen
ε M BiTiärer Null vektor mit der Ausnahme, daß das
niedriqststellige Bit eine Eins ist;
ω = Die j nieder strangigen Bits eins Binärvektors;
und
α = Die j höchstrangigen Bits eines Binärvektors.
809824/0933
275o273
( ) - bedeutet bei Verwendung mit einer binären Matrix eine spezielle Zeile oder ein spezielles
einen
- bedeutet, wenn es/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 ... TUEN ... TLSE ...
- der Ausdruck, der auf IF folgt, wird ausgewerted 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 Testbil Null keine
Maßnahme erforderlich ist.
ARn - das durch das Rn-FeId bezeichnete Adressenregister;
GRn - das durch das Rn-FeId bezeichnete General register;
DMAB - die Datenspeicher-Adressenschiene; DM(ARn) - der Datenspeicherplatz, der durch das Adressenregister adressiert wird, welches durch das Rn-FeId angegeben wird;
809824/0933 ORIGINAL
JO 2 7 b b 2 7 3
IPC - Befehlsprogrammzähler;
ICA - WeiterschaHen des Zählers A;
ICB - WeiterschaHen des Zählers B;
IMOP - unmittelbarer Operand, Bits (2 bis 2 ) von
Befehlen der Klasse II,
MIM - Huuptunterbrechungsmaskenbit
R6A - Register Sechs des Adressenregisterstapels;
SAAC - Arithmetischen Bedingungscode setzen;
SLCC - Logischen Bedingungscode setzen; und
SCCC - Vergleichsbedingungscode setzen.
Die Felder RI und R2 der Befehle der Klasse I wählen die
boidon Genera I rcjisler, die die Operanden enthalten, welche bei der Ausführung
der bt'fjU' i r.onden Operation verwendet werden sollen. In Fällen, bei
denen das Ergebnis durch die ALU 27 gebildet wird, gibt das Feld R1 auch
das General register an, in dom das Resultat zu speichern ist. Das Feld R3
wählt das General register, 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 RI gewählten Register gespeichert wird, auf der Datenspeicher-Datenschiene
115 befinden.(Wenn die Spezialfunktionseinheit
die Operation ausführt, werden nur die Daten auf der Datenspeicher-Datenschiene in dem durch das Feld R3 angegebenen General register gespeichert.)
Das VpAo R4 wählt eines der Adressenregister für einen eventuellen Gebrauch
während der Befehlsausführung. Der Inhalt des durch das Feld R4
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/0-Gerät zu bewirken. Bei einer Adressierung
des Datenspeichers wird die durchzuführende Operation durch die Ifihalte der Felder OP CQDi und E)(T OP amjegeb-en. 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/Ü-Gerätes bestimmt.
Das Programmzustandsregister ?4 (Fig. 2) speichert einen
ßediri'jungscode, der vier Bits enthält. Bei der Ausführung bestimmter Befehle
we»den die Bits gesetzt oder zurückgesetzt, die durch andere Befehle
809824/093 3
für Verzweigungsentscheidungen benutzt werden. Ein Bit des Bedingungscodes
ist das Bit OV, d?s durch einen arithmetischen Oberlauf von der ALU 27 gesetzt wird. Wenn es einmal qesetzt 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ühningswert 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:
SACC
OV IF C ©C .=1
THEN SET OV.
IF 0H+I=1
THEN SET C
N IF Sg(Result)=l THEN SET N ELSE RST N.
Z IF (Result)=0
THEN SET Z ELSE RST Z.
Erklärung: SET = Setzen;
Result = Resultat;
SLCC
keine Änderung
keine Änderung
sccc keine Änderung
If Sg(Result)=l THEN SET N
ELSE RST N.
ELSE RST N.
IF (Result)=0
THEN SET Z
ELSE RST Z.
ELSE RST Z.
IF (GRl) <(GR2) THEN SET N ELSE RST N.
IF (GRl) = (GR2)
THEN SET Z ELSE RST Z.
Cn = Übertragssignal in die VorzeichenstelIp und
cn+1 = Übertragssignal aus der Vorzeichenstelle
809824/0933
OBiGiNM.
27^273
Die übrigen Abkürzungen wurden oben in Verbindung mit der Programnisprache AHPL erwähnt.
Der Inhalt von dem gewählten Adressenregister wird durch den
Adressenaddierer 211 durchgeschleust und entsprechend dem MODE-Feld um 0, -M, -1, + 2, -2, oder *3 weitergeschaltet. Die so auf den neuen Stand gebrachte
Adress 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 COPE 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 Befehl^programmzähler-Nachfolgesteuerung, iterative
Schleifensteuerung oder Befehlspronrammzcihlerstapelsteuerung zu bewirken.
Der Inhält dei Feldes MODE gilt für d1Ie 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 gev/issen Befehlen zur Übertragung von Information in die
Adressenregister außer Betracht. Die speziellen MODE-Steuermcgiichkeiten und
ihre funktionellen Beschreibungen sind in der folgenden Tabelle I aufgefühi
t (alle Tabellen folgen am Ende der Beschreibung).
Tür die erweiterten Operationssätze ο oder ι , die
durch die Werte 000 bzw. 001 des Feldes tXT W bezeichnet werden, bewirken
die Befehle der Klasse I bestimmte Reqister-Reqister-Operationen zusätzlich zu der Operation, die durch den Inhalt des Feldes OP CODE angegeben wird.
Bei dem erweiterten Onerationssatz 0 werden zur gleichen
Zeit wie die arithmetische Operation durchgeführt wird, die Daten auf der Datenspeicher-
Datcnschienc 115 in einem General register gespeichert. Beim erweiteren
Operationssat/ 1 wird das Resultat der durchgeführten arithmetisehen
Operation auf die Dalenspeicher-Datenschiene 115 gekoppelt, flit der Ausnahme
des Falles, daß die Γ el der R1 und R3 gleich sind, beschränkt keine dieser
Operationen die Spezifizierung und Leistungsfähigkeit der arithmetischen Operation.
Für diese Befehle gü)t der Inhalt der Felder RI und R? jeweils eines
809824/0933 ORIGINAL
Z3 27GS273
-J*
der acht General register als Operand für den Befehl an. Die Inhalte der Felder R1 und R2 können unterschiedliche General register oder das gleiche Generälregister als Quellen für die Befehls operariden bezeichnen. Die spezifizierte
Funktion wird mit den beiden gewählten Operanden durchgeführt und das Resultat wird in demjenigen General register gespeichert, das durch das Feld R1 gewählt
ist. Als Ergebnis der gewählten Operation wird ein ßedingungscodestatusregister
auf einen aus einer Gruppe von speziellen Bedingungscodeeinstellungen gesetzt,
der für die Operation angegeben ist.
Die Befehle fiir die erweiteren Operationssätze 0 und 1 sind
in der Tabelle II aufgeführt.
Eine Angabe des erweiterten Ooerationssatzes 0 bedeutet,
daß in dem durch das Feld R3 des Befehles gewählten General register der Inhalt von einem Platz im Datenspeicher oder von einem I/O-Gerät zu sneichern
ist, welcher bzw. welches durch das Adressrnregister adressiert ist, das durch
das Feld R4 gewählt wurde. Die Speicherung erfolgt gleichzeitig mit dem Einschreiben des Resultates der spezifizierten Operation in das General register,
das durch den Inhalt des Feldes RI gewählt wurde. Wenn die Felder RI und R3
gleich sind, findet eine Beschickung des General registers unter Verwendung
der Daten auf der Datenspeicher-Patenschier.e nicht statt. Er, wird nur das Resultat der angegebenen Operation in dem durch das Feld R1 gewählten General -register gespeichert.
Die Angabe des erweiterten Operationssatzes 1 bedeutet, daß das Resultat der Operation in dem Datenspeicherplatz zu speichern oder zu dem
I/0-Gerait übertragen ist, welcher bzw. welches durch das vom Feld R4 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 R1 gewählten General register.
Wenn die Inhalte der Felder RI und R3 gleich sind, wird das Resultat von der
arithmetischen Operation auf die Datensneicher-Datenschiene gekoppelt, es
wird jedoch nicht in dem durch das Feld RI angegebenen General register gespeichert.
809824/0933
27bb273 JLH
-XT-
Y\\r <j-\e erweiterten Operationssatze 2 und 3, die durch
die Worte 010 bzu. 0!' dos Fr; Kies LXl (JP bezeichnet werden, spezifizieren
die (V CODFS der Befehl«--· (Jer Klasse I die verschiedenen Operationen. Die Befehle
für die erweiteren Onerütionssätze 2 und 3 sind in der hinten angefügten
Tabelle III im einzelnen angegeben. Wenn firin die erweiteren ODeratiorissätze
2 lind 3 angiht, hat dies die gleichen Speicher- oder Beschickungsfolgen
mit zur Folge, wie es für die erweiterten Sätze 0 bzw. 1 angegeben ist.
Bei drei erweiterten Onerationssatz 4, der durch den lJert
100 im Feld FXT OP bezeichnet wird, spezifizieren die Befehle der Klasse I
einen speziellen Satz arithmetischer Operationen. Beispielsweise spezifizieren
die OF CODES 0000 bis 0111 Operationen, bei denen die Inhalte der durch
die Felder R3 und R4 bezeichneten Register in der arithmetischen Operation
fnciit verwendet werden. Stattdessen werden die Inhalte des Bedingungscodestatusregisters
und der Genera 1 register, die durch die Felder RI und R?. bezeichnet
werden, i>ls Ooer.inden verwendet. Die Inhalte df s durch das Feld
R4 bezeichneten Adresser:registers gibt die Adresse des DatensDeicherplatzes
oder dl* I/'l-Gerät an, von Hein D<:ten über die Datensr'eicher-Datenschiene
abzurufen und in dom durch das Feld P!3 angegebenen General register zu soeichern
sind.(Diese Operation wird gleichzeitig mit der gewählten arithmetischen
Ope'-Uion durchgeführt).
de« -OP COiMS 1001) bis 'i\'\l wählt dar Feld R3 das Genera]
register.» das -aJs BistHijmuTKrjori für das arithmetische Resultat verwendet
werden soll. L"s erfolgt keine nleichzeitig Beschickung von Daten vom Datenspeicher
oder einem I/0-GeKit. !Jährend der Ausführung dieser Befehle, spezi
fiziert das Feld RI eine Prijfunr; der J?ii\s C, JV oder Z des ßedinqunqscodestatusregisters.
Je nachdem Ergebnis der Bedingungscodenriifunq werden nur
fiiisen oder nur NwHeR für den einen der Einqanqsoneranden der ALU TI verwen
det. Der andere Eingangsoperand ist der 'r-hait des durch das Feld R2 gewählten
Generalregisters. Das Resultat der angegebenen logischen Operation wird in dem durch das Feld R3 angegebenen General register gespeichert. In der Tabelle
IV ist eine vollständige funktionell Beschreibung aller Befehle des
erweiterten Operationssatzes 4 enthalten.
809824/0933
IS 27S-..273
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 ausschlißlich
eine Funktion der in Verbindung mit dem Mikroprozessor verwendeten Spezialfunktionseinheit. Bei der Ausführung dieser Befehle wählt das Feld R1 das
General register, dessen Inhalt über die Operand-A-Leitungen OPA zugeführt
wird und das Feld R2 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 dein durch das Feld R3 bezeichneten
General register gespeichert. In diesen Befohlen, kann das Feld MODE dazu
verwendet werden, Operationen anzugeben, die gleichzeitig mit dem Inhalt des durch (!as Feld R4 angegebenen Adressenregisters durchzuführen sind.
In dem erweiterten Operationssat/ 6, der durch den Wert 110 des EXT-OP-Code bezeichnet wird, sind dio 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/0-Geräte, und Speziilfunktionseinheit-Verkehr
wird gesperrt, da die Datenspeicher-Datenschiene als Verbindung zwischen den beiden Funktionseinheiten verwendet wird. Das Befehlsformat ist ein Dreiadressenbefehl, in dem die Felder RI und R2 die Inhalte von Generalregistern
als Operanden wählen, der OP-CODE die von der ALU ?7 durchführende arithmetische Funktion angibt und das Feld R4 ein Adressenregister als Bestimmungsort
für das Resultat der ALU-Opera ti on bezeichnet. Alternativ kann das Resultat
der ALU 27 in einem durch das Feld R1 bezeichneten General register gespeichert
werden, wenn die Felder R1 und R3 nicht gleich sind. Immer wenn das Adressenregister 7 als Bestimmungsregister für das Ergebnis der Operation der ALU
gewählt wird, tritt eine automatische Programmzählerstapeloperation (IPSTACK-
809824/0933 __
Operation) ein. Der Programinzählerstapel wird (nach unten) verschoben und
der Programmzählerwert +1 wird als Stapelwort A gespeichert.(Für eine Maschinenkonfiguretion,
die mit nWir als acht Bits in der Befehlsabrufeinheit
arbeitet, wählt der OP CODE gewisse Operationen, die eine Bytespeicherung
entweder in dem hö'chstrangigen oder dom niederstrangigen Byteplatz eines
durch das Feld R4 gewählten Adressenregisters bewirken). Die Tabelle V enthält
eine ins Einzelne gehende funktionelle Beschreibung der sechzehn Operationen
des erweiterton 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 Befehlsprogramrnzählerstapel in dem durch
das Feld R3 gewählten Generalreoister o-Jer unter Adressierung durch das Feld
R4 im Datenspeicher oder einem I/0-Orat. (Dr Information kann in Form ganzer
Wörter gespeichert werden oder die hrkhstranqiqe Byte oder die niederstrangige
Byte können getrennt gespeichert werden).
Es gibt ferner Befehle zum Beschicken des Programmzählerstapels
vom Datenspeicher, einem I/0-Gerat oder einem durch das Feld R2 bezeichneten
Generalrecjister. Das durch das Feld R4 bezeichnete Adressenregister
gibt den Datenspeicherplatz oder das I/0-Gerät an, welches als Quelle
für die zu speichernde Information verwendet werden soll.(Der Programmzählerstapel
kann mit garnen Wörtern beschickt werden oder die höchstrangige Byte
oder die niederstranqige Byte können netrennt gespeichert werden). In diesem
erweiterten Operationssatz ist das Feld !1ODE mit allen seinen Steuerkombinatiöfsefi
unwirksam fur alle Beföhle, üie Befehle im erweiterter? 0perationssat2
7 {itJ QP T) sind in der Tabelle VI im einzelnen angegeben,
Bei den Befehlen der Klasse II werden im allgemeinen die sechzehn niedersteniqsten Bits als laufender oder unmittelbarer Operand
verwendet. In diesen Befehlen fjiM das Feld R1 entweder ein General register,
ein Adressenregister oder im Falle eines Verzweigungsbefehles eine Erweiterung
des öperationseodes an. Diese ßefehlsldasse enthält secnzenn Sefehle
mit speziellen Operationen, die durch das OP-CODE-FeId angegeben werden.
Immer wenn das Adressenregister 7 als Bestimmungsort für das Resultat der
Operation gewählt wird, tritt eine automatische Programmzählerstapeloperation
. . t. 809824/0933
27 275G273
ein. In diesen Fällen wird der Programinzählcrstapel in Speicherrichtung verschoben und der Programmzähler wird um -»1 weitergeschaltet und sein Inhalt
^Is Stapelwort A gespeichert. Die Befehle der Klasse II sind in der Tabelle
VII im einzelnen angegeben.
Der be se !.ri ebene Mikroprozessor net einen Befehlssatz und
eine Schaltung, die sich besonders gut für eine Überlappung von Abruf- und
Ausführungsoperationen eignet. Er ist besonders nützlich für Feldverarbeitungen. Die im einzelnen beschriebene Konstruktion läßt sich auf verschiedene
Weise realisieren. Jede Funktionseinheit ktinn auf einem eigenen integrierten
Schaltungsplättcheri gebildet werden oder beide Einheiten können sich auf dem
gleichen integrierten Schaltungsplattchcn befinden. Der Vorteil der ersterwähnten Ausführungsform besteht darin, daß soviele integrierte Schaltkreise
wie gewünscht hintereinander geschaltet werdvn 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ührunnseinheiten mit einer einzigen ßefehlsabrufeinheit verwenden. Die Konstruktion ist hinsichtlich der Systemgröße anpassungsfähig.
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 im Rahmen des Schutzbegehrens abwandeln.
809824/0933 ORDINAL. INSPECTED
TABELL Γ Ι
MODE-Zusatzsteueraöol iclikei tnn für Befehle der Klasse I
27SS273
2 | MODE 3 i2 |
FFLD 21 |
2° | MODE Mnemonik Code |
0 | O | U | O | MN ΟΓ |
O | O | 0 | \ | RTN |
0 | 0 | 1. | 0 | MINDX |
0 | U | 1 | 1 | A UTP 3 |
O | 1 | O | O | AUTPl |
Ü | 1 | O | 1 | AUTMl |
O | I | 1 | O | AUTP 2 |
0 | 1 | 1 | 1 | AUTM2 |
1 | 0 | ü | 0 | RMAP 2 |
0 0
JOO
RNAP 3 RNAPl RNAMl
RNBPl
RNRMl
110 RTNA
111 RTNB
PROCEDURE Λ Λ IF ICA ϊ
PROCEDURE Λ Λ IF ICA ϊ
(IPO(JPC)+1; POP).
PROCEDURE B Λ PROCFDURi MODE Beschreibung
DMAB-(AR4)
DMAB-(AR4)
DMAB-(AR4);IPC-(SWA);POP.
DMAB-u\r4) ;AR4-(AR4) + (ICB)
DMAB« (AR4);AR4-(AR4)+3.
DMAB-(AR4);AR4-(AR4)+1.
DMAB* (7vR4 ) ; AR4- (AR4 ) -1.
DMyXB- (ΛΡ.4) ;AR4-(AR4 )+2 .
DMAB-(AR4);AR4-(AR4)-2.
DMAB-(AR4);AR4-(AR4)+2; PROCEDUPi: A.
DMAB-(AR4);AR4-(AR4)+3;
PROCEDURE A.
DMAB- (AR4) ;AR4-«-(AR4)+l;
PROCEDURE A.
DMAB-(AR4);AR4-(AR4)-1;
PROCEDURE A.
DMAB-(AR4);AR4-(AR4)+1;
PROCEDURE B.
DMAB- (AR4);AR4-(AR4)-1;
PROCEDURE B.
DMAB- (AR4) ,'PROCEDURE A.
DMAB- (AR4) .-PROCEDURE B.
THEN (IPc-(SWAK-ICA-(ICA)-I);
A niit I CA Λ ICB.
809824/0933
ORIGINAL INSPECTED
-ve
27bb273
TABELLE Π_
Befehle Klasse I
Befehle Klasse I
Erweiterte Sätze O und 1 (EXT OP - 000 bzw. 001)
Operationen Register - Register und arithmetisch I
Op | Code | I19 | Operation | GRl * (GRl) + (GR2) ; SACC. | |
I22 | 0 | GR1« (GR1) + (GR2)+C;SACC. | |||
O | 0 | 0 | 1 | Mnemonik- Code Hcschreihuna | GRl*(GRl)+(gR7)+1;SACC. |
O | 0 | 0 | 0 | ADD | GRl <- (GRl) + (GR2) +C: SACC. |
O | 0 | 1 | 1 | ADDI, | GRl <- (GRl) Λ (GR2) ; SLCC. |
O | 0 | r-t | 0 | SUB | GRl-(GRl)V(GR2);SLCC. |
O | 1 | 0 | 1 | SUBL | GRl-(GRl)Φ(GR2);SLCC. |
O | 1 | 0 | 0 | AND | GRl« (GR2) . |
O | 1 | 1 | 1 | OR | GRl+ (GR2T;SLCC |
O | 1 | 1 | 0 | XOR | GR1< (GR2)+1;SACC. |
r-t | 0 | 0 | 1 | CPGR | GRl-O. |
1 | 0 | 0 | 0 | COMPl | GRl-c1. |
1 | 0 | 1 | 1 | COMP 2 | GRl-(GR2)+c;SACC. |
1 | 0 | 1 | 0 | ZR | GRl-.. |
1 | 1 | 0 | 1 | LPl | GRl-(GR2)+l;SACC. |
1 | 1 | 0 | 0 | DECK | GRl-(GR2);SLCC. |
1 | 1 | 1 | 1 | LNl | |
1 | 1 | 1 | INCR | ||
CPGRT |
809824/0933
ORIGINAL
SO
TA3F.LL£J!I
Befehle Kldssj I
Erweiterte Satze 2 und 3 (EXT UP = 01 η b?w. 011
Op
222
O
O
O
C
1
1
1
O
O
C
1
1
1
Code
0 0 1 1 0 0 1 1 0
Operation
Beschreibung
Mnemonijj-Codc
SHRL GRl-t (GR2) ; Sg (GRl) ·<-0; SLCC.
SHRA GRl-+Sy(GR2) , (GR2) ;SLCC
SIlLL GRl- -KGR2) ; ω 1GR2-0 : SLCC.
SHRC GRl-+ (C) , (GR2) ; C-oj ' (GR2) ; SLCC
SHLC GRl- 4- (GR2) , (C) ;C-Sg(GR2) ,-SLCC.
DSHL GRi-I- (GR2^ , (C) ;C-Sg (GR2) .
IMCL GR1-(GR2) +(C)1-SACC.
COMPL GRl-- {GYÜ) + (C) ; SACC.
SUBN GRl--(GRl) +(N) + (IF N THEN (GR2)
ELSE (GR2) ) ,-SACC.
COMPN GRl-(N) + (IF N THEN(GRl)
ELSE (GR2));SACC.
MPYS IF C THEN SET FILL; GRl-t
ίiF FILL THEN Sg(GR2)ELSE O),
(IF C THEN (GRl)+ (GR2)
ELSE (GR1) + O); C-'-1 ALUjSLCC.
MPYL GRl-I(IF C THEN (GRl)+1+(GR2)
ELSE (GRD + 0); Sg(GRl)^-(IFOV
THEN 0 ELSE ALU(Jl) ί C^a5ALUjSLCC.
1 | 1 | 0 | 0 | DSET |
OV-Sy (GR2") ,-Nt-SgC
IF (GRl)®(GR2)=0 ELSE RST Z. |
THEN SET Z |
1 | 1 | 0 | 1 | STAT | MSB GRl-O, OV,C, | N,Z;LSB GRl |
1 | 1 | 1 | X | NOP |
Anmerkunq: FILL ist eine Riicksetzung wahren J aller Befehle mit der Ausnahme
von MPYS, '1PYL und SHRC
809824/0933
ORIGINAL INSPECTED
Defehle Klasse I Erweiterter Operation^**? 4 (CXT OP = 100) spe/'olle arithmetische Befehle
OP Code
c ο
Operation
Beschreibung
ACABS
ABS
0 | 0 | ] | 0 | LSTAT |
0 | 0 | 1 | 1 | RSTAT |
0 | 1 | 0 | 0 | CMP |
0 | 1 | ö | 1 | CSTAT |
0 | 1 | 1 | 0 | RMIM |
0 | 1 | 1 | 1 | SMIM |
1 | 0 | 0 | 0 | CFCCO |
CTCCO
CFCCA
CTCCA GRl · (GRl)+Sg(GEiH- (IF Sg
(GR?)--1 THEN (GP2)ELSE(GR2)); SACC.
CFCC
CTCC
CTCC
809824 MIF Sq(GR2)=l THEN (GRIT) ELSE (GR2; ) ; SACC.
OV, C,N(Z*üi* MSB (GR2)
OV,C,N,Z-O
GRl:GR2;SCCC.
OV,C,N, Z-(OV,C,Ϊ7,"Z)
MIM-O
MIM-I
MSB GR3-IF (Rl) Λ (C,N, Z)=^O THEN (tV(GR2))
ELSE (O V (GR2));SLCC.
MSB GR3-IF (Rl)Λ (C,N,Z)/0
THEN (tV(GR2)) ELSE (OV(GR2));
LSBs GR3-LSBS GR2; SLCC.
MSB GF3*-IF (Rl) Λ (C,N, Z)=O
THEN (cA(GR2))
EISR (0A(GR2)) LSBs GR3<-0,·
SLCC.
MSB GR3-1F (Rl)Λ (C,N,Z)M
THEN (cΛ (GRs))
ELSE (0A(GR2)); LSBs GR3-0;
SLCC.
MSB GR3-IF (Rl)Λ (C,N,Z)=O
THEN c ELSE 0; LSBs GR3-0; SLCC.
MSB GR3-IF (Rl) Λ (C,N, Z)j*0
THEN c ELSE 0;LSBs GR3-0; SLCC.
/0933
ORIGINAL INSFfcO ι CU
27"?273 34
219 Mnenonik-Code iischre ibung
DIVC TEMP-(IF N THEN (GRl)+(GR2)
ELSE (GRl) +(GRlJf 1) ;
IF Sg(TEMP)=OV
THEN SET C ELSE (TEMP-(GRl); RESET C);GR1-(TEMP); IF (TEMP) = 0 THEN SET Z ELSE RST Z;
SACC (C and Z only).
1 1 1 DlVT TEMP-(IF N THEN (GRl)+(GR2)
ELSi: (GRl) + (GR2)+1) ; IF (TEMP)=O THEN SET Z ELSE RST Z; IF Sg(TEMP)OV
THEN SET C ELSE RST C; SACC(C and Z only).
(TEMP ist ein temporärer Puffer oder Zwischenspeichervorgang
für der: DlVC- und DIVT-Befchl und kein reales Maschinenregister.)
809824/0933 ORIGINAL INSPECTED
27^273
TABELLE^
befehle Klasse I
einheit-Befell Ie
Op Code
22
22
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0 0 1 1 0
1 1 0 0
1 0
0 1 1
219
0 1 0 1 0
0 1 0
1 0
1 0 1
Operation Mnemon Jk- Code
Beschreibung^
CPGI
CPGIM
CPGIL
CPIR
IADDM
ISUBM
IDECM 11NCM IDECL IADDL
ISUBL
IINCL ISUB
HMC IADD IDFC APA*■ (GR2) ; PROCESS I.
MSB AR4 « MSB (GR2) ,-PROCESS LSB AR4<-LSB(GR2) ,-PROCESS
AR4+AP.1.
MSE AP.4< MSB (GRl) +MSB (GR2) ;
PROCESS 1.
MSB AR4-MSB(GRl)+MSB (GR2)+1;
PROCESS 1.
MSB AR4 +-MSB (GR2) +e; PROCESS
MSB AR4<MSB(GR2)+c;PROCESS
LSB AR4<LSB(GR2)+C*;PROCESS
LSB AR4<-LSB (GRl) +LSB (GR2 );
PROCESS 1.
LSB AR4*-LSB (GRl) +LSB (GR2)+1
PROCESS 1.
LSB AR4<-LSB(GR2) +ε l; PROCESS
AR4«- (GRl) + (GR?) +1,-PROCESS 1;
SACC.
AR4*-(GK2) +ε \- PROCESS 1,-SACC.
AR4^(GRl)+(GR2);PROCESS 1;SACC.
AR4< (GR2)+ ,-PROCESS 1;SACC.
GR???ESS
IF
R1
( -Vorangegangene Funktion .it
809824/0933
ORIGINAL
5-3273
TABELLE VI
Pofehle Klarse I
Erweiterter Oneratiorissot:' 7 ( lXT OP - 111) Adrev; ierung-Au
'i f ii h ruT"i sp1 nhe ί t - Po felt 1 e
Op λ22 |
Code | 0 | 219 | Operation Mnemonik-C |
0 | 0 | 0 | 0 | PSH(I |
0 | 0 | ^ j. |
1 | PSHGM |
0 | 0 | 1 | 0 | PSKGL |
0 | 0 | 0 | 1 | PSHM |
0 | 1 | 0 | PSHMM | |
1
1
>de BeschL ei bung
PSH; SWA«- (GR2)
PSH MSB; MSB 5WA--MSB (GR2)
PSH LSB: LSB SWA--LSB (GR2) . PSH; SWA-- (DM (AR4 ) ) ; AR4«- (AR4) +ε
PSH MSB;MSB SWA^MSB(DM(AR4));
(AR4)+e .
PSHML
POPM POlMM
POPML PSH LSB; LSB SWA+LSB(DM(AR4));
(AR4)+e>
DM (AR4) *■ (SWA) ; POP; AR4<- (AR4) +ε ι
MSB DM (AR4) +-MSB (SWA) ; POP MSB;
AR4 '
LSB DM (AR4)«-LSB (SWA) ; POP LSB;
1 | O | O | 1 | CFIG | GR3<- (ARl) . |
1 | O | 1 | O | CPIGM | MSB GR3+MSB(ARl). |
1 | O | 1 | 1 | CPIGL | LSB GR3+-LSB (ARl) . |
1 | 1 | O | O | STIR | DM (AR4)-«- (ARl) . |
1 | 1 | O | I | STIRM | MSB DM (AR4 ) *I1SB (ARl) . |
1 | 1 | 1 | O | STIRL | LSB DM (AR4) «-LSB (ARl). |
1 | 1 | 1 | 1 | IRADD | AR4^(AR1)+(AR4). |
809824/0933 ORIGINAL INSPECTED
-&Γ-
TABELLE VII
Refehle Klasse II
Unmittelbare,laufende Klasse
Refehle Klasse II
Unmittelbare,laufende Klasse
Code
19
Operation
Mnemonik-Code
Mnemonik-Code
»esc >ΤΤΈ· ibung
BOT
BOF
BRAN
IF
IF (Rl) Λ (C,N, Z)-O THEN IPOIMOP ELSE IPO(IPC) +e1.
IF (Rl)eOOO THEN (PSH;SWA*(IPC) +ε '; IPOIMOP) .
IF (Rl)=OOl THEN (IF Z THEN (PSH; SWA«- (IPC) +c '; IPOIMOP)
ELSE IPO (IPC)+ε1.
IF (Rl)=OIl
IF (Rl)=IOO
IF (Rl)=IOl
IF (Rl)-IlO
THEN (IF
(THEN IPOIMOP ELSE IPO(lPC)+e 1J
IF (Rl)-Hl THEN (IF (ICB)J^O
(THEN IPOIMOP ELSE IPO (IPC)+ε !) THEN ICA*(ICA)+e).
O | O | 1 | 1 | LOAD | GRl*(DM(IMOP)). |
O | 1 | O | O | ADDI | GRl*(GRl)+IMOP;SACC. |
O | 1 | O | 1 | ANDI | GRl*(GRl)ΛΙΜΟΡ;SLCC. |
O | 1 | 1 | O | ORI | GRl*(GRl)VIMOP;SLCC. |
O | 1 | 1 | 1 | XORI | GRL*(GRl)«!MOP;SLCC. |
1 | O | O | O | CMPI | (GRl):IMOP;SCCC. |
1 | O | O | 1 | SUBI | GRl*(GRl)+ΪΜ0Ρ+1;SACC |
1 | O | 1 | O | STORE | DM(IMOP)*(GRl). |
809824/0933 ORIGINAL INSi-cv/1 to
0 1 |
Code | 219 | ιACLLLE VII | |
1 | 1 0 |
1 0 |
(Fortsetzung) | |
Op 222 |
1 1 |
0 | 1 | Operation [W>nik-_-^<L_ Beschreibunq |
1 1 |
1 1 |
0 1 |
LDI GRl^-IMOP. ILDI ARl-IMOP. |
|
1 | ILDIM MSB AR1--MSB IMOP. | |||
1 1 |
ILDi:, LSB ARl-^LSB IMOP. J NuX R6A-(AP])+IMOP. |
|||
8 0 9 8 2 U 0 9 3 3 0RIGINAL 'NSPECTED
Le e rs e S re
Claims (5)
1) zwei Speichereingänqe (IR2, IR4) zum gleichzeitigen
Speichern in zwei Registern der Adressenregisteranordnung enthält.
-•'"924/0933 ORIGINAL INSPEd£0
275^273
2.
Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Datenausfiihrungseinheit außerdem eine
Anordnung ZU1Ti Koppeln der Datenschienenanordnung (115) der DatrnsDeicheranordnung (14) mit einem der Speichereingänge (CRI, 6R3) der General registeranordnung (21) enthält.
3. Mikroprozessor nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die Datenadressenanordnung eine Addiereranordnung (211) zum Ändern des Inhaltes eines zugegriffenen Adressenregisters
und Vorrichtungen (nicht bezeichnete Torschaltungen) zum Koppeln einer geänderten Adresse auf einen der Speichereingänge (IR2, IR4) der Adressenregisteranordnung (22) enthält.
4. Mikroprozessor nach Anspruch 3, dadurch gekennzeichnet» daß eine Vorrichtung (nicht bezeichnete Torschaltungen) vorgesehen is*:, mit. der oin Te-M (LlT) der, InM.ilto:, der Bofchlsregisteranordnung (210) als Operand auf die arithmetisch-loqische Einrichtung
(27) koppelbar irt.
5. Mikroprozessor nach Anspruch 1, ?., 3 oder 4, dadurch gekennzeichnet, daR für einen Speicherdirektzugriff (DMA) vorgesehen sind:
eine DMA-Anforderungsanordnung zum Einleiten einer DMA-Operation;
eine DMA-Adressieranordnung zum Zugriff zu einem bestimmten Adressenregister in der Adressenregisteranordnunq als Hinweisadresse für
zu übertragende Daten;
eine Anordnung zum Zugriff zu einem bestimmten General register in der Generalregisteranordnuny (21);
eine Anordnung zum Herabsetzen des Wertes in dem bestimmten General register;
809824/0933
eine Anordnung zum Feststellen des Wertes Null in dem bestimmtet;
General register und
eine auf das Auftreten des Wertes Null in dem bestimmten
General rprj is tar anspreche-idc Anordnung zum Eeendon öer DMA-Operation.
4/09 3 3 original inspected
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 true DE2755273A1 (de) | 1978-06-15 |
DE2755273C2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2944419A1 (de) * | 1978-11-08 | 1980-05-14 | Data General Corp | Digitalrechnersystem |
Families Citing this family (54)
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 |
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 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737866A (en) * | 1971-07-27 | 1973-06-05 | Data General Corp | Data storage and retrieval system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737866A (en) * | 1971-07-27 | 1973-06-05 | Data General Corp | Data storage and retrieval system |
Non-Patent Citations (2)
Title |
---|
US-Buch "Planning a Computer System" W. Buchholtz, 1962, McGraw-Hill Book Comp. S. 202-208 * |
US-Proceedings of the EJCC 1959, S. 48-58 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2944419A1 (de) * | 1978-11-08 | 1980-05-14 | Data General Corp | Digitalrechnersystem |
Also Published As
Publication number | Publication date |
---|---|
US4079455A (en) | 1978-03-14 |
SE7713451L (sv) | 1978-06-14 |
JPS5374858A (en) | 1978-07-03 |
DE2755273C2 (de) | 1987-09-03 |
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 |
---|---|---|
DE2755273A1 (de) | Mikroprozessor | |
DE2716369C2 (de) | ||
DE4035405C2 (de) | ||
DE4010119C2 (de) | Anordnung und Verfahren zur Umordnung eines Speicherformats in einem Mikroprozessor | |
DE3151745C2 (de) | ||
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2907181A1 (de) | Befehlssatz-modifizierregister fuer einen datenprozessor | |
DE3424962C2 (de) | ||
DE1246289B (de) | Bedingungsregister fuer eine programmgesteuerte Datenverarbeitungsanlage | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
CH623947A5 (de) | ||
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2756762A1 (de) | Verfahren und anordnung zum zugriff zu beliebigen bitfeldern im hauptspeicher einer datenverarbeitungsanlage | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE1197650B (de) | Parallel-Addierer | |
DE2533737A1 (de) | Datenprozessor | |
DE2134816A1 (de) | Einrichtung zur adressenuebersetzung | |
DE2725614C2 (de) | ||
DE2364865A1 (de) | Erweitertes speicheradressenbildungssystem eines digitalen rechnersystems | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen | |
DE3410497A1 (de) | Rechneranordnung | |
CH632349A5 (de) | Einrichtung zur mikrobefehlssteuerung. | |
DE2106731A1 (de) | Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen | |
DE3933172A1 (de) | Akkumulator fuer komplexe zahlen |
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 |