IP Library › Granted Patent US 12,423,103
Granted Patent B2
US 12,423,103 · App. 17/549,192 · Granted Sep 23, 2025

Instruction decode cluster offlining

Inventors: Martin Licht (Round Rock, TX); Jonathan Combs (Austin, TX)
Assignee: Intel Corporation
G06F9/30145G06F1/3287G06F9/3802G06F9/3818G06F9/3822
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 12,423,103
App. No.
17/549,192
Granted
Sep 23, 2025
Kind
B2
Abstract

An embodiment of an integrated circuit may comprise a core and an instruction decoder communicatively coupled to the core to decode one or more instructions for execution by the core, where the instruction decoder includes two or more decode clusters in a parallel arrangement, and circuitry to offline a decode cluster of the two or more decode clusters. Other embodiments are disclosed and claimed.

Claims (48)

1. An integrated circuit, comprising: a core an execution unit to execute instructions; and

an instruction decoder communicatively coupled to the execution unit, wherein the instruction decoder comprises:

multiple decode clusters coupled, in parallel with each other, to receive and decode portions of one or more fetch streams, wherein the portions are to be received, each by a respective decode cluster of the multiple decode clusters, based on an order of the multiple decode clusters relative to each other; and

circuitry coupled to the multiple decode clusters, the circuitry to:

perform a transition of a first decode cluster of the multiple decode clusters from an online state with respect to the one or more fetch streams, to an offline state with respect to the one or more fetch streams, wherein:

while in the online state, the first decode cluster is to be included in the order of the multiple decode clusters relative to each other; and

while in the offline state, the first decode cluster is to be bypassed in the order of the multiple decode clusters relative to each other;

generate a control signal based on one or more bypasses of the first decode cluster; and

provide the control signal to operate a multiplexer circuit which is to be coupled between the multiple decode clusters and one or more instruction queues.

2. The integrated circuit of claim 1 , wherein the circuitry is further to:

power down the first decode cluster while the first decode cluster is in the offline state.

3. The integrated circuit of claim 1 , wherein the circuitry is further to:

utilize the first decode cluster for a prefetch activity while the first decode cluster is in the offline state.

4. The integrated circuit of claim 3 , wherein the circuitry is to:

utilize the first decode cluster for the prefetch activity in parallel with instruction decode activity on one or more online decode clusters of the multiple decode clusters.

5. The integrated circuit of claim 4 , wherein the prefetch activity includes one or more of an instruction translation look-aside buffer (ITLB) page walk, an ITLB fill, an instruction cache request, and instruction cache fill, an instruction end byte detection, and a branch prediction update.

6. A method at a processor, the method comprising:

receiving portions of one or more fetch streams with multiple decode clusters which are coupled in parallel with each other, wherein the portions are received, each by a respective decode cluster of the multiple decode clusters, based on an order of the multiple decode clusters relative to each other;

decoding the portions with the multiple decode clusters;

during the decoding, performing a transition of a first decode cluster of the multiple decode clusters from an online state with respect to the one or more fetch streams, to an offline state with respect to the one or more fetch streams, wherein:

while in the online state, the first decode cluster is included in the order of the multiple decode clusters relative to each other; and

while in the offline state, the first decode cluster is bypassed in the order of the multiple decode clusters relative to each other;

generating a control signal based on one or more bypasses of the first decode cluster; and

operating a multiplexer circuit with the control signal, wherein the multiplexer circuit is coupled between the multiple decode clusters and one or more instruction queues.

7. The method of claim 6 , further comprising:

powering down the first decode cluster while the first decode cluster is in the offline state.

8. The method of claim 6 , further comprising:

utilizing the first decode cluster for a prefetch activity while the first decode cluster is in the offline state.

9. The method of claim 8 , further comprising:

utilizing the first decode cluster for the prefetch activity in parallel with instruction decode activity on one or more online decode clusters of the multiple decode clusters.

