首页> 中国专利> 管理多处理器计算机系统中的系统管理中断的系统和方法

管理多处理器计算机系统中的系统管理中断的系统和方法

摘要

公开一种系统和方法,其中在多处理器系统的一个处理器执行中断处理序列期间,处理器将原因码写入状态寄存器以识别中断的原因。系统的BIOS码对中断初始寄存器进行写入,以使每个处理器进入中断处理序列。系统的每个处理器基于状态寄存器的内容处理中断,使得每个处理器同步地处理将引起本地中断的事件的中断。

著录项

  • 公开/公告号CN101154202A

    专利类型发明专利

  • 公开/公告日2008-04-02

    原文格式PDF

  • 申请/专利权人 戴尔产品有限公司;

    申请/专利号CN200710163011.1

  • 申请日2007-09-28

  • 分类号G06F13/24;G06F9/48;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人程伟

  • 地址 美国得克萨斯州

  • 入库时间 2023-12-17 20:06:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-01-25

    授权

    授权

  • 2008-05-28

    实质审查的生效

    实质审查的生效

  • 2008-04-02

    公开

    公开

说明书

技术领域

本发明通常涉及计算机系统和信息处理系统,更确切地说,涉及在多处理器计算机系统中管理中断的系统和方法。

背景技术

由于信息的价值和使用的不断增长,个人和企业都在寻求处理和存储信息的其他方法。这些用户的一个可用的选择是信息处理系统。信息处理系统出于商业、个人或其他目的通常处理、编译、存储和/或传送信息或数据,因此允许用户利用这些信息的价值。因为技术和信息处理的需要和需求在不同用户或应用中变化,因此信息处理系统可以根据所处理的信息的类型,处理信息的方法,处理、存储或传送信息的方法,所处理、存储或传送的信息的数量,以及信息被处理、存储或传送的速度和效率而变化。信息处理系统的不同使信息处理系统既可以为通用的,或可以为某一特定用户或特定用例如金融交易处理、航空预定、企业数据存储或全球通信而配置。此外,信息处理系统可以包括或涵盖可用来处理、存储和传送信息的多个硬件和软件组件,并包含一个或多个计算机系统、数据存储系统和网络系统。

信息处理系统可包含多个处理器,每个处理器直接耦合至单独的一组存储器资源。在此情况中,每个处理器能够处理计算机系统产生的中断信号。作为示例,如果存储器中出现单比特错误,则直接耦合至所述存储器的处理器将处理同所述单比特错误相关的系统管理中断(SMI)。在计算机系统的一个处理器正处理该系统管理中断期间,计算机系统的其他处理器将继续执行操作系统指令。如果在处理系统管理中断期间,这些处理器争夺共享的系统资源,则该计算机系统可能不稳定并且崩溃。

为了减小在处理单比特错误的SMI期间争夺共享系统资源的可能性,当退出同最初的单比特错误的SMI相关的中断处理程序时,该中断处理器能够产生软SMI。软SMI的发布使得所有的处理都处理该软SMI,由此导致所有的处理器都去识别该单比特错误。这种方法的一个难题是,在中断处理器正在处理初始的SMI期间如果出现第二个SMI,则第二个SMI的存在将导致该软SMI被丢弃,并且计算机系统的其他处理器将不识别所述的单比特错误。

发明内容

依据本发明,公开了一种系统和方法,其中在多处理器系统的一个处理器执行中断处理序列期间,处理器将原因码(reason code)写入状态寄存器以识别导致中断原因。将该系统的BIOS码对中断初始化寄存器进行写入,以致每个处理器进入中断处理序列。该系统的每个处理器基于状态寄存器的内容处理中断,使得每个处理器同时地处理将以不同的方式导致本地中断的事件的中断。

