TWI582586B - 輸出電腦系統的機器檢查例外資訊的方法 - Google Patents

輸出電腦系統的機器檢查例外資訊的方法 Download PDF

Info

Publication number
TWI582586B
TWI582586B TW105117140A TW105117140A TWI582586B TW I582586 B TWI582586 B TW I582586B TW 105117140 A TW105117140 A TW 105117140A TW 105117140 A TW105117140 A TW 105117140A TW I582586 B TWI582586 B TW I582586B
Authority
TW
Taiwan
Prior art keywords
exception
machine
processing unit
computer system
program module
Prior art date
Application number
TW105117140A
Other languages
English (en)
Other versions
TW201743209A (zh
Inventor
楊豐吉
Original Assignee
神雲科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 神雲科技股份有限公司 filed Critical 神雲科技股份有限公司
Priority to TW105117140A priority Critical patent/TWI582586B/zh
Application granted granted Critical
Publication of TWI582586B publication Critical patent/TWI582586B/zh
Publication of TW201743209A publication Critical patent/TW201743209A/zh

Links

Description

輸出電腦系統的機器檢查例外資訊的方法
本發明是有關於一種輸出電腦系統的例外資訊的方法,特別是指一種輸出機器檢查例外資訊的方法。
一般來說,電腦系統在運作期間所發生的例外(exception)包含三種類型,也就是程式錯誤例外、軟體產生例外,及機器檢查例外(machine-check exception)。當處理器偵測到程式執行時產生了與預設規則不符或是作業系統發生某些錯誤而使其無法繼續執行的狀況,即歸類為程式錯誤例外;而藉由處理器執行軟體,當執行到軟體中可產生例外的軟體指令時,即產生軟體產生例外;再者,當處理器偵測到電腦系統內部有硬體錯誤時,即發生機器檢查例外。
現有的英特爾X64處理器(Intel X64 processor)包含多個分別對應一硬體元件的機器檢查組暫存器(machine check bank register),並可運作於系統管理模式及非系統管理模式的其 中一者。當英特爾X64處理器在運作期間偵測到例外發生時,會觸發自身藉由執行基本輸入輸出系統程式(basic input/output system,BIOS)來產生對應該例外的錯誤訊息,且當該例外為機器檢查例外時,該等機器檢查組暫存器的其中一者會存有對應該機器檢查例外的狀態資訊。其中,當運作於系統管理模式且發生機器檢查例外時,英特爾X64處理器藉由執行基本輸入輸出系統程式產生並輸出內容為「!!!X64 Exception Type-0000000000000012 CPU Apic ID-00000001!!!...」的錯誤訊息,且將其顯示於電腦系統的顯示畫面;而當運作於非系統管理模式且發生機器檢查例外時,英特爾X64處理器藉由執行基本輸入輸出系統程式產生並輸出內容為「ERROR:Class:3000000;Subclass:50000;Operation:12」的錯誤訊息,且也將其顯示於電腦系統的顯示畫面。
由上述可知,當電腦系統在運作期間發生機器檢查例外時,使用者由電腦系統的顯示畫面中的訊息僅能得知電腦系統已經發生了機器檢查例外,並無法快速的獲得上述對應機器檢查例外且可以用來分析引發機器檢查例外原因的狀態資訊,因此無法迅速的分析引發機器檢查例外原因。再者,若發生了機器檢查例外,表示電腦系統的某個硬體的運作不正常,故相對於其他與硬體無關的 例外來說,能夠快速取得對應該機器檢查例外的狀態資訊尤為重要。
因此,本發明之目的,即在提供一種輸出電腦系統的機器檢查例外資訊的方法。
於是,本發明輸出電腦系統的機器檢查例外資訊的方法,該電腦系統包含一包括至少一暫存器的處理單元,及一存有一基本輸入輸出系統程式的儲存單元。當該處理單元在運作期間偵測到一例外發生時,該處理單元會藉由執行該基本輸入輸出系統程式來產生一對應該例外的錯誤訊息,且當該例外為一機器檢查例外時,該至少一暫存器會存有一對應該機器檢查例外的狀態資訊。
該輸出電腦系統的機器檢查例外資訊的方法包含一步驟(a)及一步驟(b)。
該步驟(a)是該處理單元藉由執行該基本輸入輸出系統程式來判斷是否該錯誤訊息對應該機器檢查例外。
該步驟(b)是當該步驟(a)的判斷結果為肯定時,該處理單元藉由執行該基本輸入輸出系統程式來讀取並輸出該至少一暫存器中的對應該機器檢查例外的狀態資訊。
本發明之功效在於:當電腦系統發生該機器檢查例外時,能輸出該至少一暫存器中對應該機器檢查例外的狀態資訊。
1‧‧‧電腦系統
11‧‧‧顯示單元
12‧‧‧儲存單元
13‧‧‧處理單元
131‧‧‧機器檢查組暫存器
14‧‧‧基本輸入輸出系統程式
141‧‧‧第一程式模組
142‧‧‧第二程式模組
21~22‧‧‧步驟
本發明之其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:圖1是一方塊圖,說明實施本發明輸出電腦系統的機器檢查例外資訊的方法的一電腦系統;及圖2是一流程圖,說明本發明輸出電腦系統的機器檢查例外資訊的方法的一實施例。
在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1,本發明輸出電腦系統的機器檢查例外資訊的方法的一實施例是由圖1所示的電腦系統1實施。該電腦系統1包含一顯示單元11、一儲存單元12,及一電連接前述二單元的處理單元13。
在本實施例中,該處理單元13為一現有的英特爾X64處理器(Intel X64 processor),並包含多個機器檢查組暫存器131(machine check bank register),其中該等機器檢查組暫存器131分別對應該電腦系統1內部的一硬體元件。該儲存單元12存有一包含一第一程式模組141與一第二程式模組142的基本輸入輸出系統程式14(basic input/output system,BIOS);其中需要特別說明 的是,當該基本輸入輸出系統程式14不包含該第二程式模組142時,該基本輸入輸出系統程式14為對應英特爾X64處理器的現有的基本輸入輸出系統程式,而本發明輸出電腦系統的機器檢查例外資訊的方法是藉由在該現有的基本輸入輸出系統程式中加入該第二程式模組142,並使該處理單元13執行該第二程式模組142來實施。
詳細地說,當該處理單元13在運作期間偵測到一例外(exception)發生時,該處理單元13會產生中斷(interrupt)而觸發自身藉由執行該基本輸入輸出系統程式14的該第一程式模組141來產生一對應該例外的錯誤訊息,也就是說不同的例外發生時,會對應產生不同的錯誤訊息;且當該例外為一機器檢查例外(machine-check exception)時,該等機器檢查組暫存器131中對應該機器檢查例外的一機器檢查組暫存器131的狀態暫存器會自動切換為致能以使該對應該機器檢查例外的機器檢查組暫存器131具有一有效的狀態資訊。特別地,該處理單元13可運作於一系統管理模式及一非系統管理模式的其中一者,相同的例外發生在不同的管理模式環境時,所被對應產生的錯誤訊息也不同。例如,當該處理單元13運作於該系統管理模式時,對應該機器檢查例外的錯誤訊息為一第一錯誤訊息,也就是「!!!X64 Exception Type-0000000000000012 CPU Apic ID-00000001!!!...」;而當該處理單元13運行於該非系統管理模式時,對應該機器檢查例外的 錯誤訊息為一第二錯誤訊息,也就是「ERROR:Class:3000000;Subclass:50000;Operation:12」。
參閱圖2,本發明輸出電腦系統的機器檢查例外資訊的方法的實施方式是,在該處理單元13偵測到該例外並藉由執行該第一程式模組141來產生對應該例外的錯誤訊息之後,使該處理單元13藉由執行該第二程式模組142來進行步驟21與步驟22。
在步驟21,該處理單元13藉由執行該第二程式模組142來判斷是否該錯誤訊息對應該機器檢查例外,也就是,該處理單元13藉由執行該第二程式模組142判斷是否該錯誤訊息為該第一錯誤訊息及該第二錯誤訊息的其中一者,且當判斷結果為肯定時,該處理單元13判定該錯誤訊息對應該機器檢查例外且接著進行步驟22,否則判定該錯誤訊息不對應該機器檢查例外且不做進一步處理。
在步驟22,該處理單元13藉由執行該第二程式模組142,依據該等機器檢查組暫存器131的暫存器位址表分別讀取該等機器檢查組暫存器131的狀態暫存器,並依據每一狀態暫存器的第63位元來判斷是否該狀態暫存器已切換為致能,並判定已致能的狀態暫存器所對應的機器檢查組暫存器131內所存的資料為有效的狀態資訊,且將該有效的狀態資訊輸出並顯示於該顯示單元11,亦可將所接收的該有效的狀態資訊儲存為檔案。或者若該電腦系統1 連接一使用者端裝置,可將該有效的狀態資訊傳送至該使用者端裝置;該等機器檢查組暫存器131分別對應該電腦系統內部的一硬體元件,所以,當該機器檢查例外發生時,使用者能藉由該使用者端裝置接收或進一步顯示該狀態資訊,來獲知相應於所發生的該機器檢查例外的該有效的狀態資訊及其對應的硬體元件,並進一步根據該狀態資訊與英特爾X64處理器的官方技術文件來分析出引發該機器檢查例外的原因及硬體錯誤的類型,例如快取記憶體錯誤、匯流排錯誤等。
綜上所述,本發明輸出電腦系統的機器檢查例外資訊的方法,藉由在該現有的基本輸入輸出系統程式中加入該第二程式模組,並在該處理單元偵測到一例外且藉由執行基本輸入輸出系統程式的現有的該第一程式模組來產生對應該例外的錯誤訊息之後,藉由使該處理單元繼續執行該第二程式模組來判斷是否該錯誤訊息對應該機器檢查例外,並在判斷結果為肯定時,讀取並輸出該等機器檢查組暫存器中的該狀態資訊,能讓使用者獲知該狀態資訊的內容,故確實能達成本發明之目的。
惟以上所述者,僅為本發明之實施例而已,當不能以此限定本發明實施之範圍,凡是依本發明申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
21~22‧‧‧步驟

Claims (6)

  1. 一種輸出電腦系統的機器檢查例外資訊的方法,該電腦系統包含一包括至少一暫存器的處理單元,及一存有一基本輸入輸出系統程式的儲存單元,該基本輸入輸出系統程式包含一第一程式模組與一第二程式模組,當該處理單元在運作期間偵測到一例外發生時,該處理單元會藉由執行該第一程式模組來產生一對應該例外的錯誤訊息,且當該例外為一機器檢查例外時,該至少一暫存器會存有一對應該機器檢查例外的狀態資訊,其中該處理單元可運作於一系統管理模式及一非系統管理模式的其中一者,當該處理單元運作於該系統管理模式且偵測到該機器檢查例外時,該處理單元會藉由執行該第一程式模組產生一對應該機器檢查例外的第一錯誤訊息,且當該處理單元運行於該非系統管理模式且偵測到該機器檢查例外時,該處理單元會藉由執行該第一程式模組產生一對應該機器檢查例外的第二錯誤訊息,該輸出電腦系統的機器檢查例外資訊的方法包含以下步驟:(a)該處理單元藉由執行該第二程式模組來判斷是否該錯誤訊息為該第一錯誤訊息及該第二錯誤訊息的其中一者;及(b)當該步驟(a)的判斷結果為肯定時,該處理單元藉由執行該第二程式模組來讀取並輸出該至少一暫存器中的對應該機器檢查例外的狀態資訊。
  2. 如請求項1所述的輸出電腦系統的機器檢查例外資訊的方法,其中該處理單元為一英特爾處理器,且該至少一暫存器為機器檢查組暫存器。
  3. 如請求項2所述的輸出電腦系統的機器檢查例外資訊的方法,其中該處理單元為一英特爾X86處理器,該第一錯誤訊息為「!!!X64 Exception Type-0000000000000012 CPU Apic ID-00000001!!!...」,且該第二錯誤訊息為「ERROR:Class:3000000;Subclass:50000;Operation:12」。
  4. 如請求項1所述的輸出電腦系統的機器檢查例外資訊的方法,該電腦系統還包含一顯示單元,其中在該步驟(b),該處理單元藉由執行該第二程式模組來將該對應該機器檢查例外的狀態資訊輸出並顯示於該顯示單元。
  5. 如請求項1所述的輸出電腦系統的機器檢查例外資訊的方法,其中在該步驟(b),該處理單元藉由執行該第二程式模組來將該對應該機器檢查例外的狀態資訊輸出至一檔案。
  6. 如請求項1所述的輸出電腦系統的機器檢查例外資訊的方法,該電腦系統連接一使用者端裝置,其中在該步驟(b),該處理單元藉由執行該第二程式模組來將該對應該機器檢查例外的狀態資訊輸出至該使用者端裝置。
TW105117140A 2016-06-01 2016-06-01 輸出電腦系統的機器檢查例外資訊的方法 TWI582586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW105117140A TWI582586B (zh) 2016-06-01 2016-06-01 輸出電腦系統的機器檢查例外資訊的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105117140A TWI582586B (zh) 2016-06-01 2016-06-01 輸出電腦系統的機器檢查例外資訊的方法

Publications (2)

Publication Number Publication Date
TWI582586B true TWI582586B (zh) 2017-05-11
TW201743209A TW201743209A (zh) 2017-12-16

Family

ID=59367704

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105117140A TWI582586B (zh) 2016-06-01 2016-06-01 輸出電腦系統的機器檢查例外資訊的方法

Country Status (1)

Country Link
TW (1) TWI582586B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126852A1 (en) * 2006-08-14 2008-05-29 Brandyberry Mark A Handling Fatal Computer Hardware Errors
CN102708015A (zh) * 2012-05-15 2012-10-03 江苏中科梦兰电子科技有限公司 基于cpu不可屏蔽中断系统问题诊断的调试方法
CN103500133A (zh) * 2013-09-17 2014-01-08 华为技术有限公司 故障定位方法及装置
TW201516861A (zh) * 2013-10-18 2015-05-01 Via Tech Inc 微處理器、選擇性解壓縮微程式碼方法、產生選擇性壓縮微程式碼方法、產生描述方法以及電腦程式產品

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126852A1 (en) * 2006-08-14 2008-05-29 Brandyberry Mark A Handling Fatal Computer Hardware Errors
CN102708015A (zh) * 2012-05-15 2012-10-03 江苏中科梦兰电子科技有限公司 基于cpu不可屏蔽中断系统问题诊断的调试方法
CN103500133A (zh) * 2013-09-17 2014-01-08 华为技术有限公司 故障定位方法及装置
TW201516861A (zh) * 2013-10-18 2015-05-01 Via Tech Inc 微處理器、選擇性解壓縮微程式碼方法、產生選擇性壓縮微程式碼方法、產生描述方法以及電腦程式產品

Also Published As

Publication number Publication date
TW201743209A (zh) 2017-12-16

Similar Documents

Publication Publication Date Title
US9858072B2 (en) Portable executable file analysis
US9921949B2 (en) Software testing
TWI526821B (zh) 於輸入輸出錯誤抑制事件後之回復技術
US9846774B2 (en) Simulation of an application
US9367427B2 (en) Embedding and executing trace functions in code to gather trace data
US8245195B2 (en) System and method for debugging a computer program
US8122176B2 (en) System and method for logging system management interrupts
WO2013075499A1 (zh) 一种开机自检信息输出方法、虚拟机管理器和处理器
US20150033210A1 (en) Method and system for debugging a change-set
CN108021791B (zh) 数据保护方法及装置
CN112363935A (zh) 数据联调方法、装置、电子设备及存储介质
CN110362435B (zh) Purley平台服务器的PCIE故障定位方法、装置、设备及介质
TWI582586B (zh) 輸出電腦系統的機器檢查例外資訊的方法
JP6667733B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
TW201824004A (zh) 電腦系統
JP2017151594A (ja) 支援装置、支援方法及びプログラム
TWI761917B (zh) 程式調試方法、裝置及可讀存儲介質
US20160078226A1 (en) Detection of a security event
CN107656854A (zh) 输出计算机系统的机器检查例外信息的方法
JP2003281076A (ja) Dmaコントローラの不正アクセス検出装置、不正アクセス検出方法およびそのプログラム
TWI801412B (zh) 偵錯方法
KR101225577B1 (ko) 어셈블리 언어 코드의 분석 장치 및 방법
JP2013175076A (ja) 情報処理装置および情報処理装置における異常分析方法
TWI468933B (zh) 網卡性能測試系統及方法
CN116048896A (zh) 故障检测方法及计算机设备

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees