Uncore frequency adjustment method for processor, and computing device

By dynamically adjusting the non-core frequency of the processor, the problem of non-core frequency in the existing technology cannot be flexibly adjusted, better performance and power consumption balance is achieved, and the effect of the processor running services is improved.

WO2025107592A1PCT designated stage expired Publication Date: 2025-05-30XFUSION DIGITAL TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/099082
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-23
Filing Date
2024-06-13
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The non-core frequencies of existing processors cannot be flexibly adjusted, which cannot meet the diverse needs of server operations, resulting in poor server operation.

Method used

By obtaining the status information parameters of the processor, the corresponding non-core frequency is determined based on these parameters, thereby dynamically adjusting the non-core frequency of the processor. The method includes obtaining configuration information, using a preset algorithm or BIOS menu configuration to determine the correspondence of non-core frequencies, and adjusting it through the non-core frequencies scaling UFS function.

Benefits of technology

It improves the flexibility of the processor's non-core frequency, can better meet different business needs, optimize the balance between processor performance and power consumption, and thus improves the effectiveness of the processor's operation of services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024099082_30052025_PF_FP_ABST
    Figure CN2024099082_30052025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application relate to the technical field of servers, and disclose an uncore frequency adjustment method for a processor, and a computing device, which improve the flexibility of uncore frequency adjustment of a processor, thereby improving the effect of the processor running and processing different services. The method comprises: acquiring parameters of state information, the parameters of the state information being used to indicate the working state of a processor when an uncore area in the processor runs according to a first uncore frequency; on the basis of the parameters of the state information, determining a second uncore frequency of the processor corresponding to the parameters of the state information; and adjusting the uncore frequency of the processor from the first uncore frequency to the second uncore frequency.
Need to check novelty before this filing date? Find Prior Art

Description

Processor non-core frequency adjustment method and computing device

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on November 23, 2023, with application number 202311581520.1 and application name “Processor non-core frequency adjustment method and computing device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The embodiments of the present application relate to the field of server technology, and in particular to a method for adjusting the non-core frequency of a processor and a computing device. Background Art

[0003] As the demand for processor systems continues to grow, processors require a better balance between performance and power consumption to meet the needs of running various applications. In addition to the core area, the processor system also includes a non-core area.

[0004] Currently, the processor can run at a pre-set non-core frequency, which leads to limitations in the processor's non-core frequency. There is a problem that the pre-set processor's non-core frequency cannot meet the server's operating requirements, resulting in the server's operating performance not meeting expectations.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a method for adjusting the non-core frequency of a processor and a computing device, which improve the flexibility of adjusting the non-core frequency of the processor, thereby improving the performance of the processor in running and processing different services.

[0007] In a first aspect, the present application provides a method for adjusting the non-core frequency of a processor, the method comprising: obtaining parameters of status information; the parameters of the status information are used to indicate the working state of the processor when the non-core area in the processor operates at a first non-core frequency; determining a second non-core frequency of the processor corresponding to the parameters of the status information based on the parameters of the status information; and adjusting the non-core frequency of the processor from the first non-core frequency to the second non-core frequency.

[0008] It is understandable that parameters of status information indicating the operating state of the processor when the non-core area in the processor is operating at a first non-core frequency are obtained, and based on the obtained parameters of the status information, a second non-core frequency of the processor corresponding to the parameters of the status information is determined, thereby adjusting the non-core frequency of the processor from the first non-core frequency to the second non-core frequency. Since the non-core frequency of the processor can be adjusted according to the non-core frequency corresponding to the parameters of the status information, the non-core frequency corresponding to the parameters of the status information can be adjusted according to different business needs, thereby meeting the balance between performance and power consumption of the processor in accordance with different business needs, thereby improving the effectiveness of the processor in processing business operations.

[0009] In one possible implementation, determining the second non-core frequency of the processor corresponding to the parameters of the status information based on the parameters of the status information includes: obtaining configuration information; the configuration information includes the non-core frequencies corresponding to each threshold range to which the parameters of the status information configured by the user through the BIOS menu belong; determining the non-core frequency corresponding to the target threshold range as the second non-core frequency of the processor; the target threshold range is the threshold range to which the parameters of the status information belong.

[0010] It can be understood that by the user entering configuration information in the BIOS configuration menu, the correspondence between the various parameters of the status information and the non-core frequency is determined, so that the user can configure different correspondences according to different business needs, thereby determining the second non-core frequency of the processor based on the parameters of the status information to meet business needs and improve business operation results.

[0011] In one possible implementation, determining the second non-core frequency of the processor corresponding to the state information parameters according to the state information parameters includes: inputting the state information parameters into a preset algorithm; and outputting the second non-core frequency of the processor through the preset algorithm.

[0012] It is understandable that by presetting the algorithm to determine the second non-core frequency corresponding to the parameters of the state information, the second non-core frequency of the processor determined according to the parameters of the state information can meet business needs and improve business operation effects.

