DE2755273C2 - - Google Patents

Info

Publication number
DE2755273C2
DE2755273C2 DE2755273A DE2755273A DE2755273C2 DE 2755273 C2 DE2755273 C2 DE 2755273C2 DE 2755273 A DE2755273 A DE 2755273A DE 2755273 A DE2755273 A DE 2755273A DE 2755273 C2 DE2755273 C2 DE 2755273C2
Authority
DE
Germany
Prior art keywords
input
data
address
register
arrangement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2755273A
Other languages
German (de)
Other versions
DE2755273A1 (en
Inventor
Stanley Edward Burlington N.J. Us 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/en
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 or 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 or 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 or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

Die Erfindung bezieht sich auf einen Mikroprozessor gemäß dem Oberbegriff des Patentanspruchs.The invention relates to a microprocessor according to the preamble of the claim.

Durch die Technik der Großintegration (LSI) ist es möglich geworden, Datenverarbeitungs- und Rechnersysteme auf wenige Schaltkreise zu reduzieren. Gewöhnlich stellt hierbei die Organisation eine verkleinerte Version einer großen Datenverarbeitungsanlage dar. Wenn man jedoch eine Datenverarbeitungsanlage auf einem oder wenigen integrierten Schaltkreisen unterbringen will, ergeben sich im allgemeinen Probleme durch die Begrenzung der Anzahl der externen Anschlüsse, mit denen der integrierte Schaltkreis versehen werden kann. Ein weiteres Problem ergibt sich daraus, daß die Programme langsamer laufen, weil die verwendete Technologie keine hohen Geschwindigkeiten zuläßt oder primitivere Befehle verwendet werden müssen, von denen für die Durchführung einer gegebenen Aufgabe mehr erforderlich sind als von den in größeren Maschinen verwendeten Befehlen.The technology of large scale integration (LSI) makes it possible become data processing and computing systems on a few Reduce circuitry. Usually this represents the Organization of a scaled down version of a large data processing system However, if you have a data processing system on one or a few integrated circuits problems generally arise through limiting the number of external connections with which the integrated circuit can be provided. Another one Problem arises from the fact that the programs are slower run because the technology used does not have high speeds permits or more primitive commands have to be used, more of those for performing a given task are required than those used in larger machines Command.

Aus "Proceedings of the EJCC", 1959, Seiten 48-58 und "Planning a Computer System" von W. Buchholz, 1962, McGraw-Hill Book Company, New York, Seiten 202-208, sind sogenannte Stretch- Computer bekannt, bei denen gleichzeitig in einige der Register eingeschrieben werden kann und bei denen aus anderen Registern gleichzeitig ausgelesen werden kann. Es kann auch gleichzeitig in der Recheneinheit des Computers gerechnet werden. Ferner kann hierbei für einen in Datenausführungs- und Befehlsabrufeinheiten gegliederten Prozessor jeweils ein Registersatz für beide Einheiten vorgesehen sein. From "Proceedings of the EJCC", 1959, pages 48-58 and "Planning a Computer System "by W. Buchholz, 1962, McGraw-Hill Book Company, New York, pages 202-208, are so-called stretch Known computers, which simultaneously in some of the register can be registered and with those from other registers can be read out at the same time. It can also be done at the same time be calculated in the computing unit of the computer. Further can be used for one in data execution and command fetch units structured processor each one register set for both units can be provided.  

Aus der US-PS 37 37 866 ist es bekannt, zum Ersatz von Registersätzen vorteilhaft Registeranordnungen mit gleichzeitigem Zugriff auf zwei Registerinhalte zu verwenden. Es handelt sich um ein System, bei dem zwei Speichereinheiten vorgesehen sind, die Daten an eine gemeinsame Recheneinheit liefern und von dieser empfangen können. Jede Speichereinheit enthält mehrere Register und besitzt mehrere Zugriffseingänge, so daß während jedes Lese- oder Schreibzyklus ein Zugriff zu Speicherstellen derselben Einheit hergestellt werden kann. Eine Befehlssteuereinheit kann dieselbe Adresse an jede der Speichereinheiten anlegen, um es zu ermöglichen, daß ein einziger Datensatz in entsprechende Register in jeder Speichereinheit geschrieben wird. Die Steuereinheit kann an die Speichereinheiten auch unabhängige Adressen anlegen, wenn die Inhalte je eines Registers beider Einheiten parallel gelesen werden sollen.From US-PS 37 37 866 it is known to replace Register sets advantageous register arrangements with simultaneous Use access to two register contents. It is a system in which two storage units are provided, the data to a common computing unit deliver and receive from it. Any storage unit contains several registers and has several access inputs, so that during each read or write cycle Accessed locations of the same device can be. A command control unit can have the same address to each of the storage units to enable that a single record in corresponding registers in each storage unit is written. The control unit can also create independent addresses on the storage units, if the contents of a register of both units in parallel should be read.

Der Erfindung liegt die Aufgabe zugrunde, einen Mikroprozessor zu schaffen, bei dem einerseits der aus größeren Datenverarbeitungsanlagen bekannte überlappende Betrieb durchführbar ist, andererseits jedoch die Daten- und Adressenleitungen besser ausgenutzt werden, d. h. in einer gegebenen Zeit mehr Informationen übertragen können als dies bei bekannten Systemen der Fall ist.The invention has for its object a microprocessor to create, on the one hand, the one from larger data processing systems known overlapping operation is feasible, on the other hand, however, the data and address lines are better be exploited, d. H. more information in a given time can transmit than is the case with known systems.

Diese Aufgabe wird durch die kennzeichnenden Merkmale des Patentanspruchs gelöst. This task is characterized by the characteristics of the Claim resolved.  

Ein Vorteil des hier beschriebenen Mikroprozessors besteht darin, daß die Generalregisteranordnung bzw. die Adressenregisteranordnung in der Befehleregistereinheit bzw. in der Datenausführungseinheit zur selben Zeit arbeiten können.There is an advantage to the microprocessor described here in that the general register arrangement or the address register arrangement in the command register unit or in the data execution unit can work at the same time.

Vorteilhafterweise kann bei der Erfindung die Registeranordnung einer Einheit (z. B. die Adressenregisteranordnung in der Befehlsabrufeinheit) die Adressenleitung und die Datenleitung (z. B. die Programmspeicher-Adressenleitung und die Programmspeicher- Datenleitung) verwenden, während gleichzeitig die Registeranordnung der anderen Einheit (z. B. die Generalregisteranordnung der Datenausführungseinheit) die Datenspeicher-Adressenleitung und die Datenspeicher-Datenleitung verwenden kann.The register arrangement can advantageously be used in the invention a unit (e.g. the address register arrangement in the instruction fetch unit) the address line and the data line (e.g. the program memory address line and the program memory Data line) while using the register arrangement the other unit (e.g. the general register arrangement of the Data execution unit) the data storage address line and can use the data storage data line.

Ein wesentlicher Vorteil der Erfindung besteht darin, daß die Registeranordnung jeder Einheit gleichzeitig mit den Einrichtungen der Einheit über eine erste Eingangs-Ausgangseinheit und über eine andere Eingangs/Ausgangseinheit mit einer Datenleitung zusammenarbeiten kann. Beispielsweise kann in der Datenausführungseinheit die Generalregisteranordnung über eine Eingangs/Ausgangseinheit mit dem Rechenwerk und über die andere Eingangs/Ausgangseinheit mit der Datenleitung zusammenwirken.A major advantage of the invention is that registering each unit simultaneously with the facilities the unit via a first input-output unit and via another input / output unit with a data line  can work together. For example, in the data execution unit the general register arrangement via an input / output unit with the arithmetic unit and via the other input / output unit interact with the data line.

Im folgenden wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die Zeichnung näher erläutert. Es zeigtThe following is an embodiment of the invention explained in more detail with reference to the drawing. It shows

Fig. 1 ein Blockschaltbild einer Anlage, in der ein Mikroprozessor gemäß der Erfindung verwendet werden kann, Fig. 1 is a block diagram of a microprocessor can be used according to the invention a plant,

Fig. 2 ein Blockschaltbild eines Mikroprozessors gemäß einer Ausführungsform der Erfindung, Fig. 2 is a block diagram of a microprocessor according to an embodiment of the invention,

Fig. 3 ein Logikschaltbild einer für die Realisierung der Erfindung geeigneten Speicheranordnung, Fig. 3 is a logic diagram of an apparatus suitable for implementation of the invention memory device,

Fig. 4 eine schematische Darstellung einer Speicherzelle, die in der Speicheranordnung gemäß Fig. 3 verwendet werden kann, und FIG. 4 shows a schematic illustration of a memory cell that can be used in the memory arrangement according to FIG. 3, and

Fig. 5 ein Schaltbild einer Halteschaltung, die in der Speicheranordnung gemäß Fig. 3 verwendet werden kann. FIG. 5 is a circuit diagram of a hold circuit that can be used in the memory arrangement according to FIG. 3.

Das Blockschaltbild gemäß Fig. 1 zeigt, wie ein Mikroprozessor mit anderen Komponenten einer Anlage zusammengeschaltet sein kann. Der Mikroprozessor 10 ist mit einem Programmspeicher 12, einem Datenspeicher 14, einer Spezialfunktionseinheit 16 und Eingabe-Ausgabe- oder I/O-Geräten 17 und 19 gekoppelt. Ferner sind Verbindungen für Signale PUA, die eine Programmunterbrechung anfordern, und Signale DMA, die einen direkten Speicherzugriff anfordern, dargestellt. Die Verbindung mit dem Programmspeicher 12 erfolgt über eine Programmspeicher- Adressenleitung 112 und eine Programmspeicher-Datenleitung 113. Die Programmspeicher-Adressenleitung 112 überträgt Adressensignale vom Mikroprozessor 10 zum Programmspeicher 12. Die Programmspeicher- Datenleitung 113 überträgt die Programmbefehlswörter vom Programmspeicher 12 zum Mikroprozessor 10 und zur Spezialfunktionseinheit 16, wenn diese verwendet wird. Bei einem bevorzugten Ausführungsbeispiel einer solchen Anlage ist ein Befehlswort typischerweise 24 Bits lang.May be the block diagram according to Fig. 1 shows how a microprocessor with other components of a system connected together. The microprocessor 10 is coupled to a program memory 12 , a data memory 14 , a special function unit 16 and input / output or I / O devices 17 and 19 . Connections for signals PUA that request a program interruption and signals DMA that request direct memory access are also shown. The connection to the program memory 12 takes place via a program memory address line 112 and a program memory data line 113 . The program memory address line 112 transfers address signals from the microprocessor 10 to the program memory 12 . The program memory data line 113 transfers the program command words from the program memory 12 to the microprocessor 10 and to the special function unit 16 when it is used. In a preferred embodiment of such a system, a command word is typically 24 bits long.

Die Verbindung mit dem Datenspeicher 14 erfolgt über eine Datenspeicheradressenleitung 114 und eine Datenleitung 115. Die Datenspeicheradressenleitung 114 überträgt die Datenspeicheradressen vom Mikroprozessor 10 zum Datenspeicher 14 zum Zugriff zu Datenspeicherplätzen; ferner werden über sie bestimmte Adressenkombinationen für I/O-Gerätewahl zur Datenübertragung und zur Steuerung der I/O-Geräte übertragen. Der unmittelbare Adressenraum, d. h. die Plätze, die insgesamt durch das Adressenregister angegeben werden können, basiert bei dem System gemäß Fig. 1 zwar auf der Datenspeicher-Adressenwortlänge, ein Teil dieses Adressenraumes, d. h. gewisse Adressen, werden jedoch mit den I/O-Geräten geteilt. Diese Aufteilung kann auf irgendeine gewünschte Weise erfolgen; bei der folgenden Erläuterung soll beispielsweise angenommen werden, daß die ersten (den höchsten Werten entsprechenden) Adressen für I/O-Geräte-Adressen reserviert sind und der Rest zur Adressierung des Datenspeichers dient. Eine solche Anordnung eignet sich offenbar am besten für Mikroprozessor-Konfigurationen, deren Datenspeicher-Adressenwortlängen 16 Bits oder mehr betragen.The connection to the data memory 14 takes place via a data memory address line 114 and a data line 115 . The data storage address line 114 transfers the data storage addresses from the microprocessor 10 to the data storage 14 for access to data storage locations; Furthermore, certain address combinations for I / O device selection for data transmission and for controlling the I / O devices are transmitted via them. In the system according to FIG. 1, the immediate address space, that is to say the total number of locations that can be specified by the address register, is based on the data memory address word length, but part of this address space, that is to say certain addresses, is used with the I / O devices divided. This division can be done in any desired manner; in the following explanation, it should be assumed, for example, that the first addresses (corresponding to the highest values) are reserved for I / O device addresses and the rest are used for addressing the data memory. Such an arrangement is apparently best suited for microprocessor configurations whose data memory address word lengths are 16 bits or more.

Die Datenleitung 115 wird für eine bidirektionale Signalübertragung zu und von dem Mikroprozessor 10, dem Datenspeicher 14 und den I/O-Geräten 17 und 19 und gegebenenfalls für eine nur in eine Richtung verlaufende Signalübertragung von den Ausgangsklemmen der Spezialfunktionseinheit 16 verwendet. Der Mikroprozessor 10 steuert alle Datenübertragungen über diese Leitungen, in dem er an alle mit den betreffenden Leitungen verbundenen Einheiten Operationssteuersignale und Taktinformation liefert.The data line 115 is used for bidirectional signal transmission to and from the microprocessor 10 , the data memory 14 and the I / O devices 17 and 19 and, if appropriate, for a unidirectional signal transmission from the output terminals of the special function unit 16 . The microprocessor 10 controls all data transmissions over these lines by supplying operation control signals and clock information to all units connected to the lines concerned.

Bei dem Mikroprozessor 10 sind Vorkehrungen für einen Speicherdirektzugriffkanal vorgesehen. Die Datenübertragungen und Adressierungen für diesen Kanal werden über die Datenleitung 115 bzw. Adressenleitung 114 abgewickelt. Die Anforderung eines Datenübertragungszyklus wird durch ein DMA-Anforderungssignal vom I/O-Gerät 17 zum Mikroprozessor 10 übertragen. Dieses Signal veranlaßt den Mikroprozessor, die normale Folge der Ausführung von Programmbefehlen oder die Erledigung einer Programmunterbrechung zeitweilig auszusetzen, um die dem Speicher-Direktzugriffkanal zugeordneten Steueroperationen durchzuführen. Der Mikroprozessor 10 enthält eine Folgesteuerung in seiner Ausführungseinheit, um die Inhalte eines Generalregisters zu verringern und auf Null zu prüfen. Das Generalregister dient für die dem DMA-Kanal zugeordnete Wortzählung. Wenn es auf Null zurückgeschaltet ist, wird ein Übertragung- Fertig-Signal erzeugt, um die Operationen im Zusammenhang mit dem DMA-Kanal zu beenden. Ein Adressenregister in der Befehlsabrufeinheit des Mikroprozessors enthält die DMA-Datenadresse (Hinweisadresse) und wird nach jedem Speicher-Direktzugriffzyklus automatisch weitergeschaltet (inkrementiert).Arrangements are made in the microprocessor 10 for a memory direct access channel. The data transmissions and addressings for this channel are processed via the data line 115 or address line 114 . The request for a data transfer cycle is transferred from the I / O device 17 to the microprocessor 10 by a DMA request signal. This signal causes the microprocessor to temporarily suspend the normal sequence of execution of program instructions or the execution of a program interruption in order to carry out the control operations associated with the memory random access channel. The microprocessor 10 includes a sequencer in its execution unit to reduce the contents of a general register and to check for zero. The general register is used for the word count assigned to the DMA channel. When switched back to zero, a transfer ready signal is generated to complete the operations related to the DMA channel. An address register in the instruction fetch unit of the microprocessor contains the DMA data address (reference address) and is automatically incremented after each direct memory access cycle.

Es sind Vorkehrungen getroffen, um an den Mikroprozessor 10 eine Spezialfunktionseinheit 16 anschließen zu können. Der Spezialfunktionseinheit 16 sind zwei Operanden, die von den Allgemein- oder Generalregistern des Mikroprozessors abgerufen werden, über einen Operandeneingang OPA und einen Operandeneingang OPB parallel zuführbar. Das Resultat von der Spezialfunktionseinheit 16 wird dem Mikroprozessor 10 synchron oder asynchron über die Datenspeicher-Datenleitung 115 zugeführt. Der in der Spezialfunktionseinheit 16 auszuführende Befehl wird dieser Einheit direkt und außerdem auch dem Mikroprozessor 10 zugeführt. Einige Operationscode sind für die Verwendung in der Spezialfunktionseinheit 16 vorgesehen, und die Zuordnung dieser Code kann einzigartig oder einmalig fixiert werden.Provisions have been made to connect a special function unit 16 to the microprocessor 10 . The special function unit 16 can be supplied with two operands, which are called up by the general or general registers of the microprocessor, in parallel via an operand input OPA and an operand input OPB . The result from the special function unit 16 is fed to the microprocessor 10 synchronously or asynchronously via the data storage data line 115 . The command to be executed in the special function unit 16 is fed directly to this unit and also to the microprocessor 10 . Some opcodes are intended for use in special function unit 16 , and the association of these codes can be fixed uniquely or once.

Die programmgesteuerten I/O-Geräte 17 und 19 sind mit dem Mikroprozessor 10 durch die Datenspeicher-Adressenleitung 114 und die Datenspeicher- Datenleitung 115 verbunden. Die Geräteadressen werden den I/O-Geräten vom Mikroprozessor 10 über die Datenspeicher-Adressenleitung 114 zugeführt. Wie erwähnt, werden die höchstrangigen Adressen für die Adressierung der I/O-Geräte verwendet. Die Datenübertragungen über die Datenspeicher- Datenleitung 115 dienen zur Verteilung der Daten auf die I/O-Geräte, den Mikroprozessor 10, den Datenspeicher 14 und gegebenenfalls die Spezialfunktionseinheit 16 auf Teilnehmerbetrieb- oder Mehrbenutzerbasis.The program-controlled I / O devices 17 and 19 are connected to the microprocessor 10 through the data memory address line 114 and the data memory data line 115 . The device addresses are supplied to the I / O devices by the microprocessor 10 via the data memory address line 114 . As mentioned, the highest-ranking addresses are used for addressing the I / O devices. The data transfers via the data storage data line 115 are used to distribute the data to the I / O devices, the microprocessor 10 , the data storage 14 and, if appropriate, the special function unit 16 on a subscriber or multi-user basis.

Im Mikroprozessor 10 kann eine Programmunterbrechung durch jede Einrichtung eingeleitet werden, die ein Unterbrechungsanforderungssignal auf die einzige Unterbrechungsanforderungsleitung PUA liefert. Die Unterbrechungsanforderungssignale der verschiedenen Einrichtungen werden dieser Leitung durch eine ODER-Verknüpfung zugeführt. Wenn der Mikroprozessor eine Anforderung für eine Programmunterbrechung erhält, wird diese interpretiert und jede Unterbrechung der Einrichtung wird durch spezielle Routinen oder Unterprogramme bedient.In microprocessor 10 , a program interrupt can be initiated by any device that delivers an interrupt request signal to the single interrupt request line PUA . The interrupt request signals of the various devices are supplied to this line by an OR operation. When the microprocessor receives a request for a program interrupt, it is interpreted and any interruption to the facility is served by special routines or subroutines.

Das Blockschaltbild gemäß Fig. 2 zeigt, daß der Mikroprozessor zwei Funktionseinheiten enthält, nämlich die Datenausführungseinheit und die Befehlsabrufeinheit. (Das Wort "Befehl" wird hier als Bezeichnung für den Operationscode zusammen mit seinen zugehörigen Operanden oder Operandenadressen verwendet.)The block diagram of FIG. 2 shows that the microprocessor contains two functional units, namely the data execution unit and the command fetch unit. (The word "instruction" is used here as a name for the operation code together with its associated operands or operand addresses.)

Die Datenausführungseinheit führt arithmetische und logische Operationen durch, die durch ein Befehlsrepertoire (Befehlsvorrat) definiert werden. Alle Operationen, die in dieser Einheit durchgeführt werden, bekommen ihre Operanden von einer Generalregisteranordnung 21 oder einen Sofort-Operanden von dem in einem Literalregister 210 gespeicherten Befehlswort oder ein apparativ verdrahtetes Literal. Die Operationen sind Register-Register-orientiert mit dem Ergebnis, daß sie in einem der ausgewählten Register des Stapels gespeichert oder über die Datenspeicher-Datenleitung 115 zu den I/O-Geräten, dem Datenspeicher 14 oder der Befehlsabrufeinheit übertragen werden. Zu den wesentlichen organisatorischen oder konstruktiven Merkmalen ("Architektur") der Datenausführungseinheit gehören das Rechenwerk (ALU) 27 und die Generalregisteranordnung 21.The data execution unit performs arithmetic and logical operations defined by an instruction repertoire (instruction set). All operations carried out in this unit get their operands from a general register arrangement 21 or an immediate operand from the command word stored in a literal register 210 or a literally wired literal. The operations are register-register oriented, with the result that they are stored in one of the selected registers of the stack or transferred to the I / O devices, data memory 14, or the command fetch unit via data storage data line 115 . The arithmetic logic unit (ALU) 27 and the general register arrangement 21 belong to the essential organizational or constructive features (“architecture”) of the data execution unit.

Die ALU 27 führt alle arithmetischen und logischen Operationen aus, die durch das Befehlsrepertoire angegeben werden können. Verschiebungsbefehle, iterative Multiplikationsbefehle und iterative Divisionsbefehle können unter Verwendung der Möglichkeit einer Verschiebung um ein Bit nach links oder nach rechts an den ALU-Ausgangsklemmen durchgeführt werden.The ALU 27 performs all arithmetic and logical operations that can be specified by the command repertoire. Shift commands, iterative multiplication commands and iterative division commands can be performed on the ALU output terminals using the possibility of shifting left or right by one bit.

Die Generalregisteranordnung 21 ist beispielsweise ein Vier- Eingangs-Zwischenspeicher für acht Wörter, der für die Speicherung arithmetischer Operanden verwendet wird. Die Operanden für die ALU 27 sind gleichzeitig an zwei Leseausgängen verfügbar. Beide Leseausgänge enthalten Halteschaltungen und sind voneinander unabhängig; jeder Ausgang kann den Inhalt irgendeines der acht Generalregister des Stapels für arithmetische Operationen liefern. Das abzufragende oder zu lesende Register wird durch ein Operandenbezeichnungsfeld im Befehlswort angegeben. Es sind ferner Schreibe- oder Speichereingänge zum Speichern von Daten in einem der Generalregister vom Ausgang der ALU und zum Speichern von Daten in ein anderes Generalregister von der Datenspeicher-Datenleitung 115 vorgesehen. Die Speicher- Eingänge sind unabhängig und können unter Programmsteuerung zugleich oder einzeln verwendet werden. Dies erlaubt, daß arithmetische Operationen von Register zu Register sich mit Datenspeicher-Register-Operationen überlappen. Die Ausgangssignale von den Generalregisterstapel-Halteschaltungen können, wie erwähnt, über die Operand-A- und Operand-B-Leitungen OPA bzw. OPB für die Verwendung in der Spezialfunktionseinheit 16 übertragen werden.The general register arrangement 21 is, for example, a four-input, eight-word buffer used for storing arithmetic operands. The operands for the ALU 27 are available at two read outputs at the same time. Both read outputs contain hold circuits and are independent of one another; each output can provide the contents of any of the eight general registers in the arithmetic operation stack. The register to be queried or read is specified by an operand designation field in the command word. There are also write or memory inputs for storing data in one of the general registers from the output of the ALU and for storing data in another general register from the data storage data line 115 . The memory inputs are independent and can be used simultaneously or individually under program control. This allows register-to-register arithmetic operations to overlap with data storage register operations. As mentioned, the output signals from the general register stack holding circuits can be transmitted via the operand A and operand B lines OPA and OPB for use in the special function unit 16 .

Die Befehlsabrufeinheit steuert die Befehlsfolge und den Zugriff zum Datenspeicher. Sie enthält eine Adressenregisteranordnung 22 für indirekte Adressen, einen Adressenaddierer 211, mit dem die Adressen auf den neuesten Stand gebracht werden können, einen Befehlszähler 212 und einen Programmzählerstapel 213. Die Adressenregisteranordnung 22 ist ein Vier-Eingangs-Zwischenspeicher für acht Wörter, der zur Speicherung indirekter Adressen dient. Die Anordnungen 21 und 22 haben vorzugsweise eine verhältnismäßig hohe Arbeitsgeschwindigkeit. Die im Adressenregisterstapel gespeicherten Adressen werden durch ein Befehlsfeld oder einen Befehlsabschnitt gewählt. Die Inhalte der gewählten Adressenregister werden durch einen Leseausgang oder ein Lesetor IR 4 zu einer Halteschaltung durchgeschleust und auf die Datenspeicher-Adressenleitung 114 gekoppelt, so daß ein Datenspeicherzugriff gleichzeitig mit der Durchführung arithmetischer Operationen in der Datenausführungseinheit stattfinden kann. Eine direkte Speicheradressierung ist im Mikroprozessor ebenfalls gestattet, die Adressen kommen hierfür direkt von dem unmittelbaren oder laufenden Operanden des Programmbefehlswortes. Eine indizierte Adressierung kann mit einer Folge von zwei Befehlen bewirkt werden, die unten erläutert werden wird. Das Adressenregister 7 (AR 7) unterscheidet sich von den anderen Adressenregistern darin, daß es als zwei Iterationszähler dient. Der Iterationszähler ICB ist die niederrangige Hälfte von AR 7 und der Iterationszähler ICA ist die höherrangige Hälfte.The command fetch unit controls the command sequence and access to the data store. It contains an address register arrangement 22 for indirect addresses, an address adder 211 with which the addresses can be updated, an instruction counter 212 and a program counter stack 213 . The address register array 22 is a four-input, eight-word latch that is used to store indirect addresses. The assemblies 21 and 22 preferably have a relatively high operating speed. The addresses stored in the address register stack are selected by a command field or section. The contents of the selected address registers are passed through a read output or a read gate IR 4 to a hold circuit and coupled to the data memory address line 114 , so that data memory access can take place simultaneously with the execution of arithmetic operations in the data execution unit. Direct memory addressing is also permitted in the microprocessor; the addresses for this come directly from the immediate or current operand of the program command word. Indexed addressing can be accomplished with a sequence of two commands, which will be explained below. The address register 7 ( AR 7 ) differs from the other address registers in that it serves as two iteration counters. The iteration counter ICB is the lower-level half of AR 7 and the iteration counter ICA is the higher-level half.

Der Adressenaddierer 211 bringt die Adressen in der erforderlichen Weise auf den neuesten Stand, welche auf der Datenspeicher-Adressenleitung 114 verwendet werden. Dieses Fortschreiben der Adressen, das im Programmbefehlswort angegeben ist, findet während der Datenspeicherzugriffszeit statt, und die fortgeschriebene Adresse wird am Ende des Befehlsausführungszyklus in das gewählte Adressenregister zurückgespeichert. Die Adresse kann um ±1, ±2, ±3 oder durch eine in einem anderen Adressenregister gespeicherte Veränderliche fortgeschrieben werden.The address adder 211 updates the addresses as required on the data store address line 114 . This address update, which is specified in the program instruction word, takes place during the data storage access time, and the updated address is stored back into the selected address register at the end of the instruction execution cycle. The address can be updated by ± 1, ± 2, ± 3 or by a variable stored in another address register.

Indizierte Adressen können unter Verwendung des Adressenaddierers 211 errechnet werden. Die Basisadresse, die als unmittelbarer oder laufender Operand im Programmbefehlswort erscheint, wird zum Inhalt eines gewählten Adressenregisters addiert. Das Ergebnis wird in einem reservierten Adressenregister gespeichert. Der nächste Befehl verwendet die errechnete indizierte Adresse in dem Adressenregister, um den Inhalt von dem gewünschten Datenspeicherplatz abzurufen. Die Stapeladressierung ist in Fig. 2 aus Übersichtlichkeitsgründen nicht dargestellt. Die Registeradressen sind Felder oder Bereiche im Befehl und sollen bei dem vorliegenden Beispiel drei Bits zur Adressierung eines aus acht Registern enthalten. Indexed addresses can be calculated using the address adder 211 . The base address that appears as an immediate or current operand in the program command word is added to the content of a selected address register. The result is stored in a reserved address register. The next command uses the calculated indexed address in the address register to retrieve the content from the desired data storage location. The stack addressing is not shown in FIG. 2 for reasons of clarity. The register addresses are fields or areas in the instruction and should contain three bits for addressing one of eight registers in the present example.

Fig. 3 zeigt eine Speicheranordnung, wie sie in einer bevorzugten Ausführungsform der Erfindung als Registerstapel verwendet wird. Der Registerstapel enthält eine Anordnung von Speicherzellen 300, die jeweils zwei Dateneingangsklemmen (typisch D 12 und D 22) und zwei Datenausgangsklemmen (typisch O 12 und O 22) aufweisen und durch Lesesignale (R 1 oder R 2) und Schreibesignale (W 1 oder W 2) gesteuert werden. Die drei Bits des Befehlsfeldes oder -bereiches, die zur Adressierung eines Registers verwendet werden, wie für R 1, die Bits 2¹⁸, 2¹⁷ und 2¹⁶ vom Befehlsregister, werden einem Eins- Aus-Acht-Decodierer 31 zugeführt. Solche Decodierer sind bekannt. Je nach der Kombination dieser Bits liefert eine der acht Ausgangsleitungen ein Steuersignal R 1 an eine gewählte Zeile von Zellen, die das adressierte Register enthalten. Ferner wird eines von einer Gruppe von UND-Gliedern 32 durch das Ausgangssignal des Decodierers 31 ansprechbereit gemacht, so daß Daten, die auf mit I 10 bis I 17 bezeichneten Datenleitungen 33 erscheinen, gespeichert werden, wenn ein Auftast- oder Taktsignal W 1 zugeführt wird. Die Daten-Ausgangssignale von den zugegriffenen Zellen werden einer ersten Gruppe von Halteschaltungen zugeführt, die durch ein Tast- oder Taktsignal A gesetzt werden. Die Zellen in der Anordnung können ferner durch einen Eins-Aus- Acht-Decodierer 35 adressiert werden, der ein Lesesignal R 2 entsprechend einem Wahlcode liefert, der von den Bits 2¹⁵, 2¹⁴ und 2¹³ des Befehlsregisters durchgeschleust wird. Die Ausgangssignale von den Zellen werden unter Steuerung durch ein Tastsignal B in einer zweiten Gruppe von Halteschaltungen gespeichert. Fig. 3 shows a memory array as used in a preferred embodiment of the invention as a register stack. The register stack contains an arrangement of memory cells 300 , each having two data input terminals (typically D 12 and D 22 ) and two data output terminals (typically O 12 and O 22 ) and by read signals ( R 1 or R 2 ) and write signals ( W 1 or W 2 ) can be controlled. The three bits of the command field or area used to address a register, such as R 1 , bits 2¹⁸, 2¹⁷ and 2¹⁶ from the command register, are supplied to an on-off-eight decoder 31 . Such decoders are known. Depending on the combination of these bits, one of the eight output lines supplies a control signal R 1 to a selected row of cells which contain the addressed register. Further, one of a group of AND gates 32 is made responsive by the output of decoder 31 so that data appearing on data lines 33 labeled I 10 through I 17 are stored when a strobe or clock signal W 1 is supplied . The data output signals from the accessed cells are fed to a first group of holding circuits, which are set by a key or clock signal A. The cells in the array can also be addressed by a one-eight decoder 35 which provides a read signal R 2 corresponding to a selection code which is passed through by bits 2¹⁵, 2¹⁴ and 2¹³ of the command register. The output signals from the cells are stored under the control of a key signal B in a second group of holding circuits.

Die Schreibeadresse für die Zellen wird durch einen dritten Eins-Aus-Acht-Decodierer 36 geliefert, der durch ein Schreibsignal W 2 freigegeben wird. Die Signale W 2 kommen von dem geeigneten Feld oder Bereich des Befehls, z. B. den Bits 2¹², 2¹¹ und 2¹⁰. Die zu speichernde Information liegt auf den Eingangsleitungen 33, die mit I 20 bis I 27 bezeichnet sind.The write address for the cells is provided by a third one-off-eight decoder 36 which is enabled by a write signal W 2 . The signals W 2 come from the appropriate field or area of the command, e.g. B. bits 2¹², 2¹¹ and 2¹⁰. The information to be stored lies on the input lines 33 , which are designated I 20 to I 27 .

Eine typische Speicherzelle ist in Fig. 4 dargestellt. Das Signal W 1 öffnet den zwei Inverter 41 und 42 koppelnden Stromweg, in dem ein P-Kanal-Feldeffekttransistor FET 43 gesperrt wird. Ein Signal DATA IN 1 wird der Eingangsklemme des Inverters 41 durch einen N-Kanal-FET 44 zugeführt, der durch das Signal W 1 aufgetastet wird. Wenn das Signal W 1 abgeschaltet wird, sperrt der FET 44 während der FET 43 aufgetastet wird, wobei letzterer die Schleife zwischen den Invertern 41 und 42 vervollständigt, so daß der Bitwert von DATA IN 1 gespeichert wird. Das Schreibsignal W 2 wirkt in der gleichen Weise wie das Signal W 1 für den Dateneingang DATA IN 2. Das Ausgangssignal eines Ausgangsinverters 45 wird durch einen von zwei N-Kanal-FET's durchgeschleust, je nachdem, ob das Lesekommandosignal R 1 oder das Lesesignal R 2 zugeführt werden.A typical memory cell is shown in FIG. 4. The signal W 1 opens the current path coupling two inverters 41 and 42 , in which a P-channel field effect transistor FET 43 is blocked. A signal DATA IN 1 is fed to the input terminal of the inverter 41 through an N-channel FET 44 which is gated by the signal W 1 . When signal W 1 is turned off, FET 44 turns off while FET 43 is gated, the latter completing the loop between inverters 41 and 42 so that the bit value of DATA IN 1 is stored. The write signal W 2 acts in the same way as the signal W 1 for the data input DATA IN 2 . The output signal of an output inverter 45 is passed through one of two N-channel FET's, depending on whether the read command signal or the read signal R 1 R 2 are fed.

Fig. 5 zeigt eine typische Halteschaltung. Sie enthält eine Torschaltung 51 mit zwei Transistoren, die durch ein Tastsignal aufgetastet wird, welches außerdem eine zweite Torschaltung 52 sperrt. Durch das Sperren der Torschaltung 52 wird ein Rückführungsweg zwischen zwei Invertern 53 und 54 unterbrochen, und das Auftasten der Torschaltung 51 bewirkt, daß die Daten von einer Klemme DATA IN auf den Eingang des Inverters 53 gekoppelt werden. Wenn das Tastsignal abgeschaltet wird, sperrt die Torschaltung 51, während die Torschaltung 52 aufgetastet wird, wodurch der Stromweg zwischen den Invertern 53 und 54 geschlossen und die Information gespeichert wird und ein ihr entsprechendes Ausgangssignal an einer Datenausgangsklemme des Inverters 54 auftritt. Durch ein Rücksetzsignal wird ein Transistor 55 gesperrt, der die Informationsrückführungsschleife unterbricht, und wird ein Transistor 56 aufgetastet, der dem Eingang des Inverters 53 ein Signal des Logikwertes Null (Massepotential) zuführt. Fig. 5 shows a typical hold circuit. It contains a gate circuit 51 with two transistors, which is gated by a key signal, which also blocks a second gate circuit 52 . By blocking the gate circuit 52 , a return path between two inverters 53 and 54 is interrupted, and the opening of the gate circuit 51 causes the data to be coupled from a terminal DATA IN to the input of the inverter 53 . When the key signal is turned off, gate 51 locks while gate 52 is opened, thereby closing the current path between inverters 53 and 54 and storing the information and an output signal corresponding thereto occurring at a data output terminal of inverter 54 . A reset signal blocks a transistor 55 , which breaks the information feedback loop, and switches on a transistor 56 , which supplies a signal of the logic value zero (ground potential) to the input of the inverter 53 .

Der Befehlszähler (IPC) 212 in Fig. 2 dient zur Befehlsfolgesteuerung und kann mit Verzweigungsadressen gesetzt werden. Die Ausgangssignale vom Befehlszähler 212 werden über die Programmspeicher- Adressenleitung 112 übertragen, um den nächsten Befehl abzurufen, während gleichzeitig arithmetische Operationen entsprechend dem laufenden Befehl in der Datenausführungseinheit durchgeführt werden. Die Verzweigungsadressen für den Befehlsprogrammzähler stammen entweder von dem unmittelbaren Operandenfeld einer Klasse spezieller Befehle oder vom obersten Platz, Stapelwort A, eines Programmzählerstapels 213, wie unten noch erläutert werden wird. The instruction counter (IPC) 212 in Fig. 2 is used for instruction sequencing and can be set with branch addresses. The outputs from the instruction counter 212 are transferred via the program memory address line 112 to retrieve the next instruction while arithmetic operations corresponding to the current instruction are being performed in the data execution unit. The branch addresses for the instruction program counter either come from the immediate operand field of a class of special instructions or from the top place, stack word A , of a program counter stack 213 , as will be explained below.

Der Befehlsprogrammzählerstapel 213 (IPSTACK) ist ein LIFO- Registerstapel für vier Wörter, bei dem das zuletzt gespeicherte Wort beim Lesen als erstes abgerufen wird, er dient zur Bearbeitung von Unterbrechungen, zur Durchführung von Unter- oder Teilprogrammen und zur Durchführung von iterativen Programmschleifenverkettungen. Bei der Verkettung mit einem Unter- oder Teilprogramm werden die Programmadressenverkettungen vom Befehlsprogrammzähler im Stapel gespeichert, wobei die bereits vorhandenen Inhalte des Stapelregisters jeweils um einen Platz nach unten verschoben werden. Der anfängliche Inhalt des vierten Registers, das Stapelwort D, geht bei dieser Operation verloren. Wenn eine Rückkehr von einem Unterprogramm erfolgt, werden die Programmadressenverkettungen um einen Platz nach oben bewegt, wobei der anfängliche Inhalt des ersten Registers, das Stapelwort A, in den Befehlsprogrammzähler IPC übergeführt wird. Der Inhalt des vierten Registers, das Stapelwort D, bleibt dabei unverändert.The instruction program counter stack 213 (IPSTACK) is a LIFO register stack for four words, in which the last word saved is read first when reading, it is used for processing interruptions, for executing subroutines or subroutines and for executing iterative program loop chains. When linking with a subroutine or part program, the program address linkages are stored in the batch by the command program counter, the contents of the batch register which are already present being shifted down one place. The initial content of the fourth register, stack word D , is lost in this operation. When there is a return from a subroutine, the program address chains are moved up one place, and the initial content of the first register, stack word A , is transferred to the instruction program counter IPC. The content of the fourth register, stack word D , remains unchanged.

Ein Befehlswort ist beispielsweise 24 Bits lang und hat eines von zwei Grundbefehlswortformaten. Das erste Format ist dadurch gekennzeichnet, daß das höchststellige Bit (2²³) des Programmbefehlswortes den Logikwert Null hat. Es hat die Form:For example, a command word is 24 bits long and has one of two basic command word formats. The first format is characterized by that the most significant bit (2²³) of the program instruction word has the logic value zero. It has the form:

Befehlsformat Klasse I Class I instruction format

Das zweite Format ist dadurch gekennzeichnet, daß das höchststellige Bit des Programmbefehlswortes den Logikwert Eins hat und es hat die folgende Form: The second format is characterized in that the most significant bit of the program instruction word has the logic value one and it has the following form:  

Befehlsformat Klasse II Class II command format

Die Ausgangssignale von den Befehlsregistern 210 und 218 werden zusammen mit denen von einem Taktgeber 23 und einem Programmzustandsregister 24 zum Erzeugen von Takt- und Steuersignalen durch einen Steuerteil 25 verwendet. Dem Steuerteil 25 werden als Eingangssignale ferner die DMA- und INT-(Unterbrechungsanforderungs-)Signale zugeführt. Die Steuersignale von Steuerteil 25 werden einem Untersteuerteil 29 zugeführt, der Steuersignale für die Befehlsabrufeinheit erzeugt, wenn die letztere eine getrennte Struktur ist oder sich auf einem getrennten Schaltungsplättchen befindet.The output signals from the command registers 210 and 218 are used together with those from a clock generator 23 and a program status register 24 to generate clock and control signals by a control part 25 . The control part 25 is also supplied with the DMA and INT (interrupt request) signals as input signals. The control signals from control part 25 are fed to a sub-control part 29 , which generates control signals for the command fetch unit when the latter is a separate structure or is on a separate circuit board.

Die Steuersignale werden Torschaltungen zugeführt, die den Signalfluß in den verschiedenen Einheiten steuern. Beispielsweise dienen zwei Torschaltungen 217 und 219 dazu, die Operanden A bzw. B von den Lesehalteschaltungen der Generalregisteranordnung 21 weiterzuleiten, wenn sie durch zugeordnete Steuersignale aufgetastet werden. Andere Steuersignale steuern die ALU 27, den Addierer 211 und die Taktung der Registerstapel.The control signals are applied to gate circuits which control the signal flow in the various units. For example, two gate circuits 217 and 219 serve to pass the operands A and B from the read hold circuits of the general register arrangement 21 when they are gated by assigned control signals. Other control signals control the ALU 27 , the adder 211 and the timing of the register stacks.

Bei Kenntnis eines Satzes von Registernamen und der detaillierten logischen Operationen, die durch eine Maschine oder Anlage durchzuführen sind, kann ein Durchschnittsfachmann auf dem Gebiete der Computer- Technik einen Steuerteil angeben, der Befehle des Befehlsvorrats auszuführen vermag. Es gibt sogar Computerprogramme, die dieses leisten, siehe z. B. das Buch "Digital Systems: Hardware Organization and Design" von F. J. Hill und G. R. Peterson, Verlag John Wiley & Sons (New York, 1973), ferner das Buch "A Programming Language" von K. E. Inverson, Verlag John Wiley & Sons (New York, 1962, und das Buch "Digital System Principles" von H. Hellermann, Verlag McGraw-Hill (New York, 1967). Knowing a set of register names and the detailed ones logical operations to be performed by a machine or system an average specialist in the field of computer Technique specify a control section to execute commands from the command set can There are even computer programs that can do this, see e.g. B. that Book "Digital Systems: Hardware Organization and Design" by F. J. Hill and G. R. Peterson, publisher John Wiley & Sons (New York, 1973) and the book "A Programming Language" by K.E. Inverson, published by John Wiley & Sons (New York, 1962, and the book "Digital System Principles" by H. Hellermann, Verlag McGraw-Hill (New York, 1967).  

Die Operationen werden manchmal in einer speziellen symbolischen Sprache codiert, um einem Programmierer den Entwurf eines Programmes zu erleichtern. Eine solche Sprache ist die in der oben angegebenen Literaturstelle erläuterte Programmsprache AHPL. Die in dieser Sprache verwendeten Symbole sind im folgenden aufgeführt:The operations are sometimes in a special symbolic Language encoded to help a programmer design a program to facilitate. One such language is that in the literature cited above explained program language AHPL. The used in this language Icons are listed below:

Die primitiven Operatoren sind ( bedeutet: "ist definiert als"):The primitive operators are (means: "is defined as"):

+ Binäre Addition (dyadisch); - Binäre Zweierkomplement-Subtraktion (dyadisch); ∧ Logisches UND (dyadisch); ⟩ Logisches ODER (dyadisch); ⊕ Logisches EXCLUSIVES ODER (dyadisch) und - Einer-Komplement (Querstrich) (monadisch).+ Binary addition (dyadic); - binary two's complement subtraction (dyadic); ∧ Logical AND (dyadic); ⟩ Logical OR (dyadic); ⊕ Logical EXCLUSIVE OR (dyadic) and - one's complement (slash) (monadic).

Die Bezugsoperatoren sind:The reference operators are:

= Ist gleich (dyadisch); ≠ Ungleich (dyadisch); < Kleiner als (dyadisch) und : Vergleiche (dyadisch gleichlange Vektoren).= Is equal (dyadic); ≠ unequal (dyadic); <Less than (dyadic) and : Comparisons (dyadic vectors of equal length).

Die gemischten Operatoren sind:The mixed operators are:

← Empfängt (dyadisch); ↑ Verschiebung um ein Bit nach rechts (monadisch); ↓ Verschiebung um ein Bit nach links (monadisch); SET Einstellen eines Ein-Bit-Operanden auf den Logikwert Eins (monadisch); RST Einstellen eines Ein-Bit-Operanden auf den Logikwert Null (monadisch) und , Verketten oder Zusammenfügen (dyadisch).← Receives (dyadic); ↑ shift by one bit to the right (monadic); ↓ shift left by one bit (monadic); SET Set a one-bit operand to the Logic value one (monadic);  RST Set a one-bit operand to the logic value Zero (monadic) and , Chaining or joining (dyadic).

Spezielle Operatoren sind:Special operators are:

PSH IPSTACK-Operation, wobei SWD←(SWC); SWC←(SWB); SWB←(SWA); SWA←specifiz. Vector und POP IPSTACK-Operation, wobei SWA←(SWB); SWB←(SWC); SWC←(SWD).PSH IPSTACK operation, where SWD ← (SWC); SWC ← (SWB); SWB ← (SWA); SWA ← spec. Vector and POP IPSTACK operation, where SWA ← (SWB); SWB ← (SWC); SWC ← (SWD).

Identifizierer sind:Identifiers are:

LSB Niederstrangiges Acht-Bit-Byte eines monadischen Binärvektors; MSB Höchstrangiges Acht-Bit-Byte eines monadischen Binärvektors; Sg Höchstrangiges Bit eines monadischen Operanden (Vorzeichen); ε Binärvektor aus lauter logischen Einsen; ε¹ Binärer Nullvektor mit der Ausnahme, daß das niedrigststellige Bit eine Eins ist; ω j Die j niederstrangigen Bits eines Binärvektors und α j Die j höchstrangigen Bits eines Binärvektors. LSB Low-level eight-bit byte of a monadic binary vector; MSB High-ranking eight-bit byte of a monadic binary vector; Sg High-order bit of a monadic operand (sign); ε binary vector consisting of pure logical ones; ε ¹ binary zero vector except that the least significant bit is a one; ω j The j low-order bits of a binary vector and α j The j highest-order bits of a binary vector.

Die Syntax umfaßt:The syntax includes:

( )- bedeutet bei Verwendung mit einer binären Matrix eine spezielle Zeile oder ein spezielles Wort der Matrix;
- bedeutet, wenn es einen arithmetischen Ausdruck enthält, das Resultat dieses Ausdruckes;
- bedeutet, bei Verwendung mit einem Registernamen oder einer Speicheradresse den Inhalt des Registers oder des durch die Adresse bezeichneten Speicherplatzes; ;- trennt zusammengesetzte Funktionen und
() - means a special line or word of the matrix when used with a binary matrix;
- means, if it contains an arithmetic expression, the result of that expression;
- means, when used with a register name or a memory address, the content of the register or of the memory space designated by the address; ; - separates compound functions and

IF . . . THEN . . . ELSE . . .IF. . . THEN. . . ELSE. . .

- der Ausdruck, der auf IF folgt, wird ausgewertet und auf eine Testgröße in Form eines Bits reduziert; wenn sich eine logische Eins ergibt, wird die Angabe, die auf THEN folgt, ausgeführt, wenn es eine logische Null ist, wird die Angabe ausgeführt, die auf ELSE folgt. In manchen Fällen ist die Angabe ELSE nicht erforderlich, z. B. wenn beim Testbit Null keine Maßnahme erforderlich ist.       - The expression that follows IF is evaluated and a test size in the form of a Bits reduced; if there is a logical one results, the statement that follows THEN executed if it's a logical zero the specification that follows ELSE is executed. In some cases, ELSE is not required e.g. B. if none at test bit zero Measure is required.     

Weitere verwendete Abkürzungen:Other abbreviations used:

ARn- das durch das Rn-Feld bezeichnete Adressenregister, GRn- das durch das Rn-Feld bezeichnete Generalregister; DMAB- die Datenspeicher-Adressenschiene; DM(ARn)- der Datenspeicherplatz, der durch das Adressenregister adressiert wird, welches durch das Rn- Feld angegeben wird; IPC- Befehlsprogrammzähler; ICA- Weiterschalten des Zählers A; ICB- Weiterschalten des Zählers B; IMOP- unmittelbarer Operand, Bits (2⁰ bis 2¹⁵) von Befehlen der Klasse II; MIM- Hauptunterbrechungsmaskenbit; R 6 A- Register Sechs des Adressenregisterstapels; SAAC- Arithmetischen Bedingungscode setzen; SLCC- Logischen Bedingungscode setzen und SCCC- Vergleichsbedingungscode setzen.ARn- the address register designated by the Rn field, GRn- the general register designated by the Rn field; DMAB- the data storage address rail; DM (ARn) - the data storage space that is addressed by the address register specified by the Rn field; IPC command program counter; ICA incrementing counter A; ICB incrementing counter B; IMOP immediate operand, bits (2⁰ to 2¹⁵) of class II instructions; MIM main interrupt mask bit; R 6 A - Register Six of the address register stack; Set SAAC arithmetic condition code; Set SLCC logical condition code and SCCC comparison condition code.

Die Felder R 1 und R 2 der Befehle der Klasse I wählen die beiden Generalregister, die die Operanden enthalten, welche bei der Ausführung der begleitenden Operation verwendet werden sollen. In Fällen, bei denen das Ergebnis durch die ALU 27 gebildet wird, gibt das Feld R 1 auch das Generalregister an, in dem das Resultat zu speichern ist. Das Feld R 3 wählt das Generalregister, das Daten empfangen soll, welche sich zu dem Zeitpunkt, in dem das Resultat der durch die ALU ausgeführten Datenoperation in dem durch das Feld R 1 gewählten Register gespeichert wird, auf der Datenspeicher- Datenleitung 115 befinden. (Wenn die Spezialfunktionseinheit die Operation ausführt, werden nur die Daten auf der Datenspeicher-Datenleitung in dem durch das Feld R 3 angegebenen Generalregister gespeichert.) Das Feld R 4 wählt eines der Adressenregister für einen eventuellen Gebrauch während der Befehlsausführung. Der Inhalt des durch das Feld R 4 gewählten Registers wird zu Beginn des Befehlszyklus auf die Datenspeicher- Adressenschiene übertragen, um während des Ausführungszyklus einen Zugriff zum Datenspeicher 14 oder einem I/O-Gerät zu bewirken. Bei einer Adressierung des Datenspeichers wird die durchzuführende Operation durch die Inhalte der Felder OP CODE und EXT OP angegeben. Bei der Adressierung eines I/O-Gerätes wird die durchzuführende Operation durch die Adresse, die I/O- Steuersignale und die Konstruktion des I/O-Gerätes bestimmt.The fields R 1 and R 2 of the class I instructions select the two general registers which contain the operands which are to be used in the execution of the accompanying operation. In cases where the result is formed by the ALU 27 , the field R 1 also specifies the general register in which the result is to be stored. The R 3 field selects the general register to receive data that is on the data storage data line 115 at the time the result of the data operation performed by the ALU is stored in the register selected by the R 1 field. (When the special function unit performs the operation, only the data on the data storage data line is stored in the general register indicated by the R 3 field.) The R 4 field selects one of the address registers for eventual use during command execution. The content of the register selected by field R 4 is transferred to the data storage address rail at the beginning of the command cycle to provide access to data storage 14 or an I / O device during the execution cycle. When the data memory is addressed, the operation to be performed is specified by the contents of the OP CODE and EXT OP fields. When addressing an I / O device, the operation to be performed is determined by the address, the I / O control signals and the design of the I / O device.

Das Programmzustandsregister 24 (Fig. 2) speichert einen Bedingungscode, der vier Bits enthält. Bei der Ausführung bestimmter Befehle werden die Bits gesetzt oder zurückgesetzt, die durch andere Befehle für Verzweigungsentscheidungen benutzt werden. Ein Bit des Bedingungscodes ist das Bit OV, das durch einen arithmetischen Überlauf von der ALU 27 gesetzt wird. Wenn es einmal gesetzt ist, kann es nur durch einen der Befehle RSTAT, CSTAT oder LSTAT zurückgesetzt werden. Ein anderes Bit ist das Bit C, welches den Ausführungswert für bestimmte Befehle speichert und ein Eingangsbit für andere Befehle darstellt. Es wirkt als Verbindungs- oder Anschlußbit für Befehle betreffend doppelte Präzision oder Stellenzahl und Verschiebungen. Ein Bit N enthält das Vorzeichen des Resultats bestimmter Operationen. Das vierte Bit des Bedingungscodes ist das Bit Z, das gesetzt wird, um anzuzeigen, daß das Resultat einer bestimmten Operation den Wert Null hat und das zurückgesetzt wird, um ein von Null verschiedenes Resultat anzuzeigen.The program status register 24 ( FIG. 2) stores a condition code that contains four bits. When certain instructions are executed, the bits that are used by other instructions for branching decisions are set or reset. One bit of the condition code is the bit OV, which is set by the ALU 27 through an arithmetic overflow. Once set, it can only be reset by one of the commands RSTAT, CSTAT or LSTAT. Another bit is bit C, which stores the execution value for certain commands and represents an input bit for other commands. It acts as a connection or connection bit for commands regarding double precision or number of digits and shifts. A bit N contains the sign of the result of certain operations. The fourth bit of the condition code is the Z bit which is set to indicate that the result of a particular operation is zero and which is reset to indicate a non-zero result.

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:In general, the commands that influence the condition code are arithmetic (SACC), logical (SLCC) and comparison (SCCC). The results of the SACC, SLCC, and SCCC commands are listed in the following table:

Die übrigen Abkürzungen wurden oben in Verbindung mit der Programmsprache AHPL erwähnt.The other abbreviations have been used in conjunction with the above Program language AHPL mentioned.

Der Inhalt von dem gewählten Adressenregister wird durch den Adressenaddierer 211 durchgeschleust und entsprechend dem MODE-Feld um 0, +1, -1, +2, -2 oder +3 weitergeschaltet. Die so auf den neuen Stand gebrachte Adresse wird am Ende des Ausführungszyklus in das gewählte Adressenregister zurückgespeichert.The content of the selected address register is passed through the address adder 211 and advanced by 0, +1, -1, +2, -2 or +3 according to the MODE field. The address updated in this way is saved back into the selected address register at the end of the execution cycle.

Das Feld EXT OP enthält drei Bits, die zur Erweiterung des Feldes OP CODE dienen, so daß acht Sätze von sechzehn Befehlen möglich sind. Das Feld MODE wird von der Befehlsabrufeinheit dazu verwendet, um verschiedene wahlweise Operationen zu steuern, um Adressenregister auf den neuesten Stand zu bringen, eine Befehlsprogrammzähler-Nachfolgesteuerung, iterative Schleifensteuerung oder Befehlsprogrammzählerstapelsteuerung zu bewirken. Der Inhalt des Feldes MODE gilt für alle Befehle der Klasse I mit der Ausnahme der Fälle, daß das Feld EXT OP die Werte 110 oder 111 enthält. Das Feld MODE bleibt bei gewissen Befehlen zur Übertragung von Information in die Adressenregister außer Betracht. Die speziellen MODE-Steuermöglichkeiten und ihre funktionellen Beschreibungen sind in der folgenden Tabelle I aufgeführt (alle Tabellen folgen am Ende der Beschreibung).The EXT OP field contains three bits that are used to expand the Field OP CODE so that eight sets of sixteen commands are possible. The MODE field is used by the command fetch unit to do various optionally control operations to keep address registers up to date Stand by, a command program sequencer, iterative To effect loop control or command program counter stack control. The contents of the MODE field apply to all class I commands with the exception in cases where the EXT OP field contains the values 110 or 111. The field MODE remains with certain commands for the transfer of information into the Address register not considered. The special MODE control options and their functional descriptions are listed in Table I below (all tables follow at the end of the description).

Für die erweiterten Operationssätze 0 oder 1, die durch die Werte 000 bzw. 001 des Feldes EXT OP bezeichnet werden, bewirken die Befehle der Klasse I bestimmte Register-Register-Operationen zusätzlich zu der Operation, die durch den Inhalt des Feldes OP CODE angegeben wird.For extended operation sets 0 or 1, the are designated by the values 000 or 001 of the EXT OP field the class I commands additionally determine register-register operations for the operation specified by the content of the OP CODE field.

Bei dem erweiterten Operationssatz 0 werden zur gleichen Zeit, wie die arithmetische Operation durchgeführt wird, die Daten auf der Datenspeicher- Datenleitung 115 in einem Generalregister gespeichert. Beim erweiterten Operationssatz I wird das Resultat der durchgeführten arithmetischen Operation auf die Datenspeicher-Datenleitung 115 gekoppelt. Mit der Ausnahme des Falles, daß die Felder R 1 und R 3 gleich sind, beschränkt keine dieser Operationen die Spezifizierung und Leistungsfähigkeit der arithmetischen Operation. Für diese Befehle gibt der Inhalt der Felder R 1 und R 2 jeweils eines der acht Generalregister als Operand für den Befehl an. Die Inhalte der Felder R 1 und R 2 können unterschiedliche Generalregister oder das gleiche Generalregister als Quellen für die Befehlsoperanden bezeichnen. Die spezifizierte Funktion wird mit den beiden gewählten Operanden durchgeführt und das Resultat wird in demjenigen Generalregister gespeichert, das durch das Feld R 1 gewählt ist. Als Ergebnis der gewählten Operation wird ein Bedingungscodestatusregister auf einen aus einer Gruppe von speziellen Bedingungscodeeinstellungen gesetzt, der für die Operation angegeben ist.With the expanded operation set 0, at the same time as the arithmetic operation is being performed, the data on the data storage data line 115 is stored in a general register. In the extended operation set I , the result of the arithmetic operation carried out is coupled to the data storage data line 115 . Except for the case where fields R 1 and R 3 are the same, none of these operations limit the specification and performance of the arithmetic operation. For these instructions, the contents of fields R 1 and R 2 each indicate one of the eight general registers as the operand for the instruction. The contents of fields R 1 and R 2 can denote different general registers or the same general register as sources for the instruction operands. The specified function is carried out with the two operands selected and the result is stored in the general register selected by the field R 1 . As a result of the selected operation, a condition code status register is set to one of a set of special condition code settings specified for the operation.

Die Befehle für die erweiterten Operationssätze 0 und 1 sind in der Tabelle II aufgeführt.The commands for extended operation sets 0 and 1 are listed in Table II.

Eine Angabe des erweiterten Operationssatzes 0 bedeutet, daß in dem durch das Feld R 3 des Befehles gewählten Generalregister der Inhalt von einem Platz im Datenspeicher oder von einem I/O-Gerät zu speichern ist, welcher bzw. welches durch das Adressenregister adressiert ist, das durch das Feld R 4 gewählt wurde. Die Speicherung erfolgt gleichzeitig mit dem Einschreiben des Resultates der spezifizierten Operation in das Generalregister, das durch den Inhalt des Feldes R 1 gewählt wurde. Wenn die Felder R 1 und R 3 gleich sind, findet eine Beschickung des Generalregisters unter Verwendung der Daten auf der Datenspeicher-Datenschiene nicht statt. Es wird nur das Resultat der angegebenen Operation in dem durch das Feld R 1 gewählten Generalregister gespeichert.An indication of the extended operation set 0 means that the content of a location in the data memory or of an I / O device which is addressed by the address register is to be stored in the general register selected by the field R 3 of the command and which is addressed by the address register which was chosen by the field R 4 . The storage takes place simultaneously with the writing of the result of the specified operation into the general register, which was selected by the content of the field R 1 . If the fields R 1 and R 3 are the same, the general register is not loaded using the data on the data storage data rail. Only the result of the specified operation is saved in the general register selected by field R 1 .

Die Angabe des erweiterten Operationssatzes 1 bedeutet, daß das Resultat der Operation in dem Datenspeicherplatz zu speichern oder zu dem I/O-Gerät übertragen ist, welcher bzw. welches durch das vom Feld R 4 des Befehles gewählte Adressenregister angegeben wird. Die Speicherung des Resultats im Speicherplatz oder dem I/O-Gerät erfolgt gleichzeitig mit dem Einschreiben des Resultates in dem durch das Feld R 1 gewählten Generalregister. Wenn die Inhalte der Felder R 1 und R 3 gleich sind, wird das Resultat von der arithmetischen Operation auf die Datenspeicher-Datenschiene gekoppelt, es wird jedoch nicht in dem durch das Feld R 1 angegebenen Generalregister gespeichert. The specification of the extended operation set 1 means that the result of the operation is to be stored in the data storage space or transferred to the I / O device, which is indicated by the address register selected by the field R 4 of the command. The result is stored in the memory location or the I / O device simultaneously with the writing of the result in the general register selected by the field R 1 . If the contents of fields R 1 and R 3 are the same, the result of the arithmetic operation is coupled to the data storage data rail, but it is not stored in the general register specified by field R 1 .

Für die erweiterten Operationssätze 2 und 3, die durch die Werte 010 bzw. 011 des Feldes EXT OP bezeichnet werden, spezifizieren die OP CODES der Befehle der Klasse I die verschiedenen Operationen. Die Befehle für die erweiterten Operationssätze 2 und 3 sind in der hinten angefügten Tabelle III im einzelnen angegeben. Wenn man die erweiterten Operationssätze 2 und 3 angibt, hat dies die gleichen Speicher- oder Beschickungsfolgen mit zur Folge, wie es für die erweiterten Sätze 0 bzw. 1 angegeben ist.For the extended operation sets 2 and 3 , which are designated by the values 010 and 011 of the EXT OP field, the OP CODES of the class I commands specify the various operations. The commands for Extended Operation Sets 2 and 3 are detailed in Table III below. If you specify extended operation sets 2 and 3 , this results in the same storage or loading sequences as is specified for extended sets 0 and 1, respectively.

Bei dem erweiterten Operationssatz 4, der durch den Wert 100 im Feld EXT OP bezeichnet wird, spezifizieren die Befehle der Klasse I einen speziellen Satz arithmetischer Operationen. Beispielsweise spezifizieren die OP CODES 0000 bis 0111 Operationen, bei denen die Inhalte der durch die Felder R 3 und R 4 bezeichneten Register in der arithmetischen Operation nicht verwendet werden. Statt dessen werden die Inhalte des Bedingungscodestatusregisters und der Generalregister, die durch die Felder R 1 und R 2 bezeichnet werden, als Operanden verwendet. Die Inhalte des durch das Feld R 4 bezeichneten Adressenregisters gibt die Adresse des Datenspeicherplatzes oder das I/O-Gerät an, von dem Daten über die Datenspeicher-Datenschiene abzurufen und in dem durch das Feld R 3 angegebenen Generalregister zu speichern sind. (Diese Operation wird gleichzeitig mit der gewählten arithmetischen Operation durchgeführt.)With extended operation set 4 , which is denoted by the value 100 in the EXT OP field, the class I instructions specify a special set of arithmetic operations. For example, the OP CODES 0000 to 0111 specify operations in which the contents of the registers denoted by the fields R 3 and R 4 are not used in the arithmetic operation. Instead, the contents of the condition code status register and the general register designated by the fields R 1 and R 2 are used as operands. The contents of the address register designated by the field R 4 indicate the address of the data storage location or the I / O device from which data is to be called up via the data storage data rail and to be stored in the general register indicated by the field R 3 . (This operation is carried out simultaneously with the selected arithmetic operation.)

Mit den OP CODES 1000 bis 1111 wählt das Feld R 3 das Generalregister, das als Bestimmungsort für das arithmetische Resultat verwendet werden soll. Es erfolgt keine gleichzeitige Beschickung von Daten vom Datenspeicher oder einem I/O-Gerät. Während der Ausführung dieser Befehle, spezifiziert das Feld R 1 eine Prüfung der Bits C, N oder Z des Bedingungscodestatusregisters. Je nach dem Ergebnis der Bedingungscodeprüfung werden nur Einsen oder nur Nullen für den einen der Eingangsoperanden der ALU 27 verwendet. Der andere Eingangsoperand ist der Inhalt des durch das Feld R 2 gewählten Generalregisters. Das Resultat der angegebenen logischen Operation wird in dem durch das Feld R 3 angegebenen Generalregister gespeichert. In der Tabelle IV ist eine vollständige funktionelle Beschreibung aller Befehle des erweiterten Operationssatzes 4 enthalten. With the OP CODES 1000 to 1111, the field R 3 selects the general register to be used as the destination for the arithmetic result. There is no simultaneous loading of data from the data storage device or an I / O device. During the execution of these instructions, field R 1 specifies a check of bits C, N or Z of the condition code status register. Depending on the result of the condition code check, only ones or only zeros are used for one of the input operands of the ALU 27 . The other input operand is the content of the general register selected by field R 2 . The result of the specified logical operation is stored in the general register indicated by the field R 3 . Table IV contains a complete functional description of all commands of the extended operation set 4 .

Die Operationen RMIM und SMIM bewirken ein Rücksetzen bzw. Setzen des Bits MIM, das mit dem externen Unterbrechungsanforderungssignal INT einer UND-Verknüpfung unterworfen wird. Mit diesen Befehlen kann der Programmierer Unterbrechungen zulassen oder verhindern.The RMIM and SMIM operations cause a reset or setting the MIM bit associated with the external interrupt request signal INT is subjected to an AND operation. With these commands can the programmer allow or prevent interruptions.

Im erweiterten Operationssatz 5, der durch den EXT OP-Codewert 101 bezeichnet wird, erfolgt die Durchführung der OP CODE-Operation durch die Spezialfunktionseinheit. Die Zuordnung der sechzehn Binärkombinationen des OP Code in diesem erweiterten Operationssatz ist ausschließlich eine Funktion der in Verbindung mit dem Mikroprozessor verwendeten Spezialfunktionseinheit. Bei der Ausführung dieser Befehle wählt das Feld R 1 das Generalregister, dessen Inhalt über die Operand-A-Leitungen OPA zugeführt wird und das Feld R 2 wählt das Generalregister, dessen Inhalt der Spezialfunktionseinheit über die Operand-B-Leitungen OPB zugeführt wird. Das Ergebnis der Operation der Spezialfunktionseinheit (SFU) wird auf die Datenspeicher- Datenschiene durchgeschleust und in dem durch das Feld R 3 bezeichneten Generalregister gespeichert. In diesen Befehlen kann das Feld MODE dazu verwendet werden, Operationen anzugeben, die gleichzeitig mit dem Inhalt des durch das Feld R 4 angegebenen Adressenregisters durchzuführen sind.In the extended operation set 5 , which is designated by the EXT OP code value 101, the OP CODE operation is carried out by the special function unit. The assignment of the sixteen binary combinations of the OP code in this extended operation set is exclusively a function of the special function unit used in connection with the microprocessor. When these commands are executed, the field R 1 selects the general register, the content of which is supplied via the operand A lines OPA , and the field R 2 selects the general register, the content of which is supplied to the special function unit via the operand B lines OPB . The result of the operation of the special function unit (SFU) is passed through to the data storage data rail and stored in the general register designated by the field R 3 . In these commands, the MODE field can be used to specify operations that are to be carried out simultaneously with the content of the address register specified by the R 4 field.

In dem erweiterten Operationssatz 6, der durch den Wert 110 des EXT-OP-Code bezeichnet wird, sind die durchgeführten Operationen ein Verkehr der Datenausführungseinheit mit der Befehlsabrufeinheit. Bei diesen Befehlen wird das MODE-Feld nicht zur Angabe simultaner Operationen verwendet und der ganze Datenspeicher, I/O-Geräte und Spezialfunktionseinheit-Verkehr wird gesperrt, da die Datenspeicher-Datenschiene als Verbindung zwischen den beiden Funktionseinheiten verwendet wird. Das Befehlsformat ist ein Dreiadressenbefehl, in dem die Felder R 1 und R 2 die Inhalte von Generalregistern als Operanden wählen, der OP-CODE die von der ALU 27 durchführende arithmetische Funktion angibt und das Feld R 4 ein Adressenregister als Bestimmungsort für das Resultat der ALU-Operation bezeichnet. Alternativ kann das Resultat der ALU 27 in einem durch das Feld R 1 bezeichneten Generalregister gespeichert werden, wenn die Felder R 1 und R 3 nicht gleich sind. Immer wenn das Adresssenregister 7 als Bestimmungsregister für das Ergebnis der Operation der ALU gewählt wird, tritt eine automatische Programmzählerstapeloperation (IPSTACK- Operation) ein. Der Programmzählerstapel wird (nach unten) verschoben und der Programmzählerwert +1 wird als Stapelwort A gespeichert. (Für eine Maschinenkonfiguration, die mit mehr als acht Bits in der Befehlsabrufeinheit arbeitet, wählt der OP CODE gewisse Operationen, die eine Bytespeicherung entweder in dem höchstrangigen oder dem niederstrangigen Byteplatz eines durch das Feld R 4 gewählten Adressenregisters bewirken.) Die Tabelle V enthält eine ins einzelne gehende funktionelle Beschreibung der sechzehn Operationen des erweiterten Operationssatzes 6.In the extended operation set 6 , which is denoted by the value 110 of the EXT-OP code, the operations performed are a traffic of the data execution unit with the instruction fetch unit. With these commands, the MODE field is not used to specify simultaneous operations and the entire data storage, I / O devices and special function unit traffic is blocked because the data storage data rail is used as a connection between the two functional units. The command format is a three-address command, in which the fields R 1 and R 2 select the contents of general registers as operands, the OP-CODE specifies the arithmetic function performed by the ALU 27 and the field R 4 an address register as a destination for the result of the ALU -Operation referred to. Alternatively, the result of the ALU 27 can be stored in a general register designated by the field R 1 if the fields R 1 and R 3 are not the same. Whenever the address register 7 is selected as the determination register for the result of the operation of the ALU , an automatic program counter batch operation (IPSTACK operation) occurs. The program counter stack is shifted (downwards) and the program counter value +1 is saved as stack word A. (For a machine configuration that works with more than eight bits in the instruction fetch unit, the OP CODE selects certain operations that cause byte storage in either the highest or the lower-order byte space of an address register selected by the R 4 field.) Table V contains one detailed functional description of the sixteen operations of extended operation set 6 .

Im erweiterten Operationssatz 7, der durch den EXT-OP-Code 111 bezeichnet wird, bewirken die Operationen eine Speicherung des Inhaltes von einem Adressenregister oder dem Befehlsprogrammzählerstapel in dem durch das Feld R 3 gewählten Generalregister oder unter Adressierung durch das Feld R 4 im Datenspeicher oder einem I/O-Gerät. (Die Information kann in Form ganzer Wörter gespeichert werden oder die höchstrangige Byte oder die niederstrangige Byte können getrennt gespeichert werden.).In the extended operation set 7 , which is designated by the EXT-OP code 111 , the operations cause the contents of an address register or the instruction program counter stack to be stored in the general register selected by the field R 3 or by addressing by the field R 4 in the data memory or an I / O device. (The information can be saved in the form of whole words, or the highest-order bytes or the low-order bytes can be saved separately.).

Es gibt ferner Befehle zum Beschicken des Programmzählerstapels vom Datenspeicher, einem I/O-Gerät oder einem durch das Feld R 2 bezeichneten Generalregister. Das durch das Feld R 4 bezeichnete Adressenregister gibt den Datenspeicherplatz oder das I/O-Gerät an, welches als Quelle für die zu speichernde Information verwendet werden soll. (Der Programmzählerstapel kann mit ganzen Wörtern beschickt werden oder die höchstrangige Byte oder die niederstrangige Byte können getrennt gespeichert werden.) In diesem erweiterten Operationssatz ist das Feld MODE mit allen seinen Steuerkombinationen unwirksam für alle Befehle. Die Befehle im erweiterten Operationssatz 7 (EXT OP 7) sind in der Tabelle VI im einzelnen angegeben.There are also instructions for loading the program counter stack from the data store, an I / O device or a general register designated by the field R 2 . The address register designated by the field R 4 indicates the data storage space or the I / O device which is to be used as the source for the information to be stored. (The program counter stack can be loaded with whole words or the highest-order bytes or the low-order bytes can be stored separately.) In this extended operation set, the MODE field with all its control combinations is ineffective for all commands. The commands in extended operation set 7 (EXT OP 7 ) are specified in Table VI in detail.

Bei den Befehlen der Klasse II werden im allgemeinen die sechzehn niederstelligsten Bits als laufender oder unmittelbarer Operand verwendet. In diesen Befehlen gibt das Feld R 1 entweder ein Generalregister, ein Adressenregister oder im Falle eines Verzweigungsbefehles eine Erweiterung des Operationscodes an. Diese Befehlsklasse enthält sechzehn Befehle mit speziellen Operationen, die durch das OP-CODE-Feld angegeben werden. Immer wenn das Adressenregister 7 als Bestimmungsort für das Resultat der Operation gewählt wird, tritt eine automatische Programmzählerstapeloperation ein. In diesen Fällen wird der Programmzählerstapel in Speicherrichtung verschoben und der Programmzähler wird um +1 weitergeschaltet und sein Inhalt als Stapelwort A gespeichert. Die Befehle der Klasse II sind in der Tabelle VII im einzelnen angegeben.Class II instructions generally use the sixteen least significant bits as the current or immediate operand. In these instructions, the field R 1 specifies either a general register, an address register or, in the case of a branch instruction, an extension of the operation code. This command class contains sixteen commands with special operations, which are specified by the OP-CODE field. Whenever the address register 7 is chosen as the destination for the result of the operation, an automatic program counter batch operation occurs. In these cases, the program counter stack is shifted in the storage direction and the program counter is incremented by +1 and its content is saved as stack word A. Class II commands are detailed in Table VII.

Das beschriebene Ausführungsbeispiel eines Mikroprozessors hat einen Befehlssatz und eine Schaltung, die sich besonders gut für eine Überlappung von Abruf- und Ausführungsoperationen eignet. Es ist besonders nützlich für Feldverarbeitungen. Die im einzelnen beschriebene Konstruktion läßt sich auf verschiedene Weise realisieren. Jede Funktionseinheit kann auf einem eigenen integrierten Schaltungsplättchen gebildet werden oder beide Einheiten können sich auf dem gleichen integrierten Schaltungsplättchen befinden. Der Vorteil der ersterwähnten Ausführungsform besteht darin, daß so viele integrierte Schaltkreise wie gewünscht hintereinandergeschaltet werden können, um eine Verarbeitung von Datenwörtern oder Befehlswörtern beliebiger Länge zu ermöglichen. Bei dem beschriebenen bevorzugten Ausführungsbeispiel war angenommen worden, daß die Datenwörter aus acht Bits und die Befehlswörter aus 24 Bits bestehen. Bei Verwendung von Datenwörtern mit sechzehn Bits kann man zwei Datenausführungseinheiten mit einer einzigen Befehlsabrufeinheit verwenden. Die Konstruktion ist hinsichtlich der Systemgröße anpassungsfähig.The described embodiment of a microprocessor has an instruction set and a circuit that works especially well for an overlap of on-demand and Execution operations are suitable. It is particularly useful for field processing. The construction described in detail can be different Realize wisely. Each functional unit can be integrated on its own Circuit boards are formed or both units can be on the same integrated circuit boards. The advantage of the first mentioned Embodiment is that so many integrated circuits can be cascaded as desired for processing of data words or command words of any length. In which described preferred embodiment had been assumed that the data words consist of eight bits and the command words consist of 24 bits. When using data words with sixteen bits, two data execution units can be used use with a single command fetch unit. The construction is adaptable in terms of system size.

Der im einzelnen beschriebene Befehlssatz oder -vorrat stellt nur eine von mehreren Möglichkeiten dar, die sich für die beschriebene Architektur eignen. Sowohl die Systeme als auch die Schaltungen, die zur Erläuterung des Konzepts und der Realisierung der Erfindung beschrieben wurden, lassen sich abwandeln. The set or set of instructions described in detail represents only one of several possibilities, which are for the described Architecture. Both the systems and the circuits used for explanation the concept and implementation of the invention have been described, can be modified.  

Tabelle I Table I

MODE-Zusatzsteuermöglichkeiten für Befehle der Klasse I Additional MODE control options for Class I commands

Tabelle II Table II

Befehle Klasse I Class I commands

Erweiterte Sätze 0 und 1 (EXT OP = 000 bzw. 001) Extended sentences 0 and 1 (EXT OP = 000 or 001)

Operationen Register-Register und arithmetisch I Operations register-register and arithmetic I

Tabelle III Table III

Befehle Klasse I Class I commands

Erweiterte Sätze 2 und 3 (EXT OP = 010 bzw. 011) Extended sentences 2 and 3 (EXT OP = 010 or 011)

Operationen Register-Register und arithmetisch II Operations register-register and arithmetic II

Tabelle IV Table IV

Befehle Klasse I Class I commands

Erweiterter Operationssatz 4 (EXT OP = 100) spezielle arithmetische Befehle Extended instruction set 4 (EXT OP = 100) special arithmetic instructions

Tabelle V Table V

Befehle Klasse I Class I commands

Erweiterter Operationssatz 6 (EXT OP = 110) Ausführungseinheit-Adresseneinheit-Befehle Extended operation set 6 (EXT OP = 110) execution unit address unit instructions

Tabelle VI Table VI

Befehle Klasse I Class I commands

Erweiterter Operationssatz 7 (EXT OP = 111) Adressierung-Ausführungseinheit-Befehle Extended operation set 7 (EXT OP = 111) addressing execution unit instructions

Tabelle VII Table VII

Befehle Klasse II Class II commands

Unmittelbare laufende Klasse Immediate running class

Claims (6)

Mikroprozessor für die Verwendung in einem System mit einem Programmspeicher und einem Datenspeicher, wobei jeder dieser Speicher eine Adressenleitung (114, 112) und eine Datenleitung (115, 113) enthält, und wobei der Mikroprozessor eine Datenausführungseinheit mit
  • a) einer Generalregisteranordnung (21) mit einem Zugriffseingang (PORT B, GR 2) zum Auslesen der Inhalte eines ausgewählten Registers der Generalregisteranordnung (21) und mit einem Eingang (PORT B, GR 3) zum Einschreiben der Inhalte in ein ausgewähltes Register der Generalregisteranordnung (21), wobei der Eingang (PORT B, GR 3) mit dem Datenspeicher verbunden ist,
  • b) einem Rechenwerk (27), das zum Empfang (über 219) von Operanden vom einen Zugriffseingang (PORT B, GR 2) der Generalregisteranordnung (21) geschaltet ist und in Abhängigkeit von diesem Operanden selektive Operationen zur Erzeugung von Ergebnissignalen an einem Ausgang ausführt,
  • c) ersten Schaltungen zum Übertragen der Ergebnissignale an die Datenleitung (115) des Datenspeichers und
  • d) einer Steueranordnung (25, 210) mit einer Befehlsregisteranordnung (210) zum Speichern des laufenden, gerade ausgeführten Befehls und mit einem Taktgeber (23) zur Erzeugung von Steuersignalen, die zur Steuerung der Auswahl der Register der Generalregisteranordnung (21) und zur Steuerung der Operation des Rechenwerkes (27) während der Ausführung des laufenden Befehls dienen, so daß Daten an der Datenleitung (115, 113) des Datenspeichers, die entweder vom Datenspeicher oder von dem Rechenwerk (27) stammen, in ein in der Generalregisteranordnung (21) ausgewählten Register während der Ausführung eines Befehls eingeschrieben werden können,
