浮点数加/减运算执行控制器制造技术

技术编号:9794385 阅读:117 留言:0更新日期:2014-03-21 18:22
一种浮点数加/减运算执行控制器,包括浮点操作数配置控制模块、浮点数加/减运算器、脉冲分配器、结果输出控制模块;该执行控制器应用FPGA设计硬连接控制电路,执行控制器被系统选中,启动脉冲分配器,在内部脉冲分配器的时序脉冲控制下自主完成参与运算的2个操作数的选择配置,运算结果的锁存,不需要系统对执行控制器的运算处理过程施加时序控制脉冲。该执行控制器能够执行2个操作数都来自系统数据总线的运算,也能够执行1个操作数是上次运算的结果,避免每条指令运算结束都需要将运算结果写回的过程,并且在浮点数加/减法运算的过程中,系统能够并行从执行控制器读出上次运算的结果,提高了系统执行浮点数加/减运算指令序列的速度。

【技术实现步骤摘要】
浮点数加/减运算执行控制器
本专利技术涉及一种浮点数加/减运算执行控制器,尤其涉及一种基于采用FPGA并行操作电路硬连接的浮点数加/减运算控制电路及其时序控制方法。
技术介绍
随着现代科学技术对数据运算精度要求的不断提高和数值运算范围的不断扩大,使得浮点运算的应用越来越多,越来越重要。浮点数加/减运算是现代科学计算处理中的一个非常频繁并且非常重要的操作,在现代科学计算处理应用中,浮点数加/减运算量占到全部浮点操作的55%以上。在微处理器的指令系统中,浮点数加/减法指令实现2个32位符合IEEE754标准的浮点数加/减运算,其浮点数加/减运算器的设计通常采用流水线执行的方式,将运算过程分为若干模块,在微处理器控制部件发出的时序脉冲的控制下,多条浮点数加/减运算指令按照模块顺序执行,流水线中的每条指令运算结束都需要将运算结果写回。但对于所执行的浮点数加/减法指令需要应用上一条运算指令的运算结果作为操作数的指令,则浮点数加/减运算的流水线操作失去作用,影响了浮点数加/减运算指令执行的速度。而通常很多运算都需要应用上次的运算结果作为本次运算的操作数,例如加/减混合运算,如果有多个连续的加/减运算,比如7个操作数,需要6条浮点数加/减运算指令予以实现,执行这6条指令需要将运算结果写回6次,向浮点数加/减运算器传输操作数12次,需要按照数据传输的时序要求变换传输操作数的地址和写回运算结果的地址,运算结果作为操作数传送给浮点数加/减运算的一个输入端和运算结果写回的过程是分时处理的,不利于进一步提高算术运算类指令执行的速度。
技术实现思路
本专利技术的目的在于提供一种能够自主完成浮点数加/减运算功能的浮点数加/减运算执行控制器;该浮点数加/减运算执行控制器应用FPGA设计硬连接控制电路,操作数是32位符合IEEE754标准的浮点数,能够执行2个操作数都来自系统数据总线的运算,也能够执行1个操作数是上次运算结果的运算,避免每条指令运算结束都需要将运算结果写回的过程,其操作数的选择配置在执行控制器内部时序的控制下自主完成,并且在浮点数加/减法运算的过程中,系统能够从浮点加/减运算执行控制器读出上次运算的结果,以克服已有技术的不足之处。解决上述技术问题的技术方案是:一种浮点数加/减运算执行控制器,涉及一种基于采用FPGA电路硬连接并行处理的浮点数加/减运算控制电路及其时序控制方法,包括浮点操作数配置控制模块、浮点数加/减运算器、脉冲分配器和结果输出控制模块;所述浮点操作数配置控制模块与浮点数加/减运算器、脉冲分配器、结果输出控制模块连接;所述浮点数加/减运算器还与结果输出控制模块连接;所述脉冲分配器还与结果输出控制模块连接;所述浮点操作数配置控制模块按照操作数类型配置浮点数加/减运算器的操作数1是来自于上次的运算结果,还是来自于系统数据总线DB的浮点操作数,在脉冲分配器输出的时序脉冲控制下,完成浮点数加/减运算器输入的操作数1的选择,及操作数1和操作数2的配置和锁存;所述浮点数加/减运算器对浮点操作数配置控制模块输出的操作数1和操作数2进行运算,并按照系统操作方式信号0P给定的状态,确定是进行加法还是减法运算;所述脉冲分配器在满足启动工作的条件下,按照操作数的类型,发出满足操作数1和操作数2配置的时序脉冲,以及浮点数加/减运算器运算结果的锁存信号;所述脉冲分配器在满足循环启动的条件下,自动启动脉冲分配器的工作;所述结果输出控制模块在脉冲分配器输出的结果锁存信号的作用下,将运算结果予以锁存,并判断计算结果是否异常,如果出现异常,发出IRQ信号;当使能信号CS为“0”时,在系统RD信号的作用下,系统读出运算结果。其进一步技术方案是:所述浮点操作数配置控制模块包括选通器、运算结果寄存器、操作数寄存器、非门1、或Π 1、或门II和与门I ;所述选通器的一个输入端与系统数据总线DB连接,另一个输入端与浮点数加/减运算器的运算结果输出端连接,数据输出端与运算结果寄存器的输入端连接,选通控制输入端与系统的操作数类型输入线连接;当选通控制输入端为“0”时,选通器选通输出的是结果输出控制模块输出的运算结果;当选通控制输入端为“1”时,选通器选通输出的是系统数据总线DB输入的数据;所述运算结果寄存器的锁存脉冲输入端与脉冲分配器连接,操作数1输出端与浮点数加/减运算器的操作数1输入端连接;所述操作数寄存器的输入端和系统数据总线DB连接,锁存脉冲输入端和与门I的输出端连接,操作数2输出端和浮点数加/减运算器的操作数2输入端连接;所述非门I的输入端与系统的操作数类型输入线连接,输出端和或门I的一个输入端连接;所述或门I的另一个输入端和脉冲分配器连接,输出端和与门I的一个输入端连接;所述或门II的一个输入端与脉冲分配器连接,另一个输入端与系统的操作数类型输入线连接,输出端和与门I的一个输入端连接。其进一步技术方案是:所述脉冲分配器包括脉冲发生器、类型寄存器、或门II1、或门IV、非门I1、或门V和与门II ;所述脉冲发生器的复位输入端与系统的复位Rst线连接,启动输入端和或门III的输出端连接,循环启动输入端和与门II的输出端连接,脉冲同步输入端和系统时钟Clock线连接,类型输入端与类型寄存器的输出端连接,脉冲①输出端与运算结果寄存器的锁存脉冲输入端、或门II的另一个输入端连接;脉冲②输出端和或门I的另一个输入端连接,类型寄存器的锁存脉冲输入端连接;脉冲③输出端和或门IV的一个输入端连接;脉冲④输出端和或门V的一个输入端连接,运算结束输出端向系统输出运算结束信号;所述类型寄存器的输入端和系统操作数类型输入线连接,类型寄存器输出端还和或门IV的另一个输入端、非门II的输入端连接;所述类型寄存器在脉冲②下降沿的作用下,锁存操作数类型的状态;所述或门III的二个输入端分别和系统的使能信号CS线、写信号WR线连接;所述或门IV的输出端和与门II的一个输入端连接;所述非门II的输出端和或门V的另一个输入端连接;所述或门V的输出端和与门II的另一个输入端连接;所述与门II的输出端还与结果输出控制模块连接;所述脉冲发生器输出的脉冲①、脉冲②,脉冲③和脉冲④与系统时钟Clock同步,即系统时钟Clock是脉冲发生分配控制器的同步脉冲;当操作数类型为“0”时,所述脉冲分配器在脉冲②下降沿的作用下,类型寄存器输出状态为“0”,或门V输出为“1”状态,在脉冲③下降沿的作用下,或门IV的输出由“1”一“0”,则与门II的输出也由“1” 一 “0”,作为脉冲发生器循环启动信号和结果输出控制模块的结果锁存信号;当操作数类型为“ 1”时,所述脉冲分配器在脉冲②下降沿的作用下,类型寄存器输出状态为“1”,或门IV输出为“1”状态,在脉冲④下降沿的作用下,或门V的输出由“1”一“0”,则与门II的输出也由“1”一 “0”,作为脉冲发生器循环启动信号和结果输出控制模块的结果锁存信号;当所述脉冲发生器的运算结束输出端为“0”,CS为“0”时,在WR信号的下降沿作用下,启动输入端信号由“1”一 “0”,启动脉冲发生器工作,脉冲发生器被启动工作之后,置运算结束信号输出端为“ 1 ”;如果启动输入端为“0”,循环启动输入端由“ 1” 一 “0”,启动脉冲发生器工作;如果启动输入本文档来自技高网...

