US5628024A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Computer architecture capable of concurrent issuance and execution of general purpose multiple instructions
Assignee: Hewlett Packard Development Co LP
•
Filing: 1995-06-07
•
Granted: 1997-05-06
•
Expires: 2015-06-07
Abstract
Abstract A system for issuing a family of instructions during a single clock includes a decoder for decoding the family of instructions and logic, responsive to the decode result, for determining whether resource conflicts would occur if the family were issued during one clock. If no resource conflicts occur, an execution unit executes the family regardless of whether dependencies among the instructions in the family exist.
Inventors
- 👤 Robert W. Horst
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 08:28
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30098; G06F9/3012; G06F9/30134; G06F9/22; G06F9/26; G06F9/261; G06F9/38; G06F9/3802; G06F9/3836; G06F9/3838; G06F9/3842; G06F9/3844; G06F9/3853; G06F9/3861
Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
241 words
A method for concurrently issuing and executing a pair of instructions, included in a target instruction set, in parallel, said method comprising the steps of: selecting a subset of complex instructions of said target instruction set for concurrent issue and execution; selecting a processor having an architecture that executes a target instruction set, with the target instruction set including complicated instructions executed by microcode routines stored in a micro-store included in the processor; providing resources to said processor for concurrently issuing and executing pairs of complex instructions included in said subset; providing a set of modified microcode routines providing for the concurrent issue and execution of pairs of complex instructions included in said subset; fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; decoding said first pair of instructions to generate a first pair of decoded results; processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; concurrently issuing said first pair of complex instructions to be concurrently executed by said modified microcode routines and architecture if said first pair of complex instructions is included in said subset; and utilizing said decoded results to select a modified microcode routine to execute said first pair of complex instructions when said first pair are concurrently issued.
Claim 2
Independent Claim
241 words
A method for concurrently issuing and executing a pair of instructions, included in a target instruction set, in parallel, said method comprising the steps of: selecting a subset of complex instructions of said target instruction set for concurrent issue and execution; selecting a processor having an architecture that executes a target instruction set, with the target instruction set including complicated instructions executed by microcode routines stored in a micro-store included in the processor; providing resources to said processor for concurrently issuing and executing pairs of complex instructions included in said subset; providing a set of modified microcode routines providing for the concurrent issue and execution of pairs of complex instructions included in said subset; fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; decoding said first pair of instructions to generate a first pair of decoded results; processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; concurrently issuing said first pair of complex instructions to be concurrently executed by said modified microcode routines and architecture if said first pair of complex instructions is included in said subset; and utilizing said decoded results to select a modified microcode routine to execute said first pair of complex instructions when said first pair are concurrently issued.
Claim 3
Independent Claim
238 words
A method for concurrently issuing and executing a pair of instructions in parallel, said method comprising the steps of: selecting an existing processor having an architecture that executes an existing target instruction set and memory locations for storing data; selecting a subset of pairs of instructions of said target instruction set for concurrent issue and execution; including in said subset a MOV/ALU pair of instructions with a first instruction in said MOV/ALU pair for moving data between memory locations and a second instruction in said MOV/ALU pair for performing an arithmetic or logical operation on data held in memory locations; modifying the architecture of said existing processor to form a modified architecture which provides resources for concurrently executing all pairs in said subset; fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; decoding said first pair of instructions to generate a first pair of decoded results; processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair; and utilizing said first pair decoded results to execute said first pair of instructions if said first pair is concurrently issued.
Claim 4
Independent Claim
238 words
A method for concurrently issuing and executing a pair of instructions in parallel, said method comprising the steps of: selecting an existing processor having an architecture that executes an existing target instruction set and memory locations for storing data; selecting a subset of pairs of instructions of said target instruction set for concurrent issue and execution; including in said subset a MOV/ALU pair of instructions with a first instruction in said MOV/ALU pair for moving data between memory locations and a second instruction in said MOV/ALU pair for performing an arithmetic or logical operation on data held in memory locations; modifying the architecture of said existing processor to form a modified architecture which provides resources for concurrently executing all pairs in said subset; fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; decoding said first pair of instructions to generate a first pair of decoded results; processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair; and utilizing said first pair decoded results to execute said first pair of instructions if said first pair is concurrently issued.
Claim 5
Independent Claim
266 words
A method for concurrently issuing and executing a pair of instructions in parallel, said method comprising the steps of: selecting an existing processor having an architecture that executes an existing target instruction set, with the target instruction set including complicated instructions executed in multiple cycles by microcode routines stored in a micro-store included in the existing processor; selecting a subset of instructions of said target instruction set for concurrent issue and execution; modifying the architecture of said existing processor to form a modified architecture which provides resources, including parallel data paths, for concurrently issuing and executing pairs of instructions included in said subset; modifying the microcode routines of said existing processor to form a set of modified microcode routines for controlling the parallel data paths of said modified architecture to execute pairs of instructions in said subset or said complex instructions; fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; decoding said first pair of instructions to generate a first pair of decoded results; concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair or issuing only a first instruction in said first pair if said first pair is not an included pair; and utilizing said first pair decoded results to execute said first pair of instructions if said first pair is concurrently issued or a microcode routine to execute said first instruction if said first instruction is a complex instruction and only said first instruction is issued.
Claim 6
Independent Claim
266 words
A method for concurrently issuing and executing a pair of instructions in parallel, said method comprising the steps of: selecting an existing processor having an architecture that executes an existing target instruction set, with the target instruction set including complicated instructions executed in multiple cycles by microcode routines stored in a micro-store included in the existing processor; selecting a subset of instructions of said target instruction set for concurrent issue and execution; modifying the architecture of said existing processor to form a modified architecture which provides resources, including parallel data paths, for concurrently issuing and executing pairs of instructions included in said subset; modifying the microcode routines of said existing processor to form a set of modified microcode routines for controlling the parallel data paths of said modified architecture to execute pairs of instructions in said subset or said complex instructions; fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; decoding said first pair of instructions to generate a first pair of decoded results; concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair or issuing only a first instruction in said first pair if said first pair is not an included pair; and utilizing said first pair decoded results to execute said first pair of instructions if said first pair is concurrently issued or a microcode routine to execute said first instruction if said first instruction is a complex instruction and only said first instruction is issued.
Claim 7
Independent Claim
250 words
A system for concurrently issuing and executing included pairs of instructions in parallel, with an included pair of instructions comprising first and second instructions included in a first subset of instructions forming a part of a target instruction set of an existing processor, with the existing processor having an architecture that executes the existing target instruction set and memory locations for storing data, with said subset including a MOV instruction and an ALU instruction, with a MOV instruction for moving data between memory locations and an ALU instruction for performing an arithmetic or logical operation on data held in memory locations, said system comprising: a fetch unit for fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; a decoder for decoding said first pair of instructions to generate a first pair of decoded results; a pairing unit for processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; means for concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair; and a modified architecture includes resources for concurrently executing all included pairs of instructions, with the modified architecture utilizing said first pair of decoded results to execute said first pair of instructions if said first pair is concurrently issued.
Claim 8
Independent Claim
250 words
A system for concurrently issuing and executing included pairs of instructions in parallel, with an included pair of instructions comprising first and second instructions included in a first subset of instructions forming a part of a target instruction set of an existing processor, with the existing processor having an architecture that executes the existing target instruction set and memory locations for storing data, with said subset including a MOV instruction and an ALU instruction, with a MOV instruction for moving data between memory locations and an ALU instruction for performing an arithmetic or logical operation on data held in memory locations, said system comprising: a fetch unit for fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; a decoder for decoding said first pair of instructions to generate a first pair of decoded results; a pairing unit for processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; means for concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair; and a modified architecture includes resources for concurrently executing all included pairs of instructions, with the modified architecture utilizing said first pair of decoded results to execute said first pair of instructions if said first pair is concurrently issued.
Claim 9
Independent Claim
312 words
A system for concurrently issuing and executing included pairs of instructions in parallel, with an included pair of instructions comprising first and second instructions included in a first subset of instructions forming a part of a target instruction set of an existing processor having an architecture that executes the existing target instruction set and memory locations for storing data, with the target instruction set including complicated instructions executed in multiple cycles by microcode routines stored in a micro-store included in the existing processor, said system comprising: a micro-store holding a set of modified microcode routines for controlling the parallel data paths of a modified architecture to execute pairs of instructions in said subset or said complex instructions; a fetch unit for fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; a decoder for decoding said first pair of instructions to generate a first pair of decoded results; a pairing unit for processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; means for concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair or issuing only a first instruction in said first pair if said first pair is not an included pair; and a modified architecture which provides resources, including parallel data paths, for concurrently issuing and executing pairs of instructions included in said subset that utilizes said first pair of decoded results to execute said first pair of instructions if said first pair is concurrently issued or a microcode routine to execute said first instruction if said first instruction is a complex instruction and only said first instruction is issued.
Claim 10
Independent Claim
312 words
A system for concurrently issuing and executing included pairs of instructions in parallel, with an included pair of instructions comprising first and second instructions included in a first subset of instructions forming a part of a target instruction set of an existing processor having an architecture that executes the existing target instruction set and memory locations for storing data, with the target instruction set including complicated instructions executed in multiple cycles by microcode routines stored in a micro-store included in the existing processor, said system comprising: a micro-store holding a set of modified microcode routines for controlling the parallel data paths of a modified architecture to execute pairs of instructions in said subset or said complex instructions; a fetch unit for fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; a decoder for decoding said first pair of instructions to generate a first pair of decoded results; a pairing unit for processing said first pair of decoded results to indicate if said first pair is an included pair that is included in said subset of pairs instructions which can be concurrently issued and executed; means for concurrently issuing said first pair of instructions to be concurrently executed by said modified architecture only if said first pair is an included pair or issuing only a first instruction in said first pair if said first pair is not an included pair; and a modified architecture which provides resources, including parallel data paths, for concurrently issuing and executing pairs of instructions included in said subset that utilizes said first pair of decoded results to execute said first pair of instructions if said first pair is concurrently issued or a microcode routine to execute said first instruction if said first instruction is a complex instruction and only said first instruction is issued.
Claim 11
Independent Claim
244 words
A system for concurrently issuing and executing included pairs of instructions in parallel, with an included pair of instructions comprising first and second instructions included in a subset of instructions forming part of a target instruction set, said system comprising: a micro-store holding a set of modified microcode routines providing for the concurrent issue and execution of pairs of complex instructions included in said subset; a fetch unit for fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; a decoder for decoding said first pair of instructions to generate a first pair of decoded results; a pairing unit for processing said first pair of decoded results to indicate if said first pair is an included pair; a stage, responsive to said pairing unit, for concurrently issuing said first pair of complex instructions to be concurrently executed by said modified microcode routines and architecture if said first pair of complex instructions is included in said subset; and an architecture that executes the target instruction set, with the target instruction set including complicated instructions executed by microcode routines stored in a micro-store included in the processor, with the architecture including resources for concurrently issuing and executing pairs of complex instructions included in said subset, with the architectur utilizing said decoded results to select a modified microcode routine to execute said first pair of complex instructions when said first pair are concurrently issued.
Claim 12
Independent Claim
244 words
A system for concurrently issuing and executing included pairs of instructions in parallel, with an included pair of instructions comprising first and second instructions included in a subset of instructions forming part of a target instruction set, said system comprising: a micro-store holding a set of modified microcode routines providing for the concurrent issue and execution of pairs of complex instructions included in said subset; a fetch unit for fetching ordered instructions included in a program and providing a pair of adjacent instructions in the program as a first pair of instructions; a decoder for decoding said first pair of instructions to generate a first pair of decoded results; a pairing unit for processing said first pair of decoded results to indicate if said first pair is an included pair; a stage, responsive to said pairing unit, for concurrently issuing said first pair of complex instructions to be concurrently executed by said modified microcode routines and architecture if said first pair of complex instructions is included in said subset; and an architecture that executes the target instruction set, with the target instruction set including complicated instructions executed by microcode routines stored in a micro-store included in the processor, with the architecture including resources for concurrently issuing and executing pairs of complex instructions included in said subset, with the architectur utilizing said decoded results to select a modified microcode routine to execute said first pair of complex instructions when said first pair are concurrently issued.
References Cited (Backward Citations)
US3881173A
Cited
US4295193A
Cited
US4476525A
Cited
EP0071028A2
Cited
US4739470A
Cited
US4626989A
Cited
US4594659A
Cited
EP0118830A2
Cited
US4594655A
Cited
EP0155211A2
Cited
US4794517A
Cited
US4791557A
Cited
US4991080A
Cited
EP0239081A2
Cited
US4858105A
Cited
US4879646A
Cited
US5179680A
Cited
US4991090A
Cited
US4992938A
Cited
US4926323A
Cited
US4945511A
Cited
US4875160A
Cited
EP0354740A2
Cited
US5101341A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-05-05 | 2000-11-04 | 2001-05-06 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-05-05 | 2004-11-04 | 2005-05-06 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-05-05 | 2008-11-04 | 2009-05-06 | $7700.00 | Window Closed / Lapsed |