CN1894668A - 处理器、多处理器系统、处理器系统、信息处理装置和温度控制方法 - Google Patents

处理器、多处理器系统、处理器系统、信息处理装置和温度控制方法 Download PDF

Info

Publication number
CN1894668A
CN1894668A CNA2004800375172A CN200480037517A CN1894668A CN 1894668 A CN1894668 A CN 1894668A CN A2004800375172 A CNA2004800375172 A CN A2004800375172A CN 200480037517 A CN200480037517 A CN 200480037517A CN 1894668 A CN1894668 A CN 1894668A
Authority
CN
China
Prior art keywords
order
heating
degrees
piece
processor
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.)
Granted
Application number
CNA2004800375172A
Other languages
English (en)
Other versions
CN100495349C (zh
Inventor
安达健一
矢泽和明
泷口岩
今井敦彦
田村哲司
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN1894668A publication Critical patent/CN1894668A/zh
Application granted granted Critical
Publication of CN100495349C publication Critical patent/CN100495349C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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]
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Control Of Temperature (AREA)

Abstract

本发明的命令解码器(14),对每个命令指定与命令的执行有关的运算块和发热系数,并将其存储在发热系数简档(20)中。命令调度器(16)基于数据依存关系调度命令。发热度数加法器(32)与被调度的命令的进行匹配,对保持在运算块发热度数寄存器(22)中的该运算块的发热度数累计加上发热系数。发热度数减法器(34)基于经过时间产生的发热量减去运算块发热度数寄存器(22)的各运算块的发热度数。热点检测器(36)检测运算块发热度数寄存器(22)的发热度数超过了规定的阈值的运算块作为热点,命令调度器(16)使与被判断为热点的运算块执行的有关的命令执行延迟。

Description