【技术保护点】
一种浮点数加/减运算执行控制器,用于实现2个32位符合IEEE754标准的浮点数加或减运算,其特征在于:该执行控制器包括浮点操作数配置控制模块(Ⅰ)、浮点数加/减运算器(Ⅱa)、脉冲分配器(Ⅲ)和结果输出控制模块(Ⅳ);所述浮点操作数配置控制模块(Ⅰ)与浮点数加/减运算器(Ⅱa)、脉冲分配器(Ⅲ)、结果输出控制模块(Ⅳ)连接;所述浮点数加/减运算器(Ⅱa)还与结果输出控制模块(Ⅳ)连接;所述脉冲分配器(Ⅲ)还与结果输出控制模块(Ⅳ)连接;所述浮点操作数配置控制模块(Ⅰ)按照操作数类型配置浮点数加/减运算器(Ⅱa)的操作数1是来自于上次的运算结果,还是来自于系统数据总线DB的浮点操作数,在脉冲分配器(Ⅲ)输出的时序脉冲控制下,完成浮点数加/减运算器(Ⅱa)输入的操作数1的选择,及操作数1和操作数2的配置和锁存;所述浮点数加/减运算器(Ⅱa)对浮点操作数配置控制模块(Ⅰ)输出的操作数1和操作数2进行运算,并按照系统操作方式信号OP给定的状态,确定是进行加法还是减法运算;所述脉冲分配器(Ⅲ)在满足启动工作的条件下,按照操作数的类型,发出满足操作数1和操作数2配置的时序脉冲,以及浮点数加/减运算器(Ⅱa)运算结果的锁存信号;所述脉冲分配器(Ⅲ)在满足循环启动的条件下,自动启动脉冲分配器(Ⅲ)的工作;所述结果输出控制模块(Ⅳ)在脉冲分配器(Ⅲ)输出的结果锁存信号的作用下,将运算结果予以锁存,并判断计算结果是否异常,如果出现异常,发出IRQ信号;当使能信号CS为“0”时,在系统RD信号的作用下,系统读出运算结果。...

