目的,是扣掉这些通信时间,才能大致算出运算所需的总时间来。
好在这个东西,也不算复杂,高振东动作也不慢。
一个小时后,高振东编译完成启动了程序。
这次的时间,比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的最终结果是基于逻辑单元的,和