10. The method of claim 9 , wherein the prefetch activity includes one or more of an instruction translation look-aside buffer (ITLB) page walk, an ITLB fill, an instruction cache request, and instruction cache fill, an instruction end byte detection, and a branch prediction update.

11. An apparatus, comprising:

a back end unit to execute one or more decoded instructions; and

a front end unit communicatively coupled to the back end unit to decode one or more instructions, wherein the front end unit comprises:

multiple decode clusters coupled, in parallel with each other, to receive and decode portions of one or more fetch streams, wherein the portions are to be received, each by a respective decode cluster of the multiple decode clusters, based on an order of the multiple decode clusters relative to each other; and

circuitry coupled to the multiple decode clusters, the circuitry to:

perform a transition of a first decode cluster of the multiple decode clusters from an online state with respect to the one or more fetch streams, to an offline state with respect to the one or more fetch streams, wherein:

while in the online state, the first decode cluster is to be included in the order of the multiple decode clusters relative to each other; and

while in the offline state, the first decode cluster is to be bypassed in the order of the multiple decode clusters relative to each other;

generate a control signal based on one or more bypasses of the first decode cluster; and

provide the control signal to operate a multiplexer circuit which is to be coupled between the multiple decode clusters and one or more instruction queues.

12. The apparatus of claim 11 , wherein the circuitry is further to:

power down the first decode cluster while the first decode cluster is in the offline state.

13. The apparatus of claim 11 , wherein the circuitry is further to:

utilize the first decode cluster for a prefetch activity while the first decode cluster is in the offline state.

14. The apparatus of claim 13 , wherein the circuitry is to:

utilize the first decode cluster for the prefetch activity in parallel with instruction decode activity on non-offlined decode clusters of the multiple decode clusters.

15. The apparatus of claim 14 , wherein the prefetch activity includes one or more of an instruction translation look-aside buffer (ITLB) page walk, an ITLB fill, an instruction cache request, and instruction cache fill, an instruction end byte detection, and a branch prediction update.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2021
From: LICHT, MARTIN; COMBS, JONATHAN
To: INTEL CORPORATION
Reel/Frame 058376/0505 →
Continuity (1)
Related Publication 20230185572A1 · Jun 15, 2023
References Cited (26)
US 5479616A · Garibay, Jr. · 1995 [cited by examiner]
US 5630083A · Carbine · 1997 [cited by examiner]
US 5715440A · Ohmura · 1998 [cited by examiner]
US 5742781A · Bajwa · 1998 [cited by applicant]
US 5870578A · Mahalingaiah · 1999 [cited by examiner]
US 6684319B1 · Mohamed · 2004 [cited by examiner]
US 7200723B1 · Ansari · 2007 [cited by examiner]
US 7346759B1 · Ansari · 2008 [cited by examiner]
US 7590823B1 · Ansari · 2009 [cited by examiner]
US 9710277B2 · Madduri · 2017 [cited by examiner]
US 10331454B2 · Combs · 2019 [cited by examiner]
US 11586441B2 · Kalamatianos · 2023 [cited by examiner]
US 12190157B2 · Seo · 2025 [cited by examiner]
US 20050138335A1 · Samra · 2005 [cited by examiner]
US 20120079242A1 · Madduri et al. · 2012 [cited by applicant]
US 20150324239A1 · Venkumahanti · 2015 [cited by examiner]
US 20180004512A1 · Combs · 2018 [cited by examiner]
US 20180088956A1 · Combs · 2018 [cited by examiner]
US 20180157490A1 · Craske · 2018 [cited by applicant]
US 20210149672A1 · Kalamatianos · 2021 [cited by examiner]
US 20220100500A1 · Madaelil · 2022 [cited by examiner]
US 20220100569A1 · Seo · 2022 [cited by examiner]
US 20230315473A1 · Azeem · 2023 [cited by examiner]
US 20230401067A1 · Lowes · 2023 [cited by examiner]
EP 4428682A1 · 2024 [cited by examiner]
Extended European Search Report from European Patent Application No. 22206823.1 notified Apr. 20, 2023, 9 pgs. [cited by applicant]