本文揭示的系统和方法在技术上是有优势的,因为它对于仅以其他方式产生本地系统管理中断的事件产生同步系统管理中断。系统管理中断的同步处理避免了丢失或不能解决在另一个系统管理中断悬挂期间出现的系统管理中断的可能。由于本文揭示的系统和方法,因此仅生成本地系统管理中断的事件将被系统的每个处理器识别;而不是在该系统的其他处理器中被丢弃并有利于后来的中断事件。在后面的说明,权利要求和图示中,其他的技术有点将呈现给本领域的普通技术人员。

附图说明

通过参考下面的描述并结合附图,可以对本发明的实施例和优点有一个更好的理解,其中相同的附图标记表示相同的特征,其中:

图1为计算机系统的体系结构图;

图2为在多处理器系统的每个处理器中处理中断的方法步骤的流程图;

图3为在BIOS中执行系统控制中断处理程序的方法的流程图。

具体实施方式

对本公开来说,信息处理系统可能包含任何工具和工具的集合,为商业、科研、控制或其他目的而计算、分类、处理、传输、接收、回收、发起、转换、存储、展示、显示、探测、记录、再现、操作或使用任何形式的信息、情报或数据。例如,信息处理系统可能是个人电脑、网络存储设备或任何其他合适的设备,并且在尺寸、形状、性能、功能和价格上也可能改变。该系统处理系统可能包括随机存取存储器(RAM),一个或多个处理资源例如中央处理器(CPU)或硬件或软件控制逻辑、ROM和/或其它类型的非易失性存储器。该信息处理系统的辅助组件可能包括一个或多个磁盘驱动器、一个或多个用于同外部设备进行通信的网络端口,以及各种输入和输出(I/O)设备,例如键盘、鼠标和视频显示器。该信息处理系统也可能包括一个或多个用于在各种硬件组件之间传输信息的总线。

图1所示为通常由10表示的计算机系统体系结构的图示。计算机系统10是包括四个处理器(标识为CPU 0,CPU 1,CPU 2,CPU 3)的多处理器系统。每个处理器直接耦合至其它处理器的每一个。此外,每个处理器直接耦合至同该处理器单独关联的本地存储器的阵列。在图1的示例中,CPU 0直接耦合至标识为存储器0的存储器阵列;CPU 1直接耦合至存储器1;CPU 2直接耦合至存储器2;CPU 3直接耦合至存储器3。

在图1的结构中,示例中标识为CPU 2的处理器耦合至第一I/O桥(有称作北桥)14。I/O桥14耦合至第二I/O桥15或南桥。BIOS ROM 16耦合至南桥15,BIOS ROM 15既包括标准的BIOS软件,也包括图1所示的ACPI电源管理软件。南桥15所包含的是多个寄存器,他们在图1中被标识为中断初始化寄存器18和SMI状态寄存器20。

本文揭示的系统和方法涉及到在多处理器计算机系统中管理中断的方法。作为示例,当单个存储器阵列中的单比特错误数达到临界值的时候,系统管理中断就被初始化。设计用于处理系统管理中断的处理器直接耦合至包含所述单比特错误的存储器阵列。作为示例,假设存储器1中的单比特错误数已经达到临界值。系统管理中断将被发布,并且CPU 1将处理该系统管理中断。在本文描述中,因为该处理器是本地的或是直接耦合至作为本地系统管理中断资源的本地存储器,所以处理中断的处理器将被称作本地处理器。

作为本地处理器处理系统管理中断的一部分,本地处理器将对集线器14的中断初始化寄存器18写入,以产生系统控制中断。本地处理器也将代码写入SMI状态寄存器20。写入SMI状态寄存器20的代码包括本地SMI原因码(reason code),该原因码展现了该系统管理中断的缘由和原因。在SMI状态寄存器中存在的本地SMI原因码也作为一个标记,以表明本地处理器将很快完成系统管理中断的处理。

