信息处理设备,信息处理方法,及计算机程序的制作方法

文档序号:6650897阅读:127来源:国知局
专利名称:信息处理设备,信息处理方法,及计算机程序的制作方法
技术领域
本发明涉及一种信息处理设备,一种信息处理方法,及一种计算机程序,并且具体地说涉及适合于通过多个处理器执行的分布式处理的一种信息处理设备,一种信息处理方法,及一种计算机程序。
背景技术
用于分配当前多个处理器或计算机中执行的处理的分布式处理应当导致注意。在第一方法中,由通过通讯网络连接的多个计算机执行分布式处理。在第二方法中,由配置在单个计算机中的多个处理器执行分布式处理。在第三方法中,合并第一方法和第二方法。
请求执行分布式处理的一个设备或一个处理器将执行分布式处理所需的数据和程序传送到将要执行分布式处理的另一个设备或另一个处理器。一旦接收到数据和程序,该设备或处理器就执行请求处理,并将处理的数据返回请求计算机或请求处理器。
一旦接收来自计算机或处理器的数据,请求计算机或请求处理器就执行预定的处理或记录接收到的数据。
日本未审专利申请公开号2002-342165,2002-351850,2002-358289,2002-366533,和2002-366534公开了高速计算机结构技术,该结构技术利用统一模块结构、通常计算模块、及统一软件单元执行分布式处理。
随着信息处理设备中执行的不断增长的时钟速度和高度集成,多个处理器的使用允许执行分布式处理来,而不需要大规模的计算机。
在上述公开披露的技术中,基本的处理模块是处理器元件(PE)。该PE包括处理单元(PU),直接存储器存取控制器(DMAC),及多个附加处理器单元(APU),即,用于主处理器的多个子处理器。
众所周知的处理器系统执行多种的功率控制方法。日本未审专利申请公开号9-34601公开了一种功率控制方法,其中每个处理器中止并且恢复连续地保持运转的网络和系统控制器的操作。日本未审专利申请公开号2002-304232公开了另外一种功率控制方法,其中响应于负载来控制操作频率和电源电压。日本未审专利申请公开号2001-526809还公开了另外一种功率控制方法,其中容错系统阻止功率给中央处理单元(CPU)。日本未审专利申请公开号2000-112559公开了一种功率控制系统,其中多路处理器系统自动地检测没有负载状态来控制时钟频率。日本未审专利申请公开号2001-145174公开了一种功率控制方法,其中响应于环境和状态中的改变控制设备协作。

发明内容
随着信息处理设备中实施的不断增长的时钟速度和高集成度,多个极高速的处理器被设置在单个芯片上。设置在单个芯片上的多个处理器执行各自独立的程序,从而执行处理来确定作为单逻辑功能(逻辑线程)的解决方法。与通常技术相比显著地增加了芯片中处理器位置的总热量。换句话说,热量密度显著地变高。
由于热量,处理器易遭受失控或故障,除非对芯片上处理器位置的温度增长采取补救步骤。常规的分布式处理系统不能够保证每个处理器和其中芯片上的周围环境区域保持在正常操作温度区域内。在设备性能降低模式中每个处理器不能非常有效地执行信息处理。
在公知的分布式处理系统中不考虑芯片温度的增加。没有有效的技术能够响应于每个处理器位置上的温度增加来传送或交换多个处理器之间的处理(线程)。换句话说,没有考虑处理器的操作状态,芯片上的温度,以及根据逻辑线程的预算在芯片上进行的处理器设计,并且选择处理器作为处理(线程)的传送目标或交换目标。
随着信息处理设备中实施的不断增加的时钟速度和高集成度,用于处理所消耗的功率显著地增加。已知的处理器系统的功率控制方法中,努力减小除了设备的初始处理以外的处理所消耗的功率。已知的执行分布式处理的信息处理设备中,没有考虑提供给处理器(或处理器组)的功率变得不足的情况中或其中连续操作的处理器(或处理器组)的功率消耗希望保持在一定水平的情况。
从而希望提供一种信息处理设备,即使当任何处理器在分布式处理中间遭受温度增加或异常功率提供状态时,该信息处理设备在设备性能降低模式中也能非常可靠的执行具有作为逻辑线程操作功能的信息处理。
本发明实施例的一种信息处理设备,包括第一信息处理装置;多个第二信息处理装置;及多个温度检测装置,每个温度检测装置用于检测在多个信息处理装置的每一个附近的温度;其中第一信息处理装置包括用于控制应用程序执行的应用程序执行控制单元;用于控制在多个第二信息处理装置上执行的处理分配的分布式处理的分布式处理控制单元,为了提供对应于处理单元、应用程序执行控制单元的功能,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;用于记录与由温度检测装置检测的温度相关的第一信息,和与第二信息处理设备执行的处理相关的第二信息的记录单元;用于检测由温度检测装置检测温度异常的异常检测单元;如果由异常检测单元检测的温度异常则用于控制分布式处理控制单元的分布式处理的异常发生时控制单元;其中基于由记录单元记录的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的处理的分配。
异常发生时控制单元可以控制分布式处理控制单元来更新分配处理,使得检测为没有温度异常的其他第二信息处理装置的一个被选择,并且使得由检测为温度异常的第二信息处理装置执行的处理被重新分配到选择的用于执行的第二信息处理装置。
更可取地异常发生时控制单元选择具有由温度检测装置检测的、比其他第二信息处理装置的附近温度低的附近温度的第二信息处理装置中的一个,作为基于由记录单元记录的第一信息的具有高优先权的处理分配目标。
异常发生时控制单元选择还未开始执行该处理的第二信息处理装置中的一个,作为基于由记录单元记录的第二信息的具有高优先权的处理分配目标。
异常发生时控制单元控制分布式处理控制单元来更新处理分配,使得检测为没有温度异常的第二信息处理装置的一个被选择,并且使得由检测为温度异常的第二信息处理设备执行的处理被由处理的执行中的两个装置之间选择的第二信息处理装置执行的处理交换。
异常发生时控制单元选择具有由温度检测装置检测的、比其他第二信息处理装置的附近温度低的附近温度的第二信息处理装置中的一个,作为基于由记录单元记录的第一信息的具有高优先权的处理交换目标。
异常发生时控制单元选择还未开始执行该处理的第二信息处理装置中的一个,作为基于由记录单元记录的第二信息的具有高优先权的处理交换目标。
信息处理设备可以还包括用于与另外信息处理设备通信的通信装置。
如果自身信息处理设备起主设备的作用,信息处理设备可以通过通信装置与至少可通信的其他信息处理设备共同形成一网络系统,其中通信装置接收来自其他信息处理设备的其他信息处理设备的第一信息和第二信息,其中记录单元还记录由通信装置接收的其他信息处理设备的第一信息和第二信息,其中基于由记录单元记录的其他信息处理设备的第一信息,异常检测单元还通过通信装置检测可通信的其他信息处理设备中生成的温度异常,和其中如果异常检测单元检测到温度异常,则基于由记录单元记录的自身信息处理设备和其他信息处理设备的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的分配处理,和如果在网络系统中自身信息处理设备起从设备的作用,则通信装置将由记录单元记录的第一信息和第二信息传送到在该网络系统中作为主设备的其他信息处理设备。
如果异常检测单元检测到温度异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的传送其他信息处理设备的第一信息和第二信息的第一信号,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收相应于第一信息和第二信息的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的分配处理。
如果异常检测单元检测到温度异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的执行由检测为温度异常的第二信息处理装置执行的处理的第一信号,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收的应答第一信号的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的处理分配。
信息处理设备可以包括多个信息处理模块,每个模块包括第一信息处理器和第二信息处理器。
信息处理设备可以进一步包括用于测量由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率的功率测量装置;其中记录单元还记录与由功率测量装置测量的功率消耗相关的信息,其中异常检测单元还检测由功率测量装置测量的功率消耗异常,和其中如果异常检测单元检测到温度异常和功率消耗异常中的一个,则异常发生时控制单元控制由分布式处理控制单元执行的分布式处理。
根据本发明一个实施例,一种信息处理设备的信息处理方法,该信息处理设备包括第一信息处理装置和多个第二信息处理装置,该信息处理方法包括步骤请求开始用于提供对应的处理单元、第一信息处理装置的功能的分布式处理,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得第二信息处理装置附近生成的温度的温度信息;检测温度信息获得步骤中获得的温度信息中的温度异常;确定第二信息处理装置中在异常检测步骤中其附近温度被检测为温度异常的一个;和基于在温度信息获得步骤中获得的温度信息和在确定步骤中提供的确定结果,控制分布式处理来更新由检测为温度异常的第二信息处理装置执行的处理的分配。
根据本发明另一个实施例,用于使计算机控制具有第一信息处理装置和多个第二信息处理装置的分布式处理,计算机程序包括步骤请求开始用于提供对应的处理单元、第一信息处理装置的功能的分布式处理,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得第二信息处理装置附近生成的温度的温度信息;检测温度信息获得步骤中获得的温度信息中的温度异常;确定第二信息处理装置中在异常检测步骤中其附近温度被检测为温度异常的一个;和基于在温度信息获得步骤中获得的温度信息和在确定步骤中提供的确定结果,控制分布式处理来更新由检测为温度异常的第二信息处理装置执行的处理的分配。
通过执行应用程序的第一信息处理器,发出开始分布式处理的请求,获得关于接近第一信息处理器和第二信息处理器的温度的温度信息,并检测温度异常。第一信息处理器和第二信息处理器的一个被确定,其中的接近温度被检测。基于温度信息和确定结果,控制分布式处理,使得更新由温度异常中的第二信息处理器执行的处理的分配。
仍根据本发明的另外的实施例,一种信息处理设备,包括第一信息处理装置;多个第二信息处理装置;用于测量由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率的功率测量装置;和用于与其他信息处理设备通信的通信装置,其中第一信息处理装置包括用于控制应用程序执行的应用程序执行控制单元;用于为了提供相应于处理单元、应用程序执行控制单元的功能,控制对多个第二信息处理装置执行处理分配的分布式处理的分布式处理控制单元,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;用于记录与由功率测量装置测量的功率相关的第一信息,和与第二信息处理装置执行的处理相关的第二信息的记录单元;用于检测由功率测量装置测量的功率消耗异常的异常检测单元;和用于响应于由异常检测单元检测的功率异常,控制分布式处理控制单元的分布式处理的异常发生时控制单元,其中基于由记录单元记录的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由包括在检测在功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配。
如果自身信息处理设备起主设备的作用,则通过通信装置与至少可通信的其他信息处理设备共同形成一网络系统,其中通信装置接收来自其他信息处理设备的其他信息处理设备的第一信息和第二信息,其中记录单元还记录由通信装置接收的其他信息处理设备的第一信息和第二信息,其中基于由记录单元记录的其他信息处理设备的第一信息,异常检测单元还通过通信装置检测可通信的其他信息处理设备中生成的功率异常,和其中如果异常检测单元检测到功率异常,则基于由记录单元记录的自身信息处理设备和其他信息处理设备的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由包含在检测为功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配,和如果在网络系统中自身信息处理设备起从设备的作用,则通信装置将由记录单元记录的第一信息和第二信息传送到在该网络系统中的主设备。
其中如果异常检测单元检测到功率异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的第一信号来传送其他信息处理设备的第一信息和第二信息,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收相应于第一信息和第二信息的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由包括在检测为功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配。
信息处理设备中,如果异常检测单元检测到功率异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的第一信号来执行由检测为功率异常的第二信息处理装置执行的处理,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收应答第一信号的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由包括在检测为功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配。
信息处理设备中,异常发生时控制单元可以控制分布式处理来更新处理的分配,使得选择不在任何功率异常中检测的其他图像处理模块,并且使得通过包括在所选择的信息处理器执行由包括在检测为在功率异常的信息处理模块中的多个第二信息处理器执行的处理。
信息处理设备中,异常发生时控制单元控制分布式处理控制单元来更新处理分配,从而检测为没有功率异常的其他信息处理模块中的一个被选择,并且从而由包括在所选择的信息处理模块中的多个第二信息处理装置执行的处理由包括在功率异常中的信息处理模块中的多个第二信息处理装置执行。
信息处理设备中,异常发生时控制单元选择由异常检测单元检测的其消耗功率低于其他信息处理装置消耗功率的信息处理模块作为具有高优先权的处理分配目标。
信息处理设备中,异常发生时控制单元控制分布式处理控制单元来更新处理分配,从而检测为没有功率异常的第二信息处理模块中的一个被选择,和从而在执行处理中,检测为功率异常的信息处理模块中的多个信息处理装置执行的处理由所选择的信息处理模块中的多个第二信息处理装置的处理交换。
异常发生时控制单元选择由异常检测单元检测的其消耗功率低于其他信息处理装置消耗功率的信息处理模块作为具有高优先权的处理交换目标。
异常发生时控制单元选择以交流电源工作的信息处理模块而不是以电池电源工作的信息处理模块作为具有较高优先权的处理交换目标。
信息处理设备可以进一步包括多个信息处理模块。
根据本发明的另外实施例,一种信息处理设备的信息处理方法,该信息处理设备包括第一信息处理装置,多个第二信息处理装置,和用于与另外信息处理装置通信的通信装置,该信息处理方法包括步骤请求开始用于提供对应的处理单元、第一信息处理装置的功能的分布式处理,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得与由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率相关的信息;检测与功率信息获得步骤中获得的功率消耗相关的信息中的异常;和基于功率信息获得步骤中获得的功率,控制分布式处理来更新由检测为功率异常的信息处理模块中的第二信息处理装置执行的处理的分配。
根据本发明另外实施例,一种计算机程序,用于使得一计算机与第一信息处理装置,多个第二信息装置,和与其他信息处理设备进行通信的通信装置执行分布式处理,该程序包括步骤请求开始用于提供对应的处理单元、第一信息处理装置的功能的分布式处理,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得与由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率相关的信息;检测与功率信息获得步骤中获得的功率消耗相关的信息中的异常;和基于功率信息获得步骤中获得的功率,控制分布式处理来更新由检测为功率异常的信息处理模块中的第二信息处理装置执行的处理的分配。
通过执行应用程序的第一信息处理器,发出开始分布式处理的请求,获得关于由第一信息处理器或第二信息处理器消耗功率的功率信息,并可以检测功率异常。确定检测在功率异常中的第一信息处理器和第二信息处理器中的一个。基于功率信息,控制分布式处理,使得更新由功率异常中的第二信息处理器执行的处理分配。
根据本发明的实施例,执行分布式处理。如果获得处理器的温度信息,并且在温度信息中检测到温度异常,则控制分布式处理来更新处理分配。作为逻辑线程的操作功能被保持在正常状态上,同时装置性能变劣被控制。从而执行非常可靠的信息处理。
如果获得处理器的功率信息,并且在功率信息中检测到功率异常,则控制分布式处理来更新处理分配。作为逻辑线程的功能操作被保持在正常状态上,同时装置性能变劣被控制。从而执行非常可靠的信息处理。


