——單週期硬體乘法器!
DJS59是沒有硬體乘法器的,別說單週期硬體乘法器了,就連多週期的、控制加法器實現乘法的硬體乘法器都沒有。
前者可以在一個指令週期內完成乘法的計算,後者不一定,比如51微控制器,4個指令週期可以完成一次乘法運算。
不用說,前者快而貴,後者略快,略貴。
而DJS59這個數字就龐大了,沒有硬體乘法器的它,只能透過程式指令,一步一步的控制加法器和暫存器完成乘法運算。
對於DJS59來說,大概15個指令才能完成一次8二進位制位的整數乘法運算,其中又有不少多週期指令,綜合下來,大約是25個指令週期才能完成一次乘法運算。
而且這只是8位的情況,如果擴充套件到16位、32位,那這個數字還會上升。
至於浮點數,那這個情況就更加惡劣了。
這就是DJS59的弱點,也是早期大部分通用CPU的弱點,高階一點的數學運算它是不行的。
但是對於訊號處理來說,乘法算是基本運算,也是使用最多的運算。
這就是通用CPU用到訊號處理上非常羸弱的原因,算不過來,孃胎裡的毛病。
但是高振東的下一步,一切的一切,最終目標都基本上直指雷達,靠DJS60D,哪怕是IC化了,也一樣是個弱雞,不夠好。
所以高振東就琢磨著自己做一個硬體乘法器,而且目標直指單週期浮點硬體乘法器,讚美網際網路,讚美導師,前世這東西,他是在VHDL上面實現過的,對於其結構,清楚得很。
VHDL,硬體描述語言,在CPLD/FPGA上的IC設計語言之一,能夠直接設計IC硬體結構。
雖然VHDL的最終結果是基於邏輯單元的,和用電晶體或者邏輯閘直接搭的連線有區別,可是其依據的演算法,高振東卻是門兒清,還是能換得過來的。
之所以這個乘法器的電路板這麼大個,這就是原因,要只是一個加法器實現的硬體乘法器,那就在DJS60D裡面增加就好了,成本面積增加都不多,但是相應的,效能增加也就不多,這個事情要做,但是對於高振東的需求來說,還不夠!
而高振東搞這個,算是一個16位浮點數的單週期硬體乘法器,絕對絕對的遙遙領先。
高振東興高采烈的把第二個程式的乘數,換成了兩個16位浮點數,再次啟動了計算。
這一次,他沒有去折磨DJS59了,這種計算,實在是太折磨DJS59這個老傢伙了,雖然它依然比人算得快得多。
很快,計算結果和耗時都跳了出來。
高振東對了對自己準備好的計算結果,完全一致,至於時間,和算8位整數乘法是一樣的。
這就是單週期硬體乘法器的魅力,只要不超出它的設計規格,參與計算的數在其設計範圍內,那不管算什麼,它都是一樣的速度——單指令週期。
高振東哈哈大笑起來,這雖然只是箇中間成果,僅僅是一塊原理電路板而已,但是對於相當一部分同志來說,其實改改是已經能用了,畢竟相當多的雷達,對於體積的要求是不高的。
而且相比以前的後端訊號處理電路,這塊50*50cm的板子,絕對算得上是小巧玲瓏!
高振東樂呵呵的跑到機要室,要了一個防工委領導的電話。
在電話裡,他只向防工委領導說了一句話:“領導,麻煩召集級別夠的搞雷達的同志,我有好東西!”