CN100504790C - 用于使用处理任务调度实现热量管理的方法和设备 - Google Patents

用于使用处理任务调度实现热量管理的方法和设备 Download PDF

Info

Publication number
CN100504790C
CN100504790C CNB2005800103859A CN200580010385A CN100504790C CN 100504790 C CN100504790 C CN 100504790C CN B2005800103859 A CNB2005800103859 A CN B2005800103859A CN 200580010385 A CN200580010385 A CN 200580010385A CN 100504790 C CN100504790 C CN 100504790C
Authority
CN
China
Prior art keywords
heat
attribute
task
assembly
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.)
Active
Application number
CNB2005800103859A
Other languages
English (en)
Other versions
CN1938687A (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 CN1938687A publication Critical patent/CN1938687A/zh
Application granted granted Critical
Publication of CN100504790C publication Critical patent/CN100504790C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • 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, 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • 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
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • 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

Abstract

本发明提供了用于在计算环境中执行热量管理的设备和方法。在一个实施例中,热量属性与操作和/或处理组件相关联,并且调度操作以便由组件处理,使得不超出热量阈值。在另一个实施例中,为所选操作提供热和冷队列,并且处理组件可以从适当队列中选择操作,使得不超出热量阈值。

Description

用于使用处理任务调度实现热量管理的方法和设备
技术领域
本发明涉及用于在处理环境中执行热量管理的方法和设备,特别涉及用于通过有效地分配指令和任务而减小热量热点的方法和设备。
背景技术
计算系统正变得日益复杂,从而实现较高的处理速度,同时缩小组件大小并且将器件密集地封装在计算机芯片上。这样的进步对于许多应用的成功是关键性的,例如,实时、多媒体游戏、以及其它计算密集应用。通常,计算系统并入多个并行(或至少协同)操作的处理器,以提高处理效率。
当组件和器件执行诸如指令和任务的操作时,通常生成热量。过热会不利地影响诸如计算机芯片的电子组件的处理能力。例如,如果芯片的一个区域正在执行计算密集任务,则该区域可能显著发热,并且相对于芯片的其余部分形成热点。如果热点超出热量阈值,则可降低芯片的该区域中的组件或器件的性能,或者芯片甚至可以变得被损坏或破坏。
过去,已经采用各种解决方案来解决过热问题。机械解决方案是将散热器附连到计算机芯片。然而,散热器是庞大的,并且可能仅仅用来从芯片排出热量,并且进入到芯片周围的空间容积中。当芯片被存放在诸如个人计算机机箱的机壳中,必须例如通过使用风扇来去除该热量,其中风扇本身占据空间,并且生成讨厌的噪声。
还存在其它更复杂的热量管理方案。例如,在一个解决方案中,可以将温度传感器放置在诸如处理器的关键性电路元件上,并且可以将风扇安装在相关联的系统机壳中。当温度传感器表示已经达到特定温度时,风扇导通,从而增加通过系统机壳的气流,以便使处理器冷却。可选地,当温度传感器表示已经超出预定温度级别时,可以生成致使处理环境开始关机的警报。通常,将传感器放置在与热点具有一定的距离之处。遗憾的是,该反馈方案可能起作用太慢或者不可靠,以致不能防止过热。
其它执行热量管理的尝试采用软件的使用。例如,一种技术降慢组件的时钟,以便在操作之间有更多用于冷却的时间。一种传统系统使用节流(throttling)机制,控制从指令高速缓存到指令缓冲器的指令取出速率。减小取出速率降低热量的生成。甚至更加极端的方案是关断处理器,并且使它冷却。可惜,所有这些技术都直接影响组件操作的速度,并且对于实时处理需要可能是不利的。
发明内容
因此,在本技术领域内需要新方法和设备,用于实现热量管理且同时避免附加硬件或低效率的软件例程。
根据本发明的多个方面,提供了热量调度方法。在优选实施例中,组件具有热量阈值,并且该方法包括提供要由组件执行的多个操作。提供了将操作与热量属性相关联的热量信息。热量属性表示与在操作执行期间预期由组件生成或引起的热量数量相关的值。基于热量属性而调度要执行操作的次序,以便不超出热量阈值。
在一个示例中,该方法还包括使用温度传感装置来测量热量属性。在另一示例中,该方法还包括基于组件的功耗而估计热量属性。可以以不同的方式估计热量属性。在一种情况下,估计包括执行组件的电路模拟。在另一种情况下,估计包括确定组件的功率密度。
在另一示例中,该方法还包括使组件按照执行次序执行操作。更优选地,该组件包括多个处理器件,并且热量属性是所选的执行操作的处理器件的合计热量属性。
在另一示例中,组件包括多个处理器件,处理器件中的每个具有单独的热量阈值,并且热量属性包括多个单独的热量属性,其中每个与处理器件中的一个相关联。在这种情况下,该方法优选地包括选择处理器件中的至少一些来执行操作。监测所选器件,并且在所选器件之中传递(route)操作,以便不超出单独热量阈值。在可选示例中,组件包括多个处理器件,并且在该多个处理器件之间分配热量属性。
在另一示例中,确定热量属性的步骤可以包括(i)确定组件的功耗;(ii)确定组件的占用面积(尺寸);(iii)将功耗除以占用面积,以获得单位面积的功耗;以及(iv)将此乘以热量估计常数。在另一示例中,该方法还可以包括确定冷却属性,以便将冷却属性与热量属性一起并入到调度操作中。
在另一优选实施例中,一种方法首先获得具有一系列操作的程序代码,并且确定与这些操作中的一个或多个相关联的热量属性。还确定组件的热量阈值。根据热量属性而调度这些操作以便由组件执行,使得不超出热量阈值。
在示例中,热量属性说明当组件执行所选操作时预期生成的热量数量。在另一示例中,热量属性说明在一段时间上生成的热量数量。在另一示例中,热量属性说明(a)组件的功耗和(b)组件的功率密度中的至少一个。
在另一示例中,该方法还包括使组件执行操作。在执行期间,监测组件的温度。如果超出热量阈值,则重新调度操作。
在另一示例中,该方法还包括通过对在每个操作中要执行的任务数进行计数来估计热量属性。
在另一示例中,组件包括多个处理器件。在这种情况下,该方法优选地包括监测由所选处理器件对所选操作的动态执行。确定所选器件的操作频率。将操作频率报告给编译器。
在另一示例中,该方法还包括确定计算装置的冷却属性。计算装置包括该组件。根据冷却属性和热量属性而执行调度操作的步骤。冷却属性可以基于计算装置的封装类型。它还可以基于计算装置的冷却装置。在这种情况下,如果冷却装置具有一个状态,则冷却属性是固定的。如果冷却装置具有多个状态,则冷却属性是动态的。
根据本发明的其它方面,提供了用于在计算环境中处理操作的处理系统和方法。在处理系统的一个实施例中,由作为计算装置的一部分的组件执行操作。提供至少一个热量属性。该属性与组件和所选操作相关联。它指示在执行操作之后组件温度的变化。
在一个示例中,处理系统包括调度器。调度器能够根据热量属性而将操作中的至少一个分派给组件。在一种情况下,调度器可用于根据热量属性,从存储位置检索所选择的操作。在另一种情况下,组件包括多个子组件,调度器是简单的调度器,并且热量属性是与组件相关联而不是与子组件相关联的总计热量属性。在另一种情况下,组件包括多个子组件,调度器是高级调度器,并且热量属性还与子组件的至少一些相关联。
在另一示例中,组件是处理器件,并且调度器与处理器件集成在一起。在另一示例中,所选操作包括任务,并且热量属性是任务热量属性。在这种情况下,任务热量属性优选地基于(a)组件的工作频率,(b)组件的热量属性、以及(c)冷却属性中的至少一个。
在另一示例中,至少一些操作包括优先级。在这种情况下,该系统还包括多个优先级队列,其中每个优先级队列包括用于存储第一组操作的第一(例如,热)队列、以及用于存储第二组操作的第二(例如,冷)队列。优选地,该系统还包括调度器。调度器可用于基于操作的优先级并且基于热量属性,将操作中的至少一些分派到所选优先级队列中的热或冷队列。更优选地,调度器还可用于根据热量属性和所选操作的优先级,从所选优先级队列的热队列或冷队列检索这些操作中的所选一个。
在根据本发明多个方面的处理系统的另一实施例中,提供了调度器、第一和第二操作、以及多个处理器。调度器管理包括第一和第二操作的操作。第一操作具有超出操作阈值的热量属性。第二操作具有不超出操作阈值的热量属性。处理器能够执行这些操作。每个处理器具有热量阈值。
在一个示例中,如果不超出所选处理器的热量阈值,则该处理器可以获得并且执行第一第二操作中的至少一个。在另一示例中,如果不超出所选处理器的热量阈值,则处理器获得第一操作。在另一示例中,如果超出所选处理器的热量阈值,则处理器可用于获得并且执行第二操作。
在另一示例中,处理器包括温度传感装置,用于监测或估计处理器的温度。优选地,处理器还包括模数转换器,其可用于从温度传感装置接收温度值,并且提供数字温度值。
在另一示例中,所选处理器包括多个子处理器。期望地,所选处理器具有与所选处理器相关联而不是与子处理器相关联的总计热量属性。可选地,每个子处理器期望具有组件热量属性,其不同于其它子处理器的组件热量属性。
根据本发明的多个方面,提供了在计算环境中执行操作的优选方法。该方法包括存储第一操作并且存储第二操作。基于操作的热量属性而存储这些操作。该方法还包括根据处理器的热量阈值而检索操作中的至少一个。
优选地,如果不超出处理器的热量阈值,则可以检索操作中的至少一个。更优选地,仅仅检索第一操作。如果超出处理器的热量阈值,则优选地检索第二操作。
该方法优选地包括以下附加步骤:确定第一和第二操作的优先级,并且提供多个优先级队列。在这种情况下,提供了其中具有第一和第二队列的优先级队列。基于第一操作的优先级而将第一操作存储在第一队列之一中,并且基于第二操作的优先级而将第二操作存储在第二队列之一中。
在另一示例中,该方法还包括将组件热量属性与处理器相关联。在这种情况下,检索操作包括评估组件热量属性的当前状态,并且基于组件热量属性而选择操作。
根据本发明的多个方面,另一优选的执行操作的方法包括确定处理器的温度是否超出热量阈值。如果不超出,则该方法确定是否可获得第一操作。第一操作在执行时可能保持或提高处理器的温度。如果可获得第一操作,则执行它。如果超出热量阈值,则该方法确定是否可获得第二操作。第二操作在执行时可能降低处理器的温度。如果可获得第二操作,则执行它。
在示例中,如果不可获得冷队列操作,则该方法优选地执行“空操作”或“nop”。在另一示例中,该方法还包括确定优先级级别,确定是否可从该优先级级别的优先级队列获得第一操作,并且,如果不可从该优先级队列获得第一操作,则确定是否可从该优先级队列获得第二操作。
在根据本发明的其它方面的另一实施例中,提供了一种处理设备。处理设备能够处理与热量属性相关联的操作。处理设备包括存储器和多个处理器件。存储器用于存储第一和第二操作。第一操作具有超出操作阈值的热量属性。第二操作具有不超出操作阈值的热量属性。处理器件可以执行操作。处理器件中的至少一些具有热量阈值,并且可以存取存储器。至少一个所选处理器件包括处理元件、处理单元或子处理单元。如果不超出所选处理器件的热量阈值,则所选处理器件可以从存储器获得第一操作,以便处理。如果超出所选处理器件的热量阈值,则所选处理器件可以从存储器获得第二操作,以便处理。
在一个示例中,处理器件中的至少一些是处理元件。优选地,处理元件中的至少一些还包括至少一个子处理单元。在这种情况下,子处理单元还包括浮点单元、整数单元、以及与浮点和整数单元相关联的寄存器。更优选地,子处理单元还包括本地存储器。
在另一示例中,处理元件中的至少一些还包括处理单元、以及与该处理单元相关联的多个子处理单元。在这种情况下,子处理单元每个优选地包括本地存储器。
在另一示例中,处理器件中的第一处理器件可用于根据第一处理器件的热量阈值而与处理器件中的第二处理器件交换操作。
在另一示例中,所选处理器件包括子处理单元,并且存储器包括子处理单元中的本地存储器。在这种情况下,本地存储器可以包括用于管理第一操作的第一队列、以及用于管理第二操作的第二队列。可以以分时配置在存储器中维护第一和第二操作。
根据本发明多个方面的另一可选方案中,可以存在一对存储器。在一个示例中,存储器中的第一存储器包括第一队列,用于管理具有超出操作阈值的热量属性的第一组操作,并且存储器中的第二存储器包括第二队列,用于管理具有不超出操作阈值的热量属性的第二组操作。如果不超出所选处理器件的热量阈值,则该处理器件可以获得第一组操作中的至少一个,以便处理。如果超出热量阈值,则该处理器件可以获得第二组操作中的至少一个,以便处理。在另一示例中,存在一对存储器,用于存储第一和第二操作,第一操作具有超出操作阈值的热量属性,并且第二操作具有不超出操作阈值的热量属性。如果不超出所选处理器件的热量阈值,则该处理器件可以从第一或第二存储器获得第一操作,以便处理。如果超出热量阈值,则处理器件可以从第二或第二存储器获得第二操作,以便处理。
根据本发明的多个方面,提供了一种处理任务的方法。该方法包括基于属性而选择多个任务中的一个,以便由组件执行。每个任务的属性与在执行相关联的任务之后组件的温度相关。然后,执行所选任务。
优选地,该属性与在执行相关联的任务之后组件温度的预期升高或降低相关。预期的升高或降低基于组件的功率密度。任务可以存储在存储器内的至少一个队列中。可选地,任务可以存储在存储器内的至少两个队列中。一个队列存储其属性满足条件的任务。另一队列存储其属性不满足条件的任务。条件可以是属性超出阈值。还可以基于组件的当前温度而选择任务。在执行之前,任务可以存储在存储器内的不同地址中。在执行之前,任务可以在不同时间存储在存储器内的相同地址中。优选地,该组件是处理器。
根据本发明的其它方面,提供一种用于处理任务的系统,其包括:存储器,用于存储要被处理的任务;以及组件,处理存储在存储器中的任务。任务与属性相关联。每个任务的属性与在处理相关联的任务之后组件的温度相关。基于属性而选择任务中的一个,以便由组件处理。
优选地,该属性与在处理所选择的任务之后组件温度的预期升高或降低相关。预期的升高或降低可以基于组件的功率密度。任务可以存储在存储器内的至少一个队列中。任务还可以存储在存储器内的至少两个队列中。在这种情况下,一个队列存储其属性满足条件的任务,并且另一队列存储其属性不满足条件的任务。该条件可以是属性超出阈值。
存储器优选地包括存储器的两个单独集合。存储器的一个集合存储其属性满足条件的任务,并且存储器的另一集合存储其属性不满足条件的任务。存储器的两个单独集合可以在不同的时间段存储在相同存储器地址中。存储器的两个单独集合可以位于不同的存储器地址。在这种情况下,存储器的两个单独集合可以在相同的半导体器件中,或者可以在不同的半导体器件中。
优选地,组件包括温度传感器。在这种情况下,可以基于温度传感器的输出而选择任务。该系统还可以包括能够处理任务的第二组件。可以基于在处理任务之后每个组件的预期温度而为每个组件选择任务中的一个或多个。该系统还可以包括调度器,其为组件选择任务中的一个或多个。
附图说明
图1示出了根据本发明多个方面的以不同组合分组的组件。
图2A-B是绘出计算装置的温度相对于时间的图示。
图3A是示出根据本发明多个方面的处理元件(PE)的示例性结构的图。
图3B是示出根据本发明多个方面的PE的多处理系统的示例性结构的图。
图4是示出根据本发明多个方面的子处理单元(SPU)的示例性结构的图。
图5是示出根据本发明多个方面的多队列调度的图。
图6是示出根据本发明多个方面的示例性动态调度处理的流程图。
图7是示出根据本发明多个方面的多队列调度的图。
图8是示出根据本发明多个方面的示例性动态调度处理的流程图。
图9A-C是示出根据本发明多个方面的任务迁移的图。
图10A-B示出了根据本发明多个方面的组件、以及与组件相关联的热量值。
图11示出了根据本发明多个方面的编译器功能性。
具体实施方式
在描述附图所示的本发明的优选实施例中,为了清楚起见,将使用特定的术语。然而,本发明不意欲局限于如此选择的特定术语,并且应当理解,每个特定术语包括以类似方式操作以实现类似目的的所有技术等效物。
现在参考图3A,其是根据本发明多个方面、可以采用的基本处理模块或处理器元件(PE)300的框图。如该图所示,PE 300优选地包括I/O接口302、处理单元(PU)304、直接存储器存取控制器(DMAC)306、以及多个子处理单元(SPU)308即SPU 308a-308d。虽然示出了四个SPU 308a-d,但是PE 300可以包括任何数目的这样的器件。本地(或内部)PE总线320在PU 304、SPU 308、I/O接口302、DMAC 306和存储器接口310之间传送数据和应用程序,例如,本地PE总线320可以具有传统的体系结构,或者可以被实现为分组交换网络。作为分组交换网络的实现,虽然需要较多硬件,但是增加了可用带宽。
可以使用用于实现数字逻辑的各种方法来构造PE 300。然而,优选地,将PE 300构造为在硅衬底上采用CMOS的单个集成电路。PE 300通过高带宽存储器连接322,紧密地与存储器330相关联。存储器330期望用作PE 300的主存储器。虽然存储器330优选地是动态随机存取存储器(DRAM),但是可以使用诸如静态随机存取存储器(SRAM)、磁随机存取存储器(MRAM)、光存储器、全息存储器等其它装置来实现存储器330。DMAC 306和存储器接口310帮助在存储器330与PE 300的SPU 308和PU 304之间的数据传输。
例如,PU 304可以是能够独立处理数据和应用程序的标准处理器。在操作中,PU 304调度和组织由SPU 308处理数据和应用程序。SPU 308优选地是单指令多数据数据(SIMD)处理器。在PU304的控制下,SPU 308可以以并行且独立的方式,执行数据和应用程序的处理。DMAC 306控制通过PU 304和SPU 308访问存储在共享存储器330中的数据和应用程序。优选地,多个诸如PE 300的PE可以结合或封装在一起,或者,在逻辑上彼此相关联,以提供增强的处理能力。
图3B示出了可以根据本发明多个方面操作的、包括多个PE 350(PE1、PE 2、PE 3和PE 4)的处理体系结构。优选地,PE 350在单个芯片上。PE 350可以或可以不操作子系统,例如上面关于图3A的PE 300讨论的PU和/或SPU。根据所需处理的类型,PE 350可以具有相同或不同的类型。例如,PE 350可以是通用微处理器、数字信号处理器、图形处理器等。
PE 350优选地绑于共享总线352。存储器控制器或DMAC 356可以通过存储器总线354连接到共享总线352。DMAC 356连接到存储器358,其可以为上面关于存储器330讨论的类型中的一种。I/O控制器362还可以通过I/O总线360连接到共享总线352。I/O控制器362可以连接到一个或多个I/O器件364,例如,帧缓冲器、盘驱动器等。应当理解,上面的处理模块和体系结构仅仅是示例性性,并且可以与其它结构一起采用本发明的各个方面,其它结构包括但不限于在下面文献中所公开的类型的多处理器系统:2003年2月25日发布的、发明名称为“Memory Protection System and Method forComputer Architecture for Broadband Networks”的美国专利No.6,526,491,以及2001年3月22日提交的、发明名称为“Computer Architecture and SoftwareCells for Broadband Networks”的美国申请No.09/816,004,在此将它们引作参考。
图4示出了可以根据本发明多个方面而采用的SPU 400的结构和功能。SPU 400优选地包括本地存储器402、寄存器404、一个或多个浮点单元406和一个或多个整数单元408。反过来,如下所述,SPU 400的组件包括多个子组件。根据所需的处理能力,可以采用更多或更少数目的浮点单元(FPU)406和整数单元(IU)。在优选实施例中,本地存储器402包含至少128千字节的存储器,并且寄存器404的容量是128X128位。浮点单元406优选地以至少每秒320亿次浮点运算(32GFLOPS)的速度操作,并且整数单元408优选地以至少每秒320亿次运算的速度操作(32GOPS)。
本地存储器402优选地不是高速缓冲存储器。对SPU 400的高速缓存一致性支持是不必要的。相反,本地存储器402优选地被构造为SRAM。PU 204可以要求对由PU 204启动的直接存储器存取的高速缓存一致性支持。然而,对于由SPU 400启动的直接存储器存取、或向和从外部设备的存取,不要求高速缓存一致性支持,。
SPU 400还包括总线410,用于通过总线接口(总线I/F)412向和从SPU400传送应用程序和数据。在优选实施例中,总线410为1,024位宽。SPU 400还包括内部总线414、416和418。在优选实施例中,总线414具有256位宽度,并且在本地存储器402和寄存器404之间提供通信。总线416和418分别在寄存器404和浮点单元406、以及寄存器404和整数单元408之间提供通信。在优选实施例中,从寄存器404到浮点或整数单元的总线416和418的宽度是384位,并且从浮点或整数单元到寄存器404的总线416和418的宽度是128位。从寄存器404到浮点单元406和整数单元408的总线的较大宽度在处理期间容纳来自寄存器404的较大数据流。在一个示例中,对于每个计算需要最大三个字。然而,每个计算的结果通常仅仅是一个字。
现在参考图1,其示出了在衬底100之上或之内形成的组件102。衬底100和组件102可以包括计算机芯片的部分或全部。组件102可以是逻辑器件或其它电路。衬底100的区域中的一个或多个组件102可以关联在一起,作为单元104。单元104和104的组106也可以彼此相关联,以例如形成PE300、PU 304、SPU 308、PE 350或其子组件。例如,单元组106可以包括SPU400,并且组106内的单元104可以包括本地存储器402、寄存器404、FPU 406、整数单元408和总线I/F 412。反过来,每个单元104也可以包括其它单元104和组件102,例如,DRAM存储器单元、逻辑门、缓冲器等。虽然使用了组件102、单元104和组106来说明各个级别的复杂性,但是也可以使用术语“组件”来更一般地引用所有级别的器件,从最基本构建块(例如,晶体管和电容器)直到PE 300或PE 350、以及整个计算机芯片本身。典型地,组件被构造为在衬底100上采用互补金属氧化物半导体(CMOS)的集成电路。衬底100优选地是硅衬底。用于衬底100的可选材料包括但不限于砷化镓、镓铝砷、以及采用多种掺杂物的其它所谓的III-B化合物。还可以使用例如快速单磁通量(RSFQ)逻辑的超导材料来实现组件102。
当组件执行诸如处理指令或任务(例如,一系列指令)的操作时,它们通常生成热量。如这里使用的那样,术语“操作”或“任务”是指要被执行的活动,并且包括但不限于单步或多步的指令、任务、以及程序。
在本发明的一个方面,要由组件执行的操作可以与热量属性相关联,使得热量属性的值与当该组件执行该操作时预期由它生成的热量数量相关。优选地,热量属性还基于时间。例如,属性值可以表示在固定时间段上生成的热量数量。
可以测量或估计热量属性。例如,可以使用温度计或其它温度传感器件来实际测量单元在执行特定操作时的温度。
优选地,基于组件的功耗而估计热量属性。例如,一些组件可能需要更多的功率来操作,并且具有更高的热量属性。其它组件可以具有相同功耗,但是被更密集地封装在一起,与分隔很开的组件相比,这往往将生成更多热量。在这一点上,可以基于两个因素而估计热量属性,在这种情况下,热量属性基于组件或组件组的功率密度。这样,在一些情况下,热量属性可以反映当组件执行操作时预期生成的热量、在时间段上生成的热量、组件的一般功耗、组件的功率密度、以及相关(例如,物理上或逻辑上相关)组件组的功率密度。为了实现芯片的有效热量管理,可能期望调度每个组件的功耗。在芯片开发期间,可以估计组件功耗。例如,可以执行芯片、子系统和/或独立组件的电路模拟。
优选地,热量属性还与特定组件相关联。例如,如果诸如整数加法操作的操作仅仅涉及整数单元408,则热量属性可以特定地与整数单元408相关联。类似地,浮点操作的热量属性可以特定地与浮点单元406相关联。其它操作可以涉及一组组件,例如,从本地存储器402移动数据到寄存器404。另外,其它操作可能涉及所有组件,或者可能难以归因于任何特定一组组件。例如,渲染三维图可能涉及SPU 400中的所有组件,在这种情况下,将热量属性应用于SPU 400中的所有组件。可选地,可能难以预测单独组件在执行操作时将生成多少热量,在这种情况下,一般可以将操作的热量属性分配给组件组。下表示出了操作、组件和热量属性的样例集。
 
操作 热量属性 组件(一个或多个)
3维渲染 12 SPU 400
整数加法 3 IU 408
浮点加法 7 FPU 406
存储器移动 2 存储器402,寄存器404
在优选示例中,可以如下计算给定组件(或组件集)的热量属性:
TA=k*(P/S)
TA,热量属性,等于组件的功率密度或功耗(P)除以组件的尺寸或占用面积(S),乘以用于热量估计的因数或常数(k)。
根据本发明的一个方面,程序编译器使用热量属性,以帮助防止组件过热。可以采用软件、固件、硬件或上面的组合实现编译器。它可以与处理元件(例如,PE 300或PE 350)或其子组件相关联(例如,并入)。图11示出了根据本发明多个方面的编译器功能性。如在本技术领域内公知的那样,编译器接收源代码,并且生成可以在计算系统上运行的目标代码。根据本发明的多个方面,编译器接收源代码、以及与操作和/或组件相关的热量属性。编译器优选地基于热量属性而生成目标代码。当编译器通过对指令数进行计数来管理编译时,静态地估计由编译器编译的目标代码的热量属性(一个或多个)。优选地,使用“剖析器(profiler)”进行增强热量属性确定,剖析器是性能监测器,其可以对指令的动态执行进行计算,并且可以报告每个组件的操作频率。剖析器可以向编译器提供更准确的热量估计,这反过来将导致在热量上优化的目标代码生成。
图2A-B示出了编译器或其它指令调度器可以如何管理操作,以便避免处理的恶化、或者对组件的损坏。为了说明起见,假定热量阈值(Tmax)表示不期望超出的温度。三角段A、B和C表示由组件执行的指令。例如,段A和B表示例如生成大量热量的计算密集指令或任务,而片段C例如没有如同A或B那样计算密集,并且没有生成如同A或B那样多的热量。更具体地说,假定任务A、B和C是整个计算(2*3)+(4*5)+(6+7)的部分,其中,任务A表示(2*3)、任务B表示(4*5)并且任务C表示(6+7)。如图2A所示,当按照A、B和C的次序执行任务时,温度可能超出Tmax。这里,因为连续执行A和B,所以突破热量阈值Tmax
在本技术领域内是公知的,编译器对于它如何对某些指令排序经常具有自由酌处权(discretion)。根据本发明的优选实施例,编译器可以基于操作的热量属性而选择性地对调度进行重新排序。优选地,编译器最初确定操作A、B或C中的任何一个是否具有与其相关联的热量属性。如果是,则编译器可以使用防止超出Tmax的次序,选择性地将操作编译到目标代码中。在上面示例中,编译器可以改变计算该方程式的次序,而不改变最终结果。例如,它可以以A、C和B的次序来调度操作。这样,如通过图2B看到的那样,当改变指令的次序时,温度不超出Tmax
注意,热量阈值Tmax不一定是故障温度。相反,例如,Tmax可以是基于额定操作参数而选择的设计标准。
此外,当重新排列操作时,编译器优选地跟踪进行计算的组件。例如,一系列操作可以导致SPU 400的一部分(例如,FPU 406)过热,同时SPU的另一部分保持冷(例如,FPU 408)。编译器优选地通过尝试调度操作来解决该问题,以便将它们在SPU的各个组件之间均匀分配。编译器可以做到这一点的一种方式是通过使用热量属性,跟踪或模拟当组件执行程序的操作时它们的温度。例如,可以假定组件X以每时钟周期2个热量属性点的速率冷却,并且在其过热之前具有8个热量属性点的阈值。如果与该组件相关联的操作具有每周期5个点的热量属性,则如果接连执行三次操作(第一周期之后的5-2点导致3的当前热量指数;第二周期之后的5-2点增加另外3点,使得总计的当前热量指数为6;第二周期之后的5-2点添加另外3点,使得总计的当前热量指数为9),则假定组件过热。检测到组件X可能由于这样的调度而过热,则编译器将尝试调度操作以使其由另一组件执行,同时组件X保持不激活并且冷却。
可选地,编译器可以尝试选择其热量属性低于预期该组件冷却的速率的不同操作。例如,如果编译器确定组件X可能由于当前的操作调度而过热,则它可以尝试在具有5的热量属性的操作中间散布具有1的热量属性的操作(假定组件以每周期2热量属性的速率冷却,则这就将允许该组件稍微冷却)。
就组件由其它组件包含而言,编译器还可以将较大组件的热量属性分配给其子组件,或者从子组件分配到其父组件。例如,如图10A所示,如果单独组件同时执行具有热量属性2、3、2和7的操作,则可以认为,SPU的热量属性对于所有这些操作是14。另一方面,可以将可归因于整个SPU 400的热量属性分配给单独组件。如图10B所示,如果三维渲染的热量属性是12,并且可归因于整个SPU,则可以将该值均匀地分配给SPU 400内的组件。分配中的其它变化是可能的,包括通过包含关系、逻辑功能和物理邻近而相关的组件之间和之中的分配。
可以看到,各个组件的热量值不仅反映单独组件的瞬时操作,而且还可以在时间上累积,并且可以对于组件组来合计。考虑到这些因素,编译器可以有效地调度操作,以避免热量阈值Tmax
优选地,冷却属性与包含各个组件的计算机芯片相关联。冷却属性依赖于计算机芯片的冷却系统的特定特征。例如,冷却属性优选地依赖于芯片封装和冷却器(例如,散热器或风扇),如果有的话。如果冷却系统仅仅具有冷却器的一个状态(例如,总是以设定旋转速度操作风扇),则冷却属性将是固定的。如果可以例如通过改变风扇的旋转速度来改变冷却系统的状态,则冷却属性优选地是动态的,并且当冷却系统改变冷却器的操作状态时,可以确定和更新冷却属性。在一个实施例中,编译器使用基于冷却器的典型操作状态而计算的固定冷却属性。编译器在计算属于特定组件的操作的密度时,使用冷却属性。更优选地,编译器还将芯片封装的散热性能考虑在内。在另一实施例中,编译器或剖析器采用动态冷却属性,以帮助编译器执行目标代码生成。下表示出了用于整数操作的示例性调度,其中该整数操作将基于热量和冷却属性而由给定整数单元(IU)408和给定本地存储器(LS)402处理。
 
指令号 处理指令的组件 IU LS
1 LS 0 2
2 IU 3 1
3 LS 2 3
4 IU 5 2
5 Nop 4 1
6 IU 7 0
7 IU 10 0
8 其它 9 0
9 Nop 8 0
10 Nop 7 0
对于上面指令集,假定IU 408的热量属性是3,芯片的冷却属性是1,并且IU 408的热量阈值是10。最左列识别指令号,第二列识别哪个组件处理该指令,并且表右边的两列示出了在处理指令之后所生成的热量或组件的温度。例如,由LS处理或实现指令1,导致热量值2,同时IU保持为零。由IU操作指令2,此后,IU具有热量值3,并且LS冷却到热量值1。处理继续直至指令5,其是“空操作”(nop)。这允许IU和LS在一定程度上冷却。IU处理指令6和7,从而将其热量值升高到阈值。为了防止超出阈值,不同组件(“其它”)优选地处理下一指令。例如,剖析器可以监测IU和LS的指令执行,并且向编译器报告该信息。编译器可以结合热量属性和冷却属性来使用该信息,以使指令8由另一IU处理。
现在参考图5,其示出了根据本发明多个方面的多队列调度方法500。如图5所示,调度器502优选地与两个队列相关联。为了方便起见,第一队列在这里被称为“热队列”504,并且第二队列在这里被称为“冷队列”506。可以以多种不同方式例如作为存储器中的数据结构、或者连续或不连续集合,实现队列504、506。在采用SPU 400的一个示例中,在SPU 400的外部实现队列504、506。还可以例如与存储器330(或存储器358)相关联地在PU 304或PE 300(或PE 350)的外部实现队列504、506。在另一示例中,在SPU 400的内部实现队列504、506。期望地,可以与本地存储器402或寄存器404相关联地实现队列504、506。例如,可以与第一SPU 400的本地存储器402相结合实现热队列504,并且可以与第二SPU 400的本地存储器402相结合实现冷队列506。在SPU 400包括多个本地存储器402的情况下,热队列504可以存储在本地存储器402的第一个中,而冷队列506可以存储在相同SPU400内的本地存储器402的第二个中。可选地,热队列504和冷队列506两者都可以在相同的本地存储器402中、或者在SPU 400外部或PE 300外部的相同存储器中实现。如果通过寄存器404实现队列504、506,则各种可选方案是可能的。在一种情况下,可以通过第一SPU 400的寄存器404来实现热队列504,并且可以通过第二SPU 400的寄存器404来实现冷队列506。还可以以分时配置实现队列504、506,例如,其中在第一时间段内,队列504、506中的一个存储在存储器中,然后,在第二时间段内,队列504、506中的另一个存储在存储器中。
调度器502可以根据热量属性,用指令、任务或其它操作填充热队列504和冷队列506。优选地,调度器502可以访问包含热量属性的查询表。调度器502可以在运行时操作之前和/或期间操作。调度器502可以根据组件的当前(或预测)温度,从热队列504或冷队列506选择任务。在优选示例中,只要器件的当前温度不超出操作阈值,则调度器502可以从热或冷队列504、506中选择任何任务。在另一优选示例中,如果不超出操作阈值,并且如果可获得热和冷任务两者,则调度器502在从冷队列506选择任务之前,从热队列504选择任务。仅仅作为示例,需要多个操作的浮点指令或任务可以与相对高或正热量属性值相关联。例如,如通过任务H1...HN看到的那样,将把这些操作放置在热队列504中。诸如整数指令和单操作任务的其它操作可以与相对低或负热量属性相关联。例如,如通过任务C1...CN看到的那样,将把这样的操作放置在冷队列506中。优选地,使用来自编译器和/或剖析器的信息来确定任务的热量属性,其中编译器和/或剖析器中的任一个都可以报告执行任务的每个组件的操作频率。更优选地,任务的热量属性并入组件(一个或多个)的操作频率(例如,使用频率)、组件(一个或多个)的热量属性、以及冷却属性。根据一个实施例,简单调度器仅仅使用诸如SPU 400的、具有子组件的组件的总计热量属性。根据另一实施例,高级调度器管理诸如LS 402、FPU 406和IU 408的、SPU的子组件的热量属性。下表针对3维任务和MPEG-2任务示出了给定SPU中的IU、FPU和LS的热量属性。
 
任务 IU FPU LS 总计(SPU)
3维 3 7 2 12
MPEG-2 2 0 0 2
仅仅考虑SPU的总计热量属性的简单调度器将知道它具有可能超出SPU的热量阈值的值12。这样,简单调度器只能选择MPEG-2任务,以便由SPU执行。相反,高级调度器优选地监测SPU的子组件。在这种情况下,高级调度器可以知道没有子组件超出其热量阈值,从而可以选择三维任务。在可选方案中,调度可以重新排序任务或任务内的操作,以便在特定阶段执行MPEG-2任务,从而给予FPU时间冷却。该灵活性是允许子组件、组件和/或整个多处理系统操作而不会过热的强大工具。
如本领域的技术人员所清楚的那样,可以用硬件、固件、或软件实现调度器502。优选地,调度器502基于硬件,并且在PU 204中实现。在另一优选可选方案中,调度器502基于软件,其作为整个计算装置的操作系统的一部分。在程序执行期间,通过总线508,热队列504和冷队列506优选地对于一个或多个PE(PE1...PEN)、PU(PU1...PUN)、和/或SPU(SPU1...SPUN)是可访问的。根据一个实施例,每个PE、PU和/或SPU优选地包括热量传感器(温度传感装置),以监测其温度、或可选地估计当前温度。根据另一实施例,每个PE优选地包括热量传感器和模数A/D转换器,以便提供温度的数字估计。优选地,PE上的每个内核可以随时读取其自己的数字化温度。期望地,PE、PU和SPU每个具有热量阈值Tmax,其可以随着组件而不同。如果热量传感器不可用,则可以通过任务的热量属性和当前冷却属性来计算当前温度。
调度器502还可以管理操作而不使用队列。操作可以存储在存储器中,并且调度器502可以根据热量属性而将一些操作分派给处理器。例如,如果存在两个操作,则调度器可以基于热量属性而将这两个操作分派给两个独立的处理元件300(或其它处理器件)。操作可以存储在独立的存储器中(或在单个存储器的独立部分中)。第一操作可以存储在第一存储器(或单个存储器的第一部分)中,并且第二操作可以存储在第二存储器(或单个存储器的第二部分)中。不必同时存储两个操作;相反,可以在不同时间段期间(以及可选地在固定或可变连续或不连续时间段期间),将它们存储在相同或不同的存储器中。此外,应当理解,两个存储器(或单个存储器的两个部分)不必是限于特定操作、或与特定热量属性相关联的操作的专用存储器。这样,第一存储器(或单个存储器的第一部分)可以存储第二操作,并且第二存储器(或单个存储器的第二部分)可以存储第一操作。同样,应当理解,第一和第二队列504、506可以以类似方式操作。
图6示出了用于获得和处理操作的优选方法的流程图600。在步骤602,PE、PU或SPU确定其当前温度是否高于热量阈值Tmax。如果不超出Tmax,则处理接下来前进到步骤604,否则处理继续到步骤608。在步骤604,确定是否可从热队列504获得操作。如果可获得操作,则处理前进到步骤606,否则处理前进到步骤608。在步骤606,PE、PU或SPU获得“热”操作并且执行它。一旦操作完成,处理就返回到步骤602。在步骤608,确定是否可从冷队列506获得操作。如果可获得操作,则处理前进到步骤610。否则,处理继续到步骤612。在步骤610,PE、PU或SPU获得“冷”操作并且执行它。一旦操作完成,处理就返回到步骤602。如果不可获得待处理的任务,则在返回到步骤602之前的时间段(例如,预定数目的周期)内,处理可以在步骤612空闲或者执行“nop”。可选地,如上面关于图5所述,如果可获得热和冷任务两者,并且不超出Tmax,可以选择热或冷任务。这样,如通过流程图600看到的那样,处理器件能够通过从热和冷队列504、506选择任务来避免热点和过热。可以由一个或多个处理器件并发地执行该处理,从而允许执行指令和任务,而不改变时钟速度或关断处理器件。
如图7所示,有可能将热和冷队列的使用与优先级队列相组合。在该图中,提供了多队列调度方法540。调度器542与三个优先级队列即高优先级队列544、中优先级队列546和低优先级队列548相关联,不过可以采用不同优先级级别和数目的队列。调度器542如上面参考调度器502所述而操作。优先级队列544、546和548中的每个优选地包括热队列和冷队列,其以与上面关于图5所述相同的方式被创建和操作。例如,高优先级队列544具有用于处理任务H1H...HNH的热队列、以及用于处理任务C1H...CNH的冷队列。类似地,中优先级队列具有用于处理任务H1M...HNM的热队列、以及用于处理任务C1M...CNM的冷队列。类似地,低优先级队列具有用于处理任务H1L...HNL的热队列、以及用于处理任务C1L...CNL的冷队列。
图8示出了用于在采用优先级队列时获得和处理操作的优选方法的流程图800。最初,在步骤801,PE、PU或SPU确定采用什么优先级队列,例如,高优先级队列544、中优先级队列546或低优先级队列548。在步骤802,PE、PU或SPU确定其当前温度是否高于热量阈值Tmax。如果不超出Tmax,则处理接下来前进到步骤804,否则处理继续到步骤808。在步骤804,确定是否可从所选优先级队列的热队列504获得操作。如果可获得操作,则处理继续到步骤806,否则处理继续到步骤808。在步骤806,PE、PU或SPU获得“热”操作并且执行它。一旦操作完成,处理就返回到步骤801。在步骤808,确定是否可从所选优先级队列的冷队列506获得操作。如果可获得操作,则处理继续到步骤810,否则处理继续到步骤812。在步骤810,PE、PU或SPU获得“冷”操作并且执行它。一旦操作完成,处理就返回到步骤801。如果不可获得待处理的任务,则在返回到步骤801之前,处理在步骤812空闲。可选地,如果对于给定优先级级别可获得热和冷任务两者,并且不超出Tmax,则可以针对该优先级级别而选择热或冷任务。这样,如通过流程图800看到的那样,处理组件能够通过在运行时间期间从各个优先级队列544、546和548的热和冷队列选择任务来避免热点和过热。可以由一个或多个处理组件并发地执行该处理,从而允许执行指令和任务,而不改变时钟速度或关断处理组件。在可选方案中,如果处理器件变得太热,并且接近或超出Tmax,则它可以从较低优先级队列(例如,中优先级队列546或低优先级队列548)选择操作,并且/或者以减小的时钟周期执行操作,而不管操作的热量属性可以以减小的时钟周期来执行这样的较低优先级任务。
在一些情形下,组件可能在执行操作(例如,任务)之前低于热量阈值Tmax,但是然后,可能在任务执行期间超出Tmax。过去,这样的现象将可能需要关断组件并且让它冷却。然而,已经开发了一种解决该问题的技术,其特别适于多处理器环境。
图9A示出了运行一组任务的多个PE。在该示例中,假定PE2在其处理任务1的期间过热。有可能将任务1从PE 2移动到可能正在操作其它任务例如任务2和3的其它处理器中的一个。其它任务优选地是比当前由PE2执行的任务具有更低优先级的任务。
如图9B所示,其它处理器中的任务,例如任务3可以被“换出”并且发送到例如适当的队列(或者不同的处理器)。这样,在PE3完成任务1时,PE2将不执行任务。可选地,这两个处理器可以交换任务,使得PE 2如图9C所示执行较低优先级任务。如图9C所示,(1)最初,PE 2和PE 3可以以例如500MHz的标准时钟速度操作。然后,(2),如果PE 2在操作高优先级任务1时变热,则可以与PE 3的较低优先级任务3交换其任务。最后,(3)可以以较慢或降低的时钟速度(例如,250MHz)执行较低优先级任务3,从而让PE2冷却,同时PE 3继续以500MHz的标准时钟速度执行任务1。还有可能提高时钟速度(例如,到650MHz),以执行较高优先级任务。应当理解,标准、提高和降低的时钟速度仅仅是示例性的,并且可以根据处理器、子处理器的特定体系结构和/或多处理系统的最大时钟速率而变化。在最坏情况的场景中,过热处理器可以停止操作,直至温度达到满意级别。然而,多处理器系统中的其它处理器将继续处理,以便迅速执行实时操作和其它关键性操作。虽然在图9A-C中示出了PE,但是有可能用PU和SPU、或者各种处理器件的组合执行相同的操作。例如,过热SPU 308可以将其高优先级任务发送到PU 304,PU 304可以将该任务重新分派给第二SPU 308。类似地,PU 304可以取得第二SPU 308的较低优先级任务,并且将其分派给第一SPU 308。一旦第一SPU 308冷却,它就可以恢复以正常时钟速度处理高优先级和/或“热”任务。
虽然参考特定实施例描述了本发明,但是应当理解,这些实施例仅仅用来说明本发明的原理和应用。因此,应当理解,可以对说明性实施例进行众多修改,并且可以设计其它配置而不脱离由所附权利要求限定的本发明的精神和范围。
工业应用
本发明适用于一种用于在处理环境中通过有效地分配指令和任务来减少热量热点的技术。

Claims (40)

1.一种用于执行要由具有热量阈值的组件执行的操作的方法,包括:
提供要由组件执行的多个操作;
将操作与热量属性相关联,该热量属性表示与在操作执行期间预期要由组件生成或引起的热量数量相关的值;以及
确定组件的温度是否超出热量阈值;以及执行下述调度操作
(i)如果不超出热量阈值,则执行第一操作,该第一操作与在执行之后保持或提高组件的温度的热量属性相关联;
(ii)如果超出热量阈值,则执行第二操作,该第二操作与在执行之后降低组件的温度的热量属性相关联。
2.如权利要求1所述的方法,还包括使用温度传感装置来测量热量属性。
3.如权利要求1所述的方法,还包括基于组件的功耗而估计热量属性。
4.如权利要求3所述的方法,其中估计热量属性还包括执行组件的电路模拟。
5.如权利要求3所述的方法,其中估计热量属性还包括确定组件的功率密度。
6.如权利要求1到5中的一个所述的方法,还包括按照执行次序来执行操作。
7.如权利要求1所述的方法,其中组件包括多个处理器件,并且热量属性是处理器件中执行操作的所选处理器件的合计热量属性。
8.如权利要求1所述的方法,其中组件包括多个处理器件,该处理器件中的每个都具有单独的热量阈值,并且热量属性包括多个单独的热量属性,每个单独的热量属性与处理器件中的一个相关联。
9.如权利要求8所述的方法,还包括:
选择处理器件中的至少一些,以执行操作;
监测所选的处理器件;以及
在所选的处理器件之间传递操作,以便不超出单独热量阈值。
10.如权利要求1所述的方法,其中组件包括多个处理器件,并且在该多个处理器件之间分配热量属性。
11.如权利要求1所述的方法,还包括通过以下操作确定热量属性:
(i)确定组件的功耗;
(ii)确定组件的占用面积;
(iii)将组件的功耗除以组件的占用面积,以获得单位面积的功耗;以及
(iv)将单位面积的功耗乘以热量估计常数。
12.如权利要求1所述的方法,还包括:
确定冷却属性;
其中,将该冷却属性与热量属性一起并入调度操作。
13.如权利要求1所述的方法,还包括如果不可获得第二操作,则执行空操作。
14.如权利要求1所述的方法,还包括:
确定所述多个操作的优先级级别;
确定是否可从该优先级级别的优先级队列中获得第一操作;以及
如果不可从该优先级队列中获得第一操作,则确定是否可从该优先级队列中获得第二操作。
15.如权利要求1所述的方法,包括:
基于任务热量属性来选择要执行的操作中的多个任务中的一个,以便由组件执行,其中每个任务的任务热量属性与在执行相关联的任务之后的组件的温度相关,并且根据组件的工作频率、组件的热量属性和组件的冷却属性中的至少一个来确定该任务热量属性;以及
执行所选的任务。
16.如权利要求15所述的方法,其中所述任务热量属性与在执行相关联的任务之后的组件温度的预期升高或降低相关。
17.如权利要求16所述的方法,其中预期的升高或降低是基于组件的功率密度。
18.如权利要求15所述的方法,其中任务被存储在存储器内的至少一个队列中。
19.如权利要求15所述的方法,其中任务被存储在存储器内的至少两个队列中,一个队列存储其任务热量属性满足条件的任务,并且另一个队列存储其任务热量属性不满足条件的任务。
20.如权利要求15所述的方法,其中条件是任务热量属性超出阈值。
21.如权利要求15所述的方法,其中还基于组件的当前温度来选择任务。
22.如权利要求15所述的方法,其中在执行之前,任务被存储在存储器内的不同地址中。
23.如权利要求15所述的方法,其中在执行之前,任务在不同时间被存储在存储器内的相同地址中。
24.如权利要求15所述的方法,其中组件是处理器。
25.一种处理系统,包括:
处理器,具有热量阈值,执行多个操作,该多个操作中的每个与热量属性相关联,该热量属性表示与在操作执行期间预期要由处理器生成或引起的热量数量相关的值;以及
调度器,与所述处理器电连接,用于
(i)如果处理器的温度不超出热量阈值,则使得处理器执行第一操作,该第一操作与在执行之后保持或提高处理器的温度的热量属性相关联;
(ii)如果处理器的温度超出热量阈值,则使得处理器执行第二操作,该第二操作与在执行之后降低处理器的温度的热量属性相关联。
26.如权利要求25所述的处理系统,还包括多个所述处理器,其中所述调度器基于要由所述多个处理器执行的热量属性来管理包括第一和第二操作的多个操作。
27.如权利要求26所述的处理系统,其中如果该多个处理器中的所选处理器的温度不超出该所选处理器的热量阈值,则所选处理器可用于获得并且执行第一操作和第二操作中的至少一个。
28.如权利要求27所述的处理系统,其中如果所选处理器的的温度不超出该所选处理器的热量阈值,则所选处理器获得第一操作。
29.如权利要求26所述的处理系统,其中如果该多个处理器中的所选处理器的温度超出该所选处理器的的热量阈值,则所选处理器可用于获得并且执行第二操作。
30.如权利要求26到29中的一个所述的处理系统,其中处理器包括温度传感装置,用于监测或估计处理器的温度。
31.如权利要求30所述的处理系统,其中每个处理器还包括模数转换器,其可用于从温度传感装置接收温度值并且提供数字温度值。
32.如权利要求26所述的处理系统,其中处理器中的所选处理器包括多个子处理器。
33.如权利要求32所述的处理系统,其中所选处理器具有与所选处理器相关联而不是与子处理器相关联的总计热量属性。
34.如权利要求32所述的处理系统,其中每个子处理器具有与其它子处理器的组件热量属性不同的组件热量属性。
35.如权利要求25所述的处理系统,还包括用于存储要被处理的任务的存储器;其中
所述处理器处理存储在存储器中的任务;并且
任务与属性相关联,每个任务的属性与在处理相关联的任务之后的处理器的温度相关,并且基于属性而选择任务中的一个,以便由处理器处理。
36.如权利要求35所述的处理系统,其中所述属性与处理所选任务后所述处理器的温度的预期的升高或降低有关,并且所述预期的升高或降低是基于组件的功率密度。
37.如权利要求35所述的处理系统,其中,所述任务被存储在存储器内的至少两个队列中,一个队列存储其属性超过阈值的任务,并且另一个队列存储其属性没有超过阈值的任务。
38.如权利要求35所述的处理系统,其中,该存储器包括存储器的两个单独集合,存储器的一个集合存储其属性满足条件的任务,而存储器的另一个集合存储其属性不满足条件的任务。
39.如权利要求38所述的处理系统,其中存储器的两个单独集合被存储在相同的存储器地址中,但是在不同的时间段。
40.如权利要求35到39中的任何一个所述的处理系统,其中处理器包括温度传感器,并且所述组件处理基于温度传感器的输出而选择的任务。
CNB2005800103859A 2004-03-29 2005-03-28 用于使用处理任务调度实现热量管理的方法和设备 Active CN100504790C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/812,177 US8224639B2 (en) 2004-03-29 2004-03-29 Methods and apparatus for achieving thermal management using processing task scheduling
US10/812,177 2004-03-29

Publications (2)

Publication Number Publication Date
CN1938687A CN1938687A (zh) 2007-03-28
CN100504790C true CN100504790C (zh) 2009-06-24

Family

ID=34962549

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800103859A Active CN100504790C (zh) 2004-03-29 2005-03-28 用于使用处理任务调度实现热量管理的方法和设备

Country Status (9)

Country Link
US (3) US8224639B2 (zh)
EP (1) EP1730635B1 (zh)
JP (1) JP4053547B2 (zh)
KR (1) KR101120215B1 (zh)
CN (1) CN100504790C (zh)
AT (1) ATE387663T1 (zh)
DE (1) DE602005005035T2 (zh)
TW (1) TW200602885A (zh)
WO (1) WO2005096150A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104490A (zh) * 2014-03-13 2016-11-09 高通股份有限公司 用于提供动态时钟和电压缩放(dcvs)感知处理器间通信的系统和方法

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
JP4152348B2 (ja) * 2004-06-03 2008-09-17 株式会社ソニー・コンピュータエンタテインメント 電子デバイス冷却装置、電子デバイスシステムおよび電子デバイス冷却方法
JP3781758B2 (ja) * 2004-06-04 2006-05-31 株式会社ソニー・コンピュータエンタテインメント プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法
US7347621B2 (en) * 2004-07-16 2008-03-25 International Business Machines Corporation Method and system for real-time estimation and prediction of the thermal state of a microprocessor unit
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
US7454631B1 (en) * 2005-03-11 2008-11-18 Sun Microsystems, Inc. Method and apparatus for controlling power consumption in multiprocessor chip
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
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
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
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
US7376532B2 (en) 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
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
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
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
WO2007083973A1 (en) * 2006-01-23 2007-07-26 Lg Electronics Inc. Terminal and method for performing device management scheduled based on threshold
US8104037B2 (en) * 2006-01-23 2012-01-24 Lg Electronics Inc. Terminal and method for performing device management scheduled based on threshold
KR101342370B1 (ko) * 2006-01-23 2013-12-16 엘지전자 주식회사 단말 및 그 단말에서의 임계-값 기반으로 장치관리를수행하는 방법
KR20070108432A (ko) * 2006-01-23 2007-11-12 엘지전자 주식회사 장치관리 스케줄링 방법
KR101349805B1 (ko) 2006-01-25 2014-01-10 엘지전자 주식회사 트랩 메커니즘을 이용한 장치관리 스케줄링 방법 및 그단말
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
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
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
JP5151203B2 (ja) * 2007-03-26 2013-02-27 日本電気株式会社 ジョブスケジューリング装置及びジョブスケジューリング方法
US7886172B2 (en) * 2007-08-27 2011-02-08 International Business Machines Corporation Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management
US8445913B2 (en) * 2007-10-30 2013-05-21 Spansion Llc Metal-insulator-metal (MIM) device and method of formation thereof
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US7870370B2 (en) * 2007-12-19 2011-01-11 International Business Machines Corporation Determining thermal characteristics of instruction sets
JP4804490B2 (ja) * 2008-02-18 2011-11-02 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
JP5309815B2 (ja) 2008-09-09 2013-10-09 富士通株式会社 電力供給管理装置および電力供給管理方法
US8566539B2 (en) * 2009-01-14 2013-10-22 International Business Machines Corporation Managing thermal condition of a memory
US8321057B2 (en) * 2009-03-12 2012-11-27 Red Hat, Inc. Infrastructure for adaptive environmental control for equipment in a bounded area
US8311683B2 (en) * 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
JP2011022940A (ja) * 2009-07-17 2011-02-03 Nec Corp 情報処理装置および情報処理方法並びにプログラム
US8397088B1 (en) 2009-07-21 2013-03-12 The Research Foundation Of State University Of New York Apparatus and method for efficient estimation of the energy dissipation of processor based systems
TWI430077B (zh) 2009-09-30 2014-03-11 Ibm 用於電腦系統的風扇控制系統與方法
TWI394033B (zh) * 2009-10-30 2013-04-21 Ibm 用於不同高度之電腦系統的風扇控制系統與方法
US8887171B2 (en) * 2009-12-28 2014-11-11 Intel Corporation Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection
US8495604B2 (en) * 2009-12-30 2013-07-23 International Business Machines Corporation Dynamically distribute a multi-dimensional work set across a multi-core system
JP5531679B2 (ja) * 2010-03-04 2014-06-25 日本電気株式会社 Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム
US8484495B2 (en) * 2010-03-25 2013-07-09 International Business Machines Corporation Power management in a multi-processor computer system
US8776069B2 (en) * 2010-12-07 2014-07-08 International Business Machines Corporation Energy and performance optimizing job scheduling
US9207730B2 (en) * 2011-06-02 2015-12-08 Apple Inc. Multi-level thermal management in an electronic device
US8688289B2 (en) * 2011-07-07 2014-04-01 Qualcomm Incorporated Method and system for preempting thermal load by proactive load steering
US8516460B2 (en) * 2011-08-02 2013-08-20 International Business Machines Corporation Real-time temperature sensitive machine level code compilation and execution
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
DE112012006200T5 (de) * 2012-06-29 2014-12-31 Hewlett Packard Development Company, L.P. Disponieren thermisch priorisierter Rechenanwendungen
US9618988B2 (en) * 2012-07-03 2017-04-11 Nxp Usa, Inc. Method and apparatus for managing a thermal budget of at least a part of a processing system
US9329648B2 (en) * 2012-07-17 2016-05-03 International Business Machines Corporation Performance management of subsystems in a server by effective usage of resources
TWI463833B (zh) * 2012-10-31 2014-12-01 Delta Electronics Inc 感測器資料的快取裝置及其快取方法
US9152471B2 (en) * 2012-12-12 2015-10-06 International Business Machines Corporation System performance using cooling configuration information
US10528385B2 (en) 2012-12-13 2020-01-07 Microsoft Technology Licensing, Llc Task completion through inter-application communication
US9313162B2 (en) 2012-12-13 2016-04-12 Microsoft Technology Licensing, Llc Task completion in email using third party app
US20140173602A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Matching Opportunity to Context
US9535708B2 (en) * 2012-12-21 2017-01-03 Cisco Technology Inc. Rate-controlling of heat generating data processing operations
TWI617988B (zh) 2013-01-31 2018-03-11 聯想企業解決方案(新加坡)有限公司 根據處理器位置之熱條件進行排程的電腦系統與方法
US9342443B2 (en) 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system
US9557792B1 (en) 2013-05-31 2017-01-31 Amazon Technologies, Inc. Datacenter power management optimizations
US9292293B2 (en) * 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
US9588555B2 (en) * 2013-08-22 2017-03-07 Globalfoundries Inc. Managing cooling operations in a parallel computer comprising a plurality of compute nodes
JP6201530B2 (ja) 2013-08-30 2017-09-27 富士通株式会社 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
CN104699218B (zh) 2013-12-10 2019-04-19 华为终端(东莞)有限公司 一种任务管理方法及设备
US9436628B2 (en) 2014-05-30 2016-09-06 Apple Inc. Thermal mitigation using selective I/O throttling
US9530174B2 (en) * 2014-05-30 2016-12-27 Apple Inc. Selective GPU throttling
ES2874506T3 (es) * 2014-12-31 2021-11-05 Sz Dji Technology Co Ltd Procesamiento selectivo de datos de sensor
US10054994B2 (en) 2015-04-04 2018-08-21 Indian Institute Of Technology Bombay Non-uniform intensity mapping using high performance enterprise computing system
KR102285481B1 (ko) * 2015-04-09 2021-08-02 에스케이하이닉스 주식회사 NoC 반도체 장치의 태스크 매핑 방법
US9760402B2 (en) * 2015-07-23 2017-09-12 Dell Products L.P. Systems and methods for input/output traffic shaping for optimal performance under thermal constraints
US9465664B1 (en) * 2015-09-09 2016-10-11 Honeywell International Inc. Systems and methods for allocation of environmentally regulated slack
CN106873545A (zh) * 2015-12-14 2017-06-20 重庆森坦科技有限公司 一种基于fpga的实时多任务调度系统
WO2017131667A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Core characterization for processor cores
US10452437B2 (en) * 2016-06-24 2019-10-22 Advanced Micro Devices, Inc. Temperature-aware task scheduling and proactive power management
US9753773B1 (en) 2016-10-19 2017-09-05 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance
US9747139B1 (en) 2016-10-19 2017-08-29 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
US11107021B2 (en) 2016-11-06 2021-08-31 Microsoft Technology Licensing, Llc Presenting and manipulating task items
CN106656796B (zh) * 2016-11-11 2020-04-24 中国人民解放军国防科学技术大学 一种基于温度等级的超前阶梯式缓冲区调节方法
KR102643797B1 (ko) * 2017-01-10 2024-03-05 삼성전자주식회사 동적 발열 관리 방법
US11742038B2 (en) 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
US11551990B2 (en) * 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
KR102603299B1 (ko) * 2017-12-08 2023-11-17 한국전자통신연구원 그래픽 처리 장치 및 이의 동작 방법
KR102164716B1 (ko) * 2018-07-19 2020-10-14 주식회사 다이얼로그 세미컨덕터 코리아 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치
US11435813B2 (en) 2018-08-29 2022-09-06 Advanced Micro Devices, Inc. Neural network power management in a multi-GPU system
US11175952B2 (en) 2020-02-21 2021-11-16 International Business Machines Corporation Leveraging thermal profiles of processing tasks to dynamically schedule execution of the processing tasks
CN113687980B (zh) * 2020-05-19 2024-03-01 北京京东乾石科技有限公司 异常数据自恢复方法、系统、电子设备和可读存储介质
US11740953B2 (en) 2021-01-22 2023-08-29 Google Llc Solder joint damage-prevention mode for a computing device

Family Cites Families (197)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3576544A (en) 1968-10-18 1971-04-27 Ibm Storage protection system
JPS5412643Y2 (zh) 1971-08-12 1979-06-02
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
JPS54146555U (zh) 1978-04-03 1979-10-12
JPS576952Y2 (zh) 1978-12-01 1982-02-09
US4314349A (en) 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors
JPS6319058Y2 (zh) 1980-01-17 1988-05-27
US4332009A (en) 1980-01-21 1982-05-25 Mostek Corporation Memory protection system
JPS56111962U (zh) 1980-01-30 1981-08-29
JPS56123051U (zh) 1980-02-15 1981-09-18
US4430705A (en) 1980-05-23 1984-02-07 International Business Machines Corp. Authorization mechanism for establishing addressability to information in another address space
US4414624A (en) 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
JPS57176456A (en) 1981-04-22 1982-10-29 Fanuc Ltd Data processing system
DE3171379D1 (en) 1981-04-28 1985-08-22 Ibm Bus arrangement for interconnectiong circuit chips
JPS63758Y2 (zh) 1981-04-30 1988-01-09
AU542447B2 (en) 1982-02-27 1985-02-21 Fujitsu Limited System for controlling key storage unit
JPS5920074U (ja) 1982-07-28 1984-02-07 住友電気工業株式会社 圧電効果を利用した開閉弁
JPS5958700A (ja) 1982-09-29 1984-04-04 Fujitsu Ltd 記憶保護判定方式
US4545016A (en) 1983-01-07 1985-10-01 Tandy Corporation Memory management system
US4622631B1 (en) 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US5159700A (en) 1984-01-16 1992-10-27 Texas Instruments Incorporated Substrate with optical communication systems between chips mounted thereon and monolithic integration of optical I/O on silicon substrates
JPS61180352U (zh) 1985-04-25 1986-11-11
US4732446A (en) 1985-10-02 1988-03-22 Lamar Gipson Electrical circuit and optical data buss
CA1280829C (en) 1985-11-13 1991-02-26 Toshio Matsumoto Main storage access control system for virtual computing function system
US5274797A (en) * 1986-05-30 1993-12-28 Bull Hn Information Systems Inc. Multiprocessor system with centralized initialization, testing and monitoring of the system and providing centralized timing
JPS6241986A (ja) 1986-08-29 1987-02-23 Hitachi Ltd オイルフリースクリユー圧縮機結合体
JPS6365222A (ja) 1986-09-03 1988-03-23 Tokyo Tatsuno Co Ltd 触媒燃焼装置
US4805107A (en) 1987-04-15 1989-02-14 Allied-Signal Inc. Task scheduler for a fault tolerant multiple node processing system
JP2960415B2 (ja) 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
JPS6412364U (zh) 1987-07-11 1989-01-23
JPH0719704Y2 (ja) 1987-07-31 1995-05-10 シャープ株式会社 生産ラインの生産管理装置
JPH0612333Y2 (ja) 1987-12-28 1994-03-30 株式会社ゼクセル 車両用熱焼式ヒータの燃焼器
JP2677589B2 (ja) 1988-02-26 1997-11-17 株式会社東芝 携帯可能電子装置およびicチップ
US5056000A (en) 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
US4939682A (en) 1988-07-15 1990-07-03 The Boeing Company Integrated electro-optic arithmetic/logic unit and method for making the same
EP0369052A1 (en) 1988-11-17 1990-05-23 International Business Machines Corporation Data base access system
JPH02210542A (ja) 1989-02-10 1990-08-21 Fujitsu Ltd 仮想計算機システムにおける実行制御方式
US5222239A (en) * 1989-07-28 1993-06-22 Prof. Michael H. Davis Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources
EP0424618A3 (en) 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
US5037173A (en) 1989-11-22 1991-08-06 Texas Instruments Incorporated Optical interconnection network
EP0509055A4 (en) 1990-01-05 1994-07-27 Maspar Computer Corp Parallel processor memory system
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
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
EP0461926B1 (en) 1990-06-15 1998-09-02 Compaq Computer Corporation Multilevel inclusion in multilevel cache hierarchies
US5093879A (en) 1990-06-22 1992-03-03 International Business Machines Corporation Electro-optical connectors
US5144691A (en) 1990-07-20 1992-09-01 Cray Research, Inc. Computer signal interconnect apparatus
US5303369A (en) 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
EP0481735A3 (en) 1990-10-19 1993-01-13 Array Technology Corporation Address protection circuit
US5590345A (en) 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5630162A (en) 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
KR940004404B1 (ko) 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US5131054A (en) 1991-01-09 1992-07-14 Thinking Machines Corporation Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity
JPH04284754A (ja) 1991-03-14 1992-10-09 Fujitsu Ltd Atm交換装置
JPH04288643A (ja) 1991-03-18 1992-10-13 Nec Corp マルチプロセッサシステムのメモリマッピング方式
US5519875A (en) 1991-08-08 1996-05-21 Hitachi, Ltd. Distributed processing system for modules, each having modularized objects
US5404563A (en) 1991-08-28 1995-04-04 International Business Machines Corporation Scheduling normally interchangeable facilities in multiprocessor computer systems
US5361370A (en) 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
JP3364937B2 (ja) 1991-11-29 2003-01-08 株式会社日立製作所 並列演算装置
US5268973A (en) 1992-01-21 1993-12-07 The University Of Texas System Wafer-scale optical bus
JPH05242057A (ja) 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JPH05257907A (ja) 1992-03-11 1993-10-08 Hitachi Ltd オンチップマルチプロセッサシステム
JPH05324589A (ja) 1992-03-25 1993-12-07 Nippon Sheet Glass Co Ltd 並列コンピュータ装置および光結合装置
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US5394524A (en) 1992-08-07 1995-02-28 International Business Machines Corporation Method and apparatus for processing two graphics data streams in parallel
EP0610583A1 (en) 1993-02-08 1994-08-17 International Business Machines Corporation Multizone relocation facility computer memory system
US5619671A (en) 1993-04-19 1997-04-08 International Business Machines Corporation Method and apparatus for providing token controlled access to protected pages of memory
JPH07168726A (ja) * 1993-12-16 1995-07-04 Matsushita Electric Ind Co Ltd 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法
US5745778A (en) * 1994-01-26 1998-04-28 Data General Corporation Apparatus and method for improved CPU affinity in a multiprocessor system
GB2287555A (en) 1994-02-25 1995-09-20 Motorola Gmbh An adjustable clock generator system.
US5487146A (en) 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5815403A (en) * 1994-04-19 1998-09-29 Lsi Logic Corporation Fail-safe distributive processing method for producing a highest fitness cell placement for an integrated circuit chip
JPH07287064A (ja) 1994-04-20 1995-10-31 Mitsubishi Electric Corp レーダ信号処理装置
DE69532596T2 (de) 1994-05-09 2004-08-05 Canon K.K. Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung
US5513337A (en) 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
JPH0816531A (ja) 1994-06-28 1996-01-19 Hitachi Ltd プロセススケジュール方式
JPH0883257A (ja) 1994-09-13 1996-03-26 Hitachi Ltd 並列コンピュータシステムのプロセス実行最適化方法
JPH08161283A (ja) 1994-12-07 1996-06-21 Sony Corp 複数プロセツサシステム
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
JPH08180018A (ja) 1994-12-26 1996-07-12 Toshiba Corp 分散処理システム及び分散処理方法
US6192479B1 (en) * 1995-01-19 2001-02-20 Texas Instruments Incorporated Data processing with progressive, adaptive, CPU-driven power management
US5715184A (en) * 1995-01-23 1998-02-03 Motorola, Inc. Method of parallel simulation of standard cells on a distributed computer system
JPH08212178A (ja) 1995-02-08 1996-08-20 Hitachi Ltd 並列計算機
JP2731742B2 (ja) 1995-02-28 1998-03-25 甲府日本電気株式会社 クラスタ構成の並列計算機
CA2170468A1 (en) 1995-02-28 1996-08-29 Noriyuki Ando Multi-processor system with virtually addressable communication registers and controlling method thereof
JPH08249261A (ja) 1995-03-08 1996-09-27 Mitsubishi Electric Corp メッセージ管理システム
DE19508723A1 (de) 1995-03-10 1996-09-12 Siemens Ag Mehrbenutzerdatenverarbeitungsanlage mit Speicherschutz
US5850534A (en) 1995-06-05 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for reducing cache snooping overhead in a multilevel cache system
JPH09138716A (ja) 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
JP3786993B2 (ja) 1995-12-14 2006-06-21 株式会社日立製作所 データ記憶ユニット及び該ユニットを用いたデータ記憶装置
US6886167B1 (en) 1995-12-27 2005-04-26 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
JPH09198361A (ja) 1996-01-23 1997-07-31 Kofu Nippon Denki Kk マルチプロセッサシステム
US5729712A (en) 1996-01-26 1998-03-17 Unisys Corporation Smart fill system for multiple cache network
US5761516A (en) * 1996-05-03 1998-06-02 Lsi Logic Corporation Single chip multiprocessor architecture with internal task switching synchronization bus
JPH09311839A (ja) 1996-05-21 1997-12-02 Hitachi Ltd データ共用方式
US5940870A (en) 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US5787309A (en) 1996-05-23 1998-07-28 International Business Machines Corporation Apparatus for protecting storage blocks from being accessed by unwanted I/O programs using I/O program keys and I/O storage keys having M number of bits
US5900019A (en) 1996-05-23 1999-05-04 International Business Machines Corporation Apparatus for protecting memory storage blocks from I/O accesses
US5724551A (en) 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
AT1751U1 (de) 1996-09-30 1997-10-27 Kuehn Eva Koordinations-system
JPH10126771A (ja) 1996-10-15 1998-05-15 Toshiba Corp 画像データ転送システムにおける画像データ送出レート制御方法および画像データ転送方法
JP3567354B2 (ja) 1996-12-26 2004-09-22 株式会社リコー マルチプロセッサシステムおよび命令作成装置
JP3421526B2 (ja) 1997-02-14 2003-06-30 モトローラ株式会社 デ−タ処理装置
US6424988B2 (en) 1997-02-19 2002-07-23 Unisys Corporation Multicomputer system
US6192514B1 (en) 1997-02-19 2001-02-20 Unisys Corporation Multicomputer system
US6289434B1 (en) 1997-02-28 2001-09-11 Cognigine Corporation Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
JP3739888B2 (ja) 1997-03-27 2006-01-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
JP3681026B2 (ja) 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US6212605B1 (en) 1997-03-31 2001-04-03 International Business Machines Corporation Eviction override for larx-reserved addresses
JPH1139215A (ja) 1997-05-22 1999-02-12 Matsushita Electric Ind Co Ltd キャッシュメモリおよびキャッシュメモリを制御する方法
JPH10334055A (ja) 1997-06-03 1998-12-18 Sony Corp マルチプロセッサ・システム
JPH10340165A (ja) 1997-06-09 1998-12-22 Canon Inc 情報処理装置及びその方法並びにメモリ媒体
JP3490256B2 (ja) 1997-06-12 2004-01-26 三菱電機株式会社 エージェント方式
US5892966A (en) 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6360303B1 (en) 1997-09-30 2002-03-19 Compaq Computer Corporation Partitioning memory shared by multiple processors of a distributed processing system
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6209065B1 (en) 1997-10-24 2001-03-27 Compaq Computer Corporation Mechanism for optimizing generation of commit-signals in a distributed shared-memory system
US6002409A (en) * 1997-10-29 1999-12-14 Cirrus Logic, Inc. Arbitration for shared graphics processing resources
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6965974B1 (en) 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US6173389B1 (en) 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
JPH11202988A (ja) 1998-01-13 1999-07-30 Hitachi Ltd システム消費電力制御方法
JPH11232247A (ja) 1998-02-10 1999-08-27 Hitachi Ltd データフロー計算機およびデータフロー制御方法
US6008685A (en) * 1998-03-25 1999-12-28 Mosaic Design Labs, Inc. Solid state temperature measurement
US6167430A (en) 1998-05-12 2000-12-26 Unisys Corporation Multicomputer with distributed directory and operating system
JPH11338833A (ja) 1998-05-22 1999-12-10 Hitachi Ltd マルチプロセッサ型コントローラ及びスケーラブルコントローラシステム
US6947987B2 (en) 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
US6336187B1 (en) 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
US6209066B1 (en) 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US6141762A (en) 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
JP3224782B2 (ja) 1998-08-03 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理分担動的変更方法及びコンピュータ
JP2000132529A (ja) * 1998-10-23 2000-05-12 Sony Corp 並列処理装置、並列処理方法および記録媒体
US6643708B1 (en) 1998-10-29 2003-11-04 International Business Machines Corporation Systems, methods and computer program products for chaining Java servlets across networks
US6633563B1 (en) * 1999-03-02 2003-10-14 Nortel Networks Limited Assigning cell data to one of several processors provided in a data switch
JP3790060B2 (ja) 1999-01-29 2006-06-28 株式会社山武 演算処理装置
US6341338B1 (en) 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
JP4123621B2 (ja) 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US6480941B1 (en) 1999-02-23 2002-11-12 International Business Machines Corporation Secure partitioning of shared memory based multiprocessor system
US6753878B1 (en) * 1999-03-08 2004-06-22 Hewlett-Packard Development Company, L.P. Parallel pipelined merge engines
US6647208B1 (en) 1999-03-18 2003-11-11 Massachusetts Institute Of Technology Hybrid electronic/optical switch system
US6345362B1 (en) 1999-04-06 2002-02-05 International Business Machines Corporation Managing Vt for reduced power using a status table
US6477170B1 (en) 1999-05-21 2002-11-05 Advanced Micro Devices, Inc. Method and apparatus for interfacing between systems operating under different clock regimes with interlocking to prevent overwriting of data
DE60039554D1 (de) 1999-06-25 2008-09-04 Canon Res Ct France S A Verteilte Verwaltung von Datenobjekten in einem Kommunikations-Netzwerk
US6467012B1 (en) 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6668317B1 (en) 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6198245B1 (en) * 1999-09-20 2001-03-06 O2 Micro International Ltd. Look-ahead closed-loop thermal management
DE69920460T2 (de) 1999-10-25 2005-01-20 Texas Instruments Inc., Dallas Intelligente Leistungssteuerung in verteilten Verarbeitungssystemen
JP4049957B2 (ja) 1999-10-29 2008-02-20 富士ゼロックス株式会社 マルチプロセッサシステム
US6577311B1 (en) 1999-12-16 2003-06-10 Picture Iq Corporation Techniques for automatically providing a high-resolution rendering of a low resolution digital image in a distributed network
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
JP2001195230A (ja) 2000-01-14 2001-07-19 Mitsubishi Electric Corp 描画処理システム、及び描画演算を行う半導体集積回路
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6807620B1 (en) 2000-02-11 2004-10-19 Sony Computer Entertainment Inc. Game system with graphics processor
KR100319708B1 (ko) 2000-02-11 2002-01-09 전주식 방향 분리 이중 링 구조의 분산된 공유 메모리 다중프로세서 시스템
US6799207B1 (en) 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
JP2002064145A (ja) 2000-06-09 2002-02-28 Fujitsu Ltd 冗長素子を備える集積回路チップ、マルチプロセッサおよびその製法
JP4640880B2 (ja) 2000-07-14 2011-03-02 国立大学法人東京工業大学 マイクロプロセッサシステム
US6269043B1 (en) * 2000-07-31 2001-07-31 Cisco Technology, Inc. Power conservation system employing a snooze mode
EP1182556B1 (en) * 2000-08-21 2009-08-19 Texas Instruments France Task based adaptive profiling and debugging
EP1182552A3 (en) 2000-08-21 2003-10-01 Texas Instruments France Dynamic hardware configuration for energy management systems using task attributes
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
JP2002098594A (ja) * 2000-09-25 2002-04-05 Toshiba Corp 温度センサ装置
US20030069985A1 (en) * 2000-10-02 2003-04-10 Eduardo Perez Computer readable media for storing video data
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
JP3860116B2 (ja) 2000-10-31 2006-12-20 ミレニアル・ネット・インコーポレーテッド 最適化電力効率によるネットワークプロセッシングシステム
US6631440B2 (en) * 2000-11-30 2003-10-07 Hewlett-Packard Development Company Method and apparatus for scheduling memory calibrations based on transactions
US6865631B2 (en) 2000-12-14 2005-03-08 International Business Machines Corporation Reduction of interrupts in remote procedure calls
US6779049B2 (en) 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US7020871B2 (en) 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US6748501B2 (en) 2000-12-30 2004-06-08 International Business Machines Corporation Microprocessor reservation mechanism for a hashed address system
US6779045B2 (en) * 2001-03-21 2004-08-17 Intel Corporation System and apparatus for increasing the number of operations per transmission for a media management system
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6922726B2 (en) * 2001-03-23 2005-07-26 International Business Machines Corporation Web accessibility service apparatus and method
JP2003167751A (ja) 2001-04-24 2003-06-13 Ricoh Co Ltd プロセッサ処理方法およびプロセッサシステム
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
JP3610930B2 (ja) 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
US20030055969A1 (en) 2001-09-17 2003-03-20 International Business Machines Corporation System and method for performing power management on a distributed system
JP4050027B2 (ja) * 2001-09-28 2008-02-20 株式会社日立製作所 情報処理装置及び情報処理装置の制御方法
US20030079151A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Energy-aware workload distribution
US7203943B2 (en) 2001-10-31 2007-04-10 Avaya Technology Corp. Dynamic allocation of processing tasks using variable performance hardware platforms
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US6775787B2 (en) 2002-01-02 2004-08-10 Intel Corporation Instruction scheduling based on power estimation
JP2003256067A (ja) 2002-03-01 2003-09-10 Mitsubishi Electric Corp 省電力制御方式及び省電力制御方法及びプログラム及び記録媒体
WO2003083693A1 (fr) 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
US6948082B2 (en) * 2002-05-17 2005-09-20 International Business Machines Corporation Method and apparatus for software-assisted thermal management for electronic systems
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
US7100060B2 (en) * 2002-06-26 2006-08-29 Intel Corporation Techniques for utilization of asymmetric secondary processing resources
JP3673245B2 (ja) * 2002-06-28 2005-07-20 株式会社東芝 情報処理装置および同装置における電源制御方法
JP2004103347A (ja) 2002-09-09 2004-04-02 Sumitomo Wiring Syst Ltd コネクタ
JP4934954B2 (ja) * 2003-10-15 2012-05-23 日亜化学工業株式会社 ヒートシンク及びヒートシンクを備えた半導体装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
POWER ANALYSIS AND MINIMIZATION TECHNIQUESFOR EMBEDDED DSP SOFTWARE. TIEN-CHIEN LEE M ET AL.IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS,Vol.5 No.1. 1997
POWER ANALYSIS AND MINIMIZATION TECHNIQUESFOR EMBEDDED DSP SOFTWARE. TIEN-CHIEN LEE M ET AL.IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS,Vol.5 No.1. 1997 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104490A (zh) * 2014-03-13 2016-11-09 高通股份有限公司 用于提供动态时钟和电压缩放(dcvs)感知处理器间通信的系统和方法

Also Published As

Publication number Publication date
US20120266174A1 (en) 2012-10-18
EP1730635B1 (en) 2008-02-27
US8224639B2 (en) 2012-07-17
ATE387663T1 (de) 2008-03-15
KR20060134185A (ko) 2006-12-27
US20050216222A1 (en) 2005-09-29
TW200602885A (en) 2006-01-16
US20140245314A1 (en) 2014-08-28
EP1730635A2 (en) 2006-12-13
DE602005005035D1 (de) 2008-04-10
TWI345155B (zh) 2011-07-11
WO2005096150A1 (en) 2005-10-13
JP2005285123A (ja) 2005-10-13
US8751212B2 (en) 2014-06-10
DE602005005035T2 (de) 2009-03-19
US9183051B2 (en) 2015-11-10
WO2005096150B1 (en) 2006-01-26
KR101120215B1 (ko) 2012-03-16
JP4053547B2 (ja) 2008-02-27
CN1938687A (zh) 2007-03-28

Similar Documents

Publication Publication Date Title
CN100504790C (zh) 用于使用处理任务调度实现热量管理的方法和设备
US7360102B2 (en) Methods and apparatus for achieving thermal management using processor manipulation
CN102306111B (zh) 用于提高事件处理的涡轮加速性能的方法和装置
CN101379453B (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
CN100561461C (zh) 用于经由资源分配和限制的异构芯片多处理器的装置和方法
US20060107262A1 (en) Power consumption-based thread scheduling
US7430672B2 (en) Method and apparatus to monitor power consumption of processor
EP3295300B1 (en) System and method for determining concurrency factors for dispatch size of parallel processor kernels
Bazzaz et al. Fast and predictable non-volatile data memory for real-time embedded systems
CN101341471B (zh) 动态高速缓存管理的设备和方法
Samavatian et al. Architecting the last-level cache for GPUs using STT-RAM technology
Zhang et al. Optimizing data allocation for loops on embedded systems with scratch-pad memory
Du et al. Optimization of data allocation on CMP embedded system with data migration
Uppal et al. Towards workload-aware page cache replacement policies for hybrid memories
Do et al. Application characteristics-aware sporadic cache bypassing for high performance GPGPUs
Oh et al. Per-operation reusability based allocation and migration policy for hybrid cache
Wang et al. IBOM: An integrated and balanced on-chip memory for high performance GPGPUs
Gianelli et al. Application-specific autonomic cache tuning for general purpose GPUs
Sterling et al. Steps to petaflops computing: A hybrid technology multithreaded architecture
Chang et al. A run-time page selection methodology for efficient quality-based resuming
Glenn et al. Characterizing memory hot spots in a shared memory MIMD machine
Singh et al. Algorithmic techniques for memory energy reduction
Judd Bundling Spatially Correlated Prefetches for Improved Main Memory Row Buffer Locality
Jin Memory Interface Synthesis for FPGA-Based Computing
Lewis et al. Thermal-Aware Scheduling in Multicore Systems Using Chaotic Attractor Predictors

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