DE2951405A1 - A computer system having enhancement circuitry for memory accessing - Google Patents

A computer system having enhancement circuitry for memory accessing

Info

Publication number
DE2951405A1
DE2951405A1 DE792951405A DE2951405A DE2951405A1 DE 2951405 A1 DE2951405 A1 DE 2951405A1 DE 792951405 A DE792951405 A DE 792951405A DE 2951405 A DE2951405 A DE 2951405A DE 2951405 A1 DE2951405 A1 DE 2951405A1
Authority
DE
Germany
Prior art keywords
data
register
address
memory
circuit
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.)
Pending
Application number
DE792951405A
Other languages
German (de)
Inventor
P Jeffs
N Patel
J Roberts
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.)
NCR Voyix Corp
Original Assignee
NCR 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 NCR Corp filed Critical NCR Corp
Publication of DE2951405A1 publication Critical patent/DE2951405A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

295H05295H05

DlPL-ING. KURT KAHLER Augsburg, den 14.12.1979DlPL-ING. KURT KAHLER Augsburg, December 14th, 1979

Ulmer Straße 160 PATENTANWALT Te| (0821} 405.82 55Ulmer Straße 160 PATENT ADVERTISER Te | (0821} 405th 82 55

FS über 053749FS via 053749

zugelassener Vertreter beim Europäischen Patentamtprofessional representative at the European Patent Office

Mein Zeichen: Case 2588/PCT-GER Generalvollmacht Nr. 26/69My reference: Case 2588 / PCT-GER General Power of Attorney No. 26/69

Internationale Patentanmeldung PCT/ÜS79/OO228 Anmelderin: NCR Corporation, Dayton, Ohio, U.S.A. übersetzung der Internationalen Patentanmeldung International patent application PCT / ÜS79 / OO228 Applicant: NCR Corporation, Dayton, Ohio, USA Translation of the international patent application

EIN RECHNERSYSTEM MIT EINER BESCHLEÜNIGUNGSSCHALTUNG FÜR SPEICHERZUGRIFFA COMPUTER SYSTEM WITH AN ACCELERATION CIRCUIT FOR MEMORY ACCESS

Technisches GebietTechnical area

Diese Erfindung betrifft ein Rechnersystem von der Art, welches eine Vielzahl von Speicherstellen besitzt, welche jeweils ein Datenwort speichern und denen eine Adresse zugeordnet ist, sowie eine Verarbeitungseinheit, die ein Mikroprozessor sein kann, zur Verarbeitung einer vorbestimmten maximalen Anzahl von Bits zu einem Zeitpunkt.This invention relates to a computer system of the type having a plurality of storage locations which each store a data word and to which an address is assigned, as well as a processing unit, which may be a microprocessor for processing a predetermined maximum number of bits at a time.

Technischer HintergrundTechnical background

In einem typischen Rechnersystem der spezifizierten Art greift die Verarbeitungseinheit oder der Mikroprozessor häufig unter Herausholen von Befehlen, Herausholen von gemäß derartigen Befehlen zu verarbeitenden Daten und unter Zurückbringen der verarbeiteten Daten auf den Rechnerhauptspeicher zu. Ein Großteil der Prozessorzeit wird im allgemeinen dazu benötigt, einen vollständigen Zugriff oder eine vollständige übertragung von Instruktionen und Daten zwischen dem Hauptspeicher und der Verarbeitungseinheit zu bewirken, insbesondereIn a typical computer system of the type specified, the processing unit or the microprocessor intervenes often with fetching instructions, fetching data to be processed according to such instructions, and bringing back of the processed data to the main computer memory. Much of the processor time generally goes into this requires full access or full transfer of instructions and data between main memory and to effect the processing unit, in particular

030606/0018030606/0018

295H05295H05

in Fällen, wo der Speicher Datenwörter speichert, von denen jedes eine größere Anzahl von Bits besitzt als die Anzahl von Bits, welche von dem Prozessor zu einem Zeitpunkt verarbeitet werden können, oder, wo die den Speicherstellen zugeordneten Adressen jeweils eine größere Anzahl von Bits besitzt als die Anzahl von Bits, welche zu einem Zeitpunkt durch den Prozessor verarbeitet werden können.in cases where the memory stores data words each having a greater number of bits than that Number of bits that can be processed by the processor at a time, or where the memory locations are assigned addresses each has a greater number of bits than the number of bits that belong to a Time can be processed by the processor.

Kann beispielsweise ein Mikroprozessor nur Datenoperanden empfangen und verarbeiten, die 16 Bits (z.B. 2 Bytes) lang sind und ist in dem Hauptspeicher des Rechnersystems eine Datenwortadresse durch 24 Bits (3 Bytes) spezifiziert und haben die Dätenwörter jeweils eine Länge von 32 Bits (4 Bytes), dann kann der Mikroprozessor in einem Verarbeitungszyklus nicht ein ganzes Datenwort herausholen oder verarbeiten.For example, can a microprocessor only receive and process data operands containing 16 bits (e.g. 2 bytes) and is a data word address in the main memory of the computer system with 24 bits (3 bytes) specified and the data words each have a length of 32 bits (4 bytes), then the microprocessor can in not extract or process an entire data word in a processing cycle.

Die obigen Operationen eines typischen Mikroprozessors des Herausholens und Einspeicherns von Daten in einem Speicher, so wie viele andere von dem Mikroprozessor durchgeführte Operationen werden durch Mikrobefehle gesteuert,welche in einem Steuerspeicher des Mikroprozessors gespeichert sind. Eine vollständige Durchführung von einfachen Heraushol- oder Speichermikrobefehlen erfordert häufig, daß der Mikroprozessor mehrere Prozessorzyklen zur Adressierung, Herausholurig und Speicherung von Daten verwendet. Die Verwendung vieler Prozessorzyklen zur Durchführung einfacher, jedoch häufiger Prozessoroperationen reduziert die Geschwindigkeit und die Leistungsfähigkeit des Mikroprozessors. Soll ein Operand mit einem anderen verarbeitet werden und beginnen die Operanden an unterschiedlichen Bit-Stellen innerhalb der herausgeholten Datenwörter, dann muß der Mikroprozessor auch eine geeignete Ausrichtung der Daten vornehmen. Sind Operanden länger als ein einziges Datenwort im Speicher, dann mußThe above operations of a typical microprocessor of fetching and storing data in a memory, like many other operations performed by the microprocessor, are performed by microinstructions controlled which in a control memory of the microprocessor are stored. Requires full execution of simple fetch or save microinstructions often that the microprocessor has several processor cycles used for addressing, retrieving and storing data. The use of many processor cycles performing simple but frequent processor operations reduces speed and performance of the microprocessor. If one operand is to be processed with another, the operands begin at different bit positions within the fetched data words, then the microprocessor must also have one make appropriate alignment of data. If operands are longer than a single data word in memory, then must

030606/0018030606/0018

der Mikroprozessor die Anzahl der herausgeholten Bits laufend registrieren und sie mit der Anzahl der Bits in dem Operanden vergleichen, so daß der Mikroprozessor in der Lage ist zu bestimmen, wenn er auf genügend Datenbits aus dem Speicher zugegriffen hat. Diese Probleme werden insbesondere akut, wenn dezimale Rechenoperationen von dem Mikroprozessor durchzuführen sind und viele Mikrobefehle und zahlreiche Heraushol- und Speichervorgänge sind erforderlich, um jede Operation vollständig durchzuführen. the microprocessor continuously register the number of bits fetched and match them with the number of bits in Compare the operand so that the microprocessor is able to determine when it has enough data bits accessed from memory. These problems become particularly acute when performing decimal arithmetic operations to be performed by the microprocessor and many microinstructions and numerous fetch and store operations are required to fully perform each operation.

Offenbarung der ErfindungDisclosure of the invention

Es ist eine Aufgabe der vorliegenden Erfindung, ein Rechnersystem zu schaffen, bei dem die vorstehend diskutierten Probleme erleichtert werden.It is an object of the present invention to provide a computer system in which the above discussed problems are facilitated.

Gemäß der Erfindung ist ein Rechnersystem von der Art vorgesehen, welches einen Speicher mit einer Vielzahl von Speicherstellen besitzt, wobei jede Speicherstelle ein Datenwort speichern kann und eine Adresse zugeordnet hat, sowie einen Prozessor (Verarbeitungseinheit) zum Verarbeiten einer vorbestimmten maximalen Anzahl von Bits zu einem Zeitpunkt, wobei die genannte vorbestimmte maximale Anzahl geringer ist als die Anzahl der Bits zumindest eines Datenwortes oder der ihm zugeordneten Adresse, gekennzeichnet durch eine außerhalb des genannten Prozessors angeordnete und auf den genannten Prozessor ansprechende Beschleunigungs (oder Steigerungs) -schaltung, welche Beschleunigungsschaltung Adressenregistervorrichtungen zum Speichern der Adresse einer Speicherstelle und Datenregistervorrichtungen zum Speichern eines aus dem genannten Speicher herauszuholenden oder dahin zu speichernden Datenwortes besitzt, wobei der Prozessor derart ausgestaltet ist, daß er ein Datenwort in dem genannten Speicher durch Laden einer Adresse in die genannten AdressenregistervorrichtungenIn accordance with the invention there is provided a computer system of the type which includes a memory having a plurality of of memory locations, each memory location being able to store a data word and being assigned an address and a processor (processing unit) for processing a predetermined maximum number of bits a point in time, said predetermined maximum number being less than the number of bits at least of a data word or the address assigned to it, characterized by an address outside of said processor arranged and responsive to said processor acceleration (or acceleration) circuit, which Speed-up circuit address register devices for storing the address of a memory location and data register means for storing any of the foregoing Has memory to be fetched or to be stored data word, the processor being designed in such a way that he finds a data word in said memory by loading an address into said address register means

030606/0018030606/0018

295H05295H05

herausholt und ferner derart, daß er ein Einspeichern eines Datenwortes in die genannten Speichervorrichtungen durch Laden einer Adresse in die genannten Adressenregistervorrichtungen und eines Dätenwortes in die genannten Datenregistervorrichtungen durchführt.retrieves and also in such a way that it enables a data word to be stored in said memory devices by loading an address into said address register devices and a data word into said means Performs data register devices.

