多地址空间异步计算定时控制指令的方法及其装置的制作方法

文档序号:6543895阅读:167来源:国知局
专利名称:多地址空间异步计算定时控制指令的方法及其装置的制作方法
技术领域
本发明涉及用于多地址空间异步计算定时控制指令的方法及其装置。
背景技术
计算密集应用领域常采用主机-加速器结构来提高运算效率,主机与加速器之间存在大规模的数据传输,很容易因为传输通路出错而造成传输过程长时间不结束的情况。此外,若加速器中存在异步计算单元,则该单元异步计算也可能因为出错而导致长时间不输出计算结果和应答信号。对于此类常见出错问题的检测,通常是采用定时器编程来实现。然而定时器设置需要多条指令实现,在频繁使用定时器的应用中,显得比较繁复。

发明内容
本发明的目的在于针对现有技术的不足,提供一种适用于多地址空间异步计算定时控制指令的方法及其装置。
本发明的用于多地址空间异步计算定时控制指令的方法,其步骤如下1)利用指令译码器对定时控制指令进行译码,得到源和模式码;2)确定定时器初值当源为寄存器地址时,据此对通用寄存器组进行寻址,并读取其中的数据作为定时器初值;当源为立即数时,设该立即数为定时器初值;3)根据模式码对定时器进行操作当模式码对应启动模式时,则把定时器初值存入定时寄存器,作为定时器计时初值,同时启动定时器;当模式码对应停止模式时,则把定时器设置为非选通状态,终止计时;当模式码对应重置模式时,则把定时寄存器中的前一次定时器初值重新写入定时器,开始新一轮计时;4)当定时器计时溢出,则产生异常信号输出。
采用上述定时控制指令方法的控制装置包括指令译码器、定时控制单元、通用寄存器组、定时寄存器和定时器,指令译码器的输出端分别和定时控制单元、通用寄存器组以及定时寄存器的输入端相连,通用寄存器组的输出端和定时寄存器的第二个输入端相连,定时寄存器的输出端和定时器的输入端相连,定时器的溢出信号输出端和定时控制单元的另一输入端相连,定时控制单元的两个控制信号输出端分别和定时寄存器的第三个输入端以及定时器的第二个输入端相连,定时控制单元的另一个输出端为异常信号输出端。
本发明具有以下技术效果1.实现结构简单可以在不添加额外模块的基础上,把本发明的定时控制装置嵌入到普通处理器的体系结构中,即可实现该定时控制指令。
2.应用灵活采用一条定时控制指令替代传统应用中需要多条指令才能设置定时器的情况。
3.出错检测通过定时控制指令定时,解决异步计算出错不响应的问题,同时也避免传输过程出错而导致长时间不结束的情况。


