設(shè)計(jì)大吞吐量、實(shí)時(shí)SoC系統(tǒng)的最佳實(shí)踐_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、設(shè)計(jì)大吞吐量、實(shí)時(shí)soc系統(tǒng)的最佳實(shí)踐 現(xiàn)代軟件通常包括多種應(yīng)用,從汽車發(fā)動(dòng)機(jī)控制等硬件實(shí)時(shí)應(yīng)用,到hd視頻流等大吞吐量應(yīng)用。隨著現(xiàn)代soc向大吞吐量系統(tǒng)的迅速進(jìn)展,處理器內(nèi)核數(shù)量不斷增強(qiáng),寬帶互聯(lián)也越來(lái)越多,導(dǎo)致混合系統(tǒng)設(shè)計(jì)成為挑戰(zhàn)。在這類系統(tǒng)中實(shí)現(xiàn)硬件實(shí)時(shí)s量級(jí)響應(yīng),顫動(dòng)不到1s,需要認(rèn)真的綜合考慮分析和系統(tǒng)劃分。隨著soc的復(fù)雜度越來(lái)越高,未來(lái)的驗(yàn)證策略也必需納入考慮范圍。這類系統(tǒng)設(shè)計(jì)主要有三種辦法非對(duì)稱多處理(amp)、管理程序,以及支持內(nèi)核隔離的對(duì)稱多處理(smp)(主要的對(duì)照見(jiàn)表1),系統(tǒng)設(shè)計(jì)人員可以從中挑選一種辦法來(lái)優(yōu)化混合soc系統(tǒng)。非對(duì)稱多處理amp實(shí)際是基于物理上不同的處理

2、器內(nèi)核的多操作系統(tǒng)(os)端口。一個(gè)例子是,在第一個(gè)內(nèi)核上運(yùn)行特地用于處理實(shí)時(shí)任務(wù)的裸金屬os,在其他內(nèi)核上運(yùn)行等完整的os。無(wú)數(shù)時(shí)候,最初將os導(dǎo)入到內(nèi)核中十分容易,但是,在啟動(dòng)代碼和資源管理上很簡(jiǎn)單出錯(cuò),例如,存儲(chǔ)器、高速緩存和外設(shè)等。當(dāng)多個(gè)os拜訪相同的外設(shè)時(shí),行為會(huì)是不確定的,調(diào)試起來(lái)可能十分耗時(shí)。通常要求認(rèn)真的庇護(hù) trustzone等體系結(jié)構(gòu)不受影響。更復(fù)雜的是,在os之間傳遞消息要求存儲(chǔ)器分享,一起采納其他庇護(hù)手段舉行管理。不同的os之間通常不會(huì)分享高速緩存。要通過(guò)非高速緩存區(qū)來(lái)傳遞消息,對(duì)于總體性能而言,增強(qiáng)了延時(shí)和顫動(dòng)。從可擴(kuò)展角度看,隨著內(nèi)核數(shù)量的增強(qiáng),需要舉行多次重新導(dǎo)入

3、,使軟件體系結(jié)構(gòu)較差。監(jiān)控程序管理程序是挺直在硬件上運(yùn)行的底層軟件,在其上可管理多個(gè)自立的os。最初的導(dǎo)入與amp相像,而其優(yōu)勢(shì)在于管理程序躲藏了資源管理和消息傳遞中不重要的詳情。缺點(diǎn)是因?yàn)橥掏铝亢蛯?shí)時(shí)性能要求,增強(qiáng)了額外的軟件層,導(dǎo)致浮現(xiàn)性能開(kāi)銷。對(duì)稱多處理支持內(nèi)核隔離的smp在多個(gè)內(nèi)核上運(yùn)行一個(gè)os,支持在內(nèi)部劃分內(nèi)核。一個(gè)例子是讓smp os在第一個(gè)內(nèi)核上分配實(shí)時(shí)應(yīng)用程序,在其他的內(nèi)核上運(yùn)行非實(shí)時(shí)應(yīng)用程序。隨著內(nèi)核數(shù)量的增強(qiáng),smp os可以設(shè)計(jì)無(wú)縫導(dǎo)入,因此,這一辦法的可擴(kuò)展性比較好。全部?jī)?nèi)核都是由一個(gè)os管理的,因此,內(nèi)核之間可以在l1數(shù)據(jù)高速緩存級(jí)上傳遞消息,通信速度更快,顫動(dòng) 更

