CN100426234C - 测量基本输入输出系统的自我开机测试时间的方法 - Google Patents
测量基本输入输出系统的自我开机测试时间的方法 Download PDFInfo
- Publication number
- CN100426234C CN100426234C CNB2005101209424A CN200510120942A CN100426234C CN 100426234 C CN100426234 C CN 100426234C CN B2005101209424 A CNB2005101209424 A CN B2005101209424A CN 200510120942 A CN200510120942 A CN 200510120942A CN 100426234 C CN100426234 C CN 100426234C
- Authority
- CN
- China
- Prior art keywords
- basic input
- computing machine
- output
- main frame
- sign indicating
- 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 - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种测量基本输入/输出系统的自我开机测试时间的方法,是以一计算机对一具有一基本输入/输出系统的主机进行测量,且该计算机是连接于与该主机的一连接端口上,该方法是先启动该主机使该主机加载该基本输入/输出系统,并使该基本输入/输出系统初始化该连接端口,并当该基本输入/输出系统经该连接端口传送一诊断码至该计算机时,该计算机即由RTC芯片取得一时间,借此计算出接收到诊断码与诊断码间的时间差,即能了解位于诊断码与诊断码间的程序码被执行所需花进的时间长短。
Description
技朮领域
本发明是有关于一种测量基本输入/输出系统(BIOS)的自我开机测试(POST)时间的方法,特别是有关于一种测量出自我开机测试时各计算机程序模块执行所需的时间,以便于进行后续的程序码侦错、修改的方法。
背景技朮
基本输入/输出系统(以下简称BIOS)是一种计算机程序码,主要储存在计算机中的只读存储器(ROM)或快闪存储器内,用来提供最基本的硬件初始化、外围控制的必要程序码,一般是用汇编语言所写成。
现今计算机的设计架构,是当计算机在开机的瞬间,就由处理器自只读存储器中加载BIOS,并进行所谓的自我开机测试(Power On Self Test,POST)程序,此时BIOS会针对处理器、动态存储器(DRAM)、芯片组、显示卡等相关硬件进行初始化,即对各外围硬件的缓存器进行填值、改旗号(flag)等动作,确认外围正常工作无误后,再驱动软盘或硬盘机将操作系统加载,即完成BIOS的开机引导工作。
由于外围硬件的种类繁杂,因此BIOS所要进行的作业甚多,但往往由于计算机中某个零件失误、程试码的错误等原因,使得自我开机测试无法顺利进行。但由于操作系统尚未加载,故又无法法执行除错软件来除错,只能由原始程序码来进行搜寻,更是让除错工作犹如大海捞针而旷日费时。
为了加速除错的进行,现今最常使用的侦错方法是在计算机的主机板总线(例如ISA、PCI)上插设一除错适配卡,并在BIOS程序码中依据所执行的不同阶段(程序模块)植入诊断码(POST code),使得BIOS程序码进行到不同阶段时会由80h或84h端口送出此诊断码至除错适配卡上,除错适配卡会将此诊断码加以闩锁并显示于其七段显示器上,故当程序码出现错误而无法继续执行时,由最后一个被闩锁住的诊断码就能得知错误发生在程序码的哪一区段。
然而,虽以上方法能够侦知BIOS程序码的错误发生处,但开机自我测试的另一重要课题是:一般开机自我测试乃是要求在十秒的内就需完成,故BIOS的开发、设计者除了需保持BIOS程序码正确无误外,莫不竭力于缩短执行各段程序码时所需的时间。
发明内容
若能知悉BIOS各段程序码所执行的时间,开发、设计者就能够针对执行时间较长的程序码加以修改、重新撰写,以缩短开机自我测试所需的时间。
因此,本发明的目的在于提供一种利用既有的诊断码,来测量基本输入/输出系统的自我开机测试时间的方法。
于是,本发明乃是利用一计算机对一具有一基本输入/输出系统的主机进行测量,且该计算机是连接于该主机的一连接端口上,该方法是如下列步骤进行:
首先,启动该主机使该主机加载该基本输入/输出系统,使得该基本输入/输出系统初始化该连接端口,并由该基本输入/输出系统经该连接端口传送一第一诊断码至该计算机。
接着,当该计算机接收到该第一诊断码时,该计算机自一RTC芯片取得一第一时间。若当该计算机接收到该输入/输出系统所传送的一第二诊断码时,则再至该RTC芯片取得一第二时间。最后,由该计算机计算出该第一、第二时间的时间差。
本发明的功效在于:计算出各时间差后,即能知悉相邻两诊断码间的计算机程序码被执行时所需的时间,因此可以方便开发人员进行侦错的动作。
附图说明
图1是本发明说明一主机通过一连接端口与一计算机相连接的示意图;
图2是本发明说明该计算机的系统架构的示意图;
图3是说明本发明测量基本输入输出系统的自我开机测试时间的一较佳实施例的示意图;
图4是说明本发明的另一实施方法的示意图。
具体实施方式
参阅图1,本发明测量基本输入/输出系统(BIOS)的自我开机测试(POST)时间的方法是由一计算机100对一主机200进行。本例中,此主机200亦是指一计算机主机,其具有一主机板(图未示),主机板上则具有一处理器(图未示)、一储存有待测的基本输入/输出系统(以下简称BIOS)的芯片201,以及PCI总线、RS-232连接端口202、USB连接端口(图未示)等相关的外围硬件与接口,由于此乃一般的计算机主机架构,因此不再一一详细说明。
待测的BIOS是由许多的计算机程序码所构成,其中并已在特定的程序码段落中植入诊断码,以便在计算机程序码循序执行时,能传送诊断码至相对应的输出端口,此点与以往的BIOS大致相同。要说明的是,本例中,待测BIOS的诊断码,除了预定的80h端口以外,亦传送至RS-232端口202上,关于此点将于下文中说明。
计算机100是指一桌上型计算机、笔记型计算机,以及平板计算机等相类似的电子装置。本例中,计算机与主机间是透过RS-232连接端口202来相连接,惟并不以此为限,其它诸如串行端口、USB连接端口、IEEE 1394端口等亦可。参阅图2,计算器具有一处理器1、一存储器2、一储存装置3、一RTC(real timeclock)芯片4,以及一显示装置5。储存装置3中储存有操作系统、侦错程序,以及其它的应用程序。
配合图3,依据上述架构,本发明测量基本输入/输出系统的自我开机测试时间的方法是如下进行:
首先,如步骤301、302所示,先启动主机200,使得主机中200的处理器能由芯片201中载入BIOS,接着,在BIOS被加载后,即会进行自我开机测试程序。
自我开机测试的进行,是先如步骤303,初始化处理器的缓存器、动态存储器、芯片组、连接端口,以及其它各硬件外围,确认各硬件可以正常动作。
除了初始化的动作,BIOS亦会将常驻程序库(runtime program)常驻于存储器(图未示)的某一段地址中,提供操作系统或应用过程调用。BIOS的另一工作是记录系统的组态设定值,并且将其储存在非挥性存储器(图未示)中。
接着,如步骤304,待BIOS确定连接端口202能正常动作后,即能通过此连接端口202传送诊断码至计算机100上。要注意的是,若依正常程序,则连接端口202的初始化动作是在存储器、键盘控制器等诸多硬件进行初始化动作后再进行,若为避免前述各硬件的相对应程序码被执行的时间未被侦测,则应将初始化连接端口202的软件模块排序至BIOS程序码的较前端部分。
因此,待连接端口202已被初始化后,主机上BIOS的程序码在被依序执行后,即循序地通过连接端口202传送诊断码至计算机100上。
当然,计算机100在主机200未进行启动之前,即已先行开机,并在操作系统的环境下执行侦错程序,如步骤311~313,以待主机200依序传送诊断码。如步骤314、315,当第一个诊断码被依序传送到计算机100的操作系统、侦错程序后,侦错程序即会透过操作系统,自RTC芯片4取得一相对应的第一时间。
同理,当第二个诊断码被传送到计算机100的操作系统、侦错程序后,侦错程序即会通过操作系统,自RTC芯片4取得一相对应的第二时间。
如此持续进行,则当主机200已传送若干个诊断码后,计算机100上的侦错程序即记录有若干个时间,最后如步骤316所示,依据每个时间计算出主机200传送出相邻的诊断码所花费的时间差,也就得到了执行相邻诊断码间的程序码所需的时间。
参阅图4,前述第一、第二诊断码亦可以依使用者自行在侦错程序中加以设定,例如使用者欲知执行某一段程序码所需的时间,则可在侦错程序中设定好位于此段程序码前、后的诊断码,如步骤401。接着,如步骤402、403待侦错程序接收到诊断码,并判断此一诊断码与使用者所设定的诊断码相同时,即如步骤404所示,自RTC芯片4取得第一时间,若此诊断码不符合于第一诊断码,则继续进行接收诊断码的动作。
取得第一时间后,亦继续进行接收诊断码的动作,如步骤405,直至所接收的诊断码符合使用者所设定的第二诊断码,此时亦由RTC芯片4取得第二时间。最后,如步骤408,侦错程序会计算出第一、第二时间的时间差,以得到执行此段程序的时间长短,并将结果显示在显示装置5上,供开发者观看。
此外,上述的实施例是以取得RTC芯片4的时间来加以计算,事实上,计算机100亦可以是在接收到第一诊断码后开始计时,并待接收到第二诊断码后即停止计时,所得的时间即是表示执行此两个诊断码间的计算机程序码所需的时间。
综合上述,本发明将BIOS的诊断码,通过连接端口202传送至计算机100上,并当计算机100接收到每一个诊断码时,即自RTC芯片4中撷取时间数据,依此计算出两个诊断码的时间差,因此可以知悉在此两个诊断码间的程序码被执行时所需的时间长短,研发工程师即能依据这些数据,判断出哪一段程序码执行时所花费的时间最长,再进行程序码的修改、重撰等动作,可以省去大量的侦错时间,确实达到本发明的目的。
Claims (3)
1. 一种测量基本输入/输出系统的自我开机测试时间的方法,是以一计算机对一具有一基本输入/输出系统的主机进行测量,且该计算机是连接于该主机的一连接端口上,该方法包含下列步骤:
启动该主机使该主机加载该基本输入/输出系统;
该基本输入/输出系统初始化该连接端口;
该基本输入/输出系统经该连接端口传送一第一诊断码至该计算机;
当该计算机接收到该第一诊断码时,取得一第一时间;
当该计算机接收到该输入/输出系统所传送的一第二诊断码时,取得一第二时间;
由该计算机计算出该第一、第二时间的时间差。
2. 一种测量基本输入/输出系统的自我开机测试时间的方法,是以一计算机对一具有一基本输入/输出系统的主机进行测量,且该计算机是连接于该主机的一连接端口上,该方法包含下列步骤:
启动该主机使该主机加载该基本输入/输出系统;
该基本输入/输出系统初始化该连接端口;
由该计算机经该连接端口接收该基本输入/输出系统所传送的一第一诊断码;
当该计算机接收到该第一诊断码时,该计算机开始计时;
由该计算机经该连接端口接收该基本输入/输出系统所传送的一第二诊断码;
当该计算机接收到该第二诊断码时,该计算机停止计时。
3. 一种测量基本输入/输出系统的自我开机测试时间的方法,是以一计算机对一具有一基本输入/输出系统的主机进行测量,且该计算机是连接于该主机的一连接端口上,该方法包含下列步骤:
启动该主机使该主机加载该基本输入/输出系统;
该基本输入/输出系统初始化该连接端口;
由该计算机经该连接端口接收该基本输入/输出系统所循序传送的若干诊断码;
该计算机记录接收到该等诊断码的时间点;
该计算机由该等时间点,计算出执行该相邻的两诊断码间的程序码的时间长短。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101209424A CN100426234C (zh) | 2005-12-22 | 2005-12-22 | 测量基本输入输出系统的自我开机测试时间的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101209424A CN100426234C (zh) | 2005-12-22 | 2005-12-22 | 测量基本输入输出系统的自我开机测试时间的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1987785A CN1987785A (zh) | 2007-06-27 |
CN100426234C true CN100426234C (zh) | 2008-10-15 |
Family
ID=38184592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101209424A Expired - Fee Related CN100426234C (zh) | 2005-12-22 | 2005-12-22 | 测量基本输入输出系统的自我开机测试时间的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100426234C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591770B (zh) * | 2011-12-27 | 2016-06-29 | 北京奇虎科技有限公司 | 一种目标应用启动时间检测方法和装置 |
CN111857238B (zh) * | 2019-04-28 | 2023-03-14 | 杭州海康威视数字技术股份有限公司 | 系统启动时间的测量方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1427338A (zh) * | 2001-12-17 | 2003-07-02 | 英业达股份有限公司 | 系统开机自我检查装置以及方法 |
CN1501237A (zh) * | 2002-11-18 | 2004-06-02 | 神基科技股份有限公司 | 电脑即时开机系统与方法 |
CN1506821A (zh) * | 2002-12-11 | 2004-06-23 | 联想(北京)有限公司 | 检测和显示计算机自检信息的方法及装置 |
US6839867B2 (en) * | 2001-01-08 | 2005-01-04 | Dell Products L.P. | Method for limiting diagnostic testing duration |
-
2005
- 2005-12-22 CN CNB2005101209424A patent/CN100426234C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839867B2 (en) * | 2001-01-08 | 2005-01-04 | Dell Products L.P. | Method for limiting diagnostic testing duration |
CN1427338A (zh) * | 2001-12-17 | 2003-07-02 | 英业达股份有限公司 | 系统开机自我检查装置以及方法 |
CN1501237A (zh) * | 2002-11-18 | 2004-06-02 | 神基科技股份有限公司 | 电脑即时开机系统与方法 |
CN1506821A (zh) * | 2002-12-11 | 2004-06-23 | 联想(北京)有限公司 | 检测和显示计算机自检信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1987785A (zh) | 2007-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115841089B (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
JP3684831B2 (ja) | マイクロコンピュータ、電子機器及びデバッグシステム | |
US8386851B2 (en) | Functional coverage using combinatorial test design | |
US7596719B2 (en) | Microcontroller information extraction system and method | |
US7882395B2 (en) | Debug device for embedded systems and method thereof | |
US8495626B1 (en) | Automated operating system installation | |
CN107766102A (zh) | 双基本输出入系统(bios)的开机方法及具有其的电子装置 | |
US6092219A (en) | Method for use of bus parking states to communicate diagnostic information | |
CN100426234C (zh) | 测量基本输入输出系统的自我开机测试时间的方法 | |
CN109117299B (zh) | 服务器的侦错装置及其侦错方法 | |
US20110107072A1 (en) | Method for self-diagnosing system management interrupt handler | |
CN113515448A (zh) | 应用程序启动时间信息的获取方法及装置 | |
CN100524245C (zh) | 监控输入/输出端口数据的方法 | |
CN113673189A (zh) | 基于dut替代模型的验证方法、装置、设备及介质 | |
CN110321171B (zh) | 开机检测装置、系统及其方法 | |
CN112765021A (zh) | 一种引导程序的调试检验方法、装置、设备及存储介质 | |
TWI794997B (zh) | 固態硬碟裝置的除錯方法及裝置以及電腦程式產品 | |
TWI249099B (en) | Method for measuring the time of running a power on self test (POST) in a basic input/output system (BIOS) | |
CN101231608A (zh) | 侦错装置及其方法 | |
CN117236277B (zh) | 用于检查寄存器的方法及装置、电子设备 | |
CN117093353B (zh) | 一种中断控制方法、装置、电子设备及可读存储介质 | |
US6112316A (en) | System for use of bus parking states to communicate diagnostic information | |
CN101430656B (zh) | 特别模块寄存器的读写方法 | |
JP3133730B2 (ja) | 割り込み方法及び回路 | |
CN117669434A (zh) | 测试激励生成方法、装置以及SoC系统级验证系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081015 Termination date: 20131222 |