A microprocessor for use in a system having a program memory and a data memory, each of which memories includes an address line ( 114, 112 ) and a data line ( 115, 113 ), and wherein the microprocessor includes a data execution unit
  • a) a general register arrangement ( 21 ) with an access input (PORT B, GR 2 ) for reading out the contents of a selected register of the general register arrangement ( 21 ) and with an input (PORT B, GR 3 ) for writing the contents into a selected register of the general register arrangement ( 21 ), the input (PORT B, GR 3 ) being connected to the data memory,
  • b) an arithmetic unit ( 27 ) which is connected to receive (via 219 ) operands from an access input (PORT B, GR 2 ) of the general register arrangement ( 21 ) and, depending on this operand, carries out selective operations for generating result signals at an output ,
  • c) first circuits for transmitting the result signals to the data line ( 115 ) of the data memory and
  • d) a control arrangement ( 25, 210 ) with an instruction register arrangement ( 210 ) for storing the current, currently executed instruction and with a clock generator ( 23 ) for generating control signals for controlling the selection of the registers of the general register arrangement ( 21 ) and for control the operation of the arithmetic unit ( 27 ) during the execution of the current command, so that data on the data line ( 115, 113 ) of the data memory, which originate either from the data memory or from the arithmetic unit ( 27 ), into a in the general register arrangement ( 21 ) selected registers can be written during the execution of a command,
