【技术实现步骤摘要】
多浮点操作数加/减、乘、除运算控制器
本技术涉及一种多浮点操作数加/减、乘、除运算控制器,尤其涉及一种基于采用FPGA并行操作电路硬连接的多浮点操作数加/减、乘、除运算控制电路及其时序控制方法。
技术介绍
浮点数加/减、乘、除的四则混合运算是高精度数据运算应用频率非常高的算术运算,每个运算类型的运算器实现2个32位符合IEEE754标准的浮点数运算;运算器输入参与运算的两个浮点操作数,一个是操作数1,一个是操作数2,执行一次运算输出一个运算结果,在运算过程中,操作数I和操作数2必须维持稳定;运算器的操作数I输入端与一个暂存器的输出端连接,操作数2与另一个暂存器的输出端连接;对于大多数微处理器的算术运算指令,每条指令执行2个操作数的运算;对于高级语言的四则混合运算命令都是采用自然的书写方式表达,在高级语言的编译或翻译系统中将四则混合运算公式转化为微处理器能够识别的二进制代码的指令序列,即2个操作数的运算组成一条运算指令,以及若干条操作数传输指令和运算结果传输指令;微处理器需要逐条读出指令进行译码,传输操作数、运算、结果写回的操作;浮点数加/减、乘、除的四则混合运算中,加/减运算花费时钟周期时间最少,乘法运算次之,除法运算比加/减运算、乘法运算将花费数倍的时间周期,采用流水线执行浮点数加/减、乘、除的四则混合运算的指令序列,下次运算需要应用上次运算结果时,每次运算时间周期和结果写回运算器操作数输入端是影响执行浮点数加/减、乘、除的四则混合运算指令序列速度的瓶颈。
技术实现思路
本技术的目的在于提供一种多浮点操作数加/减、乘、除运算控制器,用于实现多个3 ...
【技术保护点】
一种多浮点操作数加/减、乘、除运算控制器,用于实现多个32位符合IEEE754标准的浮点数加/减、乘、除的混合运算,其特征在于:该控制器包括命令字及操作数写时序控制模块(Ⅰ)、操作数存储器(Ⅱ)、操作数读时序控制模块(Ⅲ)、操作数配置及运算控制模块(Ⅳ);所述命令字及操作数写时序控制模块(Ⅰ)与操作数存储器(Ⅱ)、操作数读时序控制模块(Ⅲ)、操作数配置及运算控制模块(Ⅳ)连接;所述操作数存储器(Ⅱ)还与操作数读时序控制模块(Ⅲ)、操作数配置及运算控制模块(Ⅳ)连接;所述操作数读时序控制模块(Ⅲ)还与操作数配置及运算控制模块(Ⅳ)连接;所述命令字及操作数写时序控制模块(Ⅰ)控制完成指令的写入和存储,需要占用系统总线;一条指令包括32位命令字和若干个操作数,操作数最多为13个;所述操作数存储器(Ⅱ)为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数,以下称为操作数;所述操作数读时序控制模块(Ⅲ)在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器(Ⅱ)中的读出,不需要占用系统总线;所述操作数配置及运算控制模块(Ⅳ)根据命令字及操作数写时序控制模块(Ⅰ)输出的运算符选择每个 ...
【技术特征摘要】
1.一种多浮点操作数加/减、乘、除运算控制器,用于实现多个32位符合IEEE754标准的浮点数加/减、乘、除的混合运算,其特征在于:该控制器包括命令字及操作数写时序控制模块(I )、操作数存储器(II)、操作数读时序控制模块(III)、操作数配置及运算控制模块(IV); 所述命令字及操作数写时序控制模块(I )与操作数存储器(II)、操作数读时序控制模块(III)、操作数配置及运算控制模块(IV)连接; 所述操作数存储器(II)还与操作数读时序控制模块(III)、操作数配置及运算控制模块(IV)连接; 所述操作数读时序控制模块(III)还与操作数配置及运算控制模块(IV)连接; 所述命令字及操作数写时序控制模块(I )控制完成指令的写入和存储,需要占用系统总线;一条指令包括32位命令字和若干个操作数,操作数最多为13个; 所述操作数存储器(II)为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数,以下称为操作数; 所述操作数读时序控制模块(III)在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器(II)中的读出,不需要占用系统总线; 所述操作数配置及运算控制模块(IV)根据命令字及操作数写时序控制模块(I )输出的运算符选择每个操作数相应的运算器进行计算,所述操作数配置及运算控制模块(IV)能够锁存每次运算的计算结果,并判断计算结果是否异常;系统能够从操作数配置及运算控制模块(IV)中读出中间运算结果和命令执行的最终运算结果。2.如权利要求1所述的多浮点操作数加/减、乘、除运算控制器,其特征在于:所述命令字及操作数写时序控制模块(I )包括控制器识别(I)、写地址计数器(2)、写操作数脉冲发生控制模块(3)、方式类型寄存器(4)、运算符移位寄存器(5)和与门I (6); 所述控制器识别(I)的输入端与系统地址总线AB的A31到A27线连接,CS信号输出端与写操作数脉冲发生控制模块(3)的启动信号输入端连接,还与操作数配置及运算控制模块(IV)连接;所述控制器识别(I)输入A31到A27的地址值与控制器识别(I)所设定的地址值相等,则控制器识别(I)的CS信号输出端为“O”,否则CS信号输出端为“ I” ; 所述写地址计数器(2)的操作数个数输入端与系统数据总线DB的D3到DO线连接,写预置脉冲输入端与写操作数脉冲发生控制模块(3)的脉冲①_1输出端连接,写计数脉冲输入端与写操作数脉冲发生控制模块(3)的脉冲③_1输出端连接,写地址输出端与操作数存储器(II)的写地址输入端AB_1连接,写溢出输出端和与门I (6)的一个输入端连接; 所述写地址计数器(2)实质上是一个减I计数器,系统DB的D3到DO传输的是参与加/减、乘、除运算的操作数个数值,在写预置脉冲的控制下将输入指令的操作数个数作为计数初值和操作数存储器(II)的4位写地址初值,并置写溢出输出端为“I”状态;每来一个写计数脉冲,写地址计数器(2)输出的写地址值-1,修改操作数存储器(II)写端口存储单元地址值,直到计数值输出端为“0”,写溢出信号由“I”一 “0”,写溢出信号是操作数写入过程结束的标志; 所述写操作数脉冲发生控制模块(3)的同步脉冲输入端与系统写信号WR线连接,复位输入端和与门I (6)的输出端连接,脉冲①」输出端还与方式类型寄存器(4)的锁存信号输入端、运算符移位寄存器(5)的锁存信号输入端、操作数读时序控制模块(III)连接,脉冲②_1输出端与操作数存储器(II)写端口的WR_1输入端、操作数读时序控制模块(III)连接;当CS为“O”时,所述写操作数脉冲发生控制模块(3)在系统第I个WR信号的作用下启动工作,按照顺序输出脉冲①_1、脉冲②_1、脉冲③_1,直到复位信号输入端由“I” 一 “O”才停止工作,置脉冲①_1、脉冲②_1和脉冲③」输出端为“I”状态; 所述方式类型寄存器(4)的输入端与系统数据总线DB的D5和D4线连接,类型输出端与操作数读时序控制模块(III)连接,方式输出端与操作数配置及运算控制模块(IV)连接;所述方式类型寄存器(4)在脉冲①」下降沿的作用下,将第I个操作数的方式和类型的状态锁存在方式类型寄存器(4)中; 所述运算符移位寄存器(5)的输入端与系统数据总线DB的D31到D6线连接,移位脉冲输入端与操作数读时序控制模块(III)连接,运算符输出端与操作数读时序控制模块(III)和操作数配置及运算控制模块(IV)连接; 所述与门I (6)的另二个输入端分别与系统复位信号Rst线、操作数配置及运算控制模块(IV)连接。3.如权利要求2所述的多浮点操作数加/减、乘、除运算控制器,其特征在于:所述操作数读时序控制模块(III)包括读地址计数器(7)、读操作数脉冲发生控制模块(8)、与门II(9)、与门III(IO)和与门IV(Il); 所述读地址计数器(7)的操作数个数输入端和系统数据总线DB的D3到DO线连接,读预置脉冲输入端与写操作数脉冲发生控制模块(3)的脉冲①_1输出端连接,读计数脉冲输入端和与门IV (11)的输出端连接,读地址输出端与操作数存储器(II)的读地址输入端AB_2连接,读溢出输出端 与读操作数脉冲发生控制模块(8)的读溢出输入端连接; 所述读地址计数器(7)实质上是一个减I计数器,在读预置脉冲的作用下将来自系统数据总线DB的D3到DO的操作数个数作为计数初值和操作数存储器(II)读端口的读地址初值,并置读溢出输出端信号为“ I”状态;每来一个读计数脉冲,读地址计数器(7)输出的读地址值-1,修改操作数存储器(II)读端口存储单元地址值,直到为“0”,读溢出信号由“I” 一 “O”,是读地址计数器(7)停止工作的标志; 所述读操作数脉冲发生控制模块(8)的同步脉冲输入端与系统时钟Clock线连接,复位输入端和与门III(IO)的输出端连接,读启动输入端与写操作数脉冲发生控制模块(3)的脉冲②_1输出端连接,类型输入端与方式类型寄存器(4)的类型输出端连接,运算符输入端与运算符移位寄存器(5)的运算符输出端连接;脉冲①_2输出端和与门II (9)的一个输入端、操作数配置及运算控制模块(IV)连接;脉冲②_2输出端和与门IV(Il)的一个输入端、操作数配置及运算控制模块(IV)连接;脉冲③_2输出端和与门II (9)的另一个输入端连接;脉冲④_2输出端和与门IV (11)的另一个输入端连接;脉冲⑤_2和脉冲?_2输出端与操作数配置及运算控制模块(IV)连接;Busy输出端向系统输出Bu...
【专利技术属性】
技术研发人员:李克俭,蔡启仲,黄仕林,任杰,王鸣桃,
申请(专利权)人:广西科技大学,
类型:新型
国别省市:广西;45
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。