存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法相關(guān)申請(qǐng)的交叉引用本申請(qǐng)基于2012年5月1日提交的日本專利申請(qǐng)No.2012-104579并要求其優(yōu)先權(quán)權(quán)益,其全部?jī)?nèi)容通過(guò)引入合并于此。
技術(shù)領(lǐng)域:
:本發(fā)明涉及存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法,并且例如涉及通過(guò)各個(gè)虛擬機(jī)來(lái)控制對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法。
背景技術(shù):
::通常,諸如中央處理單元(CPU)的處理單元包括存儲(chǔ)器保護(hù)機(jī)構(gòu),存儲(chǔ)器保護(hù)機(jī)構(gòu)控制對(duì)存儲(chǔ)器的訪問(wèn)以便于保護(hù)存儲(chǔ)器免受未授權(quán)訪問(wèn)。存儲(chǔ)器保護(hù)機(jī)構(gòu)能設(shè)定向或從存儲(chǔ)器空間中的預(yù)定地址寫入或讀取的允許/禁止。存儲(chǔ)器保護(hù)機(jī)構(gòu)包括,例如,存儲(chǔ)器管理單元(MMU)和存儲(chǔ)器保護(hù)單元(MPU)。此外,存在一種虛擬化技術(shù),該技術(shù)使得單一物理資源(硬件資源)看起來(lái)像多個(gè)資源。通過(guò)使用該虛擬化技術(shù),例如,可以在一個(gè)CPU上操作多個(gè)虛擬機(jī)(VM),由此能夠在相應(yīng)的虛擬機(jī)上操作不同操作系統(tǒng)(OS)。日本未經(jīng)審查專利申請(qǐng)公開(kāi)No.2011-146030公開(kāi)了一種存儲(chǔ)器保護(hù)技術(shù),該技術(shù)通過(guò)使得能夠?qū)Υ_定為具有高可靠性的保護(hù)區(qū)域進(jìn)行直接訪問(wèn)來(lái)減輕執(zhí)行效率的下降,并且抑制作為未授權(quán)訪問(wèn)的對(duì)確定為具有低可靠性的保護(hù)區(qū)域的直接訪問(wèn)。日本未經(jīng)審查專利申請(qǐng)公開(kāi)No.2009-009232公開(kāi)了一種向計(jì)算機(jī)系統(tǒng)提供了高可靠性的技術(shù),并且具體地,公開(kāi)了一種保護(hù)操作系統(tǒng)的內(nèi)核的技術(shù)。技術(shù)實(shí)現(xiàn)要素:如在
背景技術(shù):
:中所述,可以例如通過(guò)使用虛擬化技術(shù)來(lái)在一個(gè)CPU上操作多個(gè)虛擬機(jī)。在這種情況下,可以在相應(yīng)的虛擬機(jī)上操作不同的OS和應(yīng)用程序。然而,由于虛擬機(jī)共享單一物理存儲(chǔ)器,所以當(dāng)在CPU中使用虛擬化技術(shù)時(shí),需要防止各個(gè)虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的干擾。因此,需要提供一種控制各個(gè)虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)機(jī)構(gòu)。然而,當(dāng)例如使用包括存儲(chǔ)器保護(hù)功能和地址轉(zhuǎn)換功能的存儲(chǔ)器管理單元(MMU)作為存儲(chǔ)器保護(hù)機(jī)構(gòu)時(shí),需要大量的硬件資源。因此,需要一種利用少量硬件資源來(lái)控制各個(gè)虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)機(jī)構(gòu)(存儲(chǔ)器保護(hù)電路)。從說(shuō)明書(shū)和附圖中的描述,其他問(wèn)題和新穎特征將是顯而易見(jiàn)的。根據(jù)一個(gè)實(shí)施例的存儲(chǔ)器保護(hù)電路包括存儲(chǔ)器訪問(wèn)信息寄存器和訪問(wèn)確定電路。存儲(chǔ)器訪問(wèn)信息寄存器存儲(chǔ)與能夠由各個(gè)虛擬機(jī)訪問(wèn)的存儲(chǔ)器區(qū)域有關(guān)的存儲(chǔ)器訪問(wèn)信息,并且訪問(wèn)確定電路基于在各個(gè)虛擬機(jī)訪問(wèn)存儲(chǔ)器時(shí)的存儲(chǔ)器地址、與訪問(wèn)該存儲(chǔ)器的虛擬機(jī)有關(guān)的信息、以及存儲(chǔ)在該存儲(chǔ)器訪問(wèn)信息寄存器中的存儲(chǔ)器訪問(wèn)信息,來(lái)確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域。根據(jù)一個(gè)實(shí)施例的處理單元包括:運(yùn)算電路,該運(yùn)算電路執(zhí)行與各個(gè)虛擬機(jī)相對(duì)應(yīng)的程序;虛擬機(jī)調(diào)度器,所述虛擬機(jī)調(diào)度器向虛擬機(jī)分配程序的執(zhí)行時(shí)間;以及存儲(chǔ)器保護(hù)電路,該存儲(chǔ)器保護(hù)電路控制各個(gè)虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)。根據(jù)一個(gè)實(shí)施例的存儲(chǔ)器保護(hù)方法包括:將與能由各個(gè)虛擬機(jī)訪問(wèn)的存儲(chǔ)器區(qū)域有關(guān)的存儲(chǔ)器訪問(wèn)信息存儲(chǔ)在存儲(chǔ)器訪問(wèn)信息寄存器中;以及基于在各個(gè)虛擬機(jī)訪問(wèn)存儲(chǔ)器時(shí)的存儲(chǔ)器地址、與訪問(wèn)該存儲(chǔ)器的虛擬機(jī)有關(guān)的信息、以及存儲(chǔ)在該存儲(chǔ)器訪問(wèn)信息寄存器中的存儲(chǔ)器訪問(wèn)信息,來(lái)確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器。根據(jù)上述實(shí)施例,可以提供能夠利用少量硬件資源來(lái)控制各個(gè)虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法。附圖說(shuō)明從結(jié)合附圖獲得的特定實(shí)施例的下述描述中,上述和其他方面、優(yōu)點(diǎn)和特征將是顯而易見(jiàn)的,在附圖中:圖1是用于描述包括根據(jù)第一實(shí)施例的存儲(chǔ)器保護(hù)電路的處理單元的框圖;圖2是用于描述虛擬化技術(shù)的圖;圖3是用于描述由運(yùn)算電路執(zhí)行的指令的順序的一個(gè)示例的圖;圖4是示出根據(jù)第一實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖;圖5是示出包括在根據(jù)第一實(shí)施例的存儲(chǔ)器保護(hù)電路中的存儲(chǔ)器區(qū)域設(shè)定寄存器的一個(gè)示例的圖;圖6是示出包括在根據(jù)第一實(shí)施例的存儲(chǔ)器保護(hù)電路中的存儲(chǔ)器區(qū)域分配寄存器的一個(gè)示例的圖;圖7是用于描述使用虛擬化技術(shù)構(gòu)建的系統(tǒng)的框圖;圖8是用于描述根據(jù)第一實(shí)施例的存儲(chǔ)器保護(hù)電路的操作的流程圖;圖9是用于描述包括根據(jù)第二實(shí)施例的存儲(chǔ)器保護(hù)電路的處理單元的框圖;圖10是示出根據(jù)第二實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖;圖11是用于描述根據(jù)第二實(shí)施例的存儲(chǔ)器保護(hù)電路的操作的流程圖;圖12是用于描述包括根據(jù)第三實(shí)施例的存儲(chǔ)器保護(hù)電路的處理單元的框圖;圖13是用于描述由運(yùn)算電路執(zhí)行的指令的順序的一個(gè)示例的圖;圖14是示出根據(jù)第四實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖;圖15是示出根據(jù)第五實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖;圖16是示出包括在根據(jù)第五實(shí)施例的存儲(chǔ)器保護(hù)電路中的存儲(chǔ)器訪問(wèn)信息寄存器中存儲(chǔ)的信息的一個(gè)示例的表;圖17是示出根據(jù)第六實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖;以及圖18是示出包括在根據(jù)第六實(shí)施例的存儲(chǔ)器保護(hù)電路中的寄存器訪問(wèn)信息寄存器中所存儲(chǔ)的信息的一個(gè)示例的表。具體實(shí)施方式<第一實(shí)施例>圖1是用于描述包括根據(jù)第一實(shí)施例的存儲(chǔ)器保護(hù)電路的處理單元(CPU)的框圖。圖1中所示的處理單元1包括指令緩沖器2、選擇器3、運(yùn)算電路4、虛擬機(jī)調(diào)度器5和存儲(chǔ)器保護(hù)電路6_1。存儲(chǔ)器保護(hù)電路6_1包括存儲(chǔ)器訪問(wèn)信息寄存器8和訪問(wèn)確定電路9。圖1中所示的處理單元1通過(guò)總線10連接到存儲(chǔ)器11。盡管作為本實(shí)施例的示例,以存儲(chǔ)器保護(hù)電路6_1被包括在處理單元1中為背景來(lái)進(jìn)行描述,但是存儲(chǔ)器保護(hù)電路6_1可以被提供為與處理單元1分離。指令緩沖器2臨時(shí)存儲(chǔ)要由處理單元1處理的程序。指令緩沖器2包括指令緩沖區(qū)域BUF_0至BUF_2。指令緩沖區(qū)域BUF_0至BUF_2臨時(shí)存儲(chǔ)與各個(gè)虛擬機(jī)相對(duì)應(yīng)的程序。例如,可以通過(guò)總線10將指令(程序)提供給指令緩沖器2,或可以將存儲(chǔ)在指令存儲(chǔ)器(未示出)中的指令提供給指令緩沖器2。選擇器3根據(jù)從虛擬機(jī)調(diào)度器5輸出的虛擬機(jī)選擇信號(hào)VM_SEL來(lái)選擇指令緩沖區(qū)域BUF_0至BUF_2中的一個(gè),并且將從選擇的指令緩沖區(qū)域讀出的程序輸出到運(yùn)算電路4。具體地,選擇器3根據(jù)虛擬機(jī)選擇信號(hào)VM_SEL來(lái)從多個(gè)虛擬機(jī)(VM#0至VM#2)中選擇一個(gè)虛擬機(jī),并且向運(yùn)算電路4輸出要在選擇的虛擬機(jī)中執(zhí)行的程序。注意,指令緩沖區(qū)域BUF_0至BUF_2分別對(duì)應(yīng)于VM#0至VM#2。虛擬機(jī)調(diào)度器5輸出虛擬機(jī)選擇信號(hào)VM_SEL,該虛擬機(jī)選擇信號(hào)VM_SEL指定根據(jù)預(yù)定調(diào)度程序在多個(gè)虛擬機(jī)中的在下一執(zhí)行周期中對(duì)其分配執(zhí)行時(shí)間的虛擬機(jī)的。更具體地說(shuō),虛擬機(jī)調(diào)度器5調(diào)度與從包括在指令緩沖器2中的指令緩沖區(qū)域BUF_0至BUF_2輸出的程序相對(duì)應(yīng)的虛擬機(jī)的順序,并且輸出虛擬機(jī)選擇信號(hào)VM_SEL使得由運(yùn)算電路4根據(jù)該調(diào)度來(lái)執(zhí)行該程序。此外,虛擬機(jī)調(diào)度器5通過(guò)運(yùn)算電路4來(lái)將與對(duì)應(yīng)于在運(yùn)算電路4中執(zhí)行的程序的虛擬機(jī)有關(guān)的信息VM_n_M輸出到存儲(chǔ)器保護(hù)電路6_1。運(yùn)算電路4基于由選擇器3選擇的程序來(lái)執(zhí)行運(yùn)算處理。更具體地說(shuō),運(yùn)算電路4包括多個(gè)執(zhí)行級(jí),并且通過(guò)管線處理(pipelineprocessing)來(lái)執(zhí)行運(yùn)算處理。此外,運(yùn)算電路4傳送存儲(chǔ)器地址ADD_M和寫入數(shù)據(jù)WD_M以訪問(wèn)存儲(chǔ)器11,并且根據(jù)執(zhí)行該程序的結(jié)果來(lái)接收讀取數(shù)據(jù)RD_M。通過(guò)總線10將從運(yùn)算電路4傳送的存儲(chǔ)器地址ADD_M和寫入數(shù)據(jù)WD_M提供給存儲(chǔ)器11。圖2是用于描述虛擬化技術(shù)的圖。虛擬化技術(shù)是使單一硬件資源看起來(lái)像多個(gè)資源的技術(shù)。硬件資源與圖1中所示的處理單元(CPU)1和存儲(chǔ)器11、其他外圍設(shè)備等相對(duì)應(yīng)。如圖2所示,在硬件資源和虛擬機(jī)之間的層級(jí)中提供超級(jí)管理程序。該超級(jí)管理程序是授權(quán)管理多個(gè)虛擬機(jī)(VM#0至VM#2)的軟件。不同管理程序(操作系統(tǒng)OS#0至OS#2)在各個(gè)虛擬機(jī)(VM#0至VM#2)上進(jìn)行操作。在各個(gè)管理程序(操作系統(tǒng)OS#0至OS#2)中操作不同應(yīng)用程序#0至#2。通過(guò)以這種方式使用虛擬化技術(shù),可以在一個(gè)操作單元(CPU)上操作多個(gè)虛擬機(jī)(VM#0至VM#2),由此能夠在各個(gè)虛擬機(jī)上操作不同操作系統(tǒng)(OS#0至OS#2)。圖3是用于描述由運(yùn)算電路4執(zhí)行的程序的順序的一個(gè)示例的圖。圖3中所示的程序#00和#01(對(duì)應(yīng)于虛擬機(jī)#0)被存儲(chǔ)在包括在指令緩沖器2中的指令緩沖區(qū)域BUF_0中。類似地,程序#10和#11(對(duì)應(yīng)于虛擬機(jī)#1)被存儲(chǔ)在指令緩沖區(qū)域BUF_1中。程序#20和#21(對(duì)應(yīng)于虛擬機(jī)#2)被存儲(chǔ)在指令緩沖區(qū)域BUF_2中。圖3作為示例示出了在虛擬機(jī)(VM#0)上執(zhí)行程序#00和#01、在虛擬機(jī)(VM#1)上執(zhí)行程序#10和#11并且在虛擬機(jī)(VM#2)上執(zhí)行程序#20和#21的情況。選擇器3根據(jù)從虛擬機(jī)調(diào)度器5輸出的虛擬機(jī)選擇信號(hào)VM_SEL來(lái)選擇指令緩沖區(qū)域BUF_0至BUF_2中的任何一個(gè),并且將從選擇的指令緩沖區(qū)域讀出的程序輸出到運(yùn)算電路4。圖3中所示的示例示出了下述情況,在該情況中,在虛擬機(jī)調(diào)度器5中調(diào)度存儲(chǔ)在指令緩沖區(qū)域BUF_0至BUF_2中的程序,以便于以程序#00、程序#10、程序#20、程序#01,…的順序進(jìn)行輸出。以這種方式,使用運(yùn)算電路4順序地執(zhí)行從選擇器3輸出的程序,由此能夠在預(yù)先調(diào)度的多個(gè)虛擬機(jī)(VM#0至VM#2)上處理各個(gè)程序。注意圖3中所示的由虛擬機(jī)處理的程序以及處理程序的順序(虛擬機(jī)調(diào)度)僅是示例,并且可以任意地確定。圖1中所示的存儲(chǔ)器保護(hù)電路6_1包括存儲(chǔ)器訪問(wèn)信息寄存器8和訪問(wèn)確定電路9。存儲(chǔ)器訪問(wèn)信息寄存器8存儲(chǔ)與能夠由各個(gè)虛擬機(jī)訪問(wèn)的存儲(chǔ)器11的存儲(chǔ)器區(qū)域有關(guān)的存儲(chǔ)器訪問(wèn)信息。當(dāng)在運(yùn)算電路4中執(zhí)行與各個(gè)虛擬機(jī)相對(duì)應(yīng)的程序時(shí),虛擬機(jī)訪問(wèn)存儲(chǔ)器11的存儲(chǔ)器區(qū)域與運(yùn)算電路4訪問(wèn)存儲(chǔ)器11的存儲(chǔ)器區(qū)域相同。更具體地說(shuō),虛擬機(jī)(運(yùn)算電路4)將存儲(chǔ)器地址ADD_M和寫入數(shù)據(jù)WD_M傳送到存儲(chǔ)器11,或從存儲(chǔ)器11接收讀取數(shù)據(jù)RD_M,由此訪問(wèn)存儲(chǔ)器11的存儲(chǔ)器區(qū)域。除了存儲(chǔ)器地址ADD_M外,例如,與對(duì)存儲(chǔ)器11的訪問(wèn)的類型(寫入訪問(wèn)/讀取訪問(wèn))有關(guān)的信息和與訪問(wèn)寬度(字節(jié)/半字/長(zhǎng)字)有關(guān)的信息也被傳送到存儲(chǔ)器11和存儲(chǔ)器保護(hù)電路6_1。此外,訪問(wèn)確定電路9(第一訪問(wèn)確定電路)基于當(dāng)各個(gè)虛擬機(jī)訪問(wèn)存儲(chǔ)器11時(shí)的存儲(chǔ)器地址ADD_M、與訪問(wèn)該存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M以及存儲(chǔ)在存儲(chǔ)器訪問(wèn)信息寄存器8中的存儲(chǔ)器訪問(wèn)信息,來(lái)確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域。圖4是示出根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_1的一個(gè)示例的框圖。如圖4所示,存儲(chǔ)器訪問(wèn)信息寄存器8包括存儲(chǔ)器區(qū)域分配寄存器#0至#3以及存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。將與存儲(chǔ)器11的存儲(chǔ)器區(qū)域有關(guān)的存儲(chǔ)器區(qū)域信息存儲(chǔ)在各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中。在圖4所示的示例中,存儲(chǔ)器訪問(wèn)信息寄存器8包括四個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3,并且與存儲(chǔ)器11的四個(gè)存儲(chǔ)器區(qū)域#0至#3有關(guān)的信息分別被存儲(chǔ)在存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中??偟膩?lái)說(shuō),分別與存儲(chǔ)器區(qū)域#0至#3相對(duì)應(yīng)地提供存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。圖5是示出包括在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_1中的存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的一個(gè)示例的圖。如圖5所示,各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3都包括上限地址寄存器(MPUA0至MPUA3)、下限地址寄存器(MPLA0至MPLA3)以及屬性寄存器(MPAT0至MPAT3)。上限地址寄存器(MPUA0至MPUA3)分別存儲(chǔ)存儲(chǔ)器區(qū)域#0至#3的上限地址。下限地址寄存器(MPLA0至MPLA3)分別存儲(chǔ)存儲(chǔ)器區(qū)域#0至#3的下限地址。例如,當(dāng)將存儲(chǔ)器區(qū)域#0至#3設(shè)定為存儲(chǔ)器11的存儲(chǔ)器區(qū)域時(shí),在存儲(chǔ)器區(qū)域設(shè)定寄存器#0的上限地址寄存器MPUA0中存儲(chǔ)存儲(chǔ)器區(qū)域#0的上限地址,并且在下限地址寄存器MPLA0中存儲(chǔ)存儲(chǔ)器區(qū)域#0的下限地址。在存儲(chǔ)器區(qū)域設(shè)定寄存器#1的上限地址寄存器MPUA1中存儲(chǔ)存儲(chǔ)器區(qū)域#1的上限地址,并且在下限地址寄存器MPLA1中存儲(chǔ)存儲(chǔ)器區(qū)域#1的下限地址。在存儲(chǔ)器區(qū)域設(shè)定寄存器#2的上限地址寄存器MPUA2中存儲(chǔ)存儲(chǔ)器區(qū)域#2的上限地址,并且在下限地址寄存器MPLA2中存儲(chǔ)存儲(chǔ)器區(qū)域#2的下限地址。在存儲(chǔ)器區(qū)域設(shè)定寄存器#3的上限地址寄存器MPUA3中存儲(chǔ)存儲(chǔ)器區(qū)域#3的上限地址,并且在下限地址寄存器MPLA3中存儲(chǔ)存儲(chǔ)器區(qū)域#3的下限地址。此時(shí),存儲(chǔ)器11的存儲(chǔ)器區(qū)域#0至#3通常被設(shè)定成彼此不重疊。此外,屬性寄存器(MPAT0至MPAT3)存儲(chǔ)各個(gè)存儲(chǔ)器區(qū)域#0至#3的屬性(即,允許/禁止寫入和允許/禁止讀?。⑴c能夠訪問(wèn)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)有關(guān)的信息存儲(chǔ)在包括在圖4所示的存儲(chǔ)器訪問(wèn)信息寄存器8中的各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3中。具體地,將與能夠訪問(wèn)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)(VM#0至VM2)有關(guān)的信息存儲(chǔ)在各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3中。圖6是示出存儲(chǔ)在包括在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_1中的存儲(chǔ)器區(qū)域分配寄存器#0至#3中的信息的一個(gè)示例的圖。如圖6所示,各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3都包括存儲(chǔ)器區(qū)域寄存器和虛擬機(jī)寄存器。與存儲(chǔ)器區(qū)域(存儲(chǔ)器區(qū)域#0至#3)有關(guān)的信息被存儲(chǔ)在各個(gè)存儲(chǔ)器區(qū)域寄存器中。此外,與能夠訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)(VM#0至VM#2)有關(guān)的信息被存儲(chǔ)在各個(gè)虛擬機(jī)寄存器中。在圖6所示的示例中,存儲(chǔ)器區(qū)域#0被存儲(chǔ)在存儲(chǔ)器區(qū)域分配寄存器#0的存儲(chǔ)器區(qū)域寄存器中,并且虛擬機(jī)VM#0被存儲(chǔ)在虛擬機(jī)寄存器中。由此,能將虛擬機(jī)VM#0設(shè)定為能訪問(wèn)存儲(chǔ)器區(qū)域#0的虛擬機(jī)。此外,存儲(chǔ)器區(qū)域#1被存儲(chǔ)在存儲(chǔ)器區(qū)域分配寄存器#1的存儲(chǔ)器區(qū)域寄存器中,并且虛擬機(jī)VM#0被存儲(chǔ)在虛擬機(jī)寄存器中。因此,虛擬機(jī)VM#0被設(shè)定為能夠訪問(wèn)存儲(chǔ)器區(qū)域#1的虛擬機(jī)。此外,存儲(chǔ)器區(qū)域#2被存儲(chǔ)在存儲(chǔ)器區(qū)域分配寄存器#2的存儲(chǔ)器區(qū)域寄存器中,并且虛擬機(jī)VM#1被存儲(chǔ)在虛擬機(jī)寄存器中。由此,將虛擬機(jī)VM#1設(shè)定為能訪問(wèn)存儲(chǔ)器區(qū)域#2的虛擬機(jī)。此外,存儲(chǔ)器區(qū)域#3被存儲(chǔ)在存儲(chǔ)器區(qū)域分配寄存器#3的存儲(chǔ)器區(qū)域寄存器中,并且虛擬機(jī)VM#2被存儲(chǔ)在虛擬機(jī)寄存器中。由此,將虛擬機(jī)VM#2設(shè)定為能訪問(wèn)存儲(chǔ)器區(qū)域#3的虛擬機(jī)。例如,僅授權(quán)超級(jí)管理程序訪問(wèn)存儲(chǔ)器區(qū)域分配寄存器#0至#3,并且不授權(quán)各個(gè)虛擬機(jī)(管理程序)訪問(wèn)存儲(chǔ)器區(qū)域分配寄存器#0至#3,由此能夠防止各個(gè)虛擬機(jī)將信息自由地重新寫入存儲(chǔ)器區(qū)域分配寄存器#0至#3。因此,對(duì)超級(jí)管理程序來(lái)說(shuō),可以管理由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域,并且可以防止由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域的干擾。此外,圖4所示的訪問(wèn)確定電路9包括地址確定電路#0至#3、存儲(chǔ)器訪問(wèn)確定電路#0到3、與電路(AND2_0至AND2_3)以及或電路(OR_1)。分別與存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3相對(duì)應(yīng)地提供地址確定電路#0至#3。地址確定電路#0至#3基于存儲(chǔ)在各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中的存儲(chǔ)器區(qū)域信息來(lái)確定當(dāng)訪問(wèn)存儲(chǔ)器11時(shí)從各個(gè)虛擬機(jī)VM#0至VM#2輸出的存儲(chǔ)器地址ADD_M是否被包括在各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中設(shè)定的存儲(chǔ)器區(qū)域#0至#3中。例如,地址確定電路#0將在訪問(wèn)存儲(chǔ)器11時(shí)從各個(gè)虛擬機(jī)VM#0至VM#2輸出的存儲(chǔ)器地址ADD_M與存儲(chǔ)在存儲(chǔ)器區(qū)域設(shè)定寄存器#0中的存儲(chǔ)器區(qū)域#0的上限地址和下限地址進(jìn)行比較。當(dāng)存儲(chǔ)器地址ADD_M在存儲(chǔ)器區(qū)域#0的上限地址和下限地址的范圍內(nèi)時(shí),地址確定電路#0確定該存儲(chǔ)器地址ADD_M被包括在存儲(chǔ)器區(qū)域設(shè)定寄存器#0中設(shè)定的存儲(chǔ)器區(qū)域#0中。例如,在確定了存儲(chǔ)器地址ADD_M被包括在存儲(chǔ)器區(qū)域設(shè)定寄存器#0中設(shè)定的存儲(chǔ)器區(qū)域#0中之后,地址確定電路#0將高電平信號(hào)“1”輸出到AND2_0。另一方面,在確定了存儲(chǔ)器地址ADD_M沒(méi)有被包括在存儲(chǔ)器區(qū)域設(shè)定寄存器#0中設(shè)定的存儲(chǔ)器區(qū)域#0中之后,地址確定電路#0將低電平信號(hào)“0”輸出到AND2_0。地址確定電路#1至地址確定電路#3與上述地址確定電路#0類似。分別與地址確定電路#0至#3相對(duì)應(yīng)地提供存儲(chǔ)器訪問(wèn)確定電路#0至#3。存儲(chǔ)器訪問(wèn)確定電路#0至#3基于與虛擬機(jī)有關(guān)的信息VM_n_M和與訪問(wèn)該存儲(chǔ)器11的機(jī)有關(guān)的信息來(lái)相應(yīng)地掩蔽地址確定電路#0至#3中的確定結(jié)果,該虛擬機(jī)能夠訪問(wèn)存儲(chǔ)在各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3中的各個(gè)存儲(chǔ)器區(qū)域#0至#3?,F(xiàn)在,通過(guò)運(yùn)算電路4將與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M從虛擬機(jī)調(diào)度器5提供給訪問(wèn)確定電路9,該虛擬機(jī)調(diào)度器5調(diào)度與各個(gè)程序相對(duì)應(yīng)的虛擬機(jī)的順序。具體地,虛擬機(jī)調(diào)度器5保持與在運(yùn)算電路4中執(zhí)行的程序相對(duì)應(yīng)的虛擬機(jī)有關(guān)的信息。因此,虛擬機(jī)調(diào)度器5能夠?qū)⑴c訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M輸出到存儲(chǔ)器訪問(wèn)確定電路#0至#3。存儲(chǔ)器訪問(wèn)確定電路#0將從虛擬機(jī)調(diào)度器5輸出的關(guān)于訪問(wèn)存儲(chǔ)器11的虛擬機(jī)的信息VM_n_M與存儲(chǔ)在存儲(chǔ)器區(qū)域分配寄存器#0中的關(guān)于能訪問(wèn)存儲(chǔ)器區(qū)域#0的虛擬機(jī)的信息進(jìn)行比較。例如,存儲(chǔ)器訪問(wèn)確定電路#0將能訪問(wèn)在存儲(chǔ)器區(qū)域設(shè)定寄存器#0中設(shè)定的存儲(chǔ)器區(qū)域#0的虛擬機(jī)與從虛擬機(jī)調(diào)度器5輸出的關(guān)于訪問(wèn)該存儲(chǔ)器11的虛擬機(jī)的信息VM_n_M進(jìn)行比較。當(dāng)與訪問(wèn)該存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M與能訪問(wèn)存儲(chǔ)在存儲(chǔ)器區(qū)域分配寄存器#0中的存儲(chǔ)器區(qū)域#0的虛擬機(jī)VM#0匹配時(shí),存儲(chǔ)器訪問(wèn)確定電路#0確定該虛擬機(jī)VM#0能夠訪問(wèn)該存儲(chǔ)器11并且將高電平信號(hào)“1”輸出到AND2_0。當(dāng)從存儲(chǔ)器訪問(wèn)確定電路#0輸出的信號(hào)為高電平“1”時(shí),在不掩蔽該確定結(jié)果的情況下,AND2_0將從地址確定電路#0輸出的確定結(jié)果輸出到OR_1。簡(jiǎn)而言之,AND2_0將從地址確定電路#0輸出的確定結(jié)果直接輸出到OR_1。另一方面,當(dāng)與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M不與能訪問(wèn)存儲(chǔ)在存儲(chǔ)器區(qū)域分配寄存器#0中的存儲(chǔ)器區(qū)域#0的虛擬機(jī)匹配時(shí),存儲(chǔ)器訪問(wèn)確定電路#0確定禁止該虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)并且將低電平信號(hào)“0”輸出到AND2_0。當(dāng)從存儲(chǔ)器訪問(wèn)確定電路#0輸出的信號(hào)為低電平“0”時(shí),AND2_0掩蔽從地址確定電路#0輸出的確定結(jié)果。此時(shí),不論從地址確定電路#0輸出的確定結(jié)果如何,AND2_0都將低電平信號(hào)“0”輸出到OR_1。存儲(chǔ)器訪問(wèn)確定電路#1至#3與上述存儲(chǔ)器訪問(wèn)確定電路#0類似。從存儲(chǔ)器11讀取RD_M的情況也與上述情況類似。OR_1輸出從AND2_0至AND2_3提供的信號(hào)的OR運(yùn)算結(jié)果,作為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。具體地,當(dāng)從AND2_0至AND2_3的任何一個(gè)輸出高電平信號(hào)時(shí),OR_1輸出指示訪問(wèn)許可的高電平信號(hào),作為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。通過(guò)例如總線10,將從存儲(chǔ)器保護(hù)電路6_1輸出的存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M提供給存儲(chǔ)器11。當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)禁止時(shí)(即在低電平的情況下),存儲(chǔ)器11禁用虛擬機(jī)(運(yùn)算電路4)對(duì)存儲(chǔ)器11的訪問(wèn)。同時(shí),當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)許可時(shí)(即在高電平的情況下),存儲(chǔ)器11啟用虛擬機(jī)(運(yùn)算電路4)對(duì)存儲(chǔ)器11的訪問(wèn)。例如,將從存儲(chǔ)器保護(hù)電路6_1輸出的存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M提供給運(yùn)算電路4。在此情況下,當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)禁止時(shí)(即在低電平的情況下),運(yùn)算電路4禁用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)。同時(shí),當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)許可時(shí)(即在高電平的情況下),運(yùn)算電路4啟用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)。接著,將詳細(xì)地描述訪問(wèn)確定電路9中的訪問(wèn)確定。首先,例如,將描述虛擬機(jī)VM#0訪問(wèn)存儲(chǔ)器區(qū)域#2的情形。當(dāng)虛擬機(jī)VM#0試圖訪問(wèn)存儲(chǔ)器區(qū)域#2時(shí),運(yùn)算電路4將對(duì)應(yīng)于存儲(chǔ)器區(qū)域2的存儲(chǔ)器地址ADD_M輸出到地址確定電路#0至#3。此外,虛擬機(jī)調(diào)度器5將指示虛擬機(jī)VM#0的信息VM_0_M通過(guò)運(yùn)算電路4,輸出到存儲(chǔ)器訪問(wèn)確定電路#0至#3,作為與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M。由于提供給地址確定電路#0至#3的存儲(chǔ)器地址ADD_M是對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的存儲(chǔ)器地址,因此,地址確定電路#2將高電平信號(hào)輸出到AND2_2。同時(shí),除地址確定電路#2外的地址確定電路#0、#1和#3將低電平信號(hào)分別輸出到AND2_0、AND2_1和AND2_3。此外,由于對(duì)應(yīng)于虛擬機(jī)VM#0的存儲(chǔ)器區(qū)域是存儲(chǔ)器區(qū)域#0和#1(見(jiàn)圖6),當(dāng)提供與訪問(wèn)該存儲(chǔ)器11的虛擬機(jī)VM#0有關(guān)的信息VM_0_M時(shí),存儲(chǔ)器訪問(wèn)確定電路#0和#1分別將高電平信號(hào)輸出到AND2_0和AND2_1。另一方面,當(dāng)提供與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)VM#0有關(guān)的信息VM_0_M時(shí),存儲(chǔ)器訪問(wèn)確定電路#2和#3分別將低電平信號(hào)輸出到AND2_2和AND2_3。由于從存儲(chǔ)器訪問(wèn)確定電路#2輸出的信號(hào)為低電平,因此,由AND2_2掩蔽從地址確定電路#2輸出的高電平信號(hào)。由此,從AND2_2輸出低電平信號(hào)。此外,由于從地址確定電路#0、#1和#3輸出低電平信號(hào),AND2_0、AND2_1和AND2_3的每一個(gè)輸出低電平信號(hào)。因此,OR_1輸出指示訪問(wèn)禁止的低電平信號(hào),作為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。用這種方式,禁止虛擬機(jī)VM#0訪問(wèn)存儲(chǔ)器區(qū)域#2。將描述虛擬機(jī)VM#2訪問(wèn)存儲(chǔ)器區(qū)域#3的另一情形。當(dāng)虛擬機(jī)VM#2試圖訪問(wèn)存儲(chǔ)器區(qū)域#3時(shí),運(yùn)算電路4將對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的存儲(chǔ)器地址ADD_M輸出到地址確定電路#0至#3。此外,虛擬機(jī)調(diào)度器5通過(guò)運(yùn)算電路4,將指示虛擬機(jī)VM#2的信息VM_2_M輸出到存儲(chǔ)器訪問(wèn)確定電路#0至#3,作為與訪問(wèn)該存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M。由于提供給地址確定電路#0至#3的存儲(chǔ)器地址ADD_M是對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的存儲(chǔ)器地址,因此,地址確定電路#3將高電平信號(hào)輸出到AND2_3。另一方面,除地址確定電路#3外,地址確定電路#0至#2也分別將低電平信號(hào)輸出到AND2_0至AND2_2。此外,由于對(duì)應(yīng)于虛擬機(jī)VM#2的存儲(chǔ)器區(qū)域是存儲(chǔ)器區(qū)域#3,因此,當(dāng)提供與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)VM#2有關(guān)的信息VM_2_M時(shí),存儲(chǔ)器訪問(wèn)確定電路#3將高電平信號(hào)輸出到AND2_3。另一方面,當(dāng)提供與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)VM#2有關(guān)的信息VM_2_M時(shí),存儲(chǔ)器訪問(wèn)確定電路#0至#2將低電平信號(hào)分別輸出到AND2_0至AND2_2。由于從存儲(chǔ)器訪問(wèn)確定電路#3輸出的信號(hào)為高電平,因此,從地址確定電路#3輸出的高電平信號(hào)不被AND2_3掩蔽。因此,從AND2_3輸出高電平信號(hào)。因此,從OR_1輸出指示訪問(wèn)許可的高電平信號(hào),作為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。用這種方式,許可虛擬機(jī)VM#2訪問(wèn)存儲(chǔ)器區(qū)域#3。圖7是用于描述使用虛擬化技術(shù)構(gòu)建的系統(tǒng)的框圖。如圖7所示,當(dāng)在根據(jù)本實(shí)施例的處理單元(CPU)中使用虛擬化技術(shù)時(shí),可以使用單一硬件資源,操作多個(gè)虛擬機(jī)VM#0至VM#2(42_0至42_2)??梢苑謩e在虛擬機(jī)VM#0至VM#2上操作不同的管理程序43_0至43_2(操作系統(tǒng)OS#0至OS#2)。授權(quán)超級(jí)管理程序41來(lái)管理虛擬機(jī)VM#0至VM#2。此外,授權(quán)超級(jí)管理程序41訪問(wèn)存儲(chǔ)器保護(hù)電路6_1的存儲(chǔ)器區(qū)域分配寄存器#0至#3。即,超級(jí)管理程序41重寫存儲(chǔ)器保護(hù)電路6_1的存儲(chǔ)器區(qū)域分配寄存器#0至#3,由此能任意地設(shè)定能由各個(gè)虛擬機(jī)VM#0至VM#2訪問(wèn)的存儲(chǔ)器區(qū)域#0至#3。接著,參考圖8,將描述使用存儲(chǔ)器保護(hù)電路6_1,控制虛擬機(jī)(運(yùn)算電路4)對(duì)存儲(chǔ)器11的訪問(wèn)的操作。盡管舉例描述了虛擬機(jī)(運(yùn)算電路4)將信息寫入存儲(chǔ)器11的操作,但虛擬機(jī)從存儲(chǔ)器11讀取信息的操作也類似。虛擬機(jī)調(diào)度器5根據(jù)預(yù)定調(diào)度程序,將指定向其分配執(zhí)行時(shí)間的虛擬機(jī)的虛擬機(jī)選擇信號(hào)VM_SEL輸出到選擇器3。此外,虛擬機(jī)調(diào)度器5將與對(duì)應(yīng)于在運(yùn)算電路4中執(zhí)行的程序的虛擬機(jī)有關(guān)的信息VM_n_M輸出到運(yùn)算電路4(步驟S1)。選擇器3將對(duì)應(yīng)于根據(jù)虛擬機(jī)選擇信號(hào)VM_SEL選擇的虛擬機(jī)的程序輸出到運(yùn)算電路4(步驟S2)。當(dāng)在虛擬機(jī)(運(yùn)算電路4)中執(zhí)行程序時(shí),虛擬機(jī)(運(yùn)算電路4)產(chǎn)生對(duì)存儲(chǔ)器11的訪問(wèn)請(qǐng)求(步驟S3)。當(dāng)產(chǎn)生對(duì)存儲(chǔ)器11的訪問(wèn)請(qǐng)求時(shí),虛擬機(jī)(運(yùn)算電路4)將存儲(chǔ)器地址ADD_M輸出到存儲(chǔ)器保護(hù)電路6_1的訪問(wèn)確定電路9(步驟S4)。此外,通過(guò)運(yùn)算電路4,將從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)存儲(chǔ)器的虛擬機(jī)有關(guān)的信息VM_n_M輸出到訪問(wèn)確定電路9(步驟S5)。訪問(wèn)確定電路9確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器11(步驟S6)。具體地,包括在訪問(wèn)確定電路9中的地址確定電路#0至#3基于在存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的每一個(gè)中存儲(chǔ)的存儲(chǔ)器區(qū)域信息,確定當(dāng)訪問(wèn)存儲(chǔ)器11時(shí),從虛擬機(jī)VM#0至VM#2的每一個(gè)輸出的存儲(chǔ)器地址ADD_M是否包括在各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中設(shè)定的存儲(chǔ)器區(qū)域#0至#3中。此時(shí),當(dāng)確定存儲(chǔ)器地址ADD_M包括在存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中設(shè)定的存儲(chǔ)器區(qū)域中時(shí),地址確定電路#0至#3輸出高電平信號(hào)“1”。此外,存儲(chǔ)器訪問(wèn)確定電路#0至#3基于與能訪問(wèn)在各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3中存儲(chǔ)的各個(gè)存儲(chǔ)器區(qū)域的虛擬機(jī)有關(guān)的信息和與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M,分別掩蔽地址確定電路#0至#3中的確定結(jié)果。當(dāng)訪問(wèn)確定電路9允許虛擬機(jī)訪問(wèn)存儲(chǔ)器11時(shí)(步驟S7:是),啟用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)(步驟S8)。具體地,將寫入數(shù)據(jù)WD_M寫入存儲(chǔ)器11的存儲(chǔ)器地址ADD_M。另一方面,當(dāng)訪問(wèn)確定電路9禁止虛擬機(jī)訪問(wèn)存儲(chǔ)器11時(shí)(步驟S7:否),禁用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)(步驟S9)。具體地,當(dāng)從地址確定電路#0至#3中的一個(gè)地址確定電路輸出高電平信號(hào)以及從對(duì)應(yīng)于輸出高電平信號(hào)的地址確定電路的存儲(chǔ)器訪問(wèn)確定電路輸出高電平信號(hào)時(shí),訪問(wèn)確定電路9允許虛擬機(jī)訪問(wèn)存儲(chǔ)器11。在這種情況下,將高電平信號(hào)輸出為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M,以及啟用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)。另一方面,當(dāng)從地址確定電路#0至#3中的一個(gè)地址確定電路輸出高電平信號(hào)以及從對(duì)應(yīng)于輸出高電平信號(hào)的訪問(wèn)確定電路的存儲(chǔ)器訪問(wèn)確定電路輸出低電平信號(hào)時(shí),訪問(wèn)確定電路9禁止虛擬機(jī)訪問(wèn)存儲(chǔ)器11。在這種情況下,將低電平信號(hào)輸出為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M,以及禁用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)。如在
背景技術(shù):
:中所述,可以在一個(gè)CPU上操作多個(gè)虛擬機(jī),例如,通過(guò)使用虛擬化技術(shù)。在這種情況下,可以在各個(gè)虛擬機(jī)上操作不同的OS和應(yīng)用程序。然而,由于虛擬機(jī)共享單個(gè)物理存儲(chǔ)器,因此,當(dāng)在CPU中使用虛擬化技術(shù)時(shí),要求防止虛擬機(jī)的每一個(gè)對(duì)存儲(chǔ)器的訪問(wèn)的干擾。因此,要求提供一種存儲(chǔ)器保護(hù)機(jī)構(gòu),控制每一虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)。然而,當(dāng)例如,將包括存儲(chǔ)器保護(hù)功能和存儲(chǔ)器轉(zhuǎn)換功能的存儲(chǔ)器管理單元(MMU)用作存儲(chǔ)器保護(hù)機(jī)構(gòu)時(shí),要求大量硬件資源。因此,要求通過(guò)少量硬件資源,控制每一虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)機(jī)構(gòu)(存儲(chǔ)器保護(hù)電路)。在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_1中,將與能由各個(gè)虛擬機(jī)訪問(wèn)的存儲(chǔ)器區(qū)域有關(guān)的存儲(chǔ)器訪問(wèn)信息存儲(chǔ)在存儲(chǔ)器訪問(wèn)信息寄存器8中。此外,使用訪問(wèn)確定電路9,基于當(dāng)每一虛擬機(jī)訪問(wèn)存儲(chǔ)器11時(shí)的存儲(chǔ)器地址ADD_M、與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M、以及在存儲(chǔ)器訪問(wèn)信息寄存器8中存儲(chǔ)的存儲(chǔ)器訪問(wèn)信息,確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域。根據(jù)該實(shí)施例,可以通過(guò)少量硬件資源,提供能控制每一虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)電路。例如,處理單元(CPU)包括用在個(gè)人計(jì)算機(jī)等等中的微處理器和其功能專用于控制安裝在其上的電子設(shè)備的微控制器。由于微處理器處理相當(dāng)大量的存儲(chǔ)器,通常將包括存儲(chǔ)器保護(hù)功能和地址轉(zhuǎn)換功能的存儲(chǔ)器管理單元(MMU)安裝為存儲(chǔ)器保護(hù)機(jī)構(gòu)。存儲(chǔ)器管理單元(MMU)從微處理器接收虛擬地址以及將該虛擬地址轉(zhuǎn)換成物理地址。在最近的存儲(chǔ)器管理單元(MMU)中,包括快速重編址緩沖器(TLB),以便增加虛擬地址轉(zhuǎn)換成物理地址的速度。TLB包括用來(lái)將虛擬地址轉(zhuǎn)換成物理地址的頁(yè)表?xiàng)l目。虛擬地址空間是從該過(guò)程看到的存儲(chǔ)器空間,并劃分成固定大小的頁(yè)。頁(yè)表存儲(chǔ)虛擬頁(yè)和物理存儲(chǔ)器上的地址彼此關(guān)聯(lián)的信息。當(dāng)訪問(wèn)存儲(chǔ)器空間時(shí),微處理器使用虛擬地址,搜索TLB,如果存在對(duì)應(yīng)于TLB中的虛擬地址的條目,微處理器發(fā)送回對(duì)應(yīng)的物理地址,作為搜索結(jié)果(TLB命中)。同時(shí),當(dāng)不存在對(duì)應(yīng)于TLB中的虛擬地址的條目時(shí)(TLB未命中)時(shí),要求從存儲(chǔ)器(存儲(chǔ)不能在TLB中存儲(chǔ)的頁(yè)表?xiàng)l目的空間)中存儲(chǔ)的頁(yè)表搜索相應(yīng)的條目。這稱為表漫游(tablewalk)。在通過(guò)表漫游獲得物理地址后,將物理地址和虛擬地址的映射存儲(chǔ)在TLB中。由于在表漫游中要求讀出多個(gè)位置中的存儲(chǔ)器的內(nèi)容和計(jì)算物理地址,花費(fèi)時(shí)間來(lái)執(zhí)行處理。另一方面,由于微控制器的功能專用于控制安裝在其上的電子設(shè)備,不需要安裝大量存儲(chǔ)器以及將虛擬地址轉(zhuǎn)換成物理地址的地址轉(zhuǎn)換功能是不必要的。此外,在微控制器中要求節(jié)電和小面積。因此,當(dāng)將存儲(chǔ)器管理單元(MMU)安裝為微控制器中的存儲(chǔ)器保護(hù)機(jī)構(gòu)時(shí),增加了硬件資源的開(kāi)銷。此外,由于使用微控制器來(lái)控制電子設(shè)備,因此,實(shí)時(shí)屬性很重要。然而,當(dāng)將存儲(chǔ)器管理單元(MMU)安裝為微控制器的存儲(chǔ)器保護(hù)機(jī)構(gòu)時(shí),在TLB未命中的情況下,表漫游發(fā)生,以及花費(fèi)時(shí)間來(lái)執(zhí)行處理,這損害了實(shí)時(shí)屬性。因此,作為微控制器的存儲(chǔ)器保護(hù)機(jī)構(gòu),最好使用不包括地址轉(zhuǎn)換功能的存儲(chǔ)器保護(hù)單元(MPU)而不是包括地址轉(zhuǎn)換功能的MMU。因此,根據(jù)本實(shí)施例的存儲(chǔ)器保護(hù)電路特別適用在節(jié)電、小面積和實(shí)時(shí)屬性重要的微控制器中。具體地,在該實(shí)施例中,從運(yùn)算電路4輸出的存儲(chǔ)器地址ADD_M是物理地址。由此,存儲(chǔ)器保護(hù)電路6_1能將物理地址輸出到存儲(chǔ)器11,而不轉(zhuǎn)換該物理地址。根據(jù)本實(shí)施例的存儲(chǔ)器保護(hù)電路可以應(yīng)用于包括地址轉(zhuǎn)換功能的存儲(chǔ)器保護(hù)電路,以及還可以應(yīng)用于例如包括含地址轉(zhuǎn)換功能的存儲(chǔ)器管理單元(MMU)的微處理器。根據(jù)本實(shí)施例的存儲(chǔ)器保護(hù)電路也可以應(yīng)用于例如不要求地址轉(zhuǎn)換功能的微處理器。根據(jù)上述的實(shí)施例,可以提供能通過(guò)少量硬件資源,控制每一虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法。<第二實(shí)施例>接著,將描述第二實(shí)施例。圖9是用于描述包括根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路的處理單元的框圖。在該實(shí)施例中,不同于在第一實(shí)施例中描述的存儲(chǔ)器保護(hù)電路,存儲(chǔ)器保護(hù)電路6_2包括寄存器I/F(7)。其他結(jié)構(gòu)與第一實(shí)施例相同。由此,用相同的參考符號(hào)表示相同的部件,以及將省略重復(fù)的描述。圖9中所示的處理單元1包括指令緩沖器2、選擇器3、運(yùn)算電路4、虛擬機(jī)調(diào)度器5和存儲(chǔ)器保護(hù)電路6_2。存儲(chǔ)器保護(hù)電路6_2包括寄存器I/F(7)、存儲(chǔ)器訪問(wèn)信息寄存器8和訪問(wèn)確定電路9。圖10是根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_2的一個(gè)示例的框圖。寄存器I/F(7)包括訪問(wèn)解碼電路30、寄存器訪問(wèn)確定電路#0至#3以及與電路(AND1_0至AND1_3)。虛擬機(jī)訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3,由此能向/從存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的上限地址寄存器(MPUA0至MPUA3)、下限地址寄存器(MPLA0至MPLA3)以及屬性寄存器(MPAT0至MPAT3)寫入/讀取數(shù)據(jù)。寄存器I/F(7)是控制各個(gè)虛擬機(jī)對(duì)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的訪問(wèn)的電路。當(dāng)虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3時(shí),虛擬機(jī)(運(yùn)算電路4)的每一個(gè)將寄存器地址ADD_R和寫入數(shù)據(jù)WD_R傳送到寄存器I/F(7)。此外,虛擬機(jī)調(diào)度器5將與對(duì)應(yīng)于在運(yùn)算電路4中執(zhí)行的程序的虛擬機(jī)有關(guān)的信息VM_n_M輸出到寄存器I/F(7)。通過(guò)在運(yùn)算電路4中執(zhí)行的程序,執(zhí)行虛擬機(jī)對(duì)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的訪問(wèn)。訪問(wèn)解碼電路30接收從虛擬機(jī)(運(yùn)算電路4)輸出的寄存器地址ADD_R和寫入數(shù)據(jù)WD_R,以及將寄存器地址ADD_R和寫入數(shù)據(jù)WD_R輸出到對(duì)應(yīng)于所接收的寄存器地址ADD_R的存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3(即AND1_0至AND1_3)。具體地,不同的寄存器地址ADD_R包括在各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中,以及訪問(wèn)解碼電路30根據(jù)所接收的寄存器地址ADD_R,控制對(duì)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的訪問(wèn)。例如,訪問(wèn)解碼電路30將待寫入的地址信息和數(shù)據(jù)信息與所輸入的寄存器地址ADD_R和寫入數(shù)據(jù)WD_R的信息分開(kāi),以及執(zhí)行解碼以便將信息適當(dāng)?shù)剌斎氲皆诖鎯?chǔ)器區(qū)域設(shè)定寄存器#0至#3的前一級(jí)提供的存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3或AND1_0至AND1_3。分別對(duì)應(yīng)于存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3,提供寄存器訪問(wèn)確定電路#0至#3。寄存器訪問(wèn)確定電路#0至3的每一個(gè)基于與能訪問(wèn)在各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3中存儲(chǔ)的各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息和與訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息VM_n_M,確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。通過(guò)運(yùn)算電路4,將與訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息VM_n_M從調(diào)度對(duì)應(yīng)于各個(gè)程序的虛擬機(jī)的順序的虛擬機(jī)調(diào)度器5提供給寄存器訪問(wèn)確定電路#0至#3。具體地,虛擬機(jī)調(diào)度器5保留與在運(yùn)算電路4中執(zhí)行的程序?qū)?yīng)的虛擬機(jī)有關(guān)的信息。因此,虛擬機(jī)調(diào)度器5能將與訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息VM_n_M輸出到寄存器訪問(wèn)確定電路#0至#3。寄存器訪問(wèn)確定電路#0將從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息VM_n_M和與能訪問(wèn)在各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3(即,對(duì)應(yīng)于存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3)中存儲(chǔ)的各個(gè)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)有關(guān)的信息進(jìn)行比較(參見(jiàn)圖6)。例如,寄存器訪問(wèn)確定電路#0將能訪問(wèn)與存儲(chǔ)器區(qū)域#0對(duì)應(yīng)的存儲(chǔ)器區(qū)域設(shè)定寄存器#0的虛擬機(jī)VM#0與從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器的虛擬機(jī)有關(guān)的信息VM_n_M進(jìn)行比較。當(dāng)與訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器的虛擬機(jī)有關(guān)的信息VM_n_M與能訪問(wèn)在存儲(chǔ)器區(qū)域分配寄存器#0中存儲(chǔ)的存儲(chǔ)器區(qū)域#0的虛擬機(jī)VM#0匹配時(shí),寄存器訪問(wèn)確定電路#0確定虛擬機(jī)VM#0能訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0,以及將高電平信號(hào)“1”輸出到AND1_0。當(dāng)從寄存器訪問(wèn)確定電路#0輸出的信號(hào)是高電平“1”時(shí),AND1_0將從訪問(wèn)解碼電路30輸出的寄存器地址ADD_R和寫入數(shù)據(jù)WD_R輸出到存儲(chǔ)器區(qū)域設(shè)定寄存器#0,而不掩蔽寄存器地址ADD_R和寫入數(shù)據(jù)WD_R??偟膩?lái)說(shuō),AND1_0將從訪問(wèn)解碼電路30輸出的寄存器地址ADD_R和寫入數(shù)據(jù)WD_R直接輸出到存儲(chǔ)器區(qū)域設(shè)定寄存器#0。另一方面,當(dāng)與訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器的虛擬機(jī)有關(guān)的信息VM_n_M與能訪問(wèn)存儲(chǔ)器區(qū)域分配寄存器#0中存儲(chǔ)的存儲(chǔ)器區(qū)域#0的虛擬機(jī)VM#0不匹配時(shí),寄存器訪問(wèn)確定電路#0確定禁止虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0,以及將低電平信號(hào)“0”輸出到AND1_0。當(dāng)從寄存器訪問(wèn)確定電路#0輸出的信號(hào)是低電平“0”時(shí),AND1_0掩蔽從訪問(wèn)解碼電路30輸出的寄存器地址ADD_R和寫入數(shù)據(jù)WD_R。寄存器訪問(wèn)確定電路#1至#3與上述寄存器訪問(wèn)確定電路#0類似。接著,將描述存儲(chǔ)器保護(hù)電路6_2的操作。圖11是用于描述根據(jù)本實(shí)施例的存儲(chǔ)器保護(hù)電路6_2的操作的流程圖,以及示出了當(dāng)虛擬機(jī)將信息重寫到存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中的流程。虛擬機(jī)調(diào)度器5根據(jù)預(yù)定調(diào)度程序,將指定向其分配執(zhí)行時(shí)間的虛擬機(jī)的虛擬機(jī)選擇信號(hào)VM_SEL輸出到選擇器3。此外,虛擬機(jī)調(diào)度器5將與對(duì)應(yīng)于在運(yùn)算電路4中執(zhí)行的程序的虛擬機(jī)有關(guān)的信息VM_n_M輸出到運(yùn)算電路4(步驟S11)。選擇器3將對(duì)應(yīng)于根據(jù)虛擬機(jī)選擇信號(hào)VM_SEL選擇的虛擬機(jī)的程序輸出到運(yùn)算電路4(步驟S12)。然后,虛擬機(jī)(運(yùn)算電路4)執(zhí)行程序以指令寫入存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3(步驟S13)。當(dāng)執(zhí)行指令寫入存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的程序時(shí),虛擬機(jī)(運(yùn)算電路4)將寄存器地址ADD_R和寫入數(shù)據(jù)WD_R輸出到存儲(chǔ)器保護(hù)電路6_2的寄存器I/F(7)。訪問(wèn)解碼電路30執(zhí)行訪問(wèn)解碼處理(步驟S15)。具體地,訪問(wèn)解碼電路30接收從虛擬機(jī)(運(yùn)算電路4)輸出的寄存器地址ADD_R和寫入數(shù)據(jù)WD_R,以及將寄存器地址ADD_R和寫入數(shù)據(jù)WD_R輸出到與所接收的寄存器地址ADD_R對(duì)應(yīng)的存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3(即,AND1_0至AND1_3)。此外,將從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息VM_n_M通過(guò)運(yùn)算電路4輸出到寄存器I/F(7)(步驟S16)。接著,寄存器訪問(wèn)確定電路#0至#3執(zhí)行寄存器訪問(wèn)確定處理(步驟S17)。具體地,寄存器訪問(wèn)確定電路#0至#3基于與能訪問(wèn)在各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3中存儲(chǔ)的各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息和與訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3的虛擬機(jī)有關(guān)的信息VM_n_M,確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。當(dāng)寄存器訪問(wèn)確定電路#0至#3允許虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3時(shí)(步驟S18:是),虛擬機(jī)(運(yùn)算電路4)使用寄存器地址ADD_R和寫入數(shù)據(jù)WD_R,執(zhí)行寫入存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3(步驟S19)。同時(shí),當(dāng)寄存器訪問(wèn)確定電路#0至#3禁止虛擬機(jī)訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3時(shí)(步驟S18:否),禁止由虛擬機(jī)(運(yùn)算電路4)寫入存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3(步驟S20)。注意,包括在存儲(chǔ)器保護(hù)電路6_2中的存儲(chǔ)器訪問(wèn)信息寄存器8和訪問(wèn)確定電路9的結(jié)構(gòu)和操作與第一實(shí)施例類似。<第三實(shí)施例>接著,將描述第三實(shí)施例。圖12是用于描述包括根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路的處理單元21的框圖。根據(jù)該實(shí)施例,與第一和第二實(shí)施例相比,指令緩沖器22、選擇器23和虛擬機(jī)/線程調(diào)度器25的結(jié)構(gòu)不同。其他結(jié)構(gòu)與第一實(shí)施例類似。由此,用相同的參考符號(hào)表示相同的部件,以及將省略重復(fù)的描述。圖12中所示的處理單元21包括指令緩沖器22、選擇器23、運(yùn)算電路4、虛擬機(jī)/線程調(diào)度器25和存儲(chǔ)器保護(hù)電路6_1。存儲(chǔ)器保護(hù)電路6_1包括存儲(chǔ)器訪問(wèn)信息寄存器8和訪問(wèn)確定電路9。指令緩沖器22臨時(shí)存儲(chǔ)將由處理單元21處理的指令。指令緩沖器22包括指令緩沖區(qū)域BUF_A至BUF_D。指令緩沖區(qū)域BUF_A至BUF_D臨時(shí)存儲(chǔ)對(duì)應(yīng)于各個(gè)線程的指令。可以通過(guò)例如總線10,將指令提供給指令緩沖器22,或可以將在指令存儲(chǔ)器(未示出)中存儲(chǔ)的指令提供給指令緩沖器22。選擇器23根據(jù)從虛擬機(jī)/線程調(diào)度器25輸出的線程選擇信號(hào)T_SEL,選擇指令緩沖區(qū)域BUF_A至BUF_D中的一個(gè),以及將從被選指令緩沖區(qū)域讀出的指令輸出到運(yùn)算電路4。具體地,選擇器23根據(jù)線程選擇信號(hào)T_SEL,從多個(gè)線程(線程A至線程D)中選擇一個(gè)線程,以及將從被選線程輸出的指令輸出到運(yùn)算電路4。指令緩沖區(qū)域BUF_A至BUF_D分別對(duì)應(yīng)于線程A至線程D。虛擬機(jī)/線程調(diào)度器25根據(jù)預(yù)定調(diào)度程序,輸出從多個(gè)線程中,指定將在下一執(zhí)行周期中執(zhí)行的一個(gè)線程的線程選擇信號(hào)T_SEL。具體地,虛擬機(jī)/線程調(diào)度器25調(diào)度從包括在指令緩沖器22中的指令緩沖區(qū)域BUF_A至BUF_D輸出的指令的順序,以及輸出線程選擇信號(hào)T_SEL以便根據(jù)調(diào)度,在運(yùn)算電路4中執(zhí)行指令。此外,虛擬機(jī)/線程調(diào)度器25通過(guò)運(yùn)算電路4,將與在運(yùn)算電路4中執(zhí)行的指令對(duì)應(yīng)的虛擬機(jī)有關(guān)的信息VM_n_M輸出到存儲(chǔ)器保護(hù)電路6_1。運(yùn)算電路4基于由選擇器3選擇的指令,執(zhí)行運(yùn)算處理。更具體地說(shuō),運(yùn)算電路4包括多個(gè)執(zhí)行級(jí),以及通過(guò)管線處理,執(zhí)行運(yùn)算處理。此外,運(yùn)算電路4傳送寄存器地址ADD_R和寫入數(shù)據(jù)WD_R以訪問(wèn)存儲(chǔ)器11,以及根據(jù)執(zhí)行指令的結(jié)果,接收讀取數(shù)據(jù)RD_M。從運(yùn)算電路4傳送的寄存器地址ADD_M和寫入數(shù)據(jù)WD_M通過(guò)總線10提供給存儲(chǔ)器11。圖13是用于描述由運(yùn)算電路4執(zhí)行的指令順序的一個(gè)示例的圖。圖13中所示的指令A(yù)0至A7(對(duì)應(yīng)于線程A)存儲(chǔ)于包括在指令緩沖器22中的指令緩沖區(qū)域BUF_A中。類似地,指令B0至B7(對(duì)應(yīng)于線程B)存儲(chǔ)于指令緩沖區(qū)域BUF_B中。指令C0至C7(對(duì)應(yīng)于線程C)存儲(chǔ)于指令緩沖區(qū)域BUF_C中。指令D0至D7(對(duì)應(yīng)于線程D)存儲(chǔ)于指令緩沖區(qū)域BUF_D中。圖13舉例示出了在虛擬機(jī)(VM#0)上執(zhí)行指令A(yù)0至A7(線程A)和指令B0至B7(線程B),在虛擬機(jī)(VM#1)上執(zhí)行指令C0至C7(線程C),以及在虛擬機(jī)(VM#2)上執(zhí)行指令D0至D7(線程D)的情況。選擇器23根據(jù)從虛擬機(jī)/線程調(diào)度器25輸出的線程選擇信號(hào)T_SEL,選擇指令緩沖區(qū)域BUF_A至BUF_D中的一個(gè),以便將從被選指令緩沖區(qū)域讀出的指令輸出到運(yùn)算電路4。圖13中所示的示例表示在虛擬機(jī)/線程調(diào)度器25中,調(diào)度在指令緩沖區(qū)域BUF_A至BUF_D中存儲(chǔ)的指令以便按指令A(yù)0、指令B0、指令C0、指令D0、指令A(yù)1,…的順序輸出的情形。用這種方式,通過(guò)使用運(yùn)算電路4,順序地執(zhí)行從選擇器23輸出的指令,可以在多個(gè)虛擬機(jī)(VM#0至VM#2)上并行地處理指令。圖13中所示的由虛擬機(jī)處理的指令(線程)以及指令的處理順序(線程調(diào)度)僅是示例,其可以任意地確定。在第一和第二實(shí)施例中,虛擬機(jī)調(diào)度器5根據(jù)預(yù)定調(diào)度程序,在多個(gè)虛擬機(jī)中,指定在下一執(zhí)行周期中,向其分配執(zhí)行時(shí)間的虛擬機(jī)。即,虛擬機(jī)調(diào)度器5調(diào)度對(duì)應(yīng)于從包括在指令緩沖器2中的指令緩沖區(qū)域BUF_0至BUF_2輸出的程序的虛擬機(jī)的順序來(lái)輸出虛擬機(jī)選擇信號(hào)VM_SEL,以便根據(jù)該調(diào)度,由運(yùn)算電路4執(zhí)行程序。同時(shí),在該實(shí)施例中,虛擬機(jī)/線程調(diào)度器25根據(jù)預(yù)定調(diào)度程序,在多個(gè)線程中,指定將在下一執(zhí)行周期中執(zhí)行的一個(gè)線程。具體地,虛擬機(jī)/線程調(diào)度器25調(diào)度從包括在指令緩沖器22中的指令緩沖區(qū)域BUF_A至BUF_D輸出的指令的順序來(lái)輸出線程選擇信號(hào)T_SEL,以便根據(jù)該調(diào)度,由運(yùn)算電路4執(zhí)行指令。此時(shí),虛擬機(jī)/線程調(diào)度器25將與在運(yùn)算電路4中執(zhí)行的指令對(duì)應(yīng)的虛擬機(jī)有關(guān)的信息VM_n_M通過(guò)運(yùn)算電路4輸出到存儲(chǔ)器保護(hù)電路6_1。其他結(jié)構(gòu)和操作與在第一和第二實(shí)施例中所述的類似。由此,將省略重復(fù)的描述。<第四實(shí)施例>接著,將描述第四實(shí)施例。根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路不同于根據(jù)第一至第三實(shí)施例的存儲(chǔ)器保護(hù)電路6_1和6_2之處在于僅授權(quán)超級(jí)管理程序訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。其他要點(diǎn)與在第一至第三實(shí)施例中類似。因此,用相同的參考符號(hào)表示相同的部件,以及將省略重復(fù)的描述。圖14是示出根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖。如圖14所示,根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_3包括存儲(chǔ)器訪問(wèn)信息寄存器51和訪問(wèn)確定電路9。存儲(chǔ)器訪問(wèn)信息寄存器51包括存儲(chǔ)器區(qū)域分配寄存器#0至#3和存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。此外,訪問(wèn)確定電路9包括訪問(wèn)確定電路#0至#3、存儲(chǔ)器訪問(wèn)確定電路#0至#3、與電路(AND2_0至AND2_3)以及或電路(OR_1)。訪問(wèn)確定電路9的結(jié)構(gòu)和操作與在第一實(shí)施例中所述的訪問(wèn)確定電路9類似。由此,將省略重復(fù)的描述。將與能訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域#0到#3的虛擬機(jī)有關(guān)的信息存儲(chǔ)在存儲(chǔ)器訪問(wèn)信息寄存器51中包括的各個(gè)存儲(chǔ)器區(qū)域分配寄存器#0至#3中。此外,與存儲(chǔ)器11的存儲(chǔ)器區(qū)域#0至#3有關(guān)的存儲(chǔ)器區(qū)域信息存儲(chǔ)在各個(gè)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3中。在根據(jù)本實(shí)施例的存儲(chǔ)器保護(hù)電路6_3中,除授權(quán)訪問(wèn)存儲(chǔ)器區(qū)域分配寄存器#0至#3外,還授權(quán)超級(jí)管理程序41訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。具體地,如與第一實(shí)施例類似,僅授權(quán)超級(jí)管理程序41訪問(wèn)存儲(chǔ)器區(qū)域分配寄存器#0至#3,以及不授權(quán)虛擬機(jī)(管理程序)的每一個(gè)訪問(wèn)存儲(chǔ)器區(qū)域分配寄存器#0至#3,由此能防止虛擬機(jī)的每一個(gè)自由地將信息重寫入存儲(chǔ)器區(qū)域分配寄存器#0至#3中。此外,在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_3中,僅授權(quán)超級(jí)管理程序41訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3,以及不授權(quán)虛擬機(jī)(管理程序)的每一個(gè)訪問(wèn)存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3,由此,能防止虛擬機(jī)的每一個(gè)將信息重寫入存儲(chǔ)器區(qū)域設(shè)定寄存器#0至#3。根據(jù)這種結(jié)構(gòu),超級(jí)管理程序可以更嚴(yán)格地管理由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域,以及可以更可靠地防止由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域的干擾。存儲(chǔ)器訪問(wèn)信息寄存器51的其他結(jié)構(gòu)和操作與在第一實(shí)施例中所述的存儲(chǔ)器訪問(wèn)信息寄存器8類似。由此,將省略重復(fù)的描述。同時(shí)在該實(shí)施例中,可以提供能通過(guò)少量硬件資源,控制每一虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法。<第五實(shí)施例>接著,將描述第五實(shí)施例。在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路中,存儲(chǔ)器訪問(wèn)信息寄存器和訪問(wèn)確定電路的結(jié)構(gòu)和操作不同于在第一至第三實(shí)施例中所述的存儲(chǔ)器保護(hù)電路6_1和6_2中包括的存儲(chǔ)器訪問(wèn)信息寄存器8和訪問(wèn)確定電路9。其他要點(diǎn)與第一至第三實(shí)施例類似。由此,將適當(dāng)?shù)厥÷灾貜?fù)的描述。圖15是示出根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖。如圖15所示,根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_4包括存儲(chǔ)器訪問(wèn)信息寄存器61和訪問(wèn)確定電路62。訪問(wèn)確定電路62包括地址確定電路63和存儲(chǔ)器訪問(wèn)確定電路64。存儲(chǔ)器訪問(wèn)信息寄存器61存儲(chǔ)與能由各個(gè)虛擬機(jī)訪問(wèn)的存儲(chǔ)器區(qū)域有關(guān)的存儲(chǔ)器訪問(wèn)信息。圖16是示出在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_4中包括的存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)的信息的一個(gè)示例的表。如圖16所示,在存儲(chǔ)器訪問(wèn)信息寄存器61中,存儲(chǔ)了存儲(chǔ)器區(qū)域#0至#3、與各個(gè)存儲(chǔ)器區(qū)域#0至#3對(duì)應(yīng)的地址范圍,以及與能訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)有關(guān)的信息。如圖16所示,存儲(chǔ)器區(qū)域#0的地址范圍是地址a至地址b,以及虛擬機(jī)VM#0能訪問(wèn)存儲(chǔ)器區(qū)域#0。存儲(chǔ)器區(qū)域#1的地址范圍是地址c至地址d,以及虛擬機(jī)VM#0能訪問(wèn)存儲(chǔ)器區(qū)域#1。存儲(chǔ)器區(qū)域#2的地址范圍是地址e至地址f,以及虛擬機(jī)VM#1能訪問(wèn)存儲(chǔ)器區(qū)域#2。存儲(chǔ)器區(qū)域#3的地址范圍是地址g至地址h,以及虛擬機(jī)VM#2能訪問(wèn)存儲(chǔ)器區(qū)域#3。僅授權(quán)超級(jí)管理程序訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61,以及不授權(quán)虛擬機(jī)(管理程序)的每一個(gè)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61,由此能防止虛擬機(jī)的每一個(gè)自由地重寫在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)的存儲(chǔ)器訪問(wèn)信息。因此,超級(jí)管理程序可以管理由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域,以及可以防止由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域的干擾。包括在訪問(wèn)確定電路62中的地址確定電路63基于在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)的存儲(chǔ)器訪問(wèn)信息,輸出與允許訪問(wèn)與當(dāng)訪問(wèn)存儲(chǔ)器11時(shí),從虛擬機(jī)的每一個(gè)輸出的存儲(chǔ)器地址ADD_M對(duì)應(yīng)的存儲(chǔ)器區(qū)域的虛擬機(jī)有關(guān)的信息VM_n_M’。例如,地址確定電路63將從當(dāng)訪問(wèn)存儲(chǔ)器11時(shí),從虛擬機(jī)VM#0至#2的每一個(gè)輸出的存儲(chǔ)器地址ADD_M與在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)的存儲(chǔ)器訪問(wèn)信息(具體地,圖16中的地址范圍)進(jìn)行比較。然后,地址確定電路63將與包括存儲(chǔ)器地址ADD_M的地址范圍對(duì)應(yīng)的虛擬機(jī)有關(guān)的信息VM_n_M’輸出到存儲(chǔ)器訪問(wèn)確定電路64。例如,當(dāng)在地址a至地址b的范圍中包括存儲(chǔ)器地址ADD_M時(shí),地址確定電路63將與該地址范圍對(duì)應(yīng)的虛擬機(jī)VM#0有關(guān)的信息VM_0_M’輸出到存儲(chǔ)器訪問(wèn)確定電路64。存儲(chǔ)器訪問(wèn)確定電路64基于從地址確定電路63輸出的、與允許訪問(wèn)存儲(chǔ)器區(qū)域的虛擬機(jī)有關(guān)的信息VM_n_M’和當(dāng)訪問(wèn)存儲(chǔ)器11時(shí),從虛擬機(jī)的每一個(gè)輸出的、與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M,確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器11。從虛擬機(jī)調(diào)度器5(見(jiàn)圖1)或虛擬機(jī)/線程調(diào)度器25(見(jiàn)圖12)提供將與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M。具體地,虛擬機(jī)調(diào)度器5(在第三實(shí)施例的情況下,虛擬機(jī)/線程調(diào)度器25)保留與在運(yùn)算電路4中執(zhí)行的指令對(duì)應(yīng)的虛擬機(jī)有關(guān)的信息。因此,虛擬機(jī)調(diào)度器5能將與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M輸出到存儲(chǔ)器訪問(wèn)確定電路64。存儲(chǔ)器訪問(wèn)確定電路64將從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M與從地址確定電路63輸出的、與允許訪問(wèn)存儲(chǔ)器區(qū)域的虛擬機(jī)有關(guān)的信息VM_n_M’進(jìn)行比較。當(dāng)從虛擬機(jī)調(diào)度器5輸出的VM_n_M與從地址確定電路63輸出的VM_n_M’匹配時(shí),存儲(chǔ)器訪問(wèn)確定電路64確定該虛擬機(jī)能訪問(wèn)存儲(chǔ)器11,以及將指示訪問(wèn)許可的高電平信號(hào)輸出為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。同時(shí),當(dāng)從虛擬機(jī)調(diào)度器5輸出的VM_n_M與從地址確定電路63輸出的VM_n_M’不匹配時(shí),存儲(chǔ)器訪問(wèn)確定電路64確定禁止由該虛擬機(jī)訪問(wèn)存儲(chǔ)器11,以及將指示訪問(wèn)禁止的低電平信號(hào)輸出為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。例如,通過(guò)圖1中所示的總線10,將從存儲(chǔ)器保護(hù)電路6_4輸出的存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M提供給存儲(chǔ)器11。當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)禁止時(shí)(即在低電平的情況下),存儲(chǔ)器11禁用虛擬機(jī)(運(yùn)算電路4)對(duì)存儲(chǔ)器11的訪問(wèn)。同時(shí),當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)許可時(shí)(即在高電平的情況下),存儲(chǔ)器11啟用虛擬機(jī)(運(yùn)算電路4)對(duì)存儲(chǔ)器11的訪問(wèn)。例如,可以將從存儲(chǔ)器保護(hù)電路6_4輸出的存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M提供給運(yùn)算電路4。在這種情況下,當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)禁止時(shí)(即在低電平的情況下),運(yùn)算電路4禁用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)。同時(shí),當(dāng)存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M指示訪問(wèn)許可時(shí)(即在高電平的情況下),運(yùn)算電路4啟用虛擬機(jī)對(duì)存儲(chǔ)器11的訪問(wèn)。接著,將詳細(xì)地描述訪問(wèn)確定電路62中的訪問(wèn)確定。首先,舉例來(lái)說(shuō),將描述虛擬機(jī)VM#0訪問(wèn)存儲(chǔ)器區(qū)域#2的情形。當(dāng)虛擬機(jī)VM#0試圖訪問(wèn)存儲(chǔ)器區(qū)域#2時(shí),運(yùn)算電路4將對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的存儲(chǔ)器地址ADD_M輸出到地址確定電路63。由于存儲(chǔ)器地址ADD_M包括在與存儲(chǔ)器區(qū)域#2對(duì)應(yīng)的地址范圍中(地址e至地址f),地址確定電路63將與該地址范圍對(duì)應(yīng)的虛擬機(jī)VM#1有關(guān)的信息VM_1_M'輸出到存儲(chǔ)器訪問(wèn)確定電路64。此外,虛擬機(jī)調(diào)度器5將指示虛擬機(jī)VM#0的信息VM_0_M輸出到存儲(chǔ)器訪問(wèn)確定電路64,作為與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M。存儲(chǔ)器訪問(wèn)確定電路64將從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)VM#0有關(guān)的信息VM_0_M與從地址確定電路63輸出的、與允許訪問(wèn)存儲(chǔ)器區(qū)域#2的虛擬機(jī)VM#1有關(guān)的信息VM_1_M'進(jìn)行比較。在這種情況下,從虛擬機(jī)調(diào)度器5輸出的VM_0_M與從地址確定電路63輸出的VM_1_M'不匹配。由此,存儲(chǔ)器訪問(wèn)確定電路64確定禁止虛擬機(jī)VM#0訪問(wèn)存儲(chǔ)器區(qū)域#2,以及輸出表示訪問(wèn)禁止的低電平信號(hào),作為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。用這種方式,禁止虛擬機(jī)VM#0訪問(wèn)存儲(chǔ)器區(qū)域#2。將描述虛擬機(jī)VM#2訪問(wèn)存儲(chǔ)器區(qū)域#3的另一示例。當(dāng)虛擬機(jī)VM#2試圖訪問(wèn)存儲(chǔ)器區(qū)域#3時(shí),運(yùn)算電路4將對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的存儲(chǔ)器地址ADD_M輸出到地址確定電路63。由于存儲(chǔ)器地址ADD_M包括在與存儲(chǔ)器區(qū)域#3對(duì)應(yīng)的地址范圍中(地址g至地址h),地址確定電路63將與該地址范圍對(duì)應(yīng)的虛擬機(jī)VM#2有關(guān)的信息VM_2_M'輸出到存儲(chǔ)器訪問(wèn)確定電路64。此外,虛擬機(jī)調(diào)度器5將指示虛擬機(jī)VM#2的信息VM_2_M輸出到存儲(chǔ)器訪問(wèn)確定電路64,作為與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)有關(guān)的信息VM_n_M。存儲(chǔ)器訪問(wèn)確定電路64將從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)存儲(chǔ)器11的虛擬機(jī)VM#2有關(guān)的信息VM_2_M與從地址確定電路63輸出的、與允許訪問(wèn)存儲(chǔ)器區(qū)域#3的虛擬機(jī)VM#2有關(guān)的信息VM_2_M'進(jìn)行比較。在這種情況下,由于從虛擬機(jī)調(diào)度器5輸出的VM_2_M與從地址確定電路63輸出的VM_2_M'匹配,存儲(chǔ)器訪問(wèn)確定電路64確定允許虛擬機(jī)VM#2訪問(wèn)存儲(chǔ)器區(qū)域#3,以及將指示訪問(wèn)許可的高電平信號(hào)輸出為存儲(chǔ)器訪問(wèn)確定結(jié)果OUT_M。用這種方式,允許虛擬機(jī)VM#2訪問(wèn)存儲(chǔ)器區(qū)域#3。根據(jù)上述實(shí)施例,可以提供能通過(guò)少量硬件資源,控制每一虛擬機(jī)對(duì)存儲(chǔ)器的訪問(wèn)的存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法。<第六實(shí)施例>接著,將描述第六實(shí)施例。根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路不同于第五實(shí)施例之處在于將寄存器I/F添加到在第五實(shí)施例中所述的存儲(chǔ)器保護(hù)電路6_4中。其他部件與第五實(shí)施例類似。由此,將適當(dāng)?shù)厥÷灾貜?fù)的描述。圖17是示出根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路的一個(gè)示例的框圖。如圖17所示,根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_5包括寄存器I/F(71)、存儲(chǔ)器訪問(wèn)信息寄存器61和訪問(wèn)確定電路62。存儲(chǔ)器訪問(wèn)信息寄存器61和訪問(wèn)確定電路62的結(jié)構(gòu)和操作與在第五實(shí)施例中所述的存儲(chǔ)器訪問(wèn)信息寄存器61和訪問(wèn)確定電路62類似。由此,將省略重復(fù)的描述。在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_5中,可以由每一虛擬機(jī)重寫在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)的存儲(chǔ)器訪問(wèn)信息的一部分。每一虛擬機(jī)對(duì)存儲(chǔ)器訪問(wèn)信息寄存器61的訪問(wèn)受寄存器I/F(71)限制。下面將描述詳情。寄存器I/F(71)包括寄存器訪問(wèn)信息寄存器72、寄存器地址確定電路73和寄存器訪問(wèn)確定電路74。將與能由每一虛擬機(jī)訪問(wèn)的存儲(chǔ)器訪問(wèn)信息寄存器區(qū)域有關(guān)的寄存器訪問(wèn)信息存儲(chǔ)在寄存器訪問(wèn)信息寄存器72中。存儲(chǔ)器訪問(wèn)信息寄存器區(qū)域是包括在存儲(chǔ)器訪問(wèn)信息寄存器61中的多個(gè)寄存器區(qū)域。圖18是示出在根據(jù)該實(shí)施例的存儲(chǔ)器保護(hù)電路6_5中包括的寄存器訪問(wèn)信息寄存器72中存儲(chǔ)的信息的一個(gè)示例的表。如圖18所示,在寄存器訪問(wèn)信息寄存器72中,存儲(chǔ)了存儲(chǔ)器區(qū)域#0至#3、存儲(chǔ)與各個(gè)存儲(chǔ)器區(qū)域#0至#3有關(guān)的信息的寄存器地址范圍,以及與能訪問(wèn)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)有關(guān)的信息。與各個(gè)存儲(chǔ)器區(qū)域#0至#3有關(guān)的信息是圖16的表中所示的、與存儲(chǔ)器區(qū)域#0至#3對(duì)應(yīng)的地址范圍。此外,存儲(chǔ)與各個(gè)存儲(chǔ)器區(qū)域#0至#3有關(guān)的信息的寄存器地址范圍是圖16的表中所示的、存儲(chǔ)與存儲(chǔ)器區(qū)域#0至#3對(duì)應(yīng)的地址范圍的存儲(chǔ)器訪問(wèn)信息寄存器61的寄存器地址范圍。例如,存儲(chǔ)與存儲(chǔ)器區(qū)域#0有關(guān)的信息的寄存器地址范圍是其中存儲(chǔ)圖16的表中所示的、對(duì)應(yīng)于存儲(chǔ)器區(qū)域#0的地址范圍(地址a至地址b)的存儲(chǔ)器訪問(wèn)信息寄存器61的寄存器地址范圍(寄存器地址a'至寄存器地址b')。如圖18所示,存儲(chǔ)器區(qū)域#0的寄存器地址范圍是寄存器地址a'至寄存器地址b',以及虛擬機(jī)VM#0能訪問(wèn)在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)與存儲(chǔ)器區(qū)域#0有關(guān)的信息(即,寄存器地址a'至寄存器地址b')的區(qū)域。存儲(chǔ)器區(qū)域#1的寄存器地址范圍是寄存器地址c'至寄存器地址d',以及虛擬機(jī)VM#0能訪問(wèn)在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)與存儲(chǔ)器區(qū)域#1有關(guān)的信息(即,寄存器地址c'至寄存器地址d')的區(qū)域。存儲(chǔ)器區(qū)域#2的寄存器地址范圍是寄存器地址e'至寄存器地址f',以及虛擬機(jī)VM#1能訪問(wèn)在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)與存儲(chǔ)器區(qū)域#2有關(guān)的信息(即,寄存器地址e'至寄存器地址f')的區(qū)域。存儲(chǔ)器區(qū)域#3的寄存器地址范圍是寄存器地址g'至寄存器地址h',以及虛擬機(jī)VM#2能訪問(wèn)在存儲(chǔ)器訪問(wèn)信息寄存器61中存儲(chǔ)與存儲(chǔ)器區(qū)域#3有關(guān)的信息(即,寄存器地址g'至寄存器地址h')的區(qū)域。在該實(shí)施例中,虛擬機(jī)能僅重寫圖16的表中所示的、與存儲(chǔ)器區(qū)域#0至#3對(duì)應(yīng)的地址范圍有關(guān)的信息,以及不能重寫與能訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)有關(guān)的信息??偟膩?lái)說(shuō),僅超級(jí)管理程序能重寫與能訪問(wèn)各個(gè)存儲(chǔ)器區(qū)域#0至#3的虛擬機(jī)有關(guān)的信息。僅授權(quán)超級(jí)管理程序訪問(wèn)寄存器訪問(wèn)信息寄存器72,以及不授權(quán)虛擬機(jī)(管理程序)的每一個(gè)訪問(wèn)寄存器訪問(wèn)信息寄存器72,由此能防止虛擬機(jī)的每一個(gè)自由地重寫在寄存器訪問(wèn)信息寄存器72中存儲(chǔ)的寄存器訪問(wèn)信息。因此,超級(jí)管理程序可以管理由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域,以及可以防止由各個(gè)虛擬機(jī)使用的存儲(chǔ)器區(qū)域的干擾。寄存器地址確定電路73和寄存器訪問(wèn)確定電路74形成第二訪問(wèn)確定電路。第二訪問(wèn)確定電路基于當(dāng)虛擬機(jī)的每一個(gè)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61時(shí)的寄存器地址ADD_R、與訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61的虛擬機(jī)有關(guān)的信息VM_n_M以及在寄存器訪問(wèn)信息寄存器72中存儲(chǔ)的寄存器訪問(wèn)信息,確定是否允許該虛擬機(jī)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61。具體地,寄存器地址確定電路73基于寄存器訪問(wèn)信息,輸出與允許訪問(wèn)與當(dāng)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61時(shí),從虛擬機(jī)的每一個(gè)輸出的寄存器地址ADD_R對(duì)應(yīng)的寄存器區(qū)域的虛擬機(jī)有關(guān)的信息VM_n_M''。例如,寄存器地址確定電路73將當(dāng)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61時(shí),從虛擬機(jī)VM#0至VM#2的每一個(gè)輸出的寄存器地址ADD_R與在寄存器訪問(wèn)信息寄存器72中存儲(chǔ)的寄存器訪問(wèn)信息(具體地,圖14中的寄存器地址范圍)進(jìn)行比較。然后,寄存器地址確定電路73將與包括寄存器地址ADD_R的寄存器地址范圍對(duì)應(yīng)的虛擬機(jī)有關(guān)的信息VM_n_M''輸出到寄存器訪問(wèn)確定電路74。例如,當(dāng)寄存器地址ADD_R包括在寄存器地址a'至寄存器地址b'的范圍中時(shí),寄存器地址確定電路73將與該寄存器地址范圍對(duì)應(yīng)的虛擬機(jī)VM#0有關(guān)的信息VM_0_M''輸出到寄存器訪問(wèn)確定電路74。寄存器訪問(wèn)確定電路74基于從寄存器地址確定電路73輸出的、與允許訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器區(qū)域的虛擬機(jī)有關(guān)的信息VM_n_M''和當(dāng)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61時(shí),從虛擬機(jī)的每一個(gè)輸出的、與訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61的虛擬機(jī)有關(guān)的信息VM_n_M,確定是否允許虛擬機(jī)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61。從虛擬機(jī)調(diào)度器5(見(jiàn)圖1)或虛擬機(jī)/線程調(diào)度器25(見(jiàn)圖12)提供與訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61的虛擬機(jī)有關(guān)的信息VM_n_M。具體地,虛擬機(jī)調(diào)度器5(在第三實(shí)施例中,虛擬機(jī)/線程調(diào)度器25)保留與在運(yùn)算電路4中執(zhí)行的指令對(duì)應(yīng)的虛擬機(jī)有關(guān)的信息。由此,虛擬機(jī)調(diào)度器5能將與訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61的虛擬機(jī)有關(guān)的信息VM_n_M輸出到寄存器訪問(wèn)確定電路74。寄存器訪問(wèn)確定電路74將從虛擬機(jī)調(diào)度器5輸出的、與訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61的虛擬機(jī)有關(guān)的信息VM_n_M與從寄存器地址確定電路73輸出的、與允許訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器區(qū)域的虛擬機(jī)有關(guān)的信息VM_n_M''進(jìn)行比較。當(dāng)從虛擬機(jī)調(diào)度器5輸出的VM_n_M與從寄存器地址確定電路73輸出的VM_n_M''匹配時(shí),寄存器訪問(wèn)確定電路74確定虛擬機(jī)能訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61,以及將指示訪問(wèn)許可的高電平信號(hào)輸出為寄存器訪問(wèn)確定結(jié)果OUT_R。同時(shí),從虛擬機(jī)調(diào)度器5輸出的VM_n_M與從寄存器地址確定電路73輸出的VM_n_M''不匹配,寄存器訪問(wèn)確定電路74確定禁止虛擬機(jī)訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61,以及將指示訪問(wèn)禁止的低電平信號(hào)輸出為寄存器訪問(wèn)確定結(jié)果OUT_R。從寄存器訪問(wèn)確定電路74輸出的寄存器訪問(wèn)確定結(jié)果OUT_R提供給存儲(chǔ)器訪問(wèn)信息寄存器61。當(dāng)寄存器訪問(wèn)確定結(jié)果OUT_R指示訪問(wèn)禁止時(shí)(即在低電平的情況下),存儲(chǔ)器訪問(wèn)信息寄存器61禁止虛擬機(jī)(運(yùn)算電路4)訪問(wèn)WD_R。同時(shí),當(dāng)寄存器訪問(wèn)確定結(jié)果OUT_R指示訪問(wèn)許可(即在高電平的情況下),存儲(chǔ)器訪問(wèn)信息寄存器61啟用虛擬機(jī)(運(yùn)算電路4)訪問(wèn)WD_R??梢詫募拇嫫髟L問(wèn)確定電路74輸出的寄存器訪問(wèn)確定結(jié)果OUT_R提供給例如運(yùn)算電路4。在這種情況下,當(dāng)寄存器訪問(wèn)確定結(jié)果OUT_R指示訪問(wèn)禁止(在低電平的情況下),運(yùn)算電路4禁用虛擬機(jī)對(duì)存儲(chǔ)器訪問(wèn)信息寄存器61的訪問(wèn)WD_R。另一方面,當(dāng)寄存器訪問(wèn)確定結(jié)果OUT_R指示訪問(wèn)許可(即在高電平的情況下),運(yùn)算電路4啟用虛擬機(jī)對(duì)存儲(chǔ)器訪問(wèn)信息寄存器61的訪問(wèn)WD_R。接著,將詳細(xì)地描述寄存器I/F(71)中的訪問(wèn)確定。首先,舉例來(lái)說(shuō),描述虛擬機(jī)VM#0訪問(wèn)存儲(chǔ)與存儲(chǔ)器區(qū)域#2有關(guān)的信息的寄存器地址范圍(在下文中,稱為對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的寄存器地址范圍)。當(dāng)虛擬機(jī)VM#0試圖訪問(wèn)對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的寄存器地址范圍時(shí),運(yùn)算電路4將與對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的寄存器地址范圍對(duì)應(yīng)的地址ADD_R(寄存器地址e'至寄存器地址f')輸出到寄存器地址確定電路73。由于地址ADD_R包括在對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的寄存器地址范圍中(寄存器地址e'至寄存器地址f'),寄存器地址確定電路73將與該寄存器地址范圍對(duì)應(yīng)的虛擬機(jī)VM#1有關(guān)的信息VM_1_M''輸出到寄存器訪問(wèn)確定電路74。此外,虛擬機(jī)調(diào)度器5將指示虛擬機(jī)VM#0的信息VM_0_M輸出到寄存器訪問(wèn)確定電路74,作為與訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61的虛擬機(jī)有關(guān)的信息VM_n_M。寄存器訪問(wèn)確定電路74將從虛擬機(jī)調(diào)度器5輸出的VM_0_M與從寄存器地址確定電路73輸出的VM_1_M''比較。在這種情況下,從虛擬機(jī)調(diào)度器5輸出的VM_0_M與從寄存器地址確定電路73輸出的VM_1_M''不匹配。因此,寄存器訪問(wèn)確定電路74確定禁止虛擬機(jī)VM#0訪問(wèn)對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的寄存器地址范圍(寄存器地址e'至寄存器地址f'),以及將指示訪問(wèn)禁止的低電平信號(hào)輸出為寄存器訪問(wèn)確定結(jié)果OUT_R。用這種方式,禁止虛擬機(jī)VM#0訪問(wèn)對(duì)應(yīng)于存儲(chǔ)器區(qū)域#2的寄存器地址范圍(寄存器地址e'至寄存器地址f')。將描述虛擬機(jī)VM#2訪問(wèn)對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的寄存器地址范圍的另一示例。當(dāng)虛擬機(jī)VM#2試圖訪問(wèn)對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的寄存器地址范圍(寄存器地址g'至寄存器地址h')時(shí),運(yùn)算電路4將與對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的寄存器地址范圍(寄存器地址g'至寄存器地址h')對(duì)應(yīng)的寄存器地址ADD_R輸出到寄存器地址確定電路73。由于寄存器地址ADD_R包括在對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的寄存器地址范圍(寄存器地址g'至寄存器地址h')中,寄存器地址確定電路73將與寄存器地址范圍對(duì)應(yīng)的虛擬機(jī)VM#2有關(guān)的信息VM_2_M''輸出到寄存器訪問(wèn)確定電路74。此外,虛擬機(jī)調(diào)度器5將指示虛擬機(jī)VM#2的信息VM_2_M輸出到寄存器訪問(wèn)確定電路74,作為與訪問(wèn)存儲(chǔ)器訪問(wèn)信息寄存器61的虛擬機(jī)有關(guān)的信息VM_n_M。寄存器訪問(wèn)確定電路74將從虛擬機(jī)調(diào)度器5輸出的VM_2_M與從寄存器地址確定電路73輸出的VM_2_M''比較。在這種情況下,由于從虛擬機(jī)調(diào)度器5輸出的VM_2_M與從寄存器地址確定電路73輸出的VM_2_M''匹配,寄存器訪問(wèn)確定電路74確定允許虛擬機(jī)VM#2訪問(wèn)對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的寄存器地址范圍(寄存器地址g'至寄存器地址h'),以及將指示訪問(wèn)許可的高電平信號(hào)輸出為寄存器訪問(wèn)確定結(jié)果OUT_R。用這種方式,允許虛擬機(jī)VM#2訪問(wèn)對(duì)應(yīng)于存儲(chǔ)器區(qū)域#3的寄存器地址范圍(寄存器地址g'至寄存器地址h')。根據(jù)上述實(shí)施例,可以提供能通過(guò)少量硬件資源,控制虛擬機(jī)的每一個(gè)訪問(wèn)存儲(chǔ)器的存儲(chǔ)器保護(hù)電路、處理單元和存儲(chǔ)器保護(hù)方法。本領(lǐng)域的普通技術(shù)人員,能按期望組合第一至第六實(shí)施例。盡管根據(jù)幾個(gè)實(shí)施例,描述了本發(fā)明,本領(lǐng)域的技術(shù)人員將意識(shí)到通過(guò)在所附權(quán)利要求的精神和范圍內(nèi)的各種改進(jìn),能實(shí)施本發(fā)明,以及本發(fā)明不限于上述示例。此外,權(quán)利要求的范圍不受上述實(shí)施例限制。此外,注意到申請(qǐng)人的意圖是包含所有權(quán)利要求要素,甚至是在審查期間的后續(xù)修改的等效。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3