指令发行控制装置以及方法制造方法及图纸

技术编号:8327639 阅读:241 留言:0更新日期:2013-02-14 13:32
在能够执行多线程的多线程处理器中,为了选择改进多线程处理器的吞吐量的线程以及指令,多线程处理器(100)所具备的指令发行控制装置(220),具备:资源管理部(210),管理示出正在执行的线程的每一个线程是否处于暂停的暂停信息;线程选择部(206),选择正在执行的线程中的、未处于暂停的线程;以及指令发行控制部(204),进行控制,以使从被选择的线程中能够同时发行的指令被发行。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及,能够执行多线程的处理器系统结构。
技术介绍
在单线程的执行时,由于各种各样的原因(指令高速缓存失败,数据高速缓存失败,指令间损失等),导致处理器暂停(stall)。根据该暂停的周期,导致在单线程的执行时的处理器的执行效率(即,吞吐量)降低。于是,为了提高处理器的执行效率,提出了具有能够同时执行多个线程的系统结构的多线程处理器。对于能够同时执行多个线程的多线程处理器中,周知的是,例如,利用循环方式,一边以一定的时间间隔切换要执行的线程,一边进行线程的执行的方式。在此情况下,每个线程的处理所需要的时间,比基于单一的线程的执行时长,但是,即使某线程暂停,在一定时间后也执行其他的线程,因此,与基于单一的线程的执行时相比,整体的吞吐量提高,据此,处理器的执行效率提高。然而,在多线程的切换时,若单纯地以一定的时间间隔切换线程,则难以估计直到处理完成为止的处理时间,在需要实时性的领域的实用性低。并且,由于线程的执行顺序也不是最佳,因此,处理器的执行效率低。于是,为了执行使处理时间的估计以及执行效率提高的线程切换,提出了如专利文献1、2那样的技术。在专利文献1中,利用详细整体结构图,说明了线程调度。根据该结构,考虑线程的优先级,能够以优先级更高的线程的执行效率提高的方式来选择线程。并且,在专利文献2中进行了关于以下的技术的说明,即,对线程内的指令发行组进行计数,来计算线程处理所需要的周期数,据此,考虑线程的优先级,来高效率地切换多线程。利用图12,更具体地进行说明。图12示出以往技术的具有指令发行控制装置的多线程处理器的整体结构图。而且,本整体结构图中设想能够同时执行N线程的多线程处理器,但是,实际上,能够执行的线程的数量不受任何限制。如图12所示,以往技术的具有指令发行控制装置的多线程处理器具备:指令高速缓冲存储器101;指令获取部102;指令缓冲器103;指令发行控制装置104;指令执行部107;数据高速缓冲存储器108;以及寄存器文件109。指令高速缓冲存储器101,根据指令获取部102的请求,向指令缓冲器103提供指令。在被请求的指令没有被高速缓存的情况下,从位于多线程处理器的外部的主存储器(没有图示)获得指令。指令获取部102,根据指令缓冲器103的请求,将指令从指令高速缓冲存储器101获取到指令缓冲器103。指令缓冲器103,按照对应的每个线程存在N个,存放各个线程需要执行的指令的串。指令发行控制装置104,向指令缓冲器103发送控制信号,将指令执行部107下次需要执行的指令作为指令组来发行。指令执行部107是,包括加法器以及乘法器等、多个运算器的处理部,执行由指令缓冲器发行的指令组。数据高速缓冲存储器108,根据指令执行部107的请求,向指令执行部107提供运算所需要的数据。数据高速缓冲存储器108,在没有存放被请求的数据的情况下,从位于多线程处理器的外部的主存储器(没有图示)获得被请求的数据后,向指令执行部107提供。寄存器文件109,按照对应的每个线程存在N个,与关于各个线程的指令执行的寄存器访问对应。也就是说,是保持以下的数据的寄存器群,即,通过执行指令缓冲器103中存放的各个线程从而成为读出以及写入的对象的数据。指令发行控制装置104具备,指令分组部105和线程选择部106。指令分组部105,从与线程选择部106选择的线程对应的指令缓冲器103内的指令中,根据指令缓冲器内的依赖关系,将能够同时执行的一个以上的指令作为指令组来分组。也就是说,按照被选择的每个线程,将在同一周期能够发行的指令作为一个组来分组。线程选择部106,根据预先决定或动态地变化的优先级,从N个线程中,决定下次需要执行的线程。也就是说,图1所示的以往技术的指令发行控制装置104,根据由线程选择部106预先决定或动态地变化的优先级,决定要执行的线程。并且,将与要执行的线程对应的指令缓冲器103中存放的指令串作为能够发行的组来分组,向指令执行部107发行。(现有技术文献)(专利文献)专利文献1:国际公开第2006/129767号专利文献2:日本特开2008-123045号公报然而,在以往的线程切换方式中存在的问题是,不能充分地抑制因线程暂停的发生而导致的多线程处理器的吞吐量的降低。更详细而言,利用图11进行说明。图11是示出分配到线程A801、线程B802以及线程C803的三个线程的指令的执行定时以及暂停定时的模式图。在线程A801、线程B802、线程C803中设想,如图所示,预先存在暂停周期发生的区间。在以往技术中执行这样的线程的结果为,时间图804、时间图805以及时间图806。时间图804示出,由线程A801的指令的执行定时以及暂停定时。时间图805示出,由线程B802的指令的执行定时以及暂停定时。时间图806示出,由线程C803的指令的执行定时以及暂停定时。如图11的时间图804至806所示,例如,在线程A801中分配周期821后,线程B802中分配周期822,接着,线程C803中分配周期823。进而,线程A801中分配周期824,接着,线程B802中分配周期825,接着,线程C803中分配周期826。并且,对于周期831至周期836的6周期,虽然各个线程中分配周期,但是,由于各个线程暂停,因此成为不能执行线程的周期。在图11中,周期831至周期836的6周期是无用的。在专利文献1中,虽然提及了考虑高速缓存失败以及分支预测失败等的暂停时间来切换线程的情况,但是,没有公开用于实现它的处理所需要的控制线以及具体算法。并且,没有提及考虑到具有依赖关系的指令间的损失的线程切换。在专利文献2中,虽然说明了考虑指令间损失来进行线程控制,但是,没有提及具体控制方法。也就是说,在所述现有技术文献中没有提出,用于使根据因指令执行中的各种各样的原因(指令/数据高速缓存失败、指令间损失)发生的线程暂停而降低的多线程处理器的吞吐量提高的具体技术。
技术实现思路
为了解决所述的以往的问题,本专利技术的目的在于提供,能够抑制因线程暂停的发生而导致的多线程处理器的吞吐量的降低的指令发行控制装置以及具备这样的指令发行控制装置的多线程处理器。为了解决所述以往的课题,本专利技术的某局面涉及的指令发行控制装置,具备:资源管理部,管理暂停信息,该暂停信本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.06.11 JP 2010-1345281.一种指令发行控制装置,是多线程处理器所具备的指令发行控制
装置,该指令发行控制装置具备:
资源管理部,管理暂停信息,该暂停信息示出正在执行的线程的每一
个线程是否处于暂停;
线程选择部,选择所述正在执行的线程中的、未处于暂停的线程;以

