数据处理系统的主控权仲裁装置与方法

文档序号:6412070阅读:226来源:国知局
专利名称:数据处理系统的主控权仲裁装置与方法
技术领域
本发明有关于电脑系统主控权的仲裁问题,特别是指一种防止系统错误发生的数据处理系统的主控权仲裁装置与方法;特别是指在支持USB功能的电脑系统,解决基本输出入系统与作业程序对电脑系统主控权冲突的装置与方法。
通用串列总线(Universal Serial Bus,USB)是由Compaq、Intel等公司所合力制定的新总线标准。其主要的目的在于提供一种通用连接头,供应所有的周边装置以相同规格的接头连接于其上,以取代目前周边装置复杂而缺乏扩充性的接头,如串行接口(serial port)、并行接口(parallel port)、键盘接口、PS/2鼠标器接口等。USB同时亦提供即插即用(Plug and Play,PnP)功能。
通用串行总线提供多种USB周边与其连接,如键盘、鼠标器、摇杆、印表机、扫描机、数字相机等。为符合USB的标准与应用,电脑系统藉由一主控制器(Hostcontroller)来控制周边与系统间的沟通与动作。USB详细的规格与作用请参见通用串行接口标准第1.0版的说明,而主控制器详细的规格请参阅Intel 8237ISB PIIX3USB Design Guide and Checklist。
目前,个人电脑系统支持USB功能的方式有两种一种是藉由基本输出入系统(Basic Input Output System,BIOS)支持USB功能一种是在作业系统程序(operating system,OS)或其它应用程序或驱动程序之下,提供支持USB的功能。
当个人电脑系统所使用的BIOS不支持USB、而作业系统程序支持时,个人电脑系统在开机阶段、尚未进入作业系统前,所有的USB周边装置因为BIOS不支持USB功能,将造成USB周边装置无法发挥功能作用。
在个人电脑系统所使用BIOS支持USB功能的情况下,有两种不同的情形发生(1)BIOS支持USB而作业系统程序不支持时,USB周边装置全程由BIOS负责支持;(2)当个人电脑系统所使用物BIOS与作业系统程序皆支持USB功能时,其动作流程如下在个人电脑系统开机之后,系统根据BIOS的控制,进行自我检测(Power On Self Test,POST)的动作。此时,因为作业系统程序尚未得到系统主控权,因此须由BIOS支持USB周边装置动作。当作业系统程序接手主控权之后,理论上,USB的主控权应交至作业系统程序。但因BIOS与作业系统皆支持USB功能的结果,造成主控权错乱,因而使得电脑系统执行错误而出现死机的情形。
本发明的目的在于提供一种避免数据处理系统主控权冲突的方法及装置,以对系统主控权作成适当仲裁,使系统正常运作。
本发明的目的在于提供一种系统主控权仲裁方法,以避免产生系统错误。
本发明的另一目的在于提供一种可协调电脑系统中,基本输出入系统与作业系统程序对电脑系统的主控权仲裁装置。
本发明的再一目的在于提供一种能解决基本输出入系统与作业系统程序同时支持USB时,发生冲突的主控装置。
本发明的又一目的在于提供一种具自动判断功能的数据处理系统主控权仲裁的方法,以提供数据处理系统正确的操作方式,避免系统产生错误动作。


图1是个人电脑系统中USB事件处理流程。
图2为数据处理系统应用于个人电脑系统时,配合BIOS、OS支持USB功能的示意图。
图3为本发明的USB SMI处理程序流程图。
图4为本发明的另一实施方式的USB SMI流程图。
结合附图及实施例对本发明的方法及装置说明如下目前支持USB功能的个人电脑系统,其USB的控制功能是藉由一主控制器(host controller)控制。主控制器工作配合位于特定存储区域的工作框列表(framelist),起到支持USB的作用。
工作框列表为主控制器所须执行的工作程序,其主要由一连串的指示器(pointer)所构成,以指向特定的存储区域。工作框指标及控制码(control bit)的意义如表一。314 3 2 1 0