und eine Befehlsabrufeinheit mit
  • e) einer Adressenregisteranordnung (22) mit einem Zugriffseingang (IR 4) zum Auslesen der Inhalte eines ausgewählten Registers der Adressenregisteranordnung (22) und mit einem Eingang (IR 4) zum Einschreiben der Inhalte in ein ausgewähltes Register der Adressenregisteranordnung (22),
  • f) einer Befehlszähleranordnung (212) zum Speichern einer Programmspeicheradresse des als nächstes auszuführenden Befehls,
  • g) zweiten Schaltungen zum selektiven Verbinden der Befehlszähleranordnung (212) mit der Adressenleitung (112) des Programmspeichers in Übereinstimmung mit den Steuersignalen und
  • h) einem zusätzlichen Rechenwerk (211), das an einem Ausgang eine Modifikation einer an einen Eingang des zusätzlichen Rechenwerkes (211) angelegten Adresse erzeugt, wobei die Modifikation in Übereinstimmung mit den Steuersignalen erfolgt, und
  • i) dritten Schaltungen zum selektiven Verbinden des Zugriffseingangs (IR 4) der Adressenregisteranordnung (22) mit entweder der Adressenleitung (114) des Datenspeichers oder dem Eingang des zusätzlichen Rechenwerkes (211) in Übereinstimmung mit den Steuersignalen und zum selektiven Verbinden des Ausganges des zusätzlichen Rechenwerkes (211) mit dem Zugriffseingang (IR 4) der Adressenregisteranordnung (22) in Übereinstimmung mit den Steuersignalen, derart, daß während der Ausführung eines Befehls in der Datenausführungseinheit ein nächster Befehl von dem Programmspeicher durch die Befehlsabrufeinheit abgerufen werden kann, aufweist,
