可擴(kuò)展動態(tài)重配置的新型FPGA平臺設(shè)計(jì)
新型 FPGA 平臺具有高度的靈活性和可擴(kuò)展性,且集成度高,能夠在單個(gè)或兩個(gè)芯片上集成一個(gè)完整的異構(gòu)動態(tài)運(yùn)算系統(tǒng)。
本文引用地址:http://butianyuan.cn/article/150244.htm自適應(yīng)硬件在諸如導(dǎo)彈電子和軟件無線電等功耗和系統(tǒng)尺寸有限,同時(shí)對環(huán)境高度敏感的應(yīng)用中非常有用。采用動態(tài)重配置技術(shù),可以在不增加系統(tǒng)功耗或電路板尺寸的情況下,實(shí)現(xiàn)支持不同應(yīng)用模式的專用架構(gòu)。傳統(tǒng)解決方案側(cè)重于控制部分,現(xiàn)在看來似乎已經(jīng)不能有效地滿足執(zhí)行單元的數(shù)量及其異構(gòu)性要求。只有采用兼具靈活性和可擴(kuò)展性的分布式方案,才能夠創(chuàng)建出面向未來的架構(gòu)。
雖然這種技術(shù)潛力無限,但對整個(gè)業(yè)界來說,動態(tài)重配置的使用仍然有相當(dāng)大的難度。工程師需要一種清晰明確的設(shè)計(jì)方式,既能夠充分地發(fā)揮動態(tài)重配置的優(yōu)勢,又不影響應(yīng)用描述,而且最重要的是,不增加開發(fā)成本。為了將動態(tài)性和高性能結(jié)合起來,我們建議采用基于多線程的執(zhí)行模型對異構(gòu)性進(jìn)行抽象。開發(fā)人員可以將應(yīng)用當(dāng)作線程集來進(jìn)行編程,而不必考慮線程是在標(biāo)準(zhǔn)處理器還是專用硬件上執(zhí)行。在這種情況下,動態(tài)重配置的作用是進(jìn)行線程優(yōu)先調(diào)度(thread preemption)和上下文切換。由法國國家研究署 (French National Research Agency (ANR)) 贊助的 FOSFOR(靈活的可重配置平臺操作系統(tǒng))項(xiàng)目就專門負(fù)責(zé)開發(fā)這種新一代嵌入式、分布式實(shí)時(shí)操作系統(tǒng)。
1 FOSFOR 架構(gòu)基礎(chǔ)
我們的目標(biāo)是設(shè)計(jì)一種支持新的系統(tǒng)分區(qū)類型的架構(gòu),讓軟/硬件組件遵循同一執(zhí)行模型。這就要求高度靈活的可擴(kuò)展操作系統(tǒng),能夠?yàn)檐浖蚝陀布蛱峁┫嗨频慕涌?。與傳統(tǒng)方法不同,這種操作系統(tǒng)是完全分布式的,整個(gè)平臺從應(yīng)用的角度來看是同構(gòu)的。這就意味著既能以靜態(tài)方式,也能以動態(tài)方式在軟件(處理器)或者硬件(可重配置單元)中部署應(yīng)用線程,對分布式服務(wù)進(jìn)行無差別的訪問。
為了實(shí)現(xiàn)高效率,我們在緊鄰可重配置區(qū)的硬件中實(shí)現(xiàn)操作系統(tǒng)服務(wù)。我們在異構(gòu)操作系統(tǒng)內(nèi)核之間實(shí)現(xiàn)了一個(gè)通信層,以確保從應(yīng)用角度看服務(wù)是同構(gòu)的。因此,將操作系統(tǒng)當(dāng)作大量模塊和執(zhí)行單元部署在架構(gòu)上,可以充分發(fā)揮虛擬化機(jī)制的優(yōu)勢,從而使應(yīng)用線程在未預(yù)知任務(wù)的情況下運(yùn)行和通信。
從編程人員的角度來看,該應(yīng)用只是個(gè)線程集。我們可以利用賽靈思 FPGA 的動態(tài)重配置功能來提議這種硬件線程的新概念,同時(shí)也可采用與軟件線程相同的方式來實(shí)現(xiàn)這一概念。我們的實(shí)現(xiàn)方式充分發(fā)揮了專用計(jì)算 IP 模塊的性能優(yōu)勢。
除了要考慮到多處理器 SoC 中的執(zhí)行單元,存儲器結(jié)構(gòu)還必須滿足以下幾項(xiàng)要求:應(yīng)用線程需要的數(shù)據(jù)存儲、每個(gè)線程執(zhí)行上下文的存儲以及線程間的數(shù)據(jù)交換。對于執(zhí)行上下文的存儲,我們認(rèn)為有多種可能性。一種方式是集中存儲執(zhí)行上下文,這樣為將其分配到不同執(zhí)行單元提供介質(zhì)。我們可以確認(rèn)平臺內(nèi)的三種通信流:應(yīng)用數(shù)據(jù)、控制信號和重配置/執(zhí)行上下文。對于硬件線程之間的高帶寬數(shù)據(jù)路徑,我們使用專用的片上網(wǎng)絡(luò) (NoC)。
圖1 通用 FOSFOR 架構(gòu)
圖中文字:
靈活的操作系統(tǒng) 軟件 線程 應(yīng)用 中間件(虛擬化、分布、靈活性) 操作系統(tǒng) 1(X 服務(wù)) 操作系統(tǒng) n(Y 服務(wù)) 硬件抽象層 (HAL) 軟件通信單元 硬件通信單元 硬件 軟件節(jié)點(diǎn) (GPP) 硬件節(jié)點(diǎn)(可重配置區(qū)域) 片上網(wǎng)絡(luò) 共享存儲器
評論