CN107656854A - 输出计算机系统的机器检查例外信息的方法 - Google Patents
输出计算机系统的机器检查例外信息的方法 Download PDFInfo
- Publication number
- CN107656854A CN107656854A CN201610595101.7A CN201610595101A CN107656854A CN 107656854 A CN107656854 A CN 107656854A CN 201610595101 A CN201610595101 A CN 201610595101A CN 107656854 A CN107656854 A CN 107656854A
- Authority
- CN
- China
- Prior art keywords
- exception
- processing unit
- hardware check
- computer system
- program module
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
当计算机系统的处理单元在运作期间侦测到一例外发生时,该处理单元会通过执行基本输入输出系统程序来产生一对应该例外的错误讯息,且当该例外为一机器检查例外时,该处理单元中的至少一机器检查组暂存器会存有一对应该机器检查例外的状态信息。本发明输出计算机系统的机器检查例外信息的方法包含:(a)该处理单元通过执行该基本输入输出系统程序来判断是否该错误讯息对应该机器检查例外;及(b)当步骤(a)的判断结果为肯定时,该处理单元通过执行该基本输入输出系统程序来读取并输出该至少一机器检查组暂存器中的该状态信息。
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)的判断结果为肯定时,该处理单元通过执行该基本输入输出系统程序来读取并输出该至少一暂存器中的对应该机器检查例外的状态信息。
在一些实施例中,该基本输入输出系统程序包含一第一程序模块与一第二程序模块,当该处理单元在运作期间侦测到该例外发生时,该处理单元通过执行该第一程序模块来产生该对应该例外的错误讯息,其中在该步骤(a),该处理单元通过执行该第二程序模块来判断是否该错误讯息对应该机器检查例外,且在该步骤(b),该处理单元通过执行该第二程序模块来读取并输出该至少一暂存器中的该状态信息。
在一些实施例中,该处理单元可运作于一系统管理模式及一非系统管理模式的其中一者,当该处理单元运作于该系统管理模式且侦测到该机器检查例外时,该处理单元会通过执行该第一程序模块产生一对应该机器检查例外的第一错误讯息,且当该处理单元运行于该非系统管理模式且侦测到该机器检查例外时,该处理单元会通过执行该第一程序模块产生一对应该机器检查例外的第二错误讯息,其中在该步骤(a),该处理单元通过执行该第二程序模块判断是否该错误讯息为该第一错误讯息及该第二错误讯息的其中一者,且当判断结果为肯定时,判定该错误讯息对应该机器检查例外。
在一些实施例中,该处理单元为一英特尔处理器,且该至少一暂存器为机器检查组暂存器。
在一些实施例中,该处理单元为一英特尔X86处理器,该第一错误讯息为「!!! X64Exception Type - 0000000000000012 CPU Apic ID - 00000001 !!!...」,且该第二错误讯息为「ERROR: Class:3000000; Subclass:50000; Operation: 12」。
在一些实施例中,该计算机系统还包含一显示单元,其中在该步骤(b),该处理单元通过执行该第二程序模块来将该对应该机器检查例外的状态信息输出并显示于该显示单元。
在一些实施例中,在该步骤(b),该处理单元通过执行该第二程序模块来将该对应该机器检查例外的状态信息输出至一档案。
在一些实施例中,该计算机系统连接一使用者端装置,其中在该步骤(b),该处理单元通过执行该第二程序模块来将该对应该机器检查例外的状态信息输出至该使用者端装置。
本发明之功效在于:当计算机系统发生该机器检查例外时,能输出该至少一暂存器中对应该机器检查例外的状态信息。
【附图说明】
图1是一方块图,说明实施本发明输出计算机系统的机器检查例外信息的方法的一计算机系统;及
图2是一流程图,说明本发明输出计算机系统的机器检查例外信息的方法的一实施例。
【具体实施方式】
在本发明被详细描述之前,应当注意在以下的说明内容中,类似的元件是以相同的编号来表示。
参阅图1,本发明输出计算机系统的机器检查例外信息的方法的一实施例是由图1所示的计算机系统1实施。该计算机系统1包含一显示单元11、一储存单元12及一电连接前述二单元的处理单元13。
在本实施例中,该处理单元13为一现有的英特尔X64处理器(Intel X64processor),并包含多个机器检查组暂存器131 (machine check bank register),其中该等机器检查组暂存器131分别对应该计算机系统1内部的一硬件元件。该储存单元12存有一包含一第一程序模块141与一第二程序模块142的基本输入输出系统程序14 (basicinput/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处理器的官方技术文件来分析出引发该机器检查例外的原因及硬件错误的类型,例如快取存储器错误、总线错误等。
综上所述,本发明输出计算机系统的机器检查例外信息的方法,通过在该现有的基本输入输出系统程序中加入该第二程序模块,并在该处理单元侦测到一例外且通过执行基本输入输出系统程序的现有的该第一程序模块来产生对应该例外的错误讯息之后,通过使该处理单元继续执行该第二程序模块来判断是否该错误讯息对应该机器检查例外,并在判断结果为肯定时,读取并输出该等机器检查组暂存器中的该状态信息,能让使用者获知该状态信息的内容,故确实能达成本发明之目的。
上面结合附图对本发明的具体实施方式和实施例做了详细说明,但不能以之限定本发明的范围,在本发明申请专利范围内所作的均等修饰和变化,皆应该属于本发明专利范围内。
Claims (8)
1.一种输出计算机系统的机器检查例外信息的方法,该计算机系统包含一包括至少一暂存器的处理单元及一存有一基本输入输出系统程序的储存单元,当该处理单元在运作期间侦测到一例外发生时,该处理单元会通过执行该基本输入输出系统程序来产生一对应该例外的错误讯息,且当该例外为一机器检查例外时,该至少一暂存器会存有一对应该机器检查例外的状态信息,其特征在于:该输出计算机系统的机器检查例外信息的方法包含以下步骤:
(a)该处理单元通过执行该基本输入输出系统程序来判断是否该错误讯息对应该机器检查例外;及
(b)当该步骤(a)的判断结果为肯定时,该处理单元通过执行该基本输入输出系统程序来读取并输出该至少一暂存器中的对应该机器检查例外的状态信息。
2.根据权利要求1所述的输出计算机系统的机器检查例外信息的方法,其特征在于:该基本输入输出系统程序包含一第一程序模块与一第二程序模块,当该处理单元在运作期间侦测到该例外发生时,该处理单元通过执行该第一程序模块来产生该对应该例外的错误讯息,其中在该步骤(a),该处理单元通过执行该第二程序模块来判断是否该错误讯息对应该机器检查例外,且在该步骤(b),该处理单元通过执行该第二程序模块来读取并输出该至少一暂存器中的该状态信息。
3.根据权利要求2所述的输出计算机系统的机器检查例外信息的方法,其特征在于:该处理单元可运作于一系统管理模式及一非系统管理模式的其中一者,当该处理单元运作于该系统管理模式且侦测到该机器检查例外时,该处理单元会通过执行该第一程序模块产生一对应该机器检查例外的第一错误讯息,且当该处理单元运行于该非系统管理模式且侦测到该机器检查例外时,该处理单元会通过执行该第一程序模块产生一对应该机器检查例外的第二错误讯息,其中在该步骤(a),该处理单元通过执行该第二程序模块判断是否该错误讯息为该第一错误讯息及该第二错误讯息的其中一者,且当判断结果为肯定时,判定该错误讯息对应该机器检查例外。
4.根据权利要求3所述的输出计算机系统的机器检查例外信息的方法,其特征在于:该处理单元为一英特尔处理器,且该至少一暂存器为机器检查组暂存器。
5.根据权利要求4所述的输出计算机系统的机器检查例外信息的方法,其特征在于:该处理单元为一英特尔X86处理器,该第一错误讯息为「!!! X64 Exception Type -0000000000000012 CPU Apic ID - 00000001 !!!...」,且该第二错误讯息为「ERROR:Class:3000000; Subclass:50000; Operation: 12」。
6.根据权利要求2所述的输出计算机系统的机器检查例外信息的方法,其特征在于:该计算机系统还包含一显示单元,其中在该步骤(b),该处理单元通过执行该第二程序模块来将该对应该机器检查例外的状态信息输出并显示于该显示单元。
7.根据权利要求2所述的输出计算机系统的机器检查例外信息的方法,其特征在于:在该步骤(b),该处理单元通过执行该第二程序模块来将该对应该机器检查例外的状态信息输出至一档案。
8.根据权利要求2所述的输出计算机系统的机器检查例外信息的方法,其特征在于:该计算机系统连接一使用者端装置,其中在该步骤(b),该处理单元通过执行该第二程序模块来将该对应该机器检查例外的状态信息输出至该使用者端装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610595101.7A CN107656854A (zh) | 2016-07-26 | 2016-07-26 | 输出计算机系统的机器检查例外信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610595101.7A CN107656854A (zh) | 2016-07-26 | 2016-07-26 | 输出计算机系统的机器检查例外信息的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107656854A true CN107656854A (zh) | 2018-02-02 |
Family
ID=61127426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610595101.7A Pending CN107656854A (zh) | 2016-07-26 | 2016-07-26 | 输出计算机系统的机器检查例外信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107656854A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126852A1 (en) * | 2006-08-14 | 2008-05-29 | Brandyberry Mark A | Handling Fatal Computer Hardware Errors |
CN101373450A (zh) * | 2007-08-21 | 2009-02-25 | 联想(北京)有限公司 | 处理cpu异常的方法及系统 |
CN102708015A (zh) * | 2012-05-15 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 基于cpu不可屏蔽中断系统问题诊断的调试方法 |
CN102855160A (zh) * | 2012-08-22 | 2013-01-02 | 北京奇虎科技有限公司 | 软件修复方法、装置及系统 |
TW201516861A (zh) * | 2013-10-18 | 2015-05-01 | Via Tech Inc | 微處理器、選擇性解壓縮微程式碼方法、產生選擇性壓縮微程式碼方法、產生描述方法以及電腦程式產品 |
CN104699554A (zh) * | 2012-08-22 | 2015-06-10 | 北京奇虎科技有限公司 | 软件修复方法、装置及系统 |
CN105589776A (zh) * | 2015-12-23 | 2016-05-18 | 华为技术有限公司 | 一种故障定位方法及服务器 |
-
2016
- 2016-07-26 CN CN201610595101.7A patent/CN107656854A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126852A1 (en) * | 2006-08-14 | 2008-05-29 | Brandyberry Mark A | Handling Fatal Computer Hardware Errors |
CN101373450A (zh) * | 2007-08-21 | 2009-02-25 | 联想(北京)有限公司 | 处理cpu异常的方法及系统 |
CN102708015A (zh) * | 2012-05-15 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 基于cpu不可屏蔽中断系统问题诊断的调试方法 |
CN102855160A (zh) * | 2012-08-22 | 2013-01-02 | 北京奇虎科技有限公司 | 软件修复方法、装置及系统 |
CN104699554A (zh) * | 2012-08-22 | 2015-06-10 | 北京奇虎科技有限公司 | 软件修复方法、装置及系统 |
TW201516861A (zh) * | 2013-10-18 | 2015-05-01 | Via Tech Inc | 微處理器、選擇性解壓縮微程式碼方法、產生選擇性壓縮微程式碼方法、產生描述方法以及電腦程式產品 |
CN105589776A (zh) * | 2015-12-23 | 2016-05-18 | 华为技术有限公司 | 一种故障定位方法及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9361170B2 (en) | Method for checking data consistency in a system on chip | |
JP6090327B2 (ja) | ボトルネック検出装置、方法及びプログラム | |
CN107301082A (zh) | 一种实现操作系统完整性保护的方法和装置 | |
CN104077220A (zh) | Mips架构操作系统内核的调试方法和装置 | |
CN110647472A (zh) | 崩溃信息统计方法、装置、计算机设备及存储介质 | |
US11036564B2 (en) | Non-transitory computer-readable storage medium, information processing apparatus and method for detecting malware | |
JP2018109909A (ja) | 類似度判定プログラム、類似度判定方法および情報処理装置 | |
CN113010341A (zh) | 一种故障内存定位的方法和设备 | |
US10684896B2 (en) | Method for processing asynchronous event by checking device and checking device | |
CN107656854A (zh) | 输出计算机系统的机器检查例外信息的方法 | |
US11010158B2 (en) | Determining the availability of memory optimizations by analyzing a running binary | |
US10140476B2 (en) | Tracing processing activity | |
CN115373923A (zh) | 一种0x7c错误定位方法、装置及介质 | |
Smith et al. | Slicing event traces of large software systems | |
KR20190076217A (ko) | 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치 및 방법 | |
US10846162B2 (en) | Secure forking of error telemetry data to independent processing units | |
JP6036089B2 (ja) | データ遷移トレース装置、データ遷移トレース方法、及び、データ遷移トレースプログラム | |
TWI582586B (zh) | 輸出電腦系統的機器檢查例外資訊的方法 | |
CN112699056B (zh) | 一种程序调试方法、计算设备及储存介质 | |
JP3068578B2 (ja) | インサーキットエミュレータおよび飽和演算処理方法 | |
JP2011227646A (ja) | 計算機の診断装置及び診断方法 | |
CN115048296A (zh) | 用于对内存屏障指令有效性进行验证的方法和相关产品 | |
CN113672485A (zh) | 一种终端状况分析方法、装置、电子设备及介质 | |
CN110162482A (zh) | 一种标志访问缺陷检查装置和标志访问缺陷检查方法 | |
CN112307468A (zh) | 一种软件检测方法、软件检测装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180202 |