IP Library Granted Patent US 49,781
Granted Patent E1
US 49,781 · App. 16/817,238 · Granted Jan 2, 2024

Method for reducing execution jitter in multi-core processors within an information handling system

Inventors: Michael Karl Molloy (Silverthorne, CO); Mukund P. Khatri (Austin, TX); Robert Wayne Hormuth (Cedar Park, TX)
Assignee: Dell Products, L.P.
G06F9/223G06F9/5094Y02D10/00
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 49,781
App. No.
16/817,238
Granted
Jan 2, 2024
Kind
E1
Abstract

A method of reducing execution jitter includes a processor having several cores and control logic that receives core configuration parameters. Control logic determines if a first set of cores are selected to be disabled. If none of the cores is selected to be disabled, the control logic determines if a second set of cores is selected to be jitter controlled. If the second set of cores is selected to be jitter controlled, the second set of cores is set to a first operating state. If the first set of cores is selected to be disabled, the control logic determines a second operating state for a third set of enabled cores. The control logic determines if the third set of enabled cores is jitter controlled, and if the third set of enabled cores is jitter controlled, the control logic sets the third set of enabled cores to the second operating state.

Claims (93)

1. A computer implemented method of reducing execution jitter within a processor having a control logic and a plurality of individual cores, the method comprising:

receiving at least one core configuration parameter;

determining from the at least one core configuration parameter if a first set of one or more cores is selected to be disabled from operation;

in response to none of the first set of cores being selected to be disabled,:

determining if a second set of one or more cores is selected to be jitter controlled; and

in response to the second set of cores being selected to be jitter controlled, setting the second set of cores to a first operating state that reduces jitter; and

in response to the first set of cores being selected to be disabled,:

disabling the first set of cores, determining if a third set of one or more enabled cores is selected to be jitter contolled, and;

determining a second operating state that reduces jitter for the a third set of one or more enabled cores;

determining if the third set of cores is selected to be jitter controlled; and

in response to the third set of enabled cores being selected to be jitter controlled, setting the third set of enabled cores to the second operating state that reduces jitter.

2. The method of claim 1 , wherein the at least one core configuration parameter comprises an ordered lookup table of the third set of enabled cores.

3. The method of claim 1 , further comprising:

receiving the at least one core configuration parameter from a basic input output system stored in memory; and

loading the at least one core configuration parameter into the control logic.

4. The method of claim 1 , wherein the first operating state comprises a first operating frequency for the second set of cores and the second operating state comprises a second operating frequency for the third set of cores, and wherein the second operating state is based on the number of disabled cores.

5. The method of claim 1 , wherein the disabled cores do not operate and are selected to be disabled based on a physical location of each core.

6. The method of claim 1 , further comprising:

determining a third operating state for a fourth set of enabled cores;

determining if the fourth set of enabled cores are selected to be jitter controlled; and

in response to the fourth set of enabled cores selected to be jitter controlled, setting the fourth set of enabled cores to the third operating state.

7. The method of claim 1 , further comprising:

loading, into the control logic, an ordered lookup table of the cores ordered by maximum physical spacing between each pair of sequentially enabled cores among a sequence of enabled cores;

enabling operation of a first core in the ordered lookup table;

determining if all of the third set of enabled cores have been enabled for operation; and

in response to all of the third set of enabled cores not being having been enabled, enabling operation of a next sequential core in the ordered lookup table.

8. The method of claim 1 , further comprising:

selecting a first core of the plurality of cores;

placing the first core in a first position in an ordered lookup table;

determining if all of the cores have been placed in the lookup table; and

in response to all of the cores not having been placed in the table, selecting a second core with maximum spacing from the other cores that are not yet selected for the table and placing the selected second core in a next sequential position in the ordered lookup table.

9. A multi-core processor, comprising:

a plurality of cores in communication; and

control logic in communication with the plurality of cores and having firmware executing thereon, wherein execution of the firmware configures the control logic to:

receive at least one core configuration parameter;

determine from the at least one core configuration parameter if a first set of one or more cores are is selected to be disabled from operation;

in response to none of the first set of cores being selected to be disabled,;

determine if a second set of one or more cores are is selected to be jitter controlled; and

in response to the second set of the cores being selected to be jitter controlled, set the second set of cores to a first operating state that reduces jitter; and

in response to the first set of cores being selected to be disabled,;

disable the first set of cores from operation based on a physical location of each coreand;

determine a second operating state that reduces jitter for a third set of one or more enabled cores;

