IP Library Granted Patent US 9,201,657
Granted Patent B2
US 9,201,657 · App. 11/568,714 · Granted Dec 1, 2015

Lower power assembler

Inventor: Jeroen Anton Johan Leijten (Eindhoven, NL)
Assignee: Intel Corporation
G06F9/3842G06F8/52G06F9/30076G06F9/30156G06F9/3822G06F9/3853G06F9/3885
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,201,657
App. No.
11/568,714
Granted
Dec 1, 2015
Kind
B2
Abstract

A method for processing data using a time-stationary multiple-instruction word processing apparatus, arranged to execute a plurality of instructions in parallel, said method comprising the following steps: generating a set of multiple-instruction words (INS(i), INS(i+1), INS(i+2)), wherein each multiple-instruction word comprises a plurality of instruction fields, wherein each instruction field encodes control information for a corresponding resource of the processing apparatus, and wherein bit changes between an instruction field related to a no-operation instruction, and a corresponding instruction field of an adjacent multiple-instruction word are minimised; storing input data in a register file (RF 0 , RF 1 ); processing data retrieved from the register file based on control information derived from the set of multiple-instruction words; disabling the write back of result data to the register file during execution of a no-operation instruction using a first dedicated no-operation code (ws 00 , ws 10 , wp 00 , wp 10 ).

Claims (23)

1. A method for processing data using a time-stationary multiple-instruction word processing apparatus, arranged to execute a plurality of instructions in parallel, said method comprising the following steps:

generating a set of multiple-instruction words, wherein each multiple-instruction word comprises a plurality of instruction fields, wherein each instruction field encodes control information for a corresponding resource of the processing apparatus, and wherein bit changes between an instruction field related to a no-operation instruction, and a corresponding instruction field of an adjacent multiple-instruction word are minimized;

storing input data in a register file;

processing data retrieved from the register file based on control information derived from the set of multiple-instruction words; and

disabling the write back of result data to the register file during execution of a no-operation instruction using a first dedicated no-operation code.

2. The method for processing data according to claim 1 , further comprising the step of:

further preventing a change in the state of the processing apparatus during execution of a no-operation instruction using a second dedicated no-operation code for encoding an opcode.

3. The method for processing data according to claim 1 , wherein the adjacent multiple instruction word is adjacent to the multiple-instruction word, comprising the instruction field related to the no-operation instruction, in the set of multiple-instruction words as derived after compilation of a computer program.

4. The method for processing data according to claim 1 , wherein the adjacent multiple instruction word is most likely to be adjacent to the multiple-instruction word, comprising the instruction field related to the no-operation instruction, during execution of the set of multiple-instruction words, as derived from profiling information.

5. The method for processing data according to claim 1 , wherein the steps are performed by a processing apparatus comprising:

a plurality of issue slots arranged for parallel execution of the plurality of instructions;

a register file accessible by the plurality of issue slots;

a communication network for coupling the plurality of issue slots and the register file; and

a controller arranged for controlling the processing apparatus based on control information derived from the set of multiple-instruction words.

6. The method according to claim 5 , wherein the register file is a distributed register file.

7. The method according to claim 5 , wherein the communication network is a partially connected communication network.

8. The method according to claim 5 , wherein the processing apparatus is a time-stationary Very Large Instruction Word processor.

9. A method for generating a set of multiple-instruction words in binary program code from a corresponding set of multiple-instruction words in assembly language, wherein each multiple-instruction word comprises a plurality of instruction fields and wherein the set of multiple-instruction words is to be executed by a time-stationary processing apparatus having a plurality of issue slots, and a register file coupled to the plurality of issue slots, said method comprising the following steps:

sequencing through the set of multiple-instruction words,

determining whether there is a change from an instruction to a no-operation instruction for the same instruction field,

minimizing the bit changes between an instruction field related to a no-operation instruction and a corresponding instruction field of an adjacent multiple-instruction word,

inserting a first dedicated NOP code in the binary program code of the no-operation instruction in order to disable the write back of result data to the register file during execution of a no-operation instruction.

10. A non-transient computer-readable medium comprising computer-executable instructions for a compiler program that is executable on a computer system for generating a sequence of instructions in binary program code according to the steps of the method recited in claim 9 .

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2014
From: INTEL BENELUX B.V.
To: INTEL CORPORATION
Reel/Frame 031926/0502 →
"SILOCON HIVE B.V." SHOULD BE SPELLED "SILICON HIVE B.V" ASSIGNEE:"INTEL CORPORATION" SHOULD BE REMOVED. RECORDED ON REEL/FRAME:028883/0689 (502045456) Recorded Nov 21, 2012
From: SILICON HIVE B. V.
To: INTEL BENELUX B. V.
Reel/Frame 029405/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2012
From: SILICON HIVE B.V.
To: INTEL BENELUX B.V.
Reel/Frame 028883/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2009
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: SILICON HIVE B.V.
Reel/Frame 022902/0755 →
Priority Claims (1)
EP 04102104 · May 13, 2004 · regional
Continuity (1)
Related Publication 20100153691A1 · Jun 17, 2010