图1根据本发明的一个实施例阐明通信系统;图2阐明信息处理设备的电源结构;图3阐明信息处理设备的主存储器;图4阐明信息处理设备子处理器的本地存储器;图5阐明信息处理设备的密钥管理表格;图6阐明信息处理设备软件单元结构;图7阐明具有成为状态回复命令的直接存储器存取命令的软件单元数据区域的结构;图8阐明图1信息处理控制器中主存储器中存储的软件程序的结构;图9根据本发明的一个实施例阐明信息处理设备的结构;图10阐明图9中信息处理控制器中芯片的结构;图11阐明图9的信息处理控制器中存储的软件程序的结构;图12是阐明通过图9的信息处理控制器执行功能的原理框图;图13阐明信息处理设备的温度管理表格;图14是阐明信息处理设备的应用程序执行处理1的流程图;图15是阐明温度信息管理处理1的流程图;图16是阐明信息处理设备异常发生时处理1的流程图;图17阐明信息处理设备的传送处理;图18根据本发明一个实施例阐明信息处理控制器的结构;图19阐明图18的信息处理设备中芯片的结构;图20阐明图18的信息处理控制器中主存储器存储的软件程序结构;图21是阐明第一模式中执行图18的信息处理控制器功能的原理框图;图22是阐明主设备的温度信息管理的流程图;图23是阐明异常发生时处理2的流程图;图24是阐明从设备的温度信息管理处理的流程图;图25是阐明通过第二模式中图18的信息处理控制器执行功能的原理框图;图26阐明温度信息应答命令;图27是温度信息管理处理2的流程图;
图28是阐明异常发生时处理3的流程图;图29是阐明通过第三模式中图18的信息处理控制器执行功能的原理框图;图30阐明子处理器程序传送请求命令;图31阐明子处理器程序传送应答命令;图32是阐明温度信息管理处理3的流程图;图33是阐明温度信息管理处理4的流程图;图34根据本发明的一个实施例阐明包括多个信息处理控制器的信息处理设备的结构;图35根据本发明的一个实施例阐明信息处理控制器的结构;图36阐明功率测量单元的功率测量方法;图37阐明图35的信息处理控制器的主存储器中存储的软件程序结构;图38是阐明通过第一模式中图35的信息处理控制器执行功能的原理框图;图39阐明功率信息应答命令;图40阐明功率管理信息;图41是阐明应用程序执行处理2的流程图;图42是阐明主设备的功率信息管理处理的流程图;图43是阐明异常发生时处理5的流程图;图44是阐明从设备的功率信息管理处理的流程图;图45是阐明通过第二模式中图35的信息处理控制器执行功能的原理框图;图46是阐明功率信息管理处理1的流程图;图47是阐明异常发生时处理6的流程图;图48是阐明第三模式中图35的信息处理控制器执行功能的原理框图;图49是阐明功率信息管理处理2的流程图;图50是阐明异常发生时处理7的流程图;图51根据本发明的一个实施例阐明包括多个信息处理控制器的信息处理设备的结构;图52根据本发明的一个实施例阐明一种包括多个信息处理控制器的信息处理设备,该信息处理设备连接到网络;
图53根据本发明的一个实施例阐明信息处理控制器的结构;图54阐明图53的信息处理控制器的主存储器中存储的软件程序结构;图55是通过第三模式中图53的信息处理控制器执行功能的原理框图;图56是阐明应用程序执行处理3的流程图;图57是阐明主设备的温度和功率信息管理处理的流程图;图58是阐明异常发生时处理8的流程图;图59是阐明异常发生时处理8的流程图;图60是阐明从设备的温度和功率信息管理处理的流程图。
具体实施例方式
根据本发明的一个实施例,信息处理设备包括第一信息处理器(例如,主处理器42),多个第二信息处理器(例如,子处理器43),及多个温度检测单元(例如,温度检测器121),该多个温度检测单元用于检测在邻近多个第二信息处理器的每一个的温度。第一信息处理器包括用于控制应用程序执行的应用程序执行控制单元(例如,算术处理器161),用于控制分布式处理的分布式处理控制单元(例如,逻辑线程管理处理器163,逻辑线程管理处理器217,及逻辑线程管理处理器457中的一个),该分布式处理控制单元对多个第二信息处理器执行处理分配,以便提供与处理单元相应的功能,当执行应用程序时,应用程序执行控制单元将分别地分配到多个第二信息处理器的多个处理形成用于提供功能的处理单元,记录单元(例如,温度管理表格167,温度管理表格215,温度管理表格233,及温度和功率管理表格452中的一个)用于记录与通过温度检测单元检测的温度相关的第一信息和与第二信息处理器处理执行相关的第二信息,异常检测单元(例如,温度增加检测器168和异常检测器453中的一个)用于检测通过温度检测单元检测温度中的异常,以及如果通过异常检测单元检测的温度异常,异常发生时控制单元(例如,温度异常校正控制器169,温度异常校正控制器216,温度异常校正控制器234,温度异常校正控制器252,及异常校正控制器455中的一个)用于控制分布式处理控制单元的分布式处理。基于通过记录单元记录的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元更新,通过第二信息处理器执行的处理的分配检测为温度异常。
信息处理设备还包括通信装置(例如,通信装置16),该通信装置用于与另外的信息处理设备的通信。
信息处理设备还包括多个信息处理模块(例如信息处理控制器),每个模块包括第一信息处理器和第二信息处理器。
信息处理设备还包括功率测量单元(例如,功率测量单元321),该功率测量单元用于测量由包括第一信息处理器和第二信息处理器的信息处理模块消耗的功率。记录单元(例如,温度和功率管理表格452)还记录与由功率测量单元测量的功率相关的信息。异常检测单元(例如,异常检测器453)检测功率测量单元测量的功率消耗中功率异常。如果异常检测单元检测温度异常或功率异常,则异常发生时控制单元(例如,异常校正控制器455)控制分布式处理控制单元的分布式处理。
根据本发明的一个实施例,包括第一信息处理器(例如,主存储器42)和多个第二信息处理器(例如,子处理器43)的信息处理设备的信息处理方法包括的步骤有请求用于提供与处理单元相应的功能的分布式处理的开始,该第一信息处理装置,当执行应用程序时,将分别地分配到多个第二信息处理装置的多个处理形成为用于提供功能的处理单元,(例如,图14的步骤S1和图56的步骤S451中的一个),获得在第二信息处理器附近生成温度的温度信息(例如,图15的步骤S22,图22的步骤S73,图24的步骤S122,图27的步骤S142,图32的步骤S212,图57的步骤S473,及图60的步骤S562中的一个),检测温度信息获得步骤中获得的温度信息中温度异常(例如,图15的步骤S24,图22的步骤S75,图27的步骤S144,图32的步骤S214,及图57的步骤S475中的一个),确定一个第二信息处理器,该第二信息处理器的附近温度在异常检测步骤中被检测为温度异常(例如,图16的步骤S41,图23的步骤S91,图28的步骤S181,图33的步骤S231,及图58的步骤S502中的一个),及基于温度信息获得步骤中获得的温度信息和确定步骤中提供的确定结果,控制分布式处理更新由检测为温度异常的第二信息处理执行的分配处理(例如,图16的步骤S42到S54,图23的步骤S92到S107,图28的步骤S182到S196,图33的步骤S232到S246,或图58的步骤S503到S518)。
本发明的一个实施例的计算机程序也包括上面参考的步骤。
仍然根据本发明的另一个实施例,信息处理设备包括第一信息处理器(例如,主处理器42),多个第二信息处理器(例如,子处理器43),用于测量通过包括第一信息处理器和第二信息处理的信息处理模块(例如,信息处理控制器)消耗功率的功率测量单元(例如,功率测量单元321),及用于与另一个信息处理设备通信的通信装置(例如,通信装置16)。第一信息处理器包括用于控制应用程序执行的应用程序执行控制单元(例如,算术处理器161),用于控制分布式处理的分布式处理控制单元(例如,逻辑线程管理处理器357,和逻辑线程管理处理器457中的一个),该分布式处理控制单元执行多个第二信息处理单元上的处理分配使得提供与处理单元,如应用程序执行控制单元相应的功能,当执行应用程序时,将分别地分配到多个第二信息处理器的多个处理器形成用于提供功能的处理单元,用于记录与由功率测量单元测量的功率相关的第一信息,和用于记录与第二信息处理器的执行处理相关的第二信息的记录单元(例如,功率管理表格354,功率管理表格373,及温度和功率管理表格452中的一个),用于检测由功率测量单元测量的功率消耗中的异常的异常检测单元(例如,功率增加检测器355和异常检测器453中的一个),及用于控制响应于由异常检测单元检测的功率异常的分布式处理控制单元的分布式处理的异常发生时控制单元(例如,功率异常校正控制器356,功率异常校正控制器374,功率异常校正控制器392,及异常校正控制器455中的一个)。基于由记录单元记录的第一信息和第二信息,如果异常检测单元已经检测功率异常,则异常发生时控制单元控制分布式处理控制单元来更新由包括在信息处理模块中的多个第二信息处理器执行的处理的分配,该处理的分配在功率异常中被检测。
根据本发明的另一个实施例,包括第一信息处理器(例如,主处理器42),多个第二信息处理器(例如,子处理器43),及用于与另一个信息处理设备通信的通信装置的信息处理设备的信息处理方法,包括的步骤有请求用于提供相应处理单元的功能的分布式处理的开始,当执行应用程序时,第一信息处理装置将分别地分配到多个第二信息处理装置的多个处理器形成用于提供功能的处理单元,(例如,图41的步骤S301,和图56的步骤S451中的一个),获得与由包括第一信息处理器和第二信息处理器(例如,图42的步骤S323,图44的步骤S328,图46的步骤S402,图49的步骤S462,图57的步骤S473,及图60的步骤S562中的一个)的信息处理模块(例如,信息处理控制器)消耗功率相关的信息,检测与功率信息获得步骤(例如,图42的步骤S325,图46的步骤S404,图49的步骤S464,及图57的步骤S475中的一个)中获得的功率消耗相关的信息中的异常,及基于功率信息获得步骤(依据参考图43,47,和50所讨论的处理,或图59的步骤S520到S530)中得到的功率信息,控制分布式处理来更新由被检测为功率异常的信息处理模块中第二信息处理器执行的处理的分配。
本发明的一个实施例的计算机程序也包括上述的步骤。
下面将参考附图描述本发明的实施例。
图1示出了根据本发明的一个实施例阐明通信系统。在这个通信系统中,信息处理设备1-1到1-n通过网络2彼此相互连接,该网络2例如家用网络,局域网(LAN),广域网(WAN),或因特网。
响应于通过多个信息处理设备的分布式处理的执行,信息处理设备1-1生成包括数据和程序的软件单元,该软件单元被要求来执行请求的处理,并且信息处理设备1-1通过网络2将生成的软件单元传送到信息处理设备1-2到1-n中一个。
当接收到从信息处理设备1-1传送的软件单元,则信息处理设备1-2到1-n的每个就执行请求的处理。在执行请求的处理之后,信息处理设备1-2到1-n的每个将来自请求处理的数据结果传送到信息处理设备1-1。如果无需区别信息处理设备1-1到1-n之中每一个,则被简单地称为信息处理设备1。
当接收从信息处理设备1-2到1-n中的一个传送的数据,信息处理设备1-1就执行响应于接收的数据的预定处理,或记录接收的数据。
信息处理设备1-1包括至少一个信息处理控制器11,主存储器12,记录器13-1,记录器13-2,总线14,操作输入单元15,通信装置16,显示器17,及驱动器18。
信息处理控制器11执行在主存储器12中存储的多种程序,从而通常地控制信息处理设备1-1。信息处理控制器11生成软件单元,并通过总线14向通信装置16提供生成的软件单元。信息处理控制器11将来自通信装置16的数据提供给记录器13-1和记录器13-2中的一个。响应于通过操作输入单元15输入的用户命令,信息处理控制器11获得来自主存储器12,记录器13-1和记录器13-2中一个指定的数据,并通过总线14提供获得的数据给通信装置16。
信息处理控制器11被赋予信息处理设备识别(ID),该信息处理设备识别(ID)在整个网络2范围唯一地识别信息处理设备1-1。
信息处理控制器11包括总线41,主处理器42,和子处理器43-1到43-m,直接存贮器存取控制器(DMAC)44,密钥管理表格记录器45,及盘控制器(DC)46。
主处理器42,子处理器43-1到43-m,DMAC44,密钥管理表格记录器45,及DC46通过总线41彼此之间相互连接。主处理器42被赋予一个主处理器ID,该主处理器ID唯一地识别主处理器42。相似地,子处理器43-1到43-m分别被赋予一个子处理器ID,该子处理器ID唯一地识别子处理器43-1到43-m。
为了使得通过网络2连接的信息处理设备1-2执行分布式处理,主处理器42生成软件单元并通过总线41和总线14提供所生成的软件单元到通信装置16。主处理器42能够被设计来执行不同于管理程序的程序。在这个情况中,该主处理器42起到子处理器的作用。
主处理器42使得每一个子处理器43-1到43-m执行与其他子处理器的无关的程序,从而提供来自逻辑单一功能(逻辑线程)的单一结果。具体地说,主处理器42管理通过子处理器43-1到43-m的程序执行的程序表并通常管理信息处理控制器11(信息处理设备1-1)。
主处理器42暂时地存储在本地存储器51-1中,其中由主存储器12载入该数据和程序。主存储器42读取来自本地存储器51-1的数据和程序,并基于读取的数据和程序执行多种处理。
在主处理器42的控制之下,子处理器43-1到43-m执行程序并处理相互平行和独立的数据。由主存储器42执行的程序能够和子处理器43-1到43-m所执行的程序一起运行。
本地存储器51-2到51-(m+1)分别地提供给子处理器43-1到43-m。如果需要,子处理器43-1到43-m分别在本地存储器51-2到51-(m+1)中暂时存储数据和程序。子处理器43-1到43-m分别读取来自本地存储器51-2到51-(m+1)的数据和程序,并基于读取的数据和程序执行多种程序。
如果不需要相互区别子处理器43-1到43-m,则每个子处理器被简单地称为子处理器43。如果不需要相互区别本地存储器51-2到51-(m+1),则每个本地存储器被简单地称为本地存储器51。
利用记录在密钥管理表格记录器45上的主处理器密钥,子处理器密钥,和存取密钥,DMAC44管理存储在主存储器12中的主处理器42和子处理器43的程序和数据的存取。
密钥管理表记录器45记录主处理器密钥,子处理器密钥,及存取密钥。下面将详细讨论主处理器密钥,子处理器密钥,及存取密钥。
DC46管理主处理器42和子处理器43对每个记录器13-1和记录器13-2的存取。
在上述讨论中,信息处理设备1-1包括单一信息处理控制器11。可选择地,该信息处理控制器11能够包括多个信息处理控制器11。
例如,主存储器12包括随机存储器(RAM)。主存储器12暂时存储由主处理器42和子处理器43执行的数据和多种程序。
例如,每个记录器13-1和记录器13-2包括硬盘。每个记录器13-1和记录器13-2存储由主处理器42和子处理器43执行的数据和多种程序。每个记录器13-1和记录器13-2存储由信息处理控制器11提供的数据。如果不需要区分记录器13-2和记录器13-1,则每个记录器被简单地称为记录器13。
通过总线14连接到信息处理控制器11的是操作输入单元15,通信装置16,显示器17,及驱动器18。操作输入单元15包括按键,按钮,触摸垫,和鼠标。响应于用户操作输入,操作输入单元15通过总线14提供响应于操作输入的信息到信息处理控制器11。
通信装置16通过网络2将由信息处理控制器11提供的软件单元传送到信息处理设备1-2到1-n。通信装置16通过总线14将由信息处理设备1-2到1-n传送的数据提供到信息处理控制器11。
显示器17包括阴极射线管(CRT)或液晶显示器(LCD)。显示器17显示信息处理控制器11的处理中生成并通过总线14提供的信息(包括应用程序的执行和通知给用户需要来执行应用程序所生成的数据)。
如果磁盘61,光盘62,磁光盘63,和半导体存储器64中的一个被载入到信息处理设备上,则驱动器18驱动载入的介质来读取记录其上的程序和数据。如果需要,程序和数据通过总线14被传送到信息处理控制器11,并通过信息处理控制器11被记录到记录器13上。
信息处理设备1-2到1-n具有与信息处理设备1-1相似的结构,在这里不进一步讨论。功能可以添加到信息处理设备1-2到1-n或从信息处理设备1-2到1-n去除,并且信息处理设备1-2到1-n能够具有适合功能添加或功能去除的结构。
信息处理设备1包括电源19为整个电路提供电源。图2阐明电源19的结构。
电源19包括将来自市电电源的AC当前转换到DC当前的AC-DC转换器71,检测提供给电源电路76的AC电源的AC输入检测器72,可充电电池73,设置在预位置置并充电到预定功率以提供功率到信息处理设备1,检测从可充电电池73提供的功率的电池检测器74,用来自AC-DC转换器71的DC功率给电池73充电的充电电路75,及提供功率给信息处理设备1的每个模块的电源电路76。除了AC功率和可充电电池之外,干电池可以作为电源或电源电路76使用。信息处理设备1的电源19至少一个电源起作用。信息处理设备1中的元件能够在不同的操作电压下操作。电源电路76能够输出多个电压。可选择地,多个电源电路76能够被配置为具有基于每一电压的一个电路的不同电压。
下面参考图3到图5描述子处理器43到主存储器12的存取处理。
如图3所示,主存储器12包括指定的多个地址的存储位置。指派每个存储位置为存储与数据状态相关的信息的附加段。附加段存储F/E位,子处理器ID和本地存储(LS)地址。指派每个存储位置为下面讨论的存取密钥。
“0”的F/E位表示数据在由子处理器43的处理之下或数据是无效的并且在其空状态不被更新。从而“0”的F/E位表示数据不能够从其存储位置读取。此外,“0”的F/E位表示数据能够写入到其存储位置上。如果数据写入到其存储位置,则F/E位设置为“1”。
“1”的F/E位表示其存储位置的数据并未由于处理器43读取并且未处理和更新数据。具有“1”的F/E位的存储位置的数据是可读的。如果数据通过子处理器43读取,则F/E位设置为“0”。“1”的F/E位表示相应的存储位置不接收用于输入写入的数据。
读取保存能够设置在具有“0”的F/E位(不能读取/能够写入的状态)的存储位置。为了将读取操作保存在具有“0”的F/E位的存储位置,子处理器43将作为读取保存信息的子存储器ID和子处理器43的LS地址写入到用于读取保存的存储位置的附加段。当子处理器43在具有移到“1”的F/E位(能够读取/不能写入)的读取保存的存储位置上写入数据时,数据能够被读取到由写入到附加段作为读取保存的子处理器ID和LS地址识别的本地存储器51。
当多个处理器43处理在多级上的数据时,如上面所述控制每个存储位置上数据的读取和写入。执行后级处理的子处理器43能够立即在子处理器43执行前级处理写入处理数据到主存储器12中预定地址上之后读取前级处理的数据。
如图4所示,子处理器43的本地存储器51包括存储位置,每个存储位置指定的多个地址。每个存储位置分配一附加段。该附加段包括一个忙位。
为了读取主存储器12上存储的数据到子处理器43的本地存储器51的存储位置,相应的忙位设置为用于保存的“1”。更多的数据能够被存储在具有忙位“1”的存储位置上。当本地存储器51的存储位置读入数据时,忙位设置为“0”以允许存储其他数据。
如图3所示,连接到信息处理控制器11的主存储器12包括多个沙盒(sandbox)。沙盒用来固定主存储器12的区域。每个子处理器43被分配一沙盒。子处理器43能够专有地利用所分配的沙盒。具体地说,子处理器43能够使用分配的沙盒,但是不能存取超过分配的沙盒区域的数据。
主存储器12包括多个存储位置,并且每个沙盒为一组存储位置。
图5的密钥管理表格专有地用于控制主存储器12。密钥管理表格记录在密钥管理表格记录器45并与DMAC44相关联。密钥管理表格中每个表目包括子处理器ID,子处理器密钥,和密钥掩码。
为了存取主存储器12,子处理器43输出读取命令或写入命令给DMAC44。命令包括识别子处理器43的子处理器ID和作为存取目的主存储器12的地址。
为了执行来自子处理器43的命令,DMAC44检查作为通过参考密钥管理表格的存取请求源的子处理器43的子处理器密钥。DMAC44比较检查的存取请求源的子处理器密钥和分配到主存储器12的存储位置作为存取目的存取密钥。仅当两个密钥相匹配时,DMAC44才执行由子处理器43提供的命令。
当记录在图5的密钥管理表格中的密钥掩码中的任何位被改变为“1”时,相应于与密钥掩码相关联的子处理器密钥的位设置为“0”或“1”。
例如,子处理器现在为“1010”。使用这个子处理器密钥来存取只具有“1010”的沙盒是可能的。如果与子处理器密钥关联的密钥设置为“0001”,则设置到“1”的密钥掩码位掩饰来自子处理密钥和存取密钥之间的匹配确定(在密钥掩码位设置为“1”时不执行匹配确定)。当子处理器密钥为“1010”时,具有“1010”和“1011”的存取密钥的沙盒是可访问的。
从而保证主存储器12的沙盒的专有性。如果多个子处理器43需要处理多级上的数据,只有执行前级处理的子处理器43和执行后级处理的子处理器43都能够存取主存储器12的预定地址来保护数据。
下面讨论能够修改的密钥掩码值。信息处理设备1-1中,全部的密钥掩码值是“0”。
载入到主处理器42的程序和载入到子处理器43的程序一起被执行。从子处理器43-1输出的所得结果的处理数据存储在主存储器12中。为了将主存储器12中存储的处理的数据结果输出到子处理器43-2,主存储器12存储由子处理器43-1输出的处理的数据结果的区域必须是每个子处理器43-1和子处理器43-2为可存取的。在这个情况中,主处理器42通过多个子处理器43修改密钥掩码值在主存储器中设立可存取的区域。从而通过子处理器43执行多级处理。
具体地说,子处理器43-1对从信息处理设备1-2到信息处理设备1-n传送的数据执行预定处理,并在主存储器12中第一区域中存储处理的数据。子处理器43-2读取来自主存储器12的第一区域的数据,对读取数据执行预定处理,并将处理的数据存储与主存储器12中第一区域不同的第二区域。
当子处理器43-1的子处理器密钥设置为“0100”,第一区域的存取密钥设置为“0100”,子处理器43-2的子处理器密钥设置为“0101”,及主存储器12的第二区域的存取密钥设置为“0101”时,子处理器43-2不能读取主存储器12的第一区域。通过将密钥掩码设置修改为“0001”,子处理器43-2能够读取主存储器12的第一区域。
图6和7阐明系统的一个操作,其中信息处理设备1-1生成软件单元,并分布用于执行的信息处理设备1-2到信息处理设备1-n之中的处理。
信息处理设备1-1的主处理器42生成包括命令,程序,和请求执行处理的数据的软件单元,并通网络2将所生成的软件到信息处理设备1-2传送到信息处理设备1-n。
图6阐明软件单元的结构。
软件单元包括源ID,目的ID,响应目的ID,单元接口,DMA(直接存储器存取)命令,程序,及数据。
源ID包括作为软件单元的源的信息处理设备1-1的网络地址,信息处理设备1-1中信息处理控制器11的信息处理设备ID,及信息处理设备1-1中信息处理控制器11中包含的主处理器42和子处理器43的识别(主处理器ID和子处理器ID)。
目的ID包括作为软件单元分布的信息处理设备1-2到信息处理设备1-n的网络地址,信息处理设备1-2到信息处理设备1-n的信息处理设备ID,及信息处理设备1-2到信息处理设备1-n的信息处理控制器11的主处理器ID和子处理器ID。
响应目的ID包括作为软件单元执行结果的响应目的的信息处理设备1-1的网络地址,信息处理设备1-1的信息处理控制器11的信息处理设备ID,及信息处理设备1-1中信息处理控制器11的主处理器42和子处理器43的识别。
单元接口包括使用软件单元所需的信息,并包括全球ID,请求子处理器的信息,沙盒大小,及前述软件单元ID。
全球ID唯一地识别通过整个网络2的软件单元,并基于源ID及软件单元的生成或传送的数据和时间而生成。
请求子处理器的信息示出了执行软件单元所需的子处理器的数量。沙盒大小示出了主存储器的存储容量和执行软件单元所需的每个子处理器的本地存储器。
前述软件单元ID是形成一组请求流动数据的连续执行的软件单元内的前述软件单元的标识符。
软件单元的执行部分包括DMA命令,程序,和数据。DMA命令包括开始程序所需的一系列DMA命令。程序包括由子处理器所执行的子处理器程序。这里的数据通过包括子处理器程序的程序来执行。
DMA命令包括载入命令,反冲(kick)命令,功能程序执行命令,状态请求命令,和状态应答命令。
载入命令用于载入主存储器12存储的信息到子处理器的本地存储器。载入命令进一步包括主存储器地址,子处理器ID和LS地址。主存储器地址识别主存储器中作为信息的载入源的预定区域。子处理器ID和LS地址分别为作为信息的载入目的和子处理器的本地存储器地址的子处理器的标识符。
反冲命令用于起动程序的执行。反冲命令进一步包括子处理器ID和程序计数器。子处理器ID识别被反冲的子处理器,并且程序计数器给程序执行程序计数器提供地址。
用于指定设备的功能程序执行命令(例如信息处理设备1-1)请求另外设备(例如信息处理设备1-2到信息处理设备1-n中的一个)来执行功能程序。一旦接收到功能程序的执行命令,响应于功能程序ID,设备(例如信息处理设备1-2到信息处理设备1-n的一个)的信息处理控制器识别开始的功能程序。
状态请求命令用于将与作为目的ID的信息处理设备1-2到信息处理设备1-n的当前操作状态相关的设备信息传送到作为响应目的的信息处理设备1-1。
用于具有接收的状态请求命令的信息处理设备1-2到信息处理设备1-n的状态应答命令将设备信息返回到由包括在状态请求命令中的响应目的ID指定的信息处理设备1-1。状态应答命令还用于存储执行部分数据区域上的设备信息。
图7阐明具有为状态应答命令的DMA命令的软件单元数据区域的结构。
信息处理设备ID是识别包括信息处理控制器11的信息处理设备1的标识符。从而信息处理设备ID识别传送状态应答命令的信息处理设备1-2到信息处理设备1-n。现在开启信息处理设备1-2到信息处理设备1-n。基于开启的数据和时间,信息处理设备1-2到信息处理设备1-n的网络地址,和包括在信息处理设备1-2到信息处理设备1-n的信息处理器控制器11的子处理器43的数目,包括在信息处理设备1-2到信息处理设备1-n的信息处理控制器11中的主处理器42生成信息处理设备ID。
信息处理设备ID包括表示信息处理设备1-2到信息处理设备1-n的特征值。表示信息处理设备1-2到信息处理设备1-n的特征值是表示设备类型的信息。例如,该信息表示信息处理设备1-2到信息处理设备1-n中的每一个为硬件记录器,个人数字助理系统(Pad),便携光盘(CD)播放器中的一个。信息处理设备ID能够表示信息处理设备1-2到信息处理设备1-n的功能,例如音频-视频记录,音频-视频重放。表示信息处理设备1-2到信息处理设备1-n的特征值被预先确定。一旦接收到状态应答命令,信息处理设备1-1通过读取信息处理设备ID来获悉信息处理设备1-2到信息处理设备1-n的特征和功能。
主/从(MS)状态表示每个信息处理设备1-2到信息处理设备1-n是在哪个模式上操作。如果MS状态是“0”,则设备作为主设备操作。如果MS状态是“1”,则设备作为从设备操作。
主处理器操作频率为信息处理控制器11中主处理器42的操作频率。主处理器使用率是考虑所有程序当前在主处理器42上运行的主处理器42的使用率。具体地说,主处理使用率为主处理器42的全部可用执行与使用中当前执行的比例,并以每秒百万条指示(MIPS)或以处理器的每单元时间的使用时间来计算。
子处理器的数目表示包括在信息处理控制器11中子处理器43的数目。子处理器ID为识别信息处理控制器11中子处理器43的标识符。
子处理器状态表示每个子处理器43的状态,并能够是“不使用”,“保留”,及“忙”中的一个。状态“不使用”表示子处理器43当前既不使用也不保留。状态“保留”表示主处理器42当前不使用但是保留。状态“忙”表示子处理器43当前被使用。
子处理器使用率表示当前执行程序或保留用于该程序的子处理器43的使用率。如果子处理器状态为“忙”,则子处理器使用状态表示当前使用率。如果子处理器状态为“保留”,则子处理器使用率表示期望子处理器43来运行的评估的使用率。
子处理器ID,子处理器状态,和子处理器使用率设置在每个子处理器43组合中。组合的数目相应于单一信息处理控制器11中的子处理器43的数目。
主存储器全部容量为信息处理控制器11的主存储器12的全部存储容量,并且主存储器使用的容量为当前信息处理控制器11的主存储器12的使用的存储容量。
记录器的数目表示连接到信息处理控制器11的记录器13的数目。记录器ID唯一地识别连接到信息处理控制器11的每个记录器13。记录类型ID表示记录器13(例如,硬盘,CD-RW(可重写光盘),CD+RW(光盘加可重写),DVD-RW(可重写数字多功能光盘),DVD+RW(数字多功能光盘加重写),存储光盘,SRAM(静态随机存取存储器),或ROM(只读存储器))的类型。
记录器全部容量表示通过记录器ID识别的记录器13的全部存储容量,并且记录器使用容量表示当前记录器13的使用容量。
记录器ID,记录器类型ID,记录器全部容量,和记录器使用容量设置为每个记录器13的组合。组合的数目等于连接到信息处理控制器11的记录器13的数目。如果多个记录器13连接到单一信息处理控制器11,记录器13被分配不同的记录器ID,和记录器类型ID,记录器全部容量和记录器使用的容量基于每个记录器所管理。
信息处理设备1-1生成软件单元来使得信息处理设备1-2到信息处理设备1-n执行分布式处理。所生成的软件单元然后被传送到信息处理设备1-2到信息处理设备1-n。
按照和软件单元的相同形式,软件单元中的每片数据被传送到信息处理设备1-2到信息处理设备1-n。从而这里省略了数据传送的讨论。
包括在信息处理设备1-2到信息处理设备1-n的一个中的信息处理控制器11中的主处理器42生成具有上述结构的软件单元,并通过网络2传送生成的软件单元到信息处理设备1-1的信息处理控制器11。信息处理设备1作为源,另一个信息处理设备1作为目的,第三信息处理设备1作为响应目的,并且各个信息处理设备1的信息处理控制器11通过上述提及的源ID,目的ID,和响应目的ID被识别。
包括在具有接收的软件单元的信息处理设备1中的信息处理控制器11中的主处理器42将软件单元存储其主存储器12中。作为目的主处理器42读取软件单元并处理包括在软件单元中的DMA命令。
具体地说,作为目的主处理器42执行载入命令。主处理器42载入来自由包括在载入命令中的子处理器ID和LS地址所识别的子处理器43的本地存储器51的预定区域上的载入命令指定的主存储器12中地址的信息。这里被载入的信息包括接收的软件单元所包含的子处理器程序,执行该程序所需的数据,和其他特别数据。
主处理器42连同包括在反冲命令中的程序计数器一起将反冲命令输出到包括在反冲命令中的子处理器ID识别的子处理器43。
指定的子处理器43根据反冲命令和程序计数器执行子处理器程序。在将执行结果存储在主存储器12中之后,子处理器43通知主处理器42完成程序执行。
执行作为目的的信息处理设备1中的信息处理控制器11中的软件单元的处理器不只限于子处理器43。主处理器42能够被赋于处理器来执行包括在软件单元中的功能程序。
在这个情况中,作为源的信息处理设备1传送代替子处理器程序的软件单元到作为目的的信息处理设备1。软件单元包括由主存储器程序和具有作为载入命令的DMA命令处理的主存储器程序和数据。作为目的的信息处理设备1存储由主存储器程序处理的主存储程序和数据。作为源的主处理设备1传送包括主处理器ID,主存储器地址,识别作为目的的信息处理设备1中信息处理控制器11的主存储程序的功能程序ID,和具有为反冲命令或功能程序命令的DMA命令的软件程序的标识符到作为目的的信息处理设备1。从而主处理器42执行主存储器程序。
在本发明的网络系统的实施例中,作为软件单元的源的信息处理设备1传送软件单元中子处理器程序或主存储器程序到作为目的的信息处理设备1。当子处理器程序载入到作为目的的信息处理设备1中的信息处理控制器11中的子处理器43中时,作为目的的信息处理设备1执行子处理器程序和主存储器程序的一个。
如果软件单元包括子处理器程序,则作为软件单元的目的的信息处理设备1的信息处理控制器11将子处理器程序载入指定的子处理器43。从而指定的子处理器43执行软件单元中的子处理器程序和主存储器程序中的一个。
无需用户干预来操作作为软件单元的目的的信息处理设备1,子处理器程序和主存储器程序中的一个被重新分配到来自作为源的信息处理设备1的作为目的的信息处理设备1。作为目的的信息处理设备1中的信息处理控制器11执行软件单元中子处理器程序和主存储器程序中的一个。数据传送以DMA的方法在子处理器43之间执行。利用上述提及的沙盒,单一信息处理控制器11快速处理数据并以较高安全的水平上甚至当数据需要在多级上执行。
图8阐明每个信息处理控制器11中的主存储器12中存储的软件程序结构。在开启信息处理设备1之前,软件程序被预存储在连接到信息处理控制器11的记录器13。
程序分成控制程序,功能程序,和依据功能或特征的装置驱动器。
控制程序被安装在信息处理控制器11上,并通过信息处理控制器11中的主处理器42来执行。如果分布式处理通过多个信息处理设备1被执行,则控制程序包括MS(主/从)管理程序和能力交换程序。
通过主处理器42执行的功能程序被称为应用程序。每个信息处理控制器11具有用于记录,播放,材料检索的自身功能程序,例如,根据信息处理设备1的功能。
装置驱动器被用来对信息处理控制器11或信息处理设备1执行数据的输入和输出功能(发送和接收功能)。例如,取决于信息处理设备1的功能,给信息处理控制器11提供用于广播接收,监测输出,位流(bitstream)输入和输出和网络输入和输出的接口。
下面参考图8描述载入到主存储器12的每个程序。
通过相互连接的电缆(未示出)物理地连接到网络2的信息处理设备1开启。从而信息处理设备1电连接和功能连接到网络2上。信息处理设备1的信息处理控制器11中的主处理器42将控制程序中分类的程序中和装置驱动器的分类程序载入到主存储器12。
具体地说,主处理器42通过使DC46执行读取命令读取自记录器13载入的程序。主处理器42通过使DMAC44执行写入命令将程序写入主存储器12。结果,主处理器42将控制程序中分类的程序和装置驱动器中分类的程序载入到主存储器12。
对于功能程序中分类的程序,当需要时仅需要一个能够被载入到主处理器42控制下的主存储器12。可选择地,作为其他种类程序,功能程序能够被载入到开启的主存储器12。
功能程序被分配唯一识别自身作为功能程序ID的各自标识符。功能程序ID基于生产的数据和时间和信息处理设备ID的功能程序的生产状态中被确定。
不需要将功能程序中的分类程序存储在连接到网络2的全部信息处理设备1的记录器13。如果一个信息处理设备1的记录器13存储功能程序,则需要功能程序能够以上述方式在信息处理设备1之间交换。连接到网络2的多个信息处理设备1能够起有效的单一信息处理设备的作用来执行功能程序。
下面讨论MS管理程序和能力交换程序。
一旦检测信息处理设备1连接到网络2,MS管理程序就检查连接到网络2的另一个信息处理设备1的存在。每个词“连接”和词“存在”意味着信息处理设备1不但物理地连接到网络2而且还电和功能地连接到网络2。
具体地说,为了检验连接到网络2的另一个信息处理设备1的存在,MS管理程序生成具有为状态请求命令的DMA命令的软件单元,源ID和响应目的ID都指向自身设备并且没有设置特定的目的ID,传送生成的软件单元,并设置用于连接确认的网络的定时器。例如,用于定时器的超时时间为10秒。
信息处理设备1的主处理器42保存主存储器12上的用于装置信息(与操作状态相关的信息)的区域,并在装置信息表格中记录信息处理设备ID,信息处理设备类型ID,子处理器ID,记录器ID,记录器数目,和记录器全部容量。
如果另一个信息处理设备1连接到网络2,则来自其他连接的信息处理设备1的DMA命令为状态应答命令,和包括作为数据的软件单元,返回记录在其他信息处理设备1中主存储器12上的装置信息。MS管理程序监测状态应答命令的软件单元的接收直到定时器的时间结束。如果表示MS状态=0(主设备)的状态应答命令被接收,则MS管理程序设置自身设备的装置信息表格中MS的状态为“1”。在这个方式中,MS管理程序识别自身设备作为从设备。如果直到时间结束也没有状态应答命令已经被接收,或如果直到时间结束表示MS状态=0(主设备)的状态应答命令还未被接收,MS管理程序设置自身设备的装置信息中的MS状态为“0”。MS管理程序识别自身设备作为主设备。
不管自身设备是主设备还是从设备,MS管理程序参考状态信息并通过有规则地传送状态请求命令到网络2来监测其他设备的状态。下面讨论,如果网络2的连接状态发生任何改变,MS管理程序将该改变通知能力交换程序。
如果自身设备为主设备,则能力交换程序获得连接到网络2的全部其他信息处理设备1,即从设备的装置信息。
该设备生成具有为请求命令的DMA命令的软件单元并传送软件单元到网络2来获得从设备的装置信息。然后该设备接收具有为状态应答命令并包括作为数据的从设备的装置信息的SMA命令的软件单元。
当自身设备的装置信息表格作为主设备时,能力交换程序保存自身设备的主存储器12的区域来存储连接到网络2的全部从设备的装置信息,并然后记录作为从设备的装置信息表格的装置信息。
具体地说,连接到网络2的全部信息处理设备1的装置信息被存储在作为装置信息表格的主设备的主存储器12。
如果自身设备为从设备,则能力交换程序获得连接到网络2的全部其他信息处理设备的装置信息,并将包括在装置信息中的信息处理设备ID和MS状态存储到主存储器12。自身设备的装置信息被记录在作为装置信息表格的从设备的主存储器12,同时连接到网络2的其他信息处理设备1(主和从设备)的信息处理设备ID和MS状态也被记录。
不管自身设备是主设备还是从设备,能力交换程序获得来自管理程序的与网络2的连接状态改变相关的信息,例如,当新信息处理设备1连接到网络2或当信息处理设备1与网络2分离。然后能力交换程序更新主存储器12上记录的信息。
MS管理程序和能力交换程序能够通过任一主处理器42和子处理器43来执行。MS管理程序和能力交换程序最好为常驻程序,该常驻程序连续地被操作,同时信息处理设备1的主电源保持开启。
分布式处理中的主设备需要监测用户操作和从设备的操作状态。如果用户操作连接到网络2的信息处理设备1的一个,如果操作的设备是主设备,则主设备直接地获知操作信息。如果用户操作的是从设备,则操作信息被传送到主设备。不管操作的设备是主设备还是从设备,主设备仍然保持操作信息的通知。操作信息被传送到具有为操作信息传送命令的DMA命令的软件单元中。
包含在主设备的信息处理控制器11中的主处理器42,响应于操作信息的功能程序选择一被执行的功能程序。正如之前讨论的,包括在主设备的信息处理控制器11中的主处理器42将来自自身设备或另外信息处理设备(即,从设备)的记录器13的功能程序载入到主存储器12。
不同于执行单元到执行单元,功能程序定义所需要的规范,包括信息处理设备类型ID,主处理器和子处理器的总处理能力,主存储器使用率,外部记录器的情况。包括在主设备的信息处理控制器11中的主处理器42读取用于每个功能程序的需要的规范并参考通过功能交换程序预记录在主存储器12上的装置信息表格。从而主处理器42读取连接到网络2的每个信息处理设备1的装置信息。
包括在主设备的信息处理控制器11的主处理器42比较连接到网络2的每个信息处理设备1的装置信息与功能程序的需要的规范。例如,如果功能程序需要视频记录功能,基于信息处理设备类型ID只有具有记录功能的信息处理设备1被识别和提取。满足主处理器和子处理器所需的总处理能力的从设备来执行功能程序,主存储器使用的容量,和外部记录器的情况作为执行请求设备候选(candidate)被识别。如果多个执行请求设备候选被识别,则选择候选中的一个。
包括在主设备的信息处理控制器11中的主处理器42更新记录关于识别为从设备的执行请求设备候选的在自身设备的主存储器12上的装置信息表格。主处理器42进一步生成具有为载入命令和反冲命令的DMA命令的软件单元,设置需要用于功能程序和沙盒大小的子处理器信息,并传送软件单元到识别为执行请求设备候选的从设备。
请求来执行的功能程序的从设备执行功能程序,并更新记录在其上的装置信息表格。包括在从设备的信息处理控制器11中的主处理器42载入来自自身设备或另外的信息处理设备1的记录器13的功能程序到主存储器12。
作为主存储器程序,如果需要,将软件单元的子处理器程序传送到到其他信息处理设备1,被载入其他信息处理设备1的子处理器43。从而其他信息处理设备1执行子处理器程序。
随后结束功能程序,具有执行功能程序的从设备的信息处理控制器11中的主处理器42传送完成通知到主设备的信息处理控制器11的主处理器42,同时更新记录在自身设备上的装置信息表格。一旦接收到功能程序的执行结束通知,对应具有执行的功能程序的从设备,主设备的信息处理控制器11中的主处理器42-1更新记录在自身设备上的装置信息表格的部分。
主设备通常需要监测用户操作和从设备的操作状态。如果从网络2分离的信息处理设备1为执行功能程序的单一有效信息处理设备中的主设备,设置具有信息处理设备ID的最小值的信息处理设备1作为主设备,该信息处理设备1来自未与网络2分离的信息处理设备1之中。
本发明的一个实施例的信息处理控制器11能够作为包括多个子处理器的单片集成电路被执行。与非单芯片处理器执行相同处理相比,这种单片信息处理控制器11不可避免地导致高热量密度。利用温度传感器的温度检测器能够被配置在每个主处理器42和子处理器43上。利用温度检测器,主处理器42和子处理器43被控制来在正常操作温度区域内操作。通过这种配置,装置退化(degradation)被控制,并且提供高可靠的信息处理控制器11和信息处理设备1。在根据本发明的一个实施例的信息处理控制器11中,处理在响应于温度增加的至少一个信息处理设备1的子处理器之间被传送或交换。从而防止由于热量而导致装置的故障和处理速度的降低。
下面参考图9-17描述根据本发明的第一实施例的信息处理设备1的信息处理控制器11。信息处理控制器11执行即使在温度增加情况下的分布式处理。
图9是信息处理设备101的结构图,在信息处理设备101中温度检测器被配置在主处理器42和子处理器43上。
如图9所示,参考图1描述的元件赋予相同标号并适当的省略对其的讨论。图9的信息处理设备101包括代替信息处理控制器11的信息处理控制器111。温度检测器121-(m+2)(m为数目等于配置在信息处理控制器111中的子处理器43的数目)被设置来检测单片信息处理控制器111的温度。信息处理设备101的其余部分与图1的信息处理设备1的结构相同。
信息处理控制器111包括测量子处理器43-1到子处理器43-m的温度的温度检测器121-1到温度检测器121-m,和测量主处理器42温度的温度检测器121-(m+1),和由温度计检测器121-1到温度检测器121-(m+2)提供的监测温度测量的温度监测处理器122并通过总线41将监测的温度测量输出到主处理器42。信息处理控制器111的其余部分与图1讨论的信息处理控制器11的结构相同。
根据第一实施例信息处理设备101不连接到网络2,并基于单独方式(standalone basis)操作。换句话说,在本发明的第一实施例的信息处理设备101中的信息处理控制器111中的子处理器43-1到子处理器43-m之中执行分布式处理。
下面参考图10描述信息处理控制器11的芯片结构。DMAC44,密钥管理表格记录器45,DC46,和温度监测处理器122并未在图10中示出。
设置信息处理控制器111上的芯片是按照4x2设计的子处理器43-1到子处理器43-8的八个处理器(四个处理器在总线41的一侧剩下的四个处理器在总线41的另侧),并且本地存储器51-2到本地存储器51-9分别地对应于子处理器43-1到子处理器43-8相相应于。配置主处理器42接近到子处理器43来在其中之间高速地传送数据。图10所示的连接到总线41一边的是子处理器43-1到子处理器43-4,按照从小到大的顺序排列,子处理器43-1靠近主处理器42,子处理器43-4远离主处理器42。图10所示的连接到总线另一边的是子处理器43-5到子处理器43-8,按照从小到大的顺序排列,子处理器43-5接近主处理器42,子处理器43-8远离主处理器42。散热片141连接到信息处理控制器111的芯片。
分别地配置温度检测器121-1到温度检测器121-8接近子处理器43-1到子处理器43-8。温度检测器121-9被配置为邻近主处理器42,并且温度检测器121-10被配置为邻近散热片141。
图11阐明由本发明的第一实施例信息处理控制器111执行的软件程序的结构。信息处理控制器11响应于温度增加执行控制处理。在信息处理设备101开启之前,软件程序被预存储到连接到信息处理控制器111的记录器13。
如图11所示,与图8描述的这些元件相同的元件赋予相同的标号并适当的省略对其的讨论。温度测量程序被添加并且MS管理程序和能力交换程序被从第一实施例的信息处理控制器111中的主存储器12中存储的软件结构中的控制程序中除去。图11的软件结构的其余部分与图8的软件结构相同。温度测量程序最好为连续操作的常驻程序,同时信息处理设备101的主电源保持开启。
信息处理设备101中的温度检测器121-1到温度检测器121-10测量子处理器的温度。温度监测处理器122监测所测量的温度的信息。温度测量程序收集(gather)并管理监测的温度信息。基于温度信息,温度测量程序控制由主处理器42执行的处理,和如果需要执行由子处理器43-1到子处理器43-8执行的处理的传送或交换。
图12为由信息处理设备101执行的软件程序功能的功能结构图。软件程序已经在图11中讨论了。
图12所示的算术处理器161,存储器162,逻辑线程管理处理器163,和温度异常校正控制器169的功能基本上通过信息处理设备101中的主处理器42来执行。图12所示的温度信息获得单元164,中断控制器165,定时器166,温度管理表格167,和温度增加检测器168的功能基本上通过信息处理设备101的温度监测处理器122来执行。
图12所示的算术处理器181,寄存器182,浮点寄存器183,程序计数器184,中断控制器185,和线程传送和接收处理器186的功能基本上通过信息处理设备101中的子处理器42来执行。编码区域187,数据区域188,和堆栈区域190对应于至少本地存储器51的存储区域的部分。图12阐明子处理器43和温度检测器121的单一组合。同样的连接信息处理控制器111中所有的子处理器43和温度检测器121。
算术处理器161执行用于预定应用程序的算术处理。存储器162对应于至少本地存储器51-1的存储区域的部分,并存储由算术处理器161执行的程序和执行程序所需的数据。为了使得至少一个子处理器43执行分布式处理,算术处理器161提供设置的逻辑线程信息到逻辑线程管理处理器163,从而请求逻辑线程管理处理器163来生成逻辑线程。逻辑线程被定义为处理单元,该处理单元提供单一功率作为联合分别配置到多个子处理器43的多个程序的结果。多个程序可以属于相同的应用程序或不同的应用程序。换句话说,如果需要分别配置到多个子处理器43的多个程序是被记录在主存储器12的预定存储区域的多个程序。响应于由算术处理器161执行的应用程序的请求,将来自用于执行的主存储器12的程序载入到子处理器43的本地存储器51。
逻辑线程管理处理器163生成或删除与由算术处理器161执行的应用程序相对应的逻辑线程,同时监测生成的逻辑线程的状态和控制生成的逻辑线程的操作。逻辑线程管理处理器163生成列出信息处理设备101的全部管理信息的表格,和列出请求在每个逻辑线程执行基础上执行逻辑线程的信息表格。如果需要,逻辑线程处理器163通过参考和更新表格来控制逻辑线程的执行。
在中断控制器165处理的控制定时,温度信息获得单元164获得由温度检测器121提供的温度信息,并更新温度管理表格167。中断控制器165参考定时器166,并中断温度信息获得单元164。响应于由温度增加检测器168提供的信息,中断控制器165中断算术处理器161和温度异常校正控制器169。
温度管理表格167列出用来使用由信息处理控制器111执行的温度测量的信息。如图13所示,温度管理表格167列出识别信息处理控制器111的控制器ID,与子处理器43-1到子处理器43-8的操作状态相关的信息,更新的散热片141的温度测量结果,主处理器42,和子处理器43-1到子处理器43-8(换句话说,通过温度检测器121-1到温度检测器121-10提供温度测量结果),散热片141的上限温度值,主处理器,和子处理器43-1到子处理器43-8(如果温度检测器121-1到温度检测器121-10检测温度在上限温度之上,则触发温度异常),和芯片中子处理器的设计信息。
图13的上限温度为信息处理控制器111和信息处理设备101设计阶段上的特定值,并且为其中保证信息处理控制器111和信息处理设备101的正常操作所需温度范围的上限温度。上限温度可以为低于执行信息处理控制器111和信息处理设备101的正常和有效操作的优选的上限温度。子处理器43-1到子处理器43-8的操作状态的信息表示有关设备为激活或不激活的运行状态或截止状态。子处理器设计信息表示预先在信息处理控制器111和信息处理设备101的设计阶段的子处理器43-1到子处理器43-8的设计设置。如图10所示,处理器设计信息包括二行乘四列的结构中子处理器43-1到子处理器43-8的配置信息,和相应于设计和子处理器ID之间的信息。
温度增加检测器168参考温度管理表格167来确定任一个温度检测器121-1到温度检测器121-10的温度检测结果是否增加到上限温度之上。如果任何温度检测结果超过上限温度,或温度增加检测器168通知中断控制器165异常温度增加,从而使得中断控制器165中断算术处理器161和温度异常校正控制器169。
响应于来自中断控制器165的中断,温度异常校正控制器169参考温度管理表格167。温度异常校正控制器169确定对应于已经检测异常温度增加的温度检测器121的信息处理控制器111,主处理器42,和子处理器43。通过控制逻辑线程管理处理器163,温度异常校正控制器169中止当前进行中的处理,如果需要,通过一个正常子处理器43或传送或交换当前进行中的线程。
在逻辑线程管理处理器163控制之下,算术处理器181执行由主处理器42分配的程序(线程)。寄存器182和浮点寄存器183由执行该程序的算术处理器181来使用。程序计数器184表示存储当前由算术处理器181执行的命令的地址。
在逻辑线程管理处理器163控制之下,如果中断被触发,则中断控制器185中止算术处理器181的处理,如果中断解除,则中断控制器185使得算术处理器181重新开始处理。在逻辑线程管理处理器163控制之下,当前由自身子处理器执行的程序被传送到另外的子处理器43,或被交换为由另外子处理器43执行的另外的程序。在这个情况中,线程传送和交换处理器186清除当前执行程序的内容(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。线程传送和交换处理器186将堆栈区域190和数据区域189的内容传送到选择作为传送目标或交换目标子处理器43的本地存储器51。
编码区域187存储对于子处理器43的编码命令。数据区域188存储固定数据。数据区域189将不同子处理器的数据存储到子处理器。当由自身处理器当前执行的程序被传送到另外子处理器43,或转换由另外子处理器43执行的另外的程序时,堆栈区域190接收清除的当前执行程序的内容。
下面具体描述具有图12的功能结构图所述功能的信息处理控制器111的处理。
如果应用程序用于处理三维图形,则单一屏幕的处理通过像素来区分,并且区分的处理通过基于相同程序和相同模式数据的多个子处理器并行计算。具体地说,当算术处理器161执行用于处理三维图形的应用程序时,由像素区分的处理通过多个子处理器43被分配并且并行的计算。
为了请求逻辑线程管理处理器163来生成逻辑线程,算术处理器161预先确定逻辑线程使用的子处理器43的数目,并为逻辑线程管理处理器163提供具有逻辑线程的设置信息。这里,使用两个子处理器43。逻辑线程管理处理器163将通常使用的程序和处理所需的模式数据载入到分配的分布式处理的子处理器43的编码区域187和数据区域188(本地存储器51)。
可任选的,通常使用的程序和处理所需要的模式数据可以预先被提供到仍未分配分布式处理的子处理器43的本地存储器51。正如下面讨论的,在温度增加的情况中,当重新分配逻辑线程的处理(用于处理传送或处理交换)到未经分配的分布式处理的子处理器43时,程序和模式数据的载入变得不需要。
例如,如果分配分布式处理器的子处理器43是子处理器43-1和子处理器43-2,则子处理器43-1的算术处理器181计算屏幕上具有坐标(2x,y)位置上的亮度值,同时子处理器43-2的算术处理器181计算具有坐标(2x+1,y)的位置上的亮度值。
当使用信息处理设备101进行操作时,中断控制器165连续地参考温度管理表格167。在规则的间隔中,中断控制器165中断温度信息获得单元164,从而使得温度信息获得单元164获得温度检测器121-1到温度检测器121-10的温度信息。从而中断控制器165更新温度管理表格167中温度检测结果的值。
子处理器43-1和子处理器43-2继续地处理响应于由算术处理器161处理的应用程序请求的分配的线程。当包括在其中的晶体管执行高速转换操作时,随着进行中计算处理,子处理器43-1和子处理器43-2生成热量。由执行分布式处理的分配的主处理器42和子处理器43生成的热量不但影响分配在其中的晶体管的转换操作而且影响邻近的处理器。如果工作在高速转换速率的处理器存在于近距离中,则这些处理器的温度显著地增加。
温度增加检测器18参考温度管理表格167。在检测温度检测器121-1到温度检测器121-10的任何温度检测结果在预定上限温度之上时,温度增加检测器168通知中断控制器165异常温度增加。响应于来自温度增加检测器168的通知,中断控制器165中断算术处理器161和温度异常校正控制器169。
当由中断控制器165中断时,算术处理器161延缓应用程序的当前处理。当由中断控制器165中断时,温度异常校正控制器169参考温度管理表格167来确定信息处理控制器111,主处理器42,和子处理器43中的哪一个相应于已经检测异常温度增加的温度检测器121。通过控制逻辑线程管理处理器163,如果适当,温度异常校正控制器169中止处理,或传送或交换检测为在异常温度增加中的子处理器43和通常子处理器43之间的当前处理的线程。
具体地说,温度异常校正控制器169参考温度管理表格167。在确定子处理器43-1相应于已经检测为异常温度增加的温度检测器121,例如,温度异常校正控制器169参考温度管理表格167来确定子处理器43是否能够被选择作为传送目标,由子处理器43-1执行那个传送目标的线程处理的传送。
选择作为传送目标的是这些子处理器中的最低温度测量的一个子处理器43,这些子处理器保持不工作并位于不接近当前操作的子处理器43的位置。如果多个子处理器43满足这些规范,则具有最小子处理器ID数目的子处理器43被选择作为传送目标。如果保持不工作和位于远离当前操作处理器43的子处理器43是不可利用的,则导致最低温度测量的一个子处理器从当前不工作的子处理器43中选择。如果多个子处理器43满足这些规范,则具有最小子处理器ID数目的子处理器43被选择作为传送目标。
如果没有当前不工作的子处理器43是可利用的,则该处理是交换而不是传送。导致最低温度测量的子处理器43被选择作为交换目标。如果多个子处理器43满足这些规范,则具有最小子处理器ID数目的子处理器43被选择作为交换目标。
如果通常使用的程序和需要来执行处理的模式数据预先被提供到具有未分布式处理分配的一个子处理器43的本地存储器51,该子处理器43可以被优先权选择。
温度异常校正控制器169参考温度管理表格167。如果温度异常校正控制器169确定已经检测异常温度增加的温度检测器121相应于来自当前操作的子处理器43-1和子处理器43-2之中的子处理器43-1,则温度异常校正控制器169参考温度管理表格167。温度异常校正控制器169然后从当前不工作的子处理器43-3到43-8之中选择子处理器43-4作为满足上述参考这些规范的子处理器。
温度异常校正控制器169通知逻辑线程管理处理器163,子处理器43-4已经被选择作为子处理器43-1的处理的传送目标。逻辑线程管理处理器163中止该处理,并且清除子处理器43-1执行的处理的前后关系。逻辑线程管理处理器163控制子处理器43-4将清除的前后关系载入到子处理器43-4,同时修改温度管理表格167中子处理器43-1的操作状态为“中止”。
响应于指示清除当前处理的前后关系的中断命令,子处理器43-1中的中断控制器185中止算术处理器181的处理。线程传送和交换处理器186清除当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送目标子处理器43-4预存储通常使用的程序和模式数据,线程输出和交换处理器186将堆栈区域190和数据区域189的内容传送到由逻辑线程管理处理器163(主处理器42的本地存储器51的存储区域的部分)管理的信息存储区域(未示出)。如果子处理器43-4不预存储通常使用的程序和模式数据,线程输出和交换处理器186传送编码区域187到堆栈区域190的数据到由逻辑线程管理处理器163(主处理器42的本地存储器51的存储区域的部分)管理的信息存储区域(未示出)。
逻辑线程管理处理器163将清除的数据提供到作为传送目标子处理器43-4以将清除的数据存储到相应于编码区域187到堆栈区域190的区域。如果作为传送目标子处理器43-4预存储通常利用的程序和模式数据,则清除的数据为堆栈区域190和数据区域189的内容,并且如果作为传送目标子处理器43-4未预存储通常利用的程序和模式数据,则清除的数据为编码区域187到堆栈区域190的数据。
中断控制器165解除到算术处理器161的中断。算术处理器161再次请求逻辑线程管理处理器163来执行逻辑线程。逻辑线程管理处理器163开启子处理器43-2和子处理器43-4上的分布式处理。
温度异常校正控制器169参考温度管理表格167。如果温度异常校正控制器169确定已经检测异常温度增加的温度检测器121相应于信息处理控制器111和主处理器42中的一个,温度异常校正控制器169控制逻辑线程校正控制器163来暂时延缓由算术处理器161执行的应用程序。逻辑线程管理处理器163导致主处理器42暂时中止处理来降低生成热量的总量,除了由常驻程序执行的程序的需要部分。温度异常校正控制器169参考温度管理表格167并随时等待直到异常温度增加不再被检测到。当正常温度状态被恢复,或温度值下降到预定阈值之下,主处理器42,即,由算术处理器161执行的应用程序的处理重新开始。
如先前讨论的,图12所示的算术处理器161,存储器162,逻辑线程管理处理器163,和温度异常校正控制器169的功能基本上由信息处理设备101中的主处理器42所执行。图12所示的温度信息获得单元164,中断控制器165,定时器166,温度管理表格167,和温度增加检测器168的功能基本上由信息处理设备101中温度监测处理器122所执行。执行上述功能的硬件可以不同于上述参考的结构。例如,主处理器42功能的部分可以由温度监测处理器122所执行,温度监测处理器122功能的部分可以由主处理器42所执行,或这些功能可以通过不同的硬件所执行。即使在这种情况中,本发明为更适宜的应用。
下面参考图14的流程图描述由图9的第一实施例的信息处理设备101所执行的应用程序执行处理1。温度测量程序为连续操作的常驻程序,同时信息处理设备101的主电源保持开启。
步骤S1中,算术处理器161确定用户是否已经输入命令来执行应用程序。具体地说,步骤S1中,响应于通过总线14和总线41由操作输入单元15提供的信号,主处理器42确定执行应用程序的命令是否已经发出。如果步骤S1中确定执行应用程序的命令未发出,则S1处理被重复直到确定应用程序的命令发出。
如果步骤S1中确定执行应用程序的命令已经发出,则算术处理器161对子处理器设置逻辑线程的分配并在步骤S2提供设置的逻辑线程信息到逻辑线程管理处理器163。
步骤S3中,逻辑线程管理处理器163将用于执行处理的分配的程序和数据载入到本地处理器43中的本地存储器51的解码区域187和数据区域188,逻辑线程被分配到其中。
步骤S4中,算术处理器161和逻辑线程管理处理器163控制包括子处理器43的处理的应用程序的执行。子处理器43中的算术处理器181执行处理的分配。
温度测量程序为连续执行的常驻程序,同时信息处理设备101的主电源保持开启,并且在步骤S1到S4的整个周期执行该处理。温度测量程序的温度信息管理处理1将在下面参考图15的流程图进行描述。
步骤S5中,算术处理器161确定是否由中断控制器165发出响应于温度异常的中断。如果步骤S5中确定响应于温度异常的中断未发出,则处理进入步骤S8。
如果步骤S5中确定响应于温度异常的发生的中断发出,当前处理被延缓。步骤S6中,算术处理器161确定中断是否解除。如果步骤S6中确定中断未被解除,步骤S6上的处理重复直到确定中断已经解除。
如果步骤S6中确定中断已经解除,则在步骤S7中算术处理器161、需要提供具有逻辑线程的设置信息的逻辑线程管理处理器163。从而逻辑线程管理处理器163更新与逻辑线程管理相关的表格。
如果步骤S5中确定响应于温度异常的中断未发出,则在紧接步骤S7结束后的步骤S8中算术处理器161确定应用程序的处理是否已经完成。如果步骤S8中确定应用程序的处理未完成,则处理返回到步骤S4来重复步骤S4和后面的步骤。如果步骤S8中确定应用程序的处理已经完成,处理结束。
在这种方法中,选择的子处理器43执行相应于由主处理器42执行的应用程序的分布式处理。
下面参考图15的流程图描述由图9的信息处理设备101执行的(具体地说,通过图11的温度测量程序执行)温度信息管理处理1。
步骤S21中,温度信息获得单元164确定是否从中断控制器165接收到定时中断。如果步骤S21中确定定时中断未被接收,则步骤S21的处理被重复直到确定定时中断已经接收。
如果步骤S21中确定定时中断已经被接收,则温度信息获得单元164获得来自步骤S22中每个温度检测器121的温度信息。
步骤S23中,温度信息获得单元164更新基于步骤S22获得的温度信息的温度管理表格167。
步骤S24中,温度增加检测器168参考温度管理表格167来确定异常值是否包括在温度信息中,换句话说,由温度检测器121检测的温度检测结果是否在预定上限温度之上。如果步骤S24中确定没有异常值包括在温度信息中,则处理返回到步骤S21来重复步骤S21和后面的步骤。
如果步骤S24中确定异常值包括在温度信息中,则温度增加检测器168通知中断控制器165异常温度增加的检测,从而在步骤S25中导致中断控制器165中断算术处理器161和的温度异常校正控制器169。中断控制器165中断算术处理器161和温度异常校正控制器169,从而中止由算术处理器161控制的应用程序的处理并导致温度异常校正控制器169开启异常发生时处理1。
步骤S26中,执行下面参考图16讨论的异常发生时处理1。
步骤S27中,响应于异常发生时处理1温度异常校正控制器169控制逻辑线程管理处理器163,从而如果需要则导致逻辑线程管理处理器163更新逻辑线程管理表格。
步骤S28中,中断控制器165解除由算术控制器161控制的应用程序处理的中断。处理返回到步骤S21以重复步骤S21和后面的步骤。
从而获得由温度检测器121检测的温度信息,并基于温度表格167确定是否执行温度异常的发生时间的中断处理,该温度管理表格167响应于检测的温度信息被更新。
图15的步骤S26中执行的异常发生时处理1将在下面参考图16的流程图进行描述。
步骤S41中,温度异常校正控制器169参考温度管理表格167,并确定主处理器42和信息处理控制器111中的哪个遭受温度异常,换句话说,温度检测器121-9和温度检测器121-10中的哪个具有在预定上限温度之上的检测温度。如果步骤S41中确定主处理器42和信息处理控制器111中的一个导致温度异常,则处理进入如下面描述的步骤S53。
如果步骤S41中确定主处理器42和信息处理控制器111都未导致温度异常,换句话说,任何一个子处理器43已经导致温度异常,则温度异常校正控制器169参考温度管理表格167。从而温度异常校正控制器169确定检测为温度异常的子处理器43的处理是否是可传送的,换句话说,除了检测为温度异常的子处理器43之外的任一子处理器43是否是当前不工作的。如果步骤S42确定检测为温度异常的子处理器43的处理为不可传送的,则处理进入步骤S47。
如果步骤S42中确定检测为温度异常的子处理器43的处理为可传送的,则温度异常校正控制器169选择子处理器43作为处理的传送目标,并在步骤S43中通知逻辑线程管理处理器163选择的结果。具体地说,温度异常校正控制器169选择一个子处理器43作为具有优先权的传送目标,在这些不工作的子处理器中具有最低温度测量并且位于不接近当前工作的子处理器43。如果多个子处理器43满足这些规范,则温度异常校正控制器169选择具有最小子处理器ID数目的子处理器43作为传送目标。如果保持不工作和位于远离当前工作的子处理器43的子处理器43是不可使用的,则导致最低温度测量的一个从当前不工作的子处理器43之中选择。如果多个子处理器43满足这些规范,则选择具有最小子处理器ID数目的子处理器43作为传送目标。温度异常校正控制器169然后通知逻辑线程管理处理器163选择的结果。
如图17A所示,当前工作的子处理器为子处理器43-1和子处理器43-2,并且温度检测器121检测对应于子处理器43-1的异常温度增加。在这种情况中,温度异常校正控制器169参考温度管理表格167,并从子处理器43-3到子处理器43-8中确定满足上述参考的这些规范的子处理器43-4,并选择子处理器43-4作为传送目标。
步骤S44中,逻辑线程管理处理器163清除由检测为高于上限温度的子处理器43执行的前后处理。响应于中断命令,检测为高于上限温度的子处理器43的中断控制器185延缓算术处理器181的处理以清除当前处理的前后关系。线程传送和交换处理器186清除当前的执行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送目标的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186传送堆栈区域190和数据区域189的内容到由逻辑线程管理处理器163管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模型数目,则线程传送和交换处理器186传送编码区域187到堆栈区域190的数据到由逻辑线程管理处理器163管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S45中,逻辑线程管理处理器163中止检测为高于上限温度的子处理器43的操作。
步骤S46中,逻辑线程管理处理器163恢复步骤S44中清除的前后关系到选择作为传送目标子处理器43。选择作为传送目标子处理器43存储提供的前后关系到编码区域187到堆栈区域190的区域中。然后处理返回步骤S26并随后进入图15的步骤S27。
如果步骤S42中确定检测为温度异常的子处理器43的处理为不可传送的,则温度异常校正控制器169选择子处理器43作为交换目标并在步骤S47中通知逻辑线程管理处理器163选择的结果。具体地说,温度异常校正控制器169被设计来选择一导致最低温度测量的子处理器43作为具有优先权的交换目标。如果满足上述这些规范的多个子处理器43为可用的,则选择具有最小子处理器ID数目的子处理器43。
步骤S48中,逻辑线程管理处理器163清除由检测为在上限温度之上的子处理器43执行的处理的前后关系。响应于中断命令,检测为在上限温度之上的子处理器43的中断控制器185延缓算术处理器181的处理以清除当前处理的前后关系。线程传送和交换处理器186清除当前执行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送目标子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186传送堆栈区域190和数据区域189的内容到由逻辑线程管理处理器163管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程输出和交换处理器186传送编码区域187到堆栈区域190的数据到由逻辑线程管理处理器163管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S49中逻辑线程管理处理器163中止检测为在上限温度之上的子处理器43的操作。
步骤S50中,逻辑线程管理处理器163清除由选择作为交换目标子处理器43执行的处理的前后关系。响应于中断命令,选择作为交换目标子处理器43的中断控制器185延缓算术处理器181的处理以清除当前处理的前后关系。线程传送和交换处理器186清除当前执行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为交换目标子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186传送堆栈区域190和数据区域189的内容到由逻辑线程管理处理器163管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186传送编码区域187到堆栈区域190的数据到由逻辑线程管理处理器163管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S51中,逻辑线程管理处理器163中止选择作为交换目标处理的子处理器43的操作。
步骤S52中,逻辑线程管理处理器163交换清除前后关系的两个子处理器43之间的前后关系来恢复该前后关系。具体地说,逻辑线程管理处理器163将步骤S48中清除的前后关系恢复到选择作为交换目标处理的子处理器43,同时将步骤S50中清除的前后关系恢复到检测为上限温度之上的子处理器43。每个子处理器43将提供的前后关系到浮点寄存器183存储到堆栈区域190的相应区域。然后处理返回步骤S26并随后进入图15的步骤S27。
如果步骤S41中确定的主处理器42和信息处理控制器111中的一个遭遭受温度异常,则在步骤S53中温度异常校正控制器169控制逻辑线程管理处理器163,从而延缓算术处理器161执行应用程序的处理。从而除了由常驻程序执行的处理的所需部分之外,主处理器42的处理暂时被延缓。
步骤S54中,温度异常校正控制器169参考温度管理表格167来确定正常的温度状态是否被恢复。如果步骤S54中确定了正常的温度状态未被存恢复,则重复步骤S54中的处理直到确定正常的温度状态被恢复。如果步骤S54中确定了正常的温度状态被恢复,则处理返回到步骤S26并且随后进图15的步骤S27。
在这种方法中,取决于温度异常的位置,芯片的操作,和处理器的温度测量值,确定是否延缓处理,是否传送分布式处理的部分,或是否交换分布式处理的部分。还确定传送目标和交换目标中的一个。
信息处理设备101以单独的方式进行操作,而无需连接到网络上,该信息处理设备101包括配置在主处理器42上的温度检测器121,和子处理器43。信息处理设备101监测温度异常。如果检测到任何温度异常,则取决于温度异常的位置,芯片操作,和处理器的温度测量值,确定是否延缓处理,是否传送分布式处理的部分,或是否交换分布式处理的交换的部分。该过程的传送目标或交换目标也被确定,并且处理被传送或交换。防止由于由热量导致的失控或故障的装置故障和处理速度的降低,同时其中间的处理的延迟被最小化。
参考图9到17,信息处理设备101以单独的方式进行操作,而无需建立和网络2的连接。本发明可应用于其中如图18所示的多个信息处理设备101连接到网络2的情况中。
下面参考图18-33描述信息处理设备101的信息处理控制器111。信息处理控制器111执行温度增加中的分布式处理。
图18阐明响应于温度增加执行多个信息处理设备101之中的分布式处理的网络系统。信息处理设备101-1到信息处理设备101-n中的硬件结构基本上与之前图9讨论的信息处理设备101的硬件结构相同。信息处理设备101-1到信息处理设备101-n中的每一个中的信息处理控制器111的硬件结构基本上与之前图10所讨论的单片处理器的硬件结构相同。
如图19中所示,信息处理控制器111通过总线14和通信装置16连接到网络2,该信息处理控制器111具有与图10讨论的单片处理器的相同的结构。正如先前的讨论,信息处理设备101-1到信息处理设备101-n中的一个被识别作为主设备,并且另外的设备被识别为从设备。
图20阐明由第二实施例的信息处理控制器111执行的软件程序的结构。优先权于信息处理设备101的转换,软件程序被预记录在连接到信息处理控制器111的记录器13上。
与参考图8描述元件相同的元件被指定具有相同的标号并这里省略了对其的讨论。除了温度测量程序最近被添加到控制程序之外,第二实施例的信息处理控制器111的主存储器12中存储的软件程序的结构保持与参考图8讨论的软件结构不改变。温度测量程序更适宜为连续操作的常驻程序,只要信息处理设备101的主电源保持开启。
图20的温度测量程序执行图11的第一实施例描述的相同的处理。温度检测器121-1到温度检测器121-10检测信息处理设备101的温度。温度监测处理器122监测温度。温度测量程序收集并管理温度的信息。基于温度信息,温度测量程序控制由主处理器42执行的处理和如果需要由子处理器43-1到子处理器43-8执行的传送或交换处理。温度测量程序交换具有连接到网络2的其他信息处理设备101的温度信息,并且然后控制由主处理器42执行的处理和如果需要控制由子处理器43-1到子处理器43-8执行该处理的传送或交换。
控制交换通过网络2的具有其他信息处理设备101的温度信息,和控制通过网络2的具有其他信息处理设备101的该处理的传送或交换被分成下面三种模式。
在第一模式中,如果信息处理设备101-1被识别作为主设备,则信息处理设备101-1管理自身温度管理表格,而且信息处理设备101-2到信息处理设备101-n的温度管理表格作为从设备。具体地说,作为从设备的信息处理设备101-2到信息处理设备101-n的每一个有规则发送其更新的温度管理表格到信息处理设备101-1。作为主设备的信息处理设备101-1监测全部信息处理设备101-1到101-n的温度信息,并且如果在任何信息处理设备102-1到102-n中异常温度增加被检测,则信息处理设备101-1从包括在连接到网络2的信息处理设备101的信息处理控制器111的全部子处理器43中选择适当的子处理器43作为该处理的传送目标或交换目标。信息处理设备101-1执行控制处理来传送检测为异常的子处理器43的处理到选择的子处理器43或来交换两个子处理器43之间的处理。
第二模式中,信息处理设备101监测自身的温度管理表格,并且如果温度管理表格中检测到异常温度增加,则信息处理设备101发送请求全部其他信息处理设备101发送温度信息的命令到全部其他信息处理设备101。具体地说,在接收到请求温度信息的发送命令时,没有检测任何温度增加的信息处理设备101生成基于温度管理表格发送温度信息的命令,并发送应答生成的温度信息到作为温度信息请求命令源的信息处理设备101的指示。在接收温度信息应答命令时,信息处理设备101从包括在连接到网络2的信息处理设备101的信息处理控制器111的全部子处理器43中选择适当的子处理器43作为该处理的的传送目标或交换目标。信息处理设备101执行控制处理来传送检测为异常的子处理器43的处理到选择的子处理器43或交换两个子处理器43之间的处理。
第三模式中,每个信息处理设备101监测自身温度管理表格,并且如果在温度管理表格中检测到异常温度增加,则信息处理设备101发送请求全部其他信息处理设备101传送子处理器程序的命令到全部其他信息处理设备101。具体地说,在接收到来自其他信息处理器101的请求传送子处理器程序的命令时,基于自身温度管理表格,没有检测任何温度的信息处理设备101生成表示自身设备是否能够为子处理器程序的传送目标应答命令。然后信息管理设备101发送应答命令到作为请求子处理器程序的传送命令源的信息处理设备101。在接收温度信息应答命令时,信息处理设备101选择包括在连接到网络2的信息处理设备101的信息处理控制器111中的全部子处理器43的作为该处理的传送目标或交换目标的适当的子处理器43。信息处理设备101执行控制处理来传送检测为异常的子处理器43的处理到选择的子处理器43或交换两个子处理器43之间的处理。
图21为根据本发明第二实施例在第一模式中执行控制处理的信息处理控制器111的功能结构图。与参考图12描述元件相同的元件被赋于具有相同的标号,并且这里适当的省略了对其的讨论。图21所示的第二实施例的信息处理控制器111的第一模式中,主处理器42又包括新增加的MS管理处理器211,能力交换处理控制器212,存储器213,和温度管理信息发送和接收控制器214。主处理器42进一步包括温度异常校正控制器216代替温度异常校正控制器169,以及逻辑线程管理处理器217代替逻辑线程管理处理器163。主处理器42的其余部分保持与图12的主处理器42相同。温度监测处理器122包括温度管理表格215代替温度管理表格167,并且温度监测处理器122的其余部分保持与图12的温度监测处理器122相同。
执行上述功能的硬件可以与上述的参考结构不同。例如,主处理器42功能的部分可由温度监测处理器122执行,温度监测处理器122功能的部分可由主处理器42执行,或者这些功能可以由不同的硬件所执行。即使在这种情况中,本发明也可完美地被应用。
在检测连接到网络2的自身设备时,MS管理处理器211生成具有为状态请求命令的DMA命令,为自身设备的源ID和应答目的,和不固定的目的ID的软件单元,并且通过通信装置16发送生成的软件单元到网络2。然后MS管理处理器211接收具有为状态应答命令的DMA命令和包括如数据的其他信息处理设备101的主存储器12中存储的装置信息的软件单元。从而MS管理处理器211从连接到网络2的信息处理设备101之中识别自身设备是否为主设备或从设备。如果自身设备101为主设备,则能力交换处理控制器212获得作为从设备的连接到网络2的全部信息处理设备101的装置信息,并且将装置信息存储到存储器213。如果自身设备101为从设备,则能力交换处理控制器212获得包括在全部其他信息处理设备101的装置信息中的信息处理设备ID和MS管理程序,并且将信息处理设备ID和MS管理存储到存储器213。
相应于主存储器12的存储区域的部分的存储器213存储连接到网络2的信息处理设备101的装置信息的至少部分。在温度异常校正控制器216的控制之下,温度管理信息发送和接收控制器214通过通信装置16控制将温度管理表格或生成的用于温度管理的多种命令(软件单元)发送到连接到网络2的其他信息处理设备101。温度管理信息发送和接收控制器214通过通信装置16控制从连接到网络2的其他信息处理设备101接收其他信息处理设备101的温度管理表格或生成的用于温度管理的多种命令(软件单元)。如果没有需要用于区别与连接到网络2的多个信息处理设备101的温度管理相关的信息,该温度管理来自与基于温度管理执行的分布式处理的控制相关的信息,温度管理表格或生成的用于温度管理的多种命令(软件单元)共同地称为温度管理信息。
如果自身设备101为主设备,则温度管理表格215不但包括基于由温度信息获得单元164获得的信息更新的自身温度管理表格,而且包括从其他信息处理设备101发送的和在温度管理信息发送和接收控制器214的处理中接收的温度管理表格。如果自身设备101为从设备,则温度管理表格215包括基于由温度信息获得单元164获得的信息的自身温度管理表格。
如果自身设备101为主设备,则温度异常校正控制器216响应于来自中断控制器165的中断参考温度管理表格215。从而逻辑线程管理处理器217检测连接到网络2的信息处理设备101的哪个相应于具有检测的异常温度增加的温度检测器121,和主处理器42和子处理器43的哪个相应于具有检测的异常温度的温度检测器121。基于检测结果,温度异常校正控制器216控制逻辑线程管理处理器217,从而中止处理,或传送处理或交换具有一个子处理器43的处理。
逻辑线程管理处理器217生成或删除相应于由算术处理器161执行的应用程序的逻辑线程。如果自身设备101为主设备,则逻辑线程管理处理器217监测生成的逻辑线程的状态并控制相应于由连接到网络2的信息处理设备101中的一个执行的分布式处理器的生成逻辑线程的操作。如果自身设备101为主设备,则逻辑线程管理处理器217生成列出连接到网络2的全部信息处理设备101的管理信息的表格,和列出需要来执行在每一逻辑线程执行基础上的逻辑线程的信息的表格。如果需要逻辑线程管理处理器217控制通过参考和更新表格的逻辑线程执行。
如果自身设备是主设备,则逻辑线程管理处理器217生成用于控制由另外信息处理设备101执行的软件单元处理的软件单元,并通过通信装置16发送生成的软件单元。此外,如果自身设备为从设备,则逻辑线程管理处理器217通过通信装置16接收由主信息处理设备101发送的软件单元。逻辑线程管理处理器217导致子处理器43来执行响应于软件单元的分布式处理,生成相应于应答或应答的软件单元,并通过通信装置16发送生成的软件单元。不管自身设备101是否是主设备或从设备,逻辑线程管理处理器217通过通信装置16获得与由另外信息处理设备101已经执行的线程相关的信息。
下面参考图22-24的流程图描述第二实施例第一模式的操作。根据本发明第二实施例,应用程序执行处理与参考图14讨论的第一实施例的处理相同,并且这里不再进一步描述。
下面参考图22的流程图描述主设备的温度信息管理处理。
步骤S71中,温度信息获得单元164确定定时中断是否已经从中断控制器165发出。
如果步骤S71中确定没有定时中断已经发出,则在步骤S72中温度管理信息发送和接收控制器214确定温度管理表格是否已经从任一个连接到网络2的信息处理设备101中所接收。如果步骤S72确定没有温度管理表格被接收,则处理返回到步骤S71来重复步骤S71和后面的步骤。如果步骤S72确定温度管理表格已经被接收,处理进入步骤S74。
如果步骤S71确定定时中断已经被接收,则在步骤S73中温度信息获得单元164获得来自每个温度检测器121的温度检测结果。
如果步骤S72中确定温度管理表格已经被接收,或在随后的步骤S73中,基于步骤S72中接收的其他信息处理设备101的温度管理表格,获得的自身温管理表格,则在步骤S74中温度信息获得单元164更新温度管理表格215。
步骤S75中,温度增加检测器168参考温度管理表格215来确定温度异常是否包括在温度信息中,换句话说,安置在连接到网络2的信息处理设备101中的全部温度检测器121的任一个温度检测结果是否在预定上限温度之上。如果步骤S75中确定没有异常温度值包括在温度信息中,处理进入步骤S71中来重复步骤S71和后面的步骤。
如果步骤S75中确定异常温度值包括在温度信息中,则温度增加检测器168通知中断控制器165异常温度增加的检测,从而导致中断控制器165中断步骤S76中的算术处理器161和温度异常校正控制器216。中断控制器165中断算术处理器161和温度异常校正控制器216,从而导致算术处理器161中止应用程序的处理和温度异常校正控制器216开始异常发生时处理2。
步骤S77中执行下面参考图23讨论的异常发生时处理2。
步骤S78中,温度异常校正控制器216根据步骤S77中执行的异常发生时处理2控制逻辑线程管理处理器217,从而如果需要,导致温度异常校正控制器216更新用于线程管理的表格。
步骤S79中,中断控制器165解除由算术处理器161控制的应用程序处理的中断,并且处理返回到步骤S71来重复步骤S71和后面的步骤。
主信息处理设备101获得基于由安置在连接到网络2的每个信息处理设备101中的每个温度检测器121检测的温度信息的温度管理表格,并管理作为温度管理表格215的表格。从而基于主信息处理设备101中存储的温度管理表格215,确定是否执行异常发生时中断处理。
下面参考图23的流程图描述图22的步骤S77中执行的异常发生时处理2。
步骤S91,温度异常校正控制器216参考温度管理表格215来确定连接到网络2的信息处理设备101中的主处理器42和信息处理控制器111的哪个遭受温度异常。如果步骤S91中确定连接到网络2的任何信息处理设备101中的主处理器42和信息处理控制器111中的一个遭受温度异常,则处理进入步骤S103中。
如果步骤S91中确定主处理器42和信息处理控制器111都不遭受温度异常,换句话说连接到网络2的任何信息处理设备101中任何的子处理器43遭受温度异常,则在步骤S92中温度异常校正控制器216参考温度管理表格215。在步骤S92中温度异常校正控制器216确定检测在温度异常中子处理器43的处理是否是可传送的,换句话说,除了检测为温度异常的子处理器43的任何子处理器43是否不工作。如果步骤S92确定检测为温度异常的子处理器43的处理是不可传送的,则处理进入步骤S97。
如果步骤S92中确定检测为温度异常的子处理器43的处理是可传送的,则在步骤S93中温度异常校正控制器216参考温度管理表格215。步骤S93中,温度异常校正控制器216从连接到网络2的信息处理设备101的信息处理控制器111的子处理器43中选择子处理器43作为该处理的传送目标,并通知逻辑线程管理处理器217选择的结果。具体地说,温度异常校正控制器216从连接到网络2的信息处理设备101的信息处理控制器111的子处理器之中选择其中已经保持不工作并且位于不接近当前工作的子处理器43之中的最低温度测量的子处理器43作为优先权的传送目标。如果多个子处理器43满足这些规范,则温度异常校正控制器216选择具有最小子处理器ID数目的子处理器43作为传送目标。如果已经保持不工作和与当前工作的子处理器43的位置相距比较远的子处理器43是不可使用的,则温度异常校正控制器216从连接到网络2的信息处理设备101的信息处理控制器111的子处理器43之外的当前不工作的子处理器43之中选择导致最低温度测量的一个。如果多个子处理器43满足这些规范,则温度异常校正控制器216选择具有最小子处理器ID数目的子处理器43作为传送目标,并且通知逻辑线程管理处理器217选择的结果。
步骤S94中,逻辑线程管理处理器217清除由检测为上限温度之上的子处理器43执行的处理的前后关系。
如果检测为上限温度之上的子处理器43是在主设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186清除当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送目标子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186传送堆栈区域190和数据区域189的内容到由逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程输出和交换处理器186将编码区域187传送到堆栈区域190的数据到由逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果检测为上限温度之上的子处理器43是在从设备中,则中断控制器185响应指示清除当前处理前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186清除当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送目标子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的内容传送到由信息处理设备101中的逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由信息处理设备101中的逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S95中,逻辑线程管理处理器217中止检测为上限温度之上的子处理器43的操作。
步骤S96中,逻辑线程管理处理器217将步骤S94中清除的前后关系恢复到选择作为传送目标子处理器的子处理器43。具体地说,如果传送目标子处理器43是主设备中的一个,则逻辑线程管理处理器217通过总线41将由自身提供的信息存储区域中存储的前后关系提供到传送目标子处理器43。如果传送目标子处理器43是从设备的一个,则逻辑线程管理子处理器217通过总线41,总线14,通信装置16和网络2将自身管理的信息存储区域中存储的前后关系提供到包括在起从设备作用的信息处理设备101中的传送目标子处理器43。选择作为传送目标子处理器的子处理器43存储相应于编码区域187到堆栈区域190的区域提供的前后关系。处理返回到步骤S77并然后进入图22所示的步骤S78。
如果步骤S92确定检测为温度异常的子处理器43的处理是不可传送的,则在步骤S97中温度异常校正控制器216参考温度管理表格215。步骤S97中,温度异常校正控制器216从连接到网络2的信息处理设备101的信息处理控制器111的子处理器43之中选择作为交换目标的子处理器43,并且通知逻辑线程管理处理器217选择的结果。具体地说,温度异常校正控制器216从连接到网络2的信息处理设备101的信息处理控制器111的子处理器43之中选择最低温度测量的一个作为优先权传送的目标子处理器43。如果多个子处理器43满足这些规范,则温度异常校正控制器216选择具有最低子处理器ID的子处理器43作为传送目标。
步骤S98中,逻辑线程管理处理器217清除由检测为上限温度之上的子处理器43执行的处理的前后关系。
如果检测为上限温度之上的子处理器43为主设备,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186清除当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送目标子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的内容传送到由逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到由逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果检测为上限温度之上的子处理器43为从设备中,则中断控制器185响应于指示清除当前处理前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186清除当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送目标子处理器43预存储通常使用的程序和典型的数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由起主设备作用的信息处理设备101中的逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由起主设备作用的信息处理设备101中的逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S99中,逻辑线程管理处理器217中止检测为上限温度之上的子处理器43的操作。
步骤S100中,逻辑线程管理处理器217清除由选择作为交换目标子处理器43执行的处理的前后关系。
如果选择作为交换目标子处理器43是在主设备中,则中断控制器185响应于中断命令延缓算术处理器181的处理以清除当前处理的前后关系。线程传送和交换处理器186清除当前执行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送源的子处理器43预存储通常使用的程序和典型的数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的内容传送到由逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果选择作为该处理的交换目标处理的子处理器43是在从设备中,则中断控制器185响应于指示清除当前处理前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186清除当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)到堆栈区域190。如果作为传送源的子处理器43预存储通常使用的程序和典型的数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的内容传送到由作为主设备操作的信息处理设备101中的逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由作为主设备信操作的息处理设备101中的逻辑线程管理处理器217管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S101中,逻辑线程管理处理器217中止选择作为交换目标子处理器43的操作。
步骤S102中,逻辑线程管理处理器163交换两个前后关系清除的子处理器43之间的前后关系来恢复这里的前后关系。具体地说,逻辑线程管理子处理器163将步骤S98中清除的前后关系恢复到选择作为该处理的交换目标的子处理器43,同时将步骤S100中清除的前后关系恢复到检测为上限温度之上的子处理器43。如果检测为上限温度之上的子处理器43或交换目标子处理器43是在主设备中的一个,则逻辑线程管理处理器217通过总线41将由自身管理的信息存储区域中存储的相应的前后关系提供到交换目标子处理器43。如果检测为上限温度之上的子处理器43或交换目标子处理器43是从设备中的一个,则逻辑线程管理处理器217通过总线41,总线14,通信装置16和网络2将由自身管理的信息存储区域中存储的相应的前后关系提供到包括在作为从设备操作的信息处理设备101中的交换目标子处理器43。每个子处理器43存储编码区域187到堆栈区域190的区域中的提供的前后关系。处理返回到步骤S77并然后进入图22的步骤S78。
如果步骤S91确定主设备42和信息处理控制器111中的一个遭受温度异常,则在步骤S103中温度异常校正控制器216确定遭受温度异常的主处理器42和信息处理控制器111中的一个是否包括在作为主设备的信息处理设备101中。如果步骤S103中确定遭受温度异常的主处理器42和信息处理控制器111中的一个包括在作为主设备的信息处理设备101中,则处理进入步骤S106。
如果步骤S103确定遭受温度异常的主处理器42和信息处理控制器111中的一个不包括在作为主设备的信息处理设备101中,换句话说,遭受温度异常的主处理器42和信息处理控制器111中的一个包括在作为从设备的信息处理设备101中,则在步骤S104中温度异常校正控制器216参考温度管理表格215。步骤S104中,温度异常校正控制器216从而确定信息处理设备101中的主设备42和信息处理控制器111中的一个的处理是否是可传送的。如果步骤S104中确定信息处理设备101中的主处理器42和信息处理控制器111中的一个的处理是可传送的,则处理进入步骤S93。
如果步骤S104确定信息处理设备101中的主处理器42和信息处理控制器111中的一个的处理是不可传送的,则在步骤S105中温度异常校正控制器216参考温度异常表格215。在步骤S105中,温度异常校正控制器216确定信息处理设备101中主处理器42和信息处理控制器111中的一个的处理是否是可交换的。如果步骤S105确定信息处理设备101中主处理器42和信息处理控制器111中的一个的处理是可交换的,处理进入步骤S97。
如果步骤S103中确定检测为温度异常的主处理器42和信息处理控制器111中的一个的处理包括在作为主设备的信息处理设备101中,或者如果步骤S 105确定信息处理设备101中主处理器42和信息处理控制器111中的一个的处理是不可交换的,则温度异常校正控制器216控制逻辑线程管理处理器217以暂时中止由算术处理器161执行的应用程序。除了其中由常驻程序执行的部分,主处理器42的处理暂时被延缓。
步骤S107中,温度异常校正控制器216参考温度管理表格215来确定是否恢复正常温度状态。如果步骤S107中确定正常温度状态仍未恢复,则重复步骤S107中的处理,直到确定正常温度状态被恢复。如果步骤S107中确定正常温度状态被恢复,则处理返回到步骤S77并然后进入图22所示的步骤S78。
在这种方法中,取决于温度异常的位置,芯片的工作,和处理器的温度测量值,确定是否延缓处理,是否传送分布式处理的部分,或是否交换分布式处理的部分。还确定传送目标和交换目标中的一个。
下面参考图24的流程图描述参考图22讨论的与主设备的温度信息管理处理同时执行的从设备的温度信息管理处理。
步骤S121中,起从设备作用的信息处理设备101中的温度信息获得单元164确定定时中断是否被输入。如果步骤S121中确定没有定时中断输入,则重复步骤S121的处理直到确定定时中断已经输入。
如果步骤S121中确定定时中断已经被输入,则在步骤S122中温度信息获得单元164获得来自每个温度检测器121的温度信息。
步骤S123中,温度信息获得单元164更新基于步骤S122中获得的温度信息中的温度管理表格215。
步骤S124中,温度管理信息发送和接收控制器214通过通信装置16和网络2将步骤S123中更新的温度管理表格215发送到起主设备作用的信息处理设备101。处理返回到步骤S121来重复步骤S121和后面的步骤。
从设备的温度管理表格被发送到主设备。发送的从设备的温度管理表格由主设备管理。
根据本发明第二实施例,连接到网络2的多个信息处理设备101执行参考图21-24讨论的处理,该多个信息处理设备101的每一个具有随着分别地安置在主处理器42和从设备43上的温度检测器121的信息处理控制器111。随着温度信息的第一模式的控制和传送或交换处理,防止由于热量导致的装置故障或降低处理速度,同时使其中间的处理的延缓最小化。
图25是根据本发明第二实施例阐明在第二模式中执行控制的信息处理控制器111的功能方框图。与参考图21描述元件相同的元件被赋于相同的标号,并这里适当省略了对其的讨论。根据本发明第二实施例执行第二模式控制的图25的信息处理控制器111中,存储器231,温度管理信息发送和接收控制器232,和温度异常校正控制器234被用来分别地代替存储器213,温度管理信息发送和接收控制器214,和温度异常校正控制器216。主处理器42的其余部分与图21的主处理器42相同。温度监测处理器122使用代替温度管理表格215的温度管理表格233。温度检测处理器122的其余部分与图21的温度监测处理器122相同。
执行上述功能的硬件可以与图25的上述结构不同。例如,主处理器42的功能的部分可以由温度监测处理器122实施,温度监测处理器122的功能的部分可以由主处理器42执行,或这些功能可以由不同的硬件执行。即使在这种情况中,本发明也可完美地被应用。
存储器231相应于主存储器12的至少部分存储区域,存储连接到网络2的信息处理设备101的装置信息的至少部分,同时暂时存储另外的信息处理设备101的由温度管理信息发送和接收控制器232接收的温度管理表格。在温度异常校正控制器234的控制之下,温度管理信息发送和接收控制器232控制通过通信装置16将温度测量信息或生成的用于温度测量的多种命令(软件单元)发送到连接到网络2的信息处理设备101。温度管理信息发送和接收控制器232还控制通过通信装置16从到连接到网络2的另外的信息处理设备101接收温度测量信息或用于温度测量的多种命令(软件单元)。
如果温度增加检测器168检测到温度异常发生,并且中断控制器165执行中断处理,则基于由自身温度信息获得单元164获得的信息,温度异常校正控制器234生成请求连接到网络2的全部其他信息处理器101来发送温度测量信息的命令。温度异常校正控制器234还控制温度管理信息发送和接收控制器232将生成的命令发送到全部其他信息处理设备101。当温度管理信息发送和接收控制器232接收来自连接到网络2的其他信息处理设备101的请求温度测量信息的发送的命令时,基于温度管理表格233存储的温度管理表格,温度异常校正控制器234生成图26的温度信息应答命令。温度异常校正控制器234控制温度管理信息发送和接收控制器232来发送生成的温度信息应答命令。
来自温度管理表格233中存储的温度管理表格信息的温度信息应答命令包括更新散热片141、主处理器42、和子处理器43-1到子处理器43-8的温度检测结果(即,更新的温度检测器121-1到温度检测器121-10的温度测量结果),散热片141、主处理器42、和子处理器43-1到子处理器43-8的设置温度限制(换句话说,如果任何温度检测器121-1到温度检测器121-10检测在设置上限温度之上的温度,则触发温度异常),子处理器43-1到主处理器42-8的操作状态的信息,和芯片中子处理器设计的信息。
不管自身设备是否是主设备或从设备,温度管理表格233存储基于从自身温度信息获得单元164获得信息的更新的自身温度管理表格。
下面参考图27和28描述第二实施例的第二模式操作。根据第二实施例,应用程序执行处理基本上与参考图14讨论的第一实施例的应用程序执行处理相同,并且这里省略对其的讨论。
下面参考图27的流程图描述温度信息管理处理2。
步骤S141到S144,执行基本上与参考图15的步骤S21到S24讨论的处理相似。具体地说,如果确定定时中断已经接收,则温度信息获得单元164获得的来自每个温度检测器121的温度信息,并更新温度管理表格233。温度增加检测器168参考温度管理表格233来确定异常值是否包括在温度信息中。
如果步骤S144中确定没有异常值包括在温度信息中,则温度异常校正控制器234确定步骤S145中温度管理信息发送和接收控制器232是否已经接收到来自连接到网络2的另外信息处理设备101的请求温度测量信息发送的命令。如果步骤S145中确定温度管理信息发送和接收控制器232并未接收到来自连接到网络2的其他信息设备101的请求温度测量信息发送的命令,则处理返回到步骤S141以重复步骤S141和后面的步骤。
如果步骤S145中确定请求温度测量信息发送的命令已经被从其他信息处理设备101中接收,则温度异常校正控制器234生成基于步骤S146中温度管理表格233中存储的温度管理表格的图26的温度信息应答命令。温度异常校正控制器234控制温度管理信息发送和接收控制器232来发送生成的温度信息应答命令。处理进入步骤S141以重复步骤S141和后面的步骤。
如果步骤S144确定异常值包括在温度信息中,则温度增加检测器168通知中断控制器165检测到异常温度增加,从而导致在步骤S147中断控制器165中断算术处理器161和温度异常校正控制器234。中断控制器165中断算术处理器161和温度异常校正控制器234,从而中止由算术处理器161控制的应用程序的处理并且导致温度异常校正控制器234来开始异常发生时处理3。
步骤S148中执行参考图28下面讨论的异常发生时处理3。
步骤S149中,温度异常校正控制器234基于步骤S148中执行的异常发生时处理3控制逻辑线程管理处理器217,如果需要则更新逻辑线程管理的表格。
步骤S150中,中断控制器165解除对由算术处理器161控制的应用程序处理的中断,并且处理返回步骤S141以重复步骤S141和后面的步骤。
不管连接到网络2的每个信息处理设备101是否为主设备或从设备,基于由自身设备的温度检测器121检测的温度信息,更新的温度管理表格检测自身设备的温度异常。在异常的情况中,执行中断处理并且执行后面讨论的异常发生时处理3。如果从连接到网络2的其他信息处理设备101接收到请求发送温度信息,则生成图26的温度应答命令,并且然后被发送到请求信息处理设备101。
下面参考图28的流程图描述图27的步骤S148中执行的异常发生时处理3。
步骤S181中,温度异常校正控制器234参考温度管理表格233,并且确定其中的主处理器42和信息处理控制器111哪一个遭受温度异常,换句话说,确定温度检测器121-9和温度检测器121-10的哪一个被检测具有比预定上限温度高的温度。如果步骤S181中确定主处理器42和信息处理控制器111中的一个导致温度异常,则如下面描述的处理进入步骤S195。
如果步骤S181中确定主处理器42和信息处理控制器111都不导致温度异常,换句话说,任一个子处理器43导致温度异常,则在步骤S182中温度异常校正控制器234生成请求连接到网络2的全部其他信息处理设备101来发送的温度测量信息的命令。温度异常校正控制器234控制温度管理信息发送和接收控制器232来发送生成的命令。温度管理信息发送和接收控制器232通过通信装置16和网络2发送请求发送温度测量信息到连接到网络2的全部信息处理设备101的命令。
步骤S183中,温度管理信息发送和接收控制器232接收图26的温度信息应答命令并将接收的温度信息应答命令提供到温度异常校正控制器234。
步骤S184中,基于从连接到网络2的全部其他信息处理设备101发送的温度信息应答命令,温度异常校正控制器234确定检测为温度异常的子处理器43的处理是否是可传送的。
如果步骤S184确定该处理是可传送的,则步骤S185到S188中执行基本上与图23的步骤S93到S96中执行相同的处理。具体地说,参考温度管理表格233,传送目标子处理器43从连接到网络2的信息处理设备101中的信息处理控制器111的子处理器43之中选择,清除由检测在上限温度之上的子处理器43执行的处理的前后关系,中止检测为上限温度之上的子处理器43的操作,并且将清除的前后关系恢复到传送目标子处理器。
步骤S188之后,处理返回到步骤S148并进入图27的步骤S149。
如果步骤S184中确定处理是不可传送的,则步骤S189到S194执行基本上与图23的步骤S97到S102相同的处理。具体地说,参考温度管理表格233,从连接到网络2的信息处理设备101的信息处理控制器111的子处理器43之中选择交换目标子处理器43,清除由检测为上限温度之上的次处理43执行的处理的前后关系,并且中止检测为上限温度之上的子处理器43的操作。
清除由选择为交换目标处理的子处理器43执行的处理的前后关系,中止选择作为交换目标处理的子处理器43的操作,并且为了恢复而交换两个处理器的前后关系。
紧接步骤S194之后,处理返回到步骤S148并然后进入步骤S149。
如果步骤S181中确定主处理器42和信息处理控制器11中的一个遭受温度异常,则步骤S195到S196执行基本上与图16的步骤S53到S54相同的处理。具体地说,控制逻辑线程管理处理器217,使得暂时中止由算术处理器161执行的应用程序。除了其中在常驻程序控制之下的部分,暂时中止主处理器42的处理。参考温度管理表格233来确定是否恢复正常温度状态。如果确定正常温度状态并未被恢复,则步骤S196的处理被重复直到确定正常温度状态被恢复。
如果步骤S196确定正常温度状态已经被恢复,则处理返回到步骤S148并然后进入步骤S149。
在这个方法中,如果出现温度异常,则另外信息处理设备被请求传送温度信息。取决于温度异常的位置,连接到网络2的信息处理控制器111的操作,和处理器的温度测量值,被确定是否延缓处理,是否传送分布式处理的部分,或是否交换分布式处理的部分。还确定传送目标和交换目标。
根据本发明的第二实施例,连接到网络2的多个信息处理设备101执行参考图25-28所讨论的处理,并且每个信息处理设备101具有存在分别配置在主处理器42和子处理器43上的温度检测器121和信息处理控制器111。随着温度信息和处理的传送或交换的第二模式控制,防止了由于热量引起的装置故障或处理速度降低,同时使其中间处理的延缓最小化。
图29是根据本发明的第二实施例阐明以第三模式执行控制的信息处理控制器111的原理框图。与参考图21描述的元件相同的元件具有相同的标号,并且适当地省略对其的讨论。根据本发明的第二实施例图29的执行第三模式控制的信息处理控制器111中,温度管理信息发送和接收控制器251和温度异常校正控制器252分别地被用于代替温度管理信息发送和接收控制器214,和温度异常校正控制器216。主处理器42的其余部分与图21的主处理器42相同。温度监测处理器122使用温度管理表格233代替温度管理表格215。温度监测处理器122的其余部分与图21的温度监测处理器122相同。
执行上述功能的硬件可以与图29上面参考的结构不同。例如,主处理器42功能的部分可以通过温度监测处理器122来执行,温度监测处理器122功能的部分可以通过主处理器42所执行,或者这些功能可以通过不同的硬件所执行。即使在这个情况中,本发明也可完美地应用。
在温度异常校正控制器252的控制下,温度管理信息发送和接收控制器251通过通信装置16控制温度测量信息或用于温度测量生成的多种命令(软件单元)到连接到网络2的其他信息处理设备101的传送。温度管理信息发送和接收控制器251还通过通信装置16控制从连接到网络2的其他信息处理设备101接收温度测量信息或用于温度测量的多种命令(软件单元)。
如果温度增加检测器168检测到温度异常发生,并且中断控制器165执行中断处理,则基于通过自身设备的温度信息获得单元164获得的信息,温度异常校正控制器252生成图30的子处理器程序传送命令来请求连接到网络2的所有其他信息处理设备101传送或交换当前逻辑线程的处理。温度异常校正控制器252还控制温度管理信息发送和接收控制器251来传送生成的命令。当温度管理信息发送和接收控制器251接收来自连接到网络2的其他信息处理设备101的图30的子处理器程序传送请求命令时,则基于温度管理表格233中存储的温度管理表格,温度异常校正控制器252生成图31的子处理器程序传送应答命令。温度异常校正控制器252控制温度管理信息发送和接收控制器251来传送生成的子处理器程序传送应答命令。
子处理器程序传送请求命令包括通过子处理器检测为温度异常执行的处理(线程)的子处理器使用率的信息,和检测为温度异常的子处理器的本地存储容量。
如果相应的子处理器接收子处理器程序传送请求,子处理器程序传送应答命令包括与是否接收子处理器程序的传送请求(传送OK,交换OK,或传送/交换不允许),及子处理器ID相关的信息。基于温度异常检测的子处理器的子处理器使用率和其中执行的处理(线程),和本地存储器容量的信息,子处理器程序传送请求命令中的描述,和温度管理表格233中存储的温度管理表格,温度异常校正控制器252确定是否接收子处理器程序传送请求,是否接收子处理器程序交换请求,或是否拒绝两个请求。
不管自身设备是主设备或从设备,如之前参考图25描述的,温度管理表格233保持基于由温度信息获得单元164获得的信息更新的自身的温度管理表格。
下面参考图32和33的流程图描述第二实施例的第三模式的操作。第二实施例的应用程序执行处理基本上与参考图14讨论的第一实施例的应用程序执行处理相同,及对其的讨论这里省略。
下面参考图32的流程图讨论温度信息管理处理3。
在步骤S211到S214中执行的处理与图15的步骤S21到S24中执行的处理基本相同。具体地说,如果确定定时中断已经被接收,则温度信息获得单元164获得来自每个温度检测器121的温度信息,并更新温度管理表格233。温度增加检测器168参考温度管理表格233来确定温度信息中是否包括异常的值。
如果步骤S214中确定没有异常的值被包括在温度信息中,则步骤S215中温度异常校正控制器252确定温度管理信息发送和接收控制器251是否已经接收来自连接到网络2的另一个信息处理设备101的图30的子处理器程序传送请求命令。如果步骤S215中确定温度管理信息发送和接收控制器232未接收来自其他信息处理设备101的子处理器程序传送请求命令,则处理返回到步骤S211以反复执行步骤S211和随后的步骤。
如果步骤S215中确定已经接收到来自其他信息处理设备101的子处理器程序传送请求,则温度异常校正控制器252确定是否接收子处理器程序传送请求。基于子处理器程序传送请求命令中描述的信息执行这个确定,这些信息包括检测为温度异常的子处理器的子处理器使用率,执行处理(线程),本地存储器容量的信息,和与子处理器43-1到子处理器43-8自身设备的操作状态,更新散热片141,主处理器42和子处理器43-1到子处理器43-8的温度测量结果,以及存储在温度管理表格233的子处理器设计信息的相关信息。温度异常校正控制器252生成图31的温度信息应答命令,并控制温度管理信息发送和接收控制器251来传送所生成的温度信息应答命令。处理返回到步骤S211以反复执行步骤S211和随后的步骤。
如果步骤S214中确定异常值被包括在温度信息中,则温度增加检测器168通知中断控制器165异常温度增加的检测,因此使得步骤S217中断控制器165以中断算术处理器161和温度异常校正控制器252。中断控制器165中断算术控制器161和温度异常校正控制器252,从而中止由算术处理器161控制的应用程序的处理并使得温度异常校正控制器252开始异常发生时处理4。
下面在步骤S218中执行参考图33讨论的异常发生时处理器4。
步骤S219中,温度异常校正控制器252基于步骤S218中执行的异常发生时处理4控制逻辑线程管理处理器217,从而根据需要更新逻辑线程管理表格。
步骤S220中,中断控制器165解除对由算术处理器161控制的应用程序处理的中断,并且处理返回步骤S211重复执行步骤S211和随后的步骤。
不管连接网络2的每个信息处理设备101是主处理器还是子处理器,基于根据由自身设备的温度检测器121所检测的温度信息更新的温度管理表格来检测自身设备的温度异常。在异常事件中,执行中断处理并执行下面讨论的异常发生时处理4。如果从连接到网络2的其他信息处理设备101接收图30的子处理器程序传送请求命令,则生成图31的温度信息应答命令,然后发送到请求信息处理设备101。
下面参考图33的流程图描述图32的步骤S218中执行的异常发生时处理4。
步骤S231中,温度异常校正控制器252参考温度管理表格233,并确定主处理器42和信息处理控制器111中的哪一个遭受温度异常,换句话说,温度检测器121-9和温度检测器121-10中的哪一个被检测为温度高于预定上限温度。如果在步骤S231中确定主处理器42和信息处理控制器11中的一个导致温度异常,则进入步骤S245的如下所述处理。
如果步骤S231中确定主处理器42和信息处理控制器111都不导致温度异常,换句话说,子处理器43的一个导致温度异常,则步骤S232中温度异常校正控制器252生成图30的子处理器程序传送请求命令。温度异常校正控制器252导致温度测量发送和接收控制器251将生成的命令传送到连接到网络2的所有其他信息处理设备101。温度管理信息发送和接收控制器215通过通信装置16和网络2将子处理器程序传送请求命令传送到连接到网络2的所有信息处理设备101。
步骤S233中,温度管理信息发送和接收控制器262接收图30的子处理器程序传送请求命令并提供接收的子处理器程序传送请求命令到温度异常校正控制器252。
步骤S234中,基于步骤S233中接收的子处理器程序传送请求命令,温度异常校正控制器252确定检测为温度异常的子处理器43的处理是否是可传送的。
如果步骤S234中确定处理是可传送的,则在步骤S235到S238中执行基本上与图23步骤S93到S96相同的处理。具体地说,参考温度管理表格233,选择一个传送目标子处理器43作为来自连接到网络2的信息处理设备101中信息处理控制器111的子处理器43的传送目标,清除检测的温度高于上限的子处理器43所执行的处理的前后关系,中止检测的温度高于上限的子处理器43的操作,并将清除的前后关系恢复到传送目标子处理器43。
在步骤S328之后,处理返回步骤S218并进入到图32的步骤S219。
如果步骤S234中确定处理是不可传送的,则步骤S239到S244执行与图23的步骤S97到S102的步骤相同的处理。具体地说,参考温度管理表格233,选择一个子处理器43作为来自连接到网络2的信息处理设备101中信息处理控制器111的子处理器43中的交换目标,清除检测的温度高于上限的子处理器43执行的处理的前后关系,并中止检测的温度高于上限的子处理器43的操作。
清除由选择作为处理交换目标的子处理器43所执行处理的前后关系,中止选择作为交换目标处理的子处理器43的操作,并且为了恢复交换两个子处理器的前后关系。
在步骤S244之后,处理返回到S218并进入到图32的步骤S219。
如果步骤S231中确定主处理器42和信息处理控制器11中的一个遭受温度异常,则在步骤S245和S246中执行基本上与图16的步骤S53和S54相同的处理。具体地说,控制逻辑线程管理处理器217,使得暂时中止由算术处理器161执行的应用程序。暂时地中止除了其中常驻程序的控制部分之外主处理器42的处理。参考温度管理表格233确定是否恢复正常温度状态。如果确定未恢复正常温度状态,则重复步骤S246的处理直到确定恢复正常温度状态。
如果步骤S246中确定已经恢复正常温度状态,则处理返回步骤S218并然后进入图32的步骤S219。
以这种方法,如果温度异常发生,则传送子处理器程序传送请求命令,并接收应答命令。取决于温度异常的位置、连接到网络2的信息处理控制器111的操作、和处理器的温度测量值,确定是否延缓处理,是否传送分布式处理部分,或是否交换分布式处理部分。还确定传送目标和交换目标中的一个。
根据本发明的第二实施例,连接到网络2的多个信息处理设备101执行参考图29-33所描述的处理,每个信息处理设备101具有分别配置在主处理器42和子处理器43的温度检测器121的信息处理控制器111。使用温度信息的第三模式控制和处理的传送或交换,防止了由于温度造成的装置故障或处理速度的降低,同时使其中间处理的延缓最小化。
信息处理设备281-1可包括如图34所示的多个信息处理控制器111-1到111-p(p为正整数)。在这种情况中,同样,信息处理设备281-1通过总线14传送和接收多个信息单元,正如第二实施例中由通过信息单元16和网络2的多个信息处理控制器111传送和发送多种信息单元。本发明同样适用于这种配置。
信息处理设备281-1中信息处理控制器111-1到111-p中的一个起信息处理设备281-1中主控制器的作用,并且其他信息处理控制器111起从控制器的作用。第二实施例的第一到第三模式的每一个被等同地应用。在任一个信息处理控制器111-1到111-p中确定温度异常。在这种方法中,取决于连接到总线14的信息处理控制器111的操作和处理器的温度测量结果,确定是否延缓处理,是否传送分布式处理的部分,或是否交换分布式处理的部分。从而确定传送目标和交换目标中的一个。
每个具有与信息处理设备281相同结构的信息处理设备281-1和281-2能够连接到网络2。多个信息处理设备101(例如图34所示的信息处理设备101-1和101-2)也能够连接到网络2。在任一个信息处理设备281-1中的信息处理控制器111-1到111-p中确定温度异常,但是传送目标和交换目标都不能存在于连接到总线14的每一个信息处理控制器111。在这种情况中,使用第二实施例的第一到第三模式中的一个。传送目标和交换目标中的一个可以从包括在每个信息处理设备281-2和多个信息处理设备101中的子处理器43中选择。
本发明实施例的信息处理控制器可以包括温度检测器来控制设备在正常操作温度区域内运行。此外,信息处理设备可以监控输入到信息处理控制器的功率并防止由任意单一信息处理控制器消耗过量的功率来避免装置退化。响应于功率消耗的增加,本发明实施例的信息处理控制器允许处理在至少一个信息处理设备中的子处理器之间传送或交换。由此避免装置故障或处理速度降低。
下面参考图35到52描述本发明第三实施例的信息处理设备的信息处理控制器。响应于处理器的功率消耗的增加第三实施例的信息处理控制器执行分布式处理。
图35是信息处理装置301-1的结构图。信息处理设备301-1包括测量由信息处理控制器311消耗的功率的功率测量单元321,和在信息处理控制器311中监控电源19的状态并获得功率测量单元321测量结果的功率管理处理器331。
如图35所示,与参考图1中描述的元件相同的元件被赋于相同的标号,并这里适当地省略对其的讨论。图35的信息处理设备301-1包括代替信息处理控制器11的信息处理控制器311,该信息处理控制器331包括监控电源19状态并获得功率测量单元321测量结果的功率管理处理器331。功率测量单元321以新的方式被配置来测量由单片信息处理控制器311消耗的功率。信息处理设备301-1的其余部分基本上与图1的信息处理设备1相同。
连接到网络2的信息处理设备301-2到301-n在结构上与信息处理设备301-1的相似,并且因此这里省略对其结构的讨论。如果没有必要区别信息处理设备301-1到301-n的任一个,则每个信息处理设备简称为信息处理设备301。
如图36所示,讨论同步整流器类型功率测量单元321。输出电感的直流阻抗Rdc是在设计阶段上确定的有限值。电压测量电路341测量输出电感两端的电压差Vdrop,并且提供给信息处理控制器311的当前值Iout由测量的电压差Vdrop所计算。当前值Iout是由作为电源19负载的信息处理控制器311消耗的当前。相对于从电源电路的输出端看去的负载阻抗,直流阻抗Rdc足够小。消耗的功率由当前消耗的平方乘以负载阻抗所计算。使用电源测量电路341监控输出电感器两端的电压差Vdrop,信息处理控制器311的功率消耗间接地被监测。
图37示出了根据本发明的第三实施例阐明由信息处理控制器311执行的软件程序的结构。响应于功率消耗,信息处理控制器311控制分布式处理分配。在信息处理设备301-1加电之前,软件程序预先记录在连接到信息处理控制器311的记录器13。
如图37所示,与参考图8所描述的元件相同的元件被赋于相同的标号,并且这里省略对其的讨论。根据本发明第三实施例的信息处理控制器311的主存储器12存储的软件程序结构,除了包括作为控制程序的功率测量程序之外,基本上与参图8讨论的软件结构相同。功率管理程序最好为常驻程序,该常驻程序连续地运行,同时信息处理设备301的主电源保持开启。
在功率管理程序控制之下,功率管理处理器331收集关于由信息处理设备301中功率测单元321测量的功率消耗的信息。基于功率信息,信息处理控制器311控制由主处理器42执行的处理,并且按照需要,由子处理器43-1到43-8执行处理的传送或交换。信息处理控制器311通过网络2与其他信息处理设备301交换功率信息,然后控制由主处理器42执行的处理,并按照需要,由子处理器43-1到43-8执行处理的传送或交换。
在下面第三模式中执行连接到网络2的信息处理设备301的功率信息的控制和处理的传送或交换。
在第一模式中,如果信息处理设备301-1识别为主设备,则管理自身功率管理表格以及信息处理设备301-2到信息处理器301-n的功率测量表格。具体地说,作为从设备的每个信息处理设备301-2到信息处理器301-n有规则地传送其中更新的功率管理表格到信息处理设备301-1。作为主设备的信息处理设备301-1监测所有信息处理器301-1到301-n的功率信息,并且如果在任一个信息处理设备301-1到301-n中检测到异常功率消耗,则信息处理设备301-1从连接到网络2的信息处理设备101的全部信息处理控制器311中选择适当的信息处理控制器311作为该处理的传送目标或交换目标。信息处理设备301-1将检测为功率异常的子处理器43的处理传送到选择的信息处理控制器311中的子处理器43或交换两个子处理器43之间的处理。
在第二模式中,信息处理设备301监测自身温度管理表格,并且如果异常功率消耗在功率管理表格中被检测,则信息处理设备301将请求全部其他信息处理设备301传送功率信息的命令传送到全部其他信息处理设备301。具体地说,在接收请求的功率信息传送的命令时,不检测任何异常功率消耗的信息处理设备301生成图39的功率信息应答命令,并传送该命令作为功率信息请求命令的源来应答生成的功率信息到信息处理设备301。
功率信息应答命令包括与AC功率、可再充电的电池功率的功率消耗上限、以及干电池功率的功率消耗上限相关的信息,功率连接信息表示与AC功率、可再充电的电池功率、以及干电池功率的哪个相连,以及当前处理中的功率消耗。功率消耗上限在信息处理设备的设计阶段被确定,并且是低于信息处理设备301 AC功率正常操作的功率消耗的上限。功率消耗上限最好是信息处理器设备301正常和有效地操作的功率消耗上限。对可再充电的电池功率和干电池功率的功率消耗上限同样是成立的。当前连接信息可以在信息处理设备301的设计阶段设置。如果信息处理设备301用多个功率源工作,则功率连接信息可以被修改。当前功率消耗为通过功率测量单元321测量的,并依据操作信息处理设备301的工作状态而改变。
一旦接收到温度信息应答命令,则信息处理设备301从连接到网络2的信息处理设备301的全部信息处理控制器311中选择适当的信息处理控制器311作为该处理的传送目标或交换目标。信息处理设备301执行控制处理来将检测为异常的子处理器43的处理传送到选择的信息处理控制器311中的子处理器43,或交换两个子处理器43之间的处理。
在第三模式中,每个信息处理设备301检测自身功率管理表格,并且如果异常功率消耗在功率管理表格中被检测,则信息处理设备301将请求全部其他信息处理设备301传送子处理器程序的命令传送到全部其他信息处理设备301。具体地说,一旦接收到来自其他信息处理器301的请求子处理器程序传送的命令,未检测任何异常功率消耗的信息处理设备301基于自身功率管理表格生成应答命令,该应答命令表示自身装置是否可以为子处理器程序的传送目标。然后信息处理设备301将应答命令传送到作为请求子处理器程序传送命令源的信息处理设备301。一旦接收到功率信息应答命令,信息处理设备301从连接到网络2的信息处理设备301的全部信息处理控制器311中选择一个信息处理控制器311作为该处理的传送目标或交换目标。信息处理设备301执行控制处理来将检测为异常的子处理器43的处理传送到选择的信息处理控制器311中的子处理器43或交换两个子处理器43之间的处理图38是根据本发明第三实施例在第一模式中执行控制处理的信息处理控制器311的功能结构图。与参考图21所描述的元件相同的元件被赋于相同的标号,并适当的省略对其的讨论。在如图38所示的第三实施例的信息处理控制器311的第一模式中,主处理器42包括替代温度异常校正控制器216、逻辑线程管理处理器217、和温度管理信息发送和接收控制器214的功率异常校正控制器356、逻辑线程管理处理器357、和功率管理信息发送和接收控制器358。主处理器42的其余部分与图21的主处理器42相同。本发明第三实施例使用功率管理处理器331代替图21的温度监测处理器122。功率管理处理器331包括功率信息获得单元351、中断控制器352、定时器353、功率管理表格354、和功率增加检测器355。
功率信息获得单元351获得来自由中断控制器352控制定时的功率测量单元321的功率信息,从而更新功率管理表格354。中断控制器352参考定时器353并定时中断功率信息获得单元351。响应于由功率获得单元355提供的信息,中断控制器352中断算术处理器161和功率异常校正控制器356。
在功率异常校正控制器356的控制之下,功率管理信息发送和接收控制器358通过通信装置16控制将功率管理表格或生成用于功率管理的多种命令(软件单元)传送到连接到网络2的其他信息处理设备301。功率管理信息发送和接收控制器358通过通信装置16控制接收来自连接网络2的其他信息处理设备301的其他信息处理设备101的温度管理表格或生成用于温度测量的多种命令(软件单元)。如果无需区分与连接到网络2的多个信息处理设备301的温度测量相关的信息和与基于温度测量执行的分布式处理的控制相关的信息,则温度管理表格或生成用于功率管理的多种命令(软件单元)共同地参考作为功率管理信息。
功率管理表格354保持用于管理信息处理控制器311的功率消耗的信息。如果自身设备为从设备,则功率管理表格354保持自身功率信息,和如果自身设备为主设备,则功率管理表格354保持连接到网络2的全部信息处理设备301的功率信息。如图40所示,功率信息包括识别每个信息处理控制器311的控制器ID、AC功率的功率消耗上限、可再充电的电池73的功率消耗上限、干电池的功率消耗上限、表示AC功率、可再充电的电池功率,和干电池功率的哪一个被连接的功率连接信息、以及当前处理中消耗的功率。功率消耗上限在信息处理设备的设计阶段被确定并为低于来自AC功率的信息处理设备301通常操作的上限。该功率消耗上限最好是低于信息处理设备301通常地和有效地操作的功耗上限的功率消耗上限。对于可再充电的电池功率和干电池功率73的功率消耗上限同样是成立的。功率连接信息可以在信息处理设备301的设计阶段被设置。如果信息处理设备301由多个功率源工作,则功率连接信息可以被修改。当前功率消耗为通过功率测量单元321测量的一个,并依据操作信息处理设备301的操作状态而改变。
如果自身设备为主设备,则功率增加检测器355参考功率管理表格354。如果在连接到网络2的全部信息处理设备301的功率检测结果中发现预定值之上的功率消耗值,则功率增加检测器355通知中断控制器352该功率消耗异常的检测,从而导致中断控制器352中断算术处理器161和功率异常校正控制器356。
如果自身处设备为主设备,则响应于来自中断控制器352的中断,功率异常校正控制器356参考功率管理表格354。从而,功率异常校正控制器356检测到连接到网络2的信息处理设备301的哪个处于功率消耗异常。基于该检测的结果,功率异常校正控制器356控制逻辑线程管理处理器357,从而中止该处理或将检测为功率异常的信息处理设备301中的子处理器43的处理传送到另外的子处理器43或交换两个子处理器43之间的处理。
逻辑线程管理处理器357生成或删除由算术处理器161执行的应用程序的逻辑线程。如果自身设备为主设备,则逻辑线程管理处理器357监测由连接到网络2的信息处理器设备301的一个执行的分布式处理中逻辑线程的状态并控制分布式处理。如果自身设备为主设备,则逻辑线程管理处理器357生成列出连接到网络2的全部信息处理设备301的管理信息的表格和列出每一执行的逻辑线程基础上所需执行的逻辑线程的信息的表格。从而逻辑线程管理处理器357通过参考和更新表格的信息控制逻辑线程的执行。
如果自身设备为主设备,则按照需要,逻辑线程管理处理器357生成控制由另外的信息处理设备301执行的线程处理的软件单元,并通过通信装置16传送所生成的软件单元。如果自身设备为从设备,则逻辑线程管理处理器357通过通信装置16接收从主信息处理设备301传送的软件单元。逻辑线程管理处理器357使得子处理器43来执行响应于软件单元的分布式处理,生成相应于应答或响应的软件单元,并通过通信装置16传送所生成的软件单元。不管自身设备301是主设备还是从设备,逻辑线程管理处理器357通过通信装置16获得与由另外信息处理设备301已经执行的线程相关的信息。
执行上述功能的硬件可以与图38的上述参考结构不同。例如,通过功率管理处理器331可以实施主处理器42的功能部分,通过主处理器42可以实施功率管理处理器331的功能部分,或通过不同的硬件实施这些功能。即使在这种情况中,本发明也可以完美地应用。
下面参考图41到44的流程图描述本发明的第三实施例的第一模式操作。
下面参考图41的流程图描述由图38的第三实施例的信息处理设备301执行的应用程序执行处理2。功率管理程序为连续执行的常驻程序,同时信息处理设备301的主电源保持开启。
步骤S301中,算术处理器161确定用户是否已经输入命令来执行应用程序。具体地说,步骤S301中,响应于通过总线14和总线41由操作输入单元15提供的信号,主处理器42确定是否已经发出执行应用程序的命令。如果步骤S301中确定未发出执行应用程序的命令,则重复S301的处理,直到确定已经发出执行应用程序的命令。
如果步骤S301中确定已经发出执行应用程序的命令,则算术处理161设置逻辑线程分配到子处理器并在步骤S302中将逻辑线程信息提供到逻辑线程管理处理器357。
步骤S303中,逻辑线程管理处理器357将用于执行分配处理的程序和数据载入到子处理器43的本地存储器51的编码区域187和数据区域188,分配逻辑线程到子处理器43。
步骤S304中,算术处理器161和逻辑线程管理处理器357控制包括子处理器43的处理的应用程序的执行。子处理器43中的算术处理器181执行处理的分配。
功率管理程序为连续操作的常驻程序,同时信息处理设备301的主电源保持开启,并且整个周期执行处理,同时执行步骤S301到S304。下面参考图42的流程图描述主设备的功率信息管理处理,并且下面参考图44的流程图描述从设备的功率信息管理处理。
步骤S305中,算术处理器161确定响应于功率异常发生的中断是否从中断控制器352发出。如果步骤S305中确定响应于功率异常的发生的中断未发出,则处理进入步骤S308。
如果步骤S305中确定响应于功率异常发生的中断发出,则延缓当前处理。步骤S306中,算术处理器161确定中断是否解除。如果步骤S306确定未解除中断,则重复步骤S306的处理,直到确定已经解除中断。
如果步骤S306中确定已经解除中断,则按照需要,算术处理器161提供具有设置逻辑线程信息的逻辑线程管理处理器357。因此,逻辑线程管理处理器357更新与逻辑线程管理相关的表格。
如果步骤S305中确定未发出响应于功率消耗异常发生的中断,则算术处理器161在步骤S307结束之后的步骤S308中确定是否已经完成应用程序处理。如果步骤S308中确定未完成应用程序的处理,则处理返回步骤S304来重复执行步骤S304和之后的步骤。如果步骤S308中确定已经完成应用程序的处理,则处理结束。
选择的子处理器43执行与由主处理器42执行的应用程序相应的分布式处理。
下面参考图42的流程图描述主设备的功率信息管理处理。
步骤S321中,功率信息获得单元351确定定时中断是否已经从中断控制器352中发出。
如果步骤S321中确定没有定时中断被发出,则步骤S322中功率管理信息发送和接收控制器358确定功率管理表格是否已经从连接到网络2的任一信息处理设备301中接收。如果步骤S322中确定没有功率管理表格被接收,则处理返回到步骤S321来重复进行步骤S321和随后的步骤。如果步骤S322中确定功率管理表格已经接收,则处理进入步骤S324。
如果步骤S321中确定已经接收了定时中断,则步骤S323中功率信息获得单元351获得来自每个功率测量单元321的功率测量结果。
如果步骤S322中确定已经接收功率管理表格,或在步骤S323之后,步骤S324中,功率信息获得单元351基于步骤S322中接收的其他信息处理设备301的功率管理表格,或步骤S323中获得自身功率信息更新功率管理表格354。
步骤S325中,功率增加检测器355参考功率管理表格354来确定功率异常是否包括在功率信息中,换句话说,配置在连接到网络2的信息处理设备101中的全部功率测量单元321的任何功率检测结果是否为上述预定功率消耗上限。如果步骤S325中确定没有异常功率值包括在功率信息中,则处理返回到步骤S321以重复执行步骤S321和随后的步骤。
如果步骤S325中确定异常功率值包括在功率信息中,则功率增加检测器355通知中断控制器352的异常功率消耗的检测,从而步骤S326中使得中断控制器352中断算术处理器161和功率异常校正控制器356。中断控制器352中断温度异常校正控制器216和算术处理器161,从而使得算术处理器161中止应用程序的处理并且功率异常校正控制器356开始异常发生时处理5。
下面参考图43讨论步骤S327中执行的异常发生时处理5。
步骤S328中,功率异常校正控制器356根据步骤S327中执行的异常发生时处理5控制逻辑线程管理处理器357,从而按照需要使得逻辑线程管理处理器357更新用于线程管理的表格。
步骤S329中,中断控制器352解除对由算术控制器161控制的应用程序处理的中断,并且处理返回到步骤S321以重复执行步骤S321和随后的步骤。
主信息处理设备301获得基于配置在连接到网络2的每个全部信息处理设备301中的每个功率管理单元321得到的功率信息而更新的功率管理表格,并且管理作为功率管理表格354的表格。从而基于主信息处理设备301中存储的功率管理表格354确定是否执行异常发生时中断处理。
参考图43的流程图描述步骤S327中执行的图42的异常发生时处理5。
步骤S341中,逻辑线程管理处理器357参考功率管理表格354来确定包括在检测为功率异常的信息处理控制器311的全部子处理器43中的处理是否是可传送的。如果步骤S341中确定包括在检测为功率异常的信息处理控制器311的全部子处理器43的处理是不可传送的,则处理进入步骤S346。
如果步骤S341中确定在检测为功率异常的信息处理控制器311的全部子处理器43中的处理是可传送的,则功率异常校正控制器356参考步骤S342的功率管理表格354。步骤S342中,功率异常校正控制器356从连接到网络2的信息处理设备301的信息处理控制器311中选择作为传送目标的信息处理控制器311,并将选择结果通知逻辑线程管理处理器357。具体地说,通过参考功率管理表格354,功率异常校正控制器356选择信息处理控制器311,该信息处理控制器311能够执行子处理器43的处理,子处理器43来自连接到网络2的信息处理设备301中的信息处理控制器311,其处于工作状态并且功率消耗最低。如果满足这些规范的多个信息处理控制器311是可利用的,则功率异常校正控制器356可以选择具有最低处理器ID数的一个另外,在该选择中,功率异常校正控制器356可将以AC功率工作的其他信息处理设备301中的信息处理控制器311的优先权设置得比以可再充电电池或干电池工作的其他信息处理设备301的信息处理控制器311优先权要高。
选择作为传送目标信息处理控制器311中的主处理器42中的逻辑线程管理处理器357确定分配给分布式处理的子处理器43。
步骤S343中,逻辑线程管理处理器357清除消耗功率高于功率消耗上限的信息处理控制器311的处理的前后关系。
如果工作在高于功率消耗上限的的信息处理控制器311是在主设备中,则中断控制器185接收指示清除当前管理的前后关系的中断命令,并中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序(寄存器182,浮点寄存器183,和程序计数器184的值)的前后关系清除到堆栈区域190。如果作为传送目标的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到由逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过堆栈区域190将编码区域187的数据传送到由逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果检测为工作在高于功率消耗上限的的信息处理控制器311是在从设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果作为传送目标的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由起主设备作用的信息处理设备101中的逻辑线程管理处理器357(主处理器42本地存储器51的存储区域部分)管理的信息存储区域。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187至堆栈区域190的数据传送到由起主设备作用的信息处理设备101中的逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S344中,逻辑线程管理处理器357中止检测为工作在高于功率消耗上限的的信息处理控制器311的子处理器43的操作。
步骤S345中,逻辑线程管理处理器357将步骤S343中清除的前后关系恢复到选择作为传送目标子处理器的子处理器43。具体地说,如果传送目标子处理器43为主设备中的一个,则逻辑线程管理处理器357通过总线41将由通过自身管理的信息存储区域中存储的前后关系提供到传送目标子处理器43。如果传送目标子处理器43为从设备中的一个,则逻辑线程管理处理器357通过总线41,总线14,通信装置16和网络2将由自身管理的信息存储区域中存储的前后关系提供到包括在起从设备功能的信息处理设备301中的传送目标子处理器43。选择作为传送目标子处理器的子处理器43存储相应于编码区域187到堆栈区域190的区域中提供的前后关系。处理返回到步骤S327并然后进入图42中所示的步骤S328。
如果步骤S341确定包括在检测为功率消耗异常的信息处理控制器311的全部子处理器43的处理不是可传送的,则步骤S346中功率异常校正控制器356参考功率管理表格354。步骤S346中,功率异常校正控制器356从连接到网络2的信息处理设备301的信息处理控制器311的子处理器43中选择信息处理控制器311中的子处理器43作为交换目标,并通知逻辑线程管理处理器357选择的结果。具体地说,功率异常校正控制器356从连接到网络2的信息处理设备301的信息处理控制器311之中优先权选择以最低功率消耗工作的处理控制器311作为交换目标信息处理控制器311。另外,在该选择中,功率异常校正控制器356可将以AC功率工作的其他信息处理设备301中的信息处理控制器311的优先权设置得比以可再充电电池或干电池工作的其他信息处理设备301的信息处理控制器311优先权要高。如果多个信息处理控制器311符合这些规范,则功率异常校正控制器356选择具有最小处理器ID数的信息处理控制器311作为交换目标。
如果预先给不具有分布式处理分配的子处理器43的本地存储器51中任一个提供处理所需的通用程序和模式数据,则具有子处理器43的本地存储器51的信息处理控制器311可以优先权被选择,该从处理器43具有存储其中的通常使用的程序和模式数据。
选择作为交换目标信息处理控制器311的主处理器42的逻辑线程管理处理器357确定哪个子处理器43分配分布式处理。
步骤S347中,逻辑线程管理处理器357清除由检测为工作在高于功率消耗上限功率的信息处理设备301中子处理器43所执行的处理的前后关系。
如果检测为工作在高于功率消耗上限功率的信息处理设备301是在主设备中,则响应于指示清除当前处理的前后关系的中断命令,中断控制器185中止算术处理器181的处理。线程传送和交换处理器186将当前运行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换目标中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到由逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预先存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187至堆栈区域190的数据传送到由逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域部分)。
如果检测为工作在高于功率消耗上限功率的信息处理设备301是在从设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令,中止算术处理器181的处理。线程传送和交换处理器186将当前运行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换目标中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由起主设备作用的信息处理设备101中的逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预先存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187至堆栈区域190数据到传送由作为起主设备的作用的信息处理设备301中逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域部分)。
步骤S348中,逻辑线程管理处理器357中止检测为功率消耗异常的信息处理控制器311的子处理器43的操作。
步骤S349中,逻辑线程管理处理器357清除由选择作为交换目标的信息处理控制器311中的子处理器43执行的处理的前后关系。
如果选择作为交换目标信息处理控制器311是在主设备中,则中断控制器185响应于中断命令延缓算术处理器181的处理以清除当前处理的前后文本。线程传送和交换处理器186将当前执行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换源中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到由逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预先存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187至堆栈区域190的数据传送到由逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域部分)。
如果检测为高于上限温度的信息处理控制器311是在从设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令,中止的算术处理器181的处理。线程传送和交换处理器186将当前运行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换源中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的内容传送到由起主设备作用的信息处理设备301中的逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预先存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187至堆栈区域190的数据传送到由作为起主设备的作用的信息处理设备301中的逻辑线程管理处理器357管理的信息存储区域(主处理器42的本地存储器51的存储区域部分)。
步骤S350中,逻辑线程管理处理器357中止选择作为交换目标的信息处理控制器311中的子处理器43的操作。
步骤S351中,逻辑线程管理处理器357交换信息处理控制器311的被清除前后关系的子处理器43之间的前后关系以恢复这里的前后关系。具体地说,逻辑线程管理处理器357将步骤S347清除的前后关系恢复到选择作为处理的交换目标的信息处理控制器311的子处理器43,同时将步骤S349中清除的前后关系恢复到检测为消耗功能高于消耗功率上限的信息处理控制器311的子处理器43。如果检测为消耗功率高于功率消耗上限的的信息处理控制器311或交换目标信息处理控制器311是主设备中的一个,则逻辑线程管理处理器357通过总线41将存储在由本身管理的信息存储区域中的相应的前后关系提供给在交换目标中的交换目标子处理器43。如果检测为消耗功率高于功率消耗上限的的信息处理控制器311或交换目标信息处理控制器311是从设备中的一个,则逻辑线程管理处理器357通过总线41,总线14,通信装置16和网络2将存储在由自身管理的信息存储区域中的相应的前后关系提供到包括在作为从设备操作的信息处理设备301中的作为交换目标信息处理控制器311中的子处理器43。两个信息处理控制器311中的每个子处理器43存储在相应于编码区域187到堆栈区域190的区域中提供的前后关系。处理返回步骤S327并然后进入图42的步骤S328。
在这个方法中,取决于功率消耗异常的位置、连接到网络2的信息处理设备301中信息处理控制器311的操作、和处理的功率测量值,确定是否延缓处理、是否传送分布式处理的部分、或是否交换分布式处理的部分。
下面参考图44的流程图描述与参考图42讨论的主设备的功率信息管理处理同时执行的从设备的功率信息管理处理。
步骤S381中,起从设备功能的信息处理设备301中的功率信息获得单元351确定定时中断是否已经从中断控制器352中输入。如果步骤S381中确定没有定时中断输入,则步骤S381的处理重复执行直到确定定时中断已经输入。
如果步骤S381中确定定时中断已经输入,则步骤S382中功率信息获得单元351获得来自每个功率测量单元321的功率信息。
步骤S383中,功率信息获得单元351基于步骤S382获得的功率信息更新功率管理表格354。
步骤S384中,功率管理信息发送和接收控制器358通过通信装置16和网络2将步骤S383中更新的功率管理表格354传送到起主设备作用的信息处理设备301。处理返回步骤S381以重复执行步骤S381和后面的步骤。
从设备的功率管理表格被传送到主设备。从设备传送的的功率管理表格由主设备管理。
根据本发明的第三实施例,连接到网络2的多个信息处理设备301执行参考图41-44讨论的处理,并且每个信息处理设备301具有分配来测量信息处理控制器311的功率消耗的功率测量单元321。使用温度信息的第一模式控制器和传送或交换处理,防止由于加热导致装置故障或处理速度变低,同时其中间的处理延缓最小化。
图45是根据本发明的第三实施例阐明执行第二模式控制的信息处理控制器311的功能结构图。与图38讨论的元件相同的元件赋于相同的标号,并且适当省略对其的讨论。在根据本发明的第三实施例执行控制的图45的信息处理控制器311中,存储器371、功率管理信息发送和接收控制器372、和功率异常校正控制器374用于分别地替换存储器213、功率管理信息发送和接收控制器358、和功率异常校正控制器356。主处理器42的部分与图38的主处理器42相同。功率管理处理器331使用功率管理表格373替换功率管理表格354。功率管理处理器331的其余部分与图38的功率管理处理器331相同。
执行上述功能的硬件与图41的上述提及的结构可以是不同的。例如,主处理器42的部分功能可以通过功率管理处理器331实施,功率管理处理器331的部分功能可以通过主处理器42来执行,或者这些功能可以由不同的硬件来执行。即使在这个情况中,本发明也可完美地应用。
存储器371对应于至少部分主存储器12的存储区域,存储连接到网络2的信息处理设备301的至少部分装置信息,同时暂时存储由功率管理信息发送和接收控制器372接收的另一个信息处理设备301的功率管理表格。在功率异常校正控制器374的控制之下,功率管理信息发送和接收控制器372通过通信装置16控制将功率管理信息或用于功率管理的多种命令(软件单元)传送到连接到网络2的其他信息处理设备301。功率管理信息发送和接收控制器372也通过通信装置16控制接收来自连接到网络2的其他信息处理设备301的功率管理信息或用于功率管理的多种命令(软件单元)。
如果功率增加检测器355检测到由自身功率信息获得单元351获得的信息中出现功率异常,则中断控制器352的中断处理之后,功率异常校正控制器374生成请求连接到网络2的全部其他信息处理设备301传送功率管理信息的命令。功率异常校正控制器374控制功率管理信息发送和接收控制器372传送生成的命令。如果功率管理信息发送和接收控制器372接收来自连接到网络2的另外信息处理设备301的请求功率管理信息传送的命令,则功率异常校正控制器374基于保持在功率管理表格373中信息生成图39的功率信息应答命令,并控制功率管理信息发送和接收控制器372来传送生成的功率信息应答命令。
不管自身设备是主设备还是从设备,功率管理表格373基于由自身功率信息获得单元351获得的信息存储更新的自身温度管理表格信息。
下面参考图46和47的流程图描述第三实施例的第二模式操作。根据第三实施例,第二模式中的应用程序执行处理基本上与参考图41讨论的第一模式中的应用程序执行处理相同,并这里省略对其的讨论。
下面参考图46的流程图描述功率信息管理处理2。
步骤S401中,中断控制器352确定定时中断是否已经由中断控制器352输入。如果步骤S401中确定定时中断未被接收,则重复执行步骤S401中的步骤,直到确定定时中断已经输入。
如果步骤S401中确定定时中断已经输入,则在步骤S402和S404中执行基本上与图42的步骤S323到S325中相同的执行步骤。具体地说,如果确定定时中断已经输入,则功率信息获得单元351获得来自功率测量单元321的每一个的功率信息,并更新功率管理表格373。功率增加检测器355参考功率管理表格373来确定异常值是否包括在功率信息中。
如果步骤S404中确定异常值包括在功率信息中,则在步骤S405中功率异常校正控制器374确定功率管理信息发送和接收控制器372是否已经接收到来自连接到网络2的其他信息处理设备301的请求功率管理信息的发送的命令。如果步骤S405中确定功率管理信息发送和接收控制器372未接收到来自连接到网络2的其他信息处理设备301的请求功率管理信息的发送的命令,则处理返回到步骤S401来重复执行步骤S401和后面的步骤。
如果步骤S405中确定已经从其他信息处理设备301接收请求功率管理信息的发送的命令,则功率异常校正控制器374基于步骤S406中功率管理表格373中存储的功率管理表格信息生成图39的功率信息应答命令。功率异常校正控制器374控制功率管理信息发送和接收控制器372来传送生成的功率信息应答命令。处理返回到步骤S401以重复执行步骤S401和后面的步骤。
如果步骤S404中确定异常值包括在功率信息中,则功率增加检测器355通知中断控制器352异常功率消耗增加的检测,从而步骤S407中使得中断控制器352中断算术处理器161和功率异常校正控制器374。中断控制器352中断算术处理器161和功率异常校正控制器374,从而中止算术处理器161控制的应用程序的处理并使得功率异常校正控制器374开启异常发生时处理6。
下面参考图47讨论在步骤S408中执行的异常发生时处理6。
步骤S409中,功率异常校正控制器374基于步骤S408执行的异常发生时处理6控制逻辑线程管理处理器357,从而按照需要更新逻辑线程管理的表格。
步骤S410中,中断控制器352解除对由算术处理器161控制的应用程序处理的中断,并且处理返回到步骤S401以重复执行步骤S401和后面的步骤。
不管连接到网络2的每个信息处理设备301是主设备还是从设备,基于由自身功率管理单元321检测的功率信息更新基于功率管理表格检测的自身设备的功率消耗异常。在异常情况中,执行中断处理以及下面讨论的异常发生时处理6。如果从连接到网络2的其他信息处理设备301中接收传送功率信息的请求,则生成图39的功率信息应答命令,并然后传送到请求信息处理设备301。
下面参考图47的流程图描述图46的步骤S408中执行的异常发生时处理6。
步骤S431中,功率异常校正控制器374生成请求连接到网络2的全部其他信息处理设备301传送功率管理信息的命令,并控制功率管理信息发送和接收控制器372来传送生成的命令。功率管理信息发送和接收控制器372通过通信装置16和网络2将请求传送功率管理信息的命令传送到连接到网络2的全部其他信息处理设备301。
步骤S432中,功率管理信息发送和接收控制器372接收图39的功率信息应答命令并提供具有接收命令的功率异常校正控制器374。
步骤S433中,基于从连接到网络2的全部其他信息处理设备301传送的功率信息应答命令,功率异常校正控制器374确定检测为功率消耗异常的信息处理设备301的处理是否是可传送的。
如果步骤S433中确定该处理为可传送的,则在步骤S434到S437中执行基本上与图43的步骤S342到S345中执行的处理相同的处理。具体地说,功率管理表格373被参考,从连接到网络2的信息处理设备301中信息处理控制器311之中选择信息处理控制器311作为传送目标,清除由检测为消耗功率高于功率消耗上限的功率的信息处理控制器311的子处理器43执行的处理的前后关系,中止检测为消耗功率高于功率消耗上限的信息处理控制器311的子处理器43的操作,并且将清除的前后关系恢复到作为传送目标的信息处理控制器311的子处理器43。
步骤S437之后,处理返回到步骤S408并且进入图46的步骤S409。
如果步骤S433确定处理是不可传送的,在步骤S438到S443中执行基本上与图43的步骤S346到S351中执行的处理相同的处理。具体地说,功率管理表格373被参考,被从连接到网络2的信息处理设备301中的信息处理控制器311之中选择信息处理控制器311作为交换目标,清除由检测为消耗功率高于功率消耗上限的信息处理控制器311执行的处理的前后关系,并且中止检测为消耗功率高于功率消耗上限的信息处理控制器311的子处理器43的操作。
清除由选择作为处理的交换目标的信息处理控制器311的子处理器43执行的处理的前后关系,中止选择作为处理的交换目标信息处理控制器311的子处理器43的操作,并且为了恢复而交换两个信息处理控制器311的子处理器43的前后关系。
步骤S443之后,处理返回步骤S408并且进入图46的步骤S409。
如果功率异常发生在一个信息处理控制器311中,则获得与连接到网络2的信息处理控制器311的操作相关的信息和信息处理控制器311中处理器的功率消耗。基于获得的信息确定是否延缓该处理,是否传送分布式处理的部分,或是否交换分布式处理的部分。还确定传送目标和交换目标中的一个。
根据本发明的第三实施例,连接到网络2的多个信息处理设备401执行参考图45-47所讨论的处理,该多个信息处理设备401的每一个具有包括功率测量单元312的信息处理控制器311。使用功率信息的第二模式控制和处理的传送或交换,防止了由于热量导致的装置故障或处理速度变低。
图48是根据本发明的第三实施例阐明在第三模式中执行控制的信息处理控制器311的功能结构图。与参考图38讨论的元件相同的元件被赋于相同的标号,并且适当的省略对其的讨论。在根据本发明的第三实施例执行第三模式控制的图48的信息处理控制器311中,功率管理信息发送和接收控制器391和功率异常校正控制器392被用于分别代替功率管理信息发送和接收控制器358和功率异常校正控制器356。主处理器42的其余部分与图38的主处理器42相同。功率管理处理器331使用参考图45讨论的功率管理表格373代替功率管理表格354。功率管理处理器331的其余部分与图38的功率管理处理器331相同。
执行上述功率的硬件可以不同于图48的上述参考结构。例如,主处理器42的部分功能可以由功率管理处理器331来执行,功率管理处理器331的部分功能可以由主处理器42来执行,或这些功能可以由不同的硬件来执行。即使在这个情况中,本发明也可完美地应用。
在功率异常校正控制器392的控制之下,功率管理信息发送和接收控制器391通过通信装置16控制将功率管理信息或用于功率管理生成的多种命令(软件单元)发送到连接到网络2的其他信息处理设备301。功率管理信息发送和接收控制器391还通过通信装置16控制从连接到网络2的其他信息处理设备301接收用于功率管理的功率管理信息或多种命令(软件单元)。
如果功率增加检测器355检测到由自身功率信息获得单元351获得的信息中的功率异常的发生,则中断控制器352执行中断处理。功率异常校正控制器392生成请求连接到网络2的全部其他信息处理设备101发送或交换自身子处理器43的当前逻辑线程处理的子处理器程序发送命令。功率异常校正控制器392还控制功率管理信息发送和接收控制器391来发送生成的该命令。当功率管理信息发送和接收控制器391从连接到网络2的其他信息处理设备301接收子处理器程序传送请求命令时,功率异常校正控制器392生成基于功率管理表格373中存储的功率管理表格信息的子处理器程序传送应答命令。功率异常校正控制器392控制功率管理信息发送和接收控制器391来传送生成的子处理器程序发送应答命令。
子处理器程序发送请求命令包括通过检测为功率异常的子处理器43执行的处理(线程)的子处理器使用率的信息,和子处理器43的本地存储容量。
子处理器程序传送应答命令包括与是否接收子处理器程序的传送请求(传送OK,交换OK,或传送/交换不允许)的相关的信息,和如果对应的子处理器接收子处理器程序传送请求的子处理器ID。基于包括在子处理器传送应答命令执行处理(线程)中的信息,即,检测为功率异常的子处理器的子处理器的使用率和子处理器的本地存储容量,以及功率管理表格373中存储的功率管理表格,功率异常校正控制器392确定是否接收子处理器程序传送请求,是否接收子处理器程序交换请求,或是否拒绝两个请求。
不管自身处理器是主设还是从设备,功率管理表格373保持基于由自身功率信息获得单元351获得的信息更新的自身功率管理表格信息。
下面参考图49和50描述第三实施例的第三模式的操作。根据本发明的第三实施例,第三实施例的应用程序执行处理基本上与参考图41讨论的第一模式的应用程序执行处理相同,并这里省略对其的讨论。
下面参考图49描述功率信息管理处理3。
在图46的步骤S461到S464执行与图46的步骤S401到S404中执行的处理基本相同的处理。具体地说,如果确定已经接收定时中断,则功率信息获得单元351获得来自每个功率测量单元321的功率信息,并更新功率管理表格373。功率增加检测器355参考功率管理表格373来确定异常值是否包括在功率信息中。
如果步骤S464中确定没有异常值包括在功率信息中,则在步骤S465中功率异常校正控制器392确定功率管理信息发送和接收控制器391是否接收到来自连接到网络2的另外信息处理设备301的子处理器程序传送请求命令。如果步骤S465中确定功率管理信息发送和接收控制器391未接收到来自其他信息处理设备301的子处理器程序传送请求命令,则处理返回到步骤S461以重复执行步骤S461和后面的步骤。
如果步骤S465中确定来自其他信息处理控制器301的子处理器程序传送请求已经被接收,则功率异常校正控制器392确定是否接收子处理器程序传送请求。基于检测为功率异常的子处理器和执行其处理(线程)的子处理器使用率、检测为功率异常的子处理器的本地存储容量的信息、在子处理器程序传送请求命令中的描述、和与功率管理表格373中存储的自身设备的子处理器43-1到子处理器43-8的操作状态相关的信息执行这个确定。功率异常校正控制器392生成功率信息应答命令,并控制功率管理信息发送和接收控制器391来传送生成的功率信息应答命令。处理返回到步骤S461以重复步骤S461和随后的步骤。
如果步骤S464中确定异常值包括在功率信息中,则步骤S467中功率增加检测器355通知中断控制器352异常功率消耗增加的检测,从而使得中断控制器352中断算术处理器161和功率异常校正控制器392。中断控制器352中断算术处理器161和功率异常校正控制器392,从而中止由算术处理器161控制的应用程序的处理并使得功率异常校正控制器392开启异常发生时处理7。
步骤S468中执行下面参考图50讨论的异常发生时处理7。
步骤S469中,中断控制器352基于步骤S368中执行的异常发生时处理7控制逻辑线程管理处理器357,从而按照需要更新逻辑线程管理的表格。
步骤S470中,中断控制器352解除对由算术处理器161控制的应用程序的处理的中断,并且处理返回步骤S461以重复步骤S461和后面的步骤。
不管连接到网络2的每个信息处理设备301是主设备还是从设备,则基于功率管理的更新检测自身设备的功率异常,该功率管理的更新是基于由功率测量单元321检测的功率信息。在异常的情况中,执行中断处理并且执行下面讨论的异常发生时处理7。如果子处理器程序传送请求命令从连接到网络2的其他信息处理设备301所接收,则生成子处理器程序传送应答命令,并然后传送到请求信息处理设备301。
下面参考图50的流程图描述图49的步骤S468中执行的异常发生时处理7。
步骤S481中,功率异常校正控制器392参考功率管理表格373来生成子处理器程序传送请求命令。功率异常校正控制器392控制功率管理信息发送和接收控制器391将生成的命令发送到连接到网络2的全部其他信息处理设备301。功率管理信息发送和接收控制器391通过通信装置16和网络2将生成的命令传送到连接到网络2的全部其他信息处理设备301。
步骤S482中,功率管理信息发送和接收控制器391接收子处理器程序传送应答命令并提供具有子处理器程序传送应答命令的功率异常校正控制器392。
步骤S483中,基于步骤S482中接收的子处理器程序传送应答命令,功率异常校正控制器392确定检测为功率异常的子处理器43的处理是否为可移动的。
如果步骤S483中确定该处理是可移动的,则在步骤S484到S487中执行基本上与图47的步骤S434到S437中执行的处理相同的处理。具体地说,功率管理表格373被参考,从连接到网络2的信息处理设备301中的信息处理控制器111之中选择信息处理控制器311作为传送目标,清除由检测为消耗功率高于功率消耗上限的信息处理控制器311的子处理器43执行的处理的前后关系,中止检测为消耗功率高于功率消耗上限的信息处理控制器311的子处理器43的操作,并且将清除的前后关系恢复到作为传送目标信息处理控制器311的目标子处理器43。
跟随步骤S487之后,处理返回步骤S468并且进入图49的步骤S469。
如果步骤S483确定处理是不可传送的,则在步骤S488到S493中执行基本上与图47的步骤S438到S443中执行的处理相同的处理。具体地说,功率管理表格373被参考,从连接到网络2的信息处理设备301中信息处理控制器311之中选择信息处理控制器311作为交换目标,清除由检测为消耗功率高于功率消耗上限的信息处理控制器311执行的处理的前后关系,并且中止检测为消耗功率高于功率消耗上限的信息处理控制器311的子处理器43的操作。
清除由选择作为交换目标的信息处理控制器311的子处理器43执行的处理的前后关系,中止选择作为交换目标的信息处理控制器311的子处理器43的操作,并为了恢复交换两个子处理器43的前后关系。
步骤S493之后,处理返回步骤S468并且进入图49的步骤S469。
在这个方法中,如果信息处理控制器311被检测为功率异常,则子处理器程序传送请求命令被传送,并接收应答命令。基于应答命令,传送目标或交换目标处理被选择。
根据本发明的第三实施例,连接到网络2的多个信息处理设备301执行参考图48-50讨论的处理,该多个信息处理设备301的每一个具有包含功率测量单元321的信息处理控制器311。使用温度信息的第三模式控制器和传送或交换的处理,防止了由于热量导致的装置故障或处理速度的降低,同时其中间处理的延缓被最小化。
信息处理设备395通过总线14传送和接收多片信息,该信息处理设备395包括图51所示的多个信息处理控制器311-1到311-p(p为正整数),在第二实施例中,多片信息由多个信息处理控制器111通过通信装置16和网络2传送和接收。本发明也可应用于这种配置。
信息处理设备395中信息处理控制器311-1到311-p中的一个起信息处理设备395中主处理器的功能,并且其他信息处理控制器311起从控制器的功能。第三实施例的第一到第三模式中的每一个可等同应用。在信息处理控制器311-1到311-p中的任一个中检测功率异常。在这种方法中,取决于连接到总线14的信息处理控制器311的操作和处理器的温度测量结果,确定是否延缓处理,是否传送分布式处理的部分,或是否交换分布式处理的部分。从而选择传送目标和交换目标中的一个。
信息处理设备395-1和395-2能够连接到如图52所示的网络2,该信息处理设备395-1到395-2的每一个具有与参考图51讨论的信息处理设备395相同的结构。多个信息处理设备301(例如如图52所示的信息处理设备301-1到301-2)也能够连接到网络2。可以在信息处理设备395-1中的任一个信息处理控制器311-1到311-p中检测功率异常,并且在连接到总线14的每个信息处理控制器311中可以发现既不是传送目标也不是交换目标。在这个情况中,使用第三实施例的第一到第三模式中的一个。传送目标或交换目标可以从包括在多个信息处理设备301中的信息处理控制器311和信息处理设备395-2中选择,每个设备通过网络2连接。如果其他情况相同,以AC功率工作的其他信息处理设备395-2或其他信息处理设备301的选择的传送目标或交换目标的优先权可以被置于比以可再充电的电池功率或干电池功率的工作的选择的传送目标或交换目标的优先权要高。
本发明一个实施例的信息处理控制器能够作为包括多个子处理器的单片集成电路而实施。利用温度传感器的温度检测器能够被配置在每个主处理器和子处理器上。利用温度检测器,控制主处理器和子处理器在正常操作的温度区域之内工作。由信息处理控制器消耗的功率也被监测,使得单一信息处理控制器可以不消耗功率的额外量。使用这种分配,装置的退化被控制,并且提供高可靠性信息处理控制器和信息处理设备。根据本发明的一个实施例的信息处理控制器中,响应于温度增加或功率消耗增长,传送或交换至少一个信息处理设备的子处理器之间的处理。从而防止了由于热量导致的装置故障和处理速度降低。
下面参考图53到60描述本发明的一个实施例的信息处理设备的信息处理控制器。响应于处理器温度增加和功率消耗的增长,实施例的信息处理控制器执行分布式处理。
图53是信息处理设备401-1的结构图。信息处理设备401-1包括测量子处理器43-1到43-m温度的温度检测器121-1到121-m和测量由信息处理控制器411消耗功率的功率测量单元321。信息处理控制器411监测电源19的状态。信息处理控制器411包括温度和功率测量处理器421。
如图53所示,与参考图1描述的元件相同的元件被赋于相同的标号,并且这里适当的省略对其的讨论。图53的信息处理设备401-1包括代替图1的信息处理控制器11的信息处理控制器411。信息处理控制器411包括测量子处理器43-1到43-m温度的温度检测器121-1到121-m、测量主处理器42的温度的温度检测器121-(m+1)、和监测电源19的状态和获得功率测量单元321的测量结果的温度和功率管理处理器421。功率测量单元321测量由单片信息处理控制器411消耗的功率。信息处理控制器411的其余部分与参考图1讨论的信息处理设备1保持不变。
连接到网络2的信息处理设备401-2到401-n与信息处理设备401-1的结构相似,并且从而这里省略对其结构的讨论。如果无需区分信息处理设备401-1到401-n中每一个,则每个信息处理设备简单的称之为401。
图54阐明由信息处理控制器411执行的软件程序的结构。响应于温度增加和/或功率消耗的增加,信息处理控制器411控制分布式处理配置。在信息处理设备401加电之前,软件程序被存储在连接到信息处理控制器411的记录器13中。
如图54所示,与参考图8描述的元件相同的元件被赋于相同的标号,并且这里适当的省略对其的讨论。根据本发明的实施例存储在信息处理控制器411的主存储器12中的软件程序的结构,除了包括的作为控制程序的温度和功率管理程序之外,基本上与参考图8讨论的软件结构相同。温度和功率管理程序最好为为连续操作的常驻程序,同时信息处理设备401的主电源保持开启。
在温度和功率管理程序控制之下,信息处理控制器411聚集与由温度检测器121-1到121-(m+2)测量的温度相关的信息,和与由功率测量单元321测量的功率相关的信息。基于温度信息和功率信息,信息处理器411控制主处理器42的处理,并且按照需要,传送或交换子处理器43-1到43-m的处理。信息处理控制器411通过网络2和其他信息处理设备401交换温度和功率信息,并然后控制由主处理器42执行的处理,并且按照需要由子处理器43-1到43-m执行该处理的传送或交换。
在下面的三个模式中执行温度信息和功率信息的控制和连接到网络2的信息处理设备401的传送或交换。
在第一模式中,如果确定作为主设备,则信息处理设备401-1管理自身温度和功率管理表格,而信息处理设备401-2到信息处理设备401-n的温度和功率管理表格作为从设备。具体地说,作为从设备,每个信息处理设备401-2到信息处理设备401-n有规则地将其更新的温度和功率管理表格传送到信息处理设备401-1。作为主设备的信息处理设备401-1监测全部信息处理设备401-1到401-n的温度和功率信息,并且如果在任一个信息处理设备401-1到401-n中检测到异常温度增加或异常功率消耗,则信息处理设备401-1从包括在连接到网络2的信息处理设备401的信息处理控制器411中的全部子处理器43之中选择适当的子处理器43作为该处理的传送目标或交换目标。信息处理设备401-1执行控制处理以将检测为异常的子处理器43的处理传送到选择的子处理器43或交换两个子处理器43之间的处理。
在第二模式中,信息处理设备401监测自身温度管理表格,并且如果功率管理表格中检测为异常功率消耗,则信息处理设备401将请求全部其他信息处理设备401的命令传送到全部其他信息处理设备401以传送温度和功率信息。具体地说,一旦接收到请求温度和功率信息传送的命令,则检测异常温度增加或异常功率消耗的信息处理设备401生成功率信息应答命令,并将应答该生成的温度和功率信息的命令传送到作为功率信息请求命令源的信息处理设备401。
温度和功率信息应答命令包括与散热片141,主处理器42,和子处理器43-1到43-8的更新温度检测结果相关的信息(温度检测器121-1到121-10的更新的温度检测结果),散热片141,主处理器42和子处理器43-1到43-8的设置上限温度的相关的信息(即,如果由每个温度检测器121-1到121-10检测的温度变得高于上限温度,则温度异常被确定发生),子处理器43-1到43-8的操作状态,芯片中子处理器的设计信息的相关的信息,与AC功率的功率消耗上限,可再充电电池功率的功率消耗上限,和干电池功率的功率消耗上限相关的信息,表示其中AC功率,可再充电电池功率,和干电池功率被连接的连接信息的功率,和当前处理中功率消耗。
一旦接收温度和功率信息应答命令,则信息处理设备401从包括在连接网络2的信息处理设备401的信息处理控制器111中的全部子处理器43之中选择适当的子处理器43作为该处理的传送目标或交换目标。信息处理设备401执行控制处理以将检测为异常的子处理器43的处理传送到选择的子处理器43或交换两个子处理器43之间的处理。
第三模式中,每个信息处理设备401监测自身功率管理表格,并且如果在温度和功率管理表格中检测到异常温度增加或异常功率消耗,则信息处理设备401将请求全部其他信息处理设备401来传送子处理器程序的命令传送到全部其他信息处理设备401。具体地说,一旦接收到请求来自其他信息处理设备401的传送子处理器的程序的命令,则基于自身温度和功率管理表格,检测异常温度增加或异常功率消耗的信息处理设备401生成表示自身设备是否能够为子处理器程序的传送目标或交换目标的应答命令。然后信息处理设备401将应答命令传送到作为请求传送子处理器程序的命令源的信息处理设备401。一旦接收到温度和功率信息应答命令,则信息处理设备401从包括在连接到网络2的信息处理设备401的信息处理控制器411的全部子处理器43中选择适当的子处理器43作为传送目标或交换目标。信息处理设备401执行控制处理以将检测为异常的子处理器43的处理传送到选择的子处理器43或交换两个子处理器43之间的处理。
具体地说,如果温度增加发生在三个控制模式中,则包括在自身设备中的子处理器43能够被选择作为具有优先权的该处理的传送目标或交换目标。
图55是根据本发明的一个实施例在第一模式中执行控制处理的信息处理控制器411的功能框图。响应于温度增加或功率消耗的增加,信息处理控制器411控制分布式处理。与参考图21描述的元件相同的元件被赋于相同的标号,并且这里适当的省略对其的讨论。在如图55所示的信息处理控制器411的第一模式中,主处理器42包括异常校正控制器455,逻辑线程管理处理器457,以及温度和功率管理信息发送和接收控制器456替换温度异常校正控制器216,逻辑线程管理处理器217,和温度管理信息发送和接收控制器214。信息处理控制器42的其余部分与图21的主处理器42保持不变。替换图21的温度监测处理器122的温度和功率管理处理器421包括温度和功率信息获得单元451,中断控制器165,定时器166,温度和功率管理表格452,和异常检测器453。
温度和功率信息获得单元451获得来自由中断控制器165控制的定时的温度检测器121和功率测量单元321的温度信息和功率信息,从而更新温度和功率管理表格452。中断控制器165参考定时器166并定时中断温度和功率信息获得单元451。响应于由异常检测器453提供的信息,中断控制器165中断算术处理器161和异常校正控制器455。
在异常校正控制器455的控制之下,温度和功率管理信息发送和接收控制器456通过通信装置16控制将温度和功率管理表格或生成用于温度和功率管理的多种命令(软件单元)传送到连接到网络2的其他信息处理设备401。温度和功率管理信息发送和接收控制器456通过通信装置16控制接收来自连接到网络2的其他信息处理设备401的其他信息处理设备401的温度和功率管理表格或生成用于功率和温度测量的多种命令(软件单元)。如果不需要用于区别与连接到网络2的多个信息处理设备401的温度和功率管理相关的信息和与基于温度和功率管理执行的分布式处理的控制相关的信息,则温度和功率管理表格或生成用于温度和功率管理的多种命令(软件单元)共同的称为温度和功率管理信息。
温度和功率管理表格452保持用于管理温度和功率消耗的信息处理控制器411的信息。如果自身设备为从设备,则温度和功率管理表格452保持自身温度的功率信息,并且如果自身设备为主设备,则温度和功率管理表格452保持连接到网络2的全部信息处理设备401的温度和功率信息。如之前参考图13讨论的,温度信息包括识别信息处理控制器411的控制器ID,每个子处理器43-1到43-8的操作状态的信息,与散热片141,主处理器42,和子处理器43-1到43-8的更新温度检测结果(温度检测器121-1到121-10的更新的温度检测结果),散热片141,主处理器42,和子处理器43-1到43-8的设置上限温度(即,如果由每个温度检测器121-1到121-10检测的温度变得高于各自的上限温度,则温度异常被确定发生),和芯片中子处理器的设计信息相关的信息。如之前参考图40所讨论的,功率信息包括信息处理控制器411的控制器ID,和与AC功率的功率消耗上限,可再充电电池功率的功率消耗上限,和干电池功率的功率消耗上限相关的信息,表示其中AC功率,可再充电电池功率,和干电池功率被连接的连接信息的功率,和当前处理中功率消耗。
上限温度为在信息处理控制器411和信息处理设备401的设计阶段的具体值,并且为在保证信息处理控制器411和信息处理设备401的正常操作之内的获得的温度范围的上限温度。该上限温度最好是低于执行信息处理控制器411和信息处理设备401的正常和有效操作的上限温度的一温度。子处理器43-1到子处理器43-8的操作状态的信息表示关于设备是否是激活或不激活的运行状态或中止状态。子处理器设计信息表示在信息处理控制器411和信息处理设备401的设计阶段中预先设置的子处理器43-1到子处理器43-8的设计。
功率消耗上限在信息处理设备的设计阶段被确定,并且为低于信息处理设备401AC功率时正常操作的上限。AC功率消耗的上限最好低于信息处理设备401正常和有效操作的功率消耗上限。对可再充电电池功率73和干电池功率的功率消耗上限来说是相同的。功率连接信息可以在信息处理设备401的设计阶段设置。如果信息处理设备401由多个电源工作,则可以修改功率连接信息。当前功率消耗为由功率测量单元321测量的一个,并且取决于信息处理设备401的操作状态而改变。
如果自身设备为主设备,则异常检测器453参考温度和功率测量表格452。如果在连接到网络2的全部信息处理设备401的功率检测结果中发现功率消耗值高于预定上限,则异常检测器453通知中断控制器165温度异常或功率消耗异常的检测,从而使得中断控制器165中断算术处理器161和异常校正控制器455。
如果自身设备为主设备,则响应于来自中断控制器165的中断,异常校正控制器455参考温度和功率管理表格452。从而异常校正控制器455检测连接到网络2的信息处理设备401中的哪一个处于温度异常或功率消耗异常。基于检测结果,异常校正控制器455控制逻辑线程管理处理器457,从而中止处理或将检测为温度异常或功率消耗异常的信息处理设备401的处理传送到另外信息处理设备401或交换二个信息处理设备401之间的处理。
逻辑线程管理处理器457生成或删除由算术处理器161执行的应用程序的逻辑线程。如果自身设备为主设备,则逻辑线程管理处理器457监测由连接到网络2的信息处理设备401中的一个执行的分布式处理中逻辑线程的状态并控制分布式处理。如果自身设备为主设备,则逻辑线程管理处理器457生成列出连接到网络2的全部信息处理设备401的管理信息的表格和列出执行在每一执行的逻辑线程基础上的所需执行逻辑线程的信息的表格。从而逻辑线程管理处理器457通过参考和更新表格的信息控制逻辑线程的执行。
如果自身设备为主设备,则按照需要逻辑线程管理处理器457生成控制由另外信息处理设备401执行的线程处理的软件单元,并通过通信通信装置16传送生成的软件单元。如果自身设备为从设备,则逻辑线程管理处理器457通过通信装置16接收自主信息处理设备401传送的软件单元。逻辑线程管理处理器457使得子处理器43执行响应于软件单元的分布式处理,生成相应于应答或响应的软件单元,并通过通信装置16传送生成的软件单元。不管自身设备401是主设备还是从设备,逻辑线程管理处理器457通过通信装置16获得与由另外信息处理设备401执行的线程相关的信息。
执行上述功能的硬件可以不同于图55的上述参考结构。例如,主处理器42的部分功能可以由温度和功率管理处理器421来执行,温度和功率管理处理器421的部分功能可以通过主处理器42来执行,或这些功能可以由不同的硬件所执行。即使在这种情况中,本发明能完美的应用。
下面参考图56到60的流程图描述分布式处理的第一模式操作。
下面参考图56的流程图描述由图55的信息处理设备401执行的应用程序执行处理3。温度和功率管理程序为连续操作的常驻程序,同时信息处理设备401的主电源保持开启。
步骤S451中,算术处理器161确定用户是否已经输入命令来执行应用程序。具体地说,步骤S451中,响应于通过总线14和总线41从操作输入单元15提供的信号,主处理器42确定执行应用程序的命令是否已经发出。如果步骤S451中确定来执行应用程序的命令未发出,则S451的处理被重复直到确定执行应用程序的命令已经发出。
如果步骤S451中确定执行应用程序的命令已经发出,则步骤S452中算术处理器161设置逻辑线程的分配到子处理器并将设置的逻辑线程信息提供到逻辑线程管理处理器457。
步骤S453中,逻辑线程管理处理器457将用于执行分配处理的程序和数据载入到其中分配了逻辑线程的子处理器43中的本地存储器51的编码区域187和数据区域188。
步骤S454中,算术处理器161和逻辑线程管理处理器457控制包括子处理器43的处理的应用程序的执行。子处理器43中的算术处理器181执行处理的分配。
温度和功率管理程序是连续执行的常驻程序,同时信息处理设备401的主电源保持开启,并且在整个周期执行该处理,同时执行步骤S451到S454。下面将参考图57的流程图描述主设备的温度和功率信息管理处理,并且从设备的温度和功率信息管理处理下面将参考图60进行描述。
步骤S455中,算术处理器161确定响应于温度异常或功率异常的发送的中断是否由中断控制器165发出。如果步骤S455中确定响应于功率异常发生的中断并未发出,则处理进入步骤S458中。
如果步骤S455中确定响应于温度异常或功率异常发生的中断被发出,则延缓当前的处理。步骤S456中,算术处理器161确定是否解除中断。如果步骤S456中确定仍未解除中断,则步骤S456的处理被重复,直到确定已经解除了中断。
如果步骤S456中确定中断已经解除,则再次按照需要算术处理器161提供具有设置逻辑线程的信息的逻辑线程管理处理器457。从而逻辑线程管理处理器457更新与逻辑线程管理相关的表格。
如果步骤S455中确定响应于温度异常或功率消耗异常发生的中断未发出,则步骤S457结束后的步骤S458中算术处理器161确定是否应用程序的处理已经完成。如果步骤S458中确定应用程序的处理未完成,则处理返回步骤S454来重复步骤S454和后面的步骤。如果步骤S458中确定应用程序的处理已经完成,则处理结束。
选择的子处理器43执行对应于由主处理器42执行的应用程序的分布式处理。
下面参考图57的流程图描述主设备的温度和功率信息管理处理。
步骤S471中,温度和功率信息获得单元451确定定时中断是否已经由中断控制器165中发出。
如果步骤S471中确定没有定时中断已经发出,则步骤S472中温度和功率管理信息发送和接收控制器456确定温度和功率管理表格是否已经由连接到网络2的任意信息处理设备401中接收。如果步骤S472中确定没有温度和功率管理表格接收,则处理返回到步骤S471中以重复步骤S471和后面的步骤。如果步骤S472中确定温度和功率管理表格已经接收,则处理进入步骤S474。
如果步骤S471中确定定时中断已经接收,则步骤S473中温度和功率信息获得单元451获得来自每个功率测量单元321的功率测结果和来自温度检测器121的温度测量结果。
如果步骤S472确定温度和功率管理表格已经接收,或步骤S473之后的步骤中,温度和功率信息获得单元451在步骤S474中基于步骤S472中接收的其他信息处理设备401的温度和功率管理表格或步骤S473中获得的自身温度和功率信息更新温度和功率管理表格452。
步骤S475中,异常检测器453参考温度和功率管理表格452来确定异常值是否包括在温度和功率信息中,换句话说,任何由功率测量单元321检测的功率检测结果或由连接到网络2的排列在信息处理设备401中的温度检测器121检测的温度检测结果是否高于预定上限温度或功率消耗上限。如果步骤S475中确定没有异常值包括在温度和功率信息中,则处理返回到步骤S471中以重复步骤S471和后面的步骤。
如果步骤S475中确定异常值包括在温度和功率信息中,则步骤S476中异常检测器453通知中断控制器165异常温度增加或异常功率消耗的检测,从而使得中断控制器165中断算术处理器161和异常校正控制器455。中断控制器165中断算术处理器161和异常校正控制器455,从而使得算术处理器161中止应用程序的处理并且异常校正控制器455开启异常发生时处理8。
步骤S477中执行下面参考图58和59讨论的异常发生时处理8。
步骤S478中,根据步骤S477执行的异常发生时处理8,异常校正控制器455控制逻辑线程管理处理器457,从而按照需要导致逻辑线程管理处理器557来更新用于线程管理的表格。
步骤S479中,中断控制器165解除对于由算术处理器161控制的应用程序处理的中断,并且处理返回到步骤S471来重复步骤S471和后面的步骤。
主信息处理设备401获得基于由功率测量单元321检测的功率检测结果和由配置在连接到网络2的每个信息处理设备401中的温度检测器121检测温度的检测结果的更新的温度和功率管理表格,并管理作为温度和功率管理表格452的表格。从而基于存储在主信息处理设备401中的温度和功率管理表格452确定是否执行异常发生时中断处理。
下面参考图58和59的流程图描述图57的步骤S447中执行的异常发生时处理8。
步骤S501中,异常校正控制器455参考温度和功率管理表格452来确定温度异常的发生。如果步骤S501中确定没有温度异常发生,则处理进入步骤S519。
如果步骤S501中确定温度异常发生,则异常校正控制器455参考温度和功率管理表格452,并在步骤S502中确定主处理器42和信息处理控制器411的哪个是遭受的温度异常的一个,换句话说,温度检测器121-9和温度检测器121-10中的哪个检测为高于预定上限温度。如果步骤S502中确定主处理器42和信息处理控制器411中的一个导致温度异常,如下所述处理进入步骤S514。
如果步骤S502中确定主处理器42或信息处理控制器411都不导致温度异常,换句话说,任一子处理器43已经导致温度异常,则步骤S503异常校正控制器455参考温度和功率管理表格。步骤S503中,从而异常校正控制器455确定检测为温度异常的子处理器43的处理是否是可移动的,换句话说,除了检测为温度异常的子处理器43之外的任一子处理器43是否不是当前的操作。如果步骤S503中确定检测为温度异常的子处理器43的处理为不可传送的,则处理进入步骤S508。
如果步骤S503中确定检测为温度异常的处理为可传送的,则异常校正控制器455选择子处理器43作为该处理的传送目标,并且步骤S504中通知逻辑线程管理处理器457选择的结果。具体地说,作为具有优先权的传送目标异常校正控制器455选择导致来自其中的最低温度测量的一个子处理器43,该子处理器43保持不工作并且位于不靠近当前工作的子处理器43的位置,在连接到网络2的信息处理设备401的信息处理控制器411中的子处理器43之外。如果多个子处理器43满足这些规范,则异常校正控制器455选择具有最小的子处理器ID数目的子处理器43作为传送目标。如果不能获得保持不工作并且位于不靠近当前工作的子处理器43的的子处理器43,则从当前不工作的子处理器43中选择导致最低温度测量的一个的子处理器43。如果多个子处理器43相应于这些规范,则具有最小子处理器ID数的子处理器43被选择作为传送目标。然后异常校正控制器455将选择的结果通知逻辑线程管理处理器457。
步骤S505中,逻辑线程管理处理器457清除由检测为高于上限温度的子处理器43执行的处理的前后关系。如果高于上限温度的子处理器43是在主设备中,则检测为高于上限温度的子处理器43的中断控制器185响应于清除当前处理的前后关系的中断命令来延缓算术处理器181的处理。线程传送和交换处理器186将当前执行的程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果传送目标中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储当前利用的程序和模式数据,则线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到由逻辑线程管理处理器163管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果检测为高于上限温度的子处理器43是在从设备中,则中断控制器185响应于指示当前程序的前后关系的清除的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果传送目标中子处理器43预存储了当前使用的程序和模式数据,则通过总线41,总线14,通信装置16和网络2线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到起主设备作用的信息处理设备401中的由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预先存储当常使用的程序和模式数据,则通过总线41,总线14,通信装置16和网络2线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到起主设备作用的信息处理设备101中的由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S506,逻辑线程管理处理器457中止检测为高于上限温度的子处理器43的操作。
步骤S507中,逻辑线程管理处理器457将在步骤S505中清除的前后关系恢复到选择作为传送目标子处理器的子处理器43。具体地说,如果传送目标子处理器43是主设备中的一个,则逻辑线程管理处理器457通过总线41将存储在由自身管理的信息存储区域中的前后关系提供到传送目标子处理器43。如果传送目标子处理器43为从设备中的一个,则逻辑线程管理处理器457通过总线41,总线14,通信装置16和网络2将由自身管理的信息存储区域中存储的前后关系提供到包括在起从设备作用的信息处理设备401中的传送目标子处理器43。选择作为传送目标子处理器的子处理器43存储在其编码区域187到堆栈区域190中提供的前后关系。处理进入步骤S519。
如果步骤S503中确定检测为温度异常的子处理器43的处理为不传送的,则异常校正控制器455选择子处理器43作为交换目标并在步骤S508通知逻辑线程管理处理器457选择的结果。具体地说,异常校正控制器455从连接到网络2的信息处理设备401的信息处理控制器411的子处理器43之中选择一个最低温度测量的的子处理器43作为具有优先权的交换目标子处理器43。如果多个子处理器43符合这些规范,则异常校正控制器455选择具有最小子处理器ID数的子处理器43作为交换目标。
步骤S509中,逻辑线程管理处理器457清除由检测为高于上限温度的子处理器43执行的处理的前后关系。如果检测为高于上限温度的子处理器43是在主设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换目标中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的内容传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果检测为高于上限温度的子处理器43是在从设备中,则中断控制器185响应于指示清除当前处理前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换目标中的子处理器43预存储通常使用程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由起主设备作用的信息处理设备401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41、总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由起主设备作用的信息处理设备401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S510中,逻辑线程管理处理器457中止检测为高于上限温度的子处理器43的操作。
步骤S511中,逻辑线程管理处理器457清除由选择作为交换目标的子处理器43执行的处理的前后关系。如果选择作为交换目标的子处理器43是在主设备中,则中断控制器185响应于清除当前处理器的前后关系的中断命令延缓算术处理器181的处理。线程传送和交换处理器186将当前执行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换源的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的内容传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的一部分)。如果交换源的子处理器43不预存储通常使用的程序和模式数据,则线程输出和交换处理器186将编码数据187到堆栈数据190的数据传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果检测为高于上限温度的子处理器43是在从设备中,则中断控制器185响应于指示清除当前程序的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换源的子处理器43预存储通常使用程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由作为主设备操作的信息处理设备101中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。如果交换源的子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由作为主设备操作的信息处理设备401中的主逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S512中,逻辑线程管理处理器457中止选择作为交换目标的子处理器43的操作。
步骤S513中,逻辑线程管理处理器457交换两个前后关系清除的子处理器43之间的前后关系以恢复这里的前后关系。具体地说,逻辑线程管理处理器457将步骤S509中清除的前后关系恢复到选择作为交换目标处理的子处理器43,同时将步骤S511中清除的前后关系恢复到检测为高于上限温度的子处理器43。如果检测为高于上限温度的子处理器43或交换目标子处理器43为主设备中的一个,则逻辑线程管理处理器457通过总线41将在由自身管理的信息存储区域中存储的相应的前后关系提供到交换目标子处理器43。如果检测为高于上限温度的子处理器43或交换目标子处理器43为从设备中的一个,则逻辑线程管理处理器457通过总线41,总线14,通信装置16和网络2将由自身管理的信息存储区域中存储的相应前后关系提供到包括在作为从设备操作的信息处理设备401中的检测为高于上限温度的子处理器43或交换目标子处理器43。每个子处理器43存储其编码区域187到堆栈区域190的区域中提供的前后关系。处理进入步骤S519。
如果步骤S502中确定主处理器42和信息处理控制器411中的一个遭受温度异常,则步骤S514中异常校正控制器455确定遭受温度异常的主处理器42和信息处理控制器411是否包括在作为主设备的信息处理设备401中。如果步骤S514中确定遭受温度异常的主处理器42和信息处理控制器411包括在作为主设备的信息处理设备401中,则处理进入步骤S517中。
如果步骤S514中确定遭受温度异常的主处理器42和信息处理控制器411中的一个不包括在作为主设备的信息处理设备401中,换句话说,遭受温度异常的主处理器42和信息处理控制器411中一个包括在作为从设备的信息处理设备401中,则步骤S515中异常校正控制器455参考的温度和功率管理表格452。步骤S515中,异常校正控制器455从而确定在信息处理设备401中的主处理器42和信息处理控制器411中一个的处理是否是可传送的。如果步骤S515中确定在信息处理设备401中的主处理器42和信息处理控制器411的一个的处理为可传送的,则处理进入步骤S504。
如果步骤S515中确定在信息处理设备401中的主处理器42和信息处理控制器411中一个的处理为不可传送的,则步骤S516中异常校正控制器455参考温度和功率管理表格452。步骤S516中,异常校正控制器455确定在信息处理设备401中的主处理器42和信息处理控制器411中一个的处理是否为可交换的。如果步骤S516中确定在信息处理设备401中的主处理器42和信息处理控制器411中一个的处理为可交换的,则处理进入步骤S508中。
如果步骤S514中确定检测为温度异常的主处理器42和信息处理控制器411包括在作为主设备的信息处理设备401中,或如果步骤S516中确定在信息处理设备401中的主处理器42和信息处理控制器411中一个的处理为不是可交换的,则步骤S517中异常校正控制器455控制逻辑线程管理处理器457以暂时中止由算术处理器161执行的应用程序。除了其中由常驻程序执行的部分之外,暂时延缓主处理器42的处理。
步骤S518中,异常校正控制器455参考温度和功率管理表格452以确定正常温度状态被恢复。如果步骤S518中确定正常温度状态仍未恢复,则步骤S518中的处理被重复直到正常温度状态被恢复。
如果步骤S501中确定没有温度异常发生,和步骤S507后面的步骤,或步骤S513后面的步骤,或如果步骤S518中确定正常温度状态被恢复,则步骤S519中异常校正控制器455确定没有功率异常发生,处理返回到步骤S477并且随后进入图57所示的步骤S478。
如果步骤S519确定功率异常发生,则步骤S520中异常校正控制器455参考温度和功率管理表格452以确定包括检测完功率消耗异常的信息处理控制器411的全部子处理器43的处理是否为可传送的。如果步骤S520中确定包括检测为功率消耗异常的信息处理控制器411的全部子处理器43的处理为不可传送的,则处理进入步骤S525。
如果步骤S520中确定包括检测为功率消耗异常的信息处理控制器411中的全部子处理器43中的处理为可传送的,则步骤S521中异常校正控制器455参考温度和功率管理表格452。步骤S521中,异常校正控制器455因此从连接到网络2的信息处理设备101的信息处理控制器411之中选择信息处理控制器411作为该处理的传送目标,并且通知逻辑线程管理处理器457选择的结果。具体地说,异常校正控制器455参考温度和功率管理表格452并且从连接到网络2的信息处理设备401的信息处理控制器411之中选择消耗最低功率的一个信息处理控制器411作为具有优先权的传送目标,该信息处理控制器411能够执行当前操作的子处理器43的处理并且位于不接近当前操作的信息处理控制器411的位置。另外,异常校正控制器455可以选择以AC电源操作的信息处理设备401中的信息处理控制器411作为比以可再充电电池功率或干电池功率的操作的信息处理设备401中的信息处理控制器411具有更高优先权的传送目标。如果多个信息处理控制器411符合这些规范,则异常校正控制器455选择具有最小的处理器ID数的信息处理控制器411作为传送目标。
选择作为传送目标信息处理控制器411中,主处理器42中的逻辑线程管理处理器457确定分配分布式处理到哪个处理器43。
步骤S522中,逻辑线程管理处理器457清除由检测为消耗功率高于功率消耗上限的的信息处理控制器411执行的处理的前后关系。
如果信息处理控制器411检测到消耗功率为高于功率消耗上限是在主设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换目标中的子处理器43预存储通常使用程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的一部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果信息处理控制器411检测到消耗功率为高于功率消耗上限是在从设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换目标中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由起主设备作用的信息处理设备401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的一部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由作为主设备操作的信息处理设备401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S523中,逻辑线程管理处理器457中止检测为消耗功率为高于功率消耗上限的信息处理控制器411中子处理器43的操作。
步骤S524中,逻辑线程管理处理器457将步骤S522中清除的前后关系恢复到选择作为传送目标信息的处理控制器411中的子处理器43。具体地说,如果传送目标子处理器43为在主设备中的一个,则逻辑线程管理处理器457通过总线41将由自身管理的信息存储区域存储的前后关系提供到传送目标子处理器43。如果传送目标子处理器43为在从设备的一个,则逻辑线程管理处理器457通过总线41,总线14,通信装置16和网络2将由自身管理的信息存储区域存储的前后关系提供到包括在起从设备作用的信息处理设备中的传送目标子处理器43。在选择作为传送目标子处理器43中,提供的前后关系存储在相应于编码区域187到堆栈区域190的区域中,并且处理返回到步骤S477并且然后进入图57的步骤S478。
如果步骤S520确定包括在检测为功率消耗异常的信息处理控制器411中的全部子处理器43的处理为不可传送的,则步骤S525中异常校正控制器455参考温度和功率管理表格452。步骤S525中,异常校正控制器455因此从连接到网络2的信息处理设备101的信息处理控制器411的子处理器43之中选择子处理器43作为处理的交换目标,并且通知逻辑线程管理处理器457选择的结果。具体地说,异常校正控制器455从连接到网络2的信息处理设备401的信息处理控制器411之中选择消耗最低功率的一个信息处理控制器411作为具有优先权的交换目标。另外,异常校正控制器455可以选择以AC电源操作的信息处理设备401中的信息处理控制器411作为比以可再充电电池功率或干电池功率操作的信息处理设备401中的信息处理控制器411具有更高优先权的交换目标。如果多个信息处理控制器411符合这些规范,则异常校正控制器455选择具有最小的处理器ID数的信息处理控制器411作为交换目标。
如果需要执行处理的通常使用的程序和模式数据被预先提供到不具有分布式处理配置的一个子处理器43的本地存储器51,则随着该本地存储器51的具有该子处理器43的信息处理控制器411可以优先权选择。
在选择作为交换目标的信息处理控制器411中,主处理器43中的逻辑线程管理处理器457确定哪一个子处理器43被分配该分布式处理。
步骤S526中,逻辑线程管理处理器457清除由检测为消耗功率高于功率消耗上限的信息处理控制器411的子处理器43执行的处理的前后关系。
如果检测为消耗功率高于功率消耗上限的信息处理控制器411是在主设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换目标中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的一部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果检测为消耗功率为高于功率消耗上限的信息处理控制器411是在从设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换处理中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由作为主设备操作的信息处理装置401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的一部分)。如果子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由作为主设备操作的信息处理设备401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S527中,逻辑线程管理处理器457中止检测为消耗功率为高于功率消耗上限的信息处理控制器411中的子处理器43的操作。
步骤S528中,逻辑线程管理处理器457恢复由选择作为交换目标的信息处理控制器411的子处理器43执行的处理的前后关系。
如果检测为消耗功率为高于功率消耗上限的信息处理控制器411是在主设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换源中的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186将堆栈区域190和数据区域189的前后关系传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的一部分)。如果交换源的子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186将编码区域187到堆栈区域190的数据传送到由逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
如果信息处理控制器411检测到消耗功率高于功率消耗上限是在从设备中,则中断控制器185响应于指示清除当前处理的前后关系的中断命令中止算术处理器181的处理。线程传送和交换处理器186将当前运行程序的前后关系(寄存器182,浮点寄存器183,和程序计数器184的值)清除到堆栈区域190。如果交换源的子处理器43预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将堆栈区域190和数据区域189的前后关系传送到由信息处理设备401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的一部分)。如果交换源的子处理器43不预存储通常使用的程序和模式数据,则线程传送和交换处理器186通过总线41,总线14,通信装置16和网络2将编码区域187到堆栈区域190的数据传送到由信息处理器设备401中的逻辑线程管理处理器457管理的信息存储区域(主处理器42的本地存储器51的存储区域的部分)。
步骤S529中,逻辑线程管理处理器457中止选择作为交换目标的信息处理控制器411中的子处理器43的操作。
步骤S530中,为了恢复前后关系,逻辑线程管理处理器457交换两个信息处理控制器411中的子处理器43的前后关系,该两个信息处理控制器411遭受前后关系的清除。具体地说,逻辑线程管理处理器457将步骤S526中清除的前后关系恢复到选择作为交换目标的信息处理控制器411的子处理器43,同时将步骤S528中清除的前后关系恢复到消耗功率高于功率消耗上限的信息处理控制器411中的子处理器43。换句话说,如果检测为消耗功率高于功率消耗上限的信息处理控制器411或交换目标的信息处理控制器411为主设备中的一个,则逻辑线程管理处理器457通过总线41将对应于由自身管理的信息存储区域中存储的前后关系提供到交换目标的子处理器43。检测为消耗功率高于功率消耗上限的信息处理控制器411或交换目标信息处理控制器411为从设备中的一个,则逻辑线程管理处理器457通过总线41,总线14,通信装置16和网络2将对应于由自身管理的信息存储区域中存储的前后关系提供到包括在作为从设备操作的信息处理设备401中检测为功率消耗高于功率消耗上限的信息处理控制器411或交换目标子处理器43。每个信息处理控制器411中的子处理器43存储编码区域187到堆栈区域190的区域中提供的前后关系。处理返回到步骤S477中并然后进入图57所示的步骤S478。
在这个方法中,取决于功率异常的位置,连接到网络2的信息处理设备401的信息处理控制器411的操作,和处理器的温度测量值和功率测量值,确定是否传送分布式处理的部分,或是否交换分布式处理的部分。还确定传送目标和交换目标中的一个。
下面参考图60的流程图描述与参考图57讨论的主设备的功率信息管理处理并行执行的从设备的温度和功率信息管理处理。
步骤S561中,起从设备作用的信息处理设备401中的温度和功率信息获得单元451确定定时中断是否由中断控制器165输入。如果步骤S561中确定没有定时中断输入,则步骤S561中的处理被重复直到确定定时中断输入。
如果步骤S561中确定定时中断已输入,则步骤S562中功率温度和功率信息获得单元451分别获得来自温度检测器121和功率测量单元321的温度和功率信息。
步骤S563中,基于步骤S562中获得的温度信息和功率信息,温度和功率信息获得单元451更新温度和功率管理表格452。
步骤S564中,温度和功率管理信息发送和接收控制器456通过通信装置16和网络2将步骤S563中更新的功率管理表格354传送到起主设备作用的信息处理设备401。处理返回到步骤S561以重复步骤S561和后面的步骤。
从设备的温度和功率管理表格以这种方法被传送到主设备。然后通过主设备管理从设备的传送的温度和功率管理表格。
连接到网络2的多个信息处理设备401执行如参考图56-60讨论的处理,该多个信息处理设备401的每一个包括配置为测量信息处理控制器411的功率消耗的功率测量单元321和配置为测量信息处理控制器411的温度的温度检测器121。使用温度和功率信息的第一模式的控制和传送或交换的处理,可防止由于热量导致的装置故障或处理速度降低,同时身其中间处理的延缓最小化。
已经讨论了响应于温度信息和功率信息的分布式处理的第一模式控制。分布式处理能够在使用温度信息或功率信息的第二模式和第三模式中的一个中执行。例如,基于温度信息和功率信息,通过交换温度和功率信息发送命令和温度和功率信息应答命令或通过交换子处理器程序传送请求命令和子处理器传送应答命令控制分布式处理。从而,防止了由于热量导致的装置的故障或处理速度降低,同时使其中间处理的延缓最小化。
本发明也可应用于图53的系统,其中包括多个信息处理控制器411,和图53的系统中多个信息处理控制器411连接到网络2。
上述参考的一系列步骤能够在软件中执行。形成软件的程序可以从记录介质上安装到构成硬件结构的计算机中。例如,软件程序可以从记录介质安装到通用计算机中。
如图1所示,可以将从计算机中分离的记录介质中的软件程序提供给用户。如图1中所示,记录介质包括包介质,该包介质包括磁盘61(例如软盘),光盘62(例如光盘只读存储器(CD-ROM),和数字化视盘(DVD),磁光盘63(例如小光盘(MD)),和半导体存储器64。
本说明书中讨论的处理步骤可按如状态的时间序列次序被顺序地执行。另外,步骤可以并行地或分别地被执行。
在这个说明书中,系统涉及由多个设备组成的系统。
本领域的技术人员能够理解,取决于设计需要和其他因素,各种改变,组合,子组合和改变均是在本发明的权利要求或其等同的范围之内。
权利要求
1.一种信息处理设备,包括第一信息处理装置;多个第二信息处理装置;及多个温度检测装置,每个温度检测装置用于检测在多个信息处理装置的每一个附近的温度;其中第一信息处理装置包括用于控制应用程序执行的应用程序执行控制单元;用于控制在多个第二信息处理装置上执行的处理分配的分布式处理的分布式处理控制单元,为了提供对应于处理单元、应用程序执行控制单元的功能,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供该功能的处理单元;用于记录与由温度检测装置检测的温度相关的第一信息,和与第二信息处理设备执行的处理相关的第二信息的记录单元;用于检测由温度检测装置检测温度异常的异常检测单元;如果由异常检测单元检测到温度异常则异常发生时控制单元用于控制分布式处理控制单元的分布式处理;其中基于由记录单元记录的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的处理的分配。
2.根据权利要求1的信息处理设备,其中异常发生时控制单元控制分布式处理控制单元来更新分配处理,使得检测为没有温度异常的其他第二信息处理装置的一个被选择,并且使得由检测为温度异常的第二信息处理装置执行的处理被重新分配到选择的用于执行的第二信息处理装置。
3.根据权利要求2的信息处理设备,其中异常发生时控制单元选择具有由温度检测装置检测的、比其他第二信息处理装置的附近温度低的附近温度的第二信息处理装置中的一个,作为基于由记录单元记录的第一信息的具有高优先权的处理分配目标。
4.根据权利要求2的信息处理设备,其中异常发生时控制单元选择还未开始执行该处理的第二信息处理装置中的一个,作为基于由记录单元记录的第二信息的具有高优先权的处理分配目标。
5.根据权利要求1的信息处理设备,其中异常发生时控制单元控制分布式处理控制单元来更新处理分配,使得检测为没有温度异常的第二信息处理装置的一个被选择,并且使得由检测为温度异常的第二信息处理设备执行的处理被由处理的执行中的两个装置之间选择的第二信息处理装置执行的处理交换。
6.根据权利要求5的信息处理设备,其中异常发生时控制单元选择具有由温度检测装置检测的、比其他第二信息处理装置的附近温度低的附近温度的第二信息处理装置中的一个,作为基于由记录单元记录的第一信息的具有高优先权的处理交换目标。
7.根据权利要求5的信息处理设备,其中异常发生时控制单元选择还未开始执行该处理的第二信息处理装置中的一个,作为基于由记录单元记录的第二信息的具有高优先权的处理交换目标。
8.根据权利要求1的信息处理设备,还包括用于与其他信息处理设备通信的通信装置。
9.根据权利要求8的信息处理设备,如果自身信息处理设备起主设备的作用,则通过通信装置与至少可通信的其他信息处理设备共同形成一网络系统,其中通信装置接收来自其他信息处理设备的其他信息处理设备的第一信息和第二信息,其中记录单元还记录由通信装置接收的其他信息处理设备的第一信息和第二信息,其中基于由记录单元记录的其他信息处理设备的第一信息,异常检测单元还通过通信装置检测可通信的其他信息处理设备中生成的温度异常,和其中如果异常检测单元检测到温度异常,则基于由记录单元记录的自身信息处理设备和其他信息处理设备的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的分配处理,和如果在网络系统中自身信息处理设备起从设备的作用,则通信装置将由记录单元记录的第一信息和第二信息传送到在该网络系统中作为主设备的其他信息处理设备。
10.根据权利要求8的信息处理设备,其中如果异常检测单元检测到温度异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的传送其他信息处理设备的第一信息和第二信息的第一信号,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收相应于第一信息和第二信息的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的分配处理。
11.根据权利要求8的信息处理设备,其中如果异常检测单元检测到温度异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的执行由检测为温度异常的第二信息处理装置执行的处理的第一信号,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收的应答第一信号的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理装置执行的处理分配。
12.根据权利要求1的信息处理设备,还包括多个信息处理模块,每个模块包括第一信息处理装置和第二信息处理装置。
13.根据权利要求1的信息处理设备,还包括用于测量由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率的功率测量装置;其中记录单元还记录与由功率测量装置测量的功率消耗相关的信息,其中异常检测单元还检测由功率测量装置测量的功率消耗的异常,和其中如果异常检测单元检测到温度异常和功率消耗异常中的一个,则异常发生时控制单元控制由分布式处理控制单元执行的分布式处理。
14.一种信息处理设备的信息处理方法,该信息处理设备包括第一信息处理装置和多个第二信息处理装置,该信息处理方法包括步骤请求用于提供对应的处理单元、第一信息处理装置的功能的分布式处理的开始,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得第二信息处理装置附近生成的温度的温度信息;检测温度信息获得步骤中获得的温度信息中的温度异常;确定在异常检测步骤中其附近温度被检测为温度异常的第二信息处理装置中一个;和基于在温度信息获得步骤中获得的温度信息和在确定步骤中提供的确定结果,控制分布式处理来更新由检测为温度异常的第二信息处理装置执行的处理的分配。
15.一种计算机程序,用于使计算机控制具有第一信息处理装置和多个第二信息处理装置的分布式处理,计算机程序包括步骤请求用于提供对应的处理单元、第一信息处理装置的功能的分布式处理的开始,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得第二信息处理装置附近生成的温度的温度信息;检测温度信息获得步骤中获得的温度信息中的温度异常;确定在异常检测步骤中其附近温度被检测为温度异常的第二信息处理装置中的一个;和基于在温度信息获得步骤中获得的温度信息和在确定步骤中提供的确定结果,控制分布式处理来更新由检测为温度异常的第二信息处理装置执行的处理的分配。
16.一种信息处理设备,包括第一信息处理装置;多个第二信息处理装置;用于测量由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率的功率测量装置;和用于与其他信息处理设备通信的通信装置,其中第一信息处理装置包括用于控制应用程序执行的应用程序执行控制单元;用于为了提供相应于处理单元、应用程序执行控制单元的功能,控制对多个第二信息处理装置执行处理分配的分布式处理的分布式处理控制单元,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;用于记录与由功率测量装置测量的功率相关的第一信息,和与第二信息处理装置执行的处理相关的第二信息的记录单元;用于检测由功率测量装置测量的功率消耗异常的异常检测单元;和用于响应于由异常检测单元检测的功率异常,控制分布式处理控制单元的分布式处理的异常发生时控制单元,其中基于由记录单元记录的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由包括在检测在功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配。
17.根据权利要求16的信息处理设备,如果自身信息处理设备起主设备的作用,则通过通信装置与至少可通信的其他信息处理设备共同形成一网络系统,其中通信装置接收来自其他信息处理设备的其他信息处理设备的第一信息和第二信息,其中记录单元还记录由通信装置接收的其他信息处理设备的第一信息和第二信息,其中基于由记录单元记录的其他信息处理设备的第一信息,异常检测单元还通过通信装置检测可通信的其他信息处理设备中生成的功率异常,和其中如果异常检测单元检测到功率异常,则基于由记录单元记录的自身信息处理设备和其他信息处理设备的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由包含在检测为功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配,和如果在网络系统中自身信息处理设备起从设备的作用,则通信装置将由记录单元记录的第一信息和第二信息传送到在该网络系统中的主设备。
18.根据权利要求16的信息处理设备,其中如果异常检测单元检测到功率异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的第一信号来传送其他信息处理设备的第一信息和第二信息,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收相应于第一信息和第二信息的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由包括在检测为功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配。
19.根据权利要求16的信息处理设备,其中如果异常检测单元检测到功率异常,则异常发生时控制单元生成请求其他信息处理设备通过通信装置可通信的第一信号来执行由检测为功率异常的第二信息处理装置执行的处理,其中通信装置将第一信号传送到其他信息处理设备,同时从其他信息处理设备接收应答第一信号的第二信号,和其中响应于由通信装置接收的第二信号,异常发生时控制单元控制分布式处理控制单元来更新由包括在检测为功率异常的信息处理模块中的多个第二信息处理装置执行的处理的分配。
20.根据权利要求16的信息处理设备,其中异常发生时控制单元控制分布式处理控制单元来更新处理分配,从而检测为没有功率异常的其他信息处理模块中的一个被选择,并且从而由包括在所选择的信息处理模块中的多个第二信息处理装置执行的处理由包括在功率异常中的信息处理模块中的多个第二信息处理装置执行。
21.根据权利要求20的信息处理设备,其中异常发生时控制单元选择由异常检测单元检测的其消耗功率低于其他信息处理装置消耗功率的信息处理模块作为具有高优先权的处理分配目标。
22.根据权利要求20的信息处理设备,其中异常发生时控制单元选择以交流电源工作的信息处理模块而不是以电池电源工作的信息处理模块作为具有较高优先权的处理分配目标。
23.根据权利要求16的信息处理设备,其中异常发生时控制单元控制分布式处理控制单元来更新处理分配,从而检测为没有功率异常的第二信息处理模块中的一个被选择,和从而在执行处理中,检测为功率异常的信息处理模块中的多个信息处理装置执行的处理由所选择的信息处理模块中的多个第二信息处理装置的处理交换。
24.根据权利要求23的信息处理设备,其中异常发生时控制单元选择由异常检测单元检测的其消耗功率低于其他信息处理装置消耗功率的信息处理模块作为具有高优先权的处理交换目标。
25.根据权利要求23的信息处理设备,其中异常发生时控制单元选择以交流电源工作的信息处理模块而不是以电池电源工作的信息处理模块作为具有较高优先权的处理交换目标。
26.根据权利要求16的信息处理设备,还包括多个信息处理模块。
27.一种信息处理设备的信息处理方法,该信息处理设备包括第一信息处理装置,多个第二信息处理装置,和用于与另外信息处理装置通信的通信装置,该信息处理方法包括步骤请求用于提供对应的处理单元、第一信息处理装置的功能的分布式处理的开始,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得与由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率相关的信息;检测与功率信息获得步骤中获得的功率消耗相关的信息中的异常;和基于功率信息获得步骤中获得的功率,控制分布式处理来更新由检测为功率异常的信息处理模块中的第二信息处理装置执行的处理的分配。
28.一种计算机程序,用于使得一计算机与第一信息处理装置,多个第二信息装置,和与其他信息处理设备进行通信的通信装置执行分布式处理,该程序包括步骤请求用于提供对应的处理单元、第一信息处理装置的功能的分布式处理的开始,当执行应用程序时,分别分配到多个第二信息处理装置的多个处理形成用于提供功能的处理单元;获得与由包括第一信息处理装置和第二信息处理装置的信息处理模块消耗的功率相关的信息;检测与功率信息获得步骤中获得的功率消耗相关的信息中的异常;和基于功率信息获得步骤中获得的功率,控制分布式处理来更新由检测为功率异常的信息处理模块中的第二信息处理装置执行的处理的分配。
29.一种信息处理设备,包括第一信息处理器;多个第二信息处理器;和多个温度检测器,每个温度检测器检测多个第二信息处理器的每一个附近的温度,其中第一信息处理器包括应用程序执行控制单元,控制应用程序的执行;分布式处理控制单元,为了提供相应于处理单元、应用程序执行控制单元的功能,控制对多个第二信息处理装置执行处理分配的分布式处理,当执行应用程序时,分别地分配到多个第二信息处理器的多个处理形成用于提供功能的处理单元;记录单元,记录与由温度检测单元检测的温度相关的第一信息,和与第二信息处理器执行的处理相关的第二信息;异常检测单元,检测由温度检测器检测的温度的异常;和异常发生时控制单元,如果由异常检测单元检测到温度异常,则控制分布式处理控制单元的分布式处理;其中基于由记录单元记录的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新由检测为温度异常的第二信息处理器执行的处理的分配。
30.一种信息处理设备,包括第一信息处理器;多个第二信息处理器;功率测量单元,测量由包括第一信息处理器和第二信息处理器的信息处理模块消耗的功率;和通信单元,用于与其他信息处理设备通信,其中第一信息处理器包括应用程序执行控制单元,控制应用程序执行;分布式处理控制单元,为了提供相应于处理单元、应用程序执行控制单元的功能,控制对多个第二信息处理装置执行处理分配的分布式处理,当执行应用程序时,分别地分配到多个第二信息处理器的多个处理形成用于提供功能的处理单元;记录单元,记录与由功率测量单元测量的功率相关的第一信息,和与第二信息处理器执行的处理相关的第二信息;异常检测单元,检测由功率测量单元测量的功率消耗的异常;和异常发生时控制单元,响应于由异常检测单元检测的功率异常,控制分布式处理控制单元的分布式处理,其中基于由记录单元记录的第一信息和第二信息,异常发生时控制单元控制分布式处理控制单元来更新包括在检测为功率异常的信息处理模块中的多个第二信息处理器执行的处理的分配。
全文摘要
在检测出温度的异常时,对分布处理进行控制。在步骤S21中,在判断定时中断进入的情况下,在步骤S22中,取得温度信息,在步骤S23中,更新温度管理表。在步骤S24中,在判断温度信息为异常值的情况下,在步骤S25中,开始进行中断,并停止应用程序的处理,在步骤S26中,执行异常发生时的处理1,并对分布处理进行控制。在步骤S27中,根据在步骤S26中执行的异常发生时的处理1,并根据需要,更新有关逻辑线程的表,在步骤S28中,解除对应用程序的处理的中断,处理返回步骤S21,此后进行重复的处理。
文档编号G06F1/00GK1760804SQ20051012493
公开日2006年4月19日 申请日期2005年7月5日 优先权日2004年7月5日
发明者市川典仁, 高嶋浩二 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1