Es ist zu erkennen, daß in einem Rechnersystem gemäß dem unmittelbar vorangehenden Absatz die Verwendung einer Beschleunigungsschalturig viel von der Prozessorzeit eliminiert, welche sonst für Heraushol- und Speicheroperationen erforderlich wäre. Während die Beschleunigungsschaltung das Herausholen oder Speichern von Datenwörtern im Speicher durchführt, ist der Prozessor frei mit anderen Operationen weiterzufahren. Die Beschleuriigungsschaltung erhöht somit die Geschwindigkeit des Prozessors dadurch daß sie selbst gewisse Prozessoroperationen durchführt und dadurch daß sie dem Prozessor ermöglicht, andere Operationen durchzuführen während der Speicher angesprochen wird; sie ermöglicht es auch, den Prozessor effizient mit einem Speicher zu verwenden, der Adressen und Datenwörter besitzt, welche eine wesentlich größere Länge haben als dasjenige, welches der Prozessor zu einem Zeitpunkt empfangen kann.It can be seen that in a computer system according to the immediately preceding paragraph the use an acceleration switch eliminates much of the processor time that would otherwise be spent on fetch and save operations would be required. While the speed-up circuit is retrieving or storing data words in memory, the processor is free to continue with other operations. The acceleration circuit thus increases the speed of the processor in that it carries out certain processor operations itself and in that it enables the processor to perform other operations while the memory is being accessed will; it also allows the processor to be used efficiently with a memory that stores addresses and data words which have a much greater length than that which the processor at a point in time can receive.

Gemäß einem Gesichtspunkt der vorliegenden Erfindung besitzt die Beschleunigurigsschaltung eines Rechnersystems gemäß dem vorletzten der vorangegangenen Absätze arithmetisch^logische Vorrichtungen. Derartige Vorrichtungen können gewisse Prozessoroperationen off-line zum Prozessor durchführen. Das Ergebnis ist, daß die Anzahl von durch das Rechnersystem durchführbaren Prozessoroperationen erhöht wird und daß die Daten innerhalb des Speichers durch die Beschleunigungsschaltung heraufgeholt und verarbeitet werden können während der Prozessor mit anderen Operationen weiterfahren kann.According to one aspect of the present invention has the accelerator circuit of a computer system according to the penultimate of the previous paragraphs arithmetic ^ logical devices. Such devices can perform certain processor operations off-line to the processor. The result is that number of processor operations that can be carried out by the computer system is increased and that the data within the memory is fetched up by the speed-up circuit and can be processed while the processor can continue with other operations.

030608/0018030608/0018

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Eine Ausführungsform der Erfindung wird nun beispielsweise unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:One embodiment of the invention will now be for example, with reference to the accompanying drawings, in which:

Fig. 1 ein vereinfachtes Blockschaltbild eines Rechnersysteins ist, welches die Beschleunigungsschaltung gemäß der vorliegenden Erfindung besitzt;Fig. 1 is a simplified block diagram of a computer system incorporating the speed-up circuit according to the present invention;

Fig. 2A und 2B zusammen ein detailliertes Schaltdiagramm eines Teils des Systems nach Fig. 1 bilden, wobei insbesondere die Beschleunigurigsschaltung gezeigt wird;Figures 2A and 2B together form a detailed circuit diagram of part of the system of Figure 1; wherein in particular the accelerator circuit is shown;

Fig. 3 ein Diagramm ist, welches den Inhalt eines Adressenregisters innerhalb der in den Fig. 2A und 2B veranschaulichten Beschleunigungsschaltung wiedergibt.Fig. 3 is a diagram illustrating the contents of an address register within that illustrated in Figs. 2A and 2B Accelerating circuit reproduces.

Die beste Art, die Erfindung auszuführenThe best way to carry out the invention

Es wird nun auf Fig. 1 Bezug genommen, in der gezeigt ist, daß das Rechnersystem 10 einen Mikroprozessor 12, einen Hauptspeicher 14, periphere Untersysteme 16, eine systeminterne Übertragungs-Sammelleitung 18 zur Verbindung des Mikroprozessors 12 mit dem Hauptspeicher und eine mikroprozessor-externe Schnittstellen-Sammelleitung 20 besitzt, welche den Mikroprozessor 12 mit den peripheren Subsystemen 16 verbindet.Referring now to Figure 1, the computer system 10 is shown to be a microprocessor 12, a main memory 14, peripheral subsystems 16, an intra-system communication bus 18 for connecting the microprocessor 12 to main memory and a microprocessor-external interface bus 20 which connects the microprocessor 12 with the peripheral Subsystems 16 connects.

Wie üblich besitzt der Mikroprozessor 12 eine arithmetische Lögikeinheit (ALU) 26, eine Gruppe interner Register 28, eine Steuereinheit 30 und einen Steuerspeicher 32. Der Hauptspeicher 14 kann ein üblicher Halbleiter- oder Kernspeicher sein, welcher Daten und Programme speichert, welche durch den Mikroprozessor 12 verwendet werden sollen.As usual, the microprocessor 12 has an arithmetic logic unit (ALU) 26, a group of internal ones Register 28, a control unit 30 and a control memory 32. The main memory 14 can be a conventional semiconductor or Be core memory which stores data and programs to be used by microprocessor 12.

030606/0 018030606/0 018

295H05295H05

Die peripheren Subsysteme 16 beinhalten Vorrichtungen wie Kartenleser, Disketteneinheiten, Rechnerbediener-Steuerpulte und -feider, Drucker und ähnliches, welche gewöhnlich durch den Mikroprozessor 12 gesteuert werden.The peripheral subsystems 16 include devices such as Card readers, floppy disk units, computer operator controllers and fields, printers and the like, which are common can be controlled by the microprocessor 12.

Die die verschiedenen Einheiten des Rechnersystems verbindenden Leitungen sind nur Datenleitungen. Wie den Fachleuten klar sein sollte, verbinden auch zahlreiche (nicht gezeigte) Steuerleitungen die veranschaulichten Einheiten, wobei die von den Steuerleitungen geführten Signale die Einheiten aktivieren und eine Synchronisation der Einheiten gewährleisten.The lines connecting the various units of the computer system are only data lines. Like that As should be apparent to those skilled in the art, numerous control lines (not shown) also connect the illustrated Units, the signals carried by the control lines activate the units and a synchronization of the units.

Im Normalbetrieb wird auf ein in dem Hauptspeicher 14 gespeichertes und eine Gruppe von Software-Befehlen einer höheren Ebene oder Makrobefehlen beinhaltendes Programm vom Mikroprozessor 12 zugegriffen und zwar auf einen Makrobefehl zu einem Zeitpunkt. Der Mikroprozessor 12 empfängt jeden Makrobefehl und wählt abhängig davon ein Mikroprogramm oder eine Subroutine innerhalb des Steuerspeichers 32 des Mikroprozessors 12 aus, welches Mikroprogramm jenem Makrobefehl entspricht und aus einer Gruppe von Mikrobefehlen besteht. Die Mikrobefehle sind grundlegende Befehle oder Befehle in Maschinensprache. Der Rechner arbeitet gemäß derartigen Befehlen in Maschinensprache, um den Programm-Makrobefehl durchzuführen. Die Steuereinheit 30 erzeugt die erforderlichen Steuersignale, um den Datenfluß innerhalb und außerhalb des Mikroprozessors zu regeln. Die ALU 26 führt alle notwendigen arithmetischen oder logischen Operationen mit den Daten durch und die internen Register 28 speichern zeitweilig Daten vor oder nach deren Bearbeitung durch die ALU 26.In normal operation, a group of software commands stored in the main memory 14 and a group a higher level program or program containing macroinstructions are accessed by the microprocessor 12, namely one Macro command at a time. The microprocessor 12 receives each macro command and dials in dependent thereon Microprogram or a subroutine within the control memory 32 of the microprocessor 12 from which microprogram corresponds to that macro instruction and consists of a group of micro instructions. The micro instructions are basic commands or machine language commands. The computer works according to such commands in machine language, to execute the program macro command. The control unit 30 generates the necessary control signals to control the flow of data inside and outside the Microprocessor to regulate. The ALU 26 carries out all the necessary arithmetic or logical operations the data by and the internal registers 28 temporarily store data before or after their processing by the ALU 26.

308 06/0018308 06/0018

235H05 -/r-8- 235H05 - / r-8-

Das bis jetzt beschriebene Rechnersystem ist bekannt .The computer system described so far is known .

Gemäß der vorliegenden Erfindung ist die Beschleunigungsschaltung 42 in dem Rechnersystem 10 eingeschlossen und mit dem Mikroprozessor 12 verbunden sowie zwischen die mikroprozessor-externe Schnittstellen-Sammelleitung 20 und die interne Übertragungs-Sammelleitung 18 geschaltet.In accordance with the present invention, the speed-up circuit 42 is included in the computer system 10 and connected to the microprocessor 12 and between the Microprocessor-external interface manifold 20 and the internal transmission manifold 18 switched.

Es wird nun auch auf die Fig. 2A und 2B Bezug genommen, welche zeigen, daß die Beschleunigungsschaltung 4 2 auch zehn Registerschaltungen besitzt, nämlich ein Adressenregister 50, ein A-Operanden-Datenregister 52, ein B-Operanden-Adressenregister 54, ein B-Operanden-Datenregister 56, ein C-Operanden-Adressenregister 58, ein C-Operanden-Datenregister 60, ein "Nächster-Befehl"-Adressenregister 62, ein "Nächster-Befehl"-Datenregister 64, ein Eingangs*·/Ausgangs--(I/O) -Speicher-Adressenregister 66 und ein Eingangs^-/Ausgangs-Speicher-Datenregister 68.Reference is now also made to FIGS. 2A and 2B, which show that the speed-up circuit 4 2 also has ten register circuits, namely an address register 50, an A operand data register 52, a B operand address register 54, a B operand data register 56, a C operand address register 58, a C operand data register 60, a "next instruction" address register 62, a "next command" data register 64, an input * · / output (I / O) memory address register 66 and an input / output memory data register 68.