图1是定时控制装置结构框图;图2是多地址空间异步计算定时控制指令格式图;图3是本发明的定时控制装置在主机-加速器多地址空间异步计算中的应用架构框图。
具体实施例方式
下面结合附图详细说明本发明。
参照图1,本发明的定时控制装置包括指令译码器1、定时控制单元2、通用寄存器组3、定时寄存器4和定时器5,指令译码器1的输出端分别和定时控制单元2、通用寄存器组3以及定时寄存器4的输入端相连,通用寄存器组3的输出端和定时寄存器4的第二个输入端相连,定时寄存器4的输出端和定时器5的输入端相连,定时器5的溢出信号输出端和定时控制单元2的另一输入端相连,定时控制单元2的两个控制信号输出端分别和定时寄存器4的第三个输入端以及定时器5的第二个输入端相连,定时控制单元2的另一个输出端为异常信号输出端。
定时指令的控制步骤如下1)由指令译码器1对定时控制指令进行译码,译码之后得到源和模式码;2)确定定时器初值当源为寄存器地址时,根据其对通用寄存器组3进行寻址,并读取其中的数据作为定时器初值;当源为立即数时,则其即为定时器初值;3)根据模式码对定时器5进行操作当模式码对应启动模式时,定时控制单元2把定时器初值存入定时寄存器4,并把定时器初值写入定时器5,作为定时器计时初值,同时启动定时器5;当模式码对应停止模式时,定时控制单元2控制定时器5转入非选通状态,终止计时;当模式码对应重置模式时,把定时寄存器4中的定时器初值重新写入定时器5,开始新一轮计时;4)当定时器5计时溢出时,定时控制单元2响应该溢出,产生异常信号输出。
这里,所说的定时控制指令长度为32位(如图2所示),指令域包括操作码域、预留域、模式域和源域。其中,指令的第0位至第15位是源域,用以存放立即数或者寄存器地址;指令的第16位至第17位是模式域,用以存放2位定时器控制模式二进制码,分别对应3种模式——启动、停止和重置;指令的第18位至第26位是预留域,用于便于今后扩充该指令;指令的第27位至第31位是操作码域,用于标志该定时控制指令。
图3示出了本发明的定时控制装置在主机-加速器多地址空间异步计算中的应用架构框图。本发明的定时控制装置置于加速器架构里的协处理器10中。
协处理器需要控制实现不同地址空间之间的块数据传输,包括主存储器11和各分布存储器12之间、异步计算单元13和分布存储器12之间、不同的分布存储器12之间。上述块数据传输过程中的出错检测可以由本发明的定时控制指令来实现。在每次传输之前,通过本发明定时控制指令的启动模式,设置并启动定时器。如果数据传输成功完成,则在此过程中定时器没有减少到0,因此定时控制装置不会产生异常信号输出,且在下一次传输开始之前,会再次通过定时控制指令的启动模式,开始新一轮计时。若数据传输过程出错(某次传输因为通路原因不能完成而造成长时间等待),则当定时器溢出时,定时控制装置就会产生异常信号,输出到协处理器中的异常处理单元。
同时,本发明的定时控制指令还可用来检测由于异步计算单元计算出错而导致长时间不响应的情况。在每次计算开始之前,通过本发明定时控制指令的启动模式,设置并启动定时器。如果异步计算成功完成,则在此过程中定时器没有减少到0,因此定时控制装置不会产生异常信号输出,且在下一次异步计算开始之前,会再次通过定时控制指令的启动模式,开始新一轮计时。若异步计算过程出错(因为异步计算中某一步不能完成而造成长时间等待),则当定时器溢出时,定时控制装置就会产生异常信号,输出到协处理器中的异常处理单元。
在多地址空间块数据传输或者异步计算过程中,若有需要,还可以通过本发明的定时控制指令进行停止模式,来人为终止定时器计时。此外,还有重置模式来重新启动定时器开始新一轮计时,其计时初值即为前一次的定时器初值。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
1.多地址空间异步计算定时控制指令的方法,其特征是步骤如下1)利用指令译码器对定时控制指令进行译码,得到源和模式码;2)确定定时器初值当源为寄存器地址时,据此对通用寄存器组进行寻址,并读取其中的数据作为定时器初值;当源为立即数时,设该立即数为定时器初值;3)根据模式码对定时器进行操作当模式码对应启动模式时,则把定时器初值存入定时寄存器,作为定时器计时初值,同时启动定时器;当模式码对应停止模式时,则把定时器设置为非选通状态,终止计时;当模式码对应重置模式时,则把定时寄存器中的前一次定时器初值重新写入定时器,开始新一轮计时;4)当定时器计时溢出,则产生异常信号输出。
2.根据权利要求1所述的多地址空间异步计算定时控制指令的方法,其特征是所说的定时控制指令长度为32位,其中指令的第0位至第15位是用于存放立即数或者寄存器地址的源域,指令的第16位至第17位是用于存放启动、停止和重置3种定时器模式的二进制码的模式域,指令的第18位至第26位是预留扩充模式的预留域,指令的第27位至第31位是标志定时控制指令的操作码域。
3.用于权利要求1所述的定时控制指令方法的控制装置,其特征在于它包括指令译码器(1)、定时控制单元(2)、通用寄存器组(3)、定时寄存器(4)和定时器(5),指令译码器(1)的输出端分别和定时控制单元(2)、通用寄存器组(3)以及定时寄存器(4)的输入端相连,通用寄存器组(3)的输出端和定时寄存器(4)的第二个输入端相连,定时寄存器(4)的输出端和定时器(5)的输入端相连,定时器(5)的溢出信号输出端和定时控制单元(2)的另一输入端相连,定时控制单元(2)的两个控制信号输出端分别和定时寄存器(4)的第三个输入端以及定时器(5)的第二个输入端相连,定时控制单元(2)的另一个输出端为异常信号输出端。
全文摘要
本发明公开了多地址空间异步计算定时控制指令的方法及其装置。该方法步骤如下1)对指令译码得到源和模式码;2)根据源确定定时器初值;3)根据模式码对定时器进行启动、停止、重置等操作;4)当定时器计时溢出,则产生异常信号报错。本发明具有结构简单、应用灵活的特点。在不添加额外模块的基础上,把本发明的定时控制装置嵌入到普通处理器的体系结构中,即可实现该定时控制指令;且本发明通过一条定时控制指令既可替代传统应用中需要多条指令才能实现的定时器操作。同时本发明解决了异步计算出错而不响应的问题,并可防止多地址空间块传输出错长时间不结束的情况。
文档编号G06F9/30GK1776608SQ200510061780
公开日2006年5月24日 申请日期2005年12月2日 优先权日2005年12月2日
发明者沈海斌, 季爱明 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1