4、低。通過(guò)內(nèi)核隔離,可以保留一個(gè)內(nèi)核用于硬件實(shí)時(shí)應(yīng)用,以屏蔽其他大吞吐量?jī)?nèi)核的影響,保持了低顫動(dòng)和實(shí)時(shí)數(shù)據(jù)響應(yīng)。這樣,設(shè)計(jì)人員可以考慮用法哪一個(gè)os,而不用重新設(shè)計(jì)簡(jiǎn)單出錯(cuò)的底層軟件來(lái)管理多個(gè)os。因此,這普通是很好的軟件體系結(jié)構(gòu)打算。假如從多個(gè)os開(kāi)頭,最初的導(dǎo)入會(huì)需要一些付出。但是,從一個(gè)smp體系結(jié)構(gòu)開(kāi)頭會(huì)省無(wú)數(shù)事。通過(guò)smp優(yōu)化大吞吐量、實(shí)時(shí)soc基于對(duì)各種辦法的分析,支持內(nèi)核隔離的smp是最好的體系結(jié)構(gòu),優(yōu)化了大吞吐量、實(shí)時(shí)soc系統(tǒng)。我們考慮的體系結(jié)構(gòu)與圖3的系統(tǒng)相像,其中,i/o數(shù)據(jù)輸入到soc中,處理器對(duì)其舉行計(jì)算,送回至i/o,滿足低顫動(dòng)和低延時(shí)實(shí)時(shí)響應(yīng)要求。此外,soc包括了

5、多個(gè)內(nèi)核,可同時(shí)運(yùn)行其他吞吐量較大的應(yīng)用程序。首先,需要理解一個(gè)實(shí)時(shí)響應(yīng)(循環(huán)時(shí)光)由哪些組成:1.從一個(gè)i/o,將新數(shù)據(jù)傳送至系統(tǒng)存儲(chǔ)器(dma)。2.處理器探測(cè)系統(tǒng)存儲(chǔ)器中的新數(shù)據(jù) (內(nèi)核隔離)。3.將數(shù)據(jù)復(fù)制到私有存儲(chǔ)器(memcpy)。4.對(duì)數(shù)據(jù)舉行計(jì)算。5.將結(jié)果復(fù)制回系統(tǒng)存儲(chǔ)器(memcpy)。6.將結(jié)果傳送回i/o(dma)。顫動(dòng)和延時(shí)是6個(gè)步驟的累積,因此,需要優(yōu)化每一個(gè)步驟。采納支持內(nèi)核隔離的等rtos,可以在納秒范圍內(nèi)完成輪詢/中斷響應(yīng)(步驟2)。數(shù)據(jù)計(jì)算也是專用的,具有很好的可預(yù)測(cè)性(步驟4)。因此,我們的重點(diǎn)是綜合考慮挺直存儲(chǔ)器拜訪(dma)和memcpy(步驟1/3/

6、5/6)。主要有兩種辦法來(lái)傳送數(shù)據(jù):高速緩存延續(xù)傳送,以及不支持高速緩沖延續(xù)的傳送。這兩種辦法在dma和memcpy上的響應(yīng)有很大的不同。1所示,雖然高速緩存延續(xù)傳送(用法arm高速緩存延續(xù)端口(acp)導(dǎo)致dma需要較長(zhǎng)的通路,但處理器只需要拜訪l1高速緩存就可以獲得所傳送的數(shù)據(jù)。因此,用法高速緩存延續(xù)傳送的memcpy時(shí)光要少無(wú)數(shù),但是dma性能會(huì)有些劣化。對(duì)于設(shè)計(jì)人員而言,因?yàn)槭峭χ备咚倬彺姘菰L,因此,高速緩存延續(xù)傳送的延時(shí)更短,顫動(dòng) 更小。案例討論:soc設(shè)計(jì)最佳實(shí)踐可以用法cyclone v soc 開(kāi)發(fā)套件,通過(guò)參考設(shè)計(jì)來(lái)演示一個(gè)完整的系統(tǒng)。器件在一個(gè)芯片中包括了一個(gè)雙核32arm