[0013] In a possible implementation, obtaining the parameters of the status information includes: obtaining the parameters of the status information from a baseboard management controller (BMC); wherein the parameters of the status information are calculated by an interrupt processing function when the BMC periodically triggers an interrupt to enter a system management mode (SMM).

[0014] It is understandable that by setting a timer in the BMC, an interrupt to the operating system is triggered regularly, so that the operating system enters the SMM mode, and the parameters of the status information are calculated or obtained through the interrupt processing function.

[0015] In one possible implementation, adjusting the non-core frequency of the processor from a first non-core frequency to a second non-core frequency includes: if a difference between the first non-core frequency and the second non-core frequency is greater than a specified threshold, adjusting the non-core frequency of the processor from the first non-core frequency to the second non-core frequency.

[0016] It is understood that after determining the second non-core frequency, the second non-core frequency can be compared with the current first non-core frequency. If the difference between the two is less than or equal to a specified threshold, the processor's non-core frequency can be adjusted without being controlled. Since the frequency adjustment range is small, the impact on the processor's performance and power consumption before and after the adjustment is small. If the difference between the two is greater than the specified threshold, the processor's non-core frequency can be adjusted. This ensures that the adjusted second non-core frequency of the processor meets business needs and improves business performance.

[0017] In one possible implementation, determining a second non-core frequency of a processor corresponding to the parameters of the status information based on the parameters of the status information includes: determining a value range of the non-core frequency of the processor corresponding to the parameters of the status information based on the parameters of the status information; determining the second non-core frequency of the processor; and the second non-core frequency being within the value range.

[0018] It can be understood that the value range of the frequency to which the non-core frequency supports adjustment can be determined through the parameters of the status information, and the second non-core frequency can be determined from the value range, so that after determining the value range of an adjusted non-core frequency, the second non-core frequency can be determined more accurately therefrom, so that the business can achieve better operation.

[0019] In a possible implementation, if parameters of at least two pieces of state information are obtained, the second non-core frequency is within the intersection of value ranges corresponding to the at least two pieces of state information.

[0020] It can be understood that when determining the second non-core frequency based on the parameters of multiple state information, the value range of the non-core frequency corresponding to each parameter can be determined for each parameter of each state information respectively, and the intersection of the value ranges corresponding to the parameters of each state information is taken to obtain the second non-core frequency that meets the value range corresponding to each state information.

[0021] In one possible implementation, adjusting the non-core frequency of the processor from a first non-core frequency to a second non-core frequency includes: adjusting the non-core frequency of the processor from the first non-core frequency to the second non-core frequency through a non-core frequency scaling UFS function.

[0022] It can be understood that through the UFS function, the non-core frequency of the processor can be adjusted from the first non-core frequency to the second non-core frequency, so that the non-core frequency of the processor can be adjusted to the second non-core frequency that meets business needs, thereby improving the operation effect of the business.

[0023] In one possible implementation, the status information includes at least one of processor utilization, operating system load, and processor temperature; wherein, the processor utilization is positively correlated with the non-core frequency of the processor; the operating system load is positively correlated with the non-core frequency of the processor; and the processor temperature is negatively correlated with the non-core frequency of the processor.

[0024] It can be understood that the non-core frequency corresponding to the current parameters can be determined based on one or more of the processor utilization, operating system load and processor temperature. The numerical value of the processor's non-core frequency can be adjusted according to the relationship between one or more of the processor utilization, operating system load and processor temperature and the non-core frequency, so as to increase the non-core frequency or decrease the non-core frequency, thereby meeting the balance between the performance and power consumption of the processor according to different business needs, thereby improving the effectiveness of the processor in running and processing business.

[0025] In a second aspect, the present application provides a non-core frequency adjustment device for a processor, which is used to execute any one of the non-core frequency adjustment methods for a processor provided in the first aspect.

[0026] In a possible implementation, the present application may divide the non-core frequency adjustment device of the processor into functional modules according to the method provided in the first aspect above. For example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. Exemplarily, the present application may divide the non-core frequency adjustment device of the processor into an acquisition module, a processing module, and an adjustment module, etc. according to the function. The description of the possible technical solutions and beneficial effects executed by each of the functional modules divided above can refer to the technical solutions provided by the first aspect above or its corresponding possible implementation, and will not be repeated here.

[0027] In a third aspect, an embodiment of the present application provides a computing device, which includes a processor and a memory, wherein the processor is coupled to the memory; the memory is used to store computer instructions, which are loaded and executed by the processor to enable the computing device to implement the non-core frequency adjustment method of the processor as described in the above aspects.

[0028] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores at least one computer program instruction, and the computer program instruction is loaded and executed by a processor to implement the non-core frequency adjustment method of the processor as described in the above aspects.

[0029] In a fifth aspect, embodiments of the present application provide a computer program product, comprising computer instructions stored in a computer-readable storage medium. A processor of a computing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computing device to perform the method for adjusting the non-core frequency of a processor provided in various optional implementations of the first aspect.

