專利名稱:信息處理裝置、信息處理方法以及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及登記于TLB (Translation Lookaside Buffer:旁路轉(zhuǎn)換緩沖器)的信息的收集技術(shù)。
背景技術(shù):
在有的計(jì)算機(jī)中安裝有TLB (Translation Lookaside Buffer)。例如,操作系統(tǒng)為了將與各虛擬空間的邏輯地址對應(yīng)的物理地址或映射尺寸(map size)等地址轉(zhuǎn)換信息通知給硬件,在TLB中設(shè)定信息。TLB存在于計(jì)算機(jī)的CPU (Central Processing Unit)內(nèi),用于實(shí)現(xiàn)從虛擬地址向物理地址轉(zhuǎn)換的高速化。在TLB中存在固定個的項(xiàng),操作系統(tǒng)在TLB的各項(xiàng)中登記用于從虛擬地址轉(zhuǎn)換成物理地址的信息。·若在CPU執(zhí)行命令過程中產(chǎn)生對虛擬地址的訪問,則CPU檢索操作系統(tǒng)登記于TLB的信息。通常,作為檢索鍵使用虛擬地址,作為檢索結(jié)果返回與虛擬地址對應(yīng)的物理地址。在TLB上存在與虛擬地址對應(yīng)的信息的情況下,非常迅速地進(jìn)行地址轉(zhuǎn)換,CPU使用從TLB獲取的物理地址來訪問存儲器。在TLB上不存在與虛擬地址對應(yīng)的信息的情況下,CPU產(chǎn)生自陷(中斷),通知操作系統(tǒng)TLB上沒有信息。受到自陷的操作系統(tǒng)將與虛擬地址對應(yīng)的信息登記于TLB并再執(zhí)行命令。再執(zhí)行命令時,在TLB上登記有與虛擬地址對應(yīng)的信息,所以CPU能夠使用與虛擬地址對應(yīng)的信息訪問存儲器。在因操作系統(tǒng)的障礙等不能正常地進(jìn)行對TLB的信息登記的情況下,CPU會訪問預(yù)料之外的物理地址。由于訪問預(yù)料之外的物理地址,因此存在著產(chǎn)生計(jì)算機(jī)的誤動作、數(shù)據(jù)破壞等重大問題的可能性。實(shí)際產(chǎn)生因操作系統(tǒng)的障礙而引起的TLB項(xiàng)的誤登記,并且還有產(chǎn)生系統(tǒng)掛起(hang up)或程序誤動作的事例。因此,期望確認(rèn)登記于各CPU的TLB的信息的方案,或確認(rèn)與操作系統(tǒng)的TLB相關(guān)的處理是否正確動作的方案。以往,出于用于調(diào)查操作系統(tǒng)的障礙等故障的原因的信息收集以及動作確認(rèn)(regression test :回歸測試),而準(zhǔn)備工具。例如,計(jì)算機(jī)的管理者在管理計(jì)算機(jī)的固件(Service Processor)中,執(zhí)行動作確認(rèn)的命令等工具即可。在執(zhí)行動作確認(rèn)的命令時,計(jì)算機(jī)的管理者指定作為動作確認(rèn)對象的CPU等。通過執(zhí)行動作確認(rèn)的命令,計(jì)算機(jī)的管理者就能夠獲取登記于指定的CPU的TLB的信息。例如,在搭載了 UltraSPARC處理器的系統(tǒng)的情況下,通過起動在固件中準(zhǔn)備的動作確認(rèn)用命令,固件執(zhí)行收集TLB信息的ASI(Address Space Identifiers)指令。通過收集TLB信息的ASI指令,固件獲取登記于TLB的信息,并將該信息顯示給計(jì)算機(jī)的管理者。收集登記于TLB的信息的ASI指令的詳細(xì)內(nèi)容記載于 UltraSPARC 處理器的手冊(UltraSPARC User’s Manual Revision 2, July 1997 )的第6章。專利文獻(xiàn)I:日本特表2007 - 500401號公報(bào)專利文獻(xiàn)2:日本特開昭63 - 273149號公報(bào)近些年,搭載于計(jì)算機(jī)的CPU多采用在單一的處理器封裝體內(nèi)追加多個內(nèi)核之類的方法。這種CPU的多內(nèi)核化作為用于提高CPU性能的技術(shù)而被認(rèn)識,其應(yīng)用迅速發(fā)展。最近,與多線程技術(shù)組合的多內(nèi)核化也在發(fā)展,還出現(xiàn)了邏輯CPU數(shù)為512個以上的大規(guī)模服務(wù)器。此外,所謂邏輯CPU,可以考慮為操作系統(tǒng)包含分配線程的CPU和該線程的寄存器組的虛擬程序執(zhí)行環(huán)境。在包含邏輯CPU的計(jì)算機(jī)系統(tǒng)中,操作系統(tǒng)作為對線程分配的程序執(zhí)行環(huán)境,識別邏輯CPU來替換作為物理硬件資源的物理CPU。因此,還按照每個邏輯CPU準(zhǔn)備TLB。并且,可以登記于TLB的信息量年年增加,最近每個邏輯CPU能夠保持合計(jì)4000個項(xiàng)以上的地址轉(zhuǎn)換信息。因此,例如在利用計(jì)算機(jī)的固件(Service Processor)的指令等工具,對搭載了 512個邏輯CPU的計(jì)算機(jī),收集登記于全部邏輯CPU的TLB的信息的情況下,計(jì)算機(jī)的管理者必須指定邏輯CPU反復(fù)(512次)地執(zhí)行工具。并且,收集的信息成為200萬項(xiàng)以上的地址轉(zhuǎn)換信息,數(shù)據(jù)量膨大。因此,存在收集信息非?;ㄙM(fèi)時間和勞力的問 題。并且,在為了調(diào)查操作系統(tǒng)的障礙等故障的原因而收集登記于TLB的信息的情況下,通常收集登記于產(chǎn)生異常的特定CPU的TLB的信息即可。此外,特定的CPU在具有邏輯CPU結(jié)構(gòu)的系統(tǒng)中指邏輯CPU,在沒有邏輯CPU結(jié)構(gòu)的系統(tǒng)中,例如指多內(nèi)核CPU中的一個內(nèi)核等。另外,也將多內(nèi)核CPU中的一個內(nèi)核稱作物理CPU。然而,在利用計(jì)算機(jī)的固件(Service Processor)的指令等外部工具收集信息的情況下,往往不能確定是哪個邏輯CPU,或哪個物理CPU產(chǎn)生異常。在不能確定是哪個邏輯CPU,或哪個物理CPU產(chǎn)生異常的情況下,計(jì)算機(jī)的管理者也有收集登記于全部邏輯CPU或全部物理CPU的TLB的信息的情況。因此,基于計(jì)算機(jī)的固件等外部工具的信息收集成為收集的數(shù)據(jù)量的增加以及收集的處理時間的增加的重要因素。
發(fā)明內(nèi)容
公開的技術(shù)的一個方面是有效地支援用于調(diào)查與TLB相關(guān)的信息處理裝置的障礙等故障的原因的信息收集以及動作確認(rèn)(回歸測試)。作為用于解決上述課題的一個方面,例示信息處理裝置。本信息處理裝置具備分別具有TLB (Translation Lookaside Buffer)的多個處理部;獲取多個處理部中對TLB的信息進(jìn)行收集的處理部的指定和對TLB的信息進(jìn)行收集的定時的指定的單元;以及在指定的定時中從指定的處理部收集TLB的信息的單元。根據(jù)本信息處理裝置,能夠有效地支援用于調(diào)查與TLB相關(guān)的信息處理裝置的障礙等故障的原因的信息收集以及動作確認(rèn)(回歸測試)。
圖I是表示實(shí)施例I的信息處理裝置的硬件和功能的關(guān)聯(lián)的框圖。圖2是表示操作系統(tǒng)的功能的詳細(xì)例的圖。圖3是成為比較例的系統(tǒng)的處理的流程圖。圖4是表示實(shí)施例I的從啟動至停止的處理的流程圖。圖5是例示緊急停止的處理的圖。圖6是表示TLB收集處理的詳細(xì)例的圖。
圖7是例示實(shí)施例2的信息處理裝置的動作的流程圖。圖8是例示系統(tǒng)管理者按下了開關(guān)時的處理的流程圖。圖9是例示鎖定TLB的項(xiàng)的處理的流程圖。
具體實(shí)施例方式以下,參照附圖,對一個實(shí)施方式的信息處理裝置進(jìn)行說明。以下的實(shí)施方式的構(gòu)成是例示,本發(fā)明并不局限于實(shí)施方式的構(gòu)成。實(shí)施例I參照圖I至圖6的附圖,對實(shí)施例I的信息處理裝置I進(jìn)行說明。圖I是表示信息處理裝置I的硬件和功能的關(guān)聯(lián)的框圖。信息處理裝置I具備操作系統(tǒng)11、固件12 (Service Processor :服務(wù)處理器)、裝置所具備的開關(guān)13、磁盤14、CPU15、存儲器16。在實(shí)施例I的信息處理裝置I中,CPU15例如包含多個虛擬CPU。這里,虛擬CPU從操作系統(tǒng)11來看,指包含用于執(zhí)行程序的處理器和保持程序執(zhí)行狀態(tài)的寄存器組的組合的虛擬裝置。這里,“虛擬”的意思包含能夠提供比包含實(shí)際存在的硬件,即比物理存在的寄存器組的物理CPU的程序執(zhí)行環(huán)境更多的程序執(zhí)行環(huán)境(即處理器和寄存器組的組合)的意思。虛擬CPU例如將表示在當(dāng)前CPU15的任意一個物理CPU中正在處理的程序的狀態(tài)的第I寄存器組的值保存于存儲器16,另一方面,將保存在存儲器16中的第2寄存器組的值回寫到物理CPU的寄存器組。通過設(shè)置這樣的寄存器組的值的更換功能,CPU15對操作系統(tǒng)11提供多個虛擬CPU。但也可以替換虛擬CPU,而是CPU15為多個物理CPU (也稱為處理器內(nèi)核、內(nèi)核或物理處理器),即提供執(zhí)行程序的裝置作為物理硬件。不管是哪一種,在實(shí)施例I中,在從操作系統(tǒng)11來看的情況下,信息處理裝置I的CPU15具有多個用于執(zhí)行程序的執(zhí)行環(huán)境。虛擬CPU或者物理CPU與處理部相當(dāng)。另外,CPU15的多個虛擬CPU (或物理CPU)分別具有TLB。以下,在稱CPU15時指包含多個虛擬CPU或多個物理CPU的系統(tǒng)。另外,CPU15所包含的虛擬CPU指CPU15向操作系統(tǒng)11提供的各個程序執(zhí)行環(huán)境。另外,CPU15所包含的物理CPU指CPU15內(nèi)的各個處理器內(nèi)核。并且,利用CPU編號來確定CPU15內(nèi)的各個虛擬CPU。另外,在CPU15不具有虛擬CPU的結(jié)構(gòu)的情況下,CPU15對操作系統(tǒng)11提供各個物理CPU作為程序執(zhí)行環(huán)境。各個物理CPU也是利用CPU編號確定的。即,在實(shí)施例I中稱CPU編號的情況下,在提供虛擬CPU的環(huán)境下,是確定虛擬CPU的編號。另外,在不提供虛擬CPU的環(huán)境下,在實(shí)施例I所說的CPU編號是確定物理CPU的編號。存儲器16保持在CPU15中執(zhí)行的計(jì)算機(jī)程序的編碼或數(shù)據(jù)。存儲器16所保持的數(shù)據(jù)包含表示在CPU15中等待分配虛擬CPU的計(jì)算機(jī)程序的執(zhí)行狀態(tài)的寄存器組的值、CPU15通過執(zhí)行計(jì)算機(jī)程序所處理的數(shù)據(jù)等。CPU15使用TLB,將虛擬地址轉(zhuǎn)換為物理地址,訪問存儲器16。存儲器16包含易失性DRAM (Dynamic Random Access Memory :動態(tài)隨機(jī)存取存儲器)和非易失性ROM (Read Only Memory :只讀存儲器)。也將存儲器16稱作主存儲裝置。磁盤14也被稱作外部存儲裝置。磁盤14對在存儲器16中展開的計(jì)算機(jī)程序、數(shù)據(jù)等進(jìn)行保存。從CPU15來看,被稱作外部存儲裝置這包含與存儲器16相比訪問所花費(fèi)的時間變長的意思。但即便電源停止,磁盤14也維持存儲的信息。磁盤14包含硬盤裝置、移動式存儲裝置的輸入輸出裝置、SSD (Solid State Drive :固態(tài)硬盤)等。另外,移動式存儲裝置包含 CD (Compact Disc :光盤)、DVD (Digital Versatile Disc :數(shù)字多功能盤)、BD(Blu-ray Disc)等的驅(qū)動裝置,或存儲卡的輸入輸出裝置。操作系統(tǒng)11在CPU15中運(yùn)轉(zhuǎn),控制CPU15、存儲器16以及磁盤14等信息處理裝置I的硬件,向在CPU15中執(zhí)行的計(jì)算機(jī)程序提供信息處理裝置I的資源。該情況下的計(jì)算機(jī)程序在與操作系統(tǒng)11這樣的系統(tǒng)程序相區(qū)別的意思上說,被稱作用戶程序或應(yīng)用程序。固件(Service Processor,以下僅稱固件12),提供控制并管理信息處理裝置I的功能。固件12通過未圖示的專用線與CPU15連接,向CPU15輸入規(guī)定的指令,接收針對指令的響應(yīng)。例如,固件12輸入用于獲取CPU15當(dāng)前狀態(tài)的ASI指令,獲取CPU15的當(dāng)前狀態(tài),診斷CPU15的執(zhí)行狀態(tài)。
開關(guān)13接受用戶操作,通知操作系統(tǒng)11接受了用戶操作。例如,通過中斷這樣的事件的產(chǎn)生來進(jìn)行從開關(guān)13向操作系統(tǒng)11的通知。若產(chǎn)生中斷,則操作系統(tǒng)11按照預(yù)先決定的優(yōu)先順序,從CPU15接受中斷的產(chǎn)生。因此,開關(guān)13能夠作為從用戶,例如信息處理裝置I的系統(tǒng)管理者對操作系統(tǒng)11的緊急通知機(jī)構(gòu)而使用。此外,中斷本身例如也可以作為從固件12對CPU15的請求而產(chǎn)生。即,若系統(tǒng)管理者按下開關(guān)13,則首先固件12檢測開關(guān)13被按下了的情況。而且固件12也可以通過CPU15通過中斷向操作系統(tǒng)11通知開關(guān)13被按下了的情況。另外,從固件12對操作系統(tǒng)11的中斷也通過執(zhí)行信息處理裝置I的固件12的指令來產(chǎn)生。例如,若系統(tǒng)管理者或固件上的程序執(zhí)行診斷CPU15的固件12的命令,則固件12通過中斷通知與CPU15對應(yīng)的信息,例如ASI指令等。標(biāo)準(zhǔn)輸出17是操作系統(tǒng)11所準(zhǔn)備的信息的虛擬輸出目的地。操作系統(tǒng)11例如假定終端作為標(biāo)準(zhǔn)輸出。終端也被稱作控制臺。另外,能夠?qū)?biāo)準(zhǔn)輸出通過被稱作重定向的切換功能,切換成硬盤裝置等外部存儲裝置的情況較多。<操作系統(tǒng)11的功能>操作系統(tǒng)11例如具有文件管理功能、存儲器管理功能、進(jìn)程管理功能等。若操作系統(tǒng)11接收來自信息處理裝置I的通知(中斷),則執(zhí)行規(guī)定的處理。例如,操作系統(tǒng)11通過CPU15的硬件,接受緊急停止的請求,進(jìn)行緊急停止。另外,在實(shí)施例I中,例如操作系統(tǒng)11將登記于系統(tǒng)管理者預(yù)先在設(shè)定文件231中指定的虛擬CPU或者物理CPU的TLB的信息,存儲于系統(tǒng)管理者在設(shè)定文件231中指定的輸出目的地,再起動系統(tǒng)。圖2表示操作系統(tǒng)11的功能的詳細(xì)例子。如圖2所示,操作系統(tǒng)11具備中斷處理部21、應(yīng)急處理部22、TLB信息收集部23。若CPU15接收中斷,則中斷處理部21從CPIU15接收產(chǎn)生了中斷的通知。例如, 中斷處理部21能夠例示為執(zhí)行存儲于被設(shè)定為CPU15的中斷矢量的地址的被稱作句柄(handle)的程序的CPU15。中斷處理部21執(zhí)行與中斷的種類對應(yīng)的處理。應(yīng)急處理部22在從CPU15對操作系統(tǒng)11,通過中斷處理部21請求緊急停止時起動。緊急停止也被稱作應(yīng)急(panic)。若請求緊急停止,則應(yīng)急處理部22執(zhí)行與緊急停止相關(guān)的處理。
例如,如圖2所示,應(yīng)急處理部22具有顯示/記錄部221、文件同步處理部222、核心轉(zhuǎn)儲處理部223、再起動部224。CPU15執(zhí)行操作系統(tǒng)11所包含的計(jì)算機(jī)程序,作為應(yīng)急處理部22,例如作為顯示/記錄部221、文件同步處理部222、核心轉(zhuǎn)儲處理部223、再起動部224發(fā)揮功能。顯示/記錄部221例如伴隨緊急停止,將通知給系統(tǒng)管理者或用戶的消息輸出至標(biāo)準(zhǔn)輸出,顯示于未圖示的終端,或者記錄于磁盤14上的文件等。通知給用戶的消息包含請求緊急停止的理由/原因的編碼或者消息、表示產(chǎn)生理由/原因的信息處理裝置I的相關(guān)位置,例如表示硬件等的信息等。文件同步部222將向磁盤14寫入的數(shù)據(jù),即將保持緩存至未圖示的高速緩沖器存儲器而未寫入磁盤14的數(shù)據(jù)寫入磁盤14。核心轉(zhuǎn)儲處理部223將與緊急停止相關(guān)的存儲器16的內(nèi)容輸出至標(biāo)準(zhǔn)輸出,顯示于未圖示的終端,或者記錄于磁盤14上的文件等。 再起動部224在緊急停止結(jié)束后,例如等待系統(tǒng)管理者的指示,再起動操作系統(tǒng)11。TLB信息收集部23獲取系統(tǒng)管理者的指定,根據(jù)獲取的指定,收集與CPU15內(nèi)的TLB相關(guān)的信息。TLB信息收集部23與收集TLB的信息的單元相當(dāng)。TLB信息收集部23具備TLB信息收集設(shè)定文件(以下僅稱設(shè)定文件231 )。系統(tǒng)管理者在設(shè)定文件231中指定成為TLB信息獲取對象的定時、成為TLB信息獲取對象的虛擬CPU、成為TLB信息獲取對象的物理CPU、獲取的TLB信息的輸出目的地等。設(shè)定文件231例如是磁盤14上的文件、從磁盤14的文件加載至存儲器16上的表等。CPU15執(zhí)行讀出設(shè)定文件231的信息的計(jì)算機(jī)程序,作為獲取收集上述TLB的信息的處理部的指定和收集上述TLB信息的定時的指定的單元發(fā)揮功能。<設(shè)定文件231的記述例>(I)收集定時的指定在對收集登記于TLB的信息的定時進(jìn)行指定的情況下,系統(tǒng)管理者在設(shè)定文件231中預(yù)先按以下方式記述。(1-1)操作系統(tǒng)11緊急停止(應(yīng)急)時;以下表示對登記于應(yīng)急產(chǎn)生時利用tlb-dump-cpu指定的CPU的TLB的信息進(jìn)行收集的情況的設(shè)定例。tlb-dump-timing=//panic//;(I - 2)啟動處理中的核心初始化時,即還不能夠使用終端的狀態(tài);以下表示對啟動處理過程中的核心初始化時登記于利用tlb-dump-cpu指定的CPU (虛擬CPU或物理CPU)的TLB的信息進(jìn)行收集的情況的設(shè)定例。tlb-dump-timing=//kernel-init//;(2 )收集TLB的對象的CPU的指定; 在對收集登記于TLB的信息的對象的CPU (虛擬CPU或物理CPU)進(jìn)行指定的情況下,系統(tǒng)管理者在設(shè)定文件231中預(yù)先按以下方式記述。(2 - I)發(fā)生某種異常而緊急停止的CPU的指定對登記于緊急停止了的虛擬CPU或者物理CPU的TLB的信息進(jìn)行收集的情況的設(shè)定例如下所示。此外,在虛擬CPU或者物理CPU緊急停止的情況下,從緊急停止的虛擬CPU或者物理CPU向操作系統(tǒng)11請求緊急停止。因此,操作系統(tǒng)11識別緊急停止了的虛擬CPU或者物理CPU。tlb_dump-cpu="panic";(2 — 2)基于CPU編號的CPU的指定(能夠指定多個);在系統(tǒng)管理者想指定收集TLB的信息的虛擬CPU或者物理CPU的情況下,進(jìn)行以下的指定。例如,對登記于CPU編號為O和2這2個CPU的TLB的信息進(jìn)行收集的情況的設(shè)定例如下所示。tlb_dump-cpu="0,2";
(2 — 3)搭載于CPU15的全部虛擬CPU或者物理CPU ;在對登記在搭載于CPU15的全部虛擬CPU或者物理CPU的TLB的信息進(jìn)行收集的情況的設(shè)定例如下所示。tlb_dump-cpu="all";(2-4)沒有對象CPU的指定(不收集登記于TLB的信息);不收集登記于TLB的信息的情況的設(shè)定例如下所示。tlb_dump-cpu="none";(3)在指定登記于TLB的信息的輸出目的地的情況下,系統(tǒng)管理者在設(shè)定文件231中預(yù)先按以下方式記述。(3— I)文件將登記于TLB的信息輸出至文件名/work/tlb-dump. txt的文件的情況的設(shè)定例如下所示。tlb-dump-output=7work/tlb_dump· txt";(3 —2)崩潰轉(zhuǎn)儲文件;向使信息處理裝置I緊急停止收集信息轉(zhuǎn)儲的文件輸出TLB的信息的例子如下所示。通過以下的指定,CPU15將使信息處理裝置I緊急停止時登記于TLB的信息作為信息轉(zhuǎn)儲的一部分收集,使信息處理裝置1,即操作系統(tǒng)11再起動。tlb-dump-output=//crash-dump//;(3 - 3)活動轉(zhuǎn)儲(運(yùn)轉(zhuǎn)系統(tǒng),收集信息轉(zhuǎn)儲)將在信息處理裝置I工作過程中登記于TLB的信息作為信息轉(zhuǎn)儲的一部分收集,在持續(xù)應(yīng)用信息處理裝置I時的設(shè)定例如下所示。tlb-dump-output="live_dump";(3 - 4)終端(也稱控制臺);將登記于TLB的信息輸出至控制臺時的設(shè)定例如下所示。tlb_dump-output="console";<在比較例的系統(tǒng)中的處理的流程圖>圖3例示成為實(shí)施例I的比較例的系統(tǒng)的處理的流程圖。假定比較例的系統(tǒng)構(gòu)成與圖I的情況相同。其中,能夠?qū)D3所示的處理例示為固件12上的工具的處理。另外,與圖I相同,假定在CPU15內(nèi),能夠利用多個虛擬CPU或物理CPU。比較例的工具從系統(tǒng)內(nèi)指定的單一虛擬CPU或者物理CPU收集TLB信息。因此,在從全部CPU收集TLB的信息的情況下,如圖3的處理所示,用戶與系統(tǒng)的虛擬CPU數(shù)或物理CPU數(shù)相應(yīng)地反復(fù)執(zhí)行TLB的獲取指令。此外,即便固件12上的程序發(fā)行反復(fù)TLB收集指令來代替用戶反復(fù)執(zhí)行的反復(fù)TLB收集指令,順序也與圖3相同。在圖3的處理中,首先用戶例如從終端通過固件12 ((Service Processor)等暫時停止操作系統(tǒng)ii (cii)。
接下來,用戶判定是否從搭載于系統(tǒng)的全部CPU (虛擬CPU或者物理CPU)收集登記于TLB的信息(C12)。在未從搭載于系統(tǒng)的全部CPU (虛擬CPU或者物理CPU)收集登記于TLB的信息的情況下,用戶在固件12上執(zhí)行TLB收集指令。于是,從固件12向系統(tǒng)的CPU15通知TLB收集對象的CPU編號和TLB信息收集請求。CPU15從利用指定的CPU編號確定出的虛擬CPU或者物理CPU收集TLB信息。而且,固件12從CPU15接受收集到的TLB信息。而且,固件12將收集到的TLB信息顯示于標(biāo)準(zhǔn)輸出17 (C13)。在從搭載于系統(tǒng)的全部CPU (虛擬CPU或者物理CPU)收集了登記于TLB的信息的情況下,用戶利用CPU15再次執(zhí)行操作系統(tǒng)11。<信息處理裝置I的處理的流程圖>圖4以及圖5表示實(shí)施例I的信息處理裝置I中收集TLB信息的處理的流程圖。如上述那樣,在信息處理裝置I中,預(yù)先在設(shè)定文件231中如tlb-dump-cpu=〃all〃等那樣記述作為對象的虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)的CPU編號。于是,通過操作系統(tǒng)11內(nèi)的信息收集部23的處理,系統(tǒng)管理者能夠從指定的虛擬CPU或者物理CPU收集TLB信息。此外,例如在為搭載了 UltraSPARC處理器的系統(tǒng)的情況下,在執(zhí)行信息收集部23的處理的CPU和收集對象的CPU —致時,信息收集部23執(zhí)行收集TLB信息的ASI指令。收集TLB信息的ASI指令與TLB收集指令相當(dāng)。此外,在為UltraSPARC處理器以外的處理器的情況下,只要執(zhí)行在各個處理器中準(zhǔn)備的TLB收集指令即可。另外,在執(zhí)行信息收集部23的處理的CPU和收集對象的CPU不一致時,信息收集部23指示執(zhí)行向其他的CPU發(fā)送中斷的ASI指令,利用收集對象的CPU執(zhí)行收集TLB信息的ASI指令。向其他的CPU發(fā)送中斷的ASI指令的詳細(xì)內(nèi)容記載在UltraSPARC處理器的手冊(UltraSPARC User’s Manual Revision 2, July 1997)的第 9 章。向其他的 CPU 發(fā)送中斷的指令也被稱作CPU間通信指令或交叉呼叫等。因此,在UltraSPARC處理器以外的處理器中,只要利用在各個處理器中準(zhǔn)備的CPU間通信指令即可。圖4是表示從實(shí)施例I的信息處理裝置I的操作系統(tǒng)11的啟動至停止的處理流程圖。在該處理中,假定CPU15的任意一個虛擬CPU(在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)執(zhí)行操作系統(tǒng)11的處理(也稱作進(jìn)程、線程)。另外,成為TLB獲取對象的虛擬CPU(在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)也可以是執(zhí)行操作系統(tǒng)11的處理的虛擬CPU(在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU),還可以是其他的虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)。但在以下的說明中,僅對CPU15執(zhí)行操作系統(tǒng)11的處理進(jìn)行說明。首先,根據(jù)系統(tǒng)管理者的起動指示,信息處理裝置I開始啟動處理(K1)。此外,將起動指示例如通過固件12通知給CPU15。于是,啟動處理開始后,CPU15判定是否存在TLB收集的指定(K2)。通過在啟動處理中CPU15能夠訪問設(shè)定文件231時讀取設(shè)定文件231進(jìn)行Κ2的判定即可。但也可以通過將設(shè)定文件231的設(shè)定內(nèi)容保持于啟動用的磁盤,在啟動處理時CPU15讀取設(shè)定文件231的設(shè)定內(nèi)容。這里,TLB收集的指定是啟動處理中的核心初始化時的TLB收集的指定,即是tlb-dump-timing=〃kernel-init〃。若存在TLB收集的指定,則CPU15執(zhí)行TLB收集處理(K3)。在K3中,CPU15作為TLB收集部23,執(zhí)行操作系統(tǒng)11所包含的計(jì)算機(jī)程序。接下來,CPU15成為中斷等待的狀態(tài)(K4)。此外,在沒有TLB收集的指定的情況下,CPU15也成為中斷等待的狀態(tài)。而且,若在CPU15中產(chǎn)生中斷,則根據(jù)中斷的種類啟動句柄,執(zhí)行與中斷的種類對應(yīng)的處理。例如,在中斷指示緊急停止的情況下(在K5為“是”的情況),CPU15執(zhí)行緊急停止的處理(K6)。而且,CPU15結(jié)束處理。
另外,在中斷不是緊急停止(在K5為“否”的情況),而是系統(tǒng)停止的情況(在K7為“是”的情況),CPU15判定是否存在TLB收集的指定(K9)。這里,TLB收集的指定是系統(tǒng)停止時的TLB收集的指定。若存在TLB收集的指定,則CPU15執(zhí)行TLB收集處理(K10)。而且,CPU15結(jié)束處理。此外,通過CPU15讀取設(shè)定文件231進(jìn)行K9的判定即可。另外,在中斷不是緊急停止,也不是系統(tǒng)停止的情況下(在K7為“否”的情況),CPU15執(zhí)行其他的處理(K8 )。然后,執(zhí)行CPU15的操作系統(tǒng)11的進(jìn)程(線程)等待中斷(K4 )。圖5例示緊急停止的處理(圖4的K6的詳細(xì)內(nèi)容)。CPU15利用操作系統(tǒng)11所包含的程序,執(zhí)行圖5所示的處理。在該處理中,首先,CPU15判定是否存在TLB收集的指定(K61)。通過CPU15讀取設(shè)定文件231來進(jìn)行K61的判定即可。這里,TLB收集的指定是緊急停止時的TLB收集的指定,即是tlb-dump-timing=〃panic〃。而且,在存在TLB收集的指定的情況下,CPU15執(zhí)行TLB收集處理(K62)。接下來,CPU15執(zhí)行應(yīng)急處理部22的處理(K63)。應(yīng)急處理部22的處理例如指圖2所示的顯示/記錄部221、文件同步處理部222、核心轉(zhuǎn)儲處理部223、再起動部224等的處理。圖6表示TLB收集處理的詳細(xì)例子。TLB收集處理例如是圖4的K3、K10、圖5的K62的處理的詳細(xì)內(nèi)容。CPU15執(zhí)行操作系統(tǒng)11所包含的程序,作為TLB信息收集部23發(fā)揮功能。因此,在圖6中,對TLB信息收集部23執(zhí)行處理進(jìn)行說明。在圖6的處理中,TLB信息收集部23從設(shè)定文件231讀出在參數(shù)tlb-dump-cpu以及tlb-dump-output中指定的值。而且,TLB信息收集部23判定在參數(shù)tlb-dump-cpu以及tlb-dump-output中指定的值,執(zhí)行與指定的值對應(yīng)的處理。例如,在參數(shù)tlb-dump-cpu的指定值為"panic"的情況下(在S12為是的情況),TLB信息收集部23從產(chǎn)生應(yīng)急的虛擬CPU(在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)收集TLB信息,暫時存儲于存儲器16上(S13)。另外,在參數(shù)tlb-dump-cpu的指定值為CPU編號的情況下(在S12為“否”,且在S14為“是”的情況),TLB信息收集部23從指定的CPU編號的虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)收集TLB信息,暫時存儲于存儲器16上(S15)。另外,在參數(shù)tlb-dump-cpu的指定值為〃all〃的情況下(在S12、S14為“否”,且在S16為“是”的情況下),TLB信息收集部23從CPU15內(nèi)的全部虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為全部物理CPU)收集TLB信息,暫時存儲于存儲器16上(S17)。
另外,在參數(shù)tlb-dump-cpu的指定值為"none"的情況下(在S12、S14、S16為“否”的情況),TLB信息收集部23不執(zhí)行TLB收集處理(S19)。而且,例如在參數(shù)tlb-dump-output的指定值為〃文件名〃的情況下(在S21為“是”的情況),TLB信息收集部23將暫時存儲于存儲器16上的收集完畢的TLB信息輸出至以文件名指定的磁盤14上的文件(S22)。另外,例如在參數(shù)tlb-dump-output的指定值為〃crash_dump〃的情況下(在S21為“否”,且在S23為“是”的情況),TLB信息收集部23將暫時存儲于存儲器16上的收集完畢的TLB信息與系統(tǒng)緊急停止時的信息轉(zhuǎn)儲信息一起輸出至標(biāo)準(zhǔn)輸出17(S24)。在S24的情況下,CPU15緊急停止。 另外,例如在參數(shù)tlb-dump-output的指定值為〃live_dump〃的情況下(在S21、S23為“否”,且在S25為“是”的情況),TLB信息收集部23將暫時存儲于存儲器16上的收集完畢的TLB信息與沒有系統(tǒng)緊急停止的通常運(yùn)用時的信息轉(zhuǎn)儲信息一起輸出至標(biāo)準(zhǔn)輸出17 (S26)。在S26的情況下,CPU15持續(xù)基于操作系統(tǒng)11的處理。另外,例如在參數(shù)tlb-dump-output的指定值為"console"的情況下(在S21為“是”的情況),TLB信息收集部23將暫時存儲于存儲器16上的收集完畢的TLB信息直接輸出至標(biāo)準(zhǔn)輸出(S28)。如以上所述,在實(shí)施例I中,設(shè)置于操作系統(tǒng)11內(nèi)的TLB信息收集部23以指定的定時收集登記于在設(shè)定文件231中指定的虛擬CPU或者物理CPU的TLB的信息。在設(shè)定文件231中的定時的指定例如包含啟動時、緊急停止時、系統(tǒng)停止時等。另外,在設(shè)定文件231中的虛擬CPU或者物理CPU的指定例如包含基于CPU編號的指定、緊急停止了的虛擬CPU、物理的指定、全部CPU指定等。并且,TLB信息收集部23將收集到的信息存儲于在設(shè)定文件231中指定的輸出目的地。因此,實(shí)施例I的信息處理裝置I能夠以用于調(diào)查操作系統(tǒng)11的障礙等故障的原因的信息收集以及動作確認(rèn)(回歸測試)為目的,收集登記于CPU15所包含的虛擬CPU或物理CPU的TLB的信息。在收集TLB信息時,若調(diào)查的故障、動作確認(rèn)有效,則CPU15能夠接受系統(tǒng)管理者考慮的信息的指定。而且,CPU15能夠挑選獲取接受了指定的信息。例如,假定在搭載了 512個邏輯CPU的信息處理裝置產(chǎn)生系統(tǒng)的緊急停止(應(yīng)急)的情況。在比較例的方法中,系統(tǒng)管理者反復(fù)(512次)執(zhí)行工具,收集登記于全部CPU的TLB的合計(jì)200萬以上的地址轉(zhuǎn)換信息。另一方面,在實(shí)施例I的信息處理裝置I中,如圖6所示,系統(tǒng)管理者能夠獲取指定的特定虛擬CPU或者物理CPU的TLB信息。另外,在信息處理裝置I中,系統(tǒng)管理者能夠收集成為緊急停止(應(yīng)急)原因的登記于虛擬CPU或者物理CPU的TLB的信息。因此,在信息處理裝置I中,與比較例的情況相比,能夠大幅減少收集的數(shù)據(jù)量和收集所花費(fèi)的時間。而且,如圖4、圖5所示,在信息處理裝置I中,能夠以系統(tǒng)管理者指定的特定的定時獲取TLB信息。此外,如圖4所示,信息獲取的定時并不限定于啟動時、系統(tǒng)停止時、緊急停止時,在其他的處理(圖4的K8)中也可以獲取信息。并且,在產(chǎn)生某些異常而使系統(tǒng)緊急停止的情況下,系統(tǒng)管理者為了利用固件12執(zhí)行指令,可以暫時不停止操作系統(tǒng)11。在信息處理裝置I中,系統(tǒng)管理者為了收集登記于TLB的信息,可以預(yù)先設(shè)定設(shè)定文件231中。因此,系統(tǒng)管理者在緊急停止時也能夠容易收集登記于TLB的信息。實(shí)施例2參照圖7,對實(shí)施例2的信息處理裝置I的處理進(jìn)行說明。在上述實(shí)施例I中,示出了以系統(tǒng)管理者指定的定時,收集指定的虛擬CPU或者物理CPU的TLB信息的處理例。在實(shí)施例2中,對產(chǎn)生應(yīng)急時,收集系統(tǒng)管理者指定的虛擬CPU或者物理CPU的TLB信息的處理例進(jìn)行說明。實(shí)施例2的其他構(gòu)成以及作用與實(shí)施例I的情況相同。因此,針對與實(shí)施例I相同的構(gòu)成要素省略其說明。另外,實(shí)施例I的附圖在實(shí)施例2中也能夠直接應(yīng)用,進(jìn)行以下的說明。圖7是例示實(shí)施例2的信息處理裝置I的動作的流程圖。在實(shí)施例2中,對在預(yù)先在設(shè)定文件 231 中指定了 tlb-dump_cpu=〃0,2〃、tlb-dump-output=〃crash_dump〃 的情況下,產(chǎn)生某些異常而進(jìn)行緊急停止(應(yīng)急)時的處理進(jìn)行說明。即,緊急停止時,收集登記于CPU編號O和CPU編號2的虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)的TLB 的信息以及信息轉(zhuǎn)儲。例如,若操作系統(tǒng)11檢測到異常,則執(zhí)行信息處理裝置I的緊急停止(應(yīng)急)。在實(shí)施例2中,在信息處理裝置I的緊急停止前,執(zhí)行操作系統(tǒng)11的虛擬CPU(或者物理CPU)調(diào)出TLB信息收集部23。與上述實(shí)施例I相同,在實(shí)施例2中,在CPU15內(nèi)的任意一個虛擬CPU (或者物理CPU)執(zhí)行程序的情況下,僅指CPU15執(zhí)行程序。即,CPU15執(zhí)行操作系統(tǒng)11所包含的程序作為TLB信息收集部23。以下,作為圖7的處理的執(zhí)行主體為TLB信息收集部23,對處理進(jìn)行說明。在圖7的處理中,在操作系統(tǒng)11的運(yùn)轉(zhuǎn)中,操作系統(tǒng)11檢測信息處理裝置I的某些異常,例如硬件異常等。例如通過硬件的自陷(trap)這樣的處理來檢測信息處理裝置I的異常。于是,在正在執(zhí)行操作系統(tǒng)11的虛擬CPU (或者物理CPU)中,在分別與自陷對應(yīng)的中斷矢量中設(shè)定的處理程序被起動。而且,句柄請求操作系統(tǒng)11的緊急停止(S31)。若產(chǎn)生緊急停止的請求,則操作系統(tǒng)11調(diào)出TLB信息收集部23 (S32)。例如,也可以在句柄中執(zhí)行S32的處理。于是,TLB信息收集部23從TLB信息收集設(shè)定文件231讀取以下的信息(S33)。即,tlb-dump_cpu="0,2" ;tlb-dump-output="crash_dump〃 ;通過 S33,TLB 信息收集部 23識別指定處理對象的虛擬CPU (或者物理CPU)的CPU編號和收集的TLB信息的輸出目的地。接下來,TLB信息收集部23判定是否從全部收集對象的虛擬CPU (或者物理CPU)收集了登記于TLB的信息(S34)。在未從全部收集對象的虛擬CPU (或者物理CPU)收集登記于TLB的信息的情況下,TLB信息收集部23判定執(zhí)行TLB信息收集部23的處理的虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)和收集TLB信息的對象的虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)是否一致(S35)。在S35的判定中,在判定為不一致的情況下,TLB信息收集部23指示收集TLB信息的對象的虛擬CPU (在沒有虛擬CPU的結(jié)構(gòu)的情況下為物理CPU)執(zhí)行收集TLB信息的ASI指令。而且,指示的結(jié)果,將收集的信息存儲于存儲器上。在S36,例如通過在CPU間通知中斷來進(jìn)行從一個虛擬CPU (或者物理CPU)向其他的虛擬CPU (或者物理CPU)指示指令的處理。CPU間的中斷也被稱作交叉呼叫。在接受了 CPU間的中斷的其他虛擬CPU (或者物理CPU)中,與通常的中斷相同,控制移動至處理程序。而且,進(jìn)行與CPU間的中斷對應(yīng)的規(guī)定處理,例如進(jìn)行登記于處理程序執(zhí)行中的虛擬CPU (或者物理CPU)的TLB的信息的收集。并且,收集的信息被存儲于存儲器16上的規(guī)定區(qū)域,例如被存儲于多個虛擬CPU間的共享存儲器,交接給TLB信息收集部23執(zhí)行中的虛擬CPU (或者物理CPU)。TLB信息收集部23執(zhí)行中的虛擬CPU (或者物理CPU)獲取通過指示了 ASI指令的執(zhí)行的虛擬CPU (或者物理CPU)而收集的信息,暫時存儲于存儲器14 (S36)。在S35的判定中,在判定為一致的情況下,TLB信息收集部23在TLB信息收集部23執(zhí)行中的虛擬CPU (或者物理CPU)中,執(zhí)行收集TLB信息的ASI指令。而且,TLB信息收集部23將收集的信息暫時存儲于存儲器14 (S37)。而且,TLB信息收集部23使控制返S34。若從全部收集對象的虛擬CPU (或者物理CPU)收集登記于TLB的信息,則TLB信息收集部23使控制進(jìn)入S38。于是,執(zhí)行應(yīng)急處理部22的處理,例如執(zhí)行基于應(yīng)急消息 的顯示/存儲部221的處理、基于文件系統(tǒng)的同步處理部222的處理、基于核心轉(zhuǎn)儲處理部223的處理。在實(shí)施例2中,向核心轉(zhuǎn)儲處理部223的輸出目的地輸出TLB信息收集部23所收集的TLB的信息。而且,再起動部224進(jìn)行信息處理裝置I的再起動(S38)。如以上所述,實(shí)施例2的TLB信息收集部23按照TLB信息收集設(shè)定文件231的設(shè)定,從CPU編號為O和2的虛擬CPU (或者物理CPU)收集登記于TLB的信息,存儲于存儲器上。然后,執(zhí)行系統(tǒng)的緊急停止(應(yīng)急),將收集的TLB信息作為崩潰轉(zhuǎn)儲輸出至轉(zhuǎn)儲文件。此外,在實(shí)施例2中,示出了緊急停止時獲取TLB信息的例子,但通過執(zhí)行實(shí)施例I的圖4、圖5所示的處理,也能夠以系統(tǒng)管理者指定的定時執(zhí)行TLB收集處理。S卩,根據(jù)實(shí)施例2的信息處理裝置1,能夠在系統(tǒng)管理者指定的定時,例如緊急停止時,從指定的虛擬CPU或者物理CPU收集TLB信息。而且,能夠?qū)⑹占腡LB信息輸出至系統(tǒng)管理者指定的輸出目的地。實(shí)施例3參照圖8,對實(shí)施例3的信息處理裝置I的處理進(jìn)行說明。在上述實(shí)施例I中,示出了以系統(tǒng)管理者指定的定時,獲取指定的虛擬CPU或者物理CPU的TLB信息的處理例。在實(shí)施例2中,對產(chǎn)生應(yīng)急時,收集系統(tǒng)管理者指定的虛擬CPU或者物理CPU的TLB信息的處理例進(jìn)行了說明。但另一方面,在實(shí)施例3中,對在系統(tǒng)管理者按下了信息處理裝置I所具備的開關(guān)13時,獲取TLB信息的處理例進(jìn)行說明。實(shí)施例3的其他構(gòu)成以及作用與實(shí)施例I或者實(shí)施例2的情況相同。因此,對與實(shí)施例I或者實(shí)施例2相同的構(gòu)成要素省略其說明。另外,實(shí)施例I、實(shí)施例2的附圖在實(shí)施例3中也能夠直接適用,進(jìn)行以下的說明。圖8是例示系統(tǒng)管理者按下了信息處理裝置I所具備的開關(guān)13時的處理的流程圖。此外,圖8例如假定預(yù)先在設(shè)定文件231指定了 tlb-dump-cpu=〃al I 〃、tlb-dump-output=〃crash-dump〃的情況。但信息處理裝置I的TLB收集處理并不局限于tlb-dump_cpu=〃all〃,tlb-dump-output=〃crash-dump〃,其他的設(shè)定也一樣,能夠應(yīng)用實(shí)施例3的處理。首先,若按下設(shè)置于信息處理裝置I的開關(guān)13,則固件12通知CPU15 (分配至操作系統(tǒng)11的虛擬CPU或者物理CPU)中斷。若CPU15接收中斷,則通過中斷矢量,與中斷對應(yīng)的句柄被起動,操作系統(tǒng)11接收中斷(S41)。若操作系統(tǒng)11接收與開關(guān)13的按下對應(yīng)的中斷,則調(diào)出TLB信息收集獲取部23(S42)。TLB信息收集獲取部23從設(shè)定文件231讀取以下的信息(S43)。BP,tlb_dump-cpu=〃all〃 ;tlb-dump-output=〃crash_dump〃 ;通過 S43, TLB 信息收集部 23 識別指定處理對象的虛擬CPU (或者物理CPU)的CPU編號和收集的TLB信息的輸出目的地。S43 - S48的處理與圖7的S33 — S38的處理相同,所以省略其說明。但在圖8中,收集登記于全部的虛擬CPU或者物理CPU的TLB的信息。如以上所述,若按下信息處理裝置I所具備的開關(guān)13,則TLB信息收集部23根據(jù)設(shè)定文件231的指定,從指定的虛擬CPU或者物理CPU收集登記于TLB的信息,輸出至指定的輸出目的地。因此,信息處理裝置I按照實(shí)施例3的順序,也能夠以指定的定時,從指定的對象收集TLB信息,提供給系統(tǒng)管理者。 例如,在產(chǎn)生某些異常,系統(tǒng)暫時掛起而不能夠登陸該系統(tǒng)的情況、在不能夠使用用于進(jìn)行指令操作的終端的情況下,也產(chǎn)生不能夠執(zhí)行工具的情況,其中,該工具用于輸出登記于各CPU(虛擬CPU或者物理CPU)的TLB的信息。因此,不能收集登記于各CPU的TLB的信息,所以也存在不能調(diào)查操作系統(tǒng)11的障礙等故障的原因的情況。根據(jù)實(shí)施例3的處理,TLB信息收集部23在計(jì)算機(jī)的管理者通過開關(guān)13指定的定時,自動收集登記于計(jì)算機(jī)的管理者預(yù)先指定的CPU的TLB的信息,存儲至系統(tǒng)管理者指定的輸出目的地。另外,在信息處理裝置I暫時掛起而不能登陸的情況下、在不能使用用于進(jìn)行指令操作的終端的情況下,也能夠迅速實(shí)施用于調(diào)查故障的原因的信息收集以及信息處理裝置I的恢復(fù)處理。實(shí)施例4在上述實(shí)施例I 一 3中,示出了以系統(tǒng)管理者指定的定時,獲取指定的虛擬CPU或者物理CPU的TLB信息的處理例。在實(shí)施例4中,對在獲取TLB信息時鎖定TLB的項(xiàng)的處理例進(jìn)行說明,其中,TLB的項(xiàng)用于獲得存儲了被執(zhí)行的ASI指令的物理地址。實(shí)施例4的其他構(gòu)成以及作用與實(shí)施例I的情況相同。因此,對與實(shí)施例I一 3相同的構(gòu)成要素省略其說明。另外,實(shí)施例I 一 3的附圖在實(shí)施例4中也能夠直接適用,進(jìn)行以下的說明。在操作系統(tǒng)11的運(yùn)轉(zhuǎn)中,頻繁更新登記于各CPU (虛擬CPU或物理CPU)的TLB的信息。在以故障的原因調(diào)查、動作確認(rèn)為目的,利用固件12的指令等外部工具收集TLB的信息的情況下,存在在信息收集處理中登記于TLB的信息被更新的情況。于是,產(chǎn)生收集的信息和產(chǎn)生問題時登記于TLB的信息或在系統(tǒng)管理者指定的定時登記于TLB的信息不一致的情況。而且,信息不一致的結(jié)果,也存在問題的解析產(chǎn)生不合適的情況。為了抑制這樣的不合適的產(chǎn)生,例如也考慮暫時停止操作系統(tǒng)11。但即便通過暫時停止操作系統(tǒng)11的處理,也存在更新登記于各CPU (虛擬CPU或物理CPU)的TLB的信息的可能性。圖9是例示對與配置TLB信息收集部23的命令編碼和數(shù)據(jù)區(qū)域的存儲區(qū)域?qū)?yīng)的TLB的項(xiàng)進(jìn)行鎖定的處理的流程圖。例如,在為搭載了 UltraSPARC處理器的系統(tǒng)的情況下,在TLB設(shè)置有鎖定位。因此,實(shí)施例3的信息處理裝置I為了在將TLB信息收集部23的命令編碼(ASI指令)和數(shù)據(jù)區(qū)域配置于存儲器上時,不刪除與配置的存儲器上的地址對應(yīng)的TLB項(xiàng)地設(shè)定鎖定位。設(shè)定了鎖定位的TLB項(xiàng)成為改寫禁止,維持TLB項(xiàng)的信息。
此外,也可以代替鎖定TLB項(xiàng)從而使用鎖定的TLB項(xiàng),而在與預(yù)先鎖定的TLB項(xiàng)對應(yīng)的存儲區(qū)域配置TLB信息收集部23的命令編碼(ASI指令)和數(shù)據(jù)區(qū)域。另外,還可以在與預(yù)先登記(鎖定)于TLB的虛擬地址對應(yīng)的實(shí)際地址的存儲器中配置命令編碼(ASI指令)和數(shù)據(jù)區(qū)域。總之,實(shí)施例4的處理抑制執(zhí)行用于TLB信息的收集的命令編碼(ASI指令)所帶來的副作用而引起的TLB項(xiàng)的信息的更新。例如在操作系統(tǒng)11的啟動時,起動操作系統(tǒng)11的虛擬CPU或者物理CPU執(zhí)行圖9的處理即可。以下,對CPU15執(zhí)行圖9的處理進(jìn)行說明。在圖9的處理中,首先,CPU15確保用于配置TLB信息收集部23的虛擬存儲區(qū)域
(SI)。接下來,CPU15確保與虛擬存儲區(qū)域?qū)?yīng)的物理存儲區(qū)域(S2)。
接下來,CPU15創(chuàng)建邏輯/物理地址轉(zhuǎn)換信息,設(shè)定鎖定位,登記至TLB (S3)。CPU15鎖定登記了信息的項(xiàng),作為抑制登記完畢的信息的改寫單元,執(zhí)行S3的處理。而且,CPU15將與TLB信息收集部23對應(yīng)的操作系統(tǒng)11的程序,和收集的信息的儲存目的地配置于與鎖定的TLB對應(yīng)的存儲器14上(S4)。CPU15執(zhí)行S4的處理作為登記TLB訪問命令的單元。通過以上的處理,能夠抑制利用TLB信息收集部23的執(zhí)行收集TLB信息的ASI命令的發(fā)行所伴隨著的TLB項(xiàng)的刪除或更新。即,抑制對通過執(zhí)行信息收集部23的處理而登記于TLB的信息進(jìn)行更新。因此,系統(tǒng)管理者在所希望的定時能夠獲取登記于所希望的TLB項(xiàng)的/[目息的可能性提聞。鎖定TLB的項(xiàng)的方法(鎖定位)的詳細(xì)內(nèi)容記載于UltraSPARC處理器的手冊(UltraSPARC User’s Manual Revision 2, July 1997)的第 6 章。但在 UltraSPARC 處理器以外的處理器中,根據(jù)各個處理器的體系結(jié)構(gòu),也提供鎖定TLB的項(xiàng)的功能。因此,實(shí)施例4的處理在UltraSPARC處理器以外的處理器中也能夠以相同的順序應(yīng)用。在實(shí)施例4的信息處理裝置I中能夠使操作系統(tǒng)11運(yùn)轉(zhuǎn)地收集/保存登記于CPU的TLB的信息。在以往的方法中,為了防止登記于TLB的信息的更新,需要暫時停止操作系統(tǒng),即便通過該停止處理,也存在更新登記于TLB的信息的可能性。但在實(shí)施例4的信息處理裝置I中,在將TLB信息收集處理的命令編碼和數(shù)據(jù)區(qū)域配置于存儲器上時,為了不從TLB刪除對應(yīng)的地址轉(zhuǎn)換信息而進(jìn)行鎖定,或預(yù)先配置在登記(鎖定)于TLB的虛擬地址上。因此,抑制通過執(zhí)行命令編碼而更新登記于TLB的信息。因此,為了 TLB收集,即便不停止操作系統(tǒng)11,也能夠收集故障的原因調(diào)查、動作確認(rèn)所需要的信息?!队?jì)算機(jī)能夠讀取的記錄介質(zhì)》能夠在計(jì)算機(jī)等可讀取的記錄介質(zhì)上記錄使計(jì)算機(jī)以外的設(shè)備、裝置(以下稱計(jì)算機(jī)等)實(shí)現(xiàn)上述任意一個功能的程序。而且,能夠通過使計(jì)算機(jī)等讀入并執(zhí)行該記錄介質(zhì)的程序,來提供該功能。這里,計(jì)算機(jī)等可讀取的記錄介質(zhì)指通過電、磁、光、機(jī)械或者化學(xué)作用積蓄數(shù)據(jù)、程序等信息,并能夠從計(jì)算機(jī)等讀取的記錄介質(zhì)。這樣的記錄介質(zhì)中作為能夠從計(jì)算機(jī)等取下的記錄介質(zhì),例如有軟盤、光磁盤、CD — R0M、CD — R / W、DVD、BD (Blu-ray Disc),DAT(Digital Audio Tape)、8mm磁帶、閃存等存儲卡等。另外,作為固定于計(jì)算機(jī)等的記錄介質(zhì)有硬盤、ROM等。
附圖標(biāo)記說明 I…信息處理裝置;11···操作系統(tǒng);12···固件;13···開關(guān);14…磁盤;15…CPU ;16…存儲器;17…標(biāo)準(zhǔn)輸出;21···中斷處理部;22…應(yīng)急處理部;23··· Β信息收集部;231··· TLB信息收集用設(shè)定文件
權(quán)利要求
1.一種信息處理裝置,其特征在于,具備 分別具有TLB即旁路轉(zhuǎn)換緩沖器的多個處理部; 獲取所述多個處理部中對所述TLB的信息進(jìn)行收集的處理部的指定和對所述TLB的信息進(jìn)行收集的定時的指定的單元;以及 在所述指定的定時從所述指定的處理部收集所述TLB的信息的單元。
2.根據(jù)權(quán)利要求I所述的信息處理裝置,其特征在于,還具備 鎖定包含于所述TLB并登記了信息的項(xiàng),抑制登記完畢的信息的改寫的單元; 在通過所述鎖定的項(xiàng)訪問的存儲器上登記收集所述TLB的信息的TLB收集命令的單元。
3.一種信息處理方法,其特征在于, 具備分別具有TLB即旁路轉(zhuǎn)換緩沖器的多個處理部的計(jì)算機(jī)執(zhí)行如下步驟 獲取所述多個處理部中對所述TLB的信息進(jìn)行收集的處理部的指定和對所述TLB的信息進(jìn)行收集的定時的指定的步驟; 在所述指定的定時從所述指定的處理部收集所述TLB的信息的步驟。
4.根據(jù)權(quán)利要求3所述的信息處理方法,其特征在于,還執(zhí)行如下步驟 鎖定包含于所述TLB并登記了信息的項(xiàng),抑制登記完畢的信息的改寫的步驟; 在通過所述鎖定的TLB的項(xiàng)訪問的存儲器上登記收集所述TLB的信息的TLB收集命令的步驟。
5.一種程序,其特征在于, 使具備分別具有TLB (Translation Lookaside Buffer)的多個處理部的計(jì)算機(jī)執(zhí)行如下步驟 獲取所述多個處理部中對所述TLB的信息進(jìn)行收集的處理部的指定和對所述TLB的信息進(jìn)行收集的定時的指定的步驟; 在所述指定的定時從所述指定的處理部收集所述TLB的信息的步驟。
6.根據(jù)權(quán)利要求5所述的程序,其特征在于,還執(zhí)行如下步驟 鎖定包含于所述TLB并登記了信息的項(xiàng),抑制登記完畢的信息的改寫的步驟; 在通過所述鎖定的TLB的項(xiàng)訪問的存儲器上登記收集所述TLB的信息的TLB收集命令的步驟。
全文摘要
信息處理裝置具備分別具有TLB(Translation Lookaside Buffer旁路轉(zhuǎn)換緩沖器)的多個處理部;獲取多個處理部中收集TLB信息的處理部的指定和收集TLB信息的定時的指定的單元;以及在指定的定時從指定的處理部收集TLB信息的單元。
文檔編號G06F11/34GK102792280SQ20108006523
公開日2012年11月21日 申請日期2010年3月9日 優(yōu)先權(quán)日2010年3月9日
發(fā)明者安樂隆史, 山名史哲, 近藤浩 申請人:富士通株式會社