用信号通知软件可恢复错误的制作方法

文档序号:8460720阅读:315来源:国知局
用信号通知软件可恢复错误的制作方法
【专利说明】用信号通知软件可恢复错误
[0001] 背景
[0002] 1 ?领域
[0003] 本公开涉及信息处理领域,并且更具体地涉及信息处理系统的可靠性领域。
[0004] 2.相关技术描述
[0005] 可靠性在某些信息处理系统中非常重要。因此,已经开发了各种技术来用信号通 知信息处理系统内存在错误,一种这种技术是使用来自英特尔?公司的各种处理器族内的 机器检查异常(MCE)。
[0006] 附图简要说明
[0007] 通过举例而非限制在附图中示出本发明。
[0008] 图1示出根据本发明的实施例的提供用信号通知软件可恢复错误的系统。
[0009] 图2示出根据本发明的实施例的处理存储单元。
[0010] 图3示出根据本发明的实施例的处理器控制单元。
[0011] 图4、图5和图6示出根据本发明的实施例的用信号通知软件可恢复错误的方法。
[0012] 详细描述
[0013] 描述了用于用信号通知软件可恢复错误的本发明的实施例。在本描述中,可列出 各种特定细节(诸如组件和系统配置),以便提供本发明的更透彻理解。然而,本领域普通 技术人员将认识到可在没有这些特定细节的情况下实践本发明。此外,为了避免不必要地 模糊本发明,尚未详细示出公知的结构、电路和其他特征。
[0014] 在以下描述中,对"一个实施例"、"实施例"、"示例实施例"、"各实施例"等等的引 用指示如此描述的本发明的实施例可包括具体特征、结构、或特性,但不是每个实施例都需 要包括该具体特征、结构、或特性。进一步地,某些实施例可具有针对其他实施例所描述的 特征中的某些、全部或没有。
[0015] 如在权利要求书中所使用的,除非以其他方式指明,用于描述元件的顺序形容词 "第一"、"第二"、"第三"等等的使用仅指示元件的具体实例或者相同元件的不同实例并且不 旨在暗示这些如此描述的元件必须按特定顺序(或者按时间、按空间排序或者以任何其他 方式)。
[0016] 而且,术语"位"、"标志位"、"字段"、"条目"等等可用于描述寄存器、表格、数据库 或其他数据结构中的任何类型的存储位置,不管是用硬件还是用软件实现,但并不旨在将 本发明的实施例限制为任何特定存储位置中的任何特定类型的存储位置或任何数量的位 或其他元素。术语"清零"可用于指示存储逻辑零值或者以其他方式致使将其存储在存储 位置中,并且术语"置位"可用于指示存储逻辑1值或以其他方式致使将其存储在存储位置 中;然而,这些术语不旨在将本发明的实施例限制为任何特定的逻辑惯例,因为可在本发明 的实施例中使用任何逻辑惯例。
[0017] 如在背景部分中所提到的,来自英特尔fi公司的各种处理器族提供用信号通知信 息处理系统内存在错误的机器检查架构(MCA)方法。本发明的实施例可提供以可减少系统 关机频率的方式用信号通知某些错误(包括但不限于能够被使用MCA方法用信号通知的错 误),诸如软件可恢复错误。
[0018] 图1示出系统100,即根据本发明的实施例的提供用信号通知软件可恢复错误的 信息处理系统。系统100可表示任何类型的信息处理系统,诸如服务器、桌上计算机、便携 式计算机、机顶盒、手持式设备、或嵌入式控制系统。系统100可包括处理器110和系统存 储器120。体现本发明的系统可包括这些组件中的每一个组件的任何数量以及任何其他组 件或其他元件,诸如信息存储设备、外围设备和输入/输出设备。本系统实施例或任何系统 实施例中的任何或全部组件或其他元件可通过任何数量的总线、点到点、或其他有线或无 线接口或连接而连接、耦合、或以其他方式与彼此通信。
[0019] 处理器110可表示集成在单个衬底上或者封装在单个封装中的一个或多个处理 器,每个处理器可包括呈任何组合的多个线程和/或多个执行核。被表示为处理器110的 每个处理器可以是任何类型的处理器,包括通用微处理器,诸如英特尔?酷睿?处理器族、 英特尔?凌动?处理器族中的处理器、或来自英特尔?公司的其他处理器族或来自另一家 公司的另一个处理器,或专用处理器或微控制器。处理器110可包括指令单元111、执行单 元112、处理存储单元113、接口单元114、处理器控制单元115、以及高速缓存单元116。处 理器110还可包括在图1中未示出的任何其他电路、结构、或逻辑,和/或在图1中的其他 地方示出的任何电路、结构、或逻辑。
[0020] 指令单元111可表示用于取出、接收、解码、和/或调度指令的任何电路、结构或其 他硬件,诸如指令解码器。可在本发明的范围内使用任何指令格式;例如,指令可包括操作 码和一个或多个操作数,其中,操作码可被解码为一个或多个微指令或微操作以便由执行 单元112执行。
[0021] 执行单元112可包括用于处理数据并执行指令、微指令、和/或微操作的任何电 路、结构、或其他硬件,诸如算术单元、逻辑单元、浮点单元、移位器等等。
[0022] 处理存储单元113可表示可用于处理器110内的任何目的的任何类型的存储器, 例如,其可包括任何数量的数据寄存器、指令寄存器、状态寄存器、配置寄存器、控制寄存 器、其他可编程或硬编码寄存器或寄存器组、或任何其他存储结构。
[0023] 接口单元114可表示任何电路、结构、或其他硬件(诸如总线单元、消息传送单元、 或任何其他单元、端口、或接口),以便允许处理器110通过任何类型的总线、点到点、或其 他连接直接或通过任何其他组件(诸如存储器控制器或总线桥)与系统100内的其他组件 通信。
[0024] 处理器控制单元115可包括任何逻辑、微代码、电路、或其他硬件以便控制处理器 110的单元和其他元件的操作以及数据在处理器110内、向内、向外的传送。处理器控制单 元115可通过致使处理器110执行由指令单元111接收的指令和从由指令单元111接收的 指令导出的微指令或微操作来致使处理器110执行或参与执行本发明的方法实施例,诸如 以下描述的方法实施例。
[0025]高速缓存单元116可包括信息处理系统110的存储器层次内的用静态随机存取存 储器或任何其他存储器技术实现的一个或多个高速缓存存储器级别。高速缓存单元116可 包括根据用于信息处理系统内的高速缓存的任何已知的方法专用于处理器110内的任何 一个或多个执行核或处理器或者在其间共享的高速缓存存储器的任何组合。
[0026] 系统存储器120可以是动态随机存取存储器或处理器110可读的任何其他类型的 介质,并且可用于存储系统控制软件122,诸如操作系统(OS)或虚拟机监视器(VMM),包括 错误处理器124。系统存储器120还可用于存储数据结构(例如,中断描述符表或IDT 126) 以便直接或间接为不同种类的错误、中断或异常提供处理器的位置。
[0027] 图2示出处理存储单元200,其实施例可用作处理器110内的处理存储单元113。 处理存储单元200包括多个模型特定寄存器(MSR),其可用于用信号通知错误,包括能力寄 存器(CAP MSR 210)、状态寄存器(STATUS MSR 220)、控制寄存器(CTL MSR 230)、以及错 误报告寄存器的一个或多个组(BANK MSR 240)。CAP MSR 210可用于提供有关处理器110 的用信号通知错误能力(例如,根据MCA和/或其他方法)的信息。STAT MSR 220可用于 在用信号通知错误时(例如,使用MCE和/或其他手段)描述处理器110的状态。CTL MSR 230可用于控制用信号通知错误。每组BANK MSR 240可用于控制用信号通知错误以及为 处理器110内的特定硬件单元或一组单元报告错误信息。在BANK MSR 240内报告的信息 可包括有关错误的严重性的信息(例如,该错误是经过校正的还是未经过校正的)、指向触 发该错误的指令的指针、有关软件是否可用于从该错误恢复的指示、错误的位置(例如,物 理存储器地址系统)、以及可用于标识观察到该错误的逻辑处理器的信息。例如,每组BANK MSR 240可包括ADDR MSR 242和MISC MSR 244,其中,ADDR MSR 242可用于存储地址并且 MISC MSR 244可用于存储(例如,在位[8:6])寻址模式,其可在如下描述的本发明的实施 例中使用。处理存储单元200还可包括可在本发明的实施例中使用的其他存储位置或控制 或其他寄存器(例如,CR2252和CR4 254)。
[0028] 图3示出处理器控制单元300,其实施例可用作处理器110内的处理器控制单元 15。处理器控制单元300包括MCA单元310和用信号通知软件可恢复(SR)错误单元320。 MCA单元310可包括微代码、逻辑、电路、和/或其他硬件以便根据方法(例如,MCA)控制 并实现用信号通知错误,该方法包括如下方法:其中针对某些错误,向
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1