EP1509842A2 - Method for the coding/decoding of vliw cached instructions - Google Patents
Method for the coding/decoding of vliw cached instructionsInfo
- Publication number
- EP1509842A2 EP1509842A2 EP03756954A EP03756954A EP1509842A2 EP 1509842 A2 EP1509842 A2 EP 1509842A2 EP 03756954 A EP03756954 A EP 03756954A EP 03756954 A EP03756954 A EP 03756954A EP 1509842 A2 EP1509842 A2 EP 1509842A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- hvliw
- header
- instruction
- instruction word
- fiw
- 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
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000006870 function Effects 0.000 claims abstract description 11
- 238000013519 translation Methods 0.000 claims abstract description 4
- 238000010276 construction Methods 0.000 claims description 5
- 238000005194 fractionation Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000007906 compression Methods 0.000 abstract description 10
- 230000006835 compression Effects 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10225099 | 2002-06-05 | ||
DE10225099 | 2002-06-05 | ||
PCT/DE2003/001748 WO2003104987A2 (en) | 2002-06-05 | 2003-05-28 | Method for the coding/decoding of vliw cached instructions |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1509842A2 true EP1509842A2 (en) | 2005-03-02 |
Family
ID=29723087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP03756954A Ceased EP1509842A2 (en) | 2002-06-05 | 2003-05-28 | Method for the coding/decoding of vliw cached instructions |
Country Status (6)
Country | Link |
---|---|
US (1) | US20050246515A1 (en) |
EP (1) | EP1509842A2 (en) |
JP (1) | JP3981117B2 (en) |
AU (1) | AU2003257376A1 (en) |
DE (1) | DE10393298D2 (en) |
WO (1) | WO2003104987A2 (en) |
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 (en) * | 2012-03-30 | 2014-10-15 | 中国人民解放军国防科学技术大学 | Instruction transmitting method for very-long instruction word processor |
Family Cites Families (2)
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 |
DE19859389C1 (en) * | 1998-12-22 | 2000-07-06 | Systemonic Ag | Method for controlling functional units in a processor and processor arrangement for carrying out the method |
-
2003
- 2003-05-28 AU AU2003257376A patent/AU2003257376A1/en not_active Abandoned
- 2003-05-28 DE DE10393298T patent/DE10393298D2/en not_active Expired - Fee Related
- 2003-05-28 JP JP2004511991A patent/JP3981117B2/en not_active Expired - Fee Related
- 2003-05-28 US US10/516,675 patent/US20050246515A1/en not_active Abandoned
- 2003-05-28 EP EP03756954A patent/EP1509842A2/en not_active Ceased
- 2003-05-28 WO PCT/DE2003/001748 patent/WO2003104987A2/en active Application Filing
Non-Patent Citations (1)
Title |
---|
See references of WO03104987A2 * |
Also Published As
Publication number | Publication date |
---|---|
DE10393298D2 (en) | 2005-05-25 |
WO2003104987A2 (en) | 2003-12-18 |
JP3981117B2 (en) | 2007-09-26 |
AU2003257376A1 (en) | 2003-12-22 |
US20050246515A1 (en) | 2005-11-03 |
JP2005529402A (en) | 2005-09-29 |
AU2003257376A8 (en) | 2003-12-22 |
WO2003104987A3 (en) | 2004-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69833008T2 (en) | PROCESSOR WITH INSTRUCTION CODING BY MEANS OF A TEMPLATE | |
DE69622663T2 (en) | TWO-STAGE PRE-RECOVERY BUFFER STRUCTURE AND BYPASS METHOD | |
DE69925410T2 (en) | Extension of the instruction set using prefix code | |
DE602004008711T2 (en) | An arrangement, method and computer data signal for selectively canceling the prediction of a return-pack memory in response to the detection of a non-standard return command-line | |
DE10084556B4 (en) | Optimized execution of statically most likely predicted branch instructions | |
EP0230437B1 (en) | Process for compressing and expanding structurally associated multiple-data sequences, and arrangements for implementing the process | |
DE3486399T2 (en) | Central processing unit with the ability to support commands of variable lengths. | |
DE69710503T2 (en) | BRANCH FORECASTING MECHANISM WITH SELECTOR SWITCHES FOR SELECTING A BRANCHING FORECAST | |
DE1901228B2 (en) | DATA PROCESSING SYSTEM WITH DEVICES FOR REPEATING OPERATIONS WHEN AN ERROR OCCURS | |
DE69616718T4 (en) | DEVICE AND METHOD FOR DETERMINING ADDRESSES OF MISALIGNED DATA | |
DE2611892A1 (en) | MICROPROGRAM CONTROL SYSTEM | |
DE2524046A1 (en) | ELECTRONIC DATA PROCESSING SYSTEM | |
EP1347599B1 (en) | Protocol analyzer and method for decoding data based on a protocol description | |
DE3856139T2 (en) | microprocessor | |
DE69901338T2 (en) | MICROPROCESSOR WITH SEVERAL REGISTER SETS THAT HAVE THE SAME LOGICAL SPACE | |
DE69231237T2 (en) | Data processing device | |
DE3121742A1 (en) | MICROPROGRAM CONTROL METHOD AND DEVICE FOR IMPLEMENTING IT | |
DE69428662T2 (en) | System with low memory requirements for coding and decoding two-level symbols and associated method | |
DE69524999T2 (en) | Methods of compressing and decompressing files | |
DE69503010T2 (en) | Microprocessor for executing instructions, part of which is to be used as an opcode | |
DE2900586A1 (en) | ARRANGEMENT FOR DECODING CODE WORDS OF VARIABLE LENGTH | |
EP1509842A2 (en) | Method for the coding/decoding of vliw cached instructions | |
DE69815656T2 (en) | Computer system with a multiple jump instruction pointer and procedure | |
DE69601742T2 (en) | Jump prediction | |
DE102004001651A1 (en) | Method and processor for automatic command mode switching using parity check |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20041119 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
DAX | Request for extension of the european patent (deleted) | ||
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NXP SEMICONDUCTORS GERMANY GMBH |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NXP B.V. |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20090605 |