一种具备处理器的集成电路,该集成电路具备:循环检测部,检测处理器中循环处理的执行;循环传递相关解析部,检测循环处理中的循环传递相关;以及电力控制部,当在循环处理中没有检测到循环传递相关的情况下进行节电控制。通过检测在循环处理中存在循环传递相关,能够将运算用等的循环处理设为节电控制的对象之外。结果,能够检测更多种的忙碌等待的执行,降低由于忙碌等待而浪费的电力。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及具有处理器的集成电路、计算机系统及控制方法,尤其涉及降低处理器执行忙碌等待(busy wait)时的电力消耗的集成电路、计算机系统及控制方法。
技术介绍
在具有处理器的计算机系统中,当等待来自用户的输入的情况下、或者在并行工作的多个处理器(或者多个逻辑处理器、进程(process)、线程等)之间取得同步的情况下,往往采用忙碌等待。在执行忙碌等待的情况下,例如在处理器中执行反复检查特定的变量(例如同步用变量)的值的循环处理。并且,在特定的变量的值变为设定值时循环处理结束,执行原来的处理。这样,通过采用忙碌等待,能够在并行工作的多个处理器等之间进行当一个处理器的处理完成后开始另一个处理器的处理的同步处理,因而在计算机系统领域中被广泛采用。但是,忙碌等待具有浪费处理器的资源的缺点。在忙碌等待中,例如,为了监视同步用变量而反复进行的循环的次数根据情况从几百次到超过几万次。因此,从电力消耗的角度考虑,忙碌等待是浪费较大的控制方法。为此,专利文献1公开了用于削减忙碌等待的一种即自旋等待(spin wait)时的电力消耗浪费的方法。在此,参照图33对自旋等待进行说明。自旋等待例如被应用于多处理器之间的同步处理,在图33中,假设两个处理器按顺序地执行被分为前级和后级的处理的情况。并且,自旋锁(互锁的一种)由第一处理器侧的设定部1101、第二处理器侧的验证部1102和同步处理用的变量1110构成。第一处理器的设定部1101在向同步用变量1110写入“0”后,进行前级处理Sllll0若前级处理Sllll结束,第一处理器向同步用变量1110写入“1”。另一方面,第二处理器的验证部1102在同步用变量1110的值成为“1”之前无法开始后级处理S1122。因此,在同步用变量1110成为“1”之前,反复进行步骤S1121的判定并等待(即反复进行循环并等待),处于自旋等待状态而浪费电力。公开了这样的方法,即在专利文献1的计算机检测到处理器执行了在自旋等待中使用的命令序列时,将处理器设为节电状态。在此,参照图34对自旋等待命令的检测方法进行说明。图34是表示上述专利文献1记载的自旋等待检测部的结构的图。自旋等待检测部1222具有处理器的已执行命令序列缓冲器1234、自旋等待命令序列存储部1236、和将两者所包含的命令序列进行比较的比较部1238。在自旋等待命令序列存储部1236中,存储有自旋等待特有的互锁(interlock)命令序列(作为示例,有test_and_set、compare_and_swap)。并且,在由比较部1238检测到在已执行命令序列缓冲器1234中包含被存储于自旋等待命令序列存储部1236中的互锁命令序列时,输出自旋等待命令检测信号1241。以该自旋等待命令检测信号1241为触发,处理器被设为节电状态。现有技术文献专利文献专利文献1 日本专利第4253796号公报专利技术概要专利技术要解决的问题但是,在所述的现有结构中,根据在自旋等待命令序列存储部1236中存储的特定的命令序列(teSt_and_Set等)已被执行这一情况来检测忙碌等待,因而无法检测采用与上述特定的命令序列不同的命令序列的忙碌等待。另外,在想要利用上述现有结构来检测采用多种命令序列的忙碌等待时,在自旋等待命令序列存储部1236中存储多种命令序列,并将多种命令序列分别与已执行命令序列进行比较,这种处理自然会产生界限。即,由于能够检测的忙碌等待有限,因而存在电力消耗的可削减的状况有限的问题。
技术实现思路
本专利技术正是为了解决所述现有技术中的问题而提出的,其目的在于,提供一种集成电路、计算机系统及控制方法,能够检测更多种的忙碌等待的执行,并降低由于在处理器中执行忙碌等待而浪费的电力。用于解决问题的手段为了解决上述问题,本专利技术的集成电路具备处理器,并具备循环检测部,检测上述处理器中循环处理的执行,该循环处理反复执行由一个以上的命令构成的循环;循环传递相关解析部,在上述循环处理中检测命令之间的相关跨执行次不同的两个循环的循环传递相关;以及电力控制部,当上述循环传递相关解析部没有在上述循环检测部检测到的循环处理中检测到循环传递相关的情况下,进行节电控制,该节电控制使由于执行上述循环处理而产生的电力消耗降低。专利技术效果本专利技术的集成电路,能够由循环检测部检测循环处理,由循环传递相关解析部判别循环处理是否是忙碌等待用的循环处理。因此,不用与特定的命令序列(例如,互锁用的命令序列)进行比较,即可检测忙碌等待用的循环。因此,能够容易地检测由特定的命令序列之外的命令序列构成的忙碌等待用的循环,并能够在忙碌等待时进行节电控制。结果,能够检测更多种的忙碌等待的执行,并降低由于忙碌等待的执行而浪费的电力。附图说明图1是示意地表示具有实施方式1的集成电路的计算机系统1300的结构的图。图2是简化并示意地表示具有实施方式1的集成电路的计算机系统1300的结构的图。图3是对实施方式1的集成电路所包含的处理器1301的命令集1400进行示例的图。图4是对实施方式1的处理器1301的寄存器集1500进行示例的图。图5是对实施方式1的命令序列1600进行示例的图。图6是表示实施方式1的循环检测部1701的处理的流程图。图7是表示实施方式1的循环范围存储部1900的数据构造的图。图8是表示实施方式1的构成循环的命令序列2100的一例的图。图9是表示实施方式1的循环传递相关解析部1701的处理的流程图。图10是表示在实施方式1中循环传递相关解析部1701采用的相关关系解析用缓冲器2200的数据的图。图11是表示实施方式1的构成循环的命令序列的一例的图。图12是表示在实施方式1中循环传递相关解析部1701采用的相关关系解析用缓冲器2700的数据的图。图13是表示实施方式1的第一电力控制部1703的处理的流程图。图14是表示实施方式1的循环脱离检测部1704的处理的流程图。图15是表示实施方式1的第二电力控制部1705的处理的流程图。图16是表示实施方式1的构成循环传递相关解析部1701的一部分的电子电路的图。图17是表示实施方式1的构成循环传递相关解析部1701的一部分的电子电路的图。图18是表示实施方式1的构成循环传递相关解析部1701的一部分的电子电路的图。图19是示意地表示变形例的计算机系统观00的结构的图。图20是示意地表示实施方式2的应对多线程的计算机系统四00的结构的图。图21是示意地表示实施方式2的寄存器组四10的结构的图。图22是表示实施方式2的第一电力控制部3013的处理的流程图。图23是表示实施方式2的第二电力控制部3015的处理的流程图。图M是表示实施方式2的第一电力控制部3013的处理的流程图。图25是表示实施方式2的第二电力控制部3015的处理的流程图。图沈是示意地表示实施方式3的计算机系统4000的结构的图。图27是表示实施方式3的程序计数器监视部4100的节电控制的有关动作的流程图。图28是表示实施方式3的总线监视部4100的动作的流程图。图四是表示实施方式3的程序计数器监视部4100的节电控制结束的有关动作的流程图。图30是示意地表示实施方式4的计算机系统4500的结构的图。图31是对其它命令集1400A进行示例的图。图32是对其它命令集1400B本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:杉山真史,齐藤雅彦,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。