[0030] For the specific descriptions of the second to fifth aspects and their various implementations in this application, reference can be made to the detailed descriptions in the first aspect and its various implementations; and for the beneficial effects of the second to fifth aspects and their various implementations, reference can be made to the analysis of the beneficial effects in the first aspect and its various implementations, which will not be repeated here.

[0031] These and other aspects of the present application will become more readily apparent from the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] FIG1 is a schematic diagram of a computing device according to an exemplary embodiment;

[0033] FIG2 is a flow chart showing a method for adjusting a non-core frequency of a processor according to an exemplary embodiment;

[0034] FIG3 is a diagram showing a BIOS configuration menu interface involved in the embodiment shown in FIG2 ;

[0035] FIG4 is a schematic diagram of a process for adjusting a non-core frequency of a processor involved in the embodiment shown in FIG2 ;

[0036] FIG5 is a schematic diagram of a process of adjusting a non-core frequency of a processor involved in the embodiment shown in FIG2 ;

[0037] FIG6 is a schematic structural diagram of a non-core frequency adjustment device for a processor provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0038] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0039] In this document, "plurality" refers to two or more. "And / or" describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates an "or" relationship between the associated objects.

[0040] Furthermore, in the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or plural.

[0041] In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit differences. At the same time, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.

[0042] First, the application scenarios of the embodiments of the present application are exemplarily introduced.

[0043] In some application scenarios, to balance processor performance and power consumption so that the processor can meet the needs of running various applications, it is necessary to adjust the CPU frequency. The CPU frequency includes the core frequency and the non-core frequency. The higher the CPU frequency, the greater the processor power consumption. Conversely, the lower the CPU frequency, the lower the processor power consumption. Different applications require different processor performance and power consumption. For example, if an application requires a higher-performance processor, the non-core frequency of the processor needs to be increased. If an application needs to minimize processor power consumption while maintaining basic performance, the non-core frequency of the processor needs to be lowered.

[0044] Some scenarios demand high performance and require higher non-core frequencies. However, since it's unclear what value the non-core frequency should be adjusted to to guarantee the required performance, the non-core frequency may be lowered to the lowest possible frequency to ensure the required performance, failing to meet performance requirements. In some scenarios, the frequency can be lowered to save power, but since it's unclear what value the non-core frequency should be adjusted to to guarantee the required power savings, the non-core frequency may be raised to the highest possible frequency to ensure the required power savings, failing to meet power requirements.

[0045] The following embodiment of the present application provides a method for adjusting the non-core frequency of a processor, by obtaining parameters of status information used to indicate the current working status of a processor in the processor, determining the non-core frequency corresponding to the parameter based on the parameters of the status information, and thereby adjusting the non-core frequency of the processor. Since the non-core frequency of the processor can be adjusted according to the non-core frequency corresponding to the parameters of the status information, the non-core frequency corresponding to the parameters of the status information is adjusted according to different business needs, thereby meeting the balance between performance and power consumption of the processor according to different business needs, thereby improving the effectiveness of the processor in running and processing business.

[0046] Next, the system architecture of the embodiment of the present application is exemplarily introduced.

[0047] Figure 1 shows a schematic diagram of a computing device provided by an embodiment of the present application. In terms of hardware, the computing device 100 includes a processor (central processing unit, CPU) 101, a basic input and output system (basic input and output system, BIOS) chip 102, and a baseboard management controller (Baseboard Management Controller, BMC) 103.

[0048] The CPU 101 may include a core area and a non-core area. The core area may be used to perform main operations and processing on data, and the non-core area may be an area of ​​the CPU 101 other than the core area.

[0049] For example, the core area may include the kernel, and the non-core area may include the memory manager, cache, and peripheral component interconnect express (PCIe) interface.

[0050] The BIOS chip 102 may be a read-only memory (ROM) chip on the motherboard of the computing device 100. The BIOS may be a set of programs embedded in the BIOS chip 102. By running the BIOS, the CPU 101 can implement basic input and output programs for the computing device, self-test programs after power-on, and operating system self-start programs. The BIOS provides the most basic and direct hardware configuration and control functions for the computing device.

[0051] BMC103 can be an independent chip integrated on the motherboard of the computing device 100. The BMC can run a small operating system independent of the server's operating system. The BMC103 can be used to manage the core functions of the computing device 100, such as the hardware status, operating system, health status, and power consumption management.

[0052] In terms of software, the computing device 100 can run an operating system (OS) through the core of the CPU 101. The OS can run application programs to process different services.

[0053] Optionally, the computing device 100 may be a server or a computer device.

[0054] The core area and non-core area of ​​the CPU 101 each have their own operating frequencies. The operating frequency of the core area can be the core frequency, and the operating frequency of the non-core area can be the non-core frequency. Because the processor has different requirements when running different applications to process different services.

[0055] For example, when some applications are running, the processor needs to have higher performance, that is, the processor needs to increase the non-core frequency; and when some applications are running, the processor needs to have lower power consumption, that is, the processor needs to lower the non-core frequency.

