DE102005041672A1 - SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur - Google Patents

SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur Download PDF

Info

Publication number
DE102005041672A1
DE102005041672A1 DE102005041672A DE102005041672A DE102005041672A1 DE 102005041672 A1 DE102005041672 A1 DE 102005041672A1 DE 102005041672 A DE102005041672 A DE 102005041672A DE 102005041672 A DE102005041672 A DE 102005041672A DE 102005041672 A1 DE102005041672 A1 DE 102005041672A1
Authority
DE
Germany
Prior art keywords
data
alu
arithmetic
address
access
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
DE102005041672A
Other languages
English (en)
Inventor
Carsten Noeske
Matthias Vierthaler
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.)
Entropic Communications LLC
Original Assignee
TDK Micronas GmbH
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 TDK Micronas GmbH filed Critical TDK Micronas GmbH
Priority to DE102005041672A priority Critical patent/DE102005041672A1/de
Priority to US11/515,353 priority patent/US7769989B2/en
Publication of DE102005041672A1 publication Critical patent/DE102005041672A1/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Die Erfindung bezieht sich auf eine SIMD-Prozessorarchitektur bzw. auf ein Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur mit zumindest zwei Arithmetik/Logik-Einheiten (ALU-L, ALU-R) zum Durchführen einer Datenverarbeitung, mit einer Daten-Speicheranordnung (RAM) oder einer Speichereinrichtungs-Schnittstelle zu einer Speicheranordnung zum Speichern von Daten (d) verschiedenen Datentyps, mit einer Adressierungseinheit (AG) zum Generieren von Zugriffsadressen für die in der Daten-Speicheranordnung (RAM) zu speichernden Daten (d) und mit einer Adress-Speicheranordnung (PR) zum Speichern der Zugriffsadressen, wobei die Zugriffsadressen (a1, an, a0, sf) den Daten (d) in der Adressierungseinheit (AG) und/oder in der Daten-Speicheranordnung (RAM) abhängig von dem jeweiligen Datentyp der Daten (d) zugeordnet sind.

