DSP高效片內(nèi)二級(jí)Cache控制器的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-03-26 11:15
【摘要】: 數(shù)字信號(hào)處理器(DSP)在近年來(lái)得到廣泛的發(fā)展及應(yīng)用!癈ache+RAM”的存儲(chǔ)結(jié)構(gòu)已經(jīng)成為高性能DSP設(shè)計(jì)中不可或缺的技術(shù)之一。二級(jí)Cache控制器的設(shè)計(jì)是“兩級(jí)Cache+RAM”存儲(chǔ)結(jié)構(gòu)中的關(guān)鍵環(huán)節(jié)。如何設(shè)計(jì)和實(shí)現(xiàn)一個(gè)正確、高效同時(shí)又滿(mǎn)足高頻要求的二級(jí)Cache控制器是一個(gè)值得研究的問(wèn)題。 FT-CXX是我們自主研發(fā)中的一款高性能定點(diǎn)DSP,采用超長(zhǎng)指令字(VLIW)技術(shù),一拍內(nèi)最多可以發(fā)射8條指令。預(yù)期CPU頻率600MHz,外設(shè)頻率300MHz,二級(jí)Cache(L2)的總?cè)萘?MB。本文對(duì)其中的L2控制器的設(shè)計(jì)和實(shí)現(xiàn)技術(shù)進(jìn)行了研究,主要工作和貢獻(xiàn)集中體現(xiàn)在以下幾個(gè)方面: 首先,分析了一般的Cache的設(shè)計(jì)方法,全面考察了主流DSP芯片中Cache的性能要求和實(shí)現(xiàn)技術(shù),設(shè)計(jì)實(shí)現(xiàn)了FT-CXX L2的Cache/SRAM結(jié)構(gòu),確定了L2數(shù)據(jù)體、Tag體的結(jié)構(gòu)及地址訪(fǎng)問(wèn)規(guī)則,設(shè)計(jì)實(shí)現(xiàn)了L2Cache的映象規(guī)則、替換算法、寫(xiě)策略等。 其次,針對(duì)L2存儲(chǔ)容量大、存儲(chǔ)體只能支持CPU頻率一半的事實(shí),采取措施優(yōu)化對(duì)一級(jí)Cache(L1D和L1P)缺失的處理。1)設(shè)計(jì)了缺失流水線(xiàn),理想情況下平均每個(gè)L1的缺失代價(jià)只有兩拍;2)在L1D和L2之間設(shè)計(jì)了一個(gè)寬度為64bit,深度為4且支持寫(xiě)合并的L1D寫(xiě)缺失緩沖隊(duì)列,有效地減少了L1D寫(xiě)缺失的等待時(shí)間;3)提出了跨邊界訪(fǎng)問(wèn)問(wèn)題的解決方案,該方案具有效率高、硬件開(kāi)銷(xiāo)小且不會(huì)增加編譯器的額外負(fù)擔(dān)等特點(diǎn)。 再次,設(shè)計(jì)并實(shí)現(xiàn)了一種高效的L2 SRAM的EDMA訪(fǎng)問(wèn)的處理機(jī)制。該機(jī)制充分挖掘了EDMA訪(fǎng)問(wèn)潛在的并行性,綜合采用了EDMA請(qǐng)求猝發(fā)(可以連續(xù)發(fā)8個(gè)讀請(qǐng)求,4個(gè)寫(xiě)請(qǐng)求)、偵聽(tīng)和數(shù)據(jù)發(fā)送處理流水化、基于偵聽(tīng)歷史的偵聽(tīng)次數(shù)減少、基于旁路和歸并機(jī)制的L2數(shù)據(jù)體訪(fǎng)問(wèn)的削減等技術(shù),使EDMA的傳輸效率大大提高,平均訪(fǎng)問(wèn)一個(gè)數(shù)據(jù)只需要2-3拍,和一般的串行通路相比,加速比在2.0以上。 最后,設(shè)計(jì)并實(shí)現(xiàn)了高效的數(shù)據(jù)一致性維護(hù)機(jī)制。一方面提供了豐富的Cache控制寄存器操作,另一方面對(duì)偵聽(tīng)和數(shù)據(jù)寫(xiě)回進(jìn)行了分類(lèi)處理。實(shí)驗(yàn)結(jié)果表明,該機(jī)制使系統(tǒng)典型請(qǐng)求的開(kāi)銷(xiāo)降低了10%以上。 此外,本文對(duì)以上設(shè)計(jì)進(jìn)行了較為系統(tǒng)地驗(yàn)證,并進(jìn)行了邏輯綜合和優(yōu)化,使其在SMIC 0.13 um工藝下滿(mǎn)足與一級(jí)Cache的接口部分工作頻率為600MHz,內(nèi)部的工作頻率為300MHz的要求。
【圖文】:
圖1.2AoSP一Zll6lN功能結(jié)構(gòu)圖在這種平板方式的存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)傳輸必須由程序員來(lái)支持,通常的方式是在程序中利用DMA機(jī)制在CPU核處理當(dāng)前數(shù)據(jù)塊時(shí)提前將下一個(gè)數(shù)據(jù)塊搬到片內(nèi)RAM中。這種策略在早期的DSP設(shè)計(jì)和開(kāi)發(fā)中是能夠滿(mǎn)足需求的。但是進(jìn)入上世紀(jì)90年代以來(lái),隨著信號(hào)處理應(yīng)用領(lǐng)域的不斷擴(kuò)大,需求的不斷增加,DSP應(yīng)用程序也變得愈加復(fù)雜和多樣。程序代碼越來(lái)越龐大,根本無(wú)法全部放到片內(nèi)。以實(shí)現(xiàn)MPEG一4編解碼為例1201,代碼量將近30OKB,其運(yùn)算過(guò)程中所需哈夫曼表、數(shù)據(jù)堆棧等要占將近500一600KB左右的空間。如果全部依靠程序員顯式處理這些數(shù)據(jù)的搬入搬出,工作將會(huì)非常繁雜和低效。程序員駕馭DSP底層的負(fù)擔(dān)日益繁重,迫切需要新的存儲(chǔ)結(jié)構(gòu)的出現(xiàn)。使用Cache技術(shù)能夠自動(dòng)進(jìn)行片內(nèi)外數(shù)據(jù)交換,降低程序員配置搬移數(shù)據(jù)的負(fù)擔(dān)。但Cache技術(shù)也有其自身缺點(diǎn):一旦Cache不命中,從片外到片內(nèi)的失效延遲根本無(wú)法滿(mǎn)足應(yīng)用程序的“實(shí)時(shí)性”要求,其失效的不確定因素也不利于程序員對(duì)程序運(yùn)行的全盤(pán)掌握。所以?xún)H用Cache來(lái)自動(dòng)實(shí)現(xiàn)片內(nèi)與片外的數(shù)據(jù)交換是不可取的,DSP程序員在某些情況下必須要進(jìn)行干預(yù)。此外使用Cache還涉及到數(shù)據(jù)一致性的維護(hù)等問(wèn)題。
圖2.1FT一cXX體系結(jié)構(gòu)總體框圖FT一CXX基于超長(zhǎng)指令字,繼承和改進(jìn)FT一C67系列的八流出超長(zhǎng)指令字結(jié)構(gòu),形成更先進(jìn)的VeloeiTI.ZVLIW體系結(jié)構(gòu),主頻可達(dá)600MHZ,F(xiàn)T一CXX的體系結(jié)構(gòu)如圖2.1所示。其片內(nèi)存儲(chǔ)器容量高達(dá)lo56KB(其中包括16KB的LID,16KB的Llp和IO24KB的LZ),增加了片一內(nèi)外設(shè)控制器的類(lèi)型和數(shù)量,提供了更高的存儲(chǔ)帶寬和更多的外設(shè)接口類(lèi)型,這些資源的增加使得該款芯片能更好的適應(yīng)媒體處理、多通道無(wú)線(xiàn)通信和有線(xiàn)通信的應(yīng)用的需求。FT一CXX采用八流出超長(zhǎng)指令字結(jié)構(gòu),單指令字長(zhǎng)為犯位,八個(gè)指令組成一個(gè)取指包,總字長(zhǎng)為256位。指令派發(fā)單元可以將256位的指令包同時(shí)分配到兩組對(duì)稱(chēng)的八個(gè)處理單元—ALUI/2、ALU3/4、Ml/2、LSI/2,并由八個(gè)單元同時(shí)執(zhí)行。FT一CXX具有高效的流水線(xiàn)結(jié)構(gòu)。指令獲取、指令派發(fā)、指令執(zhí)行最長(zhǎng)需要11級(jí)流水,其中指令獲取占4級(jí),指令派發(fā)占2級(jí),指令執(zhí)行依據(jù)指令的執(zhí)行分為1一5級(jí)不等。FT一CXX采用Loa出Store體系結(jié)構(gòu),擁有兩個(gè)通用寄存器組A和B,每組分別為犯?jìng)(gè)32位通用寄存器,兩條數(shù)據(jù)存儲(chǔ)通路,兩條寄存器組交叉通路,兩條數(shù)據(jù)尋址通路。
【學(xué)位授予單位】:國(guó)防科學(xué)技術(shù)大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2008
【分類(lèi)號(hào)】:TP368.1
本文編號(hào):2601365
【圖文】:
圖1.2AoSP一Zll6lN功能結(jié)構(gòu)圖在這種平板方式的存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)傳輸必須由程序員來(lái)支持,通常的方式是在程序中利用DMA機(jī)制在CPU核處理當(dāng)前數(shù)據(jù)塊時(shí)提前將下一個(gè)數(shù)據(jù)塊搬到片內(nèi)RAM中。這種策略在早期的DSP設(shè)計(jì)和開(kāi)發(fā)中是能夠滿(mǎn)足需求的。但是進(jìn)入上世紀(jì)90年代以來(lái),隨著信號(hào)處理應(yīng)用領(lǐng)域的不斷擴(kuò)大,需求的不斷增加,DSP應(yīng)用程序也變得愈加復(fù)雜和多樣。程序代碼越來(lái)越龐大,根本無(wú)法全部放到片內(nèi)。以實(shí)現(xiàn)MPEG一4編解碼為例1201,代碼量將近30OKB,其運(yùn)算過(guò)程中所需哈夫曼表、數(shù)據(jù)堆棧等要占將近500一600KB左右的空間。如果全部依靠程序員顯式處理這些數(shù)據(jù)的搬入搬出,工作將會(huì)非常繁雜和低效。程序員駕馭DSP底層的負(fù)擔(dān)日益繁重,迫切需要新的存儲(chǔ)結(jié)構(gòu)的出現(xiàn)。使用Cache技術(shù)能夠自動(dòng)進(jìn)行片內(nèi)外數(shù)據(jù)交換,降低程序員配置搬移數(shù)據(jù)的負(fù)擔(dān)。但Cache技術(shù)也有其自身缺點(diǎn):一旦Cache不命中,從片外到片內(nèi)的失效延遲根本無(wú)法滿(mǎn)足應(yīng)用程序的“實(shí)時(shí)性”要求,其失效的不確定因素也不利于程序員對(duì)程序運(yùn)行的全盤(pán)掌握。所以?xún)H用Cache來(lái)自動(dòng)實(shí)現(xiàn)片內(nèi)與片外的數(shù)據(jù)交換是不可取的,DSP程序員在某些情況下必須要進(jìn)行干預(yù)。此外使用Cache還涉及到數(shù)據(jù)一致性的維護(hù)等問(wèn)題。
圖2.1FT一cXX體系結(jié)構(gòu)總體框圖FT一CXX基于超長(zhǎng)指令字,繼承和改進(jìn)FT一C67系列的八流出超長(zhǎng)指令字結(jié)構(gòu),形成更先進(jìn)的VeloeiTI.ZVLIW體系結(jié)構(gòu),主頻可達(dá)600MHZ,F(xiàn)T一CXX的體系結(jié)構(gòu)如圖2.1所示。其片內(nèi)存儲(chǔ)器容量高達(dá)lo56KB(其中包括16KB的LID,16KB的Llp和IO24KB的LZ),增加了片一內(nèi)外設(shè)控制器的類(lèi)型和數(shù)量,提供了更高的存儲(chǔ)帶寬和更多的外設(shè)接口類(lèi)型,這些資源的增加使得該款芯片能更好的適應(yīng)媒體處理、多通道無(wú)線(xiàn)通信和有線(xiàn)通信的應(yīng)用的需求。FT一CXX采用八流出超長(zhǎng)指令字結(jié)構(gòu),單指令字長(zhǎng)為犯位,八個(gè)指令組成一個(gè)取指包,總字長(zhǎng)為256位。指令派發(fā)單元可以將256位的指令包同時(shí)分配到兩組對(duì)稱(chēng)的八個(gè)處理單元—ALUI/2、ALU3/4、Ml/2、LSI/2,并由八個(gè)單元同時(shí)執(zhí)行。FT一CXX具有高效的流水線(xiàn)結(jié)構(gòu)。指令獲取、指令派發(fā)、指令執(zhí)行最長(zhǎng)需要11級(jí)流水,其中指令獲取占4級(jí),指令派發(fā)占2級(jí),指令執(zhí)行依據(jù)指令的執(zhí)行分為1一5級(jí)不等。FT一CXX采用Loa出Store體系結(jié)構(gòu),擁有兩個(gè)通用寄存器組A和B,每組分別為犯?jìng)(gè)32位通用寄存器,兩條數(shù)據(jù)存儲(chǔ)通路,兩條寄存器組交叉通路,兩條數(shù)據(jù)尋址通路。
【學(xué)位授予單位】:國(guó)防科學(xué)技術(shù)大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2008
【分類(lèi)號(hào)】:TP368.1
【引證文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前3條
1 李聞博;FT-Matrix處理器指令集與指令派發(fā)設(shè)計(jì)[D];國(guó)防科學(xué)技術(shù)大學(xué);2010年
2 靳強(qiáng);“銀河飛騰-DX”DSP高效二級(jí)cache的設(shè)計(jì)與實(shí)現(xiàn)[D];國(guó)防科學(xué)技術(shù)大學(xué);2011年
3 付波;基于dsp的兩級(jí)cache低功耗研究與實(shí)現(xiàn)[D];南昌大學(xué);2012年
,本文編號(hào):2601365
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2601365.html
最近更新
教材專(zhuān)著