一种用于实现浮点数乱序转换的协处理器制造技术

技术编号:31679413 阅读:21 留言:0更新日期:2022-01-01 10:24
本发明专利技术公开了一种用于实现浮点数乱序转换的协处理器,协处理器包括:输入译码模块,用于获取浮点数操作指令,对所述浮点数操作指令进行译码生成浮点数信息和用于标记当前正在执行指令的指令令牌,根据所述浮点数信息匹配相应的功能子模块并将所述指令令牌传输至下述指令调度模块;多个功能子模块,用于根据所述浮点数信息乱序执行浮点数转换的操作生成浮点数转换结果;指令调度模块,用于存储所述输入译码模块发送的指令令牌线程顺序;输出译码模块,用于根据所述指令令牌线程顺序将所述浮点数转换结果输出。由此,能够加快浮点转换转换处理速度,解决因协处理器乱序执行而造成的协处理器与通用处理器之间数据搬移不同步的问题。的问题。的问题。

【技术实现步骤摘要】
一种用于实现浮点数乱序转换的协处理器


[0001]本专利技术涉及集成电路设计
,尤其涉及一种用于实现浮点数乱序转换的协处理器。

技术介绍

[0002]数据转换操作是处理器的浮点运算单元中必不可缺的流程,典型的数据转换方式可以包含多种数据精度的转换、整数到浮点数之间的转换、浮点数到定点数之间的转换等数据转换指令。数据转换操作可以通过软件实现,也可以通过硬件实现。
[0003]为了实现基于硬件的数据转换操作,RISC

V指令集(基于精简指令集计算RISC原理建立的开放指令集架构ISA,V表示为第五代RISC)专门扩展了浮点指令集。但是,在RISC

V指令集中的浮点转换转换处理速度不够快,还会产生因协处理器乱序执行而造成的协处理器与通用处理器之间数据搬移不同步的问题。

技术实现思路

[0004]本专利技术所要解决的技术问题在于,提供一种用于实现浮点数乱序转换的协处理器。由此,能够实现乱序处理整数、单精度、双精度数据操作数,并且可以按顺序提交,有利于提高浮点转换转换处理速度。
[0005]为了解决上述技术问题,本专利技术第一方面公开了一种用于实现浮点数乱序转换的协处理器,所述协处理器包括:输入译码模块,用于获取浮点数操作指令,对所述浮点数操作指令进行译码生成浮点数信息和用于标记当前正在执行指令的指令令牌,根据所述浮点数信息匹配相应的功能子模块并将所述指令令牌传输至下述指令调度模块;多个功能子模块,用于根据所述浮点数信息乱序执行浮点数转换的操作生成浮点数转换结果;指令调度模块,用于存储所述输入译码模块发送的指令令牌线程顺序;输出译码模块,用于根据所述指令令牌线程顺序将所述浮点数转换结果输出。
[0006]在一些实施方式中,所述输入译码模块包括:判断单元,用于对所述浮点数操作指令进行操作数规则判断,将符合所述操作数规则的浮点数操作指令输出;解析单元,用于解析符合所述操作数规则的浮点数操作指令,生成函数字段和操作码;匹配单元,用于根据所述函数字段匹配相应的功能子模块并输出至对应的功能子模块;线程单元,用于根据当前线程执行的浮点数操作指令生成指令令牌。
[0007]在一些实施方式中,所述功能子模块至少包括用于执行整数和单精度浮点数之间的转换线程、用于执行整数和双精度浮点数之间的转换线程、用于执行单精度浮点数和双精度浮点数之间的转换线程。
[0008]在一些实施方式中,所述多个功能子模块之间相互独立运行,所述多个功能子模块与所述指令调度模块在同一流水线程中并行运行。
[0009]在一些实施方式中,所述输出译码模块包括:轮询模块,用于轮询所述功能子模块,获取所述功能子模块生成浮点数转换结果的完成信号;输出模块,用于根据所述输入译
码模块发送的指令令牌线程顺序和所述完成信号输出所述浮点数转换结果。
[0010]在一些实施方式中,所述输出译码模块还包括:异常处理单元,用于接收所述功能子模块产生的异常数据。
[0011]在一些实施方式中,还包括:输入暂存模块,用于缓存浮点数操作指令;所述输入译码模块从所述输入暂存模块中获取浮点数操作指令。
[0012]在一些实施方式中,还包括:输出暂存模块,用于缓存所述输出译码模块输出的浮点数转换结果,所述浮点数转换结果包括32位单精度浮点或整数结果,或64位双精度浮点结果。
[0013]在一些实施方式中,输入暂存模块、指令调度模块和输出暂存模块均为FIFO模块。
[0014]根据本专利技术第二个方面公开了一种浮点数乱序转换的装置,所述装置包括: 存储有浮点数操作指令的缓存器;与所述缓存器耦合的协处理器;所述协处理器实现为上述的用于实现浮点数乱序转换的协处理器。
[0015]与现有技术相比,本专利技术的有益效果在于:实施本专利技术能够通过多个功能子模块的乱序执行浮点数转换的操作,从而减少执行时间,之后再利用指令调度模块的执行顺序实现顺序提交机制,这样浮点数处理的延迟不必设置为最长浮点处理延迟,只要当所有功能子模块的浮点数处理完毕后即可提交。由此,实现了乱序处理整数、单精度、双精度数据操作数,并且可以按顺序提交,有利于提高浮点转换转换处理速度。
附图说明
[0016]图1为本专利技术实施例公开的一种用于实现浮点数乱序转换的协处理器结构示意图;图2为本专利技术实施例公开的输入译码模块处理流程示意图;图3为本专利技术实施例公开的输出译码模块处理流程示意图;图4为本专利技术实施例公开的又一种用于实现浮点数乱序转换的协处理器示意图;图5为本专利技术实施例公开的再一种用于实现浮点数乱序转换的协处理器结构示意图。
具体实施方式
[0017]为了更好地理解和实施,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0018]本专利技术实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
[0019]本专利技术实施例公开了一种用于实现浮点数乱序转换的协处理器,能够通过多个功能子模块的乱序执行浮点数转换的操作,从而减少执行时间,之后再利用指令调度模块的
执行顺序实现顺序提交机制,这样浮点数处理的延迟不必设置为最长浮点处理延迟,只要当所有功能子模块的浮点数处理完毕后即可提交。由此,实现了乱序处理整数、单精度、双精度数据操作数,并且可以按顺序提交,有利于提高浮点转换转换处理速度。
[0020]实施例一请参阅图1,图1为本专利技术实施例公开的一种用于实现浮点数乱序转换的协处理器结构示意图。其中,该用于实现浮点数乱序转换的协处理器可以应用在RISC

