A6 B6 212840 五、發明説明(,) 相Μ由請之對照 本申請相藺於在此同時提出之下列諸申講之主題並指派 至共同受委人: 申請序號07/872,732,由5.?31-丨1^提出,檷趙為”增 加分齡器效率之方法與裝置Method and Apparatus for Increasing Efficiency of Ager” (IBM 案號 No. 0八9-92-〇20);申請序號07/872,935,由$.?3「1»^提出 ,檷題為”有效率處理頁次表項目之方法與裝置Method and Apparatus for Efficiency Processing of Page Table Entries" (IBM 案號 Ho. DA9-92-029);申請序號 07/87 2,221i由S. Parikh提出,棟題為”多位元向量歷 史之製表Tabulation of Multi-Bit Vector History” ( 18»1茱號1<〇.0六9-92-032);以及申請序號 07/872,733, 由S. Pa rikh提出,檷踴為”自物理存儲器M置換之預定 頁次之方法與裝置Method and Apparatus for Predetermined Pages for Swapping from Physical Menory” (IBM案號 No. DA9-92-035)。 上述之共同申謫經併含於此M供#考。 發明之枝術断蘭 本發明一般係闞於存儲器管理程序,而特定者係闢於利 用多位元向最K改良頁次分舲之方法與裝置。 S9明背晷 - 3 本紙張又度適用中囷國家標準(CNS)甲4規格(2丨〇 X 297公货) (請先W讀背面之注意事項再塡寫本頁) .裝· .ΤΓ_ 經濟部中央標準局B工消费合作社印製 81.10.20,000 A6 B6 212840 五、發明説明(2 ) (請先W讀背面之注意事項再塡寫本頁) 於規代撖處理器中,虚擬存雔器之《念係達同物理存儲 器而使用。虚擬存髄器允許較小數量之物理存餘器(此由 於成本而重要)之用於大及/或多之應用。由於僅較小部 份之任何特定應用需要於物理存儲器於任一時間之此一事 寅,故此羼可能者。因此,於同時進行數種應用之霣臛系 銃中,可能僅安置箱當前進行應用於物理存儲器之資料與 代碼,而未經使用之資料與代碣則倘非留置於虚擬存儲器 中即為存儲於硬碟驅動器。 -*5 分頁為基之存儲器管理程序使用頁次之概念•典型上各 頁包含4K (數仟數元姐)之存儲位址。虛擬存餘器等致應 用相信現有4G (giga-bytes 10億位元)之存齡量(對32 位元定址計劃),而實際在典型上乃具物理存餘器(RAM «機存取存儲器)之自少於1 M (megabyte百萬位元)Μ 上而已。Μ故,有必要能Μ自物理存儲器”置換”頁次至 另一位置(亦即,碟片/輔助存儲器)。 經濟部中央標準局8工消費合作社印" 為允許置換於分頁為基之存館器管理程序(例如’ ’’INTEL”公司之386與486微處理器,此後稱之為 ” i 386/i 486 ”)起見,典型上乃提供一分頁糸统Μ供映射與 定位各個別之頁次。睐射係賴產生及維持列示各頁次之位 置於頁次表項目(ΡΤΕ)之頁次表而成。Μ故.,畨應用箱特 定頁次時,該頁次即可烴由頁次表之揷描而定位。ΡΤΕ包 含頁次之位址以及指示最近使用之已存取/未存取之檷32 〇 為首試提高出、入於物理存儲器之實換效率起見•經w 81.10.20,000 212840 A6 B6 經濟部中央標準局工消費合作社印製 五、發明説明(3 ) 分龄器之播作系統提供。分舲器之目的係當需要空間時, 乃將最近槿少使用之頁次置換出物理存餘器。最近並未使 用之頁次經首先指名為”空閑”箪其後乃按需要而置換出 外。W故·倘具未使用之頁次時,較有效率者乃將其置於 存槠器(亦即,碟片),而不佔用為物理存健器所需要之 空間。因此•分舲器與分頁系铳乃協同作業以跟踪頁次之 所在*並保持為物理存雔器所寅際潸要之頁次。 基本操作糸统之性能之一項主要決定因素即為分頁為基 之存儲器管理程序之性雔-因其在工作頁面g之面積、響 應時間、Μ及容量方面能直接衝擊糸铳其餘之性能。以故 ’乃有必要使基本存儲器管理程序經仔佃之設計。於現代 微處理器中,對分頁存儲器管理程序之支援乘已存在但受 限制。 分頁存儲器管理程序之效率受下列之直接衝擊:⑴分龄 之效率與效果,⑵正確雄別不再靨於工作頁面區之頁次, Κ及⑶分龄週期之長度。賴縮短分龄之遇期,則典型上乃 具比例之降低於工作頁面區之大小。對過-調撥之系铳而 言,乃有必要使分齡充份具有效率-蓋因缺乏此效率則允 許錯親之頁次佔用物理存儲器。 於諸如”i386/i486 ”之一些現代微處理器之分頁為基 之存餘器管理程序之结構中,如上述乃具一對應於各頁次 於存餘器之PTE 。頁次表項目居停於頁次表中。各程序具 其自身分開置定之頁次表與PTE 。每次頁次之内容受存取 時,對應於該頁次之PTE中之"巳存取"播誌即由基本硬 (請先閲讀背面之注意事項再填寫本頁) 丨裝_ 訂 本紙張又度適用中國國家標準(CNS)甲4規格(210 X 297公货〉 81.10.20,000 2l^^40 A6 B6 五、發明説明(4 ) 髓置定。此檷誌係告分龄器即自上次分齡鼷務或經由頁次 表之遇期Μ«頁次已受存取(或未存取)°在掃描PTE後 分龄器即清除PTE 。典型上分龄器必須搏描系统中所有程 序之所有頁次表Μ完成一完整之分龄遇期。分龄器乃以遇 期性掃描所有之ΡΤΕ 、核對位元之狀態、以及採取逋當之 行動•此可能包含最近未受存取頁次之調出。於”丨386/ i 486 ”微處理器中,對包含精確存取次序之精確頁次存取 摸式之識別之支援,係限制於ΡΤΕ中之”已存取/未存取 ,,位元。於基本之硬Μ中,並未具有頁次之時間檷示以告 知分頁存取管理程序子糸铳有翮頁次存取之精確次序。 極為重要者乃為分配至分舲器之時間應菩加利用:⑴分 龄器懕具效率於其識別次一姐受調出之頁次之選擇任務, 以及⑵分龄器應準確於織別所需受調出之頁次。在此方面 不正確之判定能大為增加錯誤頁次之調出、增加物理存儲 器之需求、而最终則可縮減系铳之完整性。由分舲器所消 耗之中央處理器(CPU)之時間乃在播性糸統中其它之程序 而獲得,而一完整之分舲遇期乃需數CPU時間片。對由分 龄器所消耗之有效率利用資源(諸如CPU時間)而言*重 要者即使分龄器明智分配諸現有之資源至不同之程序。 除分龄器之功能之效率外,亦颺里要者即為對將予次一 頁次調出指名為"空閑表"之頁次提供優先之選擇。當前 糸統係利用最近槿少使用(LRU)之近似法Μ置換調出存齡 器之頁次。此法恆導致不正確之判定。特別對高動態與遇 -調撥之系統尤甚,如上述,一旦對應於兩物理頁次之存 - 6 本紙張尺度適用中國國家標準(CNS)甲4規格(210 X 297公發) (請先閲讀背面之注$項再項寫本頁) -丨裝. 訂 經濟部中央標準局员工消費合作社印製 81.10.20,000 A6 B6 212B40 五、發明説明(5 ) 取檷誌烴置定時•則無法操作系铳以決定何頁次係經首先 存取者。此外,一旦對應於兩不同頁次之兩PTE之存取檷 誌烴重置定時,則轉法揲作系铳Μ決定何頁次係烴最後存 取者。Κ故,分龄器將選擇一不正確之頁次(亦即,最近 較多使用之頁次)而予置換出外乃靨全然可能。 例如,當掃描諸ΡΤΕ時,分龄器可偵测兩具有存取檷詰 重置之ΡΤΕ 。對分龄而言,此係表示在此二檷誌烴最後重 置後頁次未受存取。乃可指名兩頁次為空閑單(亦即,受 調出頁次潛在備選之單),而倘兩頁次並未很快受存取時 乃终於將者之頁次調出。易言之,自分龄器之觀點兩頁次 均同等對待。然而,其中一頁次可能為極高之用途(例如 ,包含高用途軟體之頁次)而恰於最近之過去並未存取, 而另一頁次則可能為純低用途之頁次。第一頁次於未來乃 比第二頁次具較高受存取之可能性。由於分龄器之限制, 其属可能者即當頁次需調出時•使第一頁次(亦即,高用 途之頁次)接受選擇-蓋自分龄器之有限觀點而言,兩頁 次顯屬相同。因此,倘第一頁次在已置換出外後而需再度 受參考時,則將發生頁次之故陣。典型上,頁次之故陣専 致處理時間之延遲,因當頁次烴定位而置換回至物理存儲 器時埋行中之程序必須暫停。 無綸何時頁次受存取時,受存取之位元檷誌即S定於對 應之ΡΤΕ 。分龄程序依次描描PTE Μ雜別已存取/尚未存 取頁次•而並未存取之頁次终將指名為空閑單且可調出頁 次。掃描程序原為一時間消耗之程序。並非所有於頁次表 7 本紙張尺度迺用中國國家標準(CNS)甲4規格(210 X 297公釐) (請先閲讀背面之注意事項再場寫本頁) •裝. 訂 經濟部中央標準局8工消費合作社印製 81.10.20,000 經濟部中央標準局R工消費合作社印製 212840 A6 ---- —_B6__ 五、發明説明(6> 中之PTE需受掃描,因僅對應於此類PTE之子姐將出現於 物理存餘器中。典型上,大量之PTE必須加以掃描正以找 出對應於存在物理存儲器中頁次之項目。本質上,極大數 量之输入必須加Μ掃描Μ便定位對應於出現物理存儲器中 頁次之ΡΤΕ 。 Μ故’及霱方法與装置以更有效率於管理微處理器中之 存销ί器’尤其’乃需達成較廣範画頁次分龄歴史於分龄為 基之存儲器管理程序之方法與装置。 發明之Μ械 於此掲示之本發明包含利用多位元向量以供頁次分龄之 方法與裝置,以實質上排除或減少使用禰準分龄與分頁之 一些問題。於此揭示之方法與裝置提供分頁為基之存儲器 管理糸統中較精確之頁次歴史。 依據本發明之一方面,經提供利用頁次管理程序與分龄 器於鬣腦系統中存儲器管理之方法。此頁次管理程序乃羼 具含頁次表項目於頁次表Κ内之類型,Κ映射與定位程序 之各頁次。一包含若干位元之位元向遢烴建立以記錄至各 頁次表中各頁次表項目若干存取之歷史。當其必須為物理 存儲器中新頁次留下空間時,則向量即纆詳估以決定何一 (儲)頁次應予首先調出。 經產生一存庫Μ維持若干向最。位元向量可以若干位元 建立於其中。此若干位元例如包含八位元、十六位元、三 十二位元等。 8 本紙張尺度適用中國國家標準(CNS)甲4規格(21.0 X 297公逄) 81.10.20,000 (請先閲讀背面之注意事项再塡寫本頁) 丨裝. 'π. 212840__. Be____ 五、發明説明(7 ) (請先閲讀背面之注意事項再塡寫本頁) 其鼷本發明之一項技術镘黏者,即對頁次之較詳细之存 取歷史經已維持。Μ故,當物理存镰器需要空間時•分齡 器即選擇較逋當之頁次Κ置換出外。 附圖之概诚 為較完全瞭解本發明及其優點起見,乃實施參考於詳佃 之說明連同所附之圓,其中: _ 1為虚擬存辟器、物理存儲器及存餘装置間之相互Μ 係之國示表示; 圖2為依據早前技藝之頁次表與頁次表項目; 圈3為依據本發明所结構之位元向量與存庫; _4為依據本發明之資料處理系统之概略示圖; 圔5為依據本發明列示分舲器掃描頁次表項目之流程圈 ;Κ及 圖6為列示本發明列雄別受調出頁次之動作之流程圓。 窃明之詳拥銳明 首先參考圔1 ,為存齡器糸统之國示表示,一般由參考 經濟部中央標準局S工消费合作社印製 數字10所雄別。畨®腦程式寫入時乃係基於一種瞭解而寫 入,即其具有比實際物理上存在為多之可用之存髄器Μ供 定址之使用。典型上,四-十億位元姐(G)之虚擬(亦 即,非》際存在)之可定址存髄器12經巳捉供。雖則物理 存儲器(RAM) 14之數量自霣腦系铳至苗腦糸統有所不同, 然其較少於虚擬存儲器i2之現有之物理存齡器14。如示於 9 81.10.20.000 本紙張尺度適用中國國家標準(CNS>甲4規格(210 X 297公货) A6 B6 21284 五、發明説明(8 ) 園1中者,存健器Μ具nm (百萬位元)之存餘器,其中n 典型上表不於1與&4間之可變數量。以故,電腰硬可以 諸如類似硬碟臛動器以連同物理存儲器W使用而提供。 當程序(亦即,轚腦程式)運行於電腦系铳(參閲圓5 )時’頁次(包含4K之資料)—諸如由參考數字18所示― 可自虛擬存儲器I2轉输至物理存餘器U。其中並無頁次自 虚擬存镰器12轉_至物理存槠器U之特定次序,因此,於 虚擬存館器I2中之序列頁次則並非為於物理存儲器中之 序列頁次。 一旦運行於霣腦系統之程序使用頁次時,不同之程序即 箱物理存儲器I4之物理空間。倘並無空間時,則物理存儲 器U中之頁次必須自物理存儲器U "置換"至存髂裝置1S 。此外,倘程序需要桊已置於存儲器裝置i6之頁次時,則 該頁.次必須自存儲裝置I6置換至物理存儲器14。 睞射與定位頁次於虚擬存儲器I2、物理存儲器w與存櫧 装置18之間,乃羼分頁為基之存齡器管理程序之任務。現 參考圖2,於”i386/i486 ”為基之撖處理器中,典型上 ,分頁為基之存儲管理程序使用包含若干頁次表項目32之 頁次表30。各頁次表項目%包含位址部段34與連串資訊位 元或檷誌邪。資訊標誌那用於若干目的,類如頁次是否出 現於物理存齡器、頁次是否為讀出/寫入頁次等,以包含 巳存取/未存取檷誌-如由參考數字38所識別者。檷誌38 之目的乃為允許分頁為基之存儲器管理程序以嘗試跟踪頁 次是否衆烴最近使用。每次頁次受存取時.檷誌38即由基 10 - 本纸張尺度適用中囷國家標準(CNS)甲4規格(210 X 297公釐) (請先閲讀背面之注意事项再場寫本頁) 丨裝· 訂· 經濟部中央標準局β:工消費合作社印製 8110.20,000 經濟部中央標準局8工消費合作社印製 212B40 A6 - B6 五、發明説明(9 ) 本硬班 U386/i486晶片)所置定。 分龄器連同分頁為基之存儲器管理程序係用Μ協助物理 存雔器w與存鶼裝置16間之置換。分舲器之目的乃為揷描 已存取/未存取檷誌38 ·以及當物理存儲器^需要空間時 置換最近使用之頁次自物理存儲器认至存髄装置把°由於 自單一已存取/未存取檷誌38之有限數最之資訊可供分龄 器之使用|故有可能使分齡器自物理存儲器u選揮錯誤之 頁次加Μ置換。此羼可能者-由於此一事實即一旦檷誌38 對不同之ΡΤΕ置定時,分舲器即無法獲知何一標誌38係羼 最後置定者。此外,一旦分龄器掃描所有之ΡΤΕ時•檷誌 38即行重置,Κ故,無法決定何一頁次係經最後存取者。 其次參考圔3,列示本發明之一具體實腌例。SP -向量 存庫一般係由參考數字60所雜別。存庫50包含諸如由參考 數字52或54所指示之若干SP -向量(每一物理頁次一 SP-向量)。各SP -向量52、54包含由參考數字56、57、58、 53、60、Si、62與63所指示之若干位元(如於此所示者, 例如僅為8位元)。雖則如示於圖3中者,具8位元(標 詰)SS直至S3,然按期望可具任何數量之位元。例如,十 六位元SP -向量可以為兩八位元向量之併置而各八位元向 量均可加以變換,K將於今後詳加說明。顯然,可能具24 位元、32位元等。 S P -向Μ 52、5+包含設非"1 "即或 ” 0 ”之可重於此 之8位元。例如•倘對應於SP -向最52之頁次受存取時* 則” 1 ”即置於最右之位元中,亦即於位元56 °次一時間 - 11 - 本紙張尺度適用中國因豕標準(CNS)甲4規格(2】〇 X 297公货) 81.10.20,000 {諳先閲讀背面之注意事項再瑱寫本頁) 裝. ,11. 21^B40 A6 B6 經濟部中央標準局员工消费合作社印製 五、發明説明(10 ) 分龄器乃核對諸PTE以瞭解該頁次是否已存取或未取,位 元5S中之”1"移動一位元至左,亦即至位兀57。倘自最 後分龄器播描K堪,該頁次已受存取時,則另一 ” 1 ”即 置於位元56。倘頁次未受存取時,則” 〇 ”即置於位元册 ,餘此類推。易言之,毎次發生右移時即漏失最左之位元 。以故,具有為對應於跨越最後八次分舲器播描諸PTE之 各SP-向量而產生之歷史。此一歷史提供較當前於早先技 «中所具有之對分龄器益為有用之資訊。 其次參考圖4,K方塊圃形式經顬示依據本發明之一般 由參考數宇 100所識別之資料處理糸统。此糸統 100包含 處理器100·處理器100包含中央處理器(CPU) 104與存 儲器106。以硬碟存儲裝置108輿软盤裝置Π0形式之額 外之存辟器經連接至存雔器102。软盤裝置110接受具電 腦程式代碼記錄於其上之軟盤112Μ»施本發明於糸统 100。糸統100包含用戶介面硬《-包含滑鼠114與鐽盤 116以允許用戶输入至處理器 102·Μ及顥示器 118M圼 現視頻資料至用戶。系統 100亦可包含印字抵 120。 現參考圃5。示在分龄器掃描頁次表項目期間列示本發 明之流程圖。分龄器開始於塊 140並進行Μ讀出存取/未 存取各頁次表項目中之位元檷誌於塊142。而後分龄器讀 出對應於受核對頁次之SP-向量之當前值於塊144。於塊 148 *SP-向量係基於如於塊 142中所決定之檷誌狀態而 更新。而後分舲器乃決定是否所有之禰誌已掃描於判定塊 150 。倘判定塊150之響應為杏時,則分龄器乃回轉至塊 - 12 - 本纸張尺度適用中國國家標準(CNS)肀4规格(210 X 297公釐) 81.10.20,000 (請先閲讀背面之注意事項再f本頁) 212840 Α6 _ Β6 五、發明説明(U) (請先閱讀背面之注意事項再填寫本頁) 142 ,Μ進而讀出存取/未存取檷誌。销判定塊150之響 應為是時,則分龄器乃结束該分龄遇期。 規參考画6 *為列示本發明織別頁次受調出時之流程圆 。在開始於塊160後,作為受調出備選之"X” (可按期 望預選之可調#數)。數量之頁次,係位於空閑單最近最 少使用之端部,於塊164,羥織別於SP-向量中具最少 ”1"數量之頁次。而後於塊166,該頁次(或諸頁次)即 經調出随後结束於塊168。 Μ故,賴使用本發明,一益具效率之存備器管理程序即 行獲得。代之Κ有頼於單一存取/未取位元檷誌於各頁次 表項目,一多位元向量經產生Κ维持各頁次使用之歷史。 因此,各頁次較可靠之狀能乃在自物理存儲器實換頁次至 存儲装置之先即存在以供觀察。Μ故,分龄器多半置換較 少使用之頁次出外,而產生較迄今可能為少之故陣。 雖則本發明業經參考於較佳具體實施例而特细顯示與說 明•然由精於此道之諸君所瞭解者即各種形式與细節之改 變均可在不有違本發明之精神與領域下而作成。 經濟部中央標準局ME工消費合作社印製 - 13 81.10.20,000 本纸張尺度適用中SS家標準(CNS)甲4规格(210 X 297公釐)