DE102006061050A1 - Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung - Google Patents

Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung Download PDF

Info

Publication number
DE102006061050A1
DE102006061050A1 DE102006061050A DE102006061050A DE102006061050A1 DE 102006061050 A1 DE102006061050 A1 DE 102006061050A1 DE 102006061050 A DE102006061050 A DE 102006061050A DE 102006061050 A DE102006061050 A DE 102006061050A DE 102006061050 A1 DE102006061050 A1 DE 102006061050A1
Authority
DE
Germany
Prior art keywords
data processing
processing device
component
endian mode
data
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.)
Ceased
Application number
DE102006061050A
Other languages
English (en)
Inventor
Carsten Dr. Sydow
Gunther Fenzl
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.)
Infineon Technologies AG
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 DE102006061050A priority Critical patent/DE102006061050A1/de
Priority to US11/962,658 priority patent/US20080215653A1/en
Publication of DE102006061050A1 publication Critical patent/DE102006061050A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

Zur Unterstützung einer Multi-Endian-Konfiguration umfasst eine Datenverarbeitungsvorrichtung wenigstens eine erste und eine zweite Komponente, welche miteinander gekoppelt sind, wobei die erste Komponente in einem ersten Endian-Modus betreibbar ist, während die zweite Komponente in einem zweiten Endian-Modus betreibbar ist, welcher sich von dem ersten Endian-Modus unterscheidet. Bei dem ersten Endian-Modus kann es sich um einen Little-Endian-Modus handeln, während es sich bei dem zweiten Endian-Modus um einen Big-Endian-Modus handelt.