[0056] In one possible implementation, the BIOS obtains parameters of status information, which can be used to indicate the working status of the processor when the non-core area of ​​the processor runs at a first non-core frequency. The first non-core frequency is the working frequency of the non-core area in the processor counted by the BIOS.

[0057] In one possible implementation, the BIOS includes a preset algorithm that can determine the correspondence between the parameters of the status information and the non-core frequency according to business needs; that is, the BIOS determines the corresponding second non-core frequency through the preset algorithm based on the parameters of the received status information, and the BIOS can adjust the non-core frequency of the processor when it is running to the second non-core frequency.

[0058] Alternatively, the user can configure the non-core frequencies corresponding to each threshold range to which the parameters of the status information belong through the BIOS menu. That is, the BIOS can determine the second non-core frequency corresponding to the parameters of the status information through configuration information based on the parameters of the received status information, and the BIOS can adjust the non-core frequency of the processor when it is running to the second non-core frequency.

[0059] The BMC 103 may include a timer. The BMC 103 may trigger a system process interrupt at regular intervals by triggering the timer, causing the system to enter a system management mode (SMM). The parameters of the current state information may be calculated or obtained in the SMM interrupt processing function.

[0060] SMM is a CPU execution mode. It uses the system management interrupt (SMI) to control the current operating process. Since the SMI interrupt is the highest priority interrupt and cannot be blocked, all other CPU operations are blocked in SMM. The interrupt handler function can be used to calculate or retrieve parameters related to the current state.

[0061] It should be noted that the system architecture and application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of the system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0062] For ease of understanding, the non-core frequency adjustment method of the processor provided in the present application is exemplarily introduced below with reference to the accompanying drawings. The non-core frequency adjustment method of the processor is applicable to the computing device shown in FIG1 .

[0063] FIG2 is a flow chart showing a method for adjusting the non-core frequency of a processor provided by an exemplary embodiment of the present application. The method for adjusting the non-core frequency of a processor includes the following steps:

[0064] S101, obtaining parameters of status information.

[0065] In an embodiment of the present application, parameters of processor status information are obtained, and the parameters of the status information can be used to indicate the working state of the processor when a non-core area in the processor operates at a first non-core frequency.

[0066] The processor may include a core area and a non-core area.

[0067] For example, the core area may include the core, and the non-core area may include the memory controller, cache, and PCIe interface.

[0068] In one possible implementation, the BIOS may obtain parameters of the status information from the BMC. The parameters of the status information may be calculated or obtained by an interrupt processing function when the BMC triggers an interrupt regularly and enters SMM, and when the operating system enters SMM.

[0069] The BMC can include a timer. When the timer triggers, it can initiate an SMI to the operating system, interrupting the OS process and causing the OS to enter SMM. The BMC then calculates or obtains the parameters of the current state information through the interrupt processing function. After obtaining the parameters of the current state information, the BMC can send the parameters of the current state information to the BIOS.

[0070] That is, the first non-core frequency may be the operating frequency of the non-core region of the CPU when the timer is triggered to issue an SMI to the operating system.

[0071] Exemplarily, the status information may include at least one of CPU utilization, operating system load, and processor temperature, wherein processor utilization is positively correlated with the non-core frequency of the processor; operating system load is positively correlated with the non-core frequency of the processor; and processor temperature is negatively correlated with the non-core frequency of the processor.

[0072] For example, if the status information includes CPU utilization, after the BMC triggers the timer, the BIOS can obtain the value of the CPU utilization, and the CPU utilization can be obtained by the BMC through the interrupt processing function; if the status information includes the operating system load, the BIOS can obtain the operating system load, and the operating system load can be obtained from the operating system by the BMC through the interrupt processing function; if the status information includes the processor temperature, the BIOS can obtain the processor temperature, and the processor temperature can be obtained by the BMC through the interrupt processing function query.

[0073] In order to balance processor performance and power consumption, the non-core frequency of the processor can be adjusted to meet the needs of different applications.

[0074] For example, if the status information includes operating system load, then when the operating system load is determined to be light, the processor's non-core frequency can be adjusted down to conserve energy, thereby improving the operating efficiency and stability of the entire operating system. If the operating system load is determined to be heavy, the processor's non-core frequency can be adjusted up to improve performance. If the status information includes processor utilization, then when the processor utilization is less than a specified threshold, the processor's non-core frequency can be adjusted down to conserve power while ensuring processor efficiency. If the processor utilization is determined to be greater than or equal to a specified threshold, the processor's non-core frequency can be adjusted up to improve performance. If the status information includes processor temperature, then when the processor temperature is less than a specified temperature threshold, the processor's non-core frequency can be adjusted up to improve performance while ensuring the processor does not overheat. If the processor temperature is determined to be greater than or equal to a specified temperature threshold, the processor's non-core frequency can be adjusted down to lower the processor temperature and reduce the risk of processor failure due to overheating.