and a command fetch unit with
  • e) an address register arrangement ( 22 ) with an access input ( IR 4 ) for reading out the contents of a selected register of the address register arrangement ( 22 ) and with an input ( IR 4 ) for writing the contents into a selected register of the address register arrangement ( 22 ),
  • f) an instruction counter arrangement ( 212 ) for storing a program memory address of the instruction to be executed next,
  • g) second circuitry for selectively connecting the instruction counter arrangement ( 212 ) to the address line ( 112 ) of the program memory in accordance with the control signals and
  • h) an additional arithmetic unit (211) generates a modification of a voltage applied to an input of the additional arithmetic unit (211) address at an output, the modification in accordance with the control signals is done that, and
  • i) third circuits for selectively connecting the access input ( IR 4 ) of the address register arrangement ( 22 ) to either the address line ( 114 ) of the data memory or the input of the additional arithmetic unit ( 211 ) in accordance with the control signals and for selectively connecting the output of the additional arithmetic unit ( 211 ) with the access input ( IR 4 ) of the address register arrangement ( 22 ) in accordance with the control signals, such that during the execution of an instruction in the data execution unit, a next instruction can be called from the program memory by the instruction fetch unit,
dadurch gekennzeichnet, daß die Generalregisteranordnung (21) in der Datenausführungseinheit
  • j) einen zusätzlichen Zugriffseingang (GR 1) zum Auslesen der Inhalte aus einem ausgewählten Register der Generalregisteranordnung (21) und
  • k) einen zusätzlichen Eingang (GR 1) zum Einschreiben der Inhalte aus einem ausgewählten Register der Generalregisteranordnung (21) enthält,