Description

  • Die vorliegende Erfindung betrifft eine Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung.
  • Bei Datenverarbeitungsvorrichtungen bzw. Computern ist der Speicher üblicherweise in Einheiten aufgeteilt, welche als Bytes bezeichnet werden. Ein Byte umfasst dabei typischerweise acht Bit, wobei jedes der Bits entweder einen Wert von 0 oder von 1 annehmen kann. Durch ein Byte sind somit Zahlenwerte von in dezimaler Darstellung 0-255 darstellbar. Zur Darstellung größerer Zahlenwerte ist die Verwendung mehrerer Bytes erforderlich, welche zu einem Datenwort zusammengesetzt werden. Zur Anordnung der einzelnen Bytes in dem Datenwort bestehen mehrere Möglichkeiten. Die Art und Weise, auf welche die Bytes angeordnet werden, wird hierin als Endian-Modus bezeichnet. Insbesondere ist in diesem Zusammenhang ein so genannter Little-Endian-Modus bekannt, bei welchem kleinwertige Bytes zuerst angeordnet werden. Weiterhin ist ein Big-Endian-Modus bekannt, bei welchem großwertige Bytes zuerst angeordnet werden. Einige Datenverarbeitungseinheiten und Betriebssysteme arbeiten in dem Little-Endian-Modus, während andere in dem Big-Endian-Modus arbeiten. Einige Datenverarbeitungseinheiten sowie Betriebssysteme sind in der Lage, sowohl den Little-Endian-Modus als auch den Big-Endian-Modus zu unterstützen. In diesem Fall ist eine Umschaltung zwischen dem Little-Endian-Modus und dem Big-Endian-Modus möglich. Der Endian-Modus beeinflusst sowohl die Hardware als auch die Software eines Datenverarbeitungssystems.
  • Als Embedded-Systeme werden hierin Datenverarbeitungsvorrichtungen bezeichnet, welche mehrere Datenverarbeitungseinheiten oder Prozessoren, Peripherieeinheiten und Verbindungsstrukturen beinhalten, typischerweise innerhalb einer einzigen integrierten Schaltung. Bei den Prozessoren kann es sich um zentrale Datenverarbeitungseinheiten (Central Processing Unit, CPU), digitale Signalprozessoren (Digital Signal Processor, DSP) oder Hardware-Beschleuniger handeln. Ein Betriebssystem wie Linux, WinCE oder ein proprietäres Betriebssystem wie Brillianto kann auf diesen Datenverarbeitungseinheiten ausgeführt werden. Jede Datenverarbeitungseinheit sowie das auf dieser Datenverarbeitungseinheit laufende Betriebssystem sind dazu ausgestaltet, entweder in dem Big-Endian-Modus oder dem Little-Endian-Modus zu arbeiten.
  • Peripherieeinheiten innerhalb eines Embedded-Systems dienen typischerweise als Schnittstelle der Datenverarbeitungseinheiten nach außen (beispielsweise ein DDR-SDRAM-Controller, eine USB-Schnittstelle, ein PCIe-Bus oder dergleichen), der Datenübertragung zwischen zwei Orten (beispielsweise ein DMA-Controller) oder der Unterstützung der Datenverarbeitungseinheiten, um die Datenverarbeitung zu beschleunigen (beispielsweise bei einer Verschlüsselung). Somit müssen auch die Peripherieeinheiten mit den unterschiedlichen Endian-Modi zurechtkommen.
  • Verbindungsstrukturen innerhalb eines Embedded-Systems können Busse wie beispielsweise ein Bus gemäß der Advanced-Microprocessor-Bus-Architecture (AMBA), gemäß der „Advanced-High-Performance (AHB)"-Spezifikation oder gemäß der „Flexible-Peripherals-Interface (FPI)"-Spezifikation sein. Weiterhin können als Verbindungsstrukturen auch so genannte Crossbars oder Koppelfelder verwendet werden. Allgemein müssen auch die Verbindungsstrukturen mit dem jeweiligen Endian-Modus der Datenverarbeitungseinheiten oder der Peripherieeinheiten zurechtkommen.
  • Bei bestehenden Lösungen für Systeme mit gemischter Endian-Konfiguration wird jedoch stets ein gemeinsamer Endian-Modus für die Prozessoren eines Embedded-Systems oder allgemeiner für die Komponenten einer Datenverarbeitungsvorrichtung gewählt.
  • Aufgabe der vorliegenden Erfindung ist es, eine Datenverarbeitungsvorrichtung bereitzustellen, welche eine verbesserte Unterstützung für gemischte Endian-Konfigurationen bietet.
  • Diese Aufgabe wird gelöst durch eine Datenverarbeitungsvorrichtung gemäß Patentanspruch 1. Die abhängigen Patentansprüche definieren bevorzugte oder vorteilhafte Ausführungsformen der Erfindung.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird eine Datenverarbeitungsvorrichtung bereitgestellt, welche wenigstens eine erste Komponente und eine zweite Komponente umfasst, welche miteinander gekoppelt sind. Die erste Komponente ist in einem ersten Endian-Modus betreibbar, während die zweite Komponente in einem zweiten Endian-Modus betreibbar ist, welcher sich von dem ersten Endian-Modus unterscheidet. Bei dem ersten Endian-Modus kann es sich um den Little-Endian-Modus handeln, und bei dem zweiten Endian-Modus kann es sich um den Big-Endian-Modus handeln. Die erste Komponente und die zweite Komponente können zwei Prozessoren der Datenverarbeitungsvorrichtung sein. Weiterhin ist es möglich, dass die erste Komponente und die zweite Komponente ein Prozessor bzw. eine Peripherieeinheit der Datenverarbeitungsvorrichtung sind. Es ist somit möglich, jede der Komponenten in ihrem eigenen Endian-Modus zu betreiben, unabhängig von anderen Komponenten oder Verbindungsstrukturen der Datenverarbeitungsvorrichtung.
  • Gemäß einem Ausführungsbeispiel ist bei der erfindungsgemäßen Datenverarbeitungsvorrichtung vorgesehen, die Hardware-Architektur derart auszugestalten, dass zumindest einigen oder allen Komponenten des Systems Zugriffseigenschaftsinformationen von Zugriffen, beispielsweise auf einen Speicher, zugänglich gemacht werden. Die Zugriffseigenschaftsinformationen können insbesondere einen Zugrifftyp (Abruf eines Befehls, Laden von Daten, Speichern von Daten, Datenbreite) und einen Endian-Modus des Zugriffs (beispielsweise Big-Endian- Modus oder Little-Endian-Modus) beinhalten. Auf diese Weise wird gewährleistet, dass die angeforderten Befehle oder Daten unabhängig von dem Endian-Modus korrekt übermittelt werden.
  • Gemäß einem Ausführungsbeispiel ist die Datenverarbeitungsvorrichtung auf einem einzigen Halbleiterchip implementiert, d. h. als Embedded-System ausgestaltet. Die Datenverarbeitungsvorrichtung kann in einem Kommunikationssystem, beispielsweise einem Voice-over-Internet-Protocol-Kommunikationssystem oder in einem Computersystem eingesetzt werden.
  • Die Erfindung wird nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert.
  • 1 zeigt schematisch eine Datenverarbeitungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung.
  • 2a und 2b zeigen schematisch die Funktionsweise einer Umsetzungsvorrichtung, welche gemäß einem Ausführungsbeispiel in der Datenverarbeitungsvorrichtung eingesetzt wird.
  • 3a und 3b zeigen schematisch die Funktionsweise einer weiteren Umsetzungsvorrichtung, welche gemäß einem Ausführungsbeispiel in der Datenverarbeitungsvorrichtung eingesetzt wird.
  • Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels näher erläutert, welches sich auf eine Datenverarbeitungsvorrichtung bezieht, die als ein Embedded-System ausgestaltet ist. Die Datenverarbeitungsvorrichtung kann Bestandteil eines Kommunikationssystems, beispielsweise eines so genannten Voice-over-Internet-Protocol-Kommunikationssystems oder allgemeiner eines Computersystems sein. Es versteht sich jedoch, dass die nachfolgend dargestellten Konzepte auch auf andere Anwendungsgebiete übertragen werden können. Weiterhin versteht es sich, dass in den Figuren und der zugehörigen Be schreibung jede dargestellte Verbindung oder Kopplung direkt oder indirekt ausgestaltet sein kann, d. h. dass zwischen die dargestellten Funktionsblöcke oder Einheiten weitere Funktionsblöcke oder Einheiten gekoppelt sein können. Die dargestellten Bitbreiten der Verbindungen sind lediglich beispielhaft gewählt und können selbstverständlich gemäß den Erfordernissen der Anwendung angepasst werden.
  • In 1 ist schematisch eine Datenverarbeitungsvorrichtung dargestellt, welche als ein Embedded-System ausgestaltet ist. Die Datenverarbeitungsvorrichtung umfasst innerhalb einer einzigen integrierten Schaltung mehrere Prozessoren (oder Datenverarbeitungseinheiten) 10a, 10b, 10c. Bei den Prozessoren 10a, 10b, 10c kann es sich beispielsweise um eine CPU 10a, einen DSP 10b und einen Hardware-Beschleuniger 10c handeln. Die Prozessoren 10a, 10b, 10c sind jeweils über eine Datenverbindung mit einer Breite von 64 Bit mit einem Crossbar 14 gekoppelt. Der Crossbar 14 dient der Verbindung der Prozessoren 10a, 10b, 10c untereinander sowie der Verbindung der Prozessoren 10a, 10b, 10c mit Peripherieeinheiten 17, 18, 19. Die Peripherieeinheiten können beispielsweise einen DMA-Controller 17, einen Systembus 18 und/oder einen Speicher-Controller 19 beinhalten. Der Systembus 18 kann als FPI-Bus, als AMBA-Bus oder als AHB-Bus ausgestaltet sein. Der Speicher-Controller 19 kann beispielsweise für einen Zugriff auf Speicher vom DDR-SDRAM-Typ ausgestaltet sein. Weiterhin verbindet der Crossbar 14 die Prozessoren 10a, 10b, 10c mit einer ROM-Speichervorrichtung 16. Die ROM-Speichervorrichtung 16 dient der Speicherung eines Betriebscodes oder Bootcodes für die Prozessoren 10a, 10b, 10c. Die Prozessoren 17, 18, 19 und die Peripherieeinheiten werden nachstehend auch als Komponenten der Datenverarbeitungsvorrichtung bezeichnet.
  • Die Datenverarbeitungsvorrichtung beinhaltet weiterhin Umsetzungsvorrichtungen 20, 22, welche jeweils zwischen den Crossbar 14 und die ROM-Speichervorrichtung 16 und die Peripherieeinheiten 17, 18, 19 gekoppelt sind. Die Umsetzungsvorrich tungen 20 bewerkstelligen abhängig von einem Steuersignal AC eine Vertauschung von Bytes innerhalb der über sie übermittelten Datenworte. Die Umsetzungsvorrichtungen 22 bewerkstelligen darüber hinaus auch eine Anpassung der Datenbreite, beispielsweise zwischen 64 Bit und 32 Bit oder zwischen 64 Bit und 16 Bit.
  • Das Steuersignal AC wird abhängig von einem Zugriff, welcher von einem der Prozessoren 10a, 10b, 10c oder einer der Peripherieeinheiten 17, 18, 19 initiiert wird, durch die jeweils initiierte Komponente erzeugt. Das Steuersignal AC beinhaltet eine Zugriffseigenschaftsinformation, welche einen Zugriffstyp (Abruf eines Befehls, Laden von Daten, Speichern von Daten, Datenbreite) und den Endian-Modus des Zugriffs beinhaltet. Der Endian-Modus des Zugriffs ist dabei bestimmt durch den Endian-Modus der Komponente, welche den Zugriff initiiert. Bei dem Endian-Modus kann es sich um den Little-Endian-Modus oder um den Big-Endian-Modus handeln. Im Rahmen der Datenbreite kann insbesondere definiert werden, ob bei dem Zugriff lediglich ein Byte, ein vollständiges Datenwort, welches die volle Datenbreite der Verbindung ausschöpft, oder ein Teildatenwort, welches mehrere Bytes umfasst aber lediglich einen Teil der Datenbreite der Datenverbindung ausschöpft, übertragen wird. Beispielsweise können Halbdatenworte übertragen werden, welche lediglich die halbe Datenbreite der Datenverbindung ausschöpfen. Diese Informationen werden von den Umsetzungsvorrichtungen 20, 22 verwendet, um auch bei unterschiedlichen Endian-Modi der Komponenten 10a, 10b, 10c, 17, 18, 19 der Datenverarbeitungsvorrichtung eine korrekte Übermittlung der Daten oder Adressen zu gewährleisten.
  • Wenn die Datenverbindung zwischen den Komponenten 10a, 10b, 10c, 17, 18, 19 mehrere logische Kanäle unterstützt, beispielsweise für die Verbindung zu dem DMA-Controller 17, welche mehrere logische DMA-Kanäle beinhaltet, erfolgt die Umsetzung einzeln für jeden der logischen Kanäle.
  • Die dargestellte Struktur ermöglicht, jede der Komponenten 10a, 10b, 10c, 17, 18, 19 der Datenverarbeitungsvorrichtung in ihrem eigenen Endian-Modus zu betreiben. Dies betrifft insbesondere die Prozessoren 10a, 10b und 10c. Diese können unabhängig von ihrem Endian-Modus auf die ROM-Speichervorrichtung 16 zugreifen, um auszuführende Befehle zu laden. Insbesondere wird stets ein Zugriff auf die korrekten Speicheradressen gewährleistet. Hinsichtlich des in der ROM-Speichervorrichtung 16 gespeicherten Betriebscodes bestehen keine besonderen Einschränkungen. Insbesondere kann der Betriebscode für einen beliebigen Endian-Modus entwickelt sein, wobei die korrekte Ausführung durch die Umsetzungsvorrichtung 20 zwischen dem Crossbar 14 und der ROM-Speichervorrichtung 16 sichergestellt ist. In dem Betriebscode können sowohl relative Sprünge zwischen Speicheradressen als auch absolute Sprünge zwischen Speicheradressen verwendet werden. Über den Systembus 18 ist es möglich, Eingangsdaten und Ausgangsdaten in einem beliebigen Endian-Modus extern zu verarbeiten. Beispielsweise können einer zur Datenverschlüsselung ausgestalteten Peripherieeinheit Daten zugeführt werden. Vor der Verschlüsselung werden die Daten entsprechend dem Endian-Modus der die Verschlüsselung veranlassenden Komponente umgesetzt. Die zurückgegebenen verschlüsselten Daten werden wiederum abhängig von dem jeweiligen Endian-Modus zurück umgesetzt.
  • Nachfolgend soll anhand von 2a und 2b die Umsetzung von Datenworten in den Umsetzungsvorrichtungen 20 näher erläutert werden.
  • 2a zeigt beispielhaft jeweils 8 Byte umfassende Datenworte. Ein Datenwort im Big-Endian-Modus ist mit B bezeichnet, während ein Datenwort im Little-Endian-Modus mit L bezeichnet ist. Die Bytes der Datenworte sind mit ansteigender Wertigkeit von 0 bis 7 nummeriert. Bei der in 2a dargestellten Konfiguration ist eine Vertauschungsfunktion der Umsetzungsvorrichtung 20 aktiviert, so dass die Anordnung der Bytes in den Datenworten vom Big-Endian-Modus in den Little-Endian-Modus verändert wird und umgekehrt.
  • Bei der in 2b dargestellten Konfiguration ist die Vertauschungsfunktion der Umsetzungsvorrichtung 20 deaktiviert, d. h. die Anordnung der Bytes in den Datenworten bleibt unverändert. In 2b ist beispielhaft ein Datenwort im Big-Endian-Modus dargestellt (mit B bezeichnet), welches von der Umsetzungsvorrichtung unverändert als Datenwort im Big-Endian-Modus ausgegeben wird (ebenfalls mit B bezeichnet). Es versteht sich jedoch, dass bei dieser Konfiguration der Umsetzungsvorrichtung 20 auch ein Datenwort im Little-Endian-Modus, welches in die Umsetzungsvorrichtung 20 eingegeben wird, wieder als Datenwort im Little-Endian-Modus ausgibt.
  • Als nächstes soll anhand von 3a und 3b die Umsetzung von Datenworten in den Umsetzungsvorrichtungen 22 näher erläutert werden. Die Funktionsweise entspricht grundsätzlich derjenigen der Umsetzungsvorrichtung 20, welche anhand von 2a und 2b erläutert wurde. Bei der Umsetzungsvorrichtung 22 erfolgt jedoch zusätzlich eine Anpassung der Datenbreite des übermittelten Datenworts. In 3a und 3b sind beispielhaft ein 8 Byte umfassendes Datenwort und ein 4 Byte umfassendes Datenwort dargestellt, zwischen welchen die Umsetzung erfolgt. Das 8 Byte umfassende Datenwort kann auch als Volldatenwort bezeichnet werden, während das 4 Byte umfassende Datenwort als Halbdatenwort bezeichnet werden kann.
  • In 3a ist die Umsetzung zwischen einem Volldatenwort im Big-Endian-Modus (mit B bezeichnet) und einem Halbdatenwort im Little-Endian-Modus (mit L bezeichnet) dargestellt. Bei der Umsetzung wird ein Teil der Bytes des Volldatenworts weggelassen. Welche der Bytes weggelassen werden, kann von der Umsetzungsvorrichtung abhängig von der in dem Steuersignal AC enthaltenen Datenbreiteninformation im Zusammenhang mit der ebenfalls in dem Steuersignal AC enthaltenen Endian-Modus-Information entschieden werden. In diesem Fall werden die vier ersten Bytes des Volldatenworts weggelassen. Darüber hinaus erfolgt für die übrigen Bytes die bereits erläuterte Umordnung.
  • In 3b ist die Umsetzung zwischen einem Volldatenwort im Little-Endian-Modus (mit L bezeichnet) und einem Halbdatenwort im Big-Endian-Modus (mit B bezeichnet) veranschaulicht. Wiederum wird abhängig von dem Steuersignal AC ein Teil der Bytes des Volldatenworts weggelassen, in diesem Fall jedoch die letzten vier Bytes. Für die übrigen Bytes erfolgt die bereits erläuterte Umordnung.
  • Bei der oben beschriebenen Datenverarbeitungsvorrichtung sind verschiedenartige Modifikationen möglich. So kann beispielsweise gemäß einem Ausführungsbeispiel der Erfindung auf die Umsetzungsvorrichtung 20 zwischen dem Crossbar 14 und der ROM-Speichervorrichtung 16 verzichtet werden, indem entsprechende Umsetzungsvorrichtungen jeweils zwischen den Prozessoren 10a, 10b, 10c und dem Crossbar 14 angeordnet werden. Eine solche Anordnung bietet Vorteile dahingehend, dass vereinfachte Umsetzungseinheiten verwendet werden können, beispielsweise, indem eine Scrambling- oder Verwürfelungsfunktion speziell an die Erfordernisse des jeweiligen Prozessors angepasst wird.
  • Weiterhin kann in der ROM-Speichervorrichtung auch ein Betriebscode gespeichert sein, welcher einen Codeabschnitt für den Little-Endian-Modus und einen Codeabschnitt für den Big-Endian-Modus beinhaltet. Indem ein weiterer, typischerweise kurzer, Codeabschnitt bereitgestellt wird, welcher Endianneutral ist und zur Durchführung einer Überprüfung des Endian-Modus eines Zugriffs ausgestaltet ist, kann innerhalb des Betriebscodes eine Endian-Modus-abhängige Verzweigung in den entsprechenden Codeabschnitt vorgesehen werden. Auch in diesem Fall kann auf eine Umsetzungsvorrichtung zwischen dem Crossbar 14 und der ROM-Speichervorrichtung 16 verzichtet werden.
  • Weiterhin ist es gemäß einem Ausführungsbeispiel der Erfindung möglich, den Betriebscode Endian-neutral abzufassen.
  • Darüber hinaus ist es gemäß einem Ausführungsbeispiel der Erfindung auch möglich, die Umsetzungsvorrichtungen 20, 22 auf andere Art und Weise zu steuern als durch das Steuersignal AC. Beispielsweise kann hierfür eine Registereinstellung zum Einsatz kommen. Weiterhin ist es möglich, die Umsetzungsvorrichtungen adressierungsabhängig zu steuern. Insbesondere könnten in diesem Fall zwei voneinander verschiedene Adressbereiche vorgesehen sein, welche jedoch physikalisch demselben Speicherbereich entsprechen. In einem dieser Adressbereiche wird die Vertauschungsfunktion der Umsetzungsvorrichtung aktiviert. Auf diese Weise besteht die Möglichkeit, auf die Verwendung eines gesonderten Signals zur Übermittlung der Zugriffseigenschaften zu verzichten.
  • Zuletzt versteht es sich, dass die oben beschriebenen Konzepte nicht auf den Little-Endian-Modus und den Big-Endian-Modus beschränkt sind, sondern auf jede Art von unterschiedlichen Byte-Reihenfolgen in einem Datenwort angewendet werden können. So könnte beispielsweise auch der so genannte Middle-Endian-Modus berücksichtigt werden. Darüber hinaus ist es auch möglich, mehr als zwei unterschiedliche Endian-Modi gleichzeitig in der Datenverarbeitungsvorrichtung zu verwenden.