指令发行控制部,控制所述多线程处理器,以使从被选择的所述线程
中能够同时发行的指令被发行。
2.如权利要求1所述的指令发行控制装置,
所述资源管理部,针对所述正在执行的线程的每一个线程,管理示出
还有几个暂停周期的暂停周期数,判断所述暂停周期数是否为1以上,在
所述暂停周期数为0的情况下,判断为线程未处于暂停,从而更新所述暂
停信息。
3.一种多线程处理器,是具备指令执行部和指令发行控制装置的多线
程处理器,
所述指令发行控制装置具备:
资源管理部,管理暂停信息,该暂停信息示出正在执行的线程的每一
个线程是否处于暂停;
线程选择部,选择所述正在执行的线程中的、未处于暂停的线程;以

指令发行控制部,进行控制,以使从被选择的所述线程中能够同时发
行的指令被发行到所述指令执行部。
4.如权利要求3所述的多线程处理器,
所述资源管理部,针对所述正在执行的线程的每一个线程,管理示出
还有几个暂停周期的暂停周期数,判断所述暂停周期数是否为1以上,在
所述暂停周期数为0的情况下,判断为线程未处于暂停,从而更新所述暂
停信息。
5.如权利要求4所述的多线程处理器,
所述资源管理部具备第一标志保持部以及第一计数器,所述第一标志

\t保持部保持作为所述暂停信息的线程就绪标志,所述第一计数器是用于管
理所述暂停周期数的计数器,
在所述第一计数器为1以上的情况下,将所述线程就绪标志设定为0,
在所述第一计数器为0的情况下,将所述线程就绪标志设定为1。
6.如权利要求4所述的多线程处理器,
所述多线程处理器具备,存储多个线程的每一个线程的指令串的多个
指令缓冲器,
所述指令发行控制部具备指令分组部,该指令分组部,将所述多个指
令缓冲器所存储的指令中的、下次将要向所述指令执行部发行的能够同时
发行的一个以上的指令,作为指令组来分组,
所述指令分组部,进行所述分组,以使所述多个指令缓冲器所存储的
指令中的、与由所述指令执行部正在执行的指令之间不具有依赖关系的指
令优先包含在所述指令组中。
7.如权利要求6所述的多线程处理器,
所述资源管理部具有第二标志保持部以及第二计数器,
所述第二标志保持部,保持资源就绪标志,该资源就绪标志示出所述
正在执行的线程的每一个线程当前是否占有共享资源的每一个共享资源,
所述第二计数器,示出所述正在执行的线程的每一个线程占有所述共
享资源的每一个共享资源的剩余周期数,
所述指令分组部,进行所述分组,以使所述多个指令缓冲器所存储的
指令中的、使用当前被占有的共享资源的指令不包含在所述指令组中。
8.如权利要求7所述的多线程处理器,
所述指令分组部,将当前被占有的所述共享资源的识别信息以及占有
该共享资源的线程的识别信息,通知给所述资源管理部,
所述资源管理部,按照与被通知的所述共享资源对应的所述第二计数
器,更新与被通知的所述识别信息对应的线程的所述第一计数器。
9.如权利要求6所述的多线程处理器,
所述指令分组部,在所述多个指令缓冲器所存储的指令与由所述指令
执行部正在执行的指令之间具有依赖关系的情况下,将所述指令缓冲器所
存储的指令所属的所述正在执行的线程的识别信息以及所述正在执行的指

\t令的剩余执行周期数,通知给所述资源管理部,
所述资源管理部,按照被通知的所述剩余执行周期数,更新与所述识
别信息对应的线程的所述第一计数器。
10.如权利要求6所述的多线程处理器,
所述多线程处理器具备数据高速缓冲存储器,该数据高速缓冲存...

【专利技术属性】
技术研发人员:山名智寻
申请(专利权)人:松下电器产业株式会社
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1