[0075] In a possible implementation, the BIOS may obtain parameters of one or more status information.

[0076] For example, the BMC may obtain parameters of one or more types of status information and send the obtained parameters of each type of status information to the BIOS. The BIOS subsequently adjusts the non-core frequency of the CPU according to the parameters of each type of status information.

[0077] S102 : Determine, based on the parameters of the state information, a second non-core frequency of the processor corresponding to the parameters of the state information.

[0078] In an embodiment of the present application, after the BIOS obtains the parameters of the status information, the BIOS may determine the second non-core frequency of the processor corresponding to the parameters of the status information according to the parameters of the status information.

[0079] The second non-core frequency may be the operating frequency of the non-core region of the processor adjusted according to the parameters of the state information. The second non-core frequency may be the same as or different from the first non-core frequency.

[0080] In order to determine the influence of the parameters of the state information on the non-core frequency, it can be achieved by presetting the corresponding relationship or by presetting the algorithm, as shown below.

[0081] In a possible implementation, the BIOS may obtain configuration information, and then determine the non-core frequency corresponding to the target threshold range as the second non-core frequency of the processor.

[0082] The configuration information may include the non-core frequencies corresponding to the respective threshold ranges to which the state information parameters configured by the user through the BIOS menu belong. The target threshold range may be the threshold range to which the state information parameters belong.

[0083] That is to say, the BIOS configuration menu is displayed to the user in advance, and by allowing the user to input the correspondence between the parameters of the status information and the non-core frequency in the BIOS configuration menu, the BIOS can determine the correspondence between the parameters of the status information and the non-core frequency, so that the BIOS can determine the non-core frequency corresponding to the parameters of the acquired status information according to the correspondence, and the non-core frequency is the second non-core frequency.

[0084] For example, Figure 3 is a diagram of a BIOS configuration menu display interface according to an embodiment of the present application. As shown in Figure 3, the BIOS configuration menu 20 displayed to the user may include a status information selection area 21 and a correspondence input area 22. The user can select status information displayed in the status information selection area, including CPU utilization, operating system load, and processor temperature, to determine the status information for which a correspondence needs to be configured. For example, if the status information selected for a correspondence is CPU utilization, the user can configure the adjustable range of the non-core frequency corresponding to each range of CPU utilization in the correspondence input area 22. In other words, the user can configure the non-core frequency range corresponding to the CPU utilization range of 0 to 20%. Similarly, the user can sequentially configure the non-core frequency range corresponding to each range of CPU utilization. After the user completes the configuration of the correspondence between CPU utilization and non-core frequency, the user can trigger a confirmation control to have the BIOS acquire the user-configured correspondence. The user can then select other status information for which a correspondence has not been configured in the status information selection area 21 and configure the correspondence for each of the other status information in the correspondence input area 22.

[0085] In another possible implementation, the parameters of the state information are input into a preset algorithm, and the second non-core frequency of the processor is output through the preset algorithm.

[0086] The preset algorithm may be an algorithm for finding an optimal solution, or a pre-trained neural network model algorithm.

[0087] That is to say, if the preset algorithm is an algorithm for finding the optimal solution, it can be that when the computing device runs according to the parameters of the obtained status information, while ensuring the CPU performance and satisfying that the CPU power consumption is less than a specified threshold, the optimal solution of the non-core frequency is calculated, and the optimal solution is determined as the second non-core frequency corresponding to the parameters of the obtained status information.

[0088] In one possible implementation, based on the parameters of the state information, a value range of a non-core frequency of the processor corresponding to the parameters of the state information is determined; a second non-core frequency of the processor is determined; and the second non-core frequency is within the value range.

[0089] In addition, the BIOS may determine the second non-core frequency according to a parameter of a type of status information, or may determine the second non-core frequency according to a combination of parameters of multiple types of status information.

[0090] In a possible implementation, if parameters of at least two pieces of state information are obtained, the second non-core frequency is within the intersection of value ranges corresponding to the at least two pieces of state information.

[0091] That is to say, if the BIOS obtains the parameters of multiple status information, the BIOS can respectively determine the value range of the non-core frequency corresponding to the parameters of each status information, and use the intersection of each value range as the value range of the second non-core frequency, thereby determining the second non-core frequency.

[0092] For example, if the BIOS obtains that the CPU utilization is x%, the BIOS can determine that the lower limit of the value range of the non-core frequency corresponding to the CPU utilization of x% is a, and the upper limit is b. If the BIOS also obtains that the operating system load is y, the BIOS can determine that the lower limit of the value range of the non-core frequency corresponding to the operating system load y is c, and the upper limit is d. If the BIOS also obtains that the processor temperature is z, the BIOS can determine that the lower limit of the value range of the non-core frequency corresponding to the processor temperature z is m, and the upper limit is n. The value ranges of the non-core frequencies corresponding to the three types of status information are intersected. Since m is less than a, a is less than c, c is less than b, b is less than n, and n is less than d, it can be determined that the lower limit of the value range to which the second non-core frequency belongs is c, and the upper limit is b.

