多浮点操作数除运算控制器制造技术

技术编号:9794381 阅读:221 留言:0更新日期:2014-03-21 18:22
一种多浮点操作数除运算控制器,包括命令字及其操作数写时序控制模块、操作数存储器、浮点操作数读时序控制模块、操作数配置运算控制模块;该控制器应用FPGA设计硬连接控制电路,内部产生写时序脉冲将指令的命令字和浮点操作数按顺序连续写入存储,在内部产生的读时序脉冲作用下,按顺序读出浮点操作数执行除法运算;写入最后一个浮点操作数之后,执行除法运算命令过程不受系统控制,系统能够转去处理其他指令程序;在执行除法运算的过程中,能够读出中间运算和最终运算结果;每条指令可有127个浮点操作数,一条指令相当于多条微处理器除法运算指令,减少了系统的取指和译码、浮点操作数和运算结果写回的传输操作过程,提高了处理速度。

【技术实现步骤摘要】
多浮点操作数除运算控制器
本专利技术涉及一种多浮点操作数除运算控制器,尤其涉及一种基于采用FPGA并行操作电路硬连接的多浮点操作数除法运算控制电路及其时序控制方法。
技术介绍
浮点数除法运算器实现2个32位符合IEEE754标准的浮点数除法运算;运算器输入参与运算的两个浮点操作数,一个是操作数1,一个是操作数2,执行一次除法运算输出一个运算结果,在运算过程中,操作数1和操作数2必须维持稳定;运算器的操作数1输入端与一个暂存器的输出端连接,操作数2与另一个暂存器的输出端连接;除法运算的时间周期比加/减法、乘法运算器长,微处理器将参与运算的两个操作数传输给浮点数除法运算器后,能够转去处理其他程序,运算结束之后分时读出运算结果;对于连续执行多个操作数的除法运算,且运算结果作为被除数,微处理器需要多次分时传输作为除数的操作数,运算结果写回的操作;浮点数除法运算器的设计也采用流水线执行的方式,将运算过程分为若干模块,在微处理器控制部件发出的时序脉冲的控制下,多条浮点数除法运算指令按照模块顺序执行,流水线中的每条指令运算结束都需要将运算结果写回;但对于所执行的浮点数除法运算需要应用上一条运算指令的运算结果作为被除数的指令,则浮点数除法运算的流水线操作失去作用,影响了浮点数除法运算指令执行的速度。
技术实现思路
本专利技术的目的在于提供一种多浮点操作数除运算控制器,用于实现多个32位符合IEEE754标准的浮点数的除法运算;该控制器应用FPGA设计多浮点操作数除运算控制器的硬连接电路,对于一条多浮点操作数除法运算指令的命令字和多浮点操作数采取连续写入存储的方法,写入过程占用系统总线;控制器在接收命令和第一个操作数后,控制器内部产生与系统时钟Clock信号同步的读时序脉冲信号,在读时序脉冲信号控制下自主完成读出浮点操作数执行除法运算,除法运算命令执行过程不占用系统总线,写入存储多浮点操作数过程与执行除法运算命令的过程能够并行进行;该控制器对于传输参与除法运算的第1个操作数设置除法方式和类型标志,能够实现:第1个操作数/第2个操作数、存储在控制器中的运算结果/第1个操作数、第1个操作数/存储在控制器中的运算结果三种处理方式;在控制器执行除法运算命令过程中,系统能够读出执行除法运算命令过程中的中间运算结果和最终运算结果。解决上述技术问题的技术方案是:一种多浮点操作数除运算控制器,包括命令字及其操作数写时序控制模块、操作数存储器、浮点操作数读时序控制模块、操作数配置运算控制模块;所述命令字及其操作数写时序控制模块与操作数存储器、浮点操作数读时序控制模块、操作数配置运算控制模块连接;所述操作数存储器还与浮点操作数读时序控制模块、操作数配置运算控制模块连接;所述浮点操作数读时序控制模块还与操作数配置运算控制模块连接;所述命令字及其操作数写时序控制模块控制完成指令的写入和存储,需要占用系统总线;一条指令包括9位命令字和若干个操作数,操作数最多为127个;所述命令字及其操作数写时序控制模块被系统选中时,启动命令字及其操作数写时序控制模块工作,内部产生与系统WR信号同步的写时序脉冲序列;在写时序脉冲的控制下,锁存多浮点操作数除法指令的命令字,写入多浮点操作数予以存储;最后一个操作数被写入存储后,所述命令字及其操作数写时序控制模块停止工作;所述操作数存储器为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数(下称为操作数);所述操作数存储器的写端口操作数的写入和读端口操作数的读出不存在需要仲裁的情况;所述操作数存储器的写端口受命令字及其操作数写时序控制模块控制,将系统数据总线DB传输的操作数写入操作数存储器;读端口受浮点操作数读时序控制模块控制,将操作数读出传输到操作数配置运算控制模块;所述浮点操作数读时序控制模块在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器中的读出,不需要占用系统总线;所述浮点操作数读时序控制模块在命令字及其操作数写时序控制模块写入第1个操作数后被启动工作,输出忙信号Busy由“1”→“0”,并根据第1个操作数类型,内部产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将操作数读出参与除法运算;当参与运算的最后1个操作数读出之后,再经过一个除法运算的时间周期,输出忙信号Busy由“0”→“1”,发出一个时钟周期Clock的结果锁存脉冲后,停止浮点操作数读时序控制模块的工作;所述操作数配置运算控制模块根据操作数存储器传输的第1个操作数的除法方式和类型,选通配置除法运算器的二个输入端的操作数1和操作数2,能够锁存每次除法运算的运算结果,判断运算结果是否异常;系统能够从操作数配置运算控制模块中读出中间运算结果和命令执行的最终运算结果。其进一步技术方案是:所述命令字及其操作数写时序控制模块包括控制器识别、写地址计数器、写操作数脉冲发生控制模块、方式类型寄存器和与门Ⅰ;所述控制器识别的输入端和系统地址总线AB的A31到A27线连接,CS信号输出端与写操作数脉冲发生控制模块的写启动信号输入端、操作数配置运算控制模块连接;所述控制器识别输入A31到A27的地址值与控制器识别所设定的地址值相等,则控制器识别的CS信号输出端为“0”,否则CS信号输出端为“1”;所述写地址计数器的操作数个数输入端与系统数据总线DB的D6到D0线连接,写预置脉冲输入端与写操作数脉冲发生控制模块的脉冲①_1输出端连接,写计数脉冲输入端与写操作数脉冲发生控制模块的脉冲③_1输出端连接,写地址输出端与操作数存储器的写地址输入端AB_1连接,写溢出输出端和与门Ⅰ的一个输入端连接;所述写操作数脉冲发生控制模块的写同步脉冲输入端与系统写信号WR线连接,复位输入端和与门Ⅰ的输出端连接,脉冲①_1输出端还与方式类型寄存器锁存信号输入端连接,作为读预置脉冲与浮点操作数读时序控制模块连接,脉冲②_1输出端与操作数存储器写端口的WR_1输入端连接,作为读启动脉冲与浮点操作数读时序控制模块连接;当CS为“0”时,所述写操作数脉冲发生控制模块在系统第1个WR信号的作用下启动工作,按照顺序输出脉冲①_1、脉冲②_1、脉冲③_1,直到复位信号输入端由“1”→“0”才停止工作,置脉冲①_1、脉冲②_1和脉冲③_1输出端为“1”状态;所述方式类型寄存器的输入端与系统数据总线DB的D8和D7线连接,方式输出端与操作数配置运算控制模块连接,类型输出端与浮点操作数读时序控制模块连接;所述与门Ⅰ的另二个输入端分别与系统复位信号Rst线、操作数配置运算控制模块连接;当控制器识别输出的CS信号由“1”→“0”时,所述命令字及其操作数写时序控制模块启动写操作数脉冲发生控制模块工作,写操作数脉冲发生控制模块发出与系统WR信号同步的时序脉冲序列信号,在脉冲①_1下降沿的作用下,将指令的命令字的第1个操作数的除法方式和类型锁存在方式类型寄存器中,将操作数个数值预置给写地址计数器,作为写地址计数器的计数初值和操作数存储器写端口的写地址初值,并置写溢出输出端为“1”状态;脉冲②_1作为操作数存储器写端口的WR_1信号,将操作数写入操作数存储器中;脉冲③_1作为写地址计数器的写计数脉冲,这样每写入一个操作数,产生1个计数脉冲,写地址输出端输出的地址值-1指向操作数存储器写端口的下一本文档来自技高网...
多浮点操作数除运算控制器

