專利名稱::多處理器地址轉(zhuǎn)換的高效仿真方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明通常涉及計算機(jī)系統(tǒng),尤其涉及當(dāng)在另一個多處理計算系統(tǒng)上模擬多處理計算機(jī)系統(tǒng)時映射該多處理計算機(jī)系統(tǒng)的共享存儲器的方法。
背景技術(shù):
:計算系統(tǒng)通常包含若干部分,包含處理器、存儲器和輸入/輸出設(shè)備。經(jīng)常需要在另一個計算系統(tǒng)上仿真一個計算系統(tǒng)的行為。仿真的一個主要原因是允許在另一個系統(tǒng)(例如″宿主計算系統(tǒng)″)上以相同的結(jié)果執(zhí)行針對一個系統(tǒng)(例如″目標(biāo)計算系統(tǒng)″)的編寫的程序。已經(jīng)描述了若干傳統(tǒng)技術(shù),用于通過另一個處理器的指令集仿真一個處理器的指令集(例如,在StephenA.Herrod的″通過完全的機(jī)器模擬理解計算機(jī)系統(tǒng)行為(UsingCompleteMachineSimulationtoUnderstandComputerSystemBehavior)″,博士論文,Stanford大學(xué),1998年2月中公開的SIMOS;在CathyMay的″模擬快速系統(tǒng)/370模擬器(MimicAFastSystem/370Simulator)″,面向?qū)ο缶幊滔到y(tǒng)語言和應(yīng)用會議(OOPSLA)會議錄,Orlando,1987年10月4-8日,Sigplan公告專刊,vol.22,No.12,1987年12月,vol.22,No.7,6月24日中公開的MIMIC)。為了如實地執(zhí)行仿真,必須仿真這種系統(tǒng)中存儲器的行為。通常,行為所包含的遠(yuǎn)不止于使用程序指定的地址讀取和寫入存儲器中的單元。更具體地,當(dāng)在目標(biāo)系統(tǒng)上實現(xiàn)虛擬存儲器時,對存儲器單元的訪問通常包括驗證請求任務(wù)是否有權(quán)執(zhí)行訪問操作。也可以包括將含有請求單元的頁面換入存儲器中(如果尚未在存儲器中)。通常在圖1示出的系統(tǒng)100中執(zhí)行這種功能,其中向目標(biāo)頁面映射表110輸入計算的操作數(shù)地址,以作為目標(biāo)虛擬存儲器地址。于是在圖1中,在表110中檢查含有尋址單元的頁面,以確定(a)其是否已經(jīng)在存儲器(例如目標(biāo)實存儲器120)中,(b)是否允許期望的訪問,和(c)哪個物理存儲器單元對應(yīng)于期望頁面。再次注意,所有這些操作均在實際的目標(biāo)系統(tǒng)硬件中執(zhí)行。為了高效地進(jìn)行這種訪問,這些檢查在仿真機(jī)器的硬件中執(zhí)行,并且通常與實際存儲器訪問同時進(jìn)行,其中如果訪問被拒絕,則丟棄訪問結(jié)果。目標(biāo)實存儲器120的輸出是可能對應(yīng)于LOAD等等的操作數(shù)值。(注意,在宿主中,STORE采用其它方式)。宿主計算系統(tǒng)通常還提供硬件以利于進(jìn)行這種虛擬尋址。類似于授權(quán)給Scalzi等人的美國專利No.6,075,937所公開的實現(xiàn)根據(jù)宿主虛擬尋址硬件所支持的原語來解釋目標(biāo)訪問。這如圖2的系統(tǒng)200所示,其中使用模擬頁面映射表210和宿主實存儲器220。通過頁面映射表210進(jìn)行的宿主實存儲器220中的虛擬地址-實地址映射對于目標(biāo)系統(tǒng)的每個虛擬地址空間(通常與″進(jìn)程″相關(guān))均是唯一的。應(yīng)當(dāng)注意,模擬頁面映射表210與目標(biāo)頁面映射表110的不同之處在于,操作系統(tǒng)具有頁面映射表,其中頁面映射表將虛擬頁面映射到宿主實存儲器的實頁面。然而在圖2中,這是不可行的(例如無法工作),因為實存儲器必須尋址宿主實存儲器而不是目標(biāo)實存儲器。因此,該映射必須包含另一個字段,該字段指示實存儲器的被映射到宿主實存儲器的位置。如果宿主系統(tǒng)還實現(xiàn)虛擬存儲器,并且如果每個宿主進(jìn)程的允許虛擬地址空間至少和目標(biāo)上允許的地址空間一樣大,則可以在圖3的結(jié)構(gòu)300所示的進(jìn)程級別上進(jìn)行仿真,所述結(jié)構(gòu)300具有目標(biāo)-宿主虛擬地址映射器310,宿主頁面映射表320和宿主實存儲器330。在圖3的方案中,通過映射器310將目標(biāo)虛擬地址空間映射到宿主虛擬地址空間,接著使用宿主的頁面映射表機(jī)構(gòu)320將宿主虛擬地址空間轉(zhuǎn)換成宿主實地址空間。于是在圖3中,在前端提供目標(biāo)-宿主虛擬地址映射器310,而不是具有模擬的頁面映射表(例如圖2中的表210),使得目標(biāo)虛擬地址可以被轉(zhuǎn)換成宿主虛擬地址,并且接著使用宿主操作系統(tǒng)進(jìn)行其余映射?;旧?,圖3所示的方案認(rèn)識到圖2的功能模塊不能在宿主操作系統(tǒng)上執(zhí)行。因此,圖3的目的是得到目標(biāo)虛擬存儲器地址并且將其轉(zhuǎn)換成可以被宿主系統(tǒng)上運(yùn)行的操作系統(tǒng)使用的某種形式(例如宿主虛擬存儲器地址)。宿主上運(yùn)行的操作系統(tǒng)具有其自身的頁面映射表,該頁面映射表可以只識別和理解其環(huán)境中的虛擬存儲器地址(例如宿主虛擬存儲器地址)。于是,一旦獲得宿主虛擬存儲器地址,可以在宿主中執(zhí)行其余映射。然而在例如與本申請同時提交、_等人的美國專利申請10/_,_,″多處理器宿主系統(tǒng)上的多處理器仿真方法和系統(tǒng)″,IBMDocketNo.YOR920010533US1中描述的仿真環(huán)境中,這兩種方案被證明是不充分的。在這種環(huán)境中,不由宿主多處理系統(tǒng)中的唯一處理器直接執(zhí)行對目標(biāo)多處理系統(tǒng)中處理器的模擬。而是,緩沖仿真處理器的任務(wù)和宿主上需要的其它輔助任務(wù),并且宿主上的調(diào)度器向可用處理器分配這些任務(wù)。此方案的優(yōu)點是允許對具有的處理器多于宿主上可用處理器的系統(tǒng)進(jìn)行仿真。授權(quán)給Scalzi等人的美國專利6,075,937中公開的方案需要將各個目標(biāo)處理器映射到宿主處理器。也就是說,這種系統(tǒng)需要一一對應(yīng),因此不太適于這種仿真。虛擬映射方案是可能的候選,除了它需要仿真軟件知道有關(guān)目標(biāo)系統(tǒng)中任務(wù)到進(jìn)程的劃分之外。這通常是不可能的,除非仿真系統(tǒng)理解被仿真的系統(tǒng)軟件。也就是說,必須確切知道目標(biāo)(客人)上運(yùn)行的操作系統(tǒng)中正在發(fā)生什么事情,以便使圖3的方案能夠工作,這是因為目標(biāo)(客人)的頁面映射表會被還原成目標(biāo)-宿主虛擬地址映射器310等等。然而這種情況很少發(fā)生,因為在對一個系統(tǒng)進(jìn)行系統(tǒng)仿真時,很少能擁有對正在運(yùn)行的軟件的控制。此外,不能直接將目標(biāo)的例如64位虛擬尋址空間映射到宿主的32位虛擬尋址空間。如上所述,必須經(jīng)常為與仿真相關(guān)的其它功能保留存儲器,因此在宿主具有64位虛擬地址空間的情況下,這種仿真可能很困難。因此,期望找到存儲器映射問題的解決方案,其中仿真環(huán)境在被仿真的目標(biāo)處理器和再現(xiàn)其行為的宿主處理器之間不具有嚴(yán)格對應(yīng)關(guān)系(例如在存在多對多映射的多處理環(huán)境中),并且仿真軟件知道目標(biāo)系統(tǒng)的頁表映射,但不知道目標(biāo)系統(tǒng)上執(zhí)行的任務(wù)的本質(zhì)(例如在不現(xiàn)實的情況下,對目標(biāo)上運(yùn)行的軟件進(jìn)行嚴(yán)格控制)。在本發(fā)明之前,沒有人認(rèn)識到這種解決方案,更談不上開發(fā)這種解決方案。
發(fā)明內(nèi)容考慮到常規(guī)方法和結(jié)構(gòu)的上述和其它問題、缺點和不足,本發(fā)明的一個目的是提供一種方法和結(jié)構(gòu),其中當(dāng)使用另一個多處理系統(tǒng)的虛擬存儲器尋址對一個多處理系統(tǒng)進(jìn)行仿真時,所述方法和結(jié)構(gòu)可以有效地映射被仿真的多處理系統(tǒng)的存儲器尋址。在本發(fā)明的第一方面,使用宿主多處理器系統(tǒng)的操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)的存儲器尋址的方法(和系統(tǒng)),包含向模擬頁表輸入目標(biāo)虛擬存儲器地址以獲得宿主虛擬存儲器地址。目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。在本發(fā)明的第二方面,一種在使用另一個多處理系統(tǒng)的虛擬存儲器尋址仿真一個多處理系統(tǒng)時映射被仿真的多處理系統(tǒng)的存儲器尋址的方法,包含使用目標(biāo)虛擬存儲器地址訪問目標(biāo)處理器上的本地后援表(locallookasidetable,LLT),確定LLT中是否存在″命中失誤″,并且利用LLT中確定的命中失誤獲得全局頁表的鎖。在本發(fā)明的第三方面,在通過執(zhí)行一或多個代表目標(biāo)系統(tǒng)操作的線程來仿真目標(biāo)n處理器系統(tǒng)(n≥1)的操作的宿主多處理器系統(tǒng)中,使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的方法,包含(a)讀取目標(biāo)系統(tǒng)虛擬存儲器地址(ATV),(b)映射ATV到目標(biāo)實地址(ATR),(c)映射ATR到宿主虛擬存儲器地址(AHV),和(d)映射AHV到宿主實存儲器地址,其中目標(biāo)系統(tǒng)存儲器尋址的仿真被處理成宿主多處理器系統(tǒng)上運(yùn)行的應(yīng)用程序。在本發(fā)明的第四方面,仿真目標(biāo)系統(tǒng)存儲器尋址的系統(tǒng)包含將目標(biāo)系統(tǒng)的目標(biāo)虛擬存儲器地址映射到宿主虛擬存儲器地址和頁面訪問權(quán)限的頁表,其中目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。在本發(fā)明的第五方面,用于使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的系統(tǒng)包含本地后援表(LLT),其中本地后援表用于在有關(guān)目標(biāo)虛擬存儲器地址的信息被存儲在LLT的情況下,接收目標(biāo)虛擬存儲器地址并輸出宿主虛擬存儲器地址和頁面訪問權(quán)限。在本發(fā)明的第六方面,用于在使用另一個多處理系統(tǒng)的虛擬存儲器尋址仿真一個多處理系統(tǒng)時映射被仿真的多處理系統(tǒng)的存儲器尋址的系統(tǒng),包含目標(biāo)處理器上的用于存儲目標(biāo)虛擬存儲器地址和與之對應(yīng)的宿主虛擬存儲器地址的本地后援表(LLT),用于使用目標(biāo)虛擬存儲器地址訪問LLT的裝置,用于確定LLT中是否存在″命中失誤″的裝置,和用于根據(jù)來自確定裝置的輸入獲得全局頁表的鎖的裝置。在本發(fā)明的第七方面,用于通過執(zhí)行一或多個代表目標(biāo)系統(tǒng)操作的線程對目標(biāo)n處理器系統(tǒng)(n≥1)的操作進(jìn)行多處理器仿真的系統(tǒng),包含用于使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的裝置,仿真裝置包含(a)用于讀取目標(biāo)系統(tǒng)虛擬存儲器地址(ATV)的裝置,(b)用于映射ATV到目標(biāo)實地址(ATR)的裝置,(c)用于映射ATR到宿主虛擬存儲器地址(AHV)的裝置,和(d)用于映射AHV到宿主實存儲器地址的裝置,其中目標(biāo)系統(tǒng)存儲器尋址的仿真被處理成宿主多處理器系統(tǒng)上運(yùn)行的應(yīng)用程序。在本發(fā)明的第八方面,信號承載介質(zhì)實際包含機(jī)器可讀指令程序,該程序可被數(shù)字處理設(shè)備運(yùn)行,以便執(zhí)行使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的方法,該方法包含向模擬頁表輸入目標(biāo)虛擬存儲器地址以獲得宿主虛擬存儲器地址,其中目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。在本發(fā)明的第九方面,信號承載介質(zhì)實際包含機(jī)器可讀指令程序,該程序可被數(shù)字處理設(shè)備運(yùn)行,以便執(zhí)行在使用另一個多處理系統(tǒng)的虛擬存儲器尋址仿真一個多處理系統(tǒng)時映射被仿真的多處理系統(tǒng)的存儲器尋址的方法,該方法包含使用目標(biāo)虛擬存儲器地址訪問目標(biāo)處理器上的本地后援表(LLT),確定LLT中是否存在″命中失誤″,和根據(jù)LLT中確定的命中失誤獲得頁表的鎖。在本發(fā)明的第十方面,信號承載介質(zhì)實際包含機(jī)器可讀指令程序,該程序可被數(shù)字處理設(shè)備運(yùn)行以便執(zhí)行一個方法,該方法在宿主多處理器系統(tǒng)中通過執(zhí)行一或多個代表目標(biāo)系統(tǒng)操作的線程對目標(biāo)n處理器系統(tǒng)(n≥1)的操作進(jìn)行仿真,即一個用于使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的方法,包含(a)讀取目標(biāo)系統(tǒng)虛擬存儲器地址(ATV),(b)映射ATV到目標(biāo)實地址(ATR),(c)映射ATR到宿主虛擬存儲器地址(AHV),和(d)映射AHV到宿主實存儲器地址,其中目標(biāo)系統(tǒng)存儲器尋址的仿真被處理成宿主多處理器系統(tǒng)上運(yùn)行的應(yīng)用程序。通過本發(fā)明獨(dú)特和非顯而易見的方面,當(dāng)使用另一個多處理系統(tǒng)的虛擬存儲器尋址對其進(jìn)行仿真時,可以高效地映射多處理系統(tǒng)的存儲器尋址。也就是說,本發(fā)明提供了針對多處理環(huán)境中存儲器映射問題的獨(dú)特解決方案,在這種多處理環(huán)境中存在多對多映射,并且沒有實際的、針對目標(biāo)上運(yùn)行的軟件的嚴(yán)格控制。此外,本發(fā)明允許這種仿真高效地映射共享存儲器,并且通過不僅仿真操作,而且仿真存儲器,訪問功能等等來專門加強(qiáng)仿真。實際上,本發(fā)明認(rèn)識到(和認(rèn)為),在任何映射中,既包括單元到真實單元的映射,又包括訪問該單元的特權(quán)的映射。本發(fā)明考慮到這兩個方面。因此,當(dāng)使用另一個系統(tǒng)的虛擬存儲器尋址仿真一個系統(tǒng)時,本發(fā)明可以更有效地和更優(yōu)地映射被仿真的系統(tǒng)的存儲器地址。使用另一個系統(tǒng)的虛擬存儲器尋址是本發(fā)明的主要特征。也就是說,存在能夠直接針對另一個多處理系統(tǒng)的實地址執(zhí)行映射的技術(shù)。然而,本發(fā)明允許使用其它系統(tǒng)的虛擬存儲器尋址系統(tǒng)進(jìn)行仿真。此技術(shù)更優(yōu)于上述直接映射,因為實存儲器地址是可能受到限制的物理″事物″(結(jié)構(gòu))(例如較小的空間/容量)。然而當(dāng)發(fā)生映射時,使用虛擬存儲器允許得到更大的空間。于是,目標(biāo)(客人)的64位虛擬存儲器可以被指向(映射)到宿主的64位虛擬存儲器,其中如果相同存儲器將被映射到實存儲器,則可能僅僅有32位。該方案包含應(yīng)用程序(而不是內(nèi)核程序)可得到的全部優(yōu)點。例如,容易使多個仿真器同時運(yùn)行。還可以利用調(diào)試和/或監(jiān)視工具驗證仿真器的正確性,或調(diào)整仿真器的性能。通過下面結(jié)合附圖對優(yōu)選實施例進(jìn)行的詳細(xì)說明可以更好地理解本發(fā)明的上述和其它目的、特性和優(yōu)點,其中圖1示出了典型虛擬存儲器系統(tǒng)100中的地址映射;圖2示出了現(xiàn)有技術(shù)的虛擬地址模擬方案200;圖3示出了需要有關(guān)目標(biāo)系統(tǒng)中進(jìn)程的知識的映射方案300;圖4示出了將目標(biāo)實地址映射到宿主虛擬地址的方案400;圖5示出了結(jié)構(gòu)500,該結(jié)構(gòu)圖解了目標(biāo)上操作系統(tǒng)和宿主上操作系統(tǒng)之間的映射功能的劃分;圖6示出了結(jié)構(gòu)600,該結(jié)構(gòu)圖解了模擬頁表610的映射功能;圖7示出了結(jié)構(gòu)700,該結(jié)構(gòu)圖解了模擬頁表710提供的映射和保護(hù)信息;圖8示出了結(jié)構(gòu)800,該結(jié)構(gòu)圖解了本地后援表820(LLT)及其與全局頁表810的關(guān)系;圖9示出了表900,該表900含有全局頁表項中的字段,其中包含列出具有項副本的模擬處理器的附加字段;圖10示出了方法1000,該方法包含用于訪問頁表項的步驟;圖11圖解了引入本發(fā)明的示例性硬件/信息處理系統(tǒng)1100;以及圖12圖解了信號承載介質(zhì)1200(例如存儲介質(zhì)),用于存儲根據(jù)本發(fā)明的方法的程序的步驟。具體實施例方式現(xiàn)在參照附圖,尤其參照圖4-12,其中示出了本發(fā)明的方法和結(jié)構(gòu)的優(yōu)選實施例。優(yōu)選實施例在進(jìn)行詳細(xì)描述之前,假定目標(biāo)的操作系統(tǒng)軟件已經(jīng)具有將目標(biāo)虛擬地址轉(zhuǎn)換成目標(biāo)實地址的機(jī)構(gòu)。這種映射會取決于目標(biāo)系統(tǒng)上的物理實存儲器。假定仿真系統(tǒng)知道存儲頁表本身的位置。假定仿真系統(tǒng)是虛擬地址空間合理地大于被仿真目標(biāo)系統(tǒng)的實地址的進(jìn)程。這允許為仿真目標(biāo)的實地址空間而保留宿主的相鄰虛擬地址空間塊。于是參照圖4,通常且非常簡單化地,發(fā)明人認(rèn)識到目標(biāo)頁面映射表410已經(jīng)存在于目標(biāo)系統(tǒng)軟件中,但是被單獨(dú)留下,而宿主頁面映射表430和宿主實存儲器440(涉及宿主上運(yùn)行的操作系統(tǒng))在宿主上運(yùn)行,并且同樣保持單獨(dú)存在。然而,本發(fā)明利用了表410、430和宿主實存儲器440(和宿主上運(yùn)行的操作系統(tǒng))的能力,但是在目標(biāo)和宿主系統(tǒng)之間放置目標(biāo)實地址-宿主虛擬地址映射器420(例如將目標(biāo)實地址映射到宿主虛擬地址),以充當(dāng)其間的接口。于是如圖4所示,宿主的操作系統(tǒng)將這個空間中的任何地址轉(zhuǎn)換成其自身的實地址空間中的實地址。具體地,將計算的操作數(shù)地址作為目標(biāo)虛擬存儲器地址輸入到目標(biāo)頁面映射表410,而目標(biāo)頁面映射表產(chǎn)生目標(biāo)實存儲器地址。目標(biāo)實存儲器地址被輸入到目標(biāo)實地址-宿主虛擬地址映射器420,而目標(biāo)實地址-宿主虛擬地址映射器420將目標(biāo)實存儲器地址映射到宿主虛擬地址。宿主虛擬存儲器地址被輸入到宿主頁面映射表430(已經(jīng)存在并且被宿主連續(xù)更新),而宿主頁面映射表430產(chǎn)生宿主實存儲器地址。宿主實存儲器地址被輸入到宿主實存儲器440,而宿主實存儲器440產(chǎn)生操作數(shù)值(例如LOAD等等)。(應(yīng)當(dāng)注意,STORE會以其它方式操作宿主實存儲器440。)應(yīng)當(dāng)注意,在這個方案中,宿主的實地址空間和目標(biāo)的實地址空間不需匹配。如果宿主的實地址空間小于目標(biāo)的實地址空間,則通過宿主的虛擬尋址將頁面適當(dāng)?shù)負(fù)Q入和換出。因此,使目標(biāo)的實地址空間大于宿主的實地址空間不會非常不利,除了可以使目標(biāo)頁表410的尺寸稍大之外。因此,可以設(shè)置目標(biāo)多處理系統(tǒng)的參數(shù),使得其實存儲器尺寸遠(yuǎn)大于物理上可能的尺寸。這在圖5中被示出,圖5還表明目標(biāo)地址的映射是被仿真的操作系統(tǒng)的功能,因此不需被仿真系統(tǒng)修改或理解。也就是說,圖5的系統(tǒng)500表明,目標(biāo)操作系統(tǒng)功能500A和宿主操作系統(tǒng)功能500B被模擬實地址-宿主虛擬地址映射器520分隔。圖5與圖4的不同之處主要在于,目標(biāo)系統(tǒng)可以具有一定數(shù)量的實存儲器,于是在被仿真的系統(tǒng)中,可以假設(shè)(假定)其不是存在于宿主的實存儲器,而是遠(yuǎn)大于宿主上存在的實存儲器的實存儲器。于是,當(dāng)目標(biāo)的實存儲器遠(yuǎn)大于宿主上的可用(物理上可能的)實存儲器時,這種操作是有用的。于是返回圖5,目標(biāo)頁面映射表510會接收目標(biāo)虛擬存儲器地址,并且會將目標(biāo)的模擬實存儲器地址傳遞到模擬實地址-宿主虛擬地址映射器520。映射器520類似于圖4的映射器420,但處理的是目標(biāo)的實存儲器大于宿主上物理可用的實存儲器的情況。應(yīng)當(dāng)注意,這種情況(例如目標(biāo)的實存儲器較大)不經(jīng)常發(fā)生,并且不是優(yōu)選的,因為應(yīng)用程序可能開始″最大程度地使用虛擬存儲器″(其中應(yīng)用程序不具有足夠的空間),并且于是開始最大程度地使用宿主的虛擬存儲器,從而導(dǎo)致″系統(tǒng)抖動″(即連續(xù)替換系統(tǒng)中的頁面)。為了得到最優(yōu)性能,最好使目標(biāo)的實存儲器的尺寸小于宿主上的可用實存儲器的尺寸。然而圖5表明,本發(fā)明可被用于目標(biāo)的實存儲器大于宿主系統(tǒng)的實存儲器的情況。雖然仿真器不需理解將目標(biāo)虛擬地址映射到目標(biāo)實地址的策略,然而它必須訪問含有實際映射的表,并且必須知道何時映射被修改。一種進(jìn)行此操作的方式是如圖6所示保存頁表的模擬副本610。除了初始頁表中含有的信息之外,模擬頁表610可以保存利于將地址映射到宿主虛擬存儲器地址的附加信息。這種模擬頁表610可以包含圖5的目標(biāo)頁面映射表510和模擬目標(biāo)實地址-宿主虛擬地址映射器520。例如在普通情況下,當(dāng)宿主虛擬存儲器的相鄰塊映射目標(biāo)的整個實存儲器時,從目標(biāo)實地址到宿主虛擬地址的映射僅涉及常數(shù)偏移的相加。另外,模擬頁表610可以含有關(guān)于各個頁面的訪問權(quán)限的信息,其形式使得仿真系統(tǒng)易于加強(qiáng)這些權(quán)限。因此在圖6中,表510和映射器520的功能被合并成一個功能模塊(僅僅是一個層次,而不是兩個層次),這簡化了仿真,并且增加了仿真操作速度。也就是說,當(dāng)轉(zhuǎn)換LOAD和STORE指令(構(gòu)成指令總數(shù)的大約1/3以上)時,分別遍歷所有這些表涉及額外的軟件指令。于是,通過僅僅遍歷一個表,使得進(jìn)程所需的各個轉(zhuǎn)換的指令數(shù)量最小(例如、是5-6個指令)。應(yīng)當(dāng)注意,本發(fā)明涉及所有類型的指令,但是針對LOADs和STOREs而優(yōu)化了,如上所述,LOADs和STOREs構(gòu)成所有指令集的最大部分。也就是說,性能得到加強(qiáng),因為本發(fā)明優(yōu)化了這類指令的處理,并且以最高效的方式處理這類指令。如圖7的結(jié)構(gòu)700所示,可以將模擬頁表710(例如類似于表610)的功能視作將目標(biāo)虛擬地址映射到宿主虛擬地址和針對含有該地址的頁面的宿主訪問特權(quán)的功能。于是,圖7示出了圖6的更為通用的視圖,而且示出了特權(quán)信息的映射(和存儲與訪問)。通常,特權(quán)信息是與各個頁面(例如各個頁面具有大約4000個字節(jié))相關(guān)的信息。當(dāng)存在對一個單元的訪問時,引用頁表710,因為它含有涉及訪問頁面的特權(quán)信息。因此,頁表710中含有的特權(quán)信息與各個頁面相關(guān)。應(yīng)當(dāng)注意,雖然圖4-7示出了目標(biāo)中各個訪問所采取的路徑,然而必須理解,通常可以一起分析若干地址并且對其進(jìn)行分類,使得對于若干個訪問,模擬頁表訪問只需進(jìn)行一次。例如可以在將目標(biāo)代碼轉(zhuǎn)換到宿主代碼的優(yōu)化階段進(jìn)行此操作。雖然可以甚至在轉(zhuǎn)換單指令(例如CISCRX指令)時執(zhí)行這種優(yōu)化,然而當(dāng)轉(zhuǎn)換指令組,例如基本塊中的指令時,存在更多這樣的機(jī)會?,F(xiàn)在參照圖8的結(jié)構(gòu)800,應(yīng)當(dāng)注意,頁表可以變得相當(dāng)大,因為通常執(zhí)行兩個訪問(轉(zhuǎn)換)方案中的一個。例如,當(dāng)模擬宿主的頁表(例如反置頁表)時,根據(jù)實地址進(jìn)行索引,以得到虛擬地址??蛇x地,普通頁表得到虛擬地址,并且接著檢查多個分層表以得到實地址。于是,由于這些表變得相當(dāng)大,信息訪問會占用較長的時間,并且使全部信息位于中央位置意味著,得到涉及所有這些訪問的信息可能包括從一個處理器到另一個處理器的操作,因此應(yīng)當(dāng)高速緩存信息。更具體地,在各個處理器(例如目標(biāo)處理器)的本地高速緩存信息會更加利于加速整個操作。此外應(yīng)當(dāng)注意,由于多個目標(biāo)處理器可以同時訪問存儲器中的單元,因此在另一個處理器需要訪問模擬頁表內(nèi)容的同時,一個處理器可能正改變該該模擬頁表內(nèi)容。因此,為了保證正確性,應(yīng)當(dāng)使用鎖保護(hù)所有對頁表的訪問。然而這使得訪問開銷相當(dāng)驚人?;谏鲜龇治觯瑸榱私档烷_銷,圖8所示的發(fā)明提供了針對頁表810中項的本地高速緩存,其中每個模擬處理器有一個高速緩存。這個如圖8的本地后援表(LLT)820所示的高速緩存含有僅僅涉及對應(yīng)目標(biāo)處理器訪問的最近頁面的信息。模擬處理器的線程對LLT進(jìn)行的訪問不需被鎖定,因為仿真其它處理器的線程不會訪問這個LLT820。然而,例如在清除全局表格810中項時,可能需要對LLT820進(jìn)行更新。由于估計這種情況很少出現(xiàn),在改變其LLT820的同時阻塞仿真處理器的線程便足夠了。全局表項可以保存具有該項的副本的處理器線程的列表,以便使被中斷的線程的數(shù)量最少。因此在操作時,在目標(biāo)處理器中,目標(biāo)虛擬存儲器地址被產(chǎn)生,并且同時輸入到緩沖器(″與″門)830和LLT820(例如,″本地″意味著在目標(biāo)處理器上)。如果信息存在于LLT820中,則LLT820發(fā)送宿主虛擬存儲器地址和位置(頁面)訪問權(quán)限。如果LLT820中存在″命中失誤″,則信號被發(fā)送到緩沖器830,而緩沖器830接著向全局模擬頁表810發(fā)出信號以請求信息。容量相當(dāng)大的表810則尋找具有所請求的信息的期望頁面,并且向LLT820發(fā)送具有該信息(和特權(quán))的頁面,從而更新LLT820。LLT820接著向請求方發(fā)送宿主虛擬存儲器地址和單元(頁面)訪問權(quán)限(特權(quán))。應(yīng)當(dāng)注意,如果請求方不具有針對所請求頁面的特權(quán),則宿主虛擬存儲器地址可以仍然由LLT820輸出,但是不會被返回到請求方。圖9示出了全局頁表810中引入這個信息的樣本頁表項900,并且示出了表本身及其項的細(xì)節(jié)。應(yīng)當(dāng)注意,表900包含有關(guān)有效/狀態(tài)位910、進(jìn)程ID920、虛擬地址930、實地址940、保護(hù)位950和后援屏蔽960的信息。后援屏蔽960是指示系統(tǒng)中哪些處理器高速緩存了一部分期望信息的位模式。于是,例如如圖9所示,假定存在八個(8個)被模擬的目標(biāo)處理器0-7,則第一項被高速緩存在處理器1、2和6的LLT中,而第二項僅被高速緩存在處理器3的LLT中。當(dāng)LLT820中的訪問發(fā)生命中失誤時,其原因可以是對應(yīng)項沒有被復(fù)制到LLT820,或者對應(yīng)頁面當(dāng)前沒有被映射到宿主虛擬地址。發(fā)生命中失誤的仿真器線程通過鎖訪問全局頁表810,以確定屬于哪種情況。如果對應(yīng)項已經(jīng)存在于全局表810中,則將其復(fù)制到LLT820,可能會替換其中的一行。如果該項不存在于全局表810中,則模擬目標(biāo)系統(tǒng)中的頁面故障。這導(dǎo)致調(diào)用被模擬的機(jī)器的操作系統(tǒng)中的頁面故障處理程序,并且導(dǎo)致所需的頁面被換入。圖10圖解了方法1000中的步驟,以描述上述過程。在真實的機(jī)器中,頁面故障處理通常導(dǎo)致與目標(biāo)處理器進(jìn)行上下文切換,以請求頁面調(diào)度另一個任務(wù)以便執(zhí)行。類似地,在被仿真的機(jī)器中,頁面故障不阻塞用于仿真導(dǎo)致頁面故障的處理器的線程。參照方法1000(并且參照圖8中的結(jié)構(gòu)800),在步驟1005中,對LLT820進(jìn)行訪問(例如輸入目標(biāo)虛擬存儲器地址)。在步驟1010中,確定LLT820中是否存在″命中失誤″。如果不存在″命中失誤″(例如″命中″),則過程完成。如果存在″命中失誤″,則在步驟1020中,獲得全局頁表810的鎖。這種鎖被用來避免同時存在多個處理器訪問(和消除),以保證相關(guān)性。在步驟1025訪問頁表,并且在步驟1030確定全局頁表810中是否存在命中失誤。如果全局頁表中不存在命中失誤(例如″命中″),則在步驟1035將全局頁面項復(fù)制到LLT820。在步驟1040釋放頁表鎖,并且在步驟1045過程結(jié)束。應(yīng)當(dāng)注意,在本發(fā)明的語境中,″結(jié)束″表示成功完成轉(zhuǎn)換(例如對于LOAD或STORE等等)。出于同樣原因,在高速緩存中仍然會出現(xiàn)命中失誤。相反地,如果在全局頁表810中存在″命中失誤″(例如在步驟1030中的″是″),則在步驟1050釋放頁表鎖。也就是說,釋放鎖,使得沒有處理器過長時間地″停留″在請求(例如加鎖請求)上,因為這樣做會束縛住表和LLT資源,并且不允許其它處理器訪問這種資源。因此,如果存在命中失誤,則釋放鎖,以允許其它用戶相對及時地使用表820。接著在步驟1055中,被模擬的處理器被復(fù)位到檢查點狀態(tài)。也就是說,執(zhí)行這個步驟,因為被模擬的處理器可能已經(jīng)自己解決問題(例如脫出頁面故障),并且系統(tǒng)需要使模擬的處理器回到其曾經(jīng)正確工作的最后檢查點狀態(tài)。在步驟1060,在宿主操作系統(tǒng)中調(diào)用頁面故障處理程序以確定頁面故障,以便從檢查點狀態(tài)開始工作。在步驟1065,頁面故障處理程序試圖檢索命中失誤頁面,從而找到命中失誤頁面,并且在全局頁表820中放置命中失誤頁面。接著,方法循環(huán)回到步驟1005,并且再次執(zhí)行上述仿真方法?;旧?,在這個后續(xù)的執(zhí)行中,會在步驟1030出現(xiàn)″命中″(例如在步驟1030中的″否″)。圖11圖解了用于本發(fā)明的信息處理/計算機(jī)系統(tǒng)的典型硬件結(jié)構(gòu),該系統(tǒng)最好具有至少一個處理器或中央處理單元(CPU)1111。CPU1111通過系統(tǒng)總線1112互連到隨機(jī)訪問存儲器(RAM)1114,只讀存儲器(ROM)1116,輸入/輸出(I/O)適配器1118(用于將諸如磁盤單元1121和磁帶驅(qū)動器1140的外部設(shè)備連接到總線1112),用戶接口適配器1122(用于將鍵盤1124,鼠標(biāo)1126,揚(yáng)聲器1128,話筒1132和/或其它用戶接口設(shè)備連接到總線1112),用于將信息處理系統(tǒng)連接到數(shù)據(jù)處理網(wǎng)絡(luò),互聯(lián)網(wǎng),內(nèi)部網(wǎng),個人局域網(wǎng)(PAN)等等的通信適配器1134,和用于將總線1112連接到顯示設(shè)備1138和/或打印機(jī)的顯示適配器1136。除了如上所述的硬件/軟件環(huán)境之外,本發(fā)明的不同方面包含用于執(zhí)行上述方法的計算機(jī)實現(xiàn)方法。作為一個例子,可以在上述特定環(huán)境中實現(xiàn)這個方法。例如可以通過諸如數(shù)字?jǐn)?shù)據(jù)處理設(shè)備的計算機(jī)實現(xiàn)這種方法,以執(zhí)行機(jī)器可讀指令序列。這些指令可以駐留在各種信號承載介質(zhì)中。這個信號承載介質(zhì)可以包含CPU1111內(nèi)的RAM,例如快速存取存儲器??蛇x地,指令可以被包含在另一個信號承載介質(zhì)(例如磁性數(shù)據(jù)存儲盤1200(圖12))中,可被CPU1111直接或間接訪問。無論是包含在磁盤1200、計算機(jī)/CPU1111或其它地方,指令可以被存儲在各種機(jī)器可讀數(shù)據(jù)存儲介質(zhì)中,例如DASD存儲器(例如傳統(tǒng)″硬盤驅(qū)動器″或RAID陣列),磁帶,電子只讀存儲器(例如ROM、EPROM或EEPROM),光學(xué)存儲裝置(例如CD-ROM,WORM,DVD,數(shù)字光帶等等),紙張″穿孔″卡或其它適當(dāng)?shù)男盘柍休d介質(zhì),包含諸如數(shù)字和模擬通信鏈路和無線通信鏈路的傳輸介質(zhì)。在本發(fā)明的圖解實施例中,機(jī)器可讀指令可以包括從諸如″C″等等的語言編譯而成的軟件對象代碼。于是如上所述,通過本發(fā)明,當(dāng)使用另一個多處理系統(tǒng)的虛擬存儲器尋址對其進(jìn)行仿真時,可以高效地映射多處理系統(tǒng)的存儲器尋址。也就是說,本發(fā)明提供了針對多處理環(huán)境中存儲器映射問題的獨(dú)特解決方案,在這種多處理環(huán)境中存在多對多映射,并且沒有實際的、針對目標(biāo)上運(yùn)行的軟件的嚴(yán)格控制。此外,本發(fā)明允許這種仿真高效地映射共享存儲器,并且通過不僅仿真操作,而且仿真存儲器,訪問功能等等來專門加強(qiáng)仿真。實際上,本發(fā)明認(rèn)識到(和認(rèn)為),在任何映射中,既包括一個單元到一個真實單元的映射,又包括訪問該單元的特權(quán)的映射。本發(fā)明考慮到這兩個方面。因此,當(dāng)使用另一個系統(tǒng)的虛擬存儲器尋址仿真一個系統(tǒng)時,本發(fā)明可以更有效地和更優(yōu)地映射被仿真的系統(tǒng)的存儲器地址。使用另一個系統(tǒng)的虛擬存儲器尋址進(jìn)行仿真是本發(fā)明的關(guān)鍵優(yōu)點。如上所述,當(dāng)發(fā)生映射時,使用虛擬存儲器允許得到更大的空間。于是,目標(biāo)(客人)的64位虛擬存儲器可以被定向(映射)到宿主的64位虛擬存儲器,其中如果相同存儲器將被映射到實存儲器,則可能僅僅有32位。雖然前面根據(jù)若干優(yōu)選實施例描述了本發(fā)明,然而本領(lǐng)域的技術(shù)人員會認(rèn)識到,可以通過所附權(quán)利要求書的宗旨和范圍內(nèi)的修改實施本發(fā)明。此外應(yīng)當(dāng)注意,申請人的意圖是涵蓋所有權(quán)利要求的等價表述,即使以后在審查期間有所修改。權(quán)利要求1.一種使用宿主多處理器系統(tǒng)的操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)的存儲器尋址的方法,包括向頁表輸入目標(biāo)虛擬存儲器地址以得到宿主虛擬存儲器地址,其中所述目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。2.如權(quán)利要求1所述的方法,其中所述頁表包括模擬頁表,所述方法還包括使用所述宿主虛擬存儲器地址從所述模擬頁表得到特權(quán)信息。3.如權(quán)利要求1所述的方法,還包括通過所述頁表一起分析若干地址并對其進(jìn)行分類,使得針對多個訪問只進(jìn)行一次頁表訪問。4.如權(quán)利要求1所述的方法,還包括在所述目標(biāo)系統(tǒng)上本地高速緩存對應(yīng)于所述目標(biāo)虛擬存儲器地址的所述宿主虛擬存儲器地址。5.如權(quán)利要求1所述的方法,其中還包括當(dāng)對所述頁表進(jìn)行訪問時鎖定所述頁表。6.如權(quán)利要求1所述的方法,還包括提供對所述目標(biāo)處理器的頁表項的本地高速緩存。7.如權(quán)利要求6所述的方法,還包括在所述多處理器系統(tǒng)中,為所述多處理器系統(tǒng)的每個被模擬的處理器提供一個高速緩存,所述高速緩存含有關(guān)于對應(yīng)目標(biāo)處理器訪問的最近頁面的信息。8.如權(quán)利要求6所述的方法,其中模擬目標(biāo)處理器的線程對本地高速緩存的訪問不被鎖定,并且仿真所述多處理器系統(tǒng)中其它處理器的線程不訪問該本地高速緩存。9.如權(quán)利要求6所述的方法,還包括在目標(biāo)處理器中,同時向緩沖器和本地高速緩存輸入目標(biāo)虛擬存儲器地址,其中如果所述目標(biāo)虛擬存儲器地址存在于本地高速緩存中,本地高速緩存向宿主系統(tǒng)發(fā)送宿主虛擬存儲器地址和單元訪問權(quán)限。10.如權(quán)利要求9所述的方法,其中如果在本地高速緩存中存在″命中失誤″,則將一信號發(fā)送到所述緩沖器,所述緩沖器向頁表發(fā)出信號以請求信息。11.如權(quán)利要求10所述的方法,其中頁表找到具有所請求的信息的期望頁面,并且向本地高速緩存發(fā)送具有所請求的信息和特權(quán)的頁面,其中所述本地高速緩存向請求方發(fā)送宿主虛擬存儲器地址和頁面訪問權(quán)限。12.如權(quán)利要求1所述的方法,還包括為所述頁表提供包含有關(guān)有效/狀態(tài)位、進(jìn)程標(biāo)識、虛擬地址、對應(yīng)于虛擬地址的實地址、保護(hù)位和后援屏蔽的信息的各項,所述后援屏蔽是指示系統(tǒng)中哪一處理器高速緩存了一部分期望信息的位模式。13.如權(quán)利要求6所述的方法,其中如果對應(yīng)項已經(jīng)存在于頁表中,則對應(yīng)項被復(fù)制到本地高速緩存中。14.如權(quán)利要求13所述的方法,其中如果項不存在于頁表中,則模擬目標(biāo)系統(tǒng)中的頁面故障,以調(diào)用被模擬的目標(biāo)處理器的操作系統(tǒng)中的頁面故障處理程序,并且導(dǎo)致所需頁面被換入。15.如權(quán)利要求1所述的方法,其中被仿真的指令包括LOAD指令和STORE指令中的至少一個。16.一種當(dāng)使用另一個多處理系統(tǒng)的虛擬存儲器尋址仿真一個多處理系統(tǒng)時映射被仿真的多處理系統(tǒng)的存儲器尋址的方法,包括使用目標(biāo)虛擬存儲器地址訪問目標(biāo)處理器上的本地后援表(LLT);確定LLT中是否存在″命中失誤″;和根據(jù)所述LLT中確定的所述命中失誤得到全局頁表的鎖。17.如權(quán)利要求16所述的方法,還包括訪問全局頁表;和確定全局頁表是否存在″命中失誤″。18.如權(quán)利要求17所述的方法,還包括當(dāng)在全局頁表中沒有確定所述命中失誤時,將全局頁面項復(fù)制到LLT;和釋放頁表鎖。19.如權(quán)利要求17所述的方法,還包括根據(jù)頁表中確定的所述命中失誤,釋放頁表鎖;將被模擬的目標(biāo)處理器復(fù)位到檢查點狀態(tài);調(diào)用宿主操作系統(tǒng)中的頁面故障處理程序以確定頁面故障,以便從檢查點狀態(tài)開始操作;和檢索命中失誤頁面,并且將命中失誤頁面放置在全局頁表中。20.如權(quán)利要求16所述的方法,其中被仿真的指令包括LOAD指令和STORE指令中的至少一個。21.在通過執(zhí)行一或多個代表目標(biāo)系統(tǒng)操作的線程來仿真目標(biāo)n處理器系統(tǒng)(n≥1)的操作的宿主多處理器系統(tǒng)中,使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的方法,所述方法包括(a)讀取目標(biāo)系統(tǒng)虛擬存儲器地址(ATV);(b)映射所述ATV到目標(biāo)實地址(ATR);(c)映射所述ATR到宿主虛擬存儲器地址(AHV);和(d)映射所述AHV到宿主實存儲器地址,其中目標(biāo)系統(tǒng)存儲器尋址的仿真被處理成宿主多處理器系統(tǒng)上運(yùn)行的應(yīng)用程序。22.一種用于仿真目標(biāo)系統(tǒng)存儲器尋址的系統(tǒng),包括頁表,用于將來自目標(biāo)系統(tǒng)的目標(biāo)虛擬存儲器地址映射到宿主虛擬存儲器地址和頁面訪問權(quán)限;其中所述目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。23.如權(quán)利要求22所述的系統(tǒng),其中所述頁表包含用于一起分析若干地址并對其進(jìn)行分類,使得針對多個訪問進(jìn)行一次模擬頁表訪問的裝置。24.如權(quán)利要求22所述的系統(tǒng),其中所述目標(biāo)系統(tǒng)包含用于在所述目標(biāo)系統(tǒng)上本地高速緩存對應(yīng)于所述目標(biāo)虛擬存儲器地址的所述宿主虛擬存儲器地址的本地后援表(LLT)。25.如權(quán)利要求22所述的系統(tǒng),還包括鎖,用于當(dāng)對所述頁表進(jìn)行訪問時鎖定所述頁表。26.如權(quán)利要求22所述的系統(tǒng),還包括在所述多處理器系統(tǒng)中,為所述多處理器系統(tǒng)的每個被模擬的處理器提供一個所述的LLT,所述LLT含有關(guān)于對應(yīng)目標(biāo)處理器訪問的最近頁面的信息。27.如權(quán)利要求26所述的系統(tǒng),其中模擬處理器的線程對LLT的所述訪問不被鎖定,其中仿真所述多處理器系統(tǒng)中其它處理器的線程不訪問LLT。28.如權(quán)利要求26所述的系統(tǒng),還包括緩沖器,用于和LLT接收所述目標(biāo)虛擬存儲器地址基本同時地接收所述目標(biāo)虛擬存儲器地址,其中如果所述目標(biāo)虛擬存儲器地址存在于LLT中,則LLT向宿主系統(tǒng)發(fā)送宿主虛擬存儲器地址和單元訪問權(quán)限。29.如權(quán)利要求26所述的系統(tǒng),其中如果在LLT中存在″命中失誤″,則信號被發(fā)送到一個緩沖器,所述緩沖器向頁表發(fā)出信號以請求該信息。30.如權(quán)利要求29所述的系統(tǒng),其中所述頁表找到具有所請求的信息的期望頁面,并且向LLT發(fā)送具有該信息和特權(quán)的頁面,其中所述LLT向請求方發(fā)送宿主虛擬存儲器地址和頁面訪問權(quán)限。31.如權(quán)利要求22所述的系統(tǒng),其中所述頁表包含關(guān)于有效/狀態(tài)位、進(jìn)程標(biāo)識、虛擬地址、對應(yīng)于虛擬地址的實地址、保護(hù)位和后援屏蔽的信息的各項,所述后援屏蔽是指示系統(tǒng)中哪些處理器高速緩存了一部分期望信息的位模式。32.使用宿主多處理器系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)的存儲器尋址的系統(tǒng),包括本地后援表(LLT),用于在有關(guān)所述目標(biāo)虛擬存儲器地址的信息被存儲在所述LLT中的情況下,接收目標(biāo)虛擬存儲器地址并輸出宿主虛擬存儲器地址和頁面訪問權(quán)限。33.如權(quán)利要求32所述的系統(tǒng),還包括頁表,用于接收所述目標(biāo)虛擬存儲器地址并提供對應(yīng)于所述目標(biāo)虛擬存儲器地址的所述宿主虛擬存儲器地址。34.如權(quán)利要求32所述的系統(tǒng),其中所述目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。35.如權(quán)利要求33所述的系統(tǒng),其中當(dāng)在所述LLT中沒有找到對應(yīng)于所述目標(biāo)虛擬存儲器地址的宿主虛擬存儲器地址信息時,所述頁表使用所述宿主虛擬存儲器地址信息更新LLT。36.當(dāng)使用另一個多處理系統(tǒng)的虛擬存儲器尋址仿真一個多處理系統(tǒng)時映射被仿真的多處理系統(tǒng)的存儲器尋址的系統(tǒng),所述系統(tǒng)包括目標(biāo)處理器上的本地后援表(LLT),用于存儲目標(biāo)虛擬存儲器地址和與之對應(yīng)的宿主虛擬存儲器地址;用于使用目標(biāo)虛擬存儲器地址訪問所述LLT的裝置;用于確定LLT中是否存在″命中失誤″的裝置;和用于根據(jù)來自所述確定裝置的輸入得到全局頁表的鎖的裝置。37.用于通過執(zhí)行一或多個代表目標(biāo)系統(tǒng)操作的線程對目標(biāo)n處理器系統(tǒng)(n≥1)的操作進(jìn)行多處理器仿真的系統(tǒng),包括用于使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的裝置,所述仿真裝置包括(a)用于讀取目標(biāo)系統(tǒng)虛擬存儲器地址(ATV)的裝置;(b)用于映射所述ATV到目標(biāo)實地址(ATR)的裝置;(c)用于映射所述ATR到宿主虛擬存儲器地址(AHV)的裝置;和(d)用于映射所述AHV到宿主實存儲器地址的裝置,其中目標(biāo)系統(tǒng)存儲器尋址的仿真被處理成宿主多處理器系統(tǒng)上運(yùn)行的應(yīng)用程序。38.一種信號承載介質(zhì),實際包含機(jī)器可讀指令程序,該程序可被數(shù)字處理設(shè)備運(yùn)行,以便執(zhí)行使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的方法,所述方法包括向模擬頁表輸入目標(biāo)虛擬存儲器地址以得到宿主虛擬存儲器地址,其中所述目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。39.一種信號承載介質(zhì),實際包含機(jī)器可讀指令程序,該程序可被數(shù)字處理設(shè)備運(yùn)行,以便執(zhí)行在使用另一個多處理系統(tǒng)的虛擬存儲器尋址仿真一個多處理系統(tǒng)時映射被仿真的多處理系統(tǒng)的存儲器尋址的方法,所述方法包括使用目標(biāo)虛擬存儲器地址訪問目標(biāo)處理器上的本地后援表(LLT);確定LLT中是否存在″命中失誤″;和根據(jù)所述LLT中確定的所述命中失誤得到頁表的鎖。40.一種信號承載介質(zhì),實際包含機(jī)器可讀指令程序,該程序可被數(shù)字處理設(shè)備運(yùn)行以便執(zhí)行一個方法,該方法在宿主多處理器系統(tǒng)中通過執(zhí)行一或多個代表目標(biāo)系統(tǒng)操作的線程對目標(biāo)n處理器系統(tǒng)(n≥1)的操作進(jìn)行仿真,即一個用于使用宿主多處理器系統(tǒng)操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)存儲器尋址的方法,所述方法包括(a)讀取目標(biāo)系統(tǒng)虛擬存儲器地址(ATV);(b)映射所述ATV到目標(biāo)實地址(ATR);(c)映射所述ATR到宿主虛擬存儲器地址(AHV);和(d)映射所述AHV到宿主實存儲器地址,其中目標(biāo)系統(tǒng)存儲器尋址的仿真被處理成宿主多處理器系統(tǒng)上運(yùn)行的應(yīng)用程序。全文摘要使用宿主多處理器系統(tǒng)的操作系統(tǒng)的虛擬-實存儲器映射機(jī)構(gòu)仿真目標(biāo)系統(tǒng)的存儲器尋址的方法(和系統(tǒng)),包含向模擬頁表輸入目標(biāo)虛擬存儲器地址以獲得宿主虛擬存儲器地址。目標(biāo)系統(tǒng)不注意其運(yùn)行的軟件。文檔編號G06F15/16GK1492323SQ0315701公開日2004年4月28日申請日期2003年9月9日優(yōu)先權(quán)日2002年9月17日發(fā)明者E·R·奧爾特曼,R·奈爾,J·K·奧布瑞恩,K·M·奧布瑞恩,P·H·奧登,D·A·普雷納,S·W·薩塞耶,ER奧爾特曼,奧布瑞恩,奧登,普雷納,薩塞耶申請人:國際商業(yè)機(jī)器公司