计时器检测、多处理器切换及处理器热插拔支持的方法

文档序号:6564172阅读:216来源:国知局
专利名称:计时器检测、多处理器切换及处理器热插拔支持的方法
技术领域
本发明涉及计算机硬件管理方法,尤其涉及计时器检测方法、多处理器 切换方法以及处理器热插拔支持方法。
背景技术
为了提高计算机的处理效能, 一种公知的方法为安装多个处理器于同一系统中。公知的多处理器系统可分为不对称多处理器系统(Asymmetrical multiprocessor system)禾Q对称多处理器系统(Symmetrical multiprocessor system)。在不对称多处理器系统中, 一 个处理器为主处理器(master processor),而其它处理器为主处理器的从处理器(slave processor),仅仅用以 执行特定功能。在对称多处理器系统中,任务被均匀地分配给每一个处理器, 因而其能发挥每一个处理器的最大效能。
在多处理器系统中,当任何一个处理器坏掉时均会导致各种问题的出 现。目前,存在一种多处理器系统启动时进行热备份(Hot Spare Boot)的技术。 即,当主机板上安装有两个处理器,若第一个启动处理器坏掉而无法引导系 统启动时,系统可以利用第二个处理器进行启动。此功能通过终止计时器 (Dead man Timer)、与终止计时器通信的热备份启动控制暂存器(Hot Spare Boot Control Register)以及其它外部可编程数组逻辑(Programmable Array Logic, PAL)电路来实现。
当一个多处理器系统给电启动后,主机板产生一个PGOOD信号。依照 PGOOD信号开启一个终止计时器,进而给主处理器(Primary Processor)—段 启动时间(2秒)。若主处理器在此启动时间内正常启动,则通过向热备份启 动控制暂存器的特定位(STOP—HSB)写1,以停止终止计时器。若主处理器在 启动时间到达时没有正常启动,则主机板停止(Disable)主处理器,并启动- -个第二处理器。此时,终止计时器再次被启动,进而给第二处理器一段启动 时间(2秒)。若第二处理器在此启动时间内正常启动,则通过向热备份启动控制暂存器的特定位(STOP_HSB)写1,以停止终止计时器。若第二处理器在 启动时间到达时没有正常启动,即没有在终止计时器预定的时间内向热备份 启动控制暂存器的特定位(STOP_HSB)写1,则触发改变BOOT_NEXT针脚 状态。此BOOT_NEXT针脚将驱动终止计时器重新启动,停止(Disable)第二处理器,并启动下一处理器。
因此公知技术的主要缺点如下
1. 公知技术中没有对终止计时器的各项功能进行检测的方法,因而当运 行中的终止计时器出现错误亦无法侦测,进而导致多处理器系统效能的降 低。
2. 公知技术的处理器切换方法依赖于处理器自身的指令,受操作系统和 处理器类型的限制。
3. 公知技术中缺少对处理器热插拔的软件支持方法。

