A bank memory division method and device, including: periodic statistics of each application runtime memory access characteristics, according to each application access features will be applied according to the classification, various applications accounted for all the proportion of applications select main memory bank partitioning strategy accordingly, according to the bank memory partitioning strategy for each application of each type of distribution the corresponding number of bank. Compared with the prior art, the invention provides the main bank division of the technical scheme, according to the application of memory intensive degree and local dynamic adjustment of bank allocation strategy, so as to meet the demand for the number of Bank of each application, increase the parallel application of bank level, enhance the main memory access efficiency.
【技術實現步驟摘要】
一種主存bank劃分方法及裝置
本專利技術涉及現代微處理器主存控制器的設計領域,具體涉及一種主存bank劃分方法及裝置。
技術介紹
現代DRAM(DynamicRandomAccessMemory動態隨機存取存儲器)主存系統的組織結構中,主存系統通常包含一個或者多個通道channel,對不同channel的訪存請求能并行處理。一個channel包含一個或者多個rank,多個rank共享地址、數據和命令總線。一個rank又包含多個bank(如DDR3,每個rank通常包含8個bank)。每個bank又有一個獨立的行緩沖,用來緩存DRAM主存一行的數據。如果訪存請求命令中行緩沖中緩存的DRAM主存行,主存控制器只需要發起列訪問操作讀/寫數據;否則,發生行沖突,主存控制器要發起三個操作命令,分別為預充電操作(預充電打開的行)、行激活操作(激活新的一行)和列訪問操作來完成行沖突的訪存請求。開發主存的行局部性能可以大大提升主存訪問的效率,DRAM主存多bank的結構,使得對不同bank的訪存請求能夠并行執行(受共享地址/數據/命令總線的限制)。開發bank級別的并行性能隱藏訪存延時,提升主存訪問的性能,對于行局部性低的訪存密集型應用,增加bank級別的并行性能可以大幅提升訪存性能。存儲墻問題的普遍存在以及片上多核處理器系統(chipmultiprocessor,CMP)的廣泛普及使得主存成為多核系統的主要共享資源。主存性能逐漸成為制約系統性能的關鍵因素,也是計算機系統結構設計者關心的主要問題之一。CMP系統中多核共享主存系統,多個應用同時運行同時訪問主存,競爭有限的 ...
【技術保護點】
一種主存bank劃分方法,包括:周期性地統計各個應用運行時的訪存特征;根據各個應用的訪存特征將所述應用分類;根據各類應用占所有應用的比例選擇相應的主存bank劃分策略,根據所述主存bank劃分策略為每種類型的每個應用分配相應數量的bank。
【技術特征摘要】
1.一種主存bank劃分方法,包括:周期性地統計各個應用運行時的訪存特征;根據各個應用的訪存特征將所述應用分類;根據各類應用占所有應用的比例選擇相應的主存bank劃分策略,根據所述主存bank劃分策略為每種類型的每個應用分配相應數量的bank。2.如權利要求1所述的方法,其特征在于:所述應用運行時的訪存特征包括:訪存密集度和訪存序列的行局部性;所述訪存密集度指每個周期內該應用的訪存次數;所述行局部性指每個周期內該應用的行命中率;所述周期性地統計各個應用運行時的訪存特征包括:周期性地統計并更新每個應用的訪存次數和行命中率。3.如權利要求2所述的方法,其特征在于:所述周期性地統計并更新每個應用的訪存次數和行命中率,包括:對于每個應用,在每個中bank設置一個對應與所述應用的行地址寄存器記錄所述應用訪問所述bank的上一個訪存請求的行地址,然后用所述應用訪問所述bank的新訪存請求的行地址與記錄的行地址進行比較,如果兩個地址相同,則記為一個行命中交易,對一個周期內行命中交易的個數進行計數;同時為每個應用設置一個訪存次數計數器記錄所述應用在一個周期內的訪存次數;使用所述應用一個周期內行命中交易的個數除以所述應用的訪存次數得到所述應用一個周期內的行命中率。4.如權利要求2所述的方法,其特征在于:所述根據各個應用的訪存特征將所述應用分類,包括:設置訪存次數閾值,將一個周期內的訪存次數小于所述訪存次數閾值的應用分為計算密集型應用,將一個周期內的訪存次數大于或等于所述訪存次數閾值的應用分為訪存密集型應用;和/或,設置行命中率閾值,將一個周期內的行命中率小于所述行命中率閾值的應用分為行局部性低的應用,將一個周期內的行命中率大于或等于所述行命中率閾值的應用分為行局部性高的應用。5.如權利要求4所述的方法,其特征在于:所述根據各類應用占所有應用的比例選擇相應的主存bank劃分策略,根據所述主存bank劃分策略為每種類型的每個應用分配相應數量的bank,包括:當多核處理器系統內的所有應用均為計算密集型應用時,將主存bank資源平均分配給各個應用;當多核處理器系統內的所有應用中部分應用為計算密集型應用,另一部分為訪存密集型應用時,不分配專門的bank給該部分計算密集型應用,且令該部分計算密集型應用訪問所有主存bank;當多核處理器系統內的所有應用中部分應用為計算密集型應用,另一部分為訪存密集型應用時,或者,當多核處理器系統內的所有應用均為訪存密集型應用時,對于行局部性高的訪存密集型應用,為每個應用分配最小劃分單元MPU個bank;對于行局部性低的訪存密集型應用,每兩個應用共享2×MPU個bank。6.如權利要求5所述的方法,其特征在于:所述最小劃分單元MPU=(Nrank·Nbank)/(Ncore·MI),其中,Ncore為處理器核的數目,Nrank為Ncore核處理器動態隨機存取存儲器DRAM主存系統rank的數目,Nbank為每個rank中bank的數目,MI為訪存密集型應用占Ncore核處理器上總應用的比例,值為0到1。7.一種主存bank劃分裝置,包括:統計模塊,用于周期性地統計各個應用運行時的訪存特...
【專利技術屬性】
技術研發人員:程旭,謝明利,佟冬,黃侃,
申請(專利權)人:北京北大眾志微系統科技有限責任公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。