首页> 中国专利> 多处理器系统、多处理器控制方法、以及多处理器集成电路

多处理器系统、多处理器控制方法、以及多处理器集成电路

摘要

本发明涉及多处理器系统、多处理器控制方法、以及多处理器集成电路。在多处理器系统中,一般被分配了更多的量的任务的处理器与被分配了更少的量的任务的处理器相比,有与其他被分配了任务的处理器之间的通信量变多的倾向。因而,为使各处理器能够高效率地进行路由处理,对于第1处理器、和与第1处理器相比直接连接的处理器之中被分配了任务的处理器的数量较少的第2处理器进行任务的分配,以使得对第1处理器分配的任务的量在对第2处理器分配的任务的量以上。

著录项

  • 公开/公告号CN102105866A

    专利类型发明专利

  • 公开/公告日2011-06-22

    原文格式PDF

  • 申请/专利权人 松下电器产业株式会社;

    申请/专利号CN201080002162.9

  • 发明设计人 齐藤雅彦;

    申请日2010-05-20

  • 分类号G06F9/50(20060101);G06F1/26(20060101);G06F1/32(20060101);G06F15/78(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人徐殿军

  • 地址 日本大阪府

  • 入库时间 2023-12-18 02:34:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-01

    专利权的转移 IPC(主分类):G06F9/50 登记生效日:20170110 变更前: 变更后: 申请日:20100520

    专利申请权、专利权的转移

  • 2014-10-29

    专利权的转移 IPC(主分类):G06F9/50 变更前: 变更后: 登记生效日:20141009 申请日:20100520

    专利申请权、专利权的转移

  • 2014-02-26

    授权

    授权

  • 2012-05-30

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20100520

    实质审查的生效

  • 2011-06-22

    公开

    公开

说明书

技术领域

本发明涉及由多个处理器构成的多处理器系统。

背景技术

有将多个处理器以矩阵状配置、相互邻接的处理器彼此连接而成的多处理器系统。

这样的多处理器系统由于多个处理器能够并行地处理任务,所以与由单一的处理器构成的处理器系统相比,具有每单位时间的任务处理量变多的特征。

另一方面,数字电视机、手机等的家电设备要求高性能化及低耗电化。

作为用来实现搭载在家电设备等中的LSI(Large Scale Integration:大规模集成电路)的低耗电化的技术,例如已知有以电源岛单位进行电源控制的技术(专利文献1)等。

现有技术文献

专利文献1:日本特表2007-501478号公报

发明概要

发明要解决的问题

在上述多处理器系统中,在各处理器例如利用其他处理器的任务处理结果来进行对本处理器分配的任务的处理等情况下,需要与其他处理器进行通信。

在相互通信的处理器没有直接连接的情况下,经由处于这些处理器的连接路径上的处理器进行通信。

通信的处理器的路径上的处理器,为了实现要通信的其他处理器的通信,除了本来对本处理器分配的任务的处理以外,还必须进行有关要通信的其他处理器间的通信的路由处理。

因而,在上述多处理器系统中,除了本来作为处理对象的任务的处理以外,还需要有关处理器间的通信的路由处理。

为了实现上述多处理器系统的地低耗电化,除了各个处理器的低耗电化的实现以外,还要求通过高效率地进行上述路由处理从而减少有关路由处理的耗电。

发明内容

所以,本发明是鉴于这样的问题而做出的,目的是提供一种能够对各处理器分配任务以便能够高效率地进行路由处理的多处理器系统。

用于解决问题的手段

为了解决上述问题,有关本发明的多处理器系统,包括3个以上的处理器,并进行任务组的处理,该3个以上的处理器中的各处理器相互通信,其特征在于,该多处理器系统具备:存储机构,存储反映了处理器间的连接关系的连接信息;以及任务管理机构,参照存储在上述存储机构中的连接信息,分配由各处理器处理的任务;上述任务管理机构进行上述任务的分配,以使得在上述任务的分配中,对于第1处理器和与上述第1处理器相比直接连接的处理器之中被分配了任务的处理器的数量较少的第2处理器来说,对上述第1处理器分配的任务的量在对上述第2处理器分配的任务的量以上。

发明效果

在多处理器系统中,一般分配了更多量任务的处理器与分配了更少量任务的处理器相比,有与其他被分配了任务的处理器之间的通信量变多的倾向。

因而,具备上述结构的有关本发明的多处理器系统由于能够对各处理器分配任务,以使得与第2处理器相比,对与被分配了任务的处理器连接的数量较多的第1处理器分配的任务的量比第2处理器多,所以具有能够对各处理器分配任务以便能够高效率地进行路由处理的效果。

此外,也可以是,其特征在于,具备:动作频率决定机构,根据由上述任务管理机构对各处理器分配的任务的量,决定各处理器的动作频率;以及动作控制机构,使各处理器以由上述动作频率决定机构决定的动作频率动作;上述动作频率决定机构进行上述动作频率的决定,以使得在上述动作频率的决定中,对于上述第1处理器和上述第2处理器来说,上述第1处理器的动作频率在上述第2处理器的动作频率以上。

通过形成这样的结构,能够使被分配的任务的量在分配给第1处理器的任务的量以下的第2处理器的动作频率为第1处理器的动作频率以下,所以通过高效率地决定各处理器的动作频率,具有能够使多处理器系统的耗电相对于性能的效率变好的效果。

此外,也可以是,其特征在于,动作电压决定机构,基于由上述动作频率决定机构决定的上述处理器的各自的动作频率,决定各处理器的动作电压,以使得在存在以第1动作频率动作的处理器和以低于该第1动作频率的第2动作频率动作的处理器的情况下,以上述第1动作频率动作的处理器的动作电压成为以上述第2动作频率动作的处理器的动作电压以上;以及电压供给机构,将由上述动作电压决定机构决定的动作电压提供给各处理器。

通过形成这样的结构,能够使以低于第1动作频率的第2动作频率动作的处理器的动作电压为以第1动作频率动作的处理器的动作电压以下,所以通过高效率地决定各处理器的动作电压,具有能够使多处理器系统的耗电相对于性能的效率变好的效果。

此外,也可以是,其特征在于,上述任务管理机构进行上述任务的分配,以使得被分配任务的各处理器所连接的处理器之中的至少1个处理器为被分配任务的处理器。

通过形成这样的结构,具有能够不使没有被分配任务的处理器进行路由处理而实现被分配了任务的处理器间的通信的效果。

此外,也可以是,其特征在于,上述动作频率决定机构进行上述动作频率的决定,以使得在存在没有被分配任务的处理器的情况下,该处理器的动作频率为0赫兹。

通过形成这样的结构,由于能够停止没有被分配任务的处理器的动作,所以具有能够使没有被分配任务的处理器的动作功率为0的效果。

此外,也可以是,其特征在于,上述任务的量是任务的数量。

在多处理器系统中,一般而言,被分配更多数量的任务的处理器与被分配更少的任务的处理器相比,有与其他被分配了任务的处理器之间的通信量更多的倾向。

此外,一般来说,处理器为了计数任务的数量而需要的运算量较少。

因而,通过形成这样的结构,具有能够提供用来计算任务的量的耗电较少的多处理器系统的效果。

此外,也可以是,其特征在于,上述任务管理机构具备测量时间的经过的定时器,每隔规定时间进行上述任务的分配,以使得被分配的任务的量最多的处理器是之前被分配的任务的量最多的处理器之外的处理器。

在多处理器系统中,一般而言,有被分配的任务的量最多的处理器的每单位时间的发热量在全部的处理器中最多的倾向。

此外,处理器有如果成为规定的温度以上则成为不正确地动作的状态(热失控状态)的情况,如果用温度较高的处理器执行处理,则与用温度较低的处理器执行的情况相比,耗电量变大。

除此以外,如果由温度较高的处理器继续执行处理,则已知会因热带来的劣化而故障发生率变高。

因而,通过形成这样的结构,每规定时间被分配的任务的量最多的处理器变化,所以与不有意地改变任务量最多的处理器的情况相比,能够使成为热失控状态的处理器出现的可能性变低,具有抑制耗电量的增加、抑制故障发生率变高的效果。

此外,也可以是,其特征在于,包含在上述多处理器系统中的全部的处理器以矩阵状配置在1个半导体集成电路内;各处理器是相互相同形状的长方形,与邻接的其他处理器直接连接。

通过形成这样的结构,与不将全部的处理器集成在1个半导体集成电路内的情况相比,具有能够减少在处理器间通信时消耗的电力的效果。

附图说明

图1是表示多处理器LSI 100内的处理器的连接关系的图。

图2是表示多处理器LSI 100内的电源块的结构的框图。

图3是时钟控制部202的框图。

图4是表示电源块M223的结构的框图。

图5是表示电源选择电路的结构的框图。

图6是表示在多处理器LSI 100上动作的模块的框图。

图7是OS任务对应信息的数据结构图。

图8是电压频率信息的数据结构图。

图9是用附图表现动作模式信息的图。

图10是启动处理的流程图。

图11是用附图表现被分配了任务的OS是7个的情况下的动作模式信息的图。

图12是表示具体例的各处理器的动作频率和电源电压的图。

图13是表示电源选择电路1300的结构的框图。

图14是表示在变形多处理器LSI上动作的模块的框图。

图15是变形电压频率信息。

图16是连接信息的数据结构图。

图17是启动处理的流程图。

图18是系统负荷管理处理的流程图。

图19是处理器选择处理的流程图。

图20是表示在变形多处理器LSI上动作的模块的框图。

图21是变形系统负荷管理处理的流程图。

图22是变形处理器选择处理的流程图。

图23是表示具体例中的对各处理器分配的OS和任务数的图。

图24是表示将18个处理器以3维状配置的例子的图。

具体实施方式

<实施方式1>

以下,作为本发明的多处理器系统的一实施方式,对使用将25个处理器以5×5的矩阵状配置的多处理器LSI实现的多处理器系统进行说明。

构成该多处理器LSI的处理器中的各个处理器,能够在相互独立的动作频率和动作电压下动作。

在多处理器LSI上动作的是:管理器(hypervisor)、在管理器上动作的多个OS、和对OS分配的任务。

管理器将各OS分别分配给1个处理器,使该OS在该分配的处理器上动作。

以下,参照附图对有关本实施方式1的多处理器系统的结构进行说明。

<结构>

图1是表示配置在多处理器LSI 100内的25个处理器A111~处理器Y135的连接关系的图。

如该图所示,处理器A111~处理器Y135以5×5的矩阵状配置。这25个处理器是相互具有相同功能的相同形状的处理器,一边相互与其他处理器通信一边相互并行地动作。

专用通信线组141~专用通信线组180是将邻接的处理器间连接的通信线组。

各处理器经由专用通信线组与邻接的其他处理器连接。

相互邻接的处理器彼此的通信使用专用通信线组直接进行,相互不邻接的处理器彼此的通信经由处于这些处理器的连接路径上的处理器来进行通信。

要通信的处理器的路径上的处理器,为了实现要通信的其他处理器的通信,除了本来对本处理器分配的任务的处理以外,还进行有关要通信的其他处理器间的通信的路由处理。

例如,处理器A111和处理器D114经由处理器B112和处理器C113进行通信。

图2是表示多处理器LSI 100内的电源块的结构的框图。

这里,所谓电源块,是由使电源电压为共用的多个电路构成的块,各电源块在相互独立的电源电压下动作。

如该图所示,多处理器LSI 100具有固定电位电源块201、和电源块A211~电源块Y235这26个电源块。

固定电位电源块201是电源电压被固定为1.2V的电源块,具备时钟控制部202和电压控制部203。

时钟控制部202受在多处理器LSI 100上动作的管理器控制,在电源块A211~电源块Y235中的各个电源块中,分别具有供给作为时钟信号的Clock(时钟)A271~ClockY295的功能。

这里,ClockA271~ClockY295分别相互独立地被设定为800MHz、600MHz、300MHz、100MHz、0Hz中的某一个频率。

图3是时钟控制部202的框图。

时钟控制部202由2400MHzPLL(Phase Locked Loop:锁相环)301、1/3分频电路302、1/4分频电路303、1/8分频电路304、1/24分频电路305、5-1选择器311~5-1选择器335等构成,输出ClockA271~ClockY295的25个时钟信号。

ClockA271~ClockY295分别为800MHz、600MHz、300MHz、100MHz、0Hz中的某一个频率。

2400MHzPLL301是输出频率2.4GHz的时钟信号的PLL。

1/3分频电路302对2400MHzPLL301的2.4GHz的输出信号进行3分频,输出800MHz的信号。1/4分频电路303对2400MHzPLL301的2.4GHz的输出信号进行4分频,输出600MHz的信号。1/8分频电路304对2400MHzPLL301的2.4GHz的输出信号进行8分频,输出300MHz的信号。1/24分频电路305对2400MHzPLL301的2.4GHz的输出信号进行24分频,输出100MHz的信号。

5-1选择器311~5-1选择器335是选择1/3分频电路302的800MHz的输出信号、1/4分频电路303的600MHz的输出信号、1/8分频电路304的300MHz的输出信号、1/24分频电路305的100MHz的输出信号、VSS电位的地电位306中的某1个作为时钟信号输出的5输入选择器。

5-1选择器311~5-1选择器335分别通过在多处理器LSI 100上动作的管理器相互独立地被控制。

通过上述结构,时钟控制部202输出分别作为800MHz、600MHz、300MHz、100MHz、0Hz中的某一个频率的时钟信号的ClockA271~ClockY295。

此外,时钟控制部202设定为,使其在多处理器LSI 100的启动时对向作为中央位置的处理器的处理器M的时钟信号M283输出800MHz的时钟信号。

再次回到图2,继续说明多处理器LSI 100内的电源块的结构的说明。

电压控制部203受在多处理器LSI 100上动作的管理器控制,具有对电源块A211~电源块Y235分别输出作为表示电源块的电源电压的信号的电压信号A241~电压信号Y265的功能。

电压信号A241~电压信号Y265分别是表示1.2V、1.1V、1.0V、0.8V、0V中的某一个电压的信号。

此外,电压控制部203设定为,使其在多处理器LSI 100的启动时,作为电压信号M253而输出表示1.2V的电压的信号。该设定是为了使得在启动时处理器M123在电源电压1.2V下动作而设定的。

多处理器LSI 100的电源在其芯片整体中具备:作为电压是1.2V的网状构造配线的1.2V电源配线、作为电压是1.1V的网状构造配线的1.1V电源配线、作为电压是0.8V的网状构造配线的0.8V电源配线、作为电压是0V的网状构造配线的接地配线。

电源块A211~电源块Y235分别以被输入的ClockA271~ClockY295作为时钟信号而动作,分别在由被输入的电压信号A241~电压信号Y265表示的电源电压下动作,分别具有处理器A111~处理器Y135。

图4是表示电源块M223的结构的框图。

这里,使用电源块M223进行电源块的结构的说明,但其他电源也为与电源块M223同样的结构。

电源块M223由处理器M123、时钟供给电路M401、电源选择电路M402、本地存储器M403、高速缓存(cache)M404等构成。

时钟供给电路M401具有接收从时钟控制部202输出的时钟信号ClockM283、将接收到的时钟信号向处理器M123、电源选择电路M402、本地存储器M403、高速缓存M404供给的功能。

电源选择电路M402具有接收从电压控制部203输出的电压信号M253、将接收到的电压信号M253表示的电压的电源电压对处理器M123、时钟供给电路M401、本地存储器M403、高速缓存M404供给的功能。

电源选择电路M402根据接收到的电压信号M253选择对作为网状构造配线的1.2V电源配线、1.1V电源配线、1.0V电源配线、0.8V电源配线和接地配线供给的电源中的1个电源,通过将所选择的电源的电压对电源块内的电源配线供给,对上述时钟供给电路M401、本地存储器M403、高速缓存M404供给电源。

图5是表示电源选择电路的结构的框图。

如该图所示,电源选择电路500具备切换开关510。

切换开关510是根据电压信号521从1.2V电源配线531、1.1V电源配线532、1.0V电源配线533、0.8V电源配线534、和接地配线535之中选择1个电源配线、将所选择的电源配线与电源块内电源配线537电连接的开关。

电容器540为了去除开关切换时的电压噪声而插入在电源选择电路500中。

通过上述结构,电源选择电路500分别将1.2V、1.1V、1.0V、0.8V和0V中的1个电源电压对时钟供给电路M401、本地存储器M403、高速缓存M404供给。

再次回到图4,继续电源块M223的结构的说明。

本地存储器M403与处理器M123连接,是处理器M123用来作为存储器区域使用的存储器,临时存储处理器M123所使用的程序及数据。

高速缓存M404是连接在处理器M123和存储器总线430上的高速缓冲存储器,作为处理器M123对经由存储器总线430连接的外部存储器440进行访问时的高速缓冲存储器使用。

处理器M123连接在电源块H218的处理器H118、电源块L222的处理器L122、电源块N224的处理器N124、电源块R228的处理器R128、相同的电源块内的本地存储器M403、和相同的电源块内的高速缓存M404上,通过执行存储在经由高速缓存M404和存储器总线430连接的外部存储器440中的程序,使用本地存储器M403、高速缓存M404等,与其他处理器共同实现各种功能。

此外,处理器M123具有进行上述路由处理的功能。

图6是表示在多处理器LSI 100上动作的程序模块(以下仅称作“模块”)的框图。

在多处理器LSI 100上动作的模块中,有管理器631、在管理器631上动作的第1OS601~第KOS604、在各OS上动作的第1任务651~第N任务655等。

这些模块通过由处理器A111~处理器Y135中的1个或多个处理器执行存储在外部存储器440中的程序而动作。

第1任务651~第N任务655分别被分配给第1OS601~第KOS604中的某1个OS。

第1OS601~第KOS604分别是种类相互不同的OS,由管理器631分配给由处理器A111~处理器Y135中的某一个,在该分配的处理器上动作。

由于在多处理器LSI 100中存在25个处理器,所以在多处理器LSI 100上动作的OS的数量最大是25个。

管理器631由OS任务对应信息保持模块632、处理器选择模块633、电压频率信息保持模块634、和动作模式信息保持模块635构成,具有将第1OS601~第KOS604分别分配给由处理器A111~处理器Y135中的某1个、并决定分配的处理器的电源电压和动作频率、使该处理器在所决定的电源电压和动作频率下动作的功能。

OS任务对应信息保持模块632与处理器选择模块633通信,具有将存储在外部存储器440的规定的存储区域中的OS任务对应信息读入并保持的功能。

OS任务对应信息是表示按照每个OS分配的任务数量、和表示这些分配的任务的任务ID的信息。

图7是OS任务对应信息保持模块632保持的OS任务对应信息的数据结构图。

如该图所示,OS任务对应信息将用来确定OS的OS识别符701、作为分配给由OS识别符701确定的OS的任务的数量的任务数702、和用来确定分配给由OS识别符701确定的OS的任务的任务ID703建立了对应。

根据该OS任务对应信息,可知由多处理器LSI 100执行的OS是第1OS~第7OS的共计7个OS,对第1OS分配了70个任务,对第2OS分配了50个任务,对于第3OS分配了30个任务,对第4OS分配了20个任务,对第5OS分配了15个任务,对第6OS分配了9个任务,对第7OS分配了8个任务。

再次回到图6,继续管理器631的结构的说明。

电压频率信息保持模块634与处理器选择模块633通信,具有将存储在外部存储器440的规定的存储区域中的电压频率信息读入并保持的功能。

电压频率信息是用来将处理器的电源电压和动作频率,根据对该处理器分配的任务的数量加以设定的信息。

图8是电压频率信息保持模块634保持的电压频率信息的数据结构图。

如该图所示,电压频率信息将表示对OS分配的任务的数量的任务数量801、表示电源块的电源电压的电源电压802、与表示处理器的动作频率的动作频率803建立了对应。

根据该电压频率信息,表示例如分配了被分配有任务数量61以上的OS的处理器所属于的电源块,被供给1.2V的电源电压,该处理器在800MHz的动作频率下动作。

再次回到图6,继续对管理器631的结构的说明。

动作模式信息保持模块635与处理器选择模块633通信,具有将存储在外部存储器440的规定的存储区域中的动作模式信息读入并保持的功能。

动作模式信息是表示对于被分配了任务的OS是1个的情况~25个的情况中的各个情况,从被分配的任务的数量较多的OS起、将该OS分配给哪个位置的处理器的信息。

如果设被分配任务的处理器中的某个处理器为第1处理器、第2处理器,则该动作模式信息在存在第1处理器、和与第1处理器相比直接连接的处理器之中被分配了任务的处理器的数量较少的第2处理器的情况下,是将OS与处理器建立对应以使得对第1处理器分配的任务的量为对第2处理器分配的任务的量以上的信息。

图9是用附图表现动作模式信息保持模块635保持的动作模式信息的图。

图9是表示从被分配的任务的数量较多的OS起、依次将该OS分配给哪个处理器的图,图9a是被分配了任务的OS是1个的情况、图9b是被分配了任务的OS是2个的情况、图9c是被分配了任务的OS是3个的情况、图9d是被分配了任务的OS是4个的情况、图9e是任务被分配了的数量是5个的情况下的图、图9f是任务被分配了的数量是25个的情况下的图。

再次回到图6,继续对管理器631的结构的说明。

处理器选择模块633与OS任务对应信息保持模块632、电压频率信息保持模块634和动作模式信息保持模块635通信,具有以下的4个功能。

功能1:根据OS任务对应信息保持模块632保持的OS任务对应信息、和动作模式信息保持模块635保持的动作模式信息,决定将各个OS分配给哪个处理器的功能。

功能2:参照电压频率信息保持模块634保持的电压频率信息,按照所决定的每个处理器,根据对分配给该处理器的OS所分配的任务的数量,决定该处理器的动作频率和电源电压的功能。

功能3:存储被分配的OS、处理器、动作频率、电源电压构成的组,控制时钟控制部202以成为所决定的动作频率,控制电压控制部以成为所决定的电源电压的功能。

功能4:对处理器发送启动信号,使该处理器启动的功能。这里,所谓启动信号,是复位解除信号,各处理器通过在被供给电源的状态下解除复位而被启动。

以下,参照附图对如以上那样构成的多处理器系统的动作进行说明。

<动作>

多处理器LSI 100根据在其上执行的软件,实现各种功能,例如MPEG(Moving Picture Experts Group:运动图像专家组)的编码处理、影像加工处理等的功能。

在该实施方式1中,多处理器LSI 100为由外部的控制器启动、在启动时将存储在外部存储器440的规定的存储器区域中的程序读入并执行的结构,控制器为在启动多处理器LSI 100之前、将想要执行的程序装载到该规定的存储器区域中的结构。

这里,对从启动多处理器LSI 100起、到构成多处理器LSI 100的各处理器开始任务处理为止的启动处理进行说明。

图10是有关本实施方式的多处理器系统进行的上述启动处理的流程图。

如果将多处理器LSI 100启动,则对处理器M123供给1.2V电源电压和800MHz的时钟信号,处理器M123被启动。

如果处理器M123启动,则在该处理器上启动管理器631(步骤S1000)。

如果管理器631启动,则OS任务对应信息保持模块632将存储在外部存储器440的规定的存储区域中的OS任务对应信息读入并保持,电压频率信息保持模块634将存储在外部存储器440的规定的存储区域中的电压频率信息读入并保持,动作模式信息保持模块635将存储在外部存储器440的规定的存储区域中的动作模式信息读入并保持。

接着,处理器选择模块633根据OS任务对应信息保持模块632保持的OS任务对应信息、和动作模式信息保持模块635保持的动作模式信息,从被分配的任务的数量较多的OS起,依次按照动作模式信息决定将各个OS分配给哪个处理器(步骤S1010)。

如果决定向处理器的OS的分配,则处理器选择模块633参照电压频率信息保持模块634保持的电压频率信息,按照所决定的每个处理器,根据对分配给该处理器的OS分配的任务的数量决定该处理器的动作频率和电源电压(步骤S1020)。

如果决定动作频率和电源电压,则处理器选择模块633控制时钟控制部202以成为所决定的动作频率,控制电压控制部203以成为所决定的电源电压,对所决定的处理器发送启动信号,启动该处理器(步骤S1030)。

如果接收到启动信号的处理器分别启动,则在本处理器上启动管理器,再在管理器上启动被分配的OS。

所启动的处理器分别开始对被分配的OS所分配的任务的处理(步骤S1040)。

<具体例>

以下,对于上述启动处理中的、步骤S1010的处理和步骤S1020的处理,使用具体例补充说明。

该具体例是OS任务对应信息保持模块632保持的OS任务对应信息为图7所示的信息的情况下的例子。

在步骤S1010中,处理器选择模块633根据OS任务对应信息保持模块632保持的OS任务对应信息,得知被分配了任务的OS的数量是7个,所以将动作模式信息保持模块635保持的动作模式信息中的、被分配了任务的OS是7个的情况下的动作模式信息读出。

图11是用图表现动作模式信息保持模块635保持的动作模式信息中的、被分配了任务的OS是7个的情况下的动作模式信息的图。

如该图所示,被分配了任务的OS是7个的情况下的动作模式信息,表示从被分配的任务的数量较多的OS起依次对处理器1101、处理器1102、处理器1103、处理器1104、处理器1105、处理器1106、处理器1107进行分配。

因而,处理器选择模块633决定将第1OS向处理器M123分配、将第2OS向处理器H118分配、将第3OS向处理器L122分配、将第4OS向处理器G117分配、将第5OS向处理器1119分配、将第6OS向处理器N124分配、将第7OS向处理器R128分配(步骤S1010)。

接着,处理器选择模块633参照电压频率信息保持模块634保持的电压频率信息,决定被分配了任务数70的第1OS的处理器M123的动作频率为800MHz、电源电压为1.2V,决定被分配了任务数50的第2OS的处理器H118的动作频率为600MHz、电源电压为1.1V,决定被分配了任务数30的第3OS的处理器L122的动作频率为300MHz、电源电压为1.0V,决定被分配了任务数20的第4OS的处理器G117的动作频率为300MHz、电源电压为1.0V,决定被分配了任务数15的第5OS的处理器1119的动作频率为300MHz、电源电压为1.0V,决定被分配了任务数9的第6OS的处理器N124的动作频率为100MHz、电源电压为0.8V,决定被分配了任务数8的第7OS的处理器R128的动作频率为100MHz、电源电压为0.8V(步骤S1020)。

此外,决定没有被分配OS(该OS被分配有任务)的处理器的动作频率为0Hz、电源电压为0V。

图12是表示通过上述具体例决定的、各处理器的动作频率和电源电压的图。

如该图所示,决定处理器A111~处理器F116、处理器J120、处理器K121、处理器O125~处理器Q127和处理器S129~处理器Y135的动作频率为0Hz、电源电压为0V,处理器M123的动作频率为800MHz、电源电压为1.2V,处理器H118的动作频率为600MHz、电源电压为1.1V,处理器L122、处理器G117和处理器1119的动作频率为300MHz、电源电压为1.0V,处理器N124和处理器R128的动作频率为100MHz、电源电压为0.8V。

根据上述多处理器系统,在将作为多处理器系统的处理对象的任务组的任务分配给多个处理器来进行处理的情况下,如果设被分配了任务的处理器中的某个处理器为第1处理器、第2处理器,则在存在第1处理器、和与第1处理器相比直接连接的处理器之中被分配了任务的处理器的数量较少的第2处理器的情况下,对各处理器进行任务的分配,以使得对第1处理器分配的任务的量为对第2处理器分配的任务的量以上。

被分配了更多的任务的处理器与被分配了更少的处理器相比,有与其他被分配了任务的处理器之间的通信量变多的倾向,此外,在相互连接的处理器间的通信中,不需要经由其他处理器。

因而,本多处理器系统能够对各处理器分配任务,以便能够高效率地进行路由处理。

此外,根据上述多处理器系统,由于能够将被分配了对第1处理器分配的任务的量以下的量的任务的第2处理器的动作频率设为第1处理器的动作频率以下,所以通过高效率地决定各处理器的动作频率,从而能够使多处理器系统的耗电相对于性能的效率变好。

此外,根据上述多处理器系统,由于能够将没有被分配任务的处理器的动作停止,所以能够将没有分配任务的处理器的动作功率设为0。

此外,本多处理器系统由于能够将以作为低于第1动作频率的动作频率的第2动作频率进行动作的处理器的动作电压,设为以第1动作频率进行动作的处理器的动作电压以下,所以通过高效率地决定各处理器的动作电压,能够使多处理器系统的耗电相对于性能的效率变好。

<实施方式2>

以下,作为有关本发明的多处理器系统的一实施方式,对有关将实施方式1的多处理器系统的一部分变形后的实施方式2的变形多处理器系统进行说明。

变形多处理器系统每隔一定周期(例如5分钟)尝试作为处理对象的任务的数量的变动的检测,在检测到变动的情况下将任务重新分配给处理器。

变形多处理器系统使用与多处理器系统同样将25个处理器以5×5的矩阵状配置的变形多处理器LSI实现。

有关实施方式1的多处理器系统是将被分配了任务的K个OS分别分配给1个处理器的例子,相对于此,有关实施方式2的变形多处理器系统在处理器上运行的OS是3个,各个OS被分配给1个以上的处理器。

此外,各处理器如果被供给电源电压0.7V和0Hz的时钟信号,则成为如下状态,即:虽然不作为处理器动作、但存储在寄存器等中的数据原样继续保持的状态。

以下,对于有关本实施方式2的变形多处理器系统的结构,以与有关实施方式1的多处理器系统的不同点为中心,参照附图进行说明。

<结构>

有关实施方式2的变形多处理器LSI与有关实施方式1的多处理器LSI100之间的硬件上的不同点是:(1)作为网状电源配线而追加了电压为0.7V的网状构造配线——0.7V电源配线;(2)电压控制部203被变形为变形电压控制部;(3)各电源块的电源选择电路500被变形为电源选择电路1300;(4)时钟控制部202被变形为变形时钟控制部。

此外,在变形多处理器LSI上动作的模块与在多处理器LSI 100上动作的模块之间的不同点是:(1)管理器631被变形为管理器1431;(2)在多处理器LSI 100上动作的OS是第1OS601~第KOS604,相对于此,在变形多处理器LSI上动作的OS被变形为第1OS1401~第3OS1403。

变形电压控制部受在变形多处理器LSI上动作的管理器1431控制,具有对电源块A211~电源块Y235分别输出作为表示电源块的电源电压的信号的、电压信号a~电压信号y的功能。

电压控制部203输出的电压信号A241~电压信号Y265分别是表示1.2V、1.1V、1.0V、0.8V、0V的5种电压的信号中的某1种电压的信号,相对于此,变形电压控制部输出的电压信号a~电压信号y分别为表示1.2V、1.1V、1.0V、0.8V、0.7V、0V的6种电压的信号中的某1个电压的信号。

此外,变形电压控制部设定为,使其在变形多处理器LSI的启动时作为电压信号h、电压信号l、电压信号m而输出表示1.2V的电压的信号。该设定是为了在启动时使处理器H118、处理器L122、处理器M123在电源电压1.2V下动作而设定的。

电源选择电路1300具有接收从变形电压控制部输出的电压信号、将接收到的电压信号表示的电压的电源电压提供给相同的电源块内的处理器、时钟供给电路、本地存储器、高速缓存的功能。

电源选择电路M402选择对1.2V电源配线、1.1V电源配线、1.0V电源配线、0.8V电源配线和接地配线供给的5种电源中的1种电源而提供给块内电源配线,相对于此,电源选择电路1300选择对1.2V电源配线、1.1V电源配线、1.0V电源配线、0.8V电源配线、0.7V电源配线和接地配线供给的6种电源中的1种电源而提供给块内电源配线。

图13是表示电源选择电路1300的结构的框图。

如该图所示,电源选择电路1300具备切换开关1310。

切换开关1310是根据电压信号1321、从1.2V电源配线1331、1.1V电源配线1332、1.0V电源配线1333、0.8V电源配线1334、0.7V电源配线1335、和接地配线1336之中选择1个电源配线,将所选择的电源配线与电源块内电源配线1337电连接的开关。

电容器1340为了去除开关切换时的电压噪声而插入在电源选择电路1300中。

变形时钟控制部是将设定在时钟控制部202中的、在多处理器LSI 100的启动时对ClockM283输出800MHz的时钟信号的设定,变形为在变形多处理器LSI的启动时对ClockH278、ClockL282和ClockM283输出800MHz的时钟信号的设定的单元。该设定是为了在启动时使处理器H188、处理器L122、处理器M123以动作频率800MHz动作而设定的。

图14是表示在变形多处理器LSI上动作的模块的框图。

在变形多处理器LSI上动作的模块中,有管理器1431、在管理器1431上动作的第1OS1401~第3OS1403、在各OS上动作的第1任务1451~第N任务1455等。

这些模块通过由处理器A111~处理器Y135中的1个或多个处理器执行存储在外部存储器440中的程序而动作。

第1任务1451~第N任务1455分别被分配给第1OS1401~第3OS1403中的某1个OS。

第1OS1401~第3OS1403是种类分别相互不同的OS,具备具有进行任务的调度功能的第1调度器1411~第3调度器1413,被管理器1431分配给处理器A111~处理器Y135中的1个以上的处理器,在被分配的所有处理器上动作。

第1调度器1411~第3调度器1413分别具有进行对启动了本调度器的处理器分配的任务的调度的功能、和存储表示本调度器的作为调度的对象的任务的数量的任务负荷指标的功能。

在对处理器分配的任务中有增减的情况下,调度器对增减后的任务组再次进行调度,将存储的任务负荷指标更新为表示增减后的任务组的数量的指标。

在对处理器分配的任务减少的情况下,例如因分配的任务的处理结束,有从被分配的对象的任务中被除外的情况等,此外,在对处理器分配的任务增加的情况下,有处理中的任务产生新的任务的情况等。

管理器1431是从管理器631中删除了OS任务对应信息保持模块632和动作模式信息保持模块635、将处理器选择模块633变形为处理器选择模块1433、将电压频率信息保持模块634变形为电压频率信息保持模块1434、新追加了任务分配标志保持模块1436和连接信息保持模块1435的结构。

任务分配标志保持模块1436与处理器选择模块1433通信,具有保持处理器A111~处理器Y135各自的任务分配标志的功能。

这里,所谓任务分配标志,是表示从启动变形多处理器LSI起到当前为止的期间中是否向对应的处理器分配了任务的1比特的标志,该标志在没有分配任务的情况下为“0”、分配了任务的情况下为“1”。

电压频率信息保持模块1434与处理器选择模块1433通信,具有将存储在外部存储器440的规定的存储区域中的变形电压频率信息读入并保持的功能。

变形电压频率信息是用来将处理器的电源电压和动作频率根据对该处理器分配的任务的数量和对应于该处理器的任务分配标志加以设定的信息。

图15是电压频率信息保持模块1434保持的变形电压频率信息的数据结构图。

如该图所示,变形电压频率信息是将表示对处理器分配的任务的数量的任务数量1501、表示任务分配标志的值的任务分配标志1502、表示电源块的电源电压的电源电压1503、和表示处理器的动作频率的动作频率1504建立了对应的信息。

根据该变形电压频率信息,例如表示对被分配了0个任务、对应的任务分配标志是1的处理器所属于的电源块,供给0.7V的电源电压,而且该处理器在0Hz的动作频率下动作(即不动作),例如对被分配1~10的任务、对应的任务分配标志的值是0或1的处理器所属于的电源块,供给0.8V的电源电压,而且该处理器在100MHz下动作。

这里,对电源块供给了0.7V的电源电压、但属于该电源块的处理器不动作的状态,是属于该电源块的本地存储器、高速缓冲存储器、处理器内的寄存器等因被供给电源电压而保持着数据,但由于处理器不动作,所以不进行数据的写入及读出的状态。

虽然处理器不动作但继续保持着数据,所以在处理器再次动作的情况下,处理器能够将这些数据不进行再装载而加以利用。

系统负荷管理模块1432与第1调度器1411、第2调度器1412、第3调度器1413、处理器选择模块1433通信,具有以下的4个功能。

功能1:计测规定时间T1(例如1分钟)和规定时间T2(例如5分钟)的经过的定时器功能。

功能2:每规定时间T2(例如5分钟)取得启动中的各调度器存储的任务负荷指数的功能。

功能3:存储所取得的任务负荷指数的功能。

功能4:将存储的任务负荷指数与新取得的任务负荷指数比较,在存储的任务负荷指数表示的任务的数量的总和与新取得的任务负荷指数表示的任务的数量的总和之间的变动量是规定量(例如5%)以上的情况下,将存储的任务负荷指数用新取得的任务负荷指数覆盖,并将所取得的任务负荷指数向处理器选择模块1433发送的功能。

连接信息保持模块1435与处理器选择模块1433通信,具有将存储在外部存储器440的规定的存储区域中的连接信息读入并保持的功能。

连接信息是表示处理器间的连接关系的信息。

图16是连接信息保持模块1435保持的连接信息的数据结构图。

如该图所示,连接信息是将确定处理器的处理器ID1601、与确定直接连接的处理器的连接处理器ID建立了对应的信息。

根据该连接信息,例如表示处理器A连接在处理器B和处理器F上。

处理器选择模块1433与系统负荷管理模块1432、任务分配标志保持模块1436、电压频率信息保持模块1434、连接信息保持模块1435通信,具有以下的6个功能。

功能1:如果从系统负荷管理模块接收到任务负荷指标,则按照OS的每个种类计算分配任务的处理器的数量,计算对算出的各处理器分配的任务的数量的功能。

处理器选择模块1433在功能1中,按照每个OS种类计算被分配的处理器的数量和分配给处理器的任务的数量,以便对将任务负荷指标所表示的任务的数量的总和除以80时的商的数量的处理器分别分配80个任务、对1个处理器分配余数的数量的任务。

功能2:根据被分配了任务的处理器的数量、对这些处理器分配的任务的数量、和连接信息保持模块1435保持的连接信息,计算要分配任务的处理器组的候选(以下称作分配处理器组候选)的功能。

处理器选择模块1433在功能2中,基于连接信息,计算要分配任务的处理器的组合的全部,在这些全部的组合之中,如果设被分配了任务的处理器中的某个处理器为第1处理器、第2处理器,则在存在第1处理器、和与第1处理器相比直接连接的处理器之中被分配了任务的处理器的数量较少的第2处理器的情况下,选择对第1处理器分配的任务的量为对第2处理器分配的任务的量以上的组合,计算由该组合表示的处理器组作为分配处理器组候选。

功能3:从分配处理器组候选之中,选择对于处理器与对该处理器分配的OS的组合来说、与正在被分配任务的处理器组的组合之间的差最小的分配处理器组,将所选择的分配处理器组作为要分配任务的处理器组的功能。

功能4:对于构成要分配任务的处理器组的各个处理器,分别使用电压频率信息保持模块1434保持的变形电压频率信息、和任务分配标志保持模块1436保持的任务分配标志,根据对该处理器分配的任务的数量计算该处理器的动作频率和电源电压的功能。

功能5:控制变形块控制部和变形电压控制部,以使得构成要分配任务的处理器组的各个处理器分别在计算出的动作频率和动作电压下动作,并对构成要分配任务的处理器组的各个处理器分别重新分配OS和任务的功能。

功能6:将任务分配标志保持模块1436保持的任务分配标志更新的功能。

处理器选择模块1433在功能6中,在要分配任务的处理器组之中存在新的要被分配任务的处理器的情况下,将任务分配标志保持模块1436保持的、相应的处理器的任务分配标志的值从“0”变更为“1”。

以下,参照附图对如以上那样构成的变形处理器系统的特征性的动作进行说明。

<动作>

这里,对有关本实施方式的变形多处理器系统进行的处理之中的、从启动变形多处理器LSI起到各OS的调度器开始任务的调度为止的启动处理、从各OS的调度器定期地取得任务负荷指标的系统负荷管理、和对各处理器分配任务的处理器选择处理进行说明。

<启动处理>

图17是有关本实施方式2的变形多处理器系统进行的启动处理的流程图。

如果变形多处理器LSI启动,则对处理器H118、处理器L122和处理器M123供给1.2V的电源电压和800MHz的时钟信号,处理器H118、处理器L122和处理器M123启动。

处理器H118、处理器L122和处理器M123如果被启动,则在本处理器上启动管理器1431(步骤S1700)。

进而,处理器M123在管理器1431上启动第1OS1401,处理器H118在管理器1431上启动第2OS1402,处理器L122在管理器1431上启动第3OS1403(步骤S1710)。

如果第1OS1401、第2OS1402、第3OS1403被启动,则各个调度器开始对启动了本调度器的处理器分配的任务的调度,存储表示作为本调度器调度的对象的任务的数量的任务负荷指标(步骤S1720)。

从启动管理器1431起到各调度器存储任务负荷指标为止的所需时间例如是不到1分钟。

<系统负荷管理处理>

图18是有关本实施方式2的变形多处理器系统进行的系统负荷管理处理的流程图。

如果管理器1431启动,则系统负荷管理模块1432在启动处理中,为了在各调度器存储任务负荷指标之前待机,启动定时器而开始规定时间T1(例如1分钟)的计测(步骤S1800)。

如果在启动定时器后经过规定时间T1(例如1分钟),则系统负荷管理模块1432从各OS的调度器取得任务负荷指标,再启动定时器而开始规定时间T2(例如5分钟)的计测(步骤S1810)。

如果取得任务负荷指标,则系统负荷管理模块1432将所取得的各OS的任务负荷指标发送给处理器选择模块1433(步骤S1820),存储所取得的各OS的任务负荷指标(步骤S1830)。

如果步骤S1830的处理结束,则系统负荷管理模块1432待机直到在定时器启动后经过规定时间T2(例如5分钟)(步骤S1840),如果在定时器启动后经过规定时间T2(例如5分钟),则从各OS的调度器取得任务负荷指标,再启动定时器,再次开始规定时间T2(例如5分钟)的计测(步骤S1850)。

如果取得任务负荷指标,则系统负荷管理模块1432将存储的任务负荷指标与所取得的任务负荷指标比较(步骤S1860)。

在比较的结果是任务负荷指标表示的任务的数量的总和的变动量是规定量(例如5%)以上的情况下(步骤S1870:是),变形多处理器系统再次进行步骤S1820以后的处理,在任务负荷指标表示的任务的数量的总和的变动量是低于规定量(例如5%)的情况下(步骤S1870:否),变形多处理器系统再次进行步骤S1840以后的处理。

<处理器选择处理>

图19是有关本实施方式2的变形多处理器系统进行的处理器选择处理的流程图。

如果管理器1431启动(步骤S1900),则任务分配标志保持模块1436将保持的各处理器的任务分配标志用初始值“0”进行初始化(步骤S1905)。

如果步骤S1905的处理结束,则处理器选择模块1433在从系统负荷管理模块1432发送来任务负荷指标之前待机(步骤S1910:否~步骤S1910的循环)。

在步骤S1910中,处理器选择模块1433如果接收到来自系统负荷管理模块1432的任务负荷指标(步骤S1910:是),则按照OS的每个种类,计算分配任务的处理器的数量,计算对计算出的各处理器分配的任务的数量(步骤S1915)。

在步骤S1915中,处理器选择模块1433按照每个OS种类计算被分配的处理器的数量和对处理器分配的任务的数量,以便对将任务负荷指标所表示的任务的数量的总和除以80时的商的数量的处理器分别分配80个任务、对1个处理器分配余数的数量的任务。

如果步骤S1915的处理结束,则处理器选择模块1433根据被分配了任务的处理器的数量、对这些处理器分配的任务的数量、和连接信息保持模块1435保持的连接信息,计算分配处理器组候选(步骤S1920)。

在步骤S1920中,处理器选择模块1433基于连接信息,计算要分配任务的处理器的全部组合,在这些全部组合之中,如果将被分配了任务的处理器中的某个处理器设为第1处理器、第2处理器,则在存在第1处理器、和与第1处理器相比直接连接的处理器之中被分配了任务的处理器的数量较少的第2处理器的情况下,选择对第1处理器分配的任务的量为对第2处理器分配的任务的量以上的组合,选择由该组合表示的处理器组作为分配处理器组候选。

如果步骤S1920的处理结束,则处理器选择模块1433从计算出的分配处理器组候选之中,选择对于处理器与对该处理器分配的OS的组合来说、与正在被分配任务的处理器组的组合之间的差最小的分配处理器组,将选择出的分配处理器组作为要分配任务的处理器组(步骤S1925)。

如果步骤S1925的处理结束,则处理器选择模块1433对于构成要分配任务的处理器组的各个处理器,分别使用电压频率信息保持模块1434保持的变形电压频率信息、和任务分配标志保持模块1436保持的任务分配标志,根据对该处理器分配的任务的数量计算该处理器的动作频率和电源电压(步骤S1930)。

如果步骤S1930的处理结束,则处理器选择模块1433检查在要分配任务的处理器组之中是否存在新的被分配了任务的处理器(步骤S1935)。

所谓新的被分配的处理器,是被分配了任务的处理器之中的、任务分配标志保持模块1436保持的任务分配标志的值是“0”的处理器。

在步骤S1935中,在存在新被分配了任务的处理器的情况下(步骤S1935:是),处理器选择模块1433将任务分配标志保持模块1436保持的、相应的处理器的任务分配标志的值从“0”变更为“1”(步骤S1940)。

在步骤S1940的处理结束的情况下、和在步骤S1935中不存在新被分配任务的处理器的情况下(步骤S1935:否),处理器选择模块1433控制变形时钟控制部和变形电压控制部,以使构成要分配任务的处理器组的各个处理器分别在计算出的动作频率和电源电压下动作,并且对构成要分配任务的处理器组的处理器分别重新分配OS和任务(步骤S1945)。

如果步骤S1945的处理结束,则变形多处理器系统再次回到步骤S1910的处理,重复步骤S1910以后的处理。

根据上述变形多处理器系统,在作为变形多处理器系统的处理对象的任务的数量随着时间的经过而变动的情况下,能够将OS和任务重新对处理器分配。

因而,在作为处理对象的任务的量随时间变动的情况下,也能够对各处理器重新分配任务、以便能够高效率地进行路由处理。

<实施方式3>

以下,作为有关本发明的多处理器系统的一实施方式,对将有关实施方式2的变形多处理器系统的一部分进一步变形后的有关实施方式3的第2变形多处理器系统进行说明。

第2变形多处理器系统每隔一定周期(例如5分钟)将任务重新对处理器分配,以使得当前被分配最多任务的处理器不会成为新的要被分配最多任务的处理器。

这是为了防止因对同一处理器长期间分配许多任务发生的热失控。

第2变形多处理器系统与变形多处理器系统没有硬件的不同点,但动作的软件的一部分相互不同。

以下,以与有关实施方式2的变形多处理器系统的不同点为中心,参照附图对有关本实施方式的第2变形多处理器系统的结构进行说明。

图20是表示在第2变形多处理器系统中、在变形多处理器LSI上动作的模块的框图。

在第2变形多处理器系统中动作的模块为:将变形多处理器系统中动作的模块之中的、管理器1431变更为管理器2031的结构。

管理器2031与管理器1431相比,将系统负荷管理模块1432变形为系统负荷管理模块2032、将处理器选择模块1433变形为处理器选择模块2033。

系统负荷管理模块2032与第1调度器1411、第2调度器1412、第3调度器1413、处理器选择模块2033通信,除了系统负荷管理模块1432具有的功能1和功能2以外,还具有以下的功能。

功能3a:将所取得的任务负荷指数发送给处理器选择模块2033的功能。

处理器选择模块2033与系统负荷管理模块2032、任务分配标志保持模块1436、电压频率信息保持模块1434、连接信息保持模块1435通信,除了处理器选择模块1433具有的功能1、功能2、功能4、功能5和功能6以外,还具有以下的功能。

功能3a:对与当前被分配最多任务的处理器不同的处理器分配最多任务,并且选择对于处理器与对该处理器分配的OS的组合来说、与正在被分配任务的处理器组的组合之间的差最小的分配处理器组,将所选择的处理器组作为要分配任务的处理器组的功能。

以下,参照附图对以上那样构成的第2变形多处理器系统的特征性的动作进行说明。

<动作>

这里,对有关本实施方式3的第2变形多处理器系统进行的处理中的、从各OS的调度器定期地取得任务负荷指标的变形系统负荷管理处理、和对各处理器分配任务的变形处理器选择处理进行说明。

<变形系统负荷管理处理>

该变形系统负荷管理处理是将实施方式2的系统负荷管理处理的一部分变形的处理,如果实施方式2的系统负荷管理处理的步骤S1820的处理结束,则不进行步骤S1830的处理而进行步骤S1840以下的处理,如果步骤S1850的处理结束,则不进行步骤S1860的处理和步骤S1870的处理,而再次进行步骤S1820以下的处理。

图21是有关本实施方式3的第2变形多处理器系统进行的变形系统负荷管理处理的流程图。

步骤S2100~步骤S2120、步骤S2140~步骤S2150的处理,分别对应于实施方式2的系统负荷管理处理的步骤S1800~步骤S1820、步骤S1840~步骤S1850(参照图18)的处理,并将管理器1431替换为管理器2031,将系统负荷管理模块1432替换为系统负荷管理模块2032,将处理器选择模块1433替换为处理器选择模块2033。

因而,这里省略说明。

如果步骤S2120的处理结束,则第2变形多处理器系统进行步骤S2140的处理,此外,如果步骤S2150的处理结束,则第2变形多处理器系统再次进行步骤S2120以后的处理。

<变形处理器选择处理>

该变形处理器选择处理是将实施方式2的处理器选择处理的一部分变形后的处理,将实施方式2的处理器选择处理的步骤S1925的处理替换为了后述的步骤S2225的处理。

图22是有关本实施方式3的第2变形多处理器系统进行的变形处理器选择处理的流程图。

步骤S2200~步骤S2220、步骤S2230~步骤S2245的处理分别对应于实施方式2的处理器选择处理的步骤S1900~步骤S1920、步骤S1930~步骤S1945(参照图19)的处理,并将管理器1431替换为管理器2031,将系统负荷管理模块1432替换为系统负荷管理模块2032,将处理器选择模块1433替换为处理器选择模块2033。

因而,这里省略说明。

如果步骤S2220的处理结束,则处理器选择模块2033对与当前被分配最多的任务的处理器不同的处理器分配最多任务,并且选择对于处理器和对该处理器分配的OS的组合来说、与正在被分配任务的处理器组的组合之间的差最小的分配处理器组,将所选择的分配处理器组作为要分配任务的处理器组(步骤S2225)。

如果步骤S2225的处理结束,则第2变形多处理器系统进行步骤S2230以后的处理。

<具体例>

图23是表示即将由管理器2031重新对处理器分配任务之前的时刻(以后称作时刻t1)和刚刚重新分配之后的时刻(以后称作时刻t2)的、对处理器分配的OS和任务数的一例的图。

该图的上图是表示时刻1时的对处理器分配的OS和任务的数量的图,下图是时刻t2时的对处理器分配的OS和任务的数量的图。

在时刻t1,被分配最多任务的处理器是被分配了第1OS和任务数80的处理器M123、以及被分配第2OS和任务数80的处理器H118,但如果成为时刻t2,则被分配最多任务的处理器成为被分配第1OS和任务数80的处理器L122、以及被分配第2OS和任务数80的处理器G117。

这样,每当管理器2031将任务重新分配给处理器,被分配最多任务的处理器就变化,所以不会对同一个处理器持续分配最多的任务。

根据上述多处理器系统,在将任务重新分配给处理器的情况下,能够将任务重新分配给处理器,以使当前被分配最多任务的处理器不会成为新的被分配最多任务的处理器。

因而,能够防止因同一个处理器长期间被分配许多任务而发生的热失控。

此外,如果由温度较高的处理器执行处理,则可知与由温度较低的处理器执行的情况相比耗电量变大,如果由温度较高的处理器持续执行处理,则可知因热带来的劣化使该处理器的故障发生率变高,但根据上述多处理器系统,能够抑制因处理器的温度变高带来的耗电量的增加,抑制因处理器的温度变高带来的故障发生率的增加。

<补充>

以上,作为有关本发明的多处理器系统的一实施方式,设为实施方式1、实施方式2、实施方式3,基于3个多处理器系统的例子进行了说明,但也可以如以下这样变形,本发明当然并不限定于由上述实施方式表示那样的认证系统。

(1)在实施方式1中,对于多处理器LSI 100由以5×5的矩阵状配置的25个处理器构成、各处理器彼此是具有相同的功能的相同的形状的例子进行了说明,但只要是包括3个以上的相互通信的处理器的结构,这些处理器并未全部相互直接连接的结构就可以,处理器的数量也可以不一定是25个,也不一定需要将处理器以5×5的矩阵状配置,各处理器也不一定需要是相同的功能,各处理器也不一定需要是相同的形状。

(2)在实施方式1中,对于第1OS601~第KOS604分别是相互不同的种类的OS的例子进行了说明,但只要是在管理器631上动作,并不一定需要是相互不同种类的OS,它们的一部分或全部也可以是相同种类的OS。

(3)在实施方式1中,作为动作模式信息的例子,举出了图9a~图9f、图11所示的例子,但如果设被分配了任务的处理器中的某个处理器为第1处理器、第2处理器,则该动作模式信息只要是在存在第1处理器、和与第1处理器相比直接连接的处理器之中被分配了任务的处理器的数量较少的第2处理器的情况下,将OS与处理器建立对应,以使得对于第1处理器和第2处理器的全部组合,对第1处理器分配的任务的量为对第2处理器分配的任务的量以上,则并不一定需要限定于图9a~图9f、图11所示的信息。

(4)在实施方式1中,对于管理器631基于对各OS分配的任务的数量将各OS分配给处理器的例子进行了说明,但只要是表示对各OS分配的任务的量,则也可以并不一定需要基于对各OS分配的任务的数量。例如,也可以是包含在任务中的命令步骤的总数、任务所处理的数据的大小等。

包含在被分配的任务中的命令步骤的总数更多的处理器,与包含在被分配的任务中的命令步骤的总数更少的处理器相比,有与其他被分配任务的处理器之间的通信量变多的倾向,被分配的任务所处理的数据的大小更大的处理器与被分配的任务所处理的数据的大小更小的处理器相比,有与其他被分配任务的处理器之间的通信量变多的倾向。

(5)在实施方式1中,对于构成多处理器系统的所有的处理器构成在1个半导体集成电路内的例子进行了说明,但只要各处理器能够相互通信,并不一定需要所有的处理器构成在1个半导体集成电路内,例如也可以构成在多个半导体集成电路内,此外,也可以不一定由半导体集成电路形成处理器。

(6)在实施方式1中,对于多个处理器配置在1个平面内的结构的例子进行了说明,但只要各处理器能够相互通信,也可以并不一定配置在1个平面内。

图24是表示将18个处理器(处理器2401~处理器2414)以3×3×2的3维状配置的例子的图。

例如,如该图所示,也可以是将多个处理器以3维状配置的结构。

(7)在实施方式1中,对于包含在各电源块中的处理器、本地存储器、和高速缓冲存储器在相同的时钟信号和电源电压的组合下动作的例子进行了说明,但只要处理器能够正常使用本地存储器和高速缓冲存储器,并不需要处理器、本地存储器和高速缓冲存储器在相同的时钟信号和电源电压的组合下动作。

例如,也可以是高速缓冲存储器配置在与处理器不同的电源块中,与处理器的动作频率和电源电压无关而总是在100MHz的动作频率和电源电压0.8V下动作的结构等,也可以是本地存储器配置在与处理器不同的电源块中,在独立于处理器而被控制的动作频率和电源电压下动作的结构。

(8)在实施方式1中,对于外部存储器440存在于多处理器LSI 100的外部的例子进行了说明,但也可以集成在多处理器LSI 100内。

(9)在实施方式1中,对于根据对处理器分配的任务的数量来设定该处理器的电源电压和动作频率的例子进行了说明,但也可以根据对处理器分配的任务的数量来设定该处理器的动作频率,而处理器的电源电压则不论对该处理器分配的任务的数量如何都为一定,也可以不论对处理器分配的任务的数量如何,该处理器的电源电压和动作频率都为一定。

(10)在实施方式2中,对于从分配处理器组候选之中,选择对于该处理器与对该处理器分配的OS的组合来说、与正在被分配任务的处理器组的组合之间的差最小的分配处理器组,并将所选择的分配处理器组作为分配任务的处理器组的例子进行了说明,但也可以是,选择对于处理器与该处理器的电源电压的组合来说、与正在被分配任务的处理器组的组合之间的差最小的分配处理器组,也可以是,选择对于处理器与该处理器的动作频率的组合来说、与正在被分配任务的处理器组的组合之间的差最小的分配处理器组。

(11)在实施方式2中,对于在管理器1431上有3个种类的OS动作的例子进行了说明,但OS的种类也可以不一定是3个。

(12)在实施方式2中,对于将任务分配标志由任务分配标志保持模块1436在管理器1431启动时用初始值“0”进行初始化的例子进行了说明,但并不一定需要限定于仅在管理器1431启动时设定为“0”的结构。

关于长时间没有被分配任务的处理器,也有存储在对应的本地存储器、高度缓存等中的数据不是最新的数据的可能性变高的情况。

因此,也可以是例如任务分配标志保持模块1436对于一定时间(例如15分钟)以上没有任务分配的处理器,将任务分配标志设定为“0”的结构。

(13)在实施方式2中,对于与对各处理器以80个为上限来分配任务的例子进行了说明,但并不一定需要将上限限定于80个,根据任务的种类及处理器的性能,也可以将任务的上限数设为81个以上或79个以下。

(14)在实施方式3中,对于第2变形多处理器系统按每规定的时间进行将任务重新分配给处理器的例子进行了说明,但并不一定需要按每规定的时间进行,例如也可以在检测到作为处理对象的任务的数量变动的情况下将任务重新分配给处理器。

产业上的可利用性

本发明能够广泛地在具备多个处理器的信息处理装置中使用。

标号说明

651第1任务

652第2任务

653第3任务

654第4任务

655第N任务

601第1OS

602第2OS

603第3OS

604第KOS

631管理器

632OS任务对应信息保持模块

633处理器选择模块

634电压频率信息保持模块

635动作模式信息保持模块

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号