characterized in that the general register arrangement ( 21 ) in the data execution unit
  • j) an additional access input ( GR 1 ) for reading out the contents from a selected register of the general register arrangement ( 21 ) and
  • k) contains an additional input ( GR 1 ) for writing the contents from a selected register of the general register arrangement ( 21 ),
daß die Generalregisteranordnung (21) gleichzeitig an den einem Zugriffseingang (GR 2) und dem zusätzlichen Zugriffseingang (GR 1) die Inhalte der beiden entsprechenden Register der Generalregisteranordnung (21) ausliest, die in Übereinstimmung mit den Steuersignalen ausgewählt wurden, und gleichzeitig von dem einen Eingang (GR 3) und den zusätzlichen Eingang (GR 1) die Inhalte von zwei entsprechenden Registern der Generalregisteranordnung (21) ausliest, die in Übereinstimmung mit den Steuersignalen ausgewählt wurden,
daß in der Datenausführungseinheit außerdem
  • l) vierte Schaltungen vorgesehen sind, die selektiv die Ergebnissignale von dem Ausgang des Rechenwerkes (27) zum zusätzlichen Eingang (GR 1) der Generalregisteranordnung (21) durchschalten,
    daß die Adressenregisteranordnung (22) in der Befehlsabrufeinheit außerdem
  • m) einen weiteren Zugriffseingang (ICA, ICB) zum Auslesen der Inhalte eines ausgewählten Registers der Adressenregisteranordnung (22) und
  • n) einen weiteren Eingang (IR 1) zum Einschreiben der Inhalte eines ausgewählten Registers der Adressenregisteranordnung enthält,
