WO2017013799A1 - Computer and control method for controlling computer - Google Patents

Computer and control method for controlling computer Download PDF

Info

Publication number
WO2017013799A1
WO2017013799A1 PCT/JP2015/071014 JP2015071014W WO2017013799A1 WO 2017013799 A1 WO2017013799 A1 WO 2017013799A1 JP 2015071014 W JP2015071014 W JP 2015071014W WO 2017013799 A1 WO2017013799 A1 WO 2017013799A1
Authority
WO
WIPO (PCT)
Prior art keywords
core
processor
mode
power consumption
power saving
Prior art date
Application number
PCT/JP2015/071014
Other languages
French (fr)
Japanese (ja)
Inventor
静香 二宮
厚 浦山
正文 大桃
輝昌 上畑
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/071014 priority Critical patent/WO2017013799A1/en
Publication of WO2017013799A1 publication Critical patent/WO2017013799A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to execution of firmware in a computer equipped with a multi-core CPU.
  • a multi-core CPU is a CPU including a plurality of CPU cores or logical CPUs internally although it is apparently one CPU package.
  • the multi-core CPU improves performance in an environment where parallel processing is executed. In most computer systems used in the field of workstations and servers that require high performance, multi-core CPUs are employed. In recent years, multi-core CPUs are also used in general personal computers.
  • an OS Operating System
  • Computers equipped with a plurality of multi-core CPUs use, for example, Microsoft Windows, Linux, UNIX, or the like as an SMP (symmetric multiprocessing) OS.
  • a computer system equipped with a multi-core CPU adopting the Intel architecture (x86) has an execution mode called SMM (system management mode) in addition to a mode for executing an application or OS.
  • SMM system management mode
  • the SMM provides an environment that can be used only by firmware such as BIOS, and provides an independent environment that cannot be accessed from a user program including an OS.
  • the SMM executes predetermined processing in an area dedicated to SMM set in advance in a memory space, triggered by a hardware interrupt having the highest priority called SMI (system management interrupt) (for example, Patent Document 2). 3).
  • SMI system management interrupt
  • SMI hardware failure detection
  • the execution mode of the multi-core CPU transitions to SMM, and control shifts from the OS to the SMI handler on the firmware.
  • the firmware acquires register values of all CPU cores, register values of devices connected to the computer, and transfers them to an external storage device.
  • the firmware returns from the SMM, and the OS processing is resumed (for example, Patent Document 3).
  • JP 2002-99436 A Special table 2010-535384 gazette International Publication No. 2012/114463
  • C state is defined as an index representing the power saving state of the CPU.
  • a C state having a high power saving effect is called a deep C state. It takes a delay of several ms to return the CPU operation mode from the deep C state to the C0 state, which is a normal operation, and the deep C state with higher power saving effect takes longer time to return to the C0 state.
  • INTEL Haswell-EX CPU supports C0, C1, C3, and C6 as the C state of the logical CPU, C0, C1, C3, and C6 as the C state of the physical CPU core, and C in the CPU package.
  • C0, C2, C3, and C6 are supported as states.
  • the C state becomes a state with higher power saving effect as the number after “C” increases.
  • the C state number increases as the operation clock decreases, and the C state number increases as the supply voltage decreases.
  • a power saving state having a large C state number is defined as a deep C state.
  • the logical CPU that has received the SMI shifts to a special execution mode called SMM, and executes the SMI processing set in advance by the system firmware.
  • all logical CPUs are first waited and a logical CPU to be executed on behalf of subsequent processes is selected.
  • the waiting of the logical CPU is to wait until the SMI is notified to all the logical CPUs, and the logical CPU in the power saving state such as the sleep state transitions (or returns) to the C0 state which is the operating state.
  • the waiting is completed, and a logical CPU to be executed on behalf of subsequent processing is selected.
  • a logical CPU executed on behalf of subsequent processing is referred to as BSP (Boot Strap Processor).
  • the C state of each CPU is likely to be non-uniform depending on the operating status. For this reason, when the SMI occurs, the logic CPU in the power saving state other than the C0 state has a different time for returning from the deep C state to the C0 state, and the logic CPU in the power saving state other than the C0 state is different from the logic CPU in the power saving state other than the C0 state. In the CPU, variations occur in the time to reach the SMI waiting process.
  • the present invention is a computer including a multi-core processor having a plurality of processor cores, a memory, and firmware.
  • the processor core performs processing of firmware by a first mode for executing an application or OS, and a predetermined interrupt.
  • the processor core selects a processor core that operates in a power saving invalid mode from the plurality of processor cores, and the selected processor core To the second mode to execute the firmware process. Make.
  • the processor core in which the power saving state is invalid is selected and the second mode (SMM) is selected.
  • SMI the second mode
  • FIG. 1 is a block diagram illustrating an example of a computer system according to a first embodiment of this invention.
  • FIG. It is a time chart which shows a 1st Example of this invention and shows an example of SMI processing from SMI generation
  • FIG. 1 shows a figure which shows the 2nd Example of this invention and shows an example of a power consumption-C state table. It is a flowchart which shows the 2nd Example of this invention and shows SMI processing from SMI generation
  • FIG. 1 is a block diagram showing an example of a computer system of the present invention.
  • the computer system is a computer such as a server computer or a personal computer, and one or more blades 100-0 to 100-n and a management module 210 are accommodated in the chassis 200.
  • a computer such as a server computer or a personal computer
  • blades 100-0 to 100-n and a management module 210 are accommodated in the chassis 200.
  • an example having a plurality of blades 100-0 to 100-n is shown.
  • the generic name of the blade is represented by a symbol “100” in which “ ⁇ ” and subsequent characters are omitted. The same applies to the reference numerals of other components.
  • Each blade 100 is connected to the management module 210.
  • the management module 210 is connected to the management terminal 300 via the network 350.
  • the management module 210 manages each blade 100 according to a command from the management terminal 300.
  • the management terminal 300 includes a display device and an input device (not shown), and can set the BIOS 60 and the like via the management module 210 and the BMC 50.
  • the blade 100 includes one or more CPU packages 10-0 to 10-i including a plurality of logical CPUs 11-1 to 11-j, a memory 20 connected to each CPU package 10, and a peripheral I / O control chip.
  • PCH Plate Controller Hub
  • FPGA Field Programmable Gate Array
  • BMC Baseboard Management Controller 50
  • BIOS Basic Input / Output System
  • the blades 100-0 to 100-n have the same configuration.
  • the logical CPU may be a CPU that can be recognized by the OS, and may be a physical CPU core.
  • the CPU package 10 shows a homogeneous configuration including a plurality of logical CPUs 11, but may be a heterogeneous configuration including a processor such as a GPU.
  • the logical CPU 11 and the package 10 of the first embodiment include the power saving function as described in the conventional example.
  • the logical CPU 11 supports C0, C1, C3, and C6 as power saving states (C state), and the CPU package 10 supports C0, C2, C3, and C6 as C states.
  • C state power saving states
  • the logical CPU 11 may have a logical configuration in which resources of a physical CPU core (not shown) are allocated. In this case, the physical CPU core supports C0, C1, C3, and C6.
  • the C0 state indicates a state in which the power saving is invalid, for example, a state in which the logical CPU 11 operates at a predetermined frequency and a predetermined voltage.
  • each blade 100 a hypervisor, an OS, and the like loaded in the memory 20 are executed. Further, an I / O device (not shown) such as a network interface can be connected to the PCH 30.
  • the logical CPU 11 and the CPU package 10 of the first embodiment support SMM as in the conventional example. That is, when an SMI (system management interrupt) occurs in the CPU package 10, the SMI is notified to all the logical CPUs 11, and a predetermined process is executed in an area dedicated to SMM set in the memory 20 in advance.
  • SMI system management interrupt
  • FIG. 2 is a time chart showing an outline of SMI processing from the generation of SMI 400 to the end of SMM 410 in the computer system of the present invention.
  • the process of FIG. 2 is a process performed by one CPU package 10 when an SMI occurs.
  • the logical CPU 11 calls an SMI handler preset in the BIOS 60 that is firmware, and executes the processing of FIG.
  • the SMI 400 is generated from the management module 210, the memory 20, the PCH 30, or the CPU package 10.
  • the logical CPU 11 in the C0 state is represented by the logical CPU group 11A
  • the logical CPU 11 in the power saving state other than the C0 state is represented by the logical CPU group 11B.
  • any one of C0 to Cx is set as the C state of each logical CPU 11.
  • the logical CPU group 11A in the C0 state executes SMM waiting for the C0 state CPU (S111). That is, the logical CPU group 11A in the C0 state activates an SMI handler preset in the BIOS 60 and performs a waiting process.
  • one logical CPU 11 that executes the SMI process as a representative is selected from the logical CPU group 11A in the C0 state as a BSP (Boot Strap Processor) (S112).
  • BSP Bit Strap Processor
  • step S113 the BSP performs runtime SMI processing (for example, failure processing).
  • runtime SMI processing for example, failure processing.
  • the BSP notifies the S0 end 410 to the logical CPU group 11A in the C0 state and the logical CPU group 11B other than the C0 state.
  • the logical CPU groups 11A and 11B that have received the SMM end 410 return to the processing mode (for example, OS processing) before the occurrence of SMI.
  • an SMI 400 is generated at time T0.
  • the SMI 400 is notified to the logical CPU group 11A in the C0 state and the logical CPU group 11B in the power saving state, respectively.
  • the logical CPU group 11A in the C0 state completes the waiting process at time T1 and can proceed to BSP selection (S112).
  • the logical CPU group 11B in the power saving state waits after the transition of the C0 state is completed. Therefore, the waiting process is not completed until time T2.
  • the BSP is selected only from the logical CPU group 11A in the C0 state by excluding the logical CPU group 11B in the power saving state.
  • the SMI process (S113) can be completed at time 420 until time T3 without waiting for all the logical CPU groups 11B to transition to the C0 state.
  • the logical CPU 11 that is a (candidate) can be controlled.
  • the interruption time of the OS is increased in the conventional example, but it is saved as in the present invention.
  • the OS interruption time during the SMI processing can be shortened.
  • 3A and 3B show details of the processing of FIG.
  • a logical CPU group 11A that is always operated in the C0 state is determined in advance, and during SMI processing, a BSP is selected from the logical CPU group 11A and SMI processing is executed.
  • FIG. 3A is a diagram showing an example of the C state table 21 in which the relationship between the APIC ID of the logical CPU 11 and the C state is set.
  • FIG. 3B is a flowchart showing the SMI process from the SMI generation to the end of the SMI process performed by each logical CPU 11.
  • the C state table 21 in FIG. 3A is set in a predetermined area of the memory 20 when the blade 100 is started.
  • the specific logical CPU 11 does not transition to the deep C state and always operates in the C0 state during the POST (Power On SelfTest) 500 period of the BIOS (Basic Input / Output System) 60.
  • Hardware is set, and the C state table 21 is set in a predetermined area of the memory 20 so that the OS running on the logical CPU 11 cannot transition to the deep C state.
  • the C state table 21 includes APIC 211 that stores an ID of an APIC (Advanced Programmable Interrupt Controller) as an identifier (CPU number) for identifying the logical CPU 11 and information on whether or not to fix the C state of the logical CPU 11.
  • APIC Advanced Programmable Interrupt Controller
  • the C state setting 212 to be stored is included in one entry.
  • the logical CPU 11 that is always operated in the C0 state is set to “C0 fixed”.
  • the other logical CPUs 11 are set to “variable from C0 to Cx” and can transition to the deep C state.
  • the BIOS 60 is set to “C0 fixed” that always operates at least one logical CPU 11 in the C0 state at the time of startup.
  • the logical CPU 11 that always operates in the C0 state can be selected from the CPU packages 10 connected to the PCH 30 that is physically superior in communication with the BMC 50.
  • the CPU package 10 having superior communication is, for example, the CPU package 10 having the shortest wiring length from the BMC 50.
  • at least one logical CPU 11 may always be operated in the C0 state for each of the CPU packages 10-0 to 10-i.
  • the logical CPU 11 When the SMI 400 is generated and the BSP is selected in the SMI process, the logical CPU 11 refers to the C state table 21 and acquires the C state setting 212 corresponding to the APIC 211 of the logical CPU 11. The logical CPU 11 determines whether or not it is a BSP selection target (candidate) depending on whether or not the C state setting 212 is “fixed C0” (S402). This determination is made a BSP selection target if the C state setting 212 is “C0 fixed”.
  • step S403 If the logical CPU 11 is a BSP selection target, the process proceeds to step S403 to set a BSP candidate semaphore.
  • the BSP candidate semaphore can be realized, for example, by setting a flag for each APIC ID in a predetermined area of the memory 20.
  • step S408 the process advances to step S408 to shift to BSP processing completion waiting.
  • step S404 the logical CPU 11 determines whether all the logical CPUs 11 to be selected by the BSP have set BSP candidate semaphores and have completed check-in. If the BSP candidate semaphore has been set for all selection targets, the logical CPU 11 determines that the check-in of all BSP selection target logical CPUs 11 has been completed and proceeds to step S405. That is, if all the BSP candidate semaphores corresponding to the APIC ID in which the C state setting 212 is set to “C0 fixed” in the C state table 21 are set, the process proceeds to step S405.
  • step S405 the BSP is determined from the logical CPUs 11 to be selected by the BSP. For example, as a method of determining the BSP from the selection target, one logical CPU 11 is selected as the BSP from the number with the smallest APIC ID. The logical CPU 11 not selected as the BSP proceeds to step S408 and shifts to a BSP process completion wait.
  • the selected BSP proceeds to step S406 and executes a predetermined SMI process as described above.
  • the BSP issues a notification of completion of the SMI process to the logical CPU 11 in the wait state, and the logical CPU 11 in the BSP wait state ends the wait state (S407).
  • one logical CPU 11 is selected as the BSP from the logical CPU group 11A set to “C0 fixed” in the C state table 21 and executes the SMI processing.
  • the package 10 there is no need to wait for the deep C state logical CPU group 11B to transition to the C0 state. Further, among the logical CPUs 11 in the C0 state, the logical CPUs 11 that are not selected as the BSP are prohibited from SMI processing and wait for the completion of the SMI processing by the BSP.
  • the logical CPU 11 can be controlled.
  • the interruption time of the OS also increases.
  • the OS interruption time during the SMI processing can be shortened by excluding the logical CPU group 11B in the power saving state from the selection targets of the BSP as in the present invention.
  • Example 2 shows Example 2 of the present invention.
  • the first embodiment an example in which the logical CPU 11 always operating in the C0 state is fixed in the C state table 21 is shown.
  • the C state of the CPU package 10 unit is determined based on the power consumption, the CPU package 10 in the C0 state is dynamically selected, and the BSP is selected from the logical CPU 11 of the selected CPU package 10. An example is shown.
  • FIG. 4A is a diagram illustrating an example of the CPU power consumption register 41 according to the second embodiment.
  • the second embodiment shows an example in which the power consumption of the CPU packages 10-0 to 10-i is measured by the FPGA 40.
  • the FPGA 40 connected to each CPU package 10 acquires the values of various sensors mounted on the CPU package 10, calculates the power consumption for each CPU package 10, and sets it in the CPU power consumption register 41. Note that the calculation of the power consumption of the CPU package 10 may be a well-known or publicly known method, and therefore will not be described in detail here.
  • the CPU power consumption register 41 is set in a predetermined address space accessible from each logical CPU 11.
  • the CPU power consumption register 41 includes a package ID 411 that stores an identifier of the CPU package 10 and a power consumption 412 that stores a calculation (or measurement) result of power consumption of the CPU package 10 in one entry.
  • the FPGA 40 can calculate new power consumption and update the CPU power consumption register 41 when values of various sensors of the CPU package 10 change. Alternatively, even when the FPGA (power consumption calculation device) 40 acquires values of various sensors of the CPU package 10 every time a predetermined period is reached, calculates power consumption, and updates the value of the CPU power consumption register 41. Good.
  • the package ID 411 is used as the identifier of the CPU package 10, but a socket ID can also be used.
  • FIG. 4B is a diagram illustrating an example of the power consumption-C state table 42 according to the second embodiment.
  • the power consumption-C state table 42 is a table that is set in a predetermined area of the memory 20 by firmware such as the BIOS 60 when the blade 100 is activated, and identifies the C state from the power consumption.
  • the power consumption-C state table 42 may be installed on an area of the memory 20 that can be read from firmware such as the BIOS 60.
  • the power consumption-C state table 42 includes a C state 422 and power consumption 421 corresponding to the C state in one entry.
  • the C state is the C0 state if the power consumption of the CPU package 10 is 100 W or more
  • the C state is the C1 state if the power consumption of the CPU package 10 is less than 100 W and 90 W or more. .
  • FIG. 4C is a flowchart showing the SMI process from the SMI generation to the end of the SMI process performed by each logical CPU 11.
  • the logical CPU 11 accesses the CPU power consumption register 41 of the FPGA 40 and acquires the power consumption 412 of the package ID 411 to which the logical CPU 11 belongs (S501).
  • the package ID 411 the package ID included in the APIC ID can be used.
  • the logical CPU 11 refers to the power consumption-C state table 42 and acquires the C state of the CPU package corresponding to the acquired power consumption (S502). Then, the logical CPU 11 determines whether or not it is a BSP selection target (candidate) depending on whether or not the C state of the acquired CPU package 10 is “C0” (S503).
  • the logical CPU 11 determines that one of the logical CPUs 11 of the CPU package 10 is a BSP selection target, and proceeds to step S504.
  • the logical CPU 11 determines that the CPU package 10 is not a BSP selection target and proceeds to step S509.
  • a BSP candidate semaphore is set.
  • the BSP candidate semaphore can be realized by setting a flag for each APIC ID belonging to the package ID 411 of the C0 state in a predetermined area of the memory 20 by the logical CPU 11 that performs processing, for example, as in the first embodiment. Can do.
  • step S505 the logical CPU 11 determines whether all the logical CPUs 11 to be selected by the BSP have set BSP candidate semaphores and check-in is completed. If the BSP candidate semaphore has been set for all selection targets, the logical CPU 11 determines that the check-in of all BSP selection target logical CPUs 11 has been completed, and proceeds to step S506. That is, if all the BSP candidate semaphores corresponding to the APIC ID for which the C state is determined to be C0 are set, the process proceeds to step S506.
  • step S506 the BSP is determined from the logical CPUs 11 to be selected by the BSP. For example, as in the first embodiment, as a method for determining the BSP from the selection target, the number with the smallest APIC ID is selected. The logical CPU 11 that is not selected as the BSP proceeds to step S509 and shifts to a BSP process completion wait.
  • the selected BSP proceeds to step S507 and executes a predetermined SMI process as in the first embodiment.
  • the BSP issues a notification of completion of the SMI process to the logical CPU 11 in the wait state, and the logical CPU 11 in the BSP wait state ends the wait state (S508).
  • the C state of the CPU package 10 is specified by the power consumption-C state table 42 from the power consumption of each CPU package 10 calculated by the FPGA 40, so that the logical CPU 11 in the CPU package 10 in the C0 state is BSP. It becomes possible to specify as a candidate. This eliminates the need to fix the logical CPU 11 operating in the C0 state in advance, and allows the CPU package 10 to be selected by the BSP to be dynamically changed.
  • the processes of steps S504 to S506 may be performed with all the logical CPUs 11 as BSP selection targets.
  • the power consumption corresponding to each of the C states 422 is set in advance in the power consumption-C state table 42.
  • the present invention is not limited to this.
  • step S503 only the power consumption of the C0 state in which power saving is invalid may be held in the power consumption-C state table 42. Then, the logical CPU 11 acquires the power consumption of the CPU package 10 from the CPU power consumption register 41, and selects the CPU package 10 whose power consumption corresponds to the C0 state of the power consumption-C state table 42 as a BSP selection target. .
  • FIG. 5 is a screen image showing an example 3 of the BIOS 60 according to the third embodiment of the present invention.
  • the third embodiment shows an example in which the SMI process is selected when setting up the BIOS 60 of the blade 100 via the management module 210 and the BMC 50 from the management terminal 300 shown in the first embodiment.
  • the setup screen 310 of the BIOS 60 selects one of the “Performance” mode and the “Power Saving” mode 320 when selecting a BSP in the SMM SMI process.
  • the “Performance” mode shows an example using the C state table 21 shown in the first embodiment.
  • the “Power Saving” mode shows an example in which the CPU power consumption register 41 and the power consumption-C state table 42 of the FPGA 40 of the second embodiment are used.
  • the operator of the management terminal 300 selects one of the processing of the first embodiment and the processing of the second embodiment on the setup screen 310 of the BIOS 60.
  • the first embodiment is set as the default value of the BIOS 60.
  • the power saving effect can be reduced, but the time during which the execution of the OS is interrupted due to the occurrence of SMI is the second embodiment. It may be shorter than Therefore, the BSP selection process of the first embodiment is set to the first execution core selection mode in which the performance of the computer system is emphasized.
  • the second embodiment when the CPU package 10 in the C0 state is not provided, the time during which the execution of the OS is interrupted when the SMI is generated is not shortened as compared with the first embodiment. Thus, a high power saving effect can be obtained. Therefore, the second embodiment is set as a second execution core selection mode that suppresses the power consumption of the computer system.
  • the mode for selecting the BSP can be switched between performance-oriented and power-saving-oriented according to the operation policy of the computer system, etc., and a multi-core CPU having a power-saving function It is possible to flexibly operate a computer system including
  • the BIOS 60 is used as the firmware of the blade 100.
  • UEFI Unified Extensible Firmware Interface
  • a multi-core CPU having a power saving function and transitioning to SMM in response to SMI is used.
  • the present invention is not limited to this.
  • it may be a multi-core processor having a plurality of processor cores, each processor core having a power saving function capable of transitioning to a power saving mode, and executing firmware processing with a predetermined interrupt.
  • the power saving function may be any function that reduces at least one of the processor core clock and the processor core drive voltage.
  • the present invention is not limited to this.
  • the power saving valid mode for reducing the power consumption of the processor core may be set to a state other than the C0 state, and the power saving invalid mode for operating the processor core at the rated value or higher than the rated value.
  • operating the processor core above the rating means, for example, that when the power consumption of the processor core in the power saving effective mode is low, the clock of the processor core in the power saving invalid mode is set to a predetermined ratio (for example, 20 %) To increase the processing capacity.
  • the multi-core CPU switches between the mode in which the application or OS is executed and the SMM (System Maintenance Mode) that executes the processing of the BIOS 60 with a predetermined interrupt. It is not limited.
  • the multi-core CPU only has to have a first mode for executing an application or OS and a second mode for executing firmware processing with a predetermined interrupt, and the two execution modes can be switched.
  • the power consumption is calculated by the FPGA 40 connected to the plurality of CPU packages 10 and set in the CPU power consumption register 41 to provide the power consumption to each logical CPU 11. It is not limited to. Any power consumption calculation device that is connected to a plurality of CPU packages 10 to calculate the power consumption of each CPU package 10 and sets the power consumption of the calculation result in a register accessible from each logical CPU 11 may be used.
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • any of the additions, deletions, or substitutions of other configurations can be applied to a part of the configuration of each embodiment, either alone or in combination.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • each of the above-described configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function.
  • Information such as programs, tables, and files that realize each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

