999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多核SoC中外部存儲(chǔ)器并行訪存控制器設(shè)計(jì)

2021-11-07 14:43:46王澤中王春華王正茂張多利

王澤中, 王春華, 王正茂, 張多利

(1.合肥工業(yè)大學(xué) 電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230601; 2.教育部IC設(shè)計(jì)網(wǎng)上合作研究中心,安徽 合肥 230601)

為了適應(yīng)計(jì)算復(fù)雜度更高、更多元化的應(yīng)用,片上系統(tǒng)(system-on-a-chip,SoC)中集成了多個(gè)處理器核,顯著提升了系統(tǒng)的數(shù)據(jù)處理能力,同時(shí)也對(duì)外部存儲(chǔ)器的帶寬提出了更高的要求。為滿足多核SoC系統(tǒng)對(duì)外部存儲(chǔ)器高帶寬、大容量等需求,人們?cè)O(shè)計(jì)了DDR、GDDR、HBM等多種外部存儲(chǔ)器,用于提高系統(tǒng)性能[1-2]。當(dāng)前外部存儲(chǔ)器帶寬能夠達(dá)到數(shù)百GB/s,如HBM2存儲(chǔ)標(biāo)準(zhǔn)JESD235C的單堆棧理論最大帶寬為410 GB/s,4堆棧HBM2理論帶寬為1.64 TB/s。

多核處理器一般采用多級(jí)存儲(chǔ)結(jié)構(gòu)[3-4],利用程序的空間局域性和時(shí)間局域性提高訪存效率,但是對(duì)于局域性較差的任務(wù),多級(jí)存儲(chǔ)結(jié)構(gòu)的優(yōu)勢(shì)并不明顯。為了提高多核SoC系統(tǒng)對(duì)高帶寬外部存儲(chǔ)器的帶寬利用率,需要設(shè)計(jì)并行訪存接口,充分利用外部存儲(chǔ)器的帶寬,使用單個(gè)外部存儲(chǔ)器實(shí)現(xiàn)多核并行訪存[5-6]。

本文針對(duì)多核SoC系統(tǒng)工作過(guò)程中存在多運(yùn)算單元并行訪存,且訪存模式多樣的特點(diǎn),設(shè)計(jì)了一種支持多運(yùn)算單元并行訪問(wèn)外部存儲(chǔ)器的訪存控制器。該并行訪存控制器針對(duì)目標(biāo)系統(tǒng)任務(wù)類型的多樣性,設(shè)計(jì)了一種兩級(jí)仲裁與并行訪存相結(jié)合的機(jī)制,對(duì)不同類型任務(wù)進(jìn)行分組,組內(nèi)根據(jù)任務(wù)的訪存特點(diǎn)設(shè)計(jì)并行訪存機(jī)制,實(shí)現(xiàn)多運(yùn)算單元并行訪存;組間通過(guò)兩級(jí)仲裁機(jī)制選擇訪問(wèn)外部存儲(chǔ)器的組,實(shí)現(xiàn)高優(yōu)先級(jí)任務(wù)快速響應(yīng)以及讀寫(xiě)任務(wù)輪流工作。

本文設(shè)計(jì)的并行訪存控制器能夠適應(yīng)多種訪存模式,并根據(jù)系統(tǒng)需求合理對(duì)帶寬進(jìn)行分配,高效利用外部存儲(chǔ)器的帶寬,有效提高系統(tǒng)的訪存效率,從而提高系統(tǒng)性能。

1 目標(biāo)系統(tǒng)的存儲(chǔ)訪問(wèn)模型

多核系統(tǒng)中集成了多個(gè)不同的運(yùn)算單元、存儲(chǔ)模塊、輸入輸出接口、主控制器等結(jié)構(gòu),其數(shù)據(jù)傳輸模型示意圖如圖1所示,各運(yùn)算單元間通過(guò)片上網(wǎng)絡(luò)(Network-on-Chip,NoC)互相連接,數(shù)據(jù)通過(guò)數(shù)據(jù)網(wǎng)絡(luò)傳輸,運(yùn)算單元通過(guò)對(duì)應(yīng)節(jié)點(diǎn)的NoC接口與網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互。