处理器、多处理器系统、处理器系统、信息处理装置和温度控制方法
技术领域
本发明涉及处理器技术,特别涉及可控制发热量的处理器、多处理器系统、处理器系统、信息处理装置和温度控制方法。
背景技术
在LSI设计中,制造处理的细微化和元件的高集成化进一步发展,作为芯片的性能界限,考虑发热量在设计上变得非常重要。在芯片处于高温时,引起工作不良或者长期可靠性降低,所以采用了各种发热对策。例如,采取在芯片的上部设置散热风扇,散发从芯片产生的热量的方法。
而且,由于在芯片上的消耗功率分布不一样,所以不能避免芯片的一部分异常地变为高温的所谓“热点”的问题。因此,还研究根据芯片的消耗功率分布,调度(scheduling)处理器的任务(例如,参照专利文献1)。
专利文献1:美国专利申请公开第2002/0065049号说明书
在芯片的一部分发热时,随着时间经过,由于热传导高温区域扩展到发热位置的周围,不久,芯片整体的温度上升。以往的发热对策是,宏观地观测芯片整体的温度分布,并花费数秒~1分钟左右来散热,时间响应性不好。在最近的高集成化的LSI中,设计了在一个芯片中消耗数十瓦左右的功率的芯片,如果不用数十微秒的指令进行放热处理,则由于急剧的温度上升引起动作不良。虽然局部地发热,但是作为芯片整体处于安全的温度的情况下,如果降低芯片的动作频率,则牺牲处理器整体的处理性能,没有效率。在这样的情况下,本申请人认识到在芯片的一部分发热的情况下,在高温区域通过热传导扩大之前,精确地(pinpoint)检测发热位置,抑制在其之上的温度上升的微观水平下的发热对策的必要性。
发明内容
本发明是鉴于这样的课题而完成的,其目的是提供一种处理器、多处理器系统、处理器系统、信息处理装置和温度控制方法,可在时间上和空间上以细微的水平控制芯片发热量。
本发明的一个实施方式关于处理器。该处理器包括:发热度数保持部,保持成为发热控制对象的多个块的发热度数;发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;以及发热度数加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热度数进行累计相加。
“块”是区分了处理器的区域的最小单位,与点形式的热的峰值产生的区域的大小匹配而被区分。例如,块可以是构成处理器的晶体管等元件单体,也可以是某程度数量的元件的集合。在包含多个处理器的多处理器系统的情况下,块可以是在各个处理器内被区分的块,也可以将各个处理器整体作为一个块。
“命令单位”可以是命令码的一个步骤,也可以是集中几个命令步骤构成的子程序或任务。
关于“块”的大小和“命令单位”的粒度,根据发热控制的要求精度和处理器的设计条件等存在设计的自由度。
本发明的另一个实施方式也关于处理器。该处理器包括发热度数保持部,保持成为发热控制对象的多个块的发热度数;发热度数加法部,根据以规定的命令单位估计的发热量,与命令的进行匹配而以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加;以及调度器,根据各块的所述发热度数对要执行的命令进行调度。
本发明的另一个实施方式也关于处理器。该处理器包括发热度数保持寄存器,保持成为发热控制对象的多个块的发热度数;发热系数简档,将与要执行的命令和与所述命令的执行有关的块以及该块的发热量的发热系数对应存储;解码器,解析要执行的命令,以规定的命令单位指定与所述命令的执行有关的所述块和所述发热系数,并将其存储在所述发热系数简档中;发热度数加法器,根据所述发热系数简档,与所述命令的进行匹配,以所述规定的命令单位累计相加所述块的所述发热度数;以及调度器,根据各块的所述发热度数调度要执行的命令。
本发明的再一个实施方式关于多处理器系统,该系统包含多个子处理器和主处理器,所述主处理器包括:发热度数保持部,保持所述子处理器内的多个块的发热度数;发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;发热度数加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热度数进行累计相加;以及调度器,根据各块的所述发热度数,将要执行的命令在所述多个子处理器间进行分配。
本发明的另一个实施方式也关于处理器。该处理器使解读要执行的命令的解码器具有解析与所述命令的执行有关的处理器内的块的发热的功能。
本发明的另一个实施方式关于温度控制方法。该方法通过与命令码的进行匹配,以规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中,以块单位对命令码的进行所产生的发热进行检测。
本发明的另一个实施方式关于温度控制方法。该方法根据以规定的命令单位估计的发热量,与命令的进行匹配,以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中,并根据被保持在所述寄存器中的各块的所述发热度数调度要执行的命令。
本发明的另一个实施方式关于温度控制方法。该方法以规定的命令单位估计多处理器系统中的各处理器内的块的发热量,并预测命令的进行产生的块的温度变化,根据预测的温度变化在所述处理器间分配命令。
而且,将以上的构成要素的任意的组合、本发明的表现在方法、装置、系统、计算机程序等之间变换的内容,作为本发明的方式也有效。
按照本发明,可以抑制处理器的发热量从而防止动作不良,并且不降低处理器的处理性能。
附图说明
图1是实施方式1的处理器系统的结构图。
图2是图1是处理器系统中的发热控制的功能结构的详细说明图。
图3是图1的发热系数简档的说明图。
图4是说明图1的运算块发热度数寄存器中存储的发热度数的图。
图5是表示图1的处理器系统中的发热控制步骤的流程图。
图6是实施方式2的处理器系统的结构图。
标号说明
12命令高速缓冲存储器  14命令解码器  16命令调度器  18执行单元  20发热系数简档  22运算块发热度数寄存器  32发热度数加法器  34发热度数减法器  36热点检测器  100CPU核心  110主存储器  200主处理器  210高速缓冲存储器  220DRAM  230a、230b子处理器
具体实施方式
实施方式1
图1是实施方式1的处理器系统的结构图。该处理器系统包括CPU核心100、主存储器110,它们被连接到地址总线28和数据总线30。CPU核心100对主存储器110指定地址从而进行数据的读出和写入。CPU核心100包括命令高速缓冲存储器12、命令解码器14、命令调度器16、执行单元18、发热系数简档20、运算块发热度数寄存器22。在主存储器110中存储命令24和运算结果26。
CPU核心100从主存储器110读出的命令24被暂时高速缓存在命令高速缓冲存储器12中。命令解码器14对被高速缓存到命令高速缓冲存储器12的命令24依次进行解读,提供给命令调度器16。命令调度器16按照由命令解码器14解读的命令24间的数据依存关系,进行命令24的执行顺序的排列替换和执行定时的调整,对命令24进行调度并传递给执行单元18。执行单元18执行被调度的命令24,将运算结果26写出到主存储器110。
将处理器系统的芯片的区域整体区分为作为发热控制对象的小的区域,并将该小的区域称为块或者运算块。运算块是构成芯片的晶体管单体或者某个程度的数量的晶体管的集合。运算块与点方式地发热的峰值出现的区域的大小匹配而被区分,但是运算块的大小可以通过发热控制的目标精度和处理器的要求规格自由地决定。而且,运算块可以以同一尺寸规则地被区分,也可以与各种运算单元的边界匹配而不规则地被区分。
发热系数简档20是与对于每个命令步骤,将与该命令步骤的执行有关的处理器系统的运算块和与该运算块的发热量有关的发热系数对应存储的简档。运算块发热度数寄存器22是用于累计并保持各运算块的发热度数的寄存器。
图2是详细地说明CPU核心100中的发热控制的功能结构的图。命令解码器14具有发热解析功能,根据处理器系统的硬件信息,指定与各命令步骤的执行有关的运算块,预测该运算块的动作产生的发热量并决定发热系数。命令解码器14将对于每个命令步骤指定的运算块的位置信息和发热系数与命令步骤对应地存储在发热系数简档20中。
图3是说明发热系数简档20的例子的图。命令步骤40、运算块位置42和发热系数44被对应存储。命令步骤40是通过命令解码器14被解码的每个步骤的命令,对MOV(传送)、ADD(相加)、LD(装载)、ST(存储)等命令提供自变量。例如,命令步骤“MOV AX BX”是将CPU核心100的运算寄存器BX的内容代入运算寄存器AX的命令,命令步骤“LD AX 2D”是将主存储器110的地址2D的数据装载到CPU核心100的运算寄存器AX中的命令。
运算块位置42以将处理器系统的分组上的管芯(die)区分为矩形区域时的矩阵的索引被提供。发热系数44是根据位于以运算块位置42表示的区域的运算块执行了该命令时的发热量的预测值而被决定的数值。
在处理器系统的LSI的配置布线完成以后的逻辑模拟中,如果利用模拟了程序码时的结果,则可以以细微的时间步骤跟踪处理器的晶体管的导通截止状态的变化。如果利用该结果,则可以对每个命令步骤完全地解析哪个运算块处于活动状态。
对于运算块的发热量,可以在电路设计时利用CAD工具等,考虑运算块的静态的温度特性而进行预测。运算块的静态的温度特性主要根据物理的特性和元件的位置关系被量化。例如,CMOS在值反转时P沟道和N沟道的两个晶体管在一瞬间同时导通,流过贯通电流。这占CMOS的消耗功率的大半,消耗功率与CMOS的动作频率成比例地增加。通过估计这样的消耗功率可以预测运算块的发热量。发热系数是将发热量的预测值量化的值。电路设计时的模拟结果和发热预测量等信息被构成为可作为硬件信息从命令解码器14参考。
在图3所述的例子中,在执行命令步骤“MOV AX BX”中,与(2,3)和(2,4)的位置的运算块有关,发热系数为2,在执行命令步骤“LD AX 2D”中,与(2,2)位置的运算块有关,发热系数为1。
再次参照图2,命令调度器16将由命令解码器14解码的命令24基于数据依存关系调度,选择下一个要执行的命令步骤。命令调度器16参照发热系数简档20,指定与该被选择的命令步骤的执行有关的运算块的位置和发热系数,提供给发热度数加法器32。发热度数加法器32从运算块发热度数寄存器22读取被指定的运算块位置的现在的发热度数,与从命令调度器16被提供的发热系数相加,从而写入运算块发热度数寄存器22。
发热度数减法器34从运算块发热度数寄存器22读取各运算块的发热度数,进行基于规定的放热常数的减法运算,写入运算块发热度数寄存器22。发热度数减法器34以规定的时钟动作,减去运算块发热度数寄存器22的各运算块的发热度数。由此,随着时间经过产生的发热量被反映在运算块发热度数寄存器22的发热度数中。
发热度数减法器34进行减法直至发热度数为零,但是,各运算块的发热度数越大,就越大地设定发热度数的相减量。这时因为考虑从各运算块的发热度数预测的温度和外界温度的差越大,放热产生的温度降低越快。外界温度可以使用测量值、估计值或者预先设定的值的任意一个。
图4表示存储在运算块发热度数寄存器22中的发热度数的例子。被存储在运算块发热度数寄存器22中的各运算块的发热度数,通过发热度数加法器32与命令码的进行匹配而被累计计算,通过发热度数减法器34在时间经过的同时被减去。
发热度数加法器32和发热度数减法器34也可以还考虑运算块的温度特性的动态的方面,调整运算块的发热度数。运算块的动态的温度特性主要依赖于任务的执行历史和负载状况,但是根据情况,还受到在对相邻的块同时分配任务时,比任务分散到分离的块时更容易产生热等物理的性质的影响。发热度数加法器32也可以还考虑对运算块的任务的分配状况,以及相邻的运算块的发热产生的相互作用等而进行发热度数的相加。发热度数减法器34也可以考虑运算块的周围的放热的进展情况而进行发热度数的相减。
再次参照图2,热点检测器36检测运算块发热度数寄存器22的发热度数超过规定的阈值的运算块作为热点,将该运算块的位置提供给命令调度器16。该规定的阈值以对应于比运算块为动作不良的界限温度低的温度的发热度数被提供。因此,热点检测器36不仅检测当前为热点的运算块,而且将将来成为热点的可能性高的运算块也作为热点来检测。
命令调度器16进行以下的再调度,即在与被判断为热点的运算块执行有关的命令步骤之前插入等待命令而使执行定时错开,或者使与被判断为热点的运算块无关的命令的执行优先地执行等。这样,命令调度器16进行利用各运算块的被量化的静态的/动态的温度特性作为评价参数的调度。
在上述的结构中,命令解码器14根据硬件信息对每个命令步骤指定运算块,并决定发热系数,但是发热系数也可以作为命令的操作对象的一部分在命令码的生成阶段被嵌入。例如,程序或编译程序也可以对每个命令指定发热系数。
图5是表示CPU核心100的命令解码器14和命令调度器16进行的发热控制步骤的流程图。
在命令高速缓冲存储器12中被高速缓存下一个要被解码的命令的情况下(S10的“是”),命令解码器14对被高速缓存的命令解码(S12)。命令解码器14指定与被解码的命令有关的运算块,求该运算块的发热系数,作成发热系数简档20(S14)。
命令调度器16将由命令解码器14解码的命令根据数据依存关系进行调度(S16)。发热度数加法器32与被调度的命令码的进行匹配,在运算块发热度数寄存器22中保持的该运算块的发热度数上累计加上发热系数(S18)。这里,发热度数加法器32也可以考虑与相邻的运算块的相互作用,并在相邻的运算块的发热度数大的情况下,增大该运算块的发热度数的相加量。
热点检测器36评价运算块发热度数寄存器22的各运算块的发热度数从而预测温度,调查是否存在成为热点的运算块(S20)。在成为热点的可能性高的运算块存在的情况下(S20的“是”),命令调度器16调整命令的执行顺序和执行定时,并在调度命令,以便使与成为热点的运算块执行有关的命令的执行延迟(S22)。
发热度数减法器34根据时间经过产生的放热量的预测值,减去运算块发热度数寄存器22的各运算块的发热度数(S24)。以后,返回S10,重复一连串的处理,直至没有下一个要解码的命令(S10的“否”)。
按照本实施方式的处理器系统,由于随着命令码的进行,对每个命令步骤以运算块单位预测发热量,所以可以在时间上和空间上以非常精细的水平正确地掌握处理器系统的封装整体的温度分布。由此,即使在处理集中在处理器系统的特定的运算块中,预测急剧的温度上升的情况下,也可以实时地调度该运算块的有关命令的执行,避免发热峰值。可以防止发热造成的局部的动作不良而不牺牲处理器整体的处理性能。
实施方式2
图6是实施方式2的处理器系统的结构图。本实施方式的处理器系统除了与实施方式1的CPU核心100相当的主处理器200以外,是两个子处理器230a、230b总线结合的多处理器系统。主处理器200经由总线访问DRAM220从而读取数据,将数据高速缓存到高速缓冲存储器210。主处理器200适当地将任务分配给两个子处理器230a、230b而执行程序。
在主处理器200中包含实施方式1中说明的CPU核心100的各功能结构,即,命令高速缓冲存储器12、命令解码器14、命令调度器16、执行单元18、发热系数简档20、运算块发热度数寄存器22、发热度数加法器32、发热度数减法器34以及热点检测器36。以下,对于这些结构,说明与实施方式1不同的动作。
在本实施方式中的处理器系统中,以包含主处理器200、子处理器230a、230b的各模块的处理器系统的封装整体的发热量为控制对象。在实施方式1中叙述的运算块是在主处理器200、子处理器230a、230b的各模块内被区分的块,关于每个运算块的发热度数的相加和相减与实施方式1同样地进行。
命令调度器16除了实施方式1中叙述的命令的执行顺序的变更、执行定时的调整以外,还通过将命令分配给子处理器230a、230b来进行命令的调度。命令调度器16进行的子处理器230a、230b间的命令的分配除了以命令步骤单位,还可以以子程序等某种程度集中的任务的单位来进行。命令调度器16通过基于子处理器230a、230b的负载状况的命令的分配,实现负载分散,同时通过基于子处理器230a、230b的运算块的发热状况的命令的分配,控制发热量。例如,在一个子处理器230a中成为热点的可能性高的运算块被检测到的情况下,将命令分配给另一个子处理器230b。
按照本实施方式的处理器系统,可以通过对应于各子处理器230a、230b的运算块的发热状况,在子处理器230a、230b间分配任务,将处理器系统整体的温度分布平均化,防止在处理器系统内产生热点。
以上,根据实施方式说明了本发明。本技术领域的技术人员应理解,这些实施方式是例示,这些各结构要素和各处理过程的组合中可以有各种变形例,以及这样的变形例也属于本发明的范围。
说明这样的变形例。在实施方式中,作为发热对策,说明了进行命令的调度,以使得负载不集中在存在成为热点的可能性的运算块中,但是,作为除此之外的对策,例如也可以采用利用局部的冷却喷嘴来冷却存在成为热点的可能性的运算块的方法。而且,在即使进行能力的调度也不能抑制运算块的发热的情况下,也可以构成为降低处理器整体的动作频率,或降低电源电压等紧急处置。
在实施方式中,通过电路设计时的模拟器等预先估计发热量,使处理器内具有发热系数的信息作为硬件信息,但是也可以构成为设置测量处理器的温度的传感器,在实际测量了局部的运算块的温度后,实施实施方式中叙述的基于调度的发热控制。
在实施方式中,对每个命令步骤预测发热量,计数发热度数,但是也可以构成为以子程序等某种程度集中的任务单位来预测发热量,从而计数发热度数,调度的单位也不仅以命令步骤单位,还可以以任务单位来进行。也可以设置切换控制部来进行切换,在处理器的各运算块处于比较安全的温度范围时,参照以任务单位计数的发热度数而进行任务调度,在温度上升而成为了临界的状况时,以命令步骤单位计数各运算块的发热度数,进行命令单位的精细的调度。
在实施方式中是以处理器系统的硬件进行发热控制的结构,但是,也可以设置为与处理器系统不同地设置在处理器系统的外部以软件处理等进行基于命令码的解析和温度预测的命令的调度,并将被调度的命令提供给处理器的结构的命令码产生装置。
也可以设置核对部,对每个应用作成发热特性的简档,通过与由芯片上的温度传感器实际测量的温度分布进行核对来修正发热系数等简档信息。由此,可以进一步提高发热控制的精度。
也可以构成将实施方式的处理器与存储器等其它元件一起安装在基板上的处理器系统。而且,也可以构成安装了这样的处理器系统的信息处理装置。作为这样的信息处理系统,有个人计算机、各种携带设备等。
本发明在产业上的可利用性在于,本发明可以应用在处理器的发热控制领域。

