DE10313645A1 - Data processing system for a program controlled unit in which memory access processes by different elements of the data processing system are combined to reduce the number of memory accesses and increase data transfer rates - Google Patents

Data processing system for a program controlled unit in which memory access processes by different elements of the data processing system are combined to reduce the number of memory accesses and increase data transfer rates Download PDF

Info

Publication number
DE10313645A1
DE10313645A1 DE2003113645 DE10313645A DE10313645A1 DE 10313645 A1 DE10313645 A1 DE 10313645A1 DE 2003113645 DE2003113645 DE 2003113645 DE 10313645 A DE10313645 A DE 10313645A DE 10313645 A1 DE10313645 A1 DE 10313645A1
Authority
DE
Germany
Prior art keywords
data
data processing
processing device
memory
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2003113645
Other languages
German (de)
Other versions
DE10313645B4 (en
Inventor
Alessandro Bedarida
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.)
Intel Corp
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10313645.2A priority Critical patent/DE10313645B4/en
Publication of DE10313645A1 publication Critical patent/DE10313645A1/en
Application granted granted Critical
Publication of DE10313645B4 publication Critical patent/DE10313645B4/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)
  • Static Random-Access Memory (AREA)

Abstract

Data processing system has a data processing core (C) or CPU for processing data (Dx). Data is written to or read from a memory (S) by a read or write access to the memory and such an access process combines access requests of a first data processing unit with those of a second data processing unit (L).

Description

Die vorliegende Erfindung betrifft eine Vorrichtung gemäß dem Oberbegriff des Patentanspruchs 1, d.h. ein System mit einer Datenverarbeitungseinrichtung zum Verarbeiten von Daten, und einer Speichereinrichtung zum Speichern von Daten, wobei die Datenverarbeitungseinrichtung die von ihr zu verarbeitenden Daten durch entsprechende Lesezugriffe auf die Speichereinrichtung aus der Speichereinrichtung ausliest, und/oder in der Datenverarbeitungseinrichtung erzeugte Daten durch entsprechende Schreibzugriffe auf die Speichereinrichtung in die Speichereinrichtung schreibt.The The present invention relates to a device according to the preamble of claim 1, i.e. a system with a data processing device for processing data, and a storage device for storing of data, whereby the data processing device transfers the data from it processing data by appropriate read access to the memory device reads from the memory device, and / or in the data processing device generated data by appropriate write access to the memory device writes to the storage device.

Ein solches System ist beispielsweise eine programmgesteuerte Einheit wie beispielsweise ein Mikroprozessor, Mikrocontroller, oder Signalprozessor, oder ein eine programmgesteuerte Einheit enthaltendes System.On such a system is, for example, a program-controlled unit such as a microprocessor, microcontroller, or signal processor, or a system containing a program-controlled unit.

Die erwähnte Datenverarbeitungseinrichtung ist dabei der Core bzw. die CPU der programmgesteuerten Einheit; die genannte Speichereinrichtung kann eine innerhalb der programmgesteuerten Einheit oder eine außerhalb der programmgesteuerten Einheit vorgesehene Speichereinrichtung sein.The mentioned The data processing device is the core or the CPU of the program-controlled unit; said storage device can one inside the program-controlled unit or one outside the memory device provided in the program-controlled unit his.

Programmgesteuerte Einheiten und programmgesteuerte Einheiten enthaltende Systeme sind seit vielen Jahren in unzähligen Ausführungsformen bekannt, so daß auf weitere Erläuterungen verzichtet wird.Programmatic Systems are units and program-controlled units for many years in countless embodiments known so that on further explanations is waived.

Ein bekanntes Problem von programmgesteuerten Einheiten und programmgesteuerte Einheiten enthaltenden Systemen besteht darin, daß sie häufig nicht so schnell arbeiten wie man es sich wünschen würde. On known problem of program-controlled units and program-controlled Systems containing units are that they are often not work as fast as you would like.

Es sind verschiedene Möglichkeiten bekannt, die Arbeitsgeschwindigkeit von programmgesteuerten Einheiten und programmgesteuerte Einheiten enthaltenden Systemen zu steigern. Die bekannteste Möglichkeit besteht in der Erhöhung der Taktfrequenz. Da die Taktfrequenz aber bekanntlich nicht beliebig hoch gewählt werden kann, stößt man auch hierbei relativ schnell an nicht oder nur mit einem sehr großen Aufwand überwindbare Grenzen. Eine weitere Möglichkeit besteht in der Verwendung einer programmgesteuerten Einheit, die mehrere parallel arbeitende Cores bzw. CPUs enthält. Der Aufbau und der Betrieb einer solchen programmgesteuerten Einheit ist jedoch mit einem sehr großen Aufwand verbunden.It are different options known the working speed of program-controlled units and systems containing program-controlled units. The best known way consists in the increase the clock frequency. As is known, the clock frequency is not arbitrary chosen high can also be found here relatively quickly to not or only with a great deal of effort to overcome Limits. One more way consists in using a program-controlled unit that contains several cores or CPUs working in parallel. The construction and operation such a program-controlled unit, however, with a very huge Associated effort.

Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, das im Oberbegriff des Patentanspruchs 1 beanspruchte System mit möglichst geringem Aufwand derart weiterzubilden, daß sich dessen Leistungsfähigkeit steigern läßt.The The present invention is therefore based on the object Preamble of claim 1 claimed system with as much as possible to develop with little effort such that its performance can increase.

Diese Aufgabe wird erfindungsgemäß durch das in Patentanspruch 1 beanspruchte System gelöst.This The object is achieved by the System claimed in claim 1.

Das erfindungsgemäße System zeichnet sich dadurch aus, daß die Daten, die durch einen Lesezugriff der Datenverarbeitungseinrichtung auf die Speichereinrichtung aus der Speichereinrichtung ausgelesen werden, sowohl von der Datenverarbeitungseinrichtung zu verarbeitende Daten als auch von einer zweiten Datenverarbeitungseinrichtung zu verarbeitende Daten umfassen, und/oder daß die durch einen Schreibzugriff der ersten Datenverarbeitungseinrichtung auf die Speichereinrichtung in die Speichereinrichtung geschriebenen Daten sowohl in der ersten Datenverarbeitungseinrichtung erzeugte Daten als auch in der zweiten Datenverarbeitungseinrichtung erzeugte Daten umfassen.The system according to the invention is characterized in that the Data generated by a read access of the data processing device read from the storage device to the storage device be processed by both the data processing device Data as well as to be processed by a second data processing device Data include, and / or that through a write access of the first data processing device the storage device is written into the storage device Data both data generated in the first data processing device as well as data generated in the second data processing device include.

Durch das Vorsehen dieser Merkmale entfällt die Notwendigkeit, daß zum Auslesen der von der zweiten Datenverarbeitungseinrichtung zu verarbeitenden Daten aus der Speicherein richtung und/oder zum Einschreiben der von der zweiten Datenverarbeitungseinrichtung erzeugten Daten in die Speichereinrichtung eigene Zugriffe auf die Speichereinrichtung erfolgen müssen. Dadurch müssen weniger Zugriffe auf die Speichereinrichtung erfolgen als es der Fall wäre, wenn sowohl die erste Datenverarbeitungseinrichtung als auch die zweite Datenverarbeitungseinrichtung auf die Speichereinrichtung zugreifen würden, und dies wiederum hat den positiven Effekt, daß die Datenmenge, die zwischen der Speichereinrichtung und den Datenverarbeitungsvorrichtungen pro Zeiteinheit transferiert werden kann, größer ist als es der Fall wäre, wenn sowohl die erste Datenverarbeitungseinrichtung als auch die zweite Datenverarbeitungseinrichtung auf die Speichereinrichtung zugreifen würden. Durch die höhere Datenmenge, die zwischen der Speichereinrichtung und den Datenverarbeitungsvorrichtungen pro Zeiteinheit transferiert werden kann, können die Datenverarbeitungseinrichtungen schneller arbeiten, und dementsprechend erhöht sich die Leistungsfähigkeit des Systems.By the provision of these features eliminates the need to read out that to be processed by the second data processing device Data from the storage device and / or to write the data generated by the second data processing device in the storage device has its own access to the storage device must be done. Because of that fewer accesses to the storage device than are the case would be if both the first data processing device and the second Access data processing device on the storage device would and this in turn has the positive effect that the amount of data between the storage device and the data processing devices can be transferred per unit of time is larger than would be the case if both the first data processing device and the second Access data processing device on the storage device would. By the higher one Amount of data between the storage device and the data processing devices The data processing devices can be transferred per unit of time work faster, and accordingly the performance increases of the system.

Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen, der folgenden Beschreibung, und den Figuren entnehmbar.advantageous Developments of the invention are the dependent claims following description, and the figures.

Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Figuren näher erläutert. Es zeigenThe The invention is described below with reference to exemplary embodiments closer to the figures explained. Show it