This computer includes: a multi-core processor having multiple processor cores; a memory; and firmware. The processor cores include: an execution mode for switching between a first mode in which an application or an operating system is executed and a second mode in which processing is executed by the firmware in response to a predetermined interrupt; and a power-saving function for setting one of a power-saving-enabled mode in which the power consumption of the processor cores is reduced and a power-saving-disabled mode in which the processor cores are caused to operate at or higher than a rated power thereof. Upon receipt of the predetermined interrupt to the processor cores, core processors to be operated in the power-saving-disabled mode are selected from among the multiple processor cores, and the selected processor cores are caused to transit to the second mode in order to cause the processing by the firmware to be executed.

Description

計算機及び計算機の制御方法Computer and computer control method
 本発明は、マルチコアCPUを搭載した計算機における、ファームウェアの実行に関する。 The present invention relates to execution of firmware in a computer equipped with a multi-core CPU.
 マルチコアCPUとは、外見的には1つのCPUパッケージでありながら内部的には複数のCPUコア、または論理CPUを含むCPUである。マルチコアCPUは、並列処理を実行させる環境下において、性能向上を果たす。高い性能が要求されるワークステーションやサーバの分野で用いられる計算機システムのほとんどで、マルチコアCPUが採用されている。近年では、一般のパーソナルコンピュータにおいてもマルチコアCPUが使用されている。 A multi-core CPU is a CPU including a plurality of CPU cores or logical CPUs internally although it is apparently one CPU package. The multi-core CPU improves performance in an environment where parallel processing is executed. In most computer systems used in the field of workstations and servers that require high performance, multi-core CPUs are employed. In recent years, multi-core CPUs are also used in general personal computers.
 汎用計算機システムでは、計算機システム内の多種多様な処理を行うためOS(Operating System)を導入して、OS上で多数のタスクを切替えながら実行する形態が広く知られている。マルチコアCPUを複数搭載した計算機は、SMP(対称型マルチプロセシング)型のOSとして、例えば、マイクロソフト社のWindowsや、LinuxあるいはUNIX等が用いられる。 In general-purpose computer systems, an OS (Operating System) is introduced in order to perform a variety of processes in the computer system, and a mode in which a large number of tasks are switched on the OS is widely known. Computers equipped with a plurality of multi-core CPUs use, for example, Microsoft Windows, Linux, UNIX, or the like as an SMP (symmetric multiprocessing) OS.
 Intelアーキテクチャ(x86)が採用されたマルチコアCPUを搭載した計算機システムには、アプリケーションやOSを実行するモードに加えて、SMM(システムマネジメントモード)と呼ばれる実行モードがある。SMMとは、BIOS等のファームウェアによってのみ使用可能な環境を提供し、OSを含むユーザプログラムからはアクセス出来ない独立した環境を提供するものである。 A computer system equipped with a multi-core CPU adopting the Intel architecture (x86) has an execution mode called SMM (system management mode) in addition to a mode for executing an application or OS. The SMM provides an environment that can be used only by firmware such as BIOS, and provides an independent environment that cannot be accessed from a user program including an OS.
 SMMは、SMI(システムマネジメント割り込み)と呼ばれる最高の優先度を持ったハードウェア割り込みを契機として、メモリ空間上に予め設定されたSMM専用の領域で所定の処理を実行する(例えば、特許文献2、3)。 The SMM executes predetermined processing in an area dedicated to SMM set in advance in a memory space, triggered by a hardware interrupt having the highest priority called SMI (system management interrupt) (for example, Patent Document 2). 3).
 SMIが発生する事象として、計算機システムのメモリの訂正可または不可や、プラットフォームの訂正可または不可といったハードウェアの障害検出などがある。SMIが発生するとマルチコアCPUの実行モードはSMMに遷移し、OSからファームウェア上のSMIハンドラに制御が移行する。SMMの処理の一例としては、ファームウェアが全CPUコアのレジスタの値や、当該計算機に接続されたデバイスのレジスタの値などを取得し、外部記憶装置へ転送する。転送が終了すると、ファームウェアはSMMから復帰して、OSの処理が再開される(例えば、特許文献3)。 Events that cause SMI include hardware failure detection such as whether or not the computer system memory can be corrected, and whether or not the platform can be corrected. When SMI occurs, the execution mode of the multi-core CPU transitions to SMM, and control shifts from the OS to the SMI handler on the firmware. As an example of SMM processing, the firmware acquires register values of all CPU cores, register values of devices connected to the computer, and transfers them to an external storage device. When the transfer is completed, the firmware returns from the SMM, and the OS processing is resumed (for example, Patent Document 3).
