基于申威架构实现RISC-V浮点指令
发布时间:2021-11-19 13:08
本文在对RISC-V浮点指令集的指令格式和指令功能深入分析地基础上,基于申威核心架构针对RISC-V中的浮点指令进行功能设计实现该架构下相应的浮点指令功能。所实现的RISC-V浮点指令采用指令多发射技术,相对单发射其多发射指令可在同一阶段实现多条指令的并行执行有效提高了功能部件的利用率;其中根据乱序处理策略,实现了一种满足同一周期可发射多条RISC-V浮点指令的发射模块,该发射模块主要有等待队列、记分牌和发射队列3部分组成,各部分采用相应的仲裁机制、唤醒机制以及相应的条目更新机制,完成了指令发射模块到指令执行部件的多发射控制。本文深入研究浮点部件结构及其实现方法。根据RISC-V中的RV32F和RV32D浮点指令集实现了一款支持单/双精度浮点运算的浮点运算单元(FPU)。对于浮点乘加类运算以及浮点加/减/乘运算在浮点乘加融合(FMA)部件中实现,该FMA单元采用6级流水的方式实现。且FMA部件的主加法器采用循环进位(EAC)加法器,并对加法器进行优化设计,通过减小EAC的逻辑宽度,来减少加法器的面积和功耗,其中面积减少约27.0%,功耗减少约24.7%。该加法器可避免对负数的求补操作,...
【文章来源】:安徽大学安徽省 211工程院校
【文章页数】:92 页
【学位级别】:硕士
【部分图文】:
浮点分类指令类型部分判断代码
第五章申威架构下RISC-V浮点指令的验证66f2010253fmv.d.x$2,$f4a2621153flt.d$f4,$f6,$2a24291d3flt.d$f5,$f4,$308e28253fsub.d$f14,$f5,$f2026200d3fadd.d$f4,$f6,$f1724283c7fmadd.d$f5*$f4-$f1422e29453fsjnj.d$f14$f4$f8124304d3fmul.d$f4,$f6,$f9724281c3fmadd.d$f5*$f4+$f14c2070253fcvt.w.d$f14,$f4225707cbfnmsub.d$f4,$f5,$f14$f1500432787fsw$f4$f64"b111112441553fmul.d$f4,$f6,$f10图5.3浮点译码模块仿真图5.3.2浮点发射模块的功能仿真根据浮点指令进入到浮点等待队列时,需验证指令进入队列后的压缩情况。以及当满足发射条件时等待队列的发射情况。如图5.4所示,其中条目有效位(FWQValid)信号表示条目中的数据的有效情况,前4拍变化情况为12’h0->12’hf00->12’hff0->12’h5ff,表明条目数据的压缩情况为从条目顶部进行更新且每拍最多可更新4条指令信息到等待队列中。从第5拍到第7拍的变化情况为12’h5ff(12’b101_1111_1111)->12’h3fc(12’b11_1111_1110)->12’h3f0(12’b11_1111_0000),第5到6拍变化说明条目10数据压缩到条目9,并且条目0有效位变为0说明本拍还发射一条指令;第5到6拍有效位信号(FWQValid)变化表示条目1到条目3有效位变为0
安徽大学硕士学位论文67即本拍同时发射多条指令到发射队列中。对于特殊指令如浮点比较指令如图第6拍所示,发射到队列Q0标志信号(FQ0Valid)有效,控制信号FQ0Ctl为7’h12表示浮点小于指令(flt.d)。需发射到两个发射队列,发射信号IssueFQ0Fcmp和IssueFSQFcmp为12’h2,说明指令flt.d发射到二级发射队列Q0和SQ队列中去。经分析等待队列满足相应设计要求。图5.4浮点等待队列仿真波形图对于二级发射队列的发射情况与等待队列类似,如图5.5所示,以队列Q1进行分析,根据有效位信号(FQ1Valid)知二级队列每拍最多压缩或者发射一条指令,其中队列发射后将相应的目的记分板(FQ1Dest)并根据指令执行延时(Delay)来解该记分板号(PrecSb)。相应的对于发射到两个队列的指令例如指令号(PipeUInum)为8’ha3的浮点比较指令当Q1队列中的部分发射2拍(指令执行延时)后才发射SQ队列中的浮点比较指令信息。其中SQ中发射的指令信息包括目的寄存器号FSTDDstReg(7’h10)、指令号FSTDInum(8’ha3)、控制信号FcvtFcmpCtl(2’h3)等信号。通过对浮点队列的验证表明其功能满足设计的要求。图5.5浮点发射队列仿真图5.3.3浮点指令的功能仿真浮点指令的功能验证主要是对FPU部件中指令功能实现的正确性验证,满足
【参考文献】:
期刊论文
[1]兆易创新推出基于RISC-V的通用MCU[J]. 电子产品世界. 2019(09)
[2]一种高性能四倍精度浮点乘加器的设计与实现[J]. 何军,黄永勤,朱英. 计算机工程. 2014(02)
[3]分离通路浮点乘加器设计与实现[J]. 何军,黄永勤,朱英. 计算机科学. 2013(08)
[4]FPU中一种高速乘法运算电路的设计与实现[J]. 王永海,周端,李波,常宪栋. 桂林电子工业学院学报. 2003(05)
博士论文
[1]高性能浮点算术单元VLSI实现的关键技术[D]. 刘德.哈尔滨工业大学 2016
[2]浮点乘加中混合算术加法可信性增强关键技术的研究[D]. 刘峰.国防科学技术大学 2010
硕士论文
[1]RISC-V处理器约束随机指令生成平台的设计[D]. 刘涛.西安电子科技大学 2019
[2]基于形式验证方法的数字LTE芯片逻辑等价性分析及研究[D]. 冀禹麟.西安电子科技大学 2017
[3]高性能微处理器浮点乘加单元的研究[D]. 张洁.国防科学技术大学 2016
[4]前导零预测逻辑的设计与应用[D]. 朱光前.西安电子科技大学 2016
[5]高性能X处理器浮点部件的实现和优化[D]. 邓凯伟.国防科学技术大学 2015
[6]基于PowerPC架构X型微处理器浮点单元的分析与验证[D]. 杨军.东南大学 2015
[7]基于ARMv7浮点指令集的FPU设计与实现[D]. 王忠弈.国防科学技术大学 2014
[8]高精度高性能浮点除法、开方单元的研究与设计[D]. 王广斌.华北电力大学 2014
[9]浮点融合乘加部件设计分析与尾数加电路定制设计[D]. 李振虎.国防科学技术大学 2013
[10]高性能微处理器中浮点融合乘加部件的设计与实现[D]. 谢启华.国防科学技术大学 2013
本文编号:3505106
【文章来源】:安徽大学安徽省 211工程院校
【文章页数】:92 页
【学位级别】:硕士
【部分图文】:
浮点分类指令类型部分判断代码
第五章申威架构下RISC-V浮点指令的验证66f2010253fmv.d.x$2,$f4a2621153flt.d$f4,$f6,$2a24291d3flt.d$f5,$f4,$308e28253fsub.d$f14,$f5,$f2026200d3fadd.d$f4,$f6,$f1724283c7fmadd.d$f5*$f4-$f1422e29453fsjnj.d$f14$f4$f8124304d3fmul.d$f4,$f6,$f9724281c3fmadd.d$f5*$f4+$f14c2070253fcvt.w.d$f14,$f4225707cbfnmsub.d$f4,$f5,$f14$f1500432787fsw$f4$f64"b111112441553fmul.d$f4,$f6,$f10图5.3浮点译码模块仿真图5.3.2浮点发射模块的功能仿真根据浮点指令进入到浮点等待队列时,需验证指令进入队列后的压缩情况。以及当满足发射条件时等待队列的发射情况。如图5.4所示,其中条目有效位(FWQValid)信号表示条目中的数据的有效情况,前4拍变化情况为12’h0->12’hf00->12’hff0->12’h5ff,表明条目数据的压缩情况为从条目顶部进行更新且每拍最多可更新4条指令信息到等待队列中。从第5拍到第7拍的变化情况为12’h5ff(12’b101_1111_1111)->12’h3fc(12’b11_1111_1110)->12’h3f0(12’b11_1111_0000),第5到6拍变化说明条目10数据压缩到条目9,并且条目0有效位变为0说明本拍还发射一条指令;第5到6拍有效位信号(FWQValid)变化表示条目1到条目3有效位变为0
安徽大学硕士学位论文67即本拍同时发射多条指令到发射队列中。对于特殊指令如浮点比较指令如图第6拍所示,发射到队列Q0标志信号(FQ0Valid)有效,控制信号FQ0Ctl为7’h12表示浮点小于指令(flt.d)。需发射到两个发射队列,发射信号IssueFQ0Fcmp和IssueFSQFcmp为12’h2,说明指令flt.d发射到二级发射队列Q0和SQ队列中去。经分析等待队列满足相应设计要求。图5.4浮点等待队列仿真波形图对于二级发射队列的发射情况与等待队列类似,如图5.5所示,以队列Q1进行分析,根据有效位信号(FQ1Valid)知二级队列每拍最多压缩或者发射一条指令,其中队列发射后将相应的目的记分板(FQ1Dest)并根据指令执行延时(Delay)来解该记分板号(PrecSb)。相应的对于发射到两个队列的指令例如指令号(PipeUInum)为8’ha3的浮点比较指令当Q1队列中的部分发射2拍(指令执行延时)后才发射SQ队列中的浮点比较指令信息。其中SQ中发射的指令信息包括目的寄存器号FSTDDstReg(7’h10)、指令号FSTDInum(8’ha3)、控制信号FcvtFcmpCtl(2’h3)等信号。通过对浮点队列的验证表明其功能满足设计的要求。图5.5浮点发射队列仿真图5.3.3浮点指令的功能仿真浮点指令的功能验证主要是对FPU部件中指令功能实现的正确性验证,满足
【参考文献】:
期刊论文
[1]兆易创新推出基于RISC-V的通用MCU[J]. 电子产品世界. 2019(09)
[2]一种高性能四倍精度浮点乘加器的设计与实现[J]. 何军,黄永勤,朱英. 计算机工程. 2014(02)
[3]分离通路浮点乘加器设计与实现[J]. 何军,黄永勤,朱英. 计算机科学. 2013(08)
[4]FPU中一种高速乘法运算电路的设计与实现[J]. 王永海,周端,李波,常宪栋. 桂林电子工业学院学报. 2003(05)
博士论文
[1]高性能浮点算术单元VLSI实现的关键技术[D]. 刘德.哈尔滨工业大学 2016
[2]浮点乘加中混合算术加法可信性增强关键技术的研究[D]. 刘峰.国防科学技术大学 2010
硕士论文
[1]RISC-V处理器约束随机指令生成平台的设计[D]. 刘涛.西安电子科技大学 2019
[2]基于形式验证方法的数字LTE芯片逻辑等价性分析及研究[D]. 冀禹麟.西安电子科技大学 2017
[3]高性能微处理器浮点乘加单元的研究[D]. 张洁.国防科学技术大学 2016
[4]前导零预测逻辑的设计与应用[D]. 朱光前.西安电子科技大学 2016
[5]高性能X处理器浮点部件的实现和优化[D]. 邓凯伟.国防科学技术大学 2015
[6]基于PowerPC架构X型微处理器浮点单元的分析与验证[D]. 杨军.东南大学 2015
[7]基于ARMv7浮点指令集的FPU设计与实现[D]. 王忠弈.国防科学技术大学 2014
[8]高精度高性能浮点除法、开方单元的研究与设计[D]. 王广斌.华北电力大学 2014
[9]浮点融合乘加部件设计分析与尾数加电路定制设计[D]. 李振虎.国防科学技术大学 2013
[10]高性能微处理器中浮点融合乘加部件的设计与实现[D]. 谢启华.国防科学技术大学 2013
本文编号:3505106
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3505106.html