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

運算處理設備、信息處理設備及控制信息處理設備的方法

文檔序號:6541742閱讀:128來源:國知局
運算處理設備、信息處理設備及控制信息處理設備的方法
【專利摘要】本發(fā)明涉及一種運算處理設備、信息處理設備及控制信息處理設備的方法。一種與其他運算處理設備連接的運算處理設備,包括:運算處理單元,使用自身的運算處理設備管理的第一數據和從其他運算處理設備獲取并管理的第二數據,執(zhí)行運算處理;主存儲器,存儲第一數據;以及控制單元,包括將運算處理單元設置為操作狀態(tài)或非操作狀態(tài)的設置單元、和保持第一數據和第二數據的緩存存儲器,其中,當設置單元將運算處理單元設置為非操作狀態(tài)、并且接收到與從其他運算處理設備丟棄第一數據相關的通知時,控制單元從主存儲器獲取第一數據,并且將所獲取的數據保持在緩存存儲器中。
【專利說明】運算處理設備、信息處理設備及控制信息處理設備的方法

【技術領域】
[0001]這里描述的實施例涉及一種運算處理設備、信息處理設備及控制信息處理設備的方法。

【背景技術】
[0002]在信息處理設備中,運算處理設備被應用于用于在多個處理器核當中共享存儲在主存儲器中的數據的實際使用。處理器核與LI緩存的多個對形成信息處理設備中的處理器核群。處理器核群與L2緩存、L2緩存控制單元、以及主存儲器連接。處理器核群、L2緩存、L2緩存控制單元、以及主存儲器的集合被稱為集群。
[0003]緩存是具有小容量的存儲單元,其存儲在具有大容量的主存儲器中存儲的數據當中、頻繁使用的數據。當存儲器中的數據暫時存儲在緩存中時,耗時的、對存儲器的訪問頻率降低。緩存采用分層結構,其中,在較高級實現(xiàn)較高速度的處理,而在較低級實現(xiàn)較大容量。
[0004]在基于目錄的緩存相干控制方案中,如上所述的L2緩存存儲L2緩存所屬的集群中的處理器核群請求的數據。處理器核群被配置成從更接近該處理器核群的L2緩存來獲取數據。另外,主存儲器中存儲的數據由存儲器所屬的集群管理,以便保持數據一致性。此夕卜,根據該方案,集群對要管理的存儲器中的數據處于什么狀態(tài)、以及數據存儲在哪個L2緩存中進行管理。此外,當集群接收到對存儲器用于獲取數據的請求(request)時,集群基于數據的當前狀態(tài),執(zhí)行對于數據獲取請求的適當的處理。然后,集群執(zhí)行用于數據獲取請求的處理,并且更新與數據的狀態(tài)相關的信息。
[0005]如在專利文獻I中所示,提供了在采用以上集群結構和以上處理方案的運算處理設備中、降低訪問主存儲器所需的等待時間的提案。在專利文獻I中,當在緩存中出現(xiàn)緩存缺失(miss)以及緩存不具有用于存儲數據可用的容量時,優(yōu)選地從緩存中擦除緩存所屬集群中的存儲器中的數據以創(chuàng)建可用容量。
[0006][專利文獻]
[0007][專利文獻I]日本早期公開專利公布第2000-66955號


【發(fā)明內容】

[0008]在上述技術中,因為緩存是暫時存儲,因此執(zhí)行訪問主存儲器以將數據回寫到存儲器的處理。主存儲器是大容量的,并且可安裝在與用于處理器核群和緩存的芯片不同的芯片上。因此,對主存儲器的訪問是用于降低數據訪問等待時間的瓶頸。
[0009]因此,這里公開的技術的一個方面的目的是提供降低對主存儲器的訪問頻率的運算處理設備、信息處理設備及控制信息處理設備的方法。
[0010]根據實施例的方面,提供了一種與其他運算處理設備連接的運算處理設備,該運算處理設備包括:運算處理單元,被配置成使用自身的運算處理設備管理的第一數據和從其他運算處理設備獲取的及其他運算處理設備管理的第二數據,執(zhí)行運算處理;主存儲器,被配置成存儲第一數據;以及控制單元,被配置成包括將運算處理單元設置為操作狀態(tài)或非操作狀態(tài)的設置單元、和保持第一數據和第二數據的緩存存儲器,其中,當設置單元將運算處理單元設置為非操作狀態(tài)、并且接收到與從其他運算處理設備丟棄第一數據相關的通知時,控制單元從主存儲器獲取作為通知的目標的第一數據,并且將所獲取的數據保持在緩存存儲器中。
[0011]根據一個實施例的運算處理設備、信息處理設備及控制信息處理設備的方法可降低對主存儲器的訪問頻率。

【專利附圖】

【附圖說明】
[0012]圖1是示出根據比較示例的信息處理設備中的集群配置的一部分的圖;
[0013]圖2是示意性地示出根據比較示例的L2緩存控制單元的配置的圖;
[0014]圖3是示出根據比較示例的、當在集群中生成數據獲取請求時的處理的圖;
[0015]圖4是示出在如圖3所示的處理示例中、在L2緩存控制單元中執(zhí)行的處理的圖;
[0016]圖5是示出根據比較示例的、當在集群中生成數據獲取請求時的處理的圖;
[0017]圖6是示出在如圖5所示的處理示例中、在L2緩存控制單元中執(zhí)行的處理的圖;
[0018]圖7是示出在比較示例中,當執(zhí)行對于數據的回沖(Flush Back)處理和回寫(WriteBack)處理時在集群中執(zhí)行的處理的圖;
[0019]圖8是示出在如圖7所示的處理示例中、在L2緩存控制單元中執(zhí)行的處理的示例的圖;
[0020]圖9是示出在比較示例的信息處理設備中、用于排他性地獲取數據的處理的示例的圖;
[0021]圖10是示出在如圖9所示的處理示例中、在L2緩存控制單元中執(zhí)行的處理的圖;
[0022]圖11是示出在比較示例中、在集群中執(zhí)行的預取(prefetch)處理的圖;
[0023]圖12是示出在如圖11所示的處理示例中、在L2緩存控制單元中執(zhí)行的處理的圖;
[0024]圖13是示出在比較示例中、當疏散從L2緩存清除的數據時執(zhí)行的處理的圖;
[0025]圖14是示出在比較示例中、當獲取疏散數據時執(zhí)行的處理的圖;
[0026]圖15是示意性地示出根據實施例的信息處理設備中的集群配置的一部分的圖;
[0027]圖16是示出根據實施例的集群中的L2緩存控制單元的圖;
[0028]圖17是示出在根據實施例的信息處理設備中、在“模式開”狀態(tài)中的集群中的處理器核群的操作模式的圖;
[0029]圖18是示出在實施例中,當從屬于其是本地(Local)的集群的L2緩存清除其是遠程(Remote)以及家庭(Home)的集群中的數據時執(zhí)行的處理的圖;
[0030]圖19是示出在如圖18所示的處理示例中、由L2緩存控制單元執(zhí)行的處理的圖;
[0031]圖20A是示出在如圖19所示的處理示例中、L2緩存控制單元包括的電路的圖;
[0032]圖20B是示出在如圖19所示的處理示例中、控制器包括的電路的圖;
[0033]圖21A是示出在如圖18至20B所示的處理示例中、用于L2緩存控制單元的時序圖;
[0034]圖21B是示出在如圖18至20B所示的處理示例中、用于L2緩存控制單元的時序圖;
[0035]圖22是示出在實施例的信息處理設備中、在排他性地獲取數據時執(zhí)行的處理的圖;
[0036]圖23是示出在如圖22所示的處理示例中、在L2緩存控制單元中執(zhí)行的處理的圖;
[0037]圖24是在如圖22和23所示的處理示例中、用于L2緩存控制單元的時序圖;
[0038]圖25是示出在實施例的信息處理設備中、形成多個組的示例集群的圖;以及
[0039]圖26是示出根據實施例的L2緩存控制單元的配置示例的圖。

