DE2755273A1 - Mikroprozessor - Google Patents

Mikroprozessor

Info

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
Application number
DE19772755273
Other languages
English (en)
Other versions
DE2755273C2 (de
Inventor
Stanley Edward Ozga
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RCA Corp
Original Assignee
RCA Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RCA Corp filed Critical RCA Corp
Publication of DE2755273A1 publication Critical patent/DE2755273A1/de
Application granted granted Critical
Publication of DE2755273C2 publication Critical patent/DE2755273C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines

Description

PATENTANWALTS DK. I)Ti; J KH V. ΙΐϋλΟΙ.) DU*L. ISO. VK1TKU '.WH'JtZ DIl'L. ISO. WOLF(JAN(J HKlSI.KH
MlRIiTUIHKSIl HTHANHB ait l'OHTPAt'II Ηβ IMIlW
Ü-8OOU MIJKNCHKN 8<J
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
RCA Corporation New York N./. (V.St.A.) Mikroprozessor
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).
Ein Befehlswort ist beispielsweise 24 Bits lang und hat
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
Befehlsformat Klasse I. Das zweite Format ist dadurch gekennzeichnet, daß das
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).
Die Bezugsoperatoren sind:
= £ Ist gleich (dyadisch);
f1 £ Ungleich (dyadisch);
^ Kleiner als (dyadisch); und
: i' Vergleiche (dyadisch gleichlange Vektoren).
Die gemischten Operatoren sind:
*■ 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
Die Syntax umfaßt:
( ) - bedeutet bei Verwendung mit einer binären Matrix eine spezielle Zeile oder ein spezielles
Wort der Matrix;
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.
Weitere verwendete Abkürzungen:
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
sccc keine Änderung
If Sg(Result)=l THEN SET N
ELSE RST N.
IF (Result)=0
THEN SET Z
ELSE RST Z.
IF (GRl) <(GR2) THEN SET N ELSE RST N.
IF (GRl) = (GR2)
THEN SET Z ELSE RST Z.
RST = Rücksetzen
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
Die Operationen RMIM und f<MIM 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 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.
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 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
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 ϊ
(IPO(JPC)+1; POP).
PROCEDURE B Λ PROCFDURi MODE Beschreibung
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
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
Operationen Register-Renist^r und arithmetisch II
Op
222
O
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
TABELLE IV
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
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
IV (Fortsetzung) OP Code Operation
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
Erweiterter Operationssatz 6 (EVT OP = 110) Ausführungseinheit-Adressen-
einheit-Befell Ie
Op Code
22
0
0
0
0
1
1
0
0
0
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
Code
19
Operation
Mnemonik-Code
»esc >ΤΤΈ· ibung
BOT
BOF
BRAN
THEN IPOIMOP
IF
ELSE IPO(IPC)+ε1.
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
THEN (IPOIMOP;POP)
IF (Rl)=IOO
THEN(IF OV THEN IPOIMBP ELSE IPC*-(IPC)+e 1J
IF (Rl)=IOl
THEN (IF ÖV" THEN IPC-IMOP ELSE IPC-H(IPC) +ε1)
IF (Rl)-IlO
THEN (IF (THEN IPOIMOP ELSE IPO(lPC)+e 1J
THEN ICA*(ICA)+e).
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)

Patentansprüche Mikroprozessor für die Verwendung in einein System, welchen eine Programmspeichpranordnung und eine Datenspeicheranordnung mit jeweils einer Adressenschienenanordnung und einer Datenschlenenanordnung enthält, mit einer Datenausführungs- oder Verarbeitungseinheit und einer Befehlsabrufeinheit, von denen die Datenausftihrjnqsrnnheit enthält: a) eine Generalreqisteranordnuny mit mindestens einem Zugriffseingang oder -tor zum Lesen des Inhalts eines Registers aus der Generalregisteranordnung, und mindestens einem Speicher- oder Schreibeeingang oder -tor zum Speichern in einem Register; b) eine arithmetisch-logische Einrichtung, die für einen Empfang von Operanden vom Zugriffseingang der Generalreqisteranordnung und zur Durchführung bestimmter Operationen unter Erzeugung von Resultatsignalen geschaltet ist; c) eine Anordnung, wie Torschaltungen, zum Obe-tragen der Resultatsignale auf die Datenschienenanordnung der Ddtenspeicheranordnung; d) eine Steueranordnung einschließlich einer Befehlsregisteranordnung zum Speichern des laufenden Befehls, der durchgeführt wird, und einer Taktanordnung zum Erzeugen von Steuersignalen, die die Durchführung des laufenden Befehls steuern, und wobei die Befehlsabrufeinrichtung enthält: e) eine Adressenregisteranordnung, die mindestens einer Zugriffseingang oder -tor zum Lesen des Inhaltes eines Registers aus der Adressenregisteranordnung, und mindestens einen Speichereingang oder Speichertor zum Speichern in einem Register enthält; 809824/0933 ORIGINAL INSPECTED f) eine Befehlszähleranordnunq zum Speichern der Programm-Speicheradresse des nächsten Befehls, der auszuführen ist; g) eine Anordnung, wie Torschaltung, zum Koppeln der Befehlszähleranordnung mit der Prograinmspeicher-Adressenschienenanordnung und h) eine Date^adressenanordnuru; zum Koppeln von Signalen von dem Zugriffseinganq der Adressenregisteranordriung auf die Adressenschienenanordnung der Datonspeichprannrdnunq, dadurch g e k ι. η η zeichne t, dafa die General re<jisteranordnung (21) in der Datenausführungseinheit (linker Teil der Fig. ?) i) zwei Zugriffseingänge oder Tore (Port A, Port B) zum gleichzeitigen Lesen der Inhalte von zwei Registern der Generalregisteranordnung, und j) zwei Speichereingänge (GPI, GR3) zum gleichzeitigen Speichern in zwei Registern der Generalregisteranordnung enthält; und dai3 die Adressenregisteranordnung (22) in der Befehlsabrufeinheit (rechter Teil der Fig. 2) k) zwei Zugriffseingänge (1R1, zweiter Eingang ohne Bezugszeichen) zum gleichzeitigen Lesen der Inhalte von zwei Registern der Adressenregisteranordnung, und
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
DE19772755273 1976-12-13 1977-12-12 Mikroprozessor Granted DE2755273A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 &amp; 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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