[0093] S103: Adjust the non-core frequency of the processor from the first non-core frequency to the second non-core frequency.

[0094] In the embodiment of the present application, after determining the second non-core frequency, the BIOS can control and adjust the non-core frequency of the processor.

[0095] In a possible implementation, the BIOS may modify the upper and lower limits of the non-core frequency value range so that the processor subsequently adjusts the non-core frequency within the adjusted value range.

[0096] In addition, if the difference between the second non-core frequency determined based on the parameters of the status information and the first non-core frequency is small, this will result in the effect of controlling the CPU to adjust the non-core frequency being not obvious. In order to reduce unnecessary instruction operations, the current first non-core frequency can be maintained to continue running the CPU when the difference is less than the specified threshold.

[0097] That is, if the difference between the first non-core frequency and the second non-core frequency is greater than a specified threshold, the non-core frequency of the processor is adjusted from the first non-core frequency to the second non-core frequency.

[0098] In another possible implementation, after obtaining the second non-core frequency, the BIOS needs to determine whether the second non-core frequency is the same as the first non-core frequency. If the second non-core frequency is determined to be the same as the first non-core frequency, there is no need to adjust the processor's non-core frequency, and the processor waits for the next time the timer is triggered before obtaining the second non-core frequency. If the second non-core frequency is determined to be different from the first non-core frequency, the processor's non-core frequency can be subsequently adjusted from the first non-core frequency to the second non-core frequency.

[0099] In summary, the server obtains, through the BIOS, parameters of status information indicating the working status of the processor when the non-core area in the processor is running at the first non-core frequency, and based on the parameters of the obtained status information, it can determine the second non-core frequency of the processor corresponding to the parameters of the status information, thereby adjusting the non-core frequency of the processor from the first non-core frequency to the second non-core frequency. Since the non-core frequency of the processor can be adjusted according to the non-core frequency corresponding to the parameters of the status information, the non-core frequency corresponding to the parameters of the status information can be adjusted according to different business needs, thereby meeting the balance between performance and power consumption of the processor according to different business needs, thereby improving the effectiveness of the processor in running and processing business.

[0100] For example, FIG4 is a flow chart of adjusting the non-core frequency of a processor involved in an embodiment of the present application. As shown in FIG4 , the non-core frequency corresponding to different parameters of the status information is obtained (S21), wherein, in one possible case, if the status information is the CPU utilization, the non-core frequency corresponding to the different CPU utilizations input by the user can be obtained, or, in another possible case, if the status information is the CPU utilization or OS load, the non-core frequency that should be set when the different CPU utilizations or OS loads are calculated by a preset algorithm. Then, when the operating system is running, the BMC can be triggered by a timer, pull the GPIO pin, trigger the OS interrupt, and make the OS enter SMM. The BMC can obtain the parameters of the current status information (S22) through the interrupt processing function, such as the current CPU utilization or the current OS load, and then determine whether the current non-core frequency corresponds to the parameters of the current status information (S23), that is, whether the current non-core frequency corresponds to the current CPU utilization or the current OS load. If it is determined that the current non-core frequency does not correspond to the parameters of the current state information, the non-core frequency of the processor can be adjusted, and the non-core frequency can be adjusted to the non-core frequency corresponding to the parameters of the current state information (S24). Then, it is determined whether the OS has stopped running (S25). If it is determined that the OS has stopped running, the process of adjusting the non-core frequency of the processor is terminated. If it is determined that the OS has not stopped running, the above process is continued to be executed from S22. In addition, if after executing S23, it is determined that the current non-core frequency corresponds to the parameters of the current state information, the above steps are directly executed from S25.

[0101] In a possible implementation, the uncore frequency of the processor is adjusted from a first uncore frequency to a second uncore frequency through an uncore frequency scaling (UFS) function.

[0102] UFS is a feature in the processor that provides frequency scaling control for uncore areas. By controlling the frequency scaling of these areas, the balance between overall processor performance and power consumption can be adjusted.

[0103] That is to say, by obtaining the parameters of the status information indicating the current working status of the processor in the processor, the non-core frequency corresponding to the parameter is determined according to the parameters of the status information, thereby adjusting the non-core frequency of the processor. Since the non-core frequency of the processor can be adjusted according to the non-core frequency corresponding to the parameters of the status information, the non-core frequency corresponding to the parameters of the status information is adjusted according to different business needs, thereby meeting the balance between the performance and power consumption of the processor according to different business needs, thereby improving the effect of the processor in running and processing business.