Description

  • Die Erfindung bezieht sich auf eine SIMD-Prozessorarchitektur mit den oberbegrifflichen Merkmalen des Patentanspruchs 1 bzw. auf ein Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur mit den oberbegrifflichen Merkmalen des Patentanspruchs 10.
  • In SIMD-Prozessoren bzw. im Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur (SIMD: Single Instruction/Multiple Data; einzelne Anweisung für mehrere Daten) werden im Rahmen der Signalverarbeitung oftmals gleiche Operationen mittels verschiedener paralleler Arithmetik/Logik-Einheiten auf verschiedenen Daten durchgeführt. Beispielsweise wird im Rahmen einer Bildverarbeitung eine IDCT-Transformation (IDCT: Inverse-Diskrete-Cosinus-Transformation) auf Blöcken eines Bildes im Rahmen einer MPEG-Videokodierung (MPEG: Moving-Picture-Experts-Group) durchgeführt. Um solche Operationen auf einem Prozessor zu beschleunigen, werden so genannte SIMD-Operationen definiert, deren Decodierung zur gleichen Operation auf mehreren Arithmetik/Logik-Einheiten (ALUs-Arithmetic/Logical Units) führt. Im Bereich der Audio-Verarbeitung werden zur Verarbeitung entsprechender Tondaten zunehmend sogenannte Dual-MAC-Einheiten (MAC: Multiply/ACcumulate; Multiplizier/Akkumulierer) verwendet. Dabei wird ausgenutzt, dass übliche Algorithmen für einen linken und einen rechten Kanal von Tondaten üblicherweise gleich sind und lediglich die individuellen Eingangsdaten verschieden sind.
  • Allgemein bekannt ist ein SIMD-Prozessor mit einer SIMD-Prozessorarchitektur, welche zumindest zwei Arithmetik/Logik-Einheiten zum Durchführen einer Datenverarbeitung, eine Daten-Speicheranordnung oder eine Speichereinrichtungs-Schnittstelle zu einer Speicheranordnung zum Speichern von Daten verschiedenen Datentyps, eine Adressierungseinheit zum Generieren von Zugriffsadressen für die in der Daten-Speicheranordnung zu speichernden Daten und eine Adress-Speicheranordnung zum Speichern der Zugriffsadressen aufweist. Verfahrensgemäß werden in einer solchen Prozessorarchitektur die Daten verschiedenen Datentyps unabhängig vom jeweiligen Datentyp in der Daten-Speicheranordnung gespeichert, wobei den Daten zum Speichern eine Zugriffsadresse für einen konkreten Speicherbereich in der Daten-Speicheranordnung zugeordnet wird. Zum Verarbeiten der Daten werden die Daten aus der Daten-Speicheranordnung abgerufen und einer der Arithmetik/Logik-Einheiten angelegt.
  • Die Anzahl der verwendeten parallelen Einheiten bzw. die verwendete Bit-Breite der Operanden bei derartigen Prozessoren ist in den Instruktionsworten kodiert. Die Instruktionsworte sind dabei derjenige Teil der Maschinensprache eines Prozessors, welcher angibt, um was für eine Art von Befehl, also z.B. Addition, Subtraktion oder Sprung, es sich handelt.
  • Beispielsweise kann in auf Bildverarbeitung ausgerichteten Prozessoren zwischen 4 × 8 Bit × 8 Bit, 2 × 16 Bit × 16 Bit oder 1 × 32 Bit × 32 Bit Verarbeitung gewählt werden. In der Audio-Signalverarbeitung können oftmals Dual-MAC-Instruktionen getriggert werden. Dies ist jedoch stets explizit aus dem Instruktionswort ersichtlich.
  • Nachteilig an einem solchen Verfahren ist, dass die Instruktionsworte von der Bit-Breite relativ groß sind bzw. bei fester Bitbreite weniger Bits für andere Information zur Verfügung steht, da diese Information codiert werden muss. Zudem wird der Bedarf an Programmcode-Speicher sehr groß, da der gleiche Algorithmus für unterschiedliche Datentypen mehrmals codiert werden muss. Letztendlich wird die erforderliche Assembler-Syntax weniger intuitiv, da Operationen, welche inhaltlich das Gleiche ausführen, mit Blick auf den jeweiligen konkreten Datentyp unterschiedlich beschrieben werden.
  • Die Aufgabe der Erfindung besteht darin, eine SIMD-Prozessorarchitektur bzw. ein Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur zu vereinfachen. Insbesondere sollen die Instruktionsworte vereinfacht werden.
  • Diese Aufgabe wird gelöst durch eine SIMD-Prozessorarchitektur mit den Merkmalen des Patentanspruchs 1 bzw. durch ein Verfahren zum Verarbeiten von Daten in einer SIMD-Prozessorarchitektur mit den Merkmalen des Patentanspruchs 10. Vorteilhafte Ausgestaltungen sind Gegenstand abhängiger Ansprüche.
  • Bevorzugt wird demgemäss eine SIMD-Prozessorarchitektur mit zumindest zwei Arithmetik/Logik-Einheiten zum Durchführen einer Datenverarbeitung, mit einer Daten-Speicheranordnung oder einer Speichereinrichtungs-Schnittstelle zu einer Speicheranordnung zum Speichern von Daten verschiedenen Datentyps, mit einer Adressierungseinheit zum Generieren von Zugriffsadressen für die in der Daten-Speicheranordnung zu speichernden Daten und mit einer Adress-Speicheranordnung zum Speichern der Zugriffsadressen, wobei die Zugriffsadressen mit dem jeweiligen Datentyp der Daten verknüpft sind und/oder
    • – eine Verteilung der Daten an die Arithmetik/Logik-Einheiten abhängig von den Zugriffsadressen ist und/oder
    • – eine Speicherung von Ausgangsdaten als den Daten abhängig von den Zugriffsadressen ist.
  • Unter einem Datentyp ist nicht nur eine Information zu verstehen, ob es sich um ganzzahlige Daten oder Gleitdaten etc. als einem konkreten mathematischen Datentyp handelt, sondern zusätzlich oder alternativ auch eine Information, ob es sich im Fall von z.B. Tondaten um Stereodaten oder Monodaten handelt. Der Begriff "Datentyp" ist daher nicht nur im reinen mathematischen Sinn zu verstehen, sondern umfasst auch eine Zuordnung konkreter Daten zu bestimmten speziellen Anwendungszwecken der Daten. Unter dem Begriff Datentyp ist insbesondere auch eine Zuordnung zu verschiedenen verwendeten Bitbreiten zu verstehen.
  • Vorteilhaft ist eine Prozessorarchitektur, bei der die Zugriffsadressen den Daten in der Adressierungseinheit und/oder in der Daten-Speicheranordnung abhängig von dem jeweiligen Datentyp der Daten zugeordnet sind.
  • Vorteilhaft ist eine Prozessorarchitektur, bei der die Zugriffsadressen eigentliche Speicher-Adresswerte umfassen, Basisadressen umfassen, aus denen eigentliche Speicher-Adresswerte bestimmbar sind, und/oder mit derartigen Adressen verknüpfte Zusatz-Informationen umfassen.
  • Unter einer Zugriffsadresse sind allgemein Adressen in einem weiten Sinn zu verstehen, welche zur Adressierung der in der Daten-Speicheranordnung zu speichernden bzw. gespeicherten Daten verwendbar sind. So fallen neben direkten eigentlichen Adresswerten, welche auf einen konkreten Speicherplatz verwei sen, unter den Begriff Zugriffsadresse insbesondere auch Basisadressen, bei denen erst ein zusätzlicher Offset zu der eigentlichen Adresse bzw. eigentlichen Adresswerten führt.
  • Vorteilhaft ist eine Prozessorarchitektur mit einer Kopierlogik zum Kopieren der von der Daten-Speicheranordnung an einen Eingang einer der Arithmetik/Logik-Einheiten angelegten Daten auf einen Eingang der anderen der Arithmetik/Logik-Einheiten. Vorteilhaft ist eine Prozessorarchitektur, welche zum Verarbeiten der Daten in einer für einen bestimmten Datentyp geeigneten der Arithmetik/Logik-Einheiten mit einem vom Datentyp unabhängigen Instruktionssatz ausgebildet ist. Vorteilhaft ist eine Prozessorarchitektur, welche zum Definieren des Datentyps mittels Instruktionen vor einem Ansprung einer eigentlichen Routine zur Datenverarbeitung ausgebildet ist.
  • Vorteilhaft ist eine Prozessorarchitektur, bei welcher eine erste der Arithmetik/Logik-Einheiten zur Bearbeitung eines ersten Datentyps ausgebildet oder ausgelegt ist und eine zweite der Arithmetik/Logik-Einheiten zur Bearbeitung eines zweiten Datentyps ausgebildet oder ausgelegt ist und bei welcher eine Steuereinrichtung zum Zuweisen der Daten eines bestimmten Datentyps zu deren Datenverarbeitung zu der geeigneten der Arithmetik/Logik-Einheiten für den jeweiligen Datentyp abhängig von der Zugriffsadresse, abhängig von einem Bestandteil der Zugriffsadresse oder abhängig von einem Zusatz zur Zugriffsadresse ausgelegt oder ausgebildet ist. Bestandteil der Zugriffsadresse ist dabei insbesondere auch eine Information, welche im Umfeld z.B. einer Basisadresse zum Erzeugen eines zum letztendlichen Zugreifen auf die verwendeten Daten benutzten eigentlichen Adresswert bereitgestellt ist. Eine solche Information kann z.B. im Pointer-Register gespeichert sein, aus dem die eigentliche Basisadresse kommt, zu der mittels ei nes Offsets ein eigentlicher Adresswert berechnet wird. In einem solchen Fall ist eine solche Basisadresse nur von untergeordneter Bedeutung, da für die Zugriffsadresse die dieser zusätzlich zugeordnete Information als deren Bestandteil von Bedeutung ist. Die Grenzen zwischen einem Bestandteil der Zugriffsadresse und einem Zusatz sind insbesondere fließend anzusehen.
  • Vorteilhaft ist eine Prozessorarchitektur, bei welcher die Zugriffsadressen aus einer einheitlichen Speicheradresse, aus einer im Pointer-Register enthaltenen Information und/oder aus einer zusätzlichen Datentyp-Information ausgebildet sind. Vorteilhaft ist ein Prozessor mit einer solchen Prozessorarchitektur.
  • Bevorzugt wird demgemäss ein Verfahren zum Verarbeiten von Daten in einer SIMD-Prozessorarchitektur, bei dem Daten verschiedenen Datentyps in eine Daten-Speicheranordnung gespeichert werden, wobei den Daten eine Zugriffsadresse für einen Speicherbereich der Daten-Speicheranordnung zugeordnet wird und zum Verarbeiten der Daten die Daten aus der Daten-Speicheranordnung abgerufen und zumindest einer Arithmetik/Logik-Einheit angelegt werden, wobei die Zuordnung der Zugriffsadresse zu den zu speichernden Daten abhängig von dem jeweiligen Datentyp der Daten durchgeführt wird und/oder die Zugriffsadressen mit dem jeweiligen Datentyp der Daten verknüpft werden und/oder eine Verteilung der Daten an die Arithmetik/Logik-Einheiten abhängig von den Zugriffsadressen durchgeführt wird und/oder eine Speicherung von Ausgangsdaten als den Daten abhängig von den Zugriffsadressen durchgeführt wird.
  • Vorteilhaft ist ein Verfahren, bei dem die von der Daten-Speicheranordnung an einen Eingang einer der Arithmetik/Logik- Einheiten angelegten Daten auf einen Eingang der anderen der Arithmetik/Logik-Einheiten kopiert werden. Vorteilhaft ist ein Verfahren, bei dem ein Instruktions-Code zum Verarbeiten der Daten in einer der Arithmetik/Logik-Einheiten unabhängig vom Datentyp der Daten codiert wird.
  • Vorteilhaft ist ein Verfahren, bei dem die Daten abhängig von der Zugriffsadresse, abhängig von einem Bestandteil der Zugriffsadresse oder abhängig von einem Zusatz zur Zugriffsadresse einer bestimmten der Arithmetik/Logik-Einheiten angelegt werden, wobei die bestimmte der Arithmetik/Logik-Einheiten zur Verarbeitung des jeweiligen Datentyps der Daten verwendet wird.
  • Vorteilhaft ist ein Verfahren, bei dem die Zugriffsadressen aus einer eigentlichen Speicheradresse und/oder aus einer zusätzlichen Datentyp-Information als erweiterter Zugriffsadresse ausgebildet werden. Vorteilhaft ist ein Verfahren, bei dem im Instruktions-Code zum Zuordnen der Daten zu bestimmten Arithmetik/Logik-Einheiten keine vom Datentyp abhängige Zuordnungs-Anweisungsanteile enthalten sind.
  • Vorteilhaft ist ein Verfahren zum Betreiben einer solchen Prozessorarchitektur oder zum Betreiben eines solchen Prozessors.
  • Im Rahmen der bevorzugten SIMD-Prozessorarchitektur bzw. des bevorzugten Verfahrens zum Verarbeiten von Daten wird entsprechend eine Information bezüglich des zu verarbeitenden speziellen Datentyps der Daten nicht in einer Instruktion zur späteren Verarbeitung der Daten sondern im Umfeld des Datums bzw. der Zugriffsadresse für die Daten-Speicheranordnung, in welcher die Daten verschiedenen Datentyps gespeichert sind, gespeichert. Das Speichern der Datentyp-Information in Verbin dung mit der Zugriffsadresse ist insbesondere bei Arrays (Datenfeldern) des gleichen Datentyps sehr effizient. Entsprechend wird die Information bezüglich des Datentyps in der Adressierungs-Einheit beim Aufsetzen des Pointer-Registers gespeichert. Beim Laden eines oder mehrerer Daten mit dem entsprechenden und ggfs. noch zu verarbeitenden Pointer als einer Grundform einer Zugriffsadresse oder z.B. einem Bestandteil der Zugriffsadresse in Form einer Basisadresse zum Ausbilden einer konkreten Zugriffsadresse für einen eigentlichen Adresswert, kann die zugeordnete Hardware entsprechend erkennen, welchen Datentyps das Datum bzw. die zu speichernden Daten sind und kann die Elemente bzw. Daten entsprechend extrahieren und auf geeignete arithmetische Einheiten aufteilen. Die Erkennung erfolgt dabei in vorteilhafter Weise anhand einer Zugriffsadresse vor der Berechnung eines konkreten Adresswertes innerhalb der Daten-Speicheranordnung. Vorzugsweise können dabei arithmetisch/logische Einheiten verwendet werden, welche mit fester Wortbreite arbeiten.
  • In vorteilhafter weise kann eine automatische Konvertierung der Daten ineinander direkt beim Laden der Daten oder beim Ausführen bei den konkreten Instruktionen stattfinden, obwohl die jeweils codierte Instruktion für verschiedene Datentypen exakt die gleiche ist. Entsprechend wird die Programmierung einer Vielzahl nahezu gleicher Instruktionen bzw. Instruktions-Abfolgen für verschiedene Datentypen entbehrlich, da die Zuordnung der gespeicherten Daten auf spezielle arithmetisch/logische Einheiten abhängig von der Zugriffsadresse in der Speicheranordnung vorgenommen wird.
  • Ein weiterer Vorteil besteht in der effizienten Ausnutzung des Speichers durch eine Adressierung der kleinsten Einheit, obwohl die Speicher-Bit-Breite der eines multiplen Datenwortes entspricht. Beim Zugriff auf weniger Werte als möglich, werden durch eine Steuerlogik die geladenen Werte auf die Eingänge der für die Prozessierung nicht benötigten Einheiten kopiert, wodurch eine Datenkonsistenz erreicht wird.
  • Durch die bevorzugte Prozessorarchitektur ist es vorteilhaft möglich, den Algorithmus bzw. einen entsprechenden Instruktions-Code unabhängig davon, wie viele Kanäle verarbeitet werden, in Instruktionsworten zu codieren und damit alle oder einen Teil der Kanäle gleichzeitig zu bearbeiten. Dabei kann auf Zwischenergebnisse der parallel ablaufenden Kanäle zugegriffen werden.
  • Ein Ausführungsbeispiel wird nachfolgend anhand der Zeichnung näher erläutert. Es zeigen:
  • 1 eine beispielhafte Anordnung von einzelnen Komponenten einer SIMD-Prozessorarchitektur zur Speicherung und Verarbeitung von Daten verschiedenen Datentyps und
  • 2 eine Tabelle mit beispielhaften Zuordnungsmöglichkeiten spezieller Daten zu verschiedenen Komponenten und Verarbeitungsschritten in einer solchen SIMD-Prozessorarchitektur.
  • 1 zeigt lediglich einzelne Komponenten einer Vielzahl üblicherweise vorhandener Komponenten einer SIMD-Prozessorarchitektur, worunter auch eine SIMD-fähige Prozessorarchitektur zu verstehen ist.
  • Als eine Daten-Speichereinrichtung RAM ist ein typischerweise in einer Prozessorarchitektur eingebundener oder über eine entsprechende Speichereinrichtungs-Schnittstelle angeschlossener Direktzugriffsspeicher dargestellt. Diese Daten- Speicheranordnung RAM dient zum Speichern von Daten d, welche in der Prozessorarchitektur zu verarbeiten sind, kann ggfs. aber auch weitere Daten, Programmcode etc. speichern. Die Daten d werden üblicherweise unter Verwendung von Daten- und Adress-Bussen sowie einer Schreibmaske an der Daten-Speicheranordnung RAM angelegt und in dieser abgespeichert. Zum Speichern der Daten d in der Daten-Speicheranordnung RAM kann auch eine übergeordnete Speicheranordnung mit einer speziellen Daten-Speicheranordnung als einem Unterbereich in dieser ausgebildet sein. Die Schreibmaske dient zum sicherstellen, z.B. mono-Daten zu schreiben ohne dabei einen benachbarten Wert zu überschreiben. Alternativ zum dargestellten Szenario können z.B. auch zwei Direktzugriffsspeicher, z.B. eines für gerade Adressen und eines für ungerade Adressen, verwendet werden, wobei dann mittels eines Schreib-Freigabe-Signals, welches jeder Direktzugriffsspeicher hat, eine entsprechende Ansteuerung vorgenommen wird.
  • Wenn die Daten d in der Daten-Speicheranordnung RAM abzuspeichern sind, werden diese an konkret zugewiesenen Speicheradressen innerhalb der Daten-Speicheranordnung RAM gespeichert. Die Zuordnung der Daten d zu einer speziellen Speicheradresse erfolgt über eine Adressierungseinheit AG, welche als eigenständige Komponente oder als Bestandteil eines Prozessorkerns PC ausgebildet sein kann. Die Adressierungseinheit AG ordnet den Daten d jeweils einen so genannten Pointer, ggfs. mit einem Offset als einer Zugriffsadresse a1-an, a0, sf zu, unter welcher die Daten d in der Daten-Speicheranordnung RAM an einer konkret zugewiesenen Speicheradresse gespeichert werden. Die Zugriffsadressen a1-an, a0, sf oder ggfs. Basisadressen als direkter oder indirekter Bestandteil der Zugriffsadressen werden in einem Pointer- bzw. Zugriffsadressregister PR hinterlegt, welches insbesondere eigenständig, als Bestandteil des Prozessorkerns PC oder als Bestandteil der Adressierungseinheit AG ausgebildet sein kann. Sofern im Zugriffsadressregister PR hinterlegte Anteile oder Zusatzinformationen sf im Adressregister nicht zu verarbeiten sind, können sie optional auch direkt aus dem Zugriffsadressregister PR heraus und an der Adressierungseinheit vorbei oder durch diese hindurch geführt werden.
  • Gemäß der bevorzugten Ausführungsform wird durch die Adressierungseinheit AG eine Bestimmung des Datentyps der jeweils zu speichernden Daten d durchgeführt. Abhängig von dem Datentyp der Daten d wird eine Zugriffsadresse a1-an, a0, sf gebildet. Gemäß einer ersten Variante liegt die jeweilige Zugriffsadresse a1-an, a0 in einem Speicherbereich der Daten-Speicheranordnung RAM, welcher für den speziellen Datentyp der momentan zu speichernden Daten d bereitgestellt ist.
  • Vorteilhaft ist z.B. eine Verarbeitung von mono-Audio-Daten möglich. Die Zugriffsadressen a1-an adressieren Zellen in einem Speicherbereich der Daten-Speicheranordnung RAM mit einer mono-Samplegröße von z.B. 24 Bit. Die Daten-Speicheranordnung RAM hat jedoch z.B. 48 Bit. Die zusätzliche Adresse a0 der Zugriffsadresse wird nicht an die Daten-Speicheranordnung RAM angelegt sondern dazu verwendet, 24-Bit-Daten als ALU-Eingabe- oder ALU-Ausgabedaten (ALU: Arithmetik/Logik) an die richtige Position in einem hohem oder niedrigen Teil des entsprechenden 48-Bit Wortes zu schieben bzw. daraus zu extrahieren, was einer entsprechenden Zuordnung zu niederwertigen oder höherwertigen Bit des Adresswortes entspricht. Der Programmierer bzw. Prozessor sieht somit eine 24-Bit-Daten-Speicheranordnung RAM. Diesbezüglich können die nachfolgenden erläuternden Überlegungen betrachtet werden: Zweier Arithmetik/Logik-Einheiten ALU-L, ALU-R ohne Eingangs- und Ausgangsmultiplexer Z, d.h. ohne den zusätzlichen Adresswert a0 und eine Zusatz-Information sf als eigenständig der Zugriffsadresse zugeordnetem Bestandteil, würde ein reiner Stereo-Prozessor gebildet, der keine Mono-Verarbeitung durchführen könnte und auch keine Möglichkeit hätte, den linken auf den rechten Kanal mit entsprechenden Audio-Daten zu addieren bzw. einen Kanal in eine andere als die dafür vorgesehene Arithmetik/Logik-Einheit ALU-L, ALU-R zu schieben. Mit Eingangsmultiplexern ohne eine Verarbeitung "a0 or sf" könnte ein so ausgebildeter Prozessor die Kanäle verdreht bzw. vertauscht in die Arithmetik/Logik-Einheiten ALU-L, ALU-R schieben und z.B. mit Addition der Werte und anschließender Division durch 2 ein Mono-Signal berechnen. Dieses müsste aber immer noch als Stereosignal gespeichert werden. Durch die Berücksichtigung des zusätzlichen Adresswerts a0 und der Zusatz-Information sf im Rahmen einer Oder-Verknüpfung wird auch der Datentyp korrekt berücksichtigt. Es wird wieder ein Mono-Zustand erzeugt und eine automatische Konvertierung durchgeführt. Aus Mono-Daten bzw. einem Mono-Zustand kann ein Stereo-Zustand erzeugt werden und trotzdem ein Mono-Zustand abgespeichert werden ohne dabei das benachbarte Signal zu überschreiben. Zur Umsetzung wird insbesondere auch eine Schreibmaske der Daten-Speicheranordnung RAM entsprechend eingesetzt.
  • Gemäß einer dazu zusätzlich oder alternativ umsetzbaren Variante wird eine erweiterte Zugriffsadresse a1-an, a0, sf verwendet, welche zusätzlich zu der üblichen Adressierungsinformation eines oder mehrere weitere Bit a0, sf aufweist, welche zur Beschreibung des Datentyps dienen.
  • Dies ermöglicht bei späteren Zugriffen durch einen Instruktions-Code auf die gespeicherten Daten d, die gespeicherten Daten d abzurufen und die Daten d aufgrund der mit der Zugriffs adresse a1-an, a0,sf direkten Datentyp-Verknüpfung direkt einer entsprechend geeigneten Arithmetik/Logik-Einheit ALU-L, ALU-R anzulegen. Die Verwendung spezieller Instruktions-Code für Daten verschiedenen Datentyps und eine Analyse des Datentyps durch einen Prozessorkern PC vor der Zuordnung zu einer Arithmetik/Logik-Einheit ALU-L, ALU-R kann somit entfallen.
  • Bei der lediglich beispielhaften Ausführungsform werden gespeicherte Daten d aus der Daten-Speicheranordnung RAM einer Verteilungs- und Kopierlogik K angelegt, welche die Daten über Zuordnungseinheiten Z der ersten und der zweiten Arithmetik/Logik-Einheit ALU-L, ALU-R anlegt. Außerdem werden die Daten d von den Zuordnungseinheiten Z dem Prozessorkern PC, welcher vorzugsweise das Zugriffsadressregister PR mit den Zugriffsadressen umfasst, angelegt. Die Zuordnung in den Zuordnungseinheiten Z erfolgt dabei anhand eines für die Daten d jeweils zugeordneten Datentyp-Bits als einer Datentyp-Information a0, sf der Zugriffsadressen a1-an, a0, sf, welche an den Zuordnungseinheiten Z angelegt wird. Insbesondere können bei Vorliegen verschiedener Datentyp-Informationen a0, sf diese auch mittels einer Ausschließlich-Oder-Verknüpfung (a0 XOR sf) zugeordnet werden.
  • Mittels weiterer Zuordnungseinheiten Z und einer weiteren Verteilungs- und Kopierlogik K werden von den Arithmetik/Logik-Einheiten ALU-L, ALU-R entsprechend verarbeitete und ausgegebene Daten d wiederum entsprechend der diesen zugeordneten Datentyp-Informationen a0, a0 XOR sf kombiniert und der Daten-Speicheranordnung RAM zur weiteren Speicherung an den ursprünglichen Speicheradressen oder an einer neuen Speicheradresse angelegt.
  • Bei dem dargestellten Ausführungsbeispiel handelt es sich um eine Prozessorarchitektur zur Verarbeitung von Ton-Daten, welche einem linken bzw. einem rechten Kanal zugeordnet werden. Dies ermöglicht eine vorteilhafte Aufteilung in niederwertige Bits LSB und in höherwertige Bits MSB der Bits eines jeweiligen individuellen Datenworts der Daten d, welche aus der Daten-Speicheranordnung RAM abgerufen werden. Mittels der Verteilungs- und Kopierlogik K erfolgt die Aufteilung auf die beiden ersten Zuordnungseinheiten Z, wobei jeder der Zuordnungseinheiten Z an einem ersten Eingang die höchstwertigen Bit MSB und an einem zweiten Eingang die niederwertigsten BIT LSB angelegt werden. Abhängig von der Datentyp-Information a0 und gegebenenfalls einer Stereo- bzw. Mono-Information in Form eines weiteren Zugriffsadress-Bit oder eines individuellen und der Zugriffsadresse a1-an, a0 zugeordneten Flag sf erfolgt dann die Zuordnung auf die beiden Arithmetik/Logik-Einheiten ALU-L, ALU-R. Im Falle eines aus einem Stereo-Signal zu erzeugenden Monosignals kann dabei durch die Zuordnungseinheiten bereits eine Addition der jeweiligen Daten vorteilhaft umgesetzt werden.
  • Entsprechend findet in einem für Audiosignale optimierten Signal-Prozessor mit einer solchen SIMD-Prozessorarchitektur im Audiobereich eine Unterscheidung zwischen einem Monosignal, beispielsweise von einem Mikrofon-Eingang, einem Stereosignal, beispielsweise Musik eines Tonträgers, und einem Multikanal-Signal, beispielsweise einem 5.1-Heimkino-Ton, statt. Alle diese Signale bzw. die individuellen Datenworte und Daten d, welche solche Signale ausbilden, können üblicherweise durch eine solche Prozessorarchitektur gemischt und verarbeitet werden. Die Verarbeitung erfolgt in der Regel in Signalprozessoren, wobei insbesondere im Fall einer PCM-Basisband-Verarbeitung (PCM: Pulse-Code-Modulation) oftmals der Algo rithmus für alle Kanäle bzw. Daten d verschiedenen Datentyps der gleiche ist.
  • Bei dem gemäß 1 dargestellten Beispiel mit lediglich zwei Arithmetik/Logik-Einheiten ALU-L, ALU-R werden abhängig von einer Mono- oder Stereo-Eigenschaft als Datentyp-Information in Verbindung mit dem Abrufen der Daten d aus der Daten-Speicheranordnung RAM vier Möglichkeiten geboten, welche anhand der Tabelle in 2 bzgl. Schaltoptionen veranschaulicht sind. Gemäß einer ersten Möglichkeit kann ein Mono-Wert von einem geraden Adresswert der Zugriffsadresse in beide Arithmetik/Logik-Einheiten ALU-L, ALU-R geladen werden. Gemäß einer zweiten Möglichkeit kann ein Mono-Wert von einem ungeraden Adresswert der Zugriffsadresse in beide Arithmetik/Logik-Einheiten ALU-L, ALU-R geladen werden. Gemäß einer dritten Möglichkeit wird ein Stereo-Wert der Daten d in beide Arithmetik/Logik-Einheiten ALU-L, ALU-R geladen, wobei der Adresswert der Zugriffsadresse gerade ist. Gemäß einer vierten Möglichkeit wird ein Stereo-Wert der Daten d mit einer Links/Rechts-Vertauschung in beide Arithmetik/Logik-Einheiten ALU-L, ALU-R geladen, wobei der Adresswert der Zugriffsadresse ungerade ist. Bei diesem konkreten Beispiel wird somit eine beispielhafte Zuordnung der Datentyp-Information a0, sf bei der Zuweisung auf Zugriffsadressen a1-an derart vorgenommen, dass zwischen einerseits geraden Zugriffsadressen und andererseits ungeraden Zugriffsadressen beim Speichern der Daten d geachtet wird.
  • Die Art des Zugriffs abhängig vom Datentyp Mono oder vom Datentyp Stereo wird z.B. in einer Ladeinstruktion für das verwendete Zugriffsadressregister PR codiert. Die Codierung findet statt, bevor die eigentliche Routine für die Zuweisung zu den Arithmetik/Logik-Einheiten ALU-L, ALU-R durchgeführt wird, welche den Algorithmus ausführt.
  • Allgemein ermöglicht eine solche Prozessorarchitektur bzw. ein solches Verfahren zur Verarbeitung und Zuweisung von Daten in einer solchen Prozessorarchitektur gleiche Instruktions-Code vom Datentyp abhängig unterschiedlich auszuführen. Der Datentyp wird durch einen in Zusammenhang mit dem Datum bzw. den individuellen zu speichernden Daten oder im Zusammenhang mit der Speicheradresse bzw. einer Zugriffsadresse der Daten in der Daten-Speicheranordnung RAM gespeicherten Information als Datentyp-Information festgelegt.
  • Vorteilhafter Weise kann sich der Datentyp dabei durch die Anzahl der parallel prozessierten Daten-Abtastwerte unterscheiden. Der Datentyp kann auch durch die Bit-Breite eines Datenwortes solcher Daten d unterschieden werden. In vorteilhafter Weise kann eine Zugriffsadresse a1-an, a0, sf für die Daten abhängig von den niederwertigen bzw. abhängig von den höherwertigen Bits LSB, MSB der Zugriffsadresse a1-an, a0, sf unterschiedlich den speziellen Recheneinheiten in Form der Arithmetik/Logik-Einheiten ALU-L, ALU-R zugeordnet werden. In vorteilhafter Weise können die Daten d in unterschiedlichen Anordnungen von den Recheneinheiten abhängig von den niederwertigen oder den höherwertigen Bits LSB, MSB der Adresse in die Daten-Speicheranordnung RAM geschrieben werden.
  • Allgemein können anstelle einer Daten-Speicheranordnung in Art eines Direktzugriffsspeichers auch Register oder sonstige Typen von Speichern verwendet werden. In vorteilhafter Weise kann die Markierung der Daten d in Form einer Datentyp-Information a0, sf, welche mit Zugriffsadressen a1-an, a0, sf verknüpft wird oder in Form der Zugriffsadressen in diese co diert wird, auch im Umfeld eines Registers oder einer sonstigen Speicheranordnung durchgeführt werden.
  • 2 zeigt die beispielhafte Tabelle mit verschiedenen Kombinationsmöglichkeiten für eine Zuordnung im Falle von Tonsignaldaten für eine Zuordnung von Daten d zu speziellen Zugriffsadressen. Gemäß einer ersten Spalte wird unterschieden, ob ein niederwertiges Bit LSB der Zugriffsadresse a0-an gerade oder ungerade ist. Gemäß einer zweiten Spalte wird unterschieden, ob in der Zugriffsadresse a0-an ein Stereo-Flag sf gesetzt ist, um zwischen Mono- und Stereo-Signalen zu unterscheiden. Abhängig davon erfolgt eine Zuordnung mittels der Zuordnungseinheiten Z in Art eines Multiplex-Vorganges von Daten d aus der Daten-Speicheranordnung RAM auf die erste Arithmetik/Logik-Einheit ALU-L für einen linken Tonkanal bzw. auf die zweite Arithmetik/Logik-Einheiten ALU-R für einen rechten Tonkanal oder auf beide gemäß Spalten 3 und 4.
  • Daten d, die aus den Arithmetik/Logik-Einheit ALU-L, ALU-R verarbeitet und ausgegeben werden, werden in der Daten-Speicheranordnung RAM mittels der weiteren Zuordnungseinheiten Z und einer weiteren Kombinationseinheit K gespeichert. Die weitere Kombinationseinheit K dient zum Kombinieren von Daten bzw. Adressen der ersten Zuordnungseinheit Z, welche den Arithmetik/Logik-Einheiten nachgeschaltet ist und höherwertige Bits MSB liefert, und von Daten bzw. Adressen von der zweiten Zuordnungseinheit Z, welche den Arithmetik/Logik-Einheiten nachgeschaltet ist und niederwertige Bits LSB liefert. Eine entsprechende Speicherung in der Daten-Speicheranordnung RAM erfolgt entsprechend gemäß Spalte 5 bzw. 6 für die höherwertigen bzw. niederwertigen Bits MSB, LSB, wobei bei bestimmten Optionen x auch eine vollständige Unterdrückung der Speicherung durchgeführt wird.