1 ein erstes Ausführungsbeispiel des im folgenden beschriebenen Systems, 1 a first embodiment of the system described below,

2 ein zweites Ausführungsbeispiel des im folgenden beschriebenen Systems, 2 a second embodiment of the system described below,

3 ein drittes Ausführungsbeispiel des im folgenden beschriebenen Systems, 3 a third embodiment of the system described below,

4 ein viertes Ausführungsbeispiel des im folgenden beschriebenen Systems, und 4 a fourth embodiment of the system described below, and

5 ein fünftes Ausführungsbeispiel des im folgenden beschriebenen Systems. 5 a fifth embodiment of the system described below.

Das im folgenden beschriebene System ist ein System mit einer ersten Datenverarbeitungseinrichtung zum Verarbeiten von Daten, einer zweiten Datenverarbeitungseinrichtung zum Verarbeiten von Daten, und einer Speichereinrichtung zum Speichern der durch die Datenverarbeitungseinrichtungen zu verarbeitenden Daten und der durch die Datenverarbeitungseinrichtungen erzeugten Daten.The The system described below is a system with a first Data processing device for processing data, a second data processing device for processing data, and a storage device for storing the data to be processed by the data processing devices and the data generated by the data processing devices.

Die erste Datenverarbeitungseinrichtung wird im betrachteten Beispiel durch den Core bzw. die CPU einer programmgesteuerten Einheit gebildet, die zweite Datenverarbeitungseinrichtung durch eine außerhalb der programmgesteuerten Einheit vorgesehene Logik, und die Speichereinrichtung durch einen innerhalb der programmgesteuerten Einheit vorgesehenen Datenspeicher.The The first data processing device is in the example considered formed by the core or the CPU of a program-controlled unit, the second data processing device by an outside logic provided by the program-controlled unit, and by the storage device a data memory provided within the program-controlled unit.

Die programmgesteuerte Einheit ist beispielsweise ein Mikroprozessor, ein Mikrocontroller, oder ein Signalprozessor.The program-controlled unit is, for example, a microprocessor, a microcontroller, or a signal processor.

Die programmgesteuerte Einheit, genauer gesagt der Core derselben führt ein Programm aus. Durch das Programm wird der Core zur Ausführung bestimmter Operationen veranlaßt. Diese Operationen umfassen die Verarbeitung von Daten, wobei das Programm vorgibt, wo die zu verarbeitenden Daten gespeichert sind, wie die zu verarbeitenden Daten zu verarbeiten sind, und was mit den bei der Datenverarbeitung erzeugten Daten zu geschehen hat. Der Core holt sich die von ihm zu verarbeitenden Daten von der durch das Programm vorgegebenen Stelle, verarbeitet diese Daten auf die vom Programm vorgegebene Art und Weise, und schreibt die hierbei erzeugten Daten an die vom Programm vorgegebene Stelle.The program-controlled unit, more precisely the core of it introduces Program. The program determines the core for execution Operations. These operations involve processing data, the program specifies where the data to be processed is stored, such as the data to be processed and what to do with the the data generated data processing has to happen. The core fetches the data to be processed by it through the Program specified position, processes this data to that of Program specified way, and writes the generated here Data to the location specified by the program.

Die vom Core zu verarbeitenden Daten sind im betrachteten Beispiel in der vorstehend erwähnten Speichereinrichtung gespeichert, und in diese Speichereinrichtung werden auch die vom Core erzeugten Daten geschrieben. In dieser Speichereinrichtung sind auch die Daten gespeichert, die von der durch die Logik gebildeten zweiten Datenverarbeitungseinrichtung zu verarbeiten sind, und in diese Speichereinrichtung werden auch die von der Logik erzeugten Daten geschrieben.The Data to be processed by the core is shown in the example in the aforementioned storage device stored, and in this storage device also from the Core generated data written. Are in this storage device also the data stored by that formed by the logic second data processing device to be processed, and in this storage device also becomes the data generated by the logic written.

Die Speichereinrichtung ist ein flüchtiger Speicher wie beispielsweise ein RAM und umfaßt mehrere Speicherbänke, wobei durch jeden Lesezugriff auf die Speichereinrichtung Daten aus mehreren oder allen Speicherbänken aus der Speichereinrichtung ausgegeben werden, und wobei durch jeden Schreibzugriff auf die Speichereinrichtung Daten in mehrere oder alle Speicherbänke geschrieben werden.The Storage device is volatile memory such as RAM and includes multiple memory banks, where with each read access to the memory device, data from several or all memory banks are output from the memory device, and with each write access data is written to several or all of the memory banks on the memory device become.

Die durch die Logik realisierte zweite Datenverarbeitungseinrichtung kann erheblich einfacher aufgebaut sein als die durch den Core der programmgesteuerten Einheit repräsentierte erste Datenverarbeitungseinrichtung: sie muß insbesondere nicht auf die Speichereinrichtung zugreifen können, in welcher die von ihr zu verarbeitenden Daten gespeichert sind und in welcher die von ihr erzeugten Daten zu speichern sind, und sie muß auch kein Programm ausführen können; sie muß "nur" ihr zugeführte Daten auf eine vorgegebene Art und Weise verarbeiten können. Das Auslesen der von der Logik zu verarbeitenden Daten aus der Speichereinrichtung und das Einschreiben der von der Logik erzeugten Daten in die Speichereinrichtung erfolgt durch den Core der programmgesteuerten Einheit. Genauer gesagt ist es so, daß die Daten, die durch einen Lesezugriff des Core auf die Speichereinrichtung aus der Speichereinrichtung ausgelesen werden, sowohl vom Core zu verarbeitende Daten als auch von der Logik zu verarbeitende Daten umfassen, und daß die durch einen Schreibzugriff des Core auf die Speichereinrichtung in die Speichereinrichtung geschrie benen Daten sowohl im Core erzeugte Daten als auch in der Logik erzeugte Daten umfassen.The second data processing device implemented by the logic can be much simpler than the core of the represented program-controlled unit first data processing device: in particular, it does not have to relate to the Storage device can access in which the data to be processed are stored and in which the data generated by it are to be stored, and it must also do not run a program can; it "only" has to be supplied with data can process in a given way. Reading the from the logic data to be processed from the storage device and writing the data generated by the logic into the memory device is done by the core of the program-controlled unit. More accurate it is said that the Data that is read by the core to the storage device can be read from the memory device, both to be processed by the core Data, as well as data to be processed by logic, and that the by write access by the core to the memory device in the memory device written data both generated in the core Data as well as data generated in logic include.

Die die zweite Datenverarbeitungseinrichtung bildende Logik kann, muß aber nicht, eine konfigurierbare Logik sein, die bei Bedarf umkonfiguriert werden kann.The the logic forming the second data processing device can, but need not, be configurable logic that can be reconfigured if necessary can.

Im folgenden werden verschiedene Ausführungsbeispiele einer solchen Anordnung beschrieben.in the The following are various embodiments of such Arrangement described.