7、 -a9內(nèi)核子系統(tǒng)(hps)和一個(gè)28nm fpga。下面總結(jié)了硬件和軟件體系結(jié)構(gòu),2所示。硬件體系結(jié)構(gòu)·兩個(gè)dma,將數(shù)據(jù)從fpga i/o傳送至arm處理器,反之亦然。·兩個(gè)dma都銜接至acp,實(shí)現(xiàn)數(shù)據(jù)在arm處理器高速緩存的挺直傳送。·實(shí)時(shí)控制單元ip,以盡可能快的方式啟動(dòng)arm處理器和dma引擎之間的消息傳遞。·顫動(dòng)監(jiān)視器挺直探測(cè)dma信號(hào),采集實(shí)時(shí)性能和顫動(dòng),精度在±6.7ns以內(nèi)。軟件體系結(jié)構(gòu)·在雙核arm處理器上的vxworks實(shí)時(shí)os運(yùn)行在smp模式下。·內(nèi)核隔離,用于在第一個(gè)內(nèi)核上分配實(shí)時(shí)應(yīng)用程序,在其次

8、個(gè)內(nèi)核上分配其他的非 實(shí)時(shí)應(yīng)用程序。·實(shí)時(shí)應(yīng)用程序延續(xù)從i/o讀取數(shù)據(jù),計(jì)算,然后將結(jié)果發(fā)送回i/o。·當(dāng)延續(xù)運(yùn)行ftp傳輸并對(duì)數(shù)據(jù)加密時(shí),非實(shí)時(shí)應(yīng)用程序加重了對(duì)arm內(nèi)核和其它 i/o性能的要求。結(jié)果在長(zhǎng)度不同的數(shù)據(jù)上運(yùn)行試驗(yàn),長(zhǎng)度從32 字節(jié)直至2,048字節(jié)。為了采集循環(huán)時(shí)光的直方圖,來(lái)分析顫動(dòng)(最大和最小循環(huán)時(shí)光之間的不同),每一長(zhǎng)度都要運(yùn)行數(shù)百萬(wàn)次。3所示,即使是在其次個(gè)內(nèi)核上運(yùn)行數(shù)據(jù)流負(fù)載很大的ftp,經(jīng)過(guò)數(shù)百萬(wàn)次的測(cè)試,延時(shí)也在微秒級(jí),而顫動(dòng)不到300ps。長(zhǎng)度不同,會(huì)有些顫動(dòng)擺動(dòng),但是可控制在200ps內(nèi),并不顯然。相同的ftp應(yīng)用程序也運(yùn)行在vxworks smp上,用法了兩個(gè)內(nèi)核,速度提高了近2倍。因此,這一辦法并沒(méi)有劣化吞吐量,是吞吐量和硬件實(shí)時(shí)應(yīng)用程序的折中挑選。但是,因?yàn)閷?duì)內(nèi)核舉行了硬件劃分,不能夠靈便的增強(qiáng)內(nèi)核數(shù),因此,amp解決計(jì)劃也同樣有一些劣化。結(jié)論設(shè)計(jì)一個(gè)支持大吞吐量和實(shí)時(shí)應(yīng)用程序的均衡soc系統(tǒng)需要舉行無(wú)數(shù)綜合考慮,例如:·dma數(shù)據(jù)傳送。·延續(xù)高速緩存。·處理器內(nèi)核與dma之間的消息傳遞。&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論