CN100495349C - 处理器、多处理器系统、信息处理装置和温度控制方法 - Google Patents
处理器、多处理器系统、信息处理装置和温度控制方法 Download PDFInfo
- Publication number
- CN100495349C CN100495349C CNB2004800375172A CN200480037517A CN100495349C CN 100495349 C CN100495349 C CN 100495349C CN B2004800375172 A CNB2004800375172 A CN B2004800375172A CN 200480037517 A CN200480037517 A CN 200480037517A CN 100495349 C CN100495349 C CN 100495349C
- Authority
- CN
- China
- Prior art keywords
- heating
- piece
- order
- frequency
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 20
- 230000010365 information processing Effects 0.000 title 1
- 238000010438 heat treatment Methods 0.000 claims description 243
- 230000033228 biological regulation Effects 0.000 claims description 27
- 230000013011 mating Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 13
- 230000003750 conditioning effect Effects 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 5
- 230000020169 heat generation Effects 0.000 abstract description 12
- 230000001934 delay Effects 0.000 abstract 1
- 230000015654 memory Effects 0.000 description 16
- 230000009471 action Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000178 monomer Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 244000287680 Garcinia dulcis Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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 热点检测器 100 CPU核心 110 主存储器 200 主处理器 210 高速缓冲存储器 220 DRAM 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 AX2D”是将主存储器110的地址2D的数据装载到CPU核心100的运算寄存器AX中的命令。
运算块位置42以将处理器系统的分组上的管芯(die)区分为矩形区域时的矩阵的索引被提供。发热系数44是根据位于以运算块位置42表示的区域的运算块执行了该命令时的发热量的预测值而被决定的数值。
在处理器系统的LSI的配置布线完成以后的逻辑模拟中,如果利用模拟了程序码时的结果,则可以以细微的时间步骤跟踪处理器的晶体管的导通截止状态的变化。如果利用该结果,则可以对每个命令步骤完全地解析哪个运算块处于活动状态。
对于运算块的发热量,可以在电路设计时利用CAD工具等,考虑运算块的静态的温度特性而进行预测。运算块的静态的温度特性主要根据物理的特性和元件的位置关系被量化。例如,CMOS在值反转时P沟道和N沟道的两个晶体管在一瞬间同时导通,流过贯通电流。这占CMOS的消耗功率的大半,消耗功率与CMOS的动作频率成比例地增加。通过估计这样的消耗功率可以预测运算块的发热量。发热系数是将发热量的预测值量化的值。电路设计时的模拟结果和发热预测量等信息被构成为可作为硬件信息从命令解码器14参考。
在图3所述的例子中,在执行命令步骤“MOV AXBX”中,与(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 (15)
1、一种处理器,其特征在于,包括:
发热频度保持部,保持成为发热控制对象的多个块的发热频度;
发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;以及
发热频度加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热频度进行累计相加,
其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
2、如权利要求1所述的处理器,其特征在于,
所述发热指定部是解读要执行的命令的解码器。
3、如权利要求1或2所述的处理器,其特征在于,还包括:
发热频度减法部,根据基于经过时间的放热量,减去各块的所述发热频度。
4、如权利要求3所述的处理器,其特征在于,
各块的所述发热频度越大,所述发热频度减法部就越大地设定所述发热频度的相减量。
5、一种处理器,其特征在于,包括:
发热频度保持部,保持成为发热控制对象的多个块的发热频度;
发热频度加法部,根据以规定的命令单位估计的发热量,与命令的进行匹配而以所述规定的命令单位对与所述命令的执行有关的块的发热频度进行累计相加;以及
调度器,根据各块的所述发热频度对要执行的命令进行调度,
其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
6、如权利要求5所述的处理器,其特征在于;
所述调度器使与所述发热频度超过了规定的阈值的块执行有关的命令延迟。
7、如权利要求5或6所述的处理器,其特征在于,还包括:
发热频度减法部,根据基于经过时间的放热量,减去各块的所述发热频度。
8、一种处理器,其特征在于,包括:
发热频度保持寄存器,保持成为发热控制对象的多个块的发热频度;
发热系数简档,将与要执行的命令和与所述命令的执行有关的块以及与该块的发热量有关的发热系数对应存储;
解码器,解析要执行的命令,以规定的命令单位指定与所述命令的执行有关的所述块和所述发热系数,并将其存储在所述发热系数简档中;
发热频度加法器,根据所述发热系数简档,与所述命令的进行匹配,以所述规定的命令单位累计相加所述块的所述发热频度;以及
调度器,根据各块的所述发热频度调度要执行的命令,
其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
9、一种多处理器系统,包含多个子处理器和主处理器,其特征在于,
所述主处理器包括:
发热频度保持部,保持所述子处理器内的多个块的发热频度;
发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;
发热频度加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热频度进行累计相加;以及
调度器,根据各块的所述发热频度,将要执行的命令在所述多个子处理器间进行分配,
其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
10、一种温度控制方法,其特征在于,
通过与命令码的进行匹配,以规定的命令单位对与所述命令的执行有关的块的发热频度进行累计相加而将其保持在寄存器中,以块单位对命令码的进行所产生的发热进行检测,其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
11、一种温度控制方法,其特征在于,
根据以规定的命令单位估计的发热量,与命令的进行匹配,以所述规定的命令单位对与所述命令的执行有关的块的发热频度进行累计相加而将其保持在寄存器中,并根据被保持在所述寄存器中的各块的所述发热频度调度要执行的命令,其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值来表现。
12、一种温度控制方法,其特征在于,
以规定的命令单位估计多处理器系统中的各处理器内的块的发热量,并预测命令的进行产生的块的温度变化,根据预测的温度变化在所述处理器间分配命令,其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
13、一种信息处理装置,其中设有处理器,其特征在于,该处理器包括:
发热频度保持部,保持成为发热控制对象的多个块的发热频度;
发热指定部,以规定的命令单位指定与命令的执行有关的块和与该块的发热量有关的发热系数;以及
发热频度加法部,与要执行的命令的进行匹配,以所述规定的命令单位,根据所述发热系数,对由所述发热指定部指定的块的所述发热频度进行累计相加,
其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
14、一种信息处理装置,其中设有处理器,其特征在于,该处理器包括:
发热频度保持部,保持成为发热控制对象的多个块的发热频度;
发热频度加法部,根据以规定的命令单位估计的发热量,与命令的进行匹配而以所述规定的命令单位对与所述命令的执行有关的块的发热频度进行累计相加;以及
调度器,根据各块的所述发热频度对要执行的命令进行调度,
其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
15、一种信息处理装置,其中设有处理器,其特征在于,该处理器包括:
发热频度保持寄存器,保持成为发热控制对象的多个块的发热频度;
发热系数简档,将与要执行的命令和与所述命令的执行有关的块以及与该块的发热量有关的发热系数对应存储;
解码器,解析要执行的命令,以规定的命令单位指定与所述命令的执行有关的所述块和所述发热系数,并将其存储在所述发热系数简档中;
发热频度加法器,根据所述发热系数简档,与所述命令的进行匹配,以所述规定的命令单位累计相加所述块的所述发热频度;以及
调度器,根据各块的所述发热频度调度要执行的命令,
其中,所述块是通过区分所述发热控制对象的区域而产生的单位,并且所述区域被区分成块,每个块以发热的局部峰值为特征。
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 CN1894668A (zh) | 2007-01-10 |
CN100495349C true 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) |
Families Citing this family (34)
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 |
US7848901B2 (en) | 2005-11-29 | 2010-12-07 | International Business Machines Corporation | Tracing thermal data via performance monitoring |
US7480586B2 (en) * | 2005-11-29 | 2009-01-20 | International Business Machines Corporation | Thermal interrupt generation |
US7512530B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Generation of software thermal profiles for applications in a simulated environment |
US7376532B2 (en) | 2005-11-29 | 2008-05-20 | International Business Machines Corporation | Maximal temperature logging |
US7490017B2 (en) * | 2005-11-29 | 2009-02-10 | International Business Machines Corporation | Analytical generation of software thermal profiles |
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 |
US20070124618A1 (en) * | 2005-11-29 | 2007-05-31 | Aguilar Maximino Jr | Optimizing power and performance using software and hardware thermal profiles |
US7512513B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Thermal throttling control for testing of real-time software |
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 |
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 |
US7681053B2 (en) * | 2005-11-29 | 2010-03-16 | International Business Machines Corporation | Thermal throttle control with minimal impact to interrupt latency |
US7721128B2 (en) | 2005-11-29 | 2010-05-18 | International Business Machines Corporation | Implementation of thermal throttling logic |
US7603576B2 (en) * | 2005-11-29 | 2009-10-13 | International Business Machines Corporation | Hysteresis in thermal throttling |
US8037893B2 (en) * | 2006-05-03 | 2011-10-18 | International Business Machines Corporation | Optimizing thermal performance using thermal flow analysis |
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 |
US20070260894A1 (en) * | 2006-05-03 | 2007-11-08 | Aguilar Maximino Jr | Optimizing thermal performance using feed-back directed optimization |
US7596430B2 (en) * | 2006-05-03 | 2009-09-29 | International Business Machines Corporation | Selection of processor cores for optimal thermal performance |
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 |
CN102221875B (zh) * | 2010-06-30 | 2014-06-25 | 威盛电子股份有限公司 | 微处理器、操作微处理器的方法 |
US8942857B2 (en) * | 2011-04-22 | 2015-01-27 | Qualcomm Incorporated | Method and system for thermal load management in a portable computing device |
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 | 情報処理装置、その制御方法、及びプログラム |
WO2015035141A1 (en) | 2013-09-09 | 2015-03-12 | Seagate Technology Llc | Mobile data storage device with temperature management |
KR20150050135A (ko) | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
US10416737B2 (en) * | 2014-11-04 | 2019-09-17 | Qualcomm Incorporated | Thermal mitigation based on predicted temperatures |
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 |
WO2018018424A1 (zh) * | 2016-07-26 | 2018-02-01 | 张升泽 | 基于芯片的温度控制方法及系统 |
US20220300324A1 (en) * | 2021-03-19 | 2022-09-22 | Mediatek Inc. | Thermal-aware task scheduling |
Family Cites Families (13)
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 |
ATE277378T1 (de) * | 1999-10-25 | 2004-10-15 | Texas Instruments Inc | Intelligente leistungssteuerung in verteilten verarbeitungssystemen |
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 |
-
2004
- 2004-03-29 JP JP2004096410A patent/JP3830491B2/ja not_active Expired - Fee Related
- 2004-12-22 CA CA2560451A patent/CA2560451C/en not_active Expired - Fee Related
- 2004-12-22 CN CNB2004800375172A patent/CN100495349C/zh not_active Expired - Fee Related
- 2004-12-22 WO PCT/JP2004/019208 patent/WO2005093569A1/ja active Application Filing
- 2004-12-22 US US10/589,380 patent/US20070198134A1/en not_active Abandoned
- 2004-12-22 EP EP04807565A patent/EP1734446B1/en not_active Not-in-force
- 2004-12-22 KR KR1020067012463A patent/KR100863387B1/ko not_active IP Right Cessation
- 2004-12-22 MX MXPA06006062A patent/MXPA06006062A/es active IP Right Grant
-
2005
- 2005-03-25 TW TW094109341A patent/TWI326819B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2005093569A1 (ja) | 2005-10-06 |
EP1734446A4 (en) | 2011-06-01 |
KR100863387B1 (ko) | 2008-10-13 |
EP1734446A1 (en) | 2006-12-20 |
JP3830491B2 (ja) | 2006-10-04 |
EP1734446B1 (en) | 2012-11-21 |
CA2560451A1 (en) | 2005-10-06 |
TWI326819B (en) | 2010-07-01 |
CN1894668A (zh) | 2007-01-10 |
CA2560451C (en) | 2014-06-17 |
MXPA06006062A (es) | 2006-08-11 |
US20070198134A1 (en) | 2007-08-23 |
KR20060130593A (ko) | 2006-12-19 |
TW200604789A (en) | 2006-02-01 |
JP2005284625A (ja) | 2005-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100495349C (zh) | 处理器、多处理器系统、信息处理装置和温度控制方法 | |
Skadron et al. | Control-theoretic techniques and thermal-RC modeling for accurate and localized dynamic thermal management | |
Sarangi et al. | EVAL: Utilizing processors with variation-induced timing errors | |
Unsal et al. | Impact of parameter variations on circuits and microarchitecture | |
JP6154843B2 (ja) | 電力制御方法および電力制御装置 | |
Coskun et al. | Temperature-aware MPSoC scheduling for reducing hot spots and gradients | |
Sarood et al. | “Cool” load balancing for high performance computing data centers | |
US20130158892A1 (en) | Method for selecting a resource from a plurality of processing resources so that the probable times to failure of the resources evolve in a substantially identical manner | |
Song et al. | Architectural reliability: Lifetime reliability characterization and management ofmany-core processors | |
US20170371761A1 (en) | Real-time performance tracking using dynamic compilation | |
Kumar et al. | Machine learning based workload balancing scheme for minimizing stress migration induced aging in multicore processors | |
Lee | Thermal-aware design and management of embedded real-time systems | |
Al-Hashimi et al. | Evaluation of control loop statements power efficiency: An experimental study | |
Ma et al. | Resource management for improving overall reliability of multi-processor systems-on-chip | |
Chien et al. | A thermal-aware scheduling for multicore architectures | |
Ayoub et al. | CoMETC: Coordinated management of energy/thermal/cooling in servers | |
Rao et al. | Temperature regulation in multicore processors using adjustable-gain integral controllers | |
Sapra et al. | Exploring multi-core systems with lifetime reliability and power consumption trade-offs | |
Cui et al. | A variation-aware adaptive fuzzy control system for thermal management of microprocessors | |
Luo et al. | Thermal management for fpga nodes in hpc systems | |
Kumar et al. | Thermal aware learning based CPU governor | |
Liu et al. | On-line predictive thermal management under peak temperature constraints for practical multi-core platforms | |
Mohaqeqi et al. | Analytical leakage/temperature-aware power modeling and optimization for a variable speed real-time system | |
JP4397843B2 (ja) | プロセッサ、マルチプロセッサシステムおよび温度制御方法 | |
Song et al. | On-line learning based dynamic thermal management for multicore systems |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090603 Termination date: 20171222 |