新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 可擴(kuò)展動(dòng)態(tài)重配置的新型FPGA平臺(tái)設(shè)計(jì)

        可擴(kuò)展動(dòng)態(tài)重配置的新型FPGA平臺(tái)設(shè)計(jì)

        作者: 時(shí)間:2011-09-09 來源:網(wǎng)絡(luò) 收藏
        2 全局架構(gòu)

        本文引用地址:http://www.104case.com/article/150244.htm

          全局架構(gòu)如圖1 所示,其組成包括:

          一系列非專用(通用)處理器 (GPP)。GPP 負(fù)責(zé)支持軟件線程的執(zhí)行,以及包括線程調(diào)度在內(nèi)的一系列操作系統(tǒng)服務(wù)。GPP 在指令集架構(gòu)和提供的服務(wù)數(shù)量方面不必同構(gòu)。

          一系列可重分區(qū)(也稱可重區(qū)域 (RR))。可重分區(qū)負(fù)責(zé)并行或串行執(zhí)行一系列硬件線程。與 GPP 相似,由于采用硬件操作系統(tǒng) (HwOS),RR 也支持操作系統(tǒng)服務(wù)的執(zhí)行。這些區(qū)域?qū)?yīng)著精粒度 () 或粗粒度(可重配置處理器)架構(gòu)。

          共享著一條或多條物理通信通道的虛擬通信通道,用于控制、數(shù)據(jù)和配置。控制通道負(fù)責(zé)把操作系統(tǒng)服務(wù)之間的通信分配給執(zhí)行單元(GPP 和 RR)。數(shù)據(jù)通道負(fù)責(zé)傳輸與環(huán)境(器件、傳感器)有關(guān)的信息和線程之間的信息交換。配置通道負(fù)責(zé)在配置存儲(chǔ)器和執(zhí)行單元之間傳輸軟件線程(二進(jìn)制代碼)和硬件線程(部分比特流)的配置。

          每個(gè)處理器都有自己的本地存儲(chǔ)器。該存儲(chǔ)器負(fù)責(zé)存儲(chǔ)本地?cái)?shù)據(jù),在適用的情況下,也可存儲(chǔ)軟件代碼。連接到數(shù)據(jù)通道的共享存儲(chǔ)器可以實(shí)現(xiàn)不同處理器上線程間的數(shù)據(jù)共享。每個(gè)執(zhí)行單元都可以訪問共享存儲(chǔ)器上存儲(chǔ)的數(shù)據(jù)和軟件執(zhí)行資源程序。每個(gè)資源還可以訪問配置存儲(chǔ)器,以保存和恢復(fù)其執(zhí)行上下文。采用這種結(jié)構(gòu),可以在任何執(zhí)行資源上實(shí)現(xiàn)任何線程或服務(wù)。

          在 RR 內(nèi)部,只有硬件任務(wù)需要重配置。負(fù)責(zé)托管任務(wù)的動(dòng)態(tài)區(qū)域 (DR) 被包含操作系統(tǒng)服務(wù)硬件實(shí)現(xiàn)的靜態(tài)區(qū)域 (SR) 所包圍,同時(shí)在 RR 內(nèi)外部提供通信介質(zhì)。內(nèi)部數(shù)據(jù)流通信依靠專用的片上網(wǎng)絡(luò)。DR 和 SR 之間的接口采用總線宏并且有固定的位置。為實(shí)現(xiàn)該約束以及通信介質(zhì)異構(gòu)性的抽象,我們采用中間件方案來提供到可重配置分區(qū)的虛擬訪問。RR 根據(jù)圖 2 中定義的模型構(gòu)建。FOSFOR 原型由能夠直接支持這種架構(gòu)模型的動(dòng)態(tài)可重配置 器件構(gòu)成。我們選用了 Virtex-5? 器件,因?yàn)槠淠軌蛑嘏渲镁匦螀^(qū)域。

          我們根據(jù)預(yù)先測(cè)算的應(yīng)用線程資源需求定義了調(diào)度/布局算法,以確保每個(gè) RR 中 元件(LUT、寄存器、分布式存儲(chǔ)器、I/O)的高效利用。

          

        可重配置區(qū)域結(jié)構(gòu)

          圖2 可重配置區(qū)域結(jié)構(gòu)

          圖中文字:

          控制 上下文(比特流) 靜態(tài)區(qū)域 可重配置區(qū)域 靜態(tài)區(qū)域 數(shù)據(jù) 硬件操作系統(tǒng) 控制 動(dòng)態(tài)區(qū)域 線程 數(shù)據(jù) 片上網(wǎng)絡(luò) 硬件分區(qū)

          3 操作系統(tǒng)、片上網(wǎng)絡(luò)及中間件

          為具備靈活性,F(xiàn)OSFOR 架構(gòu)使用了至少兩個(gè)操作系統(tǒng)實(shí)例:一個(gè)為運(yùn)行在每個(gè)處理器上且負(fù)責(zé)處理軟件線程的軟件操作系統(tǒng);另一個(gè)為能夠管理硬件線程的硬件操作系統(tǒng)。為了在性能、開發(fā)時(shí)間以及標(biāo)準(zhǔn)化之間實(shí)現(xiàn)最佳平衡,我們使用了現(xiàn)有的軟件操作系統(tǒng)和全新的硬件操作系統(tǒng)。

          該硬件操作系統(tǒng)利用賽靈思 FPGA 的動(dòng)態(tài)部分重配置功能,在調(diào)度硬件線程方面與傳統(tǒng)操作系統(tǒng)調(diào)度軟件線程一樣靈活。

          對(duì)軟件操作系統(tǒng)的要求是實(shí)時(shí)行為、能夠處理多個(gè)處理器并提供基本的進(jìn)程間通信服務(wù)。我們選用了一個(gè)免費(fèi)的開源操作系統(tǒng) RTEMS。出于兼容性原因,我們選用了 LEON Sparc 軟核處理器,同軟件節(jié)點(diǎn)一樣,其也是免費(fèi)和開源的。

          該硬件操作系統(tǒng)(HwOS)利用賽靈思 FPGA 的動(dòng)態(tài)部分重配置功能,在調(diào)度硬件線程方面與傳統(tǒng)操作系統(tǒng)調(diào)度軟件線程一樣靈活。硬件線程由動(dòng)態(tài)和靜態(tài)兩大部分組成。動(dòng)態(tài)部分內(nèi)含一個(gè)用來執(zhí)行線程功能的 IP 模塊和一個(gè)用來使服務(wù)調(diào)用次序與硬件操作系統(tǒng)同步的有限狀態(tài)機(jī)。靜態(tài)部分則內(nèi)含一個(gè)與硬件操作系統(tǒng)相連的控制接口和一個(gè)用于與其它軟硬件任務(wù)進(jìn)行交換數(shù)據(jù)的網(wǎng)絡(luò)接口。

          為支持多種線程間數(shù)據(jù)傳輸需要,我們開發(fā)出了一種靈活的片上網(wǎng)絡(luò) DRAFT。傳統(tǒng)操作系統(tǒng)的通信服務(wù)足以支持軟件線程間的通信。但在我們的中,操作系統(tǒng)還需要支持硬件線程間的通信。為此,我們專門了 DRAFT 網(wǎng)絡(luò)。我們針對(duì)一個(gè)或者多個(gè) DR 逐一綜合硬件線程,同時(shí)靜態(tài)地定義每個(gè) DR 接口。

          通信接口的靜態(tài)定義讓我們可以定義靜態(tài)的片上網(wǎng)絡(luò)。一般來說,硬件線程要求高帶寬和低時(shí)延,故片上網(wǎng)絡(luò)必須提供高性能。我們?yōu)?DRAFT 選擇的拓?fù)涫且环N胖樹拓?fù)涞?a class="contentlabel" href="http://www.104case.com/news/listbylabel/label/擴(kuò)展">擴(kuò)展。我們的主要目的是為了限制資源開銷,同時(shí)實(shí)現(xiàn)高性能的線程間通信。

          硬件的異構(gòu)性是設(shè)計(jì)人員部署應(yīng)用時(shí)面臨的主要的復(fù)雜性障礙。在 FOSFOR 項(xiàng)目中,這種異構(gòu)性不僅來自軟件域中的不同嵌入式處理器,還來自在單個(gè)上同時(shí)集成軟件和硬件計(jì)算模型的做法。

          采用中間件在硬件和軟件間建立抽象層,并提供同構(gòu)編程模型,可以很好地解決這一問題。中間件實(shí)現(xiàn)了一組虛擬通道,可以在不必理會(huì)線程的實(shí)現(xiàn)區(qū)域的情況下進(jìn)行線程間通信。這些服務(wù)跨平臺(tái)分布,提供了一個(gè)靈活的可抽象層,讓 FOSFOR 構(gòu)想臻于完善。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 宁化县| 临武县| 仙居县| 漠河县| 吉林省| 大城县| 孝义市| 高唐县| 定远县| 鄂尔多斯市| 德江县| 鄯善县| 晋州市| 仙游县| 聊城市| 梓潼县| 易门县| 晋宁县| 九寨沟县| 阜城县| 积石山| 大兴区| 雅江县| 九龙县| 沈丘县| 光泽县| 吴江市| 高陵县| 叙永县| 鄂托克旗| 宽甸| 罗江县| 花莲市| 梅州市| 鄂温| 张北县| 黔东| 锡林浩特市| 高安市| 宾阳县| 醴陵市|