Jedes der Register 50, 52, 54, 56, 58, 60, 62, 64, 66 und 68 ist zwischen die Sammelleitungen 18 und 20 geschaltet. Die Register sind in Paaren gruppiert, wobei ein Register jedes Paares (Register 52, 56, 60, 64 und 68) Datenbits speichert und das andere Register jedes Paares (Register 50, 54, 58, 62 und 66) Adressenbits.Each of the registers 50, 52, 54, 56, 58, 60, 62, 64, 66 and 68 are connected between the buses 18 and 20. The registers are grouped in pairs, with one register of each pair (registers 52, 56, 60, 64 and 68) Stores data bits and the other register of each pair (registers 50, 54, 58, 62 and 66) stores address bits.

Das A-Operanden-Adressenregister. 50 und das B-Operanden-Adressenregister 54 können eine 24-Bit-Adresse einer Speicherstelle in dem Hauptspeicher 14 empfangen, aus der ein Datenwort herauszuholen ist. Wurde das Datenwort herausgeholt, dann wird es in dem 23-Bit-A-Operanden-Datenregister 52 oder dem 32-Bit-B-Operanden-Datenregister 56 gespeichert.The A operand address register. 50 and the B operand address register 54 can receive a 24-bit address of a memory location in the main memory 14, from which a data word is to be extracted. If the data word was fetched, then it is in the 23-bit A-operand data register 52 or the 32-bit B-operand data register 56.

0 30606/00180 30606/0018

Das C-Operanden-Adressenregister 58 ist ein 24-Bit-Register zum Empfang der Adresse einer Speicherstelle in dem Hauptspeicher 14 zur Einspeicherung eines Datenwortes. Das in dem Hauptspeicher 14 zu speichernde Datenwort ist ein 32-Bit-Datenwort, welches in dem C-Operanden-Datenregister 60 gehalten wird.The C operand address register 58 is a 24-bit register for receiving the address of a memory location in the main memory 14 for storing a data word. The data word to be stored in the main memory 14 is a 32-bit data word which is in the C operand data register 60 is held.

Das "Nächster-Befehl"-Adressenregister 62 ist ein 24-Bit-Register, welches eine Adresse hält, die die Speicherstelle des nächsten Softwarebefehls angibt, welche von dem Mikroprozessor 12 verwendet werden soll. Das "Nächste-Befehl"-Adressenregister 62 wird vom Mikroprozessor 12 mit einer Adresse geladen, wobei der an dieser Adresse befindliche Befehl automatisch herausgeholt und in dem "Nächster-Befehl"-Datenregister 64 gespeichert wird.The "next command" address register 62 is a 24-bit register that holds an address indicating the storage location of the next software command indicates which microprocessor 12 is to use. The "next command" address register 62 is loaded by the microprocessor 12 with an address, the one at that address Command is automatically fetched and stored in the "next command" data register 64.

Das I/O-Speicheradressenregister 66 spezifiziert auch eine 24-Bit-Adresse in dem Speicher 14. Sowohl das I/O-Speicheradressenregister 66 als auch das I/O-Speicherdatenregister 68 werden vom Mikroprozessor abhängig von durch den Mikroprozessor von einer Vorrichtung innerhalb der peripheren Subsysteme 16 zum Beispiel einem Kartenleser empfangenen Daten geladen. Wenn das I/O-Speicherdatenregister 68 mit einem Datenwort geladen ist, dann wird das Datenwort an den Speicher geliefert und an der durch das I/O-Speicheradressenregister 66 angegebenen Stelle gespeichert.The I / O memory address register 66 specifies also a 24-bit address in memory 14. Both the I / O memory address register 66 and the I / O memory data register 68 are dependent on by the microprocessor from a device within of the peripheral subsystems 16, for example, a card reader is loaded. When the I / O memory data register 68 is loaded with a data word, then the data word is delivered to the memory and to that through the I / O memory address register 66 is saved.

Die Datenregister in der Beschleunigungsschaltung 42 können ein vollständiges Datenwort speichern, welches aus dem Hauptspeicher 14 herausgeholt wurde (wobei jede Speicherstelle ein 32-Bit-Datenwort speichert) oder welches Wort in einer Speicherstelle des Hauptspeichers 14 zu speichern ist. Die Beschleunigungsschaltung 14 wird besonders dann verwendet, wenn der Prozessor weniger als ein Datenwort zu einem Zeitpunkt empfangen kann und bei dem offenbarten Ausführungsbeispiel empfängt der Mikroprozessor 12 16 Bits an seinem Eingang während jedes Prozessorzyklus.The data registers in the speed-up circuit 42 can store a complete data word, which was fetched from main memory 14 (each memory location storing a 32-bit data word) or which Word is to be stored in a memory location in main memory 14. The speed-up circuit 14 becomes special used when the processor can receive less than one data word at a time and at that disclosed In the embodiment, the microprocessor 12 receives 16 bits at its input during each processor cycle.

030606/0018030606/0018

295H05295H05

Wie durch die Schleife und die Notierung +1 in der oberen rechten Ecke jedes Adressenregisters 50, und 58 angegeben, kann jedes dieser Adressenregister automatisch seine gespeicherte numerische Adresse um eine binäre 1 jedesmal dann erhöhen oder erniedrigen, wenn ein Datenbyte innerhalb der beiden zu dem Paar zusammengehörigen Datenregister während des Betriebs der Beschleunigungsschaltung 42 hinaus übertragen wird. Der besondere Grund für die Erhöhung oder Erniedrigung der Adresse wird später noch in größerer Einzelheit beschrieben. Zur Veranschaulichung dieser Erhöhungs- oder Erniedrigungs-Funktion und auch zur Veranschaulichung des Inhalts jedes der Adressenregister kann jedoch auf die Fig. 3 Bezug genommen werden.As indicated by the loop and the +1 notation in the upper right corner of each address register 50, and 58, each of these address registers can automatically convert its stored numeric address increase or decrease a binary 1 each time a data byte belongs to the pair within the two Data register is transferred out during the operation of the speed-up circuit 42. The specific reason for increasing or decreasing the address will be described in more detail later. To illustrate this increase or decrease function and also for illustration however, reference may be made to FIG. 3 for the contents of each of the address registers.

In Fig. 3 ist der Inhalt des A-Operanden-Adressenregisters 50 veranschaulicht. Von den 24 Adressenbits (mit 0 bis 23 bezeichnet), welche in dem Register 50 gespeichert sind, geben 22 Bitstellen von links (die führenden Bits) eine Ein-Datenwort-Speicherstelle in dem Hauptspeicher 14 an. Die 2 Bitstellen auf der rechten Seite (die Bits mit geringstem Stellenwert) sind mit "Byte-Zeiger" bezeichnet und geben eines der Bytes (8 Bits) innerhalb des Datenwortes an. Da jedes Datenwort 32 Bits lang ist, gibt der Byte-Zeiger eines von vier Bytes an. Jedesmal, wenn das Adressenregister erhöht oder erniedrigt wird, wird eine 1 von der durch die zwei Bits in dem Byte-Zeiger dargestellten Binärzahl addiert oder subtrahiert. In Fig. 3 is the contents of the A operand address register 50 illustrates. Of the 24 address bits (labeled 0 through 23) stored in register 50 are stored, give 22 bit positions from the left (the leading bits) a one-data word storage location in the Main memory 14. The 2 bit positions on the right (the least significant bits) are marked with "Byte pointer" denotes and indicates one of the bytes (8 bits) within the data word. Since each data word is 32 bits is long, the byte pointer indicates one of four bytes. Every time the address register increments or decrements a 1 is added or subtracted from the binary number represented by the two bits in the byte pointer.

Ist die Zahl in dem Byte-Zeiger anfangs 0 und wird sie viermal erhöht, dann zeigt dies an, daß alle vier Bytes des Datenwortes in das A-Datenregister vom Mikroprozessor übertragen wurden; es wird dann ein übertrag zur dritten Bitstelle erzeugt, welcher bewirkt, daß das AdressenregisterThe number in the byte pointer is initially 0 and becomes incrementing it four times, this indicates that all four bytes of the data word are in the A data register from the microprocessor have been transferred; a transfer to the third bit position is then generated, which causes the address register

0 3060 6/00180 3060 6/0018

50 eine Datenwortgrenze überschreitet und eine neue Datenwortadresse spezifiziert und zwar eine Speicheradresse höher oder niedriger als die erste Speicheradresse. Ein neues Datenwort-Anzeigesignal wird vom Register 50 jedesmal dann erzeugt, wenn sich die dritte Bitstelle verändert, was bewirkt, daß die Beschleunigungsschaltung 42 automatisch das neue Datenwort herausholt.50 exceeds a data word limit and a new one Data word address specifies a memory address higher or lower than the first memory address. A new data word indication signal is received from the register 50 is generated every time the third bit position changes, which causes the speed-up circuit 42 automatically pulls out the new data word.

Holt der Mikroprozessor anfänglich das zweite Byte des Datenwortes an der in dem A-Operanden-Adressenregister 50 gespeicherten Adresse heraus, dann zeigt dies der Byte-Zeiger ebenfalls an. Das Register 50 überschreitet dann die Wortgrenze nachdem es dreimal erhöht wurde.The microprocessor initially fetches the second byte of the data word in the A operand address register 50 stored address, the byte pointer also indicates this. The register exceeds 50 then the word limit after increasing it three times.

Das B-Operanden-Adressenregister und das C-Operanden-Adressenregister werden in der gleichen Weise erhöht oder erniedrigt.The B operand address register and the C operand address register are increased or decreased in the same way.

Es wird nun wieder auf die Fig. 2A und 2B Bezug genommen und zwar auf das "Nächste-Befehl"-Adressenregister 62, welches den A-, B- und C-Operanden-Adressenregistern gleicht, mit der Ausnahme, daß wie durch die Schleife und die Notierung +4 angegeben das "Nächste-Befehl"-Adressenregister 62 um vier erhöht wird, jedesmal dann, wenn das "Nächste-Befehl"-Datenregister 64 durch den Mikroprozessor geleert wird.Referring again to Figures 2A and 2B, the "next command" address register is shown 62, which is similar to the A, B, and C operand address registers except that we loop through and the notation +4 indicated the "next command" address register 62 is incremented by four each time the "next instruction" data register 64 is entered by the microprocessor is emptied.

