亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

計(jì)算機(jī)、tlb控制方法以及tlb控制程序的制作方法

文檔序號:6457348閱讀:300來源:國知局
專利名稱:計(jì)算機(jī)、tlb控制方法以及tlb控制程序的制作方法
技術(shù)領(lǐng)域
該發(fā)明涉及包括將表示虛擬地址與絕對地址的對應(yīng)的多個地址轉(zhuǎn) 換對作為頁表保持的主TLB,和保持主TLB中保持的頁表的一部分的 微TLB的計(jì)算機(jī)、TLB控制方法以及TLB控制程序。
背景技術(shù)
以前,在使用虛擬存儲方式的計(jì)算機(jī)中,用于進(jìn)行從虛擬地址(VA: Virtual address)到物理地址(PA: physical address)的轉(zhuǎn)換的稱作頁 表的列表被存儲在主存(主存儲器,main memory)中。如果計(jì)算機(jī)每 次進(jìn)行地址轉(zhuǎn)換時都參照位于主存內(nèi)的頁表進(jìn)行,則會花費(fèi)非常多的時 間,因此,通常在CPU內(nèi)設(shè)置稱作TLB (地址轉(zhuǎn)換緩沖器 Translation-Lookasaide buffer )的地址轉(zhuǎn)換專用的高速緩存(cache )。
并且,計(jì)算機(jī)中的運(yùn)算部和命令控制部在進(jìn)行存儲器訪問時,利用 TLB將虛擬地址轉(zhuǎn)換為物理地址,使用物理地址直接對存儲器進(jìn)行訪 問,因此TLB的訪問速度直接影響存儲器訪問的速度。為了加快TLB 的訪問,必須減小TLB的容量,但是如果過小,則經(jīng)常發(fā)生TLB未中, 使訪問時間增大。另一方面,在使TLB的容量增大的情況下,搜索花 費(fèi)的時間變大,成為阻礙硬件性能提高的原因。對此,作為在縮短訪問 時間的同時提高硬件性能的方法,往往采用由兩層構(gòu)成TLB的方法。
兩層TLB由以大容量保持從主存?zhèn)鬏數(shù)牡刂忿D(zhuǎn)換對的MTLB (主 TLB)和保持過去搜索的地址轉(zhuǎn)換信息的小容量的MTLB (微TLB) 構(gòu)成。在微TLB中,在進(jìn)行地址轉(zhuǎn)換時,使用Request請求的虛擬地 址與上下文位、TLB中登記的TLB虛擬地址與TLB上下文位和頁大小 信息進(jìn)行地址轉(zhuǎn)換對(項(xiàng)(entry))的搜索,如果與有效項(xiàng)匹配,則轉(zhuǎn) 換為絕對地址。
TLB中登記的項(xiàng)的頁大小有8K、 64K、 512K、 4M、 32M、 256M 字節(jié)這6種。此外,根據(jù)頁大小不同,存在虛擬地址的頁偏移,因此,
7微TLB在進(jìn)行地址轉(zhuǎn)換時,根據(jù)請求的項(xiàng)的頁大小,分別判斷并排除 要比較的虛擬地址的偏移地址,僅使用有效的虛擬地址進(jìn)行地址轉(zhuǎn)換搜 索(參照專利文獻(xiàn)l)。
專利文獻(xiàn)1:日本特開平5 - 225064號>^才艮
但是,上述以往的技術(shù)由于地址比較條件多,所以存在處理性能降 低的問題。具體說明該問題,如圖7所示,在從CPU的運(yùn)算部或命令 控制部對微TLB輸出的搜索請求中,附加了虛擬地址和與頁大小對應(yīng) 的偏移。并且,微TLB將根據(jù)輸入的搜索請求計(jì)算出偏移并將其從搜 索請求中除去后的虛擬地址與已登記的虛擬地址進(jìn)行比較,在一致的情 況下應(yīng)答絕對地址。在此,由于根據(jù)頁大小附加的偏移不同,所以如圖 8所示,微TLB按每個頁大小保持比較電路,該比較電路檢測輸入的搜 索請求的頁大小并除去偏移、比較計(jì)算出的虛擬地址。其結(jié)果是,微 TLB對輸入的搜索請求的地址比較條件增多,處理性能降低。另外,圖 7是用于說明以前的技術(shù)的圖,圖8是表示以前的技術(shù)中的地址轉(zhuǎn)換對 搜索電路的例子的圖。

