WO2003104987A2 - Verfahren zum codieren/decodieren von vliw cached befehlen - Google Patents

Verfahren zum codieren/decodieren von vliw cached befehlen Download PDF

Info

Publication number
WO2003104987A2
WO2003104987A2 PCT/DE2003/001748 DE0301748W WO03104987A2 WO 2003104987 A2 WO2003104987 A2 WO 2003104987A2 DE 0301748 W DE0301748 W DE 0301748W WO 03104987 A2 WO03104987 A2 WO 03104987A2
Authority
WO
WIPO (PCT)
Prior art keywords
hvliw
header
instruction
instruction word
fiw
Prior art date
Application number
PCT/DE2003/001748
Other languages
English (en)
French (fr)
Other versions
WO2003104987A3 (de
Inventor
Helge Betzinger
Yuhi Tang
Original Assignee
Philips Semiconductors Dresden Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Semiconductors Dresden Ag filed Critical Philips Semiconductors Dresden Ag
Priority to AU2003257376A priority Critical patent/AU2003257376A1/en
Priority to US10/516,675 priority patent/US20050246515A1/en
Priority to DE10393298T priority patent/DE10393298D2/de
Priority to EP03756954A priority patent/EP1509842A2/de
Priority to JP2004511991A priority patent/JP3981117B2/ja
Publication of WO2003104987A2 publication Critical patent/WO2003104987A2/de
Publication of WO2003104987A3 publication Critical patent/WO2003104987A3/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Abstract

Die Erfindung betrifft ein Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor, wobei in einer Konfigurationsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primärinstruktionsworten eine Fraktionierung in eine Folge von Instruktionswortteile erfährt, wobei in einem Programmablauf den Prozessor ansteuernde Instruktionsworte in der vollen Instruktionswortbreite erzeugt und in einem Instruktionswortspeicher (Cache) zwischengespeichert werden. Die erfindungsgemässe Aufgabenstellung, in der Ausführungsphase eine Steigerung der Prozessorperformance durch Erhöhung des Komprimierungsgrad der Primärinstruktionsworte in ihre fraktionierten Instruktionswortteilen unabhängig von speziellen Merk malen (z. B. Periodizität) der FIW (Funktions-Instruktions-Wortteile) zu erreichen, wird dadurch gelöst, dass in der Konfigurationsphase in einem ersten Schritt die Fraktionierung eines Primärinstruktionswortes in ein TVLIW (Tagged Very Long Instruction Word) erfolgt und in einem zweiten Schritt wird jeweils das vorliegenden TVLIW in ein HVLIW (Headed Very Lang Instruction Word) gewandelt. In dem HVLIW wird ein General Header vorangestellt. Das HVLIW ersetzt mit seiner codeverdichteten Struktur alle Funktionen des TVLIW (1).

Description

Verfahren zum codieren/decodieren von VLIW cached Befehlen
Die Erfindung betrifft ein Verfahren zur Ansteuerung von Funk- tionsein eiten in einem Prozessor, wobei in einer Konfigurationsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primärinstruktionsworten eine Fraktionierung in eine Folge von Instruktionswortteile erfährt und in einem Programmablauf nachfolgend . den Prozessor ansteuernde Instruktions- worte in der vollen Instruktionswortbreite als VLIW (Very Long Instruction Word) erzeugt und in einem Instruktionswortspeicher (Cache) zwischengespeichert werden.
Hierzu sind verschiedene Lösungen, die eine jeweils vorteilhaf- te Variante zur Synthese eines VLIW (Very Long Instruction Word) aus den im Programmablauf auftretenden Instruktionsworte behandeln, bekannt .
Ihnen ist gemeinsam, dass die Primarinstruktionsworte, welche aus einer Übersetzung des Programmcodes resultieren, als Folge fraktionierter Instruktionswortteile generiert werden.
So erfolgt der Aufbau eines aktuellen VLIW aus einer begrenzten Anzahl von Funktionsinstruktionsworten (FIW) , wobei jedes die- ser FIW genau eine Funktionseinheit (FU) des Prozessors ansteuert .
Die Deutsche Patentschrift DE 198 59 389 Cl charakterisiert den Stand der Technik für Verfahren der eingangs genannten Art.
Bei dieser Lösung erfolgt die Fraktionierung der im Programm vorliegender Primarinstruktionsworte in einzelnen Programmwor- te, welche auch vorteilhaft als TVLIW (Tagged Very Long Instruction Word) -Container bezeichnet werden.
TVLIW-Container deshalb, weil dem einzelnen Programmwort neben einem Informationsteil, der vorwiegend durch ein FIW (Funkti- onsinstruktionswort) repräsentiert wird, auch die Angaben über die Schreib- und Lesezeilennummer eines einzusetzenden Instruktionswortspeichers, zugehörig ist. Letztere Angaben stellen eine Kennung (Tag) zum FIW dar.
Außerdem gehören zum Programmwort auch die Angaben, wie mit dem jeweiligen Inhalt des so gekennzeichneten Instruktionswortspeichers zu verfahren ist, und werden somit durch eine Operationscode (Opcode) repräsentiert.
Bei dem o.g. Verfahren werden in günstiger Weise die Datenbreite des im Prozessor zu verarbeitenden Programmmes verringert, um den Hardwareaufwand und damit die Kosten für die Realisierung des jeweiligen Prozessors niedrig zu halten.
Weiterhin sind verschiedene Lösungen bekannt, die eine jeweils vorteilhafte Variante zur Synthese eines VLIW (Very Long Instruction Word) aus den im Programmablauf auftretenden FIW behandeln.
So ist durch die Druckschrift 102 03 541.5 zur deutschen Patent-Anmeldung der weiterführende Stand der Technik umrissen.
Bei diesem wird die in einer Konfigurationsphase durchgeführte Fraktionierung der Primarinstruktionsworte durch eine anschließende verfahrensmäßige maschinelle Ähnlichkeits-Analyse erweitert, in deren Folge, die mit bestimmten Ähnlichkeitsmerkmalen (periodische Eigenschaft) ausgewählten und somit mehrfach verwendbaren Instruktionswortteile zusammengefasst werden.
Diese Folge von Instruktionswortteilen wird mit einem diesbezüglich gemeinsamen Operationscode und einer für alle Glieder der Folge gültige Kennzeichnung ihrer periodische Eigenschaft, die mit der Anzahl der Glieder ergänzt wird, in der anschließenden Verarbeitungsphase zur Erzeugung des VLIW verwendet.
Auf diese Weise wird bei diesem speziellen Komprimierungs- vorgang in der Konfigurationsphase die Auswahl und Kennzeichnung der Instruktionswortteile vorgenommen, die in der Ausführungsphase zur Zwischenspeieherung vorgesehen sind und damit bei der Wiederverwendung gleicher Instruktionswortteile Prozessor-Performance sparen.
Bei der zunehmenden Komplexität der Prozessoren und den Anforderungen an die Verarbeitungsgeschwindigkeit wird ersichtlich, dass eine höhere Kompression bei der Codierung der Instruktionswortteile und deren Decodierung zur Erzeugung des VLIW (Very Long Instruction Word) erreicht werden muss, da eine anderweitige Erhöhung der Verarbeitungsgeschwindigkeit, z.B. durch eine Erhöhung der Arbeitstaktfrequenzen, an physikalische Grenzen stößt.
Aufgabe der Erfindung ist es, in der Ausführungsphase eine Steigerung der Prozessorperformance durch Erhöhung des Komprimierungsgrad der Primarinstruktionsworte in ihre fraktionierten Instruktionswortteilen unabhängig von speziellen Merkmalen (Pe- riodizität) der FIW zu erreichen.
Die erfindungsgemäße Aufgabenstellung wird dadurch gelöst, dass in einem ersten Schritt die Fraktionierung eines Primärinstruk- tionswortes in der Konfigurationsphase, in die Folge einer bestimmten Anzahl von Instruktionswortteilen, die in der Ausfüh- rungsphase für den Aufbau eines jeweiligen VLIW verwendet werden, erfolgt.
Dabei wird einem jeweiligen ersten und zweiten FIW (Funktions- Instruktionswortteil) ein ihm zugehöriger erster oder zweiter Operationscode vorangestellt. Dieser bestimmt damit, wie in der Ausführungsphase mit dem durch das jeweilige FIW belegten Speicherplatz des Cache umgegangen wird. Weiterhin anschließt sich dem jeweiligen ersten oder zweiten Operationscode eine zugehörige erste oder zweite Kennung an, die die Information darstellt, welche erste oder zweite FU das jeweilige FIW ansteuert.
Es werden jeweils der erste bzw. der zweite Operationscode und ihre zugehörige erste bzw. zweite Kennung mit den jeweiligen ersten bzw. zweiten FIW zu dem ersten bzw. zweiten TVLIW Container zusammengefasst .
Hierbei repräsentieren diese in ihrer Gesamtheit das TVLIW.
In einem zweiten Schritt wird in der Konfigurationsphase das jeweils vorliegenden TVLIW in ein HVLIW gewandelt. In dem HVLIW wird ein General Header vorangestellt.
Bei der Wandlung des TVLIW in das HVLIW gilt, dass dieses mit seiner enthaltenen codeverdichteten General Header Struktur alle Funktionen des TVLIW ersetzt.
In einer Variante wird die erfindungsgemäße Aufgabenstellung dadurch gelöst, dass eine Betriebsart "Command Code" des HVLIW und seines zugehörigen General Headers realisiert wird. In diesem General Header ist die Information codiert abgelegt, die alle Kombinationen angibt, welches erste und zweite FIW (Instruktionswortteil) , nach Decodierung, in der Ausführungsphase, zur Ansteuerung einer jeweiligen ersten und/oder zweiten FU (Funktionseinheit) des Prozessors vorgesehen ist.
Weiterhin ist im General Header abgelegt, welches erste und/oder zweite FIW Speicherplätze des Cache belegt und ob bzw. welche Operation mit dem jeweiligen Speicherinhalt beim Aufbau des VLIW in der Ausführungsphase im Cache ausgeführt werden sollen. Diese Lösung zielt darauf ab, dass in der Betriebsart "Command Code" des HVLIW durch eine Zusammenfassung von mehreren Fiw und einer dazu gehörigen Zusammenfassung der Angaben, welches der FU von welchem FIW anzusteuern ist, sowie welche FIW beim Auf- bau des VLIW bestimmte Speicherplätze des Cache belegt und welche Operation dann mit deren Speieherinhalt bezüglich anderer Speicherplätze des Cache ausgeführt werden, die angestrebte Kompression der Instruktionen realisiert wird.
Auf diese Weise werden Speicherplatz gespart und Prozessorperformance geschont.
Es wird eine vorteilhafte Ausprägung der Variante der erfin- dungsgemäßen Lösung der Aufgabenstellung dadurch erreicht, dass in dem erstem Teil des General Headers ein Header Mode, welcher eine Information über die Betriebsart "Command Code" des HVLIW und des General Headers enthält, bereitgestellt wird.
Diesem anschließt sich ein zweiter Teil an, in dem die jeweilige meist gebrauchten Kombination, welche der jeweiligen FU durch welches erstes oder zweites FIW angesteuert wird, enthalten ist.
Diese meist gebrauchte Kombination ist als codierter Tabellenwert im Wörterbuch abgelegt.
Es wird ein dritter Teil als CE-Information (Cache-ExtraInformation) angeschlossen, in dem ein Zeiger, der auf eine vorgesehene Stelle des Wörterbuches verweist, enthalten ist.
Als letzter Teil des General Headers ist die Zusatzinformation vorgesehen.
In unmittelbarer Reihenfolge an den General Header schließen sich die für den Aufbau des VLIW notwendigen ersten und zweiten FIW an.
Diese erfindungsgemäße Lösung hebt darauf ab, für die Betriebs- art "Command Mode" einen strukturierten General Header bereitzustellen, der sehr flexibel ist und alle Arten von "Command Code" unterstützt. Dieser soll auch für Weiterentwicklungen und update seine Gültigkeit behalten und seine Kompressionsmöglich- keiten absichern.
Eine weitere Variante der erfindungsgemäßen Lösung der Aufgabenstellung dadurch erreicht, dass eine Betriebsart "Referenz- Instruktion" des General Headers realisiert wird, bei der generell die zum Aufbau des VLIW in der Ausführungsphase vorgesehenen FIW im Cache zwischengespeichert werden.
Hierbei trägt der zugehörige Header Mode eine entsprechend de- codierbare Kennung dieser Betriebsart "Referenz-Instruktion" . Es wird die Betriebsart "Referenz-Instruktion" durch eine spezielles HVLIW eingeleitet.
In diesem ist eine Adressangabe enthalten, mit der auf eine Re- ferenz-Instruktion verwiesen wird.
Weiterhin ist im nachfolgenden HVLIW, welches ebenfalls die Kennung der Betriebsart "Referenz-Instruktion" trägt, eine relative Adresse bezüglich der durch den Verweis vorliegenden Ad- resse enthalten.
Daran wird eine Maske angefügt, welche die von der Ansteuerung auszuschließenden FU repräsentiert.
Bei dieser günstigen Variante der erfindungsgemäßen Lösung werden durch die Realisierung der speziellen Betriebsart "Referenz-Instruktion" von HVLIW die großen Instruktionen für den Prozessor-Kernel vermieden, die z.B. auch im Header Mode "Command Code" groß ausfallen, weil sie für eine Vielzahl von FU (Funktionseinheiten) anwendbar sein müssen.
Dadurch sind auch jeweils Start- und Beendigungs-Phasen der Instruktionen zur Ansteuerung der Grundbestandteile der einzelnen FU notwendig.
Aufgrund vieler gleicher FIW, die zur Ansteuerung der FU in den Instruktionen z.B. in Digitalen Signal-Prozessoren (DSP) auftreten, ist aus der Kenntnis der Instruktionen für den Prozes- sor-Kernel ersichtlich, dass die jeweiligen Start- und Beendigungs-Phasen der Instruktionen für die jeweiligen FU redundant sind.
Diese Redundanz wird durch die erfindungsgemäße Lösung vermieden, in dem mittels des HVLIW, welches die Betriebsart "Referenz-Instruktion" einleitet, eine Adressangabe als einer Referenz vorgegeben wird.
Im nachfolgenden HVLIW der Betriebsart "Referenz-Instruktion" wird in seinem General Header nur eine relative Adresseangabe mitgeteilt, mittels der das erforderliche FIW in der Ausführungsphase decodiert werden kann.
Ebenfalls in diesem HVLIW wird, an den General Header anschließend, die erste und/oder zweite FU (Funktionseinheit) , für die diese bestimmte Instruktion nicht verwendet werden soll, codiert angegeben.
Diese Angabe kann als Maske, welche die Ansteuerung von FU ausschließen, wesentlich kürzer gestaltet werden als eine Angabe aller ansteuernden FIW.
Somit brauchen bei HVLIW in der Betriebsart "Referenz- Instruktion" die jeweiligen Start- und Beendigungs-Phasen des für die Ansteuerung der vorgesehenen FU bestimmten FIW im General-Header nur einmal angegeben werden.
Auf diese Weise wird Speicherplatz gespart
Da mit dieser Kompression es nicht notwendig ist, die jeweiligen vollständigen Start- und Beendigungs-Phasen der Instruktionen beim VLIW Aufbau zu verarbeiten, wird folglich ebenfalls die Prozessorperformance in der Ausführungsphase auch weniger belastet.
Eine spezielle Variante der erfindungsgemäßen Lösung der Aufgabenstellung, welche die Betriebsart des General Headers "Refe- renz-Instruktion" lokal günstig realisiert, wird dadurch erreicht, dass das spezielle HVLIW, welches die Betriebsart "Referenz-Instruktion" einleitet, als enthaltene Adressangabe auf das vorhergehende HVLIW verweist.
Eine weitere spezielle Variante der erfindungsgemäßen Lösung der Aufgabenstellung, welche die Betriebsart des General Headers "Referenz-Instruktion" global günstig realisiert, wird dadurch erreicht, dass das spezielle HVLIW, welches die Betriebs- art "Referenz-Instruktion" einleitet, als enthaltene Adressangabe auf eine allgemeine Adresse verweist.
Eine vorteilhafte Erweiterung zur Lösung der erfindungsgemäßen Aufgabenstellung speziell für die Betriebsart "Command Code" des HVLIW wird dadurch erreicht, dass in der Ausführungsphase das HVLIW in einem Decoderl decodiert wird, welcher mit einem Header-Decoder, einer CMDT (Command-Code-Decompression- Tabelle) , einem Cache und einer Cache-Miss-Reparatur-Logik ausgestattet ist, wobei das HVLIW zwischengespeichert vorliegt.
Der Header-Decoder erkennt die Betriebsart "Command Code" des General-Headers aus dem dort gespeicherten Header Mode.
Weiterhin werden entsprechend des erkannten Header Mode die im General Header vorliegenden Werte der FU-C durch Vergleich mit der CMDT und in Verbindung mit der ebenfalls aus dem General Header entnommenen CE-Information dekomprimiert.
Entsprechend des erkannten Header Modes wird die Zusatzinforma- tion des General Headers verarbeitet.
Ein möglicher Fehlzugriff beim Zwischenspeichern im Cache (Cache-Miss) wird durch den Ablauf einer Fehlerbehandlungsroutine in der Cache-Miss-Reparatur Logik behoben.
Abschließend wird das gültige VLIW am Ausgang des Decoders bereitgestellt. Die Erfindung soll anhand eines Ausführungsbeispiels näher erläutert werden.
Die Fig. 1 zeigt eine Blockübersicht in dem die Kompressions- schritte dargestellt werden, welche in der Konfigurationsphase zur erfindungsgemäßen Wandlung des TVLIW 1 in das HVLIW 10 in der Betriebsart "Command Code" auszuführen sind.
In Fig. 2 ist eine Blockübersicht des erfindungsgemäßen Deco- derl 23 dargestellt, der in der Ausführungsphase das komprimierte HVLIW 10 in der Betriebsart "Command Code" in das VLIW 22 dekomprimiert und dekodiert, um damit den Prozessor 21 anzusteuern.
Wie in Figur 1 ersichtlich, ist in der Konfigurationsphase der Ausgangspunkt für die erfindungsgemäße Komprimierung das Vorliegen des TVLIW 1. Dieses besteht im Ausführungsbeispiel aus ersterem und zweitem TVLIW Container 11; 12.
Der jeweilige erste bzw. zweite TVLIW Container 11; 12 liegt mit seinen Bestandteilen, dem ersten bzw. zweiten Operationscode 2 ; 5, der ersten bzw. zweiten Kennung 3; 6 und dem ersten bzw. zweiten FIW 4; 7, vor.
In der auftretenden Reihenfolge wird jeweils ein TVLIW Container dem Code-Umsetzer 18 zugeführt und gleichzeitig wird im Co- de-Analyzer 8 die Kombination der drei Bestandteile eines TVLIW Containers auf ihre Häufigkeit ihres Auftretens in Bezug auf die weiteren TVLIW Container des jeweiligen TVLIW 1 durch Ver- gleich mit den Angaben des Wörterbuches 9 ermittelt.
Diese Angaben werden dem Code-Umsetzer 18 zur Verfügung gestellt. Dieser codiert daraus je nach der vorgesehenen Betriebsart den General Header 13 und verknüpft ihn mit den je- weiligen ersten bzw. zweiten FIW 4; 7, welche von den hinter- einander bereitgestellten ersten bzw. zweiten TVLIW Containern 11; 12 entnommen werden.
Wenn alle TVLIW Container des TVLIW 1 abgearbeitet sind, wird der strukturierte General Header 13 bereitgestellt und liegt in den Teilen Header Mode 14, FU-C-Information 15, CE-Information 16 und Zusatzinformation 17 vor. Der General Header 13 wird der Folge von ersten bzw. zweiten FIW 4; 7 vorangestellt. Damit wird ein nun vollständiges HVLIW 10 im Speicher abgelegt.
Nachfolgend kann ein weiteres TVLIW 1 komprimiert werden.
Das Ende der erfindungsgemäßen Kompression ist erreicht, wenn alle TVLIW 1 in ein jeweiliges HVLIW 10 gewandelt sind.
Wie in Figur 2 ersichtlich, wird in der Ausführungsphase nach dem Zwischenspeichern (fetch) der Instruktionen und dadurch mit der Bereitstellung des HVLIW 10 und Decodieren dessen Header Mode 14 mit der vorliegenden Betriebsart "Command Code", der Einsatz des erfindungsgemäßen Decoderl (23) zum Dekomprimie- ren/Dekodierens des HVLIW 10 ausgelöst.
Nachfolgend wird der General Header 13 als Bestandteil des HVLIW 10 in seinen Bestandteilen im Cache 26 zwischengespei- chert und mittels dem Header Decoder 24 decodiert.
Zuerst wird mittels dem ersten Teil des General Header 13, dem Header Mode 14, seine Betriebsart erkannt und der Decoderl 23 entsprechend eingestellt.
Aus dem zweiten Teil des General Header 13 , der FU-C- Information 15, wird die Informationen für die erste bzw. zweite FU 19; 20 entnommen, welche der ersten bzw. zweiten FIW 4; 7 von der CMDT 25 berücksichtigt werden müssen. Aus dem dritten Teil des General Header 13, der CE-Information 16 wird der zu berücksichtigende Bereich der CMDT 25 verarbeitet. Aus dem letzten Teil des General Header 13 wird die Zu- satzinformationen 17 entnommen.
Ein evtl. erkannter Fehlzugriff des Cache 26 wir von der Cache- Miss-Repair-Logik 27 behoben.
Mit diesen Informationen wird das VLIW 22 aufgebaut, indem die jeweiligen ersten und /oder zweiten FIW 4; 7 in der dekodierten Reihenfolge und Position, in der die erste bzw. zweite FU 19; 20 entsprechend am Prozessor 21 nachfolgend angesteuert wird, im VLIW 22 angeordnet werden.
Verfahren ztam codieren/decodieren von VLIW cached Befehlen
Bezugszeichenliste
TVLIW (Tagged Very Long Instruction Word) erster Operationscode erste Kennung erstes FIW (Funktions-Instruktions-Wortteil) zweiter Operationscode zweite Kennung zweites FIW Code-Analyzer Wörterbuch HVLIW (Headed Very Long Instruction Word erster TVLIW Container zweiter TVLIW Container General Header Header Mode FU-C-Information (FunctionUnit-Combination-Information) CE-Information (Cache Extra-Information) Zusatzinformation Code-Umsetzer erste FU (Funktionseinheit) zweite FU (Funktionseinheit) Prozessor VLIW (Very Long Instruction Word) Decoderl Header-Decoder CMDT (Command-Code-Decompression-Tabelle) Cache Cache-Miss-Repair-Logik

Claims

Verfahren zum codieren/decodieren von VLIW cached BefehlenPatentansprüche
1. Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor, wobei in einer Konfigurationsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primärinstruktionsworten eine Fraktionierng in eine Folge von Instruktionswortteile erfährt, wobei in einem Programmablauf den Prozessor ansteuernde Instruktionsworte in der vollen Instruktionswortbreite zu einem VLIW aufgebaut und in einem Instruktionswortspeieher (Cache) zwischenge- speichert werden, dadurch gekennzeichnet, dass die Fraktionierung eines Primärinstruktionswortes in der Konfigurationsphase, in einem ersten Schritt in die Folge einer bestimmten Anzahl von Instruktionswortteilen, die in der Ausführungsphase für den Aufbau eines jeweiligen VLIW verwendet werden, erfolgt, wobei einem jeweiligen ersten und zweiten FIW (Funktions-Instruktions-Wortteil) (4) , (7) ein ihm zugehöriger erster oder zweiter Operationscode
(2) , (5) vorangestellt wird, der damit bestimmt, wie in der
Ausführungsphase mit dem durch das jeweilige FIW belegten Speicherplatz des Cache umgegangen wird, dass sich dem jeweiligen ersten oder zweiten Operationscode (2) , (5) eine zugehörige erste oder zweite Kennung (3), (6) anschließt, die die Information darstellt, welche erste oder zweite FU (19) , (20) das eweilige FIW ansteuert, dass die ersten oder zweiten Operationscode (2), (5) und ihre zugehörigen ersten oder zweiten Kennung (3), (6) mit den jeweiligen ersten und zweiten FIW (4) , (7) zu dem ersten bzw. zweiten TVLIW Container (11) , (12) zusammengefasst werden, wobei diese in ihrer Gesamtheit das TVLIW (1) repräsentieren, dass in einem zweiten Schritt in der Konfigurationsphase das jeweils vorliegenden TVLIW (1) in ein HVLIW (10) gewandelt wird, wobei in dem HVLIW (10) ein einvorangestellter General Header (13) enthalten ist, dass das HVLIW (10) mit seiner codeverdichteten Struktur alle Funktionen des TVLIW (1) ersetzt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Betriebsart "Command Code" des HVLIW (10) und seines zugehörigen General Headers (13) realisiert wird, dass in unmittelbarer Reihenfolge an den General Header (13) sich die für den Aufbau des VLIW (22) notwendigen ersten und zweiten FIW (4) , (7) anschließen, dass in diesem General Header (13) die Information codiert abgelegt ist, die alle Kombinationen angibt, welches erste und zweite FIW (Instruktionswortteil) (4) , (7) , nach Deco- dierung, in der Ausführungsphase, zur Ansteuerung einer jeweiligen ersten und/oder zweiten FU (Funktionseinheit) (19), (20) des Prozessors (21) vorgesehen ist, dass im General Header (13) abgelegt ist, welches erste und/oder zweite FIW (4) , (7) Speicherplätze des Cache (26) belegt und ob bzw. welche Operation mit dem jeweiligen Speicherinhalt bei Aufbau des VLIW (22) in der Ausführungsphase im Cache (26) ausgeführt werden sollen.
3. Verfahren nach Anspruch 1 und 2, dadurch gekennzeichnet, dass in dem erstem Teil des General Headers (13) ein Header Mode (14) , welcher eine Information über die Betriebsart "Command Code" des HVLIW (10) und des General Headers (13) enthält, bereitgestellt wird, dass diesem sich ein zweiter Teil anschließt, in dem als Tabellenwerte codiert, die jeweilige meist gebrauchten Kombination abgelegt ist, welche der jeweiligen FU durch welches erstes oder zweites FIW (3), (7) angesteuert wird, dass ein dritter Teil als CE-Information (16) , angeschlossen wird, in dem ein Zeiger, der auf eine vorgesehene Stelle des Wörterbuches (9) verweist, enthalten ist, dass als letzter Teil des General Headers (13) die Zusatzinformation (17) vorgesehen ist.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Betriebsart "Referenz-Instruktion" des HVLIW (10) und des enthaltenen General Headers (13) realisiert wird, bei der die zum Aufbau des VLIW (22) in der Ausführungsphase vorgesehenen FIW im Cache (26) zwischengespeichert werden, wobei der zugehörige Header Mode (14) eine entsprechend dekodierbare Kennung dieser Betriebsart "Re- ferenz- nstruktion" trägt, dass die Betriebsart "Referenz-Instruktion" durch ein spezielles HVLIW (10) eingeleitet wird, in dem eine Adressangabe enthalten ist, mit der auf eine Referenz-Instruktion verwiesen wird, dass im nachfolgenden HVLIW (10) , welches ebenfalls die Kennung der Betriebsart "Referenz-Instruktion" trägt, eine relative Adresse bezüglich der durch den Verweis vorliegenden Adressangabe enthalten ist, dass daran eine Maske der von der Ansteuerung auszuschlie- ßenden FU angefügt wird.
5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das spezielle HVLIW (10) , welches die Betriebsart "Referenz-Instruktion" einleitet, mit seiner Adressangabe auf das vorhergehende HVLIW (10) verweist.
6. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das spezielle HVLIW (10), welches die Betriebsart "Referenz-Instruktion" einleitet, mit seiner Adressangabe auf eine allgemeine Adresse verweist.
7. Verfahren nach Ansprüchen 1 bis 3, dadurch gekennzeichnet. dass in der Ausführungsphase das HVLIW (10) in einem Decoderl (23) decodiert wird, welcher mit einem Header-Decoder (24), ein CMDT (25), einem Cache (26) und eine Cache-Miss- Reparatur Logik (27) ausgestattet ist, wobei das HVLIW (10) im Cache (26) zwischengespeichert wird und der Header-Decoder (24) die Betriebsart des General- Headers (13) aus dem dort gespeicherten Header Mode (14) erkennt, dass entsprechend des erkannten Header Mode (14) die im General Header (13) vorliegenden Werte der FU-C- Information (14) durch Vergleich mit der CMDT (25) und in Verbindung mit der ebenfalls aus dem General Header (13) entnommenen CE-Information (16) dekomprimiert werden, dass entsprechend des erkannten Header Modes (14) die Zu- satzinformation (17) des General Headers (13) verarbeitet werden, dass ein möglicher Fehlzugriff beim Zwischenspeichern im Cache (26) (Cache-Miss) durch den Ablauf einer Fehlerbehandlungsroutine in der Cache-Miss-Reparatur-Logik (28) behoben wird, dass das gültige VLIW (22) am Ausgang des Decoderl (23) bereitgestellt wird.
PCT/DE2003/001748 2002-06-05 2003-05-28 Verfahren zum codieren/decodieren von vliw cached befehlen WO2003104987A2 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU2003257376A AU2003257376A1 (en) 2002-06-05 2003-05-28 Method for the coding/decoding of vliw cached instructions
US10/516,675 US20050246515A1 (en) 2002-06-05 2003-05-28 Method for the coding/decoding of vliw cached instructions
DE10393298T DE10393298D2 (de) 2002-06-05 2003-05-28 Verfahren zum codieren/decodieren von VLIW cached Befehlen
EP03756954A EP1509842A2 (de) 2002-06-05 2003-05-28 Verfahren zum codieren/decodieren von vliw cached befehlen
JP2004511991A JP3981117B2 (ja) 2002-06-05 2003-05-28 キャッシュに記憶するvliw命令の符号化/復号化方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10225099.5 2002-06-05
DE10225099 2002-06-05

Publications (2)

Publication Number Publication Date
WO2003104987A2 true WO2003104987A2 (de) 2003-12-18
WO2003104987A3 WO2003104987A3 (de) 2004-12-29

Family

ID=29723087

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2003/001748 WO2003104987A2 (de) 2002-06-05 2003-05-28 Verfahren zum codieren/decodieren von vliw cached befehlen

Country Status (6)

Country Link
US (1) US20050246515A1 (de)
EP (1) EP1509842A2 (de)
JP (1) JP3981117B2 (de)
AU (1) AU2003257376A1 (de)
DE (1) DE10393298D2 (de)
WO (1) WO2003104987A2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142157B2 (en) * 2010-06-10 2018-11-27 Blackberry Limited Method and system for reducing transmission of redundant data
CN102662637B (zh) * 2012-03-30 2014-10-15 中国人民解放军国防科学技术大学 超长指令字处理器指令发射方法

Citations (1)

* Cited by examiner, † Cited by third party
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101592A (en) * 1998-12-18 2000-08-08 Billions Of Operations Per Second, Inc. Methods and apparatus for scalable instruction set architecture with dynamic compact instructions

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEISS M H ET AL: "DYNAMIC CODEWIDTH REDUCTION FOR VLIW INSTRUCTION SET ARCHITECTURES IN DIGITAL SIGNAL PROCESSORS" PROCEEDINGS IWISP. INTERNATIONAL WORKSHOP ON IMAGE AND SIGNAL PROCESSING ON THE THEME OF ADVANCES IN COMPUTATIONAL INTELLIGENCE, XX, XX, 4. November 1996 (1996-11-04), Seiten 517-520, XP000911908 *

Also Published As

Publication number Publication date
WO2003104987A3 (de) 2004-12-29
EP1509842A2 (de) 2005-03-02
AU2003257376A1 (en) 2003-12-22
JP2005529402A (ja) 2005-09-29
DE10393298D2 (de) 2005-05-25
JP3981117B2 (ja) 2007-09-26
US20050246515A1 (en) 2005-11-03
AU2003257376A8 (en) 2003-12-22

Similar Documents

Publication Publication Date Title
DE69833008T2 (de) Prozessor mit instruktionskodierung mittels eines schablonenfeldes
DE69925410T2 (de) Erweiterung des Befehlssatzes unter Verwendung von Präfixcode
EP0230437B1 (de) Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
DE2611892C2 (de) Mikroprogramm-Steueranordnung
DE2339636A1 (de) Programmsteuereinrichtung
DE2264090A1 (de) Datenverdichtungssystem
EP1347599B1 (de) Verfahren und Protokolltester zum Dekodieren gemäss einer Protokollbeschreibung kodierter Daten
DE19526008C2 (de) Befehlsvorholeinheit für einen Computer
DE2900586A1 (de) Anordnung zum decodieren von codewoertern variabler laenge
WO2003104987A2 (de) Verfahren zum codieren/decodieren von vliw cached befehlen
EP0427884B1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
DE69835159T2 (de) MIKROPROZESSOR MIT Extremwertbefehlen und Vergleichsbefehlen
DE102005041672A1 (de) SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur
DE10301323B4 (de) Verfahren und Anordnung zur variablen Befehlsdekodierung
DE3908086C1 (en) Method for compressing and decompressing digital data and device for carrying out the method
EP1764682A2 (de) Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer Prozessorarchitektur
EP1271306A2 (de) Konfigurierbare Adressierungsvorrichtung
DE19826826A1 (de) Verfahren zum Decodieren und Ausführen von Befehlen in einem RISC-Prozessor
DE102004031303A1 (de) Verfahren und Anordnung zur Instruktionswortdekodierung bei der Ansteuerung von Funkionseinheiten in einem Prozessor
DE2144113C3 (de) Verfahren zur Codeumsetzung und Assozjathr-Speichereinrlchtung zur Durchführung dieses Verfahrens
DE10065114A1 (de) Verfahren und Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor
DE3625271C2 (de)
DE3000107A1 (de) Datenverarbeitungsanordnung und bei dieser verwendbarer datenprozessor
EP1218819A1 (de) Verfahren und vorrichtung zur bearbeitung bedingter sprungbefehle in einem prozessor mit "pipelined"-architektur

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003756954

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2004511991

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2003756954

Country of ref document: EP

REF Corresponds to

Ref document number: 10393298

Country of ref document: DE

Date of ref document: 20050525

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10393298

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 10516675

Country of ref document: US