Das erste Ausführungsbeispiel ist in 1 gezeigt. Die in der 1 gezeigte Anordnung enthält eine durch einen Core C einer programmgesteuerten Einheit gebildete erste Datenverarbeitungseinrichtung, eine durch eine Logik L gebildete zweite Datenverarbeitungseinrichtung, eine Speichereinrichtung S, und einen Multiplexer MUX3.The first embodiment is in 1 shown. The in the 1 The arrangement shown contains a first data processing device formed by a core C of a program-controlled unit, a second data processing device formed by logic L, a storage device S, and a multiplexer MUX3.

Die Speichereinrichtung S enthält im betrachteten Beispiel zwei Speicherbänke B1 und B2, und weist einen Write Port WP, und einen Read Port RP auf. Über den Write Port WP werden der Speichereinrichtung die in diese einzuschreibenden Daten zugeführt, und über den Read Port RP werden die aus der Speichereinrichtung auszugebenden Daten aus dieser ausgegeben. Genauer gesagt

  • – werden über den Write Port WP der Speichereinrichtung zugeführte Daten D1 in die Speicherbank B1, und der Speichereinrichtung zugeführte Daten D2 in die Speicherbank B2 geschrieben, und
  • – werden über den Read Port RP aus der Speicherbank B1 stammende Daten D3 und aus der Speicherbank B2 stammende Daten D4 ausgegeben.
In the example considered, the memory device S contains two memory banks B1 and B2 and has a write port WP and a read port RP on. The data to be written into the memory device are fed via the write port WP, and the data to be output from the memory device are output from the memory device via the read port RP. More specifically
  • - Data D1 supplied to the memory device are written to the memory bank B1 via the write port WP, and data D2 supplied to the memory device are written to the memory bank B2, and
  • - Data D3 originating from memory bank B1 and data D4 originating from memory bank B2 are output via the read port RP.

Der Speichereinrichtung S wird darüber hinaus eine vom Core C erzeugte Adresse A zugeführt. Die Adresse A wird sowohl an die erste Speicherbank B1 als auch an die zweite Speicherbank B2 angelegt.The Storage device S is about it also supplied an address A generated by the core C. The address A is both to the first memory bank B1 as well as to the second memory bank B2 created.

Die Speichereinrichtung S ist ein sogenanntes interleaved memory. D.h., die Speicherbänke B1 und B2 sind so verschaltet, daß durch aufeinanderfolgende Adressen verschiedene Speicherbänke angesprochen werden. Bezüglich näherer Einzelheiten zu einer solchen Speichereinrichtung wird auf John L. Hennessy & David A. Patterson, Computer architecture: a quantitative approach, 1990, Morgan Kaufmann Publishers, ISBN 1-55880-069-8, Seite 429 verwiesen.The Storage device S is a so-called interleaved memory. that is, the memory banks B1 and B2 are connected so that successive Addresses different memory banks be addressed. In terms of closer Details of such a storage device can be found in John L. Hennessy & David A. Patterson, Computer architecture: a quantitative approach, 1990, Morgan Kaufmann Publishers, ISBN 1-55880-069-8, page 429.

Im betrachteten Beispiel ist es so, daß der Speicherbank B1 die geraden Adressen zugeordnet sind, und der Speicherbank B2 die ungeraden Adressen.in the Considered example, the memory bank B1 is the even one Addresses are assigned, and the memory bank B2 is the odd one Addresses.

Der Core C enthält eine Befehlsausführungseinheit EU, und Multiplexer MUX1 und MUX2.The Core C contains a command execution unit EU, and multiplexers MUX1 and MUX2.

Die Befehlsausführungseinheit EU führt ein Programm aus, das in einem in der 1 nicht gezeigten Programmspeicher gespeichert ist. Die das Programm repräsentierenden Befehle werden durch eine in der 1 ebenfalls nicht gezeigte, im Core C vorgesehene Befehlsholeinheit aus dem Programmspeicher geholt. Durch das von der Befehlsausführungseinheit EU ausgeführte Programm wird der Befehlsausführungseinheit EU vorgegeben, welche der in der Speichereinrichtung S gespeicherten Daten sie wie zu verarbeiten hat, und an welche Stelle innerhalb der Speichereinrichtung S die dabei erzeugten Daten zu schreiben sind. Der Core C holt die von der Befehlsausführungseinheit EU zu verarbeitenden Daten aus der Speichereinrichtung S; die der Befehlsausführungseinheit EU daraufhin zugeführten und von dieser zu verarbeiteten Daten sind in der 1 mit D34 bezeichnet. Die Befehlsausführungseinheit EU verarbeitet diese Daten auf die durch das Programm vorgegebene Art und Weise, und erzeugt dabei Daten D11 und/oder D21.The command execution unit EU executes a program that is in a in the 1 program memory, not shown, is stored. The commands representing the program are indicated by a in the 1 fetched instruction fetch unit, also not shown, provided in the core C from the program memory. The program executed by the command execution unit EU tells the command execution unit EU which of the data stored in the memory device S it has to process and how and to which position within the memory device S the data to be written is to be written. The core C fetches the data to be processed by the command execution unit EU from the storage device S; the data then supplied to the command execution unit EU and to be processed by it are in the 1 designated D34. The command execution unit EU processes this data in the manner specified by the program and thereby generates data D11 and / or D21.

Anschließend schreibt der Core C die Daten D11 und/oder D21 in die Speichereinrichtung S.Then writes the core C stores the data D11 and / or D21 in the storage device S.

Der erwähnte Multiplexer MUX1 ist zwischen dem Read Port RP der Speichereinrichtung S und der Befehlsausführungseinheit EU angeordnet. Der Multiplexer MUX1 weist zwei Eingangsanschlüsse, einen Ausgangsanschluß, und einen in der 1 nicht gezeigten Steueranschluß auf, wobei an die Eingangsanschlüsse die aus der Speichereinrichtung S ausgegebenen Daten D3 und D4 angelegt werden, aus dem Ausgangsanschluß die Daten D34 ausgegeben werden, und durch den Steueranschluß bestimmt wird, ob die ausgegebenen Daten D 34 die Daten D3 oder die Daten D4 sind.The aforementioned multiplexer MUX1 is arranged between the read port RP of the memory device S and the command execution unit EU. The multiplexer MUX1 has two input ports, one output port, and one in the 1 Control port, not shown, with the data D3 and D4 output from the memory device S being applied to the input ports, the data D34 being output from the output port, and the control port determining whether the output data D 34 is the data D3 or the data D4 are.

Der erwähnte Multiplexer MUX2 ist zwischen der Befehlsausführungseinheit EU und dem Write Port WP der Speichereinrichtung S angeordnet. Der Multiplexer MUX2 weist zwei Eingangsanschlüsse, einen Ausgangsanschluß, und einen in der 1 nicht gezeigten Steueranschluß auf, wobei an die Eingangsanschlüsse die aus der Befehlsausführungseinheit EU ausgegebenen Daten D11 und aus der Logik ausgegebene Daten D12 angelegt werden, aus dem Ausgangsanschluß die Daten D1 ausgegeben werden, und durch den Steueranschluß bestimmt wird, ob die ausgegebenen Daten D1 die Daten D11 oder die Daten D12 sind.The aforementioned multiplexer MUX2 is arranged between the command execution unit EU and the write port WP of the memory device S. The multiplexer MUX2 has two input connections, one output connection, and one in the 1 Control port, not shown, applied to the input ports, the data D11 output from the command execution unit EU and data D12 output from the logic, the data D1 are output from the output port, and the control port determines whether the output data D1 is the data D11 or the data is D12.

Der Logik L werden die vom Multiplexer MUX1 ausgegebenen Daten D34 sowie die Daten D4 als Eingangs-Daten zugeführt. Die Logik L verarbeitet zumindest Teile dieser Daten auf eine vorgegebene Art und Weise und erzeugt als Ergebnis die bereits erwähnten Daten D12 und/oder Daten D22.The Logic L are the data D34 and the output from the multiplexer MUX1 the data D4 are supplied as input data. The logic L processes at least parts of this data in a predetermined manner and as a result generates the data D12 and / or data already mentioned D22.