發(fā)明內(nèi)容
因此,該發(fā)明是為了解決上述以往技術(shù)的問題而完成的,其目的是 提供一種能夠減少地址比較條件、提高處理性能的計(jì)算機(jī)、TLB控制方 法以及TLB控制程序。
為了解決上述問題,實(shí)現(xiàn)目的,技術(shù)方案1涉及的發(fā)明是一種計(jì)算 機(jī),具有將表示虛擬地址與絕對地址的對應(yīng)的多個地址轉(zhuǎn)換對作為頁表 保持的主TLB,和保持主TLB中保持的頁表的一部分的微TLB,其特 征在于包括頁大小檢測單元,在讀出所述主TLB中保持的地址轉(zhuǎn)換 對并登記到微TLB時,檢測讀出的地址轉(zhuǎn)換對的頁大小;位數(shù)決定單 元,根據(jù)所述頁大小檢測單元檢測出的頁大小,將所述讀出的地址轉(zhuǎn)換 對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址 中附加的虛擬地址的位數(shù);登記單元,對所述位數(shù)決定單元決定的位數(shù) 附加虛擬地址,并且將表示已切割為所述規(guī)定的頁大小的切割信息附加 到所述切割后的地址轉(zhuǎn)換對,并登記到微TLB;地址搜索單元,在從處 理器接收到從所述虛擬地址向物理地址的地址轉(zhuǎn)換請求的情況下,根據(jù)由所述登記單元登記到微TLB的地址轉(zhuǎn)換對的切割信息,決定用于搜
從所述微TLB中搜索將由所決定的搜索對象位表示的虛擬地址與所述 地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對;以及地址應(yīng)答單 元,在所述地址搜索單元從微TLB中搜索到將由搜索對象位表示的虛 擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對的 情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器應(yīng)答,在所述地 址搜索單元未搜索到地址轉(zhuǎn)換對的情況下,向主TLB發(fā)送所述地址轉(zhuǎn) 換請求。
此外,技術(shù)方案2涉及的發(fā)明的特征在于,在上述發(fā)明的基礎(chǔ)上, 所述頁大小檢測單元檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種;所述位數(shù)決定單元在所述頁 大小檢測單元檢測出讀出的地址轉(zhuǎn)換對的頁大小是64K的情況下,將所 述讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換對中包 含的絕對地址中附加的虛擬地址的位數(shù)是15位至13位,在所述頁大小 檢測單元檢測出讀出的地址轉(zhuǎn)換對的頁大小是512K的情況下,將所述 讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含 的絕對地址中附加的虛擬地址的位數(shù)是18位至13位,在所述頁大小檢 測單元檢測出讀出的地址轉(zhuǎn)換對的頁大小是32M的情況下,將所述讀 出的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的 絕對地址中附加的虛擬地址的位數(shù)是24位至22位,在所述頁大小檢測 單元檢測出讀出的地址轉(zhuǎn)換對的頁大小是256M的情況下,將所述讀出 的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的絕 對地址中附加的虛擬地址的位數(shù)是27位至22位,在所述頁大小檢測單 元檢測出讀出的地址轉(zhuǎn)換對的頁大小是8K或者4M的情況下,不切割 所述讀出的地址轉(zhuǎn)換對,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址 中附加的虛擬地址的位數(shù)是O位;所述地址搜索單元在從處理器接收到 所述地址轉(zhuǎn)換請求的情況下,根據(jù)所述登記單元在微TLB中登記的地 址轉(zhuǎn)換對的切割信息,決定與8K或者4M對應(yīng)的地址轉(zhuǎn)換請求的搜索 對象位,從所述微TLB中搜索將由所決定的搜索對象位表示的虛擬地 址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對。
此外,技術(shù)方案3涉及的發(fā)明是一種TLB控制方法,適用于具有
9付衣^巡《"地:&t與絶對地址的對勝的,^、地:St稱狹對1f刃貝衣休符的 主TLB,和保持主TLB中保持的頁表的一部分的微TLB的計(jì)算機(jī),其 特征在于包括頁大小檢測步驟,在讀出所述主TLB中保持的地址轉(zhuǎn) 換對并登記到微TLB時,檢測讀出的地址轉(zhuǎn)換對的頁大小;位數(shù)決定 步驟,根據(jù)所述頁大小檢測步驟檢測出的頁大小,將所述讀出的地址轉(zhuǎn) 換對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地 址中附加的虛擬地址的位數(shù);登記步驟,對所述位數(shù)決定步驟決定的位 數(shù)附加虛擬地址,并且將表示已切割為所述規(guī)定的頁大小的切割信息附 加到所述切割后的地址轉(zhuǎn)換對,并登記到微TLB;地址搜索步驟,在從 處理器接收到從所述虛擬地址向物理地址的地址轉(zhuǎn)換請求的情況下,根 據(jù)由所述登記步驟登記到微TLB的地址轉(zhuǎn)換對的切割信息,決定用于 搜索所述微TLB中登記的地址轉(zhuǎn)換對的所述地址轉(zhuǎn)換請求的搜索對象 位,從所述微TLB中搜索將由決定的搜索對象位表示的虛擬地址與所 述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對;以及地址應(yīng)答 步驟,在所述地址搜索步驟從微TLB中搜索到將由搜索對象位表示的 虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對 的情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器應(yīng)答,在所述 地址搜索步驟未搜索到地址轉(zhuǎn)換對的情況下,向主TLB發(fā)送所述地址 轉(zhuǎn)換請求。
此外,技術(shù)方案4涉及的發(fā)明的特征在于,在上述發(fā)明的基礎(chǔ)上, 所述頁大小檢測步驟檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種;所述位數(shù)決定步驟在所述頁 大小檢測步驟檢測出讀出的地址轉(zhuǎn)換對的頁大小是64K的情況下,將所 述讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換對中包 含的絕對地址中附加的虛擬地址的位數(shù)是15位至13位,在所述頁大小 檢測步驟檢測出讀出的地址轉(zhuǎn)換對的頁大小是512K的情況下,將所述 讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含 的絕對地址中附加的虛擬地址的位數(shù)是18位至13位,在所述頁大小檢 測步驟檢測出讀出的地址轉(zhuǎn)換對的頁大小是32M的情況下,將所述讀 出的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的 絕對地址中附加的虛擬地址的位數(shù)是24位至22位,在所述頁大小檢測 步驟檢測出讀出的地址轉(zhuǎn)換對的頁大小是256M的情況下,將所述讀出的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的絕 對地址中附加的虛擬地址的位數(shù)是27位至22位,在所述頁大小檢測步 驟檢測出讀出的地址轉(zhuǎn)換對的頁大小是8K或者4M的情況下,不切割 所述讀出的地址轉(zhuǎn)換對,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址 中附加的虛擬地址的位數(shù)是O位;所述地址搜索步驟在從處理器接收到 所述地址轉(zhuǎn)換請求的情況下,根據(jù)所述登記步驟在微TLB中登記的地 址轉(zhuǎn)換對的切割信息,決定與8K或者4M對應(yīng)的地址轉(zhuǎn)換請求的搜索 對象位,從所述微TLB中搜索將由所決定的搜索對象位表示的虛擬地 址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對。
此外,技術(shù)方案5涉及的發(fā)明是一種TLB控制程序,由作為具有
主TLB,和保持主TLB中保持的頁表的一部分的微TLB的計(jì)算機(jī)的計(jì) 算機(jī)執(zhí)行,其特征在于包括頁大小檢測過程,在讀出所述主TLB中 保持的地址轉(zhuǎn)換對并登記到微TLB時,檢測讀出的地址轉(zhuǎn)換對的頁大 ?。晃粩?shù)決定過程,根據(jù)所述頁大小檢測過程檢測出的頁大小,將所述 讀出的地址轉(zhuǎn)換對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中 包含的絕對地址中附加的虛擬地址的位數(shù);登記過程,對所述位數(shù)決定 過程決定的位數(shù)附加虛擬地址,并且將表示已切割為所述規(guī)定的頁大小 的切割信息附加到所述切割后的地址轉(zhuǎn)換對,并登記到微TLB;地址搜 索過程,在從處理器接收到從所述虛擬地址向物理地址的地址轉(zhuǎn)換請求 的情況下,根據(jù)由所述登記過程登記到微TLB的地址轉(zhuǎn)換對的切割信 息,決定用于搜索所述微TLB中登記的地址轉(zhuǎn)換對的所述地址轉(zhuǎn)換請 求的搜索對象位,從所述微TLB中搜索將由決定的搜索對象位表示的 虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對; 以及地址應(yīng)答過程,在所述地址搜索過程從微TLB中搜索到將由搜索 對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記 的地址轉(zhuǎn)換對的情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器 應(yīng)答,在所述地址搜索過程未搜索到地址轉(zhuǎn)換對的情況下,向主TLB 發(fā)送所述地址轉(zhuǎn)換請求。
此外,技術(shù)方案6涉及的發(fā)明的特征在于,在上述發(fā)明的基礎(chǔ)上, 所述頁大小檢測過程檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種;所述位數(shù)決定過程在所述頁
ii大小檢測過程檢測出讀出的地址轉(zhuǎn)換對的頁大小是64K的情況下,將所 述讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換對中包 含的絕對地址中附加的虛擬地址的位數(shù)是15位至13位,在所述頁大小 檢測過程檢測出讀出的地址轉(zhuǎn)換對的頁大小是512K的情況下,將所述 讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含 的絕對地址中附加的虛擬地址的位數(shù)是18位至13位,在所述頁大小檢 測過程檢測出讀出的地址轉(zhuǎn)換對的頁大小是32M的情況下,將所述讀 出的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的 絕對地址中附加的虛擬地址的位數(shù)是24位至22位,在所述頁大小檢測 過程檢測出讀出的地址轉(zhuǎn)換對的頁大小是256M的情況下,將所述讀出 的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的絕 對地址中附加的虛擬地址的位數(shù)是27位至22位,在所述頁大小檢測過 程檢測出讀出的地址轉(zhuǎn)換對的頁大小是8K或者4M的情況下,不切割 所述讀出的地址轉(zhuǎn)換對,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址 中附加的虛擬地址的位數(shù)是0位;所述地址搜索過程在從處理器接收到 所述地址轉(zhuǎn)換請求的情況下,根據(jù)所述登記步驟在微TLB中登記的地 址轉(zhuǎn)換對的切割信息,決定與8K或者4M對應(yīng)的地址轉(zhuǎn)換請求的搜索 對象位,從所述微TLB中搜索將由所決定的搜索對象位表示的虛擬地 址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對。
根據(jù)本發(fā)明,在讀出主TLB中保持的地址轉(zhuǎn)換對并登記到微TLB 時,檢測讀出的地址轉(zhuǎn)換對的頁大小,根據(jù)檢測出的頁大小,將讀出的 地址轉(zhuǎn)換對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中包含的 絕對地址中附加的虛擬地址的位數(shù),對決定的位數(shù)附加虛擬地址,并且 將表示已切割為規(guī)定的頁大小的切割信息附加到切割后的地址轉(zhuǎn)換對 并登記到微TLB,在從處理器接收到從虛擬地址向物理地址的地址轉(zhuǎn)換 請求的情況下,根據(jù)微TLB中登記的地址轉(zhuǎn)換對的切割信息,決定用 于搜索微TLB中登記的地址轉(zhuǎn)換對的地址轉(zhuǎn)換請求的搜索對象位,從 微TLB中搜索將由決定的搜索對象位表示的虛擬地址與地址轉(zhuǎn)換請求 中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對,在從微TLB中搜索到將由搜 索對象位表示的虛擬地址與地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的 地址轉(zhuǎn)換對的情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器應(yīng) 答,在未搜索到地址轉(zhuǎn)換對的情況下,向主TLB發(fā)送地址轉(zhuǎn)換請求,200780053345.1
因此能夠減少地址比較條件,提高處理性能。
例如,微TLB中僅登記規(guī)定的頁大小的地址轉(zhuǎn)換對,因此配合規(guī) 定的頁大小搜索虛擬地址便可,與登記各種頁大小的情況相比,能夠減 少地址比較條件,提高處理性能。
此外,根據(jù)本發(fā)明,檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種,在檢測出讀出的地址轉(zhuǎn)換對 的頁大小是64K的情況下,將讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定 向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位數(shù)是 15位至13位,在檢測出讀出的地址轉(zhuǎn)換對的頁大小是512K的情況下, 將讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換對中包 含的絕對地址中附加的虛擬地址的位數(shù)是18位至13位,在檢測出讀出 的地址轉(zhuǎn)換對的頁大小是32M的情況下,將讀出的地址轉(zhuǎn)換對切割為 4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬 地址的位數(shù)是24位至22位,在檢測出讀出的地址轉(zhuǎn)換對的頁大小是 256M的情況下,將讀出的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切割后
位,在檢測出讀出的地址轉(zhuǎn)換對的頁大小是8K或者^M的情況;,不 切割讀出的地址轉(zhuǎn)換對,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址 中附加的虛擬地址的位數(shù)是O位,在從處理器接收到地址轉(zhuǎn)換請求的情 況下,根據(jù)微TLB中登記的地址轉(zhuǎn)換對的切割信息,決定與8K或者 4M對應(yīng)的地址轉(zhuǎn)換請求的搜索對象位,從微TLB中搜索將由所決定的 搜索對象位表示的虛擬地址與地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記 的地址轉(zhuǎn)換對,因此能夠減少地址比較條件,提高處理性能。
例如,如果地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K字節(jié)則切割為 8K,如果是4M、 32M、 256M字節(jié)則切割為4M,并登記到微TLB中, 由此,在微TLB中,僅存儲8K或者4M頁大小的地址轉(zhuǎn)換對。因此, 微TLB接收到地址轉(zhuǎn)換請求后,使用頁大小為4M時的虛擬地址[63:22] 和頁大小為8K時的虛擬地址[63:13這兩種模式之一,搜索微TLB中保 持的地址轉(zhuǎn)換對便可,因此能夠減少地址比較條件,提高處理性能。
1

圖l是用于說明第一實(shí)施例涉及的計(jì)算機(jī)的概要和特征的圖。
圖2是表示第一實(shí)施例涉及的計(jì)算機(jī)的結(jié)構(gòu)的方框圖。 圖3是表示切割前后的絕對地址的圖。
圖4是用于說明第一實(shí)施例涉及的計(jì)算機(jī)中的微TLB的電路結(jié)構(gòu) 的圖。
圖5是表示第一實(shí)施例涉及的計(jì)算機(jī)中的微TLB的地址轉(zhuǎn)換對登 記處理的流程的流程圖。
圖6是表示第一實(shí)施例涉及的計(jì)算機(jī)中的微TLB的地址轉(zhuǎn)換對搜 索處理的流程的流程圖。
圖7是用于說明以往的技術(shù)的圖。
圖8是表示以往的技術(shù)中的地址轉(zhuǎn)換對搜索電路的例子的圖。
符號說明
10 計(jì)算機(jī)
11 CPU
lla運(yùn)算部/命令控制部
20 Ll高速緩存控制部
21 Ll高速緩存RAM
22 主TLB
23 微TLB
24 存儲部
25 頁大小檢測部26 位數(shù)決定部
27 登記部
28 地址搜索部
29 地址應(yīng)答部
30 L2高速緩存控制部
31 L2高速緩存RAM40主存儲部(存儲器)
具體實(shí)施例方式
以下參照附圖詳細(xì)說明本發(fā)明涉及的計(jì)算機(jī)、TLB控制方法以及TLB控制程序的實(shí)施例。另外,下面,依次說明本實(shí)施例涉及的計(jì)算機(jī)(運(yùn)算處理裝置)的概要以及特征、計(jì)算機(jī)的結(jié)構(gòu)以及處理流程,最后說明對本實(shí)施例的各種變形例。
第一實(shí)施例
計(jì)算機(jī)的概要以及特征]
首先,使用圖l說明第一實(shí)施例涉及的計(jì)算機(jī)的概要以及特征。圖1是用于說明第一實(shí)施例涉及的計(jì)算機(jī)的概要和特征的圖。
如圖1所示,該計(jì)算機(jī)包括將表示虛擬地址與絕對地址的對應(yīng)的多個地址轉(zhuǎn)換對作為頁表保持的主TLB,和保持主TLB中保持的頁表的一部分的微TLB。此外,在微TLB中,將TLB虛擬地址[63:13
與TLB絕對地址[46:13對應(yīng)地登記。
在此,說明主TLB與微TLB的基本動作。例如,在從CPU的運(yùn)算部或命令控制部等輸出了請求從虛擬地址到物理地址的轉(zhuǎn)換的地址轉(zhuǎn)換請求后,計(jì)算機(jī)將該地址轉(zhuǎn)換請求輸入到微TLB。然后,計(jì)算機(jī)根據(jù)微TLB中保持的項(xiàng)的頁大小,決定成為搜索對象的虛擬地址的范圍,判斷決定的地址轉(zhuǎn)換請求中包含的虛擬地址的范圍的值與微TLB中保持的地址轉(zhuǎn)換對是否一致。并且,計(jì)算機(jī)在判斷為與微TLB中保持的 地址轉(zhuǎn)換對一致的情況下(微TLB命中),向運(yùn)算部或命令控制部應(yīng)答 對應(yīng)的絕對地址,在判斷為不一致的情況下(微TLB未中),向主TLB 輸出該地址轉(zhuǎn)換請求。
并且,計(jì)算機(jī)將地址轉(zhuǎn)換請求輸入到主TLB后,與微TLB同樣地, 搜索主TLB中保持的地址轉(zhuǎn)換對,在有一致的項(xiàng)的情況下,讀出對應(yīng) 的地址轉(zhuǎn)換對并向微TLB輸出。此外,計(jì)算機(jī)在主TLB中未保持一致 的地址轉(zhuǎn)換對的情況下,對主存儲部(主存儲器)輸出地址轉(zhuǎn)換請求, 主存儲部向主TLB應(yīng)答對應(yīng)于地址轉(zhuǎn)換請求的對應(yīng)的絕對地址。另外, 所謂地址轉(zhuǎn)換對,是將虛擬地址與物理地址相對應(yīng)的對應(yīng)表,主TLB 或者微TLB在輸入了包含虛擬地址的地址轉(zhuǎn)換請求的情況下,從保持 的地址轉(zhuǎn)換對中搜索與該虛擬地址對應(yīng)的物理地址。
在這種狀態(tài)下,如上所述,該計(jì)算機(jī)的大體結(jié)構(gòu)是針對來自運(yùn)算部 和命令控制部等的地址轉(zhuǎn)換請求,應(yīng)答在主TLB、微TLB或者主存儲 部中保持的絕對地址,特別地,其主要特征在于能夠減少地址比較條件, 提高處理性能。
具體說明該主要特征,計(jì)算機(jī)在讀出主TLB中保持的地址轉(zhuǎn)換對 并登記到微TLB中時,檢測讀出的地址轉(zhuǎn)換對的頁大小(參照圖1的 (l))。具體舉例說明,在CPU的運(yùn)算部或命令控制部等輸出了地址轉(zhuǎn) 換請求后,計(jì)算機(jī)將該地址轉(zhuǎn)換請求輸入到微TLB。并且,在發(fā)生了微 TLB未中后,計(jì)算機(jī)將該地址轉(zhuǎn)換請求輸出到主TLB,從主TLB應(yīng)答 物理地址。在此,計(jì)算機(jī)對微TLB輸出主TLB保持的地址轉(zhuǎn)換對中與 地址轉(zhuǎn)換請求對應(yīng)的地址轉(zhuǎn)換對。于是,計(jì)算機(jī)檢測從主TLB輸出的 地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的 哪一個。
接著,計(jì)算機(jī)根據(jù)檢測出的頁大小,將讀出的地址轉(zhuǎn)換對切割為規(guī) 定的頁大小,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛 擬地址的位(參照圖1的(2))。具體舉例_說明,在從主TLB讀出64K (或512K)的頁大小并檢測出頁大小后,計(jì)算機(jī)將讀出的地址轉(zhuǎn)換對 切割為8K的頁大小,即刪除地址轉(zhuǎn)換對搜索中不需要的偏移地址。并 且,計(jì)算機(jī)決定向切割為8K后的原始大小為64K的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位是15位至13位。
并且,計(jì)算機(jī)附加針對所決定的位的虛擬地址,并且將表示已切割 為規(guī)定的頁大小的切割信息附加到切割后的地址轉(zhuǎn)換對中并登記到微 TLB (參照圖1的(3))。使用上述的例子進(jìn)行具體說明,計(jì)算機(jī)對所 決定的15位至13位,附加主TLB中保持的虛擬地址(TLB虛擬地址), 并且將表示已將64K的頁大小切割為8K的切割信息附加到切割后的 8K的地址轉(zhuǎn)換對中并登記到微TLB。
同樣,若從主TLB對微TLB輸出了地址轉(zhuǎn)換對,則計(jì)算機(jī)檢測出 從主TLB輸出的地址轉(zhuǎn)換對的頁大小為256M字節(jié)(參照圖1的(4))。 接著,若從主TLB中讀出256M (或者32M )的頁大小而檢測出頁大 小后,計(jì)算機(jī)將讀出的地址轉(zhuǎn)換對切割為4M的頁大小,決定向巳切割 為4M的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位是27位 至22位(參照圖1的(5))。并且,計(jì)算機(jī)對所決定的27位至22位, 附加主TLB中保持的TLB虛擬地址,并且將表示已將256M的頁大小 切割為4M的切割信息附加到切割后的4M的地址轉(zhuǎn)換對中并登記到微 TLB (參照圖1的(6))。
由此,在微TLB中登記有8K或4M中任一種頁大小的地址轉(zhuǎn)換對。 若在這種狀態(tài)下從處理器的運(yùn)算部或命令控制部接收到了地址轉(zhuǎn)換請 求,則計(jì)算機(jī)在從處理器接收了從虛擬地址到物理地址的地址轉(zhuǎn)換請求 的情況下,根據(jù)微TLB中登記的地址轉(zhuǎn)換對的頁大小,決定用于搜索 微TLB中登記的地址轉(zhuǎn)換對的地址轉(zhuǎn)換請求的搜索對象位,從微TLB 中搜索將由所決定的搜索對象位表示的虛擬地址與地址轉(zhuǎn)換請求中包 含的上下文對應(yīng)登記的地址轉(zhuǎn)換對(參照圖1的(7))。
接著,計(jì)算機(jī)在從微TLB中搜索到將由搜索對象位表示的虛擬地 址與地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對的情況下,根 據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器應(yīng)答,在未搜索到地址轉(zhuǎn)換 對的情況下,向主TLB發(fā)送地址轉(zhuǎn)換請求(參照圖l的(8))。
使用上述的例子具體說明,若從運(yùn)算部或命令控制部接收到了地址 轉(zhuǎn)換請求,則計(jì)算機(jī)將微TLB中存儲的頁大小為4M時的虛擬地址的 搜索對象位[63:22設(shè)為該地址轉(zhuǎn)換請求的搜索對象位。并且,計(jì)算機(jī)從微TLB中搜索與地址轉(zhuǎn)換請求的搜索對象位[63:22和上下文[12:0一致 的地址轉(zhuǎn)換對。并且,若搜索到一致的地址轉(zhuǎn)換對,則計(jì)算機(jī)參照該地 址轉(zhuǎn)換對中包含的切割信息。在該切割信息為4M的情況下,計(jì)算機(jī)取
答。例如,在搜索到的地址轉(zhuǎn)換對原來為32M頁大小的情況下,搜索 到的地址轉(zhuǎn)換對的絕對地址[46:22中包含虛擬地址[24:22。因此,計(jì)算
地址[24:22,計(jì)算正確的絕對地址并向運(yùn)算部或命令控制部應(yīng)答。
此外,在參照的切割信息為8K的情況下,計(jì)算機(jī)取得搜索到的地 址轉(zhuǎn)換對的絕對地址[46:13]并向運(yùn)算部或命令控制部應(yīng)答。例如,在搜 索到的地址轉(zhuǎn)換對原來為64K頁大小的情況下,搜索到的地址轉(zhuǎn)換對的 絕對地址[46:13中包含虛擬地址[18:13。因此,計(jì)算機(jī)根據(jù)取得的地址 轉(zhuǎn)換對的絕對地址[46:13和絕對地址中包含的虛擬地址[18:13,計(jì)算正 確的絕對地址并向運(yùn)算部或命令控制部應(yīng)答。
在此,詳細(xì)說明對切割后的地址轉(zhuǎn)換對附加虛擬地址并登記的情 況。例如,若從主TLB向微TLB輸出了 64K頁大小的地址轉(zhuǎn)換對,則 計(jì)算機(jī)將該64K的地址轉(zhuǎn)換對切割為8K。但是,64K的地址轉(zhuǎn)換對的 絕對地址為[46:16,偏移地址為[15:13], 8K的地址轉(zhuǎn)換對的絕對地址 為[46:13,不存在偏移地址。因此,在將64K頁大小的地址轉(zhuǎn)換對切割 為8K并登記到微TLB的情況下,計(jì)算機(jī)無法應(yīng)答正確的絕對地址。即, 微TLB中登記的8K頁大小的地址轉(zhuǎn)換對的絕對地址為[46:13,64K的 地址轉(zhuǎn)換對的絕對地址為[46:16],因此缺少[15:13的部分。因此,通過 對該缺少的位數(shù)15:13附加TLB虛擬地址,來補(bǔ)充絕對地址的位數(shù)。
同樣,若從主TLB向微TLB輸出了 256M頁大小的地址轉(zhuǎn)換對, 則計(jì)算機(jī)將該256M的地址轉(zhuǎn)換對切割為4M。但是,256M的地址轉(zhuǎn)換 對的絕對地址為[46:28,偏移地址為[27:13], 4M的地址轉(zhuǎn)換對的絕對 地址為[46:22],偏移地址為[21:13]。因此,在將256M頁大小的地址轉(zhuǎn) 換對切割為4M并登記到微TLB的情況下,計(jì)算機(jī)無法應(yīng)答正確的絕 對地址。即,微TLB中登記的4M頁大小的地址轉(zhuǎn)換對的絕對地址為 [46:22], 256M的地址轉(zhuǎn)換對的絕對地址為[46:28,因此缺少[27:22的 部分。因此,通過對該缺少的位數(shù)[27:22]附加TLB虛擬地址,來補(bǔ)充
18絕對地址的位數(shù)。
這樣,將8K、 64K、 512K的頁大小全部切割為8K,將4M、 32M、 256M的頁大小全部切割為4M并登記到微TLB,由此,在微TLB中 僅登記8K或4M的地址轉(zhuǎn)換對。在這種狀態(tài)下,若接收到包含虛擬地 址[63:13]和上下文12:0的地址轉(zhuǎn)換請求,則計(jì)算機(jī)首先從微TLB中搜 索與4M頁大小的虛擬地址[63:22]和上下文[12:0]—致的地址轉(zhuǎn)換對。 并且,若搜索到與虛擬地址[63:22和上下文[12:0一致的地址轉(zhuǎn)換對, 則計(jì)算機(jī)參照該地址轉(zhuǎn)換對的切割信息,判斷該地址轉(zhuǎn)換對是8K還是 4M。
在此,在判斷為是4M的情況下,計(jì)算機(jī)以與虛擬地址[63:22和上 下文[12:0一致為前提應(yīng)答絕對地址,在判斷為是8K的情況下,進(jìn)一步 判定虛擬地址[21:13是否一致。這樣,以往,分別與8K、 64K、 512K、 4M、 32M、 256M字節(jié)的頁大小相應(yīng)搜索的虛擬地址的位的位置不同, 因此必須進(jìn)行與各種頁大小相應(yīng)的搜索,但是本發(fā)明根據(jù)8K或4M頁 大小中的任一種進(jìn)行搜索便可。
這樣,第一實(shí)施例涉及的計(jì)算機(jī)在將從主TLB輸出的地址轉(zhuǎn)換對 登記到微TLB時,能夠切割為8K或4M頁大小后登記,其結(jié)果是,由 于上述的主要特征,能夠減少地址比較條件,提高處理性能。 接著,使用圖2說明圖l所示的計(jì)算機(jī)的結(jié)構(gòu)。圖2是表示第一實(shí) 施例涉及的計(jì)算機(jī)的結(jié)構(gòu)的方框圖。如圖2所示,該計(jì)算機(jī)10由CPU 11 包含的運(yùn)算部/命令控制部lla、 Ll高速緩存控制部20、 L2高速緩存控 制部30和主存儲部40構(gòu)成。
CPU 11是執(zhí)行主存儲部40中存儲的各種程序的處理部,作為與本 發(fā)明特別密切相關(guān)的部件,包括運(yùn)算部/命令控制部lla和Ll高速緩存 控制部20。
運(yùn)算部/命令控制部lla根據(jù)由CPU 11執(zhí)行的運(yùn)算處理輸出與數(shù)據(jù) 的寫入以及讀出有關(guān)的命令,從后述的微TLB 23、主TLB 22、 Ll高 速緩存RAM 21、 L2高速緩存RAM 31或主存儲部40中取得需要的數(shù)據(jù),進(jìn)行對取得的數(shù)據(jù)的運(yùn)算處理。
Ll高速緩存控制部20,是執(zhí)行以下操作的處理部在從運(yùn)算部/命令控制部lla取得了虛擬地址的情況下,從L1高速緩存RAM 21取得對應(yīng)的數(shù)據(jù)并向運(yùn)算部/命令控制部lla輸出,在L1高速緩存RAM21中不存在對應(yīng)的數(shù)據(jù)的情況下,向L2高速緩存控制部30輸出L2高速緩存地址訪問,作為與本發(fā)明特別密切相關(guān)的部件,包括L1高速緩存RAM 21、主TLB 22和微TLB 23。
Ll高速緩存RAM21是與CPU 11集成或安裝在相同模塊中的高速并且小容量的存儲器,用于通過存儲使用頻率高的數(shù)據(jù)來暫時保持由CPU 11執(zhí)行的命令和數(shù)據(jù),在由主存儲部40來得及供應(yīng)新數(shù)據(jù)的期間,供應(yīng)一定量的數(shù)據(jù)以使CPU 11能夠繼續(xù)執(zhí)行處理。
主TLB 22將主存上配置的表示虛擬地址與物理地址的對應(yīng)的多個地址轉(zhuǎn)換對作為頁表保持。具體舉例說明,由運(yùn)算部/命令控制部lla向微TLB23發(fā)送地址轉(zhuǎn)換請求,若發(fā)生TLB未中,則主TLB22從微TLB 23接收地址轉(zhuǎn)換請求,應(yīng)答針對該地址轉(zhuǎn)換請求的物理地址。此夕卜,主TLB 22在未保持與微TLB23的地址轉(zhuǎn)換請求對應(yīng)的物理地址的情況下,將該地址轉(zhuǎn)換請求向主存儲部40輸出。
微TLB23保持主TLB中保持的頁表的一部分,并且,作為與本發(fā)明特別密切相關(guān)的部件,包括存儲部24、頁大小檢測部25、位數(shù)決定部26、登記部27、地址搜索部28和地址應(yīng)答部29。
存儲部24將由后述的登記部27登記的主TLB 22中保持的物理地址、與該物理地址關(guān)聯(lián)的虛擬地址和有效上下文ID相對應(yīng)地作為項(xiàng)存儲。具體舉例說明,存儲部24將TAG部和數(shù)據(jù)部對應(yīng)存儲,該TAG部由虛擬地址[63:13和上下文[12:0構(gòu)成,數(shù)據(jù)部由物理地址[46:13和屬性(attributes ) [12:0構(gòu)成。
頁大小檢測部25在讀出主TLB 22中保持的地址轉(zhuǎn)換對并登記到微TLB時,檢測讀出的地址轉(zhuǎn)換對的頁大小。具體舉例說明,若發(fā)生了微TLB未中,并接收到從主TLB22輸出的地址轉(zhuǎn)換對,則頁大小檢測部25檢測接收到的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、256M字節(jié)中的哪一種。
位數(shù)決定部26根據(jù)頁大小檢測部25檢測出的頁大小,將從主TLB22讀出的地址轉(zhuǎn)換對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位數(shù)。具體舉例說明,在從主TLB22讀出的地址轉(zhuǎn)換對的頁大小為8K的情況下,位數(shù)決定部26不進(jìn)行切割,而通知給后述的登記部27,在是64K的情況下,切割為8K并決定要附加的虛擬地址的位數(shù)為[15:13,在為512K的情況下,切割為8K并決定要附加的虛擬地址的位數(shù)為[18:13,并通知給登記部27。
此外,在從主TLB22讀出的地址轉(zhuǎn)換對的頁大小為4M的情況下,位數(shù)決定部26不進(jìn)行切割,而通知給后述的登記部27,在為32M的情況下,切割為4M并決定要附加的虛擬地址的位數(shù)為[24:22,在為256M的情況下,切割為4M并決定要附加的虛擬地址的位數(shù)為27:22],并通知給登記部27。
登記部27對位數(shù)決定部26決定的位數(shù)附加虛擬地址,并且將表示已切割為規(guī)定的頁大小的切割信息附加到切割后的地址轉(zhuǎn)換對后登記到微TLB23。具體舉例說明,如圖3所示,登記部27在將64K切割為8K,由位數(shù)決定部26決定要附加的虛擬地址的位數(shù)為[15:13
的情況下,對[15:13附加虛擬地址,在將512K切割為8K,并由位數(shù)決定部26決定要附加的虛擬地址的位數(shù)為[18:13的情況下,對[18:13附加虛擬地址,在將32M切割為4M,并由位數(shù)決定部26決定要附加的虛擬地址的位數(shù)為[24:22的情況下,對[24:221附加虛擬地址,在將256M切割為4M,并由位數(shù)決定部26決定要附加的虛擬地址的位數(shù)為[27:22的情況下,對[27:22]附加虛擬地址,并登記到存儲部24。另外,圖3是表示切割前后的絕對地址的圖。
在從處理器接收到從虛擬地址向物理地址的地址轉(zhuǎn)換請求的情況下,地址搜索部28根據(jù)微TLB 23的存儲部24中登記的地址轉(zhuǎn)換對的切割信息,決定用于搜索微TLB 23的存儲部24中登記的地址轉(zhuǎn)換對的地址轉(zhuǎn)換請求的搜索對象位,并從微TLB 23的存儲部24中搜索將由所決定的搜索對象位表示的虛擬地址與地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對。
21具體舉例說明,在地址搜索部28從處理器(CPU)的運(yùn)算部/命令控制部lla輸入地址轉(zhuǎn)換請求后,地址搜索部28從存儲部24中搜索與該地址轉(zhuǎn)換請求中包含的虛擬地址[63:13]中的[63:22I和上下文[12:0一致的地址轉(zhuǎn)換對。并且,在搜索到一致的地址轉(zhuǎn)換對后,地址搜索部28判斷搜索到的地址轉(zhuǎn)換對的切割信息是"8K,,還是"4M"。
并且,地址搜索部28在切割信息是"4M,,的情況下,向后述的地址應(yīng)答部29通知已搜索到與地址轉(zhuǎn)換請求對應(yīng)的地址轉(zhuǎn)換對,在切割信息是"8K"的情況下,判定在該地址轉(zhuǎn)換請求包含的虛擬地址[63:13中的、之前搜索的[63:22以外的[21:13I中存儲的虛擬地址與該搜索到的地址轉(zhuǎn)換對的虛擬地址[21:13]是否一致。而且,在之前搜索的[63:22以外的[21:13中存儲的虛擬地址與該搜索到的地址轉(zhuǎn)換對的虛擬地址[21:13一致的情況下,地址搜索部28向后述的地址應(yīng)答部29通知已搜索到與地址轉(zhuǎn)換請求對應(yīng)的地址轉(zhuǎn)換對,在不一致的情況下,向地址應(yīng)答部29通知TLB未中。
地址應(yīng)答部29,在地址搜索部28從微TLB中搜索到將由搜索對象位表示的虛擬地址與地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對的情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算絕對地址并向處理器應(yīng)答,在未搜索到地址轉(zhuǎn)換對的情況下,向主TLB 22發(fā)送地址轉(zhuǎn)換請求。
具體舉例說明,地址應(yīng)答部29,在被通知了已搜索到與地址轉(zhuǎn)換請求對應(yīng)的地址轉(zhuǎn)換對后,參照所通知的地址轉(zhuǎn)換對的切割信息,如果切割信息是"8K",則取得地址轉(zhuǎn)換對的絕對地址[46:13],如果切割信息是"4M",則取得地址轉(zhuǎn)換對的絕對地址[46:22,根據(jù)已取得的絕對地址和該絕對地址中包含的虛擬地址,計(jì)算正確的絕對地址并向運(yùn)算部/命令控制部lla應(yīng)答。
另一方面,在被通知了未搜索到與地址轉(zhuǎn)換請求對應(yīng)的地址轉(zhuǎn)換對(微TLB未中)后,地址應(yīng)答部29向主TLB發(fā)送地址轉(zhuǎn)換請求。
L2高速緩存控制部30包括L2高速緩存RAM 31,在從Ll高速緩存控制部20取得L2高速緩存訪問地址的情況下,從L2高速緩存RAM31中讀出與已取得的L2高速緩存訪問地址對應(yīng)的數(shù)據(jù),并向Ll高速緩存控制部20輸出。L2高速緩存RAM 31是比Ll高速緩存RAM 21速度慢且比主存儲部40速度快,并且比Ll高速緩存RAM 21容量大且 比主存儲部40容量小的存儲器,存儲使用頻率高的數(shù)據(jù)。
主存儲部40是存儲CPU 11使用的數(shù)據(jù)、命令以及從虛擬地址向物 理地址的轉(zhuǎn)換表(頁表)的大容量的主存儲器,應(yīng)答來自CPU11的運(yùn) 算部/命令控制部lla、 Ll高速緩存控制部20和L2高速緩存控制部30 的請求,向提出請求的處理部應(yīng)答對應(yīng)的數(shù)據(jù)。的電路、比較作為8K頁大小時的虛擬地址區(qū)域的訪問虛 擬地址[21:131和TLB虛擬地址[21:13的電路、比較訪問上下文[12:0
和TLB上下文[12:0的電路、以及用于輸入項(xiàng)是有效還是無效的 Entry valid 。
并且,在用于比較訪問虛擬地址[21:13]和TLB虛擬地址[21:13的 電路上連接有用于輸入頁大小是否是4M的電路,在是4M的情況下, 不執(zhí)行該電路。并且,在訪問虛擬地址[63:22與TLB虛擬地址[63:22] 一致、訪問虛擬地址[21:13]與TLB虛擬地址[21:13]—致(僅在8K的情 況下有效)、訪問上下文[12:0]與TLB上下文[12:0一致、并且一致的地 址轉(zhuǎn)換對是"有效"的情況下,在微TLB23中取得絕對地址并向運(yùn)算 部/命令控制部lla應(yīng)答。這樣,與圖8所示的以往技術(shù)的比較電路相比 較也可以看出,本發(fā)明能夠大幅減少比較電路。
這樣,根據(jù)第一實(shí)施例,在讀出主TLB22中保持的地址轉(zhuǎn)換對并 登記到微TLB 23時,檢測所讀出的地址轉(zhuǎn)換對的頁大小,根據(jù)檢測出 的頁大小,將讀出的地址轉(zhuǎn)換對切割為規(guī)定的頁大小,決定向切割后的 地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位數(shù),對所決定的位 數(shù)附加虛擬地址,并且將表示已切割為規(guī)定的頁大小的切割信息附加到 切割后的地址轉(zhuǎn)換對并登記到微TLB 23,在從處理器(CPU)接收到 從虛擬地址向物理地址的地址轉(zhuǎn)換請求的情況下,^L據(jù)微TLB23中登 記的地址轉(zhuǎn)換對的切割信息,決定用于搜索微TLB23中登記的地址轉(zhuǎn) 換對的地址轉(zhuǎn)換請求的搜索對象位,從微TLB23中搜索將由所決定的 搜索對象位表示的虛擬地址與地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記 的地址轉(zhuǎn)換對,在從微TLB 23中搜索到將由搜索對象位表示的虛擬地 址與地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對的情況下,根 據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器應(yīng)答,在未搜索到地址轉(zhuǎn)換 對的情況下,向主TLB22發(fā)送地址轉(zhuǎn)換請求,因此能夠減少地址比較 條件,提高處理性能。
例如,在微TLB 23中僅登記規(guī)定的頁大小的地址轉(zhuǎn)換對,因此結(jié) 合規(guī)定的頁大小搜索虛擬地址便可,與登記各種頁大小的情況相比,能夠減少地址比較條件,提高處理性能。
此外,根據(jù)第一實(shí)施例,檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種,在檢測出讀出的地址 轉(zhuǎn)換對的頁大小是64K的情況下,將讀出的地址轉(zhuǎn)換對切割為8K字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是15位至13位,在檢測出讀出的地址轉(zhuǎn)換對的頁大小是512K的情 況下,將讀出的地址轉(zhuǎn)換對切割為8K字節(jié),決定向切割后的地址轉(zhuǎn)換 對中包含的絕對地址中附加的虛擬地址的位數(shù)是18位至13位,在檢測 出讀出的地址轉(zhuǎn)換對的頁大小是32M的情況下,將讀出的地址轉(zhuǎn)換對 切割為4M字節(jié),決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加 的虛擬地址的位數(shù)是24位至22位,在檢測出讀出的地址轉(zhuǎn)換對的頁大 小是256M的情況下,將讀出的地址轉(zhuǎn)換對切割為4M字節(jié),決定向切
至22位,在檢測出讀出的地址轉(zhuǎn)換對的頁大小是8K或者4;的情況下: 不切割讀出的地址轉(zhuǎn)換對,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地 址中附加的虛擬地址的位數(shù)是O位,在從處理器接收到地址轉(zhuǎn)換請求的 情況下,根據(jù)微TLB 23中登記的地址轉(zhuǎn)換對的切割信息,決定與8K 或者4M對應(yīng)的地址轉(zhuǎn)換請求的搜索對象位,從微TLB 23中搜索將由 所決定的搜索對象位表示的虛擬地址與地址轉(zhuǎn)換請求中包含的上下文 對應(yīng)登記的地址轉(zhuǎn)換對,因此能夠減少地址比較條件,提高處理性能。
例如,如果地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K字節(jié)則切割為 8K,如果是4M、 32M、 256M字節(jié)則切割為4M,并登記到微TLB23, 由此,在微TLB 23中,僅存儲8K或者4M的頁大小的地址轉(zhuǎn)換對。 因此,微TLB 23在接收到地址轉(zhuǎn)換請求后,使用頁大小為4M時的虛 擬地址[63:22和頁大小為8K時的虛擬地址[63:13這兩種模式之一,搜 索微TLB 23中保持的地址轉(zhuǎn)換對便可,因此能夠減少地址比較條件, 提高處理性能。
第二實(shí)施例
前面說明了本發(fā)明的實(shí)施例,但本發(fā)明也可以在上述實(shí)施例以外通 過各種不同的方式來實(shí)施。因此,如以下所示,對于系統(tǒng)結(jié)構(gòu)等說明不
同的實(shí)施例。(1)系統(tǒng)結(jié)構(gòu)等
此外,也能手動進(jìn)行本實(shí)施例中說明的各個處理中的作為自動進(jìn)行 的處理說明的處理(例如,來自主存儲部的包含物理地址的地址轉(zhuǎn)換對 (項(xiàng))的輸出處理等)的全部或一部分。此外,對于上述文本中或圖中 所示的處理過程、控制過程、具體的名稱、包含各種數(shù)據(jù)或參數(shù)的信息, 除了特別提到的情況以外能夠任意進(jìn)行變更。
此外,圖示的各裝置的各個結(jié)構(gòu)要素是功能概念上的要素,在物理 上不一定如圖示的那樣構(gòu)成。即,各裝置的分散、組合的具體方式并不 限定于圖示的方式,能夠根據(jù)各種負(fù)荷和使用狀況等,將其全部或一部 分以任意單位在功能上或物理上分散或組合(例如,組合頁大小檢測部 和位數(shù)決定部等)來構(gòu)成。
產(chǎn)業(yè)上的可利用性
如上所述,本發(fā)明涉及的計(jì)算機(jī)、TLB控制方法以及TLB控制程 序?qū)τ诎▽⒈硎咎摂M地址與絕對地址的對應(yīng)的多個地址轉(zhuǎn)換對作為 頁表保持的主TLB,和保持主TLB中保持的頁表的一部分的微TLB的 計(jì)算機(jī)是有效的,特別適于減少地址比較條件,提高處理性能。
2權(quán)利要求
1、一種計(jì)算機(jī),具有將表示虛擬地址與絕對地址的對應(yīng)的多個地址轉(zhuǎn)換對作為頁表保持的主TLB,和保持主TLB中保持的頁表的一部分的微TLB,其特征在于,包括頁大小檢測單元,在讀出所述主TLB中保持的地址轉(zhuǎn)換對并登記到微TLB時,檢測讀出的地址轉(zhuǎn)換對的頁大??;位數(shù)決定單元,根據(jù)所述頁大小檢測單元檢測出的頁大小,將所述讀出的地址轉(zhuǎn)換對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位數(shù);登記單元,對所述位數(shù)決定單元決定的位數(shù)附加虛擬地址,并且將表示已切割為所述規(guī)定的頁大小的切割信息附加到所述切割后的地址轉(zhuǎn)換對,并登記到微TLB;地址搜索單元,在從處理器接收到從所述虛擬地址向物理地址的地址轉(zhuǎn)換請求的情況下,根據(jù)由所述登記單元登記到微TLB的地址轉(zhuǎn)換對的切割信息,決定用于搜索所述微TLB中登記的地址轉(zhuǎn)換對的所述地址轉(zhuǎn)換請求的搜索對象位,從所述微TLB中搜索將由所決定的搜索對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對;以及地址應(yīng)答單元,在所述地址搜索單元從微TLB中搜索到將由搜索對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記的地址轉(zhuǎn)換對的情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器應(yīng)答,在所述地址搜索單元未搜索到地址轉(zhuǎn)換對的情況下,向主TLB發(fā)送所述地址轉(zhuǎn)換請求。
2、 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),其特征在于所述頁大小檢測單元檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種;所述位數(shù)決定單元在所述頁大小檢測單元檢測出讀出的地址轉(zhuǎn)換 對的頁大小是64K的情況下,將所述讀出的地址轉(zhuǎn)換對切割為8K字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是15位至13位,在所述頁大小檢測單元檢測出讀出的地址轉(zhuǎn)換對的 頁大小是512K的情況下,將所述讀出的地址轉(zhuǎn)換對切割為8K字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是18位至13位,在所述頁大小檢測單元檢測出讀出的地址轉(zhuǎn)換對的 頁大小是32M的情況下,將所述讀出的地址轉(zhuǎn)換對切割為4M字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位數(shù)是24位至22位,在所述頁大小檢測單元檢測出讀出的地址轉(zhuǎn)換對的 頁大小是256M的情況下,將所述讀出的地址轉(zhuǎn)換對切割為4M字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是27位至22位,在所述頁大小檢測單元檢測出讀出的地址轉(zhuǎn)換對的 頁大小是8K或者4M的情況下,不切割所述讀出的地址轉(zhuǎn)換對,決定 向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位數(shù)是0 位;所述地址搜索單元在從處理器接收到所述地址轉(zhuǎn)換請求的情況下, 根據(jù)所述登記單元在微TLB中登記的地址轉(zhuǎn)換對的切割信息,決定與 8K或者4M對應(yīng)的地址轉(zhuǎn)換請求的搜索對象位,從所述微TLB中搜索 將由所決定的搜索對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含 的上下文對應(yīng)登記的地址轉(zhuǎn)換對。
3、 一種TLB控制方法,適用于具有將表示虛擬地址與絕對地址的 對應(yīng)的多個地址轉(zhuǎn)換對作為頁表保持的主TLB,和保持主TLB中保持 的頁表的一部分的微TLB的計(jì)算機(jī),其特征在于包括頁大小檢測步驟,在讀出所述主TLB中保持的地址轉(zhuǎn)換對并登記 到微TLB時,檢測讀出的地址轉(zhuǎn)換對的頁大?。晃粩?shù)決定步驟,根據(jù)所述頁大小檢測步驟檢測出的頁大小,將所述 讀出的地址轉(zhuǎn)換對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中 包含的絕對地址中附加的虛擬地址的位數(shù);登記步驟,對所述位數(shù)決定步驟決定的位數(shù)附加虛擬地址,并且將 表示已切割為所述規(guī)定的頁大小的切割信息附加到所述切割后的地址 轉(zhuǎn)換對,并登記到微TLB;地址搜索步驟,在從處理器接收到從所述虛擬地址向物理地址的地 址轉(zhuǎn)換請求的情況下,根據(jù)由所述登記步驟登記到微TLB的地址轉(zhuǎn)換 對的切割信息,決定用于搜索所述微TLB中登記的地址轉(zhuǎn)換對的所述 地址轉(zhuǎn)換請求的搜索對象位,從所述微TLB中搜索將由所決定的搜索 對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記 的地址轉(zhuǎn)換對;以及地址應(yīng)答步驟,在所述地址搜索步驟從微TLB中搜索到將由搜索 對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記 的地址轉(zhuǎn)換對的情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器 應(yīng)答,在所述地址搜索步驟未搜索到地址轉(zhuǎn)換對的情況下,向主TLB 發(fā)送所述地址轉(zhuǎn)換請求。
4、根據(jù)權(quán)利要求3所述的TLB控制方法,其特征在于 所述頁大小檢測步驟檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種;所述位數(shù)決定步驟在所述頁大小檢測步驟檢測出讀出的地址轉(zhuǎn)換 對的頁大小是64K的情況下,將所述讀出的地址轉(zhuǎn)換對切割為8K字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是15位至13位,在所述頁大小檢測步驟檢測出讀出的地址轉(zhuǎn)換對的 頁大小是512K的情況下,將所述讀出的地址轉(zhuǎn)換對切割為8K字節(jié),數(shù)是18位至13位,在所述頁大小檢測步驟檢測出讀出的地址轉(zhuǎn)換對的 頁大小是32M的情況下,將所述讀出的地址轉(zhuǎn)換對切割為4M字節(jié),數(shù)是24位至22位,在所述頁大小檢測步驟檢測出讀出的地址轉(zhuǎn)換對的 頁大小是256M的情況下,將所述讀出的地址轉(zhuǎn)換對切割為4M字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是27位至22位,在所述頁大小檢測步驟檢測出讀出的地址轉(zhuǎn)換對的 頁大小是8K或者4M的情況下,不切割所述讀出的地址轉(zhuǎn)換對,決定位;所述地址搜索步驟在從處理器接收到所述地址轉(zhuǎn)換請求的情況下, 根據(jù)所述登記步驟在微TLB中登記的地址轉(zhuǎn)換對的切割信息,決定與 8K或者4M對應(yīng)的地址轉(zhuǎn)換請求的搜索對象位,從所述微TLB中搜索 將由所決定的搜索對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含 的上下文對應(yīng)登記的地址轉(zhuǎn)換對。
5、 一種TLB控制程序,由作為具有將表示虛擬地址與絕對地址的 對應(yīng)的多個地址轉(zhuǎn)換對作為頁表保持的主TLB,和保持主TLB中保持 的頁表的一部分的微TLB的計(jì)算機(jī)的計(jì)算機(jī)執(zhí)行,其特征在于包括頁大小檢測過程,在讀出所述主TLB中保持的地址轉(zhuǎn)換對并登記 到微TLB時,檢測讀出的地址轉(zhuǎn)換對的頁大小;位數(shù)決定過程,根據(jù)所述頁大小檢測過程檢測出的頁大小,將所述 讀出的地址轉(zhuǎn)換對切割為規(guī)定的頁大小,決定向切割后的地址轉(zhuǎn)換對中 包含的絕對地址中附加的虛擬地址的位數(shù);登記過程,對所述位數(shù)決定過程決定的位數(shù)附加虛擬地址,并且將 表示已切割為所述規(guī)定的頁大小的切割信息附加到所述切割后的地址轉(zhuǎn)換對,并登記到微TLB;地址搜索過程,在從處理器接收到從所述虛擬地址向物理地址的地 址轉(zhuǎn)換請求的情況下,根據(jù)由所述登記過程登記到微TLB的地址轉(zhuǎn)換 對的切割信息,決定用于搜索所述微TLB中登記的地址轉(zhuǎn)換對的所述 地址轉(zhuǎn)換請求的搜索對象位,從所述微TLB中搜索將由所決定的搜索 對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記 的地址轉(zhuǎn)換對;以及地址應(yīng)答過程,在所述地址搜索過程從微TLB中搜索到將由搜索 對象位表示的虛擬地址與所述地址轉(zhuǎn)換請求中包含的上下文對應(yīng)登記 的地址轉(zhuǎn)換對的情況下,根據(jù)該地址轉(zhuǎn)換對計(jì)算出絕對地址并向處理器 應(yīng)答,在所述地址搜索過程未搜索到地址轉(zhuǎn)換對的情況下,向主TLB 發(fā)送所述地址轉(zhuǎn)換請求。
6、根據(jù)權(quán)利要求5所述的TLB控制程序,其特征在于所述頁大小檢測過程檢測讀出的地址轉(zhuǎn)換對的頁大小是8K、 64K、 512K、 4M、 32M、 256M字節(jié)中的哪一種;所述位數(shù)決定過程在所述頁大小檢測過程檢測出讀出的地址轉(zhuǎn)換 對的頁大小是64K的情況下,將所述讀出的地址轉(zhuǎn)換對切割為8K字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是15位至13位,在所述頁大小檢測過程檢測出讀出的地址轉(zhuǎn)換對的 頁大小是512K的情況下,將所述讀出的地址轉(zhuǎn)換對切割為8K字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是18位至13位,在所述頁大小檢測過程檢測出讀出的地址轉(zhuǎn)換對的 頁大小是32M的情況下,將所述讀出的地址轉(zhuǎn)換對切割為4M字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是24位至22位,在所述頁大小檢測過程檢測出讀出的地址轉(zhuǎn)換對的 頁大小是256M的情況下,將所述讀出的地址轉(zhuǎn)換對切割為4M字節(jié), 決定向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位 數(shù)是27位至22位,在所述頁大小檢測過程檢測出讀出的地址轉(zhuǎn)換對的 頁大小是8K或者4M的情況下,不切割所述讀出的地址轉(zhuǎn)換對,決定 向切割后的地址轉(zhuǎn)換對中包含的絕對地址中附加的虛擬地址的位數(shù)是0位;所述地址搜索過程在從處理器接收到所述地址轉(zhuǎn)換請求的情況下, 根據(jù)所述登記步驟在微TLB中登記的地址轉(zhuǎn)換對的切割信息,決定與 8K或者4M對應(yīng)的地址轉(zhuǎn)換請求的搜索對象位,從所述微TLB中搜索的上下文對應(yīng)登記的地址轉(zhuǎn)換對。
全文摘要
具有將表示虛擬地址與絕對地址的對應(yīng)的多個地址轉(zhuǎn)換對作為頁表保持的主TLB,和保持主TLB中保持的頁表的一部分的微TLB。此外,在微TLB中,將TLB虛擬地址[63:13]與TLB絕對地址[46:13]對應(yīng)登記。在這種結(jié)構(gòu)中,計(jì)算機(jī)在向微TLB登記時,切割為8K或者4M的頁大小并登記到微TLB。并且,在接收到地址轉(zhuǎn)換請求后,計(jì)算機(jī)結(jié)合微TLB中登記的8K或者4M中的任一種頁大小來搜索地址,因此能夠減少地址比較條件,提高處理性能。
文檔編號G06F12/10GK101681308SQ20078005334
公開日2010年3月24日 申請日期2007年6月20日 優(yōu)先權(quán)日2007年6月20日
發(fā)明者土居正典 申請人:富士通株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1