防止基本输入输出系统无法进入开机程序的方法与装置的制作方法

文档序号:6578818阅读:184来源:国知局
专利名称:防止基本输入输出系统无法进入开机程序的方法与装置的制作方法
技术领域
本发明是关于一种计算机基本输入输出系统(BIOS),特别是关于一种防止BIOS 无法进入开机程序的方法与装置。
背景技术
BIOS为基本输入输出系统(Basic Input/Output System)的缩写,其为载入计算 机硬件系统的程序中最基本的软件程序码,有以下的主要功能进行开机自我测试检查 中央处理器(Central Processing Unit, CPU)及各控制器的状态是否正常;初始化针对 存储器、主机板芯片组、显示卡及各个外围设备做初始化动作;记录系统设定值提供各系 统元件的基本设定,如显示器、键盘、处理器、存储器等;提供常驻程序库提供操作系统或 应用程序调用的中断常驻程序;载入操作系统从存储器载入操作系统到随机存取存储器 (Random access memory, RAM)等等。以上的基本功能让BIOS成为专门与硬件沟通的微型操作系统,其通常以相容于 CPU的组合语言写成的。由于BIOS为计算机开机时先进行执行的微型操作系统程序,因此, 其正常的运作成为计算机正常工作的第一道关卡。BIOS有两个主要的组成部分,即启动块 (boot block)和主体BIOS。BIOS的基本开机流程请参考图1,包含以下的步骤步骤102 启动开机电源。步骤104 :CPU发送第一条指令,指向启动块地址。步骤106 初始化芯片组。步骤108 初始化基本元件。步骤110 初始化存储器。步骤112 检察BIOS校验及解压缩主体BIOS。步骤114 执行系统自我检测(Power on self test, POST)。步骤116 是否输入“清除功能键”,若有,则执行步骤118 ;若无,则跳至步骤122。步骤118 解压缩互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor, CMOS)设置模块。步骤120 执行CMOS设置。步骤122 转移控制权至操作系统。启动块是BIOS中一段特定的区域,它是不压缩的且存放于固定的地址空间,为计 算机开机时首先执行的部分。它主要负责对计算机硬件做最基本、最简单的初始化,而后 解压缩主体BIOS的其他模组,并一一执行。启动块包含有用于引导的最小指令集,开机时 CPU指向存储BIOS程序的只读存储器(Read-Only Memory, ROM)空间的第一个地址就位于 启动块。一旦启动块中资料被破坏或者丢失,都会造成BIOS无法引导开机,必须进行BIOS 重置。在实际生产以及客户使用过程中,会遇到启动块没有被破坏但仍然无法开机的问 题,此时重置(Reset) BIOS没有效果,必须清除CMOS或者先拔掉电源再插上才可以正常开机。而在使用一段时间后,可能会随机出现同样的问题。对消费者而言,会认为是系统不稳 定所造成,进而导致对计算机制造商的不满。这种问题常见于使用英特尔(Intel)南桥芯片(如型号ICH6、ICH7、ICH8、ICH9、 ICH10等)的主机板上。在BIOS中的具体表现就在于CPU读取的第一个BIOS只读存储器 空间地址发生了变化。原先地址指向启动块,不过实际上却指向了另一个块中(一般为相 邻的下一级块)。因为另一个块并不包含有开机的必备程序,因此,造成计算机无法开机的 现象。此种CPU上电第一条指令BIOS执行地址错误的原因,一般是由于南桥某一寄存器 (以Intel的芯片为例,其为该寄存器中的起始置换位Top Swap Bit,TSB)出现异常导致。 一般来讲有三种解除错误方式1.如果此寄存器由开机后产生的电压(如VCC3)供电,那 么一般关机后此寄存器值会自动恢复,不影响下次开机。2.若寄存器由待机电压(如3VSB) 供电,那么一旦寄存器值出错,除非拔掉电源,否则每次都无法开机。3.如果寄存器由主机 板电池(Battery)供电,那么一旦TSB寄存器的值出错,除非拔掉小电池或用跳线清除CMOS 资料,否则每次都无法开机。原因1基本上不会对开机有任何影响,原因2、3会严重影响用户的使用。由于实 际生产时发现,由于主机板上南桥寄存器随机出现异常,会导致CPU上电第一条指令执行 地址错误造成BIOS无法弓丨导开机,一旦发生,必须通过拔CMOS电池或者断开电源开关再开 启的方法来使南桥寄存器恢复预设,给用户造成极大不便。因此,有必要针对此种CPU上电第一条指令执行地址错误造成BIOS无法弓丨导开机 的状况进行处理,以免增加客诉,增加计算机的使用者不满。