Claims (27)

1、一种处理器,其特征在于,包括:
发热度数保持部,保持成为发热控制对象的多个块的发热度数;
发热指定部,以规定的命令单位指定与命令的执行有关的块和与该快的发热量有关的发热系数;以及
发热度数加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热度数进行累计相加。
2、如权利要求1所述的处理器,其特征在于,
所述发热指定部是解读要执行的命令的解码器。
3、如权利要求1或2所述的处理器,其特征在于,还包括:
发热度数减法部,根据基于经过时间的放热量,减去各块的所述发热度数。
4、如权利要求3所述的处理器,其特征在于,
各块的所述发热度数越大,所述发热度数减法部就越大地设定所述发热度数的相减量。
5、一种处理器,其特征在于,包括:
发热度数保持部,保持成为发热控制对象的多个块的发热度数;
发热度数加法部,根据以规定的命令单位估计的发热量,与命令的进行匹配而以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相力;以及
调度器,根据各块的所述发热度数对要执行的命令进行调度。
6、如权利要求5所述的处理器,其特征在于;
所述调度器使与所述发热度数超过了规定的阈值的块执行有关的命令延迟。
7、如权利要求5或6所述的处理器,其特征在于,还包括:
发热度数减法部,根据基于经过时间的放热量,减去各块的所述发热度数。
8、一种处理器,其特征在于,包括:
发热度数保持寄存器,保持成为发热控制对象的多个块的发热度数;
发热系数简档,将与要执行的命令和与所述命令的执行有关的块以及与该块的发热量有关的发热系数对应存储;
解码器,解析要执行的命令,以规定的命令单位指定与所述命令的执行有关的所述块和所述发热系数,并将其存储在所述发热系数简档中;
发热度数加法器,根据所述发热系数简档,与所述命令的进行匹配,以所述规定的命令单位累计相加所述块的所述发热度数;以及
调度器,根据各块的所述发热度数调度要执行的命令。
9、一种多处理器系统,包含多个子处理器和主处理器,其特征在于,
所述主处理器包括:
发热度数保持部,保持所述子处理器内的多个块的发热度数;
发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;
发热度数加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热度数进行累计相加;以及
调度器,根据各块的所述发热度数,将要执行的命令在所述多个子处理器间进行分配。
10、一种处理器,其特征在于;
使解读要执行的命令的解码器具有解析与所述命令的执行有关的处理器内的块的发热的功能。
11、一种温度控制方法,其特征在于,
通过与命令码的进行匹配,以规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中,以块单位对命令码的进行所产生的发热进行检测。
12、一种温度控制方法,其特征在于,
根据以规定的命令单位估计的发热量,与命令的进行匹配,以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中,并根据被保持在所述寄存器中的各块的所述发热度数调度要执行的命令。
13、一种温度控制方法,其特征在于,
以规定的命令单位估计多处理器系统中的各处理器内的块的发热量,并预测命令的进行产生的块的温度变化,根据预测的温度变化在所述处理器间分配命令。
14、一种程序,其特征在于,该程序使计算机执行:
与命令码的进行匹配,以规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中的步骤;以及
根据被保持在所述寄存器中的各块的所述发热度数,以块单位对命令码的进行所产生的发热进行检测的步骤。
15、一种程序,其特征在于,该程序使计算机执行:
根据以规定的命令单位估计的发热量,与命令的进行匹配,以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中的步骤;以及
根据被保持在所述寄存器中的各块的所述发热度数调度要执行的命令的步骤。
16、一种程序,其特征在于,该程序使计算机执行:
以规定的命令单位估计多处理器系统中的各处理器内的块的发热量的步骤;以及
预测命令的进行所产生的块的温度变化,并根据预测的温度变化在所述处理器间分配命令的步骤。
17、一种记录介质,其特征在于,该记录介质存储了使计算机执行的以下步骤的程序:
与命令码的进行匹配,以规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中的步骤;以及
根据被保持在所述寄存器中的各块的所述发热度数,以块单位对命令码的进行所产生的发热进行检测的步骤。
18、一种记录介质,其特征在于,该记录介质存储了使计算机执行的以下步骤的程序:
根据以规定的命令单位估计的发热量,与命令的进行匹配,以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加而将其保持在寄存器中的步骤;以及
根据被保持在所述寄存器中的各块的所述发热度数调度要执行的命令的步骤。
19、一种记录介质,其特征在于,该记录介质存储了使计算机执行的以下步骤的程序:
以规定的命令单位估计多处理器系统中的各处理器内的块的发热量的步骤;以及
预测命令的进行所产生的块的温度变化,并根据预测的温度变化在所述处理器间分配命令的步骤。
20、一种处理器系统,其特征在于,包括:
发热度数保持部,保持成为发热控制对象的多个块的发热度数;
发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;以及
发热度数加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热度数进行累计相加。
21、一种处理器系统,其特征在于,包括:
发热度数保持部,保持成为发热控制对象的多个块的发热度数;
发热度数加法部,根据以规定的命令单位估计的发热量,与命令的进行匹配而以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加;以及
调度器,根据各块的所述发热度数对要执行的命令进行调度。
22、一种处理器系统,其特征在于,包括:
发热度数保持寄存器,保持成为发热控制对象的多个块的发热度数;
发热系数简档,将与要执行的命令和与所述命令的执行有关的块以及与该块的发热量有关的发热系数对应存储;
解码器,解析要执行的命令,以规定的命令单位指定与所述命令的执行有关的所述块和所述发热系数,并将其存储在所述发热系数简档中;
发热度数加法器,根据所述发热系数简档,与所述命令的进行匹配,以所述规定的命令单位累计相加所述块的所述发热度数;以及
调度器,根据各块的所述发热度数调度要执行的命令。
23、一种处理器系统,其特征在于,
使解读要执行的命令的解码器具有解析与所述命令的执行有关的处理器内的块的发热的功能。
24、一种信息处理装置,其特征在于,包括:
发热度数保持部,保持成为发热控制对象的多个块的发热度数;
发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;以及
发热度数加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热度数进行累计相加。
25、一种信息处理装置,其特征在于,包括:
发热度数保持部,保持成为发热控制对象的多个块的发热度数;
发热度数加法部,根据以规定的命令单位估计的发热量,与命令的进行匹配而以所述规定的命令单位对与所述命令的执行有关的块的发热度数进行累计相加;以及
调度器,根据各块的所述发热度数对要执行的命令进行调度。
26、一种信息处理装置,其特征在于,包括:
发热度数保持寄存器,保持成为发热控制对象的多个块的发热度数;
发热系数简档,将与要执行的命令和与所述命令的执行有关的块以及与该块的发热量有关的发热系数对应存储;
解码器,解析要执行的命令,以规定的命令单位指定与所述命令的执行有关的所述块和所述发热系数,并将其存储在所述发热系数简档中;
发热度数加法器,根据所述发热系数简档,与所述命令的进行匹配,以所述规定的命令单位累计相加所述块的所述发热度数;以及
调度器,根据各块的所述发热度数调度要执行的命令。
27、一种信息处理装置,其特征在于,
使解读要执行的命令的解码器具有解析与所述命令的执行有关的处理器内的块的发热的功能。
CNB2004800375172A 2004-03-29 2004-12-22 处理器、多处理器系统、信息处理装置和温度控制方法 Expired - Fee Related CN100495349C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004096410A JP3830491B2 (ja) 2004-03-29 2004-03-29 プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
JP096410/2004 2004-03-29