Claims (24)

  1. Datenverarbeitungsvorrichtung, umfassend: wenigstens eine erste Komponente und eine zweite Komponente (10a, 10b, 10c, 17, 18, 19), welche miteinander gekoppelt sind, dadurch gekennzeichnet, dass die erste Komponente (10a, 10b, 10c, 17, 18, 19) in einem ersten Endian-Modus betreibbar ist, während die zweite Komponente (10a, 10b, 10c, 17, 18, 19) in einem zweiten Endian-Modus betreibbar ist, welcher sich von dem ersten Endian-Modus unterscheidet.
  2. Datenverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die erste Komponente und die zweite Komponente (10a, 10b, 10c, 17, 18, 19) dazu ausgestaltet sind, ein Steuersignal (AC) zu erzeugen, welches Zugriffseigenschaftsinformationen beinhaltet.
  3. Datenverarbeitungsvorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass die Zugriffseigenschaftsinformationen eine Endian-Modus-Information umfassen.
  4. Datenverarbeitungsvorrichtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass die Zugriffseigenschaftsinformationen eine Zugriffstypinformation umfassen.
  5. Datenverarbeitungsvorrichtung nach einem der Ansprüche 2–4, dadurch gekennzeichnet, dass die Zugriffseigenschaftsinformationen eine Datenbreiteninformation umfassen.
  6. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, gekennzeichnet durch wenigstens eine Umsetzungsvorrichtung (20, 22) zur Vertauschung von Bytes in einem Datenwort.
  7. Datenverarbeitungsvorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass die Umsetzungsvorrichtung (20, 22) zwischen die erste Komponente und die zweite Komponente (10a, 10b, 10c, 17, 18, 19) gekoppelt ist.
  8. Datenverarbeitungsvorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass die Umsetzungsvorrichtung zwischen eine ROM-Speichervorrichtung (16) für einen Betriebscode der ersten Komponente und der zweiten Komponente (10a, 10b, 10c) und die erste Komponente und die zweite Komponente (10a, 10b, 10c) gekoppelt ist.
  9. Datenverarbeitungsvorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass sowohl für die erste Komponente (10a, 10b, 10c, 17, 18, 19) als auch für die zweite Komponente (10a, 10b, 10c, 17, 18, 19) jeweils eine Umsetzungsvorrichtung (20, 22) vorgesehen ist, welche zwischen die jeweilige Komponente und eine Verbindungsanordnung (14) zur Datenübermittlung zwischen den Komponenten (10a, 10b, 10c, 17, 18, 19) gekoppelt ist.
  10. Datenverarbeitungsvorrichtung nach einem der Ansprüche 6–9, dadurch gekennzeichnet, dass die Umsetzungsvorrichtung (20, 22) durch eine Registereinstellung steuerbar ist.
  11. Datenverarbeitungsvorrichtung nach einem der Ansprüche 6–9, dadurch gekennzeichnet, dass die Umsetzungsvorrichtung (20, 22) abhängig von einem Adressbereich eines Zugriffs steuerbar ist.
  12. Datenverarbeitungsvorrichtung nach einem der Ansprüche 6–9, dadurch gekennzeichnet, dass die Umsetzungsvorrichtung (20, 22) durch ein Steuersignal (AC) steuerbar ist, welches Zugriffseigenschaftsinformationen beinhaltet.
  13. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, gekennzeichnet durch eine ROM-Speichervorrichtung (16) für einen Betriebscode der ersten Komponente (10a, 10b, 10c) und der zweiten Komponente (10a, 10b, 10c), wobei der Betriebscode neutral bezüglich des jeweiligen Endian-Modus der ersten Komponente (10a, 10b, 10c) und der zweiten Komponente (10a, 10b, 10c) ist.
  14. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1–13, gekennzeichnet durch eine ROM-Speichervorrichtung (16) für einen Betriebscode der ersten Komponente (10a, 10b, 10c) und der zweiten Komponente (10a, 10b, 10c), wobei der Betriebscode umfasst: einen ersten Abschnitt, welcher neutral bezüglich des Endian-Modus ist und zur Überprüfung des Endian-Modus eines Zugriffs ausgestaltet ist, einen zweiten Abschnitt für den ersten Endian-Modus und einen dritten Abschnitt für den zweiten Endian-Modus, wobei in dem Betriebscode abhängig von der in dem ersten Abschnitt durchgeführten Überprüfung eine Verzweigung in entweder den ersten Abschnitt oder den zweiten Abschnitt vorgesehen ist.
  15. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erste Komponente (10a, 10b, 10c) einen ersten Prozessor umfasst, und dass die zweite Komponente (10a, 10b, 10c) einen zweiten Prozessor umfasst.
  16. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1–14, dadurch gekennzeichnet, dass die erste Komponente (10a, 10b, 10c) einen Prozessor umfasst, und dass die zweite Komponente (17, 18, 19) einer Peripherieeinheit umfasst.
  17. Datenverarbeitungsvorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Peripherieeinheit einen Speicher-Controller (19) umfasst.
  18. Datenverarbeitungsvorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Peripherieeinheit einen Systembus (18) umfasst.
  19. Datenverarbeitungsvorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Peripherieeinheit einen DMA-Controller (17) umfasst.
  20. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenverarbeitungsvorrichtung auf einem einzigen Halbleiterchip implementiert ist.
  21. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenverarbeitungsvorrichtung zum Einsatz in einem Kommunikationssystem ausgestaltet ist.
  22. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datenverarbeitungsvorrichtung zum Einsatz in einem Computersystem ausgestaltet ist.
  23. Kommunikationssystem, gekennzeichnet durch eine Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche.
  24. Computersystem, gekennzeichnet durch eine Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche.
