DE102006047741B4 - Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW) und Anordnung zur Durchführung des Verfahrens - Google Patents
Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW) und Anordnung zur Durchführung des Verfahrens Download PDFInfo
- Publication number
- DE102006047741B4 DE102006047741B4 DE102006047741A DE102006047741A DE102006047741B4 DE 102006047741 B4 DE102006047741 B4 DE 102006047741B4 DE 102006047741 A DE102006047741 A DE 102006047741A DE 102006047741 A DE102006047741 A DE 102006047741A DE 102006047741 B4 DE102006047741 B4 DE 102006047741B4
- Authority
- DE
- Germany
- Prior art keywords
- vliw
- primary
- segments
- compressed
- instruction word
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006835 compression Effects 0.000 title claims abstract description 26
- 238000007906 compression Methods 0.000 title claims abstract description 26
- 230000006837 decompression Effects 0.000 title claims abstract description 18
- 230000008859 change Effects 0.000 claims abstract description 6
- 239000000872 buffer Substances 0.000 claims description 12
- 230000008707 rearrangement Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW), bei dem in einer Kompressionsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primär-VLIWs aus mehreren Segmenten komprimiert und als Folge von zugehörigen komprimierten Instruktionsworten gespeichert und in einer nachfolgenden Dekompressionsphase aus der Folge von komprimierten Instruktionsworten aufeinander folgende Sekundär-VLIWs aus mehreren Segmenten in der zur Ansteuerung aller Funktionseinheiten benötigten vollen Instruktionswortbreite erzeugt werden, dadurch gekennzeichnet, dass in einem ersten Verfahrensschritt bei der Kompression das Primär-VLIW in gleich große Segmente geteilt wird, deren Breite unabhängig von der Ansteuerung der Funktionseinheiten, d. h. unabhängig vom Layout der Instruktionssatzarchitektur ist und ein komprimiertes Instruktionswort die Segmente enthält, die zwischen dem Primär-VLIW und einem Referenz-Primär-VLIW verschieden sind, dass in einem zweiten Verfahrensschritt die Häufigkeit der Veränderung von Bits der Primär-VLIW zwischen mehreren Primär-VLIW ermittelt worden ist und die Primär-VLIWs vor der Komprimierung so verändert werden, dass die Bits mit ähnlicher Veränderungshäufigkeit, das...
Description
- Die Erfindung betrifft ein Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW), bei dem in einer Kompressionsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primär-VLIWs aus mehreren Segmenten komprimiert und als Folge von zugehörigen komprimierten Instruktionsworten gespeichert werden. In einer nachfolgenden Dekompressionsphase werde aus der Folge von komprimierten Instruktionsworten aufeinander folgende Sekundär-VLIWs aus mehreren Segmenten in der zur Ansteuerung aller Funktionseinheiten benötigten vollen Instruktionswortbreite erzeugt.
- Die Erfindung betrifft auch eine Anordnung zur Durchführung des Verfahrens.
- Aus dem Bericht von Weiss H., Fettweis, G. ”Dynamic Codewidth Reduction for VLIW Instruction Set Architectures in Digital Signal Processors” (Tagungsbericht des 3. Int. Workshop an Signal an Image Processing IWSIP '96 S. 517 bis 520) ist ein Verfahren zur Kompimierung von sehr langen Instruktionsworten (VLIW = Very Long Instruction Word) bei parallel arbeitenden Prozessoren beschrieben. Darin werden komprimierte Instrukti onsworte aus hintereinander liegenden Primär-VLIW so zusammengestellt, dass anschließend daraus wieder Sekundär-VLIW erstellt werden können, indem ein einmal erzeugtes Sekundär-VLIW in einen Instruktionswortspeicher geschrieben wird und zur Erzeugung des nächsten Sekundär-VLIWs bei dem gespeicherten Sekundär-VLIW nur die Instruktionswortteile ausgetauscht werden, die sich von dem gespeicherten Sekundär-VLIW zu dem zu erzeugenden Sekundär-VLIW unterscheiden. Mithin braucht in dem komprimierten Instruktionswort nur die Information enthalten zu sein, welches Instruktionswortteil sich unterscheidet und mit welchem Inhalt es sich unterscheidet. Damit ist es möglich, die komprimierten Instruktionsworte sehr schmal zu gestalten und damit Speicherplatz zu sparen.
- Bei größeren Unterschieden zwischen dem gespeicherten und dem herzustellenden Sekundär-VLIW ist allerdings die Breite des komprimierten Instruktionswortes zu vergrößern, wenn diese größeren Unterschiede häufig auftreten, was den Nachteil eines größeren Speicherplatzes mit sich bringt, oder die Unterschiede sind über mehrere komprimierte Instruktionswörter zu verteilen. Damit ist das Sekundär-VLIW aus mehreren komprimierten Instruktionswörtern über mehrere Takte herzustellen. Daraus entsteht der Nachteil eines größeren Zeitaufwandes.
- Aus der
DE 198 59 389 C1 ist ein Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor und eine Prozessoranordnung zur Durchführung des Verfahrens bekannt. Dabei wird in einer Kompressionsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primär-VLIWs aus mehreren Instruktionswortteilen komprimiert und als Folge von zugehörigen komprimierten Instruktionsworten gespeichert. In einer nachfolgenden Dekompressionsphase werden aus der Folge von komprimier ten Instruktionsworten aufeinander folgende Sekundär-VLIWs aus mehreren Instruktionswortteilen in der zur Ansteuerung aller Funktionseinheiten benötigten vollen Instruktionswortbreite erzeugt. - Die Prozessoranordnung weist parallel zueinander angeordnete Funktionseinheiten, einem diesen Funktionseinheiten zugeordneten Instruktionswortspeicher und einem Instruktionswortpuffer zur Speicherung bereits in Form von VLIW erzeugter Instruktionsworte mit einer Breite auf, die mindestens gleich der Bitbreite des Sekundär-VLIWs ist. Die Funktionseinheiten, arbeiten parallel zueinander und werden zu jedem Takt von einem Instruktionswort angesteuert. Das jeweilige VLIW wird mindestens aus einem komprimierten Instruktionswort gewonnen, das einem Programmspeicher entnommen wird. Die Instruktionsworte ihrerseits bestehen aus mehreren Instruktionswortteilen, wobei je ein Instruktionswortteil der Ansteuerung je einer Funktionseinheit dient.
- Zur Erhöhung der Leistungsfähigkeit von Prozessoranordnungen besteht das Bestreben nach einer Vergrößerung der Verarbeitungsbreite, was eine Erhöhung der Anzahl von Funktionseinheiten erforderlich werden lässt. Damit vergrößert sich im Allgemeinen die Bitbreite der Instruktionsworte. Dies hat eine Bereitstellung eines entsprechenden Speicherplatzes im Programmspeicher zur Folge, der wesentliche Flächenteile auf dem Halbleiterchip einnimmt. Deshalb ist es das Bestreben, die Größe der Instruktionsworte zu verringern, um eine Verringerung des Speicherplatzbedarfes zu erreichen. Dies wird durch ein Komprimierungsverfahren erreicht, bei dem im Ergebnis der Kompression ein komprimiertes Instruktionswort ein erstes Kennzeichen eines Primär-VLIWs aus einer ersten Gruppe vorhergehender Primär-VLIWs, welches mit dem zum komprimierten Instruktionswort zuge hörigen Primär-VLIW die größte Übereinstimmung aufweist, und Instruktionswortteile, die das zu dem komprimierten Instruktionswort gehörige Primär-VLIW von dem zu dem Kennzeichen gehörigen Primär-VLIW unterscheidenden, enthält. In der Dekompressionsphase wird eine der ersten Gruppe in der Anzahl entsprechende zweite Gruppe von Sekundär-VLIWs mit je einer zweiten Kennzeichnung versehen gespeichert. Mittels dem in dem komprimierten Instruktionswort enthaltenen ersten Kennzeichen wird ein dem zugehörigen Primär-VLIW entsprechendes Sekundär-VLIW aus der zweiten Gruppe über das zugehörige zweite Kennzeichen ermittelt wird und das dem komprimierten Instruktionswort entsprechende Sekundär-VLIW erzeugt, indem in dem Sekundär-VLIW aus der zweiten Gruppe die in dem komprimierten Instruktionswort enthaltenen Instruktionswortteile ausgetauscht werden Bereits bei der Kompressionsphase können die komprimierten Instruktionsworte so aufgebaut werden, dass sie nur die geringstmögliche Information zur späteren Erzeugung eines Sekundär-VLIWs in der Dekompressionsphase beinhalten. Dies wird damit erreicht, dass auf die vorhergehenden Primärinstruktionswörter zurückgegriffen wird, die die größte Übereinstimmung mit dem zu konfigurierenden Primär-VLIW aufweisen. Da in der Dekompressionsphase die Sekundärinstruktionswörter in der gleichen Breite und in der gleichen Reihenfolge wie die Primärinstruktionswörter erzeugt werden sollen, wird in der Dekompressionsphase praktisch in umgekehrter Reihenfolge zur der Kompressionsphase verfahren und jeweils ein bereits erzeugtes Sekundär-VLIW, welches dem Primär-VLIW entspricht, das in der Kompressionsphase einem aktuellen Primär-VLIW am ähnlichsten ist, zur Erzeugung eines neuen Sekundär-VLIWs verwendet wird. Da stets auf das Instruktionswort mit der größten Ähnlichkeit oder der größten Übereinstimmung zurückgegriffen wird, lässt sich die Menge der zur Erzeugung eines neuen Sekundär-VLIWs erforderliche Information so klein wie möglich halten. Damit kann der Speicherbedarf eines Programmspeichers minimiert werden.
- Nachteilig ist bei den bekannten Verfahren, dass die VLIW im Rahmen ihrer Instruktionswortteile, die nach der Dekompressionsphase der Ansteuerung der parallelen Funktionseinheiten dienen, komprimiert und dekomprimiert werden, die komprimierten Instruktionsworte mithin in ihrer Breite in Abhängigkeit von der Breite der Instruktionsworteile stehen. Eine flexible Anpassung der Breite der komprimierten Instruktionsworte an die Instruktionswortteile ist mithin nicht möglich. Somit kann die Dekompression in zahlreichen Anwendungsfällen nicht in der Stärke erfolgen, wie es zweckmäßig wäre.
- Die Aufgabe der Erfindung besteht nunmehr darin, die Flexibilität der Kompression und Dekompression zu erhöhen.
- Diese Aufgabe wird verfahrensseitig durch die Merkmale des Anspruchs 1 gelöst.
- Da Verfahren wird insbesondere dadurch ausgestaltet, dass jedes Segment des Primär-VLIW mit jedem zugehörigen Segment des Referenz-Primär-VLIW verglichen wird und jedes sich unterscheidende Segment in dem komprimierten Instruktionswort kodiert wird.
- In bevorzugter Weise wird jedes der Segmente mit einem Tag versehen, das bestimmt, welches Segment des Referenz-Sekundär-VLIW mit dem entsprechenden Segment in dem komprimierten Instruktionswort zu überschreiben ist.
- Der Vorteil dieses Verfahrens besteht darin, dass die Segmentzuordnung vollkommen unabhängig vom Layout der Instruktions satzstruktur ist. Die Kompression ist durch eine Variation der Kompressionsparameter an fast jede Zielarchitektur anpassbar. Mit steigender VLIW-Länge oder sinkender Kodedichte verbessert sich die Kompressionsrate des Algorithmus.
- Weitere Ausgestaltungen des erfindungsgemäßen Verfahrens sind in den Unteransprüchen 4 bis 12 dargestellt.
- Die Erfindung soll nachfolgend anhand eines Ausführungsbeispieles näher erläutert werden. In den zugehörigen Zeichnungen zeigt
-
1 eine schematische Darstellung der Kompressionsphase, -
2 die Dekompressionsphase anhand einer Darstellung der erfindungsgemäßen Anordnung, -
3 eine schematische Darstellung des gesamten Verfahren, -
4 eine schematische Darstellung einer Neuordnung von Bits innerhalb eines Primär-VLIW und -
5 eine schematische Darstellung eines Verfahrenablaufes mit dem Verfahren der Neuanordnung. - Wie in
1 dargestellt, wird in einer Kompressionsphase eine aus einer Übersetzung eines Programmcodes1 (siehe4 ) stammende Folge von Primär-VLIWs2 aus mehreren Segmenten3 komprimiert und als Folge von zugehörigen komprimierten Instruktionsworten4 gespeichert. Die Segmente3 sind gleich groß aber ihre Breite ist unabhängig von der Ansteuerung der nicht näher dargestellten Funktionseinheiten. Die Segmente3 sind damit unabhängig vom Layout der Instruktionssatzarchitektur. Ein komprimiertes Instruktionswort4 enthält die Segmente, die zwischen dem Primär-VLIW2 und einem Referenz-Primär-VLIW5 verschieden sind. Dabei wird jedes Segment3 des Primär-VLIW2 mit jedem zugehörigen Segment3 des Referenz-Primär-VLIW5 verglichen. Jedes sich unterscheidende Segment3 (mit (!=) gekennzeichnet) wird in dem komprimierten Instruktionswort4 kodiert. - Jedes der Segmente
3 wird mit einem Tag6 versehen, das später bestimmt, welches Segment3 des Referenz-Sekundär-VLIW7 mit dem entsprechenden Segment in dem komprimierten Instruktionswort4 zu überschreiben ist. - Wie in
2 dargestellt, werden in einer nachfolgenden Dekompressionsphase aus der Folge8 von komprimierten Instruktionsworten4 aufeinander folgende Sekundär-VLIWs9 aus mehreren Segmenten3 in der zur Ansteuerung aller Funktionseinheiten benötigten vollen Instruktionswortbreite erzeugt. Dies geschieht dadurch, dass die Segmente3 des komprimierten Instruktionswortes4 in einem zur dem Referenz-Primär-VLIW5 identischen Referenz-Sekundär-VLIW7 ausgetauscht werden. - In der Anordnung, wie sie in
2 dargestellt ist, ist mindestens ein Referenzpuffer10 in der Breite eines VLIW, ein Instruktionswortspeicher11 zur Speicherung eines komprimierten Instruktionswortes4 sowie Multiplexer12 in einer Anzahl die der Anzahl von Segmenten3 , in die ein VLIW geteilt ist, vorgesehen. Dabei sind Teile des Instruktionswortspeichers11 , vorgesehen für je ein Segment3 , und Teile des Referenzpuffers10 , vorgesehen für je ein Segment3 , mit den Multiplexer12 verbunden. Angesteuert werden die Multiplexer12 über einen MUX-Controller13 . - In
3 ist der Ablauf, wie vorstehend beschrieben noch einmal im Zusammenhang dargestellt. -
5 zeigt eine Zusammenschau des erfindungsgemäßen Verfahrens unter Anwendung der Neuanordnung von Bits14 gemäß Anspruch 1. In einer Kompressionsphase wird eine aus einer Übersetzung15 eines Programmcodes1 stammende Folge16 von Primär-VLIWs2 aus mehreren Bits14 erzeugt und als Folge von zugehörigen komprimierten Instruktionsworten4 gespeichert. Wie in4 dargestellt, wird danach die Häufigkeit der Veränderung von Bits der Primär-VLIWs2 innerhalb der Folge16 ermittelt. Die Primär-VLIWs2 werden vor der Komprimierung derart verändert, dass die Bits14 mit ähnlicher Veränderungshäufigkeit (mit gleichen Schraffuren dargestellt) in je einem Segment3 angeordnet sind. Diese Veränderung wird nach der Erzeugung der entsprechenden Sekundär-VLIWs9 logisch wieder eliminiert (Rückanordnung17 ). - Die Neuanordnung der Bits
14 innerhalb des Primär-VLIW2 basiert auf Daten, die durch Profiling von realen Programmen des Zielsystems gewonnen wurden. Die Neuanordmumg versucht, alle Bits14 mit hoher Wahrscheinlichkeit gleichzeitigen Schaltens innerhalb eines Segmentes3 zusammen zu fassen, um die Anzahl der Segmente3 zu minimieren, die im Vergleich zum Referenz-Primär-VLIW5 häufig ausgetauscht werden müssen. Dadurch kann eine Reduktion der Segmente3 in komprimierten Instruktionswort4 erreicht werden, ohne dass eine Erhöhung der Stall-Zahl18 auftritt. Damit wird eine Erhöhung der Kompressionsrate erreicht. - Um eine möglichst hohe Effektivität zu erzielen, ist es denk bar, in einer Hardware-Implementierung mehrere Bitanordnungen vorzusehen. Damit würde eine Hardware zur Rückanordnung
17 erforderlich. Die Vollausbaustufe dessen könnte ein Mini-FBGA darstellen, mit dem die Anordnung vollkommen frei konfigurierbar wäre. - Die Rückanordnung
17 wird im einfachsten Falle – es gibt nur eine Bitanordnung – durch einfache Leitungen realisiert. Gibt es eine feste Anzahl N > 1 von Bitanordnungen, kann durch einen N auf 1 Multiplexer für jedes Bit14 die ursprüngliche Anordnung wieder hergestellt werden. -
- 1
- Programm-Code
- 2
- Primär-VLIW
- 3
- Segment
- 4
- komprimiertes Instruktionswort
- 5
- Referenz-Primär-VLIW
- 6
- Tag
- 7
- Referenz-Sekundär-VLIW
- 8
- Folge von komprimierten Instruktionsworten
- 9
- Sekundär-VLIW
- 10
- Referenzpuffer
- 11
- Instruktionswortspeicher
- 12
- Multiplexer
- 13
- MUX-Controller
- 14
- Bit
- 15
- Übersetzung
- 16
- Folge von Primär-VLIWs
- 17
- Rückanordnung
- 18
- Stall-Zahl
Claims (12)
- Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW), bei dem in einer Kompressionsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primär-VLIWs aus mehreren Segmenten komprimiert und als Folge von zugehörigen komprimierten Instruktionsworten gespeichert und in einer nachfolgenden Dekompressionsphase aus der Folge von komprimierten Instruktionsworten aufeinander folgende Sekundär-VLIWs aus mehreren Segmenten in der zur Ansteuerung aller Funktionseinheiten benötigten vollen Instruktionswortbreite erzeugt werden, dadurch gekennzeichnet, dass in einem ersten Verfahrensschritt bei der Kompression das Primär-VLIW in gleich große Segmente geteilt wird, deren Breite unabhängig von der Ansteuerung der Funktionseinheiten, d. h. unabhängig vom Layout der Instruktionssatzarchitektur ist und ein komprimiertes Instruktionswort die Segmente enthält, die zwischen dem Primär-VLIW und einem Referenz-Primär-VLIW verschieden sind, dass in einem zweiten Verfahrensschritt die Häufigkeit der Veränderung von Bits der Primär-VLIW zwischen mehreren Primär-VLIW ermittelt worden ist und die Primär-VLIWs vor der Komprimierung so verändert werden, dass die Bits mit ähnlicher Veränderungshäufigkeit, das heißt mit hoher Wahrscheinlichkeit eines gleichzeitigen Schaltens in einem Segment angeordnet sind, dass in einem dritten Verfahrensschritt bei der Dekompressionsphase ein Sekundär-VLIW erzeugt wird, indem die Segmente des komprimierten Instruktionswortes in einem zur dem Referenz-Primär-VLIW identischen Referenz-Sekundär-VLIW ausgetauscht werden und dass in einem vierten Verfahrensschritt die Veränderung der VLIWs aus dem zweiten Verfahrensschritt nach der Erzeugung der entsprechenden Sekundär-VLIWs logisch wieder eliminiert wird.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Segmente ausgetauscht werden, indem das Referenz-Sekundär-VLIW in einem Referenzpuffer gespeichert wird und das jeweilige Segment mit den neuen Daten überschrieben wird.
- Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass jedes Segment des Primär-VLIW mit jedem zugehörigen Segment des Referenz-Primär-VLIW verglichen wird und jedes sich unterscheidende Segment in dem komprimierten Instruktionswort kodiert wird.
- Verfahren nach Anspruch 1 oder 3, dadurch gekennzeichnet, dass jedes der Segmente mit einem Tag versehen wird, das bestimmt, welches Segment des Referenz-Sekundär-VLIW mit dem entsprechenden Segment in dem komprimierten Instruktionswort zu überschreiben ist.
- Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass das erzeugte Sekundär-VLIW als Referenz-Sekundär-VLIW in den Referenzpuffer gespeichert wird.
- Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass in dem komprimierten Instruktionswort ein Flag zur Entscheidung darüber, ob das aus diesem komprimieren Instruktionswort erzeugte Sekundär-VLIW in den Referenzpuffer gespeichert wird, eingefügt wird.
- Verfahren nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, dass mehrere aus verschiedenen komprimierten Instruktionsworten erzeugten Sekundär-VLIW als Referenz-Sekundär-VLIW in Referenzpuffer gespeichert werden.
- Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Referenzpuffer zirkular beschrieben werden.
- Verfahren nach Anspruch 6 und 7, dadurch gekennzeichnet, dass mittels des Flags der zu beschreibende Referenzpuffers in den das Sekundär-VLIW gespeichert wird, festgelegt wird.
- Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass ein Referenzpuffer vorgesehen wird, der als unveränderbarer 0-Puffer ausgebildet ist, indem alle Bits auf 0 gesetzt werden.
- Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass für die komprimierten Instruktionsworte eine feste Anzahl von Segmenten festgelegt wird.
- Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass das komprimierte Instruktionswort mit einem Kennzeichen versehen wird, in dem die Anzahl der in dem Instruktionswort enthaltenen Segmente definiert ist und die Anzahl der Segmente in einem komprimierten Instruktionswort variabel gehalten wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006047741A DE102006047741B4 (de) | 2005-10-06 | 2006-10-06 | Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW) und Anordnung zur Durchführung des Verfahrens |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005048121.3 | 2005-10-06 | ||
DE102005048121 | 2005-10-06 | ||
DE102006047741A DE102006047741B4 (de) | 2005-10-06 | 2006-10-06 | Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW) und Anordnung zur Durchführung des Verfahrens |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102006047741A1 DE102006047741A1 (de) | 2007-05-16 |
DE102006047741B4 true DE102006047741B4 (de) | 2010-06-24 |
Family
ID=37982819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102006047741A Expired - Fee Related DE102006047741B4 (de) | 2005-10-06 | 2006-10-06 | Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW) und Anordnung zur Durchführung des Verfahrens |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102006047741B4 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19859389C1 (de) * | 1998-12-22 | 2000-07-06 | Systemonic Ag | Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor und Prozessoranordnung zur Durchführung des Verfahrens |
-
2006
- 2006-10-06 DE DE102006047741A patent/DE102006047741B4/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19859389C1 (de) * | 1998-12-22 | 2000-07-06 | Systemonic Ag | Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor und Prozessoranordnung zur Durchführung des Verfahrens |
Also Published As
Publication number | Publication date |
---|---|
DE102006047741A1 (de) | 2007-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0230437B1 (de) | Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens | |
DE2829668C3 (de) | Kanaldatenpufferspeicher | |
DE4314741C2 (de) | Dekodierer für Einheiten von Huffman-kodierten Daten | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
EP1079307B1 (de) | Verfahren zum Betrieb eines Speichersystems sowie Speichersystem | |
EP1262060A1 (de) | Verfahren und vorrichtung zum auslesen von bilddaten eines teilbereichs eines bildes | |
EP1145113B1 (de) | Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors | |
DE102006047741B4 (de) | Verfahren zur Kompression und Dekompression sehr langer Instruktionswörter (VLIW) und Anordnung zur Durchführung des Verfahrens | |
DE69433033T2 (de) | Zeitverschachtelte leseschreiboperationen in einem hochgeschwindigkeitsrasterpuffersystem | |
DE4441293C2 (de) | Verfahren und Schaltungsanordnung zum Lesen von Codewörtern variabler Länge aus einem Datenspeicher mit fester Wortlänge | |
DE102010006931A1 (de) | Verfahren zur Verarbeitung von Datensammlungen, insbesondere in Datenbanksystemen | |
DE2233164B2 (de) | Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern | |
DE10107102B4 (de) | Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor | |
EP1924931B1 (de) | Verfahren zur speichereffizienten durchführung einer burrows-wheeler-rücktransformation | |
DE3633227A1 (de) | Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage | |
AT501213B1 (de) | Verfahren zum steuern der zyklischen zuführung von instruktionswörtern zu rechenelementen und datenverarbeitungseinrichtung mit einer solchen steuerung | |
DE3908086C1 (en) | Method for compressing and decompressing digital data and device for carrying out the method | |
DE19836578C2 (de) | Integrierter Speicher mit Interblockredundanz | |
DE2136536B2 (de) | Verfahren und Anordnung zur Korn pnmierung und Dekompnmierung binarer Daten | |
DE10217313B4 (de) | Digitaler Signalprozessor und Verfahren zur Datenverarbeitung mit einem digitalen Signalprozessor | |
DE2445390C3 (de) | Überlappt betriebener, taktgesteuerter Speicher | |
DE69818973T2 (de) | Verfahren zum Speichern von Datenstrukturen in einem Speicher | |
DE10128752A1 (de) | Verfahren zur Ablage von Daten in einen Speicherbaustein | |
DE10314928A1 (de) | Verfahren und programmgesteuerte Einheit zur Bitfeldverschiebung | |
DE102004031303A1 (de) | Verfahren und Anordnung zur Instruktionswortdekodierung bei der Ansteuerung von Funkionseinheiten in einem Prozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: TECHNISCHE UNIVERSITAET DRESDEN, 01069 DRESDEN, DE |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20130501 |