WO2003104987A2 - Verfahren zum codieren/decodieren von vliw cached befehlen - Google Patents
Verfahren zum codieren/decodieren von vliw cached befehlen Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Definitions
- the invention relates to a method for controlling functional units in a processor, a sequence of primary instruction words originating from a translation of a program code being fractionated into a sequence of instruction word parts in a configuration phase and subsequently in a program sequence.
- instruction words controlling the processor are generated in the full instruction word width as VLIW (Very Long Instruction Word) and are temporarily stored in an instruction word memory (cache).
- VLIW Very Long Instruction Word
- VLIW Very Long Instruction Word
- a current VLIW is thus constructed from a limited number of function instruction words (FIW), each of these FIWs triggering exactly one function unit (FU) of the processor.
- FIW function instruction words
- FU function unit
- German patent DE 198 59 389 C1 characterizes the prior art for processes of the type mentioned at the beginning.
- the primary instruction words present in the program are fractionated into individual program words. te, which are also known as TVLIW (Tagged Very Long Instruction Word) containers.
- TVLIW container because the individual program word, in addition to an information part, which is mainly represented by an FIW (function instruction word), also includes information about the write and read line number of an instruction word memory to be used. The latter information represents an identifier (day) for the FIW.
- FIW function instruction word
- the program word also includes the information on how to proceed with the respective content of the instruction word memory identified in this way, and is thus represented by an operation code (opcode).
- opcode operation code
- This sequence of instruction word parts is accompanied by an operation code which is common in this regard and an identification of its periodic property which is valid for all elements of the sequence, which is supplemented with the number of links, used in the subsequent processing phase to generate the VLIW.
- the object of the invention is to achieve an increase in processor performance in the execution phase by increasing the degree of compression of the primary instruction words into their fractional instruction word parts, regardless of special features (periodicity) of the FIW.
- the task according to the invention is achieved in that, in a first step, a primary instruction word is fractionated in the configuration phase, as a result of a certain number of instruction word parts which are used in the execution phase for the construction of a respective VLIW.
- a respective first and second FIW (function instruction word part) is preceded by a first or second operation code belonging to it. This determines how the cache space used by the respective FIW is dealt with in the execution phase. Furthermore, the respective first or second operation code is followed by an associated first or second identifier, which represents the information which first or second FI drives the respective FIW.
- the first or the second operation code and their associated first or second identifier with the respective first or second FIW are combined to form the first or second TVLIW container.
- the existing TVLIW is converted into an HVLIW in the configuration phase.
- a general header is prefixed in the HVLIW.
- the task according to the invention is achieved in that a "Command Code" operating mode of the HVLIW and its associated general header is implemented.
- This general header stores the information that specifies all combinations, which first and second FIW (instruction word part), after decoding, is provided in the execution phase for controlling a respective first and / or second FI (functional unit) of the processor.
- the general header stores which first and / or second FIW memory locations are occupied by the cache and whether or which operation with the respective memory content is to be performed in the cache during the execution phase when the VLIW is set up.
- This solution aims to ensure that in the HVLIW's "Command Code" operating mode, a summary of several FIWs and an associated summary of the information indicating which FI is to be controlled by which FIW and which FIW is to be construction of the VLIW occupies certain memory locations of the cache and which operation is then carried out with its memory content with respect to other memory locations of the cache, the desired compression of the instructions is realized.
- a header mode is provided in the first part of the general header, which contains information about the operating mode "command code" of the HVLIW and the general header.
- This mostly used combination is stored in the dictionary as a coded table value.
- a third part is connected as CE information (cache extra information), which contains a pointer that points to a designated position in the dictionary.
- the additional information is provided as the last part of the general header.
- the first and second FIWs necessary for the construction of the VLIW follow in immediate sequence to the general header.
- This solution according to the invention is aimed at providing a structured general header for the “Command Mode” operating mode, which is very flexible and supports all types of “Command Code”. This should also remain valid for further developments and updates and its compression options secure.
- a further variant of the solution of the task according to the invention is achieved in that a "reference instruction" operating mode of the general header is implemented in which the FIWs provided for setting up the VLIW in the execution phase are generally cached.
- the associated header mode bears a correspondingly decodable identifier for this operating mode “reference instruction”.
- the operating mode "reference instruction” is initiated by a special HVLIW.
- HVLIW which also bears the identifier of the "reference instruction" operating mode, contains a relative address with respect to the address provided by the reference.
- a mask is attached to it, which represents the FI to be excluded from the control.
- the implementation of the special operating mode "reference instruction" from HVLIW avoids the large instructions for the processor kernel, which e.g. are also large in the "Command Code” header mode because they must be applicable for a large number of FIs (functional units).
- DSP digital signal processors
- the first and / or second FI (functional unit) for which this particular instruction is not to be used is specified in coded form.
- HVLIW is decoded in a decoder in the execution phase, which is decoded with a header decoder, a CMDT (Command Code Decompression Table), a cache and a cache miss repair logic, the HVLIW being cached.
- CMDT Common Code Decompression Table
- the header decoder recognizes the "Command Code" operating mode of the general header from the header mode stored there.
- the values of the FU-C in the general header are decompressed by comparison with the CMDT and in connection with the CE information likewise taken from the general header.
- the additional information of the general header is processed in accordance with the detected header mode.
- a possible incorrect access when buffering in the cache is remedied by the execution of an error handling routine in the cache miss repair logic.
- FIG. 1 shows a block overview in which the compression steps are shown, which are to be carried out in the configuration phase for converting the TVLIW 1 into the HVLIW 10 according to the invention in the “command code” operating mode.
- FIG. 2 shows a block overview of the decoder 23 according to the invention, which decompresses and decodes the compressed HVLIW 10 into the VLIW 22 in the "command code" operating mode in the execution phase in order to control the processor 21.
- the starting point for the compression according to the invention is the presence of the TVLIW 1.
- this consists of the first and second TVLIW containers 11; 12th
- the respective first or second TVLIW container 11; 12 lies with its components, the first and second operation code 2; 5, the first or second identifier 3; 6 and the first and second FIW 4; 7, before.
- one TVLIW container is fed to the code converter 18 and at the same time in the code analyzer 8 the combination of the three components of a TVLIW container is determined by their frequency with respect to the other TVLIW containers of the respective TVLIW 1 Compared with the information in dictionary 9.
- This information is made available to the code converter 18. Depending on the intended mode of operation, this codes the general header 13 and links it to the respective first or second FIW 4; 7, which of the first and second TVLIW containers 11; 12 are removed.
- the structured general header 13 is provided and is in the parts header mode 14, FU-C information 15, CE information 16 and additional information 17.
- the general header 13 is the sequence of first and second FIW 4; 7 preceded. A complete HVLIW 10 is now stored in the memory.
- Another TVLIW 1 can subsequently be compressed.
- the general header 13 as a component of the HVLIW 10 is temporarily stored in its components in the cache 26 and decoded by means of the header decoder 24.
- the FU-C information 15 From the second part of the general header 13, the FU-C information 15, the information for the first and second FU 19; 20 which of the first and second FIW 4; 7 must be taken into account by the CMDT 25.
- the area of the CMDT 25 to be taken into account is processed from the third part of the general header 13, the CE information 16.
- the additional information 17 is taken from the last part of the general header 13.
- the VLIW 22 is set up by the respective first and / or second FIW 4; 7 in the decoded order and position in which the first and second FI 19; 20 is controlled accordingly on the processor 21, are arranged in the VLIW 22.
- TVLIW Tagged Very Long Instruction Word
- first operation code first identifier first FIW (function instruction word part)
- second operation code second identifier second FIW code analyzer dictionary
- HVLIW Headed Very Long Instruction Word
- TVLIW container second TVLIW container general header header mode
- FU- C information (function unit combination information)
- CE information cache extra information
- additional information code converter first FU (functional unit)
- VLIW Very Long Instruction Word
- decoder header decoder C M DT C ommand- C ode-Decompression table
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
Description
Claims
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 |
JP2004511991A JP3981117B2 (ja) | 2002-06-05 | 2003-05-28 | キャッシュに記憶するvliw命令の符号化/復号化方法 |
EP03756954A EP1509842A2 (de) | 2002-06-05 | 2003-05-28 | Verfahren zum codieren/decodieren von vliw cached befehlen |
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 |
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)
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)
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)
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 |
-
2003
- 2003-05-28 DE DE10393298T patent/DE10393298D2/de not_active Expired - Fee Related
- 2003-05-28 JP JP2004511991A patent/JP3981117B2/ja not_active Expired - Fee Related
- 2003-05-28 US US10/516,675 patent/US20050246515A1/en not_active Abandoned
- 2003-05-28 WO PCT/DE2003/001748 patent/WO2003104987A2/de active Application Filing
- 2003-05-28 EP EP03756954A patent/EP1509842A2/de not_active Ceased
- 2003-05-28 AU AU2003257376A patent/AU2003257376A1/en not_active Abandoned
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 |
Non-Patent Citations (1)
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 |
---|---|
JP2005529402A (ja) | 2005-09-29 |
WO2003104987A3 (de) | 2004-12-29 |
EP1509842A2 (de) | 2005-03-02 |
AU2003257376A1 (en) | 2003-12-22 |
US20050246515A1 (en) | 2005-11-03 |
JP3981117B2 (ja) | 2007-09-26 |
AU2003257376A8 (en) | 2003-12-22 |
DE10393298D2 (de) | 2005-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69833008T2 (de) | Prozessor mit instruktionskodierung mittels eines schablonenfeldes | |
DE69622663T2 (de) | Zweistufige vorausholungspufferstruktur und verfahren mit bypass | |
DE69925410T2 (de) | Erweiterung des Befehlssatzes unter Verwendung von Präfixcode | |
DE602004008711T2 (de) | Anordnung, Verfahren und Rechnerdatensignal zur selektiven Annullierung der Vorhersage eines Rücksprungstapelspeichers als Antwort auf die Erkennung einer nicht-standard Rücksprungsbefehlsreihe | |
DE10084556B4 (de) | Optimierte Ausführung von statisch sehr wahrscheinlich vorhergesagten Verzweigungsbefehlen | |
EP0230437B1 (de) | Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens | |
DE3486399T2 (de) | Zentrale Verarbeitungseinheit mit der Fähigkeit, Befehle mit variablen Längen zu unterstützen. | |
DE1901228B2 (de) | Datenverarbeitungsanlage mit einrichtungen zur wiederholung von operationen beim auftreten eines fehlers | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE69616718T4 (de) | Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2611892A1 (de) | Mikroprogramm-steuersystem | |
DE3856139T2 (de) | Mikroprozessor | |
DE69231237T2 (de) | Datenverarbeitungsvorrichtung | |
DE3121742A1 (de) | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung | |
EP1347599A1 (de) | Verfahren und Protokolltester zum Dekodieren gemäss einer Protokollbeschreibung kodierter Daten | |
DE69428662T2 (de) | System mit geringem Speicherbedarf zur Kodierung und Dekodierung von Zweipegelsymbolen und zugehöriges Verfahren | |
DE69524999T2 (de) | Verfahren zum Komprimieren und Dekomprimieren von Dateien | |
DE69503010T2 (de) | Mikroprozessor zur Ausführung von Befehlen,von denen ein Teil des Operandfelds als Operationscode zu gebrauchen ist | |
DE2900586A1 (de) | Anordnung zum decodieren von codewoertern variabler laenge | |
WO2003104987A2 (de) | Verfahren zum codieren/decodieren von vliw cached befehlen | |
DE69927910T2 (de) | Befehlsausgabe-Schaltkreis und Verfahren zur Out-of- order-Befehlsausführung, wodurch Referenzabhängigkeitsinformationen in einem Befehl gesetzt werden, wenn ein Nachfolgender Befehl in einem Befehlspuffer gespeichert wird d | |
DE102005041672A1 (de) | SIMD-Prozessorarchitektur bzw. Verfahren zum Verarbeiten von Daten verschiedenen Datentyps in einer SIMD-Prozessorarchitektur | |
DE69815656T2 (de) | Rechnersystem mit einem mehrfach Sprungbefehlzeiger und -Verfahren | |
DE69601742T2 (de) | Sprungvorhersage |
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 |