再思考FPGA中的同構和異構設計架構
早在2001年,我曾寫(xiě)過(guò)一篇專(zhuān)欄文章,內容是關(guān)于在針對信號處理的應用中,采用異質(zhì)結構設計所具備的優(yōu)點(diǎn)。我的依據是:信號處理應用一般包括不同的數據速率、數據類(lèi)型和算法;另外,針對這些不同需求有針對性地采用不同處理引擎,比一個(gè)以不變應萬(wàn)變的方法更有價(jià)值。當時(shí),采用異構處理架構一般意味著(zhù)采用兩個(gè)或更多個(gè)芯片。
六年后,我們置身于追逐采用多核架構的潮流之中。這些芯片包含數以十計甚或數以百計的處理器,有時(shí)甚至包括類(lèi)似FPGA那樣的器件。此時(shí),是采用同構還是異構處理元件的問(wèn)題仍是個(gè)關(guān)鍵的設計決定,盡管在這種情況下,問(wèn)題出現在芯片層面而非系統層面。
一般來(lái)說(shuō),同構設計便于使用且適合更廣泛的一系列應用,但這些優(yōu)點(diǎn)以性能和效率為代價(jià)。異構方案舍棄了一定的通用性和使用上的便利,但對其目標應用來(lái)說(shuō)效率更高。從芯片供應商的角度講,問(wèn)題就變成:是把芯片設計得盡可能滿(mǎn)足多種應用,還是只將其定位在一兩個(gè)目標市場(chǎng)。
解決方法之一是:以一種相當通用的同構方法為出發(fā)點(diǎn),然后,一旦該芯片找到細分市場(chǎng)且該市場(chǎng)已成型,則轉向一個(gè)基于應用的專(zhuān)用異構方法。這就是picoChip所采取的策略:其最初芯片有一個(gè)高度類(lèi)似的處理器陣列,而其最新芯片通過(guò)整合進(jìn)專(zhuān)用協(xié)處理器,轉而衍變?yōu)槊嫦蛱囟☉玫漠a(chǎn)品。FPGA供應商Altera和Xilinx已從提供通用的具有“海量門(mén)”的芯片向整合了硬連線(xiàn)信號處理元件、存儲器、處理器和專(zhuān)用I/O的芯片發(fā)展。
我相信,在嵌入式應用中,對從同構到異構整個(gè)范疇內的所有芯片劃分來(lái)說(shuō)都存在著(zhù)大量機遇。對多核架構芯片供應商來(lái)說(shuō),關(guān)鍵是使架構迎合市場(chǎng)需要,并注意同構和異構架構的優(yōu)劣權衡。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論