IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0554621
(2004-04-27)
|
등록번호 |
US-7302555
(2007-11-27)
|
우선권정보 |
EP-03101175(2003-04-29) |
국제출원번호 |
PCT/IB04/050527
(2004-04-27)
|
§371/§102 date |
20051027
(20051027)
|
국제공개번호 |
WO04/097625
(2004-11-11)
|
발명자
/ 주소 |
- Leijten,Jeroen Anton Johan
|
출원인 / 주소 |
- Koninklijke Philips Electronics, N.V.
|
대리인 / 주소 |
Leydig, Voit & Mayer, Ltd.
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
2 |
초록
▼
Programmable processors are used to transform input data into output data based on program information encoded in instructions. The value of the resulting output data depends, amongst others, on the momentary state of the processor at any given moment in time. This state is composed of temporary dat
Programmable processors are used to transform input data into output data based on program information encoded in instructions. The value of the resulting output data depends, amongst others, on the momentary state of the processor at any given moment in time. This state is composed of temporary data values stored in registers, for example, as well as so-called flags. A disadvantage of the principle of flags, is that they cause side effects in the processor, especially in parallel processors. However, when removing the traditional concept of flags, the remaining problem is the implementation of branching. A processing system according to the invention comprises an execution unit (EX1, EX2), a first register file (RF1, RF2) for storing data, a memory (PM) and a second register file (RF3) for storing a program counter. The execution unit conditionally executes dedicated instructions for writing a value of the program counter into the second register file. As a result, the processing system according to the invention allows conditional branching, without the use of flags.
대표청구항
▼
The invention claimed is: 1. A processing system arranged for execution of a set of instructions under control of a program counter, the processing system comprising: an execution unit; a first register file arranged to store data, the first register file being accessible by the execution unit; a p
The invention claimed is: 1. A processing system arranged for execution of a set of instructions under control of a program counter, the processing system comprising: an execution unit; a first register file arranged to store data, the first register file being accessible by the execution unit; a program memory arranged to store the set of instructions; a second register file arranged to store a value of the program counter, the second register file being accessible by the execution unit, and wherein the execution unit is arranged to conditionally execute a dedicated instruction for writing a value of the program counter into the second register file to initiate a delayed branching operation in which non-branch operations are executed prior to a branching operation. 2. A processing system according to claim 1, wherein the processing system further comprises a controller; wherein the second register file is accessible by the controller; and wherein the controller is arranged to use the value of the program counter stored in the second register file, to fetch an instruction from the program memory. 3. A processing system according to claim 2, wherein the controller is further arranged to increment the value of the program counter and to write the incremented value of the program counter into the second register file. 4. A processing system according to claim 3, wherein the processing system is further arranged to write either the value of the program counter incremented by the controller into the second register file, or to write the value of the program counter produced by the execution unit into the second register file, depending on the evaluation of a branch condition. 5. A processing system according to claim 1, wherein the execution unit is further arranged to evaluate a branch condition and subsequently use the result of the evaluation as a guard to conditionally execute a first dedicated instruction for writing a value of the program counter into the second register file. 6. A processing system according to claim 1, wherein the execution unit is further arranged to execute a second dedicated instruction; the second dedicated instruction having at least a first argument and a second argument, the second argument being a value of the program counter; wherein the second dedicated instruction is arranged to write the value of the program counter into the second register file, depending on the value of the first argument. 7. A processing system according to claim 1, wherein the processing system is a time-stationary Very Large Instruction Word (VLIW) processor, wherein the execution unit is a plurality of execution units and wherein the VLIW processor further comprises: a communication device arranged to couple the execution units and the first register file; and wherein the VLIW processor is further arranged to dynamically control the transfer of result data from an execution unit of the plurality of execution units to the first register file and the second register file, based on control information derived from the set of instructions. 8. A processing system according to claim 1, wherein the processing system is a data-stationary Very Large Instruction Word (VLIW) processor, wherein the execution unit is a plurality of execution units and wherein the VLIW processor further comprises: a communication device arranged to couple the execution units and the first register file. 9. A VLIW processor according to claim 8, wherein the register file is a distributed register file. 10. A VLIW processor according to claim 8, wherein the communication device is a partially connected communication network. 11. A processing system arranged for execution of a set of instructions under control of a program counter, the processing system comprising: an execution unit; a first register file arranged to store data, the first register file being accessible by the execution unit; a program memory arranged to store the set of instructions; a second register file arranged to store a value of the program counter, the second register file being accessible by the execution unit, wherein the execution unit is arranged to conditionally execute a dedicated instruction for writing a value of the program counter into the second register file, and wherein the processing system is further arranged to execute a plurality of said dedicated instructions in parallel, and wherein during the compilation step it is guaranteed that only one instruction of the plurality of dedicated instructions is conditionally executed. 12. A method for executing a set of instructions by a processing system, wherein the processing system comprises: an execution unit; a first register file for storing data, wherein the first register file is accessible by the execution unit; a program memory for storing the set of instructions; a second register file for storing the program counter, wherein the second register file is accessible by the execution unit, and wherein the method comprises the following steps: executing a dedicated instruction for writing a value of the program counter into the second register file; using the value of the program counter for fetching an instruction from the program memory; executing said instruction; and initiating a delayed branching operation in which non-branch operations are executed prior to executing the dedicated instruction. 13. A compiler program product stored on a computer readable medium being arranged for implementing all steps of the method for programming a processing system according to claim 12, when said compiler program product is executable on a computer system.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.