that the general register arrangement ( 21 ) at the one access input ( GR 2 ) and the additional access input ( GR 1 ) simultaneously reads the contents of the two corresponding registers of the general register arrangement ( 21 ) which have been selected in accordance with the control signals, and simultaneously from the one Input ( GR 3 ) and the additional input ( GR 1 ) read the contents of two corresponding registers of the general register arrangement ( 21 ), which were selected in accordance with the control signals,
that in the data execution unit as well
  • l) fourth circuits are provided which selectively switch the result signals from the output of the arithmetic unit ( 27 ) to the additional input ( GR 1 ) of the general register arrangement ( 21 ),
    that the address register array ( 22 ) in the instruction fetch unit also
  • m) a further access input (ICA, ICB) for reading out the contents of a selected register of the address register arrangement ( 22 ) and
  • n) contains a further input ( IR 1 ) for writing in the contents of a selected register in the address register arrangement,
daß die Adressenregisteranordnung (22) durch die Steueranordnung (25, 210) zum gleichzeitigen Auslesen der Inhalte von zwei entsprechenden Registern der Adressenregisteranordnung (22) an dem einen Zugriffseingang (IR 4) und an dem weiteren Zugriffseingang (ICA, ICB) in Übereinstimmung mit den Steuersignalen und zum gleichzeitigen Einschreiben der Inhalte von zwei entsprechenden Registern der Adressenregisteranordnung (22) von dem einen Eingang (IR 4) und von dem weiteren Eingang (IR 1) in Übereinstimmung mit den Steuersignalen gesteuert wird, und daß die Befehlabrufeinheit außerdem
  • o) fünfte Schaltungen zum selektiven Verbinden der Datenleitung (115) des Datenspeichers mit dem weiteren Eingang (IR 1) der Adressenregisteranordnung (22) in Übereinstimmung mit den Steuersignalen aufweist, so daß