Das A-, B- und C-Operanden- und "Nächste-Befehl"-Adressenregister 50, 54, 58 und 62 kann jeweils als übliche Kaskaden-Hexadezimalzähler-Schaltung ausgeführt sein, etwa als Nr. 10136 Zählerschaltung wie sie durch die Firma Motorola Inc. of Phoenix, Arizona, verkauft wird. Das 1/0-Speicheradressenregister 66 und alle Datenregister erhöhenThe A, B, and C operand and "next instruction" address registers 50, 54, 58 and 62 can each be designed as a conventional cascade hexadecimal counter circuit, for example as No. 10136 counter circuit as sold by Motorola Inc. of Phoenix, Arizona. The 1/0 memory address register 66 and increment all data registers

030606/0018030606/0018

oder erniedrigen nicht automatisch, sie können durch beliebige geeignete bekannte Registerschaltungen dargestellt werden.or do not decrease automatically, they can be represented by any suitable known register circuit will.

Die Beschleunigungsschaltung besitzt auch, wie in Fig. 2B veranschaulicht, eine übliche ALU 70, welche außerhalb des Mikroprozessors angeordnet ist und zwei Eingänge besitzt, von denen der eine Eingang Daten innerhalb des Datenregisters 52 und zwar ein Byte zu einem Zeitpunkt und der andere Eingang Daten innerhalb des Registers 56 und zwar ein Byte zu einem Zeitpunkt empfangen. Die ALU 70 kann eine arithmetische oder logische Operation wie eine dezimale Rechnung ausführen. Aus noch später deutlich werdenden Gründen sind die Register 52 und 56 jeweils mit den Eingängen der externen ALU 70 über 4-zu-1-Multiplexer-(MUX) -Schaltungen 71 und 72 verbunden. Die Multiplexer-Schaltungen 71 und 72 werden durch die Zwei-Bit-Byte-Zeiger in dem Α-Operanden-Adressenregister 50 bzw. dem B-Operanden-Adressenregister 54 gesteuert. Fig. 3 veranschaulicht die Verwendung der beiden Bits in dem Byte-Zeiger des A-Operanden-Adressenregisters 50 zur Erzeugung von Steuereingangssignalen für den Multiplexer 71. Der Ausgang der externen ALU 70 ist mit dem C-Operanden-Datenregister 60 verbunden, so daß das Ausgangssignal von der externen ALU 70 in dem Register 60 gespeichert werden kann.As illustrated in FIG. 2B, the speed-up circuit also has a conventional ALU 70 which is external of the microprocessor and has two inputs, one of which is data input within the Data register 52 one byte at a time and the other input data within the register 56 and received one byte at a time. The ALU 70 can perform an arithmetic or logical operation such as a perform decimal calculation. For reasons that will become clear later, registers 52 and 56 are each marked with Inputs of the external ALU 70 via 4-to-1 multiplexer (MUX) Circuits 71 and 72 connected. The multiplexer circuits 71 and 72 are represented by the two-bit byte pointers in the Α operand address register 50 or the B operand address register 54 controlled. Figure 3 illustrates the use of the two bits in the byte pointer of the A operand address register 50 for generating control input signals for the multiplexer 71. The output of the external ALU 70 is connected to the C operand data register 60 so that the output from the external ALU 70 is in the register 60 can be saved.

Um auf dem laufenden zu sein über die Anzahl der vom Mikroprozessor 12 oder der externen ALU 70 zu verarbeitenden Bytes, ist eine Kennzeichnungs-Registerschaltung 73 (Fig. 2A) vorgesehen. Die Kennzeichnungs-Schaltung 73 wird vom Mikroprozessor 12 geladen und speichert die Gesamtanzahl der Bytes, welche während der Ausführung eines gegebenen Makrobefehls zu verarbeiten ist. Während jedes Byte von Daten verarbeitet wird, wird die Nummer,welche die Bytes in der Kennzeichnungs-Schaltung 73 repräsentiert, um 1To keep up to date with the number of microprocessor 12 or external ALU 70 to be processed Bytes, a label register circuit 73 (Fig. 2A) is provided. The labeling circuit 73 is is loaded by microprocessor 12 and stores the total number of bytes used during execution of a given Macro command is to be processed. As each byte of data is processed, the number becomes which the bytes are represented in the identification circuit 73 to 1

030806/0018030806/0018

295H05295H05

erniedrigt, wie dies durch die Schleife und die Bezeichnung -1 in Fig. 2 veranschaulicht wird. Die Kennzeichnungs-Schaltung 73 besitzt auch eine Null-Feststellungsschaltung zur Meldung an den Mikroprozessor 12, wenn die Byte-Zahl in dem Kennzeichnungsregister 73 auf Null erniedrigt wurde und zwar in einer Weise, wie dies in der Technik bekannt ist. Die Kennzeichnungsschaltung 73, einschließlich der Null-Feststellungsschaltung, kann durch hexadezimale Zählerschaltungen ausgeführt werden, etwa durch die im Handel erhältlichen Nr. 10136 Zählerschaltungen, auf die zuvor Bezug genommen wurde.decreased, as illustrated by the loop and the designation -1 in FIG. The identification circuit 73 also has a zero detection circuit for notifying the microprocessor 12 when the byte count in the flag register 73 has been decremented to zero in a manner known in the art is. The flag circuit 73 including the zero detection circuit can be represented by hexadecimal counter circuits such as commercially available No. 10136 counter circuits to the above Was referred to.

Ein externes Steuerwortregister 74 empfängt ein 16-Bit-Steuerwort von dem Mikroprozessor 12 und liefert die Bits in dem Steuerwort mittels Steuerleitungen (nicht gezeigt) an Steuereingänge der Register 50, 52, 54, 56, 58, 60, 62, 64, 66 und 68 und die externe ALU 70. Die Steuerbits spezifizieren gemeinsam die Art, in welcher die Beschleunigungsschaltung 42 arbeiten soll und die an die Registerschaltungen und die ALU 70 gelieferten Einzeldatenbits stellen den Zustand derjenigen Komponenten zur Ausführung einer speziellen Beschleunigungsschaltungsoperation ein oder lösen diese aus. Wie noch später im einzelnen beschrieben wird, geben die Steuerwort-Bits an, ob die Adressenregister 50, 54 und 58 erhöht oder erniedrigt werden sollen, wenn Datenbytes zum oder vom Mikroprozessor 12 oder der ALU 70 mittels der Register übertragen werden sollen, ob die ALU 70 zu verwenden ist, und wenn die ALU 70 verwendet wird, welche arithmetische oder logische Operation durchzuführen ist sowie alle anderen Funktionen oder Operationen, für deren Ausführung die Beschleunigungsschaltung 42 aufgebaut sein kann. An external control word register 74 receives and provides a 16-bit control word from the microprocessor 12 the bits in the control word via control lines (not shown) to control inputs of registers 50, 52, 54, 56, 58, 60, 62, 64, 66 and 68 and the external ALU 70. The control bits collectively specify the way in which the Acceleration circuit 42 is to work and the individual data bits supplied to the register circuits and the ALU 70 represent the state of those components for performing a particular speed-up circuit operation on or trigger them. As will be described in detail later, the control word bits indicate whether the Address registers 50, 54 and 58 should be incremented or decremented when data bytes to or from microprocessor 12 or the ALU 70 should be transmitted by means of the registers, whether the ALU 70 is to be used, and if the ALU 70 is used, which arithmetic or logical operation is to be performed as well as all other functions or Operations that the accelerator circuit 42 may be constructed to perform.

030606/0 018030606/0 018

295U05295U05

Die Beschleunigungshardware schließt auch eine Steuerlogik- und Zeitgabeschaltung 80 ein. Die Steuerschaltung 80 besteht aus üblichen Bauelementen zur Erzeugung der notwendigen Takt- und Synchronisationssignale für die einzelnen Schaltungen innerhalb der Beschleunigungsschaltung 42 und steuert auch die Eingänge und Ausgänge der Registerschaltungen und der externen ALU 70 durch geeignete Gatter-Taktung der Sammelleitungen 18 und 20. Somit besitzt die Steuerschaltung 80 Verknüpfungsglieder, welche Steuersignale und Grundtaktsi^ftf^e vom Mikroprozessor 12 decodieren, um die geeignete Folge des Datentransfers zum und von jedem der Register in der Beschleunigungsschaltung 42 in allgemein bekannter Art zu steuern. Zahlreiche nicht gezeigte Steuerleitungen verbinden die Steuerschaltung 80 mit dem Mikroprozessor 12, den Sammelleitungen 18 und 20 und jede der einzelnen Schaltungen innerhalb der Beschleunigungsschaltung 42.The acceleration hardware also includes control logic and timing circuitry 80. The control circuit 80 consists of the usual components for generating the necessary clock and synchronization signals for the individual circuits within the acceleration circuit 42 and also controls the inputs and outputs the register circuits and the external ALU 70 by suitable gate clocking of the bus lines 18 and 20. Thus, the control circuit has 80 logic elements, which control signals and basic clocksi ^ ftf ^ e from Microprocessor 12 decode the appropriate sequence of data transfers to and from each of the registers in the speed-up circuit 42 to control in a well-known manner. Connect numerous control lines not shown the control circuit 80 with the microprocessor 12, the buses 18 and 20 and each of the individual circuits within the speed-up circuit 42.

Es wird nun auf die Arbeitsweise der Beschleunigungsschaltung 42 gemäß den Figuren 2A und 2B eingegangen; die Beschleunigungsschaltung kann die Arbeitsweise des Mikroprozessors 12 in einer von mehreren Möglichkeiten unterstützen oder beschleunigen. Obwohl nur drei Grundoperationen im einzelnen beschrieben werden, ist es erkenntlich, daß die Register 50, 52, 54, 56, 58, 60, 62, 64, 66 und 68 und die externe ALU 70 derart aufgebaut sein können, daß sie viele andere Operationen im Rahmen des Erfindungsgedankens ausführen können. Bei jeder der nachfolgenden Operationen wird zuerst das externe Steuerwortregister 74 durch den Mikroprozessor 12 geladen, um die Register und die externe ALU 70 dahingehend anfänglich anzuregen, die spezielle Operation auszuführen.The mode of operation of the acceleration circuit 42 according to FIGS. 2A and 2B will now be discussed; the speed-up circuit can control the operation of the microprocessor 12 in one of several ways support or accelerate. Although only three basic operations are described in detail, it can be seen that that registers 50, 52, 54, 56, 58, 60, 62, 64, 66 and 68 and the external ALU 70 can be configured to perform many other operations as part of the Can perform the inventive idea. The external control word register is used first for each of the following operations 74 loaded by microprocessor 12 to the registers and external ALU 70 to that effect initially to suggest performing the special operation.

