国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的電路的制作方法

      文檔序號:6591994閱讀:170來源:國知局
      專利名稱:基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的電路的制作方法
      技術(shù)領(lǐng)域
      本實用新型涉及嵌入式片上存儲器領(lǐng)域,特別涉及一種基于虛存機制的對指令片上異構(gòu)存儲資源(指令Cache和指令SPM)的動態(tài)分配的電路。
      背景技術(shù)
      隨著微電子技術(shù)的發(fā)展,以S0C(SyStem-0n-a-Chip)為基礎(chǔ)的嵌入式計算平臺日 益成熟。然而,由于處理器速度與外部存儲器速度的差距不斷增大,SoC存儲子系統(tǒng)已經(jīng)成 為系統(tǒng)性能、功耗和成本的瓶頸。因此如何優(yōu)化存儲子系統(tǒng)的架構(gòu)及管理策略,一直是嵌入 式系統(tǒng)研究的熱點。作為傳統(tǒng)片上存儲器,Cache由硬件管理,大部分情況下對軟件透明,能自動裝載 頻繁訪問的指令和數(shù)據(jù)到片上存儲器中。然而,Cache的高功耗、占用芯片面積大、程序執(zhí) 行時間不可預知等缺點一直限制其在嵌入式系統(tǒng)中的廣泛運用。尤其是Cache的組關(guān)聯(lián)特 性,可能導致被映射到同一 Cache行的不同程序內(nèi)容,反復相互替換(即Cache抖動),從 而增加了額外訪問主存SDRAM的成本,最終增大了系統(tǒng)性能與能耗開銷。與Cache相比, SPM(Scratch-pad Memory,便簽存儲器)是一種高速片上存儲器,通常由SRAM(靜態(tài)隨機存 儲器)實現(xiàn),是現(xiàn)代嵌入式系統(tǒng)框架設(shè)計中一個非常重要的考慮因素。SPM處于處理器可直 接訪問的地址空間之內(nèi),由于傳統(tǒng)的SPM控制器不包含任何輔助管理數(shù)據(jù)的邏輯電路,SPM 中的所有內(nèi)容必須經(jīng)由軟件顯式的管理,相對于對程序員透明的Cache,增加了程序管理的 復雜性。由于沒有管理邏輯電路引入的額外開銷,相較于傳統(tǒng)Cache,SPM硬件實現(xiàn)更為簡 單、單次訪問功耗更低、占用芯片面積更小而且訪問時間可預知。綜上,Cache和SPM各具 優(yōu)勢且存在互補性,因此對Cache和SPM共存的異構(gòu)片上存儲器資源進行有效管理,可以充 分利用兩者優(yōu)勢,從而最大限度降低系統(tǒng)能耗、提升系統(tǒng)性能。一些針對嵌入式片上存儲器的研究的主要分析單獨配置Cache或單獨配置SPM的 架構(gòu),不能很好的利用兩者互補的特性。另一些研究則直接將僅針對SPM的優(yōu)化算法或僅 針對Cache的優(yōu)化算法運用到兩者共存的架構(gòu)中,這將很可能導致在一種存儲器上取得的 優(yōu)化收益可能被另一種存儲器的開銷所抵消,甚至引入更多額外的系統(tǒng)性能與能耗開銷。 例如針對SPM的優(yōu)化算法將某段主存的內(nèi)容搬運到SPM,從而得到了性能與能耗的收益。然 而搬運代碼本身可能對指令Cache造成污染、引起Cache優(yōu)化算法的失效,從而造成額外的 Cache缺失,甚至引起Cache抖動,最終抵消SPM的優(yōu)化收益。Cache缺失時需要訪問主存并將新的內(nèi)容換入Cache存儲器中,引起的性能和能 耗開銷較大。由于Cache的組關(guān)聯(lián)特性,被映射到同一 Cache行的內(nèi)容可能反復相互替換, 帶來大量的訪存操作,最終導致系統(tǒng)性能急劇降低,系統(tǒng)能耗急劇增加,這就是Cache沖 突。通過增大Cache容量、增大組關(guān)聯(lián)數(shù)等方法,可以減小Cache沖突,但是這樣又會引入 新的芯片面積并增加單次Cache讀寫時間及能耗。目前有研究指出Cache沖突是造成系統(tǒng) 性能和能耗瓶頸的重要原因,因此他們將容易引起Cache沖突的程序段放入SPM,以此得到 性能和能耗的收益。將容易引起Cache沖突的頁選入SPM中,不僅可以降低Cache沖突,還能由單次訪問SPM與Cache的能耗差獲得更多收益。但是這些研究都采用靜態(tài)方式優(yōu)化, 即在程序執(zhí)行過程中SPM中的內(nèi)容不發(fā)生改變,沒有充分利用Cache沖突在在時間維上的 局部性,降低了 SPM的利用率。并且,這些設(shè)計對SPM的管理依賴于對源程序跳轉(zhuǎn)指令的修 改,是一種侵入式的優(yōu)化。由于對SPM內(nèi)容的更改需要軟件顯示的進行,因此一般對SPM進行動態(tài)管理的研 究都是通過“打樁”的形式,即在需要優(yōu)化的程序核心循環(huán)前后,手工插入代碼搬運指令,從 而完成對程序內(nèi)容的換入換出。在程序映像中插入新的指令,需要依賴對源碼的分析,并且 新的指令很可能引起共存架構(gòu)中Cache行為的變化,最終導致更多Cache沖突。目前針對Cache和SPM共存架構(gòu)中指令部分的研究,一般需要對程序進行侵入式 的分析,需要在用戶程序中插入、修改部分代碼,以實現(xiàn)在程序執(zhí)行過程中內(nèi)容的動態(tài)換入 換出。到目前為止,還未有相關(guān)研究涉及基于虛存管理、利用時隙方法、不需要修改程序源 碼地將程序的指令內(nèi)容動態(tài)映射到片上SPM的電路。
      發(fā)明內(nèi)容本實用新型的目的在于克服現(xiàn)有片上存儲子系統(tǒng)的不足,基于虛存機制的指令片 上異構(gòu)存儲資源動態(tài)分配的電路,采用容量較小的指令SPM在程序執(zhí)行過程中緩沖程序指 令執(zhí)行熱點,同時減少指令Cache缺失、降低由沖突帶來的額外訪存,最終提高微處理器運 行的速度并降低系統(tǒng)能耗。為實現(xiàn)上述目的,本實用新型提供一種基于虛存機制的指令片上異構(gòu)存儲資源 動態(tài)分配的電路,其特征在于設(shè)有處理器內(nèi)核、存儲管理單元MMU、指令部分路由器、指令 Cache、指令SPM存儲器及指令SPM控制器、直接內(nèi)存訪問控制器DMA、總線、中斷控制器、時 鐘模塊、外部存儲器接口以及片外主存SDRAM;處理器內(nèi)核發(fā)出對指令訪問的虛擬地址,經(jīng) 過內(nèi)存管理單元MMU轉(zhuǎn)換為物理地址后,根據(jù)其旁路轉(zhuǎn)換緩沖TLB的標志位狀態(tài),進過指令 部分路由器,將物理地址發(fā)送到指令Cache及指令SPM控制器兩者之一;如果指令SPM控制 器接收物理地址,則對物理地址譯碼后訪問指令SPM存儲器;時鐘模塊在時鐘中斷時發(fā)出 中斷信號,由中斷控制器響應,在中斷處理程序中調(diào)用指令SPM控制器;指令SPM控制器包 含一塊SPM區(qū)域寄存器,指令SPM控制器根據(jù)SPM區(qū)域寄存器的信息,配置DMA控制器的源 地址、目的地址以及搬運長度,DMA控制器經(jīng)過高速AHB總線和外部存儲器接口,根據(jù)片外 主存SDRAM中的程序內(nèi)容對指令SPM存儲器中的內(nèi)容進行更改,指令SPM控制器同時配置 時鐘模塊的長度信息并使能時鐘模塊。所述存儲管理單元采用兩級旁路轉(zhuǎn)換緩沖TLB的架構(gòu),其中一級為指令、數(shù)據(jù)分 離的TLB,二級為指令、數(shù)據(jù)統(tǒng)一的TLB;內(nèi)核發(fā)出對指令訪問的地址時,首先發(fā)送到一級指 令TLB,如果一級TLB命中則將轉(zhuǎn)換后的物理地址發(fā)送到指令Cache或指令SPM控制器;如 果一級TLB不命中,地址發(fā)送到二級統(tǒng)一 TLB,如果二級TLB命中則將轉(zhuǎn)換后的物理地址發(fā) 送到指令Cache或指令SPM控制器;如果二級TLB不命中,需要訪問外部存儲器中的頁表, 進行虛擬地址_物理地址轉(zhuǎn)換。所述每塊TLB由一塊Tag存儲陣列、兩塊SRAM存儲陣列、地址譯碼電路、Hit邏 輯、讀寫控制邏輯和輸入輸出驅(qū)動電路構(gòu)成Tag部分為24位,處理器內(nèi)核發(fā)出虛擬地址經(jīng) 過地址譯碼邏輯之后,高24位將和Tag存儲器中保存的虛擬頁號進行比較,Hit邏輯用于判斷是否命中,如果命中則根據(jù)兩塊SRAM的內(nèi)容進行地址轉(zhuǎn)換,如果不命中需要訪問下一 級TLB或者主存;第一塊SRAM為20位,用于標志位的存放,包括本實用新型利用保留位新 擴展出的S位,當?shù)刂吠瓿赊D(zhuǎn)換后,會根據(jù)S位的數(shù)值將物理地址發(fā)送到指令Cache或指令 SPM控制器;第二塊SRAM位24位,用于存放物理地址的頁號。所述指令SPM控制器還根據(jù)時鐘模塊中對于時隙的記錄,將配置信息加載到SPM 區(qū)域寄存器中,SPM區(qū)域寄存器是一個32位的寄存器,第0位為使能位,第1位至第3位為 標志頁大小的位,其具體對應的基地址由高位地址給出,根據(jù)其頁大小占用位數(shù)不等;在時 鐘中斷時,指令SPM控制器根據(jù)SPM區(qū)域寄存器的內(nèi)容配置DMA控制器的源地址、目的地址 以及搬運長度,對指令SPM存儲器中的內(nèi)容進行更改。所述時鐘模塊設(shè)有一個專用于記錄時隙個數(shù)的寄存器,在每個時鐘中斷時自動加 1,用于標明當前時隙個數(shù);由SPM控制器根據(jù)當前時隙配置時鐘模塊的定時長度,并設(shè)置 時鐘模塊為One-shot模式,當數(shù)值自減為0時,發(fā)出時鐘中斷,由中斷控制器接管。上述電路中涉及到TLB的結(jié)構(gòu)的修改。傳統(tǒng)的MMU的頁最小僅支持IKByte/虛擬 頁的管理,而基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的管理中,SPM的最小管理粒 度即為MMU的頁大小。如果使用較大的頁進行管理,對于較為分散的程序指令部分,不能很 好利用SPM的面積。因此本實用新型將對ARMv5TEJ標準PTEs架構(gòu)中二級頁表項第6位到 第9位的保留位作了擴展,并修改TLB的Tag(標簽)存儲器和比較電路,實現(xiàn)對256Byte/ 虛擬頁和512Byte/虛擬頁的支持,這樣在SPM存儲器的動態(tài)管理時可以充分利用片上存儲 器的面積。TLB主要包括以下幾個部分一塊Tag存儲陣列、兩塊SRAM存儲陣列、地址譯碼 電路、Hit (命中)邏輯、讀寫控制邏輯和輸入輸出驅(qū)動電路。一個虛擬地址通常由頁號和 偏移地址組成,工作時,處理器內(nèi)核送出32位的虛擬地址,將虛擬地址的高位頁號與Tag中 的虛擬頁號進行對比。由于增加了對更細粒度頁的支持,頁號也相應變長,本實用新型最大 支持24位的Tag比較,即支持最小的頁為256Byte/虛擬頁。512Byte/虛擬頁時,Tag僅需 要用到前23位;TLB同時還可支持22位、20位、16位或12位的對比,分別對應微頁、小頁、 大頁和段的轉(zhuǎn)換方式。上述電路中也涉及到TLB狀態(tài)位的修改。TLB的狀態(tài)位一般是存儲在SRAM中的訪 問控制信息,例如頁表的訪問權(quán)限、地址轉(zhuǎn)換方式和頁表所屬的域的等。為了表明一個頁是 在指令SPM中還是指令Cache中,本實用新型利用TLB預留的狀態(tài)位,在TLB中增加S位以 實現(xiàn)必需的訪問控制。使用特殊的S位可以使MMU在進行地址翻譯的同時確定出實際應該 訪問的物理地址,并將該地址發(fā)給需要訪問的片上存儲器(指令Cache或者指令SPM存儲 器)。如果不使用S位,地址經(jīng)過MMU的虛擬地址-物理地址的轉(zhuǎn)換之后,需要同時將地址 發(fā)向指令Cache和指令SPM控制器,指令Cache的比較電路和指令SPM控制器的尋址邏輯 同時開始工作。由于指令僅可能在一種存儲器中,兩種尋址邏輯都要消耗一定的能耗。設(shè) 計S位,可以在地址轉(zhuǎn)換的時候判斷將地址發(fā)送到指令Cache和指令SPM控制器兩者之一, 以節(jié)省一定功耗。上述電路中還涉及到TLB架構(gòu)的修改。使用更細粒度的微頁,每個頁表項描述的地址空間就會相應縮短,此時若不重新設(shè)計TLB,則可能由于頻繁的TLB缺失帶來大量的主 存訪問,從而降低性能和增大能耗因此。因此,本實用新型在修改MMU頁的同時,對TLB的 入口數(shù)、關(guān)聯(lián)度和層次進行分析,減少由微頁管理帶來的系統(tǒng)能耗成本。引入兩級TLB可以達到性能和能耗的折衷,因此本實用新型設(shè)計了指令、數(shù)據(jù)分離的一級TLB和統(tǒng)一的二級 TLB。通過優(yōu)化選擇,本實用新型最終選擇使用8個入口的數(shù)據(jù)uTLB、16個入口的指令uTLB 以及64個入口、32路組關(guān)聯(lián)的統(tǒng)一 TLB (2級TLB)。在這種配置下,可以將引入微頁代價降 到最小。上述電路中需要設(shè)計新的指令SPM控制器。指令SPM控制器在程序執(zhí)行過程中動 態(tài)高效的將程序指令部分換入換出SPM,利用片上AHB高速總線的Burst特性,避免對指令 Cache以及數(shù)據(jù)Cache的二次污染。指令SPM控制器中增加了一組專用于記錄寫回地址以 及虛存頁大小的SPM區(qū)域寄存器,包括1.該組寄存器將負責在某虛存頁重映射在SPM時 記錄其對應的主存地址,此地址將在該虛存頁被換出便簽存儲器時作為專用DMA的目的地 址;2.該組寄存器中負責記錄虛存頁大小的位將用于配置專用DMA搬運長度;3.該組寄存 器中的使能位負責控制該頁內(nèi)容是否可用。與現(xiàn)有技術(shù)相比,本實用新型具有以下優(yōu)點及顯著效果 (1)基于虛存管理的思想,可以解決搬運指令段造成地址空間不連續(xù)、必須修改源 碼等問題。虛存機制可以提供虛擬連續(xù)、物理離散的地址空間,將部分指令執(zhí)行的熱點或者 容易引起指令Cache沖突的程序段搬運到指令SPM存儲器中,通過對頁表項進行修改,可以 形成虛擬地址連續(xù)的空間。這樣,可以不需要在用戶程序中顯示的增加SPM的搬運代碼,僅 在中斷處理程序中完成對程序的優(yōu)化,實現(xiàn)對程序非侵入式的分析和優(yōu)化。(2)本實用新型充分利用程序執(zhí)行的時間局部性特點,利用時鐘模塊將程序劃分 為不同時隙,繼而將每個時隙中頻繁訪問以及容易導致指令Cache沖突的頁,利用虛存管 理的機制重定位到SPM,從而獲得相較于靜態(tài)優(yōu)化更為可觀的性能和能耗收益,最終動態(tài)的 利用了有限的指令SPM存儲器資源,降低程序的能耗,提升系統(tǒng)性能。

      圖1為基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的電路;圖2為支持512Byte/虛擬頁、256Byte/虛擬頁的TLB的修改;圖3存儲管理電路的設(shè)計圖4為指令SPM控制器的寄存器的設(shè)計;圖5為利用時隙分析方法對指令片上異構(gòu)存儲資源的系統(tǒng)流程圖;圖6為迭代求解示意圖;圖7為采用本實用新型優(yōu)化方法對系統(tǒng)能耗進行優(yōu)化的試驗結(jié)果具體實施方式
      以下結(jié)合附圖與具體實施方式
      對本實用新型作進一步詳細描述。圖1所示為系統(tǒng)框圖,包括處理器內(nèi)核、存儲管理單元MMU、指令部分路由器、指令 Cache、指令SPM存儲器及指令SPM控制器、直接內(nèi)存訪問控制器DMA、總線(包括高速AHB 總線)、中斷控制器、時鐘模塊、外部存儲器接口以及片外主存SDRAM。在原有架構(gòu)上需要進 行增加的部分包括TLB中S位、指令SPM控制器,需要修改的地方包括內(nèi)存管理單元MMU、時 鐘模塊等。處理器內(nèi)核發(fā)出對指令訪問的虛擬地址,經(jīng)過內(nèi)存管理單元(MMU)轉(zhuǎn)換為物理地址后,根據(jù)其旁路轉(zhuǎn)換緩沖TLB的標志位狀態(tài),進過指令部分路由器,將物理地址發(fā)送到指 令Cache及指令SPM控制器兩者之一;如果指令SPM控制器接收物理地址,則對物理地址 譯碼后訪問指令SPM存儲器;時鐘模塊在時鐘中斷時發(fā)出中斷信號,由中斷控制器響應,在 中斷處理程序中調(diào)用指令SPM控制器;指令SPM控制器包含一塊SPM區(qū)域寄存器,指令SPM 控制器根據(jù)SPM區(qū)域寄存器的信息,配置DMA控制器的源地址、目的地址以及搬運長度,DMA 控制器經(jīng)過高速AHB總線和外部存儲器接口,根據(jù)片外主存SDRAM中的程序內(nèi)容對指令SPM 存儲器中的內(nèi)容進行更改,指令SPM控制器同時配置時鐘模塊的長度信息并使能時鐘模 塊。圖2所示為TLB架構(gòu)的修改,以支持512Byte/虛擬頁和256Byte/虛擬頁和S狀 態(tài)位。傳統(tǒng)的MMU的頁最小僅支持IKByte/虛擬頁的管理,而基于虛存機制的指令片上異 構(gòu)存儲資源動態(tài)分配的管理中,SPM的最小管理粒度即為MMU的頁大小。如果使用較大的 頁進行管理,對于較為分散的程序指令部分,不能很好利用SPM的面積。因此本實用新型將 對ARMv5TEJ標準PTEs架構(gòu)中二級頁表項第6位到第9位的保留位作了擴展,并修改TLB 的Tag存儲器和比較電路,實現(xiàn)對256Byte/虛擬頁和512Byte/虛擬頁的支持。需要在調(diào) 整原有的地址轉(zhuǎn)換電路,修改TLB的結(jié)構(gòu),以增加對512Byte/虛擬頁和256Byte/虛擬頁的 支持,這樣在指令SPM存儲器的動態(tài)管理時可以充分利用片上存儲器的面積。TLB主要包括 以下幾個部分一塊Tag存儲陣列、兩塊SRAM存儲陣列、地址譯碼電路、Hit邏輯、讀寫控制 邏輯和輸入輸出驅(qū)動電路。一個虛擬地址通常由頁號和 偏移地址組成,工作時,處理器內(nèi)核 送出32位的虛擬地址,將虛擬地址的高位頁號與Tag中的虛擬頁號進行對比。由于增加了 對更細粒度頁的支持,頁號也相應變長,本實用新型最大支持24位的Tag比較,即支持最小 的頁為256Byte/虛擬頁。512Byte/虛擬頁時,Tag僅需要用到前23位;TLB同時還可支持 22位、20位、16位或12位的對比,分別對應微頁、小頁、大頁和段的轉(zhuǎn)換方式。TLB的狀態(tài)位一般是存儲在SRAM中的訪問控制信息,例如頁表的訪問權(quán)限、地址 轉(zhuǎn)換方式和頁表所屬的域的等。為了表明一個頁是在指令SPM存儲器中還是指令Cache中, 本實用新型利用TLB預留的狀態(tài)位,在TLB中增加S位以實現(xiàn)必需的訪問控制。使用特殊 的S位可以使MMU在進行地址翻譯的同時確定出實際應該訪問的物理地址,并將該地址發(fā) 給需要訪問的片上存儲器(指令Cache或者指令SPM存儲器)。在時鐘中斷處理之后,繼續(xù) 執(zhí)行基準測試程序時就能根據(jù)SPM位的置位情況,在物理地址-虛擬地址翻譯的同時決定 后續(xù)訪問的片上存儲器類型。圖3所示為存儲管理電路的設(shè)計。本實用新型采用2級TLB的設(shè)計。這是因為使 用更細粒度的微頁,每個頁表項描述的地址空間就會相應縮短,此時若不重新設(shè)計TLB,則 可能由于頻繁的TLB缺失帶來大量的主存訪問,從而降低性能和增大能耗因此。因此,本實 用新型在修改MMU頁的同時,對TLB的入口數(shù)、關(guān)聯(lián)度和層次進行分析,減少由微頁管理帶 來的系統(tǒng)能耗成本。引入兩級TLB可以達到性能和能耗的折衷,因此本實用新型設(shè)計了指 令、數(shù)據(jù)分離的一級TLB和統(tǒng)一的二級TLB。本實用新型僅針對程序的指令部分的電路進行 設(shè)計,因此僅有指令部分包含SPM存儲器和SPM控制器。處理器內(nèi)核需要訪問程序指令部 分時,首先將虛擬地址發(fā)送到MMU。一級TLB的指令部分開始工作,如果頁表項在TLB中, 則一級TLB命中,地址根據(jù)TLB中S標志位發(fā)送到SPM或Cache中;如果一級TLB不命中, 則訪問二級統(tǒng)一 TLB ;二級TLB不命中,則需要根據(jù)主存中的頁表,進行虛擬地址-物理地址轉(zhuǎn)換。通過優(yōu)化選擇,本實用新型最終選擇使用8個入口的數(shù)據(jù)uTLB、16個入口的指令 uTLB以及64個入口、32路組關(guān)聯(lián)的統(tǒng)一 TLB (2級TLB)。在這種配置下,可以將引入微頁代 價降到最小。 圖4為指令SPM控制器的寄存器設(shè)計。傳統(tǒng)的SPM控制器設(shè)計較為簡單,無法實 現(xiàn)動態(tài)地址映射機制所要求的更為復雜的指令SPM動態(tài)分配策略。因此本實用新型在傳統(tǒng) SPM控制器的基礎(chǔ)上通過增加一組用于記錄寫回地址的寄存器,即SPM區(qū)域寄存器。將傳統(tǒng) 的、僅能實現(xiàn)尋址功能的SPM控制器擴展為支持不同粒度SPM管理,并能通過主動配置專用 DMA實現(xiàn)其內(nèi)容動態(tài)換入換出的先進SPM控制器。SPM區(qū)域寄存器的第0位為EN位,該位 在系統(tǒng)初始化時會被置0,當對SPM某頁第一次做DMA換入操作時,將該位置1 ;區(qū)域寄存器 的第1位至第3位來確定的頁大小,本研究可以針對不同大小的MMU頁做設(shè)計空間探索,因 此需要對頁大小做說明。不同指令頁所對應的基地址由高位地址給出,根據(jù)其頁大小占用 位數(shù)不等,例如128Byte/虛擬頁的頁基地址為第7位到第31位,4096Byte/虛擬頁的頁基 地址為第12位到第31位。其余位為保留位。指令SPM控制器根據(jù)SPM區(qū)域寄存器中的內(nèi)容完成對DMA的配置。相較于傳統(tǒng)的、 通過LDR/STR指令執(zhí)行SPM內(nèi)容的換入換出,DMA在很大程度上利用了主存SDRAM與片上 高速總線AHB的BURST特性,從而降低了傳輸?shù)某杀九c中斷延時。指令SPM控制器通過對 DMA源地址、目的地址和搬運長度的配置,使能DMA。之后DMA控制器將申請總線,完成片上 指令SPM存儲器內(nèi)容的動態(tài)更新。圖5所示為利用時隙分析方法對指令片上異構(gòu)存儲資源進行動態(tài)管理的方法的 系統(tǒng)流程圖。在程序分析階段,第一步通過收集到的指令Cache的trace/跟蹤信息,建立指令 Cache時隙訪問圖?;谥噶頒ache時隙訪問圖可以實現(xiàn)對程序非侵入式的分析。第二步, 進行數(shù)學抽象我們通過對指令Cache訪問圖進行數(shù)學建模以描述各指令頁之間的權(quán)重分 布,繼而通過權(quán)重分布的變化定量描述各備選節(jié)點的狀態(tài)對能耗函數(shù)的影響,最終由整數(shù) 非線性規(guī)劃求得整體能耗收益最優(yōu)時每個節(jié)點的狀態(tài)。第三步,可以得到在每個時隙中,最 有優(yōu)化價值的頁號,這些頁號在程序執(zhí)行的過程中會被動態(tài)的換入到指令SPM存儲器中。 第四步,通過迭代對時隙長度進行調(diào)整,如圖6所示。由于每個時隙內(nèi)由于消除了大量指令 Cache缺失,從而獲得了能耗和性能兩方面的收益,而性能上的收益會直接導致本時隙程序 執(zhí)行時間縮短,從而導致下一個時隙開始的時間點偏移,因此需要通過迭代求解的方法,統(tǒng) 計出每個時隙在優(yōu)化前后時間的差距并將其校正。在完成上述步驟后,可以得到調(diào)整后的 每個時隙的具體長度以及每個時隙內(nèi)需要搬入指令SPM存儲器的頁內(nèi)容。在程序執(zhí)行階段,當時鐘模塊到時時,處理器內(nèi)核將接受到中斷控制器發(fā)出的中 斷請求,然后系統(tǒng)進入IRQ模式。在異常模式下,可以完成對頁表項的修改及指令SPM存儲 器中內(nèi)容的換入換出,以適應下一個時隙的程序訪存模態(tài)。進入時鐘中斷的具體過程為第 一步,在進入該模式并保存相關(guān)的環(huán)境變量后,利用時鐘模塊的時隙寄存器得到當前的時 隙數(shù),從而得到該時隙所需要的配置信息,包括需要動態(tài)換入指令頁的頁號及調(diào)整后的時 隙長度。第二步,指令SPM控制器得到當前時隙指令SPM存儲器中應該緩沖的主存地址空 間信息和相關(guān)標志位。第三步,指令SPM控制器將加載本時隙需要寫入指令SPM存儲器頁 的主存地址到對應的映射區(qū)間寄存器,并開始頁表項的更新操作。第四步,完成頁表項更新后,指令SPM控制器將負責加載映射區(qū)間寄存器中主存地址到DMA的源地址寄存器,并加載 指令SPM存儲器對應頁的物理地址到DMA的目的地址寄存器,然后開始DMA的換入操作。最 后,中斷處理程序?qū)r鐘模塊的時隙寄存器加1,為下一個時隙做準備,并恢復中斷前的環(huán) 境變量,退出中斷處理程序,處理器內(nèi)核開始繼續(xù)執(zhí)行時鐘中斷以前的基準測試程序。 圖7所示為使用本實用新型提出的基于虛存機制的指令片上異構(gòu)存儲資源動態(tài) 分配的電路所得到的能耗收益。對比試驗采用實際芯片中常見的16K Byte 4路組關(guān)聯(lián)的指 令Cache,優(yōu)化試驗采用4K Byte直接關(guān)聯(lián)的指令Cache及8K Byte的指令SPM存儲器,利 用時隙分析方法對指令異構(gòu)存儲資源進行動態(tài)管理。根據(jù)Cacti3. 2對片上存儲器面積的 計算,優(yōu)化試驗所用的4K直接關(guān)聯(lián)Cache與4K的SPM的面積之和,與對比試驗8K Byte 4 路組關(guān)聯(lián)Cache相比,芯片面積降低19. 0%,系統(tǒng)能耗平均降低12.7%,最高降低22. 3%, 同時,系統(tǒng)執(zhí)行時間平均降低15. 9%,最高降低25. 6%。
      權(quán)利要求一種基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的電路,其特征在于設(shè)有處理器內(nèi)核、存儲管理單元MMU、指令部分路由器、指令Cache、指令SPM存儲器及指令SPM控制器、直接內(nèi)存訪問控制器DMA、總線、中斷控制器、時鐘模塊、外部存儲器接口以及片外主存SDRAM;處理器內(nèi)核發(fā)出對指令訪問的虛擬地址,經(jīng)過內(nèi)存管理單元MMU轉(zhuǎn)換為物理地址后,根據(jù)其旁路轉(zhuǎn)換緩沖TLB的標志位狀態(tài),進過指令部分路由器,將物理地址發(fā)送到指令Cache及指令SPM控制器兩者之一;如果指令SPM控制器接收物理地址,則對物理地址譯碼后訪問指令SPM存儲器;時鐘模塊在時鐘中斷時發(fā)出中斷信號,由中斷控制器響應,在中斷處理程序中調(diào)用指令SPM控制器;指令SPM控制器包含一塊SPM區(qū)域寄存器,指令SPM控制器根據(jù)SPM區(qū)域寄存器的信息,配置DMA控制器的源地址、目的地址以及搬運長度,DMA控制器經(jīng)過高速AHB總線和外部存儲器接口,根據(jù)片外主存SDRAM中的程序內(nèi)容對指令SPM存儲器中的內(nèi)容進行更改,指令SPM控制器同時配置時鐘模塊的長度信息并使能時鐘模塊。
      2.根據(jù)權(quán)利要求1所述的基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的電路,其 特征在于存儲管理單元采用兩級旁路轉(zhuǎn)換緩沖TLB的架構(gòu),其中一級為指令、數(shù)據(jù)分離 的TLB,二級為指令、數(shù)據(jù)統(tǒng)一的TLB;內(nèi)核發(fā)出對指令訪問的地址時,首先發(fā)送到一級指令 TLB,如果一級TLB命中則將轉(zhuǎn)換后的物理地址發(fā)送到指令Cache或指令SPM控制器;如果 一級TLB不命中,地址發(fā)送到二級統(tǒng)一 TLB,如果二級TLB命中則將轉(zhuǎn)換后的物理地址發(fā)送 到指令Cache或指令SPM控制器;如果二級TLB不命中,需要訪問外部存儲器中的頁表,進 行虛擬地址_物理地址轉(zhuǎn)換。
      3.根據(jù)權(quán)利要求2所述的基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的電路,其 特征在于每塊TLB由一塊Tag存儲陣列、兩塊SRAM存儲陣列、地址譯碼電路、Hit邏輯、讀 寫控制邏輯和輸入輸出驅(qū)動電路構(gòu)成Tag部分為24位,處理器內(nèi)核發(fā)出虛擬地址經(jīng)過地 址譯碼邏輯之后,高24位將和Tag存儲器中保存的虛擬頁號進行比較,Hit邏輯用于判斷是 否命中,如果命中則根據(jù)兩塊SRAM的內(nèi)容進行地址轉(zhuǎn)換,如果不命中需要訪問下一級TLB 或者主存;第一塊SRAM為20位,用于標志位的存放,包括本實用新型利用保留位新擴展出 的S位,當?shù)刂吠瓿赊D(zhuǎn)換后,會根據(jù)S位的數(shù)值將物理地址發(fā)送到指令Cache或指令SPM控 制器;第二塊SRAM位24位,用于存放物理地址的頁號。
      4.根據(jù)權(quán)利要求1或2或3所述的基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的 電路,其特征在于指令SPM控制器還根據(jù)時鐘模塊中對于時隙的記錄,將配置信息加載到 SPM區(qū)域寄存器中,SPM區(qū)域寄存器是一個32位的寄存器,第0位為使能位,第1位至第3 位為標志頁大小的位,其具體對應的基地址由高位地址給出,根據(jù)其頁大小占用位數(shù)不等; 在時鐘中斷時,指令SPM控制器根據(jù)SPM區(qū)域寄存器的內(nèi)容配置DMA控制器的源地址、目的 地址以及搬運長度,對指令SPM存儲器中的內(nèi)容進行更改。
      5.根據(jù)權(quán)利要求1或2或3所述的基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的 電路,其特征在于時鐘模塊設(shè)有一個專用于記錄時隙個數(shù)的寄存器,在每個時鐘中斷時自 動加1,用于標明當前時隙個數(shù);由SPM控制器根據(jù)當前時隙配置時鐘模塊的定時長度,并 設(shè)置時鐘模塊為One-shot模式,當數(shù)值自減為0時,發(fā)出時鐘中斷,由中斷控制器接管。
      專利摘要一種基于虛存機制的指令片上異構(gòu)存儲資源動態(tài)分配的電路,處理器內(nèi)核發(fā)出對指令訪問的虛擬地址,經(jīng)過內(nèi)存管理單元(MMU)轉(zhuǎn)換為物理地址后,根據(jù)其旁路轉(zhuǎn)換緩沖TLB的標志位狀態(tài),進過指令部分路由器,將物理地址發(fā)送到指令Cache及指令SPM控制器兩者之一;如果指令SPM控制器接收物理地址,則對物理地址譯碼后訪問指令SPM存儲器;時鐘模塊在時鐘中斷時發(fā)出中斷信號,由中斷控制器響應,在中斷處理程序中使用指令SPM控制器;指令SPM控制器包含一塊SPM區(qū)域寄存器,指令SPM控制器根據(jù)SPM區(qū)域寄存器的信息,配置DMA控制器的源地址、目的地址以及搬運長度,DMA控制器經(jīng)過高速AHB總線和外部存儲器接口,根據(jù)片外主存SDRAM中的程序內(nèi)容對指令SPM存儲器中的內(nèi)容進行更改,指令SPM控制器同時配置時鐘模塊的長度信息并使能時鐘模塊。
      文檔編號G06F12/10GK201570016SQ200920282530
      公開日2010年9月1日 申請日期2009年12月25日 優(yōu)先權(quán)日2009年12月25日
      發(fā)明者凌明, 張陽, 李冰, 梅晨, 武建平, 王歡 申請人:東南大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1