DE10212622A1 - Prozessorkopplung - Google Patents
ProzessorkopplungInfo
- Publication number
- DE10212622A1 DE10212622A1 DE10212622A DE10212622A DE10212622A1 DE 10212622 A1 DE10212622 A1 DE 10212622A1 DE 10212622 A DE10212622 A DE 10212622A DE 10212622 A DE10212622 A DE 10212622A DE 10212622 A1 DE10212622 A1 DE 10212622A1
- Authority
- DE
- Germany
- Prior art keywords
- reconfigurable
- processor
- standard
- vpu
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Abstract
Die vorliegende Erfindung befaßt sich mit der Integration und/oder engen Kopplung von rekonfigurierbaren Prozessoren mit Standardprozessoren, dem Datenaustausch und der Synchronisation der Datenverarbeitung.
Description
- Die vorliegende Erfindung befaßt sich mit der Integration und/oder engen Kopplung von rekonfigurierbaren Prozessoren mit Standardprozessoren, dem Datenaustausch und der Synchronisation der Datenverarbeitung.
- Aufgabe der Erfindung ist es, Neues für die gewerbliche Nutzung bereitzustellen.
- Die Lösung der Aufgabe wird unabhängig beansprucht. Bevorzugte Ausführungsformen befinden sich in den Unteransprüchen.
- Unter einer rekonfigurierbaren Architektur werden vorliegend Bausteine (VPU) mit konfigurierbarer Funktion und/oder Vernetzung verstanden, insbesondere integrierte Bausteine mit einer Mehrzahl von ein- oder mehrdimensional angeordneten arithmetischen und/oder logischen und/oder analogen und/oder speichernden und/oder intern/extern vernetzenden Baugruppen, die direkt oder durch ein Bussystem miteinander verbunden sind.
- Zur Gattung dieser Bausteine zählen insbesondere systolische Arrays, neuronale Netze, Mehrprozessor Systeme, Prozessoren mit mehreren Rechenwerken und/oder logischen Zellen und/oder kommunikativen/peripheren Zellen (IO), Vernetzungs- und Netzwerkbausteine wie z. B. Crossbar-Schalter, ebenso wie bekannte Bausteine der Gattung FPGA, DPGA, Chameleon, XPUTER, etc. Hingewiesen wird insbesondere in diesem Zusammenhang auf die folgenden Schutzrechte und Anmeldungen desselben Anmelders: P 44 16 881.0-53, DE 197 81 412.3, DE 197 81 483.2, DE 196 54 846.2-53, DE 196 54 593.5-53, DE 197 04 044.6-53, DE 198 80 129.7, DE 198 61 088.2-53, DE 199 80 312.9, PCT/DE 00/01 869, DE 100 36 627.9-33, DE 100 28 397.7, DE 101 10 530.4, DE 101 11 014.6, PCT/EP 00/10 516, EP 01 102 674.7, PACT02, PACT04, PACT05, PACT08, PACT10, PACT11, PACT13, PACT21, PACT13, PACT18, PACTI8a, PACT19, PACT25, PACT25a. Diese sind hiermit zu Offenbarungszwecken vollumfänglich eingegliedert.
- Die o. g. Architektur wird beispielhaft zur Verdeutlichung herangezogen und im folgenden VPU genannt. Die Architektur besteht aus beliebigen arithmetischen, logischen (auch Speicher) und/oder Speicherzellen und/oder Vernetzungszellen und/oder kommunikativen/peripheren (IO) Zellen (PAEs), die zu einer ein- oder mehrdimensionalen Matrix (PA) angeordnet sein können, wobei die Matrix unterschiedliche beliebig ausgestaltete Zellen aufweisen kann, auch die Bussysteme werden dabei als Zellen verstanden. Der Matrix als ganzes oder Teilen davon zugeordnet ist eine Konfigurationseinheit (CT), die die Vernetzung und Funktion des PA durch Konfigurations bestimmt.
- Verschieden Methoden zum Ankoppeln von rekonfigurierbaren Prozessoren an Standardprozessoren sind bekannt. Diese sehen für gewöhnlich eine lose Kopplung vor.
- Ein Standardprozessor z. B. ein RISC, CISC, DSP (CPU) wird mit einem rekonfigurierbaren Prozessor (VPU) gekoppelt.
- Zwei unterschiedliche bevorzugt jedoch zugleich implementierte Kopplungsvarianten werden beschrieben.
- Eine erste Variante sieht eine direkte Ankoppelung an den Befehlssatz einer CPU vor (Befehlssatzkopplung).
- Eine zweite Variante sieht eine Ankoppelung über Tabellen im Hauptspeicher vor.
- Innerhalb eines Instruktionssets (ISA) einer CPU sind für gewöhnlich freie unbenutzte Befehle vorhanden. Einer oder eine Mehrzahl dieser freien unbenutzen Befehle wird nunmehr für die Steuerung von VPUs verwendet (VPUCODE).
- Durch die Dekodierung eines VPUCODEs wird eine Konfigurationseinheit (CT) einer VPU angesteuert die in Abhängigkeit des VPUCODEs bestimmte Abläufe ausführt.
- Beispielsweise kann ein VPUCODE das Laden und/oder Ausführen von Konfigurationen durch die Konfigurationseinheit (CT) für eine VPU auslösen.
- In einer erweiterten Ausführung kann ein VPUCODE über eine Übersetzungstabelle, die bevorzugt von der CPU aus aufgebaut wird auf unterschiedliche VPU-Kommandos übersetzt werden. Die Konfigurationstabelle kann in Abhängigkeit von dem ausgeführten CPU Programm oder Codeabschnitt gesetzt werden.
- Die VPU läd nach Eintreffen eines Ladekommandos Konfigurationen aus einem eigenen oder mit der CPU geteilten Speicher. Insbesondere kann eine Konfiguration im Code des aktuell ausgeführten Programmes beinhaltet sein.
- Nach Erhalt eines Ausführungskommandos führt eine VPU die auszuführende Konfiguration aus und die entsprechende Datenverarbeitung durch. Das Beenden der Datenverarbeitung kann durch ein Terminierungssignal (TERM) an die CPU angezeigt werden.
- Das Auftreten eines VPUCODEs können solange Wartezyklen auf der CPU ausgeführt werden, bis das Terminierungssignal (TERM) der Beendingung der Datenverarbeitung von der VPU eintrifft.
- In einer bevorzugten Ausgestaltung wird mit der Verarbeitung der nächsten Codes fortgefahren. Tritt ein weiterer VPUCODE auf, kann sodann auf die Beendigung des vorhergehenden gewartet werden, oder sämtliche gestartete VPUCODEs werden in einer Verarbeitungspipeline eingereiht, oder ein Taskwechsel wird wie nachfolgend beschrieben ausgeführt.
- Die Beendigung einer Datenverarbeitung wird durch das eintreffen des Terminierungssignal (TERM) in einem Statusregister signalisiert. Die Terminierungssignale treffen in der Reihenfolge einer möglichen Verarbeitungspipeline ein. Die Datenverarbeitung auf der CPU kann durch das Testen des Statusregisters auf das Eintreffen eines Terminierungssignales synchronisiert werden.
- In einer möglichen Ausgestaltung kann, sofern eine Applikation vor dem Eintreffen von TERM z. B. durch Datenabhängigkeiten nicht fortgesetzt werden kann, ein Taskwechsel ausgelöst werden.
- Nach PACT18 werden bevorzugt lose Kopplungen zwischen Prozessoren und VPUs aufgebaut, bei welchen VPUs weitestgehend als unabhängige Coprozessoren arbeiten.
- Eine derartige Kopplung sieht eine oder mehrere gemeinsame Datenquellen und -senken, zumeist über gemeinsame Bussysteme und/oder gemeinsame Speicher vor. Über DMAs und/oder andere Speicherzugriffskontroller werden Daten zwischen einer CPU und einer VPU ausgetauscht. Die Synchronisation der Datenverarbeitung erfolgt bevorzugt über eine Interruptsteuerung oder einen Statusabfragemechanismus (z. B. Polling).
- Eine enge Ankopplung entspricht der vorab beschriebenen direkten Ankopplung einer VPU in den Befehlssatz einer CPU.
- Bei einer direkten Rechenwerk-Ankopplung ist besonders auf eine hohe Rekonfigurationsperformance zu achten. Bevorzugt kann daher die Wave-Rekonfiguration nach PACT10, PACT13, PACT17 zum Einsatz kommen. Desweiteren werden die Konfigurationsworte bevorzugt nach PACT04, PACT13, PACT17, PACT31 vorab derart vorgeladen, dass bei Ausführung des Befehls die Konfiguration besonders schnell (mittels Wave-Reconfiguration im Optimalfall innerhalb eines Taktes) konfiguriert werden kann.
- Für die Wave-Reconfiguration werden bevorzugt die voraussichtlich auszuführenden Konfigurationen vorab durch den Compiler zur Compilezeit erkannt und zur Laufzeit entsprechend vorgeladen. Mögliche Verfahren sind beispielsweise aus aus PACT04, PACT08, PACT10, PACT13, PACT17, PACT31 bekannt. Zum Zeitpunkt der Befehlsausführung wird die entsprechende Konfiguration selektiert und ausgeführt. Auch derartige Verfahren sind nach den o. g. Schriften bekannt.
- Eine bevorzugte Implementierung kann unterschiedliche Datentransfers zwischen einer CPU und VPU vorsehen. Drei besonders bevorzugte einzeln oder kombiniert einsetzbare Methoden werden nachfolgend beschrieben.
- Bei einer Registerkopplung kann die VPU Daten aus einem CPU- Register entnehmen, verarbeiten und in ein CPU-Register zurückschreiben.
- Bevorzugt werden Synchronisationsmechanismen zwischen der CPU und der VPU eingesetzt.
- Beispielsweise kann die VPU durch das Einschreiben der Daten in ein CPU-Register durch die CPU ein RDY-Signal (PACT02, PACT18) erhalten und daraufhin die eingeschriebenen Daten verarbeiten. Das Auslesen von Daten aus einem CPU-Register durch die CPU kann ein ACK-Signal (PACT02, PACT18) generieren, wodurch die Datenabnahme durch die CPU der VPU signalisiert wird.
- CPUs stellen typischerweise keine entsprechenden Mechanismen zur Verfügung.
- Zwei mögliche Lösungen werden nähers beschrieben:
Ein einfach zu realsierenden Ansatz ist, die Datensynchronisation über ein Statusregister durchzuführen. Beispielsweise kann die VPU das erfolgte Auslesen von Daten aus einem Register und das damit verbundene ACK-Signal (PACT02, PACT18) und/oder das Einschreiben von Daten in ein Register und das damit verbundene RDY-Signal (PACT02, PACT18) in dem Statusregister anzeigen. Die CPU testet zunächst das Statusregister und führt beispielsweise so lange Warteschleifen oder Taskwechsel aus, bis - je nach Operation - das RDY oder ACK eintraf. Danach führt die CPU den jeweiligen Registerdatentransfer aus. - In einer erweiterten Ausgestaltung wird der Befehlssatz der CPU um load/store-Instruktionen mit integrierter Statusabfrage (load_rdy, store_ack) erweitert. Beispielsweise wird bei einem store ack nur dann ein neues Datenwort in ein CPU- Register geschrieben, wenn das Register vorher von der VPU ausgelesen wurde und ein ACK eintraf. Entsprechend liest load_rdy nur Daten aus einem CPU-Register, wenn die VPU vorher neue Daten eingeschrieben und ein RDY generiert hat.
- Daten die zu einer auszuführenden Konfiguration gehören können successive, quasi durch Block-Moves nach dem Stand der Technik in die CPU-Register geschrieben oder aus diesen gelesen werden. Ggf. implementierte Block-Move-Instruktionen können bevorzugt durch die beschriebene integrierte RDY/ACK Statusabfrage erweitert werden.
- Es ist offensichtlich, dass eine Vielzahl von leichten Modifikationen und unterschiedlichen Ausgestaltungen dieses Grundverfahrens möglich sind.
- Die bereits erwähnte Wave-Rekonfiguration erlaubt das Starten eines neuen VPU-Befehls und der entsprechenden Konfiguration, sobald die Operanden des vorhergehenden VPU-Befehls aus den CPU-Registern abgenommen wurden. Die Operanden für den neuen Befehl können direkt nach Befehlsstart in die CPU-Register geschrieben werden.
- Entsprechend des Wave-Rekonfiguration-Verfahrens wird die VPU successive mit Fertigstellung der Datenverarbeitung des vorherigen VPU-Befehls für den neuen VPU-Befehl umkonfiguriert und die neuen Operanden verarbeitet.
- Weiterhin können Daten zwischen einer VPU und einer CPU durch geeignete Buszugriffe auf gemeinsame Ressourcen ausgetauscht werden.
- Sofern Daten ausgetauscht werden sollen, die kurz zuvor von der CPU verarbeitet wurden und daher voraussichtlich noch im Cache der CPU liegen bzw. sofort anschliessend von der CPU verarbeitet werden und daher sinnvollerweise in den Cache der CPU gelegt werden, werden diese bevorzugt von der VPU aus dem Cache der CPU gelesen, bzw. in den Cache der CPU geschrieben. Dies kann durch geeignete Analysen weitestgehend vorab zur Compilezeit der Applikation durch den Compiler festgestellt und der Binärcode entsprechend generiert werden.
- Sofern Daten ausgetauscht werden sollen, die sich voraussichtlich nicht im Cache der CPU befinden bzw. voraussichtlich nicht nachfolgend im Cache der CPU benötigt werden, werden diese bevorzugt von der VPU direkt vom externen Bus und der damit verbundenen Datenquelle (z. B. Speicher, Peripherie) gelesen, bzw. an den externen Bus und der damit verbundenen Datensenke (z. B. Speicher, Peripherie) geschrieben. Dies kann durch geeignete Analysen weitestgehend vorab zur Compilezeit der Applikation durch den Compiler festgestellt und der Binärcode entsprechend generiert werden.
- Bei einem Transfer über den Bus am Cache vorbei, wird bevorzugt ein Protokoll zwischen Cache und Bus implementiert, das für einen korrekten Inhalt des Caches sorgt. Beispielsweise kann das bekannte MESI-Protokoll nach dem Stand der Technik hierzu verwendet werden.
- Die beschriebenen Verfahren sehen zunächst keinen besonderen Mechanismus für die Unterstützung von Betriebssystemen vor. Es ist nämlich bevorzugt sicherzustellen, dass ein auszuführendes Betriebssystem sich entsprechend des Status einer zu unterstützenden VPU verhält. Insbesondere sind Scheduler erforderlich.
- Bei einer engen Rechenwerkkopplung wird bevorzugt das Statusregister der CPU abgefragt, in welches die angekoppelte VPU ihren Datenverarbeitungsstatus (Terminierungssignal) einträgt. Soll eine weitere Datenverarbeitung an die VPU übertragen werden, und die VPU hat die vorherige Datenverarbeitung noch nicht beendet wird gewartet oder bevorzugt ein Taskwechsel ausgeführt.
- Für eine Coprozessorkopplung werden bevorzugt über das Betriebssystem, i. b. den Scheduler gesteuerte Mechanismen verwendet:
Ein einfacher Scheduler kann nach Übertragung einer Funktion auf eine VPU entweder den akutellen Task auf der CPU weiterlaufen lassen, sofern dieser unabhängig und parallel zur Datenverarbeitung auf einer VPU ablaufen kann. Sofern oder sobald der Task auf die Beendigung der Datenverarbeitung auf der VPU warten muss, schaltet der Taskscheduler auf einen anderen Task um. - Jeder neu aktivierte Task muss, sofern er die VPU verwendet, vor Verwendung prüfen, ob diese für eine Datenverarbeitung zur Verfügung steht oder aktuell noch Daten verarbeitet; dann muss entweder auf die Beendigung der Datenverarbeitung gewartet oder bevorzugt der Task gewechselt werden.
- Ein einfaches und dennoch leistungsfähiges Verfahren kann durch sogenannte Descriptor Tables aufgebaut werden, die bespielsweise folgendermassen realisiert werden können:
Jeder Task generiert zum Aufruf der VPU eine oder mehrere Tabelle(n) (VPUCALL) mit einem geeigneten festgelegten Datenformat in dem ihm zugewiesenen Speicherbereich. Diese Tabelle beeinhaltet sämtliche Steuerinformation für eine VPU, wie z. B. das auszuführende Programm/die auszuführende Konfiguration und/oder Zeiger auf die Speicherstelle(n) oder Datenquellen der Eingangsdaten und/oder die Speicherstelle(n) oder Datensenken der Ergebnisdaten. - Im Speicherbereich des Betriebssystems befindet sich eine Tabelle oder verkettete Liste (LINKLIST), die auf sämtliche VPUCALL-Tabellen in der Reihenfolge ihrer Erstellung zeigt.
- Die Datenverarbeitung auf der VPU läuft nunmehr derart ab, dass ein Task einen VPUCALL erstellt und über das Betriebssystem die VPU aufruft. Das Betriebssystem erstellt einen Eintrag in der LINKLIST. Die VPU arbeitet die LINKLIST ab und führt die jeweils referenzierten VPUCALL aus. Die Beendigung einer der jeweiligen Datenabarbeitung wird jeweils durch einen entsprechenden Eintrag in die LINKLIST und/oder VPUCALL Tabelle angezeigt.
- Die VPU arbeitet somit weitgehend unabhängig von der CPU. Das Betriebssystem und/oder die jeweiligen Task müssen lediglich die Tabellen (LINKLIST bzw. VPUCALL) überwachen.
- Besonders performanceeffizient arbeiten die beiden Verfahren, wenn als VPU eine Architektur zum Einsatz kommt, die eine mit der Datenverarbeitung überlagerte Rekonfiguration zulässt, wie z. B. die Wave-Reconfiguration nach PACT10, PACT13, PACT17.
- Damit ist es möglich eine neue Datenverarbeitung und eine ggf. damit verbundene Rekonfiguration sofort nach lesen der letzten Operanden aus den Datenquellen zu starten. Mit anderen Worten ist für die Synchronisation nicht mehr das Beenden der Datenverarbeitung, sonderen das Lesen der letzten Operanden erforderlich. Dadurch wird die Performance der Datenverarbeitung erheblich gesteigert.
- Sämtliche erwähnten PACT Patentanmeldungen sind zu Offenbarungszwecken vollumfänglich eingegliedert.
- Beliebige weitere Ausgestaltungen und Kombinationen der erläuterten Erfindungen sind möglich und einem Fachmann offensichtlich.
Claims (10)
1. Verfahren zur Integration und/oder Kopplung von
rekonfigurierbaren an Standard-Prozessoren,
dadurch gekennzeichnet, daß
im Instruktionssatz des Standardprozessors zumindest ein
Ansteuerungsbefehl für zumindest einen
rekonfigurierbaren Prozessor vorgesehen wird, um bei Auftreten
desselben eine Ansteuerung des rekonfigurierbaren Prozessors
vorzunehmen.
2. Verfahren nach dem vorhergehenden Anspruch, dadurch
gekennzeichnet, daß die Ansteuerung über eine
Konfigurationseinheit bzw. eine Konfigurationsverwaltungseinheit
erfolgt.
3. Verfahren nach dem vorhergehenden Anspruch, dadurch
gekennzeichnet, daß die Ansteuerung erfolgt, um die
Konfigurationseinheit zum Laden einer oder mehrerer
Konfigurationen erfolgt.
4. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß dem Standardprozessor die
Beendigung der Datenverarbeitung durch den
rekonfigurierbaren Prozessor angezeigt wird.
5. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß bei Ansteuerung zur Ausführung
weiterer Konfigurationen diese unter Durchführung eines
Takswechsels auf dem rekonfigurierbaren Prozessor
durchgeführt werden, insbesondere über eine
Waverekonfiguration des rekonfigurierbaren Prozessors.
6. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß zwischen dem
rekonfigurierbaren und dem Standard-Prozessor Rdy-/Ack-Signal
übertragen werden und der Standard-Prozessor -Befehlssatz so
gewählt ist, daß load/Store-Befehle mit Statusabfrage
durchgeführt werden können.
7. Verfahren nach dem vorhergehenden Anspruch, dadurch
gekennzeichnet, daß der Standard-Prozessor bis zum
Eintreffen eines RDY oder ACK Warteschleifen und/oder
Taskwechsel ausführt.
8. Verfahren zur Integration und/oder Kopplung von
rekonfigurierbaren an Standard-Prozessoren, insbesondere nach
einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß Daten über gemeinsame
Bussysteme und/oder Speicher übertragen werden.
9. Verfahren zur Integration und/oder Kopplung von
rekonfigurierbaren an Standard-Prozessoren, insbesondere nach
einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß vor dem Aufruf des
rekonfigurierbares Prozessors überprüft wird, ob derselbe zur
Verfügung steht und im Ansprechen auf das
Überprüfungsergebnis entweder auf die Datenverarbeitungsbeendigung
gewartet oder der Task gewechselt wird.
10. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß es mit einer
rekonfigurierbaren Architektur aus beliebigen arithmetischen, logischen
(auch Speicher) und/oder Speicherzellen und/oder
Vernetzungszellen insbesondere Bussystemen und/oder
kommunikativen/peripheren (IO) Zellen (PAEs) angewendet wird, die
zu einer ein- oder mehrdimensionalen Matrix (PA)
angeordnet sind oder werden.
Priority Applications (38)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10212622A DE10212622A1 (de) | 2002-03-21 | 2002-03-21 | Prozessorkopplung |
PCT/EP2002/006865 WO2002103532A2 (de) | 2001-06-20 | 2002-06-20 | Verfahren zur bearbeitung von daten |
AT02780770T ATE478381T1 (de) | 2001-06-20 | 2002-06-20 | Verfahren zur bearbeitung von daten |
AU2002347560A AU2002347560A1 (en) | 2001-06-20 | 2002-06-20 | Data processing method |
EP10005502A EP2224330B1 (de) | 2001-06-20 | 2002-06-20 | Verfahren und gerät zum partitionieren von grossen rechnerprogrammen |
AT10005502T ATE557344T1 (de) | 2001-06-20 | 2002-06-20 | Verfahren und gerät zum partitionieren von grossen rechnerprogrammen |
EP02780770A EP1402382B1 (de) | 2001-06-20 | 2002-06-20 | Verfahren zur bearbeitung von daten |
US10/480,003 US7657877B2 (en) | 2001-06-20 | 2002-06-20 | Method for processing data |
JP2003505782A JP2004533691A (ja) | 2001-06-20 | 2002-06-20 | データを処理するための方法 |
EP02777144A EP1466264B1 (de) | 1995-12-29 | 2002-09-18 | Verfahren zur konfiguration der verbindung zwischen datenverarbeitungszellen |
PCT/EP2002/010479 WO2003025781A2 (de) | 2001-09-19 | 2002-09-18 | Verfahren zur konfiguration der verbindung zwischen datenverarbeitungszellen |
US10/490,079 US7434191B2 (en) | 2001-09-03 | 2002-09-18 | Router |
AU2002338729A AU2002338729A1 (en) | 2001-09-19 | 2002-09-18 | Router |
EP02791644A EP1472616B8 (de) | 2001-09-19 | 2002-09-19 | Rekonfigurierbare elemente |
PCT/EP2002/010572 WO2003036507A2 (de) | 2001-09-19 | 2002-09-19 | Rekonfigurierbare elemente |
JP2003538928A JP4456864B2 (ja) | 2001-09-19 | 2002-09-19 | リコンフィギュアブル素子 |
US10/490,081 US8429385B2 (en) | 2001-09-03 | 2002-09-19 | Device including a field having function cells and information providing cells controlled by the function cells |
AU2002357982A AU2002357982A1 (en) | 2001-09-19 | 2002-09-19 | Reconfigurable elements |
AT02791644T ATE533111T1 (de) | 2001-09-19 | 2002-09-19 | Rekonfigurierbare elemente |
US10/508,559 US20060075211A1 (en) | 2002-03-21 | 2003-03-21 | Method and device for data processing |
EP03720231A EP1518186A2 (de) | 2002-03-21 | 2003-03-21 | Verfahren und vorrichtung zur datenverarbeitung |
AU2003223892A AU2003223892A1 (en) | 2002-03-21 | 2003-03-21 | Method and device for data processing |
PCT/DE2003/000942 WO2003081454A2 (de) | 2002-03-21 | 2003-03-21 | Verfahren und vorrichtung zur datenverarbeitung |
US12/247,076 US8209653B2 (en) | 2001-09-03 | 2008-10-07 | Router |
US12/571,173 US8686549B2 (en) | 2001-09-03 | 2009-09-30 | Reconfigurable elements |
JP2009271120A JP2010079923A (ja) | 2001-09-19 | 2009-11-30 | 処理チップ、チップを含むシステム、マルチプロセッサ装置およびマルチコアプロセッサ装置 |
US12/640,201 US20100095094A1 (en) | 2001-06-20 | 2009-12-17 | Method for processing data |
US12/729,090 US20100174868A1 (en) | 2002-03-21 | 2010-03-22 | Processor device having a sequential data processing unit and an arrangement of data processing elements |
US12/729,932 US20110161977A1 (en) | 2002-03-21 | 2010-03-23 | Method and device for data processing |
US13/023,796 US8686475B2 (en) | 2001-09-19 | 2011-02-09 | Reconfigurable elements |
US14/162,704 US20140143509A1 (en) | 2002-03-21 | 2014-01-23 | Method and device for data processing |
US14/223,793 US10031733B2 (en) | 2001-06-20 | 2014-03-24 | Method for processing data |
US14/263,185 US8890215B2 (en) | 1997-10-08 | 2014-04-28 | Reconfigurable elements |
US14/540,782 US20150074352A1 (en) | 2002-03-21 | 2014-11-13 | Multiprocessor Having Segmented Cache Memory |
US14/543,306 US9092595B2 (en) | 1997-10-08 | 2014-11-17 | Multiprocessor having associated RAM units |
US14/810,905 US9240220B2 (en) | 1997-10-08 | 2015-07-28 | Stacked-die multi-processor |
US14/923,702 US10579584B2 (en) | 2002-03-21 | 2015-10-27 | Integrated data processing core and array data processor and method for processing algorithms |
US15/000,763 US10885996B2 (en) | 1997-10-08 | 2016-01-19 | Processor having a programmable function unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10212622A DE10212622A1 (de) | 2002-03-21 | 2002-03-21 | Prozessorkopplung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10212622A1 true DE10212622A1 (de) | 2003-10-23 |
Family
ID=28458362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10212622A Ceased DE10212622A1 (de) | 1995-12-29 | 2002-03-21 | Prozessorkopplung |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10212622A1 (de) |
-
2002
- 2002-03-21 DE DE10212622A patent/DE10212622A1/de not_active Ceased
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1402382B1 (de) | Verfahren zur bearbeitung von daten | |
DE102018130441A1 (de) | Einrichtung, Verfahren und Systeme mit konfigurierbarem räumlichem Beschleuniger | |
DE69332663T2 (de) | Datenprozessor mit einem Cachespeicher | |
DE19735350B4 (de) | Vektorprozessor zum Ausführen paralleler Operationen und Verfahren hierfür | |
DE69909829T2 (de) | Vielfadenprozessor für faden-softwareanwendungen | |
DE2251876C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE19735348B4 (de) | Vektorprozessor zur Einzelbefehl-Mehrdaten-Verarbeitung unter Verwendung von mehreren Bänken von Vektorregistern und zugehöriges Verfahren zum Betreiben desselben | |
DE102018005169A1 (de) | Prozessoren und verfahren mit konfigurierbaren netzwerkbasierten datenflussoperatorschaltungen | |
EP3077912B1 (de) | Steuergerät für ein kraftfahrzeug | |
DE112015004983T5 (de) | Parallel-Slice-Prozessor mit einer Lade-Speicher-Umlaufwarteschlange für eine schnelle Freigabe von Einträgen in einer Ausgabewarteschlange | |
DE112017001825T5 (de) | Prozessoren, verfahren, systeme und instruktionen zum atomischen speichern von daten, die breiter als eine nativ unterstützte datenbreite sind, in einem speicher | |
DE102005021749A1 (de) | Verfahren und Vorrichtung zur programmgesteuerten Informationsverarbeitung | |
DE102005055000A1 (de) | Modulares Avioniksystem eines Flugzeuges | |
DE19735869A1 (de) | System und Verfahren zum Verarbeiten von Softwareunterbrechungen durch Parameterübergabe | |
DE69732793T2 (de) | Acht-bit-mikrokontroller mit risc-architektur | |
DE112014000340T5 (de) | Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern | |
EP1518186A2 (de) | Verfahren und vorrichtung zur datenverarbeitung | |
DE102018128626A1 (de) | Systeme, Verfahren und Vorrichtungen für Matrixoperationen | |
EP1449083B1 (de) | Verfahren zum debuggen rekonfigurierbarer architekturen | |
EP0130269A2 (de) | Speicherprogrammierbare Steuerung | |
DE4009804A1 (de) | Programmierbarer prozessrechner mit einem funktionsblockprozessor und einem bit-prozessor | |
EP1483682A2 (de) | Reconfigurierbarer prozessor | |
DE19735349B4 (de) | Vektorprozessor und Verfahren zu dessen Betrieb | |
DE10212622A1 (de) | Prozessorkopplung | |
DE10303053A1 (de) | Registerumbenennung zum Reduzieren einer Umgehung und Erhöhen einer scheinbaren physischen Registergröße |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ON | Later submitted papers | ||
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |