在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 設(shè)計大吞吐量、實時SoC系統(tǒng)的最佳實踐

            設(shè)計大吞吐量、實時SoC系統(tǒng)的最佳實踐

            作者: 時間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

            現(xiàn)代SoC軟件通常包括多種應(yīng)用,從汽車發(fā)動機(jī)控制等硬件實時應(yīng)用,到HD視頻流等大吞吐量應(yīng)用。隨著現(xiàn)代SoC向大吞吐量系統(tǒng)的快速發(fā)展,處理器內(nèi)核數(shù)量不斷增加,寬帶互聯(lián)也越來越多,導(dǎo)致混合系統(tǒng)設(shè)計成為挑戰(zhàn)。在這類系統(tǒng)中實現(xiàn)硬件實時—μs量級響應(yīng),抖動不到1μs,需要仔細(xì)的綜合考慮分析和系統(tǒng)劃分。隨著SoC的復(fù)雜度越來越高,將來的驗證策略也必須納入考慮范圍。

            本文引用地址:http://www.biyoush.com/article/201610/308406.htm

            這類系統(tǒng)設(shè)計主要有三種方法—非對稱多處理(AMP)、管理程序,以及支持內(nèi)核隔離的對稱多處理(SMP)(主要的對比見表1),系統(tǒng)設(shè)計人員可以從中選擇一種方法來優(yōu)化混合SoC系統(tǒng)。

            非對稱多處理

            AMP實際是基于物理上不同的處理器內(nèi)核的多操作系統(tǒng)(OS)端口。一個例子是,在第一個內(nèi)核上運行專門用于處理實時任務(wù)的裸金屬OS,在其他內(nèi)核上運行嵌入式Linux等完整的OS。很多時候,最初將OS導(dǎo)入到內(nèi)核中非常簡單,但是,在啟動代碼和資源管理上很容易出錯,例如,存儲器、高速緩存和外設(shè)等。當(dāng)多個OS訪問相同的外設(shè)時,行為會是不確定的,調(diào)試起來可能非常耗時。通常要求仔細(xì)的保護(hù)ARM TrustZone等體系結(jié)構(gòu)不受影響。

            更復(fù)雜的是,在OS之間傳遞消息要求存儲器共享,一起采用其他保護(hù)手段進(jìn)行管理。不同的OS之間通常不會共享高速緩存。要通過非高速緩存區(qū)來傳遞消息,對于總體性能而言,增加了延時和抖動。從可擴(kuò)展角度看,隨著內(nèi)核數(shù)量的增加,需要進(jìn)行多次重新導(dǎo)入,使軟件體系結(jié)構(gòu)較差。

            監(jiān)控程序

            管理程序是直接在硬件上運行的底層軟件,在其上可管理多個獨立的OS。最初的導(dǎo)入與AMP相似,而其優(yōu)勢在于管理程序隱藏了資源管理和消息傳遞中不重要的細(xì)節(jié)。缺點是由于吞吐量和實時性能要求,增加了額外的軟件層,導(dǎo)致出現(xiàn)性能開銷。

            對稱多處理

            支持內(nèi)核隔離的SMP在多個內(nèi)核上運行一個OS,支持在內(nèi)部劃分內(nèi)核。一個例子是讓SMP OS在第一個內(nèi)核上分配實時應(yīng)用程序,在其他的內(nèi)核上運行非實時應(yīng)用程序。隨著內(nèi)核數(shù)量的增加,SMP OS可以設(shè)計無縫導(dǎo)入,因此,這一方法的可擴(kuò)展性比較好。所有內(nèi)核都是由一個OS管理的,因此,內(nèi)核之間可以在L1數(shù)據(jù)高速緩存級上傳遞消息,通信速度更快,抖動 更低。

            通過內(nèi)核隔離,可以保留一個內(nèi)核用于硬件實時應(yīng)用,以屏蔽其他大吞吐量內(nèi)核的影響,保持了低抖動和實時數(shù)據(jù)響應(yīng)。這樣,設(shè)計人員可以考慮使用哪一個OS,而不用重新設(shè)計容易出錯的底層軟件來管理多個OS。因此,這一般是很好的軟件體系結(jié)構(gòu)決定。如果從多個OS開始,最初的導(dǎo)入會需要一些付出。但是,從一個SMP體系結(jié)構(gòu)開始會省很多事。

            通過SMP優(yōu)化大吞吐量、實時SoC

            基于對各種方法的分析,支持內(nèi)核隔離的SMP是最好的體系結(jié)構(gòu),優(yōu)化了大吞吐量、實時SoC系統(tǒng)。我們考慮的體系結(jié)構(gòu)與圖3的系統(tǒng)相似,其中,I/O數(shù)據(jù)輸入到SoC中,處理器對其進(jìn)行計算,送回至I/O,滿足低抖動和低延時實時響應(yīng)要求。此外,SoC包括了多個內(nèi)核,可同時運行其他吞吐量較大的應(yīng)用程序。

            首先,需要理解一個實時響應(yīng)(循環(huán)時間)由哪些組成:

            1.從一個I/O,將新數(shù)據(jù)傳送至系統(tǒng)存儲器(DMA)。

            2.處理器探測系統(tǒng)存儲器中的新數(shù)據(jù) (內(nèi)核隔離)。

            3.將數(shù)據(jù)復(fù)制到私有存儲器(memcpy)。

            4.對數(shù)據(jù)進(jìn)行計算。

            5.將結(jié)果復(fù)制回系統(tǒng)存儲器(memcpy)。

            6.將結(jié)果傳送回I/O(DMA)。

            抖動和延時是6個步驟的累積,因此,需要優(yōu)化每一個步驟。采用支持內(nèi)核隔離的VxWorks等RTOS,可以在納秒范圍內(nèi)完成輪詢/中斷響應(yīng)(步驟2)。數(shù)據(jù)計算也是專用的,具有很好的可預(yù)測性(步驟4)。因此,我們的重點是綜合考慮直接存儲器訪問(DMA)和memcpy(步驟1/3/5/6)。主要有兩種方法來傳送數(shù)據(jù):高速緩存連續(xù)傳送,以及不支持高速緩沖連續(xù)的傳送。這兩種方法在DMA和memcpy上的響應(yīng)有很大的不同。如圖1所示,雖然高速緩存連續(xù)傳送(使用ARM高速緩存連續(xù)端口(ACP))導(dǎo)致DMA需要較長的通路,但處理器只需要訪問L1高速緩存就可以獲得所傳送的數(shù)據(jù)。因此,使用高速緩存連續(xù)傳送的memcpy時間要少很多,但是DMA性能會有些劣化。對于設(shè)計人員而言,由于是直接高速緩存訪問,因此,高速緩存連續(xù)傳送的延時更短,抖動 更小。

            案例研究:SoC設(shè)計最佳實踐

            可以使用Cyclone V SoC FPGA開發(fā)套件,通過參考設(shè)計來演示一個完整的系統(tǒng)。器件在一個芯片中包括了一個雙核32ARM Cortex-A9內(nèi)核子系統(tǒng)(HPS)和一個28nm FPGA。下面總結(jié)了硬件和軟件體系結(jié)構(gòu),如圖2所示。

            硬件體系結(jié)構(gòu)

            ·兩個DMA,將數(shù)據(jù)從FPGA I/O傳送至ARM處理器,反之亦然。

            ·兩個DMA都連接至ACP,實現(xiàn)數(shù)據(jù)在ARM處理器高速緩存的直接傳送。

            ·實時控制單元IP,以盡可能快的方式啟動ARM處理器和DMA引擎之間的消息傳遞。

            ·抖動監(jiān)視器直接探測DMA信號,采集實時性能和抖動,精度在±6.7ns以內(nèi)。

            軟件體系結(jié)構(gòu)

            ·在雙核ARM處理器上的VxWorks實時OS運行在SMP模式下。

            ·內(nèi)核隔離,用于在第一個內(nèi)核上分配實時應(yīng)用程序,在第二個內(nèi)核上分配其他的非 實時應(yīng)用程序。

            ·實時應(yīng)用程序連續(xù)從I/O讀取數(shù)據(jù),計算,然后將結(jié)果發(fā)送回I/O。

            ·當(dāng)連續(xù)運行FTP傳輸并對數(shù)據(jù)加密時,非實時應(yīng)用程序加重了對ARM內(nèi)核和其它 I/O性能的要求。

            結(jié)果

            在長度不同的數(shù)據(jù)上運行實驗,長度從32 字節(jié)直至2,048字節(jié)。為了采集循環(huán)時間的直方圖,來分析抖動(最大和最小循環(huán)時間之間的不同),每一長度都要運行數(shù)百萬次。如圖3所示,即使是在第二個內(nèi)核上運行數(shù)據(jù)流負(fù)載很大的FTP,經(jīng)過數(shù)百萬次的測試,延時也在微秒級,而抖動不到300ps。長度不同,會有些抖動擺動,但是可控制在200ps內(nèi),并不明顯。

            相同的FTP應(yīng)用程序也運行在VxWorks SMP上,使用了兩個內(nèi)核,速度提高了近2倍。因此,這一方法并沒有劣化吞吐量,是吞吐量和硬件實時應(yīng)用程序的折中選擇。但是,由于對內(nèi)核進(jìn)行了硬件劃分,不能夠靈活的增加內(nèi)核數(shù),因此,AMP解決方案也同樣有一些劣化。

            結(jié)論

            設(shè)計一個支持大吞吐量和實時應(yīng)用程序的均衡SoC系統(tǒng)需要進(jìn)行很多綜合考慮,例如:

            ·DMA數(shù)據(jù)傳送。

            ·連續(xù)高速緩存。

            ·處理器內(nèi)核與DMA之間的消息傳遞。

            ·OS劃分。

            ·軟件能夠隨著處理器內(nèi)核數(shù)量的增加而進(jìn)行擴(kuò)展。

            在此次實驗中,我們展示了一個“最佳實踐”系統(tǒng)設(shè)計,它使用了支持內(nèi)核隔離和高速緩存連續(xù)傳送的SMP,實現(xiàn)了低延時、低抖動實時性能,同時軟件能夠擴(kuò)展應(yīng)用到未來幾代的SoC產(chǎn)品中。



            評論


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

            關(guān)閉