System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向原子指令的硬件循环装置及实现方法制造方法及图纸_技高网

面向原子指令的硬件循环装置及实现方法制造方法及图纸

技术编号:40188216 阅读:6 留言:0更新日期:2024-01-26 23:51
本发明专利技术公开了一种面向原子指令的硬件循环装置及实现方法,包括:指令译码器,用于接收指令,对指令进行译码,判断是否为原子操作指令,向地址控制器发送微码起始地址,向微码控制器发送有效信号;地址控制器,用于生成微码地址,将微码地址发送至微码存储器;微码存储器,用于获取微码,将微码发送至微码控制器;微码控制器,用于将微码及微码地址发送至流水线,对微码进行译码,判断是否为sc指令,根据sc指令执行结果生成地址控制信号发送至地址控制器,根据引退地址和冲刷信号判断是否结束原子指令的硬件循环操作,根据译码结果生成地址控制信号发送至地址控制器或结束硬件循环操作。本发明专利技术能够通过硬件循环实现原子操作指令,避免修改编译器。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种面向原子指令的硬件循环装置及实现方法


技术介绍

1、混合架构设计在近几年电路设计中成为热点,其优点在于利用不同架构之间的优势互补,降低研发周期,提高性能。然而,不同架构之间的指令集语义鸿沟也成为混合架构设计的一个难点,如何在混合架构上实现原子操作就是其中一个难点。

2、原子操作是指不能被中断或分割的操作,它们对于保证数据的一致性和正确性至关重要。在计算机中,原子操作通常用于多线程和多进程编程中,以避免并发访问共享数据时的竞态条件问题。由于原子操作的复杂性,在不同的体系架构中,因指令集架构、编译器工具链不同,实现原子操作的方法不同。有些架构通过增加电路设计的复杂性,来对原子操作提供支持;而有些架构则通过工具链将原子操作编译成多条微指令,并通过确保操作的原子性来降低电路设计的复杂性,而在源体系架构上实现目标体系架构的原子操作指令,是目前混合电路设计、桥架不同架构之间的语义鸿沟的一个难点。

3、原子操作指令可以使用读取保留(load-reserved,lr)和条件存储(store-conditional,sc)指令的组合来实现。为了保证操作的原子性,lr指令在读取数据时,对该数据对应的内存地址空间创建一个保留标记,当对该数据进行操作并使用sc指令将操作结果存储回内存时,通过检查保留标记是否有效来实现操作的原子性,如果保留标记有效,则sc执行成功,否则执行失败,需要重新从lr指令开始新一轮循环。其原因是,如果保留标记失效,说明该数据对应内存地址被其他硬件线程或者设备所修改,通过lr-sc组合对该内存地址的数据进行操作时,lr所获得的数据已经不是最新的数据,lr-sc组合操作无法保证操作的原子性。目前,通过修改工具链的方法,将原子操作指令展开为lr-sc指令的组合,但是这种方法需要修改编译器,并且无法兼容已经编译过的涉及原子操作指令的二进制代码。


技术实现思路

1、为解决上述现有技术中存在的部分或全部技术问题,本专利技术提供一种面向原子指令的硬件循环装置及实现方法。

2、本专利技术的技术方案如下:

3、第一方面,提供了一种面向原子指令的硬件循环装置,包括:

4、指令译码器,分别与地址控制器和微码控制器连接,用于接收来自流水线的指令,对指令进行译码,判断指令是否为原子操作指令,并在指令为原子操作指令时,向所述地址控制器发送指令对应的微码起始地址,以及向所述微码控制器发送有效信号;

5、所述地址控制器,分别与微码存储器和所述微码控制器连接,用于根据微码起始地址、或微码起始地址和所述微码控制器发送的地址控制信号生成微码地址,并将微码地址发送至所述微码存储器;

6、所述微码存储器,与所述微码控制器连接,存储有微码序列,用于根据微码地址获取对应微码,并将微码发送至所述微码控制器;

7、所述微码控制器,用于将微码及其对应的微码地址发送至流水线,对微码进行译码,判断微码是否为sc指令,若微码为sc指令,则根据接收的sc指令执行结果生成地址控制信号并发送至所述地址控制器,以及根据接收的引退地址和冲刷信号判断是否结束原子指令的硬件循环操作,若微码不为sc指令,则根据微码译码结果生成地址控制信号并发送至所述地址控制器或结束原子指令的硬件循环操作。

8、在一些可能的实现方式中,所述判断微码是否为sc指令,若微码为sc指令,则根据接收的sc指令执行结果生成地址控制信号并发送至所述地址控制器,以及根据接收的引退地址和冲刷信号判断是否结束原子指令的硬件循环操作,若微码不为sc指令,则根据微码译码结果生成地址控制信号并发送至所述地址控制器或结束原子指令的硬件循环操作,包括:

9、若微码不是sc指令,则判断微码是否带有结束标志,若否,则生成第一地址控制信号并发送至所述地址控制器,以使所述地址控制器按照微码序列顺序生成下一个微码地址并发送至所述微码存储器,若是,则结束原子指令的硬件循环操作;

10、若微码是sc指令,则等待接收sc指令执行结果,根据sc指令执行结果判断sc指令执行是否成功,若是,则生成第一地址控制信号并发送至所述地址控制器,以使所述地址控制器按照微码序列顺序生成下一个微码地址并发送至所述微码存储器,若否,则生成第二地址控制信号并发送至所述地址控制器,以使所述地址控制器按照微码起始地址生成下一个微码地址并发送至所述微码存储器;