发明内容
为了解决上述公知技术中的问题与缺陷,本发明的目的在于提供一种终 止计时器检测方法、多处理器切换方法以及处理器热插拔支持方法。
本发明所提供的一种终止计时器的检测方法,通过与终止计时器通信的热备份启动控制暂存器来实现,此方法包含以下步骤
a) 设置终止计时器的响应时间与间隔时间;
b) 写入0至热备份启动控制暂存器的第零位,启动终止计时器; C)判断0是否成功写入热备份启动控制暂存器的第零位,以判断终止计时器是否成功启动;
d) 如果终止计时器启动成功,则在终止计时器的响应时间内,依照间隔 时间定时判断热备份启动控制暂存器的第零位的值,以判断终止计时器的计时功能是否正常;
e) 写入1至热备份启动控制暂存器的第零位,停止终止计时器;
f) 判断1是否成功写入热备份启动控制暂存器的第零位,以判断终止计时器是否成功停止;
g) 写入0至热备份启动控制暂存器的第零位,重新启动终止计时器;以
h)当终止计时器的响应时间到达时,判断热备份启动控制暂存器的第零 位的值,以判断终止计时器是否可以正常响应。
其中步骤d)进一步包含读取热备份启动控制暂存器的第零位的值;以 及判断读取的热备份启动控制暂存器的第零位的值是否等于0,如果等于, 则终止计时器的计时功能正常,否则,终止计时器的计时功能不正常。
其中步骤h)进一步包含读取热备份启动控制暂存器的第零位的值;以 及判断读取的热备份启动控制暂存器的第零位的值是否等于1,如果等于, 则终止计时器能够正常响应,否则,终止计时器不能正常响应。
本发明所提供的一种多处理器的切换方法,通过终止计时器与热备份启 动控制暂存器在第一处理器和第二处理器之间进行自动切换,此方法包含以 下步骤
设置终止计时器的响应时间;
启动第一处理器,并写入O至热备份启动控制暂存器的第零位,启动终 止计时器;
判断终止计时器的响应时间是否到达,当终止计时器的响应时间到达 时,终止计时器发送一控制信号;以及
依照控制信号,停止第一处理器,并启动第二处理器。
其中控制信号为BOOT—NEXT针脚状态改变信号。
本发明所提供的一种处理器热插拔支持方法,通过终止计时器与热备份启动控制暂存器来支持处理器的热插拔,此方法包含以下步骤
al)设置终止计时器的响应时间;
bl)判断需要进行热插拔操作的拔出处理器是否为当前工作的主处理器;
cl)如果拔出处理器不为主处理器,则停止(Disable)拔出处理器,并对拔 出处理器进行热插拔操作;
dl)否则,写入O至热备份启动控制暂存器的第零位,启动终止计时器;以及
el)当终止计时器的响应时间到达时,通过终止计时器进行处理器切换, 并停止(Disable)主处理器,对主处理器进行热插拔操作。
其中步骤bl)进一步包含获取用户输入的需要进行热插拔操作的拔出 处理器的编号;获取当前工作的主处理器的编号;以及判断拔出处理器的编号是否与主处理器的编号相同,以判断拔出处理器是否为主处理器。
其中步骤el)进一步包含当终止计时器的响应时间到达时,读取热备 份启动控制暂存器的第零位的值;以及当热备份启动控制暂存器的第零位的值为0时,执行步骤bl)。
综上所述,本发明可以对终止计时器的各项功能进行检测,自动定时地 在多个处理器之间进行切换,而不受操作系统和处理器类型的限制,并实现 了对处理器热插拔的软件支持,提高热插拔操作的安全性。