Der erwähnte Multiplexer MUX3 ist zwischen dem Core C sowie der Logik L und dem Write Port WP der Speichereinrichtung S angeordnet. Der Multiplexer MUX3 weist zwei Eingangsanschlüsse, einen Ausgangsanschluß, und einen in der 1 nicht gezeigten Steueranschluß auf, wobei an die Eingangsanschlüsse die aus der Befehlsausführungseinheit EU ausgegebe nen Daten D21 und aus der Logik ausgegebene Daten D22 angelegt werden, aus dem Ausgangsanschluß die Daten D2 ausgegeben werden, und durch den Steueranschluß bestimmt wird, ob die ausgegebenen Daten D1 die Daten D21 oder die Daten D22 sind.The aforementioned multiplexer MUX3 is arranged between the core C and the logic L and the write port WP of the memory device S. The multiplexer MUX3 has two input connections, one output connection, and one in the 1 Control port, not shown, are applied to the input ports, the data D21 issued from the command execution unit EU and data output from the logic D22, the data D2 are output from the output port, and the control port determines whether the output data D1 is the Data D21 or data D22.

Im betrachteten Beispiel umfassen sämtliche Daten, d.h. D1, D2, D3, D4, D11, D12, D21, D22, und D34 jeweils 16 Bits. Es dürfte jedoch einleuchten, daß die Anzahl der Bits, die die genannten Daten jeweils umfassen, auch beliebig viel größer oder kleiner sein kann.in the considered example include all data, i.e. D1, D2, D3, D4, D11, D12, D21, D22, and D34 each have 16 bits. It should however, it is clear that the Number of bits that each include the specified data, too any much larger or can be smaller.

Wenn der Core C durch einen entsprechenden Befehl dazu veranlaßt wird, in der Speichereinrichtung S gespeicherte Daten zu verarbeiten, führt er einen entsprechenden Lesezugriff auf die Speichereinrichtung S aus, um die zu verarbeitenden Daten aus der Speichereinrichtung S auszulesen. Die Durchführung des Lesezugriffes umfaßt die Erzeugung einer Adresse zur Adressierung der Speichereinrichtung S. Von dieser Adresse wird das niederwertigste Bit an den Steueranschluß des Multiplexers MUX1 angelegt, und die restlichen Bits werden als Adresse A zur Adressierung der Speichereinrichtung S verwendet.When the Core C is caused to do so by an appropriate command, it is in memory direction S to process stored data, it carries out a corresponding read access to the storage device S in order to read out the data to be processed from the storage device S. The execution of the read access comprises the generation of an address for addressing the memory device S. Of this address, the least significant bit is applied to the control connection of the multiplexer MUX1, and the remaining bits are used as address A for addressing the memory device S.

Durch den Lesezugriff auf die Speichereinrichtung S werden gleichzeitig Daten D3 aus der Speicherbank B1 und Daten D4 aus der Speicherbank B2 ausgegeben, wobei die Daten D4 unter der Adresse gespeichert sind, die der Adresse folgt, unter welcher die Daten D3 gespeichert sind.By read access to the memory device S will be simultaneous Data D3 from memory bank B1 and data D4 from memory bank B2 is output, the data D4 being stored under the address which follows the address at which the data D3 is stored are.

Die aus der Speichereinrichtung S im Ansprechen auf einen Lesezugriff ausgegebene Datenmenge ist größer als die Datenmenge, die die Befehlsausführungseinheit EU auf einmal verarbeiten kann; die Befehlsausführungseinheit kann im betrachteten Beispiel nur entweder die Daten D3 oder die Daten D4 verarbeiten.The from the memory device S in response to a read access amount of data output is greater than the amount of data that the instruction execution unit EU at one time can process; the command execution unit can in the example considered only process either data D3 or data D4.

Von den aus der Speichereinrichtung S ausgegebenen Daten werden der Befehlsausführungseinheit EU nur die von ihr zu verarbeitenden Daten, also entweder die Daten D3 oder die Daten D4 zugeführt. Die Auswahl der der Befehlsausführungseinheit EU zugeführten Daten erfolgt durch den Multiplexer MUX1 in Abhängigkeit vom niederwertigsten Bit der vom Core erzeugten Adresse. Bei dem in der 1 dargestellten Beispiel werden der Befehlsausführungseinheit EU die Daten D3 zugeführt.Of the data output from the memory device S, only the data to be processed, ie either the data D3 or the data D4, are supplied to the command execution unit EU. The data supplied to the instruction execution unit EU are selected by the multiplexer MUX1 depending on the least significant bit of the address generated by the core. The one in the 1 In the example shown, the data D3 are supplied to the command execution unit EU.

Gleichzeitig mit der Zuführung der der Befehlsausführungseinheit EU zugeführten Daten werden auch der Logik L aus der Speichereinrichtung S ausgegebene Daten zugeführt, und zwar im betrachteten Beispiel sowohl die Daten D3 und D4.simultaneously with the feeder that of the command execution unit EU imported Data is also output to the logic L from the storage device S. Data supplied, in the example considered, both the data D3 and D4.

Die Befehlsausführungseinheit EU erzeugt aus den ihr zugeführten Daten die vorstehend bereits erwähnten Daten D11 und/oder die vorstehend ebenfalls bereits erwähnten Daten D21; die Logik L erzeugt aus den ihr zugeführten Daten die vorstehend bereits erwähnten Daten D12 und/oder die vorstehend ebenfalls bereits erwähnten Daten D22.The Instruction execution unit EU generates from the supplied Data the ones already mentioned Data D11 and / or the data already mentioned above D21; the logic L already generates the above from the data supplied to it mentioned Data D12 and / or the data already mentioned above D22.

Die von der Befehlsausführungseinheit EU und/oder die von der Logik L erzeugten und ausgegebenen Daten werden über die Multiplexer MUX2 und MUX3 in die Speichereinrichtung S geschrieben. Die Multiplexer MUX2 und MUX3 können unabhängig voneinander beliebig angesteuert werden. Die Ansteuerung der Multiplexer erfolgt durch den Core C.The from the command execution unit EU and / or the data generated and output by logic L. are about the multiplexers MUX2 and MUX3 are written in the memory device S. The MUX2 and MUX3 multiplexers can independently of each other can be controlled as desired. The multiplexers are controlled through the Core C.

Im betrachteten Beispiel sind die gleichzeitig aus der Speichereinrichtung S ausgegebenen Daten D3 und D4 unterschiedliche Informationen repräsentierende Elemente eines die Daten D3 und D4 umfassenden Datensatzes. Gleiches gilt für die in die Speichereinrichtung S geschriebenen Daten D1 und D2. Vorliegend repräsentieren die Daten D1 und D3 den Realteil einer komplexen Zahl, und die Daten D2 und D4 den Imaginärteil dieser komplexen Zahl.in the Examples considered are those from the storage device at the same time S output data D3 and D4 representing different information Elements of a data record comprising data D3 and D4. The same applies to the data D1 and D2 written in the storage device S. present represent the data D1 and D3 the real part of a complex number, and the data D2 and D4 the imaginary part this complex number.

Der Core C verarbeitet die den Realteil repräsentierenden Daten D3, und erzeugt dabei Daten D11, und die Logik L verarbeitet die den Imaginärteil repräsentierenden Daten und erzeugt hierbei Daten D22. Die Multiplexer MUX2 und MUX3 werden so angesteuert, daß die Daten D11 in die Speicherbank B1 geschrieben werden, und die Daten D22 in die Speicherbank B2.The Core C processes the data D3, and representing the real part generates data D11, and the logic L processes those representing the imaginary part Data and thereby generates data D22. The MUX2 and MUX3 multiplexers are controlled so that the Data D11 are written into memory bank B1, and the data D22 into memory bank B2.

