处理器和流水线重配置控制方法技术

技术编号:2856784 阅读:212 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种处理器和流水线重配置控制方法。可重配置处理器从硬件配置信息计算用于执行流水线处理的配置的执行时间,并且确定处理结束前的时钟周期。计数器将所确定的时钟周期与实际已经过去的时钟数比较,并且当已经过去的时钟数等于时钟周期时,判定流水线处理已经结束,并且将其通知给配置控制器。

【技术实现步骤摘要】

本专利技术涉及可重配置硬件中的。
技术介绍
近来,出现了动态可重配置技术,用于动态地重配置硬件以适应应用,其通过使用可重配置硬件以使得在实际执行处理时可以灵活地对待应用。可重配置硬件的一个示例是算术和逻辑单元(ALU)模块,它是执行诸如四种算术运算、逻辑运算等处理的电路。通过使用可重配置网络连接多个ALU模块,并且通过ALU模块执行获得同步并行运算处理的流水线处理,可以提高性能。具体地说,通过在执行循环命令时使用流水线处理,可以有效减少执行周期的数目。对于通过流水线处理执行循环命令的情况,已经公开了一种装置,该装置通过使用包括循环地址开始寄存器、循环地址结束寄存器、比较器和循环计数器的循环控制装置,优化了循环初始命令的安排,并且减少了循环开始处的开销(日本专利申请早期公开第H9-237186号公报)。但是,当流水线处理已经被执行时,重要的是判断切换可重配置硬件部分的安排(后文中称为“配置”)的时机,即,判断一系列过程已经结束的时间,因为当在这一系列过程结束后执行重配置时,切换时间变为整个处理的开销,并导致性能恶化。
技术实现思路
本专利技术的目的是解决传统技术中的至少这些问题。根据本专利技术一个方面的处理器在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理,其中ALU模块具有多个ALU,该处理器包括执行时间计算单元,其计算ALU模块的每个连接配置的执行时间;时钟计数器,其对运算处理的执行周期进行时钟计数;和配置控制单元,当由时钟计数器计数的时钟数达到由执行时间计算单元计算的执行时间时,该配置控制单元切换ALU模块的连接配置。根据本专利技术,可以通过使用时钟周期来计算一个配置做出的运算的执行时间,并且不需要监视ALU块的实际数据处理状态就可以判断流水线处理的结束时间。并且,根据本专利技术另一方面的处理器在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理,其中ALU模块具有多个ALU,该处理器包括设置单元,其设置对于ALU模块的每个连接配置的被处理数据数目;计数器,其对ALU模块的每个连接配置的被处理数据数目计数;和配置控制单元,当由计数器计数的被处理数据数目达到由设置单元设置的被处理数据数目时,该配置控制单元切换ALU模块的连接配置。根据本专利技术,因为ALU块监视目标数据,所以可以相应于各种情况灵活地判断流水线处理的结束时间,这些情况例如是当从外部输入或当向外部输出运算结果,而无论存储器读出和写入。并且,根据本专利技术另一方面的重配置控制方法使用在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理的处理器,其中ALU模块具有多个ALU,该方法包括执行时间计算步骤,该步骤计算ALU模块的每个连接配置的执行时间;时钟计数步骤,该步骤对运算处理的执行周期进行时钟计数;和配置控制步骤,当在时钟计数步骤中计数的时钟数达到在执行时间计算步骤中计算的执行时间时,该配置控制步骤切换ALU模块的连接配置。并且,根据本专利技术另一方面的重配置控制方法使用在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理的处理器,其中ALU模块具有多个ALU,该方法包括设置步骤,该步骤设置对于ALU模块的每个连接配置的被处理数据数目;计数步骤,该步骤对ALU模块的每个连接配置的被处理数据数目计数;和配置控制步骤,当在计数步骤中计数的被处理数据数目达到在设置步骤中设置的被处理数据数目时,该配置控制步骤切换ALU模块的连接配置。当结合附图阅读时,在下面对本专利技术的详细描述中具体地提出了或者从中将清楚地看到本专利技术的其他目的、特征和优点。附图说明图1是根据第一实施例的可重配置处理器的框图。图2是用于解释一个配置的执行时间的时序图。图3是通过使用时钟数确定一个配置的处理的流程图。图4是通过时钟计数执行的流水线处理结束判断过程的流程图。图5是根据第二实施例的可重配置处理器的框图。图6是通过计数被处理的数据的数目执行流水线处理结束判断过程的流程图。具体实施例方式下面将参考附图详细解释根据本专利技术的的示例实施例。参考下面的实施例,将解释从可重配置硬件开始执行一个配置后判断流水线处理的结束的配置。首先,将解释通过使用时钟周期计数来判断流水线处理结束的配置。图1是根据第一实施例的可重配置处理器的框图。可重配置处理器100包括作为可重配置硬件单元的ALU块101和监视ALU块101配置状态的序列发生器102。ALU块101包括多个ALU 103和多个存储器104,存储器104存储被ALU块101运算的数据。ALU 103和存储器104连接到网络105。从存储器104读取由序列发生器102指定的数据,并经由网络105将该数据输入至ALU块101。ALU块101执行由配置信息指定的运算,运算结果经由网络105被存储在存储器104中。网络105中ALU 103和存储器104之间的连接可以改变,ALU 103和存储器104之间的连接基于从序列发生器102提供的配置信息而被改变(被重配置)。序列发生器102包括配置控制器106、配置存储器107和计数器108。配置存储器107存储每个配置完成前所需的涉及时钟周期的信息和硬件配置,该硬件配置设置ALU块101的安排以及处理内容。硬件配置被预先设置,并且在编译硬件配置信息时,时钟周期被确定。硬件配置信息被发送至ALU块101,并且基于该信息,硬件被重配置。时钟周期信息被发送至计数器108。计数器108通过将从配置存储器107发送来的时钟周期信息与实际时钟数比较来判断流水线处理的结束,并且通知配置控制器106流水线已经结束。配置控制器106接收流水线已经结束的通知,并向配置存储器107发出命令以切换配置。参考图2和图3,将解释用于基于配置存储器107中的硬件配置信息确定时钟周期的序列。图2是一个配置的执行时间的时序图。处理一个数据需要四个运算级A至D,一个时钟内执行一级。在发射用于程序的循环命令时,流水线处理同时处理多个数据,并且每次将运算块移动一级。因此,当M个数据进行了N级运算时,流水线处理时间是N+M-1。实际上,从配置激活直到流水线处理开始之间总是存在一个处理时间(T1),并且在变为能够切换到下一配置之前存在处理时间(T2),所以一个配置的执行时间是N+M-1+T1+T2。图3用于解释确定时钟周期的流程,该流程由配置存储器107在通过使用上述流水线特性进行编译时执行。图3是通过使用时钟数确定一个配置的处理的流程图。首先,配置存储器107判断要被执行的处理是否是循环命令,例如,程序是否是“for”语句(步骤S301)。当处理是循环命令时(步骤S301是),从程序中的循环变量的初始值和结束条件,计算循环数M(步骤S302)。当处理不是循环命令时(步骤S301否),过程返回步骤S301,并且变为判断下一程序的循环命令。值M代表用于执行处理的数据的数目。然后,从程序的一个循环命令中的执行命令的数目,计算流水线级数N(步骤S303)。使用该计算值,由M+N-1计算流水线处理时间(步骤S304)。切换配置前后所需的时间(图2中T1和T2)被加到流水线处理时间上(步骤S305)。通过以单位时钟时间划分以上述方式计算的配置执行时间,确定时钟数(步骤S306),并且操作结束。一个配置对应于一个循环本文档来自技高网...