Publications (2)

Publication Number Publication Date
CN1894668A true CN1894668A (zh) 2007-01-10
CN100495349C CN100495349C (zh) 2009-06-03

Family

ID=35056365

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800375172A Expired - Fee Related CN100495349C (zh) 2004-03-29 2004-12-22 处理器、多处理器系统、信息处理装置和温度控制方法

Country Status (9)

Country Link
US (1) US20070198134A1 (zh)
EP (1) EP1734446B1 (zh)
JP (1) JP3830491B2 (zh)
KR (1) KR100863387B1 (zh)
CN (1) CN100495349C (zh)
CA (1) CA2560451C (zh)
MX (1) MXPA06006062A (zh)
TW (1) TWI326819B (zh)
WO (1) WO2005093569A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102221875A (zh) * 2010-06-30 2011-10-19 威盛电子股份有限公司 微处理器、操作微处理器的方法以及计算机程序产品
CN103582857A (zh) * 2011-04-22 2014-02-12 高通股份有限公司 便携式计算设备中的热负载管理
CN107077178A (zh) * 2014-11-04 2017-08-18 高通股份有限公司 基于所预测温度的热缓解
WO2018018424A1 (zh) * 2016-07-26 2018-02-01 张升泽 基于芯片的温度控制方法及系统

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313709B2 (en) * 2004-11-05 2007-12-25 International Business Machines Corporation Instruction set with thermal opcode for high-performance microprocessor, microprocessor, and method therefor
US7681053B2 (en) * 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7376532B2 (en) 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7848901B2 (en) 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7395174B2 (en) * 2005-11-29 2008-07-01 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using thermal sampling
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7596430B2 (en) 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US20070260894A1 (en) * 2006-05-03 2007-11-08 Aguilar Maximino Jr Optimizing thermal performance using feed-back directed optimization
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US7953957B2 (en) * 2008-02-11 2011-05-31 International Business Machines Corporation Mapping and distributing parallel algorithms to compute nodes in a parallel computer based on temperatures of the compute nodes in a hardware profile and a hardware independent application profile describing thermal characteristics of each parallel algorithm
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
US8311683B2 (en) 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
US20110138395A1 (en) * 2009-12-08 2011-06-09 Empire Technology Development Llc Thermal management in multi-core processor
US8595525B2 (en) 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
JP2014106917A (ja) * 2012-11-29 2014-06-09 Canon Inc 情報処理装置、その制御方法、及びプログラム
JP2016531370A (ja) 2013-09-09 2016-10-06 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 温度管理を有するモバイルデータ記憶デバイス
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US10114649B2 (en) 2015-05-26 2018-10-30 International Business Machines Corporation Thermal availability based instruction assignment for execution
US20220300324A1 (en) * 2021-03-19 2022-09-22 Mediatek Inc. Thermal-aware task scheduling

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US5502838A (en) * 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
US5452277A (en) * 1993-12-30 1995-09-19 International Business Machines Corporation Adaptive system for optimizing disk drive power consumption
US6000036A (en) * 1996-07-17 1999-12-07 International Business Machines Corp. Logical steering to avoid hot spots on integrated circuits
JP3567354B2 (ja) * 1996-12-26 2004-09-22 株式会社リコー マルチプロセッサシステムおよび命令作成装置
US6314447B1 (en) * 1999-10-04 2001-11-06 Sony Corporation System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
EP1096360B1 (en) * 1999-10-25 2004-09-22 Texas Instruments Incorporated Intelligent power management for distributed processing systems
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US7174194B2 (en) 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
US6687636B2 (en) * 2001-04-09 2004-02-03 Burgett, Inc. Method of estimating solenoid heat accumulation and compensating for solenoid force loss
WO2003083693A1 (fr) * 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102221875A (zh) * 2010-06-30 2011-10-19 威盛电子股份有限公司 微处理器、操作微处理器的方法以及计算机程序产品
CN102221875B (zh) * 2010-06-30 2014-06-25 威盛电子股份有限公司 微处理器、操作微处理器的方法
CN103582857A (zh) * 2011-04-22 2014-02-12 高通股份有限公司 便携式计算设备中的热负载管理
CN103582857B (zh) * 2011-04-22 2017-06-23 高通股份有限公司 便携式计算设备中的热负载管理
CN107077178A (zh) * 2014-11-04 2017-08-18 高通股份有限公司 基于所预测温度的热缓解
CN107077178B (zh) * 2014-11-04 2020-11-17 高通股份有限公司 基于所预测温度的热缓解
WO2018018424A1 (zh) * 2016-07-26 2018-02-01 张升泽 基于芯片的温度控制方法及系统

Also Published As

Publication number Publication date
JP2005284625A (ja) 2005-10-13
TWI326819B (en) 2010-07-01
CA2560451A1 (en) 2005-10-06
KR20060130593A (ko) 2006-12-19
CA2560451C (en) 2014-06-17
TW200604789A (en) 2006-02-01
US20070198134A1 (en) 2007-08-23
EP1734446A1 (en) 2006-12-20
JP3830491B2 (ja) 2006-10-04
WO2005093569A1 (ja) 2005-10-06
CN100495349C (zh) 2009-06-03
EP1734446B1 (en) 2012-11-21
MXPA06006062A (es) 2006-08-11
EP1734446A4 (en) 2011-06-01
KR100863387B1 (ko) 2008-10-13

Similar Documents

Publication Publication Date Title
CN1894668A (zh) 处理器、多处理器系统、处理器系统、信息处理装置和温度控制方法
Coskun et al. Proactive temperature management in MPSoCs
Bowman et al. Impact of die-to-die and within-die parameter variations on the clock frequency and throughput of multi-core processors
Bild et al. Static NBTI reduction using internal node control
CN112100094A (zh) 用于基于预取指针的结构的系统和方法
US20170083065A1 (en) Thermally-aware throttling in a three-dimensional processor stack
Kumar et al. Machine learning based workload balancing scheme for minimizing stress migration induced aging in multicore processors
Tian et al. Optimal task allocation on non-volatile memory based hybrid main memory
Li et al. Energy optimization of branch-aware data variable allocation on hybrid SRAM+ NVM SPM for CPS
Lee et al. GOP-level dynamic thermal management in MPEG-2 decoding
Al-Hashimi et al. Evaluation of control loop statements power efficiency: An experimental study
Chien et al. A thermal-aware scheduling for multicore architectures
Ma et al. Resource management for improving overall reliability of multi-processor systems-on-chip
Akturk et al. Trading computation for communication: A taxonomy of data recomputation techniques
Terraneo et al. Event-based thermal control for high power density microprocessors
Tasoulas et al. Performance and aging aware resource allocation for concurrent GPU applications under process variation
Valero et al. DC-Patch: A Microarchitectural Fault Patching Technique for GPU Register Files
Luo et al. Thermal management for fpga nodes in hpc systems
Wang et al. A thermal balance oriented task mapping for CMPs
Rech et al. GPUs reliability dependence on degree of parallelism
Yu et al. Peak temperature control in thermal-aware behavioral synthesis through allocating the number of resources
Marwedel et al. Memory-Aware Optimization of Embedded Software for Multiple Objectives.
JP4397843B2 (ja) プロセッサ、マルチプロセッサシステムおよび温度制御方法
Cheng et al. Adaptive burst-writes (abw) memory requests scheduling to reduce write-induced interference
Muts et al. Predicting Objectives on a Reduced Search Space of Multiobjective Function Inlining

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090603

Termination date: 20171222

CF01 Termination of patent right due to non-payment of annual fee