一種面向粗粒度可重構(gòu)系統(tǒng)的多模式動態(tài)可配高速訪存接口的制作方法
【專利說明】一種面向粗粒度可重構(gòu)系統(tǒng)的多模式動態(tài)可配高速訪存接
□
技術(shù)領(lǐng)域
[0001 ] 本發(fā)明涉及嵌入式可重構(gòu)設(shè)計領(lǐng)域,一種面向粗粒度動態(tài)可重構(gòu)系統(tǒng)的多模式動態(tài)可配高速訪存接口設(shè)計,可用于高性能可重構(gòu)系統(tǒng),實現(xiàn)并加速可重構(gòu)處理器與片外同步動態(tài)存儲器的數(shù)據(jù)傳輸。
【背景技術(shù)】
[0002]通用處理器和專用集成電路(ASIC) —直以來都是兩種主要的計算模式。隨著對計算效率的要求不斷提高,一種兼顧通用處理器靈活性和專用集成電路高效性的可重構(gòu)計算技術(shù)開始進(jìn)入人們眼簾??芍貥?gòu)計算技術(shù)通過對運算單元的配置,能夠?qū)⒛骋凰惴ㄞD(zhuǎn)換為數(shù)據(jù)流的形式,提高運算效率。這里提到的粗粒度動態(tài)可重構(gòu)處理器就是一種基于可重構(gòu)計算技術(shù)的片上系統(tǒng)芯片(S0C)。
[0003]本發(fā)明中的可重構(gòu)數(shù)據(jù)訪存接口針對的片外同步動態(tài)存儲器是DDR2 SDRAM存儲芯片。該存儲器具有三維結(jié)構(gòu),在數(shù)據(jù)讀寫之前需要完成頁、行、列的選擇和激活,其中行的激活和預(yù)充電過程需要大量時間。針對這樣的外存特性,大部分存儲接口都采用頁重排的機(jī)制,存儲器不同頁相對獨立,可以同時進(jìn)行頁的激活和預(yù)充電,通過將相鄰兩次訪存操作分布在不同頁上,可以有效地覆蓋行的激活和預(yù)充電時間。本發(fā)明在此基礎(chǔ)上增加了針對多種訪問模式的訪存機(jī)制。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于:可重構(gòu)處理器芯片設(shè)計過程中,高吞吐量的外存訪問接口的設(shè)計關(guān)系到整個芯片的性能,需要滿足各種算法的訪存需求。目前可重構(gòu)處理器的訪存接口僅針對某一類算法進(jìn)行優(yōu)化,或者沒有對算法進(jìn)行訪存優(yōu)化,本發(fā)明提出一個優(yōu)化范圍更廣的訪存接口,能夠針對13大類算法進(jìn)行訪存優(yōu)化的,適用于可重構(gòu)處理器的外存訪問接口,采取合適的方案提高二級緩存命中率,減少內(nèi)存訪問時延,提高處理器存儲系統(tǒng)數(shù)據(jù)吞吐率,提升處理器芯片性能。
[0005]本發(fā)明的技術(shù)方案如下:應(yīng)用于由系統(tǒng)總線、可重構(gòu)處理器、多模式動態(tài)可配高速訪存接口、片外同步動態(tài)存儲器構(gòu)成的可重構(gòu)外存訪問系統(tǒng);其中系統(tǒng)總線和可重構(gòu)處理器向訪存接口發(fā)起數(shù)據(jù)請求,訪存接口對數(shù)據(jù)請求完成處理后,向片外同步動態(tài)存儲器發(fā)起外存訪問請求,完成數(shù)據(jù)的訪問.多模式動態(tài)可配高速訪存接口針對不同的數(shù)據(jù)分布類型,可以在系統(tǒng)運行過程中,動態(tài)地配置成相應(yīng)的四種訪問模式,包括:單數(shù)據(jù)傳輸模式、猝發(fā)數(shù)據(jù)傳輸模式、二維數(shù)據(jù)傳輸模式、鏈?zhǔn)綌?shù)據(jù)傳輸模式,并根據(jù)配置信息和數(shù)據(jù)分布形式,提前發(fā)起多個數(shù)據(jù)訪問請求,從而減少數(shù)據(jù)訪問延遲。
[0006]所述的多模式動態(tài)可配高速訪存接口包括配置接口、可重構(gòu)系統(tǒng)數(shù)據(jù)接口、總線接口、配置控制器、功能執(zhí)行模塊、外部存儲器接口 ;其中,配置控制器能夠解析從可重構(gòu)處理單元發(fā)送來的配置信息;可重構(gòu)系統(tǒng)數(shù)據(jù)接口用于多模式動態(tài)可配高速訪存接口與可重構(gòu)陣列的數(shù)據(jù)交互;總線接口完成系統(tǒng)總線上的訪存請求;功能執(zhí)行模塊根據(jù)配置信息完成數(shù)據(jù)通路的重構(gòu),包括單數(shù)據(jù)傳輸模塊、猝發(fā)數(shù)據(jù)傳輸模塊、二維數(shù)據(jù)傳輸模塊、鏈?zhǔn)綌?shù)據(jù)傳輸模塊,相應(yīng)的這些模塊分別支持單數(shù)據(jù)傳輸模式、猝發(fā)數(shù)據(jù)傳輸模式、二維數(shù)據(jù)傳輸模式、鏈?zhǔn)綌?shù)據(jù)傳輸模式;單數(shù)據(jù)傳輸模塊和猝發(fā)數(shù)據(jù)傳輸模式與AHB傳輸協(xié)議中的定義相同;外部存儲器接口與片外同步動態(tài)存儲器進(jìn)行交互,完成數(shù)據(jù)的傳遞。
[0007]所述功能執(zhí)行模塊中的二維數(shù)據(jù)傳輸模塊,包括數(shù)據(jù)行地址緩存、數(shù)據(jù)行長緩存、跳轉(zhuǎn)長度緩存、數(shù)據(jù)行條目數(shù)緩存、數(shù)據(jù)行計數(shù)器、數(shù)據(jù)索引號計數(shù)器、數(shù)據(jù)請求地址緩存;其中,數(shù)據(jù)行地址緩存、跳轉(zhuǎn)長度緩存、數(shù)據(jù)行條目數(shù)緩存用于緩存從配置模塊接受的相關(guān)配置信息;數(shù)據(jù)行計數(shù)器用于記錄當(dāng)前數(shù)據(jù)請求在數(shù)據(jù)塊中的行信息;數(shù)據(jù)索引號計數(shù)器用于記錄當(dāng)前數(shù)據(jù)請求在數(shù)據(jù)塊中的位置信息;數(shù)據(jù)請求地址緩存用于記錄當(dāng)前數(shù)據(jù)請求的物理地址。
[0008]所述功能執(zhí)行模塊中的鏈?zhǔn)綌?shù)據(jù)傳輸模式包括行I個節(jié)點首地址緩存、7個節(jié)點跳轉(zhuǎn)步長緩存、8個節(jié)點長度緩存、節(jié)點數(shù)緩存、節(jié)點計數(shù)器、數(shù)據(jù)索引號計數(shù)器、數(shù)據(jù)請求地址緩存;其中,I個節(jié)點首地址緩存、7個節(jié)點跳轉(zhuǎn)步長緩存、8個節(jié)點長度緩存、節(jié)點數(shù)緩存用于緩存從配置模塊接受的相關(guān)配置信息;節(jié)點計數(shù)器用于記錄當(dāng)前數(shù)據(jù)請求在數(shù)據(jù)鏈的第N個節(jié)點中;數(shù)據(jù)索引號計數(shù)器用于記錄當(dāng)前數(shù)據(jù)請求位于當(dāng)前節(jié)點的第N個;數(shù)據(jù)請求地址緩存用于記錄當(dāng)前數(shù)據(jù)請求的物理地址。
[0009]所述多模式動態(tài)可配高速訪存接口以二維數(shù)據(jù)傳輸模式工作時,主要流程為:(I)從配置信息中獲取二維數(shù)據(jù)塊的數(shù)據(jù)行地址、數(shù)據(jù)行長度、跳轉(zhuǎn)長度、數(shù)據(jù)行條目數(shù),將數(shù)據(jù)索引號計數(shù)器和數(shù)據(jù)行計數(shù)器設(shè)置為0,(2)開始通過外部存儲器接口向片外同步動態(tài)存儲器發(fā)送數(shù)據(jù)請求,使用數(shù)據(jù)索引號計數(shù)器記錄當(dāng)前行已發(fā)起的數(shù)據(jù)請求個數(shù),(3)當(dāng)數(shù)據(jù)索引號計數(shù)器與數(shù)據(jù)行長度相等時,數(shù)據(jù)行計數(shù)器加I,數(shù)據(jù)請求地址緩存加上跳轉(zhuǎn)長度,(4)當(dāng)數(shù)據(jù)行計數(shù)器與行數(shù)相等時,結(jié)束數(shù)據(jù)請求的發(fā)送,(5)當(dāng)片外同步動態(tài)存儲器發(fā)來請求緩存滿信號時,暫停數(shù)據(jù)請求的發(fā)送。
[0010]所述多模式動態(tài)可配高速訪存接口以鏈?zhǔn)綌?shù)據(jù)傳輸模式工作時,主要流程為:(I)從配置信息中獲取N-1個節(jié)點跳轉(zhuǎn)步長、I個節(jié)點首地址、N個數(shù)據(jù)鏈的節(jié)點長度、節(jié)點數(shù)N (N不大于8),將數(shù)據(jù)計數(shù)器和節(jié)點計數(shù)器設(shè)置為0,(2)開始通過外部存儲器接口向片外同步動態(tài)存儲器發(fā)送數(shù)據(jù)請求,使用數(shù)據(jù)計數(shù)器記錄當(dāng)前節(jié)點已發(fā)起的數(shù)據(jù)請求個數(shù),(3)當(dāng)數(shù)據(jù)索引號計數(shù)器與當(dāng)前節(jié)點長度相等時,節(jié)點計數(shù)器加1,數(shù)據(jù)請求地址緩存加上當(dāng)前節(jié)點跳轉(zhuǎn)長度,(4)當(dāng)節(jié)點計數(shù)器與節(jié)點數(shù)相等時,結(jié)束數(shù)據(jù)請求的發(fā)送,(5)當(dāng)片外同步動態(tài)存儲器發(fā)來請求緩存滿信號時,暫停數(shù)據(jù)請求的發(fā)送。
【附圖說明】
[0011]附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為多模式動態(tài)可配高速訪存接口結(jié)構(gòu)框圖圖2為二維數(shù)據(jù)傳輸模塊結(jié)構(gòu)框圖;
圖3為鏈?zhǔn)綌?shù)據(jù)傳輸模塊結(jié)構(gòu)框圖;
圖4為二維數(shù)據(jù)傳輸模塊執(zhí)行流程圖; 圖5為鏈?zhǔn)綌?shù)據(jù)傳輸模塊執(zhí)行流程圖。
【具體實施方式】
[0012]下面結(jié)合附圖對本發(fā)明作更進(jìn)一步說明。
[0013]如圖1所示,本發(fā)明應(yīng)用于由系統(tǒng)總線、可重構(gòu)處理器、多模式動態(tài)可配高速訪存接口、片外同步動態(tài)存儲器構(gòu)成的可重構(gòu)外存訪問系統(tǒng)。其中系統(tǒng)總線和可重構(gòu)處理器向訪存接口發(fā)起數(shù)據(jù)請求,訪存接口對數(shù)據(jù)請求完成處理后,向片外同步動態(tài)存儲器發(fā)起外存訪問請求,完成數(shù)據(jù)的訪問。多模式動態(tài)可配高速訪存接口包括配置接口、可重構(gòu)系統(tǒng)數(shù)據(jù)接口、總線接口、配置控制器、功能執(zhí)行模塊、外部存儲器接口。其中,配置控制器能夠解析從可重構(gòu)處理單元發(fā)送來的配置信息;可重構(gòu)系統(tǒng)數(shù)據(jù)接口用于多模式動態(tài)可配高速訪存接口與可重構(gòu)陣列的數(shù)據(jù)交互;總線接口完成系統(tǒng)總線上的訪存請求;功能執(zhí)行模塊根據(jù)配置信息完成數(shù)據(jù)通路的重構(gòu),包括單數(shù)據(jù)傳輸模塊、猝發(fā)數(shù)據(jù)傳輸模塊、二維數(shù)據(jù)傳輸模塊、鏈?zhǔn)綌?shù)據(jù)傳輸模塊,相應(yīng)的這些模塊分別支持單數(shù)據(jù)傳輸模式、猝發(fā)數(shù)據(jù)傳輸模式、二維數(shù)據(jù)傳輸模式、鏈?zhǔn)綌?shù)據(jù)傳輸模式。單數(shù)據(jù)傳輸模塊和猝發(fā)數(shù)據(jù)傳輸模式與傳統(tǒng)AMBA2.0 AHB傳輸協(xié)議中的定義相同。外部存儲器接口與片外同步動態(tài)存儲器進(jìn)行交互,完成數(shù)據(jù)的傳遞。
[0014]如圖2所示,功能執(zhí)行模塊中的二維數(shù)據(jù)傳輸模塊,包括數(shù)據(jù)行地址緩存、數(shù)據(jù)行長緩存、跳轉(zhuǎn)長度緩存、數(shù)據(jù)行條目數(shù)緩存、數(shù)據(jù)行計數(shù)器、數(shù)據(jù)索引號計數(shù)器、數(shù)據(jù)請求地址緩存。其中,數(shù)據(jù)行地址緩存、數(shù)據(jù)行長度緩存、跳轉(zhuǎn)長度緩存、數(shù)據(jù)行條目數(shù)緩存用于緩存從配置模塊接受的相關(guān)配置信息;數(shù)據(jù)行計數(shù)器用于記錄當(dāng)前數(shù)據(jù)請求在數(shù)據(jù)塊中的行信息;數(shù)據(jù)索引號計數(shù)器用于記錄當(dāng)前數(shù)據(jù)請求在數(shù)據(jù)塊中的位置信息;數(shù)據(jù)請求地址緩存用于