專(zhuān)利名稱(chēng):數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置與方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于電腦系統(tǒng)主控權(quán)的仲裁問(wèn)題,特別是指一種防止系統(tǒng)錯(cuò)誤發(fā)生的數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置與方法;特別是指在支持USB功能的電腦系統(tǒng),解決基本輸出入系統(tǒng)與作業(yè)程序?qū)﹄娔X系統(tǒng)主控權(quán)沖突的裝置與方法。
通用串列總線(xiàn)(Universal Serial Bus,USB)是由Compaq、Intel等公司所合力制定的新總線(xiàn)標(biāo)準(zhǔn)。其主要的目的在于提供一種通用連接頭,供應(yīng)所有的周邊裝置以相同規(guī)格的接頭連接于其上,以取代目前周邊裝置復(fù)雜而缺乏擴(kuò)充性的接頭,如串行接口(serial port)、并行接口(parallel port)、鍵盤(pán)接口、PS/2鼠標(biāo)器接口等。USB同時(shí)亦提供即插即用(Plug and Play,PnP)功能。
通用串行總線(xiàn)提供多種USB周邊與其連接,如鍵盤(pán)、鼠標(biāo)器、搖桿、印表機(jī)、掃描機(jī)、數(shù)字相機(jī)等。為符合USB的標(biāo)準(zhǔn)與應(yīng)用,電腦系統(tǒng)藉由一主控制器(Hostcontroller)來(lái)控制周邊與系統(tǒng)間的溝通與動(dòng)作。USB詳細(xì)的規(guī)格與作用請(qǐng)參見(jiàn)通用串行接口標(biāo)準(zhǔn)第1.0版的說(shuō)明,而主控制器詳細(xì)的規(guī)格請(qǐng)參閱Intel 8237ISB PIIX3USB Design Guide and Checklist。
目前,個(gè)人電腦系統(tǒng)支持USB功能的方式有兩種一種是藉由基本輸出入系統(tǒng)(Basic Input Output System,BIOS)支持USB功能一種是在作業(yè)系統(tǒng)程序(operating system,OS)或其它應(yīng)用程序或驅(qū)動(dòng)程序之下,提供支持USB的功能。
當(dāng)個(gè)人電腦系統(tǒng)所使用的BIOS不支持USB、而作業(yè)系統(tǒng)程序支持時(shí),個(gè)人電腦系統(tǒng)在開(kāi)機(jī)階段、尚未進(jìn)入作業(yè)系統(tǒng)前,所有的USB周邊裝置因?yàn)锽IOS不支持USB功能,將造成USB周邊裝置無(wú)法發(fā)揮功能作用。
在個(gè)人電腦系統(tǒng)所使用BIOS支持USB功能的情況下,有兩種不同的情形發(fā)生(1)BIOS支持USB而作業(yè)系統(tǒng)程序不支持時(shí),USB周邊裝置全程由BIOS負(fù)責(zé)支持;(2)當(dāng)個(gè)人電腦系統(tǒng)所使用物BIOS與作業(yè)系統(tǒng)程序皆支持USB功能時(shí),其動(dòng)作流程如下在個(gè)人電腦系統(tǒng)開(kāi)機(jī)之后,系統(tǒng)根據(jù)BIOS的控制,進(jìn)行自我檢測(cè)(Power On Self Test,POST)的動(dòng)作。此時(shí),因?yàn)樽鳂I(yè)系統(tǒng)程序尚未得到系統(tǒng)主控權(quán),因此須由BIOS支持USB周邊裝置動(dòng)作。當(dāng)作業(yè)系統(tǒng)程序接手主控權(quán)之后,理論上,USB的主控權(quán)應(yīng)交至作業(yè)系統(tǒng)程序。但因BIOS與作業(yè)系統(tǒng)皆支持USB功能的結(jié)果,造成主控權(quán)錯(cuò)亂,因而使得電腦系統(tǒng)執(zhí)行錯(cuò)誤而出現(xiàn)死機(jī)的情形。
本發(fā)明的目的在于提供一種避免數(shù)據(jù)處理系統(tǒng)主控權(quán)沖突的方法及裝置,以對(duì)系統(tǒng)主控權(quán)作成適當(dāng)仲裁,使系統(tǒng)正常運(yùn)作。
本發(fā)明的目的在于提供一種系統(tǒng)主控權(quán)仲裁方法,以避免產(chǎn)生系統(tǒng)錯(cuò)誤。
本發(fā)明的另一目的在于提供一種可協(xié)調(diào)電腦系統(tǒng)中,基本輸出入系統(tǒng)與作業(yè)系統(tǒng)程序?qū)﹄娔X系統(tǒng)的主控權(quán)仲裁裝置。
本發(fā)明的再一目的在于提供一種能解決基本輸出入系統(tǒng)與作業(yè)系統(tǒng)程序同時(shí)支持USB時(shí),發(fā)生沖突的主控裝置。
本發(fā)明的又一目的在于提供一種具自動(dòng)判斷功能的數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁的方法,以提供數(shù)據(jù)處理系統(tǒng)正確的操作方式,避免系統(tǒng)產(chǎn)生錯(cuò)誤動(dòng)作。
圖1是個(gè)人電腦系統(tǒng)中USB事件處理流程。
圖2為數(shù)據(jù)處理系統(tǒng)應(yīng)用于個(gè)人電腦系統(tǒng)時(shí),配合BIOS、OS支持USB功能的示意圖。
圖3為本發(fā)明的USB SMI處理程序流程圖。
圖4為本發(fā)明的另一實(shí)施方式的USB SMI流程圖。
結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的方法及裝置說(shuō)明如下目前支持USB功能的個(gè)人電腦系統(tǒng),其USB的控制功能是藉由一主控制器(host controller)控制。主控制器工作配合位于特定存儲(chǔ)區(qū)域的工作框列表(framelist),起到支持USB的作用。
工作框列表為主控制器所須執(zhí)行的工作程序,其主要由一連串的指示器(pointer)所構(gòu)成,以指向特定的存儲(chǔ)區(qū)域。工作框指標(biāo)及控制碼(control bit)的意義如表一。314 3 2 1 0
主控制器周期性的讀取工作框列表的內(nèi)容,并根據(jù)指標(biāo)及控制碼,指向特定存儲(chǔ)區(qū)域的數(shù)據(jù)結(jié)構(gòu)(data structure),根據(jù)數(shù)據(jù)結(jié)構(gòu)對(duì)對(duì)應(yīng)的存儲(chǔ)區(qū)域內(nèi)的數(shù)據(jù)執(zhí)行特定的傳輸(transaction)工作。
在主控制器內(nèi)部設(shè)有數(shù)個(gè)暫存器。主控制器依循暫存器的內(nèi)容控制,執(zhí)行特定工作。以英特爾(Intel)公司所生產(chǎn)的編號(hào)8237ISB PIIX3晶片組(chipset)所內(nèi)建的USB主控制器為例,其內(nèi)部具有輸出入暫存器(I/O register)。各輸出入暫存器內(nèi)容具有特定意義,各輸出入暫存器的輸出入地址及內(nèi)容如下表所示
輸出入地址 內(nèi)容描述Base+(00-01h) USB命令Base(02-03h)USB狀態(tài)Base+(04-05h) USB中斷致能Base(06-07h)工作框號(hào)碼Base+(08-0Bh) 工作框列表起始地址(Base Address)Base+0C 啟動(dòng)工作框變更Base+(10-11h) Port 1狀態(tài)/控制Base+(12-13h) Port 2狀態(tài)/控制位于Base+(08-0Bh)的暫存器即為工作框列表起始地址暫存器(frame list baseaddress register),其內(nèi)容是提供工作框列表的起始地址。主控制器根據(jù)工作框列表起始的地址暫存器的內(nèi)容,指向一特定的存儲(chǔ)器地址,此即為工作框列表的起始地址。
主控制器本身具有一工作框計(jì)數(shù)器(frame counter),主控制器即以起始地址與工作框計(jì)數(shù)器的計(jì)數(shù)合并成工作框地址,主控制器即依序讀取此工作框地址的內(nèi)容,并因應(yīng)于工作框的控制,執(zhí)行對(duì)應(yīng)的工作。而因應(yīng)于工作框計(jì)數(shù)器的下一個(gè)計(jì)數(shù),使得工作框地址指向另一個(gè)工作框,主控制器即執(zhí)行下一個(gè)工作框所控制的工作。
以使用8237ISB PIIX3的個(gè)人電腦系統(tǒng)為例,電腦系統(tǒng)啟動(dòng)后,在基本輸出入系統(tǒng)(BIOS)的程序控制之下,系統(tǒng)即進(jìn)行自我檢測(cè)(POST)的工作。若電腦系統(tǒng)的BIOS支持USB功能,在電腦系統(tǒng)的自我檢測(cè)過(guò)程中,因應(yīng)于基本輸出入系統(tǒng)的控制,對(duì)主控制器的各個(gè)輸出入暫存器做初始化的工作,由BIOS控制于各個(gè)輸出入暫存器填入一特定的起始值,以指向特定的存儲(chǔ)空間,建立BIOS的工作框列表。在目前的規(guī)格下,BIOS工作框列表起始地址是設(shè)在系統(tǒng)存儲(chǔ)地址E0000EFFFF間,總共有1024個(gè)項(xiàng)目(entry)。
而位于Base+(02-03h)的輸出入暫存器,為一16位元的USB狀態(tài)暫存器,用以指示主控制器的各個(gè)狀態(tài)。其中在第1個(gè)位元(bit 0)為USB中斷指標(biāo)。當(dāng)此位元設(shè)定為1,控制主控制器于完成特定傳輸(transaction)工作后,發(fā)出中斷呼叫(interrupt)。
在Intel 88237ISB PIIX3具有USB主控制器PCI編譯程序暫存器(USB Hostcontnoller PCI configuration Regester)。其中Offset(c0-c1h)的暫存為一16位元的legacy支持暫存器(Legacy support register)。在暫存器的第5位元(bit 4)設(shè)有一旗標(biāo),用以指示晶片組是否因應(yīng)于工作結(jié)束的中斷呼叫而發(fā)出系統(tǒng)管理中斷呼叫(System Management Interrupt,SMI)。
在進(jìn)行自我檢測(cè)過(guò)程中,BIOS控制電腦系統(tǒng)檢測(cè)電腦系統(tǒng)本身所接的USB周邊元件(USB device),此即周邊列表(enumeration)的過(guò)程。在系統(tǒng)執(zhí)行周邊列表之后,即在特定的存儲(chǔ)區(qū)域內(nèi)建立相關(guān)的數(shù)據(jù)結(jié)構(gòu),以控制主控制器執(zhí)行的程序(schedule),并更新工作框列表的內(nèi)容,以便主控制器因應(yīng)于工作框列表的控制,執(zhí)行對(duì)應(yīng)的傳輸工作。
在主控制器根據(jù)工作框列表內(nèi)所指向的數(shù)據(jù)結(jié)構(gòu)的控制;完成傳輸工作后,如上所述,主控制器會(huì)根據(jù)USB狀態(tài)暫存器的設(shè)定,發(fā)出中斷呼叫。
因應(yīng)于中斷呼叫的產(chǎn)生,8237ISB PIIX3晶片組判斷Legacy支持暫存器第5位元的旗標(biāo),以判斷是否因應(yīng)于中斷呼叫的產(chǎn)生而發(fā)出系統(tǒng)管理中斷呼叫。因應(yīng)于旗標(biāo)標(biāo)定產(chǎn)生系統(tǒng)管理中斷呼叫,8237ISB PIIX3晶片組即產(chǎn)生USB SMI,控制系統(tǒng)進(jìn)入對(duì)應(yīng)的USB SMI的處理程序(SMI handler)。
請(qǐng)參見(jiàn)圖1。個(gè)人電腦系統(tǒng)在BIOS支持USB的功能的情形下,系統(tǒng)開(kāi)機(jī)之后,晶片組會(huì)在legacy支持暫存器第13位元(bit 12)標(biāo)示產(chǎn)生USB SMI,以控制系統(tǒng)進(jìn)入SMI處理程序,完成USB的數(shù)據(jù)傳輸與處理。
在BLOS支持USB功能,而作業(yè)系統(tǒng)程序不支持USB功能時(shí),此種處理方式,能夠使系統(tǒng)正常運(yùn)作。所有與USB有關(guān)功能,皆由BIOS與主控制器,配合晶片組發(fā)出SMI,進(jìn)入U(xiǎn)SB系統(tǒng)管理中斷呼叫處理程序完成,并無(wú)疑義。
但是當(dāng)BIOS與作業(yè)系統(tǒng)程序皆支持USB時(shí),此種處理方式便出現(xiàn)系統(tǒng)主控紊亂的情形,因而導(dǎo)致系統(tǒng)工作異常。問(wèn)題的產(chǎn)生原因說(shuō)明如下在作業(yè)系統(tǒng)程序與BIOS皆支持USB功能的情形下,于電腦系統(tǒng)開(kāi)機(jī)之后、作業(yè)系統(tǒng)程序啟動(dòng)之前,USB周邊裝置的支持,是由BIOS提供,系統(tǒng)資源的分配與處理程序由BIOS控制完成,以便在作業(yè)系統(tǒng)啟動(dòng)之前,電腦系統(tǒng)仍然能夠支持USB的周邊裝置,使其能正常輸出入。
而在作業(yè)系統(tǒng)程序亦支持USB的情形下,于作業(yè)系統(tǒng)程序啟動(dòng)之后,電腦系統(tǒng)的主控權(quán)即轉(zhuǎn)由作業(yè)系統(tǒng)程序主控。此時(shí),作業(yè)系統(tǒng)程序即根據(jù)主控制器所要求的規(guī)格,將主控制器的暫存器填入新的值,特別是變更工作框列表起始地址暫存器的內(nèi)容,以便在存儲(chǔ)空間內(nèi)建立由作業(yè)系統(tǒng)程序主控的工作框列表以及相對(duì)的數(shù)據(jù)結(jié)構(gòu),控制及支持USB周邊裝置。
如前所述,在主控制器根據(jù)作業(yè)系統(tǒng)所建立的工作框列表執(zhí)行完傳輸工作之后,根據(jù)8237ISB PIIX3晶片組規(guī)格,主控制器即因應(yīng)于中斷致能暫存器的設(shè)定,發(fā)出中斷呼叫,而8237ISB PIIX3晶片根據(jù)legacy支持暫存器內(nèi)旗標(biāo)的樹(shù)立,發(fā)出USB SMI,控制系統(tǒng)進(jìn)入U(xiǎn)SB系統(tǒng)管理中斷呼叫處理程序。
請(qǐng)參見(jiàn)圖2所示,問(wèn)題的發(fā)生即在于系統(tǒng)管理中斷呼叫處理程序(SMIhandler)28是由BIOS規(guī)劃管理,每一個(gè)SMI皆對(duì)應(yīng)一特定的處理程序。因應(yīng)于BIOS支持USB功能,在BIOS和管理下,USB SMI的處理程序是將USB功能的數(shù)據(jù)空間,指向BIOS所指定的存儲(chǔ)器空間22;亦即,系統(tǒng)在進(jìn)入U(xiǎn)SB SMI處理程序28之后,將數(shù)據(jù)自BIOS的工作框列表27所指向的存儲(chǔ)器空間22內(nèi)的數(shù)據(jù)緩沖區(qū)域(data buffer)29讀出,或?qū)?shù)據(jù)寫(xiě)進(jìn)BIOS的工作框列表指向?qū)?yīng)的存儲(chǔ)空間22內(nèi)的數(shù)據(jù)緩沖區(qū)域29。然而,在支持USB功能的作業(yè)系統(tǒng)程序啟動(dòng)之后,系統(tǒng)控制權(quán)由BIOS交給作業(yè)系統(tǒng)程序。主控制器21即因應(yīng)于作業(yè)系統(tǒng)對(duì)其內(nèi)部暫存器的設(shè)定,根據(jù)作業(yè)系統(tǒng)所建立的工作框列表24,進(jìn)行對(duì)應(yīng)動(dòng)作,并在工作完成后,發(fā)出中斷呼叫,引發(fā)USB SMI,控制系統(tǒng)進(jìn)入U(xiǎn)SB SMI的處理程序28。
如前所述,USB SMI的處理程序由BIOS所控制,所指向的存儲(chǔ)器空間是指向BIOS所指定的存儲(chǔ)空間22內(nèi),而非作業(yè)系統(tǒng)程序所指定的數(shù)據(jù)空間20。此時(shí),因?yàn)檎嬲枰幚淼臄?shù)據(jù)位于作業(yè)系統(tǒng)程序的工作框列表24所控制對(duì)應(yīng)的緩沖區(qū)25之內(nèi),但是系統(tǒng)卻因應(yīng)于USB SMI處理程序28的控制欲對(duì)BIOS所指定的存儲(chǔ)空間22內(nèi)的存儲(chǔ)進(jìn)行處理,因而產(chǎn)生錯(cuò)誤,造成死機(jī)的情形發(fā)生。
因此,問(wèn)題的核心原因即在于數(shù)據(jù)處理系統(tǒng)主控權(quán)的檢測(cè)與仲裁,只要數(shù)據(jù)處理系統(tǒng)能正確的判斷系統(tǒng)主控權(quán)的歸屬,而將其他發(fā)生沖突部分功能抑能,即可解決因主控權(quán)錯(cuò)亂而發(fā)生的問(wèn)題。
為解決以上問(wèn)題的產(chǎn)生,本發(fā)明的數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁方法如下本發(fā)明的一種數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁方法,用以供配合一存儲(chǔ)裝置以及一控制裝置使用;其特征在于,所述控制裝置工作于一第一控制模式與一第二控制模式之一;第一控制模式是控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行一特定程序;第二控制模式是控制裝置停止產(chǎn)生系統(tǒng)控制信號(hào);該方法包括以下步驟(1)存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,各存儲(chǔ)區(qū)域包括一數(shù)據(jù)緩沖區(qū),各存儲(chǔ)區(qū)域并記載一工作步驟;所述存儲(chǔ)區(qū)域必須包括一第一存付區(qū)域,第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū)以及記載一第一工作步驟;(2)執(zhí)行上述工作步驟之一;(3)因應(yīng)于完成該等工作步驟之一,發(fā)出中斷信號(hào);(4)因應(yīng)于接收所述中斷信號(hào),檢測(cè)所述存儲(chǔ)裝置的特定區(qū)域;(5)判斷特定區(qū)域的內(nèi)容;(6)因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的內(nèi)容經(jīng)過(guò)變更,控制所述控制裝置操作于第一控制模式;因應(yīng)于所述特定區(qū)域的內(nèi)容為指示第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的數(shù)據(jù)內(nèi)容未變更,控制所述控制裝置操作于第二控制模式。
其中的數(shù)據(jù)處理系統(tǒng)為用以運(yùn)算數(shù)據(jù)的系統(tǒng),如個(gè)人電腦系統(tǒng)、電腦、伺服器等。而存儲(chǔ)裝置是數(shù)據(jù)處理系統(tǒng)中具有數(shù)據(jù)儲(chǔ)存能力的裝置,如DRAM、SRAM等存儲(chǔ)器。以個(gè)人電腦系統(tǒng)為例,存儲(chǔ)裝置可為其系統(tǒng)存儲(chǔ)器。
本發(fā)明的控制裝置,為數(shù)據(jù)處理系統(tǒng)中,具有數(shù)據(jù)運(yùn)算能力并根據(jù)特定控制步驟執(zhí)行工作的裝置。以個(gè)人電腦為例,該控制裝置可為Intel或揚(yáng)智科技公司所生產(chǎn)的系統(tǒng)晶片組,用以協(xié)調(diào)處理中央處理單元與周邊裝置的數(shù)據(jù)處理與傳輸。在個(gè)人電腦系統(tǒng)的系統(tǒng)晶片組支持USB功能時(shí),該系統(tǒng)晶片組可為Intel公司生產(chǎn)的8237ISB PIIX3晶片組。
本發(fā)明的控制裝置具有第一及第二兩種控制模式,其中,第一控制模式是該控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行一特定程序;在第二控制模式,控制裝置停止產(chǎn)生系統(tǒng)控制信號(hào),以停止處理系統(tǒng)因應(yīng)于中斷信號(hào)執(zhí)行該特定程序。
其中的中斷信號(hào),為數(shù)據(jù)處理系統(tǒng)用以中斷系統(tǒng)所執(zhí)行的工作,指示系統(tǒng)根據(jù)該等信號(hào),執(zhí)行對(duì)應(yīng)的特定程序。以個(gè)人電腦系統(tǒng)為例,個(gè)人電腦系統(tǒng)中具有兩種中斷信號(hào),一種為中斷呼叫信號(hào)(interrup tequest,IRQ),一種為SMI,皆控制數(shù)據(jù)處理系統(tǒng)執(zhí)行對(duì)應(yīng)的特定程序,對(duì)IRQ而言,其為IRQ服務(wù)程序,對(duì)SMI而言,則為SMI處理程序,而SMI處理程序又因應(yīng)于不同的SMI來(lái)源,分別執(zhí)行對(duì)應(yīng)的MSI處理程序。以應(yīng)用Intel公司生產(chǎn)的82371ISB PIIX3晶片組的電腦系統(tǒng)為例,系統(tǒng)晶片組的第一控制模式為系統(tǒng)晶片組的電腦系統(tǒng)為便,系統(tǒng)晶片組的第一控制模式為系統(tǒng)晶片組因應(yīng)于主控制器所發(fā)出的IRQ,而發(fā)出SMI,以控制系統(tǒng)進(jìn)入U(xiǎn)SB SMI處理程序;其第二控制模式為系統(tǒng)晶片組停止因應(yīng)于主控制器所發(fā)出的IRQ而產(chǎn)生SMI,換言之,即停止進(jìn)入對(duì)應(yīng)的USB SMI處理程序。
而如本發(fā)明的步驟(1)、(2)、(3),于該存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,是在存儲(chǔ)裝置中,寫(xiě)出特定的區(qū)域,各存儲(chǔ)區(qū)域中包括數(shù)據(jù)緩沖區(qū),同時(shí)各存儲(chǔ)區(qū)域記載有工作步驟,用以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行該等工作步驟。
其中,所劃分的存儲(chǔ)區(qū)域必須包括一第一存儲(chǔ)區(qū)域,第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū),同時(shí)第一存儲(chǔ)區(qū)域記載一第一工作步驟。
數(shù)據(jù)處理系統(tǒng)根據(jù)所述存儲(chǔ)區(qū)域所記載的工作步驟執(zhí)行工作。當(dāng)系統(tǒng)完成特定存儲(chǔ)區(qū)域所記載的工作步驟時(shí),即發(fā)出前述中斷信號(hào)。以支持USB的主控制器為例,當(dāng)主控制器執(zhí)行完畢工作框列表所列的工作步驟之后,即發(fā)出IRQ。
值得注意的是,其中的各工作步驟與各數(shù)據(jù)緩沖區(qū)可為位于存儲(chǔ)裝置的同一完整區(qū)塊,亦可為分散的存儲(chǔ)地址。
在步驟(4)及步驟(5)中,因應(yīng)于接收該中斷信號(hào),執(zhí)行檢測(cè)存儲(chǔ)裝置的特定區(qū)域,以檢知其內(nèi)容。該特定區(qū)域可為所劃分的存儲(chǔ)區(qū)域的一部分,或是位于存儲(chǔ)裝置的其他位置。
因應(yīng)于特定區(qū)域的內(nèi)容為代表該第一存儲(chǔ)區(qū)域的數(shù)據(jù)緩沖區(qū)域的內(nèi)容經(jīng)過(guò)變更,即控制該控制裝置操作于第一控制模式,因應(yīng)于特定區(qū)域的內(nèi)容為代表該第一存儲(chǔ)區(qū)域的數(shù)據(jù)緩沖區(qū)域的內(nèi)容未變更,即代表主控權(quán)已經(jīng)變更,控制該控制裝置操作于該第二控制模式。
以同時(shí)使用支持USB的BIOS與作業(yè)系統(tǒng)程序?yàn)槔?,?dāng)作業(yè)系統(tǒng)程序接手系統(tǒng)主控權(quán)之后,即于建立另一異于BIOS所控制的工作框列表,以控制主控制器進(jìn)行相關(guān)的傳輸動(dòng)作。主控制器根據(jù)作業(yè)系統(tǒng)程序所建立的工作框列表,完成執(zhí)行工作,隨即發(fā)出中斷呼叫,隨即引發(fā)系統(tǒng)的MSI,控制系統(tǒng)進(jìn)入U(xiǎn)SB SMI處理程序。本發(fā)明的流程,即檢查BIOS所控制的存儲(chǔ)空間內(nèi)的數(shù)據(jù)是否經(jīng)傳輸完畢。若已經(jīng)傳輸完畢,代表此SMI非為主控制器執(zhí)行BIOS所控制的工作框列表所引發(fā),而是因主控制器執(zhí)行系統(tǒng)其他工作框列表而引發(fā)。
此時(shí),代表系統(tǒng)主控權(quán)已轉(zhuǎn)手,同時(shí),USB的支持功能亦已由其他裝置負(fù)責(zé),主控器所執(zhí)行的工作框列表已非BIOS所控制的工作框列表。因此,藉由抑制系統(tǒng)晶片組發(fā)出SMI,即避免系統(tǒng)因應(yīng)于主控制器完成工作框列表的工作,而進(jìn)入U(xiǎn)SBSMI處理程序。藉此避免系統(tǒng)對(duì)錯(cuò)誤的數(shù)據(jù)進(jìn)行傳輸,因而避免錯(cuò)誤的發(fā)生。
在這種情形之下,主控制器于隨后所發(fā)出的中斷呼叫,不再引發(fā)SMI,而是直接由掌握主控權(quán)裝置,直接提供對(duì)應(yīng)的中斷呼叫處理程序完成傳輸工作。
根據(jù)相同的原理,本發(fā)明的另一種方式介紹如下本發(fā)明的另一種數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁方法,用以供配合一存儲(chǔ)裝置、一控制裝置以及一主控器使用;其特征在于,所述主控制器包括一起始地址暫存器,起始地址暫存器的內(nèi)容是指向一存儲(chǔ)地址;所述控制裝置工作于一第一控制模式與一第二控制模式之一;第一控制模式是控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制處理系統(tǒng)執(zhí)行一特定程序;第二控制模式是控制裝置停止產(chǎn)生系統(tǒng)控制信號(hào);該方法包括以下步驟(1)于所述存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,各存儲(chǔ)區(qū)域包括一數(shù)據(jù)緩沖區(qū),各該區(qū)域并記載一工作步驟;其中存儲(chǔ)區(qū)域必須包括一第一存儲(chǔ)區(qū)域,第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū)以及記載一第一工作步驟;(2)執(zhí)行所述工作步驟之一;
(3)因應(yīng)于完成所述工作步驟之一,發(fā)出中斷信號(hào);(4)因應(yīng)于接收中斷信號(hào),讀取起始地址暫存器內(nèi)容;(5)因應(yīng)于所述存儲(chǔ)地址位于第一存儲(chǔ)區(qū)域的范圍,控制所述控制裝置操作于所述第一控制模式;因應(yīng)于存儲(chǔ)地址未落于第一存儲(chǔ)區(qū)域,控制所述控制裝置操作于第二控制模式。
本方法的原理與前述方法大體相同。主要不同之處為其檢查的位置有所差異。如上所述的主控制器是執(zhí)行一特定工作步驟的數(shù)據(jù)處理裝置,以個(gè)人電腦系統(tǒng)而言,其可為支持USB功能的主控制器。
如前所述,支持USB功能的主控制器,如8237ISB PIIX3系統(tǒng)晶片組內(nèi)含的主控制器,具有工作框列表起始地址暫存器,是指向規(guī)范主控制器所執(zhí)行步驟的工作框列表在存儲(chǔ)器裝置中的起始地址。因此,讀取此暫存器之值,即可判斷目前工作框列表所在的存儲(chǔ)地址。
因此,主控制器在完成工作框列表的工作步驟之后,發(fā)出中斷呼叫,引發(fā)SMI,控制數(shù)據(jù)處理系統(tǒng)進(jìn)入U(xiǎn)SB SMI處理程序。此時(shí),本發(fā)明,在USB SMI處理程序中即先讀取此暫存器的內(nèi)容,因應(yīng)于此存儲(chǔ)地址非為指向BIOS建立之工作框列表起始地址,代表此時(shí)主控制器所根據(jù)執(zhí)行的工作框列表,非BIOS所建立,代表系統(tǒng)主控權(quán)已經(jīng)轉(zhuǎn)移,BIOS無(wú)須執(zhí)行支持USB的功能。此時(shí),即于USB SMI處理程序中,將系統(tǒng)晶片組因應(yīng)于主控制器之中斷呼叫發(fā)出SMI的功能,予以抑能。此后的USB功能的完成,即由掌控支持USB功能的程序所提供的中斷呼叫服務(wù)程序所完成。中斷呼叫服務(wù)程序技術(shù),為熟于本專(zhuān)業(yè)的人士所熟知,在此不予詳述。
當(dāng)讀取暫存器所存的起始地址為指向BIOS所控制的工作框列表時(shí),即代表系統(tǒng)支持USB功能的主控權(quán)是由BIOS所控制。
而欲實(shí)現(xiàn)本方法的控制裝置,可藉由于BIOS ROM,在USB SMI處理程序中,加入前述的檢查步驟,即可藉由處理系統(tǒng)于執(zhí)行USB SMI處理程序時(shí),達(dá)成主控權(quán)的仲裁,并將主控權(quán)轉(zhuǎn)移至正確的裝置。
在相同的結(jié)構(gòu)之下,本發(fā)明的數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁裝置,說(shuō)明如下本發(fā)明的一種數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置,包括一控制裝置、一存儲(chǔ)裝置,其特征在于,控制裝置工作于一第一控制模式以及一第二控制模式之一;第一控制模式是所述控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行一特定程序;第二控制模式是控制裝置停止產(chǎn)生所述系統(tǒng)控制信號(hào);所述主控裁裝置控制數(shù)據(jù)處理系統(tǒng)執(zhí)行以下步驟(1)于存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,各該存儲(chǔ)區(qū)域包括一存儲(chǔ)緩沖區(qū),各存儲(chǔ)區(qū)域并記載一工作步驟;其中存儲(chǔ)區(qū)域必須包括一第一存儲(chǔ)區(qū)域,該第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū)以及記載一第一工作步驟;(2)執(zhí)行該等工作步驟之一;(3)因應(yīng)于完成所述工作步驟之一,發(fā)出中斷信號(hào);(4)因應(yīng)于接收該中斷信號(hào),檢測(cè)該存儲(chǔ)裝置的特定區(qū)域;(5)判斷特定區(qū)域的內(nèi)容;(6)因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的數(shù)據(jù)內(nèi)容經(jīng)過(guò)變更,控制該控制裝置操作于所述第一控制模式;因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一控制模式;因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的數(shù)據(jù)內(nèi)容未變更,控制所述控制裝置操作于所述第二控制模式。
其執(zhí)行步驟的動(dòng)作原理已于前敘明,在此不予詳述。所述數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁裝置,可藉由在BIOS ROM的BIOS控制程序中的SMI處理程序,加上如上所述流程。藉由數(shù)據(jù)處理系統(tǒng)執(zhí)行BIOS程序時(shí),執(zhí)行上述工作步驟而達(dá)成以上的控制動(dòng)作。
本發(fā)明的另一種數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁方法可以下列方式實(shí)施,說(shuō)明如下本發(fā)明的一種數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁方法,用以配合一存儲(chǔ)裝置與一基本輸出入系統(tǒng)使用;其特征在于,所述方法包括以下步驟(1)于所述存儲(chǔ)裝置保留一存儲(chǔ)區(qū)域;(2)因應(yīng)于程序支持USB功能,于存儲(chǔ)區(qū)域?qū)懭氪沓绦蛑С諹SB功能的內(nèi)容,用以供基本輸出輸入系統(tǒng)于執(zhí)行USB SMI服務(wù)程序時(shí),讀取存儲(chǔ)區(qū)域內(nèi)容,使得所述基本輸出入系統(tǒng)因應(yīng)于存儲(chǔ)區(qū)域內(nèi)容為代表程序支持USB功能的內(nèi)容,將所述基本輸出入系統(tǒng)支持USB的功能抑能。
藉此,防止程序與該基本輸出入系統(tǒng)發(fā)生沖突。
同前所述,本發(fā)明的數(shù)據(jù)處理系統(tǒng)為用以運(yùn)算數(shù)據(jù)的系統(tǒng),如個(gè)人電腦系統(tǒng)、微型電腦、伺服器等?;据敵鋈胂到y(tǒng)則為控制系統(tǒng)本身基本運(yùn)作的BIOS程序。而存儲(chǔ)裝置是數(shù)據(jù)處理系統(tǒng)中具有數(shù)據(jù)儲(chǔ)存能力的裝置,如DRAM、SRAM等存儲(chǔ)。以個(gè)人電腦系統(tǒng)為例,存儲(chǔ)裝置可為其系統(tǒng)存儲(chǔ)器。
而程序是指用以控制數(shù)據(jù)處理系統(tǒng)進(jìn)行特定步驟工作的控制程序,如作業(yè)系統(tǒng)程序、應(yīng)用程序、驅(qū)動(dòng)程序等。
藉由定義一特定的存儲(chǔ)區(qū)域,當(dāng)程序支持USB功能,程序即于該特定的存儲(chǔ)區(qū)域,例如40F0h建立旗標(biāo),用以指示程序支持USB功能。
如前所述,當(dāng)數(shù)據(jù)處理系統(tǒng)因應(yīng)于主控制器所發(fā)出的USB中斷呼叫,隨即進(jìn)入U(xiǎn)SB SMI處理程序。在USB SMI處理程序中,控制系統(tǒng)于執(zhí)行相關(guān)USB SMI處理程序,先行讀取該特定存儲(chǔ)區(qū)域的內(nèi)容,以判斷目前于數(shù)據(jù)處理系統(tǒng)中使用的程序,是否支持USB功能。若程序支持,則將基本輸出入系統(tǒng)的支持USB的功能抑能,亦即,抑制系統(tǒng)因應(yīng)于USB中斷呼叫發(fā)出SMI;若程序不支持USB功能,即進(jìn)行原來(lái)的USB SMI處理程序。
本發(fā)明的較佳實(shí)施例方式是于USB SMI處理程序加上適當(dāng)程序以達(dá)到上述目的,請(qǐng)參見(jiàn)圖4。在USB SMI發(fā)生之后,執(zhí)行以下步驟步驟41檢查代表程序支持USB的旗標(biāo)是否樹(shù)立。若是,執(zhí)行步驟43;若否,執(zhí)行步驟45。
步驟43將BIOS支持USB的功能抑能后,執(zhí)行其他程序。
步驟45執(zhí)行原來(lái)的BIOS USB SMI處理程序。
在另外一個(gè)例子中,于程序使用于數(shù)據(jù)處理系統(tǒng)時(shí),可利用功能程序呼叫(function call)來(lái)達(dá)到相同的目的。此方法的方式敘述如下在BIOS部分,提供一解除支持LEGACY的功能程序呼叫,用以將BIOS支持USB的功能解除。例如將8237ISB PIIX3晶片組中,LEGACY支持暫存器內(nèi)旗標(biāo)設(shè)定為不發(fā)出SMI。藉由訂立共同標(biāo)準(zhǔn),在程序支持USB功能時(shí),于其取得數(shù)據(jù)處理系統(tǒng)主控權(quán)之后,呼叫該解除支持LEGACY的功能程序呼叫,程序呼叫將BIOS支持USB的功能解除。如此,即避免程序與BIOS同時(shí)支持USB功能所造成的錯(cuò)誤發(fā)生。
本發(fā)明應(yīng)用在支持USB功能的個(gè)人電腦系統(tǒng)時(shí),使用一主控制器以支持USB,同時(shí),第一工作步驟與第二工作步驟為控制該主控制器動(dòng)作程序的工作框列表。而第一數(shù)據(jù)緩沖區(qū)與第二數(shù)據(jù)緩區(qū)即為各工作框列表所控制對(duì)應(yīng)的緩沖區(qū)。而控制裝置即為個(gè)人電腦系統(tǒng)中的系統(tǒng)晶片組。
在由主控制器所建立的數(shù)據(jù)結(jié)構(gòu)中,包括了傳輸描述表(transferDescriptors,TDs),用以指示USB上所要求進(jìn)行的傳輸特性。傳輸描述表皆為32byte,在其中的DWORD1的Bit23為一用以指示主控制器進(jìn)行傳輸與否的旗標(biāo)。當(dāng)Bit23設(shè)為0時(shí),主控制器進(jìn)行數(shù)據(jù)的傳輸;當(dāng)相關(guān)傳輸描述表的數(shù)據(jù)完成傳輸,Bit23會(huì)被設(shè)成1。因此,當(dāng)Bit23指示為1時(shí),即代表相關(guān)此TD的數(shù)據(jù)已經(jīng)被執(zhí)行過(guò)(或是未被更新過(guò)),主控制不須再對(duì)其進(jìn)行動(dòng)作。
圖2為本發(fā)明應(yīng)用于個(gè)人電腦系統(tǒng)的示意圖。如圖中所示,本發(fā)明的數(shù)據(jù)處理系統(tǒng)主控權(quán)仲裁方法在支持USB的個(gè)人電腦系統(tǒng)時(shí),主控制21根據(jù)其內(nèi)部工作框列表起始地址暫存器所指向的存儲(chǔ)地址,至對(duì)應(yīng)的存儲(chǔ)器地址讀取工作框列表。根據(jù)工作框列表所列的工作步驟,執(zhí)行對(duì)應(yīng)的運(yùn)作程序。
其中,主控制器根據(jù)所執(zhí)行的工作框列表,可能為支持USB功能的BIOS所建立的工作框列表27;或是為支持USB功能的作業(yè)系統(tǒng)程序所建立的工作框列表24。
在主控制器21完成工作框列表的工作步驟,即根據(jù)USBA狀態(tài)暫存器的指示,發(fā)出中斷信號(hào)。系統(tǒng)晶片組23因應(yīng)于中斷信號(hào)的發(fā)生以及l(fā)egacy支持暫存器的設(shè)定根據(jù)中斷呼叫發(fā)出MSI,系統(tǒng)晶片組23即發(fā)出SMI至CPU。
CPU根據(jù)USB SMI23而進(jìn)入U(xiǎn)SB SMI處理程序28,執(zhí)行USB SMI處理程序所控制的步驟。在USB SMI處理程序28中,經(jīng)過(guò)檢查T(mén)D中的Bit23,即可判斷SMI的發(fā)生來(lái)源是為BIOS本身的工作框列表27的工作完成后所產(chǎn)生“0”,或系統(tǒng)中已有支持USB的作業(yè)系統(tǒng)接手,而此SMI為OS所生主控折工作框列表24的工作完成后所產(chǎn)生。當(dāng)SMI產(chǎn)生而B(niǎo)IOS所主控的數(shù)據(jù)中TD的Bit23仍然維持在1時(shí),表示此SMI非為BIOS所主控的工作框列表27工作完成而產(chǎn)生,即表示BIOS所主控的數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)已處理完畢,在BIOS主控下,并無(wú)新的傳輸工作需要完成。此時(shí)SMI之發(fā)生,因?yàn)橄到y(tǒng)中已有其他支持USB功能的作業(yè)系統(tǒng)或軟件接手主控權(quán)。此時(shí)即控制透過(guò)SMI處理程序,發(fā)出信號(hào)26,將晶片組23上legacysupport register的旗標(biāo)予以抑能,使得晶片組23不再因應(yīng)于工作完成所發(fā)生的中斷呼叫而發(fā)出SMI,抑制系統(tǒng)因USB之中斷呼叫進(jìn)入SMI處理程序28,解除沖突發(fā)生的可能,系統(tǒng)主控權(quán)即轉(zhuǎn)移至作業(yè)系統(tǒng)。
此時(shí),系統(tǒng)對(duì)USB傳輸?shù)奶幚矸绞郊锤鶕?jù)主控制器所發(fā)出的中斷呼叫而進(jìn)入作業(yè)系統(tǒng)或驅(qū)動(dòng)程序所對(duì)應(yīng)的中斷呼叫程序而進(jìn)行相關(guān)的數(shù)據(jù)處理。
以上程序的控制,數(shù)據(jù)處理系統(tǒng)檢查特定存儲(chǔ)區(qū)域中標(biāo)示數(shù)據(jù)是否經(jīng)過(guò)變更的旗標(biāo),以判斷數(shù)據(jù)實(shí)際存在的區(qū)域。在以上的例子中,特定存儲(chǔ)區(qū)域即為BIOS所控制的數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)經(jīng)過(guò)變更區(qū)域,其所對(duì)應(yīng)的程序,即為真正具有主控權(quán)者,藉此得判斷主控權(quán)的歸屬,并據(jù)此將人控制權(quán)部分的特定功能抑能,將主控權(quán)讓出,使得系統(tǒng)正常運(yùn)作。
本發(fā)明的較佳實(shí)施方式,以上程序,是通過(guò)在SMI處理程序中加入額外的步驟達(dá)到。請(qǐng)參見(jiàn)圖3。當(dāng)SMI事件發(fā)生,進(jìn)入SMI處理程序步驟31判斷是否為USB SMI。若為USB SMI,進(jìn)行步驟33;若非USB SMI,即進(jìn)行一般的SMI處理程序。
步驟33因應(yīng)其為USB SMI,判斷是否為BIOS所控制引發(fā)。若為BIOS所控制引發(fā),即進(jìn)行步驟34,進(jìn)行其他程序;并非BIOS所引發(fā),即進(jìn)行步驟35。
步驟35將BIOS支持USBR的功能抑能后,執(zhí)行其他程序。
藉此,即達(dá)成正確判斷系統(tǒng)主控權(quán),避免錯(cuò)誤動(dòng)作的發(fā)生。
本發(fā)明與現(xiàn)有技術(shù)相比具有如下效果本發(fā)明由于對(duì)數(shù)據(jù)處理系統(tǒng)主控權(quán)采取適當(dāng)仲裁的方式,使系統(tǒng)保持正常運(yùn)作,避免產(chǎn)生錯(cuò)誤動(dòng)作,解決了數(shù)據(jù)處理系統(tǒng)中基本輸出入系統(tǒng)與作業(yè)程序?qū)ο到y(tǒng)主控權(quán)沖突的問(wèn)題。
以上圖示與實(shí)施例僅作為例示說(shuō)明本發(fā)明較佳操作狀態(tài),而非欲對(duì)發(fā)明范圍造成限制。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁方法,用以供配合一存儲(chǔ)裝置以及一控制裝置使用;其特征在于,所述控制裝置工作于一第一控制模式與一第二控制模式之一;第一控制模式是控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行一特定程序;第二控制模式是控制裝置停止產(chǎn)生系統(tǒng)控制信號(hào);該方法包括以下步驟(1)存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,各存儲(chǔ)區(qū)域包括一數(shù)據(jù)緩沖區(qū),各存儲(chǔ)區(qū)域并記載一工作步驟;所述存儲(chǔ)區(qū)域必須包括一第一存付區(qū)域,第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū)以及記載一第一工作步驟;(2)執(zhí)行上述工作步驟之一;(3)因應(yīng)于完成該等工作步驟之一,發(fā)出中斷信號(hào);(4)因應(yīng)于接收所述中斷信號(hào),檢測(cè)所述存儲(chǔ)裝置的特定區(qū)域;(5)判斷特定區(qū)域的內(nèi)容;(6)因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的內(nèi)容經(jīng)過(guò)變更,控制所述控制裝置操作于第一控制模式;因應(yīng)于所述特定區(qū)域的內(nèi)容為指示第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的數(shù)據(jù)內(nèi)容未變更,控制所述控制裝置操作于第二控制模式。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁方法,其特征在于,所述中斷信號(hào)為所述數(shù)據(jù)處理系統(tǒng)的中斷呼叫,所述系統(tǒng)控制信號(hào)為數(shù)據(jù)處理系統(tǒng)的系統(tǒng)管理中斷呼叫,所述特定程序?yàn)橄到y(tǒng)管理中斷呼叫處理程序。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁方法,其特征在于,所述控制裝置為數(shù)據(jù)處理系統(tǒng)的系統(tǒng)晶片組。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制裝置支持USB功能。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述處理系統(tǒng)包括一主控制器,所述第一工作步驟為控制所述主控制器動(dòng)作程序的工作框列表。
6.一種數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置,包括一控制裝置、一存儲(chǔ)裝置,其特征在于,控制裝置工作于一第一控制模式以及一第二控制模式之一;第一控制模式是所述控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行一特定程序;第二控制模式是控制裝置停止產(chǎn)生所述系統(tǒng)控制信號(hào);所述主控權(quán)仲裁裝置控制數(shù)據(jù)處理系統(tǒng)執(zhí)行以下步驟(1)于存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,各該存儲(chǔ)區(qū)域包括一存儲(chǔ)緩沖區(qū),各存儲(chǔ)區(qū)域并記載一工作步驟;其中存儲(chǔ)區(qū)域必須包括一第一存儲(chǔ)區(qū)域,該第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū)以及記載一第一工作步驟;(2)執(zhí)行該等工作步驟之一;(3)因應(yīng)于完成所述工作步驟之一,發(fā)出中斷信號(hào);(4)因應(yīng)于接收該中斷信號(hào),檢測(cè)該存儲(chǔ)裝置的特定區(qū)域;(5)判斷特定區(qū)域的內(nèi)容;(6)因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的數(shù)據(jù)內(nèi)容經(jīng)過(guò)變更,控制該控制裝置操作于所述第一控制模式;因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一控制模式;因應(yīng)于特定區(qū)域的內(nèi)容為指示所述第一數(shù)據(jù)緩沖區(qū)所儲(chǔ)存的數(shù)據(jù)內(nèi)容未變更,控制所述控制裝置操作于所述第二控制模式。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置,其特征在于,所述中斷信號(hào)為數(shù)據(jù)處理系統(tǒng)中的中斷呼叫,系統(tǒng)控制信號(hào)為數(shù)據(jù)處理系統(tǒng)的系統(tǒng)管理中斷呼叫,所述特定程序?yàn)橄到y(tǒng)管理中斷呼叫處理程序。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述控制裝置為數(shù)據(jù)處理系統(tǒng)的系統(tǒng)晶片組。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述控制裝置支持USB功能。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述數(shù)據(jù)處理系統(tǒng)包括一主控制器,所述第一工作步驟為控制主控制器動(dòng)作程序的工作框列表。
11.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述存儲(chǔ)裝置為一基本輸出入系統(tǒng)只讀存儲(chǔ)器。
12.一種數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁方法,用以配合一存儲(chǔ)裝置與一基本輸出入系統(tǒng)使用;其特征在于,所述方法包括以下步驟(1)于所述存儲(chǔ)裝置保留一存儲(chǔ)區(qū)域;(2)因應(yīng)于程序支持USB功能,于存儲(chǔ)區(qū)域?qū)懭氪沓绦蛑С諹SB功能的內(nèi)容,用以供基本輸出輸入系統(tǒng)于執(zhí)行USB SMI服務(wù)程序時(shí),讀取存儲(chǔ)區(qū)域內(nèi)容,使得所述基本輸出入系統(tǒng)因應(yīng)于存儲(chǔ)區(qū)域內(nèi)容為代表程序支持USB功能的內(nèi)容,將所述基本輸出入系統(tǒng)支持USB的功能抑能。
13.一種數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁方法,用以供配合一存儲(chǔ)裝置、一控制裝置以及一主控制器使用;其特征在于,所述主控制器包括一起始地址暫存器,起始地址暫存器的內(nèi)容是指向一存儲(chǔ)地址;所述控制裝置工作于一第一控制模式與一第二控制模式之一;第一控制模式是控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制處理系統(tǒng)執(zhí)行一特定程序;第二控制模式是控制裝置停止產(chǎn)生系統(tǒng)控制信號(hào);該方法包括以下步驟(1)于所述存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,各存儲(chǔ)區(qū)域包括一數(shù)據(jù)緩沖區(qū),各該區(qū)域并記載一工作步驟;其中存儲(chǔ)區(qū)域必須包括一第一存儲(chǔ)區(qū)域,第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū)以及記載一第一工作步驟;(2)執(zhí)行所述工作步驟之一;(3)因應(yīng)于完成所述工作步驟之一,發(fā)出中斷信號(hào);(4)因應(yīng)于接收中斷信號(hào),讀取起始地址暫存器內(nèi)容;(5)因應(yīng)于所述存儲(chǔ)地址位于第一存儲(chǔ)區(qū)域的范圍,控制所述控制裝置操作于所述第一控制模式;因應(yīng)于存儲(chǔ)地址未落于第一存儲(chǔ)區(qū)域,控制所述控制裝置操作于第二控制模式。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述中斷信號(hào)為數(shù)據(jù)處理系統(tǒng)的中斷呼叫,所述系統(tǒng)控制信號(hào)為數(shù)據(jù)處理系統(tǒng)的管理中斷呼叫,所述特定程序?yàn)橄到y(tǒng)管理中斷呼叫處理程序。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述控制裝置為數(shù)據(jù)處理系統(tǒng)晶片組。
16.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述控制裝置支持USB功能。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述第一工作步驟為控制所述主控制器動(dòng)作程序的工作框列表。
18.一種數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置,用以供配合一存儲(chǔ)裝置、一控制裝置以及一主控制器;其特征在于,所述主控制器包括一起始地址暫存器,起始地址暫存器的內(nèi)容指向一存儲(chǔ)地址;所述控制裝置工作于一第一控制模式與第二控制模式之一;第一控制模式是該控制裝置因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行一特定程序;所述第二控制模式是該控制裝置停止產(chǎn)生所述系統(tǒng)控制信號(hào);該裝置控制數(shù)據(jù)處理系統(tǒng)執(zhí)行以下步驟(1)于所述存儲(chǔ)裝置劃分至少一存儲(chǔ)區(qū)域,各存儲(chǔ)區(qū)域包括一數(shù)據(jù)緩沖區(qū),各存儲(chǔ)區(qū)域并記載一工作步驟;其中該等存儲(chǔ)區(qū)域必須包括一第一存儲(chǔ)區(qū)域,第一存儲(chǔ)區(qū)域包括一第一數(shù)據(jù)緩沖區(qū)以及記載一第一工作步驟;(2)執(zhí)行所述工作步驟之一;(3)因應(yīng)于完成所述工作步驟之一,發(fā)出中斷信號(hào);(4)因應(yīng)于接收所述中斷信號(hào),讀取所述起始地址暫存器的內(nèi)容;(5)因應(yīng)于所述存儲(chǔ)地址位于所述第一存儲(chǔ)區(qū)域,控制所述控制裝置操作于所述第一控制模式;因應(yīng)于所述存儲(chǔ)地址未落于第一存儲(chǔ)區(qū)域的范圍,控制所述控制裝置操作于所述第二控制模式。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述中斷信號(hào)為數(shù)據(jù)處理系統(tǒng)的中斷呼叫,所述系統(tǒng)控制信號(hào)為所述數(shù)據(jù)處理系統(tǒng)的系統(tǒng)管理中斷呼叫,所述特定程序?yàn)橄到y(tǒng)管理中斷呼叫處理程序。
20.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述控制器為數(shù)據(jù)處理系統(tǒng)的系統(tǒng)晶片組。
21.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述控制裝置支持USB功能。
22.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述第一工作步驟為控制所述主控制器動(dòng)作程序的工作框列表。
23.根據(jù)權(quán)利要求18所述的數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置,其特征在于,所述存儲(chǔ)裝置為一基本輸出入系統(tǒng)只讀存儲(chǔ)器。
全文摘要
一種數(shù)據(jù)處理系統(tǒng)的主控權(quán)仲裁裝置與方法,供配合一存儲(chǔ)裝置及一控制裝置使用,控制裝置工作于第一、第二控制模式之一;第一模式是因應(yīng)于一中斷信號(hào)產(chǎn)生一系統(tǒng)控制信號(hào),以控制數(shù)據(jù)處理系統(tǒng)執(zhí)行一特定程序;第二模式是控制裝置停止產(chǎn)生系統(tǒng)控制信號(hào);在數(shù)據(jù)處理系統(tǒng)主控權(quán)重疊時(shí),藉由檢測(cè)存儲(chǔ)裝置或一主控制器的特定區(qū)域的內(nèi)容,根據(jù)其內(nèi)容判斷真正具有主控權(quán)的部分,控制該控制裝置工作于第一與第二控制模式之一,以確保系統(tǒng)的正常工作。
文檔編號(hào)G06F13/20GK1199894SQ9711241
公開(kāi)日1998年11月25日 申請(qǐng)日期1997年5月16日 優(yōu)先權(quán)日1997年5月16日
發(fā)明者李怡嫻, 楊金良, 廖世宏, 楊修宗 申請(qǐng)人:宏碁電腦股份有限公司