多操作数四则混合定点算术运算控制器的制造方法

文档序号:6523495阅读:221来源:国知局
多操作数四则混合定点算术运算控制器的制造方法
【专利摘要】一种多操作数四则混合定点算术运算控制器,包括命令寄存与操作数暂存控制模块,算术运算控制模块,结果输出控制模块;应用FPGA设计该控制器的硬连接电路;该控制器被系统使能,在系统WR信号的作用下,内部产生脉冲序列信号,在内部脉冲序列信号的作用下,写入运算命令,操作数,自主完成多操作数的四则混合定点算术运算;写入的第3个操作数直到最后一个操作数执行操作数与上次运算结果的运算;中间运算结果写回操作数1暂存器能够与写入操作数2并行执行;接收所有的操作数之后,向系统发出读出请求信号,在RD信号的控制下,逐个读出高32位、低32位运算结果和标志状态,提高了四则混合定点算术运算指令流的速度。
【专利说明】多操作数四则混合定点算术运算控制器
【技术领域】
[0001]本发明涉及一种多操作数四则混合定点算术运算控制器,尤其涉及一种基于FPGA并行处理电路硬连接的多操作数四则混合定点算术运算控制器控制电路及其时序控制。
【背景技术】
[0002]运算器是微处理器最基本的部件之一,减法运算指令应用补码用加法器予以实现,乘法和除法指令应用专门的微指令程序或编制算法用加法器予以实现;乘法器和除法器也能够应用硬连接电路予以实现来提高乘法和除法运算的速度;运算器有两个操作数输入端,分别与两个暂存器的输出端连接,一个暂存操作数2,一个暂存操作数I和运算结果;其操作过程分为两种情况,一种情况是分时通过微处理器的内部数据总线将操作数I和操作数2分别传输运算器的两个暂存器,运算结束再通过微处理器的内部数据总线将运算结果写回存放在操作数I的暂存器中;第2种情况是操作数I是上次运算的结果,上次运算结果写回之后,再传输操作数2,运算结果写回操作数I的暂存器;运算结果写回和操作数2的传输的处理过程是通过微处理器的内部数据总线分时操作;另一方面,在微处理器的指令系统中,算术运算类指令通常是双操作数指令,指令中一个是操作数1,一个是操作数2,还有一个存放运算结果的寄存器;或者将存放运算结果和操作数I共用一个暂存器;如果有多个连续的加减乘除运算,比如7个操作数,需要6条运算指令予以实现,执行这6条指令需要取指和指令译码6次,结果写回6次,而操作数2传送给运算器的一个输入端和结果写回到操作数I暂存器的过程是分时处理的,不利于进一步提高算术运算类指令执行的速度。

【发明内容】