Wenn die Befehlsausführungseinheit EU die den Imaginärteil repräsentierenden Daten D4 zugeführt werden würden, würde sie bei der Verarbeitung dieser Daten die Daten D21 erzeugen, und die Logik L würde die den Realteil repräsentierenden Daten D3 verarbeiten und hierbei die Daten D12 erzeugen. Die Multiplexer MUX2 und MUX3 würden dann so angesteuert werden, daß die Daten D21 in die Speicherbank B2 geschrieben werden, und die Daten D12 in die Speicherbank B1.If the command execution unit EU the imaginary part representing Data D4 supplied would be she would generate the data D21 when processing this data, and the Logic L would that represent the real part Process data D3 and thereby generate data D12. The multiplexers MUX2 and MUX3 would then be controlled so that the Data D21 are written into memory bank B2, and the data D12 into memory bank B1.

Es wäre auch möglich, daß die Logik L sowohl die den Realteil repräsentierenden Daten D3 als auch die den Imaginärteil repräsentierenden Daten D4 verarbeitet und hierbei die Daten D12 und D22 erzeugt. Die Multiplexer MUX2 und MUX3 würden dann so angesteuert werden, daß die Daten D12 in die Speicherbank B1 geschrieben werden, und die Daten D22 in die Speicherbank B2.It would be too possible, that the Logic L both the data D3 representing the real part and the the imaginary part representing Processed data D4 and generated data D12 and D22. The multiplexers MUX2 and MUX3 would then be controlled so that the Data D12 are written into memory bank B1, and the data D22 into memory bank B2.

Es dürfte einleuchten und bedarf keiner näheren Erläuterung, daß die Daten D3 und D4 auch beliebige andere zusammengehörende Informationen repräsentieren können, beispielsweise die x- und y-Koordinaten eines Punktes, oder bestimmte Elemente einer Matrix.It might illuminate and need no closer Explanation, that the Data D3 and D4 also any other related information represent can, for example the x and y coordinates of a point, or certain Elements of a matrix.

Die einen Datensatz repräsentierenden Daten D3 und D4 werden durch einen einzigen Lesezugriff des Core C auf die Speichereinrichtung S aus dieser ausgelesen, und teils durch die Befehlsausführungseinheit EU des Core C, und teils durch die Logik L verarbeitet. Die bei der Verarbeitung der Daten D3 und D4 durch die Befehlsausführungseinheit EU des Core C und durch die Logik L erzeugten und ausgegebenen Daten werden durch einen einzigen Schreibzugriff des Core C auf die Speichereinrichtung S in diese eingeschrieben. Dadurch kommt man mit einer minimalen Anzahl von Lesezugriffen und/oder Schreibzugriffen auf die Speichereinrichtung S aus. Dadurch müssen weniger Zugriffe auf die Speichereinrichtung S erfolgen als es der Fall wäre, wenn sowohl der Core C als auch die Logik L auf die Speichereinrichtung S zugreifen würden, und dies wiederum hat den positiven Effekt, daß die Datenmenge, die pro Zeiteinheit aus der Speichereinrichtung S ausgelesen werden kann, und die Datenmenge, die pro Zeiteinheit in die Speichereinrichtung S eingeschrieben werden kann, größer ist als es der Fall wäre, wenn sowohl der Core C als auch die Logik L auf die Speichereinrichtung zugreifen würden. Durch die effizienteren Zugriffe auf die Speichereinrichtung S können der Core C und die Logik L schneller arbeiten, und dementsprechend erhöht sich die Leistungsfähigkeit des Systems.The data D3 and D4 representing a data record are read out of the memory device S by a single read access by the core C, and are processed in part by the command execution unit EU of the core C and in part by the logic L. The data generated and output during the processing of the data D3 and D4 by the command execution unit EU of the core C and by the logic L are written into the memory device S by a single write access by the core C to the memory device S. This means that a minimal number of read accesses and / or write accesses to the memory device S is sufficient. This means less access to the Storage device S takes place as would be the case if both the core C and the logic L would access the storage device S, and this in turn has the positive effect that the amount of data that can be read out from the storage device S per unit time and the amount of data that can be written into the memory device S per unit of time is greater than would be the case if both the core C and the logic L were to access the memory device. Due to the more efficient access to the memory device S, the core C and the logic L can work faster, and accordingly the performance of the system increases.

Die vorstehend unter Bezugnahme auf die 1 beschriebene Anordnung läßt sich in verschiedenerlei Hinsicht modifizieren.The above with reference to the 1 The arrangement described can be modified in various ways.

Eine erste Abwandlung ist in 2 gezeigt.A first variation is in 2 shown.

Die in der 2 gezeigte Anordnung entspricht großteils der in der 1 gezeigten Anordnung. Mit den gleichen Bezugszeichen bezeichnete Komponenten sind gleiche oder einander entsprechende Komponenten.The in the 2 arrangement shown largely corresponds to that in the 1 shown arrangement. Components identified by the same reference numerals are identical or corresponding components.

Die in der 2 gezeigte Anordnung unterscheidet sich von der in 1 gezeigten Anordnung, daß sie keine Multiplexer MUX1 und MUX3 aufweist.The in the 2 arrangement shown differs from that in 1 shown arrangement that it has no multiplexers MUX1 and MUX3.

Das Weglassen des Multiplexers MUX1 hat zur Folge, daß der Befehlsausführungseinheit nur die Daten D3 oder nur die Daten D4 zugeführt werden können; in dem in der 2 dargestellten Beispiel werden der Befehlsausführungseinheit EU nur die Daten D3 zugeführt. Dies wiederum hat zur Folge, daß die Befehlsausführungseinheit EU nur Daten D11 erzeugen kann, und keine Daten D21.The omission of the multiplexer MUX1 has the consequence that only the data D3 or only the data D4 can be supplied to the command execution unit; in the in the 2 In the example shown, only the data D3 are supplied to the command execution unit EU. This in turn means that the command execution unit EU can only generate data D11 and no data D21.

Weil keine Daten D21 erzeugt werden, kann auch der Multiplexer MUX3 weggelassen werden, und werden stets die von der Logik L erzeugten Daten D22 in die Speicherbank B2 der Speichereinrichtung S geschrieben.Because If no data D21 are generated, the multiplexer MUX3 can also be omitted and will always be the data D22 generated by the logic L. written in the memory bank B2 of the memory device S.

Eine weitere Abwandlung der in der 1 gezeigten Anordnung ist in 3 dargestellt.Another modification of the in the 1 arrangement shown is in 3 shown.

Die in der 3 gezeigte Anordnung entspricht ebenfalls großteils der in der 1 gezeigten Anordnung. Mit den gleichen Bezugszeichen bezeichnete Komponenten sind gleiche oder einander entsprechende Komponenten.The in the 3 arrangement shown also largely corresponds to that in the 1 shown arrangement. Components identified by the same reference numerals are identical or corresponding components.

Die in der 3 gezeigte Anordnung unterscheidet sich von der in 1 gezeigten Anordnung dadurch, daß sie keinen Multiplexer MUX2 aufweist, und daß der Logik L nur die Daten D4 zugeführt werden.The in the 3 arrangement shown differs from that in 1 shown arrangement in that it has no multiplexer MUX2 and that only the data D4 are supplied to the logic L.

Weil der Logik L die Daten D3 nicht zugeführt werden, kann sie keine Daten D12 erzeugen. Dies ermöglicht es, dem Multiplexer MUX2 wegzulassen und stets die von der Befehlsausführungseinheit erzeugten Daten D11 in die Speicherbank B1 der Speichereinrichtung S zu schreiben.Because the data L3 cannot be supplied to the logic L, it cannot Generate data D12. this makes possible it to omit the multiplexer MUX2 and always that of the instruction execution unit generated data D11 in the memory bank B1 of the memory device S to write.

Eine weitere Abwandlung der in der 1 gezeigten Anordnung ist in 4 dargestellt.Another modification of the in the 1 arrangement shown is in 4 shown.

Die in der 4 gezeigte Anordnung entspricht ebenfalls großteils der in der 1 gezeigten Anordnung. Mit den gleichen Bezugszeichen bezeichnete Komponenten sind gleiche oder einander entsprechende Komponenten.The in the 4 arrangement shown also largely corresponds to that in the 1 shown arrangement. Components identified by the same reference numerals are identical or corresponding components.