圖1 多核系統(tǒng)數(shù)據(jù)傳輸模型

目標(biāo)系統(tǒng)為面向矩陣運(yùn)算的異構(gòu)多核系統(tǒng),系統(tǒng)中連續(xù)的數(shù)據(jù)存儲(chǔ)在片外存儲(chǔ)器中,將任務(wù)對(duì)應(yīng)的大批量數(shù)據(jù)分為多組,通過(guò)多運(yùn)算單元并行計(jì)算來(lái)提高處理效率。根據(jù)任務(wù)類型可使用并行工作模式與獨(dú)立工作模式。

若任務(wù)數(shù)據(jù)被分為i(i≥1)個(gè)數(shù)據(jù)組,并行工作模式下,使用多個(gè)運(yùn)算單元協(xié)同對(duì)數(shù)據(jù)組進(jìn)行處理,運(yùn)算單元訪存同步進(jìn)行,按照順序依次處理數(shù)據(jù)組1,數(shù)據(jù)組2,…,數(shù)據(jù)組i。

獨(dú)立工作模式下,使用數(shù)量不定的運(yùn)算單元,將所有數(shù)據(jù)組均分給運(yùn)算單元,運(yùn)算單元依次處理所分配的數(shù)據(jù)組,每個(gè)運(yùn)算單元獨(dú)立處理一個(gè)數(shù)據(jù)組。若使用x(i≥x≥1)個(gè)運(yùn)算單元,每個(gè)運(yùn)算單元需要處理的數(shù)據(jù)組數(shù)量為:

z=i/x,

其中,第y個(gè)運(yùn)算單元依次取第y個(gè),第y+x個(gè),第y+2x個(gè),…,第y+(z-1)x個(gè)數(shù)據(jù)組作運(yùn)算。

目標(biāo)系統(tǒng)中的訪存任務(wù)類型主要有指令讀取任務(wù)、并行任務(wù)、獨(dú)立任務(wù)3種。指令讀取任務(wù)從存儲(chǔ)器中讀取指令,并行任務(wù)與獨(dú)立任務(wù)分別用于并行工作模式與獨(dú)立工作模式下的運(yùn)算單元訪存。工作過(guò)程中,多個(gè)運(yùn)算單元會(huì)通過(guò)不同的網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)出不同類型的訪存請(qǐng)求,訪存控制器根據(jù)請(qǐng)求對(duì)外部存儲(chǔ)器進(jìn)行訪存操作,通過(guò)請(qǐng)求對(duì)應(yīng)節(jié)點(diǎn)的接口與數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行交互,多類型任務(wù)訪問(wèn)模型如圖2所示。

圖2 多類型任務(wù)訪問(wèn)模型

2 并行訪存控制器設(shè)計(jì)

根據(jù)排隊(duì)論模型,請(qǐng)求訪存的運(yùn)算單元、訪存控制器、外部存儲(chǔ)器可以看作模型中的顧客、隊(duì)列以及服務(wù)臺(tái)。在描述目標(biāo)系統(tǒng)的任務(wù)訪存狀態(tài)時(shí),主要考慮隊(duì)列中顧客的數(shù)量、顧客需求的服務(wù)模式、隊(duì)列容量限制3個(gè)參數(shù),對(duì)應(yīng)需要訪問(wèn)外部存儲(chǔ)器的運(yùn)算單元數(shù)量、運(yùn)算單元請(qǐng)求的服務(wù)模式、外部存儲(chǔ)器支持同時(shí)訪問(wèn)的最大運(yùn)算單元數(shù)目。建立參數(shù)模型[N,M,Q](M≤N≤Q)描述同類型任務(wù)的訪存請(qǐng)求狀態(tài)及任務(wù)間的相關(guān)性,表示某類型任務(wù)有N個(gè)運(yùn)算單元需要訪問(wèn)外部存儲(chǔ)器,有M個(gè)運(yùn)算單元的請(qǐng)求要求同時(shí)服務(wù),理論上最大支持Q個(gè)運(yùn)算單元同時(shí)訪問(wèn),指令讀取任務(wù)、并行任務(wù)、獨(dú)立任務(wù)的任務(wù)模型分別為[1,1,Q]、[N,N,Q]、[N,1,Q]。

目標(biāo)系統(tǒng)中單個(gè)運(yùn)算單元帶寬為Bu,外部存儲(chǔ)器帶寬為Be,理論上支持的最大運(yùn)算單元同時(shí)訪問(wèn)數(shù)量Q為:

Q=Be/Bu。

若運(yùn)算單元直接對(duì)外部存儲(chǔ)器進(jìn)行訪問(wèn),則造成的帶寬浪費(fèi)ΔB為:

ΔB=Be-Bu。

為充分利用外部存儲(chǔ)器的帶寬,針對(duì)目標(biāo)系統(tǒng)多運(yùn)算單元并行訪存,且訪存模式多樣的特點(diǎn),本文使用一種兩級(jí)仲裁與并行訪存設(shè)計(jì)相結(jié)合的機(jī)制實(shí)現(xiàn)多運(yùn)算單元并行訪問(wèn)外部存儲(chǔ)器。

并行訪存控制器利用外部存儲(chǔ)器與運(yùn)算單元間的帶寬差異,根據(jù)訪存特點(diǎn)將運(yùn)算單元帶寬合并或是控制運(yùn)算單元分時(shí)獨(dú)享外部存儲(chǔ)器帶寬以實(shí)現(xiàn)并行訪存,其結(jié)構(gòu)如圖3所示。并行訪存控制器對(duì)訪存請(qǐng)求進(jìn)行識(shí)別,根據(jù)任務(wù)類型以及讀寫(xiě)需求發(fā)送給對(duì)應(yīng)通道或任務(wù)組,針對(duì)任務(wù)訪存特點(diǎn),任務(wù)組采用不同的并行訪存設(shè)計(jì),在不同的任務(wù)組間使用兩級(jí)仲裁進(jìn)行選擇,輸出最終仲裁結(jié)果,最后通過(guò)外部存儲(chǔ)器讀寫(xiě)控制模塊,實(shí)現(xiàn)數(shù)據(jù)及地址與外部存儲(chǔ)器間的交互。

圖3 并行訪存控制器結(jié)構(gòu)

2.1 并行訪存設(shè)計(jì)

2.1.1 高優(yōu)先級(jí)通道設(shè)計(jì)

為指令讀取任務(wù)設(shè)計(jì)的高優(yōu)先級(jí)通道,其任務(wù)模型為[1,1,Q]。通道所需帶寬僅為Bu,由于任務(wù)數(shù)據(jù)量少,使用FIFO進(jìn)行緩沖。

FIFO具有數(shù)據(jù)緩沖和位寬轉(zhuǎn)換功能。FIFO在外部存儲(chǔ)器側(cè)以帶寬Be接受數(shù)據(jù),并以帶寬Bu發(fā)送至系統(tǒng)數(shù)據(jù)端口,外部存儲(chǔ)器工作時(shí)間僅為任務(wù)總時(shí)間的1/Q。期間外部存儲(chǔ)器能夠始終以最大帶寬連續(xù)工作,并提前將數(shù)據(jù)放入FIFO中,其后外部存儲(chǔ)器為其他任務(wù)服務(wù),高優(yōu)先級(jí)通道則使用FIFO中數(shù)據(jù)繼續(xù)工作。

2.1.2 并行任務(wù)組設(shè)計(jì)

并行任務(wù)組執(zhí)行并行任務(wù),其任務(wù)模型為[N,N,Q]。此類任務(wù)中N個(gè)運(yùn)算單元的訪存操作同步,使用帶寬合并的方法實(shí)現(xiàn)并行訪存。

并行任務(wù)組工作所需總帶寬Bp為:

Bp=NBu。

系統(tǒng)中每一個(gè)運(yùn)算單元單周期傳輸?shù)臄?shù)據(jù)位寬W及工作頻率f相同。帶寬合并將每周期傳輸?shù)腘個(gè)位寬為W的數(shù)據(jù)視為一個(gè)完整的數(shù)據(jù)與外部存儲(chǔ)器進(jìn)行交互,也即將每個(gè)運(yùn)算單元的帶寬合并以提高任務(wù)組訪存時(shí)的帶寬,即

(1)

并行任務(wù)組內(nèi)部使用FIFO組結(jié)構(gòu),并行任務(wù)所使用的運(yùn)算單元數(shù)量N固定,因此FIFO組中共有N個(gè)FIFO,每個(gè)FIFO對(duì)應(yīng)一個(gè)運(yùn)算單元。FIFO組執(zhí)行數(shù)據(jù)緩沖功能,使并行任務(wù)組在未獲得外部存儲(chǔ)器訪問(wèn)權(quán)時(shí)仍能依靠FIFO繼續(xù)工作。

執(zhí)行寫(xiě)任務(wù)與讀任務(wù)的并行任務(wù)組各自工作流程如圖4所示。并行任務(wù)執(zhí)行時(shí)使用N個(gè)運(yùn)算單元,因此并行任務(wù)組工作時(shí),FIFO組中所有FIFO均需要工作,每個(gè)FIFO都將與一個(gè)運(yùn)算單元進(jìn)行數(shù)據(jù)傳輸,同時(shí)并行任務(wù)的訪存具有同步性要求,所有運(yùn)算單元的訪存操作需要保持同步。因此可以通過(guò)檢測(cè)FIFO組中各FIFO狀態(tài),控制訪存的同步性。

圖4 并行任務(wù)工作流程

2.1.3 獨(dú)立任務(wù)組設(shè)計(jì)

獨(dú)立任務(wù)組處理獨(dú)立任務(wù), 其任務(wù)模型為[N,1,Q]。N個(gè)運(yùn)算單元的訪存操作獨(dú)立,使用獨(dú)立任務(wù)通道進(jìn)行,獨(dú)立任務(wù)使用分時(shí)輪詢的方法實(shí)現(xiàn)并行訪存。

輪詢機(jī)制能夠保證不同任務(wù)通道獲得完全公平的訪問(wèn)外部存儲(chǔ)器的機(jī)會(huì)。在輪詢過(guò)程中,獨(dú)立任務(wù)通道使用類似于高優(yōu)先級(jí)通道的FIFO結(jié)構(gòu)以平衡帶寬差異。若FIFO容量為C,運(yùn)算單元與外部存儲(chǔ)器帶寬差異為ΔB,由于獨(dú)立任務(wù)數(shù)據(jù)量一般大于FIFO容量,外部存儲(chǔ)器以帶寬Be工作的最長(zhǎng)時(shí)間Tmax為:

Tmax=C/ΔB。

因此需要限制獨(dú)立任務(wù)通道每次訪問(wèn)外部存儲(chǔ)器的時(shí)長(zhǎng),參考時(shí)分復(fù)用的原理,對(duì)外部存儲(chǔ)器進(jìn)行分時(shí)輪詢?cè)L存[7-8]。

分時(shí)輪詢?cè)L存設(shè)置通道訪問(wèn)時(shí)間t(t≤Tmax),以避免通道長(zhǎng)時(shí)間占用外部存儲(chǔ)器。基于帶寬差異,獨(dú)立數(shù)據(jù)通道訪問(wèn)外部存儲(chǔ)器時(shí)間t,可以支持其FIFO與運(yùn)算單元進(jìn)行時(shí)間為Qt的數(shù)據(jù)傳輸,除去數(shù)據(jù)通道自身訪存時(shí)間t,外部存儲(chǔ)器有(Q-1)t的時(shí)間為其他的獨(dú)立數(shù)據(jù)通道服務(wù),即

Qt=Bet/Bu

(2)

實(shí)際工作過(guò)程中,獨(dú)立通道無(wú)法以理論狀態(tài)進(jìn)行工作,為保證通道能夠獲得理想的訪問(wèn)時(shí)間,使用基于閾值判斷的方法,靈活分配通道的訪問(wèn)時(shí)間。該方法根據(jù)獨(dú)立任務(wù)通道總數(shù)據(jù)容量,為通道分配多級(jí)閾值。獨(dú)立通道在獲得外部存儲(chǔ)器訪問(wèn)權(quán)時(shí),將查詢通道內(nèi)部FIFO實(shí)際緩沖的數(shù)據(jù)量,與各級(jí)閾值對(duì)比,分配合理的訪問(wèn)時(shí)間,其偽碼如下:

If data-amount>threshold-1 then

//進(jìn)行閾值判斷

t=t1

//分配對(duì)應(yīng)工作時(shí)間

else if data-amount>threshold-2 then

t=t2

?

else

t=0

其中的data-amount在寫(xiě)任務(wù)中為FIFO內(nèi)數(shù)據(jù)量,在讀任務(wù)中為FIFO內(nèi)剩余空間。同時(shí),對(duì)于沒(méi)有訪存請(qǐng)求的獨(dú)立任務(wù)通道,不為其分配時(shí)間。

2.2 仲裁設(shè)計(jì)

經(jīng)典的仲裁方法有固定優(yōu)先級(jí)仲裁、輪詢仲裁、彩票仲裁等,這些方法有著各種的適用范圍以及局限性。為實(shí)現(xiàn)更精確、更有效的仲裁,可以使用多種仲裁方法進(jìn)行多級(jí)仲裁[9-11]。

目標(biāo)系統(tǒng)中任務(wù)優(yōu)先級(jí)由高到低分別為指令讀取任務(wù)、并行任務(wù)、獨(dú)立任務(wù),同時(shí)讀任務(wù)與寫(xiě)任務(wù)的訪問(wèn)需求是動(dòng)態(tài)調(diào)整的。根據(jù)這一特點(diǎn),設(shè)計(jì)了一種兩級(jí)仲裁機(jī)制,其仲裁方式如下:不同通道與任務(wù)組根據(jù)讀、寫(xiě)任務(wù)分類,第1級(jí)仲裁使用固定優(yōu)先級(jí)仲裁,根據(jù)優(yōu)先級(jí)對(duì)讀任務(wù)與寫(xiě)任務(wù)分別進(jìn)行仲裁,得到讀任務(wù)和寫(xiě)任務(wù)的仲裁結(jié)果后,在第2級(jí)仲裁中根據(jù)動(dòng)態(tài)權(quán)重進(jìn)行加權(quán)輪詢仲裁。仲裁流程如圖5所示。

圖5 兩級(jí)仲裁流程

在第1級(jí)仲裁中,為確保高優(yōu)先級(jí)任務(wù)能及時(shí)得到響應(yīng),仲裁器在檢測(cè)到高優(yōu)先級(jí)任務(wù)到來(lái)后,低優(yōu)先級(jí)任務(wù)將暫停,任務(wù)信息與數(shù)據(jù)由對(duì)應(yīng)通道或任務(wù)組保存,直到高優(yōu)先級(jí)任務(wù)結(jié)束后繼續(xù)執(zhí)行。參考加權(quán)輪詢算法中根據(jù)權(quán)重獲得輪詢結(jié)果的策略,第2級(jí)仲裁使用可配置訪問(wèn)時(shí)間的輪詢仲裁方法,動(dòng)態(tài)調(diào)整讀、寫(xiě)任務(wù)訪問(wèn)外部存儲(chǔ)器的時(shí)間。

固定時(shí)間T作為一次輪詢的總時(shí)間,設(shè)讀、寫(xiě)任務(wù)獲得的權(quán)重分別為Rw、Rr,則權(quán)重之和為:

R=Rw+Rr。

根據(jù)權(quán)值,讀、寫(xiě)任務(wù)各自獲得訪問(wèn)時(shí)間Tw、Tr為:

Tw=TRw/R,

Tr=TRr/R。

根據(jù)訪問(wèn)時(shí)間,讀、寫(xiě)任務(wù)將獲得帶寬Bw、Br為:

Bw=TwBe/T,

Br=TrBe/T。

