亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

能夠使用虛擬存儲(chǔ)器處理模式的數(shù)據(jù)處理系統(tǒng)的制作方法

文檔序號(hào):6420033閱讀:170來(lái)源:國(guó)知局
專利名稱:能夠使用虛擬存儲(chǔ)器處理模式的數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及數(shù)據(jù)處理系統(tǒng),確切地說(shuō),涉及具有存儲(chǔ)器層次結(jié)構(gòu)的數(shù)據(jù)處理系統(tǒng)。更確切地說(shuō),本發(fā)明涉及無(wú)需操作系統(tǒng)的協(xié)助就能管理虛擬存儲(chǔ)器處理模式的數(shù)據(jù)處理系統(tǒng)。
背景技術(shù)
現(xiàn)有存儲(chǔ)器層次結(jié)構(gòu)通常包括經(jīng)由輸入/輸出通道轉(zhuǎn)換器與處理器組件相連的一級(jí)或多級(jí)高速緩沖存儲(chǔ)器、系統(tǒng)存儲(chǔ)器(也稱為實(shí)存儲(chǔ)器)和硬盤(也稱為物理存儲(chǔ)器)。當(dāng)存在多級(jí)高速緩沖存儲(chǔ)器時(shí),通常稱為一級(jí)(L1)高速緩沖存儲(chǔ)器的第一級(jí)高速緩沖存儲(chǔ)器的存取時(shí)間最快,每比特的成本最高。諸如二級(jí)(L2)高速緩存和三級(jí)(L3)高速緩存之類的其他級(jí)別的高速緩沖存儲(chǔ)器的存取時(shí)間較慢,每比特的成本也相對(duì)較低。通常,高速緩沖存儲(chǔ)器的級(jí)別越低,其存取時(shí)間越慢。
通常,利用系統(tǒng)存儲(chǔ)器保存采用虛擬存儲(chǔ)器處理模式的數(shù)據(jù)處理系統(tǒng)的處理地址空間的最常用部分。在硬盤上保存處理地址空間的其他部分,并且在需要時(shí)進(jìn)行檢索。在執(zhí)行軟件應(yīng)用時(shí),操作系統(tǒng)將虛擬地址轉(zhuǎn)換為實(shí)地址。在系統(tǒng)存儲(chǔ)器中存儲(chǔ)的頁(yè)幀表(PFT)的協(xié)助下,以存儲(chǔ)頁(yè)面的粒度進(jìn)行轉(zhuǎn)換。處理器高速緩存通常包括后備式轉(zhuǎn)換緩沖器(TLB),TLB作為最近使用的PFT條目(PTE)的高速緩存。
當(dāng)發(fā)起數(shù)據(jù)加載、數(shù)據(jù)存儲(chǔ)或取指令請(qǐng)求時(shí),在TLB中查找與該請(qǐng)求關(guān)聯(lián)的數(shù)據(jù)的虛擬地址,以查找包含該虛擬地址之相應(yīng)實(shí)地址的PTE。如果在TLB中找到該P(yáng)TE,則利用相應(yīng)的實(shí)地址向存儲(chǔ)器層次結(jié)構(gòu)發(fā)送數(shù)據(jù)加載、數(shù)據(jù)存儲(chǔ)或取指令請(qǐng)求。如果在TLB中找不到該P(yáng)TE,則利用系統(tǒng)存儲(chǔ)器內(nèi)的PFT定位相應(yīng)的PTE。然后將該P(yáng)TE重新加載到TLB中,并且轉(zhuǎn)換處理重新開始。
由于空間限制,不可能將全部虛擬地址裝到系統(tǒng)存儲(chǔ)器內(nèi)的PFT中。如果在PFT中找不到虛實(shí)地址轉(zhuǎn)換,或者如果能夠找到轉(zhuǎn)換但是與該頁(yè)面關(guān)聯(lián)的數(shù)據(jù)并未駐留在系統(tǒng)存儲(chǔ)器中,將產(chǎn)生缺頁(yè)以中斷轉(zhuǎn)換處理,從而操作系統(tǒng)能夠更新一個(gè)新轉(zhuǎn)換的PFT。此類更新處理包括將替換頁(yè)面從系統(tǒng)存儲(chǔ)器移動(dòng)到硬盤;使得所有處理器的TLB中的替換PTE的所有副本無(wú)效;將與新轉(zhuǎn)換關(guān)聯(lián)的數(shù)據(jù)頁(yè)面從硬盤移動(dòng)到系統(tǒng)存儲(chǔ)器;更新PFT;以及重新開始轉(zhuǎn)換處理。
如上所述,通常由操作系統(tǒng)管理虛擬存儲(chǔ)器,管理PFT以及系統(tǒng)存儲(chǔ)器與硬盤之間的數(shù)據(jù)頁(yè)面調(diào)度的操作系統(tǒng)部分稱為虛擬存儲(chǔ)器管理器(VMM)。然而,利用操作系統(tǒng)管理虛擬存儲(chǔ)器有許多問(wèn)題。例如,VMM通常并不了解硬件結(jié)構(gòu),因此受VMM控制的替換策略通常并不是非常有效。另外,VMM代碼非常復(fù)雜,并且維護(hù)跨多個(gè)硬件平臺(tái)或具有多種不同存儲(chǔ)器配置的單硬件平臺(tái)的VMM代碼都是非常復(fù)雜和十分昂貴的。本公開提供上述問(wèn)題的解決方案。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,能夠利用虛擬存儲(chǔ)器處理模式的數(shù)據(jù)處理系統(tǒng)包括眾多處理單元。處理單元包括在比實(shí)地址空間更大的虛擬地址空間中運(yùn)行的易失性高速緩沖存儲(chǔ)器。將處理單元以及相應(yīng)的易失性高速緩沖存儲(chǔ)器耦合到在物理地址空間中運(yùn)行的存儲(chǔ)控制器。通過(guò)互連,將處理單元和存儲(chǔ)控制器耦合到硬盤。處理單元包括一個(gè)別名表,后者把至少兩個(gè)虛擬地址與指向硬盤中之存儲(chǔ)單元的物理盤地址聯(lián)系起來(lái)。硬盤包含一個(gè)虛擬物理轉(zhuǎn)換表,該轉(zhuǎn)換表將某個(gè)所述易失性高速緩沖存儲(chǔ)器的虛擬地址,轉(zhuǎn)換為指向硬盤中之存儲(chǔ)單元的物理盤地址,而無(wú)需通過(guò)實(shí)地址轉(zhuǎn)換。與物理高速緩沖存儲(chǔ)器相耦合的存儲(chǔ)控制器,能夠?qū)⒛硞€(gè)易失性高速緩沖存儲(chǔ)器的虛擬地址,映射為指向硬盤內(nèi)之存儲(chǔ)單元的物理盤地址,而無(wú)需通過(guò)實(shí)地址轉(zhuǎn)換。物理高速緩沖存儲(chǔ)器包含硬盤內(nèi)的信息的子集。
通過(guò)閱讀詳細(xì)說(shuō)明書,本發(fā)明的所有目的、特征和優(yōu)點(diǎn)將更加明顯。