图1为依照本发明的终止计时器检测方法流程图2为依照本发明的终止计时器是否启动成功和计时功能是否正常的检 测方法流程图3为依照本发明的终止计时器响应是否正常的检测方法流程图4为依照本发明的操作系统启动后多处理器切换的方法流程以及
图5为依照本发明的处理器热插拔的支持方法流程图。
其中,附图标记说明如下
步骤100 设置终止计时器的响应时间和间隔时间
步骤110 写入0至热备份启动控制暂存器的第零位,启动终止计时器
步骤120 终止计时器是否成功启动
步骤130 终止计时器的计时功能是否正常
步骤140写入1至热备份启动控制暂存器的第零位,停止终止计时器
步骤150 终止计时器是否成功停止
步骤160 写入0至热备份启动控制暂存器的第零位,重新启动终止计终止计时器
步骤170 终止计时器是否正常响应
步骤180 报告错误
步骤200 读取系统当前时间,将系统当前时间与响应时间的和赋值给Timerl
步骤210 读取热备份启动控制暂存器的第零位的值
步骤220 是否为0
步骤230 步骤240 步骤250 步骤260 步骤270 步骤280 步骤300 Timer 1
步骤310 步骤320 步骤330 步骤340 步骤350 步骤360 步骤400 步骤410
读取系统当前时间,将系统当前时间赋值给Timer2 Timerl -Timer2:H^隔时间?
读取热备份启动控制暂存器的第零位的值 是否为0
依照间隔时间进行等待 报告错误
读取系统当前时间,将系统当前时间与响应时间的和赋值给
读取系统当前时间,将系统当前时间赋值给Timer2 Timer 1 -Timer2=0 等待1毫秒
读取热备份启动控制暂存器的第零位的值 是否为1 报告错误
设置终止计时器的响应时间
启动第一处理器,写入0至热备份启动控制暂存器的第零位, 启动终止计时器
步骤420读取系统当前时间,将系统当前时间与响应时间的和赋值给
Timerl
步骤430 步骤440 步骤450 步骤460 步骤470
步骤500 步骤501 步骤502 步骤503 步骤504
读取系统当前时间,将系统当前时间赋值给Timer2 Timer 1 -Timer2=0
等待1毫秒
终止计时器触发改变BOOT—NEXT针脚状态 依照BOOT一NEXT针脚状态,停止第一处理器,启动第二处
设置终止计时器的响应时间
拔出处理器是否为主处理器
停止拔出处理器,对拔出处理器进行热插拔操作
写入O至热备份启动控制暂存器的第零位,启动终止计时器
读取系统当前时间,将系统当前时间与响应时间的和赋值给
Timer 1
步骤505读取系统当前时间,将系统当前时间赋值给Timer2
步骤506 Timer 1-Timer2=0 步骤507等待1毫秒
步骤508读取热备份启动控制暂存器的第零位的值 步骤509是否为1
步骤510进行处理器切换,停止主处理器,对主处理器进行热插拔操
具体实施例方式
以下,将结合附图部分对本发明的较佳实施方式作详细说明。 请参考图1,图中所示为本发明的终止计时器的检测方法流程图。首先, 设置终止计时器的响应时间(如,2000毫秒)和间隔时间(如,IO毫秒)(步骤 100)。接着,写入O至与终止计时器通信的热备份启动控制暂存器的第零位, 启动终止计时器(步骤110)。检测终止计时器是否成功启动(步骤120),其详 细检测方法将参考图2进行描述。当终止计时器启动失败时,通过发送中断 信号等方式向系统报告错误(步骤180),并最终向用户报警,报警方式可采 用公知的声音报警等方式。当终止计时器成功启动后,检测终止计时器的计 时功能是否正常(步骤130),其详细检测方法将参考图2进行描述。当终止 计时器的计时功能不正常时,通过发送中断信号等方式向系统报告错误(步骤 180),并最终向用户报警,其报警方式可与终止计时器启动失败时的报警方 式不同,以便于用户区分。当终止计时器的计时功能正常时,写入l至热备 份启动控制暂存器的第零位,停止终止计时器(步骤140)。检测终止计时器 是否成功停止(步骤150),其检测方法与检测终止计时器是否成功启动相似, 请参考对检测终止计时器是否成功启动的详细描述。当终止计时器停止失败 时,通过发送中断信号等方式向系统报告错误(步骤180),并最终向用户报 警。当终止计时器停止成功时,写入O至热备份启动控制暂存器,重新启动 终止计时器(步骤160)。当终止计时器的响应时间到达时,检测终止计时器 是否正常响应(步骤170),其详细检测方法将参考图3进行描述。当终止计 时器不能正常响应时,通过发送中断信号等方式向系统报告错误(步骤180),并最终向用户报警。当终止计时器响应正常时,对终止计时器的各项功能的 检测均己完成,且终止计时器没有错误,检测过程结束。
请参考图2,图中所示为依照本发明的终止计时器是否成功启动和终止 计时器的计时功能是否正常的检测方法流程图。当终止计时器启动后(步骤110),读取系统的当前时间,将系统的当前时间与步骤100设置的响应时间 的和赋值给终止计时器的一参数Timerl (步骤200)。读取热备份启动控制暂 存器的第零位的值(步骤210),判断读取的值是否为O(步骤220)。当读取的 值不为0,即O无法成功写入热备份启动控制暂存器的第零位,则终止计时 器启动失败,通过发送中断信号等方式向系统报告错误(步骤280),并最终 向用户报警。当读取的值为0,则终止计时器成功启动。接着,读取系统当 前时间,将系统当前时间赋值给终止计时器的参数Timer2(步骤230)。判断 参数Timerl的值减去参数Timer2的值是否大于步骤100设置的间隔时间(歩 骤240) 当小于间隔时间时,结束检测过程。否则,读取热备份启动控制暂 存器的第零位的值(步骤250),判断读取的值是否为O(步骤260)。当读取的 值为0,则依照间隔时间进行等待(步骤270)。当间隔时间到达时,重复步骤 230,以检测终止计时器的计时功能。当读取的值不为0,则终止计时器的计 时功能不正常,通过发送中断信号等方式向系统报告错误(步骤280),并最 终向用户报警,结束检测过程。
终止计时器是否成功停止(撤销)的检测过程(未示出)与上述的检测终止 计时器是否成功启动的过程相似。g卩,读取热备份启动控制暂存器的第零位 的值,判断读取的值是否为l 当读取的值不为l,则终止计时器停止失败, 通过发送中断信号等方式向系统报告错误,并最终向用户报警。当读取的值 为1,则终止计时器成功停止。
请参考图3,图中所示为终止计时器响应是否正常的检测方法流程图。 如图1所示,当重新启动终止计时器后(步骤160),读取系统的当前时间, 将系统的当前时间与步骤100设置的响应时间的和赋值给终止计时器的一参 数Timerl (步骤300)。接着,读取系统当前时间,将系统当前时间赋值给终 止计时器的参数Timer2(步骤310)。判断参数Timerl的值减去参数Timer2 的值是否等于0(步骤320)当不等于O,即终止计时器的响应时间还没有到 达,则等待1毫秒(步骤330),然后重复步骤310。当等于O,即终止'计时器的响应时间到达,则读取热备份启动控制暂存器的第零位的值(步骤340),
判断读取的值是否为1(步骤350)。当读取的值为l,即终止计时器的响应时 间到达时,热备份启动控制暂存器的第零位的值由0变换为1,终止计时器 响应正常,结束检测过程。当读取的值不为1,即终止计时器响应不正常, 则通过发送中断信号等方式向系统报告错误(步骤360),并最终向用户报警, 结束检测过程。
依照上述描述,本发明可以对终止计时器的启动、计时、停止(撤销)以 及响应等各项功能进行检测,并通过各种报警方式通知用户。
请参考图4,图中所示为依照本发明的操作系统启动后多处理器切换方 法流程图,其通过终止计时器与热备份启动控制暂存器在第一处理器和第二 处理器之间进行自动切换。首先,设置终止计时器的响应时间(步骤400)。 接着,启动第一处理器,写入O至热备份启动控制暂存器的第零位,启动终 止计时器(步骤410)。读取系统的当前时间,将系统的当前时间与步骤400 设置的响应时间的和赋值给终止计时器的一参数Timerl (步骤420)。再次读 取系统当前时间,将系统当前时间赋值给终止计时器的参数Timer2(步骤 430)。判断参数Timerl的值减去参数Timer2的值是否等于O(步骤440) 当 不等于0,即终止计时器的响应时间还没有到达,则等待1毫秒(步骤450), 然后重复步骤430。当等于0,即终止计时器的响应时间到达,终止计时器 发送一控制信号,该控制信号用以触发改变BOOT—NEXT针脚状态(步骤 460)。系统主机板依照BOOT一NEXT的针脚状态,停止第一处理器,启动第 二处理器(步骤470)。在上述的终止计时器等待响应期间,可采用检测终止 计时器响应是否正常的方法对终止计时器的状态进行监控,当检测到终止计 时器响应不正常时,可通过声音报警等方式通知用户结束此次处理器切换过 程。
如上所述,通过设置终止计时器的响应时间,即能实现自动定时地在多 个处理器之间进行切换,而不受操作系统以及处理器类型的限制。
请参考图5,图中所示为依照本发明的处理器热插拔的支持方法流程图。 首先,设置终止计时器的响应时间(步骤500)。接着,判断需要进行热插拔 操作的拔出处理器是否为当前工作的主处理器(步骤501) 上述判断,可采用 如下方法获取用户输入的需要进行热插拔操作的拔出处理器的编号 读取
系统当前工作的主处理器的编号,判断拔出处理器的编号是否与主处理器的 编号相同?当两者编号相同,则需要进行热插拔操作的拔出处理器为当前工 作的主处理器,否则反之。
当拔出处理器不为当前工作的主处理器时,系统停止(Disable)拔出处理 器,对拔出处理器进行热插拔操作(步骤502)。当拔出处理器为当前工作的 主处理器时,进行处理器切换操作。作为改进,可先采用对话框等方式提示 用户无法对拔出处理器进行热插拔操作,需要进行处理器切换操作。当用户 选择不进行处理器切换操作时,再次提示用户并结束此过程。当用户选择进 行处理器切换时,写入O至热备份启动控制暂存器的第零位,启动终止计时 器(步骤503)。接着,读取系统的当前时间,将系统的当前时间与步骤500 设置的响应时间的和赋值给终止计时器的一参数Timerl (步骤504)。再次读 取系统当前时间,将系统当前时间赋值给终止计时器的参数Timer2(步骤 505)。判断参数Timerl的值减去参数Timer2的值是否等于O(步骤506) 当 不等于0,即终止计时器的响应时间还没有到达,则等待1毫秒(步骤507), 然后重复步骤505。当等于0,即终止计时器的响应时间到达,则读取热备 份启动控制暂存器的第零位的值(步骤508),判断读取的值是否为l(步骤 509)。当读取的值为1,即终止计时器的响应正常,进行处理器切换,停止 (Disable)主处理器,对主处理器进行热插拔操作(步骤510)。当读取的值不为 1,即终止计时器的响应不正常,则重复步骤501。
如上所述,本发明可实现对处理器热插拔的软件支持,并通过处理器切 换技术提高热插拔操作的安全性。
虽然本发明以前述的较佳实施方式披露如上,然其并非用以限定本发 明。本领域的技术人员应当意识到在不脱离本发明所附的权利要求书所揭示 的本发明的范围和精神的情况下,所为的变动与修饰均属本发明的保护范围 的内。关于本发明所界定的保护范围请参考所附的权利要求书。
权利要求
1.一种终止计时器的检测方法,其通过与一终止计时器通信的一热备份启动控制暂存器来实现,该方法包含以下步骤a)设置该终止计时器的一响应时间与一间隔时间;b)写入0至该热备份启动控制暂存器的第零位,启动该终止计时器;c)判断0是否成功写入该热备份启动控制暂存器的第零位,以判断该终止计时器是否成功启动;d)如果该终止计时器启动成功,则在该终止计时器的该响应时间内,依照该间隔时间定时判断该热备份启动控制暂存器的第零位的值,以判断该终止计时器的计时功能是否正常;e)写入1至该热备份启动控制暂存器的第零位,停止该终止计时器;f)判断1是否成功写入该热备份启动控制暂存器的第零位,以判断该终止计时器是否成功停止;g)写入0至该热备份启动控制暂存器的第零位,重新启动该终止计时器;以及h)当该终止计时器的该响应时间到达时,判断该热备份启动控制暂存器的第零位的值,以判断该终止计时器是否可以正常响应。
2. 如权利要求1所述的终止计时器的检测方法,其中步骤d)进一步包含读取该热备份启动控制暂存器的第零位的值;以及判断读取的该热备份启动控制暂存器的第零位的值是否等于0,如果等 于,则该终止计时器的计时功能正常,否则,该终止计时器的计时功能不正 常。
3. 如权利要求1所述的终止计时器的检测方法,其中步骤h)进一步包含读取该热备份启动控制暂存器的第零位的值;以及判断读取的该热备份启动控制暂存器的第零位的值是否等于1,如果等 于,则该终止计时器能够正常响应,否则,该终止计时器不能正常响应。
4. 一种多处理器的切换方法,其通过一终止计时器与一热备份启动控 制暂存器在一第一处理器和一第二处理器之间进行自动切换,该方法包含以 下步骤设置该终止计时器的一响应时间;启动该第一处理器,并写入O至该热备份启动控制暂存器的第零位,启 动该终止计时器;判断该终止计时器的该响应时间是否到达,当该终止计时器的该响应时 间到达时,该终止计时器发送一控制信号;以及依照该控制信号,停止该第一处理器,并启动该第二处理器。
5. 如权利要求4所述的多处理器的切换方法,其中该控制信号为一BOOT_NEXT针脚状态改变信号。
6. —种处理器热插拔支持方法,其通过一终止计时器与一热备份启动 控制暂存器来支持处理器的热插拔,该方法包含以下步骤al)设置该终止计时器的一响应时间;bl)判断需要进行热插拔操作的一拔出处理器是否为当前工作的一主处 理器;cl)如果该拔出处理器不为该主处理器,则停止该拔出处理器,并对该拔 出处理器进行热插拔操作;dl)否则,写入O至该热备份启动控制暂存器的第零位,启动该终止计时 器;以及el)当该终止计时器的该响应时间到达时,通过该终止计时器进行处理器 切换,并停止该主处理器,对该主处理器进行热插拔操作。
7. 如权利要求6所述的处理器热插拔支持方法,其中步骤bl)进一步包含获取用户输入的需要进行热插拔操作的该拔出处理器的编号; 获取当前工作的该主处理器的编号;以及判断该拔出处理器的编号是否与该主处理器的编号相同,以判断该拔出 处理器是否为该主处理器。
8. 如权利要求6所述的处理器热插拔支持方法,其中步骤el)进一步包含当该终止计时器的该响应时间到达时,读取该热备份启动控制暂存器的 第零位的值;以及当该热备份启动控制暂存器的第零位的值为0时,执行步骤bl)。
全文摘要
一种终止计时器检测方法、多处理器切换方法以及处理器热插拔支持方法。通过与终止计时器通信连接的热备份启动控制暂存器,实现对终止计时器的启动、计时、停止以及响应等各项功能的检测。并于操作系统启动后,通过终止计时器实现多处理器之间自动切换,以及对处理器热插拔的支持。本发明可以对终止计时器的各项功能进行检测,自动定时地在多个处理器之间进行切换,而不受操作系统和处理器类型的限制,并实现了对处理器热插拔的支持,提高热插拔操作的安全性。
文档编号G06F11/00GK101201758SQ20061016469
公开日2008年6月18日 申请日期2006年12月14日 优先权日2006年12月14日
发明者刘文涵, 段秋月, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1