在每次輪詢開(kāi)始時(shí),讀、寫(xiě)任務(wù)會(huì)獲得各自的訪問(wèn)時(shí)間,對(duì)外部存儲(chǔ)器訪問(wèn)規(guī)定的時(shí)間后,或是任務(wù)已經(jīng)執(zhí)行完畢且沒(méi)有新任務(wù)需要執(zhí)行后,將訪問(wèn)權(quán)切換至另一任務(wù),訪問(wèn)完成后,更新訪問(wèn)時(shí)間,其工作過(guò)程偽碼如下:

//寫(xiě)任務(wù)執(zhí)行

If wr-task over & no newwr-task then

task switch

//切換至讀任務(wù)

else if wr-time==Twthen

//執(zhí)行訪問(wèn)時(shí)間

task switch

else

wr-time=wr-time+1

//執(zhí)行時(shí)間計(jì)數(shù)

//讀任務(wù)執(zhí)行

If rd-task over & no new rd-task then

update access time

//更新訪問(wèn)時(shí)間

task switch

//切換至寫(xiě)任務(wù)

else if rd-time==Trthen

update access time

task switch

else

rd-time=rd-time+1

3 實(shí)驗(yàn)驗(yàn)證

為驗(yàn)證并行訪存控制器的功能,并進(jìn)行性能評(píng)估,在Xilinx XCVU440 FPGA開(kāi)發(fā)板上對(duì)所設(shè)計(jì)的并行訪存控制器進(jìn)行驗(yàn)證。

3.1 資源消耗

并行訪存控制器使用DDR3 SDRAM作為外部存儲(chǔ)器,擁有1條高優(yōu)先級(jí)通道,讀、寫(xiě)各8條獨(dú)立任務(wù)通道,以及讀、寫(xiě)各1組支持8個(gè)運(yùn)算單元執(zhí)行并行任務(wù)的并行任務(wù)組,整體資源消耗見(jiàn)表1所列。

表1 并行訪存控制器資源消耗

3.2 性能分析

實(shí)驗(yàn)使用的DDR3理論帶寬為102.4 Gb/s,相當(dāng)于16個(gè)運(yùn)算單元同時(shí)訪問(wèn)所需帶寬,由于DDR3中內(nèi)部預(yù)充電、激活和自刷新等時(shí)間消耗,實(shí)際帶寬無(wú)法達(dá)到理論值。定義帶寬利用率u為并行訪存控制器工作時(shí)的實(shí)際帶寬Breal與外部存儲(chǔ)器理論帶寬Be的比值,即

u=(Breal/Be)×100%

(3)

計(jì)算并行訪存控制器在工作過(guò)程中帶寬利用率的平均值,將平均帶寬利用率作為性能評(píng)估的參考。其中沒(méi)有運(yùn)算單元要求訪存的情況不計(jì)算,平均帶寬利用率越高代表端口傳輸速率以及任務(wù)并行度越高。

對(duì)并行訪存控制器在獨(dú)立工作模式和并行工作模式下分別進(jìn)行滿載讀、寫(xiě),以測(cè)試各工作模式的并行訪存設(shè)計(jì)所能達(dá)到的最大帶寬利用率。系統(tǒng)單次任務(wù)一般使用8個(gè)運(yùn)算單元執(zhí)行,因此滿載測(cè)試使用8個(gè)運(yùn)算單元執(zhí)行寫(xiě)任務(wù),8個(gè)運(yùn)算單元執(zhí)行讀任務(wù),共使用16個(gè)運(yùn)算單元,讀、寫(xiě)任務(wù)同時(shí)進(jìn)行。讀、寫(xiě)數(shù)據(jù)量相同,獨(dú)立工作模式下將讀、寫(xiě)任務(wù)數(shù)據(jù)各分為128個(gè)數(shù)據(jù)組,并行工作模式下8個(gè)運(yùn)算單元共同處理單個(gè)數(shù)據(jù)組,讀、寫(xiě)任務(wù)數(shù)據(jù)各分為16個(gè)數(shù)據(jù)組以保證每個(gè)運(yùn)算單元獲得數(shù)據(jù)量相同。運(yùn)算單元對(duì)數(shù)據(jù)組的讀、寫(xiě)過(guò)程連續(xù),測(cè)試不同數(shù)據(jù)量以及工作模式下的并行訪存控制器平均帶寬利用率,結(jié)果見(jiàn)表2所列。

表2 滿載狀態(tài)下平均帶寬利用率

由表2可知,在滿載情況下平均帶寬利用率最高能夠達(dá)到84.738%,并行工作模式下平均帶寬利用率相對(duì)較高,這是由于并行工作模式下讀寫(xiě)過(guò)程更加連續(xù),且沒(méi)有通道切換損耗。

對(duì)實(shí)際任務(wù)執(zhí)行情況進(jìn)行測(cè)試,分別以運(yùn)算時(shí)間小于訪存時(shí)間的復(fù)數(shù)加任務(wù)以及運(yùn)算時(shí)間大于訪存時(shí)間的快速傅里葉變換(fast Fourier transform,FFT)運(yùn)算任務(wù)作為測(cè)試對(duì)象。

測(cè)試過(guò)程中同時(shí)執(zhí)行1組并行任務(wù)及1組獨(dú)立任務(wù),2組任務(wù)待處理數(shù)據(jù)量相同,獨(dú)立任務(wù)數(shù)據(jù)拆分為128個(gè)數(shù)據(jù)組,并行任務(wù)數(shù)據(jù)拆分為16個(gè)數(shù)據(jù)組。2組任務(wù)各使用8個(gè)運(yùn)算單元處理,運(yùn)算單元每次處理1個(gè)數(shù)據(jù)組,執(zhí)行讀取、計(jì)算、寫(xiě)入過(guò)程。測(cè)試2種任務(wù)在不同數(shù)據(jù)量下的平均帶寬利用率,結(jié)果見(jiàn)表3所列。

由表3可知,實(shí)際任務(wù)執(zhí)行過(guò)程中,平均帶寬利用率通常會(huì)低于滿載情況,且對(duì)于FFT運(yùn)算任務(wù),平均帶寬利用率更低。這是由于實(shí)際任務(wù)執(zhí)行過(guò)程中并行訪存控制器不會(huì)始終工作在滿載狀態(tài),系統(tǒng)的實(shí)際帶寬需求低于存儲(chǔ)器理論帶寬。運(yùn)算時(shí)間較長(zhǎng)時(shí),訪存請(qǐng)求分散,任務(wù)并行度降低,系統(tǒng)的實(shí)際帶寬需求減少,進(jìn)一步降低了平均帶寬利用率。

表3 執(zhí)行實(shí)際任務(wù)時(shí)平均帶寬利用率

選擇表3中并行工作模式數(shù)據(jù)組容量為8 192,獨(dú)立工作模式數(shù)據(jù)組容量為1 024的任務(wù),對(duì)實(shí)際任務(wù)執(zhí)行過(guò)程中各階段的平均帶寬利用率變化進(jìn)行分析。將任務(wù)執(zhí)行過(guò)程分為10個(gè)階段,按照任務(wù)執(zhí)行總時(shí)間平均劃分,任務(wù)每執(zhí)行其總時(shí)間的1/10,計(jì)為一個(gè)階段,計(jì)算其在不同階段內(nèi)的平均帶寬利用率,如圖6所示。

圖6 不同階段的平均帶寬利用率

任務(wù)執(zhí)行過(guò)程中,任務(wù)的平均帶寬利用率變化曲線不斷變化,FFT運(yùn)算任務(wù)由于訪存請(qǐng)求分散,平均帶寬利用率始終低于運(yùn)算時(shí)間較小的復(fù)數(shù)加任務(wù)。各階段平均帶寬利用率的變化主要是由于任務(wù)執(zhí)行狀態(tài)的不同。并行任務(wù)組與獨(dú)立任務(wù)組同時(shí)進(jìn)行訪存,例如,并行任務(wù)組執(zhí)行讀任務(wù)時(shí),獨(dú)立任務(wù)組同時(shí)執(zhí)行寫(xiě)任務(wù)的情況下,任務(wù)并行度較高,此類情況較多的階段,平均帶寬利用率較高,反之,平均帶寬利用率較低。此外,若有任務(wù)組在執(zhí)行讀任務(wù)時(shí),存在之前緩存在任務(wù)組中的數(shù)據(jù)需要寫(xiě)入外部存儲(chǔ)器,此時(shí)數(shù)據(jù)的寫(xiě)入過(guò)程不會(huì)計(jì)入任務(wù)并行度,但是將導(dǎo)致讀任務(wù)的任務(wù)并行度降低,這種情況較多的階段,平均帶寬利用率也會(huì)有所降低。

4 結(jié) 論

本文設(shè)計(jì)了一種用于多核SoC中多運(yùn)算單元并行訪問(wèn)外部存儲(chǔ)器的接口結(jié)構(gòu)。針對(duì)目標(biāo)SoC系統(tǒng)的工作特點(diǎn)設(shè)計(jì)了多種并行訪問(wèn)機(jī)制以實(shí)現(xiàn)利用帶寬差異進(jìn)行并行訪存,使用兩級(jí)仲裁彌補(bǔ)單一仲裁方法的局限性,對(duì)不同任務(wù)進(jìn)行仲裁。經(jīng)測(cè)試,該并行訪存控制器能夠有效利用外部存儲(chǔ)器帶寬,在滿載情況下平均帶寬利用率最高能夠達(dá)到84.738%,實(shí)際任務(wù)執(zhí)行過(guò)程中平均帶寬利用率最高能夠達(dá)到54.653%。

主站蜘蛛池模板: 一级毛片在线免费视频| 国产精品久久国产精麻豆99网站| 亚洲一级毛片免费观看| 国产在线视频自拍| 婷婷亚洲最大| 美女潮喷出白浆在线观看视频| 99精品这里只有精品高清视频| 青青操视频在线| 日本a级免费| 国产精品免费电影| 九九热精品在线视频| 91青青草视频| 亚洲三级色| 黄色网在线免费观看| 日本手机在线视频| 毛片免费视频| 成人午夜亚洲影视在线观看| 99国产精品免费观看视频| 欧美日本中文| 亚洲欧美天堂网| 亚洲精品成人福利在线电影| 久久国产高清视频| 午夜高清国产拍精品| 91久久偷偷做嫩草影院精品| 丁香五月婷婷激情基地| 色亚洲成人| 18禁高潮出水呻吟娇喘蜜芽| 日韩在线永久免费播放| 国产成人综合日韩精品无码不卡| 亚洲一级色| 久久美女精品| 国产91在线|日本| 不卡无码网| 日本黄色不卡视频| 亚洲乱码在线播放| 国产美女无遮挡免费视频网站| 国产精品久久久久鬼色| 久久国产精品麻豆系列| 国产乱人激情H在线观看| 国产美女无遮挡免费视频网站 | 欧美一区国产| 国产在线麻豆波多野结衣| 一级黄色片网| 国产麻豆aⅴ精品无码| 免费一看一级毛片| 日韩国产精品无码一区二区三区| 久久成人免费| 久久综合结合久久狠狠狠97色| 中文字幕有乳无码| 午夜视频免费一区二区在线看| 亚洲国产看片基地久久1024| 蜜桃视频一区| 97影院午夜在线观看视频| 韩日免费小视频| 成人亚洲视频| 欧美成人精品一级在线观看| 欧美在线伊人| 国产麻豆91网在线看| 97se综合| 国产成人精品免费av| 中文字幕一区二区人妻电影| 免费在线国产一区二区三区精品| 久久免费观看视频| 91在线播放国产| 日本草草视频在线观看| 久久久精品国产亚洲AV日韩| 精品欧美视频| 免费看久久精品99| 欧美一区国产| 国产综合另类小说色区色噜噜| 呦女亚洲一区精品| 91在线精品麻豆欧美在线| 国产福利免费视频| 国产在线一区视频| 中国一级特黄视频| 国产精品性| 欧美成人怡春院在线激情| 色综合天天娱乐综合网| 亚洲综合色婷婷中文字幕| 97人人做人人爽香蕉精品| 亚洲成aⅴ人片在线影院八| 久久久精品无码一区二区三区|