V指令集,对于该协处理应用的范围本专利技术实施例不做限制。如图1所示,该用于实现浮点数乱序转换的协处理器包括:输入译码模块1、多个功能子模块2、指令调度模块3和输出译码模块4。
[0021]输入译码模块1用于获取浮点数操作指令,对浮点数操作指令进行译码生成浮点数信息和用于标记当前正在执行指令的指令令牌,根据浮点数信息匹配相应的功能子模块2并将所述指令令牌传输至下述指令调度模块3。其中,输入译码模块1包括:判断单元11,用于对浮点数操作指令进行操作数规则判断,将符合操作数规则的浮点数操作指令输出。在所获取的浮点数操作指令中,可以实现为浮点数转换的请求包,该请求包中包含有用于进行转换操作的操作数、操作码和函数字段,在本实施例中,操作数的宽度设定为64位,可以满足只使用32位来传递整数数据或者单精度浮点数据,也可以使用64位来传递双精度浮点数据。如果是带符号的32位数据,那么高32位则由数据的符号位填充。根据RISC
...

【技术保护点】

【技术特征摘要】
1.一种用于实现浮点数乱序转换的协处理器,其特征在于,所述协处理器包括:输入译码模块,用于获取浮点数操作指令,对所述浮点数操作指令进行译码生成浮点数信息和用于标记当前正在执行指令的指令令牌,根据所述浮点数信息匹配相应的功能子模块并将所述指令令牌传输至下述指令调度模块;多个功能子模块,用于根据所述浮点数信息乱序执行浮点数转换的操作生成浮点数转换结果;指令调度模块,用于存储所述输入译码模块发送的指令令牌线程顺序;输出译码模块,用于根据所述指令令牌线程顺序将所述浮点数转换结果输出。2.根据权利要求1所述的用于实现浮点数乱序转换的协处理器,其特征在于,所述输入译码模块包括:判断单元,用于对所述浮点数操作指令进行操作数规则判断,将符合所述操作数规则的浮点数操作指令输出;解析单元,用于解析符合所述操作数规则的浮点数操作指令,生成函数字段和操作码;匹配单元,用于根据所述函数字段匹配相应的功能子模块并输出至对应的功能子模块;线程单元,用于根据当前线程执行的浮点数操作指令生成指令令牌。3.根据权利要求2所述的用于实现浮点数乱序转换的协处理器,其特征在于,所述功能子模块至少包括用于执行整数和单精度浮点数之间的转换线程、用于执行整数和双精度浮点数之间的转换线程、用于执行单精度浮点数和双精度浮点数之间的转换线程。4.根据权利要求3所述的用于实现浮点数乱序转换的协处理器,其特征在于,所述多个功能子模块之间相互独立运行,所述多个功能子模块与所述指令调...

【专利技术属性】
技术研发人员:欧艳凤陈钦树朱伏生朱晓明
申请(专利权)人:广东省新一代通信与网络创新研究院
类型:发明
国别省市:

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

1