DE102006061050A 2006-12-22 2006-12-22 Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung Ceased DE102006061050A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006061050A DE102006061050A1 (de) 2006-12-22 2006-12-22 Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung
US11/962,658 US20080215653A1 (en) 2006-12-22 2007-12-21 Data Processing Device with Multi-Endian Support

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006061050A DE102006061050A1 (de) 2006-12-22 2006-12-22 Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung

Publications (1)

Publication Number Publication Date
DE102006061050A1 true DE102006061050A1 (de) 2008-06-26

Family

ID=39431649

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006061050A Ceased DE102006061050A1 (de) 2006-12-22 2006-12-22 Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung

Country Status (2)

Country Link
US (1) US20080215653A1 (de)
DE (1) DE102006061050A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry
US9304954B2 (en) * 2012-10-24 2016-04-05 Texas Instruments Incorporated Multi processor bridge with mixed Endian mode support
US9507595B2 (en) 2014-02-28 2016-11-29 International Business Machines Corporation Execution of multi-byte memory access instruction specifying endian mode that overrides current global endian mode
CN112835842B (zh) * 2021-03-05 2024-04-30 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251650A1 (en) * 2004-04-29 2005-11-10 Microsoft Corporation Dynamic endian switching

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997044739A1 (en) * 1996-05-23 1997-11-27 Advanced Micro Devices, Inc. Apparatus for converting data between different endian formats and system and method employing same
US6021275A (en) * 1996-08-05 2000-02-01 General Magic, Inc. Object code structure and method for translation of architecture independent program implementations
US6691307B2 (en) * 1999-08-03 2004-02-10 Sun Microsystems, Inc. Interpreter optimization for native endianness
US7089344B1 (en) * 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
US6615890B1 (en) * 2000-06-09 2003-09-09 Venture Tape Corp. Tape applicator for glazing applications
US20030014616A1 (en) * 2001-07-02 2003-01-16 Thavatchai Makphaibulchoke Method and apparatus for pre-processing a data collection for use by a big-endian operating system
US6388586B1 (en) * 2001-07-02 2002-05-14 Hewlett-Packard Company Method for reversing the bits of a computer data structure
US20040059848A1 (en) * 2002-09-23 2004-03-25 Institute For Information Industry Device for automatically switching endian order
US20040221274A1 (en) * 2003-05-02 2004-11-04 Bross Kevin W. Source-transparent endian translation
KR100574973B1 (ko) * 2004-02-20 2006-05-02 삼성전자주식회사 서로 다른 엔디안 포멧들사이에서 데이터를 변환하기 위한장치와 방법, 그리고 상기 장치를 구비하는 시스템
US20060106988A1 (en) * 2004-11-16 2006-05-18 Charbel Khawand Method and system for exchanging data
JP4437464B2 (ja) * 2005-06-01 2010-03-24 株式会社ルネサステクノロジ 半導体装置及びデータ処理システム
US8769251B2 (en) * 2006-12-13 2014-07-01 Arm Limited Data processing apparatus and method for converting data values between endian formats

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251650A1 (en) * 2004-04-29 2005-11-10 Microsoft Corporation Dynamic endian switching