Claims (16)

  1. SIMD-Prozessorarchitektur mit – zumindest zwei Arithmetik/Logik-Einheiten (ALU-L, ALU-R) zum Durchführen einer Datenverarbeitung, – einer Daten-Speicheranordnung (RAM) oder einer Speichereinrichtungs-Schnittstelle zu einer Speicheranordnung zum Speichern von Daten (d) verschiedenen Datentyps, – einer Adressierungseinheit (AG) zum Generieren von Zugriffsadressen für die in der Daten-Speicheranordnung (RAM) zu speichernden Daten (d) und – einer Adress-Speicheranordnung (PR) zum Speichern der Zugriffsadressen, dadurch gekennzeichnet, dass – die Zugriffsadressen (a1, an, a0, sf) mit dem jeweiligen Datentyp der Daten (d) verknüpft sind und/oder – eine Verteilung der Daten (d) an die Arithmetik/Logik-Einheiten (ALU-L, ALU-R) abhängig von den Zugriffsadressen (a1, an, a0, sf) ist und/oder – eine Speicherung von Ausgangsdaten als den Daten (d) abhängig von den Zugriffsadressen (a1, an, a0, sf) ist.
  2. Prozessorarchitektur nach Anspruch 1, bei der die Zugriffsadressen (a1, an, a0, sf) den Daten (d) in der Adressierungseinheit (AG) und/oder in der Daten-Speicheranordnung (RAM) abhängig von dem jeweiligen Datentyp der Daten (d) zugeordnet sind.
  3. Prozessorarchitektur nach Anspruch 1 oder 2, bei der die Zugriffsadressen (a1, an, a0, sf) eigentliche Speicher-Adresswerte umfassen, Basisadressen umfassen, aus denen eigentliche Speicher-Adresswerte bestimmbar sind, und/oder mit derartigen Adressen verknüpfte Zusatz-Informationen (a0, sf) umfassen.
  4. Prozessorarchitektur nach einem vorstehenden Anspruch, mit einer Kopierlogik (K) zum Kopieren der von der Daten-Speicheranordnung (RAM) an einen Eingang einer der Arithmetik/Logik-Einheiten (ALU-R; ALU-L) angelegten Daten (d) auf einen Eingang der anderen der Arithmetik/Logik-Einheiten (ALU-L; ALU-R).
  5. Prozessorarchitektur nach einem vorstehenden Anspruch, welche zum Verarbeiten der Daten in einer für einen bestimmten Datentyp geeigneten der Arithmetik/Logik-Einheiten (ALU-L, ALU-R) mit einem vom Datentyp unabhängigen Instruktionssatz ausgebildet ist.
  6. Prozessorarchitektur, welche zum Definieren des Datentyps mittels Instruktionen vor einem Ansprung einer eigentlichen Routine zur Datenverarbeitung ausgebildet ist.
  7. Prozessorarchitektur nach einem vorstehenden Anspruch, bei welcher – eine erste der Arithmetik/Logik-Einheiten (ALU-L) zur Bearbeitung eines ersten Datentyps ausgebildet oder ausgelegt ist und eine zweite der Arithmetik/Logik-Einheiten (ALU-R) zur Bearbeitung eines zweiten Datentyps ausgebildet oder ausgelegt ist und – eine Steuereinrichtung (PC) zum Zuweisen der Daten (d) eines bestimmten Datentyps zu deren Datenverarbeitung zu der geeigneten der Arithmetik/Logik-Einheiten (ALU-L oder ALU-R) für den jeweiligen Datentyp abhängig von der Zugriffsadresse (a1-an), abhängig von einem Bestandteil der Zugriffsadresse (a0, sf) oder abhängig von einem Zusatz zur Zugriffsadresse (sf) ausgelegt oder ausgebildet ist.
  8. Prozessorarchitektur nach einem vorstehenden Anspruch, bei welcher die Zugriffsadressen aus einer einheitlichen Speicheradresse (a1-an), aus einer im Pointer-Register enthaltenen Information und/oder aus einer zusätzlichen Datentyp-Information (a0, sf) ausgebildet sind.
  9. Prozessor mit einer Prozessorarchitektur nach einem vorstehenden Anspruch.
  10. Verfahren zum Verarbeiten von Daten in einer SIMD-Prozessorarchitektur, bei dem – Daten (d) verschiedenen Datentyps in eine Daten-Speicheranordnung (RAM) gespeichert werden, wobei den Daten (d) eine Zugriffsadresse für einen Speicherbereich der Daten-Speicheranordnung zugeordnet wird und – zum Verarbeiten der Daten (d) die Daten (d) aus der Daten-Speicheranordnung (RAM) abgerufen und zumindest einer Arithmetik/Logik-Einheit (ALU-L, ALU-R) angelegt werden, dadurch gekennzeichnet, dass – die Zuordnung der Zugriffsadresse (a1-an, a0, sf) zu den zu speichernden Daten (d) abhängig von dem jeweiligen Datentyp der Daten (b) durchgeführt wird und/oder – die Zugriffsadressen (a1, an, a0, sf) mit dem jeweiligen Datentyp der Daten (d) verknüpft werden und/oder – eine Verteilung der Daten (d) an die Arithmetik/Logik-Einheiten (ALU-L, ALU-R) abhängig von den Zugriffsadressen (a1, an, a0, sf) durchgeführt wird und/oder – eine Speicherung von Ausgangsdaten als den Daten (d) abhängig von den Zugriffsadressen (a1, an, a0, sf) durchgeführt wird.
  11. Verfahren nach Anspruch 10, bei dem die von der Daten-Speicheranordnung (RAM) an einen Eingang einer der Arithmetik/Logik-Einheiten (ALU-L; ALU-R) angelegten Daten auf einen Eingang der anderen der Arithmetik/Logik-Einheiten (ALU-R; ALU-L) kopiert werden.
  12. Verfahren nach Anspruch 10 oder 11, bei dem ein Instruktions-Code zum Verarbeiten der Daten (d) in einer der Arithmetik/Logik-Einheiten (ALU-L, ALU-R) unabhängig vom Datentyp der Daten (d) codiert wird.
  13. Verfahren nach einem der Ansprüche 10 bis 12, bei dem die Daten (d) abhängig von der Zugriffsadresse (a1-an), abhängig von einem Bestandteil der Zugriffsadresse (a0, sf) oder abhängig von einem Zusatz zur Zugriffsadresse (sf) einer bestimmten der Arithmetik/Logik-Einheiten (ALU-L, ALU-R) angelegt werden, wobei die bestimmte der Arithmetik/Logik-Einheiten (ALU-L, ALU-R) zur Verarbeitung des jeweiligen Datentyps der Daten (d) verwendet wird.
  14. Verfahren nach einem der Ansprüche 10 bis 13, bei dem die Zugriffsadressen aus einer eigentlichen Speicheradresse (a1-an) und/oder aus einer zusätzlichen Datentyp-Information als erweiterter Zugriffsadresse (a0, sf) ausgebildet werden.
  15. Verfahren nach einem der Ansprüche 10 bis 14, bei dem im Instruktions-Code zum Zuordnen der Daten (d) zu bestimmten Arithmetik/Logik-Einheiten keine vom Datentyp abhängige Zuordnungs-Anweisungsanteile enthalten sind.
  16. Verfahren nach einem der Ansprüche 10 bis 15 zum Betreiben einer Prozessorarchitektur nach einem der Ansprüche 1 bis 8 oder zum Betreiben eines Prozessors nach Anspruch 9.