[0104] For example, FIG5 is a flowchart of a processor adjusting non-core frequency involved in an embodiment of the present application. As shown in FIG5, the BIOS can obtain the upper and lower limit values ​​of the non-core frequency corresponding to different parameters of the status information input by the user through the BIOS configuration menu, or the BIOS can obtain the upper and lower limit values ​​of the non-core frequency corresponding to different parameters of the status information through a preset algorithm (S31). After the operating system is started, the timer in the BMC can start a timer trigger, and the BMC timer triggers the SMI (S32). After the operating system enters SMM, when the operating system is in SMM, the current parameters of the status information are calculated or obtained through the interrupt processing function. The BMC sends the obtained current parameters of the status information to the BIOS, so that the BIOS obtains the current parameters of the status information (S33). The BIOS can select and adjust the non-core frequency or the value range of the non-core frequency to the predetermined corresponding second non-core frequency and value range based on the parameters of the obtained status information (S34). Determine whether the operating system has stopped running (S35). If it is determined that the operating system has stopped running, there is no need to adjust the non-core frequency, that is, the process of adjusting the non-core frequency can be ended; if it is determined that the operating system has not stopped running, continue to wait for S32 and subsequent steps to be executed.

[0105] In summary, by dynamically adjusting the non-core frequency of the processor outside the core, such as the memory controller and cache, the performance and power requirements of different applications can be met. The operating system or application can dynamically adjust the processor's non-core frequency based on the current load status and performance requirements. The BIOS can obtain real-time information such as CPU utilization, processor temperature, or operating system load, and flexibly adjust the processor's non-core frequency. This can improve the response speed to the processor's non-core frequency adjustment and flexibly optimize the processor's energy consumption and performance. In addition, because the status information parameters can include the processor's temperature, the processor's non-core frequency can be lowered according to the processor temperature, thereby reducing the heat and noise generated by excessive processor frequency. This can meet the needs of low-noise, low-power, or temperature-sensitive environments. Since the processor's non-core frequency can be flexibly adjusted on demand, the risk of processor overuse can be reduced, thereby extending the processor's service life to a certain extent.

[0106] The above mainly introduces the solution of the embodiment of the present application from the perspective of the method. It is understandable that, in order to realize the above functions, the software upgrade device includes at least one of the hardware structure and software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0107] The embodiment of the present application can divide the non-core frequency adjustment device of the processor into functional units according to the above method example. For example, each functional unit can be divided corresponding to each function, or two or more functions can be integrated into one processing unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. It should be noted that the division of units in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0108] For example, FIG6 shows a schematic diagram of the structure of a non-core frequency adjustment device 400 for a processor provided by an exemplary embodiment of the present application. The non-core frequency adjustment device 400 for a processor is applied to a computing device, or the non-core frequency adjustment device 400 for a processor can be a computer device. The non-core frequency adjustment device 400 for a processor includes:

[0109] An acquisition module 410 is configured to acquire parameters of state information, wherein the parameters of the state information are used to indicate the operating state of the processor when the non-core area in the processor operates at a first non-core frequency;

[0110] A processing module 420 is configured to determine, based on the parameters of the state information, a second non-core frequency of the processor corresponding to the parameters of the state information;

[0111] The adjustment module 430 is configured to adjust the non-core frequency of the processor from the first non-core frequency to the second non-core frequency.

[0112] For example, in conjunction with FIG. 2 , the acquisition module 410 may be used to execute S101 as shown in FIG. 2 , the processing module 420 may be used to execute S102 as shown in FIG. 2 , and the adjustment module 430 may be used to execute S103 as shown in FIG. 2 .

[0113] In a possible implementation, the processing module 420 is further configured to:

[0114] Acquiring configuration information; the configuration information includes the non-core frequencies corresponding to the respective threshold ranges of the parameters of the status information configured by the user through the BIOS menu;

[0115] A non-core frequency corresponding to a target threshold range is determined as the second non-core frequency of the processor; the target threshold range is a threshold range to which the parameter of the status information belongs.

[0116] In a possible implementation, the processing module 420 is further configured to:

[0117] Inputting the parameters of the state information into a preset algorithm;

[0118] The second non-core frequency of the processor is outputted through the preset algorithm.

[0119] In a possible implementation, the acquisition module 410 is further configured to:

[0120] Obtaining parameters of the status information from a baseboard management controller (BMC);

[0121] The parameters of the status information are obtained by calculating the interrupt processing function when the BMC periodically triggers the system management mode SMM interrupt.

[0122] In one possible implementation, the adjustment module 430 is further configured to adjust the non-core frequency of the processor from the first non-core frequency to the second non-core frequency if the difference between the first non-core frequency and the second non-core frequency is greater than a specified threshold.

[0123] In a possible implementation, the processing module 420 is further configured to:

[0124] determining, according to the parameters of the state information, a value range of the non-core frequency of the processor corresponding to the parameters of the state information;

[0125] Determine the second non-core frequency of the processor; the second non-core frequency is within the value range.

[0126] In a possible implementation, if parameters of at least two pieces of state information are acquired, the second non-core frequency is within the intersection of value ranges corresponding to the at least two pieces of state information.

[0127] In a possible implementation, the adjustment module 430 is further configured to adjust the non-core frequency of the processor from the first non-core frequency to the second non-core frequency through a non-core frequency scaling (UFS) function.

