国产精品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>

      計算機、tlb控制方法以及tlb控制程序的制作方法

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

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