CN1170221C - 可使用除错系统开机的方法及计算机系统 - Google Patents
可使用除错系统开机的方法及计算机系统 Download PDFInfo
- Publication number
- CN1170221C CN1170221C CNB021513589A CN02151358A CN1170221C CN 1170221 C CN1170221 C CN 1170221C CN B021513589 A CNB021513589 A CN B021513589A CN 02151358 A CN02151358 A CN 02151358A CN 1170221 C CN1170221 C CN 1170221C
- Authority
- CN
- China
- Prior art keywords
- rom
- processing unit
- central processing
- bus
- read
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
一种可使用除错系统开机的方法,适用计算机系统,计算机系统具有中央处理器、系统总线、外围总线、扩充总线、南桥芯片及北桥芯片、以及连接至扩充总线且储存有基本输出入系统程序代码的只读存储器,除错系统连接至外围总线。此该方法包括以下步骤:将中央处理器切换至一正常模式,使中央处理器在系统总线上发出一指向只读存储器的数据要求;将中央处理器切换至一除错模式,使中央处理器在系统总线上发出一指向除错系统的数据要求;由北桥芯片将位于系统总线上的数据要求转送至外围总线上;依数据要求的指向,由南桥芯片或除错系统将基本输出入系统程序代码加载该中央处理器。
Description
技术领域
本发明涉及一种执行计算机系统开机的方法,特别涉及一种可使用除错系统开机的计算机系统与方法,可在基本输出入系统(BIOS)程序代码或其只读存储器(ROM)发生故障时,仍然可以执行开机程序进行除错。
背景技术
一般来说,计算机系统的架构是由多个不同的层次组成。最低阶者是实际的硬件层,而最高阶者是与使用者互动的应用软件。在硬件与应用软件之间的则是系统软件。系统软件本身也分成多个部份,包含了操作系统核心及外层、装置驱动程序、或是多任务执行程序。
通常在硬件与系统软件之间还会包含一个低阶的软件层,称之为基本输出入系统(BIOS)。BIOS在系统或应用软件与硬件之间提供了基本的输出入服务功能,并处理由系统发出的中断命令(interrupt)。经由中断命令的使用可以对计算机系统进行必要的控制。这些中断命令可以由微处理器、系统硬件或软件发出。BIOS则以数字逻辑的方式处理这些中断命令。当一中断命令产生时,计算机系统的控制便会转交到中断向量(interrupt vector)上,中断向量定义了在BIOS中,配予某个中断码的路由的区段位移(segment:offset)地址。
BIOS中断服务子程序(ISRs,Interrupt Service Routines)处理由硬件装置发出的中断命令。中断服务子程序使用了中央处理器及BIOS数据区中的暂存数据(register)。而BIOS装置服务子程序(DSRs,DeviceService Routines)则处理藉由使用INT指令所发出的软件中断命令。
BIOS除了上述在计算机系统运作期间提供的服务外,在计算机系统一开机时,必需先执行BIOS程序代码,以对于整个计算机系统进行初始化及组态设定的工作。BIOS此时会执行一个启始程序,被称之为电源启动自我测试(POST)程序。此程序会执行许多必要的工作,包括了随机存取存储器的测试、清查安装于计算机系统中所有的装置、对软盘、硬盘、键盘、并行端口、串行端口及其它安装于计算机系统中的装置(如CD-ROM或声卡等等)进行组态设定、将提供必要特殊功能(如随插即用、电源管理等)的计算机硬件进行初始化。如果这些工作都能够成功的完成,接着BIOS将会开始加载操作系统,如磁盘操作系统(DOS)、LINUX、Windows95、Windows98等等,最后完成整个开机操作。
由于计算机系统的开机操作十分复杂,不论是BIOS或是操作系统都可能在启动时发生错误而导致开机失败,使得整个计算机系统根本无法运作,尤其是掌控开机操作中最基本工作的BIOS。因此,对于负责BIOS设计的系统芯片组制造者来说,对BIOS程序代码进行除错(debug)是十分重要的工作。
然而,在对系统BIOS进行除错时,最令人困扰的状况是当系统BIOS发生错误时,计算机系统或是芯片组的运作根本无法启动,而没有办法得知错误发生的原因。此时必需使用最基本的逻辑分析方法以直接量测脚位信号的方式才有可能找出错误原因,十分耗费人力与时间。
发明内容
为了解决上述问题,本发明提供了一种可使用除错系统开机的方法及计算机系统,藉由使中央处理器对只读存储器的数据要求转向除错系统,而由除错系统来响应此一要求,便可以忽略故障的BIOS,由除错系统接手开机程序,之后再由除错系统对BISO进行修正或错误分析。
本发明的一个目的在于提供一种可使用除错系统开机的方法,适用于一计算机系统,该计算机系统具有一中央处理器、一系统总线、一外围总线、一扩充总线、一第一及第二桥接器、以及一连接至该扩充总线且储存有第一基本输出入系统程序代码的只读存储器,该除错系统连接至该外围总线,该方法包括以下步骤:将该中央处理器切换至一正常模式,在该正常模式下,该中央处理器在该系统总线上发出一指向该只读存储器的第一数据要求;将该中央处理器切换至一除错模式,在该除错模式下,该中央处理器在该系统总线上发出一指向该除错系统的第二数据要求;由该第一桥接器将位于该系统总线上的第一或第二数据要求转送至该外围总线上;使该第二桥接器以储存于该只读存储器中的第一基本输出入系统程序代码响应位于该外围总线上的第一数据要求,而将该第一基本输出入系统程序代码加载该中央处理器;以及使该除错系统以一第二基本输出入系统程序代码响应该第二数据要求,而将该第二基本输出入系统程序代码加载该中央处理器。
本发明的另一个目的在于提供一种可使用除错系统开机的计算机系统,包括:一中央处理器,可切换于一正常模式及除错模式之间,在该正常模式下,该中央处理器在该系统总线上发出一第一数据要求,而在该除错模式下,该中央处理器在该系统总线上发出一指向该除错系统的第二数据要求;一系统、外围及扩充总线,其中该中央处理器发出该第一或第二数据要求至该系统总线上,该除错系统系连接至该外围总线;一只读存储器,连接至该扩充总线并储存有一第一基本输出入程序代码,该第一数据要求指向该只读存储器;一第一桥接器,将位于该系统总线上的该第一或第二数据要求转送至该外围总线;以及一第二桥接器,以储存于该只读存储器中的第一基本输出入系统程序代码响应位于该外围总线上的第一数据要求,而将该第一基本输出入系统程序代码加载该中央处理器;其中,该除错系统以一第二基本输出入系统程序代码响应该第二数据要求,而将该第二基本输出入系统程序代码加载该中央处理器。
藉此,本发明利用一切换信号产生器来开启或强制禁止中央处理器中的A20门,使中央处理器发出的数据要求指向地址改变,而转向除错系统,如此便可以忽略只读存储器中的BIOS而由除错系统接手开机程序,进而进行BISO的修正或错误分析。
以下,结合附图说明本发明的一种可使用除错系统开机的方法及计算机系统的实施例。
附图说明
图1显示了本发明一实施例中可使用除错系统开机的计算机系统方块图。
图2显示了图1的计算机系统所使用的信号时序。
具体实施方式
以下,结合附图说明本发明的一种可使用除错系统开机的方法及计算机系统的实施例。
图1显示了本发明一实施例中可使用除错系统开机的计算机系统方块图。在计算机系统中,所有的组件及总线设置于一可提供必要的绕线、插槽、及其它各式各样连接装置的主机板(图未显示)上。计算机系统具有一中央处理器10,主要由微处理器构成,如英特尔奔腾第四代(Intel Pentium4)。中央处理器10连接至一系统总线12,亦会有一高速缓存13与其连接。
在中央处理器10中具有一特殊的A20门(A20 gate)脚位101。此一A20门脚位101的由来,是因在计算机系统发展的过程中,旧的8086微处理器只有1MB大小的地址空间,而只使用了20个地址线(A0-A19),超过此地址范围时,8086微处理器便会自动将地址归零,即所谓的「线回」(wrap around);之后在新的80286微处理器发展出来后,其可以有16MB大小的地址空间,而使用了24个地址线,但是为了使80286微处理器能够与旧的计算机系统兼容,它必需提供与8086微处理器相同的地址处理方式,因此在80286微处理器中提供了两种操作模式,即仿真旧系统的真实模式(real mode)及直接使用24个地址线的保护模式(protected mode)。为了能让24条地址线产生只有等效于20条地址线的效果,在80286之后的微处理器中,会使用一A20门,当此门被禁止时(disable),便会使第21条地址线(A20)永远输出位「0」,而使中央处理器10输出的地址范围锁在1MB之内,实现仿真旧系统的目的。随着微处理的不断进步,新一代的处理器,如Intel Pentium4,都已经直接将此门开启而完整地使用24条地址线。
因此,在本实施例中,为了实现在一除错模式下能够将原来指向BIOS只读存储器的数据要求转向至除错系统的目的,使用了一切换信号产生器102输出一切换信号至中央处理器10的A20门脚位101。此切换信号将强制使中央处理器10中的A20门被禁止,使得中央处理器10在地址线A20上的位被强制改变,改变后的地址将设定给除错系统。另一方面,在正常模式下,切换信号产生器102不会触发切换信号,使中央处理器10的输出地址保持原有值。
系统总线12经由一存储器控制器/外围总线主控器桥接(MC/PBHB)芯片(一般通称为「北桥芯片」)20与一外围总线18连接。外围总线18是一外围控制器连接(PCI)总线。关于PCI总线与桥接器的信号传输与协议可以参阅1993年4月份出版的「PCI-Local Bus Specification,Rev.2.0」。
有多种不同的装置可以连接至外围总线18,如影像处理装置(显示卡)22。此外,一除错适配卡24亦连接至外围总线18。除错适配卡24的功能在于做为计算机系统与另一除错用的计算机系统间的连接接口。
外围总线18经由一外围至扩充总线桥接器芯片(一般通称为「南桥芯片」)28而与一扩充总线30连接。扩充总线30可以是一工业标准结构(ISA)总线。南桥芯片28中,亦包含了一个地址译码器283,用以对只读存储器(ROM)16的地址进行译码。当中央处理器10发出指向只读存储器16的数据要求时,南桥芯片28将负责只读存储器16中BIOS程序代码的读取工作,以加载中央处理器10。
有多种不同的装置可以经由插槽32a、32b及32c连接至扩充总线30。只读存储器16经由插槽34连接至扩充总线30。只读存储器16储存了BIOS所使用的程序代码。
图2显示了计算机系统在使用只读存储器16或除错系统开机时的信号时序。事实上,在PCI总线的通讯协议中使用了非常多的信号,此处仅显示与本发明有关的信号。
如图2所示,信号CLK是来自于系统的时钟信号,而信号RESET则是一重设信号,进行重设时,信号RESET先产生一逻辑高电平,之后再回到预设的低电平。
不论在正常或除错模式下,当中央处理器10发出一指向只读存储器或除错系统的数据要求至系统总线12时,北桥芯片20将会触发信号ROMSEL$。如一般的使用习惯,在信号名称后加上「$」符号是代表此信号在被触发时具有低逻辑电平(active low)。被要求存取的数据地址(只读存储器地址或除错系统存储器的地址)将随着数据要求而送出,并被北桥芯片20转送到PCI总线18上。同时,数据要求中亦载有相关的控制信号以表示一个读取周期被要求。依据PCI总线的通讯协议,被数据要求指向的装置应该在该读取周期中地址相位后三个时钟周期以内响应一装置选择信号DEVSEL$,以表示地址有效且可进行译码。因此,当中央处理器10处于正常模式下时,南桥芯片28便会使用来自北桥芯片20的信号ROMSEL$触动其地址译码器283进行译码并在三个时钟周期之内响应DEVSEL$信号至PCI总线18上,同时在译码完成后会读取只读存储器16中与所译码地址相对的BIOS程序代码数据,以将其加载中央处理器10中。另一方面,当中央处理器10处于除错模式时,由于其发出的数据要求指向被改变而转向除错适配卡24,因此南桥芯片28并不会对北桥芯片20所发出的ROMSEL$信号做响应,而是由除错适配卡24在PCI总线18上产生DEVSEL$信号进行响应,并对数据要求中的地址进行译码,依据译码后的地址,将其本身储存的BIOS程序代码数据送出而加载中央处理器10中。
由上述的操作可知,由于在中央处理器10被切换至除错模式时,其原来指向只读存储器的数据要求被改变而转向除错适配卡24,因此除错系统便可以取代南桥芯片28来对北桥芯片20所发出的ROMSEL$信号进行响应,并将其本身储存的BIOS程序代码数据加载中央处理器10中。如此,不论只读存储器16、储存于只读存储器16中的BIOS程序代码甚至或是南桥芯片28发生问题时,都可以藉由使用切换信号产生器102强制禁止中央处理器10的A20门后忽略这些问题,而直接由除错系统开机。此外,由于除错适配卡24与另一除错用的计算机系统4连接,其所储存的BIOS程序代码还可经由计算机系统4进行编程。
在使用除错系统进行开机时,还可以进行以下几个程序:
1.由于除错用的计算机系统4与PCI总线连接,可以在计算机系统4中使用软件的方式,经由除错适配卡24及北桥芯片20直接读取在开机操作开始时,中央处理器10中缓存器(register)所储存的数据内容。在传统上,这个步骤只能以逻辑分析或使用示波器直接读取脚位信号来实现。
2.在南桥芯片28及只读存储器16没有损坏的情形下,利用计算机系统4经由除错适配卡24、南桥芯片28读取储存于只读存储器16中可能已发生错误的BIOS程序代码数据,以进行分析比对。
3.在南桥芯片28及只读存储器16没有损坏的情形下,利用计算机系统4经由除错适配卡24、南桥芯片28将正确的BIOS程序代码烧入只读存储器16中。
综合上述,本发明提供一种可使用除错系统开机的方法及计算机系统,利用一切换信号产生器来开启或强制禁止中央处理器中的A20门,使中央处理器发出的数据要求指向地址改变,而转向除错系统,如此便可以忽略只读存储器中的BIOS而由除错系统接手开机程序,进而进行BISO的修正或错误分析。
虽然本发明已以一较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,可作若干的更动与润饰,因此本发明的保护范围视后附的权利要求的范围为准。
Claims (10)
1.一种可使用除错系统开机的方法,适用于一计算机系统,该计算机系统具有一中央处理器、一系统总线、一外围总线、一扩充总线、一第一及第二桥接器、以及一连接至该扩充总线且储存有第一基本输出入系统程序代码的只读存储器,该除错系统连接至该外围总线,该方法包括以下步骤:
将该中央处理器切换至一正常模式,在该正常模式下,该中央处理器在该系统总线上发出一指向该只读存储器的第一数据要求;
将该中央处理器切换至一除错模式,在该除错模式下,该中央处理器在该系统总线上发出一指向该除错系统的第二数据要求;
由该第一桥接器将位于该系统总线上的第一或第二数据要求转送至该外围总线上;
使该第二桥接器以储存于该只读存储器中的第一基本输出入系统程序代码响应位于该外围总线上的第一数据要求,而将该第一基本输出入系统程序代码加载该中央处理器;以及
使该除错系统以一第二基本输出入系统程序代码响应该第二数据要求,而将该第二基本输出入系统程序代码加载该中央处理器。
2.如权利要求1所述的可使用除错系统开机的方法,其中还包括以下步骤:
当该中央处理器被切换至该除错模式时,由该除错系统读取并显示该中央处理器中多数缓存器的储存内容。
3.如权利要求1所述的可使用除错系统开机的方法,其中还包括以下步骤:
当该中央处理器被切换至该除错模式时,由该除错系统经由该第二桥接器自该只读存储器中读取该第一基本输出入系统程序代码。
4.如权利要求1所述的可使用除错系统开机的方法,其中还包括以下步骤:
当该中央处理器被切换至该除错模式时,由该除错系统经由该第二桥接器将该第二基本输出入系统程序代码烧入该只读存储器中。
5.如权利要求1所述的可使用除错系统开机的方法,其中藉由开启或强制禁止该中央处理器的一A20门而将该中央处理器切换于该正常与除错模式之间。
6.如权利要求1所述的可使用除错系统开机的方法,其中该第二桥接器藉由送出一装置选择信号至外围总线上、将该第一数据要求中的地址进行译码并依据该地址读取存于该只读存储器中相对第一基本输出入系统程序代码来响应该数据要求。
7.如权利要求1所述的可使用除错系统开机的方法,其中该除错系统藉由送出一装置选择信号至外围总线上、将该第二数据要求中的地址进行译码并依据该地址读取存于该只读存储器中相对第二基本输出入系统程序代码来响应该数据要求。
8.一种可使用除错系统开机的计算机系统,包括:
一中央处理器,可切换于一正常模式及除错模式之间,在该正常模式下,该中央处理器在该系统总线上发出一第一数据要求,而在该除错模式下,该中央处理器在该系统总线上发出一指向该除错系统的第二数据要求;
一系统、外围及扩充总线,其中该中央处理器发出该第一或第二数据要求至该系统总线上,该除错系统系连接至该外围总线;
一只读存储器,连接至该扩充总线并储存有一第一基本输出入程序代码,该第一数据要求指向该只读存储器;
一第一桥接器,将位于该系统总线上的该第一或第二数据要求转送至该外围总线;以及
一第二桥接器,以储存于该只读存储器中的第一基本输出入系统程序代码响应位于该外围总线上的第一数据要求,而将该第一基本输出入系统程序代码加载该中央处理器;
其中,该除错系统以一第二基本输出入系统程序代码响应该第二数据要求,而将该第二基本输出入系统程序代码加载该中央处理器。
9.如权利要求8所述的可使用除错系统开机的计算机系统,其中该中央处理器具有一A20门,藉由开启及强制禁止该A20门而进行正常模式与除错模式间的切换。
10.如权利要求8所述的可使用除错系统开机的计算机系统,其中该外围及扩充总线分别为PCI及ISA总线,该第一及第二桥接器分别为北桥芯片及南桥芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021513589A CN1170221C (zh) | 2002-11-18 | 2002-11-18 | 可使用除错系统开机的方法及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021513589A CN1170221C (zh) | 2002-11-18 | 2002-11-18 | 可使用除错系统开机的方法及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1405677A CN1405677A (zh) | 2003-03-26 |
CN1170221C true CN1170221C (zh) | 2004-10-06 |
Family
ID=4751984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021513589A Expired - Lifetime CN1170221C (zh) | 2002-11-18 | 2002-11-18 | 可使用除错系统开机的方法及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1170221C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100386709C (zh) * | 2003-06-06 | 2008-05-07 | 中国科学院计算技术研究所 | 一种龙芯-1cpu的网络计算机主板系统的复位方法 |
CN100334556C (zh) * | 2003-09-30 | 2007-08-29 | 宏达国际电子股份有限公司 | 在中央处理器当机时进行的开机方法及其计算机系统 |
CN100382059C (zh) * | 2003-11-14 | 2008-04-16 | 威盛电子股份有限公司 | 具有多工输出入介面架构的电脑系统 |
CN100395714C (zh) * | 2005-05-28 | 2008-06-18 | 鸿富锦精密工业(深圳)有限公司 | 识别中央处理器前端总线的电路 |
CN100432952C (zh) * | 2006-06-20 | 2008-11-12 | 威盛电子股份有限公司 | 撷取汇流排传输的系统及其方法 |
CN100442231C (zh) * | 2006-09-20 | 2008-12-10 | 威盛电子股份有限公司 | 计算机系统的开机装置及方法 |
CN101106441B (zh) * | 2007-08-10 | 2011-05-04 | 华为技术有限公司 | 减少业务中断时间的方法和装置 |
CN112579178B (zh) * | 2019-09-29 | 2022-04-05 | 佛山市顺德区顺达电脑厂有限公司 | 开机程序除错系统及其主机与方法 |
-
2002
- 2002-11-18 CN CNB021513589A patent/CN1170221C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1405677A (zh) | 2003-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2650675B2 (ja) | マルチモードマイクロプロセッサにおいてプログラムを実行する方法及びオペレーティングシステム | |
KR100502400B1 (ko) | 복수의주변저장장치선택제어기능을갖는컴퓨터및그선택제어방법 | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
KR100341180B1 (ko) | 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법 | |
EP0948768B1 (en) | System for facilitating data i/o between usb input device and non-usb cognition application | |
EP0762280B1 (en) | Data processor with built-in emulation circuit | |
EP2115582B1 (en) | Controlling instruction execution in a processing environment | |
JPH05250183A (ja) | マイクロプロセッサ装置及びcpu割込方法 | |
US20020129233A1 (en) | Data processor having bios packing compression/decompression architecture | |
US7100088B2 (en) | Computer system equipped with a BIOS debugging card | |
JPH09114697A (ja) | データプロセッサ | |
JPH09128265A (ja) | データ処理システム | |
CN1170221C (zh) | 可使用除错系统开机的方法及计算机系统 | |
JPH07334372A (ja) | エミュレートシステム及びエミュレート方法 | |
CN1464386A (zh) | 嵌入式系统中固件程序在线升级的实现方法 | |
US5968174A (en) | Method and apparatus for implementing a 32-bit operating system which supports 16-bit code | |
JP2000207247A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
JPH09218801A (ja) | データプロセッサ | |
CN2606396Y (zh) | 可使用除错系统开机的计算机系统 | |
CN1194294C (zh) | 可使用排错系统开机的方法 | |
US20040153810A1 (en) | Computer system equipped with a BIOS debugging card | |
CN2622769Y (zh) | 可使用排错系统开机的计算机系统 | |
EP2115574B1 (en) | Employing a buffer to facilitate instruction execution | |
JP3119859B2 (ja) | 計算機システム | |
US7406406B2 (en) | Instructions to load and store containing words in a computer system emulator with host word size larger than that of emulated machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20041006 |