Die in der 4 gezeigte Anordnung unterscheidet sich von der in 1 gezeigten Anordnung durch den Aufbau der Spei chereinrichtung S. Genauer gesagt wird die Speichereinrichtung S der in der 4 gezeigten Anordnung nicht durch ein interleaved memory gebildet, sondern durch im Adressraum aufeinanderfolgende Speicherbänke.The in the 4 arrangement shown differs from that in 1 arrangement shown by the structure of the storage device S. More specifically, the storage device S is in the 4 shown arrangement is not formed by an interleaved memory, but by successive memory banks in the address space.

Eine weitere Abwandlung der in der 1 gezeigten Anordnung ist in 5 dargestellt.Another modification of the in the 1 arrangement shown is in 5 shown.

Die in der 5 gezeigte Anordnung entspricht ebenfalls großteils der in der 1 gezeigten Anordnung. Mit den gleichen Bezugszeichen bezeichnete Komponenten sind gleiche oder einander entsprechende Komponenten.The in the 5 arrangement shown also largely corresponds to that in the 1 shown arrangement. Components identified by the same reference numerals are identical or corresponding components.

Bei der in der 5 gezeigten Anordnung umfaßt der durch einen einzigen Lesezugriff auf die Speichereinrichtung S aus der Speichereinrichtung ausgelesene Datensatz vier Datenelemente D3, D4, D7 und D8, und umfaßt der durch einen einzigen Schreibzugriff auf die Speichereinrichtung S in die Speichereinrichtung geschriebene Datensatz vier Datenelemente D1, D2, D5, und D6.At the in the 5 As shown, the data record read from the memory device by a single read access to the memory device S comprises four data elements D3, D4, D7 and D8, and the data record written to the memory device by a single write access to the memory device S comprises four data elements D1, D2, D5 , and D6.

Folglichconsequently

  • – umfaßt die Speichereinrichtung S vier Speicherbänke B1 bis B4- Includes the storage device S four memory banks B1 to B4
  • – weist der Multiplexer MUX1 vier Eingangsanschlüsse auf, wobei an diese Anschlüsse die Daten D3, D4, D7 und D8 angelegt werden,- points the multiplexer MUX1 has four input connections, to which connections the Data D3, D4, D7 and D8 are created,
  • – wird der Multiplexer MUX1 durch die zwei niederwertigsten Bits der durch den Core erzeugten Adresse gesteuert,- becomes the multiplexer MUX1 through the two least significant bits of the controlled the core generated address,
  • – verarbeitet die Befehlsausführungseinheit EU die Daten D3 und erzeugt hierbei Daten D11, oder verarbeitet die Befehlsausführungseinheit EU die Daten D4 und erzeugt hierbei Daten D21, oder verarbeitet die Befehlsausführungs einheit EU die Daten D7 und erzeugt hierbei Daten D31, oder verarbeitet die Befehlsausführungseinheit EU die Daten D8 und erzeugt hierbei Daten D41,- processed the command execution unit EU the data D3 and thereby generates data D11, or processes the command execution unit EU the data D4 and generates data D21, or processes the command execution unit EU the data D7 and thereby generates data D31, or processes the command execution unit EU the data D8 and thereby generates data D41,
  • – weist die Logik L vier Eingangsanschlüsse für die Zuführung der zu verarbeitenden Daten auf,- points the logic L four input connections for the feed the data to be processed,
  • – werden der Logik L die Daten D34, D4, D7 und D8 zugeführt,- become the logic L is supplied with the data D34, D4, D7 and D8,
  • – verarbeitet die Logik L die Daten D34 und erzeugt hierbei Daten D12, oder verarbeitet die Logik L die Daten D4 und erzeugt hierbei Daten D22, oder verarbeitet die Logik L die Daten D7 und erzeugt hierbei Daten D32, oder verarbeitet die Logik L die Daten D8 und erzeugt hierbei Daten D42,- processed the logic L the data D34 and thereby generates data D12, or processes the logic L the data D4 and thereby generates data D22, or processes the logic L the data D7 and thereby generates data D32, or processes the logic L generates the data D8 and thereby generates data D42,
  • – sind zwei weitere Multiplexer MUX4 und MUX 5 vorgesehen, wobei der Multiplexer MUX4 die Daten D31 und D32 zugeführt bekommt, und entweder die Daten D31 oder die Daten D32 an die Speichereinrichtung S, genauer gesagt an die dritte Speicherbank B3 derselben weiterleitet, und wobei der Multiplexer MUX5 die Daten D41 und D42 zugeführt bekommt, und entweder die Daten D41 oder die Daten D42 an die Speichereinrichtung S, genauer gesagt an die vierte Speicherbank B4 derselben weiterleitet.- are two further multiplexers MUX4 and MUX 5 are provided, the multiplexer MUX4 the data D31 and D32 supplied gets, and either the data D31 or the data D32 to the storage device S, more specifically to the third memory bank B3, and the multiplexer MUX5 receives the data D41 and D42, and either the data D41 or the data D42 to the storage device S, more specifically to the fourth memory bank B4.

Die einen Datensatz bildenden Daten D1, D2, D5 und D6 bzw. D3, D4, D7 und D8 repräsentieren beispielsweise einen durch vier 16-Bit-Integer-Zahlen definierten Vektor.The data D1, D2, D5 and D6 or D3, D4, D7 forming a data record and D8 represent for example one defined by four 16-bit integers Vector.

Der Vollständigkeit halber sei angemerkt, daß ein Datensatz eine beliebige Anzahl von zusammengehörenden Datenelementen umfassen kann. Diese Anzahl muß auch weder eine Potenz von 2, noch eine gerade Zahl sein.The completeness for the sake of note it should be noted that a Record include any number of related data elements can. This number must also be neither a power of 2 nor an even number.

Die vorstehend unter Bezugnahme auf die 2 bis 5 beschriebenen Abwandlungen der in der 1 gezeigten Anordnung können beliebig miteinander kombiniert werden.The above with reference to the 2 to 5 Variations described in the 1 The arrangement shown can be combined with one another as desired.

Darüber hinaus sind weitere Abwandlungen möglich.Furthermore further modifications are possible.

Beispielsweise kann vorgesehen werden, daß die Logik L Bestandteil der programmgesteuerten Einheit ist.For example can be provided that the Logic L is part of the program-controlled unit.

Die zweite Datenverarbeitungseinrichtung muß auch nicht eine Logik sein, sondern kann auch ein zweiter Core bzw. eine zweite CPU der programmgesteuerten Einheit sein.The second data processing device also need not be logic, but can also a second core or a second CPU of the program-controlled Unity.

Die zweite Datenverarbeitungseinrichtung kann auch eine zweite Befehlsausführungseinheit des Core C sein.The second data processing device can also be a second command execution unit of the Be core C.

Das beschriebene System kann auch mehrere zweite Datenverarbeitungseinrichtungen aufweisen.The The system described can also have several second data processing devices exhibit.

Darüber hinaus besteht auch keine zwingende Notwendigkeit, daß die Speichereinrichtung, in welche die von den beiden Datenverarbeitungseinrichtungen erzeugten Daten geschrieben werden, die Speichereinrichtung ist, in welcher die von den Datenverarbeitungseinrichtungen zu verarbeitenden Daten gespeichert sind.Furthermore there is also no imperative that the storage device, into which those generated by the two data processing devices Data is written which is the storage device in which the data to be processed by the data processing devices are saved.

Die Speichereinrichtung kann auch außerhalb der programmgesteuerten Einheit vorgesehen sein.The Storage device can also be outside the program-controlled Unit may be provided.

Als Speichereinrichtung kann auch ein umprogrammierbarer nichtflüchtiger Speicher wie beispielsweise ein Flash-Speicher verwendet werden.As Storage device can also be a reprogrammable non-volatile Memory such as flash memory can be used.

Ferner besteht keine zwingende Notwendigkeit, die in den Figuren gezeigten Multiplexer vorzusehen; diese können beispielsweise durch Vorsehen von Speicherbank-Auswahlleitungen und Tristate-Datenbussen ersetzt werden.Further there is no imperative to those shown in the figures To provide multiplexers; these can for example by providing memory bank selection lines and Tristate data buses are replaced.

