Dynamic control of reduced voltage state of graphics controller component of memory controller
US-9213395-B2 · Dec 15, 2015 · US
US9710277B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9710277-B2 |
| Application number | US-89057410-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 24, 2010 |
| Priority date | Sep 24, 2010 |
| Publication date | Jul 18, 2017 |
| Grant date | Jul 18, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A processor and method are disclosed. In one embodiment the processor includes a prefetch buffer that stores macro instructions. The processor also includes a clock circuit that can provide a clock signal for at least some of the functional units within the processor. The processor additionally includes macro instruction decode logic that can determine a class of each macro instruction. The processor also includes a clock management unit that can cause the clock signal to remain in a steady state entering at least one of the units in the processor that do not operate on a current macro instruction being decoded. Finally, the processor also includes at least one instruction decoder unit that can decode the first macro instruction into one or more opcodes.
Opening claim text (preview).
The invention claimed is: 1. A processor, comprising: a prefetch buffer to store a plurality of macro instructions; a clock circuit to provide an oscillating clock signal to be used by one of a plurality of circuits in the processor; macro instruction decode circuitry to determine a class of each macro instruction retrieved from the prefetch buffer and determine whether a macro instruction utilizes a displacement byte field and zero out the displacement byte field in the macro instruction in response to the macro instruction not utilizing the displacement byte field; a first decoder circuit of an instruction decoder circuit of the plurality of circuits to decode a first macro instruction into one or more opcodes; a floating point micro-operation tracker to track a floating point micro-operation, wherein the floating point micro-operation corresponds to a floating point macro instruction of the plurality of macro instructions, from a time when the corresponding floating point macro instruction is retrieved from the prefetch buffer to retirement of the floating point micro-operation and set a floating point pipeline clear flag indicating that, when set, no floating point micro-operations are currently being tracked, wherein an indication of retirement is to be provided by retirement circuitry to the floating point micro-operation tracker; and a clock management circuit to cause an oscillating clock signal entering a floating point circuit of the plurality of circuits to remain in a steady state for at least one clock cycle in response to the floating point pipeline clear flag being set. 2. The processor of claim 1 , wherein the first decoder circuit is to include: a first programmable logic array (PLA) circuit of the plurality of circuits to decode macro instructions, retrieved from the prefetch buffer, that produce a one-byte opcode, a second PLA circuit of the plurality of circuits to decode macro instructions, retrieved from the prefetch buffer, that produce a two-byte opcode, and a third PLA circuit of the plurality of circuits to decode macro instructions, retrieved from the prefetch buffer, that produce a three-byte opcode; and wherein the macro instruction decode circuitry is further to determine a byte-length of an opcode produced from the first macro instruction and the clock management circuit is further to cause an oscillating clock signal entering any of the first, second, and third PLA circuits which do not decode macro instructions of the determined byte-length to remain in a steady state for at least one clock cycle. 3. The processor of claim 1 , wherein the clock management circuit is further to cause a second oscillating clock signal entering a branch address calculation circuit of the plurality of circuits to remain in a steady state for at least one clock cycle in response to a class of the first macro instruction being determined to not be a branch instruction. 4. The processor of claim 1 , wherein the macro instruction decode circuitry is further to: determine whether the first macro instruction includes an immediate operand; and zero out an immediate operand field in the first macro instruction in response to the first macro instruction not having the immediate operand. 5. The processor of claim 1 , further comprising: a second decoder circuit; wherein the macro instruction decode circuitry is further to determine whether a second macro instruction of the plurality of macro instructions is not valid, the first macro instruction is to enter the first decoder circuit at a first clock cycle and the second macro instruction is to enter the second decoder circuit at the first clock cycle; and the clock management circuit is further to cause a second oscillating clock signal entering the second decoder circuit to remain in a steady state for at least one clock cycle in response to the second macro instruction being determined to be not valid. 6. A method, comprising: storing a plurality of macro instructions in a prefetch buffer; determining a class of each macro instruction retrieved from the prefetch buffer; in response to the determination of the class of a first macro instruction of the plurality of macro instructions, causing a first oscillating clock signal supplied by a clock circuit to one of a plurality of circuits in a processor that is not utilized to operate on the first macro instruction, as determined by the class of the first macro instruction, to be gated; determining, by macro instruction decode circuitry, whether the first macro instruction utilizes a displacement byte field; zeroing out, by the macro instruction decode circuitry, the displacement byte field in the first macro instruction in response to the first macro instruction not utilizing the displacement byte field; decoding the first macro instruction into one or more opcodes; conducting a full-length decode of the first macro instruction by a full-length decoder in parallel with the decoding the first macro instruction into one or more opcodes; tracking a floating point micro-operation by a floating point micro-operation tracker, wherein the floating point micro-operation corresponds to a floating point macro instruction of the plurality of macro instructions, from a time when the corresponding floating point macro instruction is retrieved from the prefetch buffer to a time of retirement of the floating point micro-operation; setting a floating point pipeline clear flag indicating that, when set, no floating point micro-operations are currently being tracked; providing an indication of retirement by retirement circuitry to the floating point micro-operation tracker; and causing a second oscillating clock signal entering a floating point unit of the plurality of circuits to remain in a steady state for at least one clock cycle in response to the floating point pipeline clear flag being set. 7. The method of claim 6 , further comprising: determining a byte-length produced from the first macro instruction; and causing a third oscillating clock signal entering any of a first, second, and third PLA which do not decode macro instructions of the determined byte-length produced from the first macro instruction to remain in a steady state for at least one clock cycle. 8. The method of claim 6 , further comprising: causing a third oscillating clock signal entering a branch address calculation circuit of the plurality of circuits to remain in a steady state for at least one clock cycle in response to a class of the first macro instruction being determined to not be a branch instruction. 9. The method of claim 6 , further comprising: determining whether the first macro instruction includes an immediate operand; and zeroing out an immediate operand field in the first macro instruction in response to the first macro instruction not having the immediate operand. 10. The method of claim 6 , further comprising: determining whether a second macro instruction of the plurality of macro instructions is not valid, the first macro instruction to enter a first decoder circuit of an instruction decoder circuit at a first clock cycle and the second macro instruction to enter a second decoder circuit of the instruction decoder circuit at the first clock cycle; and causing a third oscillating clock signal entering the second decoder circuit to remain in a steady state for at least one clock cycle in response to the second macro instruction being determined to be not valid. 11. A processor, comprising: a prefetch buffer to store a plurality of macro instructions; macro instruction decode circuitry to determine a class of each macro instruction retrieved from the prefetch buffer and determine wh
Cross-Sectional Technologies · mapped topic
Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking · CPC title
controlled by multiple instructions, e.g. MIMD, decoupled access or execute · CPC title
by switching off individual functional units in the computer system · CPC title
Runtime instruction translation, e.g. macros · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.