通過(guò)連同附圖閱讀所述實(shí)施例的詳細(xì)說(shuō)明,將更加了解本發(fā)明,其最佳使用方式,其他目的以及其優(yōu)點(diǎn)。其中附圖為圖1表示根據(jù)現(xiàn)有技術(shù)的多處理器數(shù)據(jù)處理系統(tǒng)的框圖;圖2表示包含本發(fā)明一個(gè)優(yōu)選實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)的框圖;圖3表示用于處理圖2所示多處理器數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)處理器的虛擬存儲(chǔ)器存取請(qǐng)求的方法的高級(jí)邏輯流程圖;圖4表示包含本發(fā)明第二實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)的框圖;圖5表示用于處理圖4所示多處理器數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)處理器的虛擬存儲(chǔ)器存取請(qǐng)求的方法的高級(jí)邏輯流程圖;圖6表示根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的別名表的框圖;圖7表示包含本發(fā)明第三實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)的框圖;圖8表示圖7所示的、根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)內(nèi)的虛擬物理地址轉(zhuǎn)換表的框圖;圖9表示用于處理圖7所示多處理器數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)處理器的虛擬存儲(chǔ)器存取請(qǐng)求的方法的高級(jí)邏輯流程圖;圖10表示根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的處理器的虛擬存儲(chǔ)器存取請(qǐng)求的框圖;以及圖11表示根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的請(qǐng)求處理器的中斷數(shù)據(jù)包的框圖。
具體實(shí)施例為說(shuō)明的目的,利用具有單級(jí)高速緩沖存儲(chǔ)器的多處理器數(shù)據(jù)處理系統(tǒng)描述本發(fā)明??梢岳斫猓景l(fā)明的特征適用于具有多級(jí)高速緩沖存儲(chǔ)器的數(shù)據(jù)處理系統(tǒng)。
I.現(xiàn)有技術(shù)現(xiàn)在參照附圖,特別地,參照?qǐng)D1,該圖表示根據(jù)現(xiàn)有技術(shù)的多處理器數(shù)據(jù)處理系統(tǒng)的框圖。如圖所示,多處理器數(shù)據(jù)處理系統(tǒng)10包括多個(gè)中央處理單元(CPU)11a-11n,各CPU11a-11n均包含一個(gè)高速緩沖存儲(chǔ)器。例如,CPU11a包含高速緩沖存儲(chǔ)器12a,CPU11b包含高速緩沖存儲(chǔ)器12b,CPU11n包含高速緩沖存儲(chǔ)器12n。通過(guò)互連14,將CPU11a-11n和高速緩沖存儲(chǔ)器12a-12n連接到存儲(chǔ)器控制器15和系統(tǒng)存儲(chǔ)器16?;ミB14充當(dāng)高速緩沖存儲(chǔ)器12a-12n與輸入/輸出通道轉(zhuǎn)換器(IOCC)17之間的通信處理通道。
多處理器數(shù)據(jù)處理系統(tǒng)10采用虛擬存儲(chǔ)器處理模式,這意味著同時(shí)使用三類地址。三類地址為虛擬地址,實(shí)地址和物理地址。將虛擬地址定義為采用虛擬存儲(chǔ)器處理模式的數(shù)據(jù)處理系統(tǒng)內(nèi)的軟件應(yīng)用中直接引用的地址。將實(shí)地址定義為存取數(shù)據(jù)處理系統(tǒng)內(nèi)的系統(tǒng)存儲(chǔ)器(或主存儲(chǔ)器)時(shí)引用的地址。將物理地址定義為存取數(shù)據(jù)處理系統(tǒng)內(nèi)的硬盤時(shí)引用的地址。
在虛擬存儲(chǔ)器處理模式中,操作系統(tǒng)將CPU11a-11n使用的虛擬地址,轉(zhuǎn)換為系統(tǒng)存儲(chǔ)器16和高速緩沖存儲(chǔ)器12a-12n使用的對(duì)應(yīng)實(shí)地址。硬盤適配器18在其設(shè)備驅(qū)動(dòng)軟件的控制下,將系統(tǒng)存儲(chǔ)器16和高速緩沖存儲(chǔ)器12a-12n使用的實(shí)地址,轉(zhuǎn)換為硬盤101使用的物理地址(即磁盤地址)。
在運(yùn)行時(shí),系統(tǒng)存儲(chǔ)器16保存最常使用的處理數(shù)據(jù)和指令,而將剩余的處理數(shù)據(jù)和指令存儲(chǔ)到硬盤101上。利用系統(tǒng)存儲(chǔ)器16中存儲(chǔ)的頁(yè)幀表(PFT)19定義虛擬地址到實(shí)地址的映射。對(duì)應(yīng)CPU內(nèi)的各后備式轉(zhuǎn)換緩沖器(TLB)13a-13n充當(dāng)最近使用的PFT條目(PTE)的高速緩沖存儲(chǔ)器。
如果在PFT19中找不到虛實(shí)地址轉(zhuǎn)換,或者如果能夠找到虛實(shí)轉(zhuǎn)換但是關(guān)聯(lián)數(shù)據(jù)并未駐留在系統(tǒng)存儲(chǔ)器16中,將產(chǎn)生缺頁(yè)以中斷轉(zhuǎn)換處理,從而操作系統(tǒng)必須更新PFT19和/或?qū)⒄?qǐng)求的數(shù)據(jù)從硬盤101傳送到系統(tǒng)存儲(chǔ)器16。PFT更新包括將替換頁(yè)面從系統(tǒng)存儲(chǔ)器16移動(dòng)到硬盤101;使得TLB13a-13n中的替換PTE的所有副本無(wú)效;將與新轉(zhuǎn)換關(guān)聯(lián)的數(shù)據(jù)頁(yè)面從硬盤101移動(dòng)到系統(tǒng)存儲(chǔ)器16;更新PFT19;以及重新開始轉(zhuǎn)換處理。通常由操作系統(tǒng)控制缺頁(yè)處理,此類裝置具有上述缺陷。
II.新配置根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例,從數(shù)據(jù)處理系統(tǒng)10中徹底除去圖1中的系統(tǒng)存儲(chǔ)器16。由于從數(shù)據(jù)處理系統(tǒng)中徹底除去系統(tǒng)存儲(chǔ)器16,所以必須直接從硬盤上取全部數(shù)據(jù)和指令,并利用存儲(chǔ)控制器管理將數(shù)據(jù)和指令傳送到硬盤,以及從硬盤上傳送數(shù)據(jù)和指令。本質(zhì)上,在本發(fā)明中系統(tǒng)存儲(chǔ)器是“虛擬化的”。
在本發(fā)明的最簡(jiǎn)單實(shí)施例中,并不提供虛擬物理地址別名。將別名定義為多個(gè)虛擬地址到單一物理地址的映射。由于沒有別名時(shí)虛擬地址只能映射到單一物理地址,因此,不需要虛擬物理地址轉(zhuǎn)換。
現(xiàn)在參照?qǐng)D2,該圖表示包含本發(fā)明一個(gè)優(yōu)選實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)的框圖。如圖所示,多處理器數(shù)據(jù)處理系統(tǒng)20包括多個(gè)中央處理單元(CPU)21a-21n,各CPU21a-21n均包含一個(gè)高速緩沖存儲(chǔ)器。例如,CPU21a包含高速緩沖存儲(chǔ)器22a,CPU21b包含高速緩沖存儲(chǔ)器22b,CPU21n包含高速緩沖存儲(chǔ)器22n。通過(guò)互連24,將CPU21a-21n和高速緩沖存儲(chǔ)器22a-22n連接到存儲(chǔ)控制器25?;ミB24充當(dāng)高速緩沖存儲(chǔ)器22a-22n與IOCC27之間的通信處理通道。經(jīng)由硬盤適配器28,將IOCC27連接到硬盤102。
在現(xiàn)有技術(shù)(見圖1)中,硬盤適配器18以及與硬盤適配器18關(guān)聯(lián)的設(shè)備驅(qū)動(dòng)軟件將高速緩沖存儲(chǔ)器22a-22n和系統(tǒng)存儲(chǔ)器16使用的實(shí)地址,轉(zhuǎn)換為硬盤101使用的對(duì)應(yīng)物理地址。在本發(fā)明中,存儲(chǔ)控制器25管理虛擬地址到對(duì)應(yīng)物理地址的轉(zhuǎn)換(由于已經(jīng)消除了傳統(tǒng)的實(shí)地址空間)。但是當(dāng)不提供別名時(shí),完全不需要虛擬地址到物理地址的轉(zhuǎn)換,因?yàn)樘摂M地址與物理地址之間存在一一對(duì)應(yīng)。
在圖2的實(shí)施例中,硬盤102的大小規(guī)定多處理器數(shù)據(jù)處理系統(tǒng)20的虛擬地址范圍。換句話說(shuō),硬盤102的物理地址范圍與多處理器數(shù)據(jù)處理系統(tǒng)20的虛擬地址范圍相同。然而,也可以定義比硬盤102的物理地址范圍更大的虛擬地址范圍。此時(shí),如果軟件訪問(wèn)硬盤102之物理地址范圍以外的虛擬地址,將視為例外,并需要由例外中斷進(jìn)行處理。提供比硬盤102的物理地址范圍更大的虛擬地址范圍的另一種方法是利用虛擬物理轉(zhuǎn)換表,如圖7所示的虛擬物理轉(zhuǎn)換表29。
現(xiàn)在參照?qǐng)D3,該圖表示用于處理根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)內(nèi)的一個(gè)處理器的虛擬存儲(chǔ)器存取請(qǐng)求的方法的高級(jí)邏輯流程圖。響應(yīng)一個(gè)處理器的虛擬存儲(chǔ)器存取請(qǐng)求,確定存取請(qǐng)求的請(qǐng)求數(shù)據(jù)是否駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,如框31所示。如果請(qǐng)求的數(shù)據(jù)駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,則將請(qǐng)求的數(shù)據(jù)從關(guān)聯(lián)的高速緩沖存儲(chǔ)器中發(fā)送到該處理器,如框35所示。否則,如果請(qǐng)求的數(shù)據(jù)沒有駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,則將請(qǐng)求的數(shù)據(jù)的虛擬地址轉(zhuǎn)發(fā)到諸如圖2所示的存儲(chǔ)控制器25之類的存儲(chǔ)控制器,如框32所示。然后,由存儲(chǔ)控制器將請(qǐng)求的數(shù)據(jù)的虛擬地址映射到對(duì)應(yīng)物理地址,如框33所示。接著,從諸如圖2所示的硬盤102之類的硬盤中取出請(qǐng)求的數(shù)據(jù),如框34所示,隨后將請(qǐng)求的數(shù)據(jù)發(fā)送到處理器,如框35所示。
現(xiàn)在參照?qǐng)D4,該圖表示包含本發(fā)明之第二實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)的框圖。如圖所示,多處理器數(shù)據(jù)處理系統(tǒng)40包括多個(gè)中央處理單元(CPU)41a-41n,各CPU41a-41n均包含一個(gè)高速緩沖存儲(chǔ)器。例如,CPU41a包含高速緩沖存儲(chǔ)器42a,CPU41b包含高速緩沖存儲(chǔ)器42b,CPU41n包含高速緩沖存儲(chǔ)器42n。通過(guò)互連44,將CPU41a-41n和高速緩沖存儲(chǔ)器42a-42n連接到存儲(chǔ)控制器45和物理高速緩沖存儲(chǔ)器46。物理高速緩沖存儲(chǔ)器46最好為基于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的存儲(chǔ)設(shè)備;然而,也可以使用其他類似種類的存儲(chǔ)設(shè)備。存儲(chǔ)控制器45包括用于跟蹤物理高速緩沖存儲(chǔ)器46的物理高速緩沖存儲(chǔ)器目錄49?;ミB44充當(dāng)高速緩沖存儲(chǔ)器42a-42n與IOCC47之間的通信處理通道。經(jīng)由硬盤適配器48,將IOCC47連接到硬盤103。
與圖2所示的存儲(chǔ)控制器25類似,存儲(chǔ)控制器45管理虛擬地址到對(duì)應(yīng)物理地址的轉(zhuǎn)換(因?yàn)橐呀?jīng)消除了傳統(tǒng)的實(shí)地址空間)。此外,由于硬盤103的物理地址范圍與多處理器數(shù)據(jù)處理系統(tǒng)40的虛擬地址范圍相同,并且由于多處理器數(shù)據(jù)處理系統(tǒng)40中不提供別名,所以不需要虛擬地址到物理地址的轉(zhuǎn)換。
物理高速緩沖存儲(chǔ)器46包含硬盤103中存儲(chǔ)的信息的子集。物理高速緩沖存儲(chǔ)器46中存儲(chǔ)的信息子集最好為CPU41a-41n中任一CPU最近訪問(wèn)的信息。物理高速緩沖存儲(chǔ)器46中各高速緩存線最好包括基于物理地址的標(biāo)記以及關(guān)聯(lián)數(shù)據(jù)頁(yè)面。盡管物理高速緩沖存儲(chǔ)器46中的各高速緩存線的數(shù)據(jù)粒度為一個(gè)頁(yè)面,但是也可以采用其他數(shù)據(jù)粒度。物理高速緩沖存儲(chǔ)器目錄49利用眾所周知的高速緩存管理技術(shù),如結(jié)合性,相關(guān)性,替換等,跟蹤物理高速緩沖存儲(chǔ)器46。物理高速緩沖存儲(chǔ)器目錄49中的各條目?jī)?yōu)選地表示駐留在物理高速緩沖存儲(chǔ)器46中的一個(gè)或多個(gè)物理存儲(chǔ)器頁(yè)面。如果在某個(gè)數(shù)據(jù)頁(yè)面的虛擬存儲(chǔ)器存取請(qǐng)求后物理高速緩沖存儲(chǔ)器46中出現(xiàn)“缺頁(yè)”,則從硬盤103中取出請(qǐng)求的數(shù)據(jù)頁(yè)面。同時(shí),基于預(yù)定算法或虛擬存儲(chǔ)器存取請(qǐng)求的提示,從硬盤103中取出其他數(shù)據(jù)頁(yè)面。
現(xiàn)在參照?qǐng)D5,該圖表示用于處理根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)40內(nèi)的一個(gè)處理器的虛擬存儲(chǔ)器存取請(qǐng)求的方法的高級(jí)邏輯流程圖。響應(yīng)一個(gè)處理器的虛擬存儲(chǔ)器存取請(qǐng)求,確定存取請(qǐng)求的請(qǐng)求數(shù)據(jù)頁(yè)面是否駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,如框50所示。如果請(qǐng)求數(shù)據(jù)頁(yè)面駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,則將請(qǐng)求數(shù)據(jù)頁(yè)面從關(guān)聯(lián)的高速緩沖存儲(chǔ)器中發(fā)送到該處理器,如框58所示。否則,如果請(qǐng)求數(shù)據(jù)頁(yè)面沒有駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,則將請(qǐng)求數(shù)據(jù)頁(yè)面的虛擬地址轉(zhuǎn)發(fā)到諸如圖4所示的存儲(chǔ)控制器45之類的存儲(chǔ)控制器,如框51所示。然后,將請(qǐng)求數(shù)據(jù)頁(yè)面的虛擬地址映射到對(duì)應(yīng)物理地址,如框52所示。
接著,確定請(qǐng)求數(shù)據(jù)頁(yè)面是否駐留在諸如圖4所示的物理高速緩沖存儲(chǔ)器46之類的物理高速緩沖存儲(chǔ)器中,如框53所示。如果請(qǐng)求頁(yè)面駐留在物理高速緩沖存儲(chǔ)器中,則將請(qǐng)求數(shù)據(jù)頁(yè)面從物理高速緩沖存儲(chǔ)器中發(fā)送到該處理器,如框58所示。否則,如果請(qǐng)求數(shù)據(jù)頁(yè)面沒有駐留在物理高速緩沖存儲(chǔ)器中,則在物理高速緩沖存儲(chǔ)器中選擇一個(gè)“犧牲”頁(yè)面,如框54所示。然后將“犧牲”頁(yè)面寫回到諸如圖4所示的硬盤103之類的硬盤上,如框55所示。下文敘述將數(shù)據(jù)頁(yè)面寫回到硬盤上的細(xì)節(jié)。從硬盤上取出請(qǐng)求數(shù)據(jù)頁(yè)面,如框56所示。接著,利用請(qǐng)求數(shù)據(jù)頁(yè)面更新物理高速緩沖存儲(chǔ)器,如框57所示,隨后將請(qǐng)求數(shù)據(jù)頁(yè)面發(fā)送到該處理器,如框58所示。
如果物理高速緩沖存儲(chǔ)器46中并未存儲(chǔ)某個(gè)處理器請(qǐng)求的數(shù)據(jù)頁(yè)面,則存儲(chǔ)控制器46執(zhí)行以下步驟1.首先,選擇利用請(qǐng)求數(shù)據(jù)頁(yè)面進(jìn)行替換的“犧牲”數(shù)據(jù)頁(yè)面;2.接著,存儲(chǔ)控制器45發(fā)起突發(fā)輸入/輸出(I/O)寫操作,以將選定的“犧牲”數(shù)據(jù)頁(yè)面寫回到硬盤103上。作為選擇,存儲(chǔ)控制器45也可以向硬盤適配器48發(fā)送一條命令,指示硬盤適配器48將選定的“犧牲”數(shù)據(jù)頁(yè)面,從物理高速緩沖存儲(chǔ)器46直接存儲(chǔ)器存取(DMA)傳送到硬盤103。
3.接著,存儲(chǔ)控制器45發(fā)起突發(fā)I/O讀操作,以從硬盤103中取出請(qǐng)求數(shù)據(jù)頁(yè)面。作為選擇,存儲(chǔ)控制器45也可以向硬盤適配器48發(fā)送一條命令,以指示硬盤適配器48將請(qǐng)求頁(yè)面,從硬盤103DMA傳送到物理高速緩沖存儲(chǔ)器46。
4.然后,存儲(chǔ)控制器45將請(qǐng)求數(shù)據(jù)頁(yè)面寫到物理高速緩沖存儲(chǔ)器46中,并向請(qǐng)求處理器返回請(qǐng)求數(shù)據(jù)頁(yè)面。
無(wú)需操作系統(tǒng)軟件的協(xié)助,就能執(zhí)行以上所有步驟。
III.別名為了提高圖4所示的多處理器數(shù)據(jù)處理系統(tǒng)40的效率,為了支持各種處理之間的數(shù)據(jù)共享,允許虛擬物理地址別名。由于存在虛擬地址別名時(shí)多個(gè)虛擬地址可以映射到單一物理地址,所以需要虛擬物理地址轉(zhuǎn)換。根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,利用別名表支持虛擬物理地址轉(zhuǎn)換。
現(xiàn)在參照?qǐng)D6,該圖表示根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的別名表的框圖。如圖所示,別名表60的每個(gè)條目包括三個(gè)字段,即,虛擬地址字段61,虛擬地址字段62和有效位字段63。虛擬地址字段61包含主虛擬地址,虛擬地址字段62包含輔助虛擬地址。對(duì)于別名表60內(nèi)的每個(gè)條目而言,同時(shí)將主和輔助虛擬地址映射到同一物理地址。有效位字段63表示特定條目是否有效。
為了將別名表60控制在合理大小內(nèi),與另一個(gè)虛擬地址不同名的虛擬地址在別名表60中沒有條目。每當(dāng)處理器加載/存儲(chǔ)指令或取指令時(shí),總要搜索別名表60。如果在別名表60中找到匹配的虛擬地址條目,則將匹配條目的主虛擬地址(在虛擬地址字段61中)轉(zhuǎn)發(fā)到存儲(chǔ)器層次結(jié)構(gòu)。例如,如果請(qǐng)求別名表60中的虛擬地址C,則將虛擬地址A(該條目的主虛擬地址)轉(zhuǎn)發(fā)到與請(qǐng)求處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,因?yàn)樘摂M地址A和虛擬地址C指向同一物理地址。因此,考慮到存儲(chǔ)器層次結(jié)構(gòu),別名表60內(nèi)的輔助虛擬地址實(shí)際上不存在。
現(xiàn)在參照?qǐng)D7,該圖表示包含本發(fā)明第三實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)的框圖。如圖所示,多處理器數(shù)據(jù)處理系統(tǒng)70包括多個(gè)中央處理單元(CPU)71a-71n,各CPU71a-71n均包含一個(gè)高速緩沖存儲(chǔ)器。例如,CPU71a包含高速緩沖存儲(chǔ)器72a,CPU71b包含高速緩沖存儲(chǔ)器72b,CPU71n包含高速緩沖存儲(chǔ)器72n。通過(guò)互連74,將CPU71a-71n和高速緩沖存儲(chǔ)器72a-72n連接到存儲(chǔ)控制器75和物理高速緩沖存儲(chǔ)器76。物理高速緩沖存儲(chǔ)器76最好為基于DRAM的存儲(chǔ)設(shè)備;然而,也可以使用其他類似種類的存儲(chǔ)設(shè)備?;ミB74充當(dāng)高速緩沖存儲(chǔ)器72a-72n與IOCC77之間的通信處理通道。經(jīng)由硬盤適配器78,將IOCC77連接到硬盤104。
多處理器數(shù)據(jù)處理系統(tǒng)70允許虛擬物理地址別名。因此,各CPU71a-71n均包含一個(gè)別名表38a-38n,以協(xié)助虛擬物理地址轉(zhuǎn)換。另外,在硬盤104內(nèi)提供虛擬物理轉(zhuǎn)換表(VPT)29,以執(zhí)行虛擬物理(盤)地址轉(zhuǎn)換。特別地,保留盤空間104的一個(gè)區(qū)域,以包含多處理器數(shù)據(jù)處理系統(tǒng)70使用的全部虛擬地址范圍的VPT29。存在VPT29允許多處理器數(shù)據(jù)處理系統(tǒng)70的虛擬地址范圍大于硬盤104的物理地址范圍。借助VPT29,能夠減輕操作系統(tǒng)管理地址轉(zhuǎn)換的負(fù)擔(dān)。
現(xiàn)在參照?qǐng)D8,該圖表示根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的VPT29的框圖。如圖所示,VPT29的每個(gè)條目包括三個(gè)字段,即,虛擬地址字段36,物理地址字段37和有效位字段38。VPT29包含多處理器數(shù)據(jù)處理系統(tǒng)70(見圖7)內(nèi)使用的每個(gè)虛擬地址的條目。對(duì)于VPT29內(nèi)的每個(gè)條目,虛擬地址字段36包含一個(gè)虛擬地址,物理地址字段37包含虛擬地址字段36內(nèi)的虛擬地址的對(duì)應(yīng)物理地址,有效位字段38表示特定條目是否有效。如果存儲(chǔ)控制器75(見圖7)收到其有效位字段38無(wú)效的虛擬地址條目的虛擬地址存取請(qǐng)求,則存儲(chǔ)控制器75執(zhí)行以下兩個(gè)選項(xiàng)之一1.向請(qǐng)求處理器發(fā)送例外中斷(即,將該存取請(qǐng)求視為錯(cuò)誤狀態(tài);)或者2.利用未使用的物理地址(如果有的話)更新該條目,將有效位字段38設(shè)置為有效,并繼續(xù)處理。
回到圖7,將存儲(chǔ)控制器75連接到物理高速緩沖存儲(chǔ)器76。物理高速緩沖存儲(chǔ)器76包含硬盤104中存儲(chǔ)的信息的子集。物理高速緩沖存儲(chǔ)器76中存儲(chǔ)的信息子集最好為CPU71a-71n中任一CPU最近訪問(wèn)的信息。物理高速緩沖存儲(chǔ)器76中各高速緩存線最好包括基于物理地址的標(biāo)記以及關(guān)聯(lián)數(shù)據(jù)頁(yè)面。存儲(chǔ)控制器75還管理虛擬地址對(duì)相應(yīng)的物理地址的轉(zhuǎn)換。存儲(chǔ)控制器75包括一個(gè)VPT高速緩存39和一個(gè)物理存儲(chǔ)器目錄79。VPT高速緩存39存儲(chǔ)硬盤104內(nèi)最近使用的部分VPT29。VPT高速緩存39內(nèi)的每個(gè)條目均是一個(gè)VPT條目(與VPT29中最近使用的某個(gè)條目相對(duì)應(yīng))。物理高速緩沖存儲(chǔ)器目錄79利用眾所周知的高速緩沖管理技術(shù),如結(jié)合性,相關(guān)性,替換等,跟蹤物理高速緩沖存儲(chǔ)器76。物理高速緩沖存儲(chǔ)器目錄79中的各條目表示駐留在物理高速緩沖存儲(chǔ)器76中的一個(gè)或多個(gè)物理存儲(chǔ)器頁(yè)面。如果在某個(gè)數(shù)據(jù)頁(yè)面的虛擬存儲(chǔ)器存取請(qǐng)求后物理高速緩沖存儲(chǔ)器76中出現(xiàn)“缺頁(yè)”,則從硬盤104中取出請(qǐng)求的數(shù)據(jù)頁(yè)面。同時(shí),基于預(yù)定算法或頁(yè)面請(qǐng)求的提示,從硬盤104中取出其他數(shù)據(jù)頁(yè)面。
配置存儲(chǔ)控制器75,以了解VPT29在硬盤104上的位置,并將VPT29的一部分高速緩存到物理高速緩沖存儲(chǔ)器76中,并將該子集的一部分高速緩存到存儲(chǔ)控制器75內(nèi)的容量較少的專用VPT高速緩存39中。上述兩級(jí)VPT高速緩存層次結(jié)構(gòu),能夠防止存儲(chǔ)控制器75為獲得最近使用的VPT條目而訪問(wèn)物理高速緩沖存儲(chǔ)器76。同時(shí),能夠防止存儲(chǔ)控制器75為獲得最近使用的VPT條目的更大緩沖池而訪問(wèn)硬盤104。
現(xiàn)在參照?qǐng)D9,該圖表示用于處理根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的多處理器數(shù)據(jù)處理系統(tǒng)70內(nèi)的一個(gè)處理器的存取請(qǐng)求的方法的高級(jí)邏輯流程圖。響應(yīng)處理器的虛擬存儲(chǔ)器存取請(qǐng)求,確定存取請(qǐng)求的請(qǐng)求虛擬地址是否駐留在與該處理器關(guān)聯(lián)的別名表中,如框80所示。如果請(qǐng)求的虛擬地址駐留在與該處理器關(guān)聯(lián)的別名表中,則從與該處理器關(guān)聯(lián)的別名表中選擇主虛擬地址,如框81所示。否則,如果請(qǐng)求的虛擬地址沒有駐留在與該處理器關(guān)聯(lián)的別名表中,則將請(qǐng)求的虛擬地址直接傳送給高速緩沖存儲(chǔ)器。接著,確定存取請(qǐng)求的請(qǐng)求數(shù)據(jù)是否駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,如框82所示。如果存取請(qǐng)求的請(qǐng)求數(shù)據(jù)駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,則將請(qǐng)求的數(shù)據(jù)從關(guān)聯(lián)的高速緩沖存儲(chǔ)器中發(fā)送到該處理器,如框99所示。否則,如果請(qǐng)求的數(shù)據(jù)沒有駐留在與該處理器關(guān)聯(lián)的高速緩沖存儲(chǔ)器中,則將請(qǐng)求的數(shù)據(jù)的虛擬地址轉(zhuǎn)發(fā)到諸如圖7所示的存儲(chǔ)控制器75之類的存儲(chǔ)控制器,如框83所示。然后確定請(qǐng)求的數(shù)據(jù)的虛擬頁(yè)面地址是否駐留在諸如圖7所示的VPT高速緩存39之類的VPT高速緩存中,如框84所示。
如果請(qǐng)求數(shù)據(jù)的虛擬頁(yè)面地址駐留在VPT高速緩存中,則將虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址,如框85所示。然后確定請(qǐng)求頁(yè)面是否駐留在諸如圖7所示的物理高速緩沖存儲(chǔ)器76之類的物理高速緩沖存儲(chǔ)器中,如框86所示。如果請(qǐng)求頁(yè)面駐留在物理高速緩沖存儲(chǔ)器中,則將請(qǐng)求的數(shù)據(jù)從物理高速緩沖存儲(chǔ)器發(fā)送到該處理器,如框99所示。否則,如果請(qǐng)求頁(yè)面沒有駐留物理高速緩沖存儲(chǔ)器中,則在物理高速緩沖存儲(chǔ)器中選擇一個(gè)“犧牲”頁(yè)面,以替換為包含請(qǐng)求數(shù)據(jù)的數(shù)據(jù)頁(yè)面,如框87所示。然后將“犧牲”頁(yè)面寫回到諸如圖7所示的硬盤104之類的硬盤上,如框88所示。從硬盤上取出請(qǐng)求數(shù)據(jù)頁(yè)面,如框89所示。利用請(qǐng)求數(shù)據(jù)頁(yè)面更新物理高速緩沖存儲(chǔ)器,如框98所示,隨后將請(qǐng)求數(shù)據(jù)頁(yè)面發(fā)送到該處理器,如框99所示。
如果請(qǐng)求數(shù)據(jù)頁(yè)面的虛擬地址沒有駐留在VPT高速緩存中,則在VPT高速緩存中選擇一個(gè)“犧牲”VPT條目(VPE),如框65所示。然后將“犧牲”VPE寫回到硬盤上,前提是存儲(chǔ)控制器已經(jīng)修改了該條目,如框66所示。從諸如圖7所示的VPT29之類的硬盤內(nèi)的VPT中取出所需的VPE,如框67所示。利用所需的VPE更新VPT高速緩存,如框68所示,然后該處理返回到框84。
IV.存儲(chǔ)訪問(wèn)請(qǐng)求限定符現(xiàn)在參照?qǐng)D10,該圖表示根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的處理器的虛擬存儲(chǔ)器存取請(qǐng)求格式的框圖。處理器向諸如圖2所示的存儲(chǔ)控制器25,圖4所示的存儲(chǔ)控制器45或圖7所示的存儲(chǔ)控制器75之類的存儲(chǔ)控制器發(fā)送虛擬存儲(chǔ)器存取請(qǐng)求。正如圖10所示,虛擬存儲(chǔ)器存取請(qǐng)求90包含五個(gè)字段,即,虛擬地址字段91,非解除分配字段92,不分配字段93,預(yù)取標(biāo)識(shí)符字段94,以及預(yù)取頁(yè)數(shù)字段95??梢允褂糜脩艏?jí)的應(yīng)用軟件對(duì)字段92-95的數(shù)值進(jìn)行編程。從而允許應(yīng)用軟件向管理“虛擬”存儲(chǔ)器的存儲(chǔ)控制器傳送“提示”。
虛擬地址字段91包含處理器請(qǐng)求的數(shù)據(jù)或指令的虛擬地址。其長(zhǎng)度最好為1比特的非解除分配字段92包含一個(gè)標(biāo)識(shí)符,后者涉及是否解除分配諸如圖2所示的物理高速緩沖存儲(chǔ)器25,圖4所示的物理高速緩沖存儲(chǔ)器46,或圖7所示的物理高速緩沖存儲(chǔ)器76之類的物理高速緩沖存儲(chǔ)器中的數(shù)據(jù)。物理高速緩沖存儲(chǔ)器內(nèi)的各目錄條目具有與非解除分配字段92中的數(shù)據(jù)位類似的非解除分配位。利用存取請(qǐng)求90設(shè)置或復(fù)位物理高速緩沖存儲(chǔ)器中的目錄條目?jī)?nèi)的非解除分配位。在由于加電而首次收到處理器對(duì)某個(gè)地址的存取請(qǐng)求后,如果非解除分配字段92中的數(shù)據(jù)位為邏輯“1”,則存儲(chǔ)控制器從硬盤上讀取請(qǐng)求的數(shù)據(jù)。然后存儲(chǔ)控制器將請(qǐng)求的數(shù)據(jù)寫到物理高速緩沖存儲(chǔ)器中,并且在存儲(chǔ)控制器更新有關(guān)物理高速緩沖存儲(chǔ)器目錄條目時(shí),設(shè)置非解除分配字段中的數(shù)據(jù)位。當(dāng)物理高速緩沖存儲(chǔ)器中后續(xù)出現(xiàn)“缺頁(yè)”時(shí),存儲(chǔ)控制器的高速緩存替換模式檢查可能替換選項(xiàng)的目錄條目中的非解除分配字段的數(shù)據(jù)位。從替換選項(xiàng)中去除其非解除分配字段之?dāng)?shù)據(jù)位為邏輯“1”的可能犧牲頁(yè)面。因此,在物理高速緩沖存儲(chǔ)器中強(qiáng)行保留其相應(yīng)非解除分配字段之?dāng)?shù)據(jù)位為邏輯“1”的高速緩存線,直至收到將高速緩存線的非解除分配字段之?dāng)?shù)據(jù)位復(fù)位成邏輯“0”的后續(xù)高速緩沖線存取請(qǐng)求。
不分配字段93,預(yù)取標(biāo)識(shí)符字段94以及預(yù)取頁(yè)數(shù)字段95為可選提示位字段。提示位字段允許存儲(chǔ)控制器在處理請(qǐng)求的數(shù)據(jù)后執(zhí)行某些操作,如預(yù)取操作。不分配字段93包含一個(gè)比特,表示請(qǐng)求處理器是否只需存取請(qǐng)求的數(shù)據(jù)一次,因此無(wú)需利用物理高速緩沖存儲(chǔ)器存儲(chǔ)請(qǐng)求的數(shù)據(jù)。預(yù)取字段94包含一個(gè)比特,表示是否需要預(yù)取操作。如果已經(jīng)設(shè)置預(yù)取字段94的數(shù)據(jù)位,則將預(yù)取請(qǐng)求的數(shù)據(jù)之后的多個(gè)連續(xù)數(shù)據(jù)。預(yù)取頁(yè)數(shù)字段95包含需要預(yù)取頁(yè)數(shù)。
V.VPT中斷在圖7所示的多處理器數(shù)據(jù)處理系統(tǒng)70中,如果所需的VPE沒有駐留在物理高速緩沖存儲(chǔ)器76中,或者請(qǐng)求的物理頁(yè)面不在物理高速緩沖存儲(chǔ)器76中,則存儲(chǔ)控制器75需要訪問(wèn)硬盤104,以取出請(qǐng)求的數(shù)據(jù)和/或VPE。訪問(wèn)硬盤104需要的時(shí)間比訪問(wèn)物理高速緩沖存儲(chǔ)器76所需的時(shí)間要長(zhǎng)。由于應(yīng)用軟件進(jìn)程并不了解由此引起的訪問(wèn)等待時(shí)間,所以最好由存儲(chǔ)控制器75通知操作系統(tǒng)滿足該數(shù)據(jù)請(qǐng)求需要執(zhí)行盤訪問(wèn),從而操作系統(tǒng)能夠保存當(dāng)前的進(jìn)程狀態(tài),然后切換到不同進(jìn)程。
在收集請(qǐng)求處理器請(qǐng)求的數(shù)據(jù)的位置信息之后,存儲(chǔ)控制器75編輯VPT中斷數(shù)據(jù)包。通過(guò)使用圖7所示的實(shí)施例作為示例,可以將多處理器數(shù)據(jù)處理系統(tǒng)70的存儲(chǔ)區(qū)域劃分為三個(gè)區(qū)域,即,區(qū)域1,區(qū)域2和區(qū)域3。區(qū)域1最好包括與請(qǐng)求處理器無(wú)關(guān)的所有同級(jí)高速緩沖存儲(chǔ)器。例如,如果請(qǐng)求處理器為CPU71a,則同級(jí)高速緩沖存儲(chǔ)器包括高速緩存72b-72n。區(qū)域2包括諸如圖7所示的物理高速緩沖存儲(chǔ)器76之類的所有物理高速緩沖存儲(chǔ)器。區(qū)域3包括諸如硬盤29之類的所有物理存儲(chǔ)器。區(qū)域1中的存儲(chǔ)設(shè)備的存取時(shí)間大約為100ns,區(qū)域2中的存儲(chǔ)設(shè)備的存取時(shí)間大約為200ns,區(qū)域3中的存儲(chǔ)設(shè)備的存取時(shí)間大約為1ms或更長(zhǎng)。
在存儲(chǔ)控制器75確定請(qǐng)求的數(shù)據(jù)的區(qū)域位置后,存儲(chǔ)控制器75編輯VPT中斷數(shù)據(jù)包,并將其發(fā)送到請(qǐng)求處理器。利用總線標(biāo)記內(nèi)的處理器標(biāo)識(shí)符(ID)確定請(qǐng)求數(shù)據(jù)的請(qǐng)求處理器。
現(xiàn)在參照?qǐng)D11,該圖表示根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例向請(qǐng)求處理器發(fā)送的中斷數(shù)據(jù)包的框圖。如圖所示,中斷數(shù)據(jù)包100包括地址字段101,標(biāo)記字段102和區(qū)域字段103-105。中斷數(shù)據(jù)包100為其地址字段101為引起中斷之存取請(qǐng)求的虛擬地址的特殊事務(wù)類型的總線。總線標(biāo)記102與引起中斷的存取請(qǐng)求使用的標(biāo)記相同。區(qū)域字段103-105之每個(gè)字段的長(zhǎng)度最好為1比特,用于表示請(qǐng)求的數(shù)據(jù)的位置。例如,如果請(qǐng)求的數(shù)據(jù)位于物理高速緩沖存儲(chǔ)器76中,則設(shè)置區(qū)域2字段104中的數(shù)據(jù)位,而不設(shè)置區(qū)域字段103和105中的數(shù)據(jù)位。同樣,如果請(qǐng)求的數(shù)據(jù)在硬盤104中,則設(shè)置區(qū)域3字段105中的數(shù)據(jù)位,而不設(shè)置區(qū)域字段103和104中的數(shù)據(jù)位。因此,請(qǐng)求處理器能夠識(shí)別中斷數(shù)據(jù)包,并找出請(qǐng)求的數(shù)據(jù)的位置。
在收到VPT中斷數(shù)據(jù)包后,請(qǐng)求處理器比較VPT中斷數(shù)據(jù)包中的虛擬地址與所有未完成的加載/存儲(chǔ)操作的虛擬地址。如果發(fā)現(xiàn)匹配,則處理器可以選擇生成一個(gè)中斷以保存當(dāng)前進(jìn)程狀態(tài),并且在從硬盤104中取出請(qǐng)求的VPE條目和/或有關(guān)數(shù)據(jù)頁(yè)面時(shí),切換到另一個(gè)進(jìn)程。
為了獲得更精致的實(shí)現(xiàn),各CPU71a-71n均包括一組區(qū)域位置(zoneslot)。例如,在圖7中,CPU71a包括區(qū)域位置集合5a,CPU71b包括區(qū)域位置集合5b,CPU71n包括區(qū)域位置集合5n。各區(qū)域位置集合中的區(qū)域位置數(shù)與中斷數(shù)據(jù)包中先前定義的區(qū)域字段數(shù)一致。例如,中斷數(shù)據(jù)包100具有三個(gè)區(qū)域字段,意味著各區(qū)域位置集合5a-5n具有三個(gè)對(duì)應(yīng)區(qū)域位置。在收到諸如中斷數(shù)據(jù)包100之類的中斷數(shù)據(jù)包后,請(qǐng)求處理器利用時(shí)戳設(shè)置對(duì)應(yīng)區(qū)域位置。例如,在收到用于CPU71b的中斷數(shù)據(jù)包100(已設(shè)置區(qū)域字段105的數(shù)據(jù)位)后,CPU71b利用時(shí)戳設(shè)置區(qū)域位置集合5b的第三個(gè)區(qū)域位置。同樣,CPU71b了解在硬盤104上存儲(chǔ)的請(qǐng)求的數(shù)據(jù)。此時(shí),CPU71b比較以上時(shí)戳信息與當(dāng)前處理信息,以確定是等待請(qǐng)求的數(shù)據(jù),還是在從硬盤104中取出請(qǐng)求的VPE條目和/或有關(guān)數(shù)據(jù)頁(yè)面的同時(shí)保存當(dāng)前進(jìn)程的狀態(tài)并切換到另一個(gè)進(jìn)程,因?yàn)樵讷@得請(qǐng)求的數(shù)據(jù)之前大約需要等待1ms。如果在獲得請(qǐng)求的數(shù)據(jù)之前完成上述另一個(gè)進(jìn)程,則CPU72b可以再次進(jìn)行此類時(shí)間比較,以便再次決策。
如上所述,本發(fā)明提供用于改善能夠利用虛擬存儲(chǔ)器處理模式之現(xiàn)有數(shù)據(jù)處理系統(tǒng)的方法。本發(fā)明的優(yōu)點(diǎn)在于無(wú)需對(duì)直接連接的存儲(chǔ)器進(jìn)行散列處理。如果無(wú)需在處理器中進(jìn)行虛實(shí)地址轉(zhuǎn)換,則對(duì)上一級(jí)高速緩沖存儲(chǔ)器的存取會(huì)更快。如果處理器中不出現(xiàn)虛實(shí)地址轉(zhuǎn)換,則處理器的實(shí)現(xiàn)將更簡(jiǎn)單,因?yàn)樾枰俚墓鑵^(qū)域和更低功耗。借助本發(fā)明,物理高速緩沖存儲(chǔ)器的高速緩存線的大小,甚至頁(yè)面大小,對(duì)操作系統(tǒng)都是不可見的。
同時(shí),本發(fā)明解決了與利用操作系統(tǒng)的虛擬存儲(chǔ)器管理(VMM)來(lái)管理虛擬存儲(chǔ)器有關(guān)的問(wèn)題。本發(fā)明的數(shù)據(jù)處理系統(tǒng)不存在PFT(現(xiàn)有技術(shù)定義)。同樣,可以大大簡(jiǎn)化或完全消除操作系統(tǒng)的VMM。
盡管參照最佳實(shí)施例詳細(xì)說(shuō)明、描述本發(fā)明,但是熟練技術(shù)人員可以理解,可以在形式或細(xì)節(jié)方面做出各種變更,而并不背離本發(fā)明的實(shí)質(zhì)和范圍。
權(quán)利要求
1.一種能夠利用虛擬存儲(chǔ)器處理模式的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括多個(gè)處理單元,其中所述多個(gè)處理單元包括在比實(shí)地址空間更大的虛擬地址空間中運(yùn)行的易失性高速緩沖存儲(chǔ)器;與所述多個(gè)處理單元和易失性高速緩沖存儲(chǔ)器相耦合的互連;經(jīng)由所述互連與所述多個(gè)處理單元相耦合的硬盤;與所述多個(gè)處理單元中的至少一個(gè)單元相耦合的別名表,用于把至少兩個(gè)虛擬地址與指向所述硬盤中的一個(gè)存儲(chǔ)單元的物理盤地址聯(lián)系起來(lái);在所述硬盤內(nèi)存儲(chǔ)的虛擬物理轉(zhuǎn)換表,用于將一個(gè)所述易失性高速緩沖存儲(chǔ)器的虛擬地址,轉(zhuǎn)換為指向所述硬盤中的一個(gè)存儲(chǔ)單元的物理盤地址,而無(wú)需通過(guò)實(shí)地址轉(zhuǎn)換;以及與所述互連相耦合的存儲(chǔ)控制器,用于將一個(gè)所述易失性高速緩沖存儲(chǔ)器的虛擬地址,轉(zhuǎn)換為指向所述硬盤中的一個(gè)存儲(chǔ)單元的物理盤地址,而無(wú)需通過(guò)實(shí)地址轉(zhuǎn)換。
2.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中所述別名表內(nèi)的條目包括第一虛擬地址字段,第二虛擬地址字段和有效位字段。
3.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中所述虛擬物理轉(zhuǎn)換表內(nèi)的條目包括虛擬地址字段,物理地址字段和有效位字段。
4.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中所述數(shù)據(jù)處理系統(tǒng)還包括與所述存儲(chǔ)控制器相耦合的物理高速緩沖存儲(chǔ)器,用于存儲(chǔ)所述硬盤內(nèi)的信息的子集。
5.權(quán)利要求4的數(shù)據(jù)處理系統(tǒng),其中所述物理高速緩沖存儲(chǔ)器為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。
6.權(quán)利要求4的數(shù)據(jù)處理系統(tǒng),其中所述存儲(chǔ)控制器包括物理存儲(chǔ)器目錄,用于跟蹤所述物理高速緩沖存儲(chǔ)器的內(nèi)容。
7.權(quán)利要求4的數(shù)據(jù)處理系統(tǒng),其中所述存儲(chǔ)控制器包括虛擬物理轉(zhuǎn)換表高速緩存,用于存儲(chǔ)所述虛擬物理轉(zhuǎn)換表內(nèi)的信息的子集。
8.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中所述多個(gè)處理單元的虛擬地址范圍大于所述硬盤的物理盤地址范圍。
9.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中通過(guò)輸入/輸出通道轉(zhuǎn)換器將所述硬盤耦合到所述互連。
10.權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中通過(guò)適配器將所述硬盤耦合到所述輸入/輸出通道轉(zhuǎn)換器。
全文摘要
本發(fā)明公開了一種用于支持不具備系統(tǒng)存儲(chǔ)器的數(shù)據(jù)支持系統(tǒng)的別名支持方法。數(shù)據(jù)處理系統(tǒng)包括多個(gè)處理單元。處理單元包括在比實(shí)地址空間更大的虛擬地址空間中運(yùn)行的易失性高速緩沖存儲(chǔ)器。將處理單元以及相應(yīng)的易失性高速緩沖存儲(chǔ)器耦合到在物理地址空間中運(yùn)行的存儲(chǔ)控制器。通過(guò)互連,將處理單元和存儲(chǔ)控制器耦合到硬盤。處理單元包括一個(gè)別名表,后者把至少兩個(gè)虛擬地址與指向硬盤中的一個(gè)存儲(chǔ)單元的物理盤地址聯(lián)系起來(lái)。硬盤包含一個(gè)虛擬物理轉(zhuǎn)換表,該轉(zhuǎn)換表將一個(gè)所述易失性高速緩沖存儲(chǔ)器的虛擬地址,轉(zhuǎn)換為指向硬盤中的一個(gè)存儲(chǔ)單元的物理磁盤地址,而無(wú)需通過(guò)實(shí)地址轉(zhuǎn)換。
文檔編號(hào)G06F12/00GK1506843SQ20031010300
公開日2004年6月23日 申請(qǐng)日期2003年10月29日 優(yōu)先權(quán)日2002年12月12日
發(fā)明者R·K·阿里米利, J·S·多德森, S·蓋, K·L·賴特, R K 阿里米利, 多德森, 賴特 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1