專利名稱:暫存器數(shù)據(jù)擷取方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明為一種暫存器數(shù)據(jù)擷取方法與裝置,尤指應(yīng)用于計算機系統(tǒng)上的暫存器數(shù)據(jù)擷取方法與裝置。
背景技術(shù):
除錯(debug)是計算機系統(tǒng)軟件/硬件/固件在設(shè)計過程中一項重要的操作,而除錯程序中有一主要操作就是讀取計算機系統(tǒng)中各類暫存器中的數(shù)值來供除錯人員檢視。而現(xiàn)今用以檢查計算機系統(tǒng)中各類暫存器的除錯工具軟件都是執(zhí)行于操作系統(tǒng)已正常運作的環(huán)境下的應(yīng)用程序,例如常見的kerne ldebugger of Microsoft。但如此一來,在操作系統(tǒng)完成加載且正常運作前所發(fā)生的問題并無法通過此類除錯工具軟件來完成查核。且當(dāng)操作系統(tǒng)發(fā)生不正常狀況時(例如操作系統(tǒng)當(dāng)機),已知的除錯工具軟件也將隨之停止運作而無法正常發(fā)揮功能。
舉例來說,在操作系統(tǒng)加載前,計算機系統(tǒng)的基本輸入輸出系統(tǒng)(BIOS)會進行開機自我測試(POST)程序,用以適當(dāng)?shù)貙τ嬎銠C系統(tǒng)中包含中央處理單元、芯片組等的邏輯元件進行初始化的操作,而開機自我測試(POST)的程序是由多個步驟所組成。但在開機自我測試(POST)的程序中產(chǎn)生當(dāng)機的現(xiàn)象,現(xiàn)存已知的除錯工具軟件并無法讀取計算機系統(tǒng)中各類暫存器的數(shù)值,所以無法對導(dǎo)致錯誤發(fā)生的原因進行分析,而只能檢視基本輸入輸出系統(tǒng)(BIOS)的原始碼內(nèi)容來尋找錯誤。
另外,即使在操作系統(tǒng)已完成加載但后來發(fā)生當(dāng)機現(xiàn)象時,運作在操作系統(tǒng)環(huán)境下的已知除錯工具軟件也將隨之停止運作而無法讀取計算機系統(tǒng)中各類暫存器的數(shù)值。因此如何改善上述已知手段缺失,為開發(fā)本發(fā)明的主要目的。
發(fā)明內(nèi)容
本發(fā)明為一種暫存器數(shù)據(jù)擷取方法,應(yīng)用于計算機系統(tǒng)之上,該計算機系統(tǒng)包含有中央處理單元與芯片組,其包含下列步驟因應(yīng)事件發(fā)生而發(fā)出觸發(fā)信號至該芯片組;該芯片組發(fā)出中斷信號至該中央處理單元,使該中央處理單元執(zhí)行處理例程;該處理例程根據(jù)地址數(shù)據(jù)去該地址數(shù)據(jù)所指向的該計算機系統(tǒng)的特定暫存器中讀取數(shù)據(jù)并轉(zhuǎn)存于數(shù)據(jù)轉(zhuǎn)移暫存器;以及提供使用者接口來讀取該數(shù)據(jù)轉(zhuǎn)移暫存器中的數(shù)據(jù)。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該觸發(fā)信號的規(guī)格可為SERIRQ信號、GPI信號或EXTSMI#信號。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該特定暫存器可以是該中央處理單元的內(nèi)部暫存器、PCI配置暫存器或是定義于存儲器空間地址或輸入輸出空間地址上的暫存器。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該地址數(shù)據(jù)存放于使用者地址暫存器中,而該使用者地址暫存器中的該地址數(shù)據(jù)可以利用該使用者接口來進行設(shè)定。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該使用者接口可為指撥開關(guān)及/或具有顯示器的主機計算機。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該事件可以是該計算機系統(tǒng)的開機自我測試程序中的某一步驟結(jié)束時、某一預(yù)定周期時間到達時、或是使用者觸發(fā)。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該芯片組發(fā)出的該中斷信號為系統(tǒng)管理中斷信號,而該中央處理單元便進入系統(tǒng)管理模式并呼叫位于基本輸入輸出系統(tǒng)芯片中的該處理例程。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該處理例程是從地址數(shù)據(jù)暫存器中讀取該地址數(shù)據(jù)。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該處理例程是根據(jù)交握暫存器中所存放的服務(wù)完成旗標(biāo)與交易請求狀態(tài)旗標(biāo)來進行數(shù)據(jù)讀取操作,而該數(shù)據(jù)讀取操作包含下列步驟判斷該交易請求狀態(tài)旗標(biāo)是否被設(shè)定成“1”,若是,便根據(jù)該地址數(shù)據(jù)指向的該特定暫存器中讀取數(shù)據(jù)并儲存至該數(shù)據(jù)轉(zhuǎn)移暫存器,然后將交易請求狀態(tài)旗標(biāo)清除為“0”,然后判斷該服務(wù)完成旗標(biāo)是否被設(shè)定成“1”,若是,將服務(wù)完成的旗標(biāo)清除為“0”并跳出該處理例程及該系統(tǒng)管理模式;以及若判斷該服務(wù)完成旗標(biāo)為“0”則回到上一步驟。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取方法,其中該交握暫存器為讀/寫一次清除式暫存器,當(dāng)處理例程向該交握暫存器的相對位置寫入“1”時,便可將該清除交易請求狀態(tài)旗標(biāo)或該服務(wù)完成旗標(biāo)清除為“0”。
本發(fā)明的另一方面為一種暫存器數(shù)據(jù)擷取裝置,應(yīng)用于計算機系統(tǒng)之上,該計算機系統(tǒng)包含有中央處理單元與芯片組,該暫存器數(shù)據(jù)擷取裝置包含觸發(fā)信號產(chǎn)生器,其是因應(yīng)事件發(fā)生而發(fā)出觸發(fā)信號至該芯片組,用以觸發(fā)該芯片組發(fā)出中斷信號至該中央處理單元,而使該中央處理單元執(zhí)行處理例程;使用者地址暫存器,該處理例程是根據(jù)該使用者地址暫存器中的地址數(shù)據(jù)去該地址數(shù)據(jù)所指向的該計算機系統(tǒng)的特定暫存器中讀取數(shù)據(jù);數(shù)據(jù)轉(zhuǎn)移暫存器,供該處理例程從該特定暫存器中讀出的數(shù)據(jù)進行儲存;以及使用者接口,信號連接至該數(shù)據(jù)轉(zhuǎn)移暫存器、該使用者地址暫存器以及該觸發(fā)信號產(chǎn)生器,其是用來讀取該數(shù)據(jù)轉(zhuǎn)移暫存器中的數(shù)據(jù)并對該使用者地址暫存器以及該觸發(fā)信號產(chǎn)生器輸入數(shù)據(jù)。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該觸發(fā)信號的規(guī)格可為SERIRQ信號、GPI信號或EXTSMI#信號。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該特定暫存器可以是該中央處理單元的內(nèi)部暫存器、PCI配置暫存器或是定義于存儲器空間地址或輸入輸出空間地址上的暫存器。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該使用者地址暫存器中的該地址數(shù)據(jù)可以利用該使用者接口來進行設(shè)定。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該使用者接口可為指撥開關(guān)及/或具有顯示器的主機計算機。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該事件可以是該計算機系統(tǒng)的開機自我測試程序中的某一步驟結(jié)束時、某一預(yù)定周期時間到達時、或是使用者觸發(fā)。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該芯片組發(fā)出的該中斷信號為系統(tǒng)管理中斷信號,而該中央處理單元便進入系統(tǒng)管理模式并呼叫位于基本輸入輸出系統(tǒng)芯片中的該處理例程。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中還包含交握暫存器,該交握暫存器存放有服務(wù)完成旗標(biāo)與交易請求狀態(tài)旗標(biāo),而該處理例程是根據(jù)該服務(wù)完成旗標(biāo)與該交易請求狀態(tài)旗標(biāo)來進行數(shù)據(jù)讀取操作,而該數(shù)據(jù)讀取操作包含下列步驟判斷該交易請求狀態(tài)旗標(biāo)是否被設(shè)定成“1”,若是,便根據(jù)該地址數(shù)據(jù)指向的該特定暫存器中讀取數(shù)據(jù)并儲存至該數(shù)據(jù)轉(zhuǎn)移暫存器,然后將交易請求狀態(tài)旗標(biāo)清除為“0”,然后判斷該服務(wù)完成旗標(biāo)是否被設(shè)定成“1”,若是,將服務(wù)完成的旗標(biāo)清除為“0”并跳出該處理例程及該系統(tǒng)管理模式;以及若判斷該服務(wù)完成旗標(biāo)為“0”則回到上一步驟。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該交握暫存器為讀/寫一次清除式暫存器,當(dāng)處理例程向該交握暫存器的相對位置寫入“1”時,便可將該清除交易請求狀態(tài)旗標(biāo)或該服務(wù)完成旗標(biāo)清除為“0”。
根據(jù)上述構(gòu)想,本發(fā)明所述的暫存器數(shù)據(jù)擷取裝置,其中該觸發(fā)信號產(chǎn)生器、該使用者地址暫存器、該數(shù)據(jù)轉(zhuǎn)移暫存器、該交握暫存器的電路是可集成于該芯片組中。
本發(fā)明得通過下列圖式及說明,俾得更深入的了解圖1,其是本發(fā)明為改善已知手段所開發(fā)出來的除錯系統(tǒng)應(yīng)用于計算機系統(tǒng)中的功能方塊示意圖。
圖2,其是本發(fā)明除錯硬件單元內(nèi)部功能方塊示意圖。
圖3,其是內(nèi)建于基本輸入輸出系統(tǒng)芯片的處理例程執(zhí)行時的工作步驟流程圖。
圖4,其是將本發(fā)明軟硬件兩部分集成后進行的工作步驟流程示意圖。
本發(fā)明圖式中所包含的各元件列式如下中央處理單元10 芯片組11基本輸入輸出系統(tǒng)芯片12 除錯系統(tǒng)13除錯硬件單元131處理例程132總線110除錯硬件單元131開機自我測試碼暫存器1310 觸發(fā)信號產(chǎn)生器1311使用者地址暫存器1312 數(shù)據(jù)轉(zhuǎn)移暫存器1313交握暫存器1314 使用者接口131具體實施方式
請參見圖1,其是本發(fā)明為改善已知手段所開發(fā)出來的除錯系統(tǒng)應(yīng)用于計算機系統(tǒng)中的功能方塊示意圖,其中中央處理單元10、芯片組11以及基本輸入輸出系統(tǒng)芯片12是計算機系統(tǒng)不可或缺的硬件與固件,而本發(fā)明所開發(fā)的除錯系統(tǒng)13則包含兩個部分的開發(fā),第一部分是除錯硬件單元131,其是通過總線110來與芯片組11進行信號傳輸,而第二部分則是可內(nèi)建于基本輸入輸出系統(tǒng)芯片12的處理例程(handler routine)132。以下對兩者的細節(jié)與運作進行詳細說明。
首先,除錯硬件單元131可以用PCI總線元件或LPC總線元件的形式完成,意即總線110可用PCI總線或LPC總線來完成。而除錯硬件單元131內(nèi)部功能方塊示意圖則如圖2的所示,其包含有開機自我測試碼暫存器(POSTcode register)1310、觸發(fā)信號產(chǎn)生器1311、使用者地址暫存器1312、數(shù)據(jù)轉(zhuǎn)移(dump)暫存器1313、交握(hand shake)暫存器1314以及使用者接口1315,其中開機自我測試碼暫存器(POST code register)1310用來擷取總線110上所傳送的開機自我測試碼(POST code),開機自我測試碼(POST code)代表開機自我測試程序完成到那一個步驟的代碼,而開機自我測試碼暫存器(POSTcode register)1310中的開機自我測試碼(POST code)可被使用者接口1315來讀取。
至于觸發(fā)信號產(chǎn)生器1311則是因應(yīng)事件發(fā)生而發(fā)出系統(tǒng)管理中斷(System Management Interrupt,簡稱SMI)的觸發(fā)信號到芯片組11,進而使芯片組11發(fā)出該系統(tǒng)管理中斷(SMI)至中央處理單元10,讓中央處理單元10進入系統(tǒng)管理模式(System Management Mode,簡稱SMM)而呼叫位于基本輸入輸出系統(tǒng)芯片12中的處理例程132。而該觸發(fā)信號的實現(xiàn)方式基本上需因應(yīng)芯片組11可支持的規(guī)格,而可以是GPI信號、EXTSMI#信號或SERIRQ信號等,至于上述事件可以是開機自我測試程序中的某一步驟結(jié)束時,或是某一預(yù)定周期時間到達時,或是使用者觸發(fā)時等等。
而使用者地址暫存器1312則是提供給使用者填入地址數(shù)據(jù),該地址數(shù)據(jù)是指向特定暫存器,而該特定暫存器可以是中央處理單元10的內(nèi)部暫存器、PCI配置暫存器、或是定義于某一個存儲器空間地址(memory space address)或輸入輸出空間地址(IO space address)上的暫存器。所以根據(jù)地址數(shù)據(jù)所指向的計算機系統(tǒng)的特定暫存器,該處理例程(handler routine)132得以從特定暫存器中讀取數(shù)據(jù),而從處理例程的角度看過來,使用者地址暫存器1312則是一個只讀暫存器(read-only register)。
而數(shù)據(jù)轉(zhuǎn)移暫存器(dump register)1313則提供處理例程(handlerroutine)132轉(zhuǎn)存從特定暫存器中所讀取到的數(shù)據(jù)。至于交握暫存器1314則用以存放兩個旗標(biāo)值,一個為服務(wù)完成(service_complete)旗標(biāo),另一個為交易請求狀態(tài)(Transaction_Request)旗標(biāo),而該交握暫存器1314較佳可為讀/寫一次清除(read/write-one-clear)式暫存器來完成。
至于使用者接口1315則是提供使用者對上述各類暫存器進行數(shù)值輸入或是觀察其中存放的數(shù)值,其可用指撥開關(guān)(DIP SWITCH)所完成的使用者接口1315來進行數(shù)值輸入的工作,而通過一臺具有顯示器的主機計算機所完成的使用者接口1315,便可對除錯硬件單元131所讀出的數(shù)值進行觀察。而上述的開機自我測試碼暫存器(POST code register)1310、觸發(fā)信號產(chǎn)生器1311、使用者地址暫存器1312、數(shù)據(jù)轉(zhuǎn)移(dump)暫存器1313以及交握(handshake)暫存器1314皆可集成于芯片組中,或是一起與使用者接口1315一起完成于獨立于計算機系統(tǒng)外的裝置中。
再請參見圖3,其是內(nèi)建于基本輸入輸出系統(tǒng)芯片12的處理例程132執(zhí)行時的工作步驟流程圖,首先,步驟31為先判斷交易請求狀態(tài)(Transaction_Request)旗標(biāo)是否設(shè)定成“1”,若是,便進入步驟32而根據(jù)地址暫存器1312中的地址數(shù)據(jù)指向的暫存器中讀取數(shù)據(jù),進入步驟33后便將讀取到的數(shù)據(jù)儲存至數(shù)據(jù)轉(zhuǎn)移暫存器(dump register),而步驟34則是清除交易請求狀態(tài)旗標(biāo)為“0”,然后進入服務(wù)是否結(jié)束的判斷(步驟35),若“是”(即服務(wù)完成的旗標(biāo)已設(shè)為“1”)則進入步驟36來清除服務(wù)完成的旗標(biāo)并跳出處理例程132及系統(tǒng)管理模式,若“否”則回到步驟31。如此一來,本發(fā)明處理例程132在被呼叫后便可執(zhí)行讀取地址數(shù)據(jù)所指向的暫存器中數(shù)據(jù)的操作。而當(dāng)交握暫存器1314為讀/寫一次清除(read/write-one-clear)式暫存器時,處理例程132只需向該交握暫存器1314的相對位置寫入“1”,便可將清除交易請求狀態(tài)旗標(biāo)或服務(wù)完成的旗標(biāo)清除為“0”,可簡化軟件程序代碼的復(fù)雜度。
而將上述軟硬件兩部分集成后進行的工作步驟流程示意圖則如圖4所示,首先,步驟41為讓使用者利用使用者接口1315來設(shè)定該使用者地址暫存器1312中的地址數(shù)據(jù)(同時交易請求狀態(tài)旗標(biāo)亦需被設(shè)定為1),然后步驟42為由觸發(fā)信號產(chǎn)生器1311發(fā)出觸發(fā)信號至芯片組11,而芯片組便發(fā)出該系統(tǒng)管理中斷(SMI)至中央處理單元10,讓中央處理單元10進入系統(tǒng)管理模式(SMM)并呼叫處理例程132進行上述圖3的操作。接著進入步驟43,使用者決定是否已是最后一個暫存器讀取服務(wù),若“是”則可通過使用者接口1315來將服務(wù)完成(service_complete)的旗標(biāo)設(shè)為“1”(步驟44)后再至步驟45中進行交易請求狀態(tài)(Transaction_Request)旗標(biāo)的設(shè)立,若“否”則直接跳至步驟45進行交易請求狀態(tài)(Transaction_Request)旗標(biāo)的設(shè)立。至于步驟46則是判斷交易請求狀態(tài)(Transaction_Request)旗標(biāo)是否被處理例程132清除,若“是”便從數(shù)據(jù)轉(zhuǎn)移暫存器(dump register)1313中取走數(shù)據(jù)(步驟47),然后在步驟48則再判斷服務(wù)完成(service_complete)的旗標(biāo)是否為“1”,若“是”便結(jié)束整個操作并跳出處理例程132及系統(tǒng)管理模式,若“否”則再跳回步驟42。
如此一來,使用者通過使用者接口1315對交握暫存器1314及使用者地址暫存器1312的輸入,便可決定是否要進入系統(tǒng)管理模式及處理例程132中,以及要進行那一個地址上暫存器內(nèi)容的擷取,還有是否要跳出系統(tǒng)管理模式及處理例程132的決定。而由于系統(tǒng)管理模式可于獨立于操作系統(tǒng)之外來運行,而本發(fā)明硬件也可獨立于計算機系統(tǒng)之外還獨立操作,因此本發(fā)明確實可改善已知手段缺失,即使在操作系統(tǒng)尚未加載或計算機當(dāng)機時都可正常運作,故可達成開發(fā)本發(fā)明的主要目的。而本發(fā)明可廣泛應(yīng)用至各式計算機系統(tǒng)中,因此本發(fā)明得由本領(lǐng)域技術(shù)人員任施匠思而為諸般修飾,然皆不脫如附權(quán)利要求范圍所欲保護者。
權(quán)利要求
1.一種暫存器數(shù)據(jù)擷取方法,應(yīng)用于計算機系統(tǒng)之上,該計算機系統(tǒng)包含有中央處理單元與芯片組,其包含下列步驟因應(yīng)事件發(fā)生而發(fā)出觸發(fā)信號至該芯片組;該芯片組發(fā)出中斷信號至該中央處理單元,使該中央處理單元呼叫處理例程;根據(jù)地址數(shù)據(jù)所指向的該計算機系統(tǒng)的特定暫存器,該處理例程從該特定暫存器中讀取數(shù)據(jù)并轉(zhuǎn)存于數(shù)據(jù)轉(zhuǎn)移暫存器;以及提供使用者接口來讀取該數(shù)據(jù)轉(zhuǎn)移暫存器中的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的暫存器數(shù)據(jù)擷取方法,其中該地址數(shù)據(jù)存放于使用者地址暫存器中,而該使用者地址暫存器中的該地址數(shù)據(jù)可以利用該使用者接口來進行設(shè)定。
3.根據(jù)權(quán)利要求1所述的暫存器數(shù)據(jù)擷取方法,其中該事件可以是該計算機系統(tǒng)的開機自我測試程序中的某一步驟結(jié)束時、某一預(yù)定周期時間到達時、或是使用者觸發(fā)。
4.根據(jù)權(quán)利要求1所述的暫存器數(shù)據(jù)擷取方法,其中該芯片組發(fā)出的該中斷信號為系統(tǒng)管理中斷信號,而該中央處理單元便進入系統(tǒng)管理模式并呼叫位于基本輸入輸出系統(tǒng)芯片中的該處理例程以從地址數(shù)據(jù)暫存器中讀取該地址數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的暫存器數(shù)據(jù)擷取方法,其中該處理例程是根據(jù)交握暫存器中所存放的服務(wù)完成旗標(biāo)與交易請求狀態(tài)旗標(biāo)來進行數(shù)據(jù)讀取操作,而該數(shù)據(jù)讀取操作包含下列步驟判斷該交易請求狀態(tài)旗標(biāo)是否被設(shè)定成“1”,若是,便根據(jù)該地址數(shù)據(jù)指向的該特定暫存器中讀取數(shù)據(jù)并儲存至該數(shù)據(jù)轉(zhuǎn)移暫存器,然后將交易請求狀態(tài)旗標(biāo)清除為“0”,然后判斷該服務(wù)完成旗標(biāo)是否被設(shè)定成“1”,若是,將服務(wù)完成的旗標(biāo)清除為“0”并跳出該處理例程及該系統(tǒng)管理模式;以及若判斷該服務(wù)完成旗標(biāo)為“0”則回到上一步驟;其中該交握暫存器為讀/寫一次清除式暫存器,當(dāng)處理例程向該交握暫存器的相對位置寫入“1”時,便可將該清除交易請求狀態(tài)旗標(biāo)或該服務(wù)完成旗標(biāo)清除為“0”。
6.一種暫存器數(shù)據(jù)擷取裝置,應(yīng)用于計算機系統(tǒng)之上,該計算機系統(tǒng)包含有中央處理單元與芯片組,該暫存器數(shù)據(jù)擷取裝置包含觸發(fā)信號產(chǎn)生器,其是因應(yīng)事件發(fā)生而發(fā)出觸發(fā)信號至該芯片組,用以觸發(fā)該芯片組發(fā)出中斷信號至該中央處理單元,而使該中央處理單元呼叫處理例程;使用者地址暫存器,提供該處理例程根據(jù)該使用者地址暫存器中的地址數(shù)據(jù)去該地址數(shù)據(jù)所指向的該計算機系統(tǒng)的特定暫存器中讀取數(shù)據(jù);數(shù)據(jù)轉(zhuǎn)移暫存器,供該處理例程從該特定暫存器中讀出的數(shù)據(jù)進行儲存;以及使用者接口,信號連接至該數(shù)據(jù)轉(zhuǎn)移暫存器、該使用者地址暫存器以及該觸發(fā)信號產(chǎn)生器,其是用來讀取該數(shù)據(jù)轉(zhuǎn)移暫存器中的數(shù)據(jù)并對該使用者地址暫存器以及該觸發(fā)信號產(chǎn)生器輸入數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的暫存器數(shù)據(jù)擷取裝置,其中該特定暫存器可以是該中央處理單元的內(nèi)部暫存器、PCI配置暫存器或是定義于存儲器空間地址或輸入輸出空間地址上的暫存器。
8.根據(jù)權(quán)利要求6所述的暫存器數(shù)據(jù)擷取裝置,其中該使用者地址暫存器中的該地址數(shù)據(jù)可以利用該使用者接口來進行設(shè)定。
9.根據(jù)權(quán)利要求6所述的暫存器數(shù)據(jù)擷取裝置,其中該事件可以是該計算機系統(tǒng)的開機自我測試程序中的某一步驟結(jié)束時、某一預(yù)定周期時間到達時、或是使用者觸發(fā)。
10.根據(jù)權(quán)利要求6所述的暫存器數(shù)據(jù)擷取裝置,其中該芯片組發(fā)出的該中斷信號為系統(tǒng)管理中斷信號,而該中央處理單元便進入系統(tǒng)管理模式并呼叫位于基本輸入輸出系統(tǒng)芯片中的該處理例程。
11.根據(jù)權(quán)利要求6所述的暫存器數(shù)據(jù)擷取裝置,其中還包含交握暫存器,該交握暫存器存放有服務(wù)完成旗標(biāo)與交易請求狀態(tài)旗標(biāo),而該處理例程根據(jù)該服務(wù)完成旗標(biāo)與該交易請求狀態(tài)旗標(biāo)來進行數(shù)據(jù)讀取操作,而該數(shù)據(jù)讀取操作包含下列步驟判斷該交易請求狀態(tài)旗標(biāo)是否被設(shè)定成“1”,若是,便根據(jù)該地址數(shù)據(jù)指向的該特定暫存器中讀取數(shù)據(jù)并儲存至該數(shù)據(jù)轉(zhuǎn)移暫存器,然后將交易請求狀態(tài)旗標(biāo)清除為“0”,然后判斷該服務(wù)完成旗標(biāo)是否被設(shè)定成“1”,若是,將服務(wù)完成的旗標(biāo)清除為“0”并跳出該處理例程及該系統(tǒng)管理模式;以及若判斷該服務(wù)完成旗標(biāo)為“0”則回到上一步驟;其中該交握暫存器為讀/寫一次清除式暫存器,當(dāng)處理例程向該交握暫存器的相對位置寫入“1”時,便可將該清除交易請求狀態(tài)旗標(biāo)或該服務(wù)完成旗標(biāo)清除為“0”。
全文摘要
本發(fā)明為一種暫存器數(shù)據(jù)擷取方法與裝置,應(yīng)用于計算機系統(tǒng)之上,該計算機系統(tǒng)包含有中央處理單元與芯片組,該裝置包含觸發(fā)信號產(chǎn)生器;使用者地址暫存器;數(shù)據(jù)轉(zhuǎn)移暫存器以及使用者接口,而該方法包含下列步驟首先因應(yīng)事件發(fā)生而發(fā)出觸發(fā)信號至該芯片組;其次發(fā)出中斷信號至該中央處理單元,使該中央處理單元呼叫處理例程;接著該處理例程根據(jù)地址數(shù)據(jù)去該地址數(shù)據(jù)所指向的該計算機系統(tǒng)的特定暫存器中讀取數(shù)據(jù)并轉(zhuǎn)存于該數(shù)據(jù)轉(zhuǎn)移暫存器;最后提供該使用者接口來讀取該數(shù)據(jù)轉(zhuǎn)移暫存器中的數(shù)據(jù)。
文檔編號G06F11/36GK101082879SQ20071013737
公開日2007年12月5日 申請日期2007年7月25日 優(yōu)先權(quán)日2007年7月25日
發(fā)明者謝正立, 楊正國 申請人:威盛電子股份有限公司