030606/0018030606/0018

295H05295H05

Die erste zu beschreibende Operation ist eine Heraushol- und Speicherfunktion zwischen dem Hauptspeicher 14 und dem Mikroprozessor 12. Bei dieser Operation werden Datenwörter aus dem Hauptspeicher 14 für den Mikroprozessor 12 herausgeholt oder Datenwörter von dem Mikroprozessor in den Hauptspeicher gespeichert. Diese Operation kann entweder in einer Wortbetriebsart oder einer Bytebetriebsart durchgeführt werden.The first operation to be described is a fetch and store function between main memory 14 and the microprocessor 12. In this operation, data words from the main memory 14 become for the microprocessor 12 fetched or data words stored by the microprocessor in the main memory. This operation can be performed in either a word mode or a byte mode.

In der Wortbetriebsart wird eine Adresse von dem Mikroprozessor 12 entweder dem A- oder dem B-Operanden-Adressenregister 50 bzw. 54 zugeführt. Da die Adresse 24 Bit lang ist, benötigt es mehrere Prozessorzyklen, um das zutreffende Adressenregister zu laden. Ist das Adressenregister vollständig geladen, dann wird ein Ergebnissignal an die Steuerschaltung 80 abgegeben, welches bewirkt, daß das geladene Adressenregister über ein UND-Glied mit der Datensammelleitung 18 verbunden wird, und eine Nachricht wird über die Sammelleitung 18 zu dem Hauptspeicher 14 zum Herausholen des Datenwortes aus der angegebenen Adresse übertragen. Als Folge davon wird ein vollständiges Datenwort in eines der Datenregister 52 und geliefert; die Ablieferung des vollständigen Datenwortes wird während eines Speicherzugriffs durchgeführt und während dieser Zeit ist es nicht erforderlich, daß der Mikroprozessor 12 für die Zurückbringung der Daten "wartet", da die Daten in einem der Datenregister gespeichert und nicht in ein internes Register innerhalb des Mikroprozessors gebracht wird.In word mode, an address from microprocessor 12 is taken to either the A or B operand address register 50 or 54 supplied. Since the address is 24 bits long, it takes several processor cycles to convert load the appropriate address register. When the address register is fully loaded, a result signal is issued to the control circuit 80, which causes the loaded address register via an AND gate is connected to data bus 18 and a message is sent over bus 18 to main memory 14 to extract the data word from the specified address. As a result, it becomes a complete Data word in one of the data registers 52 and supplied; the delivery of the complete data word is performed during a memory access and during at this time it is not necessary for the microprocessor 12 to "wait" for the data to be returned, since the data is stored in one of the data registers and not brought into an internal register within the microprocessor will.

Nachdem ein Datenwort herausgeholt und in einem der Datenregister gespeichert wurde, kann der Mikroprozessor in Einklang mit Mikrobefehlen innerhalb des Steuerspeichers 32 das Datenwort von dem zutreffenden Datenregister längs der Sammelleitung 20 zu dem Mikroprozessor übertragen und zwar als 16 Bits zu einem Zeitpunkt, und nachdem alle DatenAfter a data word has been fetched and stored in one of the data registers, the microprocessor can in accordance with microinstructions within control store 32, the data word from the appropriate data register along The bus 20 is transmitted to the microprocessor as 16 bits at a time, and after all of the data

030606/0018030606/0018

- Al3 - - Al 3 -

empfangen wurden, kann der Mikroprozessor 12 bewirken, daß die Beschleunigungsschaltung 4 2 ein weiteres Datenwort zum erneuten Laden des zutreffenden Adressenregisters herausholt.have been received, the microprocessor 12 can cause the acceleration circuit 4 2 another data word for reloading the relevant address register pulls out.

Sollen Datenwörter von dem Mikroprozessor 12 in dem Hauptspeicher 14 gespeichert werden, dann wird das C-Operanden-Adressenregister 58 mit der Adresse einer Speicherstelle geladen, und, wenn der Mikroprozessor das C-Operanden-Datenregister 60 mit einem Datenwort lädt, verbindet ein sich ergebendes Signal zur Steuerschaltung 80 das C-Operanden-Adressen- und -Datenregister 58 und 60 über UND-Glieder mit der Sammelleitung 18. Das Datenwort wird in dem Speicher 14 an die angegebene Adresse geliefert und dort gespeichert. Wiederholte Abspeicherungen können vom Mikroprozessor 12 durch wiederholtes erneutes Laden der C-Operanden-Adressen- und -Datenregister 58 und 60 durchgeführt werden.If data words are to be stored by the microprocessor 12 in the main memory 14, then this will be C operand address register 58 with the address of a memory location loaded, and when the microprocessor loads the C operand data register 60 with a data word, connects a resulting signal to control circuit 80 the C operand address and data registers 58 and 60 via AND gates to the bus line 18. The data word is delivered in the memory 14 to the specified address and stored there. Repeated memories can be made by the microprocessor 12 by repeated reloading the C operand address and data registers 58 and 60 are performed.

In der Bytebetriebsart kann ein Datenfeld, dessen Bitanzahl die 32-Bit-Datenwortlänge überschreitet, aus dem Hauptspeicher 14 herausgeholt oder in diesem gespeichert werden. Der Mikroprozessor 12 lädt das Kennzeichnungsregister 73 mit der Anzahl von Bytes in den aus dem Speicher herauszuholenden Daten bzw. in den Hauptspeicher zu speichernden Daten. Wenn beispielsweise Daten aus einer in dem A-Operanden-Adressenregister 50 spezifizierten Adresse herausgeholt werden sollen, dann holt die Beschleunigungsschaltung 42 das vollständige Datenwort aus der spezifizierten Adresse und speichert das Datenwort in dem A-Operanden-Datenregister 52. Dann überträgt der Mikroprozessor die Daten in dem A-Operanden-Datenregister 52 zu sich, wobei die Byteanzahl in der Kennzeichnungsschaltung 73 um 1 erniedrigt und der Byte-Zeiger für jedes übertragene Byte erhöht wird. Sobald eine Datenwortgrenze über-In the byte operating mode, a data field whose number of bits exceeds the 32-bit data word length can be extracted from the Main memory 14 can be fetched out or stored in this. The microprocessor 12 loads the label register 73 with the number of bytes in the data to be fetched from the memory or to be stored in the main memory Data. For example, when data from an address specified in the A operand address register 50 are to be fetched, then the acceleration circuit 42 fetches the complete data word from the specified Address and store the data word in the A operand data register 52. The microprocessor then transmits the data in the A operand data register 52 with the number of bytes in the tag circuit 73 is decreased by 1 and the byte pointer is increased for each byte transferred. As soon as a data word limit is exceeded

030606/0018030606/0018

295U05295U05

schritten wird und die Datenwortadresse innerhalb des A-Operanden-Adressenregisters 50 zu der nächsthöheren Adresse in dem Hauptspeicher 14 sich erhöht, wird ein "NEUES DATENWORT ANZEIGE"-Signal aus dem Adressenregister 50 an die Steuerschaltung 80 geliefert und bewirkt, daß das Adressenregister wiederum über ein UND-Gatter mit dem Bus 18 verbunden wird und das Datenwort an der neuen Adresse herausholt. Das Adressenregister 50 setzt die Erhöhung seines Byte-Zeigers fort und bewirkt, daß neue Datenwörter herausgeholt werden bis die abnehmende Kennzeichnungsnummer den Wert Null erreicht. Zu diesem Zeitpunkt zeigt die Null-Feststellschaltung innerhalb der Kennzeichnungsschaltung 73 dem Mikroprozessor 12 an, daß das Herausholen des Datenfeldes fertig ist.and the data word address within the A operand address register 50 increments to the next higher address in main memory 14, a "NEW DATA WORD DISPLAY" signal from the address register 50 is supplied to the control circuit 80 and causes the address register again via an AND gate with the Bus 18 is connected and the data word fetches out at the new address. The address register 50 sets the increment of its byte pointer and causes new data words to be fetched up to the decreasing identification number reaches the value zero. At this point the zero detection circuit shows within the Indicating circuit 73 to the microprocessor 12 that the fetching of the data field is finished.

Die B-Operanden-Adressen- und -Datenregister 54 und 56 holen Daten heraus und die C-Operanden-Adressen- und -Datenregister 58 und 60 speichern Datenwörter in der gleichen Weise. Wie sich durch das Steuerwort in dem externen Steuerwortregister 74 bestimmt, kann der Byte-Zeiger in dem zutreffenden Adressenregister erniedrigt und nicht erhöht werden, wobei in diesem Falle das Datenwort an der nächstniedrigeren Adresse im Speicher angesteuert wird, wenn der Byte-Zeiger eine Datenwortgrenze überschreitet.The B operand address and data registers 54 and 56 fetch data and the C operand address and - Data registers 58 and 60 store data words in the same Wise. As determined by the control word in the external control word register 74, the byte pointer in the applicable address register are decreased and not increased, in which case the data word at the The next lower address in the memory is activated when the byte pointer exceeds a data word limit.

Aus dem Vorstehenden ergibt sich, daß der Mikroprozessor 12, obwohl er auf den Empfang von weniger Bits zu einem gleichen Zeitpunkt begrenzt ist als der Bitanzahl in einem Datenwort entspricht, ein ganzes Datenwort ohne wiederholten Zugriff auf den Hauptspeicher 14 herausholen kann. Da ein einziger Direktzugriff zum Speicher 14 durch den Mikroprozessor 14 eine verhältnismäßig große Zeitdauer (mehrere Prozessorzyklen) in Anspruch nehmen kann, als ein Datentransfer von oder zu der Beschleunigungsschaltung 42 durch den Mikroprozessor und da der Mikroprozessor ohne dieFrom the foregoing it can be seen that the microprocessor 12, although responding to the reception of fewer bits is limited at the same time as the number of bits in a data word, a whole data word without repeated access to the main memory 14 can get out. As a single direct access to the memory 14 through the microprocessor 14 may take a relatively large amount of time (several processor cycles) than a Data transfer from or to the accelerator circuit 42 by the microprocessor and there the microprocessor without the

030606/0018030606/0018

295U05295U05