发明内容
有鉴于以上习知技术的问题,本发明提出一种防止BIOS无法进入开机程序的方 法,可达到有效防止CPU上电第一条指令执行地址错误造成BIOS无法引导开机的目的。为达上述目的,本发明提供一种防止BIOS无法进入开机程序的方法,运用于计算 机,其包含中央处理器、南桥芯片与一存储器。其中,中央处理器具有于开机后执行的第一 条指令。南桥芯片包含起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,用以 控制该起始地址的值。存储器则包含启动块,由该起始地址所指向,用以记录该BIOS的启 动程序;及翻转对应块,由一对应起始地址所指向,该对应起始地址的值为该起始地址控制 寄存器发生误置时的该起始地址寄存器的值。本发明的方法包含下列步骤取得该翻转对 应块的该对应起始地址;设定一跳转指令予该翻转对应块的该对应起始地址,该跳转指令 将记录该起始地址以将执行地址指向该启动块;开启该计算机系统的一电源,该中央处理 器执行该第一条指令;及当该中央处理器指向该翻转对应块的该对应起始地址,执行该跳 转指令以执行该开机程序。其中该起始地址控制寄存器发生误置,由该起始地址控制寄存器的一起始置换位 (TSB)的预设值0被置为1时,导致该起始地址寄存器的该起始地址的值转变为该对应起始 地址的值。本发明还有一目的在于提供一种防止BIOS无法进入开机程序的方法,运用于计 算机,其包含中央处理器与南桥芯片。其中,中央处理器,具有于开机后执行的第一条指令;南桥芯片,则包含起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,具有一 寄存值与一预设值,用以控制该起始地址的值。本发明的方法包含下列步骤开启该计算机 系统的一电源,该中央处理器执行该第一条指令;比较该起始地址控制寄存器的该寄存值 与该预设值是否相等;当该寄存值等于该预设值时,继续执行该开机程序;及当该寄存值 不等于该预设值时,置换该寄存值为该预设值。本发明尚有一目的在于提供一种防止BIOS无法进入开机程序的方法,运用于计 算机,其包含中央处理器、南桥芯片。其中,中央处理器,具有于开机后执行的第一条指令。 南桥芯片则包含起始地址寄存器,寄存一起始地址;起始地址控制寄存器,具有一第一寄 存值与一预设值,用以控制该起始地址的值;及起始地址锁定寄存器,用以存储一第二寄存 值,用以锁定该起始地址控制寄存器的该第一寄存值为该预设值。本发明的方法包含下列 步骤开启电源以执行该第一条指令;比较该起始地址控制寄存器的该第一寄存值与该预 设值是否相等;当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值;当该 寄存值等于该预设值时,写入该起始地址锁定寄存器的值为启动锁定;及执行该开机程序。本发明另有一目的在于提供一种防止BIOS无法进入开机程序的装置,运用于具 有中央处理器与南桥芯片的计算机,其中该南桥芯片包含起始地址寄存器,寄存一起始 地址;及起始地址控制寄存器,具有第一寄存值与预设值,用以控制该起始地址的值。本发 明的装置包含BIOS存储器,该存储器包含执行以下步骤的程序比较该起始地址控制寄存 器的该第一寄存值与该预设值是否相等;当该第一寄存值等于该预设值时,继续执行该开 机程序;及当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值。以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领 域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求 及附图,任何本领域技术人员可轻易地理解本发明相关的目的及优点。


