《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 其他 > 入門:排序算法在FPGA上的實現(xiàn)

入門:排序算法在FPGA上的實現(xiàn)

2022-09-28
來源:FPGA開發(fā)之路
關(guān)鍵詞: 排序算法 FPGA CPU

  做項目實現(xiàn)某個feature時經(jīng)常會考慮一個問題,硬件實現(xiàn)還是軟件實現(xiàn),還是軟硬件結(jié)合。

  要想回答好這個問題,就要理解硬件和軟件的各自的優(yōu)劣勢。

  優(yōu)劣勢

  軟件程序其實是運行在CPU上的,所有的程序都要分解為一條一條的機器指令去運行。CPU作為一種通用的架構(gòu),它最大的優(yōu)勢自然也是通用,擅長復(fù)雜的邏輯和運算操作。但也因為其通用的架構(gòu),使得CPU在某些特定的應(yīng)用場景性能不足,比如視頻渲染,不然也不會出現(xiàn)GPU。

  FPGA則恰恰相反。FPGA非常擅長并行計算,同時能夠提供極低的延遲。但是卻不擅長復(fù)雜的邏輯和數(shù)學運算操作,比如調(diào)度算法,甚至某些看起來比較簡單的排序算法在FPGA上實現(xiàn)也比較麻煩。

  軟硬件結(jié)合的經(jīng)典設(shè)計

  計算機系統(tǒng)中的地址翻譯可以看做一個經(jīng)典設(shè)計。

  地址翻譯是將虛擬地址轉(zhuǎn)換為物理地址。這個過程是通過查找表(頁表)的方式實現(xiàn)的。頁表中存儲著物理地址,那么要存儲哪些物理地址,哪個物理地址存儲在哪一個表項,是一個比較復(fù)雜的邏輯,這個過程是通過操作系統(tǒng)即軟件來實現(xiàn)的。當程序或者進程在運行期間需要訪問某一個地址,我們希望用最快的速度來實現(xiàn)地址翻譯,這個過程用到的便是硬件,硬件讀取頁表的內(nèi)容獲得物理地址即可。

  最后回到最初的問題,用硬件還是用軟件,一句話總結(jié),復(fù)雜的對性能要求較低的交給軟件,簡單的性能要求高的交給硬件。



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<  

mmexport1621241704608.jpg


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。