Beschleunigungsschaltung den Speicher mehrere Male ansteuern müßte, um ein einziges Datenwort zu holen oder es dort zu speichern, wird durch die Beschleunigungsschaltung 42 eine erhebliche Einsparung an Prozessorzeit erzielt. Übersteigen die herauszuholenden oder zu speichernden Daten die Länge des Datenwortes, dann holt die Beschleunigungsschaltung automatisch Daten aus dem nächsthöheren oder nächstniedrigeren Speicheradressenplatz heraus oder speichert entsprechend diese Daten dort, wobei der Mikroprozessor 12 von der Notwendigkeit entbunden wird, Prozessorzeit zum Senden und Empfangen von wiederholten Herausholoder Speicherbotschaften zu verwenden.Acceleration circuit would have to drive the memory several times to fetch a single data word or it to store there, a considerable saving in processor time is achieved by the acceleration circuit 42. If the data to be fetched out or to be stored exceed the length of the data word, the acceleration circuit automatically fetches data from the next higher or next lower memory address space or stores this data there accordingly, whereby the microprocessor 12 is relieved of the need to spend processor time sending and receiving repeated fetch or To use memory messages.

Die nächste zu beschreibende Operation ist diejenige, bei der Daten von einer Stelle im Speicher 14 an eine andere Speicherstelle bewegt werden können. Der Mikroprozessor lädt die zu übertragende Anzahl von Datenbytes in die Kennzeichnungsschaltung 73, lädt in das A-Operanden-Adressenregister 50 die Speicherstellenadresse, aus der die Daten herauszuholen sind und lädt in das C-Operanden-Adressenregister 58 die Speicheradressenstelle, in die die Daten zu bewegen sind. Die Beschleunigungsschaltung 42 holt ein Datenwort heraus und speichert dieses in dem A-Operanden-Datenregister 52, und der Mikroprozessor 12 überträgt das Datenwort in das C-Operanden-Datenregister 60, wobei jedes übertragene Byte bewirkt, daß die Byte-Zeiger in den Adressenregistern 50 und 58 erhöht (oder erniedrigt) werden. Ist das C-Operanden-Datenregister 60 gefüllt, dann wird das Datenwort darin in den Hauptspeicher 14 übertragen. Immer wenn die Adressen entweder in dem A- oder dem C-Operanden-Adressenregister 50 oder 58 eine Datenwortgrenze überschreiten, wird ein "NEUES DATENWORT ANZEIGE"-Signal zur Steuerschaltung 80 gesandt und das Datenwort in der nächsthöheren (oder niedrigeren) Speicherstelle wird herausgeholt bzw. dort gespeichert. Die neuen Datenwörter werden wiederholtThe next operation to be described is that of transferring data from one location in memory 14 to another Storage location can be moved. The microprocessor loads the number of data bytes to be transferred into the Flag circuit 73, loads into the A operand address register 50 is the location address from which the data is to be fetched and loads into the C operand address register 58 is the memory address location to which the data is to be moved. The acceleration circuit 42 catches up Data word and stores it in the A operand data register 52, and the microprocessor 12 transfers the data word to the C operand data register 60, each Transferred bytes causes the byte pointers in the address registers 50 and 58 are increased (or decreased). If the C operand data register 60 is full, then the Data word therein is transferred to main memory 14. always if the addresses are in either the A or the C operand address register 50 or 58 exceed a data word limit, a "NEW DATA WORD DISPLAY" signal is sent to the control circuit 80 is sent and the data word in the next higher (or lower) memory location is fetched or stored there. The new data words are repeated

030606/001 8030606/001 8

295H05295H05

zu dem A-Operanden-Datenregister 52 herausgeholt, vom Mikroprozessor 12 in das C-Operanden-Datenregister 56 übertragen und dann in den Hauptspeicher 14 zurückgespeichert bis die Byteanzahl in der Kennzeichnungsschaltung 73 Null erreicht. Während dieser gesamten Periode wird der Mikroprozessor 12 nur zur übertragung der Daten zwischen Registern verwendet und keine Prozessorzeit für den Speicherzugriff benützt.fetched out to the A operand data register 52, dated Microprocessor 12 into C operand data register 56 and then stored back in the main memory 14 until the number of bytes in the flag circuit 73 reaches zero. During this entire period the Microprocessor 12 only used to transfer the data between registers and no processor time for memory access used.

Bei der dritten zu beschreibenden Operation werden Daten aus dem Hauptspeicher 14 in das A- und B-Operanden-Datenregister 52 bzw. 56 herausgeholt und mit jeweils einem Byte zu einem Zeitpunkt den Eingängen der externen ALU 70 angeboten. Die ALU 70 arbeitet mit den Daten und speichert das Ergebnis der Operation an ihrem Ausgang in dem C-Operanden-Datenspeicherregister 60. Die A-, B- und C-Adressenregister 50, 54 und 58 und die Kennzeichnungsschaltung 73 werden anfangs von dem Mikroprozessor 12 geladen. Sonst wird die Operation off-line vom Mikroprozessor 12 durchgeführt, wobei die Adressenregister ihre Byte-Zeiger um jeweils 1 erhöhen (oder erniedrigen), wenn ein Datenbyte in den A- und B-Datenregistern 52 und 56 verarbeitet und in das C-Operanden-Datenregister 60 gebracht wurde. Wird eine Datenwortgrenze überschritten, dann wird das neue in den A- oder B-Adressenregister 50 oder 54 spezifizierte Datenwort automatisch aus dem Speicher 14 herausgeholt. Ist das C-Operanden-Datenregister 60 gefüllt, dann wird das Datenwort automatisch in dem Speicher abgespeichert.In the third operation to be described, data is moved from main memory 14 into the A and B operand data registers 52 or 56 and fetched one byte at a time to the inputs of the external ALU 70 offered. The ALU 70 operates on the data and stores the result of the operation at its output in the C operand data storage register 60. The A, B and C address registers 50, 54 and 58 and the tag circuit 73 are initially loaded by the microprocessor 12. Otherwise the operation is carried out off-line by the microprocessor 12, the address registers increment (or decrement) their byte pointers by 1 each time a data byte is in the A and B data registers 52 and 56 has been processed and placed in the C operand data register 60. Will be a If the data word limit is exceeded, the new data word specified in the A or B address register 50 or 54 is used automatically fetched from the memory 14. If the C operand data register 60 is full, then the Data word automatically stored in the memory.

Während dieser Operation ist der Mikroprozessor 12 vollkommen frei zur Durchführung anderer Operationen. Es ist nur notwendig, daß er anfangs das externe Steuerregister 74, die Kennzeichnungsschaltung 73 und das zutreffende Adressenregister lädt und geeignete Folgesteuerungssignale aus-During this operation, the microprocessor 12 is completely free to perform other operations. It all that is necessary is to initially identify the external control register 74, the identifier circuit 73 and the appropriate address register loads and unloads suitable sequence control signals

030606/0018030606/0018

295U05295U05

sendet, damit die Daten zu den Registern bzw. von diesen übertragen werden und damit bewirkt wird, daß die ALU 70 mit den Daten arbeitet.sends so that the data is transmitted to and from the registers and thus causes the ALU 70 works with the data.

Die Multiplexer 71 und 72 richten die vier Bytes in jedem der A- und B-Operanden-Datenregister 52 und 56 aus, wenn sie in die externe ALU 70 eingegeben werden. Sind beispielsweise bei der durch die externe ALU 70 auszuführenden Operation die ersten zu bearbeitenden Datenbytes das erste Byte in dem A-Operanden-Datenregister 52 und das zweite Byte in dem B-Operanden-Datenregister 56, dann richtet die Multiplexerschaltung 72 die Daten in dem B-Operanden-Register 56 derart aus, daß das zweite Byte zuerst von der ALU 70 aufgenommen wird. Der Byte-Zeiger in den zutreffenden Adressenregistern gibt anfänglich das Byte an, das zuerst bearbeitet werden soll, und wie zuvor erwähnt, die Multiplexerschaltungen 71 und 72 werden durch die 2-Bit-Byte-Zeiger in den A- und B-Adressenregistern 50 und 54 gesteuert. Multiplexers 71 and 72 align the four bytes in each of A and B operand data registers 52 and 56, if they are entered in the external ALU 70. Are for example with the one to be executed by the external ALU 70 Operation the first data bytes to be processed, the first byte in the A operand data register 52 and the second byte in the B operand data register 56, then the multiplexer circuit 72 aligns the data in the B operand register 56 in such a way that the second byte is received by the ALU 70 first. The byte pointer in the applicable Address registers initially indicate the byte to be processed first and, as previously mentioned, the multiplexer circuits 71 and 72 are controlled by the 2-bit byte pointers in A and B address registers 50 and 54.

Aus dem Vorstehenden ergibt sich, daß die externe ALU 70 dazu verwendet werden kann, die Leistungsfähigkeit des Rechnersystems 10 dadurch zu steigern, daß Operationen geboten werden, die durch den Mikroprozessor ALU 26 nicht vorgesehen sind. Die externe ALU 70 kann auch dazu verwendet werden, Operationen effizienter vorzusehen, welche bereits durch den Mikroprozessor ALU 26 geboten werden. Sind diese Operationen üblich und erfordern einen häufigen Speicherzugriff, dann erzielt sowohl die Zugriffs- als auch die ALU-Operation innerhalb der Beschleunigungsschaltung bedeutende Einsparungen in der Verarbeitungszeit.From the foregoing, it can be seen that the external ALU 70 can be used to increase the performance of the computer system 10 by offering operations which the microprocessor ALU 26 does not are provided. The external ALU 70 can also be used to make operations more efficient can already be offered by the ALU 26 microprocessor. Are these operations common and require frequent memory access? then accomplishes both the access and the ALU operation within the speed-up circuit significant savings in processing time.

Wie bereits zuvor erwähnt, sind die durch das externe Steuerwortregister 74 an die Register 50, 52, 54, 56, 58, 60, 62, 64, 66 und 68 und die externe ALU 70 gelieferten Steuer-As mentioned before, the external control word register 74 to registers 50, 52, 54, 56, 58, 60, 62, 64, 66 and 68 and the external ALU 70 supplied control

0 3060 6/00180 3060 6/0018