图1为习知的BIOS程序启动流程图;图2为本发明所运用的计算机系统功能框图;图3为TSB异常导致南桥芯片的起始地址寄存器的值在BIOS上电后第一条指令 后的错误示意图;图4为本发明的防止BIOS无法进入开机程序的方法;图5为本发明的防止BIOS无法进入开机程序的方法,写于BIOS程序中的TSB寄 存器预设值检查程序第一具体实施例;及图6为本发明的防止BIOS无法进入开机程序的方法,写于BIOS程序中的TSB寄 存器预设值检查程序第二具体实施例。主要元件符号说明11 CPU11A 寄存器12 北桥13 南桥13A 寄存器
13BCMOS
14显不卡
15存储器
16BIOS
181/0
191/0
201/0
210起始地址寄存器
A0第0位
A4第四位
A8第八位
A16第十六位
A31第三i^一位
W0第0半字节
ffl第一半字节
W2第二半字节
W3第三半字节
W4第四半字节
W5第五半字节
W6第六半字节
W7第七半字节
具体实施例方式首先,请参考图2,其为一般的计算机主机板10系统功能框图,其包含有CPU 11、 北桥12、南桥13、显示卡14、存储器15、BI0S 16、I/O 18、I/O 19、I/O 20等等。其中,CPU 11经由高速运作的北桥12连接南桥13,在经由南桥13提取BIOS 16的程序。BIOS 16如 前所提的那样,一般为ROM型态存储,也有采用闪存(Flash memory)的。而南桥13当中的 寄存器13A则可由程序指令,并做各种控制的动作,并且,CMOS 13B—般为南桥13当中的静 态随机存取存储器(SRAM)所构成,其可存储主机板的设定值。CPU11当中则有寄存器11A 以供程序码的寄存以及运算值的寄存之用。接着,请参考图3,其为TSB异常导致南桥芯片的寄存器在BIOS上电后第一条指令 所指向的地址错误示意图。使用逻辑分析仪对发生问题的主机板BIOS进行开机逻辑分析, 确认问题由Intel南桥寄存器的TSB出现异常变化引起。此寄存器的预设值为“0”,不过, 在开关机过程中可能被随机置为“ 1”。在正常的状况下,位于南桥芯片的起始地址寄存器210当中,记录了 BIOS启动块 的起始地址的值,也即FFFF_FFFFh。其中的第16位A16的预设值为“1”。当CPU上电的第 一条指令通过南桥指向BIOS启动块的地址(FFFF_0000h-—FFFF_FFFFh,其由第0半字节 W0、第一半字节W1、第二半字节W2、第三半字节W3、第四半字节W4、第五半字节W5、第六半字 节W6、第七半字节W7组成),南桥就会将此起始地址的值传给CPU,并指向BIOS的启动块。
8
一旦开机前,南桥芯片当中的起始地址控制寄存器中的TSB被置” 1”时,起始地 址寄存器210的第16位A16会被翻转为“0”。于是,当CPU上电第一条指令通过南桥指向 BIOS启动块的地址(FFFF_0000h-—FFFF_FFFFh)时,因为A16被翻转为” 0”,而让南桥提 供给CPU的地址变为启动块的上一个翻转对应块的地址(FFFE_0000-—FFFE_FFFFh),也 即,起始地址寄存器210的值变为FFFE_FFFF,导致CPU收到了指向翻转对应块的地址值。 而翻转对应块不含有开机所必需的数据,造成主机板无法开机。由于确认此种开机时起始地址的值的错误是由TSB随机被置为“1”的所造成,因 此,本发明针对此点进行系统的调整,以防止此种错误所造成的不能开机的情形。请参考图4,其为本发明的防止BIOS无法进入开机程序的方法,所运用到的计算 机系统基本包含有CPU、BIOS存储器与南桥芯片。其中,BIOS存储器包含有启动块及翻 转对应块,而南桥芯片则包含有起始地址寄存器与起始地址控制寄存器。其中起始地址寄 存器的预设值为起始地址;起始地址控制寄存器则负责控制起始地址寄存器的值,其中的 TSB即位于起始地址控制寄存器当中。而启动块则由起始地址所指向用以记录BIOS的启动 程序;翻转对应块则由对应起始地址所指向,对应起始地址的值为起始地址控制寄存器发 生误置之时该起始地址寄存器的存储值。图4的方法包含以下的步骤步骤310 取得翻转对应块的对应起始地址。其中,跳转指令是存储于翻转对应块 的第一起始地址,而翻转对应块为事先可取得地址的块。翻转对应块为当南桥芯片中的TSB 产生误置时CPU在开启电源后执行第一条指令所指向者,也即,前述的错误地址。步骤320 设定跳转指令予翻转对应块的对应起始地址。其中,跳转指令是记录起 始地址,以提供CPU起始地址的值,以进入BIOS启动块取得工作指令。步骤330 开启计算机系统的电源以执行第一条指令。步骤340 当第一条指令所取得的地址为指向翻转对应块的对应起始地址,执行 跳转指令以执行开机程序。 如图3所示者,翻转对应块的地址为FFFE_0000-—FFFE_FFFFh,其起源于TSB的误 置,因此,可事先确认其地址。只要在翻转对应块的起始地址的内容,事先写上跳转指令,将 跳转指令写为指向代表BIOS启动块的起始地址,即可在产生上电后CPU在执行BIOS的第 一条指令的起始地址的值错误而产生问题时,将执行地址重新指向启动块的起始地址,即 可正常执行BIOS的开机程序。除非发生BIOS的存储器发生破坏性的损坏情形,否则,只要 是TSB所产生的第一条指令的地址错误指向的问题,均可通过图4的步骤均可解决的。不过,图4的方法,是用于产生TSB异常误置时。而在正常的开机状况下,若是先 增加一 TSB寄存器预设值检查程序于BIOS,则可达到近一步的错误预防,以让下次的开机 得以正常化,此为本发明所提供的第二道防线。不过,在BIOS执行时,如果仅执行图4的跳转动作,BIOS本身尚无法得知发生地址 翻转的现象,因此,图4的方法为预防随机的翻转现象产生时使用。此外,单独采用图4,仍 可达到本发明的目的,不过,可能在造成地址翻转后,每次开机都指向错误的地址。图5的 方法则在每次的BIOS程序执行时进行,以便在正确开机后将TSB的寄存值修改回为预设值 “0”,防止下次开机时再发生地址错误指向的动作。接下来,请参考图5,其为本发明的防止BIOS无法进入开机程序的方法中,写于 BIOS程序中的TSB寄存器预设值检查程序,所运用到的计算机系统基本包含有CPU、BIOS
9存储器与南桥芯片。其中,BIOS存储器包含有启动块及翻转对应块,而南桥芯片则包含有 起始地址寄存器与起始地址控制寄存器。其中起始地址寄存器的预设值为起始地址;起始 地址控制寄存器则负责控制起始地址寄存器的值,其中的TSB即位于起始地址控制寄存器 当中。而启动块,则由起始地址所指向用以记录BIOS的启动程序;翻转对应块则由对应起 始地址所指向,对应起始地址的值为起始地址控制寄存器发生误置之时该起始地址寄存器 的存储值。图5的方法包含以下的步骤步骤410 启动开机电源。步骤420 :CPU发送第一条指令,指向启动块地址。也即,起始地址寄存器中的值, 其预设值为起始地址。步骤430 执行起始置换位检查程序;本步骤为于BIOS的开机程序中写入TSB检 查程序,用以检查起始地址控制寄存器的寄存值,当寄存值与预设值不相等时,置换寄存值 为预设值。TSB为起始地址控制寄存器的位,通过检查TSB即可确认起始地址寄存器的值是 否改变。步骤440 进入BIOS开机程序;即进行图1的步骤106,继续进行BIOS的开机动作。其中,步骤430即为本发明所提供的插入程序,包含下列步骤步骤432 比较起始地址控制寄存器的寄存值与预设值。步骤434 起始地址控制寄存器的寄存值为预设值?若寄存值等于预设值,则表 示并未发生翻转的情形,则执行步骤440。步骤436 重写起始地址控制寄存器为预设值。也即,将TSB的值由1重写为0。步骤438 发送系统重置指令;重启后CPU读取的第一个BIOS只读存储器空间地 址就可以恢复正常。此外,本发明也可采用第三道防护措施,来进一步防范此种因起始置换位被翻转 而导致的无法进入开机程序的问题。由于有部分的TSB被翻转的情形是在开机后,计算机 正常运转的状况下发生,本发明图5的方法,通过BIOS进入开机程序前,先行检查TSB后进 行修改的方法,并无法预防成功开机后TSB被翻转的问题。此种问题,可通过起始置换锁定 位(Top swap Lock-down bit, TSLB)的设置来达成。TSLB为可进行设定的值,当其设为0 时,其功能被禁止(Disable);当其设为1时,其可强制几个特定位的值维持不变,如BUC. TS (offset 3414h, bit 0)补偿位,GCS. BBS (offset 3410h, bit 11:10)补偿位等等,其中 3414H BitO 即为 TSB。如果在开机时通过BIOS将TSLB由预设值0置为1的话,它会在开着机的情况下, 避免TSB被改写。不过,由于TSLB是由VCC3供电的,因此只要一关闭电源,其值就会被自 动清为0。于是,为了预防在开机后TSB被改写,本发明可加上此第三保护机制。加上此机制的流程,请参考图6,图6为本发明的防止BIOS无法进入开机程序的方 法,写于BIOS程序中的TSB寄存器预设值检查程序第二具体实施例,一种防止BIOS无法进 入开机程序的方法,运用于计算机,其包含CPU、BIOS存储器与南桥芯片。其中,BIOS存储 器包含有启动块及翻转对应块,而南桥芯片则包含有起始地址寄存器、起始地址控制寄存 器、起始地址锁定寄存器。其中起始地址寄存器的预设值为起始地址;起始地址控制寄存器 则负责控制起始地址寄存器的值,其中的TSB即位于起始地址控制寄存器当中。而启动块,则由起始地址所指向用以记录BIOS的启动程序;翻转对应块则由对应起始地址所指向,对 应起始地址的值为起始地址控制寄存器发生误置之时该起始地址寄存器的存储值。起始地 址锁定寄存器,用以存储一第二寄存值,用以锁定该起始地址寄存器的该第一寄存值为该 预设值。启动块,则由起始地址所指向,用以记录BIOS的程序。图6的方法包含下列步骤步骤510 启动开机电源。步骤520 :CPU发送第一条指令,指向启动块地址。也即,起始地址寄存器中的值, 其预设值为起始地址。步骤530 执行起始置换位检查程序;本步骤为于BIOS的开机程序中写入TSB检 查程序,用以检查起始地址控制寄存器的寄存值,当寄存值与预设值不相等时,置换寄存值 为预设值。TSB为起始地址控制寄存器的位,通过检查TSB即可确认起始地址控制寄存器的 值是否改变。步骤540 进入BIOS开机程序;即进行图1的步骤106,继续进行BIOS的开机动作。其中,步骤530即为本发明所提供的插入程序,包含下列步骤步骤531 比较起始地址控制寄存器的寄存值与预设值。步骤532 起始地址控制寄存器的寄存值为预设值?若寄存值等于预设值,则表 示并未发生翻转的情形,则执行步骤535。步骤533 重写起始地址控制寄存器为预设值。也即,将TSB的值由1重写为0。步骤534 发送系统重置指令;重启后CPU读取的第一个BIOS的ROM空间地址就 可以恢复正常。步骤535 将起始地址锁定寄存器的值写为启动锁定,以防止开机后起始地址控 制寄存器被误置。也即,起始地址锁定寄存器中的TSLB,当其被置为1时,即可达到锁定起 始地址控制寄存器的值的目的。通过图6的方法,BIOS本身可有两道防护措施来防止TSB随机被置为1的情形, 其一为在CPU执行第一道指令后检查起始地址控制寄存器的值(也即,TSB的值);其二为 进入开机程序前将起始地址锁定寄存器的TSLB置为1,以防止开机的过程中发生TSB被翻 转的情形。然而,可能以上的两道防护措施都失效,这就需要图4的方法所述的第一道防护 措施的运用了。于是,运用本发明的方法,一旦南桥芯片当中的起始地址控制寄存器异常,开机时 BIOS自动执行程序来使该寄存器恢复为预设值,用户不会看到主板无法工作的现象,也无 需拔掉CMOS电池或断掉电源再开,降低客诉,减少维修成本。此外,通过本发明的提出,不论是普通台式计算机,包括工业计算机、笔记型计算 机、服务器等,只要发生类似CPU上电第一条指令BIOS执行地址错误的问题,都可通过本发 明的方法进行解决。以上本发明所提供的方法,是以解决Intel处理器的TSB所造成的BIOS无法进入 开机程序的问题为实施例。对于本领域技术人员而言,当可运用本发明的方法来解决不同 厂家芯片组出现的此类问题,也即,只要判断清楚CPU第一条指令执行地址的具体错误位 置以及对应的控制寄存器,均可以用本发明的方法解决。虽然本发明的技术内容已经以较佳实施例揭露如上,然而其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神所作些许的更动与润饰,都应涵盖于本发 明的范畴内,因此本发明的保护范围当视后附的权利要求所界定者为准。
权利要求
一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含中央处理器,具有在开机后执行的一第一条指令;南桥芯片,包含起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,用以控制该起始地址的值;存储器,包含启动块,由该起始地址所指向,用以记录该BIOS的启动程序;及翻转对应块,由一对应起始地址所指向,该对应起始地址的值为该起始地址控制寄存器发生误置时的该起始地址寄存器的值该方法包含下列步骤取得该翻转对应块的该对应起始地址;设定一跳转指令予该翻转对应块的该对应起始地址,该跳转指令将记录该起始地址以将执行地址指向该启动块;开启该计算机系统的一电源,该中央处理器执行该第一条指令;及当该中央处理器指向该翻转对应块的该对应起始地址,执行该跳转指令以执行该开机程序。
2.如权利要求1所述的方法,其中该起始地址控制寄存器发生误置,是由该起始地址 控制寄存器的一起始置换位TSB的预设值O被置为1时,导致该起始地址寄存器的该起始 地址的值转变为该对应起始地址的值。
3.如权利要求2所述的方法,其中该南桥芯片选自英特尔ICH6、ICH7、ICH8、ICH9、 ICHlO所组成的群组其中之一。
4.一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含 中央处理器,具有在开机后执行的第一条指令;南桥芯片,包含起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,具有一寄存值与一预设值,用以控制该起始地址的值; 该方法包含下列步骤开启该计算机系统的一电源,该中央处理器执行该第一条指令; 比较该起始地址控制寄存器的该寄存值与该预设值是否相等; 当该寄存值等于该预设值时,继续执行该开机程序;及 当该寄存值不等于该预设值时,置换该寄存值为该预设值。
5.如权利要求4所述的方法,还包含下列步骤在置换该寄存值为该预设值后,进行系统重置。
6.如权利要求4所述的方法,其中该起始地址控制寄存器的该寄存值与该预设值的比 较,是比较该起始地址控制寄存器的一起始置换位TSB的寄存值是否等于预设值0。
7.如权利要求6所述的方法,其中该南桥芯片是选自英特尔ICH6、ICH7、ICH8、ICH9、 ICHlO所组成的群组其中之一。
8.一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含 中央处理器,具有在开机后执行的一第一条指令;及南桥芯片,包含起始地址寄存器,寄存一起始地址;起始地址控制寄存器,具有一第一寄存值与一预设值,用以控制该起始地址的值;及 起始地址锁定寄存器,用以存储一第二寄存值,用以锁定该起始地址控制寄存器的该 第一寄存值为该预设值; 该方法包含下列步骤 开启电源以执行该第一条指令;比较该起始地址控制寄存器的该第一寄存值与该预设值是否相等; 当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值; 当该寄存值等于该预设值时,写入该起始地址锁定寄存器的值为启动锁定;及 执行该开机程序。
9.如权利要求8所述的方法,还包含下列步骤在置换该第一寄存值为该预设值后,进 行系统重置。
10.如权利要求8所述的方法,其中该起始地址控制寄存器的该寄存值与该预设值的 比较,是比较该起始地址控制寄存器的一起始置换位TSB的寄存值是否等于预设值0。
11.如权利要求10所述的方法,其中该起始地址锁定寄存器包含一起始置换锁定位 TSLB,用以设定该起始置换位TSB的预设值0的锁定。
12.如权利要求10所述的方法,其中该南桥芯片是选自英特尔ICH6、ICH7、ICH8、ICH9、 ICHlO所组成的群组其中之一。
13.一种防止BIOS无法进入开机程序的装置,运用于具有中央处理器与南桥芯片的计 算机,其中该南桥芯片包含起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,具有一第一寄存值与一预设值,用以控制该起始地址的值;BIOS存储器,该存储器包含执行以下步骤的程序比较该起始地址控制寄存器的该第一寄存值与该预设值是否相等;当该第一寄存值等于该预设值时,继续执行该开机程序;及当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值。
14.如权利要求13所述的装置,该BIOS存储器中的该程序还包含下列步骤在置换该 第一寄存值为该预设值后,进行系统重置。
15.如权利要求13所述的装置,其中该起始地址控制寄存器的该第一寄存值与该预设 值的比较,是比较该起始地址控制寄存器的一起始置换位TSB的寄存值是否等于预设值0。
16.如权利要求13所述的装置,其中该南桥芯片是选自英特尔ICH6、ICH7、ICH8、ICH9、 ICHlO所组成的群组其中之一。
17.如权利要求13所述的装置,其中,该南桥芯片还包含起始地址锁定寄存器,用以存储一第二寄存值,用以锁定该起始地 址控制寄存器的该第一寄存值为该预设值;且该BIOS程序的执行步骤,还包含下列步骤当比较的该第一寄存值等于该预设值时,写入该起始地址锁定寄存器的值为启动锁定;及执行该开机程序。
18.如权利要求17所述的装置,其中该起始地址锁定寄存器包含一起始置换锁定位 TSLB,用以设定该起始置换位TSB的预设值O的锁定。
全文摘要
本发明为一种防止BIOS无法进入开机程序的方法与装置,用以解决在计算机开机后CPU执行第一条指令时所执行的起始地址被错置为另一个对应起始位置进而导致BIOS无法进入开机程序的问题。本发明的方法于对应起始地址之处写入一跳转指令,让计算机发生起始地址错置时能够将执行指令跳回BIOS的启动块,进而进行正常的开机动作。此外,本发明还于BIOS程序中,加入检查会造成起始地址翻转为对应起始地址的寄存器,以在每次开机的过程中,能预先检查此寄存器的值并在错误时重写,以避免下次开机时再发生错误指向的问题。
文档编号G06F9/445GK101866291SQ20091014886
公开日2010年10月20日 申请日期2009年6月8日 优先权日2009年4月17日
发明者张锦 申请人:微盟电子(昆山)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1