做項目實現(xiàn)某個feature時經(jīng)常會考慮一個問題,硬件實現(xiàn)還是軟件實現(xiàn),還是軟硬件結合。
要想回答好這個問題,就要理解硬件和軟件的各自的優(yōu)劣勢。
優(yōu)劣勢
軟件程序其實是運行在CPU上的,所有的程序都要分解為一條一條的機器指令去運行。CPU作為一種通用的架構,它最大的優(yōu)勢自然也是通用,擅長復雜的邏輯和運算操作。但也因為其通用的架構,使得CPU在某些特定的應用場景性能不足,比如視頻渲染,不然也不會出現(xiàn)GPU。
FPGA則恰恰相反。FPGA非常擅長并行計算,同時能夠提供極低的延遲。但是卻不擅長復雜的邏輯和數(shù)學運算操作,比如調度算法,甚至某些看起來比較簡單的排序算法在FPGA上實現(xiàn)也比較麻煩。
軟硬件結合的經(jīng)典設計
計算機系統(tǒng)中的地址翻譯可以看做一個經(jīng)典設計。
地址翻譯是將虛擬地址轉換為物理地址。這個過程是通過查找表(頁表)的方式實現(xiàn)的。頁表中存儲著物理地址,那么要存儲哪些物理地址,哪個物理地址存儲在哪一個表項,是一個比較復雜的邏輯,這個過程是通過操作系統(tǒng)即軟件來實現(xiàn)的。當程序或者進程在運行期間需要訪問某一個地址,我們希望用最快的速度來實現(xiàn)地址翻譯,這個過程用到的便是硬件,硬件讀取頁表的內容獲得物理地址即可。
最后回到最初的問題,用硬件還是用軟件,一句話總結,復雜的對性能要求較低的交給軟件,簡單的性能要求高的交給硬件。
更多信息可以來這里獲取==>>電子技術應用-AET<<
本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。