wortbits derart codiert, daß sie angeben, welche Operationen durchzuführen sind. Wie zuvor angegeben, können viele Operationen über die diskutierten hinaus durch die Beschleunigungsschaltung 42 gemäß der vorliegenden Erfindung eingeführt werden, wobei die zuvor beschriebenen lediglich beispielhaft sind.word bits encoded to indicate which operations are to be performed. As previously stated, can many operations beyond those discussed by the speed-up circuit 42 in accordance with the present invention are introduced, the ones described above are merely exemplary.

Die Nächste-Adresse- und Datenbefehlsregister 62 und 64 und die I/O-Speicheradressen- und -datenregister 66 und 68 greifen unabhängig von den anderen Registern auf den Hauptspeicher 14 zu. Das Nächste-Befehl-Adressenregister 62 wird durch den Mikroprozessor 12 mit der Speicheradresse für den nächsten Softwarebefehl oder Makrobefehl geladen, welcher dem Mikroprozessor zuzuführen ist. Der Befehl an dieser Adresse wird in das Nächste-Befehl-Datenregister 64 herausgeholt. Wenn der Mikroprozessor 12 den laufenden Befehl beendet, dann überträgt er zu sich den nächsten Befehl aus dem Register 64. Das Nächste-Befehl-Adressenregister 62 erhöht sich dann automatisch um 4, um wie vorstehend erwähnt auf die nächsthöhere Datenwortadresse in dem Hauptspeicher 14 zuzugreifen, und der Befehl an dieser Adresse wird dann in das Nächste-Befehl-Datenregister 64 gebracht.The next address and data command registers 62 and 64 and the I / O memory address and data registers 66 and 68 access the main memory 14 independently of the other registers. The next instruction address register 62 is provided by the microprocessor 12 with the memory address for the next software command or macro command loaded, which is to be fed to the microprocessor. The command at this address is placed in the next command data register 64 brought out. When the microprocessor 12 completes the current command, it transmits the to itself next instruction from register 64. The next instruction address register 62 then automatically increases by 4, as mentioned above, to the next higher data word address in main memory 14 and the instruction at that address is then placed in the next instruction data register 64 brought.

Sind somit Befehle im Speicher 14 in Reihenfolge gespeichert, dann wird das Herausholen der Befehle durch die Beschleunigungsschaltung 42 durchgeführt und nicht vom Mikroprozessor 12. Dies ergibt eine erhebliche Zeiteinsparung für jeden durchgeführten Programmbefehl.Thus, commands in memory 14 are in sequence is stored, then the fetching of the instructions is carried out by the speed-up circuit 42 and not by the Microprocessor 12. This results in a considerable saving of time for each program instruction carried out.

Während normaler Rechneroperationen wird der Mikroprozessor 12 von Zeit zu Zeit Daten empfangen, ebenso Adressen von Speicherstellen für derartige Daten und zwar von peripheren Einheiten, etwa Kartenlesern, welche mit derDuring normal computer operations, the microprocessor 12 will from time to time receive data as well Addresses of storage locations for such data and that of peripheral units, such as card readers, which with the

030606/0018030606/0018

- yf- II- - yf- II-

Sammelleitung 20 verbunden sind. Solche Adressen und Daten werden durch den Mikroprozessor 12 empfangen, welcher wie zuvor erwähnt die Adressen und Daten an die I/O-Speicheradressen und Datenregister 66 und 68 liefert. Ist das Laden eines Datenwortes in das I/O-Speicherdatenregister 68 beendet, dann werden die I/O-Speicheradressen- und Datenregister 66 und 68 über UND-Glieder mit der Sammelleitung durch die Steuerschaltung 80 verbunden und das Datenwort wird dann im Hauptspeicher an der von dem I/O-Speicheradressenregister 66 angegebenen Adresse gespeichert. Auf diese Weise wird der Mikroprozessor 12 von der Notwendigkeit entlastet, auf den Speicher 14 zum Einspeichern von von peripheren Einheiten empfangenen Daten direkt zuzugreifen. Manifold 20 are connected. Such addresses and dates are received by the microprocessor 12 which, as previously mentioned, sends the addresses and data to the I / O memory addresses and provides data registers 66 and 68. Is the loading of a data word into the I / O memory data register 68 then the I / O memory address and data registers are terminated 66 and 68 connected via AND gates to the bus line through the control circuit 80 and the data word is then stored in main memory at that of the I / O memory address register 66 is saved. In this way, the microprocessor 12 removes the need relieved of direct access to the memory 14 for storing data received from peripheral units.

Die I/O-Adressen- und Datenregister 66 und 68 sind die einzigen Register in der Beschleunigungsschaltung 42, welche für diese I/O-Funktion verwendet werden. Sonst wäre eines oder mehrere der zu Paaren zusammengeführten A-, B- und C-Operanden-Adressen- und -Datenregister für die I/O-Funktion erforderlich und wenn diese zum Herausholen oder Speichern von Daten zum Zeitpunkt einer I/O-Unterbrechung verwendet würden, könnte es erforderlich sein, daß sie ungeladen bleiben, daß ihr Inhalt gesichert wird und daß ihr Inhalt zurückgespeichert wird bevor die unterbrochene Heraushol- oder Speicheroperation wieder aufgenommen wird.The I / O address and data registers 66 and 68 are the only registers in the speed-up circuit 42 used for this I / O function. Otherwise it would be one or more of the paired A, B, and C operand address and data registers for the I / O function required and when this is used to fetch or save data at the time of an I / O interruption were used, they might be required to remain unloaded, that their contents be saved, and that its contents are restored before the interrupted retrieve or store operation is resumed.

Es ist zu verstehen, daß in dem zuvor beschriebenen Rechnersystem 10 die Geschwindigkeit und Leistungsfähigkeit des Mikroprozessors 12 durch die Verwendung der Beschleunigungsschaltung 42 oder einer außerhalb des Mikroprozessors 12 befindlichen Hardware erhöht wird, um gewählte häufiger erforderliche Operationen durchzuführen, welche sonst durchIt should be understood that in the computer system 10 described above, the speed and performance of the microprocessor 12 through the use of the speed-up circuit 42 or one external to the microprocessor 12 located hardware is increased in order to carry out selected more frequently required operations, which would otherwise be carried out by

0 3 0 6 0 6/00180 3 0 6 0 6/0018

295U05295U05

den Mikroprozessor durchgeführt werden und zwar unter Ausführung von Mikrobefehlen innerhalb seines Steuerspeichers 32. Die Beschleunigungsschaltung 42 kann die gewählten Operationen mit einer höheren Geschwindigkeit durchführen als die Mikrobefehle innerhalb des Steuerspeichers 32 und die erhöhte Geschwindigkeit überwiegt irgendwelche höheren Kosten, welche dem Hinzufügen der Beschleunigungsschaltung zugeordnet werden können.the microprocessor can be carried out with the execution of microinstructions within its control memory 32. The speed-up circuit 42 can perform the selected operations at a higher speed perform than the microinstructions within the control store 32 and the increased speed predominates any higher cost that can be attributed to adding the speed-up circuit.

030606/0018030606/0018

Claims (7)