Das vorstehend beschriebene System ist unabhängig von den Einzelheiten der praktischen Realisierung erheblich leistungsfähiger als herkömmliche Systeme , aber nur unwesentlich komplizierter aufgebaut.The The system described above is independent of the details of the practical implementation considerably more powerful than conventional systems , but only slightly more complicated.

AA
Adresseaddress
BxBx
Speicherbankmemory bank
CC
CoreCore
Dxdx
DatenData
EUEU
BefehlsausführungseinheitInstruction execution unit
LL
Logiklogic
MUXxmuxx
Multiplexermultiplexer
RPRP
Read PortRead port
SS
Speichereinrichtungmemory device
WPWP
Write PortWrite port

Claims (21)

System mit einer Datenverarbeitungseinrichtung (C) zum Verarbeiten von Daten (D3, D4; D3, D4, D7, D8), und einer Speichereinrichtung (S) zum Speichern von Daten, wobei die Datenverarbeitungseinrichtung die von ihr zu verarbeitenden Daten durch entsprechende Lesezugriffe auf die Speichereinrichtung aus der Speichereinrichtung ausliest, und/oder in der Datenverarbeitungseinrichtung erzeugte Daten (D11; D11, D12; D11, D21, D31, D41) durch entsprechende Schreibzugriffe auf die Speichereinrichtung in die Speichereinrichtung schreibt, dadurch gekennzeichnet, daß die Daten (D3, D4; D3, D4, D7, D8), die durch einen Lesezugriff der Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) aus der Speichereinrichtung ausgelesen werden, sowohl von der Datenverarbeitungseinrichtung zu verarbeitende Daten als auch von einer zweiten Datenverarbeitungseinrichtung (L) zu verarbeitende Daten umfassen, und/oder daß die durch einen Schreibzugriff der ersten Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) in die Speichereinrichtung geschriebenen Daten (D1, D2; D1, D2, D5, D6) sowohl in der ersten Datenverarbeitungseinrichtung erzeugte Daten als auch in der zweiten Datenverarbeitungseinrichtung erzeugte Daten umfassen.System with a data processing device (C) for processing data (D3, D4; D3, D4, D7, D8), and a storage device (S) for storing data, the data processing device using the data to be processed by corresponding read accesses to the Reads the memory device from the memory device, and / or writes data generated in the data processing device (D11; D11, D12; D11, D21, D31, D41) by corresponding write accesses to the memory device in the memory device, characterized in that the data (D3, D4 ; D3, D4, D7, D8), which are read out from the storage device by a read access of the data processing device (C) to the storage device (S), both data to be processed by the data processing device and data to be processed by a second data processing device (L) include, and / or that by a write When the first data processing device (C) accessed the storage device (S), data (D1, D2; D1, D2, D5, D6) written in the first data processing device and data generated in the second data processing device. System nach Anspruch 1, dadurch gekennzeichnet, daß die erste Datenverarbeitungseinrichtung (C) der Core einer programmgesteuerten Einheit ist.System according to claim 1, characterized in that the first Data processing device (C) the core of a program-controlled Unity is. System nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Datenverarbeitungseinrichtung (L) eine außerhalb der programmgesteuerten Einheit vorgesehene Einrichtung ist.System according to claim 1, characterized in that the second Data processing device (L) outside the program-controlled unit intended facility is. System nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Datenverarbeitungseinrichtung (L) eine innerhalb der programmgesteuerten Einheit vorgesehene Einrichtung ist.System according to claim 1, characterized in that the second Data processing device (L) within the program-controlled unit intended facility is. System nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Datenverarbeitungseinrichtung (L) eine Logik ist, die die ihr zugeführten Daten einer vorgegebenen Operation unterzieht.System according to claim 1, characterized in that the second Data processing device (L) is a logic that the data supplied to it undergoes predetermined operation. System nach Anspruch 1, dadurch gekennzeichnet, daß von den Daten (D3, D4; D3, D4, D7, D8), die durch einen Lesezugriff der ersten Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) aus der Speichereinrichtung ausgelesen werden, die von der ersten Datenverarbeitungseinrichtung (C) zu verarbeitenden Daten der ersten Datenverarbeitungseinrichtung zugeführt werden, und die von der zweiten Datenverarbeitungseinrichtung (L) zu verarbeitenden Daten der zweiten Datenverarbeitungseinrichtung zugeführt werden.System according to claim 1, characterized in that of the Data (D3, D4; D3, D4, D7, D8), which are read by the first data processing device (C) onto the storage device (S) can be read out from the memory device by the first Data processing device (C) to process data of the first Data processing device are supplied, and by the second data processing device (L) data to be processed are fed to the second data processing device. System nach Anspruch 6, dadurch gekennzeichnet, daß zumindest Teile der der ersten Datenverarbeitungseinrichtung (C) zugeführten Daten auch der zweiten Datenverarbeitungseinrichtung (L) zugeführt werden.System according to claim 6, characterized in that at least Parts of the data supplied to the first data processing device (C) also are fed to the second data processing device (L). System nach Anspruch 6, dadurch gekennzeichnet, daß zumindest Teile der der zweiten Datenverarbeitungseinrichtung (L) zugeführten Daten auch der ersten Datenverarbeitungseinrichtung (C) zugeführt werden.System according to claim 6, characterized in that at least Parts of the data supplied to the second data processing device (L) can also be fed to the first data processing device (C). System nach Anspruch 1, dadurch gekennzeichnet, daß die Menge der Daten, die durch einen Lesezugriff der ersten Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) aus der Speichereinrichtung ausgelesen wird, größer ist als die Menge der Daten die die erste Datenverarbeitungseinrichtung auf einmal verarbeiten kann.System according to claim 1, characterized in that the quantity the data generated by a read access by the first data processing device (C) to the storage device (S) from the storage device is read out, is larger than the amount of data that the first data processing device can process at once. System nach Anspruch 6, dadurch gekennzeichnet, daß die der ersten Datenverarbeitungseinrichtung (C) zuzuführenden Daten und die der zweiten Datenverarbeitungseinrichtung (L) zuzuführenden Daten gleichzeitig aus der Speichereinrichtung (S) ausgegeben werden.System according to claim 6, characterized in that the to be fed to the first data processing device (C) Data and those to be fed to the second data processing device (L) Data are output simultaneously from the memory device (S). System nach Anspruch 6, dadurch gekennzeichnet, daß die der ersten Datenverarbeitungseinrichtung (C) zuzuführenden Daten und die der zweiten Datenverarbeitungseinrichtung (L) zuzuführenden Daten den Datenverarbeitungsvorrichtungen gleichzeitig zugeführt werden.System according to claim 6, characterized in that the to be fed to the first data processing device (C) Data and those to be fed to the second data processing device (L) Data are supplied to the data processing devices simultaneously. System nach Anspruch 1, dadurch gekennzeichnet, daß die Daten (D3, D4; D3, D4, D7, D8), die durch einen Lesezugriff der ersten Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) aus der Speichereinrichtung ausgelesen werden, zusammengehörende Datenelemente eines mehrere Datenelemente umfassenden Datensatzes sind, und daß ein Teil der Datenelemente durch die erste Datenverarbeitungseinrichtung (C) verarbeitet wird, und ein Teil der Datenelemente durch die zweite Datenverarbeitungseinrichtung (L) verarbeitet wird.System according to claim 1, characterized in that the Data (D3, D4; D3, D4, D7, D8), which are read by the first data processing device (C) onto the storage device (S) are read from the memory device, related data elements of a data set comprising several data elements, and that a part of the data elements by the first data processing device (C) is processed, and part of the data items by the second Data processing device (L) is processed. System nach Anspruch 1, dadurch gekennzeichnet, daß die Daten (D1, D2; D1, D2, D5, D6), die durch einen Schreibzugriff der ersten Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) in die Speichereinrichtung geschrieben werden, zusammengehörende Datenelemente eines mehrere Datenelemente umfassenden Datensatzes sind, und daß ein Teil der Datenelemente durch die erste Datenverarbeitungseinrichtung (C) erzeugt wird, und ein Teil der Datenelemente durch die zweite Datenverarbeitungseinrichtung (L) erzeugt wird.System according to claim 1, characterized in that the Data (D1, D2; D1, D2, D5, D6) by a write access of the first data processing device (C) onto the storage device (S) are written to the memory device, related data elements of a data set comprising several data elements, and that a part of the data elements by the first data processing device (C) is generated, and part of the data elements by the second Data processing device (L) is generated. System nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß eines der Datenelemente den Realteil einer komplexen Zahl repräsentiert, daß ein anderer Teil den Imaginärteil dieser komplexen Zahl repräsentiert, und daß eines der Datenelemente durch die erste Datenverarbeitungseinrichtung (C) verarbeitet wird, und daß das andere Datenelement durch die zweite Datenverarbeitungseinrichtung (L) verarbeitet wird.System according to claim 12 or 13, characterized in that that one the data elements represent the real part of a complex number, that another Part the imaginary part represents this complex number, and that one of the data elements by the first data processing device (C) is processed, and that the other data element by the second data processing device (L) is processed. System nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß die mehreren Datenelemente die Koordinaten eines Punktes repräsentieren.System according to claim 12 or 13, characterized in that that the several data elements represent the coordinates of a point. System nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß die mehreren Datenelemente einen Vektor repräsentieren.System according to claim 12 or 13, characterized in that that the represent a vector from several data elements. System nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß die mehreren Datenelemente Elemente einer Matrix sind.System according to claim 12 or 13, characterized in that that the several data elements are elements of a matrix. System nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß die Speichereinrichtung mehrere Speicherbänke aufweist, und daß die verschiedenen Datenelemente eines Datensatzes in verschiedenen Speicherbänken gespeichert sind bzw. gespeichert werden.System according to claim 12 or 13, characterized characterized in that the memory device has a plurality of memory banks and that the different data elements of a data record are stored in different memory banks. System nach Anspruch 18, dadurch gekennzeichnet, daß durch einen Lesezugriff der ersten Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) Daten aus mehreren oder allen Speicherbänken ausgelesen werden.System according to claim 18, characterized in that by read access by the first data processing device (C) the memory device (S) reads data from several or all memory banks become. System nach Anspruch 18, dadurch gekennzeichnet, daß durch einen Schreibzugriff der ersten Datenverarbeitungseinrichtung (C) auf die Speichereinrichtung (S) Daten in mehrere oder alle Speicherbänke geschrieben werden.System according to claim 18, characterized in that by write access by the first data processing device (C) data is written to several or all memory banks on the memory device (S) become. System nach Anspruch 18, dadurch gekennzeichnet, daß die Speichereinrichtung (S) durch ein interleaved memory gebildet wird.System according to claim 18, characterized in that the Storage device (S) is formed by an interleaved memory.
DE10313645.2A 2003-03-26 2003-03-26 System with a data processing device and a memory device Expired - Lifetime DE10313645B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10313645.2A DE10313645B4 (en) 2003-03-26 2003-03-26 System with a data processing device and a memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10313645.2A DE10313645B4 (en) 2003-03-26 2003-03-26 System with a data processing device and a memory device