DE102005041672A 2005-09-01 2005-09-01 SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur Ceased DE102005041672A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005041672A DE102005041672A1 (de) 2005-09-01 2005-09-01 SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur
US11/515,353 US7769989B2 (en) 2005-09-01 2006-09-01 Processor for processing data using access addresses linked to the data type of the processed data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005041672A DE102005041672A1 (de) 2005-09-01 2005-09-01 SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur

Publications (1)

Publication Number Publication Date
DE102005041672A1 true DE102005041672A1 (de) 2007-03-15

Family

ID=37762892

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005041672A Ceased DE102005041672A1 (de) 2005-09-01 2005-09-01 SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur

Country Status (2)

Country Link
US (1) US7769989B2 (de)
DE (1) DE102005041672A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2475816C1 (ru) * 2011-11-07 2013-02-20 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Иркутский государственный университет путей сообщения (ФГБОУ ВПО ИрГУПС) Управляющий автомат
KR20130131789A (ko) * 2012-05-24 2013-12-04 삼성전자주식회사 미니코어 기반의 재구성 가능 프로세서 및 그 재구성 가능 프로세서를 이용한 유연한 다중 데이터 처리 방법
DE112019007755T5 (de) * 2019-09-26 2022-06-30 Mitsubishi Electric Corporation Entwicklungswerkzeug, Lerngerät und Datensammelsystem

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812147A (en) * 1996-09-20 1998-09-22 Silicon Graphics, Inc. Instruction methods for performing data formatting while moving data between memory and a vector register file
US6195746B1 (en) 1997-01-31 2001-02-27 International Business Machines Corporation Dynamically typed register architecture
US6170001B1 (en) 1998-05-27 2001-01-02 Arm Limited System for transfering format data from format register to memory wherein format data indicating the distribution of single or double precision data type in the register bank
EP1099156B1 (de) 1998-07-31 2002-10-09 Siemens Aktiengesellschaft Schaltungsanordnung und verfahren zur datenkonvertierung in einem prozessor
EP1645967B1 (de) * 2004-10-11 2008-02-27 Texas Instruments Incorporated Multikanal-DMA mit gemeinsamem FIFO-Puffer