[0003]本发明的目的在于提供一种多操作数四则混合定点算术运算控制器,应用FPGA设计多操作数四则混合定点算术运算控制器的硬连接电路;该控制器被系统使能,在系统WR信号的连续作用下,内部产生脉冲序列信号,在这些脉冲信号的作用下,按照时序写入运算命令,操作数;写入的第3个操作数直到参与运算的最后一个操作数执行写入的操作数与上次运算结果的运算;该控制器在内部脉冲序列信号的作用下,自主完成多操作数的四则混合定点算术运算,中间运算结果写回操作数I暂存器能够与写入操作数2并行执行;接收所有的操作数之后,向系统发出读出请求信号,系统根据需要发出RD信号,按照顺序读出低32位、高32位运算结果和运算标志状态;有利于四则混合定点算术运算指令流执行的速度。
[0004]解决上述技术问题的技术方案是:一种多操作数四则混合定点算术运算控制器,包括命令寄存与操作数暂存控制模块,算术运算控制模块,结果输出控制模块;
所述命令寄存与操作数暂存控制模块与算术运算控制模块,结果输出控制模块连接; 所述算术运算控制模块还与结果输出控制模块连接;
所述命令寄存与操作数暂存控制模块在系统CS为“O”信号作用下使能,在系统WR信号的连续作用下,内部产生脉冲①、脉冲②、脉冲③、脉冲④信号;在这些脉冲信号的作用下,所述命令寄存与操作数暂存控制模块从系统数据总线DB写入运算命令、操作数并锁存,控制算术运算控制模块的运算及结果锁存,控制结果输出控制模块的运算结果和标志的锁存,接收所有的操作数之后,向系统发出读出请求信号;
所述算术运算控制模块根据命令寄存与操作数暂存控制模块输出的命令编码,实施两个有效位为64位和32位定点操作数的加、减、乘、除运算,减法采用补码进行加运算,设置运算结果的标志,如果运算结果异常,发出运算结果异常的信号;
所述结果输出控制模块存储高32位运算的中间结果和最终结果,存储运算结果的标志,在系统RD信号的作用下,将64位运算结果和运算标志分时输出至系统数据总线DB ;在命令寄存与操作数暂存控制模块输出的输出模块复位信号的作用下,复位结果输出控制模块。
[0005]其进一步技术方案是:所述命令寄存与操作数暂存控制模块包括脉冲发生及控制器,非门,与门I,-1计数器,移位寄存器,操作数暂存器,与门II,二选一选择器,操作数I与运算结果暂存器,与门III;所述脉冲发生及控制器的使能信号输入端与系统CS信号线连接,脉冲信号输入端与系统WR信号线连接,时钟脉冲输入端与系统时钟信号线连接,复位信号输入端和非门的输出端连接,溢出信号输入端与-1计数器的溢出输出端连接,脉冲①输出端与-1计数器的预置脉冲信号输入端、移位寄存器预置脉冲信号输入端、操作数暂存器的复位信号输入端、操作数I与运算结果暂存器的复位信号输入端、结果输出控制模块连接;脉冲②输出端和与门II的一个输入端、二选一选择器的选通信号输入端、算术运算控制模块连接,脉冲③输出端和与门I的一个输入端连接,脉冲④输出端和与门I的另一个输入端、与门II的另一个输入端、算术运算控制模块、结果输出控制模块连接;
所述非门的输入端与系统CS信号线连接;输出端还与-1计数器的复位信号输入端、与门III的一个输入端连接;
所述与门I的输出端与-1计数器的计数脉冲信号输入端、移位寄存器的移位脉冲信号输入端、操作数暂存器的写入信号输入端连接;
所述-1计数器的使能信号输入端与系统CS信号线连接,计数初值输入端与系统DB的D31到D28线连接;溢出信号输出端还作为读出请求信号输出;
所述移位寄存器的命令信号输入端与系统DB的D27到DO连接;命令编码输出端与算术运算控制模块连接;
所述操作数暂存器的操作数输入端与系统DB的D31到DO线连接;32位操作数2输出端与算术运算控制模块连接;
所述与门II的输出端与操作数I与运算结果暂存器的写入信号输入端连接;
所述二选一选择器的一个数据输入端与系统DB的D31到DO线连接,另一个低32位运算结果输入端与算术运算控制模块连接;输出端与操作数I与运算结果暂存器的32位数据输入端连接;
所述操作数I与运算结果暂存器的低32位操作数I与低32位运算结果输出端与算术运算控制模块、结果输出控制模块连接;
所述与门III的另一个输入端与系统复位信号线连接;输出端与算术运算控制模块连接。[0006]其进一步技术方案是:所述算术运算控制模块包括加法器,乘法器,除法器,三选一选择器I,三选一选择器II,状态寄存器及其控制模块;所述加法器的低32位操作数I输入端和操作数I与运算结果暂存器的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块连接,32位操作数2输入端与操作数暂存器的32位操作数2输出端连接,命令编码输入端与移位寄存器的命令编码输出端连接,运算器复位信号输入端和与门III的输出端连接,操作数符号位调整输入端与脉冲发生及控制器的脉冲②输出端连接;低32位输出端与三选一选择器I的一个输入端连接,高32位输出端与三选一选择器II的一个输入端连接;
所述乘法器的低32位操作数I输入端和操作数I与运算结果暂存器的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块连接,32位操作数2输入端与操作数暂存器的32位操作数2输出端连接,命令编码输入端与移位寄存器的命令编码输出端连接,运算器复位信号输入端和与门III的输出端连接,操作数符号位调整输入端与脉冲发生及控制器的脉冲②输出端连接;低32位输出端与三选一选择器I的一个输入端连接,高32位输出端与三选一选择器II的一个输入端连接;
所述除法器的低32位操作数I输入端和操作数I与运算结果暂存器的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块连接,32位操作数2输入端与操作数暂存器的32位操作数2输出端连接,命令编码输入端与移位寄存器的命令编码输出端连接,运算器复位信号输入端和与门III的输出端连接,操作数符号位调整输入端与脉冲发生及控制器的脉冲②输出端连接;低32位输出端与三选一选择器I的一个输入端连接,高32位输出端与三选一选择器II的一个输入端连接,运算错误输出端与状态寄存器及其控制模块的运算错误输入端连接;
所述三选一选择器I的选通控制端与移位寄存器的命令编码输出端连接;输出端与状态寄存器及其控制模块的低32位运算结果输入端、二选一选择器的低32位运算结果输入端连接;
所述三选一选择器II的选通控制端与移位寄存器的命令编码输出端连接;输出端与状态寄存器及其控制模块的高32位运算结果输入端、结果输出控制模块连接;
所述状态寄存器及其控制模块的状态写入输入端与脉冲发生及控制器的脉冲④输出端连接,操作数I符号位输入端与结果输出控制模块输出的高32位操作数I的D31线连接,操作数2符号位输入端与操作数暂存器的32位操作数2输出端D31线连接,运算器复位输入端和与门III的输出端连接;标志输出端与结果输出控制模块连接,运算结果异常输出端向系统输出运算结果异常信号。
[0007]其进一步技术方案是:所述结果输出控制模块包括高32位运算结果暂存器,标志寄存器,计数控制器,三选一选择器III,与门IV,32位三态门组;所述高32位运算结果暂存器的高32位运算结果输入端与三选一选择器II的输出端连接,结果写入输入端与脉冲发生及控制器的脉冲④输出端连接,输出模块复位信号输入端与脉冲发生及控制器的脉冲①输出端连接;输出端与加法器、乘法器和除法器的高32位操作数I输入端、三选一选择器III的高32位运算结果输入端连接;
所述标志寄存器的标志输入端与状态寄存器及其控制模块的标志输出端连接,结果写入输入端与脉冲发生及控制器的脉冲④输出端连接,输出模块复位信号输入端与脉冲发生及控制器的脉冲①输出端连接;运算标志输出端与三选一选择器III的运算标志输入端连接;
所述计数控制器的计数脉冲输入端与系统RD信号线连接,使能信号输入端与系统CS线连接,输出模块复位信号输入端与脉冲发生及控制器的脉冲①输出端连接;RD1、RD2、RD3信号输出端分别与三选一选择器III的三个控制输入端、与门IV的三个输入端连接;
所述三选一选择器III的低32位运算结果输入端与运算结果暂存器的低32位操作数I与低32位运算结果输出端连接;输出端与32位三态门组的输入端连接;
所述与门IV的输出端与32位三态门组的控制端连接;
所述32位三态门组的32位数据输出端与系统DB连接。
[0008]其进一步技术方案是:所述命令寄存与操作数暂存控制模块的脉冲发生及控制器发出与系统WR信号同步的脉冲①、脉冲②、脉冲③、脉冲④信号;
在脉冲①下降沿的作用下,从系统数据总线DB传输的运算命令的D31到D28的操作数个数值作为计数初值写入-1计数器,D27到DO的命令编码写入移位寄存器,输出第I个操作数与第2个操作数的运算命令;复位操作数暂存器、操作数I与运算结果暂存器、高32位运算结果暂存器;
在脉冲②下降沿的作用下,运算命令的第I个操作数写入操作数I与运算结果暂存
器;
在脉冲③下降沿的作用下,-1计数器进行减I操作,移位寄存器中的命令编码值右移两位,运算命令的第2个操作数写入操作数暂存器;
在脉冲④下降沿的作用下,运算命令的第3个操作数写入操作数暂存器,-1计数器进行减I操作,移位寄存器中的命令编码值右移两位,输出第3个操作数与运算结果的运算命令,低32位运算结果写入操作数I与运算结果暂存器,高32位运算结果写入高32位运算结果暂存器,运算结果状态标志写入状态寄存器及其控制模块;
当-1计数器的溢出输出端为“I”时,所示脉冲发生及控制器循环输出脉冲④,在脉冲④下降沿的作用下,运算命令的操作数写入操作数暂存器,-1计数器进行减I操作,移位寄存器中的命令编码值右移两位,输出该操作数与运算结果的运算命令,上次运算的低32位运算结果写入操作数I与运算结果暂存器,高32位运算结果写入高32位运算结果暂存器,运算结果状态标志写入状态寄存器及其控制模块;
当-1计数器的溢出输出端由“I”一 “O”时,脉冲发生及控制器发出一个时钟周期的脉冲④;所示-1计数器的溢出输出端保持为“O”状态,直到接收到的预置脉冲输入从“I” 一 “0”,-1计数器的溢出输出端由“O” 一 “I”。
[0009]由于采用以上结构,本发明之并行操作算术运算及其控制器具有以下有益效果: 一、算术运算具有自主控制功能
该控制器被系统使能,在系统WR信号的连续作用下,内部产生脉冲序列信号,在这些脉冲信号的作用下,按照时序写入运算命令,操作数;写入的第3个操作数直到参与运算的最后一个操作数执行写入的操作数与上次运算结果的运算;该控制器在内部脉冲序列信号的作用下,自主完成多操作数的四则混合定点算术运算,运算结果写回操作数I暂存器能够与写入操作数2并行执行;充分应用了 FPGA的并行处理功能,有利于提高算术运算指令流执行的速度。[0010]二、实现多操作数四则混合定点算术运算
本发明中,多操作数四则混合定点算术运算控制器有加、乘和除法定点算术运算器,该控制器根据每次运算的命令编码值选定计算的运算器,在内部时序信号的控制下,实现多操作数四则混合定点算术运算;接收所有的操作数之后,向系统发出读出请求信号,系统根据需要发出RD信号,按照顺序读出低32位、高32位运算结果和运算标志状态;执行一条多操作数的运算命令相当于执行多条两操作数的算术运算的命令。
[0011]三、系统性价比高
本发明中,应用FPGA设计电路硬连接的多操作数四则混合定点算术运算控制器,在内部时序信号的控制下,达到自主完成多操作数四则混合定点算术运算,运算结果写回操作数I暂存器能够与写入操作数2并行执行;有利于四则混合定点算术运算指令流执行的速度,具有较高的性价比。
[0012]下面结合附图和实施例对本发明之并行操作算术运算及其控制器的技术特征作进一步的说明。
【专利附图】

【附图说明】
[0013]图1:本发明之多操作数四则混合定点算术运算控制器的系统结构框图;
图2:本发明之多操作数四则混合定点算术运算控制器的命令寄存与操作数暂存控制模块的电路连接图;
图3:本发明之多操作数四则混合定点算术运算控制器的算术运算控制模块的电路连接图;
图4:本发明之多操作数四则混合定点算术运算控制器的结果输出控制模块的电路连接图;
图5:本发明之多操作数四则混合定点算术运算控制器的命令执行时序图。
[0014]图中:
I 一命令寄存与操作数暂存控制模块,II一算术运算控制模块,III一结果输出控制模
块;
I一脉冲发生及控制器,2—非门,3—与门I,4一-1计数器,5—移位寄存器,6—操作数暂存器,7—与门II,8—二选一选择器,9一操作数I与运算结果暂存器,10—与门III,11 一加法器,12—乘法器,13—除法器,14一三选一选择器I,15—三选一选择器II,16—状态寄存器及其控制模块,17—高32位运算结果暂存器,18—标志寄存器,19一计数控制器,20—三选一选择器III,21—与门IV,22— 32位三态门组。
[0015]文中缩略语说明:
FPGA — Field Programmable Gate Array,现场可编程门阵列;
DB — Data Bus,数据总线;
CS - Chip Select,片选或使能,图中CS代表“使能信号”;
RD - Read,读,图中代表“读出信号”;
WR - Write,写,图中代表“写入信号”。
【具体实施方式】[0016]实施例:
一种多操作数四则混合定点算术运算控制器,如图1所示,其特征在于:该控制器包括命令寄存与操作数暂存控制模块I,算术运算控制模块II,结果输出控制模块III ;
所述命令寄存与操作数暂存控制模块I与算术运算控制模块II,结果输出控制模块III连接;
所述算术运算控制模块II还与结果输出控制模块III连接;
所述命令寄存与操作数暂存控制模块I在系统CS为“O”信号作用下使能,在系统WR信号的连续作用下,内部产生脉冲①、脉冲②、脉冲③、脉冲④信号;在这些脉冲信号的作用下,所述命令寄存与操作数暂存控制模块I从系统数据总线DB写入运算命令、操作数并锁存,控制算术运算控制模块II的运算及结果锁存,控制结果输出控制模块III的运算结果和标志的锁存,接收所有的操作数之后,向系统发出读出请求信号;
所述算术运算控制模块II根据命令寄存与操作数暂存控制模块I输出的命令编码,实施两个有效位为64位和32位定点操作数的加、减、乘、除运算,减法采用补码进行加运算,设置运算结果的标志,如果运算结果异常,发出运算结果异常的信号;
所述结果输出控制模块III存储高32位运算的中间结果和最终结果,存储运算结果的标志,在系统RD信号的作用下,将64位运算结果和运算标志分时输出至系统数据总线DB ;在命令寄存与操作数暂存控制模块I输出的输出模块复位信号的作用下,复位结果输出控制模块III。
[0017]如图2所示,所述命令寄存与操作数暂存控制模块I包括脉冲发生及控制器1,非门2,与门I 3,-1计数器4,移位寄存器5,操作数暂存器6,与门II 7,二选一选择器8,操作数I与运算结果暂存器9,与门III 10 ;所述脉冲发生及控制器I的使能信号输入端与系统CS信号线连接,脉冲信号输入端与系统WR信号线连接,时钟脉冲输入端与系统时钟信号线连接,复位信号输入端和非门2的输出端连接,溢出信号输入端与-1计数器4的溢出输出端连接,脉冲①输出端与-1计数器4的预置脉冲信号输入端、移位寄存器5预置脉冲信号输入端、操作数暂存器6的复位信号输入端、操作数I与运算结果暂存器9的复位信号输入端、结果输出控制模块III连接;脉冲②输出端和与门II 7的一个输入端、二选一选择器8的选通信号输入端、算术运算控制模块II连接,脉冲③输出端和与门I 3的一个输入端连接,脉冲④输出端和与门I 3的另一个输入端、与门II 7的另一个输入端、算术运算控制模块
I1、结果输出控制模块III连接;
所述非门2的输入端与系统CS信号线连接;输出端还与-1计数器4的复位信号输入端、与门III 10的一个输入端连接;
所述与门I 3的输出端与-1计数器4的计数脉冲信号输入端、移位寄存器5的移位脉冲信号输入端、操作数暂存器6的写入信号输入端连接;
所述-1计数器4的使能信号输入端与系统CS信号线连接,计数初值输入端与系统DB的D31到D28线连接;溢出信号输出端还作为读出请求信号输出;
所述移位寄存器5的命令信号输入端与系统DB的D27到DO连接;命令编码输出端与算术运算控制模块II连接;
所述操作数暂存器6的操作数输入端与系统DB的D31到DO线连接;32位操作数2输出端与算术运算控制模块II连接; 所述与门II 7的输出端与操作数I与运算结果暂存器9的写入信号输入端连接;
所述二选一选择器8的一个数据输入端与系统DB的D31到DO线连接,另一个低32位运算结果输入端与算术运算控制模块II连接;输出端与操作数I与运算结果暂存器9的32位数据输入端连接;
所述操作数I与运算结果暂存器9的低32位操作数I与低32位运算结果输出端与算术运算控制模块I1、结果输出控制模块III连接;
所述与门III 10的另一个输入端与系统复位信号线连接;输出端与算术运算控制模块II连接。
[0018]如图3所示,所述算术运算控制模块II包括加法器11,乘法器12,除法器13,三选一选择器I 14,三选一选择器II 15,状态寄存器及其控制模块16 ;所述加法器11的低32位操作数I输入端和操作数I与运算结果暂存器9的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块III连接,32位操作数2输入端与操作数暂存器6的32位操作数2输出端连接,命令编码输入端与移位寄存器5的命令编码输出端连接,运算器复位信号输入端和与门III 10的输出端连接,操作数符号位调整输入端与脉冲发生及控制器I的脉冲②输出端连接;低32位输出端与三选一选择器I 14的一个输入端连接,高32位输出端与三选一选择器II 15的一个输入端连接;
所述乘法器12的低32位操作数I输入端和操作数I与运算结果暂存器9的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块III连接,32位操作数2输入端与操作数暂存器6的32位操作数2输出端连接,命令编码输入端与移位寄存器5的命令编码输出端连接,运算器复位信号输入端和与门III10的输出端连接,操作数符号位调整输入端与脉冲发生及控制器I的脉冲②输出端连接;低32位输出端与三选一选择器I 14的一个输入端连接,高32位输出端与三选一选择器II 15的一个输入端连接;
所述除法器13的低32位操作数I输入端和操作数I与运算结果暂存器9的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块III连接,32位操作数2输入端与操作数暂存器6的32位操作数2输出端连接,命令编码输入端与移位寄存器5的命令编码输出端连接,运算器复位信号输入端和与门III10的输出端连接,操作数符号位调整输入端与脉冲发生及控制器I的脉冲②输出端连接;低32位输出端与三选一选择器I 14的一个输入端连接,高32位输出端与三选一选择器II 15的一个输入端连接,运算错误输出端与状态寄存器及其控制模块16的运算错误输入端连接;
所述三选一选择器I 14的选通控制端与移位寄存器5的命令编码输出端连接;输出端与状态寄存器及其控制模块16的低32位运算结果输入端、二选一选择器8的低32位运算结果输入%5连接;
所述三选一选择器II 15的选通控制端与移位寄存器5的命令编码输出端连接;输出端与状态寄存器及其控制模块16的高32位运算结果输入端、结果输出控制模块III连接;
所述状态寄存器及其控制模块16的状态写入输入端与脉冲发生及控制器I的脉冲④输出端连接,操作数I符号位输入端与结果输出控制模块III输出的高32位操作数I的D31线连接,操作数2符号位输入端与操作数暂存器6的32位操作数2输出端D31线连接,运算器复位输入端和与门III 10的输出端连接;标志输出端与结果输出控制模块III连接,运算结果异常输出端向系统输出运算结果异常信号。
[0019]如图4所示,所述结果输出控制模块III包括高32位运算结果暂存器17,标志寄存器18,计数控制器19,三选一选择器III 20,与门IV 21,32位三态门组22 ;所述高32位运算结果暂存器17的高32位运算结果输入端与三选一选择器II 15的输出端连接,结果写入输入端与脉冲发生及控制器I的脉冲④输出端连接,输出模块复位信号输入端与脉冲发生及控制器I的脉冲①输出端连接;输出端与加法器11、乘法器12和除法器13的高32位操作数I输入端、三选一选择器III 20的高32位运算结果输入端连接;
所述标志寄存器18的标志输入端与状态寄存器及其控制模块16的标志输出端连接,结果写入输入端与脉冲发生及控制器I的脉冲④输出端连接,输出模块复位信号输入端与脉冲发生及控制器I的脉冲①输出端连接;运算标志输出端与三选一选择器III20的运算标志输入端连接;
所述计数控制器19的计数脉冲输入端与系统RD信号线连接,使能信号输入端与系统CS线连接,输出模块复位信号输入端与脉冲发生及控制器I的脉冲①输出端连接;RD1、RD2、RD3信号输出端分别与三选一选择器III 20的三个控制输入端、与门IV 21的三个输入端连接;
所述三选一选择器III 20的低32位运算结果输入端与运算结果暂存器9的低32位操作数I与低32位运算结果输出端连接;输出端与32位三态门组22的输入端连接;
所述与门IV 21的输出端与32位三态门组22的控制端连接;
所述32位三态门组22的32位数据输出端与系统DB连接。
[0020]如图2、图3、图4所示,所述命令寄存与操作数暂存控制模块I的脉冲发生及控制器I发出与系统WR信号同步的脉冲①、脉冲②、脉冲③、脉冲④信号;
在脉冲①下降沿的作用下,从系统数据总线DB传输的运算命令的D31到D28的操作数个数值作为计数初值写入-1计数器4,D27到DO的命令编码写入移位寄存器5,输出第I个操作数与第2个操作数的运算命令;复位操作数暂存器6、操作数I与运算结果暂存器9、高32位运算结果暂存器17 ;
在脉冲②下降沿的作用下,运算命令的第I个操作数写入操作数I与运算结果暂存器
9 ;
在脉冲③下降沿的作用下,-1计数器4进行减I操作,移位寄存器5中的命令编码值右移两位,运算命令的第2个操作数写入操作数暂存器6 ;
在脉冲④下降沿的作用下,运算命令的第3个操作数写入操作数暂存器6,-1计数器4进行减I操作,移位寄存器5中的命令编码值右移两位,输出第3个操作数与运算结果的运算命令,低32位运算结果写入操作数I与运算结果暂存器9,高32位运算结果写入高32位运算结果暂存器17,运算结果状态标志写入状态寄存器及其控制模块16 ;
当-1计数器4的溢出输出端为“I”时,所示脉冲发生及控制器I循环输出脉冲④,在脉冲④下降沿的作用下,运算命令的操作数写入操作数暂存器6,-1计数器4进行减I操作,移位寄存器5中的命令编码值右移两位,输出该操作数与运算结果的运算命令,上次运算的低32位运算结果写入操作数I与运算结果暂存器9,高32位运算结果写入高32位运算结果暂存器17,运算结果状态标志写入状态寄存器及其控制模块16 ;
当-1计数器4的溢出输出端由“I”一“O”时,脉冲发生及控制器I发出一个时钟周期的脉冲④;所示-1计数器4的溢出输出端保持为“O”状态,直到接收到的预置脉冲输入从“I” 一 “O”,-1计数器4的溢出输出端由“O” 一 “I”。
【权利要求】
1.一种多操作数四则混合定点算术运算控制器,其特征在于:该控制器包括命令寄存与操作数暂存控制模块(I ),算术运算控制模块(II),结果输出控制模块(III); 所述命令寄存与操作数暂存控制模块(I )与算术运算控制模块(II),结果输出控制模块(III)连接; 所述算术运算控制模块(II)还与结果输出控制模块(III)连接; 所述命令寄存与操作数暂存控制模块(I )在系统CS为“O”信号作用下使能,在系统WR信号的连续作用下,内部产生脉冲①、脉冲②、脉冲③、脉冲④信号;在这些脉冲信号的作用下,所述命令寄存与操作数暂存控制模块(I )从系统数据总线DB写入运算命令、操作数并锁存,控制算术运算控制模块(II)的运算及结果锁存,控制结果输出控制模块(III)的运算结果和标志的锁存,接收所有的操作数之后,向系统发出读出请求信号; 所述算术运算控制模块(II)根据命令寄存与操作数暂存控制模块(I )输出的命令编码,实施两个有效位为64位和32位定点操作数的加、减、乘、除运算,减法采用补码进行加运算,设置运算结果的标志,如果运算结果异常,发出运算结果异常的信号; 所述结果输出控制模块(III)存储高32位运算的中间结果和最终结果,存储运算结果的标志,在系统RD信号的作用下,将64位运算结果和运算标志分时输出至系统数据总线DB ;在命令寄存与操作数暂存控制模块(I )输出的输出模块复位信号的作用下,复位结果输出控制模块(III)。
2.如权利要求1所述的多操作数四则混合定点算术运算控制器,其特征在于:所述命令寄存与操作数暂存控制模块(I)包括脉冲发生及控制器(1),非门(2),与门I (3),-1计数器(4),移位寄存器(5),操作数暂存器(6),与门II (7),二选一选择器(8),操作数I与运算结果暂存器(9),与门III(IO);所述脉冲发生及控制器(I)的使能信号输入端与系统CS信号线连接,脉冲信号输入端与系统WR信号线连接,时钟脉冲输入端与系统时钟信号线连接,复位信号输入端和非门(2)的输出端连接,溢出信号输入端与-1计数器(4)的溢出输出端连接,脉冲①输出端与-1计数器(4)的预置脉冲信号输入端、移位寄存器(5)预置脉冲信号输入端、操作数暂存器(6)的复位信号输入端、操作数I与运算结果暂存器(9)的复位信号输入端、结果输出控制模块(III)连接;脉冲②输出端和与门II (7)的一个输入端、二选一选择器(8)的选通信号输入端、算术运算控制模块(II)连接,脉冲③输出端和与门I (3)的一个输入端连接,脉冲④输出端和与门I (3)的另一个输入端、与门II (7)的另一个输入端、算术运算控制模块(II )、结果输出控制模块(III)连接; 所述非门(2)的输入端与系统CS信号线连接;输出端还与-1计数器(4)的复位信号输入端、与门III(IO)的一个输入端连接; 所述与门I (3)的输出端与-1计数器(4)的计数脉冲信号输入端、移位寄存器(5)的移位脉冲信号输入端、操作数暂存器(6)的写入信号输入端连接; 所述-1计数器(4)的使能信号输入端与系统CS信号线连接,计数初值输入端与系统DB的D31到D28线连接;溢出信号输出端还作为读出请求信号输出; 所述移位寄存器(5)的命令信号输入端与系统DB的D27到DO连接;命令编码输出端与算术运算控制模块(II)连接; 所述操作数暂存器(6)的操作数输入端与系统DB的D31到DO线连接;32位操作数2输出端与算术运算控制模块(II)连接;所述与门II (7)的输出端与操作数I与运算结果暂存器(9)的写入信号输入端连接;所述二选一选择器(8)的一个数据输入端与系统DB的D31到DO线连接,另一个低32位运算结果输入端与算术运算控制模块(II)连接;输出端与操作数I与运算结果暂存器(9)的32位数据输入端连接; 所述操作数I与运算结果暂存器(9)的低32位操作数I与低32位运算结果输出端与算术运算控制模块(II)、结果输出控制模块(III)连接; 所述与门III(IO)的另一个输入端与系统复位信号线连接;输出端与算术运算控制模块(II)连接。
3.如权利要求1所述的多操作数四则混合定点算术运算控制器,其特征在于:所述算术运算控制模块(II)包括加法器(11),乘法器(12 ),除法器(13 ),三选一选择器I (14 ),三选一选择器II (15),状态寄存器及其控制模块(16); 所述加法器(11)的低32位操作数I输入端和操作数I与运算结果暂存器(9)的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块(III)连接,32位操作数2输入端与操作数暂存器(6)的32位操作数2输出端连接,命令编码输入端与移位寄存器(5)的命令编码输出端连接,运算器复位信号输入端和与门IIK10)的输出端连接,操作数符号位调整输入端与脉冲发生及控制器(I)的脉冲②输出端连接;低32位输出端与三选一选择器I (14)的一个输入端连接,高32位输出端与三选一选择器II (15)的一个输入端连接; 所述乘法器(12)的低32位操作数I输入端和操作数I与运算结果暂存器(9)的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块(III)连接,32位操作数2输入端与操作数暂存器(6)的32位操作数2输出端连接,命令编码输入端与移位寄存器(5)的命令编码输出端连接,运算器复位信号输入端和与门IIK10)的输出端连接,操作数符号位调整输入端与脉冲发生及控制器(I)的脉冲②输出端连接;低32位输出端与三选一选择器I (14)的一个输入端连接,高32位输出端与三选一选择器II (15)的一个输入端连接; 所述除法器(13)的低32位操作数I输入端和操作数I与运算结果暂存器(9)的低32位操作数I与低32位运算结果输出端连接,高32位操作数I输入端与结果输出控制模块(III)连接,32位操作数2输入端与操作数暂存器(6)的32位操作数2输出端连接,命令编码输入端与移位寄存器(5)的命令编码输出端连接,运算器复位信号输入端和与门IIK10)的输出端连接,操作数符号位调整输入端与脉冲发生及控制器(I)的脉冲②输出端连接;低32位输出端与三选一选择器I (14)的一个输入端连接,高32位输出端与三选一选择器11(15)的一个输入端连接,运算错误输出端与状态寄存器及其控制模块(16)的运算错误输入端连接; 所述三选一选择器I (14)的选通控制端与移位寄存器(5)的命令编码输出端连接;输出端与状态寄存器及其控制模块(16)的低32位运算结果输入端、二选一选择器(8)的低32位运算结果输入端连接; 所述三选一选择器II (15)的选通控制端与移位寄存器(5)的命令编码输出端连接;输出端与状态寄存器及其控制模块(16)的高32位运算结果输入端、结果输出控制模块(III)连接;所述状态寄存器及其控制模块(16)的状态写入输入端与脉冲发生及控制器(I)的脉冲④输出端连接,操作数I符号位输入端与结果输出控制模块(III)输出的高32位操作数I的D31线连接,操作数2符号位输入端与操作数暂存器(6)的32位操作数2输出端D31线连接,运算器复位输入端和与门III(IO)的输出端连接;标志输出端与结果输出控制模块(III)连接,运算结果异常输出端向系统输出运算结果异常信号。
4.如权利要求1所述的多操作数四则混合定点算术运算控制器,其特征在于:所述结果输出控制模块(ΠΙ)包括高32位运算结果暂存器(17),标志寄存器(18),计数控制器(19),三选一选择器111(20),与门IV (21),32位三态门组(22);所述高32位运算结果暂存器(17)的高32位运算结果输入端与三选一选择器II (15)的输出端连接,结果写入输入端与脉冲发生及控制器(I)的脉冲④输出端连接,输出模块复位信号输入端与脉冲发生及控制器(I)的脉冲①输出端连接;输出端与加法器(11)、乘法器(12)和除法器(13)的高32位操作数I输入端、三选一选择器III (20)的高32位运算结果输入端连接; 所述标志寄存器(18)的标志输入端与状态寄存器及其控制模块(16)的标志输出端连接,结果写入输入端与脉冲发生及控制器(I)的脉冲④输出端连接,输出模块复位信号输入端与脉冲发生及控制器(I)的脉冲①输出端连接;运算标志输出端与三选一选择器111(20)的运算标志输入端连接; 所述计数控制器(19)的计数脉冲输入端与系统RD信号线连接,使能信号输入端与系统CS线连接,输出模块复位信号输入端与脉冲发生及控制器(I)的脉冲①输出端连接;RD1、RD2、RD3信号输出端分别与三选一选择器III (20)的三个控制输入端、与门IV (21)的三个输入端连接; 所述三选一选择器III(20)的低32位运算结果输入端与运算结果暂存器(9)的低32位操作数I与低32位运算结果输出端连接;输出端与32位三态门组(22)的输入端连接; 所述与门IV(21)的输出端与32位三态门组(22)的控制端连接; 所述32位三态门组(22)的32位数据输出端与系统DB连接。
5.如权利要求1所述的多操作数四则混合定点算术运算控制器,其特征在于:所述命令寄存与操作数暂存控制模块(I )的脉冲发生及控制器(I)发出与系统WR信号同步的脉冲①、脉冲②、脉冲③、脉冲④信号; 在脉冲①下降沿的作用下,从系统数据总线DB传输的运算命令的D31到D28的操作数个数值作为计数初值写入-1计数器(4),D27到DO的命令编码写入移位寄存器(5),输出第I个操作数与第2个操作数的运算命令;复位操作数暂存器(6)、操作数I与运算结果暂存器(9)、高32位运算结果暂存器(17); 在脉冲②下降沿的作用下,运算命令的第I个操作数写入操作数I与运算结果暂存器(9); 在脉冲③下降沿的作用下,-1计数器(4)进行减I操作,移位寄存器(5)中的命令编码值右移两位,运算命令的第2个操作数写入操作数暂存器(6); 在脉冲④下降沿的作用下,运算命令的第3个操作数写入操作数暂存器(6),-1计数器(4)进行减I操作,移位寄存器(5)中的命令编码值右移两位,输出第3个操作数与运算结果的运算命令,低32位运算结果写入操作数I与运算结果暂存器(9),高32位运算结果写入高32位运算结果暂存器(17),运算结果状态标志写入状态寄存器及其控制模块(16);当-1计数器(4)的溢出输出端为“I”时,所示脉冲发生及控制器(I)循环输出脉冲④,在脉冲④下降沿的作用下,运算命令的操作数写入操作数暂存器(6),-1计数器(4)进行减I操作,移位寄存器(5)中的命令编码值右移两位,输出该操作数与运算结果的运算命令,上次运算的低32位运算结果写入操作数I与运算结果暂存器(9),高32位运算结果写入高32位运算结果暂存器(17),运算结果状态标志写入状态寄存器及其控制模块(16); 当-1计数器(4)的溢出输出端由“I”一 “O”时,脉冲发生及控制器(I)发出一个时钟周期的脉冲④;所示-1计数器(4)的溢出输出端保持为“O”状态,直到接收到的预置脉冲输入从“I” 一 “O”,-1计数器(4)的溢出输出端由“O” 一 “I”。
【文档编号】G06F7/57GK103645878SQ201310680917
【公开日】2014年3月19日 申请日期:2013年12月13日 优先权日:2013年12月13日
【发明者】蔡启仲, 李克俭, 潘绍明, 孙培燕, 郑力 申请人:广西科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1