发明名称 多浮点操作数加/减、乘、除运算控制器
摘要 一种多浮点操作数加/减、乘、除运算控制器,包括命令字及操作数写时序控制模块、操作数存储器、操作数读时序控制模块、操作数配置及运算控制模块;该控制器应用FPGA设计硬连接控制电路,内部产生写时序脉冲控制指令的命令字和浮点操作数的连续写入;产生与Clock同步的读时序脉冲自主控制四则混合运算;能够按照每个操作数的运算符自动调整运算周期;在最后一个操作数写入之后,运算过程不受系统控制,系统能够转去处理其他指令程序;执行运算过程中能够读出中间运算和最终运算结果;每条指令能够有13个浮点操作数,执行一条指令相当于微处理器执行多条指令,减少了系统对指令的取指和译码、浮点操作数传输和运算结果写回的操作过程。
申请公布号 CN103645886A 申请公布日期 2014.03.19
申请号 CN201310681596.1 申请日期 2013.12.13
申请人 广西科技大学 发明人 李克俭;蔡启仲;黄仕林;任杰;王鸣桃
分类号 G06F9/302(2006.01)I 主分类号 G06F9/302(2006.01)I
代理机构 柳州市荣久专利商标事务所(普通合伙) 45113 代理人 张荣玖
主权项 一种多浮点操作数加/减、乘、除运算控制器,用于实现多个32位符合IEEE754标准的浮点数加/减、乘、除的混合运算,其特征在于:该控制器包括命令字及操作数写时序控制模块(Ⅰ)、操作数存储器(Ⅱ)、操作数读时序控制模块(Ⅲ)、操作数配置及运算控制模块(Ⅳ);所述命令字及操作数写时序控制模块(Ⅰ)与操作数存储器(Ⅱ)、操作数读时序控制模块(Ⅲ)、操作数配置及运算控制模块(Ⅳ)连接;所述操作数存储器(Ⅱ)还与操作数读时序控制模块(Ⅲ)、操作数配置及运算控制模块(Ⅳ)连接;所述操作数读时序控制模块(Ⅲ)还与操作数配置及运算控制模块(Ⅳ)连接;所述命令字及操作数写时序控制模块(Ⅰ)控制完成指令的写入和存储,需要占用系统总线;一条指令包括32位命令字和若干个操作数,操作数最多为13个;所述命令字及操作数写时序控制模块(Ⅰ)被系统选中时,启动命令字及操作数写时序控制模块(Ⅰ)工作,内部产生与系统WR信号同步的写时序脉冲序列;在写时序脉冲的控制下,锁存多浮点操作数加/减、乘、除运算指令的命令字,写入指令的多浮点操作数并予以存储;最后一个浮点操作数被写入存储后,所述命令字及操作数写时序控制模块(Ⅰ)停止工作;所述操作数存储器(Ⅱ)为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数(下称为操作数);所述操作数存储器(Ⅱ)的写端口操作数的写入和读端口操作数的读出不存在需要仲裁的情况;写端口受命令字及操作数写时序控制模块(Ⅰ)控制,将系统数据总线DB传输的操作数写入操作数存储器(Ⅱ);读端口受操作数读时序控制模块(Ⅲ)控制,将操作数读出传输到操作数配置及运算控制模块(Ⅳ);所述操作数读时序控制模块(Ⅲ)在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器(Ⅱ)中的读出,不需要占用系统总线;所述操作数读时序控制模块(Ⅲ)在命令字及操作数写时序控制模块(Ⅰ)写入第1个操作数后被启动工作,输出忙信号Busy由“1”→“0”,并根据第1个操作数类型,内部产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将操作数读出参与运算,并按照每个操作数的运算符自动调整运算周期;当参与运算的最后1个操作数读出之后, 再经过一个运算周期,输出忙信号Busy由“0”→“1”,发出一个时钟周期Clock的结果锁存脉冲后,停止操作数读时序控制模块(Ⅲ)的工作;所述操作数配置及运算控制模块(Ⅳ)根据命令字及操作数写时序控制模块(Ⅰ)输出的运算符选择每个操作数相应的运算器进行计算,根据输出的第1个操作数的类型选通配置参与加/减或乘法运算的操作数1和操作数2;当第1个操作数为除法运算时,还需要根据第1个操作数除法运算方式选通配置参与除法运算的操作数a和操作数b;所述操作数配置及运算控制模块(Ⅳ)能够锁存每次运算的计算结果,并判断计算结果是否异常;系统能够从操作数配置及运算控制模块(Ⅳ)中读出中间运算结果和命令执行的最终运算结果。
地址 545006 广西壮族自治区柳州市东环路268号