【技术保护点】
一种多浮点操作数除运算控制器,实现多个32位符合IEEE754标准的浮点数除法运算,其特征在于:该控制器包括命令字及其操作数写时序控制模块(Ⅰ)、操作数存储器(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、操作数配置运算控制模块(Ⅳ);所述命令字及其操作数写时序控制模块(Ⅰ)与操作数存储器(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、操作数配置运算控制模块(Ⅳ)连接;所述操作数存储器(Ⅱ)还与浮点操作数读时序控制模块(Ⅲ)、操作数配置运算控制模块(Ⅳ)连接;所述浮点操作数读时序控制模块(Ⅲ)还与操作数配置运算控制模块(Ⅳ)连接;所述命令字及其操作数写时序控制模块(Ⅰ)控制完成指令的写入和存储,需要占用系统总线;一条指令包括9位命令字和若干个操作数,操作数最多为127个;所述命令字及其操作数写时序控制模块(Ⅰ)被系统选中时,启动命令字及其操作数写时序控制模块(Ⅰ)工作,内部产生与系统WR信号同步的写时序脉冲序列;在写时序脉冲的控制下,锁存多浮点操作数除法指令的命令字,写入多浮点操作数予以存储;最后一个操作数被写入存储后,所述命令字及其操作数写时序控制模块(Ⅰ)停止工作;所述操作数存储器(Ⅱ)为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数(下称为操作数);所述操作数存储器(Ⅱ)的写端口操作数的写入和读端口操作数的读出不存在需要仲裁的情况;所述操作数存储器(Ⅱ)的写端口受命令字及其操作数写时序控制模块(Ⅰ)控制,将系统数据总线DB传输的操作数写入操作数存储器(Ⅱ);读端口受浮点操作数读时序控制模块(Ⅲ)控制,将操作数读出传输到操作数配置运算控制模块(Ⅳ);所述浮点操作数读时序控制模块(Ⅲ)在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器(Ⅱ)中的读出,不需要占用系统总线;所述浮点操作数读时序控制模块(Ⅲ)在命令字及其操作数写时序控制模块(Ⅰ)写入第1个操作数后被启动工作,输出忙信号Busy由“1”→“0”,并根据第1个操作数类型,内部产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将操作数读出参与除法运算;当参与运算的最后1个操作数读出之后,再经过一个除法运算的时间周期,输出忙信号Busy由“0”→“1”,发出一个时钟周期Clock的结果锁存脉冲后,停止浮点操作数读时序控制模块(Ⅲ)的工作;所述操作数配置运算控制模块(Ⅳ)根据操作数存储器(Ⅱ)传输的第1个操作数的除法方式和类型,选通配置除法运算器的二个输入端的操作数1和操作数2,能够锁存每次除法运算的运算结果,判断运算结果是否异常;系统能够从操作数配置运算控制模块(Ⅳ)中读出中间运算结果和命令执行的最终运算结果。...

【技术特征摘要】
1.一种多浮点操作数除运算控制器,实现多个32位符合IEEE754标准的浮点数除法运算,其特征在于:该控制器包括命令字及其浮点操作数写时序控制模块(Ⅰ)、浮点操作数存储器(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、浮点操作数配置运算控制模块(Ⅳ);所述命令字及其浮点操作数写时序控制模块(Ⅰ)与浮点操作数存储器(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、浮点操作数配置运算控制模块(Ⅳ)连接;所述浮点操作数存储器(Ⅱ)还与浮点操作数读时序控制模块(Ⅲ)、浮点操作数配置运算控制模块(Ⅳ)连接;所述浮点操作数读时序控制模块(Ⅲ)还与浮点操作数配置运算控制模块(Ⅳ)连接;所述命令字及其浮点操作数写时序控制模块(Ⅰ)控制完成指令的写入和存储,需要占用系统总线;一条指令包括9位命令字和若干个浮点操作数,浮点操作数最多为127个;所述命令字及其浮点操作数写时序控制模块(Ⅰ)被系统选中时,启动命令字及其浮点操作数写时序控制模块(Ⅰ)工作,内部产生与系统WR信号同步的写时序脉冲序列;在写时序脉冲的控制下,锁存多浮点操作数除法指令的命令字,写入多浮点操作数予以存储;最后一个浮点操作数被写入存储后,所述命令字及其浮点操作数写时序控制模块(Ⅰ)停止工作;所述浮点操作数存储器(Ⅱ)为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数;所述浮点操作数存储器(Ⅱ)的写端口浮点操作数的写入和读端口浮点操作数的读出不存在需要仲裁的情况;所述浮点操作数存储器(Ⅱ)的写端口受命令字及其浮点操作数写时序控制模块(Ⅰ)控制,将系统数据总线DB传输的浮点操作数写入浮点操作数存储器(Ⅱ);读端口受浮点操作数读时序控制模块(Ⅲ)控制,将浮点操作数读出传输到浮点操作数配置运算控制模块(Ⅳ);所述浮点操作数读时序控制模块(Ⅲ)在内部读时序脉冲的控制下,自主完成浮点操作数从浮点操作数存储器(Ⅱ)中的读出,不需要占用系统总线;所述浮点操作数读时序控制模块(Ⅲ)在命令字及其浮点操作数写时序控制模块(Ⅰ)写入第1个浮点操作数后被启动工作,输出忙信号Busy由“1”→“0”,并根据第1个浮点操作数类型,内部产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将浮点操作数读出参与除法运算;当参与运算的最后1个浮点操作数读出之后,再经过一个除法运算的时间周期,输出忙信号Busy由“0”→“1”,发出一个时钟周期Clock的结果锁存脉冲后,停止浮点操作数读时序控制模块(Ⅲ)的工作;所述浮点操作数配置运算控制模块(Ⅳ)根据浮点操作数存储器(Ⅱ)传输的第1个浮点操作数的除法方式和类型,选通配置除法运算器的二个输入端的浮点操作数1和浮点操作数2,能够锁存每次除法运算的运算结果,判断运算结果是否异常;系统能够从浮点操作数配置运算控制模块(Ⅳ)中读出中间运算结果和命令执行的最终运算结果;所述命令字及其浮点操作数写时序控制模块(Ⅰ)包括控制器识别(1)、写地址计数器(2)、写浮点操作数脉冲发生控制模块(3)、方式类型寄存器(4)和与门Ⅰ(5);所述控制器识别(1)的输入端和系统地址总线AB的A31到A27线连接,CS信号输出端与写浮点操作数脉冲发生控制模块(3)的写启动信号输入端、浮点操作数配置运算控制模块(Ⅳ)连接;所述控制器识别(1)输入A31到A27的地址值与控制器识别(1)所设定的地址值相等,则控制器识别(1)的CS信号输出端为“0”,否则CS信号输出端为“1”;所述写地址计数器(2)的浮点操作数个数输入端与系统数据总线DB的D6到D0线连接,写预置脉冲输入端与写浮点操作数脉冲发生控制模块(3)的脉冲①_1输出端连接,写计数脉冲输入端与写浮点操作数脉冲发生控制模块(3)的脉冲③_1输出端连接,写地址输出端与浮点操作数存储器(Ⅱ)的写地址输入端AB_1连接,写溢出输出端和与门Ⅰ(5)的一个输入端连接;所述写浮点操作数脉冲发生控制模块(3)的写同步脉冲输入端与系统写信号WR线连接,复位输入端和与门Ⅰ(5)的输出端连接,脉冲①_1输出端还与方式类型寄存器(4)锁存信号输入端连接,作为读预置脉冲与浮点操作数读时序控制模块(Ⅲ)连接,脉冲②_1输出端与浮点操作数存储器(Ⅱ)写端口的WR_1输入端连接,作为读启动脉冲与浮点操作数读时序控制模块(Ⅲ)连接;当CS为“0”时,所述写浮点操作数脉冲发生控制模块(3)在系统第1个WR信号的作用下启动工作,按照顺序输出脉冲①_1、脉冲②_1、脉冲③_1,直到复位信号输入端由“1”→“0”才停止工作,置脉冲①_1、脉冲②_1和脉冲③_1输出端为“1”状态;所述方式类型寄存器(4)的输入端与系统数据总线DB的D8和D7线连接,方式输出端与浮点操作数配置运算控制模块(Ⅳ)连接,类型输出端与浮点操作数读时序控制模块(Ⅲ)连接;所述与门Ⅰ(5)的另二个输入端分别与系统复位信号Rst线、浮点操作数配置运算控制模块(Ⅳ)连接;当控制器识别(1)输出的CS信号由“1”→“0”时,所述命令字及其浮点操作数写时序控制模块(Ⅰ)启动写浮点操作数脉冲发生控制模块(3)工作,写浮点操作数脉冲发生控制模块(3)发出与系统WR信号同步的时序脉冲序列信号,在脉冲①_1下降沿的作用下,将指令的命令字的第1个浮点操作数的除法方式和类型锁存在方式类型寄存器(4)中,将浮点操作数个数值预置给写地址计数器(2),作为写地址计数器(2)的计数初值和浮点操作数存储器(Ⅱ)写端口的写地址初值,并置写溢出输出端为“1”状态;脉冲②_1作为浮点操作数存储器(Ⅱ)写端口的WR_1信号,将浮点操作数写入浮点操作数存储器(Ⅱ)中;脉冲③_1作为写地址计数器(2)的写计数脉冲,这样每写入一个浮点操作数,产生1个计数脉冲,写地址输出端输出的地址值-1指向浮点操作数存储器(Ⅱ)写端口的下一个存储单元的地址,当写地址输出端输出的地址值由预置值减至“0”时,写溢出输出端由“1”→“0”,复位写浮点操作数脉冲发生控制模块(3),置所有的脉冲输出端为“1”状态;所述浮点操作数读时序控制模块(Ⅲ)包括读地址计数器(6)、读浮点操作数脉冲发生控制模块(7)、与门Ⅱ(8)、与门Ⅲ(9)和与门Ⅳ(10);所述读地址计数器(6)的浮点操作数个数输入端与系统数据总线DB的D6到D0线连接,读预置脉冲输入端与写浮点操作数脉冲发生控制模块(3)的脉冲①_1输出端连接,读计数脉冲输入端和与门Ⅳ(10)的输出端连接,读地址输出端与浮点操作数存储器(Ⅱ)的读地址输入端AB_2连接,读溢出输出端与读浮点操作数脉冲发生控制模块(7)的读溢出输入端连接;所述读地址计数器(6)在读预置脉冲的作用下将输入命令的浮点操作数个数作为计数初值、浮点操作数存储器(Ⅱ)读端口的读地址初值,并置读溢出输出端信号为“1”状态;每来一个读计数脉冲,读地址计数器(6)的读地址值-1,修改浮点操作数存储器(Ⅱ)读端口存储单元地址值,当读地址计数器(6)输出的读地址值由预置值减至“0”时,读溢出输出端由“1”→“0”,读溢出输出信号是浮点操作数读出过程结束的标志;所述读浮点操作数脉冲发生控制模块(7)的读同步脉冲输入端与系统时钟Clock线连接,复位输入端和与门Ⅲ(9)的输出端连接,读启动输入端与写浮点操作数脉冲发生控制模块...

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

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

1