determine if the third set of enabled cores are is selected to be jitter controlled; and

in response to the third set of enabled cores being selected to be jitter controlled, set the third set of enabled cores to the second operating state that reduces jitter.

10. The multi-core processor of claim 9 , further comprising wherein upon execution of the firmware, the control logic that receives the at least one core configuration parameter, and wherein the at least one core configuration parameter comprises an ordered lookup table of the third set of enabled cores.

11. The multi-core processor of claim 9 , further comprising logic that wherein upon execution of the firmware, the control logic:

receives the at least one core configuration parameter in a basic input output system memory; and

loads the at least one core configuration parameter into the control logic.

12. The multi-core processor of claim 9 , wherein the first operating state comprises a first operating frequency for the second set of cores and the second operating state comprises a second operating frequency for the third set of cores, and wherein the second operating state is based on the number of disabled cores.

13. The multi-core processor of claim 9 , further comprising logic that wherein upon execution of the firmware, the control logic:

determines a third operating state for a fourth set of enabled cores;

determines if the fourth set of enabled cores are selected to be jitter controlled; and

in response to the fourth set of enabled cores selected to be jitter controlled, sets the fourth set of enabled cores to the third operating state.

14. The multi-core processor of claim 9 , further comprising logic that wherein upon execution of the firmware, the control logic:

loads an ordered lookup table of the cores ordered by maximum spacing into the control logic;

enables a first core in the ordered lookup table;

determines if all of the third set of enabled cores have been enabled for operation; and

in response to all of the third set of enabled cores not having been enabled, enables a subsequent second core in the ordered lookup table.

15. The multi-core processor of claim 9 , further comprising logic that wherein upon execution of the firmware, the control logic:

selects a first core of the plurality of cores;

places the first core in a first position in an ordered lookup table;

determines if all of the cores have been placed in the lookup table; and

in response to all of the cores not having been placed in the table, selects a second core with maximum spacing from the other cores and placing places the selected second core in a second position in the ordered lookup table.

16. An information handling system Information Handling System (IHS), comprising:

a processor having a plurality of cores and a control logic; and

a memory coupled to the processor via a system interconnect, the control logic having firmware executing thereon to reduce execution jitter, wherein execution of the firmware configures the control logic to:

receive at least one core configuration parameter;

determine from the at least one core configuration parameter if a first set of one or more cores are is selected to be disabled from operation;

in response to a determination that none of the first set of cores being is selected to be disabled,;

determine if a second set of one or more cores are is selected to be jitter controlled; and

in response to the second set of the cores being selected to be jitter controlled, set the second set of cores to a first operating state that reduces jitter;

in response to the first set of cores being selected to be disabled,;

disable the first set of cores from operationand;

determine a second operating state that reduces jitter for a third set of one or more enabled cores;

determine if the third set of enabled cores is selected to be jitter controlled; and

in response to the third set of enabled cores being selected to be jitter controlled, set the third set of enabled cores to the second operating state that reduces jitter.

17. The information handling system IHS of claim 16 , wherein upon execution of the firmware:

the control logic further receives the at least one core configuration parameter that includes an ordered lookup table of the third set of enabled cores; and

the first operating state comprises a first operating frequency for the second set of cores and the second operating state comprises a second operating frequency for the third set of cores, and wherein the second operating state is based on the number of disabled cores.

18. The information handling system IHS of claim 16 , wherein upon execution of the firmware, the control logic:

determines a third operating state for a fourth set of enabled cores;

determines if the fourth set of enabled cores is selected to be jitter controlled; and

in response to the fourth set of enabled cores being selected to be jitter controlled, sets the fourth set of enabled cores to the third operating state.

19. The information handling system IHS of claim 16 , wherein upon execution of the firmware, the control logic:

loads an ordered lookup table of the cores ordered by maximum spacing into the control logic;

enables a first core in the ordered lookup table;

determines if all of the third set of enabled cores have been enabled for operation; and

in response to all of the third set of cores not being having been enabled, enables a subsequent second core in the ordered lookup table.

20. The information handling system IHS of claim 16 , wherein upon execution of the firmware, the control logic:

selects a first core of the plurality of cores;

places the first core in a first position in an ordered lookup table;

determines if all of the cores have been placed in the lookup table; and

in response to all of the cores not having been placed in the table, selects a second core with maximum spacing from the other cores and placing the selected second core in a second position in the ordered lookup table.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
Continuity (1)
Reissue 13652512 · Oct 16, 2012