【技术特征摘要】
1.一种浮点数加/减运算执行控制器,用于实现2个32位符合IEEE754标准的浮点数加或减运算,其特征在于:该执行控制器包括浮点操作数配置控制模块(I )、浮点数加/减运算器(II a)、脉冲分配器皿)和结果输出控制模块(IV);所述浮点操作数配置控制模块(I )与浮点数加/减运算器(II a)、脉冲分配器(III)、结果输出控制模块(IV)连接;所述浮点数加/减运算器(II a)还与结果输出控制模块(IV)连接;所述脉冲分配器(III)还与结果输出控制模块(IV)连接;所述浮点操作数配置控制模块(I )按照操作数类型配置浮点数加/减运算器(II a)的操作数1是来自于上次的运算结果,还是来自于系统数据总线DB的浮点操作数,在脉冲分配器(III)输出的时序脉冲控制下,完成浮点数加/减运算器(II a)输入的操作数1的选择,及操作数1和操作数2的配置和锁存;所述浮点数加/减运算器(II a)对浮点操作数配置控制模块(I )输出的操作数1和操作数2进行运算,并按照系统操作方式信号0P给定的状态,确定是进行加法还是减法运算;所述脉冲分配器(III)在满足启动工作的条件下,按照操作数的类型,发出满足操作数1和操作数2配置的时序脉冲,以及浮点数加/减运算器(II a)运算结果的锁存信号;所述脉冲分配器(III)在满足循环启动的条件下,自动启动脉冲分配器(III)的工作;所述结果输出控制模块(IV)在脉冲分配器(III)输出的结果锁存信号的作用下,将运算结果予以锁存,并判断计算结果是否异常,如果出现异常,发出IRQ信号;当使能信号CS为“0”时,在系统RD信号的作用下,系统读出运算结果。2.如权利要求1所述的浮点数加/减运算执行控制器,其特征在于:所述浮点操作数配置控制模块(I)包括选通器(1)、运算结果寄存器(2)、操作数寄存器(3)、非门I (4)、或门I (5)、或门II (6)和与门I (7);所述选通器(1)的一个输入端与系统数据总线DB连接,另一个输入端与浮点数加/减运算器(II a)的运算结果输出端连接,数据输出端与运算结果寄存器(2)的输入端连接,选通控制输入端与系统的操作数类型输入线连接;当选通控制输入端为“0”时,选通器(1)选通输出的是结果输出控制模块(IV)输出的运算结果;当选通控制输入端为“ 1 ”时,选通器(1)选通输出的是系统数据总线DB输入的数据;所述运算结果寄存器(2)的锁存脉冲输入端与脉冲分配器(III)连接,操作数1输出端与浮点数加/减运算器(II a)的操作数1输入端连接;所述操作数寄存器(3)的输入端和系统数据总线DB连接,锁存脉冲输入端和与门I(7)的输出端连接,操作数2输出端和浮点数加/减运算器(II a)的操作数2输入端连接;所述非门I (4)的输入端与系统的操作数类型输入线连接,输出端和或门I (5)的一个输入端连接;所述或门I (5)的另一个输入端和脉冲分配器(III)连接,输出端和与门I (7)的一个输入端连接; 所述或门II (6)的一个输入端与脉冲分配器(III)连接,另一个输入端与系统的操作数类型输入线连接,输出端和与门I (7)的一个输入端连接。3.如权利要求1所述的浮点数加/减运算执行控制器,其特征在于:所述脉冲分配器(III)包括脉冲发生器(8)、类型寄存器(9)、或门111(10)、或门IV(ll)、非门II (12)、或门V(13)和与门 II (14); 所述脉冲发生器(8)的复位输入端与系统的复位Rst线连接,启动输入端和或门III(10)的输出端连接,循环启动输入端和与门II (14)的输出端连接,脉冲同步输入端和系统时钟Clock线连接,类型输入端与类型寄存器(9)的输出端连接,脉冲①输出端与运算结果寄存器(2)...

【专利技术属性】
技术研发人员:蔡启仲余玲李克俭张玲玲王鸣桃
申请(专利权)人:广西科技大学
类型:发明
国别省市:

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

1