METHOD AND APPARATUS FOR IMPLEMENTING A DYNAMIC OUT-OF-ORDER PROCESSOR PIPELINE
First Claim
1. An apparatus comprising:
- an instruction fetch unit to fetch Very Long Instruction Words (VLIWs) in program order from memory, each of the VLIWs comprising a plurality of reduced instruction set computing (RISC) instruction syllables grouped into the VLIWs in an order which removes data-flow dependencies and false output dependencies between the syllables;
a decode unit to decode the VLIWs in program order and output the syllables of each decoded VLIW in parallel; and
an out-of-order execution engine to execute at least some of the syllables in parallel with other syllables, wherein at least some of the syllables are to be executed in a different order than the order in which they are received from the decode unit, the out-of-order execution engine having one or more processing stages which do not check for data-flow dependencies and false output dependencies between the syllables when performing operations.
1 Assignment
0 Petitions
Accused Products
Abstract
A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline. For example, one embodiment of an apparatus comprises: an instruction fetch unit to fetch Very Long Instruction Words (VLIWs) in their program order from memory, each of the VLIWs comprising a plurality of reduced instruction set computing (RISC) instruction syllables grouped into the VLIWs in an order which removes data-flow dependencies and false output dependencies between the syllables; a decode unit to decode the VLIWs in their program order and output the syllables of each decoded VLIW in parallel; and an out-of-order execution engine to execute the syllables preferably in parallel with other syllables, wherein at least some of the syllables are to be executed in a different order than the order in which they are received from the decode unit, the out-of-order execution engine having one or more processing stages which do not check for data-flow dependencies and false output dependencies between the syllables when performing operations.
25 Citations
27 Claims
-
1. An apparatus comprising:
-
an instruction fetch unit to fetch Very Long Instruction Words (VLIWs) in program order from memory, each of the VLIWs comprising a plurality of reduced instruction set computing (RISC) instruction syllables grouped into the VLIWs in an order which removes data-flow dependencies and false output dependencies between the syllables; a decode unit to decode the VLIWs in program order and output the syllables of each decoded VLIW in parallel; and an out-of-order execution engine to execute at least some of the syllables in parallel with other syllables, wherein at least some of the syllables are to be executed in a different order than the order in which they are received from the decode unit, the out-of-order execution engine having one or more processing stages which do not check for data-flow dependencies and false output dependencies between the syllables when performing operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 24)
-
-
19. An apparatus comprising:
-
a translator to translate program code from a public instruction set architecture (ISA) format to a private ISA format comprising Very Long Instruction Words (VLIWs), each of the VLIWs comprising a plurality of syllables grouped into the VLIWs in an order which removes data-flow dependencies and false output dependencies between the syllables; and an out-of-order execution engine to execute at least some of the syllables in parallel with other syllables, wherein at least some of the syllables are to be executed in a different order than the order in which they are received by the out-of-order execution engine, the out-of-order execution engine comprising one or more processing stages which do not check for data-flow dependencies and false output dependencies between the syllables when handling the syllables. - View Dependent Claims (20, 21, 22, 23)
-
-
25. A method comprising:
-
translating program code from a public instruction set architecture (ISA) format to a private ISA format comprising Very Long Instruction Words (VLIWs), each of the VLIWs comprising a plurality of syllables grouped into the VLIWs in an order which removes data-flow dependencies and false output dependencies between the syllables; and executing at least some of the syllables by an out-of-order execution engine in parallel with other syllables, wherein at least some of the syllables are to be executed in a different order than the order in which they are received by the out-of-order execution engine, the out-of-order execution engine comprising one or more processing stages which do not check for data-flow dependencies and false output dependencies between the syllables when handling the syllables. - View Dependent Claims (26, 27)
-
Specification