Also Published As

Publication number Publication date
US20070118727A1 (en) 2007-05-24
US7769989B2 (en) 2010-08-03

Similar Documents

Publication Publication Date Title
DE2350884C2 (de) Adreßumsetzungseinheit
DE19526007A1 (de) Horizontal partitionierter Befehls-Cache-Speicher
DE2355993B2 (de) Programmierbare datenverarbeitungsanlage
DE19526008C2 (de) Befehlsvorholeinheit für einen Computer
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE202016007893U1 (de) Systeme zum Entfernen von PLT-Stubs aus dynamisch verknüpften Binärdateien
EP2698678A2 (de) Konfigurationstechnik für ein Steuergerät mit miteinander kommunizierenden Anwendungen
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE102005041672A1 (de) SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur
DE19824289A1 (de) Pipelineverarbeitungsmaschine
EP1764682A2 (de) Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer Prozessorarchitektur
DE3121046A1 (de) Arithmetik-logikeinheit mit bit-manipulation
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2235883C3 (de) Datenverarbeitungseinrichtung
EP1145113B1 (de) Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors
DE2557787C2 (de) Vorausladeeinrichtung zum mikroprogrammierten und verdeckten Bereitstellen von Maschinenbefehlen unterschiedlichen Formats in einem Prozessor eines datenverarbeitenden Systems
DE2717700C2 (de) Speicherzugriffsanordnung
DE102013114508A1 (de) Blockbasierte Signalverarbeitung
DE60211505T2 (de) Erweiterte funktionalität von prozessoroperationen wo befehle mit fester breite kodiert sind
DE102005038567A1 (de) Multi-Prozessor-Architektur und Verfahren zum Steuern von Speicherzugriff bei einer Multi-Prozess-Architektur
DE2502005C2 (de) Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung
EP0560342B1 (de) Verfahren zum Untersuchen des Ablaufs eines in einer Hardware-Beschreibungssprache geschriebenen Programms
DE2419837B2 (de) Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen
DE2419836A1 (de) Verfahren zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen
DE3642994C2 (de) Verfahren und Anordnung zur Steuerung der in einem bestimmten Zeitraum von einem Mikroprozessor oder Mikrocomputer mit einem festgelegten Befehlssatz durch aufeinanderfolgende Abarbeitung von Befehlen verarbeitbaren Daten

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: TRIDENT MICROSYSTEMS (FAR EAST) LTD., GRAND CA, KY

8128 New person/name/address of the agent

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCHAFT

R081 Change of applicant/patentee

Owner name: ENTROPIC COMMUNICATIONS, INC., SAN DIEGO, US

Free format text: FORMER OWNER: MICRONAS GMBH, 79108 FREIBURG, DE

Effective date: 20110210

R084 Declaration of willingness to licence

Effective date: 20110426

R012 Request for examination validly filed

Effective date: 20120604

R082 Change of representative

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE

R081 Change of applicant/patentee

Owner name: ENTROPIC COMMUNICATIONS, INC., SAN DIEGO, US

Free format text: FORMER OWNER: TRIDENT MICROSYSTEMS (FAR EAST) LTD., GRAND CAYMAN, KY

Effective date: 20131204

Owner name: ENTROPIC COMMUNICATIONS, INC., US

Free format text: FORMER OWNER: TRIDENT MICROSYSTEMS (FAR EAST) LTD., GRAND CAYMAN, KY

Effective date: 20131204

R082 Change of representative

Representative=s name: EPPING HERMANN FISCHER PATENTANWALTSGESELLSCHA, DE

Effective date: 20131204

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE

Effective date: 20131204

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R003 Refusal decision now final