IP Library Granted Patent US 7,546,476
Granted Patent B2
US 7,546,476 · App. 11/973,436 · Granted Jun 9, 2009

Power reduction in microprocessor systems

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 7,546,476
App. No.
11/973,436
Granted
Jun 9, 2009
Kind
B2
Abstract

A method is provided for reducing the power consumption of a pipelined microprocessor system arranged to run a program stored in a memory. The method comprises duplicating at least one branch instruction so as to reduce the number of transitions on the bus between the microprocessor and the memory when the program is executed.

Claims (20)

1. A method of reducing the power consumption of a microprocessor system which comprises a microprocessor and a memory connected by at least one bus, the microprocessor being arranged to fetch and execute instructions of a program stored in said memory, the method comprising the steps of:

fetching a binary representation of a branch instruction from the memory before a previously fetched instruction has been completely executed, wherein execution of the branch instruction can result in a non-consecutive instruction being fetched; and

fetching a duplicate binary representation of the branch instruction before the branch instruction has been completely executed, whereby the number of transitions on said bus when the program is executed is reduced.

2. A method as claimed in claim 1 , wherein the duplicate binary representation of the branch instruction is discarded when the branch instruction results in a non-consecutive instruction being fetched.

3. A method as claimed in claim 1 , wherein the step of fetching a branch instruction comprises fetching a conditional branch instruction.

4. A method as claimed in claim 1 , wherein the step of fetching a branch instruction comprises fetching an unconditional branch instruction.

5. A method as claimed in claim 1 , wherein the step of fetching a branch instruction comprises fetching a backwards conditional branch instruction.

6. A method as claimed in claim 1 , further comprising the steps of:

fetching a forwards conditional branch instruction from the memory before a previously fetched instruction has been completely executed, wherein execution of the branch instruction can result in a non-consecutive instruction being fetched; and

before the forwards conditional branch instruction has been completely executed, fetching an instruction from the memory that is not a duplicate binary representation of the forwards conditional branch instruction.

7. A method of reducing the power consumption of a microprocessor system which comprises a microprocessor and a memory connected by at least one bus, the microprocessor being arranged to fetch and execute instructions of a program stored in said memory, the method comprising the steps of:

fetching a binary representation of a branch instruction from the memory before a previously fetched instruction has been completely executed, wherein execution of the branch instruction can result in a non-consecutive instruction being fetched; and

fetching a binary representation of a second instruction from the memory before the branch instruction has been completely executed, a Hamming distance between the binary representations of the branch instruction and the second instruction being exactly zero.

8. A method as claimed in claim 7 , wherein the second instruction is discarded when the branch instruction results in a non-consecutive instruction being fetched.

9. A method as claimed in claim 7 , wherein the step of fetching a binary representation of a branch instruction comprises fetching a binary representation of a conditional branch instruction.

10. A method as claimed in claim 7 , wherein the step of fetching a binary representation of a branch instruction comprises fetching a binary representation of an unconditional branch instruction.

11. A method as claimed in claim 7 , wherein the step of fetching a binary representation of a branch instruction comprises fetching a binary representation of a backwards conditional branch instruction.

12. A method as claimed in claim 7 , further comprising the steps of:

fetching a binary representation of a forwards conditional branch instruction from the memory before a previously fetched instruction has been completely executed, wherein execution of the branch instruction can result in a binary representation of a non-consecutive instruction being fetched; and

before the forwards conditional branch instruction has been completely executed, fetching a binary representation of an instruction from the memory having a Hamming distance from the forwards conditional branch instruction greater than zero.

Assignments (1)
RELEASE OF SECURITY INTEREST Recorded Feb 9, 2026
From: FISH & RICHARDSON P.C.
To: TAE TECHNOLOGIES
Reel/Frame 074944/0866 →