11、其中,当微码是sc指令时,若接收到来自流水线的引退地址,则判断sc指令地址与引退地址是否匹配,若否,则在接收到来自外部的冲刷信号时结束原子指令的硬件循环操作。

12、在一些可能的实现方式中,所述地址控制器设置有第一地址保存单元,所述第一地址保存单元用于保存微码起始地址。

13、在一些可能的实现方式中,所述微码控制器设置有第二地址保存单元,所述第二地址保存单元用于保存sc指令地址。

14、第二方面,还提供了一种面向原子指令的硬件循环实现方法,所述方法采用上述的面向原子指令的硬件循环装置实施,包括:

15、指令译码器接收来自流水线的指令;

16、指令译码器对指令进行译码,判断指令是否为原子操作指令,若是,则向地址控制器发送指令对应的微码起始地址,以及向微码控制器发送有效信号,并进行下一步,若否,则返回上一步;

17、地址控制器根据微码起始地址生成微码地址并发送至微码存储器;

18、微码存储器根据微码地址和微码序列,获取对应微码并发送至微码控制器;

19、微码控制器将微码及其对应的微码地址发送至流水线,对微码进行译码,判断微码是否为sc指令,若微码为sc指令,则根据接收的sc指令执行结果生成地址控制信号并发送至地址控制器,以及根据接收的引退地址和冲刷信号判断是否结束原子指令的硬件循环操作;若微码不为sc指令,则根据微码译码结果生成地址控制信号并发送至地址控制器或结束原子指令的硬件循环操作;

20、若地址控制器接收到地址控制信号,则根据地址控制信号生成微码地址并发送至微码存储器,微码存储器根据微码地址和微码序列,获取对应微码并发送至微码控制器,并返回上一步。

21、在一些可能的实现方式中,判断微码是否为sc指令,若微码为sc指令,则根据接收的sc指令执行结果生成地址控制信号并发送至地址控制器,以及根据接收的引退地址和冲刷信号判断是否结束原子指令的硬件循环操作,若微码不为sc指令,则根据微码译码结果生成地址控制信号并发送至地址控制器或结束原子指令的硬件循环操作,包括:

22、若微码不是sc指令,则判断微码是否带有结束标志,若否,则生成第一地址控制信号并发送至地址控制器,以使地址控制器按照微码序列顺序生成下一个微码地址并发送至微码存储器,若是,则结束原子指令的硬件循环操作;

23、若微码是sc指令,则等待接收sc指令执行结果(sc.cpl=1是否成立),根据sc指令执行结果判断sc指令执行是否成功(sc.pass=本文档来自技高网...

【技术保护点】

1.一种面向原子指令的硬件循环装置,其特征在于,包括:

2.根据权利要求1所述的面向原子指令的硬件循环装置,其特征在于,所述判断微码是否为sc指令,若微码为sc指令,则根据接收的sc指令执行结果生成地址控制信号并发送至所述地址控制器,以及根据接收的引退地址和冲刷信号判断是否结束原子指令的硬件循环操作,若微码不为sc指令,则根据微码译码结果生成地址控制信号并发送至所述地址控制器或结束原子指令的硬件循环操作,包括:

3.根据权利要求2所述的面向原子指令的硬件循环装置,其特征在于,所述地址控制器设置有第一地址保存单元,所述第一地址保存单元用于保存微码起始地址。

4.根据权利要求2所述的面向原子指令的硬件循环装置,其特征在于,所述微码控制器设置有第二地址保存单元,所述第二地址保存单元用于保存sc指令地址。

5.一种面向原子指令的硬件循环实现方法,其特征在于,所述方法采用权利要求1-4中任一项所述的面向原子指令的硬件循环装置实施,包括:

6.根据权利要求5所述的面向原子指令的硬件循环实现方法,其特征在于,判断微码是否为sc指令,若微码为sc指令,则根据接收的sc指令执行结果生成地址控制信号并发送至地址控制器,以及根据接收的引退地址和冲刷信号判断是否结束原子指令的硬件循环操作,若微码不为sc指令,则根据微码译码结果生成地址控制信号并发送至地址控制器或结束原子指令的硬件循环操作,包括:

...

【技术特征摘要】

1.一种面向原子指令的硬件循环装置,其特征在于,包括:

2.根据权利要求1所述的面向原子指令的硬件循环装置,其特征在于,所述判断微码是否为sc指令,若微码为sc指令,则根据接收的sc指令执行结果生成地址控制信号并发送至所述地址控制器,以及根据接收的引退地址和冲刷信号判断是否结束原子指令的硬件循环操作,若微码不为sc指令,则根据微码译码结果生成地址控制信号并发送至所述地址控制器或结束原子指令的硬件循环操作,包括:

3.根据权利要求2所述的面向原子指令的硬件循环装置,其特征在于,所述地址控制器设置有第一地址保存单元,所述第一地址保存单元用于保存微码起始地址。

4.根据权利要求2所述的面向...

【专利技术属性】
技术研发人员:温家辉赵夏张光达王会权
申请(专利权)人:中国人民解放军军事科学院国防科技创新研究院
类型:发明
国别省市:

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

1