Patent US5504914A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5504914A Expired / Lapsed US ⏱️ 0.0 years remaining

Multi-level instruction boosting method using plurality of ordinary registers forming plurality of conjugate register pairs that are shadow registers to each other with different only in MSB

Assignee: National Science and Technology Council
•
Filing: 1993-06-23
•
Granted: 1996-04-02
•
Expires: 2013-06-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An instruction multi-level boosting method in a compiler has the step of providing a plurality of ordinary registers to act as the destination registers for access by the ordinary instructions. At least one instruction is boosted and speculatively executed. The boosting method also has the step of providing a plurality of special registers corresponding to the ordinary registers, and acting as the destination registers for access by the boosted and speculatively executed instruction. Then, at the original position of the boosted instruction, the address of at least one ordinary register used in the boosted instruction is translated into the address of at least one corresponding special register. In this way, the compiler efficiency can be incressed; the need of requiring additional registers is lowered; and the cost thereof is reduced down because no complicated duplicating circuit is needed.

Inventors

  • 👤 Feipei Lai

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 13:43
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30098; G06F9/3012; G06F9/30138; G06F8/00; G06F8/40; G06F8/41; G06F8/44; G06F8/441; G06F8/445; G06F9/30123; G06F9/38; G06F9/3836; G06F9/3838; G06F9/384; G06F9/3842

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 221 words
An instruction multi level boosting method for a compiler comprising the following steps of: providing a plurality of ordinary registers to act as destination registers for access by ordinary instructions; boosting and speculatively executing at least one of said ordinary instructions; providing a plurality of special registers corresponding to said ordinary registers, said special registers acting as destination registers for access by at least one boosted and speculatively executed instruction, said ordinary registers and said corresponding special registers forming a plurality of conjugate register pairs that are shadow registers with respect to each other, and said conjugate register pairs being different only in one bit said one bit is the most significant bit; at an original position of said boosted instruction, translating an address of at least one of said ordinary registers used with said boosted instruction into an address of at least one corresponding special register; and providing an architecture for executing said compiler, said architecture including a semantic register with at least one bit value and a boosting boundary register with at least one bit value, the bit value of said boosting boundary register being utilized to influence the bit value of said semantic register to determine whether said address is translated from said at least one of said ordinary registers to said at least one corresponding special register.
Claim 2
Dependent Claim 221 words
An instruction multi level boosting method for a compiler comprising the following steps of: providing a plurality of ordinary registers to act as destination registers for access by ordinary instructions; boosting and speculatively executing at least one of said ordinary instructions; providing a plurality of special registers corresponding to said ordinary registers, said special registers acting as destination registers for access by at least one boosted and speculatively executed instruction, said ordinary registers and said corresponding special registers forming a plurality of conjugate register pairs that are shadow registers with respect to each other, and said conjugate register pairs being different only in one bit said one bit is the most significant bit; at an original position of said boosted instruction, translating an address of at least one of said ordinary registers used with said boosted instruction into an address of at least one corresponding special register; and providing an architecture for executing said compiler, said architecture including a semantic register with at least one bit value and a boosting boundary register with at least one bit value, the bit value of said boosting boundary register being utilized to influence the bit value of said semantic register to determine whether said address is translated from said at least one of said ordinary registers to said at least one corresponding special register.
Claim 3
Dependent Claim 28 words
A method as claimed in claim 1, wherein said architecture further includes an address translation circuit to execute said translation of addresses between said ordinary and special registers.
Claim 4
Dependent Claim 43 words
A method as claimed in claim 1, wherein said semantic register has a plurality of bits each of which corresponds to one of said conjugate register pairs, and being utilized to determine whether said address translation circuit should undergo said address translation step.
Claim 5
Dependent Claim 44 words
A method as claimed in claim 1, wherein said boosting boundary register has a plurality of bits each of which corresponds to one of said conjugate register pairs, each of said plurality of bits corresponding to one of said bits of said semantic register.
Claim 6
Dependent Claim 37 words
A method as claimed in claim 1, wherein said compiler executes an exclusive-OR boosting boundary register (XOR BBR) operation for said bit value of said boosting boundary register to influence said bit value of said semantic register.
Claim 7
Dependent Claim 32 words
A method as claimed in claim 1, wherein said special and ordinary registers can be used as two independent register groups to store irrelevant variables if there is no speculatively executed instruction.
Claim 8
Dependent Claim 15 words
A method as claimed in claim 2, wherein said address translation circuit comprises logic gates.
Claim 9
Dependent Claim 16 words
A method as claimed in claim 2, wherein said address translation circuit comprises an XOR gate.
Claim 10
Dependent Claim 37 words
A method as claimed in claim 2, wherein said compiler includes a plurality of boosting instructions to determine said bit value of said boosting boundary register so as to then influence operation of said address translation circuit.
Claim 11
Dependent Claim 20 words
A method as claimed in claim 9, wherein said boosting instructions includes a set boosting boundary register (Set BBR) instruction.
Claim 12
Dependent Claim 33 words
A method as claimed in claim 10, wherein said set boosting boundary register instruction is placed at an original position of said boosted instruction to actuate said operation of said address translation circuit.
Claim 13
Dependent Claim 32 words
A method as claimed in claim 9, wherein said boosting instructions replace a position of a NOP (No Operation) instruction of said compiler in order not to increase an instruction parcel number.
Claim 14
Dependent Claim 20 words
A method as claimed in claim 9, wherein said boosting instructions includes a reset boosting boundary register (Reset BBR) instruction.
Claim 15
Dependent Claim 239 words
An instruction multi-level boosting method for a compiler comprising the following steps of: providing a plurality of ordinary registers to act as destination registers for access by ordinary instructions; boosting and speculatively executing at least one of said ordinary instructions; providing a plurality of special registers corresponding to said ordinary registers, said special registers acting as destination registers for access by at least one boosted and speculatively executed instruction, said ordinary registers and said corresponding special registers forming a plurality of conjugate register pairs that are shadow registers with respect to each other, said conjugate register pairs being different only in one bit, said one bit being the most significant bit; at an original position of said boosted instruction, translating an address of at least one of said ordinary registers used with said boosted instruction into an address of at least one corresponding special register with an address translation circuit; and before said translating step, determining whether said translating step should be executed with a semantic register having a plurality of bits, each of which corresponds to one of said conjugate register pairs, and a boosting boundary register having a plurality of bits, each of which corresponds to one of said conjugate register pair, each of said plurality of bits corresponding to one of said bits of said semantic register, a bit value of said boosting boundary register being utilized to influence a bit value of said semantic register.
Claim 16
Dependent Claim 239 words
An instruction multi-level boosting method for a compiler comprising the following steps of: providing a plurality of ordinary registers to act as destination registers for access by ordinary instructions; boosting and speculatively executing at least one of said ordinary instructions; providing a plurality of special registers corresponding to said ordinary registers, said special registers acting as destination registers for access by at least one boosted and speculatively executed instruction, said ordinary registers and said corresponding special registers forming a plurality of conjugate register pairs that are shadow registers with respect to each other, said conjugate register pairs being different only in one bit, said one bit being the most significant bit; at an original position of said boosted instruction, translating an address of at least one of said ordinary registers used with said boosted instruction into an address of at least one corresponding special register with an address translation circuit; and before said translating step, determining whether said translating step should be executed with a semantic register having a plurality of bits, each of which corresponds to one of said conjugate register pairs, and a boosting boundary register having a plurality of bits, each of which corresponds to one of said conjugate register pair, each of said plurality of bits corresponding to one of said bits of said semantic register, a bit value of said boosting boundary register being utilized to influence a bit value of said semantic register.

References Cited (Backward Citations)

US4374418A Cited
US4631660A Cited
US4807115A Cited
US5021993A Cited
US5155817A Cited
US4965720A Cited
US5224063A Cited
US5355460A Cited
US5396640A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-04-02 1999-10-02 2000-04-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-04-02 2003-10-02 2004-04-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-04-02 2007-10-02 2008-04-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag