第592章 召集一下同志,我有好东西! (第2/2页)
然后高振东开始编另一个程序,这个程序编得有些艰难,主要是需要直接操作底层硬件。
运算都是一样的,重复进行10万次15*15。
而且高振东在程序里,必须把通讯时间扣掉,因为这是DJS-59向那块试验电路板通信,控制其进行计算,然后再把数据传回来。
运算可能会很快,但是通信的时间可就长了,高振东的目的,是扣掉这些通信时间,才能大致算出运算所需的总时间来。
好在这个东西,也不算复杂,高振东动作也不慢。
一个小时后,高振东编译完成启动了程序。
这次的时间,比DJS-59计算的时间还长,高振东早有所料,很有耐心。
没办法,外设总线的通信速度比起内部总线来,差太远了。
很久过去,屏幕上跳出了一个数字,高振东看了一眼,笑了,要的就是这个。
相比使用DJS-59进行计算,扣掉通信时间之后,这个IC实验电路板在相同频率情况下,其速度快得离谱。
——二十五倍!
这就是高振东要的东西。
——单周期硬件乘法器!
DJS-59是没有硬件乘法器的,别说单周期硬件乘法器了,就连多周期的、控制加法器实现乘法的硬件乘法器都没有。
前者可以在一个指令周期内完成乘法的计算,后者不一定,比如51单片机,4个指令周期可以完成一次乘法运算。
不用说,前者快而贵,后者略快,略贵。
而DJS-59这个数字就庞大了,没有硬件乘法器的它,只能通过程序指令,一步一步的控制加法器和寄存器完成乘法运算。
对于DJS-59来说,大概15个指令才能完成一次8二进制位的整数乘法运算,其中又有不少多周期指令,综合下来,大约是25个指令周期才能完成一次乘法运算。
而且这只是8位的情况,如果扩展到16位、32位,那这个数字还会上升。
至于浮点数,那这个情况就更加恶劣了。
这就是DJS-59的弱点,也是早期大部分通用CPU的弱点,高级一点的数学运算它是不行的。
但是对于信号处理来说,乘法算是基本运算,也是使用最多的运算。
这就是通用CPU用到信号处理上非常羸弱的原因,算不过来,娘胎里的毛病。
但是高振东的下一步,一切的一切,最终目标都基本上直指雷达,靠DJS-60D,哪怕是IC化了,也一样是个弱鸡,不够好。
所以高振东就琢磨着自己做一个硬件乘法器,而且目标直指单周期浮点硬件乘法器,赞美互联网,赞美导师,前世这东西,他是在VHDL上面实现过的,对于其结构,清楚得很。
VHDL,硬件描述语言,在CPLD/FPGA上的IC设计语言之一,能够直接设计IC硬件结构。
虽然VHDL的最终结果是基于逻辑单元的,和用晶体管或者逻辑门直接搭的连接有区别,可是其依据的算法,高振东却是门儿清,还是能换得过来的。
之所以这个乘法器的电路板这么大个,这就是原因,要只是一个加法器实现的硬件乘法器,那就在DJS-60D里面增加就好了,成本面积增加都不多,但是相应的,性能增加也就不多,这个事情要做,但是对于高振东的需求来说,还不够!
而高振东搞这个,算是一个16位浮点数的单周期硬件乘法器,绝对绝对的遥遥领先。
高振东兴高采烈的把第二个程序的乘数,换成了两个16位浮点数,再次启动了计算。
这一次,他没有去折磨DJS-59了,这种计算,实在是太折磨DJS-59这个老家伙了,虽然它依然比人算得快得多。
很快,计算结果和耗时都跳了出来。
高振东对了对自己准备好的计算结果,完全一致,至于时间,和算8位整数乘法是一样的。
这就是单周期硬件乘法器的魅力,只要不超出它的设计规格,参与计算的数在其设计范围内,那不管算什么,它都是一样的速度——单指令周期。
高振东哈哈大笑起来,这虽然只是个中间成果,仅仅是一块原理电路板而已,但是对于相当一部分同志来说,其实改改是已经能用了,毕竟相当多的雷达,对于体积的要求是不高的。
而且相比以前的后端信号处理电路,这块50*50cm的板子,绝对算得上是小巧玲珑!
高振东乐呵呵的跑到机要室,要了一个防工委领导的电话。
在电话里,他只向防工委领导说了一句话:“领导,麻烦召集级别够的搞雷达的同志,我有好东西!”