專利名稱:信息處理設(shè)備和存儲器訪問方法
技術(shù)領(lǐng)域:
本文中討論的實(shí)施例針對信息處理設(shè)備以及訪問存儲器的方法。
背景技術(shù):
相關(guān)地,多個(gè)算法處理單元共享主存儲裝置的對稱式多處理器(SMP)技術(shù)為公知的。作為應(yīng)用SMP技術(shù)的信息處理系統(tǒng)的示例,這樣的信息處理系統(tǒng)是公知的:其中各自包括算法處理單元和主存儲裝置的多個(gè)節(jié)點(diǎn)經(jīng)由相同的總線彼此連接,并且算法處理單元經(jīng)由總線共享每個(gè)主存儲裝置。在這種信息處理系統(tǒng)中,例如使用偵聽系統(tǒng)維持由每個(gè)節(jié)點(diǎn)的算法處理單元緩存的數(shù)據(jù)的一致性。然而,根據(jù)偵聽系統(tǒng),經(jīng)由總線交換由每個(gè)算法處理單元緩存的數(shù)據(jù)的更新狀態(tài),并且相應(yīng)地,隨著節(jié)點(diǎn)數(shù)增加,總線變成瓶頸,從而存儲器訪問的性能劣化。為了避免這種總線瓶頸,非均勻存儲器訪問(NUMA)技術(shù)是公知的,其中使用互聯(lián)部(interconnect)對多個(gè)節(jié)點(diǎn)進(jìn)行互聯(lián),并且節(jié)點(diǎn)的算法處理單元共享節(jié)點(diǎn)的主存儲裝置。在應(yīng)用了這種NUMA技術(shù)的信息處理系統(tǒng)中,每個(gè)節(jié)點(diǎn)的主存儲裝置的存儲區(qū)被唯一地映射到共同的物理地址空間中。因而,每個(gè)節(jié)點(diǎn)的算法單元識別由訪問目標(biāo)的物理地址表示的存儲區(qū)存在處的節(jié)點(diǎn)并通過互聯(lián)部訪問識別的節(jié)點(diǎn)的主存儲裝置。專利文獻(xiàn)1:日本公開特許公報(bào)第2000-235558號非專利文獻(xiàn) 1: Computer Architecture: A Quantitative Approach, SecondEdition, John L.Hennessy, David A.Patterson, § 8.4此處,根據(jù)上述NUMA技術(shù),不維持由每個(gè)節(jié)點(diǎn)的算法處理單元緩存的數(shù)據(jù)一致性。因此,可以考慮采用緩存一致的NUMA (ccNUMA),其中包括維持由每個(gè)節(jié)點(diǎn)的算法處理單元緩存的數(shù)據(jù)的一致性的機(jī)制。然而,在應(yīng)用了 ccNUMA的信息處理系統(tǒng)中,每個(gè)節(jié)點(diǎn)識別作為訪問目標(biāo)的存儲區(qū)存在的節(jié)點(diǎn),并且相應(yīng)地,需要高效地執(zhí)行地址轉(zhuǎn)換。此外,存在每個(gè)節(jié)點(diǎn)將主存儲裝置分成僅由該節(jié)點(diǎn)使用的存儲區(qū)和與另外的節(jié)點(diǎn)共同使用的存儲區(qū)的情況。在這種情況下,每個(gè)節(jié)點(diǎn)需要高效地確定作為訪問目標(biāo)的存儲區(qū)是否為與其它節(jié)點(diǎn)一起共同使用的存儲區(qū)。根據(jù)本發(fā)明的方面,能夠高效地執(zhí)行由每個(gè)算法處理單元進(jìn)行的存儲器訪問。
發(fā)明內(nèi)容
根據(jù)實(shí)施例的方面,信息處理設(shè)備包括多個(gè)節(jié)點(diǎn)以及將多個(gè)節(jié)點(diǎn)彼此連接的互聯(lián)部。多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)包括處理器、存儲單元和執(zhí)行邏輯地址和物理地址之間的轉(zhuǎn)換的第一轉(zhuǎn)換單元。多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)包括執(zhí)行物理地址和用于標(biāo)識包括在多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)中的處理器的處理 器標(biāo)識信息之間的轉(zhuǎn)換的第二轉(zhuǎn)換單元。多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)包括發(fā)送單元,該發(fā)送單元發(fā)送包括物理地址和處理器標(biāo)識信息的發(fā)送數(shù)據(jù),以訪問由物理地址指示的存儲區(qū)。多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)包括接收單元,該接收單元接收從另一節(jié)點(diǎn)經(jīng)由互聯(lián)部發(fā)送的發(fā)送數(shù)據(jù)。多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)包括本地確定單元,該本地確定單元基于包括在由接收單元接收的發(fā)送數(shù)據(jù)中的物理地址確定:訪問是對可從包括存儲單元的節(jié)點(diǎn)訪問的存儲單元的本地區(qū)域的訪問,還是對可從多個(gè)節(jié)點(diǎn)訪問的存儲單元的共享區(qū)域域的訪問。
圖1為例不根據(jù)第一實(shí)施例的信息處理系統(tǒng)的不例的圖;圖2為例示根據(jù)第一實(shí)施例的構(gòu)建塊(building block)的功能配置的圖;圖3為例示根據(jù)第一實(shí)施例的被分配到構(gòu)建塊的存儲器的物理地址的范圍的圖;圖4為例示根據(jù)第一實(shí)施例的由信息處理系統(tǒng)分配到每個(gè)存儲器的物理地址的圖;圖5為例示在分配物理地址中的變化的第一圖;圖6為在分配物理地址中的變化的第二圖;圖7為例示根據(jù)第一實(shí)施例的CPU的功能配置的圖;圖8為例示根據(jù)第一實(shí)施例的存儲在節(jié)點(diǎn)映射中的信息的示例的圖;圖9為例示存儲在節(jié)點(diǎn)映射中的信息的變化的示例的第一圖;圖10為例示存儲在節(jié)點(diǎn)映射中的信息的變化的示例的第二圖;圖1lA為例示緩存標(biāo)簽的示例的圖;圖1lB為例示根據(jù)第一實(shí)施例的由CPU發(fā)送的包的圖;圖12為例示根據(jù)第一實(shí)施例的使用CPU發(fā)送請求的處理的示例的圖;圖13為例示當(dāng)CPU根據(jù)第一實(shí)施例接收包時(shí)執(zhí)行的處理的示例的圖;圖14為例示節(jié)點(diǎn)映射設(shè)置處理的流程的流程圖;圖15為例示共享區(qū)域控制處理的流程的流程圖;圖16為例示共享存儲器分配處理的流程圖;圖17為例示共享存儲器附接處理的流程圖;圖18為例示用于使用共享存儲器的應(yīng)用程序的處理的流程圖;圖19為例示使節(jié)點(diǎn)之間的共享存儲器分離的處理的流程圖;圖20為例示釋放節(jié)點(diǎn)之間的共享存儲器的處理的流程圖;圖21為例示請求發(fā)出處理的流程的流程圖;圖22為例示當(dāng)接收到請求時(shí)執(zhí)行的處理的流程的流程圖;圖23為例示當(dāng)CPU接收響應(yīng)時(shí)執(zhí)行的處理的流程的流程圖;圖24為例示根據(jù)第二實(shí)施例的信息處理系統(tǒng)的圖;圖25為例示分區(qū)的示例的圖;圖26A為例示由分區(qū)#A的CPU存儲的節(jié)點(diǎn)映射的示例的圖;圖26B為例示表示分區(qū)#A的節(jié)點(diǎn)映射的示例的圖;以及圖26C為例示表示分區(qū)#B的節(jié)點(diǎn)映射的示例的圖。
具體實(shí)施例方式將參考
優(yōu)選實(shí)施例。
「al第一實(shí)施例首先,在描述根據(jù)本申請的實(shí)施例之前,將描述相關(guān)信息處理系統(tǒng)中的問題的特定示例。例如,相關(guān)信息處理系統(tǒng)將由中央處理單元(CPU)輸出的用于訪問共享存儲器區(qū)的邏輯地址轉(zhuǎn)換成共享存儲器空間地址。然后,信息處理系統(tǒng)通過將共享存儲器空間地址轉(zhuǎn)換成物理地址標(biāo)識作為CPU的訪問目標(biāo)的存儲區(qū)。然而,根據(jù)如上所述的將邏輯地址轉(zhuǎn)換成共享存儲器空間地址,并且將轉(zhuǎn)換后的共享存儲器空間地址轉(zhuǎn)換成物理地址的技術(shù),轉(zhuǎn)換地址所需要的硬件資源的量較大。另外,根據(jù)將邏輯地址轉(zhuǎn)換成共享存儲器空間地址,并且將轉(zhuǎn)換后的共享存儲器空間地址轉(zhuǎn)換成物理地址的技術(shù),用于轉(zhuǎn)換地址的時(shí)間增加。另外,當(dāng)CPU緩存共享存儲器空間的數(shù)據(jù)時(shí),相關(guān)信息處理系統(tǒng)通過將緩存信息發(fā)送至所有CPU維持一致性。然而,根據(jù)如上所述將緩存信息發(fā)送至所有CPU的技術(shù),存在瓶頸,并且存儲器訪問的性能劣化。此外,在相關(guān)信息處理系統(tǒng)中,在安裝的CPU的數(shù)量增大的情況下,總線吞吐量與CPU數(shù)量的增大成比例地增大,相應(yīng)地,存在瓶頸,從而存儲器訪問的性能劣化。此外,例如,節(jié)點(diǎn)存儲僅由節(jié)點(diǎn)訪問的本地區(qū)域中的內(nèi)核數(shù)據(jù)和用戶數(shù)據(jù)。相應(yīng)地,為了確保存儲在本地區(qū)域中的數(shù)據(jù)的安全性并且增大對軟件缺陷的抵抗,每個(gè)節(jié)點(diǎn)需要確定作為訪問目標(biāo)的存儲區(qū)為可由其它節(jié)點(diǎn)訪問的共享存儲器區(qū),還是不能由其它節(jié)點(diǎn)訪問的本地存儲器區(qū)。相應(yīng)地,在相關(guān)信息處理系統(tǒng)中,存儲在本地區(qū)域中的數(shù)據(jù)被配置為可緩存,而存儲在共享區(qū)域中的數(shù)據(jù)被配置為不可緩存。然而,根據(jù)如上所述的將存儲在共享區(qū)域中的數(shù)據(jù)配置為不可緩存的技術(shù),用來訪問存儲器的延遲時(shí)間增大。另外,在確定訪問目標(biāo)為共享區(qū)域還是本地區(qū)域的情況下,每當(dāng)從任意其它的節(jié)點(diǎn)訪問存儲器時(shí),用于確定處理的電路的規(guī)模增大,并且用于訪問的延遲時(shí)間增大。另外,在相關(guān)信息處理系統(tǒng)中,每當(dāng)節(jié)點(diǎn)訪問在任意其它節(jié)點(diǎn)中包括的存儲器時(shí),節(jié)點(diǎn)需要特定的通道裝置或者直接存儲器訪問(DMA)引擎程序的執(zhí)行,因此,存儲器訪問的性能劣化。此外,在相關(guān)信息處理系統(tǒng)中,在存儲器中包括的被配置為共享區(qū)域的存儲區(qū)的區(qū)域被固定地設(shè)置。因此,例如,在相關(guān)信息處理系統(tǒng)中,不能在不停止系統(tǒng)的情況下通過增加節(jié)點(diǎn)來增加共享區(qū)域。此外,在相關(guān)信息處理系統(tǒng)中,增加了用于執(zhí)行經(jīng)由通道或DMA路徑的存儲器訪問的硬件。相應(yīng)地,在相關(guān)信息處理系統(tǒng)中,安裝的硬件明顯不同于在節(jié)點(diǎn)之間不共享存儲器的系統(tǒng)的硬件。于是,在相關(guān)信息處理系統(tǒng)中,在在節(jié)點(diǎn)之間共享存儲器的情況下,需要明顯地改變諸如操作系統(tǒng)(OS)的程序。在下面呈現(xiàn)的描述中,將解決上述問題的信息處理系統(tǒng)的示例描述為第一實(shí)施例。首先,將參考圖1描述信息處理系統(tǒng)的配置的示例。圖1為例示根據(jù)第一實(shí)施例的信息處理系統(tǒng)的示例的圖。在圖1例示的示例中,信息處理系統(tǒng)I包括交叉開關(guān)(XB) 2和多個(gè)構(gòu)建塊10至10e。構(gòu)建塊10至IOe經(jīng)由管理網(wǎng)絡(luò)連接到管理終端3。此外,XB 2包括服務(wù)處理器2b。構(gòu)建塊10包括多個(gè)CPU 21至21c、多個(gè)存儲器22至22c,以及服務(wù)處理器24。此處,其它的構(gòu)建塊10至IOe具有與構(gòu)建塊10相同的配置,并且不再呈現(xiàn)其描述。此外,在圖1例示的示例中,將不示出CPU 21b和21c以及存儲器22b和22c。XB 2為將構(gòu)建塊10至IOe互相連接的交叉開關(guān)。另外,在XB 2中包括的服務(wù)處理器2b為管理在構(gòu)建塊10至IOe中包括的服務(wù)處理器的服務(wù)處理器,也即是說,充當(dāng)主機(jī)的服務(wù)處理器。另外,管理終端3為經(jīng)由管理網(wǎng)絡(luò)設(shè)置或控制在構(gòu)建塊10至IOe中包括的服務(wù)處理器的終端。此外,在少量節(jié)點(diǎn)互聯(lián)的小規(guī)模配置的情況下,構(gòu)建塊可以在不經(jīng)過XB2的情況下直接彼此連接。構(gòu)建塊10至IOe獨(dú)立地操作操作系統(tǒng)。換言之,由構(gòu)建塊10至IOe操作的操作系統(tǒng)在對于構(gòu)建塊彼此不同的分區(qū)中被操作。此處,當(dāng)從操作的OS觀察時(shí),分區(qū)表示當(dāng)相同的OS操作時(shí)作為一個(gè)系統(tǒng)操作的構(gòu)建塊組。例如,構(gòu)建塊10至IOa作為分區(qū)#A操作,并且構(gòu)建塊IOb至IOd作為分區(qū)#B操作。在這種情況下,由構(gòu)建塊10操作的OS識別構(gòu)建塊10和IOa作為一個(gè)系統(tǒng)操作,由構(gòu)建塊IOb操作的OS識別構(gòu)建塊IOb至IOd作為一個(gè)系統(tǒng)操作。接下來,將參考圖2描述構(gòu)建塊的配置。圖2為例示根據(jù)第一實(shí)施例的構(gòu)建塊的功能配置的圖。在圖2圖示的示例中,構(gòu)建塊10包括節(jié)點(diǎn)20、服務(wù)處理器24、XB連接單元27和27a以及快速外圍組件互聯(lián)(PCIe)連接單元28。節(jié)點(diǎn)20包括多個(gè)CPU 21至21c、多個(gè)存儲器22至22c以及通信單元23。此外,服務(wù)處理器24包括控制單元25和通信單元26。在圖2圖示的示例中,CPU 21至21c直接彼此連接并連接到通信單元23。存儲器22至22c連接到CPU 21至21c。CPU 21至21c連接到XB連接單元27或XB連接單元27a。XB連接單元27和27a可以為相同的XB連接單元。另外,CPU 21至21c連接到PCIe連接單元28。此外,通信單元23連接到在服務(wù)處理器24中包括的通信單元26。例如,控制單元25、通信單元26、通信單元23以及CPU21至21c通過聯(lián)合測試行動(dòng)小組(JTAG)或內(nèi)部集成電路(I2C)互聯(lián)。例如,在圖2例示的示例中,CPU 21至21c為執(zhí)行算法處理的算法處理單元。此夕卜,獨(dú)立的存儲器22至22c連接到CPU 21至21c。此外,CPU 21至21c使用存儲器22至22c和在其它構(gòu)建塊IOa至IOe中包括的存儲器作為共享存儲器。另外,如下面將描述的,CPU 21至21c具有物理地址和標(biāo)識(CPHD)彼此關(guān)聯(lián)的節(jié)點(diǎn)映射,所述標(biāo)識(CPHD)為連接到連接有物理地址的存儲器的CPU的標(biāo)識符。例如,在與作為訪問目標(biāo)的物理地址關(guān)聯(lián)的CPUID表示在除了節(jié)點(diǎn)20之外的節(jié)點(diǎn)中包括的CPU的情況下,CPU 21通過XB連接單元27和XB 2向其它節(jié)點(diǎn)發(fā)送存儲器訪問請求。另一方面,在與作為訪問目標(biāo)的物理地址關(guān)聯(lián)的CPUID表示CPU 21a至21c之一的情況下,CPU 21通過CPU之間的直接連接發(fā)送存儲器訪問請求。換言之,在與作為訪問目標(biāo)的物理地址關(guān)聯(lián)的CPWD為除了 CPU 21之外的CPU并且表示在與CPU 21的節(jié)點(diǎn)相同的節(jié)點(diǎn)20處存在的CPU的情況下,CPU 21通過CPU之間的直接連接發(fā)送存儲器訪問請求。另外,在CPU 21從另一節(jié)點(diǎn)接收到連接到其上的存儲器的請求的情況下,CPU 21從連接到其上的存儲器22讀取作為請求目標(biāo)的數(shù)據(jù),并且將數(shù)據(jù)發(fā)送到請求源。此外,在執(zhí)行的應(yīng)用程序請求分配共享存儲器的情況下,CPU 21至21c具有通過彼此通信分配由應(yīng)用程序使用的共享存儲器的功能。另外,假設(shè)CPU 21至21c中的每一個(gè)具有使用TLB執(zhí)行與諸如執(zhí)行地址轉(zhuǎn)換的相關(guān)的CPU相同的處理和當(dāng)發(fā)生TLB失誤異常(TLB miss exception)時(shí)執(zhí)行陷入處理(trap process)的功能。
存儲器22至22c為由在信息處理系統(tǒng)I中包括的所有CPU共享的存儲器。另外,在信息處理系統(tǒng)I中,構(gòu)建塊10至IOe的服務(wù)處理器被映射到相同的物理地址空間的物理地址被分配到在所有構(gòu)建塊10至IOe中包括的存儲器。換言之,具有不彼此重疊的值的物理地址被分配到在信息處理系統(tǒng)I中包括的所有存儲器。另外,存儲器22和22c中的每一個(gè)將存儲區(qū)的一部分配置為由信息處理系統(tǒng)I的所有CPU使用的共享區(qū)域,并且將另一部分配置為本地區(qū)域,在該本地區(qū)域中,訪問該本地區(qū)域的CPU 21至21c存儲內(nèi)核數(shù)據(jù)或用戶數(shù)據(jù)。另外,在存儲器22至22c中,在由信息處理系統(tǒng)I使用的物理地址空間中,在位于特定位置的位具有相同值的范圍內(nèi)的物理地址被分配到共享區(qū)域。另外,在存儲器22至22c中,在位于特定位置的位具有與被分配到共享區(qū)域的物理地址不同的值的范圍內(nèi)的物理地址被分配到本地區(qū)域。例如,在存儲器22至22c中,第46位為“O”的每個(gè)物理地址被分配到本地區(qū)域。另外,第46位為“I”的每個(gè)物理地址被分配到共享區(qū)域。作為更詳細(xì)的示例,包括在“O”至“0x63ff ffff ffff”中的物理地址被分配到存儲器22至22c的物理地址空間中的本地區(qū)域。另外,包括在“0x64000000000”至“0xl27ff ffff ffff ”內(nèi)的物理地址被分配到存儲器22至22c的物理地址空間中的共享區(qū)域。另外,在信息處理系統(tǒng)I中,包括在相互不同的范圍內(nèi)的物理地址被分配到構(gòu)建塊10至IOe的存儲器。下文中,將參考圖來描述在信息處理系統(tǒng)I中被分配到構(gòu)建塊10至IOe的存儲器的物理地址的范圍。圖3為例示根據(jù)第一實(shí)施例的被分配到構(gòu)建塊的存儲器的物理地址的范圍的圖。在圖3例示的示例中,每個(gè)構(gòu)建塊被表示為構(gòu)建塊(BB)。此處,ΒΒ#0表示構(gòu)建塊10,BB#1表示構(gòu)建塊10a,BB#15表示構(gòu)建塊IOe0換言之,在圖3例示的示例中,假設(shè)信息處理系統(tǒng)I具有16個(gè)構(gòu)建塊。另外,圖3例示的示例中,假設(shè)高達(dá)4兆兆字節(jié)(TB)的存儲器可安裝在每個(gè)構(gòu)建塊上。在下面呈現(xiàn)的描述中,為了簡化存儲器地址的表示,例如,將“242”的地址表示為“4TB”的地址。在圖3例示的示例中,在構(gòu)建塊10中包括的存儲器22至22c中,在物理地址空間中從“O”至“4TB -1”的地址范圍內(nèi)包括的物理地址被分配到本地區(qū)域。另外,在構(gòu)建塊10中包括的存儲器22至22c中,在物理地址空間中從“64TB”至“68TB-1”的地址范圍內(nèi)包括的物理地址被分配到共享區(qū)域。另外,在包括在構(gòu)建塊IOa存儲器中,在物理地址空間中從“4TB”至“8TB -1”的地址的范圍內(nèi)包括的物理地址被分配到本地區(qū)域。另外,在構(gòu)建塊IOa中包括的存儲器中,在物理地址空間中從“68TB”至“72TB-1”的地址的范圍內(nèi)包括的物理地址被分配到共享區(qū)域。此外,在包括在構(gòu)建塊IOe中的存儲器中,在物理地址空間中從“60TB”至“64TB -1”的地址的范圍內(nèi)包括的物理地址被分配到本地區(qū)域。另外,在包括在構(gòu)建塊IOa中的存儲器中,在物理地址空間中從“ 124TB”至“ 128TB-1 ”的地址的范圍內(nèi)包括的物理地址被分配到共享區(qū)域。于是,在信息處理系統(tǒng)I中,如圖4所例示的,物理地址空間被分配到包括在構(gòu)建塊10至IOe中的所有存儲器。圖4為例示根據(jù)第一實(shí)施例的由信息處理系統(tǒng)100分配到存儲器的物理地址的圖。更具體地,在圖4例示的示例中,信息處理系統(tǒng)I將“O”至“256TB-1 ”的物理地址中的從“O”至“64TB-1”的范圍配置為被分配到本地區(qū)域的物理地址。另外,信息處理系統(tǒng)I將從“64TB”至“128TB -1”的范圍配置為被分配到共享區(qū)域的物理地址。換言之,信息處理系統(tǒng)I將在最低有效位被配置為位O時(shí)位46為“O”的范圍分配到本地區(qū)域,并且將位46為“I”的范圍分配到共享區(qū)域。另外,信息處理系統(tǒng)I利用從“128TB”到“256TB-1”的地址范圍作為I/O空間。另外,圖3和圖4所例示的示例僅為示例,信息處理系統(tǒng)I可以使用另外的分配方法。下文中,將參考圖描述由信息處理系統(tǒng)I執(zhí)行的分配物理地址的變化的示例。圖5為例示分配物理地址的變化的第一圖。在圖5例示的示例中,在包括在構(gòu)建塊10至IOe中的存儲器中,在從“O”到“4TB-1”的范圍內(nèi)包括的物理地址被分配到本地區(qū)域。另外,在圖5例示的示例中,在包括在構(gòu)建塊10中的存儲器22中,包括在從“4TB”到“8TB-1 ”的范圍內(nèi)的物理地址被分配到共享區(qū)域。此外,在圖5例示的示例中,在包括在構(gòu)建塊IOa中的存儲器中,在包括從“8TB”至“ 12TB-1”的范圍內(nèi)的物理地址被分配到共享區(qū)域。另外,在圖5例示的示例中,在包括構(gòu)建塊IOe中的存儲器中,包括在從“64TB”至“68TB-1”的范圍內(nèi)的物理地址被分配到共
享區(qū)域。于是,在圖5例示的示例中,信息處理系統(tǒng)I將物理地址空間中的從“O”至“4TB-1”的范圍內(nèi)的物理地址分配到本地區(qū)域,并且將從“4TB”到“128TB-1”的范圍內(nèi)的物理地址分配到共享區(qū)域。另外,在圖5例示的示例中,信息處理系統(tǒng)I使用從“128TB”到“256TB-1”的范圍作為I/O空間。換言之,信息處理系統(tǒng)I將在最低有效位被配置為位O時(shí)位42為“O”的范圍分配到本地區(qū)域并且將位42為“I”的范圍分配到共享區(qū)域。圖6為例示分配物理地址的變化的第二圖。在圖6圖示的示例中,在包括在構(gòu)建塊10至IOe中的存儲器中,將在包括從“O”到“4TB-1”的范圍內(nèi)的物理地址保留為I/O空間。另外,在圖6圖示的示例中,在包括在構(gòu)建塊10至IOe中的存儲器中,包括在從“4TB”到“8TB-1 ”的范圍內(nèi)的物理地址被分配到本地區(qū)域。另外,在圖6例示的示例中,在包括在構(gòu)建塊10中的存儲器22至22c中,包括在從“8TB”到“12TB-1”的范圍內(nèi)的物理地址被分配到共享區(qū)域。此外,在圖6例示的示例中,在包括在構(gòu)建塊IOa的存儲器中,包括在從“ 12TB”到“ 16TB-1 ”的范圍內(nèi)的物理地址被分配到共享區(qū)域。另外,在圖6例示的示例中,在包括在構(gòu)建塊IOe的存儲器中,包括在從“68TB”到“72TB-1”的范圍內(nèi)的物理地址被分配到共享區(qū)域。于是,在圖6例示的示例中,信息處理系統(tǒng)I將在物理地址空間中從“O”至“4TB-1”范圍內(nèi)的物理地址配置為I/O空間,并且將從“4TB”至“8TB-1”范圍內(nèi)的物理地址分配到本地區(qū)域。另外,在圖5例示的示例中,信息處理系統(tǒng)I將從“8TB”到“256TB-1”范圍內(nèi)的物理地址分配到共享區(qū)域。換言之,信息處理系統(tǒng)I將在最低有效位被配置為位O時(shí)位43為“O”的范圍分配到本地區(qū)域,并且將在位43為“I”的范圍內(nèi)的物理地址分配到共享區(qū)域?;剡^來參考圖2,控制單元25控制構(gòu)建塊10。例如,控制單元25執(zhí)行構(gòu)建塊10的電源的管理,監(jiān)視和控制構(gòu)建塊10內(nèi)發(fā)生的異常等。另外,控制單元25經(jīng)由管理網(wǎng)絡(luò)連接到管理終端3和包括在其它構(gòu)建塊10至IOe中的服務(wù)處理器的控制單元,并且能夠執(zhí)行由管理終端3指示的控制,并執(zhí)行與構(gòu)建塊10至IOe關(guān)聯(lián)的控制。此外,控制單元25能夠與在CPU 21至21c上運(yùn)行的一個(gè)或多個(gè)操作系統(tǒng)進(jìn)行通信。另外,在第一實(shí)施例中,盡管包括在構(gòu)建塊10至IOe中的服務(wù)處理器經(jīng)由管理網(wǎng)彼此連接,但是實(shí)施例不局限于此。例如,服務(wù)處理器可以經(jīng)由將構(gòu)建塊10至IOe彼此連接的XB彼此進(jìn)行通信。此外,控制單元25通過通信單元26和通信單元23訪問CPU 21至21c。然后,如下面所述的,控制單元25通過更新比如在構(gòu)建塊10至IOe上存在的節(jié)點(diǎn)映射來執(zhí)行對構(gòu)建塊中的CPU的控制。另外,通信單元23通過包括在服務(wù)處理器24中的通信單元26將從控制單元25發(fā)送的控制信號傳送到CPU 21至21c。通信單元26將從控制單元25發(fā)送的控制信號傳送到包括在節(jié)點(diǎn)20中的通信單元23。XB連接單元27和27a將CPU 21至21c連接到XB 2,并且中繼包括在構(gòu)建塊10至IOe中的CPU之間的通信。PCIe連接單元28將CPU 21至21c的訪問中繼到輸入/輸出(I/O)裝置。接下來,將參考圖7描述CPU 21至21c的功能配置。圖7為例示根據(jù)第一實(shí)施例的CPU的功能配置的圖。此處,由于CPU 21a至21c具有與CPU 21的相同的功能,因此不再進(jìn)行描述。在圖7例示的示例中,未例示將服務(wù)處理器24和CPU 21彼此連接的通信單元23和26。在圖7例示的示例中,CPU 21包括算法處理單元30、路由器40、存儲器訪問單元41和PCIe控制單元42。算法處理單元30包括算法單元31,一級(LI)緩存32、L2緩存33、節(jié)點(diǎn)映射34、地址轉(zhuǎn)換單元35、緩存目錄管理單元36以及包控制單元37。包控制單元37包括請求產(chǎn)生單元38和請求接收單元39。PCIe控制單元42包括請求產(chǎn)生單元43和PCIe總線控制單元44。首先,將描述包括在算法處理單元30中的節(jié)點(diǎn)映射34。在節(jié)點(diǎn)映射34中,物理地址和連接到具有由物理地址表示的存儲區(qū)的存儲器的CPU的CPnD彼此關(guān)聯(lián)地存儲。下文中,將參考圖描述在節(jié)點(diǎn)映射34中存儲的信息的示例。圖8為例示根據(jù)第一實(shí)施例的存儲在節(jié)點(diǎn)映射中的信息的示例的圖。在圖8例示的示例中,在節(jié)點(diǎn)映射34中,地址、有效性、節(jié)點(diǎn)ID、CPUID彼此關(guān)聯(lián)地存儲。此處,在每個(gè)入口的地址處存儲信息,該信息表示包括連續(xù)的多個(gè)地址的地址區(qū)。例如,信息處理系統(tǒng)I將被分配到所有存儲器的物理地址空間劃分成具有相同大小的地址區(qū),并且向地址區(qū)分配諸如#0、#1、#2等的標(biāo)識符。然后,信息處理系統(tǒng)I存儲表示節(jié)點(diǎn)映射34中包括的每個(gè)入口的地址處的地址區(qū)的標(biāo)識符。此外,在每個(gè)入口的有效性內(nèi),存儲指示由物理地址表示的存儲區(qū)是否可訪問的有效位。例如,在由物理地址表示的存儲區(qū)為由CPU共享的共享區(qū)域的情況下,存儲指示能夠訪問的有效位(例如,“ I ”)。節(jié)點(diǎn)ID為表示被分配有物理地址的存儲器存在處的節(jié)點(diǎn)的標(biāo)識符。CPUID為表示連接到被分配物理地址的存儲器的CPU的標(biāo)識符。換言之,在節(jié)點(diǎn)映射34中存儲信息,該信息表示連接到物理地址為作為訪問目標(biāo)的物理地址的存儲器上的CPU。例如,在圖8例示的示例中,在節(jié)點(diǎn)映射34中,表示出在節(jié)點(diǎn)ID為“O”的節(jié)點(diǎn)處存在標(biāo)識符為“#0”的地址區(qū),并且CPnD為“O”的CPU訪問該地址區(qū)。另外,在節(jié)點(diǎn)映射34中,表示出在節(jié)點(diǎn)ID為“O”的節(jié)點(diǎn)處存在標(biāo)識符為“#I”的地址區(qū),并且CPWD為“I”的CPU訪問該地址區(qū)。此外,在節(jié)點(diǎn)映射34中,由于標(biāo)識符為“#2”的地址區(qū)為CPU 21不會執(zhí)行訪問的地址區(qū)或者還沒有被映射的地址區(qū),所以表示了節(jié)點(diǎn)ID和CPWD還未設(shè)置到其上。在節(jié)點(diǎn)映射34可表示連接有作為訪問目標(biāo)的物理地址的CPU的情況下,可以以除了該實(shí)施例的形式之外的任意形式注冊信息。下文中,將參考圖9和圖10描述節(jié)點(diǎn)映射34的變化的示例。圖9為例示存儲在節(jié)點(diǎn)映射中的信息的變化的示例的第一圖。在圖9例示的示例中,節(jié)點(diǎn)映射34存儲彼此關(guān)聯(lián)的具有有效性的每個(gè)入口、起始地址,地址掩碼、節(jié)點(diǎn)ID以及CPUID0此處,在起始地址中,存儲包括在地址區(qū)中的所有物理地址中的最小的物理地址。在地址掩碼中,存儲表示由CPU管理的物理地址的范圍的地址掩碼。例如,入口的地址掩碼為“Oxffff ffff ffff 0000”的情況表示由相同入口的CPUID表示的CPU管理與上面的48個(gè)位中的相同入口的起始地址一致的地址區(qū)。例如,在圖9例示的示例中,節(jié)點(diǎn)映射34表示,作為第一入口,從地址“ 0x00000 ”到通過使用地址掩碼“0x3fff ”掩碼地址獲得的地址的范圍,也即是說,直到“0x03fff ”的范圍為一個(gè)地址區(qū)。另外,節(jié)點(diǎn)映射34表示從“0x00000”到“0x03fff”的地址區(qū)存在于由節(jié)點(diǎn)ID “O”表示的節(jié)點(diǎn)處,并且通過CPWD為“O”的CPU訪問該地址區(qū)。相似地,節(jié)點(diǎn)映射34表示從“0x10000”到“0xl3fff”的地址區(qū)存在由節(jié)點(diǎn)ID“ I”表示的節(jié)點(diǎn)處,并且由CPWD為“ 4 ”的CPU訪問該地址區(qū)。另外,節(jié)點(diǎn)映射34表示從“ 0x14000 ”至IJ“0xl7fff”的地址范圍存在于由節(jié)點(diǎn)ID “I”表示的節(jié)點(diǎn)處,并且由CPWD為“5”的CPU訪問該地址區(qū)。此外,節(jié)點(diǎn)映射34表示從“0x20000”到“0x21fff”的地址區(qū)存在于由節(jié)點(diǎn)ID “2”表示的節(jié)點(diǎn)處,并且通過CPUID為“8”的CPU訪問該地址區(qū)。在由如圖9例示的節(jié)點(diǎn)映射34中的起始地址和地址掩碼表示地址區(qū)的情況下,能夠基于邏輯和及邏輯積的組合確定物理地址是否包括在每個(gè)地址區(qū)中,相應(yīng)地,能夠容易地配置電路。圖10為例示存儲在節(jié)點(diǎn)映射中的信息的變化的示例的第二圖。在圖10例示的示例中,入口存儲在節(jié)點(diǎn)映射34中,其中有效性、起始地址、長度、節(jié)點(diǎn)ID以及CPUID彼此關(guān)聯(lián)。此處,長度為用于設(shè)置地址區(qū)的大小的信息。例如,在起始地址為“0x120000”、長度為“Oxlffff”的情況下,由相同入口的CPUID表示的CPU將從“0x120000”到“0xl3ffff”的物理地址分配到被管理的存儲器。例如,在圖10例示的示例中,節(jié)點(diǎn)映射34表示,作為第一入口,從長度包括在“0x3fff ”中的“0x00000”的地址的范圍,也即是說,直到“0x03fff ”的范圍為一個(gè)地址區(qū)。另外,節(jié)點(diǎn)映射34表示從“0x00000”到“0x03fff”的地址區(qū)存在于由節(jié)點(diǎn)ID “O”表示的節(jié)點(diǎn)處,并且由CPWD為“O”的CPU訪問該地址區(qū)。相似地,節(jié)點(diǎn)映射34表示從“ Ox10000 ”到“ Ox13f f f ”的地址區(qū)存在于由節(jié)點(diǎn)ID “ I”表示的節(jié)點(diǎn)處,并且由CPUID為“4”的CPU訪問該地址區(qū)。另外,節(jié)點(diǎn)映射34表示從“0x14000”到“0xl7ff”的地址區(qū)存在于由節(jié)點(diǎn)ID “ I”表示的節(jié)點(diǎn)處,并且由CPHD為“5”的CPU訪問該地址區(qū)。此外,節(jié)點(diǎn)映射34表示從“0x20000”到“0x202ef ”的地址區(qū)存在于由節(jié)點(diǎn)ID “2”表示的節(jié)點(diǎn)處,并且由CPHD為“8”的CPU訪問該地址區(qū)。在如圖10所例示由節(jié)點(diǎn)映射34中的起始地址和長度表示地址區(qū)的情況下,能夠以靈活的方式設(shè)置每個(gè)地址區(qū)的長度。換言之,在由節(jié)點(diǎn)映射34中的起始地址和地址掩碼表示地址區(qū)的情況下,指定I從最低有效位(LSB)連續(xù)的范圍中的訪問區(qū)。另一方面,在由起始地址和長度表示每個(gè)地址區(qū)的情況下,能夠任意地設(shè)置每個(gè)地址區(qū)的長度?;剡^來參考圖7,算法單元31為通過執(zhí)行算法處理執(zhí)行OS或應(yīng)用程序的算法裝置的核。另外,在執(zhí)行數(shù)據(jù)讀取的情況下,算法單元31將存儲作為讀取目標(biāo)的數(shù)據(jù)的存儲區(qū)的邏輯地址輸出到地址轉(zhuǎn)換單元35。LI緩存32為臨時(shí)存儲數(shù)據(jù)或目錄中頻繁使用的數(shù)據(jù)的緩存存儲裝置。然而,類似于臨時(shí)存儲數(shù)據(jù)或目錄中頻繁使用的數(shù)據(jù)的LI緩存32,L2緩存33具有大于LI緩存32的存儲容量和低于LI緩存32的讀/寫速度。此處,目錄為表示已經(jīng)將緩存的數(shù)據(jù)存儲在存儲器22的每個(gè)存儲區(qū)中的CPU或者緩存的數(shù)據(jù)的更新狀態(tài)的信息。地址轉(zhuǎn)換單元35使用轉(zhuǎn)換后備緩沖區(qū)(translation lookaside buffer, TLB)將由算法單元31輸出的邏輯地址轉(zhuǎn)換成物理地址。例如,地址轉(zhuǎn)換單元35包括TLB,TLB存儲邏輯地址和物理地址彼此關(guān)聯(lián)的入口,并且將從算法單元31獲取的與邏輯地址關(guān)聯(lián)地存儲的物理地址輸出到緩存目錄管理單元36。另外,在發(fā)生TLB失誤的情況下,地址轉(zhuǎn)換單元35引起陷入處理,于是,注冊在TLB中發(fā)生TLB失誤處的物理地址和邏輯地址的關(guān)系。另外,在從由CPU 21執(zhí)行的應(yīng)用程序請求共享存儲器的分配的情況下,地址轉(zhuǎn)換單元35執(zhí)行下面的處理。地址轉(zhuǎn)換單元35在TLB中設(shè)置入口,在該入口中,訪問由CPU 21至21c共享的共享區(qū)域時(shí)由應(yīng)用程序使用的邏輯地址和被分配到共享區(qū)域的范圍的物理地址彼此關(guān)聯(lián)。另一方面,在從應(yīng)用程序或OS請求本地區(qū)域的分配的情況下,地址轉(zhuǎn)換單元35執(zhí)行下面的處理。地址轉(zhuǎn)換單元35在TLB中設(shè)置入口,在該入口中,在訪問由CPU 21或者由CPU 21上運(yùn)行的操作系統(tǒng)專用的本地區(qū)域時(shí)應(yīng)用程序使用的邏輯地址和被分配到本地區(qū)域的物理地址彼此關(guān)聯(lián)。緩存目錄管理單元36管理緩存數(shù)據(jù)和目錄。更具體地,緩存目錄管理單元36從地址轉(zhuǎn)換單元35獲取物理地址,該物理地址是通過轉(zhuǎn)換由算法單元31輸出的邏輯地址獲取的。在從地址轉(zhuǎn)換單元35獲取物理地址的情況下,緩存目錄管理單元36檢查目錄以便檢查由物理地址表示的數(shù)據(jù)狀態(tài)是否正常。在由物理地址表示的數(shù)據(jù)緩存在LI緩存32或L2緩存33中的情況下,緩存數(shù)據(jù)被輸出到算法單元31。另一方面,在由物理地址表示的數(shù)據(jù)沒有緩存在LI緩存32或L2緩存33的情況下,緩存目錄管理單元36確定由物理地址表示的存儲區(qū)是否存在于存儲器22中。在存儲器22中不存在由物理地址表示的存儲區(qū)的情況下,緩存目錄管理單元36參照節(jié)點(diǎn)映射34。另外,緩存目錄管理單元36識別包括通過參考節(jié)點(diǎn)映射34獲取的物理地址的范圍的入口。然后,緩存目錄管理單元36確定識別的入口的CPUID是否為CPU 21的CPWD。之后,在識別的入口的CPHD為CPU21的CPHD的情況下,緩存目錄管理單元36將物理地址輸出到存儲器訪問單元41。另一方面,在識別的入口 CPWD不是CPU 21的CPWD的情況下,緩存目錄管理單元36執(zhí)行下面的處理。緩存目錄管理單元36獲取識別的入口的CPWD和節(jié)點(diǎn)ID。然后,緩存目錄管理單元36將獲取的CPHD和物理地址輸出到包控制單元37。在從存儲器訪問單元41或包控制單元37獲取在由輸出物理地址表示的存儲區(qū)中存儲的數(shù)據(jù)的情況下,緩存目錄管理單元36存儲在LI緩存32和L2緩存33中的獲取數(shù)據(jù)。然后,緩存目錄管理單元36將緩存在LI緩存32中的數(shù)據(jù)輸出到算法單元31。另外,在從包控制單元37獲取物理地址的情況下,換言之,在獲取作為來自另外的CPU的存儲器訪問請求的目標(biāo)的物理地址的情況下,緩存目錄管理單元36執(zhí)行下面的處理。緩存目錄管理單元36基于位于預(yù)定位置的獲取物理地址的位是“O”還是“ I ”,來確定獲取的物理地址是否為被分配到本地區(qū)域的物理地址。例如,在圖3和圖4例示的范圍的物理地址被分配到信息處理系統(tǒng)I的存儲器的情況下,緩存目錄管理單元36確定在最低有效位為位O時(shí)的位46是“O”還是“I”。在位46為“O”的情況下,緩存目錄管理單元36確定獲取的物理地址為被分配到本地區(qū)域的物理地址。在這種情況下,緩存目錄管理單元36指示包控制單元37向請求源發(fā)送否定響應(yīng)(訪問錯(cuò)誤)。另一方面,在位46為“ I ”的情況下,緩存目錄管理單元36確定獲取的物理地址為被分配到共享區(qū)域的物理地址。在這種情況下,緩存目錄管理單元36獲取由獲取物理地址表示的存儲區(qū)中存儲的數(shù)據(jù),并且將獲取的數(shù)據(jù)輸出到包控制單元37,并指示向請求源發(fā)送數(shù)據(jù)。另外,在將訪問存儲在存儲器22中的數(shù)據(jù)的情況下,緩存目錄管理單元36執(zhí)行維持在由物理地址表示的存儲區(qū)中存儲的數(shù)據(jù)和緩存數(shù)據(jù)之間的一致性的處理。例如,緩存目錄管理單元36參照表示緩存數(shù)據(jù)的狀態(tài)的緩存標(biāo)簽和用于每個(gè)緩存入口的目錄。另夕卜,緩存目錄管理單元36基于緩存標(biāo)簽和目錄執(zhí)行維持緩存一致性和存儲器訪問處理的處理。此處,圖1lA為例示緩存標(biāo)簽的示例的圖。在圖1lA例示的示例中,緩存標(biāo)簽包括變差標(biāo)志、錯(cuò)誤檢查和校正(ECC)檢查位、取指(IF) /操作碼、LI緩存狀態(tài)、L2緩存狀態(tài)以及地址信息(AA)。此處,變差標(biāo)志為表示變差與否的緩存行變差信息。ECC檢查位為為冗余添加的檢查位。IF/操作碼(opcode)為例示數(shù)據(jù)為指令還是數(shù)據(jù)的信息。另外,AA為地址信息,更詳細(xì)地說為存儲在其中的物理地址的幀地址。LI緩存狀態(tài)和L2緩存狀態(tài)為表示存儲在LI緩存32和L2緩存33中的數(shù)據(jù)的狀態(tài)的信息。例如,表示“修改(M)”、“排它(E)”、“共享(S)”和“無效(I)”之一的位存儲在LI緩存狀態(tài)和L2緩存狀態(tài)中。此處,“修改”表示任意一個(gè)CPU緩存數(shù)據(jù)并且緩存的數(shù)據(jù)已經(jīng)被更新的狀態(tài)。另外,在緩存數(shù)據(jù)的狀態(tài)被“修改”的情況下,需要執(zhí)行回寫。“排它”表示任意并且僅一個(gè)CPU擁有并且緩存數(shù)據(jù),并且緩存的數(shù)據(jù)還沒有被更新的狀態(tài)。“共享”表示多個(gè)CPU緩存數(shù)據(jù)并且緩存的數(shù)據(jù)還沒有被更新的狀態(tài)。另外,“無效”表示緩存的狀態(tài)還沒有被注冊的狀態(tài)。目錄管理兩個(gè)位的CK位,63個(gè)位的PRC,以及4個(gè)位的UE。此處,CK位表示緩存的數(shù)據(jù)的狀態(tài)被編碼的信息。PRC為表示使對應(yīng)的緩存行的緩存數(shù)據(jù)作為位圖的CPU的位置的信息。UE為表示目錄的異常和其因素的信息。
緩存目錄管理單元36識別具有在獲取物理地址處存儲的緩存數(shù)據(jù)的CPU、緩存數(shù)據(jù)的狀態(tài)等。然后,緩存目錄管理單元36基于緩存數(shù)據(jù)的狀態(tài)通過發(fā)出刷新請求等執(zhí)行更新存儲在存儲器中的數(shù)據(jù)的處理,以維持緩存數(shù)據(jù)和存儲在存儲器中的數(shù)據(jù)之間的一致性。之后,緩存目錄管理單元36向請求源輸出數(shù)據(jù)。此處,將描述使用緩存目錄管理單元36維持緩存一致性的處理的示例。例如,緩存目錄管理單元36指示請求產(chǎn)生單元38發(fā)送指示已經(jīng)緩存了狀態(tài)被修改(M)的數(shù)據(jù)的CPU執(zhí)行回寫的命令。然后,緩存目錄管理單元36更新數(shù)據(jù)的狀態(tài)并且根據(jù)更新之后的狀態(tài)執(zhí)行處理。下面將描述由緩存目錄管理單元36發(fā)送或接收的請求和命令的類型。在從緩存目錄管理單元36獲取物理地址和CPWD的情況下,請求產(chǎn)生單元38產(chǎn)生存儲已經(jīng)獲取了物理地址和CPWD的包,換言之,作為存儲器訪問請求的包。然后,請求產(chǎn)生單元38將產(chǎn)生的包發(fā)送至路由器40。此處,圖1lB為例示根據(jù)第一實(shí)施例由CPU發(fā)送的包的圖。在圖1lB例示的示例中,用PA表示物理地址。在圖1lB例示的示例中,請求產(chǎn)生單元38產(chǎn)生存儲有CPHD、物理地址和表示請求的內(nèi)容的數(shù)據(jù)的請求,并將產(chǎn)生的請求輸出到路由器40。在這種情況下,路由器40將由請求產(chǎn)生單元38產(chǎn)生的請求通過XB連接單元27輸出到XB 2。然后,XB 2將請求發(fā)送到由請求中存儲的CPUID表示的CPU。在從緩存目錄管理單元36接收到用于發(fā)出用來維持一致性的請求或命令的指令的情況下,請求產(chǎn)生單元38根據(jù)指令產(chǎn)生請求或命令。然后,請求產(chǎn)生單元38根據(jù)指令通過路由器40、XB連接單元27和XB 2將已經(jīng)產(chǎn)生的請求或命令發(fā)送到CPU。另外,在從I/O裝置獲取數(shù)據(jù)的情況下,請求產(chǎn)生單元38將對于I/O的訪問請求輸出到路由器40?;剡^來參考圖7,當(dāng)通過XB 2、XB連接單元27和路由器40接收由另外的CPU輸出的包時(shí),請求接收單元39獲取包括在接收的包中的物理地址。然后,請求接收單元39將獲取的物理地址輸出到緩存目錄管理單元36。另外,在接收到從另外的CPU發(fā)送的數(shù)據(jù)的情況下,請求接收單元39將接收的數(shù)據(jù)輸出到緩存目錄管理單元36。另外,在接收到用于維持一致性的請求或命令的況下,請求接收單元39輸出已經(jīng)被接收到緩存目錄管理單元36中的請求或命令。此外,在從路由器40接收到I/O訪問請求的響應(yīng)或數(shù)據(jù)的情況下,請求接收單元39輸出已經(jīng)被接收到緩存目錄管理單元36中的響應(yīng)或數(shù)據(jù)。在這種情況下,緩存目錄管理單元36例如執(zhí)行將獲取的數(shù)據(jù)輸出到存儲器訪問單元41以存儲在存儲器22中的處理。在接收到由包括在包控制單元37中的請求產(chǎn)生單元38輸出的包的情況下,路由器40將接收的請求輸出到XB連接單元27。另外,路由器40通過XB連接單元27將由另外的CPU發(fā)送的包或數(shù)據(jù)輸出到請求接收單元39。此外,路由器40將由包控制單元37輸出到I/O等的包輸出到PCIe控制單元42。另外,在從PCIe控制單元42接收到從I/O發(fā)送的響應(yīng)等的情況下,路由器40輸出已經(jīng)接收到包控制單元37中的響應(yīng)等。存儲器訪問單元41為所謂的存儲器訪問控制器(MAC)并且控制對存儲器22的訪問。例如,在從緩存目錄管理單元36接收到物理地址的情況下,存儲器訪問單元41從存儲器22獲取在接收的物理地址處存儲的數(shù)據(jù),并且將獲取的數(shù)據(jù)輸出到緩存目錄管理單元36。存儲器訪問單元41可以通過使用存儲器監(jiān)控功能形成冗余的共享區(qū)域。在通過路由器40獲取I/O訪問請求的情況下,包括在PCIe控制單元42中的請求產(chǎn)生單元43產(chǎn)生將被發(fā)送到I/O裝置的作為訪問請求目標(biāo)的請求,并將產(chǎn)生的請求輸出到PCIe總線控制單元44。在獲取了由請求產(chǎn)生單元43產(chǎn)生的請求的情況下,PCIe總線控制單元44通過PCIe連接單元28將請求發(fā)送到I/O裝置。接下來,將參考圖12描述CPU 21將請求發(fā)送到另外的CPU的處理的示例。圖12為例示根據(jù)第一實(shí)施例的CPU發(fā)送請求的處理的示例的圖。例如,如圖12的(A)表示,將入口從服務(wù)處理器24設(shè)置到節(jié)點(diǎn)映射34,其中訪問被分配了物理地址的存儲器的CPU的CPUID和該物理地址彼此關(guān)聯(lián)。另外,算法單元31執(zhí)行算法處理,并且,如由圖12中的(B)表示的,將作為訪問目標(biāo)的邏輯地址輸出到地址轉(zhuǎn)換單元35。然后,地址轉(zhuǎn)換單元35將邏輯地址轉(zhuǎn)換成物理地址,并且將轉(zhuǎn)換的物理地址輸出到緩存目錄管理單元36,如由圖12中的(C)表示的。此處,當(dāng)從地址轉(zhuǎn)換單元35獲取了物理地址時(shí),如由圖12中的(D)表示的,緩存目錄管理單元36通過參考節(jié)點(diǎn)映射34獲取與獲取的物理地址關(guān)聯(lián)的CPWD。然后,在獲取的CPWD不是CPU 21的CPWD的情況下,如由圖12中的(E)表示的,緩存目錄管理單元36將獲取的CPHD和物理地址輸出到包控制單元37。即使在這種情況下,請求產(chǎn)生單元38產(chǎn)生存儲有從緩存目錄管理單元36獲取的物理地址和CPHD的包,并且如由圖12中的(F)表示的,將產(chǎn)生的包輸出到路由器40。然后,如圖12中的(G)表示的,路由器40將從請求產(chǎn)生單元38獲取的包輸出到XB連接單元27。之后,如由圖12中的(H)所表示的,XB連接單元27將獲取的包輸出到XB 2。然后,XB2將包傳送到由包中存儲的CPUID表示的CPU。接下來,將參考圖13描述當(dāng)CPU 21從另外的CPU接收包時(shí)執(zhí)行的處理的示例。圖13為例示根據(jù)第一實(shí)施例的CPU接收包時(shí)執(zhí)行的處理的示例的圖。例如,如由圖13中的(I)表示的,請求接收單元39從另外的CPU接收存儲有CPU 21的CPWD和被分配到存儲器22的物理地址的包。在這種情況下,請求接收單元39從接收的包獲取物理地址,并且如由圖13中的(J)表示的,將獲取的物理地址輸出到緩存目錄管理單元36。然后,緩存目錄管理單元36確定獲取的物理地的位46為“O”還是“ I”。換言之,在如圖3和圖4例示的信息處理系統(tǒng)I設(shè)置被分配到共享區(qū)域和本地區(qū)域的物理地址的情況下,緩存目錄管理單元36不需要識別物理地址的所有位。換言之,通過使用緩存目錄管理單元36確定位46為“O”還是“1”,能夠準(zhǔn)確地確定由物理地址表示的存儲區(qū)為共享區(qū)域還是本地區(qū)域。在接收的物理地址的位46為“I”的情況下,緩存目錄管理單元36確定訪問共享區(qū)域。在這種情況下,如由圖13中的(K)表示的,緩存目錄管理單元36確定存儲在由物理地址表示的存儲區(qū)中的數(shù)據(jù)是否被緩存在LI緩存32和L2緩存33中。另外,在確定數(shù)據(jù)還沒有被緩存的情況下,如由圖13中的(L)表示的,緩存目錄管理單元36將物理地址輸出到存儲器訪問單元41。然后,如由圖13中的(M)表示的,存儲器訪問單元41從存儲器22獲取存儲在由物理地址表示的存儲區(qū)中的數(shù)據(jù),并將獲取數(shù)據(jù)輸出到緩存目錄管理單元36。然后,在從LI緩存32、L2緩存33或存儲器訪問單元41獲取數(shù)據(jù)的情況下,緩存目錄管理單元36將獲取的數(shù)據(jù)輸出到包控制單元37,并且指示包控制單元37將獲取的數(shù)據(jù)發(fā)送到作為請求源的CPU。例如,CPU 21至21c、通信單元23、服務(wù)處理器24、控制單元25、通信單元26、XB連接單元27以及PCIe連接單元28為電子電路。另外,算法單元31、地址轉(zhuǎn)換單元35、緩存目錄管理單元36、包控制單元37、請求產(chǎn)生單元38以及請求接收單元39為電子電路。此外,路由器40、存儲器訪問單元41、PCIe控制單元42、請求產(chǎn)生單元43以及PCIe總線控制單元44為電子電路。此處,使用諸如專用集成電路(ASIC)或現(xiàn)場可編程門陣列(FPGA)、中央處理單元(CPU)或微處理單元(MPU)等的集成電路作為電子電路的示例。另外,存儲器22至22a為諸如隨機(jī)訪問存儲器(RAM)、只讀存儲器(ROM),快擦寫存儲器等的半導(dǎo)體存儲器裝置。此外,LI緩存32和L2緩存33為諸如靜態(tài)隨機(jī)訪問存儲器(SRAM)的高速半導(dǎo)體存儲器裝置。接下來,將簡要描述使用CPU 21至21c維持緩存一致性的處理。在下面呈現(xiàn)的描述中,假設(shè)信息處理系統(tǒng)I的每個(gè)CPU通過使用Illinois協(xié)議維持緩存一致性。另外,在下面呈現(xiàn)的描述中,假設(shè)包括在信息處理系統(tǒng)I中的每個(gè)存儲器可被所有CPU識別為具有可緩存空間的存儲器。此外,在下面呈現(xiàn)的描述中,通過設(shè)置在CPU內(nèi)部的MAC物理地直接連接到存儲作為訪問的目標(biāo)的數(shù)據(jù)的存儲器的CPU稱作主CPU,而請求訪問的CPU稱作本地CPU。此外,已經(jīng)向主CPU發(fā)送了請求并且已經(jīng)完成了的緩存數(shù)據(jù)的CPU稱作遠(yuǎn)程CPU。另外,存在本地CPU和主CPU為同一 CPU的情況,并且存在本地CPU和遠(yuǎn)程CPU為同一 CPU的情況。例如,本地CPU通過參考其節(jié)點(diǎn)映射確定作為訪問目標(biāo)的物理地址被分配到主(PU訪問的存儲器。然后,本地CPU發(fā)出將物理地址存儲到主CPU的請求。另外,存在多個(gè)類型的請求作為由本地CPU發(fā)出的請求。相應(yīng)地,包括在主CPU中的緩存目錄管理單元根據(jù)獲取的請求類型執(zhí)行緩存一致性控制處理。例如,作為由本地CPU發(fā)出的請求的類型,存在共享類型的取出訪問、排它類型取出訪問、緩存無效請求、緩存替換請求等。共享類型取出訪問為用于執(zhí)行“移入共享”的請求,并且為從由主CPU訪問的存儲器讀取出數(shù)據(jù)時(shí)發(fā)出的請求。另外,排它類型取出訪問例如為用于執(zhí)行“排它地移入”的請求,并且在由主CPU訪問的存儲器中存儲數(shù)據(jù)時(shí)將數(shù)據(jù)加載到緩存時(shí)發(fā)出。緩存無效請求例如為用于執(zhí)行“移出”的請求,并且在對主CPU作出無效緩存行的請求時(shí)發(fā)出。當(dāng)接收到緩存無效請求時(shí),存在主CPU向遠(yuǎn)程CPU發(fā)出緩存無效請求的情況,或主CPU發(fā)出用于無效緩存的命令的情況。緩存替換請求例如為用于執(zhí)行“回寫”的請求,并且在更新緩存數(shù)據(jù)時(shí)發(fā)出,換言之,處于修改狀態(tài)的緩存數(shù)據(jù)被重寫回由主CPU訪問的存儲器。另外,緩存替換請求例如為用于執(zhí)行“回刷(FlushBack)”的請求并且在緩存還沒有更新的數(shù)據(jù)時(shí),換言之,在丟棄了處于共享或排它狀態(tài)的緩存時(shí)發(fā)出。在從本地CPU接收到上述請求的情況下,為了處理請求,主CPU向本地CPU或遠(yuǎn)程CPU發(fā)出命令。此處,為了根據(jù)獲取請求的類型執(zhí)行緩存一致性控制處理,主CPU發(fā)出多個(gè)類型的命令。例如,主CPU發(fā)出“移出和旁通至共享(MoveOut and Bypass to Share)”,以將通過遠(yuǎn)程CPU緩存的數(shù)據(jù)加載至本地CPU。另外,例如,主CPU無效除了本地CPU之外的所有遠(yuǎn)程CPU的緩存,并且之后主CPU發(fā)出“排它地移出和旁通(MoveOutand Bypass Exclusively)”,以將數(shù)據(jù)發(fā)送至本地CPU。此外,主CPU發(fā)出請求遠(yuǎn)程CPU無效緩存的“無效移出(MoveOut WITH Invalidation)”。在主CPU發(fā)出“無效移出”的情況下,所有CPU的緩存對于目標(biāo)地址處于無效狀態(tài)。另外,主CPU發(fā)出請求遠(yuǎn)程CPU無效緩存行的“刷新移出(MoveOut for Flush)”。在主CPU發(fā)出“刷新移出”的情況下,形成僅由主CPU緩存目標(biāo)數(shù)據(jù)的狀態(tài)。此外,在目標(biāo)數(shù)據(jù)的狀態(tài)為“共享”的情況下,主CPU發(fā)出請求遠(yuǎn)程CPU丟棄緩存的“緩沖無效(BufferInvalidation),,。主CPU通過根據(jù)請求的類型發(fā)出上述命令來發(fā)送由每個(gè)CPU緩存的數(shù)據(jù)的狀態(tài)。另外,在接收到命令的情況下,本地CPU或遠(yuǎn)程CPU執(zhí)行由命令表示的處理并且發(fā)送由此緩存的數(shù)據(jù)的狀態(tài)。之后,本地CPU或遠(yuǎn)程CPU向主CPU發(fā)送命令完成的響應(yīng)或者數(shù)據(jù)的增加完成的響應(yīng)。另外,在執(zhí)行命令處理之后,主CPU或遠(yuǎn)程CPU向本地CPU發(fā)送請求數(shù)據(jù)的增加的響應(yīng)。CPU的處理流稈接下來,將參考圖14描述用于設(shè)置包括在信息處理系統(tǒng)I中的每個(gè)CPU中的節(jié)點(diǎn)映射34的處理的流程。圖14為例示節(jié)點(diǎn)映射設(shè)置處理的流程的流程圖。在下面呈現(xiàn)的描述中,將一個(gè)CPU和由CPU訪問的存儲器的組稱作節(jié)點(diǎn)。另外,在下面呈現(xiàn)的描述中,將描述新節(jié)點(diǎn)增加到信息處理系統(tǒng)I中的示例。第一,在步驟SlOl中,信息處理系統(tǒng)I的操作器增加新的節(jié)點(diǎn)。接下來,在S102中,構(gòu)建塊10至IOe的服務(wù)處理器讀取增加的節(jié)點(diǎn)的硬件配置。接下來,在步驟S103中,信息處理系統(tǒng)I的操作器指示服務(wù)處理器分配包括在新節(jié)點(diǎn)的存儲器中的共享區(qū)域。接下來,在步驟S104中,信息處理系統(tǒng)I的操作器指示新節(jié)點(diǎn)的服務(wù)處理器輸入電源。然后,在步驟S105中,構(gòu)建塊10至IOe的服務(wù)處理器基于讀取的配置的信息使用I2C設(shè)置包括在構(gòu)建塊10至IOe中的CPU的節(jié)點(diǎn)映射34。之后,在步驟S106中,信息處理系統(tǒng)I向構(gòu)建塊10至IOe輸入電源并且結(jié)束處理。接下來,將參考圖15描述使用信息處理系統(tǒng)I控制共享區(qū)域的處理的流程。圖15為例示共享區(qū)域控制處理的流程的流程圖。首先,在步驟S201中,信息處理系統(tǒng)I根據(jù)來自應(yīng)用程序的請求執(zhí)行分配節(jié)點(diǎn)之間的共享存儲器的處理。接下來,在步驟S202中,信息處理系統(tǒng)I執(zhí)行附接共享節(jié)點(diǎn)之間共享的共享存儲器的處理。之后,在步驟S203中,由包括在信息處理系統(tǒng)I中的CPU執(zhí)行的應(yīng)用程序使用存儲器。接下來,在步驟S204中,信息處理系統(tǒng)I執(zhí)行共享存儲器的分開處理。之后,在步驟S205中,信息處理系統(tǒng)I執(zhí)行共享存儲器釋放處理并結(jié)束處理。另外,可以僅由共享存儲器的主節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序執(zhí)行步驟S201和S205的處理,或者,當(dāng)實(shí)際上什么也沒有執(zhí)行時(shí),也可以執(zhí)行在除了共享存儲器的主節(jié)點(diǎn)之外的其它節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序。接下來,將參考圖16描述在圖15的步驟S201中表示的共享存儲器分配處理的流程。圖16為例示共享存儲器分配處理的流程圖。在圖16例示的示例中,例如,在步驟S301中,由CPU 21執(zhí)行的應(yīng)用程序請求OS執(zhí)行在節(jié)點(diǎn)之間分配共享存儲器的處理。然后,在步驟S302中,由CPU 21執(zhí)行的OS從用于共享區(qū)域的物理地址區(qū)中分配具有請求的大小的存儲器。接下來,在步驟S303中,OS將由OS分配的共享存儲器的管理ID傳送至應(yīng)用程序并且結(jié)束共享存儲器的分配處理。接下來,將參考圖17描述在圖15中的步驟S202例示的在節(jié)點(diǎn)之間附接共享存儲器的處理的流程。圖17為例示共享存儲器附接處理的流程圖。首先,在步驟S401中,應(yīng)用程序?qū)⒐芾鞩D傳送至OS并請求在節(jié)點(diǎn)之間附接共享存儲器的處理。在這種情況下,在步驟S402中,OS與在其它節(jié)點(diǎn)處執(zhí)行的操作系統(tǒng)進(jìn)行通信,并且獲取對應(yīng)于管理ID的物理地址。此處,在OS與在其它節(jié)點(diǎn)處執(zhí)行的操作系統(tǒng)通信的情況下,使用通過局域網(wǎng)(LAN)等的通信、通過服務(wù)處理器24在節(jié)點(diǎn)之間的通信等。例如,可以被配置為使得在每個(gè)節(jié)點(diǎn)執(zhí)行的OS將特定共享區(qū)域設(shè)置為用于節(jié)點(diǎn)之間進(jìn)行通信的區(qū)域,并且通過在或從設(shè)置區(qū)域中存儲或讀取信息執(zhí)行通信。接下來,在步驟S403中,OS確定對應(yīng)于物理地址的邏輯地址(虛擬地址)并執(zhí)行其分配。例如,由CPU 21執(zhí)行的OS通過使用地址轉(zhuǎn)換單元35設(shè)置物理地址和邏輯地址的TLB。另外,由CPU 21至21c使用的邏輯地址可以對于每個(gè)CPU處于交疊的范圍內(nèi)或者可以處于相互的不同范圍。此外,可以由OS中的應(yīng)用程序指定由CPU 21至21c使用的邏輯地址。之后,在步驟S404中,OS將邏輯地址的值傳送給應(yīng)用程序并結(jié)束處理。接下來,將參考圖18描述在圖15的步驟S203中例示的用于在節(jié)點(diǎn)之間使用共享存儲器的應(yīng)用程序的處理的流程。圖18為例示使用共享存儲器的應(yīng)用程序的處理的流程圖。例如,在步驟S501中,由CPU 21執(zhí)行的應(yīng)用程序發(fā)出邏輯地址并且訪問由該邏輯地址表不的存儲區(qū)。然后,在步驟S502中,CPU 21確定是否發(fā)生了 TLB失誤。在發(fā)生TLB失誤的情況下(在步驟S502中為是),在步驟S503中,CPU 21執(zhí)行陷入處置(trap handling)處理并且設(shè)置TLB中的一組邏輯地址和物理地址的入口。接下來,在步驟S504中,應(yīng)用程序再次發(fā)出邏輯地址,并且通過使用TLB將邏輯地址轉(zhuǎn)換成物理地址而正常地訪問共享存儲器。另一方面,在沒有發(fā)生TLB失誤的情況下(在步驟S502中為否),在步驟S505中正常地執(zhí)行對共享存儲器的訪問,并且處理結(jié)束。接下來,將參考圖19描述在圖15的步驟S204中例示的分開節(jié)點(diǎn)之間的共享存儲器的處理的流程。圖19為例示分開節(jié)點(diǎn)之間的共享存儲器的處理的流程圖。例如,在步驟S601中,由CPU 21執(zhí)行的應(yīng)用程序請求OS利用節(jié)點(diǎn)之間的共享存儲器的邏輯地址或指定的管理ID執(zhí)行分開處理。然后,在步驟S602中,由CPU 21執(zhí)行的OS刷新緩存。換言之,在釋放共享存儲器的分配之后再次分配為共享存儲器的情況下,在共享存儲器的主節(jié)點(diǎn)上的CPU重新啟動(dòng)而不進(jìn)行共享存儲器的分配的情況下,關(guān)系到緩存和實(shí)際的存儲器狀態(tài)彼此不相匹配的問題。相應(yīng)地,OS刷新緩存,從而防止緩存和實(shí)際的存儲器狀態(tài)彼此不相匹配的狀態(tài)。然后,在步驟S603中,OS釋放節(jié)點(diǎn)之間的共享存儲器的分配,換言之,由應(yīng)用程序使用的范圍內(nèi)的邏輯地址的分配并且去除與釋放的邏輯地址相關(guān)的TLB的入口。另外,在步驟S604中,OS執(zhí)行節(jié)點(diǎn)之間的通信,從而通知應(yīng)用程序已經(jīng)完成了目標(biāo)PA的使用。然后,在步驟S605中,在主節(jié)點(diǎn)識別出最后的用戶分開已經(jīng)通過節(jié)點(diǎn)之間的通信釋放共享存儲器的情況下,OS釋放用于指定的共享存儲器的存儲器分配。另外,步驟S605的處理涉及圖20中例示的步驟S702的處理。在步驟S603之后,即使對于在節(jié)點(diǎn)處已經(jīng)分開的存儲器地址發(fā)生TLB失誤的情況下(在步驟S502中為是),OS也不會設(shè)置對應(yīng)于在TLB中已經(jīng)釋放的邏輯地址的物理地址。在這種情況下,步驟S504的處理不會正常結(jié)束,而是發(fā)生訪問錯(cuò)誤。另外,在完成分開之后,與步驟S402相反,OS執(zhí)行節(jié)點(diǎn)之間的通信,從而通知應(yīng)用程序已經(jīng)完成了對共享存儲器的PA的訪問。在主節(jié)點(diǎn)處已經(jīng)釋放了共享存儲器的狀態(tài)下應(yīng)用程序?qū)?yīng)于共享存儲器的最后用戶的情況下,請求主節(jié)點(diǎn)執(zhí)行釋放處理。接下來,將參考圖20描述圖15中的步驟S205中表示的釋放節(jié)點(diǎn)之間的共享存儲器的處理的流程。圖20為例示釋放節(jié)點(diǎn)之間的共享存儲器的處理的流程圖。例如,在步驟S701中,由CPU 21執(zhí)行的應(yīng)用程序請求OS執(zhí)行釋放節(jié)點(diǎn)之間的共享存儲器的處理。然后,在分開指定共享區(qū)域的所有用戶的情況下,在步驟S702中,OS釋放分配并結(jié)束處理。在還沒有完成分開的情況下,在不執(zhí)行分配釋放處理的情況下處理結(jié)束。在步驟S605中,執(zhí)行完成分配的實(shí)際處理。接下來,將參考圖21描述CPU 21向其它CPU發(fā)送存儲器訪問請求的處理的流程。圖21為例示請求發(fā)出處理的流程的流程圖。例如,在步驟S801中,CPU 21的算法單元發(fā)出邏輯地址。然后,在步驟S802中,地址轉(zhuǎn)換單元35將邏輯地址轉(zhuǎn)換成物理地址。接下來,步驟S803中,緩存目錄管理單元36獲取物理地址并且管理緩存目錄。換言之,緩存目錄管理單元36發(fā)送由獲取的物理地址表示的存儲區(qū)的緩存狀態(tài)。接下來,在步驟S804中,緩存目錄管理單元36通過參考節(jié)點(diǎn)映射34確定獲取的物理地址是否為被分配到任何其它節(jié)點(diǎn)的物理地址。在步驟S805中,在確定獲取物理地址不是被分配到位于任何其它節(jié)點(diǎn)處的存儲器的物理地址的情況下(在步驟S804中為否),緩存目錄管理單元36利用獲取物理地址執(zhí)行存儲器訪問。另一方面,在步驟S806中,在獲取的物理地址為被分配到位于任意其它節(jié)點(diǎn)的存儲器的物理地址的情況下(在步驟S804中為是),緩存目錄管理單元36從節(jié)點(diǎn)映射34獲取與物理地址關(guān)聯(lián)的CPHD。然后,在步驟S807中,包發(fā)送單元產(chǎn)生存儲有CPHD和物理地址的包(換言之,存儲器訪問請求),將存儲器訪問請求發(fā)送至XB 2并結(jié)束處理。接下來,將參考圖22描述當(dāng)CPU 21從任意其它CPU的接收存儲器訪問請求時(shí)執(zhí)行的處理的流程。圖22為例示當(dāng)接收到請求時(shí)執(zhí)行的處理的流程的流程圖。在圖22例示的示例中,將描述當(dāng)CPU 21從任意其它CPU接收到“移入共享”或“排它移入”時(shí)執(zhí)行的處理的流程。例如,在步驟S901中,CPU 21通過XB 2從任意其它CPU接收請求。在這種情況下,在步驟S902中,CPU 21確定作為請求的目標(biāo)的物理地址的預(yù)定位是否為“ I ”,從而確定作為請求的目標(biāo)的物理地址是否對應(yīng)于本地區(qū)域。在確定作為請求的目標(biāo)的物理地址對應(yīng)于本地區(qū)域的情況下(在步驟902中為是),在步驟S903中,CPU 21向作為請求源的CPU發(fā)回否定響應(yīng)并結(jié)束處理。另一方面,在作為請求的目標(biāo)的物理地址不對應(yīng)于本地區(qū)域的情況下(在步驟S902中為否),在步驟S904中,CPU 21管理緩存目錄以維持一致性。另外,在步驟S905中,CPU 21確定由物理地址表示的存儲區(qū)的狀態(tài)。然后,在步驟S906中,CPU 21根據(jù)確定的狀態(tài)向其它的CPU發(fā)出命令并且在步驟S907中發(fā)送該狀態(tài)。之后,在步驟S908中,CPU 21向請求源的CPU發(fā)送存儲在由物理地址表示的存儲區(qū)中的數(shù)據(jù)作為響應(yīng),并結(jié)束處理。接下來,將參考圖23描述當(dāng)CPU 21接收響應(yīng)時(shí)執(zhí)行的處理的流程。圖23為例示當(dāng)CPU接收響應(yīng)時(shí)執(zhí)行的處理的流程的流程圖。例如,在步驟S1001中,CPU 21接收響應(yīng)。在這種情況下,在步驟S1002中,CPU21確定響應(yīng)的內(nèi)容是否正常。在響應(yīng)內(nèi)容正常的情況下,換言之,在接收到作為請求的目標(biāo)的數(shù)據(jù)的情況下(在步驟S1002中為是),在步驟S1003中,CPU 21使用數(shù)據(jù)執(zhí)行正常的處理并結(jié)束處理。另一方面,在接收到否定響應(yīng)的情況下(在步驟S1002中為否),在步驟S1004重,CPU 21確定否定響應(yīng)的原因是否為訪問錯(cuò)誤。在否定響應(yīng)的原因不是訪問錯(cuò)誤的情況下(在步驟S1004中為否),在步驟S1005中,CPU 21執(zhí)行正常的錯(cuò)誤處置并結(jié)束處理。另一方面,在否定響應(yīng)的原因是訪問錯(cuò)誤的情況下(在步驟S1004為是),在步驟S1006中,CPU 21在錯(cuò)誤注冊器中設(shè)置發(fā)生錯(cuò)誤處的物理地址,執(zhí)行陷入處理并結(jié)束處理。第一實(shí)施例的優(yōu)點(diǎn)如上所述,信息處理系統(tǒng)I包括CPU 21至21c、存儲器22至22c,以及將CPU 21至21c彼此連接的XB 2。另外,CPU 21包括用于邏輯地址和物理地址之間的轉(zhuǎn)換的地址轉(zhuǎn)換單元,以及用于物理地址和CPUID之間的轉(zhuǎn)換的節(jié)點(diǎn)映射34。CPU 21發(fā)送包括物理地址和CPWD的請求包。另外,在從另外的CPU接收到請求包的情況下,CPU 21基于存儲在接收包中的物理地址確定作為訪問目標(biāo)的存儲區(qū)為共享區(qū)域還是本地區(qū)域。這樣,信息處理系統(tǒng)I能夠使用少量的硬件有效地訪問節(jié)點(diǎn)之間的共享存儲器。換言之,在信息處理系統(tǒng)I中,由于CPU 21利用用于執(zhí)行物理地址和CPHD之間的轉(zhuǎn)換的節(jié)點(diǎn)映射34執(zhí)行地址轉(zhuǎn)換,因此能夠有效地執(zhí)行存儲器的訪問。另外,在CPU 21訪問由另外的CPU訪問的存儲器的共享區(qū)域的情況下,CPU 21可以向XB 2發(fā)送僅存儲物理地址和CPWD的包。相應(yīng)地,信息處理系統(tǒng)I能夠有效地執(zhí)行存儲器訪問。此外,在CPU 21從另外的CPU接收到請求包的情況下,信息處理系統(tǒng)I基于存儲在接收包中的物理地址確定作為訪問目標(biāo)的存儲區(qū)為共享區(qū)域還是本地區(qū)域。相應(yīng)地,信息處理系統(tǒng)I能夠維持存儲在本地區(qū)域中的內(nèi)核數(shù)據(jù)和用戶數(shù)據(jù)的安全級別較高。另外,由于信息處理系統(tǒng)I將所有的存儲器配置為可緩存,能夠容易地掩蓋存儲器訪問的延遲時(shí)間。CPU 21使用類似于用來訪問存儲器22的方法訪問由另外的CPU訪問的存儲器的共享區(qū)域。換言之,即使在作為訪問目標(biāo)的存儲區(qū)存在于存儲器22或另外的存儲器中的情況下,包括在CPU 21中的算法單元31也可以僅輸出邏輯地址。相應(yīng)地,即使在不執(zhí)行排它地控制I/O等的處理和程序等的情況下,信息處理系統(tǒng)I也能夠容易地訪問共享區(qū)域,相應(yīng)地,能夠改進(jìn)存儲器訪問的執(zhí)行。另外,即使在不修改所執(zhí)行的程序或OS的情況下,CPU 21也能夠適當(dāng)?shù)厥褂霉蚕泶鎯ζ鳎谑?,能夠類似于通常的情況執(zhí)行預(yù)取處理,從而能夠改進(jìn)存儲器訪問的性能。另外,信息處理系統(tǒng)I向共享區(qū)域分配預(yù)定位為“I”的物理地址,并且向本地區(qū)域分配預(yù)定位為“O”的物理地址。相應(yīng)地,僅通過確定物理地址的預(yù)定的一個(gè)位是否為“1”,CPU 21能夠容易地確定作為訪問目標(biāo)的物理地址是否為共享區(qū)域的物理地址。于是,信息處理系統(tǒng)I能夠執(zhí)行有效的存儲器訪問。另一方面,在來自另外的CPU的存儲器訪問目標(biāo)被確定為對本地區(qū)域的訪問的情況下,CPU 21發(fā)回否定響應(yīng)。相應(yīng)地,信息處理系統(tǒng)I防止對除了共享區(qū)域之外的區(qū)域的訪問,從而能夠防止錯(cuò)誤。另外,緩存目錄管理單元36使用節(jié)點(diǎn)映射34將物理地址轉(zhuǎn)換成與物理地址關(guān)聯(lián)地存儲在節(jié)點(diǎn)映射34中的CPWD。因此,CPU 21能夠識別訪問分配有作為訪問目標(biāo)的物理地址的存儲器的CPU。此外,構(gòu)建塊10至IOe中的每一個(gè)包括重寫節(jié)點(diǎn)映射34的服務(wù)處理器。相應(yīng)地,信息處理系統(tǒng)I能夠自由地向存儲器22至22c中的每個(gè)存儲器分配本地區(qū)域和共享區(qū)域。例如,在存儲器22具有4TB容量的情況下,信息處理系統(tǒng)I能夠?qū)⒕哂腥我馊萘康拇鎯^(qū)配置為在節(jié)點(diǎn)之間共享,比如將ITB分配到本地區(qū)域,將3TB分配到共享區(qū)域的情況。此外,即使在增加新的CPU和新的存儲器的情況下,或者去除CPU或存儲器的情況下,信息處理系統(tǒng)I也能夠通過服務(wù)處理器以容易的方式分配本地區(qū)域和共享區(qū)域。此外,CPU 21通過使用目錄控制緩存一致性,所述目錄管理對存儲在存儲器22中的數(shù)據(jù)進(jìn)行緩存的CPU。因此,即使在包括在信息處理系統(tǒng)I中的CPU的數(shù)量增加的情況下,信息處理系統(tǒng)I能夠在不增加XB 2的吞吐量的情況下高效地維持緩存一致性。更具體地,在信息處理系統(tǒng)I中,CPU之間的通信被限定為遠(yuǎn)程CPU和主CPU之間的通信,或者遠(yuǎn)程CPU、主CPU以及緩存更新的數(shù)據(jù)的本地CPU之間的通信。因此,信息處理系統(tǒng)I能夠高效地維持緩存一致性。另外,在發(fā)生緩存失誤的情況下,CPU 21確定發(fā)生緩存失誤處的物理地址是否為被分配到由另外的CPU訪問的存儲器的物理地址。在確定發(fā)生緩存失誤處的物理地址為被分配到由另外的CPU訪問的存儲器的物理地址的情況下,CPU 21將物理地址轉(zhuǎn)換成CPnD,產(chǎn)生存儲有物理地址和CPWD的包,并發(fā)送產(chǎn)生的包。因此,CPU 21能夠在不執(zhí)行多余的地址轉(zhuǎn)換處理的情況下訪問存儲器。此外,在執(zhí)行的應(yīng)用程序請求獲取共享區(qū)域的情況下,CPU 21設(shè)置用來執(zhí)行由應(yīng)用程序使用的邏輯地址和被分配到共享區(qū)域的物理地址之間的轉(zhuǎn)換的TLB。因此,考慮對共享區(qū)域或者本地區(qū)域的訪問,CPU 21能夠在不修改執(zhí)行的應(yīng)用程序或OS的情況下訪問存儲器?!竍l第二實(shí)施例直到目前,盡管已經(jīng)描述了本發(fā)明的實(shí)施例,但是可以以多種形式執(zhí)行除了上述實(shí)施例之外的實(shí)施例。因此,下文中,將屬于本發(fā)明的另外的實(shí)施例描述為第二實(shí)施例。(I)構(gòu)律塊上述信息處理系統(tǒng)I包括各自具有4個(gè)CPU的構(gòu)建塊10至IOe0然而,實(shí)施例不限于此,構(gòu)建塊10至IOe中的每個(gè)構(gòu)建塊可以具有任意數(shù)量的CPU和由每個(gè)CPU訪問的存儲器。另外,CPU和存儲器不需要一一對應(yīng),直接訪問存儲器的CPU可以為所有CPU的一部分。(2)共享區(qū)域和本地區(qū)域的分配
上面描述的向共享區(qū)域和本地區(qū)域的物理地址的分配僅為示例,信息處理系統(tǒng)I可以向每個(gè)區(qū)域分配任意的物理地址。例如,信息處理系統(tǒng)I可以將最低有效位為“O”的物理地址分配到共享區(qū)域,并且將最低有效位為“I”的物理地址分配到本地區(qū)域。在這種情況下,通過確定物理地址的最低有效位為“O”還是“1”,每個(gè)CPU能夠容易地確定訪問目標(biāo)是否為共享區(qū)域。另外,信息處理系統(tǒng)I可以將包括在第一半物理地址空間中的任意物理地址分配到共享區(qū)域,并且將包括在第二半物理地址空間中的任意物理地址分配到本地區(qū)域。在這種情況下,每個(gè)CPU能夠通過確定物理地址的最高的一位為“O”還是“ I ”容易地確定訪問目標(biāo)是否為共享區(qū)域。此外,信息處理系統(tǒng)I可以將包括在第一半物理地址空間中的任意物理地址分配到本地區(qū)域,并且將包括在第二半物理地址空間中的任意物理地址分配到共享區(qū)域。換言之,盡管信息處理系統(tǒng)I可以向共享區(qū)域和本地區(qū)域分配任意物理地址,通過將預(yù)定位具有相同的值的物理地址分配到共享區(qū)域,而將預(yù)定位具有不同于共享區(qū)域的值的物理地址分配到本地區(qū)域,仍能夠容易地確定訪問目標(biāo)為共享區(qū)域還是本地區(qū)域。(3)由CPU發(fā)送的包上述CPU 21發(fā)送作為存儲器訪問請求的包括CPWD和PA的包。然而,實(shí)施例不限于此。換言之,CPU 21可以輸出存儲任意信息的包,只要能夠唯一地識別訪問作為訪問目標(biāo)的存儲器的CPU即可。另外,例如,CPU 21能夠?qū)PUID轉(zhuǎn)換成虛擬連接(VC)ID并存儲VCID。此外,CPU21可以存儲諸如表示包中的數(shù)據(jù)長度的長度的信息。(4)由CPU發(fā)出的命今如上所述,CPU 21至21c中的每個(gè)CPU通過發(fā)出請求或命令維持緩存一致性。然而,上述請求或命令僅為示例,例如,CPU 21至21c可以發(fā)出比較并交換(CAS)命令。如上所述,在CPU 21至21c發(fā)出CAS命令的情況下,即使當(dāng)在多個(gè)CPU之間頻繁發(fā)生排它控制競爭時(shí),仍能在每個(gè)CPU的緩存中執(zhí)行每個(gè)處理。于是,CPU 21至21c能夠防止由于發(fā)生存儲器訪問造成的延遲,并且能夠防止CPU之間的業(yè)務(wù)擁塞。(5)通討管理稈序的控制在上述信息處理系統(tǒng)I中,已經(jīng)描述了由OS進(jìn)行對作為硬件的地址轉(zhuǎn)換單元35的訪問的示例。然而,實(shí)施例不局限于此,例如,操作虛擬機(jī)的管理程序(HPV)也可訪問地址轉(zhuǎn)換單元35。換言之,在HPV操作的節(jié)點(diǎn)處,OS不會直接操作CPU 21至21c的諸如緩存或MMU的硬件資源,而是請求管理程序來操作。如上所述,在通過管理程序接受控制的情況下,CPU21至21c中的每個(gè)CPU將虛擬地址轉(zhuǎn)換成實(shí)際地址(RA),之后,再將實(shí)際地址轉(zhuǎn)換成物理地址。另外,在HPV操作的節(jié)點(diǎn)處,中斷處理不會直接中斷OS而是中斷HPV。在這種情況下,HPV讀取OS的中斷處理處置器(hander)并執(zhí)行中斷。另外,由上述HPV執(zhí)行的處理為用于操作虛擬機(jī)執(zhí)行的公知處理。(6)俥用分區(qū)的處理在上述信息處理系統(tǒng)I中,CPU 21至21c中的每個(gè)CPU通過使用一個(gè)節(jié)點(diǎn)映射發(fā)送存儲器訪問。然而,實(shí)施例不局限于此。例如,可以配置為使得構(gòu)建塊10至IOe作為多個(gè)節(jié)點(diǎn)組操作,并且為每個(gè)節(jié)點(diǎn)組配置一個(gè)操作相同固件(管理程序)的邏輯分區(qū)。在這種情況下,CPU 21至21c中的每個(gè)CPU具有表示訪問目的地的CPU的節(jié)點(diǎn)映射和表示相同邏輯分區(qū)內(nèi)的CPU的節(jié)點(diǎn)映射。如上所述,由于CPU 21至21c中的每個(gè)CPU具有表示包括在相同的邏輯分區(qū)內(nèi)的CPU的節(jié)點(diǎn)映射,因此CPUs能夠識別不會超出邏輯分區(qū)發(fā)送的特定包的發(fā)送范圍,諸如發(fā)生錯(cuò)誤的通知,停機(jī)請求,以及重置請求包。下文中,將描述具有表示包括在相同的邏輯分區(qū)中的CPU的節(jié)點(diǎn)映射的CPU。圖24為例示根據(jù)第二實(shí)施例的信息處理系統(tǒng)的圖。如圖24例示的,構(gòu)建塊10和IOa操作邏輯分區(qū)#A,構(gòu)建塊IOb至IOd操作邏輯分區(qū)#B。此處,在邏輯分區(qū)#A中,多個(gè)域#A至#C以及固件#A操作。另外,在邏輯分區(qū)#B中,多個(gè)域#0至#6以及固件#8操作。此處,固件#A和固件#B例如為管理程序。另外,在域M中,應(yīng)用程序和OS操作,并且,在其它域#B至#G中的每個(gè)域中,類似于域#A,應(yīng)用程序和OS操作。換言之,域#A至#G為其中應(yīng)用程序和OS分別獨(dú)立操作的虛擬機(jī)。此處,在包括在構(gòu)建塊10中的CPU 21至21c可以向包括在分區(qū)#A中的CPU發(fā)送上述特定包的同時(shí),CPU21至21c不會向包括在分區(qū)#B中的CPU發(fā)送特定包。相應(yīng)地,構(gòu)建塊10至IOd中的每個(gè)的CPU具有表示包括在相同的邏輯分區(qū)中的CPU的CPHD的節(jié)點(diǎn)映射。例如,CPU 21具有這樣的節(jié)點(diǎn)映射34,其中物理地址和連接到包括由物理地址表示的存儲區(qū)的存儲器的CPU的CPWD彼此關(guān)聯(lián)地存儲。另外,CPU 21具有這樣的節(jié)點(diǎn)映射34,其中存儲有包括在與CPU 21的分區(qū)相同的分區(qū)(也即是說,分區(qū)#A)中的CPU的CPWD。類似于節(jié)點(diǎn)映射34,假設(shè)由服務(wù)處理器24設(shè)置節(jié)點(diǎn)映射34a。下文中,將參考附圖描述表示包括在相同的邏輯分區(qū)中的CPU的CPWD的節(jié)點(diǎn)映射的示例。圖25為例示分區(qū)的示例的圖。例如,在圖25例示的示例中,分區(qū)#八包括構(gòu)建塊#0。另外,在構(gòu)建塊#0中,CPU#0和地址區(qū)“#0”具有分配的存儲器。另外,分區(qū)#B包括構(gòu)建塊#1和#2。此處,在構(gòu)建塊#1中,CPU#4、CPU#5和地址區(qū)“#1”具有多個(gè)分配的存儲器,且地址區(qū)“#2”具有一個(gè)被分配的存儲器。另外,由CPU#4訪問地址區(qū)“#1”的分配的存儲器,并且由CPU#5訪問地址區(qū)“#2”的分配的存儲器。此外,在構(gòu)建塊#2中,CPU#8和地址區(qū)“#3”具有多個(gè)被分配的存儲器。接下來,將參考圖26A至圖26C描述圖25中例示的包括在CPU#0中的節(jié)點(diǎn)映射和包括在CPU#4中的節(jié)點(diǎn)映射。首先,將參考圖26A和圖26B描述由分區(qū)#A的CPU存儲的節(jié)點(diǎn)映射。圖26A為例示由分區(qū)#A的CPU存儲的節(jié)點(diǎn)映射的示例的圖。圖26B為例示表示分區(qū)#A的節(jié)點(diǎn)映射的示例的圖。在下面呈現(xiàn)的描述中,節(jié)點(diǎn)ID “O”表示構(gòu)建塊#0,節(jié)點(diǎn)ID “I”表示構(gòu)建塊#1,節(jié)點(diǎn) ID “2” 表示構(gòu)建塊 #2。另外,CPUID “O” 為 CPU#0 的 CPUID, CPUID “4” 為 CPU#4 的CPUID,CPUID “5” 為 CPU#5 的 CPUID,且 CPUID “8” 為 CPU#8 的 CPUID。例如,在圖26A例示的示例中,節(jié)點(diǎn)映射34例示地址區(qū)“O”存在于構(gòu)建塊#0中并且由CPU#0訪問。另外,節(jié)點(diǎn)映射34例示地址區(qū)“I”存在于構(gòu)建塊#1中并且由CPU#4訪問。此外,節(jié)點(diǎn)映射34例示地址區(qū)“2”存在于構(gòu)建塊#1并且由CPU#5訪問。另外,節(jié)點(diǎn)映射34例示地址區(qū)” 3”存在于構(gòu)建塊#2中并且由CPU#8訪問。
圖26B為例示表示分區(qū)#A的節(jié)點(diǎn)映射的示例的圖。如圖26B中所例示的,表示分區(qū)#A的節(jié)點(diǎn)映射包括每個(gè)入口的有效性、節(jié)點(diǎn)ID以及CPHD。例如,在圖26B例示的示例中,節(jié)點(diǎn)映射表示在分區(qū)#A中包括構(gòu)建塊#0的CPU#0。例如,在圖25例示的示例中,CPU#0包括圖26A和圖26B例示的節(jié)點(diǎn)映射。在作出存儲器訪問的情況下,CPU#0通過使用圖26A中表示的節(jié)點(diǎn)映射識別訪問目的地的CPU。另一方面,在僅將特定的包發(fā)送到布置在相同分區(qū)內(nèi)的CPU的情況下,CPU#0通過使用圖26B中表示的節(jié)點(diǎn)映射識別發(fā)送目的地的CPU。換言之,作為示例,CPU#0將特定包發(fā)送到布置在由圖26B中例示的節(jié)點(diǎn)映射表示的分區(qū)#A內(nèi)的各CPU。另一方面,為了進(jìn)行存儲器訪問,CPU#4包括圖26A和26C中例示的節(jié)點(diǎn)映射。此處,圖26C為例示表示分區(qū)#B的節(jié)點(diǎn)映射的示例的圖。在圖26C例示的示例中,表示分區(qū)#B的節(jié)點(diǎn)映射表示構(gòu)建塊#1的CPU#4和#5和構(gòu)建塊#2的CPU#8存在于分區(qū)#B中。作為示例,CPU#4將特定包發(fā)送到布置在由圖26C中例示的節(jié)點(diǎn)映射表示的分區(qū)#B內(nèi)的CPU。如上所述,CPU#I和#4存儲其中地址區(qū)和CPUID彼此關(guān)聯(lián)的節(jié)點(diǎn)映射以及表示分區(qū)的節(jié)點(diǎn)映射。然后,CPU#1和#4通過使用地址區(qū)和CPUID彼此關(guān)聯(lián)的節(jié)點(diǎn)映射直接訪問包括在其它節(jié)點(diǎn)中的存儲器。另外,CPU#1通過使用表示分區(qū)#A的節(jié)點(diǎn)映射發(fā)送特定包。此外,CPU#4通過使用表示分區(qū)#B的節(jié)點(diǎn)映射發(fā)送特定包。如上所述,每個(gè)CPU可包括對于包括CPU的每個(gè)分區(qū)具有不同值的節(jié)點(diǎn)映射。在每個(gè)CPU具有對于包括CPU的每個(gè)分區(qū)具有不同值的節(jié)點(diǎn)映射的情況下,能夠防止將特定包發(fā)送出分區(qū)。另外,類似于第一實(shí)施例,每個(gè)CPU可以通過起始地址和地址掩碼或者起始地址和長度表示作為訪問目標(biāo)的地址區(qū)。換言之,通過使用起始地址和地址掩碼或者起始地址和長度,CPU#1和CPU#4使用表示作為訪問目標(biāo)的地址區(qū)的節(jié)點(diǎn)映射識別作為訪問目標(biāo)的節(jié)點(diǎn)。另外,CPU#I和CPU#4通過使用表示相互不同分區(qū)的節(jié)點(diǎn)映射發(fā)送特定的包。根據(jù)實(shí)施例,能夠有效地執(zhí)行由每個(gè)算法處理單元作出的存儲器訪問。
權(quán)利要求
1.一種信息處理設(shè)備,包括: 多個(gè)節(jié)點(diǎn);以及 將所述多個(gè)節(jié)點(diǎn)彼此連接的互聯(lián)部, 其中,所述多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)包括: 處理器, 存儲單元, 第一轉(zhuǎn)換單元,執(zhí)行邏輯地址和物理地址之間的轉(zhuǎn)換, 第二轉(zhuǎn)換單元,執(zhí)行所述物理地址和用于標(biāo)識包括在所述多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)中的處理器的處理器標(biāo)識信息之間的轉(zhuǎn)換, 發(fā)送單元,發(fā)送包括所述物理地址和所述處理器標(biāo)識信息的發(fā)送數(shù)據(jù),以訪問由所述物理地址指示的存儲區(qū), 接收單元,接收從另一節(jié)點(diǎn)通過所述互聯(lián)部發(fā)送的所述發(fā)送數(shù)據(jù),以及本地確定單元,基于包括在由所述接收單元接收的所述發(fā)送數(shù)據(jù)中的所述物理地址,確定訪問是對能夠從包括所述存儲單元的節(jié)點(diǎn)訪問的所述存儲單元的本地區(qū)域的訪問,還是對能夠從所述多個(gè)節(jié)點(diǎn)訪問的所述存儲單元的共享區(qū)域的訪問。
2.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,其中 存儲單元的所述共享區(qū)域被分配到位于預(yù)定位置的位具有相同的值的物理地址,所述存儲單元的所述本地區(qū)域被分配到位于所述預(yù)定位置的位具有與位于被分配到所述共享區(qū)域的所述物理 地址的所述預(yù)定位置的所述位的值不同的值的物理地址,以及所述本地確定單元根據(jù)位于包括在所述發(fā)送數(shù)據(jù)中的所述物理地址的所述預(yù)定位置的所述位的值,確定訪問是對所述本地區(qū)域的所訪問還是對所述共享區(qū)域的訪問。
3.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,其中 所述本地區(qū)域和所述共享區(qū)域被分配到包括在所述多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)中的存儲單元的所有物理地址,以及 所述本地確定單元根據(jù)包括在所述發(fā)送數(shù)據(jù)中的所述物理地址的最高有效位的值,確定訪問為對所述本地區(qū)域的訪問還是對所述共享區(qū)域的訪問。
4.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,其中 所述發(fā)送單元在所述本地確定單元確定所述訪問是對所述本地區(qū)域的訪問的情況下,向所述發(fā)送數(shù)據(jù)的發(fā)送源的節(jié)點(diǎn)發(fā)送指示不準(zhǔn)許訪問的否定響應(yīng)。
5.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,還包括: 存儲裝置,彼此關(guān)聯(lián)地存儲所述處理器標(biāo)識信息和被分配到包括由所述處理器標(biāo)識信息表示的所述處理器的所述節(jié)點(diǎn)的所述存儲單元的物理地址,其中 所述第二轉(zhuǎn)換單元將所述物理地址轉(zhuǎn)換為與所述物理地址關(guān)聯(lián)地存儲在所述存儲裝置中的所述處理器標(biāo)識信息。
6.根據(jù)權(quán)利要求5所述的信息處理設(shè)備,還包括: 控制裝置,重寫存儲在所述存儲裝置中的所述處理器標(biāo)識信息和所述物理地址。
7.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,其中,所述多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)包括目錄控制單元,所述目錄控制單元通過使用表示對來自包括在所述節(jié)點(diǎn)中的所述存儲單元的數(shù)據(jù)進(jìn)行緩存的節(jié)點(diǎn)的目錄,維持對由所述節(jié)點(diǎn)中的任一個(gè)緩存的數(shù)據(jù)的標(biāo)識。
8.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,其中,所述多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)還包括: 緩存存儲單元,對來自包括在所述多個(gè)節(jié)點(diǎn)中的所述存儲單元的數(shù)據(jù)進(jìn)行緩存;以及 確定單元,在發(fā)生緩存錯(cuò)誤的情況下,確定發(fā)生所述緩存錯(cuò)誤的物理地址是否為包括在任意其它節(jié)點(diǎn)中的存儲單元的物理地址,其中 所述第二轉(zhuǎn)換單元在所述確定單元已經(jīng)確定發(fā)生所述緩存錯(cuò)誤的所述物理地址為包括在任意其它節(jié)點(diǎn)中的存儲單元的物理地址的情況下,將所述物理地址轉(zhuǎn)換成處理器標(biāo)識信息。
9.根據(jù)權(quán)利要求2所述的信息處理設(shè)備,其中,所述處理器執(zhí)行設(shè)置所述第一轉(zhuǎn)換單元的操作系統(tǒng),以在應(yīng)用程序請求獲取所述共享區(qū)域的情況下,執(zhí)行由所述應(yīng)用程序使用的所述邏輯地址和被分配到所述共享區(qū)域的所述物理地址之間的轉(zhuǎn)換。
10.一種由多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)執(zhí)行的存儲器訪問方法,所述方法包括: 在邏輯地址和物理地址之間以及在所述物理地址和用于標(biāo)識包括在所述多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)中的處理器的處理器標(biāo)識信息之間進(jìn)行轉(zhuǎn)換; 發(fā)送包括所述物理地址和所述處理器標(biāo)識信息的發(fā)送數(shù)據(jù),以訪問由所述物理地址指不的存儲區(qū); 通過互聯(lián)部接收從另一節(jié)點(diǎn)發(fā)送的所述發(fā)送數(shù)據(jù);以及 基于包括在所接收的所述發(fā)送數(shù)據(jù)中的所述物理地址,確定訪問是對能夠從包括存儲單元的所述節(jié)點(diǎn)訪問的所述存儲單元的本地區(qū)域的訪問,還是對能夠從所述多個(gè)節(jié)點(diǎn)訪問的所述存儲單元的共享 區(qū)域的訪問。
全文摘要
提供一種信息處理設(shè)備和存儲器訪問方法。節(jié)點(diǎn)包括執(zhí)行邏輯地址和物理地址之間的轉(zhuǎn)換的第一轉(zhuǎn)換單元。該節(jié)點(diǎn)包括執(zhí)行物理地址和用于標(biāo)識在多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)中包括的處理器的處理器標(biāo)識信息之間的轉(zhuǎn)換的第二轉(zhuǎn)換單元。節(jié)點(diǎn)包括發(fā)送單元,其發(fā)送包括物理地址和處理器標(biāo)識信息、用于訪問由物理地址指示的存儲區(qū)的發(fā)送數(shù)據(jù)。節(jié)點(diǎn)包括本地確定單元,其基于在由接收單元接收的發(fā)送數(shù)據(jù)中包括的物理地址,確定由從另一節(jié)點(diǎn)接收的發(fā)送數(shù)據(jù)指示的訪問為對本地區(qū)域的訪問還是對共享區(qū)域的訪問。
文檔編號G06F12/06GK103198022SQ20121042446
公開日2013年7月10日 申請日期2012年10月30日 優(yōu)先權(quán)日2011年12月20日
發(fā)明者鯉沼秀之, 岡田誠之, 杉崎剛 申請人:富士通株式會社