动态建立高级组态与电源管理接口架构的方法 (1)技术领域
本发明是提供一种建立高级组态与电源管理接口架构的方法,尤指一种可于一电脑系统开机时依据连接于总线的硬件装置的识别码建立高级组态与电源管理接口架构的方法。
(2)背景技术
在现代化的今日信息社会,电脑系统已经成为多数人不可或缺的信息工具之一,而不论是台式个人电脑、笔记本个人电脑或是伺服器等,其运作时脉越来越高,应用层面也日益广泛。
当电脑系统电源一打开时,电脑系统会依据储存在存储器内的基本输入输出系统(Basic Input and Output System,BIOS)来进行如开机测试(Power on SelfTest,POST)、随插即用测试(plug and play test)乃至于硬件设定(hardwareconfiguration)等等的动作。完成上述的动作后,电脑系统才会载入作业系统(Operating System),而之后作业系统也才能根据基本输入输出系统完成的设定,来协调电脑系统中相关的硬件与软件,以执行电脑系统的功能。
而于现行电脑系统中,尤其是笔记本电脑系统,程序设计者会将连接安装于电脑系统地相关硬件设备的高级组态与电源管理接口源语言(ASL)码(ACPI sourcelanguage)储存于电脑系统的BIOS中,而电脑系统的作业系统便可根据这些ASL码建立相对应的高级组态与电源管理接口(Advanced Configuration and PowerInterface Tables,ACPI)架构。请参阅图1,图1为习知电脑系统建立高级组态与电源管理接口架构的流程图。而习知建立高级组态与电源管理接口架构包含下列步骤:
步骤100:将连接安装于电脑系统的相关硬件设备的ASL码(ACPI sourcelanguage)储存于电脑系统的BIOS中;
步骤102:于电脑系统进行开机过程时,电脑系统便会将储存于BIOS中的相关硬件设备的ASL码载入电脑系统的存储器;以及
步骤104:电脑系统的作业系统依据步骤102所载入存储器的ASL码,建立相对应的高级组态与电源管理接口架构,并且载入相对应硬件装置的驱动程序至该电脑系统。
然而于上述习知的建立高级组态与电源管理接口架构方法中,若于同一连接端口安装不同周边硬件设备的相异电脑系统便必须由固件设计人员分别撰写不同的BIOS,例如于两台使用不同厂牌且皆连结于加速图形端口(acceleratedgraphics port,AGP)的显示晶片的笔记本电脑,便必须为了这两款不同显示晶片而分别撰写两套不同的BIOS,即便是其他安装于电脑系统的周边硬件设备皆完全相同,也必须于BIOS中更改相对应显示晶片的ASL码,这样便会耗费固件程序撰写的成本;此外储存于电脑系统的BIOS中的硬件设备ASL码皆会被载入存储器,且依该被载入的ASL码于作业系统建立高级组态与电源管理接口表单(AdvancedConfiguration and Power Interface Tables,ACPI Tables),因此写入BIOS的硬件设备ASL码的硬件装置皆会于作业系统的高级组态与电源管理接口表单上显示出来,此情况有时便会造成固件设计人员的困扰,比方说若有A厂商的电脑系统具有A装置且B厂商的电脑系统具有B装置,而A装置与B装置不连接于相同的连接端口,因此便可将A装置与B装置的ASL码皆写于同一套BIOS中,而供应商便可提供同一套BIOS给A厂商与B厂商的电脑系统使用,但于A厂商的电脑系统的高级组态与电源管理接口表单上仍可显示出B装置且B厂商的电脑系统的高级组态与电源管理接口表单上仍可显示出A装置,这样便会造成A厂商与B厂商互相看到对方产品出现在自己电脑系统上的状况,而造成不该出现的硬件装置显示在高级组态与电源管理接口表单中的问题。
(3)发明内容
本发明的目的是提供一种可于一电脑系统开机时依据连接于总线的硬件装置的识别码建立高级组态与电源管理接口架构的方法,以解决上述的问题。
本发明所揭示的一种可于一电脑系统开机时依据连接于总线的硬件装置的识别码建立高级组态与电源管理接口架构的方法,其包含下列步骤:(a)将多个属于同一类型的硬件装置的ASL码储存至该电脑系统的基本输入输出系统;(b)于该电脑系统进行开机测试时,检测连接于该电脑系统的该类型硬件装置的识别码;(c)将储存于该基本输入输出系统的多个属于该类型的硬件装置的ASL码中,唯一符合步骤(b)检测到的识别码的ASL码载入该电脑系统的存储器,而不将该类型的硬件装置的ASL码中,不符合步骤(b)检测到的识别码的ASL码载入该电脑系统的存储器,并依据载入该存储器的硬件装置的ASL码建立高级组态与电源管理接口架构。
(4)附图说明
图1为习知电脑系统建立高级组态与电源管理接口架构的流程图。
图2为本发明电脑系统的功能方块图。
图3为图2基本输入输出系统的存储器地址图。
图4为本发明电脑系统建立高级组态与电源管理接口架构的流程图。
(5)具体实施方式
请参阅图2,图2为本发明电脑系统10的功能方块图。电脑系统10包含有一中央处理器12,一北桥电路14,一南桥电路16,一存储器18,一基本输入输出系统20,一电源供应器22,一显示晶片24,电连接于北桥电路14,一显示装置26,连接于显示晶片24,一硬盘28,电连接于南桥电路16,其储存有一作业系统30,以及多个硬件元件32,电连接于南桥电路16。
中央处理器12是用来控制电脑系统10的整体运作,而北桥电路14是用来控制中央处理器12、存储器18以及具有显示功能的显示晶片24之间的数据传递,显示晶片24可将所接收到的影像数据转换成影像信号而将该影像显示于显示装置26,南桥电路16是用来控制基本输入输出系统20与中央处理器12之间的数据传递,以及其他硬件元件32及硬盘28与中央处理器12之间的数据传递。而硬件元件32可为储存设备(如软硬盘、光盘驱动器与烧录机等)、输入设备(如键盘、鼠标等)、打印机、音效装置或网络设备等等。基本上关于连接电脑系统10的周边设备部分,除了连结显示晶片24的信号是由北桥电路14负责外,其余所有周边输出入装置几乎都是由南桥电路16负责,而至于南桥电路16要与中央处理器12之间沟通则必须通过北桥电路14再连接到中央处理器12。基本输入输出系统20,可储存于一非挥发性存储器,其是用来执行电脑系统10的开机测试,并于完成该开机测试后载入作业系统30,而存储器18可为一随机存取存储器,例如双倍数据传输速度存储器(doubledata rate memory,DDR memory),其是用来储存数据,电源供应器22则电连接于一预定电压(例如110伏特)以将该预定电压转换为电脑系统10运作所需的不同操作电压(例如硬盘、存储器、中央处理器等等所需的操作电压)。
请参阅图3,图3为图2基本输入输出系统20的存储器地址图。基本输入输出系统20包含有多段程序码S1、S2、S3、…、SL,每一段程序码皆具某一特定功能,并储存于对应的存储器范围内,例如程序码S2是储存于存储器的地址2与地址3之间。当电脑系统10的电源被开启时,处理器12会从基本输入输出系统20中读取适当的程序码来加以执行,以对电脑系统10进行相关的设定与驱动相关的硬件装置,最后并载入作业系统30,而完成电脑系统10的开机程序。
请参阅图4,图4为本发明电脑系统10开机时依据连接于总线的硬件装置的识别码建立高级组态与电源管理接口架构与载入相关硬件驱动程序的流程图。而电脑系统10建立高级组态与电源管理接口架构与载入相关硬件驱动程序包含下列步骤:
步骤106:将多个属于同一类型的硬件装置的ASL码储存至电脑系统10的基本输入输出系统20;
步骤108:于电脑系统10进行开机测试时,检测连接于电脑系统10的该类型的硬件装置的识别码;
步骤110:将储存于基本输入输出系统20的多个属于该类型的硬件装置的ASL码中,唯一符合步骤108检测到的识别码的ASL码载入电脑系统10的存储器18,而不将该类型的硬件装置的ASL码中,不符合步骤108检测到的识别码的ASL码载入电脑系统10的存储器18,并依据载入存储器18的硬件装置的ASL码建立高级组态与电源管理接口架构;
步骤112:完成基本输入输出系统20的初始化后,将电脑系统10的控制权由基本输入输出系统20交给电脑系统10的作业系统30;以及
步骤114:使用作业系统30依据步骤110所得出的高级组态与电源管理接口架构,载入相对应于该类型中连接于电脑系统10的硬件装置的驱动程序至电脑系统10,以及于作业系统30建立高级组态与电源管理接口表单。
于此继续详细描述本发明电脑系统10开机时依据连接于总线的硬件装置的识别码建立高级组态与电源管理接口架构与载入相关硬件驱动程序的过程。举例来说可于步骤106中将多个不同厂牌但皆设计连接于加速图形端口的显示晶片24的多段专属于该显示晶片24的ASL码,储存于图3所示的基本输入输出系统20的程序码中,而于电脑系统10进行开机测试时,可通过加速图形端口总线检测到连接于其上的显示晶片24的识别码,如PnP ID码,这样便可与原先储存于基本输入输出系统20的多段ASL码中的装置ID互相比对,而于该多段ASL码中可找出唯一比对符合连接于加速图形端口的显示晶片24识别码的ASL码,此意即找到相符合显示晶片24的厂牌型号的ASL码,而可将该相符的ASL码载入存储器18,其余储存于基本输入输出系统20中不相符的ASL码则不予载入存储器18,而接下来便可依据载入存储器18的显示晶片24的ASL码建立高级组态与电源管理接口架构中关于显示晶片24的部分,且完成基本输入输出系统20的初始化后,电脑系统10的控制权由基本输入输出系统20交给电脑系统10的作业系统30,作业系统30便可依据前述所得出的高级组态与电源管理接口架构,载入相对应显示晶片24的驱动程序至电脑系统10,以及于作业系统30建立高级组态与电源管理接口表单,而表单中所显示的显示晶片24信息则为该经由检测比对符合的ASL码所提供,而能显示出正确的显示晶片24信息。
而于步骤106中,多个属于同一类型的硬件装置可为连接于同一连接端口或不同连接端口的硬件元件32,而前述检测连接于加速图形端口的显示晶片24的实施例中,该多个属于同一类型的硬件装置则皆为须连接于加速图形端口的显示晶片,故仅能载入一组符合检测所得识别码的硬件装置ASL码至存储器18,而于作业系统30所建立的高级组态与电源管理接口表单中亦只能显示一组所检测到的显示晶片24信息;而若是连接于不同连接端口的多个属于同一类型的硬件装置,例如电脑系统10若仅包含一连接于PCI连接端口的一网络晶片或一连接于USB连接端口的网络晶片中两者其一,仍然可利用本发明先前所述的方法检测连接于总线的网络晶片,而得知电脑系统10现为安装连接于PCI连接端口的网络晶片或连接于USB连接端口的网络晶片,而从基本输入输出系统20所储存的两组网络晶片ASL码中载入正确的网络晶片ASL码至存储器18;倘若电脑系统1O包含两连接于PCI与USB连接端口的网络晶片,便会于开机测试时检测到该两组网络晶片的识别码,而基本输入输出系统20所储存的两组网络晶片ASL码便皆会被载入至存储器18,最后作业系统30建立的高级组态与电源管理接口表单则会显示此两网络晶片的信息。
此外储存于基本输入输出系统20的多个属于同一类型的硬件装置的ASL码可视设计需要而自行决定储存多少组可供选择的硬件装置ASL码,不仅限于上述实施例所介绍的两组,于此不再详述。
相较于习知的建立高级组态与电源管理接口架构方法,本发明的特点在于提供一种可于电脑系统10开机时依据连接于总线的硬件装置的识别码建立高级组态与电源管理接口架构的方法,且由于其可动态地选择符合所检测到硬件装置的识别码的ASL码,再将该ASL码载入存储器18以建立高级组态与电源管理接口架构,故可克服传统的于同一连接端口安装不同周边硬件设备的相异电脑系统便必须由固件设计人员分别撰写不同的BIOS的缺点,而依本发明的方法可于该相异电脑系统皆使用同一套储存有不同周边硬件设备ASL码的基本输入输出系统20,再由电脑系统10进行开机测试时,检测连接于电脑系统10的该硬件设备的识别码,而决定载入哪一组ASL码至存储器18,这样便无需为了一些硬件上的小差异而必须分别撰写不同的基本输入输出系统20;此外若将连接于不同连接端口的多个属于同一类型的硬件装置的ASL码写于同一组基本输入输出系统20中,于习知技术方面,由于储存于基本输入输出系统中的硬件设备ASL码皆会被载入存储器,因此写入基本输入输出系统的硬件设备ASL码的硬件装置皆会于作业系统的高级组态与电源管理接口表单上显示出来,而便会造成不该出现的硬件装置显示在高级组态与电源管理接口表单中的问题,而本发明的方法由于可在进行开机测试时,检测连接于电脑系统10的该硬件设备的识别码,而载入现已安装的硬件设备的ASL码至存储器18,故于作业系统30的高级组态与电源管理接口表单上只会显示出现正安装于电脑系统10的硬件设备,而不会显示出其他可供选择但并非现正安装连接于电脑系统10的硬件设备,这样便可解决若使用同一套基本输入输出系统储存未安装于本身电脑系统的硬件设备的ASL码,而发生不该出现的硬件装置显示在高级组态与电源管理接口表单中的问题。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作出的等效变化与等效替换,皆应属本发明专利的涵盖范围。