Patentansprüche;Claims; Mj Ein Rechnersystem von der Art, welches einen Speicher mit einer Vielzahl von Speicherstellen besitzt, von denen jede Speicherstelle derart angeordnet ist, daß sie ein Datenwort speichert und ihr eine Adresse zugeordnet ist, sowie einen Prozessor zur Verarbeitung einer vorbestimmten maximalen Anzahl von Bits zu einem Zeitpunkt, wobei die vorbestimmte maximale Anzahl niedriger ist als die Bitanzahl in zumindest einem Datenwort oder der ihm zugeordneten Adresse, gekennzeichnet durch eine Beschleunigungsschaltung (42), welche außerhalb des Prozessors (12) angeordnet ist und auf den genannten Prozessor anspricht, wobei die Beschleunigungsschaltung (42) Adressenregistervorrichtungen (50, 54, 58, 62, 66) zum Speichern der Adresse einer Speicherstelle und Datenregistervorrichtungen (52, 56, 60, 64, 68) zum Speichern eines aus dem genannten Speicher (14) herauszuholenden oder in ihm zu speichernden Datenwortes besitzt und wobei der genannte Prozessor derart angeordnet ist, daß er durch Laden einer Adresse in die genannten Adressenregistervorrichtungen (50, 54, 58, 62, 66) ein Datenwort herausholen kann sowie derart, daß er durch Laden einer Adresse in die genannten Adressenregistervorrichtungen (50, 54, 58, 62, 66) und eines Datenwortes in die genannten Datenregistervorrichtungen (52, 56, 60, 64, 68) ein Datenwort in den genannten Speichervorrichtungen speichern kann.Mj A computer system of the type which has a memory with a plurality of storage locations each of which is arranged in such a way that it stores a data word and is assigned an address is, as well as a processor for processing a predetermined maximum number of bits at a time, wherein the predetermined maximum number is lower than the number of bits in at least one data word or its assigned address, characterized by an acceleration circuit (42) which is external to the processor (12) and responsive to said processor, the speed-up circuit (42) address register means (50, 54, 58, 62, 66) for storing the address of a memory location and data register devices (52, 56, 60, 64, 68) for storing a to be fetched from said memory (14) or in it storing data word and wherein said processor is arranged such that it is loaded by loading a Address in said address register devices (50, 54, 58, 62, 66) can fetch a data word and such that by loading an address into said address register devices (50, 54, 58, 62, 66) and a word of data in said data register devices (52, 56, 60, 64, 68) a word of data in said Can store storage devices. 2. Rechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß die genannten Adressenregistervorrichtungen (50, 54, 58, 62, 66) ein erstes Register (50) zum Speichern von Adressenbits besitzen und daß die genannten Datenregistervorrichtungen (52, 56, 60, 64, 68) ein zweites Register (52) zum Speichern einer Vielzahl von Datenbits2. Computer system according to claim 1, characterized in that that said address register devices (50, 54, 58, 62, 66) have a first register (50) for Storing address bits and that said data register devices (52, 56, 60, 64, 68) have a second Register (52) for storing a plurality of bits of data 030606/001 8030606/001 8 295U05295U05 besitzt, wobei ein Teil der Bits in dem genannten ersten Register (50) einen Byte-Zähler vorsehen, welcher eine Nummer darstellt, die eine einer Vielzahl von in den genannten zweiten Register (52) gespeicherten Bytes bezeichnet has, some of the bits in said first register (50) providing a byte counter which is a Represents a number indicating one of a plurality of bytes stored in said second register (52) 3. Rechnersystem nach Anspruch 2, dadurch gekennzeichnet, daß das genannte erste Register (50) vorgesehen ist, um eine Änderung des genannten Byte-Zeigers um 1 für jedes von dem genannten zweiten Register (52) übertragene Byte zu bewirken.3. Computer system according to claim 2, characterized in that said first register (50) is provided is to change said byte pointer by 1 for each transferred from said second register (52) Effect byte. 4. Rechnersystem nach Anspruch 3, dadurch gekennzeichnet, daß das genannte erste Register (50) derart angeordnet ist, daß der genannte Byte-Zeiger durch die Bits niedrigsten Stellenwerts in dem genannten ersten Register4. Computer system according to claim 3, characterized in that that said first register (50) is arranged in such a way that said byte pointer through the bits lowest value in said first register (50) dargestellt wird, wobei die übrigen Bits mit höherem Stellenwert eine Speicherstelle spezifizieren und wobei die Anordnung so getroffen ist, daß die übrigen Bits mit höherem Stellenwert um 1 geändert werden, wenn alle der Bytes in dem genannten zweiten Register (52) durch den genannten Prozessor (12) übertragen wurden, so daß die übrigen Bits höheren Stellenwerts eine neue Speicherstelle spezifizieren.(50), where the remaining bits with higher significance specify a memory location and where the Arrangement is made so that the remaining bits with a higher significance are changed by 1 if all of the bytes in said second register (52) have been transferred by said processor (12) so that the remaining bits Specify a new memory location with higher priority. 5. Rechnersystem nach einem der Ansprüche 2 bis5. Computer system according to one of claims 2 to 4, dadurch gekennzeichnet, daß die genannte Beschleunigungsschaltung (42) Kennzeichnungsschaltungsvorrichtungen (73) zur Speicherung der Anzahl von aus dem genannten zweiten Register (42) durch den genannten Prozessor zu übertragenden Bytes besitzt, wobei die Anzahl der zu übertragenden Bytes jedesmal dann um 1 erniedrigt wird, wenn ein Byte von dem genannten zweiten Register (52) durch den genannten Prozessor übertragen wurde.4, characterized in that said accelerating circuit (42) identifying circuit devices (73) for storing the number of times to be transmitted from said second register (42) by said processor Bytes, the number of bytes to be transmitted is decreased by 1 each time a byte of the said second register (52) has been transferred by said processor. 030606/0018030606/0018 295U05295U05 6. Rechnersystem nach Anspruch 5, dadurch gekennzeichnet, daß die genannten Kennzeichnungsschaltungsvorrichtungen (73) Null-Feststellvorrichtungen besitzen zur Anzeige für den genannten Prozessor, wann die in den genannten Kennzeichnungsschaltungsvorrichtungen (73) gespeicherte Anzahl von Bytes auf Null gewechselt hat.6. Computer system according to claim 5, characterized in that said identification circuit devices (73) Zero detection devices have to indicate to the named processor when the in the named Tag circuit means (73) has changed the number of bytes stored to zero. 7. Rechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß die genannte Beschleunigungsschaltung (42) arithmetisch-logische Vorrichtungen (70) zur Bearbeitung von Daten besitzt, welche zwei Dateneingänge und einen Datenausgang hat, daß die genannten Datenregistervorrichtungen (52, 56, 60, 64, 68) ein erstes Datenregister (52) zum Speichern eines ersten Datenwortes aus dem Speicher besitzt, das mit einem der genannten zwei Dateneingänge verbunden ist, sowie ein zweites Datenregister (56) zur Speicherung eines zweiten Datenwortes von dem Speicher, welches mit dem anderen der genannten beiden Dateneingänge verbunden ist sowie ein drittes Datenregister (60) zum Speichern eines dritten Datenwortes, welches in dem Speicher zu speichern ist und welches Register mit dem genannten Datenausgang der genannten arithmetisch-logischen Vorrichtung (70) verbunden ist und daß die genannten Adressenregistervorrichtungen (50, 54, 58, 62, 66) drei Adressenregister (50, 54, 58) besitzen, welche entsprechend angeordnet sind, um die dem genannten ersten Datenregister (52), dem genannten zweiten Datenregister (56) und dem genannten dritten Datenregister (60) zugeordneten Adressen zu speichern. 7. Computer system according to claim 1, characterized in that that said acceleration circuit (42) arithmetic and logic devices (70) for processing of data, which has two data inputs and one data output, that said data register devices (52, 56, 60, 64, 68) a first data register (52) for storing a first data word from the memory which is connected to one of said two data inputs, and a second data register (56) for Storage of a second data word from the memory, which is connected to the other of the two data inputs mentioned is connected and a third data register (60) for storing a third data word which is in the memory is to be stored and which register with the named data output of the named arithmetic-logic device (70) and that said address register devices (50, 54, 58, 62, 66) have three address registers (50, 54, 58), which are arranged correspondingly to the said first data register (52), store addresses associated with said second data register (56) and said third data register (60). 030606/001 8030606/001 8
DE792951405A 1978-04-21 1979-04-12 A computer system having enhancement circuitry for memory accessing Pending DE2951405A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US89856478A 1978-04-21 1978-04-21
PCT/US1979/000228 WO1979000959A1 (en) 1978-04-21 1979-04-12 A computer system having enhancement circuitry for memory accessing

Publications (1)

Publication Number Publication Date
DE2951405A1 true DE2951405A1 (en) 1981-01-15

Family

ID=25409635

Family Applications (1)

Application Number Title Priority Date Filing Date
DE792951405A Pending DE2951405A1 (en) 1978-04-21 1979-04-12 A computer system having enhancement circuitry for memory accessing

Country Status (5)

Country Link
JP (1) JPS55500197A (en)
DE (1) DE2951405A1 (en)
FR (1) FR2423823A1 (en)
GB (1) GB2036392A (en)
WO (1) WO1979000959A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371928A (en) * 1980-04-15 1983-02-01 Honeywell Information Systems Inc. Interface for controlling information transfers between main data processing systems units and a central subsystem
FR2486269B1 (en) * 1980-07-04 1986-03-28 Thomson Csf DIGITAL DATA PROCESSING AND STORAGE SYSTEM, PARTICULARLY FOR TOMODENSITOMETER, AND TOMODENSITOMETER COMPRISING SUCH A SYSTEM
EP0176976B1 (en) * 1984-10-04 1993-10-20 Bull HN Information Systems Inc. Disk controller with shared address register

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3550133A (en) * 1964-04-06 1970-12-22 Ibm Automatic channel apparatus
US3573741A (en) * 1968-07-11 1971-04-06 Ibm Control unit for input/output devices
US3587058A (en) * 1969-06-04 1971-06-22 Bell Telephone Labor Inc Data processing system input-output arrangement
US3739352A (en) * 1971-06-28 1973-06-12 Burroughs Corp Variable word width processor control
NL7200354A (en) * 1972-01-11 1973-07-13
US3713107A (en) * 1972-04-03 1973-01-23 Ncr Firmware sort processor system
US3793631A (en) * 1972-09-22 1974-02-19 Westinghouse Electric Corp Digital computer apparatus operative with jump instructions
US3916383A (en) * 1973-02-20 1975-10-28 Memorex Corp Multi-processor data processing system
US3833889A (en) * 1973-03-08 1974-09-03 Control Data Corp Multi-mode data processing system
FR121860A (en) * 1973-07-19
US3943494A (en) * 1974-06-26 1976-03-09 International Business Machines Corporation Distributed execution processor
DE2437252B1 (en) * 1974-08-02 1975-07-10 Ibm Deutschland Gmbh, 7000 Stuttgart Data processing system
US4071890A (en) * 1976-11-29 1978-01-31 Data General Corporation CPU-Synchronous parallel data processor apparatus
US4079455A (en) * 1976-12-13 1978-03-14 Rca Corporation Microprocessor architecture
US4077060A (en) * 1976-12-27 1978-02-28 International Business Machines Corporation Asymmetrical multiprocessor system
US4130868A (en) * 1977-04-12 1978-12-19 International Business Machines Corporation Independently controllable multiple address registers for a data processor

Also Published As

Publication number Publication date
FR2423823A1 (en) 1979-11-16
WO1979000959A1 (en) 1979-11-15
GB2036392A (en) 1980-06-25
JPS55500197A (en) 1980-04-03

Similar Documents

Publication Publication Date Title
DE69534113T2 (en) Compression of the command words of a computer
DE2555963C2 (en) Function modification facility
DE69730276T2 (en) Apparatus and method for facilitating the avoidance of exceptional specific conditions during the course of a program
DE69738188T2 (en) METHOD AND APPARATUS FOR INCREASED ACCURACY IN THE BRANCHING FORECAST IN A SUPERSCALAR MICROPROCESSOR
DE3210816C2 (en)
DE2847934A1 (en) DATA PROCESSING DEVICE WITH A MICRO COMMAND MEMORY
DE2318069C2 (en) Micro-programmed computer system with expansion of control functions by means of a hard-wired logic matrix
DE1285220C2 (en) Data processing system with several independent computing units
DE2411963B2 (en) DATA PROCESSING SYSTEM
DE3424962C2 (en)
DE2714805A1 (en) DATA PROCESSING SYSTEM
DE1275800B (en) Control unit for data processing machines
EP0010185A1 (en) Virtual-addressing device for a computer
EP0325677B1 (en) Circuit and method for controlling an instruction buffer in a data-processing system
DE2440628A1 (en) DATA PROCESSING SYSTEM WITH MICRO PROGRAMMING
DE60009496T2 (en) MICROPROCESSOR WITH REDUCED CONTEXT SWITCHING VOLTAGE AND METHOD
DE3307194C2 (en)
DE2927481A1 (en) DATA PROCESSING DEVICE
DE2702722C2 (en) Device for processing instructions that cannot be directly executed
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE2854400A1 (en) ARRANGEMENT FOR CHANGING BETWEEN TOOTHED PROGRAMS TO BE PROCESSED
DE19929051C2 (en) Register renaming procedure for 32 and 64 bit instructions in one program
DE2835110A1 (en) FAST REAL-TIME COMPUTER EMULATOR
DE1499224C3 (en) Data processing system with storage facilities in the basement
DE2704560C2 (en) Data processing system with parallel provision and execution of machine commands