專利名稱:基于計(jì)算機(jī)pci總線的i/o端口的監(jiān)控方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于計(jì)算機(jī)PCI總線的I/O端口的監(jiān)控方法及裝置,尤其是對(duì)掛接在PCI總線上的設(shè)備的I/O端口進(jìn)行監(jiān)控,并對(duì)被監(jiān)控的I/O端口進(jìn)行有條件的操作限制的一種方法及監(jiān)控裝置。
眾所周知,計(jì)算機(jī)中的很多設(shè)備都是掛接在計(jì)算機(jī)系統(tǒng)總線上的,例如掛接在PCI總線上的網(wǎng)卡、顯卡、數(shù)據(jù)保護(hù)卡,另外,當(dāng)前計(jì)算機(jī)芯片組中的南橋芯片已經(jīng)集成了PC機(jī)的很多外圍I/O設(shè)備,例如RTC實(shí)時(shí)時(shí)鐘和CMOS RAM、IDE控制器、定時(shí)器、DMA控制器等,雖然被集成在南橋芯片內(nèi)部,但實(shí)際上這類設(shè)備仍然相當(dāng)于掛接在系統(tǒng)總線上。以VIA威盛公司的南橋芯片VT82C686B為例,其集成了RTC、CMOS RAM、IDE等設(shè)備,整個(gè)南橋芯片掛接在PCI總線上,處理器CPU則通過(guò)北橋芯片VT82C694X與PCI總線通訊,當(dāng)程序需要存取CMOS RAM時(shí),處理器通過(guò)北橋芯片在PCI總線上發(fā)出I/O操作命令,此時(shí)所有掛接在PCI總線上的設(shè)備均可以接受到該命令,而只有南橋芯片中的CMOS RAM在接受到該命令時(shí),在PCI總線上作出回應(yīng)并被北橋芯片傳遞給處理器。Intel英特爾公司的一些南橋芯片,例如I82801BA則通過(guò)HUB Interface專用接口與北橋芯片I82815通訊,北橋芯片不直接連接PCI總線,處理器通過(guò)北橋芯片、再通過(guò)專用接口、最后通過(guò)南橋芯片與PCI總線通訊,當(dāng)處理器存取IDE控制器時(shí),南橋芯片有可能直接作出回應(yīng),而不再將操作發(fā)送到PCI總線上,但對(duì)于存取CMOS RAM的操作,南橋芯片將該I/O操作命令發(fā)送到PCI總線上,當(dāng)然,最后還是南橋芯片集成的CMOS RAM自己作出回應(yīng)。
在實(shí)際應(yīng)用中,有時(shí)我們需要監(jiān)控某個(gè)設(shè)備的I/O操作甚至限制其中的一些操作。例如,當(dāng)前的CMOS主要用于保存計(jì)算機(jī)的參數(shù)設(shè)置,包括工作方式、系統(tǒng)密碼等,這些參數(shù)比較重要,通常情況下,操作系統(tǒng)只是讀取參數(shù),而B(niǎo)IOS則可以讀取或者改寫(xiě)參數(shù),但在學(xué)校等公用機(jī)房中的計(jì)算機(jī)上,個(gè)別操作者有可能修改CMOS,甚至加上開(kāi)機(jī)密碼,使得其它人無(wú)法正常使用,所以有必要鎖定CMOS中的數(shù)據(jù),即在設(shè)定好CMOS數(shù)據(jù)后禁止未授權(quán)的修改;對(duì)于硬盤(pán)及硬盤(pán)中的數(shù)據(jù)也存在類似的情況,費(fèi)時(shí)費(fèi)力安裝好的軟件很容易被實(shí)驗(yàn)者和惡意破壞者損壞,所以要對(duì)硬盤(pán)中的數(shù)據(jù)加以保護(hù),當(dāng)然,只要對(duì)硬盤(pán)局部的數(shù)據(jù)例如操作系統(tǒng)部分加以保護(hù)就可以了,而不必完全防止數(shù)據(jù)寫(xiě)入。目前針對(duì)上述問(wèn)題的解決主要有一些軟件方案,例如數(shù)據(jù)保護(hù)卡、硬盤(pán)還原卡,對(duì)于CMOS的保護(hù),可以設(shè)定一個(gè)定時(shí)中斷,每隔幾十毫秒讀取CMOS數(shù)據(jù),與備份數(shù)據(jù)比較看是否被修改,如果被修改則恢復(fù),很明顯這樣的方式效率很低,影響了系統(tǒng)性能,并且不能防止在禁止中斷后的修改以及修改后立即復(fù)位的情況;對(duì)于硬盤(pán)數(shù)據(jù)保護(hù),如果破壞者使用硬盤(pán)IO操作命令對(duì)IDE端口直接進(jìn)行控制,因?yàn)闆](méi)有辦法事先對(duì)這類非授權(quán)IO操作加以阻攔,所以就很難加以防范??紤]到這類非授權(quán)IO操作的實(shí)際情況,管理人員希望有一種方法能夠監(jiān)控并且有條件地阻止IO端口操作,作為上述軟件方案的替代方法或者輔助方法。
本發(fā)明的目的是,提供一種基于PCI總線的監(jiān)控I/O端口操作的方法及裝置。
本發(fā)明的技術(shù)構(gòu)思主要基于PCI總線規(guī)范(PCI Local Bus Specification)考慮到一般的PCI設(shè)備為中速譯碼(Medium DEVSEL#timing,Medium Decode),即在發(fā)起操作的主設(shè)備(Master)發(fā)出操作命令、PCI總線地址周期后隔一個(gè)時(shí)鐘周期,與該地址相匹配的PCI設(shè)備才通過(guò)有效DEVSEL#來(lái)聲明自己被選中(Device Select),然后進(jìn)行相應(yīng)的操作,所以我們可以在與被監(jiān)控I/O端口相同的端口地址上進(jìn)行監(jiān)聽(tīng),并且采用快速譯碼方式,搶在中速譯碼的被監(jiān)控I/O端口執(zhí)行操作前,強(qiáng)行取消非授權(quán)的I/O端口操作,取消操作的方法可以采用PCI總線規(guī)范中所定義的目標(biāo)失敗(Target Abort)。
實(shí)現(xiàn)本發(fā)明的技術(shù)方案是將一個(gè)硬件監(jiān)控裝置掛接在PCI總線上,該裝置內(nèi)部使用快速譯碼(Fast DEVSEL#Decode Timing)方式;該裝置在與被監(jiān)控I/O端口相同的端口地址上對(duì)I/O操作進(jìn)行監(jiān)聽(tīng);該裝置對(duì)被監(jiān)控I/O端口的當(dāng)前I/O操作進(jìn)行篩選,如果檢測(cè)到未經(jīng)授權(quán)的I/O操作,則立即產(chǎn)生目標(biāo)失敗(Target Abort)信號(hào),否則忽略當(dāng)前的I/O操作。
上述方案中的硬件監(jiān)控裝置,具有一個(gè)標(biāo)準(zhǔn)PCI總線I/O設(shè)備所應(yīng)該有的PCI總線狀態(tài)機(jī)、地址譯碼、命令譯碼等部分,但不需要I/O設(shè)備的執(zhí)行部分。該監(jiān)控裝置與PCI總線相連接的引腳至少包括RST#,CLK,AD[31∶0],C/BE[3∶0]#,F(xiàn)RAME#,STOP#,其中,RST#和CLK為系統(tǒng)復(fù)位信號(hào)和時(shí)鐘信號(hào),AD為地址或數(shù)據(jù)的復(fù)用信號(hào),C/BE為命令或字節(jié)使能信號(hào),F(xiàn)RAME#用于指示一個(gè)操作周期的起始,STOP#為用于產(chǎn)生目標(biāo)失敗信號(hào);在實(shí)際應(yīng)用時(shí),通常還需要下列引腳PAR,IRDY#,TRDY#,DEVSEL#,IDSEL,這些引腳主要用于系統(tǒng)通過(guò)PCI總線識(shí)別并配置該硬件監(jiān)控裝置。在該監(jiān)控裝置內(nèi)部設(shè)定對(duì)所監(jiān)聽(tīng)的I/O端口地址使用PCI總線規(guī)范所定義的快速譯碼,也就是在檢測(cè)到FRAME#變?yōu)橛行r(shí),對(duì)C/BE引腳上的操作命令進(jìn)行命令譯碼,過(guò)濾掉非I/O操作,并對(duì)AD引腳上的地址進(jìn)行地址譯碼,確定當(dāng)前I/O操作的端口地址是否與被監(jiān)控的I/O端口地址相匹配;如果地址匹配則該硬件裝置進(jìn)入一個(gè)偽I/O操作狀態(tài),但不驅(qū)動(dòng)DEVSEL#和TRDY#及其它任何信號(hào),在偽I/O操作狀態(tài)中對(duì)當(dāng)前的I/O操作進(jìn)行具體過(guò)濾,篩選出未經(jīng)授權(quán)的I/O操作。例如事先設(shè)定對(duì)CMOS數(shù)據(jù)端口71H進(jìn)行寫(xiě)保護(hù),則在進(jìn)入71H端口寫(xiě)操作的偽I/O操作狀態(tài)后立即產(chǎn)生目標(biāo)失?。蝗绻孪仍O(shè)定IDE命令端口1F7H不對(duì)數(shù)據(jù)30H作出反應(yīng)(30H是IDE硬盤(pán)的寫(xiě)命令代碼),則在進(jìn)入1F7H端口寫(xiě)操作的偽I/O操作狀態(tài)后,在IRDY#有效時(shí)對(duì)AD上的數(shù)據(jù)進(jìn)行比較,如果是30H則產(chǎn)生目標(biāo)失敗或重試,否則忽略當(dāng)前操作。
上述方案中的目標(biāo)失敗(Target Abort),根據(jù)PCI總線規(guī)范,是指有效STOP#信號(hào)而無(wú)效DEVSEL#和TRDY#信號(hào),指示本次I/O操作的目標(biāo)設(shè)備無(wú)法完成本次操作。理論上,目標(biāo)失敗是由目標(biāo)設(shè)備根據(jù)需要自行發(fā)出的,本發(fā)明的精髓之處,就是通過(guò)獨(dú)立的監(jiān)控裝置監(jiān)聽(tīng)目標(biāo)設(shè)備的I/O操作,并根據(jù)需要強(qiáng)行替目標(biāo)設(shè)備發(fā)出目標(biāo)失敗信號(hào)。因?yàn)镻CI總線的STOP#是總線上各設(shè)備共用的,所以發(fā)起本次I/O操作的主設(shè)備(Master)不知道這是另一個(gè)設(shè)備發(fā)出的信號(hào),在檢測(cè)到目標(biāo)失敗后,主設(shè)備決定放棄本次操作;雖然目標(biāo)失敗不是I/O端口被監(jiān)控的真實(shí)I/O目標(biāo)設(shè)備發(fā)出的,但按照PCI總線規(guī)范,因?yàn)橹髟O(shè)備無(wú)效FRAME#和IRDY#以放棄一個(gè)操作,目標(biāo)設(shè)備也只能被動(dòng)放棄操作,從而取消了一次未經(jīng)授權(quán)的I/O操作。為了能夠產(chǎn)生目標(biāo)失敗,監(jiān)控裝置應(yīng)該使用快速譯碼,使得如果需要有效STOP#信號(hào)時(shí),能夠先于被監(jiān)控I/O端口有效DEVSEL#信號(hào);如果STOP#信號(hào)未能先于DEVSEL#信號(hào)有效,則目標(biāo)失敗信號(hào)變?yōu)橹卦囆盘?hào),即要求主設(shè)備重試,這樣有可能在重試計(jì)數(shù)結(jié)束后放棄操作,也有可能一直重試下去,但都能阻止未經(jīng)授權(quán)的I/O操作。
在具體實(shí)施上,上述技術(shù)方案體現(xiàn)在一個(gè)集成的PCI總線I/O監(jiān)控芯片中,或?qū)?biāo)準(zhǔn)的PCI總線控制芯片進(jìn)行修改,使之對(duì)與被監(jiān)控I/O端口相同的端口地址作譯碼匹配,可以是固化的監(jiān)控I/O端口地址,或者是可設(shè)定的地址,芯片具有STOP#信號(hào)引腳,使之能夠發(fā)出目標(biāo)失敗信號(hào),芯片具有DEVSEL#、TRDY#、IRDY#、IDSEL等信號(hào)引腳,用于系統(tǒng)識(shí)別和配置,但在被監(jiān)控I/O端口的操作過(guò)程中,決不聲明除STOP#以外的上述信號(hào)。
基于本發(fā)明的技術(shù)方案,可以方便地對(duì)某些I/O設(shè)備進(jìn)行有條件的操作限制,作為數(shù)據(jù)保護(hù)裝置的替代方案或者輔助方案,避免了軟件方案的不完善和低效率。
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
圖1為本發(fā)明的應(yīng)用環(huán)境的示意圖。
圖2為本發(fā)明技術(shù)方案的PCI總線的時(shí)序圖。
圖3為本發(fā)明技術(shù)方案的I/O端口監(jiān)控的流程圖。
圖4為基于本發(fā)明技術(shù)方案的PCI總線I/O監(jiān)控裝置的電路組成框圖。
見(jiàn)圖1,發(fā)起操作的主設(shè)備(4)、被監(jiān)控的目標(biāo)設(shè)備(3)以及監(jiān)控裝置(2)都掛接在PCI總線(1)上,主設(shè)備與目標(biāo)設(shè)備在PCI總線上進(jìn)行通訊,監(jiān)控裝置能夠從PCI總線上監(jiān)聽(tīng)到由主設(shè)備發(fā)起的對(duì)目標(biāo)設(shè)備的所有I/O操作。因?yàn)檫@些設(shè)備都是以并聯(lián)方式掛接到PCI總線上的(并不是所有信號(hào)線都是公用的,例如IDSEL信號(hào)線,但與本發(fā)明沒(méi)有直接關(guān)系,不需要考慮),所以如果主設(shè)備發(fā)起操作后接收到回應(yīng),它并不能直接判斷是由目標(biāo)設(shè)備返回的還是監(jiān)控裝置返回的。
見(jiàn)圖2,PCI總線以CLK的上升沿進(jìn)行同步操作,C/BE#和FRAME#、IRDY#由主設(shè)備驅(qū)動(dòng),DEVSEL#和TRDY#由目標(biāo)設(shè)備驅(qū)動(dòng),STOP#由監(jiān)控裝置驅(qū)動(dòng),有些目標(biāo)設(shè)備也有STOP#引腳,但通常只在譯碼完成或操作進(jìn)行后驅(qū)動(dòng),AD由主設(shè)備或目標(biāo)設(shè)備驅(qū)動(dòng)。
見(jiàn)圖2,時(shí)鐘周期11至16為進(jìn)行授權(quán)的I/O讀操作時(shí)的時(shí)序圖。在時(shí)鐘周期11,主設(shè)備決定發(fā)起操作;在時(shí)鐘周期12,主設(shè)備驅(qū)動(dòng)命令數(shù)據(jù)到C/BE#和地址數(shù)據(jù)到AD,同時(shí)驅(qū)動(dòng)FRAME#有效,目標(biāo)設(shè)備和監(jiān)控裝置都檢測(cè)到主設(shè)備發(fā)起的操作,經(jīng)命令譯碼和地址譯碼,監(jiān)控裝置確定是指向目標(biāo)設(shè)備的已授權(quán)的I/O讀操作,所以忽略;在時(shí)鐘周期13,經(jīng)命令譯碼和地址譯碼,目標(biāo)設(shè)備確定是指向自身的I/O讀操作;在時(shí)鐘周期14,目標(biāo)設(shè)備驅(qū)動(dòng)DEVSEL#有效,同時(shí)檢測(cè)到主設(shè)備驅(qū)動(dòng)的IRDY#有效,準(zhǔn)備進(jìn)行數(shù)據(jù)傳輸;在時(shí)鐘周期15,目標(biāo)設(shè)備驅(qū)動(dòng)數(shù)據(jù)到AD,同時(shí)驅(qū)動(dòng)TRDY#有效,主設(shè)備接收到這個(gè)I/O讀操作返回的數(shù)據(jù);在時(shí)鐘周期16,目標(biāo)設(shè)備驅(qū)動(dòng)奇偶校驗(yàn)信號(hào)到PAR,圖中被略去。
見(jiàn)圖2,時(shí)鐘周期21至25為進(jìn)行未授權(quán)的I/O寫(xiě)操作時(shí)的時(shí)序圖。在時(shí)鐘周期21,主設(shè)備決定發(fā)起操作;在時(shí)鐘周期22,主設(shè)備驅(qū)動(dòng)命令數(shù)據(jù)到C/BE#和地址數(shù)據(jù)到AD,同時(shí)驅(qū)動(dòng)FRAME#有效,目標(biāo)設(shè)備和監(jiān)控裝置檢測(cè)到主設(shè)備發(fā)起的操作,經(jīng)命令譯碼和地址譯碼,監(jiān)控裝置確定是指向目標(biāo)設(shè)備的未授權(quán)的I/O寫(xiě)操作;在時(shí)鐘周期23,監(jiān)控裝置驅(qū)動(dòng)STOP#有效,以發(fā)出目標(biāo)失敗信號(hào),此時(shí)主設(shè)備已經(jīng)驅(qū)動(dòng)待寫(xiě)數(shù)據(jù)到AD,但檢測(cè)到STOP#有效,確定是目標(biāo)失敗,同時(shí),經(jīng)命令譯碼和地址譯碼,目標(biāo)設(shè)備確定是指向自身的I/O寫(xiě)操作;在時(shí)鐘周期24,主設(shè)備無(wú)效IRDY#,以放棄本次操作,監(jiān)控裝置無(wú)效STOP#,同時(shí),目標(biāo)設(shè)備驅(qū)動(dòng)DEVSEL#有效,但因?yàn)闄z測(cè)到主設(shè)備已經(jīng)無(wú)效IRDY#,所以決定放棄本次操作;在時(shí)鐘周期15,主設(shè)備、目標(biāo)設(shè)備以及監(jiān)控設(shè)備均已放棄本次操作。
見(jiàn)圖3,這是I/O端口監(jiān)控的流程圖,其中步驟61是對(duì)I/O操作進(jìn)行最終匹配,如果事先設(shè)定是對(duì)被監(jiān)控I/O端口完全寫(xiě)保護(hù),則僅比較I/O方向(實(shí)際上對(duì)I/O方向的檢測(cè)在命令譯碼階段完成,即鎖存PCI總線的C/BE
#信號(hào)),如果確定是寫(xiě)操作則比較結(jié)果為匹配,從而聲明目標(biāo)失敗。實(shí)際情況中,監(jiān)控裝置由硬件構(gòu)成,所以該流程圖主要用于控制PCI總線狀態(tài)機(jī)。
見(jiàn)圖4,在這個(gè)電路組成框圖中,PCI總線狀態(tài)機(jī)(51)參考了圖3中所描述的流程圖,根據(jù)輸入的FRAME#、IRDY#以及I/O端口操作控制信號(hào)、特征比較匹配信號(hào),確定當(dāng)前總線狀態(tài)和操作狀態(tài);命令譯碼(52)譯出I/O操作命令,地址譯碼(53)根據(jù)被監(jiān)控I/O端口的特征(55)譯出I/O端口地址匹配信號(hào),兩者經(jīng)與門(mén)(54)后輸出對(duì)I/O端口操作的控制信號(hào),使PCI總線狀態(tài)機(jī)(51)進(jìn)入偽I/O操作狀態(tài);特征比較(56)根據(jù)被監(jiān)控I/O端口的特征(55)比較當(dāng)前I/O操作的方向、數(shù)據(jù)等,如果特征匹配,則PCI總線狀態(tài)機(jī)(51)控制與門(mén)(57)輸出有效的STOP#信號(hào),聲明目標(biāo)失敗。因?yàn)镾TOP#信號(hào)定義為低電平有效,所以這里的與門(mén)(57)實(shí)際上應(yīng)該是一個(gè)“與非門(mén)”。
見(jiàn)圖4,以監(jiān)控CMOS的數(shù)據(jù)端口,防止向CMOS寫(xiě)入數(shù)據(jù)為例,命令譯碼(52)譯出I/O操作命令,地址譯碼(53)譯出71H端口地址(實(shí)際應(yīng)用中,還要同時(shí)監(jiān)控CMOS數(shù)據(jù)端口地址71H的所有別名地址73H、75H、77H,以防止通過(guò)別名地址執(zhí)行未授權(quán)操作),與門(mén)(54)輸出CMOS數(shù)據(jù)端口的寫(xiě)操作信號(hào),特征比較(56)如果檢測(cè)到當(dāng)前操作為I/O寫(xiě)操作,則PCI總線狀態(tài)機(jī)(51)控制與門(mén)(57)輸出有效的STOP#信號(hào),以指示目標(biāo)失敗。作為進(jìn)一步的應(yīng)用,可以對(duì)CMOS中某部分區(qū)域進(jìn)行寫(xiě)保護(hù),例如保護(hù)CMOS數(shù)據(jù)單元中40H地址以下的區(qū)域,方法是,在I/O監(jiān)控過(guò)程中,同時(shí)記憶最近一次CMOS地址索引端口70H中的內(nèi)容,并在CMOS數(shù)據(jù)端口的偽I/O操作狀態(tài)下,對(duì)CMOS地址索引端口的內(nèi)容進(jìn)行特征比較,如果地址索引值小于40H則對(duì)CMOS數(shù)據(jù)端口寫(xiě)操作聲明目標(biāo)失敗,否則允許寫(xiě)操作,從而保護(hù)40H地址以下的CMOS數(shù)據(jù)。另外,為了允許臨時(shí)授權(quán)的I/O操作,可以在監(jiān)控裝置中設(shè)定一個(gè)密碼校驗(yàn)電路和控制單元,在授權(quán)密碼校驗(yàn)正確時(shí),控制單元禁止目標(biāo)失敗動(dòng)作,或者禁止I/O監(jiān)控,而在密碼校驗(yàn)錯(cuò)誤時(shí)允許目標(biāo)失敗。這些都是基于本發(fā)明的應(yīng)用,并且在具體實(shí)施上可以在本發(fā)明技術(shù)方案的框架下作一些局部的改動(dòng),或針對(duì)某個(gè)被監(jiān)控I/O設(shè)備作出更簡(jiǎn)潔的監(jiān)控裝置。
權(quán)利要求
1.基于PCI總線的I/O端口的一種監(jiān)控方法,其特征是將監(jiān)控裝置與I/O端口被監(jiān)控的目標(biāo)設(shè)備一起并聯(lián)掛接在PCI總線上;該裝置在與被監(jiān)控I/O端口相同的端口地址上對(duì)I/O操作進(jìn)行監(jiān)聽(tīng);該裝置通過(guò)目標(biāo)失敗或重試信號(hào)取消對(duì)被監(jiān)控I/O端口的未經(jīng)授權(quán)的I/O操作。
2.根據(jù)權(quán)利要求1所述的監(jiān)控方法,其特征是監(jiān)控裝置對(duì)被監(jiān)控的I/O端口地址使用快速譯碼方式。
3.根據(jù)權(quán)利要求1所述的監(jiān)控方法,其特征是監(jiān)控裝置通過(guò)驅(qū)動(dòng)PCI總線的STOP#到有效,而指示一個(gè)目標(biāo)失敗信號(hào)。
4.根據(jù)權(quán)利要求1所述的監(jiān)控方法,其特征是目標(biāo)設(shè)備是CMOS RAM,被監(jiān)控的I/O端口是CMOS RAM的數(shù)據(jù)端口,其地址為71H(別名地址73H、75H、77H)。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的監(jiān)控方法,其特征是主設(shè)備發(fā)起一個(gè)新的I/O操作時(shí),目標(biāo)設(shè)備和監(jiān)控裝置在命令譯碼和地址譯碼均匹配后,目標(biāo)設(shè)備進(jìn)入真正的I/O操作狀態(tài),而監(jiān)控裝置則進(jìn)入偽I/O操作狀態(tài),在此狀態(tài)下,監(jiān)控裝置不驅(qū)動(dòng)除STOP#外的任何PCI總線的信號(hào)。
6.基于PCI總線的I/O端口的一種監(jiān)控裝置,其特征是監(jiān)控裝置與I/O端口被監(jiān)控的目標(biāo)設(shè)備一起并聯(lián)掛接在PCI總線上;監(jiān)控裝置在與被監(jiān)控I/O端口相同的端口地址上對(duì)I/O操作的地址進(jìn)行譯碼監(jiān)控裝置具有STOP#引腳,內(nèi)部包括PCI總線狀態(tài)機(jī)、命令譯碼、地址譯碼、特征比較,STOP#引腳是下述4個(gè)狀態(tài)的“與”P(pán)CI總線狀態(tài)機(jī)的偽I/O操作狀態(tài)、命令譯碼的I/O操作狀態(tài)、地址譯碼的地址匹配狀態(tài)、特征比較的匹配狀態(tài),即在上述4個(gè)狀態(tài)有效時(shí),監(jiān)控裝置驅(qū)動(dòng)STOP#信號(hào)有效。
全文摘要
本發(fā)明是一種對(duì)基于計(jì)算機(jī)PCI總線的I/O端口進(jìn)行監(jiān)控的方法及裝置。掛接在計(jì)算機(jī)PCI總線(1)上的目標(biāo)設(shè)備(3),其I/O端口在PCI總線上具有獨(dú)占的地址;本發(fā)明的方法是在PCI總線上掛接一個(gè)監(jiān)控裝置(2),具有與被監(jiān)控I/0端口相同的端口地址,本身不實(shí)現(xiàn)I/O端口的數(shù)據(jù)輸入輸出,而只是監(jiān)控處于同一地址的被監(jiān)控I/O端口所進(jìn)行的I/O操作;該裝置在檢測(cè)到指定條件時(shí),搶在被監(jiān)控I/O端口進(jìn)行數(shù)據(jù)傳輸前,向發(fā)起本次操作的PCI主設(shè)備(4)發(fā)出目標(biāo)失敗信號(hào),強(qiáng)行取消本次操作,從而實(shí)現(xiàn)有目的地監(jiān)控。
文檔編號(hào)G06F11/30GK1474273SQ02138079
公開(kāi)日2004年2月11日 申請(qǐng)日期2002年8月8日 優(yōu)先權(quán)日2002年8月8日
發(fā)明者尹啟鳳 申請(qǐng)人:尹啟鳳