that the address register arrangement ( 22 ) by the control arrangement ( 25, 210 ) for simultaneously reading out the contents of two corresponding registers of the address register arrangement ( 22 ) at one access input ( IR 4 ) and at the further access input (ICA, ICB) in accordance with the Control signals and for simultaneously writing the contents of two corresponding registers of the address register arrangement ( 22 ) is controlled by the one input ( IR 4 ) and by the further input ( IR 1 ) in accordance with the control signals, and that the command fetch unit also
  • o) fifth circuits for selectively connecting the data line ( 115 ) of the data memory to the further input ( IR 1 ) of the address register arrangement ( 22 ) in accordance with the control signals, so that
beispielsweise in der Datenausführungseinheit während der Ausführung eines Befehls von den Ausgängen der Generalregisteranordnung (21) ausgelesene Datenwerte gleichzeitig an die Datenleitung (115) des Datenspeichers und an einem Eingang des Rechenwerkes (27) anlegbar sind und daß an der Datenleitung (115) des Datenspeichers und an dem Ausgang des Rechenwerkes (27) erscheinende Datenwerte gleichzeitig über den einen und den zusätzlichen Eingang in entsprechende Register der Generalregisteranordnung (21) eingeschrieben werden können, und
beispielsweise in der Befehlsabrufeinheit während der Ausführung eines Befehles von dem einen Zugriffseingang (IR 4) und dem weiteren Zugriffseingang (ICA, ICB) der Adressenregisteranordnung (22) ausgelesene Adressen gleichzeitig an die Adressenleitung (114) des Datenspeichers und an den Eingang des zusätzlichen Rechenwerkes (211) anlegbar sind und an der Datenleitung (115) des Datenspeichers und an dem Ausgang des Rechenwerkes (211) erscheinende Adressen gleichzeitig über den einen Eingang (IR 4) und den weiteren Eingang (IR 1) in entsprechende Register der Adressenregisteranordnung (22) eingeschrieben werden können.
For example, data values read from the outputs of the general register arrangement ( 21 ) in the data execution unit during the execution of a command can be applied simultaneously to the data line ( 115 ) of the data memory and to an input of the arithmetic unit ( 27 ) and that to the data line ( 115 ) of the data memory and data values appearing at the output of the arithmetic unit ( 27 ) can be written into the corresponding register of the general register arrangement ( 21 ) simultaneously via the one and the additional input, and
For example, in the command fetch unit during the execution of a command from the one access input ( IR 4 ) and the further access input (ICA, ICB) of the address register arrangement ( 22 ), addresses read simultaneously to the address line ( 114 ) of the data memory and to the input of the additional arithmetic unit ( 211 ) can be created and addresses appearing on the data line ( 115 ) of the data memory and at the output of the arithmetic unit ( 211 ) are simultaneously written into corresponding registers of the address register arrangement ( 22 ) via the one input ( IR 4 ) and the further input ( IR 1 ) can be.
DE19772755273 1976-12-13 1977-12-12 MICROPROCESSOR Granted DE2755273A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/749,994 US4079455A (en) 1976-12-13 1976-12-13 Microprocessor architecture

