四、16位算術電路外掛說明

    (一)、高速強大的算術運算功能
    單片機以體積小、控制功能強大、運行穩定、成本低廉廣泛應用於軍工產品、工業設備、民用產品,隨著技術的進步,更多的產品與設備在研制中要求單片機具備更快的數據處理速度與更強大的數據處理功能。
    1、有符號加減運算提高了單片機的數據處理速度。
    在大量的加減運算中,都涉及到有符號數據,即使無符號減法也涉及到運算結果的符號,用無符號加減運算進行有符號數的數據處理,編程複雜,數據處理速度慢。本方案的有符號加減運算,簡化了編程,提高了數據處理速度。
    2、乘除倒數電路提高了單片機數據處理速度,增強了數據處理功能。
    在單片機的應用中,很多產品要求單片機利用加減乘除算術運算進行複雜的數據處理,並且數據處理的結果在限定的時間內完成。如果能在限定的時間內完成數據處理,單片機就具備對該數據進行實時處理的功能;如果不能在限定的時間內完成數據處理,單片機就不具備對該數據進行實時數據處理的功能。不具備實時處理數據功能時,就得用查表的方法獲取數據。查表的方法獲取的數據精度一般都比較低,受單片機資源限制,還有很多數據無法建立數據表。顯然,單片機要具備強大的數據處理功能,就必須先具備高速的加減乘除算術運算速度。但是,只有少數的16位單片機有16位乘16位的乘法電路,幾乎沒見到16位單片機有16位的除法電路。其原因一是,現有的二進制邏輯設計的乘法電路無法與除法電路共用,一個16位乘16位的乘法電路需要二千多個基本邏輯元件,一個16位的除法電路需要的基本邏輯元件比乘法電路更多。其原因二是,即使按二進制邏輯把16位乘法電路與16位除法電路設計到單片機裏,由於除法運算不能象乘法運算那樣進行因式分解,除法運算的位數無法超出16位限制,還得用減法運算進行除法運算。
    本方案由於編碼原理的突破,使倒數電路與乘法電路共用,包括運算電路、乘除倒數接口電路、16位任意左移位電路、32位任意右移位電路在內的一個完整共用電路,所用的基本邏輯元件數量與一個按二進制邏輯設計的16位乘法電路所用的基本邏輯元件數量相差不大。更重要的是,用倒數運算解決除法運算的問題,使除法運算能夠分解,數據處理速度提高。以除法運算為例,現單片機用減法運算進行除法運算,計算一個16位的除法結果需要執行幾千到幾萬條指令,計算一個32位的除法結果需要執行幾萬到幾十萬條指令。本方案計算一個16位的除法結果只要執行幾條指令,計算一個32位的除法結果也只需要十幾條指令,速度提高了成千上萬倍。加減乘除倒數運算的高速度,使單片機有了強大的數據處理功能。
    (二)單片機外掛電路設計的基本思想
    1、通過共用電路減少元件數量。把有符號加減運算設計成一個共用電路,把乘除倒數運算設計成一個共用電路,以較少的元件,獲得更多的算術功能,並便於今後以較少的元件進行算術功能擴展。整數加減共用電路今後可以擴展到整數、浮點數共用電路,乘除倒數共用電路今後可以擴展到乘除倒數開方的共用電路。
    2、以整數運算為基礎,保障運算精度,方便數據處理。16位的加減運算有16位運算位精度,擴展到32位運算有32位運算位精度;16位乘16位的乘法運算有32位運算位精度,擴展到32位運算有64位運算位精度;16位除16位的除法運算有33位運算位精度,取用32位運算位精度,擴展到32位除32位運算有48位運算位精度。為方便編程與數據處理,加減共用電路分為有符號與無符號四種算術模式,需要什麼樣的算術模式就選用什麼樣的算術模式。乘除倒數電路只需要增加十幾個元件就能成為有符號乘除與無符號乘除四種算術模式。同時,乘除倒數共用電路中有一個16位任意左移位電路,一個32位任意右移位電路,通過增加接口可以使乘除倒數共用電路成為乘、除、倒數、任意左移位、任意右移位共用電路,便於進行定點數、浮點數的運算。
    3、外掛電路的應用設計與芯片制造方便。已經完成的16位加減共用電路與乘除倒數共用電路的原理電路,均是模塊化設計,能夠很方便地進行電路拼接組合,進行應用電路設計時,只是進行數種模塊的接口拼接,生產線上的流片編程也變得容易。
    4、模式控制與運算過程管理全部放入運算電路裏,外掛到CPU上,最大限度地減少了單片機的技術改造環節,保障單片機在外掛電路後運行穩定可靠。
    (三)電路掛接設計是芯片制造商的事情
    單片機的應用需要用戶進行編程開發,不同的廠商制造的單片機其編程方法與指令方式可以不相同,但同一廠家的系列單片卻要保持相同的編程方法與指令方式。外掛電路設計需要確定應用時的編程方法與指令方式,這些是芯片制造商的事情。
 返回上頁
 返回首頁