US20210064117A1 - Optimizing power usage by factoring processor architectural events to pmu - Google Patents

Optimizing power usage by factoring processor architectural events to pmu Download PDF

Info

Publication number
US20210064117A1
US20210064117A1 US17/097,325 US202017097325A US2021064117A1 US 20210064117 A1 US20210064117 A1 US 20210064117A1 US 202017097325 A US202017097325 A US 202017097325A US 2021064117 A1 US2021064117 A1 US 2021064117A1
Authority
US
United States
Prior art keywords
core
power
counter
count
counters
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US17/097,325
Inventor
Yen-Cheng Liu
P. Keong Or
Krishnakanth V. Sistla
Ganapati Srinivasa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tahoe Research Ltd
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to US17/097,325 priority Critical patent/US20210064117A1/en
Publication of US20210064117A1 publication Critical patent/US20210064117A1/en
Assigned to TAHOE RESEARCH, LTD. reassignment TAHOE RESEARCH, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTEL CORPORATION
Priority to US18/164,448 priority patent/US20230251702A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • 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

  • FIG. 1 illustrates a diagram of a thermal sensor and architecture events connection to a PCU in accordance with one embodiment of the invention.
  • FIG. 2 illustrates a flow chart of a method for architecture event power controller in accordance with one embodiment of the invention.
  • FIG. 3 is a block diagram of computer system in accordance with an embodiment of the invention.
  • an architectural event refers to an event or condition that may be monitored (e.g., by programming information corresponding to the architectural event into a state).
  • software may configure a channel to monitor certain architectural event which may not otherwise be observable by software and/or hardware.
  • an architectural event may generally refer to an event or condition that occurs within processing resources or other logic present on the same integrated circuit chip as a processor.
  • One embodiment provides additional value to a power control unit (PCU) to make appropriate power decisions using existing designs.
  • the PCU handles thermal events, schedules/manages per core's frequency increase/decrease.
  • logic is added in the PCU.
  • the PCU then takes feedback from counters to assist in making decisions to scale up a particular core.
  • Instruction retried is one type of EMON counter. By knowing instruction retired per cycle, the system knows how fast the current application is executing inside the processor. More instruction retired per cycle, the better performance the application is getting.
  • Another type EMON counter is a MLC/LLC cache miss.
  • Programs experience lots of MLC/LLC cache miss usually means they require higher BW to system interconnect. It also means the program will not be effectively executing instruction since most of time the problem will be stalled waiting for data return.
  • Branch Misprediction is also a type of EMON counter. This is a good indicator to show that the core is not doing lots of “useful” work since it is working on the wrong branch of instruction stream.
  • TLB miss is also a type of EMON counter. Similar to MLC/LLC miss, a TLB miss usually means stalling the core until data has returned.
  • FIG. 1 illustrates a diagram of a thermal sensor and architecture events connection 100 to a PCU in accordance with one embodiment of the invention.
  • FIG. 1 illustrates a processor with eight cores 105 and four shared last level caches (LLC) 107 . It should be noted that the eight cores and four shared LLCs are shown for illustrative purposes only. Any number of cores or LLCs may be used for this embodiment.
  • a functional unit 110 is shared among the cores 105 .
  • the PCU 115 is one of the units to be shared by the cores 105 .
  • the dark squares in the cores 105 represent thermal sensors 120 .
  • the cores 105 have thermal sensors 120 to prevent over heating of the cores 105 .
  • a serial push bus 125 connects all the sensors 120 on the bus.
  • the push bus 125 may have various branches.
  • a first branch 127 of the push bus 125 may take up to 96 time slots, where each time slot is reserved for one of the thermal sensors 120 .
  • Each branch 127 of the push bus 105 may monitor one core 105 with all the thermal sensors 120 . All the data collected from the thermal sensors 120 by the push bus 125 is then sent to the PCU 115 .
  • a similar approach is made to monitor architectural events by linking different counters via the same serial push bus mechanism and each counter having a designated time slot.
  • the light squares are EMON counters 130 .
  • the dotted line 135 is another branch of the serial push bus.
  • the second branch 135 of the push bus 125 may take up to 96 time slots, where each time slot is reserved for one of the EMON counters.
  • Each branch 135 of the push bus 125 may monitor one core 105 with all the EMON counters 130 . All the data collected from the EMON counters 130 by the push bus 125 is then sent to the PCU 115 .
  • the PCU 115 may have very low sampling rate to retrieve information from the push bus 125 which is one reason why all the sensors may share a narrow bus.
  • the serial push bus 125 may not be more than 10 bits wide and runs a low sampling rate. Due to this, there is no high bandwidth requirement to monitor these events. Sampling the counters every 1000 cycles may be sufficient.
  • the sampling frequency should be tuned with the thermal sensors so that PCU 115 decisions may be made coherent between architectural events 130 and thermal sensors 120 .
  • FIG. 2 illustrates a flow chart of a method 200 for architecture event power controller in accordance with one embodiment of the invention.
  • the method 200 begins when the system is in idle mode 205 .
  • architectural event power optimization logic AEPOL
  • AEPOL queries PCU 115 to determine if turbo mode is available 215 . If turbo mode is not available, meaning no reserve power is available, AEPOL goes back to idle mode 205 until the next timer interval arrives. If turbo mode is available, AEPOL initiates a power up sequence 220 . Once the power up sequence is completed AEPOL goes into idle mode 205 until the next timer interval.
  • AEPOL For a power down sequence, AEPOL notifies PCU 115 to initiate power down sequence 225 . Once power down sequence is completed, AEPOL goes to idle mode 205 until the next timer interval.
  • the AEPOL referred to in FIG. 2 is implemented per core.
  • the logic may constantly monitor architectural events to ensure cores are running in it optimal power/performance state.
  • architecture event counts of interest are counted and sent to the PCU 115 .
  • PCU 115 then analyzes the counts it receives from each counter and determines whether it should power up or power down a particular core 105 .
  • a system interconnect shared cache, bus control logic, on-die memory control, etc.
  • the same mechanism may be used to scale system interconnect logic.
  • all EMON counters 130 monitored should be referenced together to better understand AEPOL behavior. For example, low instruction retired per cycle (IPC) count does not mean core is not running effectively unless we know it also suffers high cache miss or high branch misprediction.
  • IPC instruction retired per cycle
  • AEPOL allows for an intelligent decision making on when to turn on turbo where performance will benefit and can be observed and it lowers the power dissipation with fine tuning performance power state on cores that are stalling on instruction
  • AEPOL With AEPOL optimization, the system is given a smarter way to utilize the available power to the processor. In future processor design where power aware architecture must exist across the board, AEPOL not only provides a way to conserve energy when it is not needed, it also provides opportunity to optimize performance further within the same power budget. This mechanism opens a whole new range of opportunity for finer grain hardware tuning.
  • FIG. 3 illustrates a block diagram of a computing system 300 in accordance with an embodiment of the invention.
  • the computing system 300 may include one or more central processing units(s) (CPUs) 31 or processors that communicate via an interconnection network (or bus) 49 .
  • the processors 31 may be any type of a processor such as a general purpose processor, a network processor (that processes data communicated over a computer network 48 , or other types of a processor (including a reduced instruction set computer (RISC) processor or a complex instruction set computer (CISC).
  • RISC reduced instruction set computer
  • CISC complex instruction set computer
  • the processors 31 may have a single or multiple core design.
  • the processors 31 with a multiple core design may integrate different types of processor cores on the same integrated circuit (IC) die.
  • processors 31 may utilize the embodiments discussed with references to FIGS. 1 and 2 .
  • one or more of the processors 31 may include one or more processor cores 32 .
  • the operations discussed with reference to FIGS. 1 and 2 may be performed by one or more components of the system 300 .
  • a chipset 33 may also communicate with the interconnection network 49 .
  • the chipset 33 may include a memory control hub (MCH) 34 .
  • the MCH 34 may include a memory controller 36 that communicates with a memory 41 .
  • the memory 41 may store data and sequences of instructions that are executed by the CPU 31 , or any other device included in the computing system 300 .
  • the memory 41 may include one or more volatile storage (or memory) devices such as random access memory (RAM), dynamic RAM, (DRAM), synchronous DRAM (SDRAM), static RAM (SRAM), or the like.
  • RAM random access memory
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • SRAM static RAM
  • Additional devices may communicate via the interconnection network 49 , such as multiple CPUs and/or multiple system memories.
  • a hub interface 51 may allow the MCH 34 to communicate with an input/output control hub (ICH) 38 .
  • the ICH 38 may provide an interface to I/O devices that communicate with components of the computing system 300 .
  • the ICH 38 may communicate with a bus 47 through a peripheral bridge (or controller) 39 , such as a peripheral component interconnect (PCI) bridge, a universal serial bus (USB) controller, or the like.
  • the bridge 39 may provide a data path between the CPU 31 and peripheral devices. Other types of topologies may be utilized. Also, multiple buses may communicate with the ICH 38 , e.g. through multiple bridges or controllers.
  • ICH 38 may include, in various embodiments of the invention, integrated drive electronics (IDE) or small computer system interfaces (SCSI) hard drive(s), USB ports, a keyboard, a mouse, parallel port(s), serial port(s), floppy disk drive(s), digital output support (e.g., digital video interface (DVI)), or the like.
  • IDE integrated drive electronics
  • SCSI small computer system interfaces
  • the bus 47 may communicate with an audio device 43 , one or more disk drive(s) 44 , and a network interface device 46 (which communicates with the computer network 48 ). Other devices may be in communication with the bus 47 . Also, various components (such as the network interface device 46 ) may be in communication with the MCH 34 in some embodiments of the invention. In addition, the processor 31 and the MCH 34 may be combined to form a single chip. Furthermore, the graphics accelerator 42 may be included within the MCH 34 in other embodiments of the invention.
  • nonvolatile memory may include one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), a disk drive (e.g., 44 ) a floppy disk, a compact disk ROM (CD-ROM), a digital versatile disk (DVD), flash memory, a magneto-optical disk, or other types of nonvolatile machine-readable media capable of storing electronic instructions and/or data.
  • ROM read-only memory
  • PROM programmable ROM
  • EPROM erasable PROM
  • EEPROM electrically EPROM
  • FIG. 4 illustrates a computing system 400 that is arranged in a point-to-point (PtP) configuration, according to an embodiment of the invention.
  • FIG. 4 shows a system where processors, memory, and input/output devices are interconnected by a number of point to point interfaces.
  • the operations discussed with reference to FIGS. 1-3 may be performed by one or more components of the system 400 .
  • the system 400 may include several processors, of which only two, processors 5 , 10 are shown for clarity.
  • the processors 5 , 10 may each include a local memory controller hub (MCH) 15 , 20 to allow communication with memories 15 , 20 .
  • MCH memory controller hub
  • the memories 15 , and/or 20 may store various data such as those discussed with reference to the memory 512 .
  • the processors 5 , 10 may be any type of a processor such as those discussed with reference to the processors 31 of FIG. 3 .
  • the processors 5 , 10 may exchange data via a point-to-point interface 93 using PtP interface circuits 40 and 45 , respectively.
  • the processors 5 , 10 may each exchange data with a chipset 50 via individual PtP interfaces 55 , 60 using point to point interface circuits 65 , 70 , 75 , 80 .
  • the chipset 50 may also exchange data with a high-performance graphics circuit 37 via a high performance graphic interface 97 , using a PtP interface circuit 90 .
  • At least one embodiment of the invention may be provided within the processors 5 , 10 .
  • one or more of the processor core (s) 32 may be located within the processors 5 , 10 .
  • Other embodiments of the invention may exist in other circuits, logic units, or devices with the system 400 of FIG. 6 .
  • other embodiments of the invention may be distributed throughout several circuits, logic units, or devices illustrated in FIG. 4 .
  • the chipset 50 may communicate with a bus 16 using a PtP interface circuit 95 .
  • the bus 16 may have one or more devices that communicate with it, such as a bus bridge 18 and I/O devices 14 .
  • the bus bridge 14 may be in communication with other devices such as a keyboard/mouse 22 , communication devices 26 (such as modems, network interface devices, etc. that may be in communication with the computer network 48 ), audio I/O devices, and/or a data storage device 28 .
  • the data storage device 28 may store code 30 that may be executed by the processors 5 and/or 10 .
  • the operations discussed herein, e.g., with reference to FIGS. 1-4 may be implemented by hardware (e.g., circuitry), software, firmware, microcode, or combinations thereof, which may be provided as a computer program product, e.g., including a machine readable or computer readable medium having stored thereon instructions (or software procedures) used to program a computer to perform a process discussed herein.
  • a computer program product e.g., including a machine readable or computer readable medium having stored thereon instructions (or software procedures) used to program a computer to perform a process discussed herein.
  • the term “logic” may include, by way of example, software, hardware, or combinations of software and hardware.
  • the machine readable medium may include a storage device such as those discussed with respect to FIGS. 1-4 .
  • Such computer readable media may be downloaded as a computer program product, wherein the program may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (.g., a bus, a modem, or a network connection).
  • a carrier wave shall be regarded as comprising a machine readable medium.
  • Coupled may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements may not be in direct contact with each other, but may still cooperate or interact with each other.

Abstract

A method and apparatus to monitor architecture events is disclosed. The architecture events are linked together via a push bus mechanism with each architectural event having a designated time slot. There is at least one branch of the push bus in each core. Each branch of the push bus may monitor one core with all the architectural events. All the data collected from the events by the push bus is then sent to a power control unit.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of application Ser. No. 15/281,587, filed Sep. 30, 2016, which is a continuation of application Ser. No. 14/972,765, filed Dec. 17, 2015, which is a continuation of application Ser. No. 14/598,454, filed Jan. 16, 2015 (now U.S. Pat. No. 9,367,112 issued Jun. 14, 2016), which is a continuation of application Ser. No. 14/182,385, filed Feb. 18, 2014 (now U.S. Pat. No. 8,966,299 issued Feb. 24, 2015), which is a continuation of application Ser. No. 13/787,085, filed Mar. 6, 2013 (now U.S. Pat. No. 8,700,933 issued Apr. 15, 2014), which is a continuation of application Ser. No. 13/329,700, filed Dec. 19, 2011 (now U.S. Pat. No. 8,412,970 issued Apr. 2, 2013), which is a continuation of application Ser. No. 11/618,477, filed Dec. 29, 2006 (now U.S. Pat. No. 8,117,478 issued Feb. 14, 2012), all of which are herein incorporated by reference.
  • BACKGROUND ART
  • Processor power consumption has become a major issue in recent years. The current trend of processor design to multi-core architecture as eased the pressure on power consumption. However, power consumption still grows linearly with the number of cores being designed.
  • Recent developments in technology have provided new opportunities to further optimize power consumptions. However, these technologies still have several downsides. Specifically, within the new technologies, OS does not understand how effectively the workload is running in the hardware and the associated power cost in the hardware. Secondly, OS interaction is very slow to react. Thirdly, the current OS do not control performance power state per core. Finally, turbo mode only takes thermal and sensor feedback, it does take into account the cores higher performance requirement.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Various features of the invention will be apparent from the following description of preferred embodiments as illustrated in the accompanying drawings, in which like reference numerals generally refer to the same parts throughout the drawings. The drawings are not necessarily to scale, the emphasis instead being placed upon illustrating the principles of the inventions.
  • FIG. 1 illustrates a diagram of a thermal sensor and architecture events connection to a PCU in accordance with one embodiment of the invention.
  • FIG. 2 illustrates a flow chart of a method for architecture event power controller in accordance with one embodiment of the invention.
  • FIG. 3 is a block diagram of computer system in accordance with an embodiment of the invention.
  • FIG. 4 is a block diagram of a computing system arranged in a point-to-point configuration, according to one embodiment of the invention.
  • DETAILED DESCRIPTION
  • In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular structures, architectures, interfaces, techniques, etc. in order to provide a thorough understanding of the various aspects of the invention. However, it will be apparent to those skilled in the art having the benefit of the present disclosure that the various aspects of the invention may be practiced in other examples that depart from these specific details. In certain instances, descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
  • Some of the embodiments discussed herein may be utilized to perform event handling operations. In an embodiment, an “event” refers to a condition that may or may not require some action to be taken by logic. Furthermore, events may be classified into different types based on the action that is to be taken.
  • In one embodiment, and “architectural event” refers to an event or condition that may be monitored (e.g., by programming information corresponding to the architectural event into a state). In an embodiment, software may configure a channel to monitor certain architectural event which may not otherwise be observable by software and/or hardware. In an embodiment, an architectural event may generally refer to an event or condition that occurs within processing resources or other logic present on the same integrated circuit chip as a processor.
  • In an embodiment, architecture events are one factor for making power management decisions. Architecture events are widely used for software performance optimization. By factoring in architecture events for making power management decisions, the embodiment may effectively detect core execution condition that neither OS nor turbo mode can currently detect.
  • One embodiment provides additional value to a power control unit (PCU) to make appropriate power decisions using existing designs. The PCU handles thermal events, schedules/manages per core's frequency increase/decrease. In the embodiment, logic is added in the PCU. The PCU then takes feedback from counters to assist in making decisions to scale up a particular core.
  • Architecture events inside a processor are usually detected by a series of physical counters implemented in different areas of the processor. These counters maybe referred to as EMON counters. EMON counters are performance monitoring counters that reside in each function unit that counts the number of specific events that has occurred during a period of time.
  • There may be public EMON counters and private EMON counters. Public EMON counters are those accessible by vendors and users, while private EMON counters are used internally for debugging. Both public and private EMON counters may be used for software and hardware tuning. EMON counters are very useful tools to understand the application behavior and how effective the current application is doing inside the processor.
  • Instruction retried is one type of EMON counter. By knowing instruction retired per cycle, the system knows how fast the current application is executing inside the processor. More instruction retired per cycle, the better performance the application is getting.
  • Another type EMON counter is a MLC/LLC cache miss. Programs experience lots of MLC/LLC cache miss usually means they require higher BW to system interconnect. It also means the program will not be effectively executing instruction since most of time the problem will be stalled waiting for data return.
  • Branch Misprediction is also a type of EMON counter. This is a good indicator to show that the core is not doing lots of “useful” work since it is working on the wrong branch of instruction stream.
  • TLB miss is also a type of EMON counter. Similar to MLC/LLC miss, a TLB miss usually means stalling the core until data has returned.
  • There are many more counters defined in any processor. For example, Intel's P4 processor contains more than 200 counters. Some of the counters are for performance tuning while others are for debug/validation purposes. The four counters mentioned above, instruction retired, MLC/LLC cache miss, branch misprediction and TLB miss are crucial to the power management discussed here within.
  • However, it should be noted that the present disclosure is not limited to the above identified counters. Rather, the present disclosure may take as many architectural events as needed. The present system utilizes a push bus mechanism that can connect all counters serially on the same bus since these counters do not require high bandwidth or high refresh rate.
  • FIG. 1 illustrates a diagram of a thermal sensor and architecture events connection 100 to a PCU in accordance with one embodiment of the invention. FIG. 1 illustrates a processor with eight cores 105 and four shared last level caches (LLC) 107. It should be noted that the eight cores and four shared LLCs are shown for illustrative purposes only. Any number of cores or LLCs may be used for this embodiment. A functional unit 110 is shared among the cores 105. The PCU 115 is one of the units to be shared by the cores 105.
  • The dark squares in the cores 105 represent thermal sensors 120. The cores 105 have thermal sensors 120 to prevent over heating of the cores 105. A serial push bus 125 connects all the sensors 120 on the bus. The push bus 125 may have various branches. A first branch 127 of the push bus 125 may take up to 96 time slots, where each time slot is reserved for one of the thermal sensors 120. There is at least one branch 127 of the push bus 125 in each core 105. Each branch 127 of the push bus 105 may monitor one core 105 with all the thermal sensors 120. All the data collected from the thermal sensors 120 by the push bus 125 is then sent to the PCU 115.
  • A similar approach is made to monitor architectural events by linking different counters via the same serial push bus mechanism and each counter having a designated time slot. The light squares are EMON counters 130. The dotted line 135 is another branch of the serial push bus. The second branch 135 of the push bus 125 may take up to 96 time slots, where each time slot is reserved for one of the EMON counters. There is at least one branch 135 of the push bus 125 in each core 105. Each branch 135 of the push bus 125 may monitor one core 105 with all the EMON counters 130. All the data collected from the EMON counters 130 by the push bus 125 is then sent to the PCU 115.
  • The PCU 115 may have very low sampling rate to retrieve information from the push bus 125 which is one reason why all the sensors may share a narrow bus. The serial push bus 125 may not be more than 10 bits wide and runs a low sampling rate. Due to this, there is no high bandwidth requirement to monitor these events. Sampling the counters every 1000 cycles may be sufficient. The sampling frequency should be tuned with the thermal sensors so that PCU 115 decisions may be made coherent between architectural events 130 and thermal sensors 120.
  • FIG. 2 illustrates a flow chart of a method 200 for architecture event power controller in accordance with one embodiment of the invention. The method 200 begins when the system is in idle mode 205. When each timer interval is reached, architectural event power optimization logic (AEPOL) examines the counts and decides whether a power up or power down sequence should be initiated 210.
  • For a power up sequence, AEPOL queries PCU 115 to determine if turbo mode is available 215. If turbo mode is not available, meaning no reserve power is available, AEPOL goes back to idle mode 205 until the next timer interval arrives. If turbo mode is available, AEPOL initiates a power up sequence 220. Once the power up sequence is completed AEPOL goes into idle mode 205 until the next timer interval.
  • For a power down sequence, AEPOL notifies PCU 115 to initiate power down sequence 225. Once power down sequence is completed, AEPOL goes to idle mode 205 until the next timer interval.
  • The AEPOL referred to in FIG. 2 is implemented per core. The logic may constantly monitor architectural events to ensure cores are running in it optimal power/performance state.
  • In one embodiment, architecture event counts of interest are counted and sent to the PCU 115. PCU 115 then analyzes the counts it receives from each counter and determines whether it should power up or power down a particular core 105. In one embodiment, if a system interconnect (shared cache, bus control logic, on-die memory control, etc.) also supports power scaling, the same mechanism may be used to scale system interconnect logic.
  • In an embodiment, all EMON counters 130 monitored should be referenced together to better understand AEPOL behavior. For example, low instruction retired per cycle (IPC) count does not mean core is not running effectively unless we know it also suffers high cache miss or high branch misprediction.
  • As shown in Table 1 below, the architecture events of interests are grouped together to make decisions. A threshold count for each architecture event counter is also defined. The threshold value is defined based on performance studies for a particular architecture, as performance may differ depending on the architecture of the system. In Table 1, if all related architecture counters are low, this suggests that the system does not suffer from any system bound actions. Therefore, scaling up the frequency on the core does help increasing the performance of the application. On the other hand, if the core is suffering rather high counts of MLC/LLC misses, there will be no benefit to increase core frequency since the performance is bounded by access latency to an off-chip component. In this situation, the system should scale down the core frequency and divert the saved power to other cores that may be doing useful work.
  • Therefore, AEPOL allows for an intelligent decision making on when to turn on turbo where performance will benefit and can be observed and it lowers the power dissipation with fine tuning performance power state on cores that are stalling on instruction
  • TABLE 1
    PCU decision tree per core based on architectural event counters
    Architectural Count Count Count Count Count Count
    Events threshold threshold threshold threshold threshold threshold
    Inst. Retired Low high low low low low
    MLC Miss low don't care high high low low
    LLC Miss low don't care high low don't care low
    TLB Miss low don't care don't care don't care don't care high
    Branch Miss low don't care don't care don't care high don't care
    Final Decision Power UP Powr UP Power Down Power Down Power Up Power Down
  • There can be many more scenarios or other useful architectural event counters that can do finer grain control of the core power usage and the AEPOL logic is applicable to all these situations.
  • With AEPOL optimization, the system is given a smarter way to utilize the available power to the processor. In future processor design where power aware architecture must exist across the board, AEPOL not only provides a way to conserve energy when it is not needed, it also provides opportunity to optimize performance further within the same power budget. This mechanism opens a whole new range of opportunity for finer grain hardware tuning.
  • FIG. 3 illustrates a block diagram of a computing system 300 in accordance with an embodiment of the invention. The computing system 300 may include one or more central processing units(s) (CPUs) 31 or processors that communicate via an interconnection network (or bus) 49. The processors 31 may be any type of a processor such as a general purpose processor, a network processor (that processes data communicated over a computer network 48, or other types of a processor (including a reduced instruction set computer (RISC) processor or a complex instruction set computer (CISC). Moreover, the processors 31 may have a single or multiple core design. The processors 31 with a multiple core design may integrate different types of processor cores on the same integrated circuit (IC) die. Also, the processors 31 may utilize the embodiments discussed with references to FIGS. 1 and 2. For example, one or more of the processors 31 may include one or more processor cores 32. Also, the operations discussed with reference to FIGS. 1 and 2 may be performed by one or more components of the system 300.
  • A chipset 33 may also communicate with the interconnection network 49. The chipset 33 may include a memory control hub (MCH) 34. The MCH 34 may include a memory controller 36 that communicates with a memory 41. The memory 41 may store data and sequences of instructions that are executed by the CPU 31, or any other device included in the computing system 300. In one embodiment of the invention, the memory 41 may include one or more volatile storage (or memory) devices such as random access memory (RAM), dynamic RAM, (DRAM), synchronous DRAM (SDRAM), static RAM (SRAM), or the like. Nonvolatile memory may also be utilized such as a hard disk. Additional devices may communicate via the interconnection network 49, such as multiple CPUs and/or multiple system memories.
  • The MCH 34 may also include a graphics interface 37 that communicates with a graphics accelerator 42. In one embodiment of the invention, the graphics interface 37 may communicate with the graphics accelerator 42 via an accelerated graphics port (AGP). In an embodiment of the invention, a display (such as a flat panel display) may communicate with the graphics interface 37 through, for example, a signal converter that translates a digital representation of an image stored in a storage device such as a video memory or system memory into display signals that are interpreted and displayed by the display. The display signals produced by the display device may pass through various control devices before being interpreted by and subsequently displayed on the display.
  • A hub interface 51 may allow the MCH 34 to communicate with an input/output control hub (ICH) 38. The ICH 38 may provide an interface to I/O devices that communicate with components of the computing system 300. The ICH 38 may communicate with a bus 47 through a peripheral bridge (or controller) 39, such as a peripheral component interconnect (PCI) bridge, a universal serial bus (USB) controller, or the like. The bridge 39 may provide a data path between the CPU 31 and peripheral devices. Other types of topologies may be utilized. Also, multiple buses may communicate with the ICH 38, e.g. through multiple bridges or controllers. Moreover, other peripheral in communication with the ICH 38 may include, in various embodiments of the invention, integrated drive electronics (IDE) or small computer system interfaces (SCSI) hard drive(s), USB ports, a keyboard, a mouse, parallel port(s), serial port(s), floppy disk drive(s), digital output support (e.g., digital video interface (DVI)), or the like.
  • The bus 47 may communicate with an audio device 43, one or more disk drive(s) 44, and a network interface device 46 (which communicates with the computer network 48). Other devices may be in communication with the bus 47. Also, various components (such as the network interface device 46) may be in communication with the MCH 34 in some embodiments of the invention. In addition, the processor 31 and the MCH 34 may be combined to form a single chip. Furthermore, the graphics accelerator 42 may be included within the MCH 34 in other embodiments of the invention.
  • Furthermore, the computing system 300 may include volatile and/or nonvolatile memory (or storage). For example, nonvolatile memory may include one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), a disk drive (e.g., 44) a floppy disk, a compact disk ROM (CD-ROM), a digital versatile disk (DVD), flash memory, a magneto-optical disk, or other types of nonvolatile machine-readable media capable of storing electronic instructions and/or data.
  • FIG. 4 illustrates a computing system 400 that is arranged in a point-to-point (PtP) configuration, according to an embodiment of the invention. In particular, FIG. 4 shows a system where processors, memory, and input/output devices are interconnected by a number of point to point interfaces. The operations discussed with reference to FIGS. 1-3 may be performed by one or more components of the system 400.
  • As illustrated in FIG. 4, the system 400 may include several processors, of which only two, processors 5, 10 are shown for clarity. The processors 5, 10 may each include a local memory controller hub (MCH) 15, 20 to allow communication with memories 15, 20. The memories 15, and/or 20 may store various data such as those discussed with reference to the memory 512.
  • The processors 5, 10 may be any type of a processor such as those discussed with reference to the processors 31 of FIG. 3. The processors 5, 10 may exchange data via a point-to-point interface 93 using PtP interface circuits 40 and 45, respectively. The processors 5, 10 may each exchange data with a chipset 50 via individual PtP interfaces 55, 60 using point to point interface circuits 65, 70, 75, 80. The chipset 50 may also exchange data with a high-performance graphics circuit 37 via a high performance graphic interface 97, using a PtP interface circuit 90.
  • At least one embodiment of the invention may be provided within the processors 5, 10. For example, one or more of the processor core (s) 32 may be located within the processors 5, 10. Other embodiments of the invention, however, may exist in other circuits, logic units, or devices with the system 400 of FIG. 6. Furthermore, other embodiments of the invention may be distributed throughout several circuits, logic units, or devices illustrated in FIG. 4.
  • The chipset 50 may communicate with a bus 16 using a PtP interface circuit 95. The bus 16 may have one or more devices that communicate with it, such as a bus bridge 18 and I/O devices 14. Via a bus 20, the bus bridge 14 may be in communication with other devices such as a keyboard/mouse 22, communication devices 26 (such as modems, network interface devices, etc. that may be in communication with the computer network 48), audio I/O devices, and/or a data storage device 28. The data storage device 28 may store code 30 that may be executed by the processors 5 and/or 10.
  • In various embodiments of the invention, the operations discussed herein, e.g., with reference to FIGS. 1-4 may be implemented by hardware (e.g., circuitry), software, firmware, microcode, or combinations thereof, which may be provided as a computer program product, e.g., including a machine readable or computer readable medium having stored thereon instructions (or software procedures) used to program a computer to perform a process discussed herein. Also, the term “logic” may include, by way of example, software, hardware, or combinations of software and hardware. The machine readable medium may include a storage device such as those discussed with respect to FIGS. 1-4.
  • Additionally, such computer readable media may be downloaded as a computer program product, wherein the program may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (.g., a bus, a modem, or a network connection). Accordingly, herein, a carrier wave shall be regarded as comprising a machine readable medium.
  • Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least an implementation. The appearances of the phrase “in one embodiment” in various places in the specification may or may not be all referring to the same embodiment.
  • Also, in the description and claims, the term “coupled” and “connected”, along with their derivatives, may be used. In some embodiments of the invention, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements may not be in direct contact with each other, but may still cooperate or interact with each other.
  • Thus, although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that claimed subject matter may not be limited to the specific features or acts described. Rather, the specific features and acts are disclosed as sample forms of implementing the claimed subject matter.

Claims (39)

What is claimed is:
1. A processor comprising:
a plurality of cores including a first core of a first core type and a second core of a second core type, wherein the first core and second core are able to operate concurrently at different frequencies in different power states;
a plurality of thermal sensors to provide thermal data, including at least a first thermal sensor to provide first thermal data for the first core and at least a second thermal sensor to provide second thermal data for the second core;
a plurality of counters integral to the first core, each counter to count a number of occurrences of an architectural event, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions;
a system interconnect coupled to the plurality of cores, the system interconnect able to operate in a plurality of different power states; and
a power controller coupled to the system interconnect, the power controller to control the power states of the first core and the second core in accordance with the thermal data.
2. The processor of claim 1 wherein the power controller to control the power states of the interconnect in accordance with the thermal data.
3. The processor of claim 2 wherein the power controller is to control the power states of the system interconnect, the first core, and the second core in accordance with a specified power limit.
4. The processor of claim 1 wherein the power controller is to attempt to optimize performance within a specified thermal budget.
5. The processor of claim 2 wherein the first core is to operate at a first frequency in a first power state, the second core is to operate at a second frequency in a second power state, and the system interconnect is to operate at a third frequency in a third power state.
6. The processor of claim 4 further comprising:
a third thermal sensor in combination with the first thermal sensor to provide the first thermal data for the first core.
7. The processor of claim 1 further comprising:
a functional unit coupled to the plurality of cores over the system interconnect; and
a cache shared by the plurality of cores.
8. The processor of claim 7, further comprising:
a memory controller coupled to the system interconnect and a system memory device.
9. The processor of claim 8, further comprising:
a network interface coupled to the system interconnect;
a flash memory coupled to the interconnect; and
a display coupled to the system interconnect.
10. The processor of claim 1, wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on the first thermal data and/or the second thermal data.
11. The processor of claim 1 wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on current power states of the plurality of cores and the power limit.
12. The processor of claim 1 wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on performance data determined from one or more of the plurality of counters.
13. The processor of claim 1 wherein the plurality of counters integral to the first core comprise a first plurality of counters, the processor further comprising: a second plurality of counters integral to the second core, each counter of the second plurality of counters to count a number of occurrences of one of the architectural events, the second plurality of counters including a fifth counter to count a number of instructions retired, a sixth counter to count last level cache misses, a seventh counter to count translation lookaside buffer (TLB) misses, and an eighth counter to count branch mispredictions.
14. A method comprising:
operating a plurality of cores at a plurality of different frequencies associated with different power states, the plurality of cores including a first core of a first core type and a second core of a second core type;
providing thermal data from a plurality of thermal sensors, including providing first thermal data from a first thermal sensor associated with the first core and providing second thermal data from a second thermal sensor associated with the second core;
counting, by a plurality of counters integral to the first core, a corresponding number of occurrences of architectural events, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions;
operating a system interconnect coupled to the plurality of cores in a plurality of different power states; and
controlling, by a power controller coupled to the system interconnect, the power states of the first core and the second core in accordance with the thermal data.
15. The method of claim 14 further comprising:
controlling, by the power controller, the power states of the interconnect in accordance with the thermal data.
16. The method of claim 15 further comprising:
controlling, by the power controller, the power states of the system interconnect, the first core, and the second core in accordance with a specified power limit.
17. The method of claim 14 wherein controlling further comprises:
attempting to optimize performance within a specified thermal budget.
18. The method of claim 15 wherein the first core is to operate at a first frequency in a first power state, the second core is to operate at a second frequency in a second power state, and the system interconnect is to operate at a third frequency in a third power state.
19. The method of claim 17 further comprising:
providing a portion of the first thermal data from a third thermal sensor associated with the first core.
20. The method of claim 14 wherein a functional unit is coupled to the plurality of cores over the system interconnect and a cache is shared by the plurality of cores.
21. The method of claim 20, wherein a memory controller is coupled to the system interconnect and a system memory device.
22. The method of claim 21, wherein a network interface is coupled to the system interconnect, a flash memory is coupled to the interconnect, and a display is coupled to the system interconnect.
23. The method of claim 14, wherein controlling further comprises the power controller determining whether to modify a power state of one of the plurality of cores based on the first thermal data and/or the second thermal data.
24. The method of claim 23 wherein controlling further comprises the power controller determining whether to modify a power state of one of the plurality of cores based on current power states of the plurality of cores and the power limit.
25. The method of claim 14 wherein controlling further comprises the power controller determining whether to modify a power state of one of the plurality of cores based on performance data determined from one or more of the plurality of counters.
26. The method of claim 14 wherein the plurality of counters comprise a first plurality of counters, the method further comprising:
counting, by a second plurality of counters integral to the second core, a corresponding number of occurrences of architectural events, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions.
27. A system comprising:
a system memory to store program code and data; and
a processor coupled to the memory, the processor comprising:
a plurality of cores including a first core of a first core type and a second core of a second core type, wherein the first core and second core are able to operate concurrently at different frequencies in different power states;
a plurality of thermal sensors to provide thermal data, including at least a first thermal sensor to provide first thermal data for the first core and at least a second thermal sensor to provide second thermal data for the second core;
a plurality of counters integral to the first core, each counter to count a number of occurrences of one of the architectural events, the plurality of counters including a first counter to count a number of instructions retired, a second counter to count last level cache misses, a third counter to count translation lookaside buffer (TLB) misses, and a fourth counter to count branch mispredictions;
a system interconnect coupled to the plurality of cores, the system interconnect able to operate in a plurality of different power states; and
a power controller coupled to the system interconnect, the power controller to control the power states of the first core and the second core in accordance with the thermal data.
28. The system of claim 27 wherein the power controller to control the power states of the interconnect in accordance with the thermal data.
29. The system of claim 28 wherein the power controller is to control the power states of the system interconnect, the first core, and the second core in accordance with a specified power limit.
30. The system of claim 27 wherein the power controller is to attempt to optimize performance within a specified thermal budget.
31. The system of claim 28 wherein the first core is to operate at a first frequency in a first power state, the second core is to operate at a second frequency in a second power state, and the system interconnect is to operate at a third frequency in a third power state.
32. The system of claim 30 further comprising:
a third thermal sensor in combination with the first thermal sensor to provide the first thermal data for the first core.
33. The system of claim 27 further comprising:
a functional unit coupled to the plurality of cores over the system interconnect; and
a cache shared by the plurality of cores.
34. The system of claim 33, further comprising:
a memory controller coupled to the system interconnect and the system memory.
35. The system of claim 34, further comprising:
a network interface coupled to the system interconnect;
a flash memory coupled to the interconnect; and
a display coupled to the system interconnect.
36. The system of claim 27, wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on the first thermal data and/or the second thermal data.
37. The system of claim 27 wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on current power states of the plurality of cores and the power limit.
38. The system of claim 27 wherein the power controller is to determine whether to modify a power state of one of the plurality of cores based on performance data determined from one or more of the plurality of counters.
39. The system of claim 27 wherein the plurality of counters integral to the first core comprise a first plurality of counters, the system further comprising: a second plurality of counters integral to the second core, each counter of the second plurality of counters to count a number of occurrences of one of the architectural events, the second plurality of counters including a fifth counter to count a number of instructions retired, a sixth counter to count last level cache misses, a seventh counter to count translation lookaside buffer (TLB) misses, and an eighth counter to count branch mispredictions.
US17/097,325 2006-12-29 2020-11-13 Optimizing power usage by factoring processor architectural events to pmu Abandoned US20210064117A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/097,325 US20210064117A1 (en) 2006-12-29 2020-11-13 Optimizing power usage by factoring processor architectural events to pmu
US18/164,448 US20230251702A1 (en) 2006-12-29 2023-02-03 Optimizing power usage by factoring processor architectural events to pmu

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US11/618,477 US8117478B2 (en) 2006-12-29 2006-12-29 Optimizing power usage by processor cores based on architectural events
US13/329,700 US8412970B2 (en) 2006-12-29 2011-12-19 Optimizing power usage by factoring processor architectural events to PMU
US13/787,085 US8700933B2 (en) 2006-12-29 2013-03-06 Optimizing power usage by factoring processor architectural events to PMU
US14/182,385 US8966299B2 (en) 2006-12-29 2014-02-18 Optimizing power usage by factoring processor architectural events to PMU
US14/598,454 US9367112B2 (en) 2006-12-29 2015-01-16 Optimizing power usage by factoring processor architectural events to PMU
US14/972,765 US20160195913A1 (en) 2006-12-29 2015-12-17 Optimizing power usage by factoring processor architectural events to pmu
US15/281,587 US11144108B2 (en) 2006-12-29 2016-09-30 Optimizing power usage by factoring processor architectural events to PMU
US17/097,325 US20210064117A1 (en) 2006-12-29 2020-11-13 Optimizing power usage by factoring processor architectural events to pmu

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/281,587 Continuation US11144108B2 (en) 2006-12-29 2016-09-30 Optimizing power usage by factoring processor architectural events to PMU

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/164,448 Continuation US20230251702A1 (en) 2006-12-29 2023-02-03 Optimizing power usage by factoring processor architectural events to pmu

Publications (1)

Publication Number Publication Date
US20210064117A1 true US20210064117A1 (en) 2021-03-04

Family

ID=39585766

Family Applications (11)

Application Number Title Priority Date Filing Date
US11/618,477 Active 2028-03-14 US8117478B2 (en) 2006-12-29 2006-12-29 Optimizing power usage by processor cores based on architectural events
US13/329,700 Active US8412970B2 (en) 2006-12-29 2011-12-19 Optimizing power usage by factoring processor architectural events to PMU
US13/609,006 Active US8473766B2 (en) 2006-12-29 2012-09-10 Optimizing power usage by processor cores based on architectural events
US13/787,085 Active US8700933B2 (en) 2006-12-29 2013-03-06 Optimizing power usage by factoring processor architectural events to PMU
US14/182,385 Active US8966299B2 (en) 2006-12-29 2014-02-18 Optimizing power usage by factoring processor architectural events to PMU
US14/598,454 Expired - Fee Related US9367112B2 (en) 2006-12-29 2015-01-16 Optimizing power usage by factoring processor architectural events to PMU
US14/972,765 Abandoned US20160195913A1 (en) 2006-12-29 2015-12-17 Optimizing power usage by factoring processor architectural events to pmu
US15/281,506 Abandoned US20170017292A1 (en) 2006-12-29 2016-09-30 Optimizing power usage by factoring processor architectural events to pmu
US15/281,587 Active 2027-02-06 US11144108B2 (en) 2006-12-29 2016-09-30 Optimizing power usage by factoring processor architectural events to PMU
US17/097,325 Abandoned US20210064117A1 (en) 2006-12-29 2020-11-13 Optimizing power usage by factoring processor architectural events to pmu
US18/164,448 Abandoned US20230251702A1 (en) 2006-12-29 2023-02-03 Optimizing power usage by factoring processor architectural events to pmu

Family Applications Before (9)

Application Number Title Priority Date Filing Date
US11/618,477 Active 2028-03-14 US8117478B2 (en) 2006-12-29 2006-12-29 Optimizing power usage by processor cores based on architectural events
US13/329,700 Active US8412970B2 (en) 2006-12-29 2011-12-19 Optimizing power usage by factoring processor architectural events to PMU
US13/609,006 Active US8473766B2 (en) 2006-12-29 2012-09-10 Optimizing power usage by processor cores based on architectural events
US13/787,085 Active US8700933B2 (en) 2006-12-29 2013-03-06 Optimizing power usage by factoring processor architectural events to PMU
US14/182,385 Active US8966299B2 (en) 2006-12-29 2014-02-18 Optimizing power usage by factoring processor architectural events to PMU
US14/598,454 Expired - Fee Related US9367112B2 (en) 2006-12-29 2015-01-16 Optimizing power usage by factoring processor architectural events to PMU
US14/972,765 Abandoned US20160195913A1 (en) 2006-12-29 2015-12-17 Optimizing power usage by factoring processor architectural events to pmu
US15/281,506 Abandoned US20170017292A1 (en) 2006-12-29 2016-09-30 Optimizing power usage by factoring processor architectural events to pmu
US15/281,587 Active 2027-02-06 US11144108B2 (en) 2006-12-29 2016-09-30 Optimizing power usage by factoring processor architectural events to PMU

Family Applications After (1)

Application Number Title Priority Date Filing Date
US18/164,448 Abandoned US20230251702A1 (en) 2006-12-29 2023-02-03 Optimizing power usage by factoring processor architectural events to pmu

Country Status (3)

Country Link
US (11) US8117478B2 (en)
JP (2) JP2008165797A (en)
CN (2) CN101266515B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022271234A1 (en) * 2021-06-25 2022-12-29 Intel Corporation Hardware-assisted core frequency and voltage scaling in a poll mode idle loop

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117478B2 (en) 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
US8356194B2 (en) 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8826270B1 (en) * 2010-03-16 2014-09-02 Amazon Technologies, Inc. Regulating memory bandwidth via CPU scheduling
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8645716B1 (en) 2010-10-08 2014-02-04 Marvell International Ltd. Method and apparatus for overwriting an encryption key of a media drive
US8949637B2 (en) * 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead
US8793515B2 (en) * 2011-06-27 2014-07-29 Intel Corporation Increasing power efficiency of turbo mode operation in a processor
JP5806529B2 (en) * 2011-07-06 2015-11-10 ルネサスエレクトロニクス株式会社 Semiconductor device, radio communication terminal using the same, and clock frequency control method
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US10013045B2 (en) 2011-12-21 2018-07-03 Intel Corporation Apparatus, method, and system for adaptive compensation of reverse temperature dependence
WO2013095429A1 (en) * 2011-12-21 2013-06-27 Intel Corporation Apparatus, method, and system for adaptive compensation of reverse temperature dependence
KR101621776B1 (en) * 2012-02-02 2016-05-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Quality of service targets in multicore processors
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
US9354689B2 (en) 2012-03-13 2016-05-31 Intel Corporation Providing energy efficient turbo operation of a processor
WO2013137860A1 (en) 2012-03-13 2013-09-19 Intel Corporation Dynamically computing an electrical design point (edp) for a multicore processor
US9846475B2 (en) 2012-03-31 2017-12-19 Intel Corporation Controlling power consumption in multi-core environments
US9804656B2 (en) * 2012-09-29 2017-10-31 Intel Corporation Micro-architectural energy monitor event-assisted temperature sensing
US10025686B2 (en) * 2012-10-30 2018-07-17 Intel Corporation Generating and communicating platform event digests from a processor of a system
KR101819040B1 (en) 2013-01-08 2018-01-16 인텔 코포레이션 Detachable computing system having dual batteries
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9513688B2 (en) 2013-03-16 2016-12-06 Intel Corporation Measurement of performance scalability in a microprocessor
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US9557792B1 (en) 2013-05-31 2017-01-31 Amazon Technologies, Inc. Datacenter power management optimizations
JP6130750B2 (en) * 2013-07-16 2017-05-17 株式会社東芝 Memory control circuit and processor
US9430014B2 (en) 2013-07-18 2016-08-30 Qualcomm Incorporated System and method for idle state optimization in a multi-processor system on a chip
WO2015015305A1 (en) 2013-07-31 2015-02-05 Marvell Word Trade Ltd. Parallelizing boot operations
US9172714B2 (en) * 2013-08-28 2015-10-27 Global Foundries U.S. 2 LLC Malicious activity detection of a functional unit
US9218488B2 (en) 2013-08-28 2015-12-22 Globalfoundries U.S. 2 Llc Malicious activity detection of a processing thread
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US9417876B2 (en) 2014-03-27 2016-08-16 International Business Machines Corporation Thread context restoration in a multithreading computer system
US9594660B2 (en) 2014-03-27 2017-03-14 International Business Machines Corporation Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores
US9354883B2 (en) 2014-03-27 2016-05-31 International Business Machines Corporation Dynamic enablement of multithreading
US10102004B2 (en) * 2014-03-27 2018-10-16 International Business Machines Corporation Hardware counters to track utilization in a multithreading computer system
US9804846B2 (en) 2014-03-27 2017-10-31 International Business Machines Corporation Thread context preservation in a multithreading computer system
US9921848B2 (en) 2014-03-27 2018-03-20 International Business Machines Corporation Address expansion and contraction in a multithreading computer system
US9395788B2 (en) 2014-03-28 2016-07-19 Intel Corporation Power state transition analysis
US20160139589A1 (en) * 2014-11-18 2016-05-19 Qualcomm Incorporated Thermal mitigation based on event counter
US10095434B2 (en) 2015-01-02 2018-10-09 Reservoir Labs, Inc. Systems and methods for efficient determination of task dependences after loop tiling
US9910470B2 (en) * 2015-12-16 2018-03-06 Intel Corporation Controlling telemetry data communication in a processor
CN109075968A (en) 2016-03-08 2018-12-21 马维尔国际贸易有限公司 Method and apparatus for safety equipment certification
EP3473035B1 (en) * 2016-07-13 2021-04-07 Huawei Technologies Co., Ltd. Application resilience system and method thereof for applications deployed on a cloud platform
US10318428B2 (en) 2016-09-12 2019-06-11 Microsoft Technology Licensing, Llc Power aware hash function for cache memory mapping
US20180210836A1 (en) * 2017-01-24 2018-07-26 Microsoft Technology Licensing, Llc Thermal and reliability based cache slice migration
US10241561B2 (en) 2017-06-13 2019-03-26 Microsoft Technology Licensing, Llc Adaptive power down of intra-chip interconnect
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US11528165B2 (en) * 2018-01-19 2022-12-13 Textron Innovations, Inc. Remote sensor data acquisition
US20190041950A1 (en) * 2018-03-28 2019-02-07 Intel Corporation System, Apparatus And Method For Data Driven Low Power State Control Based On Performance Monitoring Information
US11523345B1 (en) 2021-06-15 2022-12-06 Hewlett-Packard Development Company, L.P. Power draw throttle

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5305454A (en) * 1991-08-12 1994-04-19 International Business Machines Corporation Notification of event handlers in broadcast or propagation mode by event management services in a computer system
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US5761200A (en) * 1993-10-27 1998-06-02 Industrial Technology Research Institute Intelligent distributed data transfer system
ATE205616T1 (en) * 1994-10-19 2001-09-15 Advanced Micro Devices Inc INTEGRATED PROCESSOR SYSTEMS FOR PORTABLE INFORMATION DEVICES
US5781783A (en) * 1996-06-28 1998-07-14 Intel Corporation Method and apparatus for dynamically adjusting the power consumption of a circuit block within an integrated circuit
US5970439A (en) * 1997-03-13 1999-10-19 International Business Machines Corporation Performance monitoring in a data processing system
JPH11161383A (en) * 1997-09-05 1999-06-18 Texas Instr Inc <Ti> Microprocessor circuit, its system, and method for controlling power consumption of microprocessor in response to on-chip activity
US6622300B1 (en) * 1999-04-21 2003-09-16 Hewlett-Packard Development Company, L.P. Dynamic optimization of computer programs using code-rewriting kernal module
US6460107B1 (en) * 1999-04-29 2002-10-01 Intel Corporation Integrated real-time performance monitoring facility
US6725282B1 (en) * 1999-09-07 2004-04-20 Bath Iron Works Method and apparatus for a wearable computer
US6633943B1 (en) * 1999-09-21 2003-10-14 Sony Corporation Method and system for the simplification of leaf-limited bridges
DE69920460T2 (en) * 1999-10-25 2005-01-20 Texas Instruments Inc., Dallas Intelligent power control in distributed processing systems
EP1182556B1 (en) * 2000-08-21 2009-08-19 Texas Instruments France Task based adaptive profiling and debugging
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
JP3570382B2 (en) * 2001-01-26 2004-09-29 日本電気株式会社 Power saving graphic control circuit
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
JP4445160B2 (en) * 2001-05-18 2010-04-07 富士通株式会社 EVENT MEASUREMENT DEVICE AND METHOD, EVENT MEASUREMENT PROGRAM, COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE PROGRAM, AND PROCESSOR SYSTEM
US6775750B2 (en) * 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
US6898718B2 (en) * 2001-09-28 2005-05-24 Intel Corporation Method and apparatus to monitor performance of a process
DE10148325A1 (en) * 2001-09-29 2003-04-17 Daimler Chrysler Ag Central node of data bus system with bus monitor unit e.g. for motor vehicles and aircraft, has diagnosis unit integrated into central node
US7171570B2 (en) * 2001-11-16 2007-01-30 Apple Computer, Inc. Method and apparatus for selectively increasing the operating speed of an electronic circuit
US7281140B2 (en) * 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US20030158609A1 (en) * 2002-02-19 2003-08-21 Koninklijke Philips Electronics N.V. Power saving management for portable devices
US7222245B2 (en) * 2002-04-26 2007-05-22 Hewlett-Packard Development Company, L.P. Managing system power based on utilization statistics
US6948082B2 (en) * 2002-05-17 2005-09-20 International Business Machines Corporation Method and apparatus for software-assisted thermal management for electronic systems
US7971030B2 (en) 2002-08-07 2011-06-28 Mmagix Technology Limited Method for using multiple processing resources which share multiple co-processor resources
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
JP3836422B2 (en) * 2002-11-27 2006-10-25 ナブテスコ株式会社 Blade drive
US20040117677A1 (en) * 2002-12-13 2004-06-17 Sanjeev Jahagirdar Throttle of an integrated device
CN1519679B (en) * 2003-01-21 2010-04-28 英业达股份有限公司 Configuration of adjusting CPU operating frequency and method
US7337334B2 (en) * 2003-02-14 2008-02-26 International Business Machines Corporation Network processor power management
US7197655B2 (en) * 2003-06-26 2007-03-27 International Business Machines Corporation Lowered PU power usage method and apparatus
TWI273573B (en) * 2003-06-28 2007-02-11 Samsung Electronics Co Ltd Information storage medium, recording and reproducing apparatus, and method for minimizing interference
US7272732B2 (en) * 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
US20050010908A1 (en) * 2003-07-10 2005-01-13 International Business Machines Corporation Method, apparatus and computer program product for implementing breakpoint based performance measurement
US20050012025A1 (en) * 2003-07-16 2005-01-20 Jackson Hsieh Image sensor and method for packaging the same
US7152186B2 (en) * 2003-08-04 2006-12-19 Arm Limited Cross-triggering of processing devices
US7318222B2 (en) * 2003-08-27 2008-01-08 Sun Microsystems, Inc. Methods for execution control acquistion of a program and for executing an optimized version of a program
US7146511B2 (en) * 2003-10-07 2006-12-05 Hewlett-Packard Development Company, L.P. Rack equipment application performance modification system and method
US7752470B2 (en) * 2003-12-03 2010-07-06 International Business Machines Corporation Method and system for power management including device controller-based device use evaluation and power-state control
US20050125701A1 (en) * 2003-12-03 2005-06-09 International Business Machines Corporation Method and system for energy management via energy-aware process scheduling
US7770034B2 (en) * 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US20050183065A1 (en) * 2004-02-13 2005-08-18 Wolczko Mario I. Performance counters in a multi-threaded processor
CN100361040C (en) * 2004-02-24 2008-01-09 中国科学院计算技术研究所 Dynamic frequency conversion device for core of processor under SOC architecture and method
US7506216B2 (en) * 2004-04-21 2009-03-17 International Business Machines Corporation System and method of workload-dependent reliability projection and monitoring for microprocessor chips and systems
US20050283669A1 (en) * 2004-06-03 2005-12-22 Adkisson Richard W Edge detect circuit for performance counter
US7676530B2 (en) * 2004-06-03 2010-03-09 Hewlett-Packard Development Company, L.P. Duration minimum and maximum circuit for performance counter
JP2005352672A (en) * 2004-06-09 2005-12-22 Kyocera Mita Corp Electric equipment
US20070094444A1 (en) * 2004-06-10 2007-04-26 Sehat Sutardja System with high power and low power processors and thread transfer
US7281145B2 (en) * 2004-06-24 2007-10-09 International Business Machiness Corporation Method for managing resources in a CPU by allocating a specified percentage of CPU resources to high priority applications
US7676662B2 (en) * 2004-07-31 2010-03-09 Hewlett-Packard Development Company, L.P. Virtualization of a non-privileged instruction that behaves differently when executed by privileged code than by non-privileged code
US7890735B2 (en) 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7454316B2 (en) * 2004-10-08 2008-11-18 International Business Machines Corporation Method and apparatus for monitoring and enhancing on-chip microprocessor reliability
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US20060129999A1 (en) * 2004-11-16 2006-06-15 Sony Computer Entertainment Inc. Methods and apparatus for using bookmarks in a trace buffer
US7512729B2 (en) * 2005-03-31 2009-03-31 Intel Corporation Method and apparatus for a high efficiency two-stage rotating priority arbiter with predictable arbitration latency
US7627784B1 (en) * 2005-04-06 2009-12-01 Altera Corporation Modular processor debug core connection for programmable chip systems
US7292062B2 (en) * 2005-05-02 2007-11-06 Infineon Technologies, Ag Distribution of signals throughout a spine of an integrated circuit
KR20070010910A (en) * 2005-07-20 2007-01-24 삼성전자주식회사 The adaptive image scaler on the basis of the image signal and the method thereof
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US7373565B2 (en) * 2005-08-23 2008-05-13 Hewlett-Packard Development Company, L.P. Start/stop circuit for performance counter
US20070079294A1 (en) * 2005-09-30 2007-04-05 Robert Knight Profiling using a user-level control mechanism
JP4764696B2 (en) * 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit device
TW200805047A (en) * 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
US20070180280A1 (en) * 2006-02-01 2007-08-02 Bolan Joseph E Controlling the allocation of power to a plurality of computers whose supply of power is managed by a common power manager
US20070192641A1 (en) * 2006-02-10 2007-08-16 Intel Corporation Method and apparatus to manage power consumption in a computer
US7421601B2 (en) * 2006-02-17 2008-09-02 International Business Machines Corporation Method and system for controlling power in a chip through a power-performance monitor and control unit
US7598702B2 (en) * 2006-04-27 2009-10-06 Hewlett-Packard Development Company, L.P. Power management system and method for controlling use of power-consuming applications
US7500138B2 (en) * 2006-05-17 2009-03-03 International Business Machines Corporation Simplified event selection for a performance monitor unit
US7774652B2 (en) * 2006-09-19 2010-08-10 Hewlett-Packard Development Company, L.P. Circuitry and method to detect conditions of data
US7681054B2 (en) * 2006-10-03 2010-03-16 International Business Machines Corporation Processing performance improvement using activity factor headroom
US7340378B1 (en) * 2006-11-30 2008-03-04 International Business Machines Corporation Weighted event counting system and method for processor performance measurements
US8117478B2 (en) 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022271234A1 (en) * 2021-06-25 2022-12-29 Intel Corporation Hardware-assisted core frequency and voltage scaling in a poll mode idle loop

Also Published As

Publication number Publication date
US8473766B2 (en) 2013-06-25
US9367112B2 (en) 2016-06-14
US20130254572A1 (en) 2013-09-26
US20150127962A1 (en) 2015-05-07
CN101266515A (en) 2008-09-17
US8117478B2 (en) 2012-02-14
US8966299B2 (en) 2015-02-24
US8700933B2 (en) 2014-04-15
JP2008165797A (en) 2008-07-17
US20120089850A1 (en) 2012-04-12
US8412970B2 (en) 2013-04-02
US20170017292A1 (en) 2017-01-19
US11144108B2 (en) 2021-10-12
CN101266515B (en) 2011-06-22
US20140164799A1 (en) 2014-06-12
US20170017286A1 (en) 2017-01-19
CN102200828B (en) 2013-08-07
US20130031400A1 (en) 2013-01-31
US20080162972A1 (en) 2008-07-03
US20230251702A1 (en) 2023-08-10
US20160195913A1 (en) 2016-07-07
CN102200828A (en) 2011-09-28
JP2011233158A (en) 2011-11-17

Similar Documents

Publication Publication Date Title
US20210064117A1 (en) Optimizing power usage by factoring processor architectural events to pmu
US10474218B2 (en) Dynamically controlling cache size to maximize energy efficiency
US7966506B2 (en) Saving power in a computer system
CN104781753B (en) Power gates a part for cache memory
US8892924B2 (en) Reducing power consumption of uncore circuitry of a processor
US8230172B2 (en) Gather and scatter operations in multi-level memory hierarchy
JP2011150694A (en) Mechanism to avoid inefficient core hopping and provide hardware assisted low-power state selection
US7996626B2 (en) Snoop filter optimization
EP2972826B1 (en) Multi-core binary translation task processing
CN108664367B (en) Power consumption control method and device based on processor
CN102012881A (en) Bus monitor-based system chip bus priority dynamic configuration device

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

AS Assignment

Owner name: TAHOE RESEARCH, LTD., IRELAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:061175/0176

Effective date: 20220718

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION