內(nèi)存管理方法、內(nèi)存管理裝置及計(jì)算的制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種內(nèi)存管理方法、內(nèi)存管理裝置及計(jì)算機(jī)。本發(fā)明內(nèi)存管理方法,包括:當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元;從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。本發(fā)明實(shí)施例提高了內(nèi)存并發(fā)操作單元訪問的均衡性,達(dá)到了優(yōu)化計(jì)算機(jī)系統(tǒng)性能的效果。
【專利說明】?jī)?nèi)存管理方法、內(nèi)存管理裝置及計(jì)算機(jī)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及內(nèi)存數(shù)據(jù)處理技術(shù),尤其涉及一種內(nèi)存管理方法、內(nèi)存管理裝置及計(jì)算機(jī)。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的發(fā)展,內(nèi)存管理變得越來越重要,優(yōu)化內(nèi)存管理方法可以大大提升計(jì)算機(jī)的系統(tǒng)性能。
[0003]內(nèi)存地址分為物理地址和虛擬地址,程序看到的是虛擬內(nèi)存空間,訪問時(shí)使用虛擬地址,而內(nèi)存系統(tǒng)看到的是物理地址空間,訪問時(shí)使用物理地址。操作系統(tǒng)對(duì)內(nèi)存的管理是以頁面為單位的,維護(hù)虛擬內(nèi)存頁面到物理內(nèi)存頁面的映射。程序申請(qǐng)內(nèi)存時(shí),操作系統(tǒng)先為其分配一系列虛擬內(nèi)存頁面,但是并不映射到任何物理內(nèi)存頁面;等到程序第一次訪問虛擬內(nèi)存頁面時(shí),就會(huì)產(chǎn)生缺頁中斷,由操作系統(tǒng)從空閑物理內(nèi)存頁面中挑選出一個(gè),建立從虛擬內(nèi)存頁面到物理內(nèi)存頁面的映射;以后再訪問該虛擬內(nèi)存頁面時(shí),訪存就會(huì)被自動(dòng)映射到該物理內(nèi)存頁面。若該物理內(nèi)存頁面在設(shè)定時(shí)間內(nèi)未被訪問,或當(dāng)前內(nèi)存空間不足時(shí),則已建立映射關(guān)系但未處于訪問狀態(tài)的物理內(nèi)存頁面可以再次被分配給其他虛擬內(nèi)存頁面,則當(dāng)該程序再次訪問虛擬內(nèi)存頁面時(shí),仍然會(huì)產(chǎn)生缺頁中斷。
[0004]上述過程中,產(chǎn)生缺頁中斷時(shí),挑選空閑物理內(nèi)存頁面,建立映射關(guān)系,稱為內(nèi)存頁面分配。物理內(nèi)存由內(nèi)存并發(fā)操作單元(Bank)組成,每個(gè)內(nèi)存并發(fā)操作單元可包括一組物理內(nèi)存頁面,系統(tǒng)中的多個(gè)內(nèi)存并發(fā)操作單元上的物理內(nèi)存頁面可以被并行訪問?,F(xiàn)有內(nèi)存管理的一種方法是將所有的空閑物理內(nèi)存頁面視為等同的,組織為一個(gè)空閑列表,操作系統(tǒng)分配物理內(nèi)存頁面時(shí),從空閑物理內(nèi)存頁面列表的頭部分配。另一種方法是將每個(gè)內(nèi)存并發(fā)操作單元的空閑物理內(nèi)存頁面單獨(dú)組織為空閑列表,分配內(nèi)存時(shí)為每個(gè)程序指定一個(gè)或多個(gè)內(nèi)存并發(fā)操作單元,該程序申請(qǐng)的內(nèi)存只能從這些內(nèi)存并發(fā)操作單元的空閑列表的頭部分配。
[0005]上述兩種方法都在一定程度上提高空閑物理內(nèi)存頁面分配的效率,但是第一種方法將所有空閑物理內(nèi)存頁面視為等同,忽略了物理內(nèi)存的組織結(jié)構(gòu),如果集中于同一內(nèi)存并發(fā)操作單元的空閑物理內(nèi)存頁面進(jìn)行分配,就會(huì)造成內(nèi)存并發(fā)操作單元之間訪存不均衡,不能發(fā)揮其并行處理的優(yōu)勢(shì)。而第二種方法沒有考慮物理內(nèi)存的動(dòng)態(tài)訪問情況,比如有些物理內(nèi)存頁面訪問比較頻繁,而另一些物理內(nèi)存頁面基本沒有訪問,從而造成一組內(nèi)存并發(fā)操作單元的訪問很密集,而另一組內(nèi)存并發(fā)操作單元基本空閑,浪費(fèi)了物理內(nèi)存系統(tǒng)提供的并發(fā)性。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供一種內(nèi)存管理方法、內(nèi)存管理裝置及計(jì)算機(jī),以解決內(nèi)存并發(fā)操作單元訪問不均衡的問題,以實(shí)現(xiàn)空閑物理內(nèi)存頁面的均勻分配,優(yōu)化計(jì)算機(jī)系統(tǒng)性能。
[0007]第一方面,本發(fā)明實(shí)施例提供一種內(nèi)存管理方法,包括:[0008]當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元;
[0009]從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0010]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述內(nèi)存管理方法還包括:
[0011]獲取各內(nèi)存并發(fā)操作單元的訪問信息;
[0012]根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
[0013]根據(jù)第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,獲取各內(nèi)存并發(fā)操作單元的訪問信息包括:
[0014]通過內(nèi)存控制器中的性能計(jì)數(shù)器,采集各內(nèi)存并發(fā)操作單元的訪問信息;或
[0015]通過反饋通路,獲取監(jiān)聽內(nèi)存控制器的監(jiān)聽卡采集到的各內(nèi)存并發(fā)操作單元的訪問信息。
[0016]根據(jù)第一方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面之后,還包括:
[0017]判斷當(dāng)前調(diào)度周期是否結(jié)束;
[0018]若是,則返回執(zhí)行所述獲取各內(nèi)存并發(fā)操作單元的訪問信息的操作;
[0019]若否,則返回執(zhí)行選擇待分配的內(nèi)存并發(fā)操作單元的操作。
[0020]在第一方面的第四種可能的實(shí)現(xiàn)方式中,根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,識(shí)別各內(nèi)存并發(fā)操作單元的訪問密集度;
[0021]當(dāng)訪問密集度低于第一門限值時(shí),關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元;
[0022]當(dāng)訪問密集度高于第二門限值時(shí),打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
[0023]根據(jù)第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述設(shè)定關(guān)閉數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量的二分之一;所述設(shè)定打開數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量。
[0024]根據(jù)第一方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述訪問信息至少包括內(nèi)存并發(fā)操作單元的訪問次數(shù)和命中次數(shù),所述訪問密集度為單位時(shí)間內(nèi)所有內(nèi)存并發(fā)操作單元的訪問次數(shù),或命中次數(shù),或訪問次數(shù)與命中次數(shù)之差的平均值。
[0025]第二方面,本發(fā)明實(shí)施例提供一種內(nèi)存管理裝置,包括:決策模塊,用于當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元;頁面分配模塊,用于從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0026]在第二方面的第一種可能的實(shí)現(xiàn)方式中,還包括:獲取模塊,用于獲取各內(nèi)存并發(fā)操作單元的訪問信息;維護(hù)模塊,用于根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
[0027]根據(jù)第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述獲取模塊包括:第一獲取單元,用于通過內(nèi)存控制器中的性能計(jì)數(shù)器,采集各內(nèi)存并發(fā)操作單元的訪問信息;或第二獲取單元,用于通過反饋通路,獲取監(jiān)聽內(nèi)存控制器的監(jiān)聽卡采集到的各內(nèi)存并發(fā)操作單元的訪問信息。[0028]根據(jù)第二方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,還包括:調(diào)度周期判斷模塊,用于判斷當(dāng)前調(diào)度周期是否結(jié)束;若是,則返回獲取模塊執(zhí)行所述獲取各內(nèi)存并發(fā)操作單元的訪問信息的操作;若否,則返回決策模塊執(zhí)行選擇待分配的內(nèi)存并發(fā)操作單元的操作。
[0029]在第二方面的第四種可能的實(shí)現(xiàn)方式中,還包括:識(shí)別模塊,用于根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,識(shí)別各內(nèi)存并發(fā)操作單元的訪問密集度;第一控制模塊,用于當(dāng)訪問密集度低于第一門限值時(shí),關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元;第二控制模塊,用于當(dāng)訪問密集度高于第二門限值時(shí),打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
[0030]根據(jù)第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述設(shè)定關(guān)閉數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量的二分之一;所述設(shè)定打開數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量。
[0031]根據(jù)第二方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述訪問信息至少包括內(nèi)存并發(fā)操作單元的訪問次數(shù)和命中次數(shù),所述訪問密集度為一單位時(shí)間內(nèi)所有內(nèi)存并發(fā)操作單元的訪問次數(shù),或命中次數(shù),或訪問次數(shù)與命中次數(shù)之差的平均值。
[0032]第三方面本發(fā)明實(shí)施例提供一種計(jì)算機(jī),包括中央處理器、內(nèi)存、內(nèi)存控制器和存儲(chǔ)器,其中,還包括:本發(fā)明任意實(shí)施例所提供的內(nèi)存管理裝置,配置在所述中央處理器的操作系統(tǒng)之中;性能計(jì)數(shù)器,配置在內(nèi)存控制器中,用于采集各內(nèi)存并發(fā)操作單元的訪問信息;或,監(jiān)聽卡,分別通過反饋通路與內(nèi)存控制器和內(nèi)存管理裝置相連,用于通過反饋通路,從內(nèi)存控制器中采集各內(nèi)存并發(fā)操作單元的訪問信息,并提供給所述內(nèi)存管理裝置。
[0033]本發(fā)明實(shí)施例內(nèi)存管理方法、內(nèi)存管理裝置及計(jì)算機(jī),通過物理內(nèi)存系統(tǒng)所提供的內(nèi)存并發(fā)操作單元的歷史訪問信息進(jìn)行選擇,優(yōu)先從歷史上訪問較少的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面,實(shí)現(xiàn)內(nèi)存并發(fā)操作單元的均衡訪問,解決了現(xiàn)有技術(shù)對(duì)空閑物理內(nèi)存頁面分配不合理的問題。
【專利附圖】
【附圖說明】
[0034]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0035]圖1為本發(fā)明內(nèi)存管理方法實(shí)施例一的流程圖;
[0036]圖2為本發(fā)明內(nèi)存管理方法實(shí)施例二的流程圖;
[0037]圖3為本發(fā)明內(nèi)存管理方法實(shí)施例三的流程圖;
[0038]圖4為本發(fā)明內(nèi)存管理方法實(shí)施例四的流程圖;
[0039]圖5為本發(fā)明內(nèi)存管理方法實(shí)施例五的流程圖;
[0040]圖6為本發(fā)明內(nèi)存管理裝置實(shí)施例一的結(jié)構(gòu)示意圖;
[0041]圖7為本發(fā)明內(nèi)存管理裝置實(shí)施例二的結(jié)構(gòu)示意圖;
[0042]圖8a為本發(fā)明內(nèi)存管理裝置實(shí)施例三的結(jié)構(gòu)示意圖
[0043]圖8b為本發(fā)明內(nèi)存管理裝置實(shí)施例三的另一結(jié)構(gòu)示意圖;[0044]圖9為本發(fā)明內(nèi)存管理裝置實(shí)施例四的結(jié)構(gòu)示意圖;
[0045]圖10為本發(fā)明內(nèi)存管理裝置實(shí)施例五的結(jié)構(gòu)示意圖;
[0046]圖1la為本發(fā)明計(jì)算機(jī)實(shí)施例的結(jié)構(gòu)示意圖;
[0047]圖1lb為本發(fā)明計(jì)算機(jī)實(shí)施例的另一結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0048]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0049]實(shí)施例一
[0050]圖1為本發(fā)明內(nèi)存管理方法實(shí)施例一的流程圖,所述方法適用于在程序訪問內(nèi)存時(shí)對(duì)物理內(nèi)存系統(tǒng)的管理,尤其適用于對(duì)空閑物理內(nèi)存頁面的分配。該方法可以由內(nèi)存管理裝置執(zhí)行,如圖1所示,該方法包括如下步驟:
[0051]S101、當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元。
[0052]在程序申請(qǐng)內(nèi)存,而沒有與其虛擬內(nèi)存頁面對(duì)應(yīng)的物理內(nèi)存頁面時(shí),就會(huì)產(chǎn)生缺頁中斷,相當(dāng)于物理內(nèi)存頁面分配請(qǐng)求。所述內(nèi)存并發(fā)操作單元為物理內(nèi)存中實(shí)體存在的可以并發(fā)操作的物理單元,如內(nèi)存可并發(fā)操作的最小單元(bank)。各內(nèi)存并發(fā)操作單元的歷史訪問信息可以包括在設(shè)定時(shí)間內(nèi)統(tǒng)計(jì)的訪問次數(shù)、命中次數(shù)等。訪問率可通過歷史訪問信息體現(xiàn),一般是指內(nèi)存并發(fā)操作單元單位時(shí)間內(nèi)的訪問次數(shù)。訪問率低具體可視為兩種情況,第一種情況為在所有的內(nèi)存并發(fā)操作單元中進(jìn)行比較,訪問率最低的內(nèi)存并發(fā)操作單元視為訪問率低,第二種情況為設(shè)置一個(gè)門限值,對(duì)于低于該門限值的一個(gè)或多個(gè)內(nèi)存并發(fā)操作單元都視為訪問率低,如果多個(gè)內(nèi)存并發(fā)操作單元都滿足訪問率低時(shí),則從多個(gè)內(nèi)存并發(fā)操作單元中隨機(jī)選擇一個(gè)作為待分配的內(nèi)存并發(fā)操作單元。
[0053]S102、從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0054]具體地,從選中的內(nèi)存并發(fā)操作單元中選擇空閑物理內(nèi)存頁面,此時(shí)被選擇的空閑物理內(nèi)存頁面為歷史上訪問較少的,區(qū)分出了空閑物理內(nèi)存頁面的差別,而有別于現(xiàn)有技術(shù)的同等對(duì)待。
[0055]本實(shí)施例,對(duì)空閑物理內(nèi)存頁面的選擇分兩步執(zhí)行,即先選擇訪問率低的內(nèi)存并發(fā)操作單元,再從訪問率低的內(nèi)存并發(fā)操作單元中選擇空閑物理內(nèi)存頁面,這樣可以均衡各內(nèi)存并發(fā)操作單元的負(fù)載,充分發(fā)揮內(nèi)存并發(fā)操作單元的并發(fā)性。實(shí)現(xiàn)了內(nèi)存并發(fā)操作單元的均衡訪問,解決了現(xiàn)有技術(shù)對(duì)空閑物理內(nèi)存頁面分配不合理的問題。
[0056]實(shí)施例二
[0057]圖2為本發(fā)明內(nèi)存管理方法實(shí)施例二的流程圖,本實(shí)施例對(duì)實(shí)施例一進(jìn)行了進(jìn)一步優(yōu)化。如圖2所示,本實(shí)施例的方法可以包括:
[0058]S201、獲取各內(nèi)存并發(fā)操作單元的訪問信息。
[0059]S202、根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
[0060]內(nèi)存管理裝置不斷地更新記錄歷史訪問信息,當(dāng)新的各內(nèi)存并發(fā)操作單元的訪問信息被獲取后,可以在更新時(shí)將歷史訪問信息中最早的各內(nèi)存并發(fā)操作單元的訪問信息刪除,以保證歷史訪問信息的信息量固定,提高歷史訪問信息的可參考性。
[0061]S203、當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元。
[0062]S204、從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0063]上述步驟S201-S202的歷史訪問信息更新過程,以及S203-204的頁面分配操作并不限于為先后執(zhí)行,兩者的執(zhí)行順序不限。
[0064]本實(shí)施例,通過在實(shí)施例一的基礎(chǔ)上增加獲取各內(nèi)存并發(fā)操作單元的訪問信息和更新各內(nèi)存并發(fā)操作單元的歷史訪問信息的步驟,實(shí)現(xiàn)內(nèi)存并發(fā)操作單元的歷史訪問信息的高參考性,增強(qiáng)了空閑物理內(nèi)存頁面選擇依據(jù)的可靠性。
[0065]可選地,上述S201中獲取各內(nèi)存并發(fā)操作單元的訪問信息可以有兩種方式,第一種,可以通過內(nèi)存控制器中的性能計(jì)數(shù)器,采集各內(nèi)存并發(fā)操作單元的訪問信息。
[0066]所述性能計(jì)數(shù)器設(shè)置于內(nèi)存控制器中,可利用現(xiàn)有通道采集各內(nèi)存并發(fā)操作單元的訪問信息,并將所述訪問信息發(fā)送給所述內(nèi)存管理裝置進(jìn)行歷史訪問信息更新處理。
[0067]第二種,可以通過反饋通路,獲取監(jiān)聽內(nèi)存控制器的監(jiān)聽卡采集到的各內(nèi)存并發(fā)操作單元的訪問信息。
[0068]所述監(jiān)聽卡為獨(dú)立設(shè)備,其監(jiān)聽到的各內(nèi)存并發(fā)操作單元的訪問信息通過特定的反饋通路,將所述訪問信息發(fā)送給所述內(nèi)存管理裝置。
[0069]實(shí)施例三
[0070]圖3為本發(fā)明內(nèi)存管理方法實(shí)施例三的流程圖。如圖3所示,本實(shí)施例以上述各實(shí)施例為基礎(chǔ),提供了一完整的優(yōu)選實(shí)施例,該方法可以包括:
[0071]S301、獲取各內(nèi)存并發(fā)操作單元的訪問信息。
[0072]S302、根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
[0073]S303、當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元。
[0074]S304、從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0075]S305、判斷當(dāng)前調(diào)度周期是否結(jié)束,若是,則返回執(zhí)行S301,若否,則返回執(zhí)行S303。
[0076]所述調(diào)度周期可以為一個(gè)固定長(zhǎng)度的時(shí)間間隔,如操作系統(tǒng)的一個(gè)時(shí)間片。也可以是根據(jù)內(nèi)存管理方法的設(shè)計(jì)要求而定,最小調(diào)度周期可以為上述實(shí)施例的內(nèi)存管理方法執(zhí)行一次的時(shí)間。所述調(diào)度周期的長(zhǎng)短決定著內(nèi)存管理方法的精確程度,調(diào)度周期越短,各內(nèi)存并發(fā)操作單元的歷史訪問信息更新越快,分配內(nèi)存并發(fā)操作單元的均衡性就越好,但對(duì)所述內(nèi)存管理裝置的處理能力要求就越高,計(jì)算成本就越大。所以在設(shè)計(jì)調(diào)度周期時(shí)需要綜合考慮。
[0077]本實(shí)施例,通過增加S305,可根據(jù)實(shí)際需要設(shè)計(jì)調(diào)度周期,實(shí)現(xiàn)各內(nèi)存并發(fā)操作單元的歷史訪問信息的合理更新,提高空閑物理內(nèi)存頁面選擇的精確度和合理度。
[0078]實(shí)施例四
[0079]圖4為本發(fā)明內(nèi)存管理方法實(shí)施例四的流程圖。本實(shí)施例在上述實(shí)施例的基礎(chǔ)上,還包括如下步驟:[0080]根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,識(shí)別各內(nèi)存并發(fā)操作單元的訪問密集度;
[0081]當(dāng)訪問密集度低于第一門限值時(shí),關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元;
[0082]當(dāng)訪問密集度高于第二門限值時(shí),打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
[0083]如圖4所示,上述方案優(yōu)選按照如下流程操作:
[0084]S401、根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,識(shí)別各內(nèi)存并發(fā)操作單元的訪問密集度。
[0085]所述訪問密集度由各內(nèi)存并發(fā)操作單元的歷史訪問信息得出,作為各內(nèi)存并發(fā)操作單元訪問是否密集的判斷標(biāo)準(zhǔn),由此來決定對(duì)部分內(nèi)存并發(fā)操作單元進(jìn)行關(guān)閉或打開。
[0086]S402、判斷訪問密集度是否低于第一門限值,若是,則執(zhí)行S403,若否,則執(zhí)行S404。
[0087]所述第一門限值可以根據(jù)所述訪問密集度的具體情況進(jìn)行設(shè)定,若當(dāng)前訪問密集度低于所述第一門限值,則認(rèn)為當(dāng)前系統(tǒng)訪存不是很密集。
[0088]S403、關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元,并繼續(xù)執(zhí)行步驟S406 ;
[0089]具體地,關(guān)閉內(nèi)存并發(fā)操作單元可以使將其狀態(tài)標(biāo)識(shí)設(shè)置為不可訪問,被關(guān)閉的內(nèi)存并發(fā)操作單元不再被選擇,即被關(guān)閉的內(nèi)存并發(fā)操作單元中的物理內(nèi)存頁面不再被分配,對(duì)于已經(jīng)分配的物理內(nèi)存頁面,將其頁面狀態(tài)置為不可訪問,當(dāng)程序再次被訪問時(shí)就會(huì)產(chǎn)生缺頁中斷,操作系統(tǒng)將為程序在處于打開狀態(tài)的內(nèi)存并發(fā)操作單元上分配新的頁面,并進(jìn)行數(shù)據(jù)遷移。所述設(shè)定關(guān)閉數(shù)量可根據(jù)實(shí)際需要進(jìn)行設(shè)定。所述設(shè)定關(guān)閉數(shù)量?jī)?yōu)選為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量的二分之一。
[0090]S404、判斷訪問密集度是否高于第二門限值,若是,則執(zhí)行S405,若否,則執(zhí)行S406。
[0091]所述第二門限值也是根據(jù)所述的訪問密集度的具體情況進(jìn)行設(shè)定,若當(dāng)前訪問密集度高于第二門限值,則認(rèn)為當(dāng)前系統(tǒng)訪存很密集。
[0092]S405、打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
[0093]具體地,可以將內(nèi)存并發(fā)操作單元的狀態(tài)標(biāo)識(shí)設(shè)置為可訪問。被打開的內(nèi)存并發(fā)操作單元中的物理內(nèi)存頁面可以被重新分配,對(duì)于已經(jīng)分配的物理內(nèi)存頁面,將其頁面狀態(tài)設(shè)為可以訪問。所述設(shè)定打開數(shù)量也同樣可根據(jù)實(shí)際需要進(jìn)行設(shè)定。所述設(shè)定打開數(shù)量?jī)?yōu)選為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量。
[0094]S406、當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元。
[0095]S407、從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0096]可選地,在執(zhí)行本實(shí)施例S403和S405時(shí),可以選擇以最小的功耗管理單元(Minimum Power Management Unit,MPMU)為單位對(duì)內(nèi)存并發(fā)操作單元進(jìn)行關(guān)閉或打開。所述MPMU可由一個(gè)或多個(gè)內(nèi)存并發(fā)操作單元構(gòu)成。
[0097]本實(shí)施例,通過以各內(nèi)存并發(fā)操作單元的訪問密集度作為判斷標(biāo)準(zhǔn),設(shè)置第一門限值和第二門限值對(duì)內(nèi)存訪問的密集與否進(jìn)行判斷,適時(shí)的關(guān)閉和打開一定量的內(nèi)存并發(fā)操作單元,實(shí)現(xiàn)物理內(nèi)存頁面的有效利用,在保證性能的基礎(chǔ)上降低內(nèi)存功耗。
[0098]實(shí)施例五
[0099]本實(shí)施例在上述實(shí)施例的基礎(chǔ)上,設(shè)置兩種模式:性能優(yōu)先模式和功耗優(yōu)先模式,通過執(zhí)行性能優(yōu)先模式或功耗優(yōu)先模式,以及執(zhí)行性能優(yōu)先模式和功耗優(yōu)先模式的切換來提高內(nèi)存管理效率,優(yōu)化計(jì)算機(jī)系統(tǒng)性能。
[0100]圖5為本發(fā)明內(nèi)存管理方法實(shí)施例五的流程圖。如圖5所示,本實(shí)施例的方法可以包括:
[0101]S501、獲取各內(nèi)存并發(fā)操作單元的訪問信息。
[0102]S502、根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
[0103]S503、選擇執(zhí)行模式,若選擇執(zhí)行性能優(yōu)先模式,則執(zhí)行S508,若選擇執(zhí)行功耗優(yōu)先模式,則執(zhí)行S504。
[0104]具體地,內(nèi)存管理裝置根據(jù)工作要求選擇執(zhí)行性能模式,如果需要工作在性能優(yōu)先模式下,則內(nèi)存管理裝置發(fā)出控制指令,執(zhí)行S508,如果需要工作在功耗優(yōu)先模式下,則內(nèi)存管理裝置發(fā)出控制指令,執(zhí)行S504。其中,執(zhí)行性能優(yōu)先模式的步驟包括:S501、S502、S508、S509和S510,執(zhí)行功耗優(yōu)先模式的步驟則包括:S501、S502、S504、S505、S506、S507、S508、S509 和 S510。
[0105]S504、判斷訪問密集度是否低于第一門限值,若是,則執(zhí)行S505,若否,則執(zhí)行S506。
[0106]S505、關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元。
[0107]S506、判斷訪問密集度是否高于第二門限值,若是,則執(zhí)行S507,若否,則執(zhí)行S508。
[0108]S507、打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
[0109]S508、當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元。
[0110]S509、從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0111]S510、判斷當(dāng)前調(diào)度周期是否結(jié)束,若是,則返回執(zhí)行S501,若否,則返回執(zhí)行S508。
[0112]優(yōu)選地,在本實(shí)施例S504、S505、S506或S507中,如果需要將工作狀態(tài)由功耗優(yōu)先模式切換至性能優(yōu)先模式時(shí),則內(nèi)存管理裝置直接結(jié)束執(zhí)行本步驟,直接跳轉(zhuǎn)執(zhí)行S508,實(shí)現(xiàn)功耗優(yōu)先模式到性能優(yōu)先模式的切換。
[0113]可選地,在上述實(shí)施例中,所述訪問信息至少包括內(nèi)存并發(fā)操作單元的訪問次數(shù)和命中次數(shù)。其中,所述訪問次數(shù)為程序訪問一個(gè)內(nèi)存并發(fā)操作單元的次數(shù),所述命中次數(shù)為程序訪問一個(gè)內(nèi)存并發(fā)操作單元時(shí),命中內(nèi)存并發(fā)操作單元的同一行的次數(shù)。所述訪問密集度為單位時(shí)間內(nèi)所有內(nèi)存并發(fā)操作單元的訪問次數(shù),或命中次數(shù),或訪問次數(shù)與命中次數(shù)之差的平均值。即所述訪問密集度可以為所有內(nèi)存并發(fā)操作單元的訪問次數(shù)的平均值,也可為所有內(nèi)存并發(fā)操作單元的命中次數(shù)的平均值,或也可為所有內(nèi)存并發(fā)操作單元的命中次數(shù)與命中次數(shù)之差的平均值。同時(shí),所述訪問密集度也可采用其他能反映密集程度的指標(biāo)。在本實(shí)施例中所述訪問密集度以單位時(shí)間內(nèi)所有內(nèi)存并發(fā)操作單元的訪問次數(shù)與命中次數(shù)之差的平均值(可稱之為平均miss數(shù)量)為例。其中,第一門限值可以設(shè)置為20萬次/ms,第二門限值可以設(shè)置為100萬次/ms,但不以此為限;
[0114]本實(shí)施例,通過設(shè)置性能優(yōu)先模式和功耗優(yōu)先模式兩種模式,根據(jù)實(shí)際需求對(duì)所述兩種模式進(jìn)行選擇,同時(shí)也可以在所述兩種模式下轉(zhuǎn)換,優(yōu)化了內(nèi)存管理,實(shí)現(xiàn)了計(jì)算機(jī)系統(tǒng)性能的提聞。
[0115]實(shí)施例六
[0116]圖6為本發(fā)明內(nèi)存管理裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖6所示,本實(shí)施例的裝置可以包括:決策模塊11和頁面分配模塊12,其中,所述決策模塊11用于當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元,所述頁面分配模塊12用于從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
[0117]本實(shí)施例的裝置,可以用于執(zhí)行本發(fā)明實(shí)施例所提供的內(nèi)存管理方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0118]實(shí)施例七
[0119]圖7為本發(fā)明內(nèi)存管理裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖7所示,本實(shí)施例的裝置在圖6所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,還可以包括:獲取模塊21和維護(hù)模塊22,其中,所述獲取模塊21用于獲取各內(nèi)存并發(fā)操作單元的訪問信息,所述維護(hù)模塊22用于根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
[0120]本實(shí)施例的裝置,可以用于執(zhí)行本發(fā)明實(shí)施例所提供的內(nèi)存管理方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0121]實(shí)施例八
[0122]圖8a為本發(fā)明內(nèi)存管理裝置實(shí)施例三的結(jié)構(gòu)示意圖,如圖8a所示,本實(shí)施例的裝置在圖7所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,獲取模塊21可以包括:第一獲取單元31,所述第一獲取單元31用于通過內(nèi)存控制器中的性能計(jì)數(shù)器,采集各內(nèi)存并發(fā)操作單元的訪問信息。
[0123]可選地,如圖Sb所示,圖Sb為本發(fā)明內(nèi)存管理裝置實(shí)施例三的另一結(jié)構(gòu)示意圖,獲取模塊21還可以包括:第二獲取單元32,所述第二獲取單元32用于通過反饋通路,獲取監(jiān)聽內(nèi)存控制器的監(jiān)聽卡采集到的各內(nèi)存并發(fā)操作單元的訪問信息。
[0124]本實(shí)施例的裝置,可以用于執(zhí)行本發(fā)明實(shí)施例所提供的內(nèi)存管理方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0125]實(shí)施例九
[0126]圖9為本發(fā)明內(nèi)存管理裝置實(shí)施例四的結(jié)構(gòu)示意圖,如圖9所示,本實(shí)施例的裝置在圖7所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,還可以包括:調(diào)度周期判斷模塊41,所述調(diào)度周期判斷模塊41用于判斷當(dāng)前調(diào)度周期是否結(jié)束;若是,則返回獲取模塊21執(zhí)行所述獲取各內(nèi)存并發(fā)操作單元的訪問信息的操作;若否,則返回決策模塊11執(zhí)行選擇待分配的內(nèi)存并發(fā)操作單元的操作。
[0127]本實(shí)施例的裝置,可以用于執(zhí)行本發(fā)明實(shí)施例所提供的內(nèi)存管理方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0128]實(shí)施例十[0129]圖10為本發(fā)明內(nèi)存管理裝置實(shí)施例五的結(jié)構(gòu)示意圖,如圖10所示,本實(shí)施例的裝置在圖6所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,還可以包括:識(shí)別模塊51、第一控制模塊52和第二控制模塊53,其中,所述識(shí)別模塊51用于根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,識(shí)別各內(nèi)存并發(fā)操作單元的訪問密集度,所述第一控制模塊52用于當(dāng)訪問密集度低于第一門限值時(shí),關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元,所述第二控制模塊53用于當(dāng)訪問密集度高于第二門限值時(shí),打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
[0130]本實(shí)施例的裝置,可以用于執(zhí)行本發(fā)明實(shí)施例所提供的內(nèi)存管理方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0131]實(shí)施例1^一
[0132]圖1la為本發(fā)明計(jì)算機(jī)實(shí)施例的結(jié)構(gòu)示意圖,如圖1la所示,本實(shí)施例的第一計(jì)算機(jī)69除包括中央處理器61、內(nèi)存62、內(nèi)存控制器63、存儲(chǔ)器64外,還包括:內(nèi)存管理裝置65和性能計(jì)數(shù)器66,所述內(nèi)存管理裝置65配置在所述中央處理器的操作系統(tǒng)之中,可以采用本發(fā)明任意實(shí)施例所提供內(nèi)存管理裝置,其對(duì)應(yīng)地,可以執(zhí)行本發(fā)明任意實(shí)施例所提供的內(nèi)存管理方法的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。所述性能計(jì)數(shù)器66可以執(zhí)行圖2中S201的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0133]可選地,如圖1lb所示,圖1lb為為本發(fā)明計(jì)算機(jī)實(shí)施例的另一結(jié)構(gòu)示意圖。上述實(shí)施例的計(jì)算機(jī)還可以為第二計(jì)算機(jī)70,與所述第一計(jì)算機(jī)69不同之處在于,第二計(jì)算機(jī)70中將第一計(jì)算機(jī)69的性能計(jì)數(shù)器66替換為監(jiān)聽卡67。所述監(jiān)聽卡67通過獨(dú)立反饋通路68傳輸至內(nèi)存管理裝置65,其相應(yīng)地,可以執(zhí)行圖2中S201的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0134]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0135]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種內(nèi)存管理方法,其特征在于,包括: 當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元; 從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
2.根據(jù)權(quán)利要求1所述的內(nèi)存管理方法,其特征在于,還包括: 獲取各內(nèi)存并發(fā)操作單元的訪問信息; 根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
3.根據(jù)權(quán)利要求2所述的內(nèi)存管理方法,其特征在于,獲取各內(nèi)存并發(fā)操作單元的訪問信息包括: 通過內(nèi)存控制器中的性能計(jì)數(shù)器,采集各內(nèi)存并發(fā)操作單元的訪問信息;或 通過反饋通路,獲取監(jiān)聽內(nèi)存控制器的監(jiān)聽卡采集到的各內(nèi)存并發(fā)操作單元的訪問信肩、O
4.根據(jù)權(quán)利要求2所述的內(nèi)存管理方法,其特征在于,從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面之后,還包括: 判斷當(dāng)前調(diào)度周期是否結(jié)束; 若是,則返回執(zhí)行所述獲取各內(nèi)存并發(fā)操作單元的訪問信息的操作; 若否,則返回執(zhí)行選擇待分配的內(nèi)存并發(fā)操作單元的操作。
5.根據(jù)權(quán)利要求1所述的內(nèi)存管理方法,其特征在于,還包括: 根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,識(shí)別各內(nèi)存并發(fā)操作單元的訪問密集度;當(dāng)訪問密集度低于第一門限值時(shí),關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元; 當(dāng)訪問密集度高于第二門限值時(shí),打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
6.根據(jù)權(quán)利要求5所述的內(nèi)存管理方法,其特征在于:所述設(shè)定關(guān)閉數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量的二分之一;所述設(shè)定打開數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量。
7.根據(jù)權(quán)利要求5所述的內(nèi)存管理方法,其特征在于:所述訪問信息至少包括內(nèi)存并發(fā)操作單元的訪問次數(shù)和命中次數(shù),所述訪問密集度為單位時(shí)間內(nèi)所有內(nèi)存并發(fā)操作單元的訪問次數(shù),或命中次數(shù),或訪問次數(shù)與命中次數(shù)之差的平均值。
8.—種內(nèi)存管理裝置,其特征在于,包括: 決策模塊,用于當(dāng)獲取到物理內(nèi)存頁面分配請(qǐng)求時(shí),根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,選擇訪問率低的內(nèi)存并發(fā)操作單元,作為待分配的內(nèi)存并發(fā)操作單元; 頁面分配模塊,用于從所述待分配的內(nèi)存并發(fā)操作單元中分配空閑物理內(nèi)存頁面。
9.根據(jù)權(quán)利要求8所述的內(nèi)存管理裝置,其特征在于,還包括: 獲取模塊,用于獲取各內(nèi)存并發(fā)操作單元的訪問信息; 維護(hù)模塊,用于根據(jù)所述訪問信息更新各內(nèi)存并發(fā)操作單元的歷史訪問信息。
10.根據(jù)權(quán)利要求9所述的內(nèi)存管理裝置,其特征在于,所述獲取模塊包括: 第一獲取單元,用于通過內(nèi)存控制器中的性能計(jì)數(shù)器,采集各內(nèi)存并發(fā)操作單元的訪問信息;或第二獲取單元,用于通過反饋通路,獲取監(jiān)聽內(nèi)存控制器的監(jiān)聽卡采集到的各內(nèi)存并發(fā)操作單元的訪問信息。
11.根據(jù)權(quán)利要求9所述的內(nèi)存管理裝置,其特征在于,還包括: 調(diào)度周期判斷模塊,用于判斷當(dāng)前調(diào)度周期是否結(jié)束;若是,則返回獲取模塊執(zhí)行所述獲取各內(nèi)存并發(fā)操作單元的訪問信息的操作;若否,則返回決策模塊執(zhí)行選擇待分配的內(nèi)存并發(fā)操作單元的操作。
12.根據(jù)權(quán)利要求8所述的內(nèi)存管理裝置,其特征在于,還包括: 識(shí)別模塊,用于根據(jù)各內(nèi)存并發(fā)操作單元的歷史訪問信息,識(shí)別各內(nèi)存并發(fā)操作單元的訪問密集度; 第一控制模塊,用于當(dāng)訪問密集度低于第一門限值時(shí),關(guān)閉處于打開狀態(tài)的設(shè)定關(guān)閉數(shù)量的內(nèi)存并發(fā)操作單元; 第二控制模塊,用于當(dāng)訪問密集度高于第二門限值時(shí),打開處于關(guān)閉狀態(tài)的設(shè)定打開數(shù)量的內(nèi)存并發(fā)操作單元。
13.根據(jù)權(quán)利要求12所述的內(nèi)存管理裝置,其特征在于:所述設(shè)定關(guān)閉數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量的二分之一;所述設(shè)定打開數(shù)量為當(dāng)前打開狀態(tài)的內(nèi)存并發(fā)操作單元數(shù)量。
14.根據(jù)權(quán)利要求12所述的內(nèi)存管理裝置,其特征在于:所述訪問信息至少包括內(nèi)存并發(fā)操作單元的訪問次數(shù)和命中次數(shù),所述訪問密集度為一單位時(shí)間內(nèi)所有內(nèi)存并發(fā)操作單元的訪問次數(shù),或命中次數(shù),或訪問次數(shù)與命中次數(shù)之差的平均值。
15.一種計(jì)算機(jī),包括中央處理器、內(nèi)存、內(nèi)存控制器和存儲(chǔ)器,其特征在于,還包括: 權(quán)利要求8至14任一項(xiàng)權(quán)利要求所述內(nèi)存管理裝置,配置在所述中央處理器的操作系統(tǒng)之中; 性能計(jì)數(shù)器,配置在內(nèi)存控制器中,用于采集各內(nèi)存并發(fā)操作單元的訪問信息;或,監(jiān)聽卡,分別通過反饋通路與內(nèi)存控制器和內(nèi)存管理裝置相連,用于通過反饋通路,從內(nèi)存控制器中采集各內(nèi)存并發(fā)操作單元的訪問信息,并提供給所述內(nèi)存管理裝置。
【文檔編號(hào)】G06F12/02GK103902462SQ201210578708
【公開日】2014年7月2日 申請(qǐng)日期:2012年12月27日 優(yōu)先權(quán)日:2012年12月27日
【發(fā)明者】崔澤漢, 陳明宇, 陳荔城, 黃永兵 申請(qǐng)人:華為技術(shù)有限公司, 中國(guó)科學(xué)院計(jì)算技術(shù)研究所