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