一种定浮点运算装置制造方法及图纸

技术编号:21548394 阅读:44 留言:0更新日期:2019-07-06 21:44
本发明专利技术提供了一种定浮点运算装置,该装置包括:数据接收端口,用于接收逻辑控制信号组和操作数;运算模块,用于根据所述逻辑控制信号组对所述操作数进行运算,生成运算结果;锁存器,用于管理对共享资源的并发访问;第一多路选择器,用于选择输出所述运算结果。本装置集成了多个不同功能的运算模块,根据接收到的逻辑控制信号组可以实现对操作数的不同运算,且通过第一多路选择器选择性的输出所需运算结果,将本发明专利技术提供的定浮点运算装置内嵌在处理器中,实现了处理器功能的完整性。

A Fixed Floating Point Operating Device

【技术实现步骤摘要】
一种定浮点运算装置
本专利技术涉及计算机浮点运算领域,具体涉及一种定浮点运算装置。
技术介绍
随着计算密集型需求日益广泛,计算复杂度急剧增加,微处理器中的SIMD(单指令多数据流)向量计算也广泛应用,提高了微处理器数据处理的实时性。在实现自主安全可控的处理器国产化过程中,因国外技术垄断和禁售问题,高性能浮点运算单元需要自主研发和验证。但是现有技术中自主研发的浮点运算单元功能单一,无法实现在一个定浮点运算装置中实现多种浮点运算。
技术实现思路
因此,本专利技术要解决的技术问题在于克服现有技术中的浮点运算装置功能单一的缺陷,从而提供一种定浮点运算装置。本专利技术第一方面提供了一种定浮点运算装置,该装置包括:数据接收端口,用于接收逻辑控制信号组和操作数;运算模块,用于根据所述逻辑控制信号组对所述操作数进行运算,生成运算结果;锁存器,用于管理对共享资源的并发访问;第一多路选择器,用于选择输出所述运算结果。在可选实施例中,所述运算模块包括基本运算模块、前导零统计模块、移位模块、1的个数统计模块、浮点软件测试模块、加密模块和逻辑操作模块中的至少一个。在可选实施例中,数据接收端口还用于接收取反信号和进位信号;基本运算模块包括:截位控制模块子模块,用于根据所述逻辑控制信号组和进位信号输出截位数据;第一并行前缀加法器,用于根据逻辑控制信号组、取反信号和截位数据对所述操作数做加法运算,并输出中间结果和进位位;进位传递子模块,用于根据截位数据、中间结果和进位位进行进位传递;比较模块子模块,用于根据进位传递子模块输出的结果和所述逻辑控制信号组对操作数进行比较,并输出比较结果及所述操作数中的最大值和最小值;平均值子模块,用于根据所述进位传递子模块输出的结果和逻辑控制信号组计算并输出所述操作数的平均值;加减运算子模块,用于根据所述进位传递子模块输出的结果和逻辑控制信号组选择计算并输出相加结果或相减结果;第二多路选择器,用于将比较子模块、平均值子模块和所述加减运算子模块得出的结果进行选择输出,并输出加减法饱和标记。在可选实施例中,该装置中的前导零统计模块包括:字节前导零统计子模块,用于计算所述操作数的一个字节中第一个1出现的位置;半字前导零统计子模块,用于根据两个所述字节前导零统计子模块的计算结果计算并输出全为0的字节数和第一个1出现的位置;字前导零统计子模块,用于根据两个所述半字前导零统计子模块的计算结果计算并输出全为0的字节数和第一个1出现的位置;双子前导零统计子模块,用于根据两个所述字前导零统计子模块的计算结果计算并输出全为0的字节数和第一个1出现的位置。在可选实施例中,该装置中的移位模块包括:移位操作子模块,用于根据移位模式选择信号及第一操作数对第二操作数进行循环移位操作,所述第一操作数用于表征所述第二操作数的移位长度;移位结果处理子模块,用于根据移位类型选择信号、所述第一操作数、所述第二操作数和所述移位操作子模块的移位结果进行保留有效位和删除无效位的操作,并输出结果;所述移位模式选择信号和所述移位类型选择信号为所述逻辑控制信号组中所包含的信号。在可选实施例中,该装置中的1的个数统计模块包括:第一选择器,用于根据控制信号和所述操作数进行触发,所述控制信号为所述逻辑控制信号组中所包含的信号;第一行波进位加法器,用于根据第一选择器输出的数据计算并输出双字中1的个数;第二选择器,用于根据所述控制信号和所述操作数进行触发;8位值累加子模块,用于将所述第二选择器输出的数据的每8位输入值的每一位进行累加,分别计算并输出一个4位的结果;4位值累加模块,用于将每4个所述8位值累加模块输出的所述4位的结果进行累加,计算并输出两个4位的结果;第二行波加法器,用于根据2个所述8位值累加模块或所述4位值累加模块输出的累加结果,计算并输出半字中1的个数;第三行波加法器,用于根据所述4位值累加模块输出的累加结果,计算并输出字中1的个数;第三多路选择器,用于根据所述移位模式选择信号对所述第一行波进位加法器、所述第二行波加法器和所述第三行波加法器的计算结果做选择输出。在可选实施例中,该装置中的浮点软件测试模块包括:数据规格化检测子模块,用于检测64位单精度浮点数是否为规格化数据;第一状态位计算子模块,用于根据所述操作数的与/或逻辑,计算并输出不同的第一状态位;第二并行前缀加法器,用于对所述操作数进行减法运算并输出计算结果;第二状态位计算子模块,用于根据第一状态位计算子模块输出的第一状态位和第二并行前缀加法器输出的计算结果,计算并输出不同的第二状态位;第四多路选择器,用于根据精度测试信号、精度选择信号和类型选择信号对所述第二状态位进行选择输出;所述精度测试信号、精度选择信号和类型选择信号为所述逻辑控制信号组中所包含的信号。在可选实施例中,该装置中的加密模块用于根据字移位控制信号、双字移位控制信号和移位数控制信号对所述操作数进行加密运算,并输出加密结果;上述字移位控制信号、双字移位控制信号和移位数控制信号为所述逻辑控制信号组中所包含的信号。在可选实施例中,该装置中的逻辑操作模块结构包括:多个与运算模块,用于对两个所述操作数的原始值或取反值进行与运算,并输出运算结果;多个第三选择器,通过逻辑功能选择信号对所述第三选择器进行触发,被触发的第三选择器输出与其相连的所述与运算模块的运算结果,未被触发的第三选择器输出0;或运算模块,用于对所述多个第三选择器输出的结果进行或运算,运算结果通过所述锁存器输出;所述逻辑功能选择信号为所述逻辑控制信号组中所包含的信号。本专利技术技术方案,具有如下优点:1.本专利技术提供的定浮点运算装置,集成了多个不同功能的运算模块,根据接收到的逻辑控制信号组可以实现对操作数的不同运算,且通过第一多路选择器选择性的输出所需运算结果,将本专利技术提供的定浮点运算装置内嵌在处理器中,实现了处理器功能的完整性。2.本专利技术提供的定浮点运算装置,可以实现既支持64位标量浮点操作,又支持4组32位或2组64位向量浮点操作、多组8/16/32/64位向量定点操作,以及SHA加密操作。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中定浮点运算装置的一个具体示例的结构框图;图2为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图;图3为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图;图4为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图;图5为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图;图6为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图。图7为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图;图8为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图;图9为本专利技术实施例中定浮点运算装置的一个具体示例的原理框图;具体实施方式下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下本文档来自技高网...