特開2002-99436号公報JP 2002-99436 A 特表2010-535384号公報Special table 2010-535384 gazette 国際公開第2012/114463号International Publication No. 2012/114463
 最新のIntel社製のCPUでは高度な省電力機能をサポートしている(例えば、特許文献1)。電源管理の規格である「ACPI(Advanced Configuration and Power Interface」では、CPUの省電力状態を表現する指標として「Cステート」を定義している。省電力効果の高いCステートをディープCステートと呼ぶ。ディープCステートから通常の動作であるC0ステートへCPUの動作モードを復帰させるには数msの遅延が伴う。省電力効果の高いディープCステートほど、C0ステートに復帰する時間が長くなる。 The latest Intel CPU supports an advanced power saving function (for example, Patent Document 1). In the ACPI (Advanced Configuration and Power Interface), which is a standard for power management, “C state” is defined as an index representing the power saving state of the CPU. A C state having a high power saving effect is called a deep C state. It takes a delay of several ms to return the CPU operation mode from the deep C state to the C0 state, which is a normal operation, and the deep C state with higher power saving effect takes longer time to return to the C0 state.
 例えば、INTEL社のHaswell-EX CPUでは、論理CPUのCステートとしてC0,C1,C3,C6をサポートし、物理CPUコアのCステートとしてC0,C1,C3,C6をサポートし、CPUパッケージのCステートとしてC0,C2,C3,C6をサポートしている。Cステートは、“C”の後の数字が大きくなるほど省電力効果の高いステートになる。例えば、動作クロックが低くなるほどCステートの数字が大きくなり、また、供給電圧が低くなるほどCステートの数字が大きくなる。Cステートの数字が大きい省電力状態をディープCステートとする。 For example, INTEL Haswell-EX CPU supports C0, C1, C3, and C6 as the C state of the logical CPU, C0, C1, C3, and C6 as the C state of the physical CPU core, and C in the CPU package. C0, C2, C3, and C6 are supported as states. The C state becomes a state with higher power saving effect as the number after “C” increases. For example, the C state number increases as the operation clock decreases, and the C state number increases as the supply voltage decreases. A power saving state having a large C state number is defined as a deep C state.
 SMIを受け付けた論理CPUは、SMMという特殊な実行モードに遷移して、システムファームウェアで予め設定されたSMI処理を実行する。 The logical CPU that has received the SMI shifts to a special execution mode called SMM, and executes the SMI processing set in advance by the system firmware.
 システムファームウェアのSMI処理では、まず全ての論理CPUの待ち合わせを行い、後続処理を代表して実行する論理CPUを選択する。論理CPUの待ち合わせは、SMIが全ての論理CPUに通知されて、スリープ状態などの省電力状態にある論理CPUが、稼動状態であるC0ステートに遷移(または復帰)するまで待機することである。全ての論理CPUがC0ステートに遷移すると待ち合わせが完了し、後続処理を代表して実行する論理CPUが選択される。後続処理を代表して実行する論理CPUをBSP(Boot Strap Processor)と呼ぶ。 In the SMI process of the system firmware, all logical CPUs are first waited and a logical CPU to be executed on behalf of subsequent processes is selected. The waiting of the logical CPU is to wait until the SMI is notified to all the logical CPUs, and the logical CPU in the power saving state such as the sleep state transitions (or returns) to the C0 state which is the operating state. When all the logical CPUs transition to the C0 state, the waiting is completed, and a logical CPU to be executed on behalf of subsequent processing is selected. A logical CPU executed on behalf of subsequent processing is referred to as BSP (Boot Strap Processor).
 省電力機能を有するマルチコアCPUを複数搭載したSMP構成の計算機システムでは、稼働状況により、それぞれのCPUのCステートが不均一となる可能性が高い。このため、SMIが発生した時に、C0ステート以外の省電力状態の論理CPUは、ディープCステートからC0ステートに復帰する時間が異なり、C0ステートの論理CPUと、C0ステート以外の省電力状態の論理CPUでは、SMIの待合せ処理に到達する時間にばらつきが生じる。 In a computer system having an SMP configuration equipped with a plurality of multi-core CPUs having a power saving function, the C state of each CPU is likely to be non-uniform depending on the operating status. For this reason, when the SMI occurs, the logic CPU in the power saving state other than the C0 state has a different time for returning from the deep C state to the C0 state, and the logic CPU in the power saving state other than the C0 state is different from the logic CPU in the power saving state other than the C0 state. In the CPU, variations occur in the time to reach the SMI waiting process.
 このため、上記従来のマルチコアCPUを有する計算機システムでは、SMI処理においてBSPの選択開始までがディープCステートから復帰する論理CPUの待ち合わせ到達時間に影響されて遅延し、OSの中断時間も増大するという問題があった。 For this reason, in the computer system having the conventional multi-core CPU, the time until the start of BSP selection in SMI processing is delayed by the arrival time of waiting for the logical CPU returning from the deep C state, and the OS interruption time also increases. There was a problem.
 本発明は、複数のプロセッサコアを有するマルチコアプロセッサと、メモリと、ファームウェアとを含む計算機であって、前記プロセッサコアは、アプリケーションまたはOSを実行する第1のモードと、所定の割り込みでファームウェアの処理を実行する第2のモードとを切り替える実行モードと、前記プロセッサコアの消費電力を低減する省電力有効モードと、定格または定格以上で前記プロセッサコアを稼動させる省電力無効モードと、の何れか一方を設定する省電力機能と、を含み、前記プロセッサコアは、前記所定の割り込みを受け付けると、前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアを選択し、当該選択されたプロセッサコアを前記第2のモードへ遷移させて前記ファームウェアの処理を実行させる。 The present invention is a computer including a multi-core processor having a plurality of processor cores, a memory, and firmware. The processor core performs processing of firmware by a first mode for executing an application or OS, and a predetermined interrupt. One of an execution mode for switching to a second mode for executing the power saving, a power saving effective mode for reducing the power consumption of the processor core, and a power saving invalid mode for operating the processor core at a rating or above the rating. And when the predetermined interrupt is received, the processor core selects a processor core that operates in a power saving invalid mode from the plurality of processor cores, and the selected processor core To the second mode to execute the firmware process. Make.
 本発明によれば、マルチコアプロセッサを搭載した計算機において、プロセッサコア(論理CPU)の省電力状態が不均一な状況でも、省電力状態が無効のプロセッサコアを選択して第2のモード(SMM)へ移行させる。これにより、省電力効果の高いディープCステートからの復帰を待つ必要がなくなって、遅延の影響を排除することができる。これにより、SMI等の所定の割り込みの発生によってOSの実行が中断されている時間の増大を抑制することができる。 According to the present invention, in a computer equipped with a multi-core processor, even when the power saving state of the processor core (logical CPU) is not uniform, the processor core in which the power saving state is invalid is selected and the second mode (SMM) is selected. To move to. As a result, there is no need to wait for a return from the deep C state, which has a high power saving effect, and the influence of delay can be eliminated. Thereby, it is possible to suppress an increase in the time during which the execution of the OS is interrupted due to the occurrence of a predetermined interrupt such as SMI.
本発明の第1の実施例を示し、計算機システムの一例を示すブロック図である。1 is a block diagram illustrating an example of a computer system according to a first embodiment of this invention. FIG. 本発明の第1の実施例を示し、SMI発生からSMI処理終了までのSMI処理の一例を示すタイムチャート図である。It is a time chart which shows a 1st Example of this invention and shows an example of SMI processing from SMI generation | occurrence | production to the end of SMI processing. 本発明の第1の実施例を示し、Cステートテーブルの一例を示す図である。It is a figure which shows 1st Example of this invention and shows an example of a C state table. 本発明の第1の実施例を示し、SMI発生からSMI処理終了までのSMI処理の一例を示すフローチャート図である。It is a flowchart figure which shows a 1st Example of this invention and shows an example of SMI processing from SMI generation | occurrence | production to the end of SMI processing. 本発明の第2の実施例を示し、CPU消費電力レジスタの一例を示す図である。It is a figure which shows the 2nd Example of this invention and shows an example of CPU power consumption register | resistor. 本発明の第2の実施例を示し、消費電力-Cステートテーブルの一例を示す図である。It is a figure which shows the 2nd Example of this invention and shows an example of a power consumption-C state table. 本発明の第2の実施例を示し、論理CPUで行われるSMI発生からSMI処理の終了までのSMI処理を示すフローチャートである。It is a flowchart which shows the 2nd Example of this invention and shows SMI processing from SMI generation | occurrence | production performed by logic CPU to the completion | finish of SMI processing. 本発明の第3の実施例を示し、BIOSsetupの画面イメージである。3 shows a third embodiment of the present invention and is a BIOS setup screen image. FIG.
 以下、本発明の一実施形態について添付図面を用いて説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
 図1は、本発明の計算機システムの一例を示すブロック図である。 FIG. 1 is a block diagram showing an example of a computer system of the present invention.
 図1において、計算機システムは、サーバコンピュータやパーソナルコンピュータなどのコンピュータであり、シャーシ200内には、1以上のブレード100-0~100-nと、マネジメントモジュール210が収容される。本実施例では複数のブレード100-0~100-nを有する例を示す。なお、以下では、ブレードの総称を“-”以降を省略した符号“100”で表す。他の構成要素の符号についても同様である。 1, the computer system is a computer such as a server computer or a personal computer, and one or more blades 100-0 to 100-n and a management module 210 are accommodated in the chassis 200. In this embodiment, an example having a plurality of blades 100-0 to 100-n is shown. In the following, the generic name of the blade is represented by a symbol “100” in which “−” and subsequent characters are omitted. The same applies to the reference numerals of other components.
 各ブレード100はマネジメントモジュール210に接続される。マネジメントモジュール210は、ネットワーク350を介して管理端末300に接続される。マネジメントモジュール210は、管理端末300からの指令に応じて各ブレード100を管理する。なお、管理端末300は、図示しない表示装置と入力装置を含み、マネジメントモジュール210、BMC50を介してBIOS60等の設定を行うことができる。 Each blade 100 is connected to the management module 210. The management module 210 is connected to the management terminal 300 via the network 350. The management module 210 manages each blade 100 according to a command from the management terminal 300. The management terminal 300 includes a display device and an input device (not shown), and can set the BIOS 60 and the like via the management module 210 and the BMC 50.
 ブレード100には、複数の論理CPU11-1~11-jを含む1以上のCPUパッケージ10-0~10-iと、各CPUパッケージ10に接続されたメモリ20と、周辺I/O制御用チップのPCH(Platform Controller Hub)30と、特定の演算処理を実行するFPGA(Field Programmable Gate Array)40と、マネジメントモジュール210に接続されて各ブレード100を管理するBMC(Baseboard Management Controller)50と、ファームウェアとしてのBIOS(Basic Input/Output System)60が含まれる。なお、ブレード100-0~100-nは同一の構成である。 The blade 100 includes one or more CPU packages 10-0 to 10-i including a plurality of logical CPUs 11-1 to 11-j, a memory 20 connected to each CPU package 10, and a peripheral I / O control chip. PCH (Platform Controller Hub) 30, FPGA (Field Programmable Gate Array) 40 that executes specific arithmetic processing, and BMC (Baseboard Management Controller 50) that is connected to the management module 210 and manages each blade 100. BIOS (Basic Input / Output System) 60 is included. The blades 100-0 to 100-n have the same configuration.
 また、本実施例1では複数の論理CPU11をCPUパッケージ10に収容する例を示すが、CPUパッケージ10に代わってCPUソケットとしてもよい。また、論理CPUはOSから認識可能なCPUであればよく、物理的なCPUコアであってもよい。また、本実施例1では、CPUパッケージ10が複数の論理CPU11を含むホモジニアスの構成を示すが、GPU等のプロセッサを含むヘテロジニアスの構成であってもよい。また、本実施例1の論理CPU11及びパッケージ10は、前記従来例で述べたような省電力機能を含む。 In the first embodiment, an example in which a plurality of logical CPUs 11 are accommodated in the CPU package 10 is shown, but a CPU socket may be used instead of the CPU package 10. The logical CPU may be a CPU that can be recognized by the OS, and may be a physical CPU core. In the first embodiment, the CPU package 10 shows a homogeneous configuration including a plurality of logical CPUs 11, but may be a heterogeneous configuration including a processor such as a GPU. The logical CPU 11 and the package 10 of the first embodiment include the power saving function as described in the conventional example.
 例えば、前記従来例と同様にして、論理CPU11は省電力状態(Cステート)としてC0、C1、C3、C6をサポートし、CPUパッケージ10はCステートとしてC0、C2、C3、C6をサポートしている例を示す。なお、論理CPU11は、物理CPUコア(図示省略)のリソースを割り当てた論理的な構成であってもよい。この場合、物理CPUコアは、C0、C1、C3、C6をサポートする。 For example, as in the conventional example, the logical CPU 11 supports C0, C1, C3, and C6 as power saving states (C state), and the CPU package 10 supports C0, C2, C3, and C6 as C states. An example is shown. The logical CPU 11 may have a logical configuration in which resources of a physical CPU core (not shown) are allocated. In this case, the physical CPU core supports C0, C1, C3, and C6.
 ここで、省電力状態のCステートのうち、C0ステートは、省電力が無効の状態を示しており、例えば、所定の周波数と所定の電圧で論理CPU11が稼動する状態を示す。 Here, among the C states in the power saving state, the C0 state indicates a state in which the power saving is invalid, for example, a state in which the logical CPU 11 operates at a predetermined frequency and a predetermined voltage.
 また、各ブレード100では、メモリ20にロードしたハイパーバイザやOS等がそれぞれ実行される。また、PCH30には、ネットワークインタフェース等の図示しないI/Oデバイスを接続することができる。 In each blade 100, a hypervisor, an OS, and the like loaded in the memory 20 are executed. Further, an I / O device (not shown) such as a network interface can be connected to the PCH 30.
 本実施例1の論理CPU11及びCPUパッケージ10は、前記従来例と同様に、SMMをサポートする。すなわち、CPUパッケージ10でSMI(システムマネジメント割り込み)が発生すると、すべての論理CPU11にSMIが通知されて、メモリ20に予め設定されたSMM専用の領域で所定の処理が実行される。 The logical CPU 11 and the CPU package 10 of the first embodiment support SMM as in the conventional example. That is, when an SMI (system management interrupt) occurs in the CPU package 10, the SMI is notified to all the logical CPUs 11, and a predetermined process is executed in an area dedicated to SMM set in the memory 20 in advance.
 図2は本発明の計算機システムにおいて、SMI400の発生からSMM終了410までのSMI処理の概要を示すタイムチャートである。図2の処理は、SMIが発生したときに、ひとつのCPUパッケージ10で行われる処理である。CPUパッケージ10内の各論理CPU11は、SMIを受信すると、ファームウェアであるBIOS60に予め設定されたSMIハンドラを呼び出して、図2の処理を実行する。 FIG. 2 is a time chart showing an outline of SMI processing from the generation of SMI 400 to the end of SMM 410 in the computer system of the present invention. The process of FIG. 2 is a process performed by one CPU package 10 when an SMI occurs. When each logical CPU 11 in the CPU package 10 receives the SMI, the logical CPU 11 calls an SMI handler preset in the BIOS 60 that is firmware, and executes the processing of FIG.
 なお、本実施例1では、マネジメントモジュール210やメモリ20、あるいはPCH30や、CPUパッケージ10からSMI400が発生するものとする。また、図2の説明においては、C0ステートの論理CPU11を論理CPU群11Aで表し、C0ステート以外の省電力状態の論理CPU11を論理CPU群11Bで表す。また、各論理CPU11のCステートは、C0~Cxの何れかが設定されている。 In the first embodiment, it is assumed that the SMI 400 is generated from the management module 210, the memory 20, the PCH 30, or the CPU package 10. In the description of FIG. 2, the logical CPU 11 in the C0 state is represented by the logical CPU group 11A, and the logical CPU 11 in the power saving state other than the C0 state is represented by the logical CPU group 11B. Also, any one of C0 to Cx is set as the C state of each logical CPU 11.
 まず、SMI400が発生すると、C0ステートの論理CPU群11Aが、C0ステートCPU用SMM待ち合わせを実行する(S111)。つまり、C0ステートの論理CPU群11Aは、BIOS60に予め設定されたSMIハンドラを起動して、待ち合わせ処理を実施する。 First, when the SMI 400 is generated, the logical CPU group 11A in the C0 state executes SMM waiting for the C0 state CPU (S111). That is, the logical CPU group 11A in the C0 state activates an SMI handler preset in the BIOS 60 and performs a waiting process.
 ステップS111で待ち合わせ処理が完了すると、C0ステートの論理CPU群11Aの中から、代表してSMI処理を実行するひとつの論理CPU11をBSP(Boot Strap Processor)として選択する(S112)。この選択は、例えば、複数のC0ステートの論理CPU群11Aのうち、最初に所定のセマフォを取得した論理CPU11をBSPとして決定する。 When the waiting process is completed in step S111, one logical CPU 11 that executes the SMI process as a representative is selected from the logical CPU group 11A in the C0 state as a BSP (Boot Strap Processor) (S112). In this selection, for example, among the plurality of C0 state logical CPU groups 11A, the logical CPU 11 that first acquires a predetermined semaphore is determined as the BSP.
 ステップS113では、BSPがランタイムのSMI処理(例えば、障害処理)を実施する。そして、SMI処理が終了すると、BSPはC0ステートの論理CPU群11AとC0ステート以外の論理CPU群11BにSMM終了410を通知する。 In step S113, the BSP performs runtime SMI processing (for example, failure processing). When the SMI process ends, the BSP notifies the S0 end 410 to the logical CPU group 11A in the C0 state and the logical CPU group 11B other than the C0 state.
 SMM終了410を受け付けた論理CPU群11A、11Bは、それぞれSMI発生前の処理モード(例えば、OSの処理)に復帰する。 The logical CPU groups 11A and 11B that have received the SMM end 410 return to the processing mode (for example, OS processing) before the occurrence of SMI.
 図2の処理では、まず、時刻T0でSMI400が発生する。SMI400は、C0ステートの論理CPU群11Aと、省電力状態の論理CPU群11Bへそれぞれ通知される。 In the process of FIG. 2, first, an SMI 400 is generated at time T0. The SMI 400 is notified to the logical CPU group 11A in the C0 state and the logical CPU group 11B in the power saving state, respectively.
 C0ステートの論理CPU群11Aでは、C0ステートの論理CPU用の待ち合わせ処理が開始される(S111)。省電力状態の論理CPU群11Bは、省電力状態からC0ステートに遷移するまでの遅延が生じる。 In the C0 state logical CPU group 11A, a waiting process for the C0 state logical CPU is started (S111). In the logical CPU group 11B in the power saving state, a delay occurs from the power saving state to the transition to the C0 state.
 このため、C0ステートの論理CPU群11Aは時刻T1で待ち合わせ処理が完了し、BSP選択(S112)へ移行できるが、省電力状態の論理CPU群11BはC0ステートの遷移が完了してから待ち合わせ処理を実施するため、時刻T2まで待ち合わせ処理が完了しない。 Therefore, the logical CPU group 11A in the C0 state completes the waiting process at time T1 and can proceed to BSP selection (S112). However, the logical CPU group 11B in the power saving state waits after the transition of the C0 state is completed. Therefore, the waiting process is not completed until time T2.
 本実施例1では、SMI400がCPUパッケージ10に通知されると、省電力状態の論理CPU群11Bを除外して、C0ステートの論理CPU群11AのみからBSPを選択することで、省電力状態の論理CPU群11Bが全てC0ステートへ遷移するのを待つことがなくなって、時刻T3までの時間420でSMI処理(S113)を完了させることができるのである。 In the first embodiment, when the SMI 400 is notified to the CPU package 10, the BSP is selected only from the logical CPU group 11A in the C0 state by excluding the logical CPU group 11B in the power saving state. The SMI process (S113) can be completed at time 420 until time T3 without waiting for all the logical CPU groups 11B to transition to the C0 state.
 以上のように、省電力機能を有するマルチコアのCPUパッケージ10を搭載した計算機システムにおいて、複数の論理CPU11の省電力状態が不均一な状況でも、論理CPU11のそれぞれの省電力状態によってBSPの選択対象(候補)となる論理CPU11を制御することができる。 As described above, in the computer system equipped with the multi-core CPU package 10 having the power saving function, even when the power saving states of the plurality of logical CPUs 11 are not uniform, the selection targets of the BSP depending on the respective power saving states of the logical CPUs 11. The logical CPU 11 that is a (candidate) can be controlled.
 これにより、BIOS60等のシステムファームウェアのSMI処理時間に対して、省電力効果の高いディープCステートから論理CPU11が復帰する際の遅延の影響を排除することができる。これにより、SMIの発生によってOSの実行が中断されている時間の増大を回避することができる。 Thereby, it is possible to eliminate the influence of the delay when the logical CPU 11 returns from the deep C state having a high power saving effect on the SMI processing time of the system firmware such as the BIOS 60. Thereby, it is possible to avoid an increase in the time during which the execution of the OS is interrupted due to the occurrence of SMI.
 特に、スリープ状態などのディープCステートの論理CPU11では、C0ステートへ遷移するまでに多大な時間を要するため、前記従来例では、OSの中断時間も増大していたが、本発明のように省電力状態の論理CPU群11BをBSPの選択対象(候補)から除外することで、SMI処理時のOSの中断時間を短縮できるのである。 In particular, in the logic CPU 11 in the deep C state such as the sleep state, since it takes a long time to transition to the C0 state, the interruption time of the OS is increased in the conventional example, but it is saved as in the present invention. By excluding the logical CPU group 11B in the power state from the selection targets (candidates) of the BSP, the OS interruption time during the SMI processing can be shortened.
 図3A、図3Bは、上記図2の処理の詳細を示す。この例では、常時C0ステートで稼動させる論理CPU群11Aを予め決定しておき、SMI処理時には、論理CPU群11AからBSPを選択してSMI処理を実行させる。 3A and 3B show details of the processing of FIG. In this example, a logical CPU group 11A that is always operated in the C0 state is determined in advance, and during SMI processing, a BSP is selected from the logical CPU group 11A and SMI processing is executed.
 図3Aは、論理CPU11のAPIC IDとCステートの関係を設定したCステートテーブル21の一例を示す図である。図3Bは、各論理CPU11で行われるSMI発生からSMI処理の終了までのSMI処理を示すフローチャートである。 FIG. 3A is a diagram showing an example of the C state table 21 in which the relationship between the APIC ID of the logical CPU 11 and the C state is set. FIG. 3B is a flowchart showing the SMI process from the SMI generation to the end of the SMI process performed by each logical CPU 11.
 まず、図3AのCステートテーブル21は、ブレード100の起動時にメモリ20の所定の領域に設定される。BMC50がブレード100を起動させると、BIOS(Basic Input / Output System)60のPOST(Power On SelfTest)500期間に、特定の論理CPU11がディープCステートに遷移せず、常にC0ステートで稼動するようにハードウェアを設定し、当該論理CPU11で稼動するOSがディープCステートに遷移できないようにメモリ20の所定の領域にCステートテーブル21に設定する。 First, the C state table 21 in FIG. 3A is set in a predetermined area of the memory 20 when the blade 100 is started. When the BMC 50 activates the blade 100, the specific logical CPU 11 does not transition to the deep C state and always operates in the C0 state during the POST (Power On SelfTest) 500 period of the BIOS (Basic Input / Output System) 60. Hardware is set, and the C state table 21 is set in a predetermined area of the memory 20 so that the OS running on the logical CPU 11 cannot transition to the deep C state.
 Cステートテーブル21は、論理CPU11を0特定する識別子(CPU番号)としてのAPIC(Advanced Programmable Interrupt Controller)のIDを格納するAPIC ID211と、当該論理CPU11のCステートを固定するか否かの情報を格納するCステート設定212とをひとつのエントリに含む。 The C state table 21 includes APIC 211 that stores an ID of an APIC (Advanced Programmable Interrupt Controller) as an identifier (CPU number) for identifying the logical CPU 11 and information on whether or not to fix the C state of the logical CPU 11. The C state setting 212 to be stored is included in one entry.
 Cステート設定212では、常時C0ステートで稼動させる論理CPU11は「C0固定」に設定される。その他の論理CPU11は「C0からCxまで可変」に設定されて、ディープCステートに遷移可能となる。 In the C state setting 212, the logical CPU 11 that is always operated in the C0 state is set to “C0 fixed”. The other logical CPUs 11 are set to “variable from C0 to Cx” and can transition to the deep C state.
 BIOS60は、起動時に少なくともひとつの論理CPU11を常時C0ステートで稼動させる「C0固定」に設定する。常にC0ステートで稼動する論理CPU11としては、物理的にBMC50との通信が優位なPCH30に接続されたCPUパッケージ10の中から選択することができる。ここで、通信が優位なCPUパッケージ10は、例えば、BMC50からの配線長が最も短いCPUパッケージ10である。また、CPUパッケージ10-0~10-iごとに、少なくともひとつの論理CPU11を常時C0ステートで稼動させるようにしてもよい。 The BIOS 60 is set to “C0 fixed” that always operates at least one logical CPU 11 in the C0 state at the time of startup. The logical CPU 11 that always operates in the C0 state can be selected from the CPU packages 10 connected to the PCH 30 that is physically superior in communication with the BMC 50. Here, the CPU package 10 having superior communication is, for example, the CPU package 10 having the shortest wiring length from the BMC 50. Further, at least one logical CPU 11 may always be operated in the C0 state for each of the CPU packages 10-0 to 10-i.
 次に、図3Bを参照しながら、各論理CPU11で行われるSMI処理について説明する。 Next, SMI processing performed by each logical CPU 11 will be described with reference to FIG. 3B.
 SMI400が発生してSMI処理内のBSP選択を行う際、当該論理CPU11がCステートテーブル21を参照して、当該論理CPU11のAPIC ID211に対応するCステート設定212を取得する。論理CPU11は、Cステート設定212が「C0固定」であるか否かによってBSPの選択対象(候補)であるか否かを判定する(S402)。この判定は、Cステート設定212が「C0固定」であればBSPの選択対象とする。 When the SMI 400 is generated and the BSP is selected in the SMI process, the logical CPU 11 refers to the C state table 21 and acquires the C state setting 212 corresponding to the APIC 211 of the logical CPU 11. The logical CPU 11 determines whether or not it is a BSP selection target (candidate) depending on whether or not the C state setting 212 is “fixed C0” (S402). This determination is made a BSP selection target if the C state setting 212 is “C0 fixed”.
 当該論理CPU11がBSPの選択対象であれば、ステップS403へ進んで、BSP候補用セマフォを設定する。BSP候補用セマフォは、例えば、メモリ20の所定の領域でAPIC ID毎にフラグをセットすること実現することができる。一方、当該論理CPU11がBSPの選択対象でなければ、ステップS408へ進んで、BSPの処理完了待ちに移行する。 If the logical CPU 11 is a BSP selection target, the process proceeds to step S403 to set a BSP candidate semaphore. The BSP candidate semaphore can be realized, for example, by setting a flag for each APIC ID in a predetermined area of the memory 20. On the other hand, if the logical CPU 11 is not a BSP selection target, the process advances to step S408 to shift to BSP processing completion waiting.
 次に、ステップS404で、当該論理CPU11は、BSPの選択対象の全ての論理CPU11がBSP候補用セマフォをセットしてチェックインが完了したか否かを判定する。当該論理CPU11は、全ての選択対象についてBSP候補用セマフォがセットされていれば、全てのBSPの選択対象の論理CPU11のチェックインが完了したと判定してステップS405へ進む。すなわち、Cステートテーブル21でCステート設定212が「C0固定」に設定されたAPIC IDに対応するBSP候補用セマフォが全てセットされていればステップS405へ進む。 Next, in step S404, the logical CPU 11 determines whether all the logical CPUs 11 to be selected by the BSP have set BSP candidate semaphores and have completed check-in. If the BSP candidate semaphore has been set for all selection targets, the logical CPU 11 determines that the check-in of all BSP selection target logical CPUs 11 has been completed and proceeds to step S405. That is, if all the BSP candidate semaphores corresponding to the APIC ID in which the C state setting 212 is set to “C0 fixed” in the C state table 21 are set, the process proceeds to step S405.
 ステップS405では、BSPの選択対象の論理CPU11の中からBSPを決定する。例えば、選択対象からBSPを決定する方法として、APIC IDの最も小さい番号からひとつの論理CPU11をBSPとして選択する。BSPに選ばれなかった論理CPU11は、ステップS408へ進んでBSP処理完了待ちに移行する。 In step S405, the BSP is determined from the logical CPUs 11 to be selected by the BSP. For example, as a method of determining the BSP from the selection target, one logical CPU 11 is selected as the BSP from the number with the smallest APIC ID. The logical CPU 11 not selected as the BSP proceeds to step S408 and shifts to a BSP process completion wait.
 選択されたBSPはステップS406に進んで、上述のように所定のSMI処理を実行する。SMI処理が完了すると、BSPはSMI処理の完了通知を待ち状態の論理CPU11に発行し、BSP待ち状態の論理CPU11は待ち状態を終了する(S407)。 The selected BSP proceeds to step S406 and executes a predetermined SMI process as described above. When the SMI process is completed, the BSP issues a notification of completion of the SMI process to the logical CPU 11 in the wait state, and the logical CPU 11 in the BSP wait state ends the wait state (S407).
 以上の処理によって、Cステートテーブル21で「C0固定」に設定された論理CPU群11Aの中からひとつの論理CPU11がBSPとして選択されてSMI処理を実行することで、SMIを受け付けたときにCPUパッケージ10では、ディープCステートの論理CPU群11BがC0ステートへ遷移するのを待機する必要が無くなる。また、C0ステートの論理CPU11のうち、BSPに選択されなかった論理CPU11はSMI処理が禁止され、BSPによるSMI処理の完了を待機することになる。 Through the above processing, one logical CPU 11 is selected as the BSP from the logical CPU group 11A set to “C0 fixed” in the C state table 21 and executes the SMI processing. In the package 10, there is no need to wait for the deep C state logical CPU group 11B to transition to the C0 state. Further, among the logical CPUs 11 in the C0 state, the logical CPUs 11 that are not selected as the BSP are prohibited from SMI processing and wait for the completion of the SMI processing by the BSP.
 以上のように、省電力機能を有するマルチコアのCPUパッケージ10を搭載した計算機システムにおいて、複数の論理CPU11の省電力状態が不均一な状況でも、論理CPU11のそれぞれの省電力状態によってBSPの選択対象となる論理CPU11を制御することができる。 As described above, in the computer system equipped with the multi-core CPU package 10 having the power saving function, even when the power saving states of the plurality of logical CPUs 11 are not uniform, the selection targets of the BSP depending on the respective power saving states of the logical CPUs 11. The logical CPU 11 can be controlled.
 これにより、BIOS60等のシステムファームウェアのSMI処理時間に対して、省電力効果の高いディープCステートから論理CPU11が復帰する際の遅延の影響を排除することができる。これにより、SMIの発生によってOSの実行が中断されている時間の増大を回避することができる。 Thereby, it is possible to eliminate the influence of the delay when the logical CPU 11 returns from the deep C state having a high power saving effect on the SMI processing time of the system firmware such as the BIOS 60. Thereby, it is possible to avoid an increase in the time during which the execution of the OS is interrupted due to the occurrence of SMI.
 特に、省電力状態の論理CPU群11Bがスリープ状態などのディープCステートにあるでは、C0ステートへ遷移するまでに多大な時間を要するため、前記従来例では、OSの中断時間も増大していたが、本発明のように省電力状態の論理CPU群11BをBSPの選択対象から除外することで、SMI処理時のOSの中断時間を短縮できるのである。 In particular, when the logical CPU group 11B in the power saving state is in the deep C state such as the sleep state, it takes a long time to shift to the C0 state. Therefore, in the conventional example, the interruption time of the OS also increases. However, the OS interruption time during the SMI processing can be shortened by excluding the logical CPU group 11B in the power saving state from the selection targets of the BSP as in the present invention.
 図4A~図4Cは、本発明の実施例2を示す。前記実施例1では、Cステートテーブル21で、常時C0ステートで稼動させる論理CPU11を固定しておく例を示した。本実施例2では、CPUパッケージ10単位のCステートを消費電力に基づいて判定し、C0ステートのCPUパッケージ10を動的に選択し、当該選択されたCPUパッケージ10の論理CPU11からBSPを選択する例を示す。 4A to 4C show Example 2 of the present invention. In the first embodiment, an example in which the logical CPU 11 always operating in the C0 state is fixed in the C state table 21 is shown. In the second embodiment, the C state of the CPU package 10 unit is determined based on the power consumption, the CPU package 10 in the C0 state is dynamically selected, and the BSP is selected from the logical CPU 11 of the selected CPU package 10. An example is shown.
 図4Aは、本実施例2のCPU消費電力レジスタ41の一例を示す図である。本実施例2では、CPUパッケージ10-0~10-iの消費電力の測定を、FPGA40で行う例を示す。各CPUパッケージ10に接続されたFPGA40は、CPUパッケージ10に実装された各種センサの値を取得して、CPUパッケージ10毎の消費電力を算出し、CPU消費電力レジスタ41に設定する。なお、CPUパッケージ10の消費電力の算出については周知または公知の手法を用いればよいのでここでは詳述しない。 FIG. 4A is a diagram illustrating an example of the CPU power consumption register 41 according to the second embodiment. The second embodiment shows an example in which the power consumption of the CPU packages 10-0 to 10-i is measured by the FPGA 40. The FPGA 40 connected to each CPU package 10 acquires the values of various sensors mounted on the CPU package 10, calculates the power consumption for each CPU package 10, and sets it in the CPU power consumption register 41. Note that the calculation of the power consumption of the CPU package 10 may be a well-known or publicly known method, and therefore will not be described in detail here.
 CPU消費電力レジスタ41は、各論理CPU11からアクセス可能な所定のアドレス空間に設定される。CPU消費電力レジスタ41は、CPUパッケージ10の識別子を格納するパッケージID411と、CPUパッケージ10の消費電力の演算(または測定)結果を格納する消費電力412とをひとつのエントリに含む。 The CPU power consumption register 41 is set in a predetermined address space accessible from each logical CPU 11. The CPU power consumption register 41 includes a package ID 411 that stores an identifier of the CPU package 10 and a power consumption 412 that stores a calculation (or measurement) result of power consumption of the CPU package 10 in one entry.
 FPGA40は、CPUパッケージ10の各種センサの値が変化すると、新たな消費電力を算出してCPU消費電力レジスタ41を更新することができる。あるいは、FPGA(消費電力演算デバイス)40が、所定の周期となるたびにCPUパッケージ10の各種センサの値を取得して、消費電力を算出してCPU消費電力レジスタ41の値を更新してもよい。なお、上記では、CPUパッケージ10の識別子としてパッケージID411を用いる例を示したが、ソケットIDを用いることもできる。 The FPGA 40 can calculate new power consumption and update the CPU power consumption register 41 when values of various sensors of the CPU package 10 change. Alternatively, even when the FPGA (power consumption calculation device) 40 acquires values of various sensors of the CPU package 10 every time a predetermined period is reached, calculates power consumption, and updates the value of the CPU power consumption register 41. Good. In the above description, the package ID 411 is used as the identifier of the CPU package 10, but a socket ID can also be used.
 図4Bは、本実施例2の消費電力-Cステートテーブル42の一例を示す図である。消費電力-Cステートテーブル42は、ブレード100の起動時にBIOS60等のファームウェアによってメモリ20の所定の領域に設定され、消費電力からCステートを特定するテーブルである。 FIG. 4B is a diagram illustrating an example of the power consumption-C state table 42 according to the second embodiment. The power consumption-C state table 42 is a table that is set in a predetermined area of the memory 20 by firmware such as the BIOS 60 when the blade 100 is activated, and identifies the C state from the power consumption.
 なお、消費電力-Cステートテーブル42は、BIOS60などのファームウェアから読み出し可能なメモリ20の領域上などに設置すればよい。 The power consumption-C state table 42 may be installed on an area of the memory 20 that can be read from firmware such as the BIOS 60.
 消費電力-Cステートテーブル42は、Cステート422とCステートに対応する消費電力421と、をひとつのエントリに含む。図示の例では、CPUパッケージ10の消費電力が100W以上であればCステートはC0ステートであり、CPUパッケージ10の消費電力が100W未満で90W以上であればCステートはC1ステートであることを示す。 The power consumption-C state table 42 includes a C state 422 and power consumption 421 corresponding to the C state in one entry. In the illustrated example, the C state is the C0 state if the power consumption of the CPU package 10 is 100 W or more, and the C state is the C1 state if the power consumption of the CPU package 10 is less than 100 W and 90 W or more. .
 図4Cは、各論理CPU11で行われるSMI発生からSMI処理の終了までのSMI処理を示すフローチャートである。 FIG. 4C is a flowchart showing the SMI process from the SMI generation to the end of the SMI process performed by each logical CPU 11.
 SMI400が発生してSMI処理内のBSP選択を行う際、論理CPU11がFPGA40のCPU消費電力レジスタ41にアクセスして、論理CPU11が所属するパッケージID411の消費電力412を取得する(S501)。なお、パッケージID411は、APIC IDに含まれるパッケージIDを使用することができる。 When the SMI 400 is generated and the BSP is selected in the SMI process, the logical CPU 11 accesses the CPU power consumption register 41 of the FPGA 40 and acquires the power consumption 412 of the package ID 411 to which the logical CPU 11 belongs (S501). As the package ID 411, the package ID included in the APIC ID can be used.
 次に、論理CPU11は、消費電力-Cステートテーブル42を参照して、取得した消費電力に対応するCPUパッケージのCステートを取得する(S502)。そして、論理CPU11は、取得したCPUパッケージ10のCステートが「C0」であるか否かによってBSPの選択対象(候補)であるか否かを判定する(S503)。 Next, the logical CPU 11 refers to the power consumption-C state table 42 and acquires the C state of the CPU package corresponding to the acquired power consumption (S502). Then, the logical CPU 11 determines whether or not it is a BSP selection target (candidate) depending on whether or not the C state of the acquired CPU package 10 is “C0” (S503).
 そして、論理CPU11は、CPUパッケージ10のCステートが「C0」であれば、当該CPUパッケージ10の論理CPU11のいずれかがBSPの選択対象であると判定して、ステップS504へ進む。 If the C state of the CPU package 10 is “C0”, the logical CPU 11 determines that one of the logical CPUs 11 of the CPU package 10 is a BSP selection target, and proceeds to step S504.
 一方、論理CPU11は、CPUパッケージのCステートが「C0」以外であれば、当該CPUパッケージ10はBSPの選択対象外であると判定してステップS509へ進む。 On the other hand, if the C state of the CPU package is other than “C0”, the logical CPU 11 determines that the CPU package 10 is not a BSP selection target and proceeds to step S509.
 ステップS504では、当該CPUパッケージ10の論理CPU11のいずれかがBSPの選択対象であるので、BSP候補用セマフォを設定する。BSP候補用セマフォは、例えば、前記実施例1と同様に、処理を行う論理CPU11がメモリ20の所定の領域に、C0ステートのパッケージID411に所属するAPIC ID毎にフラグをセットすること実現することができる。 In step S504, since any one of the logical CPUs 11 of the CPU package 10 is a BSP selection target, a BSP candidate semaphore is set. The BSP candidate semaphore can be realized by setting a flag for each APIC ID belonging to the package ID 411 of the C0 state in a predetermined area of the memory 20 by the logical CPU 11 that performs processing, for example, as in the first embodiment. Can do.
 次に、ステップS505で、当該論理CPU11は、BSPの選択対象の全ての論理CPU11がBSP候補用セマフォをセットしてチェックインが完了したか否かを判定する。当該論理CPU11は、全ての選択対象についてBSP候補用セマフォがセットされていれば、全てのBSPの選択対象の論理CPU11のチェックインが完了したと判定してステップS506へ進む。すなわち、CステートがC0と判定されたAPIC IDに対応するBSP候補用セマフォが全てセットされていればステップS506へ進む。 Next, in step S505, the logical CPU 11 determines whether all the logical CPUs 11 to be selected by the BSP have set BSP candidate semaphores and check-in is completed. If the BSP candidate semaphore has been set for all selection targets, the logical CPU 11 determines that the check-in of all BSP selection target logical CPUs 11 has been completed, and proceeds to step S506. That is, if all the BSP candidate semaphores corresponding to the APIC ID for which the C state is determined to be C0 are set, the process proceeds to step S506.
 ステップS506では、BSPの選択対象の論理CPU11の中からBSPを決定する。例えば、前記実施例1と同様に、選択対象からBSPを決定する方法として、APIC IDの最も小さい番号から選択する。BSPに選ばれなかった論理CPU11は、ステップS509へ進んでBSP処理完了待ちに移行する。 In step S506, the BSP is determined from the logical CPUs 11 to be selected by the BSP. For example, as in the first embodiment, as a method for determining the BSP from the selection target, the number with the smallest APIC ID is selected. The logical CPU 11 that is not selected as the BSP proceeds to step S509 and shifts to a BSP process completion wait.
 選択されたBSPはステップS507に進んで、前記実施例1と同様に所定のSMI処理を実行する。SMI処理が完了すると、BSPはSMI処理の完了通知を待ち状態の論理CPU11に発行し、BSP待ち状態の論理CPU11は待ち状態を終了する(S508)。 The selected BSP proceeds to step S507 and executes a predetermined SMI process as in the first embodiment. When the SMI process is completed, the BSP issues a notification of completion of the SMI process to the logical CPU 11 in the wait state, and the logical CPU 11 in the BSP wait state ends the wait state (S508).
 以上の処理によって、FPGA40が演算したCPUパッケージ10毎の消費電力から、消費電力-Cステートテーブル42でCPUパッケージ10のCステートを特定することで、C0ステートのCPUパッケージ10内の論理CPU11をBSPの候補として特定することが可能となる。これにより、予めC0ステートで稼動させる論理CPU11を固定する必要が無くなって、BSPの選択対象となるCPUパッケージ10を動的に変更することが可能となる。 With the above processing, the C state of the CPU package 10 is specified by the power consumption-C state table 42 from the power consumption of each CPU package 10 calculated by the FPGA 40, so that the logical CPU 11 in the CPU package 10 in the C0 state is BSP. It becomes possible to specify as a candidate. This eliminates the need to fix the logical CPU 11 operating in the C0 state in advance, and allows the CPU package 10 to be selected by the BSP to be dynamically changed.
 また、本実施例2では、全ての論理CPU11が省電力機能を有効にすることができるので、計算機システムの消費電力を低減することが可能となる。 In the second embodiment, since all the logical CPUs 11 can enable the power saving function, the power consumption of the computer system can be reduced.
 なお、上記図4Cの処理において、C0ステートのCPUパッケージ10が存在しない場合には、すべての論理CPU11をBSPの選択対象として、ステップS504~506の処理を実施すればよい。また、本実施例2では、消費電力-Cステートテーブル42で、Cステート422のそれぞれに対応する消費電力を予め設定する例を示したが、これに限定されるものではない。 In the process of FIG. 4C, when the CPU package 10 in the C0 state does not exist, the processes of steps S504 to S506 may be performed with all the logical CPUs 11 as BSP selection targets. In the second embodiment, the power consumption corresponding to each of the C states 422 is set in advance in the power consumption-C state table 42. However, the present invention is not limited to this.
 例えば、ステップS503の比較に対応して、省電力が無効のC0ステートの消費電力のみを消費電力-Cステートテーブル42で保持するようにしてもよい。そして、論理CPU11は、CPUパッケージ10の消費電力をCPU消費電力レジスタ41から取得し、消費電力が消費電力-Cステートテーブル42のC0ステートに対応するCPUパッケージ10をBSPの選択対象とすればよい。 For example, in correspondence with the comparison in step S503, only the power consumption of the C0 state in which power saving is invalid may be held in the power consumption-C state table 42. Then, the logical CPU 11 acquires the power consumption of the CPU package 10 from the CPU power consumption register 41, and selects the CPU package 10 whose power consumption corresponds to the C0 state of the power consumption-C state table 42 as a BSP selection target. .
 図5は、本発明の実施例3を示し、BIOS60のセットアップ画面310の一例を示す画面イメージである。本実施例3は、実施例1に示した管理端末300からマネジメントモジュール210とBMC50を介してブレード100のBIOS60をセットアップする際に、SMI処理を選択する例を示す。 FIG. 5 is a screen image showing an example 3 of the BIOS 60 according to the third embodiment of the present invention. The third embodiment shows an example in which the SMI process is selected when setting up the BIOS 60 of the blade 100 via the management module 210 and the BMC 50 from the management terminal 300 shown in the first embodiment.
 BIOS60のセットアップ画面310は、SMMのSMI処理でBSPを選択するときに、「Performance」モードと、「Power Saving」モードの何れか一方のモード320を選択する。 The setup screen 310 of the BIOS 60 selects one of the “Performance” mode and the “Power Saving” mode 320 when selecting a BSP in the SMM SMI process.
 ここで、「Performance」モードは前記実施例1に示したCステートテーブル21を用いる例を示す。一方、「Power Saving」モードは、前記実施例2のFPGA40のCPU消費電力レジスタ41と消費電力-Cステートテーブル42を用いる例を示す。 Here, the “Performance” mode shows an example using the C state table 21 shown in the first embodiment. On the other hand, the “Power Saving” mode shows an example in which the CPU power consumption register 41 and the power consumption-C state table 42 of the FPGA 40 of the second embodiment are used.
 本実施例3では、SMI400の発生時に、前記実施例1の処理と、前記実施例2の処理の何れかをBIOS60のセットアップ画面310で管理端末300のオペレータが選択する。例えば、実施例1をBIOS60のデフォルト値とする。 In the third embodiment, when the SMI 400 occurs, the operator of the management terminal 300 selects one of the processing of the first embodiment and the processing of the second embodiment on the setup screen 310 of the BIOS 60. For example, the first embodiment is set as the default value of the BIOS 60.
 前記実施例1の特徴として、常に論理CPU11のいずれかひとつをC0ステートに設定しておくので省電力効果は低くなりうるが、SMIが発生してOSの実行が中断される時間は実施例2に比して短くなる場合がある。このため前記実施例1のBSPの選択処理は、計算機システムの性能を重視する第1の実行コア選択モードとする。 As a feature of the first embodiment, since any one of the logical CPUs 11 is always set in the C0 state, the power saving effect can be reduced, but the time during which the execution of the OS is interrupted due to the occurrence of SMI is the second embodiment. It may be shorter than Therefore, the BSP selection process of the first embodiment is set to the first execution core selection mode in which the performance of the computer system is emphasized.
 一方、実施例2の特徴として、C0ステートのCPUパッケージ10が無い場合、実施例1に比してSMIが発生した際にOSの実行が中断される時間は短くならないが、実施例1に比して高い省電力効果を得ることが可能である。このため前記実施例2を、計算機システムの消費電力を抑制する第2の実行コア選択モードとする。 On the other hand, as a feature of the second embodiment, when the CPU package 10 in the C0 state is not provided, the time during which the execution of the OS is interrupted when the SMI is generated is not shortened as compared with the first embodiment. Thus, a high power saving effect can be obtained. Therefore, the second embodiment is set as a second execution core selection mode that suppresses the power consumption of the computer system.
 本実施例3によれば、計算機システムの運用ポリシーなどに応じて、BSPを選択するモードを性能重視と省電力重視とのいずれかに切り替えることが可能となって、省電力機能を有するマルチコアCPUを含む計算機システムの運用を柔軟に行うことが可能となる。 According to the third embodiment, the mode for selecting the BSP can be switched between performance-oriented and power-saving-oriented according to the operation policy of the computer system, etc., and a multi-core CPU having a power-saving function It is possible to flexibly operate a computer system including
 なお、上記実施例1~3では、ブレード100のファームウェアとしてBIOS60を採用した例を示したが、UEFI(Unified Extensible Firmware Interface)を採用してもよい。 In the first to third embodiments, the BIOS 60 is used as the firmware of the blade 100. However, UEFI (Unified Extensible Firmware Interface) may be used.
 また、上記実施例1~3では、省電力機能を有し、SMIを契機にSMMへ遷移するマルチコアCPUを採用した例を示したが、これに限定されるものではない。例えば、複数のプロセッサコアを有し、各プロセッサコアが省電力モードへ遷移可能な省電力機能を有し、所定の割り込みでファームウェアの処理を実行するマルチコアプロセッサであればよい。そして、所定の割り込みを受信すると、複数のプロセッサコアのうちのひとつがファームウェアの処理を実行すればよい。また、省電力機能はプロセッサコアのクロックまたはプロセッサコアの駆動電圧の少なくとも一方を低下させるものであればよい。 In the first to third embodiments, an example is shown in which a multi-core CPU having a power saving function and transitioning to SMM in response to SMI is used. However, the present invention is not limited to this. For example, it may be a multi-core processor having a plurality of processor cores, each processor core having a power saving function capable of transitioning to a power saving mode, and executing firmware processing with a predetermined interrupt. When a predetermined interrupt is received, one of the plurality of processor cores only needs to execute firmware processing. The power saving function may be any function that reduces at least one of the processor core clock and the processor core drive voltage.
 また、省電力機能の利用状態を示す指標として、Cステートを用いる例を示したが、これに限定されるものではない。例えば、C0ステート以外をプロセッサコアの消費電力を低減する省電力の有効モードとし、C0ステートを定格または定格以上でプロセッサコアを稼動させる省電力の無効モードとしてもよい。なお、定格以上でプロセッサコアを稼動させることは、例えば、省電力の有効モードにあるプロセッサコアの消費電力が低いときに、省電力の無効モードにあるプロセッサコアのクロックを所定の比率(例えば20%)増大させて、処理能力を向上させることである。 In addition, although an example in which the C state is used as an index indicating the usage state of the power saving function is shown, the present invention is not limited to this. For example, the power saving valid mode for reducing the power consumption of the processor core may be set to a state other than the C0 state, and the power saving invalid mode for operating the processor core at the rated value or higher than the rated value. Note that operating the processor core above the rating means, for example, that when the power consumption of the processor core in the power saving effective mode is low, the clock of the processor core in the power saving invalid mode is set to a predetermined ratio (for example, 20 %) To increase the processing capacity.
 また、上記実施例1~3では、マルチコアCPUが、アプリケーションまたはOSを実行するモードと、所定の割り込みでBIOS60の処理を実行するSMM(System Maintenance Mode)とを切り替える例を示したが、これに限定されるものではない。例えば、マルチコアCPUが、アプリケーションまたはOSを実行する第1のモードと、所定の割り込みでファームウェアの処理を実行する第2のモードとを有し、これら2つの実行モードを切り替え可能であればよい。 In the first to third embodiments, an example in which the multi-core CPU switches between the mode in which the application or OS is executed and the SMM (System Maintenance Mode) that executes the processing of the BIOS 60 with a predetermined interrupt has been shown. It is not limited. For example, the multi-core CPU only has to have a first mode for executing an application or OS and a second mode for executing firmware processing with a predetermined interrupt, and the two execution modes can be switched.
 また、上記実施例2では、複数のCPUパッケージ10に接続されたFPGA40で消費電力を演算し、CPU消費電力レジスタ41に設定して各論理CPU11に消費電力を提供する例を示したが、FPGA40に限定されるものではない。複数のCPUパッケージ10に接続されて各CPUパッケージ10の消費電力を演算し、各論理CPU11からアクセス可能なレジスタに演算結果の消費電力を設定する消費電力演算デバイスであればよい。 In the second embodiment, the power consumption is calculated by the FPGA 40 connected to the plurality of CPU packages 10 and set in the CPU power consumption register 41 to provide the power consumption to each logical CPU 11. It is not limited to. Any power consumption calculation device that is connected to a plurality of CPU packages 10 to calculate the power consumption of each CPU package 10 and sets the power consumption of the calculation result in a register accessible from each logical CPU 11 may be used.
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。 In addition, this invention is not limited to the above-mentioned Example, Various modifications are included. For example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. In addition, any of the additions, deletions, or substitutions of other configurations can be applied to a part of the configuration of each embodiment, either alone or in combination.
 また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。 In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. In addition, each of the above-described configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Also, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Claims (10)

  1.  複数のプロセッサコアを有するマルチコアプロセッサと、メモリと、ファームウェアとを含む計算機であって、
     前記プロセッサコアは、
     アプリケーションまたはOSを実行する第1のモードと、所定の割り込みでファームウェアの処理を実行する第2のモードとを切り替える実行モードと、
     前記プロセッサコアの消費電力を低減する省電力有効モードと、定格または定格以上で前記プロセッサコアを稼動させる省電力無効モードと、の何れか一方を設定する省電力機能と、を含み、
     前記プロセッサコアは、
     前記所定の割り込みを受け付けると、前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアを選択し、当該選択されたプロセッサコアを前記第2のモードへ遷移させて前記ファームウェアの処理を実行させることを特徴とする計算機。
    A computer including a multi-core processor having a plurality of processor cores, a memory, and firmware,
    The processor core is
    An execution mode for switching between a first mode for executing an application or an OS and a second mode for executing firmware processing by a predetermined interrupt;
    A power saving function for setting one of a power saving effective mode for reducing the power consumption of the processor core and a power saving invalid mode for operating the processor core at a rating or above a rating; and
    The processor core is
    When the predetermined interrupt is received, a processor core that operates in the power saving invalid mode is selected from the plurality of processor cores, and the firmware process is executed by changing the selected processor core to the second mode. A computer characterized by letting
  2.  請求項1に記載の計算機であって、
     前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアが予め決定されたことを特徴とする計算機。
    The computer according to claim 1,
    A computer in which a processor core that operates in a power saving invalid mode is determined in advance among the plurality of processor cores.
  3.  請求項1に記載の計算機であって、
     前記マルチコアプロセッサを複数有し、当該マルチコアプロセッサに接続されて各マルチコアプロセッサ毎の消費電力を演算して前記マルチコアプロセッサからアクセス可能なレジスタに前記消費電力を設定する消費電力演算デバイスと、
     前記メモリに設定されて、少なくとも前記省電力無効モードに対応する消費電力を予め決定した情報と、をさらに有し、
     前記プロセッサコアは、
     前記所定の割り込みを受け付けると、前記消費電力演算デバイスの前記レジスタから各マルチコアプロセッサ毎の消費電力を取得し、前記消費電力で前記情報を参照して前記省電力無効モードのマルチコアプロセッサを特定し、当該特定したマルチコアプロセッサのプロセッサコアを選択することを特徴とする計算機。
    The computer according to claim 1,
    A plurality of the multi-core processors, connected to the multi-core processor to calculate the power consumption for each multi-core processor and set the power consumption in a register accessible from the multi-core processor;
    Information that is set in the memory and that predetermines power consumption corresponding to at least the power saving invalid mode;
    The processor core is
    When the predetermined interrupt is received, the power consumption for each multi-core processor is obtained from the register of the power consumption arithmetic device, the multi-core processor in the power saving invalid mode is specified by referring to the information with the power consumption, A computer characterized by selecting a processor core of the identified multi-core processor.
  4.  請求項1に記載の計算機であって、
     前記プロセッサコアは、
     前記所定の割り込みを受け付けると、前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアをひとつ選択し、当該選択されたプロセッサコアを前記第2のモードへ遷移させて前記ファームウェアの処理を実行させ、前記省電力無効モードで稼動するプロセッサコアのうち前記選択されなかったプロセッサコアは前記ファームウェアの処理を禁止することを特徴とする計算機。
    The computer according to claim 1,
    The processor core is
    When the predetermined interrupt is received, one processor core operating in the power saving invalid mode is selected from the plurality of processor cores, and the selected processor core is shifted to the second mode to perform the processing of the firmware. A computer that is executed and that is not selected among processor cores operating in the power saving invalid mode prohibits the processing of the firmware.
  5.  請求項1に記載の計算機であって、
     前記マルチコアプロセッサを複数有し、当該マルチコアプロセッサに接続されて各マルチコアプロセッサ毎の消費電力を演算して前記マルチコアプロセッサからアクセス可能なレジスタに前記消費電力を設定する消費電力演算デバイスと、
     前記メモリに設定されて、少なくとも前記省電力無効モードに対応する消費電力を予め決定した情報と、をさらに有し、
     前記ファームウェアは、
     前記第2のモードへ遷移させるプロセッサコアを選択する際に、計算機の性能を重視する第1の実行コア選択モードと、計算機の消費電力を抑制する第2の実行コア選択モードと、の何れか一方を設定し、
     前記第1の実行コア選択モードは、
     前記ファームウェアが、前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアが予め決定し、
     前記第2の実行コア選択モードは、
     前記プロセッサコアが前記所定の割り込みを受け付けると、前記消費電力演算デバイスの前記レジスタから各マルチコアプロセッサ毎の消費電力を取得し、前記消費電力で前記情報を参照して前記省電力無効モードのマルチコアプロセッサを特定し、当該特定したマルチコアプロセッサのプロセッサコアを選択することを特徴とする計算機。
    The computer according to claim 1,
    A plurality of the multi-core processors, connected to the multi-core processor to calculate the power consumption for each multi-core processor and set the power consumption in a register accessible from the multi-core processor;
    Information that is set in the memory and that predetermines power consumption corresponding to at least the power saving invalid mode;
    The firmware is
    One of a first execution core selection mode that places importance on the performance of a computer and a second execution core selection mode that suppresses power consumption of the computer when selecting a processor core to be shifted to the second mode. Set one side,
    The first execution core selection mode is:
    The firmware determines in advance a processor core that operates in a power saving invalid mode among the plurality of processor cores,
    The second execution core selection mode is:
    When the processor core accepts the predetermined interrupt, the power consumption for each multi-core processor is acquired from the register of the power consumption arithmetic device, and the information is referred to by the power consumption, and the multi-core processor in the power saving invalid mode And a processor core of the identified multi-core processor is selected.
  6.  複数のプロセッサコアを有するマルチコアプロセッサと、メモリと、ファームウェアとを含む計算機の制御方法であって、
     前記プロセッサコアは、前記プロセッサコアの消費電力を低減する省電力有効モードと、定格または定格以上で前記プロセッサコアを稼動させる省電力無効モードと、の何れか一方を設定する第1のステップと、
     前記プロセッサコアは、アプリケーションまたはOSを実行する第1のモードで稼動する第2のステップと、
     前記プロセッサコアは、所定の割り込みを受け付けたときに前記ファームウェアの処理を実行する第2のモードへ移行する第3のステップと、を含み、
     前記第3のステップは、
     前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアを選択し、当該選択されたプロセッサコアを前記第2のモードへ遷移させて前記ファームウェアの処理を実行させることを特徴とする計算機の制御方法。
    A computer control method including a multi-core processor having a plurality of processor cores, a memory, and firmware,
    The processor core sets a power saving effective mode for reducing power consumption of the processor core and a power saving invalid mode for operating the processor core at a rating or above a rating, and a first step;
    The processor core operates in a first mode for executing an application or OS;
    The processor core includes a third step of transitioning to a second mode in which processing of the firmware is executed when a predetermined interrupt is received;
    The third step includes
    Selecting a processor core operating in a power saving invalid mode from the plurality of processor cores, causing the selected processor core to transition to the second mode and executing the processing of the firmware; Control method.
  7.  請求項6に記載の計算機の制御方法であって、
     前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアが予め決定されたことを特徴とする計算機の制御方法。
    The computer control method according to claim 6, comprising:
    A computer control method, wherein a processor core operating in a power saving invalid mode is determined in advance among the plurality of processor cores.
  8.  請求項6に記載の計算機の制御方法であって、
     前記第3のステップは、
     複数のマルチコアプロセッサに接続されて各マルチコアプロセッサ毎の消費電力を演算して前記マルチコアプロセッサからアクセス可能なレジスタに前記消費電力を設定する消費電力演算デバイスの前記レジスタから各マルチコアプロセッサ毎の消費電力を取得し、前記メモリに設定されて少なくとも前記省電力無効モードに対応する消費電力を予め決定した情報を参照して前記省電力無効モードのマルチコアプロセッサを特定し、当該特定したマルチコアプロセッサのプロセッサコアを選択することを特徴とする計算機の制御方法。
    The computer control method according to claim 6, comprising:
    The third step includes
    Power consumption for each multi-core processor is calculated from the register of the power consumption calculation device connected to a plurality of multi-core processors to calculate power consumption for each multi-core processor and set the power consumption in a register accessible from the multi-core processor Obtaining the multi-core processor in the power saving invalid mode with reference to information that is set in the memory and predetermined power consumption corresponding to at least the power saving invalid mode is set, and the processor core of the identified multi-core processor is determined A computer control method characterized by selecting.
  9.  請求項6に記載の計算機の制御方法であって、
     前記第3のステップは、
     前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアをひとつ選択し、当該選択されたプロセッサコアを前記第2のモードへ遷移させて前記ファームウェアの処理を実行させ、前記省電力無効モードで稼動するプロセッサコアのうち前記選択されなかったプロセッサコアは前記ファームウェアの処理を禁止することを特徴とする計算機の制御方法。
    The computer control method according to claim 6, comprising:
    The third step includes
    Selecting one processor core operating in the power saving invalid mode from the plurality of processor cores, causing the selected processor core to transition to the second mode and executing the processing of the firmware; A computer control method, wherein the processor cores that are not selected among processor cores that operate in the system prohibit the processing of the firmware.
  10.  請求項6に記載の計算機の制御方法であって、
     前記ファームウェアが、
     前記第2のモードへ遷移させるプロセッサコアを選択する際に、計算機の性能を重視する第1の実行コア選択モードと、計算機の消費電力を抑制する第2の実行コア選択モードと、の何れか一方を設定するステップをさらに含み、
     前記第3のステップは、
     前記第1の実行コア選択モードでは、前記複数のプロセッサコアのうち省電力無効モードで稼動するプロセッサコアが予め決定され、当該省電力無効モードで稼動するプロセッサコアを選択し、当該選択されたプロセッサコアを前記第2のモードへ遷移させて前記ファームウェアの処理を実行させ、
     前記第2の実行コア選択モードでは、
     複数のマルチコアプロセッサに接続されて各マルチコアプロセッサ毎の消費電力を演算して前記マルチコアプロセッサからアクセス可能なレジスタに前記消費電力を設定する消費電力演算デバイスの前記レジスタから各マルチコアプロセッサ毎の消費電力を取得し、前記メモリに設定されて少なくとも前記省電力無効モードに対応する消費電力を予め決定した情報を参照して前記省電力無効モードのマルチコアプロセッサを特定し、当該特定したマルチコアプロセッサのプロセッサコアを選択し、当該選択されたプロセッサコアを前記第2のモードへ遷移させて前記ファームウェアの処理を実行させることを特徴とする計算機の制御方法。
    The computer control method according to claim 6, comprising:
    The firmware is
    One of a first execution core selection mode that places importance on the performance of a computer and a second execution core selection mode that suppresses power consumption of the computer when selecting a processor core to be shifted to the second mode. Further comprising setting one,
    The third step includes
    In the first execution core selection mode, a processor core that operates in the power saving invalid mode among the plurality of processor cores is determined in advance, and a processor core that operates in the power saving invalid mode is selected, and the selected processor Causing the core to transition to the second mode to execute the firmware process;
    In the second execution core selection mode,
    Power consumption for each multi-core processor is calculated from the register of the power consumption calculation device connected to a plurality of multi-core processors to calculate power consumption for each multi-core processor and set the power consumption in a register accessible from the multi-core processor Obtaining the multi-core processor in the power saving invalid mode with reference to information that is set in the memory and predetermined power consumption corresponding to at least the power saving invalid mode is set, and the processor core of the identified multi-core processor is determined A computer control method comprising: selecting, causing the selected processor core to transition to the second mode, and executing the processing of the firmware.
PCT/JP2015/071014 2015-07-23 2015-07-23 Computer and control method for controlling computer WO2017013799A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071014 WO2017013799A1 (en) 2015-07-23 2015-07-23 Computer and control method for controlling computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071014 WO2017013799A1 (en) 2015-07-23 2015-07-23 Computer and control method for controlling computer

Publications (1)

Publication Number Publication Date
WO2017013799A1 true WO2017013799A1 (en) 2017-01-26

Family

ID=57835316

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/071014 WO2017013799A1 (en) 2015-07-23 2015-07-23 Computer and control method for controlling computer

Country Status (1)

Country Link
WO (1) WO2017013799A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486585A (en) * 2017-11-03 2021-03-12 华为技术有限公司 Method and system for recovering logic in FPGA chip and FPGA device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250817A (en) * 2009-04-08 2010-11-04 Intel Corp Redirection of inter-processor interruption in system management mode
JP2014527249A (en) * 2011-09-19 2014-10-09 クアルコム,インコーポレイテッド Dynamic sleep for multi-core computing devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250817A (en) * 2009-04-08 2010-11-04 Intel Corp Redirection of inter-processor interruption in system management mode
JP2014527249A (en) * 2011-09-19 2014-10-09 クアルコム,インコーポレイテッド Dynamic sleep for multi-core computing devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486585A (en) * 2017-11-03 2021-03-12 华为技术有限公司 Method and system for recovering logic in FPGA chip and FPGA device
CN112486585B (en) * 2017-11-03 2024-01-02 超聚变数字技术有限公司 Method, system and FPGA device for recovering logic in FPGA chip

Similar Documents

Publication Publication Date Title
JP7313381B2 (en) Embedded scheduling of hardware resources for hardware acceleration
JP6158267B2 (en) Method and apparatus for setting thermal design power in a microprocessor
US9454380B2 (en) Computing platform performance management with RAS services
JP6265885B2 (en) Dynamic mapping of logical cores
US8489904B2 (en) Allocating computing system power levels responsive to service level agreements
EP3123328B1 (en) Dynamic enablement of multithreading
EP3123326B1 (en) Address expansion and contraction in a multithreading computer system
CA2940988C (en) Thread context restoration in a multithreading computer system
JP2010250817A (en) Redirection of inter-processor interruption in system management mode
JP5972981B2 (en) A constrained boot method on multi-core platforms
CN109313604B (en) Computing system, apparatus, and method for dynamic configuration of compressed virtual memory
JP6111181B2 (en) Computer control method and computer
JP2015022553A (en) Computer control method and computer
EP3979072B1 (en) Firmware boot task distribution to enable low latency boot performance
EP3123327B1 (en) Multithreading capability information retrieval
WO2017013799A1 (en) Computer and control method for controlling computer
US20180341482A1 (en) Method and arrangement for utilization of a processing arrangement
US20240004454A1 (en) Control of power state in computer processor
US12001332B2 (en) Runtime de-interleave and re-interleave of system memory
US20240037030A1 (en) Runtime de-interleave and re-interleave of system memory

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15898957

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15898957

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP