发明名称 双指令多浮点操作数除运算控制器
摘要 种双指令多浮点操作数除运算控制器,包括双端口只读只写存储器、命令及其多操作数写时序控制模块、浮点操作数读时序控制模块、存储器数据空标志控制器和配置运算与输出控制模块;该控制器应用FPGA设计硬连接控制电路,能够存储两条指令,且双指令能够并行处理,一条指令执行,另一指令待执行;或一条指令执行,另一指令写入;或一条指令操作数正在写入,同时被读出处理;控制器内部产生的写时序脉冲控制连续写入多个操作数;与系统Clock同步的读时序脉冲自主控制多个操作浮点数的除法运算,不占用系统总线,执行一条指令相当于微处理器执行多条除法指令,减少了系统对指令的取指、译码、浮点操作数传输和运算结果写回的操作次数。
申请公布号 CN103631559A 申请公布日期 2014.03.12
申请号 CN201310681279.X 申请日期 2013.12.13
申请人 广西科技大学 发明人 蔡启仲;李克俭;李刚;薛圣利;王鸣桃
分类号 G06F7/537(2006.01)I 主分类号 G06F7/537(2006.01)I
代理机构 柳州市荣久专利商标事务所(普通合伙) 45113 代理人 张荣玖
主权项 一种双指令多浮点操作数除运算控制器,其特征在于:该控制器包括双端口只读只写存储器(Ⅰ)、命令字及其多操作数写时序控制模块(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、存储器数据空标志控制器(Ⅳ)、配置运算与输出控制模块(Ⅴ);所述双端口只读只写存储器(Ⅰ)与命令字及其多操作数写时序控制模块(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、配置运算与输出控制模块(Ⅴ)连接;所述命令字及其多操作数写时序控制模块(Ⅱ)还与浮点操作数读时序控制模块(Ⅲ)、存储器数据空标志控制器(Ⅳ)、配置运算与输出控制模块(Ⅴ)连接;所述浮点操作数读时序控制模块(Ⅲ)还与存储器数据空标志控制器(Ⅳ)、配置运算与输出控制模块(Ⅴ)连接;所述双端口只读只写存储器(Ⅰ)为双端口存储器,一个只写端口,一个只读端口,用于储存多浮点操作数(下称为操作数);所述双端口只读只写存储器(Ⅰ)分为存储器1和存储器2两个存储区域;所述双端口只读只写存储器(Ⅰ)的写地址高位输入端AB7_1为“0”,或读地址高位输入端AB7_2为“0”,选中操作数存储器的127个低地址存储单元,即存储器1;写地址高位输入端AB7_1为“1”,或读地址高位输入端AB7_2为“1”,选中操作数存储器的127个高地址存储单元,即存储器2;所述命令字及其多操作数写时序控制模块(Ⅱ)控制完成指令的写入和存储,需要占用系统总线;一条指令包括9位命令字和若干个操作数,操作数最多为127个;所述命令字及其多操作数写时序控制模块(Ⅱ)在双端口只读只写存储器(Ⅰ)的存储器1或存储器2为数据空,输出写指令允许信号,方允许被系统选中;被系统选中写指令时,在系统WR信号的作用下,写入除运算命令字;被系统选中写操作数时,其内部产生与系统WR信号同步的写时序脉冲;在写时序脉冲的控制下,将操作数存储在双端口只读只写存储器(Ⅰ)的存储器1或存储器2中;一条指令的最后一个操作数被写入存储后,转换双端口只读只写存储器(Ⅰ)的写高位地址输入端AB7_1状态,如果双端口只读只写存储器(Ⅰ)的存储器1和存储器2都非空,停止命令字及其多操作数写时序控制模块(Ⅱ)的工作;所述浮点操作数读时序控制模块(Ⅲ)在内部读时序脉冲的控制下,自主完成多浮点操作数从双端口只读只写存储器(Ⅰ)中读出,不需要占用系统总线;所述浮点操作数读时序控制模块(Ⅲ)产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将操作数读出参与除运算;当参与运算的最后一个操作数读出之后,产生读地址溢出信号,然后再经过一个除运算周期,发出读运行状态结束的信号,产生一个时钟周期Clock的结果锁存脉冲,然后再发出启动使能信号;所述浮点操作数读时序控制模块(Ⅲ)依据存储器数据空标志控制器(Ⅳ)的空标志状态读出操作数,有下面4种工作状态:1)所述存储器数据空标志控制器(Ⅳ)无存储器1空、存储器2空的标志输出,表明存储器1、存储器2都为数据非空,一个非空的存储器正在写入指令的命令字及其操作数或写入过程已结束;另一个存储器正在执行读出操作,如果存储器读出的操作数执行运算结束,启动使能信号由“1”→“0”,转为一个存储器空,另一个存储器非空的状态,此时在读出操作执行结束后的第1个系统时钟Clock的下降沿作为时序脉冲发生的启动信号,向系统发送写指令允许信号;启动浮点操作数读时序控制模块(Ⅲ)的工作;2)所述存储器数据空标志控制器(Ⅳ)输出任何一个存储器空的标志,能够处于两种操作状态,一是非空的存储器正在写入操作数,该存储器同时执行读出操作;二是非空的存储器只在执行读出操作,如果存储器读出的操作数执行运算结束,启动使能信号由“1”→“0”,转为存储器1和存储器2都空的状态;3)所述存储器数据空标志控制器(Ⅳ)同时输出存储器1空、存储器2空的标志,停止浮点操作数读时序控制模块(Ⅲ)的工作,向系统发送写指令允许信号;4)所述存储器数据空标志控制器(Ⅳ)同时输出存储器1空、存储器2空的标志,且命令字及其多操作数写时序控制模块(Ⅱ)再次被系统选中写入指令,命令字及其多操作数写时序控制模块(Ⅱ)输出写预置脉冲作为浮点操作数读时序控制模块(Ⅲ)的内部时序脉冲发生器的启动信号;所述配置运算与输出控制模块(Ⅴ)根据命令字及其多操作数写时序控制模块(Ⅱ)输出的第1个操作数的除法方式和浮点操作数读时序控制模块(Ⅲ)传输的时序脉冲,选通配置第1个操作数是作为除运算器的操作数1还是操作数2,选通配置运算结果是作为除运算器的操作数1还是操作数2,或运算结果不参与执行除法命令的第一次运算;在浮点操作数读时序控制模块(Ⅲ)发出的结果锁存信号作用下,锁存除法运算的运算结果,并判断运算结果是否异常,如果出现异常,向系统发出IRQ信号,停止浮点操作数读时序控制模块(Ⅲ)的工作;当使能信号CS2为“0”时,在系统RD信号的作用下能够读出中间运算结果和命令执行的最终运算结果。
地址 545006 广西壮族自治区柳州市东环路268号