【技术保护点】
1.一种定浮点运算装置,其特征在于,包括:数据接收端口,用于接收逻辑控制信号组和操作数;运算模块,用于根据所述逻辑控制信号组对所述操作数进行运算,生成运算结果;锁存器,用于管理对共享资源的并发访问;第一多路选择器,用于选择输出所述运算结果。

【技术特征摘要】
1.一种定浮点运算装置,其特征在于,包括:数据接收端口,用于接收逻辑控制信号组和操作数;运算模块,用于根据所述逻辑控制信号组对所述操作数进行运算,生成运算结果;锁存器,用于管理对共享资源的并发访问;第一多路选择器,用于选择输出所述运算结果。2.根据权利要求1所述的定浮点运算装置,其特征在于,所述运算模块包括基本运算模块、前导零统计模块、移位模块、1的个数统计模块、浮点软件测试模块、加密模块和逻辑操作模块中的至少一个。3.根据权利要求2所述的定浮点运算装置,其特征在于,所述数据接收端口还用于接收取反信号和进位信号;所述基本运算模块包括:截位控制子模块,用于根据所述逻辑控制信号组和所述进位信号输出截位数据;第一并行前缀加法器,用于根据所述逻辑控制信号组、所述取反信号和所述截位数据对所述操作数做加法运算,并输出中间结果和进位位;进位传递子模块,用于根据所述截位数据、中间结果和进位位进行进位传递;比较子模块,用于根据所述进位传递子模块输出的结果和所述逻辑控制信号组对操作数进行比较,并输出比较结果及所述操作数中的最大值和最小值;平均值子模块,用于根据所述进位传递子模块输出的结果和所述逻辑控制信号组计算并输出所述操作数的平均值;加减运算子模块,用于根据所述进位传递子模块输出的结果和所述逻辑控制信号组选择计算并输出相加结果或相减结果;第二多路选择器,用于将所述比较子模块、所述平均值子模块和所述加减运算子模块得出的结果进行选择输出,并输出加减法饱和标记。4.根据权利要求2所述的定浮点运算装置,其特征在于,所述前导零统计模块包括:字节前导零统计子模块,用于计算所述操作数的一个字节中第一个1出现的位置;半字前导零统计子模块,用于根据两个所述字节前导零统计子模块的计算结果计算并输出全为0的字节数和第一个1出现的位置;字前导零统计子模块,用于根据两个所述半字前导零统计子模块的计算结果计算并输出全为0的字节数和第一个1出现的位置;双子前导零统计子模块,用于根据两个所述字前导零统计子模块的计算结果计算并输出全为0的字节数和第一个1出现的位置。5.根据权利要求2所述的定浮点运算装置,其特征在于,所述移位模块包括:移位操作子模块,用于根据移位模式选择信号及第一操作数对第二操作数进行循环移位操作,所述第一操作数用于表征所述第二操作数的移位长度;移位结果处理子模块,用于根据移位类型选择信号、所述第一操作数、所述第二操作数和所述移位操作子模块的移位结果进行保留有效位和删除无效位的操作,并输出结果;所述移位模式选择信号和所述移位类型选择信号为所述逻辑控制...

【专利技术属性】
技术研发人员:刘刚冯春阳彭琅张兴革黄晶王俊杰周景龙
申请(专利权)人:苏州中晟宏芯信息科技有限公司
类型:发明
国别省市:江苏,32

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

1