作为系统控制中断初始化的结果,在BIOS中的代码将周期性地检查SMI状态寄存器20,以决定本地SMI原因码是否已被写入SMI状态寄存器。如果本地SMI原因码未被写入SMI状态寄存器,SMI状态寄存器20将有零值或空值。本地SMI原因码的存在作为信号标志,以表示本地处理器是否很快完成它的中断处理序列。当在SMI状态寄存器20中最终发现一个非零值的时候,BIOS将通过写入中断初始化寄存器18为所有的处理器产生软系统管理中断。一旦标记被写入中断初始化寄存器18,该系统的所有处理器执行系统管理中断,在系统管理中断处理期间,使用SMI状态寄存器20中的SMI本地原因码来标识所采取的响应动作。

图2所示为在多处理器系统的每个处理器中用于处理中断的一系列方法步骤的流程图。在步骤30,该系统的一个处理器进入系统管理模式,并开始处理系统管理中断。在步骤32,处理器将空值写入SMI状态寄存器。在步骤34处理器决定系统管理中断是否为本地系统管理中断。本地系统管理中断是初始化时指定到该处理器的中断。作为一个示例,在存储器0中发生单比特错误的情况下,CPU 0将处理该系统管理中断,对于CPU 0,该系统管理中断将是本地系统管理中断。对于该系统的其他处理器,后来被启动以记录存储器0的单比特错误的系统管理中断将不是本地系统管理中断。

如果在步骤34中决定该系统管理中断是本地系统管理中断,则在步骤36通过写入中断初始化寄存器18,处理器产生系统控制中断。在步骤38,处理器将本地SMI原因码写入SMI状态寄存器20,并且在步骤40处理器退出系统管理中断的处理。接下来的步骤40,处理器恢复在步骤42的正常操作。但是,如果在步骤34决定系统管理中断不是本地系统管理中断,那么接下来在步骤44决定系统管理中断是否是软系统管理中断。如果该系统管理中断不是软系统管理中断,则在步骤46中处理标准的系统管理中断,并且处理器在步骤40退出系统管理中断的处理。

如果在步骤44决定系统管理中断是软系统管理中断,接下来在步骤48决定SMI状态寄存器20是否有一个非空值。如果在步骤48决定了SMI状态寄存器20有一个空值,然后尽管系统管理中断是软系统管理中断,则在计算机系统的另一个处理器中存在标准中断之后,该软系统管理中断未被初始化。在此情况下,该软系统管理中断在步骤52中被处理,并且在步骤40处理器退出系统管理中断的处理。如果在步骤48决定了本地SMI原因码已经被写入SMI状态寄存器,则基于本地SMI原因码,处理器在步骤50处理系统管理中断事件,并且在步骤40该处理器退出系统管理中断的处理。

图3所示为在BIOS中执行系统控制中断处理程序的一系列方法步骤的流程图。在步骤60,BIOS的系统控制中断处理程序被初始化。在步骤62,BIOS读取SMI状态寄存器并在步骤64中决定SMI状态寄存器的值是否为空值。如果SMI状态寄存器的值为空值,这就表明正在处理系统管理中断的本地处理器尚未完成系统管理中断的处理,图3的流程图循环回到步骤62和64。如果SMI状态寄存器的值非空,就表明处理系统管理中断的本地处理器已经完成系统管理中断的处理,在步骤66系统控制中断处理程序为其他每个处理器产生软系统管理中断,并将本地SMI原因码传送到计算机系统的每个处理器。在步骤68,BIOS的系统控制中断处理程序结束。

尽管本文所揭示的系统和方法描述的是关于分布式存储器配置,应该理解到本文所描述的系统和方法不限于图1所示的存储器配置。更合适地,本文所描述的系统和方法可以用于任何多处理器系统以管理多处理器系统中的中断之间的冲突。尽管已经详细地描述了本发明揭示的内容,也应该理解到,在不脱离后附的权利要求所定义本发明的精神和范围的情况下也可以进行各种变化、替换和变更。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号