【具體實施方式】
[0040]首先,參照附圖描述根據一個實施例的信息處理設備的比較示例。
[0041](比較示例)
[0042]圖1示出了根據比較示例的信息處理設備的集群配置的一部分。如圖1所示,集群10包括處理器核群100、L2緩存控制單元101以及主存儲器102,其中處理器核群100包括處理器核和LI緩存的η (η為自然數)個組合。L2緩存控制單元101包括L2緩存103。與集群10類似,集群20和30也分別包括處理器核群200和300、L2緩存控制單元201和301、存儲器202和302、以及L2緩存203和303。
[0043]在以下描述中,請求存儲在主存儲器中的數據的處理器核所屬的集群被稱為本地(集群)。另外,存儲所請求的數據的存儲器所屬的集群被稱為家庭(集群)。此外,不是本地并且保持所請求的數據的集群被稱為遠程(集群)。因此,根據數據被請求到哪里以及從哪里請求數據,每個集群可以是本地、家庭和/或遠程的。另外,在用于執(zhí)行與數據獲取請求相關的處理的許多情況下,本地集群還用作家庭集群。以及在一些情況下,遠程集群還用作家庭集群。另外,由家庭集群管理的存儲在主存儲器中的數據的狀態(tài)信息被稱為目錄信息。稍后描述以上部件的細節(jié)。
[0044]如圖1所示,每個集群中的L2緩存控制單元經由總線或相互連接與其他L2緩存控制單元連接。在信息處理設備I中,由于存儲器空間是所謂的平坦的,因此由物理地址唯一地確定哪些數據存儲在主存儲器中以及存儲器屬于哪個集群。
[0045]例如,當集群10獲取未存儲在存儲器102而是存儲在存儲器202中的數據時,集群10向存儲數據的存儲器202所屬的集群20發(fā)送數據請求。集群20檢查數據的狀態(tài)。這里,數據的狀態(tài)意味著數據的使用狀態(tài),諸如數據存儲在哪個集群中、數據是否正被排他性地使用、以及在信息處理設備I中數據的同步處于何種狀態(tài)。另外,當要獲取的數據存儲在屬于集群20的L2緩存203中、以及在信息處理設備I中建立了數據的同步時,集群20向請求數據的集群10發(fā)送數據。然后,集群20在數據的狀態(tài)信息中記錄數據發(fā)送到集群10、以及在信息處理設備I中對數據進行同步。
[0046]圖2示意性地示出L2緩存控制單元101的配置。L2緩存控制單元101包括控制器101a、L2緩存103、以及目錄RAM104。另外,L2緩存103包括標簽RAM103a和數據RAM103b。標簽RAM103保持數據RAM103b所保持的塊的標簽信息。標簽信息意味著相干協(xié)議控制中與每個數據的使用狀態(tài)相關的信息、主存儲器中的地址等。在使用多個處理器的多個處理器環(huán)境中,處理器很有可能共享相同數據以及訪問該數據。因此,在多處理器環(huán)境中保持每個緩存中存儲的數據的一致性。用于在處理器當中保持數據的一致性的協(xié)議被稱為相干協(xié)議。MESI協(xié)議是這樣的協(xié)議的一個示例。在以下描述中,使用MESI協(xié)議,其利用四個狀態(tài)(修改(Modified)、排他(Exclusive)、共享(shared)、以及無效(Invalid))來管理數據的使用狀態(tài)。然而,可用的協(xié)議不限于該協(xié)議。
[0047]控制器1la使用標簽RAM103a來檢查在何種狀態(tài)下主存儲器塊存儲在數據RAM103b中以及數據的存在。例如,數據RAM103b是用于保持存儲在存儲器102中的數據的副本的RAM。目錄RMA104是用于處理屬于家庭集群的主存儲器的目錄信息的RAM。由于目錄信息是大量信息,因此在許多情況下,目錄信息存儲在主存儲器中,并且用于存儲器的緩存布置在RAM中。然而,在本實施例中,屬于家庭集群的存儲器的目錄信息存儲在目錄RAM104 中。
[0048]控制器1la接受來自處理器核群100或其他集群中的L2緩存控制單元中的控制器的請求??刂破?la根據所接收的請求的內容,向標簽RAM103a、數據RAM103b、目錄RAM104、存儲器102或其他集群發(fā)送操作請求。當完成所請求的操作時,控制器1la向操作的請求者返回操作結果。
[0049]圖3是示出當在集群10中生成數據獲取請求時執(zhí)行的處理的示例的圖。在圖3中,集群10是本地集群和家庭集群。圖3示出了當生成對屬于集群10的存儲器102的數據獲取請求以及在L2緩存103中出現(xiàn)緩存缺失時執(zhí)行的處理。這里假設當L2緩存控制單元接收到數據獲取請求時,在LI緩存中出現(xiàn)緩存缺失。
[0050]數據請求從其是本地的集群10中的處理器核發(fā)送到L2緩存控制單元101。當其還是家庭的集群10中的L2緩存控制單元101確定L2緩存103不保持數據(缺失)時,L2緩存控制單元101參照存儲在目錄RAM104中的目錄信息。然后,L2緩存控制單元101基于目錄信息,檢查遠程集群中的L2緩存是否保持數據。當L2緩存控制單元101確定遠程集群中的L2緩存不保持數據(缺失)時,L2緩存控制單元101對其是本地的集群10中的存儲器102請求數據獲取。當存儲器102將數據返回到L2緩存控制單元101時,L2緩存控制單元101將數據存儲在L2緩存103中的數據RAM103b中。另外,L2緩存控制單元101將數據發(fā)送到處理器核群100中的請求數據的處理器核。此外,L2緩存中的標簽RAM103a存儲如下信息:該信息指示在信息處理設備I中對數據進行同步的狀態(tài)下獲取數據。此外,目錄RAM104存儲指示由其是本地的集群10保持數據的信息。
[0051]當L2緩存控制單元101參照標簽RAM103a以確定L2緩存103中的數據RAM103b不具有用于存儲數據的容量時,L2緩存控制單元101根據包括隨機算法和LRU(近期最少使用)算法的預定算法來從L2緩存103清除數據。當L2緩存控制單元101參照標簽RAM103a以確定要清除的數據處于與存儲在存儲器102中的數據類似的狀態(tài)下時,L2緩存控制單元101丟棄要清除的數據。另一方面,當L2緩存控制單元101參照標簽RAM103a以確定更新(update) 了要清除的數據時,L2緩存控制單元101將要清除的數據回寫到存儲器102。
[0052]因此,處理器核群100中的處理器核請求的數據存儲在L2緩存103的數據RAM103b中的自由空間中。另外,當處理器核群100中的處理器核再次生成對于數據的數據獲取請求時,L2緩存控制單元101保持存儲在數據RAM103b中的數據,并且將數據發(fā)送到處理器核(命中(hit))。因此,只要未從數據RAM103b清除數據,則L2緩存控制單元101不訪問存儲器102。
[0053]圖4是示出在如圖3所示的處理示例中、在L2緩存控制單元101中執(zhí)行的處理的圖??刂破?la接受來自處理器核群100中的處理器核的數據獲取請求。數據獲取請求包含指示由處理器核生成請求的信息、數據獲取請求的類型、以及存儲數據的存儲器中的地址。控制器1la根據請求的內容開始適當的處理。
[0054]首先,控制器1la檢查標簽RAM103a,以確定是否在數據RAM103b中找到存儲作為數據獲取請求的目標的數據的主存儲器的塊的副本。當控制器1la從標簽RAM103a接收到指示未找到副本(缺失)的結果時,控制器1la參照目錄RAM104,以檢查遠程集群是否保持作為數據獲取請求的目標的數據。當控制器1la從目錄RAM104接收到指示集群未保持數據(缺失)的結果時,控制器1la向存儲器102發(fā)送數據的數據獲取請求。當控制器1la從存儲器102接收到數據時,控制器1la在目錄RAM104中登記指示家庭集群保持數據的信息。另外,控制器1la將數據的使用狀態(tài)的信息(“共享”等)存儲在標簽RAM103a中。此外,控制器1la將數據存儲在數據RAM103b中。另外,控制器1la將數據發(fā)送到處理器核群100中請求數據的處理器核。
[0055]接下來,圖5是示出當在集群10中生成數據獲取請求時執(zhí)行的處理示例的圖。在如圖5所示的示例中,集群10是本地集群、以及集群20是家庭集群。其是本地的集群10中的處理器核群100中的處理器核向集群10中的L2緩存103發(fā)送數據獲取請求。因為所請求的數據未存儲在L2緩存103中,因此出現(xiàn)緩存缺失(缺失)。因此,集群10向其是家庭的集群20發(fā)送對于數據的數據獲取請求。集群20中的L2緩存控制單元201檢查存儲在L2緩存203中的目錄信息。當L2緩存控制單元201中的控制器201a確定數據未存儲在L2緩存203和遠程集群中的L2緩存中(缺失)時,控制器201a向存儲器202發(fā)送對于數據的數據獲取請求。
[0056]當存儲器202將數據返回到L2緩存控制單元201時,L2緩存控制單元201對存儲在目錄RAM204中的目錄信息進行更新。并且L2緩存控制單元201將數據發(fā)送到其是本地的、以及請求數據的集群10。集群10中的L2緩存控制單元101將從集群20中的L2緩存控制單元201接收到的數據存儲在L2緩存103中。然后,L2緩存控制單元101將數據發(fā)送到處理器核群100中請求數據的處理器核。
[0057]這里,由于以下原因,數據未存儲在其是家庭的集群20中的L2緩存203中。首先,從其是本地的集群10中的處理器核、而不是從其是家庭的集群20中的處理器核請求數據。第二,當數據存儲在其是家庭的集群20中的L2緩存203中時,這意味著未由其是家庭的集群20中的處理器核群200使用的數據存儲在L2緩存203中。第三,當這樣的未使用數據存儲在L2緩存203中時,可從L2緩存203清除處理器核群200使用的數據。
[0058]圖6是示出在如圖5示出的示例中、L2緩存控制單元101和201執(zhí)行的處理的圖。其是本地的集群10的L2緩存控制單元101中的控制器1la接受來氣處理器核群100中的處理器核的數據獲取請求。數據獲取請求包括指示由處理器核生成的請求的信息、數據獲取請求的類型、以及存儲數據的存儲器中的地址??刂破?la根據請求的內容,開始適當的處理。
[0059]控制器1la檢查標簽RAM103a,以確定在數據RAM103b中是否找到存儲作為數據獲取請求的目標的數據的主存儲器的塊的副本。當控制器1la從標簽RAM103a接收到指示未找到副本(缺失)的結果時,控制器1la將數據的數據獲取請求發(fā)送到屬于其是家庭的集群20的L2緩存控制單元201中的控制器201a。
[0060]當控制器201a接收到數據獲取請求時,控制器201a檢查目錄RAM204,以確定作為數據獲取請求的目標的數據是否存儲在任意集群中的L2緩存中。當控制器201a從目錄RAM204接收到指示未在集群中找到數據(缺失)的結果時,控制器201a將對于數據的數據獲取請求發(fā)送到存儲器202。當存儲器202將數據返回到控制器201a時,控制器201a將指示由請求數據的集群10保持數據的信息作為數據的使用狀態(tài)存儲在目錄RAM204中。然后,控制器201a將數據發(fā)送到請求數據的集群10中的控制器101a。當集群10中的控制器1la接收到數據時,控制器1la將數據的使用狀態(tài)(“共享”等)存儲在標簽RAM103a中。另外,控制器1la將數據存儲在數據RAM103b中。此外,控制器1la將數據發(fā)送到處理器核群100中的請求數據的處理器核。
[0061]圖7是示出在比較示例中、當對遠程集群執(zhí)行對數據的回沖或回寫時、集群執(zhí)行的處理的圖。對遠程集群的回沖意味著當集群從緩存清除從其他集群獲取的數據時執(zhí)行的處理?;貨_還意味著如下處理:當所清除的數據未被更新并且在信息處理設備I中同步(即,所清除的數據是干凈的)時,向家庭集群通知從對于家庭集群來說不但是本地而且是遠程的集群清除數據。對于家庭集群執(zhí)行更新目錄信息的處理。另外,對遠程集群的回寫意味著當集群從該集群中的緩存清除從其他集群獲取的數據時執(zhí)行的處理?;貙戇€意味著如下處理:當所清除的數據被更新并且不在信息處理設備I中同步(即,所清除的數據是臟的)時,用于向其他集群通知數據是所謂的“臟的”。如以下所述,當在比較示例中對遠程集群執(zhí)行回沖時,集群向從其獲取數據的集群發(fā)送回沖請求、并且不向從其獲取數據的集群發(fā)送數據。相反,當在比較示例中集群對遠程集群執(zhí)行回寫時,集群向從其獲取數據的集群發(fā)送回寫請求、并且不向從其獲取數據的集群發(fā)送數據,使得從其獲取數據的集群將數據存儲在存儲器中。
[0062]如上所述,當新數據存儲在L2緩存中并且L2緩存不具有用于數據的容量時,根據預定算法清除存儲在L2緩存中的數據。在圖7中,集群10是本地集群,而集群20是家庭集群。注意,在該示例中,集群20還是遠程集群。此外,在圖7中未描繪的信息處理設備I中的集群是遠程的。此外,在圖7中,由于屬于其是本地的集群10的L2緩存103中的數據RAM103b不具有數據容量,因此集群10清除存儲在數據RAM103b中的、要存儲在其是遠程的集群20的存儲器202中的數據。
[0063]在該情況下,如圖7所示,集群10中的L2緩存控制單元101向集群20中的L2緩存控制單元201發(fā)送用于從L2緩存103清除數據的請求。該請求是回沖請求或回寫請求。注意,回沖請求和回寫請求是預定請求的示例。另外,當要清除的數據是干凈的時,回沖請求被發(fā)送到其是家庭的集群20中的L2緩存控制單元201。L2緩存控制單元201將指示從請求數據的集群10清除數據的信息存儲在L2緩存控制單元201中的目錄信息中。
[0064]另一方面,當要清除的數據是臟的時,將回寫請求和數據發(fā)送到其是家庭的集群20中的L2緩存控制單元201。例如,當其是本地的集群10中的處理器核群100更新數據時,數據變?yōu)榕K的。另外,L2緩存控制單元201將指示從請求數據的集群10清除數據的信息存儲在目錄RAM204中存儲的目錄信息中。L2緩存控制單元201將數據回寫到屬于其是家庭的集群20的存儲器202。注意,其是遠程的集群中的處理器核向其是家庭的集群20請求數據。即,不是由其是家庭的集群20中的處理器核群200請求數據。當數據存儲在其是家庭的集群20中的L2緩存203中時,可從L2緩存203清除處理器核群200請求的其他數據。因此,數據不存儲在其是家庭的集群20中的L2緩存203中。
[0065]圖8是示出在如圖7所示的示例中、在L2緩存控制單元101和201中執(zhí)行的處理的圖。這里,描述了確定要從L2緩存控制單元101中的L2緩存103清除數據之后執(zhí)行的處理。L2緩存控制單元101中的控制器1la請求標簽RAM103a,以使存儲數據的塊無效。這里,當數據是臟的并且控制器1la向其是家庭的集群20中的控制器201a通知回寫請求時,控制器1la從數據RAM103A讀取(read)與該塊相對應的數據??刂破?la向控制器201a通知回沖請求??商孢x地,控制器1la向控制器201a通知回寫操作,并且將數據發(fā)送到控制器201a。當其是家庭的集群20中的控制器201a接收到請求時,控制器201a使得目錄RAM204中的指示“請求數據的集群10保持數據”的信息無效。另外,當控制器201a接收到回寫請求時,控制器201a將數據回寫到存儲器202。
[0066]接下來,圖9示出了當其是本地的集群10排他性地獲取存儲在其是家庭的集群20的存儲器202中的數據時執(zhí)行的處理。例如,當通過處理器核更新數據時,使用排他性數據獲取請求。排他性數據獲取請求是用于確保在特定時間點、一個集群(集群中的緩存)保持所請求的數據而其他集群不保持數據的請求。當在更新數據時、其他集群之一中的L2緩存保存數據時,在信息處理設備I中不能同步數據。因此,排他性數據獲取請求是用于防止該情況的請求。
[0067]首先,其是本地的集群10中的處理器核群100中的處理器核向L2緩存控制單元101請求獲取數據。當L2緩存控制單元101接收到數據獲取請求時,L2緩存控制單元101檢查在L2緩存103中是否存儲數據。當數據未存儲在L2緩存103中(缺失)時,L2緩存控制單元101向其是家庭的集群20中的L2緩存控制單元201發(fā)送對于數據的排他性數據獲取請求。當L2緩存控制單元201接收到排他性數據獲取請求時,L2緩存控制單元參照存儲在L2緩存控制單元201中的目錄信息。目錄信息指示包括家庭集群的哪個集群保持數據。然后,L2緩存控制單元201向由目錄信息所指示的保持數據的集群發(fā)送數據的丟棄請求。
[0068]在圖9所示的示例中,數據存儲在L2緩存203中。因此,L2緩存控制單元201從L2緩存203丟棄數據。L2緩存控制單元201將所丟棄的數據發(fā)送到L2緩存控制單元101。另外,L2緩存控制單元201將指示請求數據的集群10是保持數據的唯一集群的信息存儲在目錄信息中。然后,請求數據的集群10將數據存儲在L2緩存103中。
[0069]圖10是示出在如圖9所示的示例中、由L2緩存控制單元101和201執(zhí)行的處理的圖。其是本地的集群10的L2緩存控制單元101中的控制器1la接受來自處理器核群100中的處理器核的排他性數據獲取請求。數據獲取請求包括指示由處理器核生成請求的信息、指示請求是排他性數據獲取請求的信息、以及存儲數據的存儲器中的地址??刂破?la根據請求的內容,開始適當的處理。
[0070]控制器1la檢查標簽RAM103a,以確定在數據RAM103b中是否找到存儲作為數據獲取請求的目標的數據的存儲器的塊的副本。當控制器1la從標簽RAM103a接收到指示未找到副本(缺失)的結果時,控制器1la將數據的數據獲取請求發(fā)送到屬于其是家庭的集群20的L2緩存控制單元201中的控制器201a。
[0071]當控制器201a接收到數據獲取請求時,控制器201a檢查目錄RAM204,以確定所請求的數據是否存儲在任意集群中的L2緩存中。當控制器201a接收到指示由其是家庭的集群20保持數據(命中)的結果時,控制器201a向標簽RAM203a發(fā)送數據的無效請求。另夕卜,控制器201a從數據RAM203b讀取數據。然后,控制器201a使目錄RAM204中的指示由家庭集群保持數據的信息無效。此外,控制器201a將指示請求數據的集群10保持數據的信息添加到目錄RAM204。另外,控制器201a將數據發(fā)送到請求數據的集群10中的控制器1la0當集群10中的控制器1la接收到數據時,控制器1la將數據的使用狀態(tài)登記在標簽RAM103a中。另外,控制器1la將數據存儲在數據RAM103b中。然后,控制器1la將數據發(fā)送到處理器核群中請求數據的處理器核。
[0072]這里,假設本地集群還是家庭集群。接下來,圖11示出了當集群10執(zhí)行預取處理時執(zhí)行的處理。這里,預取處理是如下處理:該處理用于集群將要在未來使用的數據存儲在該集群中的L2緩存中。利用該預取處理,因為數據預先存儲在L2緩存中,因此當處理器核使用數據時,每個集群在不訪問存儲器的情況下從L2緩存獲取數據,并且將數據發(fā)送到集群中的處理器核。如圖11所示,在集群10中,L2緩存控制單元101接受來自處理器核群100的預取請求。L2緩存控制單元101檢查作為預取請求的目標的數據是否存在于L2緩存103中。另外,L2緩存控制單元101檢查其他集群是否保持數據。
[0073]因為家庭集群還是本地集群,因此當L2緩存控制單元101確定在L2緩存103中未找到數據并且其他集群未保持數據時,L2緩存控制單元101從存儲器102請求數據。當L2緩存控制單元101從存儲器102接收到數據時,L2緩存控制單元101將數據存儲在L2緩存103中。
[0074]圖12示出了當集群10執(zhí)行如圖11所示的預取處理時執(zhí)行的處理。如圖12所示,L2緩存控制單元101的控制器1la接收到來自處理器核群100的預取請求??刂破?la參照標簽RAM103a,以檢查作為預取處理的目標的數據是否存在于數據RAM103b中。然后,控制器1la參照目錄RAM104,以檢查數據的使用狀態(tài)并且確定其他集群是否保持數據。因為家庭集群還是本地集群,因此當控制器1la確定未在數據RAM103b中找到數據并且其他集群未保持數據時,控制器1la從存儲器102請求數據。
[0075]當控制器1la從存儲器102獲取數據時,控制器1la請求標簽RAM103a登記如下信息:該信息指示數據存儲在數據RAM103b中??刂破?la將數據存儲在數據RAM103b中。然后,控制器1la請求目錄RAM104登記如下信息:該信息指示其是家庭集群的集群10保持數據。
[0076]接下來,圖13示出了當其是本地的集群10從L2緩存103清除要存儲在其是家庭的集群20的存儲器202中的數據時執(zhí)行的處理。如圖13所示,當集群10從L2緩存103清除要存儲在集群20的存儲器202中的數據時,集群10將所清除的數據發(fā)送到L2緩存控制單元201。L2緩存控制單元201將所接收的數據存儲在L2緩存203中。因此,在比較示例中,從本地集群清除的數據被疏散到家庭集群的L2緩存,而與數據的使用狀態(tài)無關。
[0077]圖14示出了當根據如圖13所示的處理,其是本地的集群10獲取被疏散到其是家庭的集群20中的L2緩存203的數據時執(zhí)行的處理。如圖14所示,集群20接收來自集群10的疏散的數據的獲取請求。集群20確定在L2緩存203中找到所請求的數據(緩存命中)。然后,集群20從L2緩存203獲取數據,并且將數據發(fā)送到集群10。注意,L2緩存203還由集群20中的處理器核群200使用。因此,集群20將數據發(fā)送到集群10,并且從L2緩存203丟棄數據以便有效地使用L2緩存203的容量。
[0078]注意,在比較示例中,在信息處理設備I中,操作其是家庭的集群20中的處理器核群200。因此,集群10中的處理器核群100和集群20中的處理器核群200共同使用集群20中的L2緩存203。結果,可用于處理器核群200的L2緩存的容量降低。附加地,L2緩存203要求用于確定來自哪個處理器核群的數據優(yōu)選地存儲在L2緩存203中的復雜控制。
[0079]此外,在比較示例中,從其是本地的集群10清除的數據被發(fā)送到其是家庭的集群20、而與數據的使用狀態(tài)無關。即,即使在更新數據之后數據不變得臟時,從集群10清除的數據也被發(fā)送到集群20。這意味著即使當在信息處理設備I中所清除的數據同步(數據是干凈的)時,數據也被發(fā)送到集群20。因此,這會導致集群之間的業(yè)務增加。
[0080]另外,在如圖14所示的示例中,集群20管理存儲在L2緩存203中的數據是否是從集群10疏散的數據的信息。因此,在這種情況下,例如,增加了如下配置:通過使用指示L2緩存203中的數據是否是所清除數據的比特,管理數據的使用狀態(tài)。此外,當從L2緩存203獲取從集群10清除的數據時,提供附加流程,以從L2緩存203丟棄數據。
[0081]記住比較示例的以上描述,以下參照附圖描述根據一個實施例的信息處理設備的示例。在以下說明中,控制每個集群中的處理器核群的操作狀態(tài)和非操作狀態(tài)。因此,如稍后所述,當通信量沒有增加時,可以增強L2緩存中的數據的緩存命中概率。另外,在本實施例中,對于存儲在L2緩存中的每個數據,不涉及復雜的管理和控制。此外,在本實施例中,不執(zhí)行家庭集群存儲從其他集群清除的數據的流程。另外,在本實施例中,不執(zhí)行從家庭集群中的L2緩存丟棄從其他集群清除的數據的流程。另外,在本實施例中,每個集群不管理存儲在L2緩存中的數據是否是從其他集群清除的數據。
[0082](實施例)
[0083]圖15示意性地示出了根據本實施例的信息處理設備2中的集群結構的一部分。如圖15所示,類似于比較示例,信息處理設備2包括集群50、60、以及70。注意,集群50、60、以及70是信息處理設備的示例。另外,由于如在以上比較示例中描述了本地、家庭以及遠程之間的差異,因此這里省略差異的描述。集群50包括處理器核群500、L2緩存控制單元501、以及主存儲器502。L2緩存控制單元501包括L2緩存503。類似于集群50,集群60和70也分別包括處理器核群600和700、L2緩存控制單元601和701、存儲器602和702、以及L2緩存603和703。L2緩存控制單元501、601、以及701是控制單元的示例。另外,L2緩存503、603、以及703是緩存存儲器的示例。此外,存儲器502、602、以及702是主存儲器的示例。另外,處理器核群500、600、以及700是運算處理單元的示例。另外,在本實施例中,集群50、60、以及70形成單個組。這里,組是主管執(zhí)行應用程序的集群的組。然而,形成組的準則不限于該方案,并且集群可適當地被劃分為組。
[0084]如圖15所示,每個集群中的L2緩存控制器經由總線或相互連接而彼此連接。在信息處理設備2中,存儲器空間所謂的平坦的,使得根據物理地址來唯一地確定存儲何種數據以及在哪個集群中數據存儲在主存儲器中。
[0085]圖16是示出集群50中的L2緩存控制單元501的圖。L2緩存控制單元501包括控制器501a、寄存器501b、L2緩存503、以及目錄RAM504。另外,L2緩存503包括標簽RAM503a和數據RAM503b。此外,寄存器501b對應于設置單元的示例。另外,L2緩存控制單元501包括預取控制單元501c,控制器501a使用該預取控制單元501c來用于向控制器501a自身發(fā)送請求。由于標簽RAM503a、數據RAM503b、以及目錄RAM504的功能與比較示例類似,因此這里省略詳細描述。
[0086]在根據本實施例的信息處理設備2中,寄存器501b控制集群50的操作模式。在本實施例中,作為示例,操作模式包括作為“模式關”、“模式開以及處理器核操作”、以及“模式開以及處理器核不操作”的三個模式。操作模式“模式關”是如在以上比較示例中集群操作的操作模式。操作模式“模式開以及處理器核操作”是如下操作模式:其中,集群將處理器核群設置為操作狀態(tài),并且執(zhí)行本實施例中的處理(模式開)。操作模式“模式開以及處理器核不操作”是如下操作模式:其中,集群將處理器核群設置為非操作狀態(tài),并且執(zhí)行本實施例中的處理。稍后描述這些操作模式中的處理的細節(jié)。
[0087]控制器501a讀取對于寄存器501b的設置值,并且根據設置值來切換操作模式。另夕卜,在本實施例中,在信息處理設備2中的應用程序執(zhí)行之前切換操作模式。另外,信息處理設備2的OS (操作系統(tǒng))控制每個集群中的寄存器的操作模式。注意,可以通過信息處理設備2的用戶明確地指示OS、或通過OS根據諸如應用程序的存儲器使用的信息來自動地指示,執(zhí)行操作模式的切換。
[0088]圖17是如下圖:其示出在信息處理設備2中,當操作模式為“模式開”時,集群50、60、以及70中的處理器核群的操作狀態(tài)。作為示例,控制組中的集群50、60、以及70,使得集群50、60、以及70中的任一個集群中的處理器核群操作。在圖17中,集群50的操作模式為“模式開以及處理器核操作”,以及集群60和70的操作模式為“模式開以及處理器核不操作”。因此,集群50中的處理器核群500為操作狀態(tài),而處理器核群600和700為非操作狀態(tài)。作為示例,在信息處理設備2中形成包括諸如集群50、60、以及70的多個組。每個組對應于在信息處理設備2中執(zhí)行的一個系列處理。
[0089]接下來,圖18是示出根據本實施例的、當從屬于集群50的L2緩存503清除存儲在集群60的存儲器602中的數據時執(zhí)行的處理的圖。類似于比較示例,當L2緩存控制單元501將新數據存儲在L2緩存503中并且L2緩存503不具有用于數據的容量時,L2緩存控制單元501根據預定算法從L2緩存503清除數據。L2緩存控制單元501參照標簽RAM503a,以確定要清除的數據是干凈的還是臟的。當確定要清除的數據是臟的時,L2緩存控制單元501向L2緩存控制單元601通知回寫請求,并且將數據發(fā)送到L2緩存控制單元601。另一方面,當確定要清除的數據是干凈的時,L2緩存控制單元501向L2緩存控制單元601通知回沖請求,并且將數據發(fā)送到L2緩存控制單元601。注意,回寫請求和回沖請求是當在其他運算處理裝置中丟棄數據時通知的請求的示例。
[0090]在本實施例中,類似于比較示例,當L2緩存控制單元601接收到回寫請求時,L2緩存控制單元601將連同請求接收的數據存儲在存儲器602中。另外,L2緩存控制單元601更新目錄信息,以使指示其是本地的集群10保持數據的信息無效。此外,當L2緩存控制單元601接收到回沖請求時,L2緩存控制單元601更新目錄信息,以使指示其是本地的集群10保持數據的信息無效。然后,L2緩存控制單元601執(zhí)行對于數據的預取處理。當L2緩存控制單元601執(zhí)行預取處理時,L2緩存控制單元601從存儲器602獲取數據,并且將所獲取的數據存儲在L2緩存603中。
[0091]圖19是示出如圖18所示的示例中的L2緩存控制單元501和601執(zhí)行的處理的圖。如上所述,L2緩存控制單元501和601分別包括控制器501a和601a、寄存器501b和601b、L2緩存503和603、以及目錄RAM504和604。另外,L2緩存503和603分別包括標簽RAM503a和603a、以及數據RAM503b和603b。此外,L2緩存控制單元501和601分別包括預取控制單元501c和601c。
[0092]另外,圖20A示出了如圖18和19所示的示例中的L2緩存控制單元601和預取控制單元601c的電路的一部分。此外,圖20B示出了如圖20A所示的電路的一部分、以及控制器601a中包括的電路的一部分。如圖20B所示的控制器601a中的電路是當集群60是家庭并且操作模式是“模式開以及處理器核不操作”時起作用的控制電路。當其是家庭的集群60接收到來自其是本地的集群50的回寫請求或回沖請求時,根據如圖20A和20B所示的電路的控制來執(zhí)行預取處理。注意,在圖20A和20B中,標記執(zhí)行預取處理的預取請求是用于指示操作的信號,并且其他信號是標志信號。
[0093]在圖20A中,當如圖20B所示的控制器601a的控制電路斷定預取請求2、或根據如比較示例所述的運算從處理器核群600接收到預取請求時,預取控制單元601c的OR門601d輸出預取請求3。另外,在圖20B中,當集群60的操作模式是“模式開以及處理器核不操作”時,AND門601e輸出“I”。在其他情況下,AND門601e輸出“O”。另外,當例如斷定來自集群50的回寫請求或回沖請求的信號時,OR門60If輸出“I”。當AND門60Ie和OR門601f都輸出“I”時,AND門601g輸出預取請求2,其是用于執(zhí)行預取處理的指示信號。然后,如圖20A所示,輸出指示信號被發(fā)送到預取控制單元601c。
[0094]這里,如圖19所示,控制器501a請求標簽RAM503a登記從數據RAM503b清除數據(無效)。標簽RAM503a向控制器501a發(fā)送指示數據是干凈的或臟的信息。當信息指示數據是臟的時,控制器501a確定執(zhí)行回寫處理。另一方面,當信息指示數據是干凈的時,控制器501a確定執(zhí)行回沖處理。接下來,控制器501a從數據RAM503b取回要清除的數據。當要清除的數據是臟的時,控制器501a向控制器601a通知回寫請求,并且將所清除的數據發(fā)送到控制器601a。另一方面,當所清除的數據是干凈的時,控制器501a向控制器601a通知回沖請求。
[0095]其是家庭的集群60中的控制器601a接收到來自其是本地的集群50中的控制器501a的以上回寫請求或回沖請求。然后,控制器601a請求目錄RAM604對指示數據不再存在于集群50中的目錄信息進行更新。當控制器601a接收到回寫請求時,控制器601a將連同回寫請求接收的數據(即,從數據RAM503b清除的數據)存儲在存儲器602中。
[0096]接下來,控制器601a根據如圖20A和20B所示的電路的操作,執(zhí)行預取處理。控制器601a從存儲器602獲取所清除的數據??刂破?01a請求標簽RAM603a對存儲在標簽RAM603a中的、指示數據存儲在數據RAM603b中的信息進行更新。接下來,控制器601a將數據存儲在數據RAM603b中??刂破?01a請求目錄RAM604對指示數據添加到其是家庭的集群60的目錄信息進行更新。
[0097]圖21A和21B是用于如圖19至20B中所示的示例中的L2緩存控制單元501和601的時序圖。在以下描述中,時序圖中的步驟被縮寫為S。圖21A和21B示出了從數據RAM503b清除的數據是臟的并且控制器501a將回寫請求發(fā)送到控制器601a的情況。另外,除了集群50和60之外的集群未保持數據。在SlOl中,控制器501a請求標簽RAM503a登記指示從數據RAM503b清除數據的信息(無效)。在S102中,標簽RAM503a將指示數據的使用狀態(tài)的信息(修改,值=M)發(fā)送到控制器501a。在S103中,控制器501a使用從標簽RAM503a獲取的地址來從數據RAM503b讀取數據。在S104中,數據RAM503b讀取地址與來自控制器501a的請求中包括的地址匹配的數據,并且將數據發(fā)送到控制器501a。
[0098]在S105中,由于在S102中從標簽RAM503a取得的數據的使用狀態(tài)是臟的,因此控制器501a將回寫請求和數據發(fā)送到控制器601a。另外,控制器501a將指示在哪個集群中數據存儲在主存儲器的地址發(fā)送到控制器601a。
[0099]在S106中,控制器601a請求目錄RAM604登記指示從集群50清除從控制器501發(fā)送的數據的信息(值=_遠程)。在S107中,目錄RAM604根據來自控制器601a的請求執(zhí)行登記處理,并且向控制器601a通知完成處理。在S108中,控制器601a將數據存儲在存儲器602中。在S109中,存儲器602存儲數據,并且向控制器601a通知完成存儲處理。在SllO中,控制器601a向控制器501a通知完成如上所述的處理。
[0100]注意,集群60的操作模式為“模式開以及處理器核不操作”。另外,控制器601a接收到來自控制器501a的回寫請求。因此,根據如圖20A和20B所示的電路的操作,預取處理的指示信號(預取請求3)被輸入到控制器601a。因此,在Slll中,控制器601a執(zhí)行預取處理。
[0101]圖21B示出了在Slll之后、控制器601a執(zhí)行的處理。在S112中,控制器601a請求標簽RAM603a檢查如上所述從集群50清除的數據是否存儲在數據RAM603b中。在SI 13中,標簽RAM603a向控制器601a通知數據未存儲在數據RAM603b (缺失)中。在SI 14中,控制器601a請求目錄RAM604檢查其他集群是否保持數據。在SI 15中,目錄RAM604向控制器601a通知其他集群未保持數據(缺失)。
[0102]當控制器601a確定數據未存儲在數據RAM603b中以及其他集群未保持數據時,在S116中,控制器601a從存儲器602請求數據。在S117中,存儲器602取回所請求的數據,并且將數據發(fā)送到控制器601a。在SI 18中,控制器601a請求標簽RAM603a更新存儲在標簽RAM603a中的、指示所獲取的數據存儲在數據RAM603b中的信息。在這種情況下,控制器601a還請求標簽RAM603a登記指示數據的使用狀態(tài)為“共享”的信息。在S119中,標簽RAM603a根據更新請求來更新信息,并且向控制器601a通知完成更新處理。
[0103]在S120中,控制器601a將在SI 17中從存儲器602獲取的數據存儲在數據RAM603b中。在S121中,數據RAM603b存儲數據,并且向控制器601a通知完成存儲處理。在S122中,控制器601a請求目錄RAM604更新指示其是家庭的集群60保持數據(值=+家庭)的目錄信息。在S123中,目錄RAM604根據更新請求來更新目錄信息,并且向控制器601a通知完成更新處理。
[0104]如上所述,在本實施例中,當其是遠程以及家庭的集群接收到來自本地集群的回沖請求或回寫請求時,該集群執(zhí)行預取處理。因此,對于集群之間執(zhí)行的處理不配置附加數據流程。另外,在本實施例中,當從本地集群清除數據時,信息處理設備2可以將數據傳遞到其是遠程以及家庭的集群中的L2緩存。因此,當本地集群再次要求數據并且從其是遠程以及家庭的集群請求數據時,其是遠程以及家庭的集群從L2緩存獲取數據。即,其是遠程以及家庭的集群可以在不訪問存儲器的情況下獲取數據。因此,相比于比較示例中的等待時間,可以減少與存儲器訪問相關聯(lián)的等待時間。此外,類似于比較示例,在本實施例中,當執(zhí)行回寫請求時,從本地集群清除的數據被傳送到其是遠程以及家庭的集群。因此,在本實施例中,不存在集群之間的業(yè)務增長的顧慮。
[0105]注意,在本實施例中,目錄RAM使用目錄信息,通過使用與每個集群相對應的比特來管理哪個集群取得存儲在數據RAM中的每個數據。例如,對于每個數據,比特“I”用于保持數據的集群,而比特“O”用于不保持數據的集群。因此,例如,如上所述在SllO中,目錄RAM604對于集群60將比特設置為“1”,并且對于集群50將比特設置為“O”。在以下描述中,目錄RAM改變目錄信息中的比特,以登記每個數據的使用狀態(tài)。然而,在目錄RAM中用于管理集群取得的數據狀態(tài)的配置不限于以上實施例。由于控制器601a執(zhí)行的處理與如上當控制器501a將回沖請求發(fā)送到控制器601a時的處理相同,因此這里省略處理的詳細描述。
[0106]接下來,圖22是示出當其是本地的集群50獲取存儲在其是家庭的集群60的存儲器602中的數據時執(zhí)行的處理的圖。注意,其是本地的集群50的操作模式是“模式開以及處理器核操作”。在本實施例中,當其是本地的集群50從其他集群請求數據時,集群50執(zhí)行排他性數據獲取請求。圖22示出了所請求的數據存儲在L2緩存603中的情況。因此,當L2緩存控制單元601接收到來自L2緩存控制單元501的排他性數據獲取請求時,L2緩存控制單元601從L2緩存603獲取數據。L2緩存控制單元601將所獲取的數據發(fā)送到L2緩存控制單元501。另外,L2緩存控制單元601從L2緩存603丟棄數據。然后,L2緩存控制單元501將從L2緩存控制單元601接收的數據存儲在L2緩存503中,并且將數據發(fā)送到處理器核群500。
[0107]圖23是示出在圖22中的處理示例中、L2緩存控制單元501和601執(zhí)行的處理的圖。如上所述,L2緩存控制單元501和601分別包括控制器501a和601a、寄存器501b和601b、L2緩存503和603、以及目錄RAM504和604。另外,L2緩存503和603分別包括標簽RAM503a和603a、以及數據RAM503b和603b。此外,L2緩存控制單元501和601分別包括預取控制單元501c和601c。
[0108]圖24是圖22和23的處理示例中、L2緩存控制單元501和601的時序圖。在S201中,L2緩存控制單元501的控制器501a接受來自處理器核群500中的處理器核的數據獲取請求。數據獲取請求包括指示在哪個集群中數據存儲在存儲器中的地址信息。在S202中,控制器501a檢查標簽RAM503a,以確定與該地址相對應的數據是否存儲在數據RAM503b中。在S203中,標簽RAM503a將指示在數據RAM503b中未找到數據的信息(緩存缺失)返回到控制器501a。
[0109]在S204中,控制器501a使用作為來自處理器核群500的數據獲取請求的目標的數據的地址,以確定數據要存儲在存儲器602中。因此,控制器501a向控制器601a執(zhí)行對于數據的排他性數據獲取請求。
[0110]當控制器601a接收到來自控制器501a的排他性數據獲取請求時,在S205中,控制器601a檢查存儲在目錄RAM604中的目錄信息,以確定集群60所屬的組中所請求的數據的使用狀態(tài)。數據的使用狀態(tài)包括指示其他集群是否保持數據的信息。在本實施例中,在S206中,目錄RAM604檢查目錄信息,以確定數據存儲在數據RAM603b中(緩存命中)。目錄RAM604將指示數據存儲在數據RAM603b中的信息發(fā)送到控制器601a。
[0111]在S207中,控制器60Ia請求標簽RAM603a來使指示數據存儲在數據RAM603b中的信息無效(設置為“無效”)。在S208中,標簽RAM603a更新信息并且向控制器601a通知完成更新處理。在S209中,控制器601a請求數據RAM603b取回從控制器501a請求的數據。在S210中,數據RAM603b將所請求的數據發(fā)送到控制器601a。
[0112]在S211中,控制器601a請求目錄RAM604更新指示其是遠程的集群50保持數據(值=+遠程)的目錄信息。另外,控制器601a還請求目錄RAM604更新指示其是家庭的集群60不保持數據(值=_家庭)的目錄信息。在S212中,目錄RAM604根據請求更新目錄信息,并且向控制器601a通知完成更新處理。在S213中,控制器601a將數據發(fā)送到控制器501ao
[0113]在S214中,控制器501a請求標簽RAM503a更新如下信息:該信息存儲在標簽RAM503a中、指示從控制器601a獲取的數據存儲在數據RAM503b中。另外,控制器501a還請求標簽RAM503a將數據的使用狀態(tài)登記為“排他性的”。在S215中,標簽RAM503a執(zhí)行所請求的處理,并且向控制器501a通知完成處理。在S216中,控制器501a請求數據RAM503b存儲數據。在S217中,數據RAM503b存儲數據,并且向控制器501a通知完成存儲處理。在S218中,控制器501a將數據發(fā)送到處理器核群中請求數據的處理器核。
[0114]如上所述,在本實施例中,由于類似于比較示例、集群向其他集群發(fā)送排他性數據獲取請求,因此不存在集群之間業(yè)務增長的顧慮。
[0115]參照圖25描述根據本實施例的、當控制每個集群的操作模式時獲得的優(yōu)點的示例。圖25示出了在信息處理設備3中配置多個集群組的示例。注意,根據每個集群的L2緩存控制單元中的寄存器的設置值,設置每個集群的操作模式。具體地,當設置值為O時將操作模式設置為“模式關”,當設置值為I時將操作模式設置為“模式開以及處理器核操作”,以及當設置值為2時將操作模式設置為“模式開以及處理器核不操作”。在圖25中,集群800a至800d形成組800。另外,集群900a形成組900。組900用于執(zhí)行所需要的存儲器空間等于或小于組900中的主存儲器容量的應用程序。由于集群800a至SOOd以及900a的配置與如上所述集群50和60的配置類似,因此這里省略集群中的部件的詳細描述和附圖。
[0116]例如,假設允許組800外的集群900a訪問組800內的集群800c。此外,假設集群900a將排他性數據獲取請求發(fā)送到集群800c、以獲取存儲在集群800c的L2緩存中的數據。在這種情況下,數據移動到集群900a中,并且從集群800c中的L2緩存丟棄該數據。另外,集群800c管理指示其在組800外的集群900a保持數據的目錄信息。在如圖25所示的示例中,允許組外的集群訪問操作模式為“模式開以及處理器核操作”的組內的集群。結果,組外的集群不獲取操作模式為“模式開以及處理器核不操作”的組內的集群的L2緩存中存儲的數據。因此,不存在如下顧慮:當操作模式為“模式開以及處理器核操作”的集群獲取操作模式為“模式開以及處理器核不操作”的集群中的數據時,因為組外的集群保持數據,因此需要從組外的集群取得數據。因此,組中的每個集群可以彼此有效地獲取數據。
[0117]在以上比較示例中,除了本地集群之外、其是遠程和家庭的集群中的處理器核群也處于操作狀態(tài)。因此,本地集群中的L2緩存與其他集群交換數據。因此,本地集群中的處理器核群使用的L2緩存的容量實質上降低。此外,在L2緩存的數據管理中,部分地因為確定來自哪個集群的哪些數據被優(yōu)選地獲取或存儲在L2緩存中,因此確定準側和控制更加復雜。結果,與本實施例中的配置相比,比較示例中的配置可以導致更大的成本相關開支和性能相關開支。另外,在比較示例中,數據管理例如涉及存儲如下附加信息:該附加信息指示每個數據從哪個集群清除。相反,在本實施例中不涉及這樣的附加信息的管理。
[0118]此外,對于用于緩存相干控制的協(xié)議,共通的規(guī)則可以應用于處理器核群的操作模式為“模式開”和“模式關”的兩種情況。例如,這里假設當處理器核群的操作模式為“模式開”時,使用采用修改、排他性、共享、以及無效的四種狀態(tài)的MESI協(xié)議。在這種情況下,當處理器核群的操作模式為“模式關”時,可以在不定義新狀態(tài)的情況下使用該MESI協(xié)議。另外,可以相應地對于“模式開”模式和“模式關”模式修改控制處理。因此,當根據本實施例的配置應用于根據比較示例的配置時,可以降低工作負荷。
[0119]盡管如上所述描述了本實施例,但是信息處理設備的配置和處理不限于如上所述的配置和處理,并且可以在本發(fā)明的技術范圍內對這里描述的實施例進行各種變更。例如,在以上實施例中,在控制器601a外設置預取控制單元601c。然而,可以在控制器601a內設置如圖20A和20B所示的電路。
[0120]另外,對于在“模式開”和“模式關”之間的切換,當使用超過集群中的主存儲器的容量的大量存儲器空間執(zhí)行應用程序時,操作模式可以被設置為“模式開”。因此,當使用不超過集群中的存儲器的容量的存儲器空間執(zhí)行應用程序時,操作模式被設置為“模式關”。因此,在信息處理設備中,可以對于每個應用程序靈活地采用存儲器和L2緩存的適當配置。另外,可以省略用于對每個應用程序建立存儲器和L2緩存的配置的努力。
[0121]此外,當對于每個集群獨立控制用于處理器核群的電力供給時,可以關斷當操作模式被設置為“模式關”時被設置在非操作狀態(tài)的處理器核群。因此,可以在信息處理設備中減少不需要的電力消耗。注意,在以上實施例中,可以采用所謂的功率選通來控制對于每個處理器核群的電力供給。
[0122]另外,在以上描述中,采用寄存器來將處理器核群設置為操作狀態(tài)和非操作狀態(tài)。取代如在以上實施例中描述的L2緩存控制單元的配置,可以采用如圖26所示的配置來將處理器核群設置為操作狀態(tài)或非操作狀態(tài)。如圖26所示,L2緩存控制單元1001包括控制器1001a、寄存器1001b、選擇器1001c、以及L2緩存1003。另外,L2緩存1003包括標簽RAM1003a、數據RAM1003b、以及目錄RAM1004。在L2緩存控制單元1001中,選擇器10lc參照寄存器10lb的設置值,以確定來自未描繪的集群中的處理器核群的請求是否被阻隔。例如,當寄存器10lb的設置值為“開”時,選擇器10lc阻隔來自集群中的處理器核群的請求。即,實質上處理器核群可以被設置為非操作狀態(tài)。此外,當寄存器10lb的設置值為“關”時,選擇器10lc將來自處理器核群的請求發(fā)送到控制器1001a。即,實質上處理器核群可以被設置為操作狀態(tài)。在以上實施例中,還可以采用如下配置:其中,在集群的組外執(zhí)行應用程序,以控制組中的每個集群的操作模式。
[0123]?計算機可讀記錄介質>>
[0124]可以在計算機可讀記錄介質上記錄使得計算機實現(xiàn)上述任意功能的程序。這里,例如,功能包括設置寄存器。另外,通過使得計算機從記錄介質讀取程序并執(zhí)行程序,可以提供其功能。這里,計算機例如包括集群和控制器。
[0125]這里提及的計算機可讀記錄介質指示如下記錄介質:該記錄介質通過電、磁、光、機械、或化學操作來存儲諸如數據和程序的信息,并且允許從計算機讀取所存儲的信息。在這樣的記錄介質當中,可從計算機拆卸的記錄介質例如包括軟盤、磁光盤、CD-ROM、CD-R/W、DVD、DAT、8mm磁帶、以及存儲卡。在這樣的記錄介質當中,固定到計算機的記錄介質包括硬盤和ROM (只讀存儲器)。
【權利要求】
1.一種與其他運算處理設備連接的運算處理設備,包括: 運算處理單元,被配置成使用自身的運算處理設備管理的第一數據和從其他運算處理設備獲取的及其他運算處理設備管理的第二數據,執(zhí)行運算處理; 主存儲器,被配置成存儲所述第一數據;以及 控制單元,被配置成包括將所述運算處理單元設置為操作狀態(tài)或非操作狀態(tài)的設置單元、和保持所述第一數據和所述第二數據的緩存存儲器,其中,當所述設置單元將所述運算處理單元設置為非操作狀態(tài)、并且接收到與從其他運算處理設備丟棄所述第一數據相關的通知時,所述控制單元從所述主存儲器獲取作為所述通知的目標的所述第一數據,并且將所獲取的數據保持在所述緩存存儲器中。
2.根據權利要求1所述的運算處理設備,其中,當所述設置單元將所述運算處理單元設置為操作狀態(tài)時,所述控制單元從其他運算處理設備排他性地獲取數據。
3.一種包括與其他運算處理設備連接的運算處理設備的信息處理設備,其中 所述運算處理設備包括: 運算處理單元,被配置成使用自身的運算處理設備管理的第三數據和從其他運算處理設備獲取的及其他運算處理設備管理的第四數據,執(zhí)行運算處理; 主存儲器,被配置成存儲所述第三數據;以及 控制單元,被配置成包括將所述運算處理單元設置為操作狀態(tài)或非操作狀態(tài)的設置單元、和保持所述第三數據和所述第四數據的緩存存儲器,其中,當所述設置單元將所述運算處理單元設置為非操作狀態(tài)、并且接收到與從其他運算處理設備丟棄所述第三數據相關的通知時,所述控制單元從所述主存儲器獲取作為所述通知的目標的所述第三數據,并且將所獲取的數據保持在所述緩存存儲器中。
4.根據權利要求3所述的信息處理設備,其中,當所述設置單元將所述運算處理單元設置為操作狀態(tài)時,所述控制單元從其他運算處理設備排他性地獲取數據。
5.根據權利要求3所述的信息處理設備,其中,所述運算處理設備中的一個運算處理設備中的設置單元將所述運算處理設備中的所述一個運算處理設備中的運算處理單元設置為操作狀態(tài),并且另一運算處理設備中的設置單元將所述另一運算處理設備中的運算處理單元設置為非操作狀態(tài)。
6.根據權利要求4所述的信息處理設備,其中,所述運算處理設備中的一個運算處理設備中的設置單元將所述運算處理設備中的所述一個運算處理設備中的運算處理單元設置為操作狀態(tài),并且另一運算處理設備中的設置單元將所述另一運算處理設備中的運算處理單元設置為非操作狀態(tài)。
7.根據權利要求3至6中任一項所述的信息處理設備,其中,形成如下組:所述組包括其中所述設置單元將所述運算處理單元設置為操作狀態(tài)的第一運算處理設備和其中所述設置單元將所述運算處理單元設置為非操作狀態(tài)的第二運算處理設備,以及 當第三運算處理設備訪問所述組中的運算處理設備時,所述第三運算處理設備訪問所述第一運算處理設備并且不訪問第二處理設備。
8.—種控制信息處理設備的方法,所述方法包括: 處理器將所述信息處理設備中包括的第一運算處理設備的運算處理單元設置為操作狀態(tài)或非操作狀態(tài),所述運算處理單元使用所述第一運算處理設備管理的第五數據和從與所述第一運算處理設備連接的第二運算處理設備獲取的及所述第二運算處理設備管理的第六數據,執(zhí)行運算處理; 在所述第一運算處理設備的運算處理單元被設置為非操作狀態(tài)之后,處理器接收到與從所述第二運算處理設備丟棄所述第五數據相關的通知;以及 當接收到所述通知時,處理器從所述第一運算處理設備的主存儲器獲取作為所述通知的目標的所述第五數據,并且將所獲取的數據存儲在所述第一運算處理設備的緩存存儲器中。
9.根據權利要求7所述的控制信息處理設備的方法,其中,當所述第一運算處理設備的運算處理單元被設置為操作狀態(tài)時,從所述第二運算處理設備排他性地獲取所述第二數據。
10.根據權利要求8所述的控制信息處理設備的方法,其中,當所述第一運算處理設備和所述第二運算處理設備中的一個運算處理設備中的運算處理單元被設置為操作狀態(tài)時,另一運算處理設備中的運算處理單元被設置為非操作狀態(tài)。
11.根據權利要求9所述的控制信息處理設備的方法,其中,當所述第一運算處理設備和所述第二運算處理設備中的一個運算處理設備中的運算處理單元被設置為操作狀態(tài)時,另一運算處理設備中的運算處理單元被設置為非操作狀態(tài)。
12.根據權利要求8至11中任一項所述的控制信息處理設備的方法,其中,形成如下組:所述組包括其中所述設置單元將所述運算處理單元設置為操作狀態(tài)的第一運算處理設備和其中所述設置單元將所述運算處理單元設置為非操作狀態(tài)的第二運算處理設備,以及 當第三運算處理設備訪問所述組中的運算處理設備中的一個運算處理設備時,所述第三運算處理設備訪問所述第一運算處理設備并且不訪問第二處理設備。
【文檔編號】G06F12/08GK104077238SQ201410112651
【公開日】2014年10月1日 申請日期:2014年3月25日 優(yōu)先權日:2013年3月29日
【發(fā)明者】青柳隆宏, 引地徹 申請人:富士通株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1