Publications (2)

Publication Number Publication Date
DE10313645A1 true DE10313645A1 (en) 2004-10-28
DE10313645B4 DE10313645B4 (en) 2015-11-05

Family

ID=33038775

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10313645.2A Expired - Lifetime DE10313645B4 (en) 2003-03-26 2003-03-26 System with a data processing device and a memory device

Country Status (1)

Country Link
DE (1) DE10313645B4 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2458554A (en) * 2008-03-24 2009-09-30 Nvidia Corp Coalescing memory accesses from multiple threads in a parallel processing system
US8392669B1 (en) 2008-03-24 2013-03-05 Nvidia Corporation Systems and methods for coalescing memory accesses of parallel threads

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051889A (en) * 1987-10-23 1991-09-24 Chips And Technologies, Incorporated Page interleaved memory access
US20020118204A1 (en) * 1999-07-02 2002-08-29 Milivoje Aleksic System of accessing data in a graphics system and method thereof
DE19525099C2 (en) * 1995-06-29 2002-09-19 Abb Patent Gmbh Method for accessing memory locations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051889A (en) * 1987-10-23 1991-09-24 Chips And Technologies, Incorporated Page interleaved memory access
DE19525099C2 (en) * 1995-06-29 2002-09-19 Abb Patent Gmbh Method for accessing memory locations
US20020118204A1 (en) * 1999-07-02 2002-08-29 Milivoje Aleksic System of accessing data in a graphics system and method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2458554A (en) * 2008-03-24 2009-09-30 Nvidia Corp Coalescing memory accesses from multiple threads in a parallel processing system
GB2458554B (en) * 2008-03-24 2010-06-30 Nvidia Corp Systems and methods for coalescing memory accesses of parallel threads
US8086806B2 (en) 2008-03-24 2011-12-27 Nvidia Corporation Systems and methods for coalescing memory accesses of parallel threads
US8392669B1 (en) 2008-03-24 2013-03-05 Nvidia Corporation Systems and methods for coalescing memory accesses of parallel threads

Also Published As

Publication number Publication date
DE10313645B4 (en) 2015-11-05

Similar Documents

Publication Publication Date Title
DE19526007C2 (en) Horizontally partitioned instruction cache
DE69823180T2 (en) MEMORY ACCESS PROTECTION
DE69434728T2 (en) SYNCHRONIZATION SYSTEM AND METHOD IN A DATA CACHE SYSTEM WITH A SPLIT LEVEL
DE69727773T2 (en) Improved branch prediction in a pipeline microprocessor
DE3438869C2 (en)
DE4305442C2 (en) Method and device for generating a test vector
DE4410060B4 (en) Translating device for converting a virtual memory address into a physical memory address
DE60224774T2 (en) Data processing system with read, modify and write unit
DE102013018135B4 (en) Address bit remapping scheme for reducing an access resolution of DRAM accesses
DE19526960A1 (en) A translation cross-allocation buffer organization with variable page size mapping and victim cache
DE69732793T2 (en) EIGHT-BIT MICRO-CONTROLLER WITH RISC ARCHITECTURE
DE2758829A1 (en) MULTIPROCESSOR DATA PROCESSING SYSTEM
DE19526008A1 (en) Vertically partitioned primary instruction cache
DE3911721C2 (en)
DE19824289A1 (en) pipeline data processing system
DE69908772T2 (en) DEVICE WITH CONTEXT SWITCHING ABILITY
DE4234194A1 (en) SYSTEM AND METHOD FOR MEMORY SEGMENTATION FOR A MICROPROCESSOR
DE3919802A1 (en) Memory component with vector processors and a scalar processor
EP1449091B1 (en) Method for synchronising a memory with the main memory of a computer
DE3410497A1 (en) COMPUTER ARRANGEMENT
DE4302754C1 (en) Monolithic integrated data memory e.g. for access to data table or list - uses Hash function to generate memory address from data to be entered
DE10313645A1 (en) Data processing system for a program controlled unit in which memory access processes by different elements of the data processing system are combined to reduce the number of memory accesses and increase data transfer rates
DE2747304A1 (en) MICRO COMMAND DEVICE
DE60216016T2 (en) Microprocessor with maintenance of memory consistency
DE3015876A1 (en) ARRANGEMENT AND METHOD FOR A DIGITAL PROCESSOR FOR PRE-READING AN OPERATION CODE PART AND AN OPERATION PART OF A COMMAND WORD

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: INFINEON TECHNOLOGIES WIRELESS SOLUTIONS GMBH,, DE

8127 New person/name/address of the applicant

Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: PATENT- UND RECHTSANWAELTE KRAUS & WEISERT, DE

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R019 Grant decision by federal patent court
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ BETEILIGUNGS-GMBH & CO. KG, 85579 NEUBIBERG, DE

R082 Change of representative
R071 Expiry of right