Publications (2)

Publication Number Publication Date
DE2755273A1 DE2755273A1 (en) 1978-06-15
DE2755273C2 true DE2755273C2 (en) 1987-09-03

Family

ID=25016084

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772755273 Granted DE2755273A1 (en) 1976-12-13 1977-12-12 MICROPROCESSOR

Country Status (7)

Country Link
US (1) US4079455A (en)
JP (1) JPS5374858A (en)
DE (1) DE2755273A1 (en)
FR (1) FR2373828A1 (en)
GB (1) GB1590028A (en)
IT (1) IT1088703B (en)
SE (1) SE425527B (en)

Families Citing this family (55)

* 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
DE2951405A1 (en) * 1978-04-21 1981-01-15 Ncr Co A computer system having enhancement circuitry for memory accessing
US4255785A (en) * 1978-09-25 1981-03-10 Motorola, Inc. Microprocessor having instruction fetch and execution overlap
US4217657A (en) * 1978-10-18 1980-08-12 Honeywell Inc. Floating point arithmetic control
US4298927A (en) * 1978-10-23 1981-11-03 International Business Machines Corporation Computer instruction prefetch circuit
US4316244A (en) * 1978-11-08 1982-02-16 Data General Corporation Memory apparatus for digital computer system
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4296470A (en) * 1979-06-21 1981-10-20 International Business Machines Corp. Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system
US4279016A (en) * 1979-06-21 1981-07-14 International Business Machines Corporation Instruction pre-fetch microprocessor interrupt system
US4306286A (en) * 1979-06-29 1981-12-15 International Business Machines Corporation Logic simulation machine
US4367524A (en) * 1980-02-07 1983-01-04 Intel Corporation Microinstruction execution unit for use in a microprocessor
US4412283A (en) * 1980-05-30 1983-10-25 Fairchild Camera & Instrument Corp. High performance microprocessor system
US4434461A (en) 1980-09-15 1984-02-28 Motorola, Inc. Microprocessor with duplicate registers for processing interrupts
US4486624A (en) * 1980-09-15 1984-12-04 Motorola, Inc. Microprocessor controlled radiotelephone transceiver
US4390963A (en) * 1980-09-15 1983-06-28 Motorola, Inc. Interface adapter architecture
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 (en) * 1983-02-18 1984-08-30 Nixdorf Computer Ag CIRCUIT FOR THE INTERMEDIATE STORAGE OF COMMAND WORDS
US4737933A (en) * 1983-02-22 1988-04-12 Storage Technology Partners CMOS multiport general purpose register
EP0150177A1 (en) * 1983-07-11 1985-08-07 Prime Computer, Inc. Data processing system
US4575793A (en) * 1983-08-19 1986-03-11 Cxi, Inc. Personal-computer to 3270 system interfacing apparatus
EP0136218A3 (en) * 1983-08-29 1988-04-20 FAIRCHILD CAMERA &amp; INSTRUMENT CORPORATION Multiple port pipelined processor
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 (en) * 1983-12-23 1985-08-16 Nec Corp Memory access controlling device
JPS61115153A (en) * 1984-11-09 1986-06-02 Hitachi Ltd Data processor
JPH0776917B2 (en) * 1984-12-29 1995-08-16 ソニー株式会社 Micro computer
JPS6347833A (en) * 1986-08-15 1988-02-29 Nec Corp Microcomputer
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
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
US6108763A (en) * 1986-09-18 2000-08-22 Grondalski; Robert S. Simultaneous parity generating/reading circuit for massively parallel processing systems
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
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 (en) * 1987-05-18 1988-11-22 Fanuc Ltd Processor control system
EP0293517B1 (en) * 1987-06-02 1992-11-25 Deutsche ITT Industries GmbH Control processor
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 (en) * 1988-11-04 1995-10-11 富士通株式会社 Instruction code decoding device
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 (en) * 1994-10-07 1996-04-30 Ricoh Co Ltd Dma controller and facsimile equipment
US5802359A (en) * 1995-03-31 1998-09-01 International Business Machines Corporation Mapping processor state into a millicode addressable processor state register array
JP3211750B2 (en) * 1997-02-27 2001-09-25 株式会社デンソー Information processing apparatus and pipeline processing method
US7493607B2 (en) * 2002-07-09 2009-02-17 Bluerisc Inc. Statically speculative compilation and execution
US20050114850A1 (en) 2003-10-29 2005-05-26 Saurabh Chheda Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US7996671B2 (en) * 2003-11-17 2011-08-09 Bluerisc Inc. Security of program executables and microprocessors based on compiler-architecture interaction
US8607209B2 (en) 2004-02-04 2013-12-10 Bluerisc Inc. Energy-focused compiler-assisted branch prediction
US20070294181A1 (en) * 2006-05-22 2007-12-20 Saurabh Chheda Flexible digital rights management with secure snippets
US20080126766A1 (en) 2006-11-03 2008-05-29 Saurabh Chheda Securing microprocessors against information leakage and physical tampering
US20080154379A1 (en) * 2006-12-22 2008-06-26 Musculoskeletal Transplant Foundation Interbody fusion hybrid graft

Family Cites Families (10)

* 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
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 (en) * 1973-08-10 1975-02-12 Data General Corp SYSTEM FOR PROCESSING DATA.
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

Also Published As

Publication number Publication date
FR2373828A1 (en) 1978-07-07
US4079455A (en) 1978-03-14
DE2755273A1 (en) 1978-06-15
GB1590028A (en) 1981-05-28
JPS5374858A (en) 1978-07-03
IT1088703B (en) 1985-06-10
SE425527B (en) 1982-10-04
FR2373828B1 (en) 1981-11-20
SE7713451L (en) 1978-06-14

Similar Documents

Publication Publication Date Title
DE2755273C2 (en)
DE2907181C2 (en) Processor with an instruction set modifier register
DE1499722C2 (en) Device for modifying information words
DE4010119C2 (en) Arrangement and method for rearranging a memory format in a microprocessor
EP0097725B1 (en) Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions
DE2935906C2 (en) microprocessor
DE2524046C2 (en) Electronic data processing system
DE2117936A1 (en) Microprogram-controlled central unit of an electronic data processing system
DE1549523B2 (en) DATA PROCESSING SYSTEM
DE2019444A1 (en) Data processing system
DE69732793T2 (en) EIGHT-BIT MICRO-CONTROLLER WITH RISC ARCHITECTURE
EP0010185A1 (en) Virtual-addressing device for a computer
DE2364865A1 (en) EXPANDED MEMORY ADDRESS FORMATION SYSTEM OF A DIGITAL COMPUTER SYSTEM
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE2725614C2 (en)
DE2747304C3 (en) Micro-command control device
DE2854400A1 (en) ARRANGEMENT FOR CHANGING BETWEEN TOOTHED PROGRAMS TO BE PROCESSED
DE2336676A1 (en) DEVICE FOR MODIFYING MICRO-PROGRAM COMMANDS
DE2835110A1 (en) FAST REAL-TIME COMPUTER EMULATOR
DE1806464A1 (en) Address generator for a digital computer
DE2622140C3 (en) Device for controlling manual operations
DE3134057A1 (en) DATA PROCESSING SYSTEM
DE2150292C2 (en) Microprogram-controlled data processing system with superimposed execution and extraction of commands
DE1524211A1 (en) Data processing system
DE2502005C2 (en) Circuit arrangement for assigning addresses to operations for the purpose of executing commands in a data processing device

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