【技术保护点】
一种在切换多个算术和逻辑单元模块的连接配置时执行预定运算处理的处理器,其中所述算术和逻辑单元模块具有多个算术和逻辑单元,所述处理器包括:执行时间计算单元,所述执行时间计算单元计算所述算术和逻辑单元模块的每个连接配置的执行时间;   时钟计数器,所述时钟计数器对所述运算处理的执行周期进行时钟计数;和配置控制单元,当由所述时钟计数器计数的时钟数已经达到由所述执行时间计算单元计算的所述执行时间时,所述配置控制单元切换所述算术和逻辑单元模块的连接配置。

【技术特征摘要】
JP 2004-6-30 193580/20041.一种在切换多个算术和逻辑单元模块的连接配置时执行预定运算处理的处理器,其中所述算术和逻辑单元模块具有多个算术和逻辑单元,所述处理器包括执行时间计算单元,所述执行时间计算单元计算所述算术和逻辑单元模块的每个连接配置的执行时间;时钟计数器,所述时钟计数器对所述运算处理的执行周期进行时钟计数;和配置控制单元,当由所述时钟计数器计数的时钟数已经达到由所述执行时间计算单元计算的所述执行时间时,所述配置控制单元切换所述算术和逻辑单元模块的连接配置。2.根据权利要求1所述的处理器,包括存储单元,所述存储单元存储与由所述执行时间计算单元计算的所述算术和逻辑单元模块的每个连接配置的执行时间有关的信息,其中所述配置控制单元在从被存储在所述存储单元中的多条信息中读取与下一连接配置有关的信息之后,切换所述算术和逻辑单元模块的连接配置。3.根据权利要求1所述的处理器,其中,所述执行时间计算单元将所述执行时间计算为通过将流水线处理时间加到等待时间上所得到的时间,其中所述流水线处理时间是通过使用所述多个算术和逻辑单元模块执行流水线处理所花费的时间,所述等待时间是切换连接配置前后所花费的时间。4.根据权利要求3所述的处理器,其中,所述执行时间计算单元基于所述运算处理中所包含的循环处理中的执行命令的数目,计算所述算术和逻辑单元模块的一个连接配置的所述执行时间。5.一种在切换多个算术和逻辑单元模块的连接配置时执行预定运算处理的处理器,其中所述算术和逻辑单元模块具有多个算术和逻辑单元,所述处理器包括设置单元,所述设置单元设置对于所述算术和逻辑单元模块的每个连接配置的被处理数据数目;计数器,所述计数器对所述算术和逻辑单元模块的每个连接配置的被处理数据数目进行计数;和配置控制单元,当由所述计数器计数的被处理数据数目达到由所述设置单元设置的被处理数据数目时,所述配置控制单元切换所述算术和逻辑单元模块的连接配置。6.根据权利要求5所述的处理器,包括存储单元,所述存储单元存储与由所述设置单元设置的所述算术和逻辑单元模块的每个连接配置的被处理数据数目有关的信息,其中所述配置控制单元在从被存储在所述存储单元中的多条信息中读取与下一连接配置有关的信息之后,切换所述算术和逻辑单元模块的连接配置。7.根据权利要求5所述的...

【专利技术属性】
技术研发人员:瓜生士郎若吉光春河野哲雄古川浩笠间一郎今福和章铃木俊明
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

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

1