Also Published As

Publication number Publication date
US20080215653A1 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
DE2755273C2 (de)
DE2251876C3 (de) Elektronische Datenverarbeitungsanlage
DE69433339T2 (de) Lade-/Speicherfunktionseinheiten und Datencachespeicher für Mikroprozessoren
DE19735350B4 (de) Vektorprozessor zum Ausführen paralleler Operationen und Verfahren hierfür
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE4010119C2 (de) Anordnung und Verfahren zur Umordnung eines Speicherformats in einem Mikroprozessor
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE102016006400A1 (de) Hardware-prozessoren und verfahren für eng-gekoppelte heterogene datenverarbeitung
DE2411963A1 (de) Datenverarbeitungsanlage
DE112013005343T5 (de) Befehle für Codierungsalgorithemen mit gleitendem Fenster
DE3114921C2 (de) Mikroprogramm-Speicheranordnung
DE102015007422A1 (de) Befehlssatz zum Eliminieren fehlausgerichteter Speicherzugriffe während der Verarbeitung eines Arrays mit fehlausgerichteten Datenzeilen
DE112013003741T5 (de) Systeme, Vorrichtungen und Verfahren zum Durchführen einer Konfliktdetektion unf einer Übertragung von Inhalten eines Registers an Datenelementpositionen eines anderen Registers
DE60132424T2 (de) Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung
DE102015102135A1 (de) Unterbrechbares Exklusivspeichern
DE102006061050A1 (de) Datenverarbeitungsvorrichtung mit Multi-Endian-Unterstützung
DE112004001040T5 (de) Verfahren und Datenprozessor mit reduzierter Operationsunterbrechung auf Grund von Operanden-Abhängigkeiten
DE69838701T2 (de) Vorrichtung zum Lese/-Schreibzugriff von Registern in zentraler Verarbeitungseinheit
DE102021101458B4 (de) Master- und Slave-Prozessoren zum Konfigurieren von Subsystemen
EP1407348B1 (de) Verfahren zum ansteuern einer zentralen verarbeitungseinheit für eine adressierung bezüglich eines speichers und controller
DE60205106T2 (de) Serielle Peripherieschnittstelle und Verwaltungsverfahren dafür
DE112004001248B4 (de) Mikroprozessor und Verfahren zum Ausführen einer index-behafteten Speicher-zu-Lade-Weiterleitung
EP1308846B1 (de) Datenübertragungseinrichtung
DE19580638B4 (de) Computersystem und Verfahren zum Steuern eines Peripheriegeräts in einem Computersystem
EP2728477A1 (de) Verfahren und Logikschaltung zum Kopieren von Daten, Speichervorrichtung und Datenverarbeitungsvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Inventor name: FENZL, GUNTHER, 85579 NEUBIBERG, DE

Inventor name: SYDOW, CARSTEN, DR., 85521 OTTOBRUNN, DE

8131 Rejection