[0128] In one possible implementation, the status information includes at least one of processor utilization, operating system load, and processor temperature; wherein the processor utilization is positively correlated with the non-core frequency of the processor; the operating system load is positively correlated with the non-core frequency of the processor; and the processor temperature is negatively correlated with the non-core frequency of the processor.

[0129] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and description of the beneficial effects of any of the above model appearance updating devices can refer to the above corresponding method embodiments, which will not be repeated here.

[0130] As an example, in combination with Figure 1, some or all of the functions implemented in the acquisition module 410, processing module 420 and adjustment module 430 in the non-core frequency adjustment device of the processor can be executed by the computing device 100 in Figure 1, wherein the acquisition module 410, processing module 420 and adjustment module 430 can be executed by the BIOS chip of the computing device 100 in Figure 1.

[0131] In an exemplary embodiment, a computer-readable storage medium is further provided, configured to store at least one instruction, at least one program, a code set, or an instruction set, wherein the at least one instruction, at least one program, code set, or instruction set is loaded and executed by a processor to implement all or part of the steps in the above-mentioned memory fault prediction method. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, or the like.

[0132] In an exemplary embodiment, a computer program product or computer program is also provided. The computer program product or computer program includes computer instructions stored in a computer-readable storage medium. A processor of a computing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computing device to perform all or part of the steps of the method shown in any embodiment of FIG. 2 .

[0133] In some embodiments, the methods shown in the embodiments of the present application may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or encoded on other non-transitory media or products.

[0134] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0135] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0136] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0137] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0138] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0139] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A method for adjusting the non-core frequency of a processor, characterized in that: The method comprises: Acquire parameters of status information; the parameters of the status information are used to indicate the working state of the processor when the non-core area in the processor runs at a first non-core frequency; Determining, according to the parameters of the state information, a second non-core frequency of the processor corresponding to the parameters of the state information; The non-core frequency of the processor is adjusted from the first non-core frequency to the second non-core frequency.

2. The method according to claim 1, characterized in that The determining, according to the parameters of the state information, a second non-core frequency of the processor corresponding to the parameters of the state information comprises: Acquire configuration information; the configuration information includes non-core frequencies corresponding to respective threshold ranges of parameters of the status information configured by the user through a BIOS menu; The non-core frequency corresponding to a target threshold range is determined as the second non-core frequency of the processor; the target threshold range is the threshold range to which the parameter of the state information belongs.

3. The method according to claim 1, characterized in that The determining, according to the parameters of the state information, a second non-core frequency of the processor corresponding to the parameters of the state information comprises: Inputting the parameters of the state information into a preset algorithm; The second non-core frequency of the processor is outputted through the preset algorithm.

4. The method according to any one of claims 1 to 3, characterized in that: The parameters for obtaining the status information include: Acquire parameters of the status information from a baseboard management controller BMC; The parameters of the status information are obtained by calculating the interrupt processing function when the BMC periodically triggers an interrupt to enter the system management mode SMM.

5. The method according to any one of claims 1 to 4, characterized in that: The step of adjusting the non-core frequency of the processor from the first non-core frequency to the second non-core frequency includes: If the difference between the first non-core frequency and the second non-core frequency is greater than a specified threshold, the non-core frequency of the processor is adjusted from the first non-core frequency to the second non-core frequency.

6. The method according to any one of claims 1 to 5, characterized in that: The determining, according to the parameters of the state information, a second non-core frequency of the processor corresponding to the parameters of the state information comprises: Determining, according to the parameters of the state information, a value range of the non-core frequency of the processor corresponding to the parameters of the state information; Determine the second non-core frequency of the processor; the second non-core frequency is within the value range.

7. The method according to claim 6, characterized in that If the parameters of at least two types of state information are obtained, the second non-core frequency is in the intersection of the value ranges corresponding to the at least two types of state information.

8. The method according to any one of claims 1 to 7, characterized in that: The step of adjusting the non-core frequency of the processor from the first non-core frequency to the second non-core frequency includes: The non-core frequency of the processor is adjusted from the first non-core frequency to the second non-core frequency through the non-core frequency scaling UFS function.

9. The method according to any one of claims 1 to 8, characterized in that: The status information includes at least one of processor utilization, operating system load, and processor temperature; The processor utilization is positively correlated with the non-core frequency of the processor; the operating system load is positively correlated with the non-core frequency of the processor; and the processor temperature is negatively correlated with the non-core frequency of the processor.

10. A computing device, characterized in that The computing device comprises: a processor and a memory for storing instructions executable by the processor; the processor is configured to execute the instructions so that the computing device executes the non-core frequency adjustment method of the processor according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method, device and system for updating non-core frequency of processor and storage medium

    CN112306676A

  • Frequency budgeting in processor

    CN116266142A

  • Non-core frequency adjustment method of processor and computing device

    CN117826970A

  • System and method for controlling power consumption of a computing system

    US20170344099A1

  • Regulating core and un-core processor frequencies of computing node clusters

    US20200387409A1