主控制器周期性的读取工作框列表的内容,并根据指标及控制码,指向特定存储区域的数据结构(data structure),根据数据结构对对应的存储区域内的数据执行特定的传输(transaction)工作。
在主控制器内部设有数个暂存器。主控制器依循暂存器的内容控制,执行特定工作。以英特尔(Intel)公司所生产的编号8237ISB PIIX3晶片组(chipset)所内建的USB主控制器为例,其内部具有输出入暂存器(I/O register)。各输出入暂存器内容具有特定意义,各输出入暂存器的输出入地址及内容如下表所示
输出入地址 内容描述Base+(00-01h) USB命令Base(02-03h)USB状态Base+(04-05h) USB中断致能Base(06-07h)工作框号码Base+(08-0Bh) 工作框列表起始地址(Base Address)Base+0C 启动工作框变更Base+(10-11h) Port 1状态/控制Base+(12-13h) Port 2状态/控制位于Base+(08-0Bh)的暂存器即为工作框列表起始地址暂存器(frame list baseaddress register),其内容是提供工作框列表的起始地址。主控制器根据工作框列表起始的地址暂存器的内容,指向一特定的存储器地址,此即为工作框列表的起始地址。
主控制器本身具有一工作框计数器(frame counter),主控制器即以起始地址与工作框计数器的计数合并成工作框地址,主控制器即依序读取此工作框地址的内容,并因应于工作框的控制,执行对应的工作。而因应于工作框计数器的下一个计数,使得工作框地址指向另一个工作框,主控制器即执行下一个工作框所控制的工作。
以使用8237ISB PIIX3的个人电脑系统为例,电脑系统启动后,在基本输出入系统(BIOS)的程序控制之下,系统即进行自我检测(POST)的工作。若电脑系统的BIOS支持USB功能,在电脑系统的自我检测过程中,因应于基本输出入系统的控制,对主控制器的各个输出入暂存器做初始化的工作,由BIOS控制于各个输出入暂存器填入一特定的起始值,以指向特定的存储空间,建立BIOS的工作框列表。在目前的规格下,BIOS工作框列表起始地址是设在系统存储地址E0000EFFFF间,总共有1024个项目(entry)。
而位于Base+(02-03h)的输出入暂存器,为一16位元的USB状态暂存器,用以指示主控制器的各个状态。其中在第1个位元(bit 0)为USB中断指标。当此位元设定为1,控制主控制器于完成特定传输(transaction)工作后,发出中断呼叫(interrupt)。
在Intel 88237ISB PIIX3具有USB主控制器PCI编译程序暂存器(USB Hostcontnoller PCI configuration Regester)。其中Offset(c0-c1h)的暂存为一16位元的legacy支持暂存器(Legacy support register)。在暂存器的第5位元(bit 4)设有一旗标,用以指示晶片组是否因应于工作结束的中断呼叫而发出系统管理中断呼叫(System Management Interrupt,SMI)。
在进行自我检测过程中,BIOS控制电脑系统检测电脑系统本身所接的USB周边元件(USB device),此即周边列表(enumeration)的过程。在系统执行周边列表之后,即在特定的存储区域内建立相关的数据结构,以控制主控制器执行的程序(schedule),并更新工作框列表的内容,以便主控制器因应于工作框列表的控制,执行对应的传输工作。
在主控制器根据工作框列表内所指向的数据结构的控制;完成传输工作后,如上所述,主控制器会根据USB状态暂存器的设定,发出中断呼叫。
因应于中断呼叫的产生,8237ISB PIIX3晶片组判断Legacy支持暂存器第5位元的旗标,以判断是否因应于中断呼叫的产生而发出系统管理中断呼叫。因应于旗标标定产生系统管理中断呼叫,8237ISB PIIX3晶片组即产生USB SMI,控制系统进入对应的USB SMI的处理程序(SMI handler)。
请参见图1。个人电脑系统在BIOS支持USB的功能的情形下,系统开机之后,晶片组会在legacy支持暂存器第13位元(bit 12)标示产生USB SMI,以控制系统进入SMI处理程序,完成USB的数据传输与处理。
在BLOS支持USB功能,而作业系统程序不支持USB功能时,此种处理方式,能够使系统正常运作。所有与USB有关功能,皆由BIOS与主控制器,配合晶片组发出SMI,进入USB系统管理中断呼叫处理程序完成,并无疑义。
但是当BIOS与作业系统程序皆支持USB时,此种处理方式便出现系统主控紊乱的情形,因而导致系统工作异常。问题的产生原因说明如下在作业系统程序与BIOS皆支持USB功能的情形下,于电脑系统开机之后、作业系统程序启动之前,USB周边装置的支持,是由BIOS提供,系统资源的分配与处理程序由BIOS控制完成,以便在作业系统启动之前,电脑系统仍然能够支持USB的周边装置,使其能正常输出入。
而在作业系统程序亦支持USB的情形下,于作业系统程序启动之后,电脑系统的主控权即转由作业系统程序主控。此时,作业系统程序即根据主控制器所要求的规格,将主控制器的暂存器填入新的值,特别是变更工作框列表起始地址暂存器的内容,以便在存储空间内建立由作业系统程序主控的工作框列表以及相对的数据结构,控制及支持USB周边装置。
如前所述,在主控制器根据作业系统所建立的工作框列表执行完传输工作之后,根据8237ISB PIIX3晶片组规格,主控制器即因应于中断致能暂存器的设定,发出中断呼叫,而8237ISB PIIX3晶片根据legacy支持暂存器内旗标的树立,发出USB SMI,控制系统进入USB系统管理中断呼叫处理程序。
请参见图2所示,问题的发生即在于系统管理中断呼叫处理程序(SMIhandler)28是由BIOS规划管理,每一个SMI皆对应一特定的处理程序。因应于BIOS支持USB功能,在BIOS和管理下,USB SMI的处理程序是将USB功能的数据空间,指向BIOS所指定的存储器空间22;亦即,系统在进入USB SMI处理程序28之后,将数据自BIOS的工作框列表27所指向的存储器空间22内的数据缓冲区域(data buffer)29读出,或将数据写进BIOS的工作框列表指向对应的存储空间22内的数据缓冲区域29。然而,在支持USB功能的作业系统程序启动之后,系统控制权由BIOS交给作业系统程序。主控制器21即因应于作业系统对其内部暂存器的设定,根据作业系统所建立的工作框列表24,进行对应动作,并在工作完成后,发出中断呼叫,引发USB SMI,控制系统进入USB SMI的处理程序28。
如前所述,USB SMI的处理程序由BIOS所控制,所指向的存储器空间是指向BIOS所指定的存储空间22内,而非作业系统程序所指定的数据空间20。此时,因为真正需要处理的数据位于作业系统程序的工作框列表24所控制对应的缓冲区25之内,但是系统却因应于USB SMI处理程序28的控制欲对BIOS所指定的存储空间22内的存储进行处理,因而产生错误,造成死机的情形发生。
因此,问题的核心原因即在于数据处理系统主控权的检测与仲裁,只要数据处理系统能正确的判断系统主控权的归属,而将其他发生冲突部分功能抑能,即可解决因主控权错乱而发生的问题。
为解决以上问题的产生,本发明的数据处理系统主控权仲裁方法如下本发明的一种数据处理系统主控权仲裁方法,用以供配合一存储装置以及一控制装置使用;其特征在于,所述控制装置工作于一第一控制模式与一第二控制模式之一;第一控制模式是控制装置因应于一中断信号产生一系统控制信号,以控制数据处理系统执行一特定程序;第二控制模式是控制装置停止产生系统控制信号;该方法包括以下步骤(1)存储装置划分至少一存储区域,各存储区域包括一数据缓冲区,各存储区域并记载一工作步骤;所述存储区域必须包括一第一存付区域,第一存储区域包括一第一数据缓冲区以及记载一第一工作步骤;(2)执行上述工作步骤之一;(3)因应于完成该等工作步骤之一,发出中断信号;(4)因应于接收所述中断信号,检测所述存储装置的特定区域;(5)判断特定区域的内容;(6)因应于特定区域的内容为指示所述第一数据缓冲区所储存的内容经过变更,控制所述控制装置操作于第一控制模式;因应于所述特定区域的内容为指示第一数据缓冲区所储存的数据内容未变更,控制所述控制装置操作于第二控制模式。
其中的数据处理系统为用以运算数据的系统,如个人电脑系统、电脑、伺服器等。而存储装置是数据处理系统中具有数据储存能力的装置,如DRAM、SRAM等存储器。以个人电脑系统为例,存储装置可为其系统存储器。
本发明的控制装置,为数据处理系统中,具有数据运算能力并根据特定控制步骤执行工作的装置。以个人电脑为例,该控制装置可为Intel或扬智科技公司所生产的系统晶片组,用以协调处理中央处理单元与周边装置的数据处理与传输。在个人电脑系统的系统晶片组支持USB功能时,该系统晶片组可为Intel公司生产的8237ISB PIIX3晶片组。
本发明的控制装置具有第一及第二两种控制模式,其中,第一控制模式是该控制装置因应于一中断信号产生一系统控制信号,以控制数据处理系统执行一特定程序;在第二控制模式,控制装置停止产生系统控制信号,以停止处理系统因应于中断信号执行该特定程序。
其中的中断信号,为数据处理系统用以中断系统所执行的工作,指示系统根据该等信号,执行对应的特定程序。以个人电脑系统为例,个人电脑系统中具有两种中断信号,一种为中断呼叫信号(interrup tequest,IRQ),一种为SMI,皆控制数据处理系统执行对应的特定程序,对IRQ而言,其为IRQ服务程序,对SMI而言,则为SMI处理程序,而SMI处理程序又因应于不同的SMI来源,分别执行对应的MSI处理程序。以应用Intel公司生产的82371ISB PIIX3晶片组的电脑系统为例,系统晶片组的第一控制模式为系统晶片组的电脑系统为便,系统晶片组的第一控制模式为系统晶片组因应于主控制器所发出的IRQ,而发出SMI,以控制系统进入USB SMI处理程序;其第二控制模式为系统晶片组停止因应于主控制器所发出的IRQ而产生SMI,换言之,即停止进入对应的USB SMI处理程序。
而如本发明的步骤(1)、(2)、(3),于该存储装置划分至少一存储区域,是在存储装置中,写出特定的区域,各存储区域中包括数据缓冲区,同时各存储区域记载有工作步骤,用以控制数据处理系统执行该等工作步骤。
其中,所划分的存储区域必须包括一第一存储区域,第一存储区域包括一第一数据缓冲区,同时第一存储区域记载一第一工作步骤。
数据处理系统根据所述存储区域所记载的工作步骤执行工作。当系统完成特定存储区域所记载的工作步骤时,即发出前述中断信号。以支持USB的主控制器为例,当主控制器执行完毕工作框列表所列的工作步骤之后,即发出IRQ。
值得注意的是,其中的各工作步骤与各数据缓冲区可为位于存储装置的同一完整区块,亦可为分散的存储地址。
在步骤(4)及步骤(5)中,因应于接收该中断信号,执行检测存储装置的特定区域,以检知其内容。该特定区域可为所划分的存储区域的一部分,或是位于存储装置的其他位置。
因应于特定区域的内容为代表该第一存储区域的数据缓冲区域的内容经过变更,即控制该控制装置操作于第一控制模式,因应于特定区域的内容为代表该第一存储区域的数据缓冲区域的内容未变更,即代表主控权已经变更,控制该控制装置操作于该第二控制模式。
以同时使用支持USB的BIOS与作业系统程序为例,当作业系统程序接手系统主控权之后,即于建立另一异于BIOS所控制的工作框列表,以控制主控制器进行相关的传输动作。主控制器根据作业系统程序所建立的工作框列表,完成执行工作,随即发出中断呼叫,随即引发系统的MSI,控制系统进入USB SMI处理程序。本发明的流程,即检查BIOS所控制的存储空间内的数据是否经传输完毕。若已经传输完毕,代表此SMI非为主控制器执行BIOS所控制的工作框列表所引发,而是因主控制器执行系统其他工作框列表而引发。
此时,代表系统主控权已转手,同时,USB的支持功能亦已由其他装置负责,主控器所执行的工作框列表已非BIOS所控制的工作框列表。因此,藉由抑制系统晶片组发出SMI,即避免系统因应于主控制器完成工作框列表的工作,而进入USBSMI处理程序。藉此避免系统对错误的数据进行传输,因而避免错误的发生。
在这种情形之下,主控制器于随后所发出的中断呼叫,不再引发SMI,而是直接由掌握主控权装置,直接提供对应的中断呼叫处理程序完成传输工作。
根据相同的原理,本发明的另一种方式介绍如下本发明的另一种数据处理系统主控权仲裁方法,用以供配合一存储装置、一控制装置以及一主控器使用;其特征在于,所述主控制器包括一起始地址暂存器,起始地址暂存器的内容是指向一存储地址;所述控制装置工作于一第一控制模式与一第二控制模式之一;第一控制模式是控制装置因应于一中断信号产生一系统控制信号,以控制处理系统执行一特定程序;第二控制模式是控制装置停止产生系统控制信号;该方法包括以下步骤(1)于所述存储装置划分至少一存储区域,各存储区域包括一数据缓冲区,各该区域并记载一工作步骤;其中存储区域必须包括一第一存储区域,第一存储区域包括一第一数据缓冲区以及记载一第一工作步骤;(2)执行所述工作步骤之一;
(3)因应于完成所述工作步骤之一,发出中断信号;(4)因应于接收中断信号,读取起始地址暂存器内容;(5)因应于所述存储地址位于第一存储区域的范围,控制所述控制装置操作于所述第一控制模式;因应于存储地址未落于第一存储区域,控制所述控制装置操作于第二控制模式。
本方法的原理与前述方法大体相同。主要不同之处为其检查的位置有所差异。如上所述的主控制器是执行一特定工作步骤的数据处理装置,以个人电脑系统而言,其可为支持USB功能的主控制器。
如前所述,支持USB功能的主控制器,如8237ISB PIIX3系统晶片组内含的主控制器,具有工作框列表起始地址暂存器,是指向规范主控制器所执行步骤的工作框列表在存储器装置中的起始地址。因此,读取此暂存器之值,即可判断目前工作框列表所在的存储地址。
因此,主控制器在完成工作框列表的工作步骤之后,发出中断呼叫,引发SMI,控制数据处理系统进入USB SMI处理程序。此时,本发明,在USB SMI处理程序中即先读取此暂存器的内容,因应于此存储地址非为指向BIOS建立之工作框列表起始地址,代表此时主控制器所根据执行的工作框列表,非BIOS所建立,代表系统主控权已经转移,BIOS无须执行支持USB的功能。此时,即于USB SMI处理程序中,将系统晶片组因应于主控制器之中断呼叫发出SMI的功能,予以抑能。此后的USB功能的完成,即由掌控支持USB功能的程序所提供的中断呼叫服务程序所完成。中断呼叫服务程序技术,为熟于本专业的人士所熟知,在此不予详述。
当读取暂存器所存的起始地址为指向BIOS所控制的工作框列表时,即代表系统支持USB功能的主控权是由BIOS所控制。
而欲实现本方法的控制装置,可藉由于BIOS ROM,在USB SMI处理程序中,加入前述的检查步骤,即可藉由处理系统于执行USB SMI处理程序时,达成主控权的仲裁,并将主控权转移至正确的装置。
在相同的结构之下,本发明的数据处理系统主控权仲裁装置,说明如下本发明的一种数据处理系统的主控权仲裁装置,包括一控制装置、一存储装置,其特征在于,控制装置工作于一第一控制模式以及一第二控制模式之一;第一控制模式是所述控制装置因应于一中断信号产生一系统控制信号,以控制数据处理系统执行一特定程序;第二控制模式是控制装置停止产生所述系统控制信号;所述主控裁装置控制数据处理系统执行以下步骤(1)于存储装置划分至少一存储区域,各该存储区域包括一存储缓冲区,各存储区域并记载一工作步骤;其中存储区域必须包括一第一存储区域,该第一存储区域包括一第一数据缓冲区以及记载一第一工作步骤;(2)执行该等工作步骤之一;(3)因应于完成所述工作步骤之一,发出中断信号;(4)因应于接收该中断信号,检测该存储装置的特定区域;(5)判断特定区域的内容;(6)因应于特定区域的内容为指示所述第一数据缓冲区所储存的数据内容经过变更,控制该控制装置操作于所述第一控制模式;因应于特定区域的内容为指示所述第一控制模式;因应于特定区域的内容为指示所述第一数据缓冲区所储存的数据内容未变更,控制所述控制装置操作于所述第二控制模式。
其执行步骤的动作原理已于前叙明,在此不予详述。所述数据处理系统主控权仲裁装置,可藉由在BIOS ROM的BIOS控制程序中的SMI处理程序,加上如上所述流程。藉由数据处理系统执行BIOS程序时,执行上述工作步骤而达成以上的控制动作。
本发明的另一种数据处理系统主控权仲裁方法可以下列方式实施,说明如下本发明的一种数据处理系统主控权仲裁方法,用以配合一存储装置与一基本输出入系统使用;其特征在于,所述方法包括以下步骤(1)于所述存储装置保留一存储区域;(2)因应于程序支持USB功能,于存储区域写入代表程序支持USB功能的内容,用以供基本输出输入系统于执行USB SMI服务程序时,读取存储区域内容,使得所述基本输出入系统因应于存储区域内容为代表程序支持USB功能的内容,将所述基本输出入系统支持USB的功能抑能。
藉此,防止程序与该基本输出入系统发生冲突。
同前所述,本发明的数据处理系统为用以运算数据的系统,如个人电脑系统、微型电脑、伺服器等。基本输出入系统则为控制系统本身基本运作的BIOS程序。而存储装置是数据处理系统中具有数据储存能力的装置,如DRAM、SRAM等存储。以个人电脑系统为例,存储装置可为其系统存储器。
而程序是指用以控制数据处理系统进行特定步骤工作的控制程序,如作业系统程序、应用程序、驱动程序等。
藉由定义一特定的存储区域,当程序支持USB功能,程序即于该特定的存储区域,例如40F0h建立旗标,用以指示程序支持USB功能。
如前所述,当数据处理系统因应于主控制器所发出的USB中断呼叫,随即进入USB SMI处理程序。在USB SMI处理程序中,控制系统于执行相关USB SMI处理程序,先行读取该特定存储区域的内容,以判断目前于数据处理系统中使用的程序,是否支持USB功能。若程序支持,则将基本输出入系统的支持USB的功能抑能,亦即,抑制系统因应于USB中断呼叫发出SMI;若程序不支持USB功能,即进行原来的USB SMI处理程序。
本发明的较佳实施例方式是于USB SMI处理程序加上适当程序以达到上述目的,请参见图4。在USB SMI发生之后,执行以下步骤步骤41检查代表程序支持USB的旗标是否树立。若是,执行步骤43;若否,执行步骤45。
步骤43将BIOS支持USB的功能抑能后,执行其他程序。
步骤45执行原来的BIOS USB SMI处理程序。
在另外一个例子中,于程序使用于数据处理系统时,可利用功能程序呼叫(function call)来达到相同的目的。此方法的方式叙述如下在BIOS部分,提供一解除支持LEGACY的功能程序呼叫,用以将BIOS支持USB的功能解除。例如将8237ISB PIIX3晶片组中,LEGACY支持暂存器内旗标设定为不发出SMI。藉由订立共同标准,在程序支持USB功能时,于其取得数据处理系统主控权之后,呼叫该解除支持LEGACY的功能程序呼叫,程序呼叫将BIOS支持USB的功能解除。如此,即避免程序与BIOS同时支持USB功能所造成的错误发生。
本发明应用在支持USB功能的个人电脑系统时,使用一主控制器以支持USB,同时,第一工作步骤与第二工作步骤为控制该主控制器动作程序的工作框列表。而第一数据缓冲区与第二数据缓区即为各工作框列表所控制对应的缓冲区。而控制装置即为个人电脑系统中的系统晶片组。
在由主控制器所建立的数据结构中,包括了传输描述表(transferDescriptors,TDs),用以指示USB上所要求进行的传输特性。传输描述表皆为32byte,在其中的DWORD1的Bit23为一用以指示主控制器进行传输与否的旗标。当Bit23设为0时,主控制器进行数据的传输;当相关传输描述表的数据完成传输,Bit23会被设成1。因此,当Bit23指示为1时,即代表相关此TD的数据已经被执行过(或是未被更新过),主控制不须再对其进行动作。
图2为本发明应用于个人电脑系统的示意图。如图中所示,本发明的数据处理系统主控权仲裁方法在支持USB的个人电脑系统时,主控制21根据其内部工作框列表起始地址暂存器所指向的存储地址,至对应的存储器地址读取工作框列表。根据工作框列表所列的工作步骤,执行对应的运作程序。
其中,主控制器根据所执行的工作框列表,可能为支持USB功能的BIOS所建立的工作框列表27;或是为支持USB功能的作业系统程序所建立的工作框列表24。
在主控制器21完成工作框列表的工作步骤,即根据USBA状态暂存器的指示,发出中断信号。系统晶片组23因应于中断信号的发生以及legacy支持暂存器的设定根据中断呼叫发出MSI,系统晶片组23即发出SMI至CPU。
CPU根据USB SMI23而进入USB SMI处理程序28,执行USB SMI处理程序所控制的步骤。在USB SMI处理程序28中,经过检查TD中的Bit23,即可判断SMI的发生来源是为BIOS本身的工作框列表27的工作完成后所产生“0”,或系统中已有支持USB的作业系统接手,而此SMI为OS所生主控折工作框列表24的工作完成后所产生。当SMI产生而BIOS所主控的数据中TD的Bit23仍然维持在1时,表示此SMI非为BIOS所主控的工作框列表27工作完成而产生,即表示BIOS所主控的数据缓冲区中的数据已处理完毕,在BIOS主控下,并无新的传输工作需要完成。此时SMI之发生,因为系统中已有其他支持USB功能的作业系统或软件接手主控权。此时即控制透过SMI处理程序,发出信号26,将晶片组23上legacysupport register的旗标予以抑能,使得晶片组23不再因应于工作完成所发生的中断呼叫而发出SMI,抑制系统因USB之中断呼叫进入SMI处理程序28,解除冲突发生的可能,系统主控权即转移至作业系统。
此时,系统对USB传输的处理方式即根据主控制器所发出的中断呼叫而进入作业系统或驱动程序所对应的中断呼叫程序而进行相关的数据处理。
以上程序的控制,数据处理系统检查特定存储区域中标示数据是否经过变更的旗标,以判断数据实际存在的区域。在以上的例子中,特定存储区域即为BIOS所控制的数据缓冲区。数据经过变更区域,其所对应的程序,即为真正具有主控权者,藉此得判断主控权的归属,并据此将人控制权部分的特定功能抑能,将主控权让出,使得系统正常运作。
本发明的较佳实施方式,以上程序,是通过在SMI处理程序中加入额外的步骤达到。请参见图3。当SMI事件发生,进入SMI处理程序步骤31判断是否为USB SMI。若为USB SMI,进行步骤33;若非USB SMI,即进行一般的SMI处理程序。
步骤33因应其为USB SMI,判断是否为BIOS所控制引发。若为BIOS所控制引发,即进行步骤34,进行其他程序;并非BIOS所引发,即进行步骤35。
步骤35将BIOS支持USBR的功能抑能后,执行其他程序。
藉此,即达成正确判断系统主控权,避免错误动作的发生。
本发明与现有技术相比具有如下效果本发明由于对数据处理系统主控权采取适当仲裁的方式,使系统保持正常运作,避免产生错误动作,解决了数据处理系统中基本输出入系统与作业程序对系统主控权冲突的问题。
以上图示与实施例仅作为例示说明本发明较佳操作状态,而非欲对发明范围造成限制。
权利要求
1.一种数据处理系统的主控权仲裁方法,用以供配合一存储装置以及一控制装置使用;其特征在于,所述控制装置工作于一第一控制模式与一第二控制模式之一;第一控制模式是控制装置因应于一中断信号产生一系统控制信号,以控制数据处理系统执行一特定程序;第二控制模式是控制装置停止产生系统控制信号;该方法包括以下步骤(1)存储装置划分至少一存储区域,各存储区域包括一数据缓冲区,各存储区域并记载一工作步骤;所述存储区域必须包括一第一存付区域,第一存储区域包括一第一数据缓冲区以及记载一第一工作步骤;(2)执行上述工作步骤之一;(3)因应于完成该等工作步骤之一,发出中断信号;(4)因应于接收所述中断信号,检测所述存储装置的特定区域;(5)判断特定区域的内容;(6)因应于特定区域的内容为指示所述第一数据缓冲区所储存的内容经过变更,控制所述控制装置操作于第一控制模式;因应于所述特定区域的内容为指示第一数据缓冲区所储存的数据内容未变更,控制所述控制装置操作于第二控制模式。
2.根据权利要求1所述的数据处理系统的主控权仲裁方法,其特征在于,所述中断信号为所述数据处理系统的中断呼叫,所述系统控制信号为数据处理系统的系统管理中断呼叫,所述特定程序为系统管理中断呼叫处理程序。
3.根据权利要求1所述的数据处理系统的主控权仲裁方法,其特征在于,所述控制装置为数据处理系统的系统晶片组。
4.根据权利要求1所述的方法,其特征在于,所述控制装置支持USB功能。
5.根据权利要求4所述的方法,其特征在于,所述处理系统包括一主控制器,所述第一工作步骤为控制所述主控制器动作程序的工作框列表。
6.一种数据处理系统的主控权仲裁装置,包括一控制装置、一存储装置,其特征在于,控制装置工作于一第一控制模式以及一第二控制模式之一;第一控制模式是所述控制装置因应于一中断信号产生一系统控制信号,以控制数据处理系统执行一特定程序;第二控制模式是控制装置停止产生所述系统控制信号;所述主控权仲裁装置控制数据处理系统执行以下步骤(1)于存储装置划分至少一存储区域,各该存储区域包括一存储缓冲区,各存储区域并记载一工作步骤;其中存储区域必须包括一第一存储区域,该第一存储区域包括一第一数据缓冲区以及记载一第一工作步骤;(2)执行该等工作步骤之一;(3)因应于完成所述工作步骤之一,发出中断信号;(4)因应于接收该中断信号,检测该存储装置的特定区域;(5)判断特定区域的内容;(6)因应于特定区域的内容为指示所述第一数据缓冲区所储存的数据内容经过变更,控制该控制装置操作于所述第一控制模式;因应于特定区域的内容为指示所述第一控制模式;因应于特定区域的内容为指示所述第一数据缓冲区所储存的数据内容未变更,控制所述控制装置操作于所述第二控制模式。
7.根据权利要求6所述的数据处理系统的主控权仲裁装置,其特征在于,所述中断信号为数据处理系统中的中断呼叫,系统控制信号为数据处理系统的系统管理中断呼叫,所述特定程序为系统管理中断呼叫处理程序。
8.根据权利要求6所述的装置,其特征在于,所述控制装置为数据处理系统的系统晶片组。
9.根据权利要求8所述的装置,其特征在于,所述控制装置支持USB功能。
10.根据权利要求9所述的装置,其特征在于,所述数据处理系统包括一主控制器,所述第一工作步骤为控制主控制器动作程序的工作框列表。
11.根据权利要求6所述的装置,其特征在于,所述存储装置为一基本输出入系统只读存储器。
12.一种数据处理系统的主控权仲裁方法,用以配合一存储装置与一基本输出入系统使用;其特征在于,所述方法包括以下步骤(1)于所述存储装置保留一存储区域;(2)因应于程序支持USB功能,于存储区域写入代表程序支持USB功能的内容,用以供基本输出输入系统于执行USB SMI服务程序时,读取存储区域内容,使得所述基本输出入系统因应于存储区域内容为代表程序支持USB功能的内容,将所述基本输出入系统支持USB的功能抑能。
13.一种数据处理系统的主控权仲裁方法,用以供配合一存储装置、一控制装置以及一主控制器使用;其特征在于,所述主控制器包括一起始地址暂存器,起始地址暂存器的内容是指向一存储地址;所述控制装置工作于一第一控制模式与一第二控制模式之一;第一控制模式是控制装置因应于一中断信号产生一系统控制信号,以控制处理系统执行一特定程序;第二控制模式是控制装置停止产生系统控制信号;该方法包括以下步骤(1)于所述存储装置划分至少一存储区域,各存储区域包括一数据缓冲区,各该区域并记载一工作步骤;其中存储区域必须包括一第一存储区域,第一存储区域包括一第一数据缓冲区以及记载一第一工作步骤;(2)执行所述工作步骤之一;(3)因应于完成所述工作步骤之一,发出中断信号;(4)因应于接收中断信号,读取起始地址暂存器内容;(5)因应于所述存储地址位于第一存储区域的范围,控制所述控制装置操作于所述第一控制模式;因应于存储地址未落于第一存储区域,控制所述控制装置操作于第二控制模式。
14.根据权利要求13所述的方法,其特征在于,所述中断信号为数据处理系统的中断呼叫,所述系统控制信号为数据处理系统的管理中断呼叫,所述特定程序为系统管理中断呼叫处理程序。
15.根据权利要求13所述的方法,其特征在于,所述控制装置为数据处理系统晶片组。
16.根据权利要求13所述的方法,其特征在于,所述控制装置支持USB功能。
17.根据权利要求16所述的方法,其特征在于,所述第一工作步骤为控制所述主控制器动作程序的工作框列表。
18.一种数据处理系统的主控权仲裁装置,用以供配合一存储装置、一控制装置以及一主控制器;其特征在于,所述主控制器包括一起始地址暂存器,起始地址暂存器的内容指向一存储地址;所述控制装置工作于一第一控制模式与第二控制模式之一;第一控制模式是该控制装置因应于一中断信号产生一系统控制信号,以控制数据处理系统执行一特定程序;所述第二控制模式是该控制装置停止产生所述系统控制信号;该装置控制数据处理系统执行以下步骤(1)于所述存储装置划分至少一存储区域,各存储区域包括一数据缓冲区,各存储区域并记载一工作步骤;其中该等存储区域必须包括一第一存储区域,第一存储区域包括一第一数据缓冲区以及记载一第一工作步骤;(2)执行所述工作步骤之一;(3)因应于完成所述工作步骤之一,发出中断信号;(4)因应于接收所述中断信号,读取所述起始地址暂存器的内容;(5)因应于所述存储地址位于所述第一存储区域,控制所述控制装置操作于所述第一控制模式;因应于所述存储地址未落于第一存储区域的范围,控制所述控制装置操作于所述第二控制模式。
19.根据权利要求18所述的装置,其特征在于,所述中断信号为数据处理系统的中断呼叫,所述系统控制信号为所述数据处理系统的系统管理中断呼叫,所述特定程序为系统管理中断呼叫处理程序。
20.根据权利要求18所述的装置,其特征在于,所述控制器为数据处理系统的系统晶片组。
21.根据权利要求18所述的装置,其特征在于,所述控制装置支持USB功能。
22.根据权利要求18所述的装置,其特征在于,所述第一工作步骤为控制所述主控制器动作程序的工作框列表。
23.根据权利要求18所述的数据处理系统的主控权仲裁装置,其特征在于,所述存储装置为一基本输出入系统只读存储器。
全文摘要
一种数据处理系统的主控权仲裁装置与方法,供配合一存储装置及一控制装置使用,控制装置工作于第一、第二控制模式之一;第一模式是因应于一中断信号产生一系统控制信号,以控制数据处理系统执行一特定程序;第二模式是控制装置停止产生系统控制信号;在数据处理系统主控权重叠时,藉由检测存储装置或一主控制器的特定区域的内容,根据其内容判断真正具有主控权的部分,控制该控制装置工作于第一与第二控制模式之一,以确保系统的正常工作。
文档编号G06F13/20GK1199894SQ9711241
公开日1998年11月25日 申请日期1997年5月16日 优先权日1997年5月16日
发明者李怡娴, 杨金良, 廖世宏, 杨修宗 申请人:宏碁电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1