一種pci橋次級總線復(fù)位的緩沖排空方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及計(jì)算機(jī)外圍系統(tǒng)的軟復(fù)位功能的硬件實(shí)現(xiàn),更具體地說,本發(fā)明涉及一種PCl橋次級總線復(fù)位的緩沖排空方法。
【背景技術(shù)】
[0002]目前計(jì)算機(jī)外圍系統(tǒng)中PCI總線廣泛應(yīng)用,PCI總線規(guī)范已成計(jì)算機(jī)系統(tǒng)外圍互連總線事實(shí)上的標(biāo)準(zhǔn),幾乎所有的商業(yè)級或者工業(yè)級的計(jì)算機(jī)生產(chǎn)廠商都在其計(jì)算機(jī)系統(tǒng)中提供標(biāo)準(zhǔn)的PCI總線。
[0003]計(jì)算機(jī)1系統(tǒng)的軟復(fù)位功能大多基于某個1設(shè)備實(shí)現(xiàn),沒有出現(xiàn)基于PCI橋次級總線復(fù)位實(shí)現(xiàn)的軟復(fù)位功能,這是因?yàn)镻CI橋次級總線復(fù)位的使用要求PCI橋的次級總線端所有邏輯和請求緩沖必須清空。
[0004]其中,PCI規(guī)范定義的請求包括P請求(Posted Requests)、NP請求(Non-PostedRequests)、CPL請求(Complet1ns);這三類請求在軟復(fù)位執(zhí)行后必須完全清空,并且不會因?yàn)閺?fù)位之前有NP請求發(fā)出,復(fù)位后這個NP請求的對應(yīng)的CPL請求返回時(shí)無法路由而導(dǎo)致整個計(jì)算機(jī)外圍系統(tǒng)掛死,這對于橋的復(fù)位邏輯設(shè)計(jì)是一個挑戰(zhàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)中存在上述缺陷,為了保證PCI橋次級總線復(fù)位時(shí)PCI橋的次級總線端所有邏輯和緩沖必須清空,而提供了一種對PCI次級總線端三類請求邏輯及其緩沖獨(dú)立管理的方法,解決了次級總線端邏輯復(fù)位和緩沖清空問題。
[0006]為了實(shí)現(xiàn)上述技術(shù)目的,根據(jù)本發(fā)明,提供了一種PCI橋次級總線復(fù)位的緩沖排空方法,其特征在于包括:在PCI橋收到上層系統(tǒng)的PCI橋次級總線復(fù)位命令后,使得PCI橋次級總線端的所有邏輯復(fù)位。
[0007]優(yōu)選地,在PCI橋收到上層系統(tǒng)的PCI橋次級總線復(fù)位命令后,使得PCI橋的PCI配置寄存器中的三級總線寄存器不復(fù)位,而且使得該三級總線寄存器只接收系統(tǒng)上電復(fù)位控制,同時(shí)使得PCI橋的CPL請求接收緩沖只接收上電復(fù)位控制,并且使得PCI橋次級總線端的接收向量仲裁器在復(fù)位期間不仲裁任何請求。
[0008]優(yōu)選地,PCI橋的PCI配置寄存器中的三級總線寄存器不復(fù)位,從而保留三級總線寄存器中的橋三級總線號。
[0009]優(yōu)選地,所述所有邏輯包括PCI總線接口、次級總線以下的所有設(shè)備、所有緩沖、次級總線端的所有控制狀態(tài)機(jī)、以及次級總線端及以下的PCI配置寄存器和設(shè)備空限制寄存器。
[0010]本發(fā)明的主要有益效果在于,計(jì)算機(jī)系統(tǒng)可以基于標(biāo)準(zhǔn)的PCI規(guī)范規(guī)定的PCI橋的次級總線復(fù)位功能實(shí)現(xiàn)安全有效的外圍系統(tǒng)軟復(fù)位。
【附圖說明】
[0011]結(jié)合附圖,并通過參考下面的詳細(xì)描述,將會更容易地對本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點(diǎn)和特征,其中:
[0012]圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的PCI橋次級總線復(fù)位的緩沖排空方法的流程圖。
[0013]需要說明的是,附圖用于說明本發(fā)明,而非限制本發(fā)明。注意,表示結(jié)構(gòu)的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標(biāo)有相同或者類似的標(biāo)號。
【具體實(shí)施方式】
[0014]為了使本發(fā)明的內(nèi)容更加清楚和易懂,下面結(jié)合具體實(shí)施例和附圖對本發(fā)明的內(nèi)容進(jìn)行詳細(xì)描述。
[0015]本發(fā)明提供了一種基于PCI橋次級總線復(fù)位的系統(tǒng)軟復(fù)位硬件實(shí)現(xiàn)方法,通過PCI三類請求緩沖獨(dú)立管理,確保硬件上PCI橋次級總線以下的所有設(shè)備和緩沖,特別是次級總線以下設(shè)備的請求的CPL通路,在次級總線復(fù)位后可以重新開始正常運(yùn)行。
[0016]如圖1所示,在本發(fā)明優(yōu)選實(shí)施例的PCI橋次級總線復(fù)位的緩沖排空方法中,在PCI橋收到上層系統(tǒng)的PCI橋次級總線復(fù)位命令后,使得PCI橋次級總線端的所有邏輯(例如,包括PCI總線接口、次級總線以下的所有設(shè)備、所有緩沖、次級總線端的所有控制狀態(tài)機(jī),以及次級總線端及以下的PCI配置寄存器和設(shè)備空限制寄存器)復(fù)位,但是PCI橋的PCI配置寄存器中的三級總線寄存器(一般用typel_reg6表示)不復(fù)位(由此保留三級總線寄存器中的橋三級總線號),該三級總線寄存器只接收系統(tǒng)上電復(fù)位控制,同時(shí)PCI橋的CPL請求接收緩沖只接收上電復(fù)位控制,并且PCI橋次級總線端的接收向量仲裁器在復(fù)位期間不仲裁任何請求。
[0017]在采用了上述設(shè)計(jì)方案后,PCI的三類請求(P請求、NP請求、CPL請求)的邏輯及其緩沖在PCI橋次級總線復(fù)位時(shí)都能夠?qū)崿F(xiàn)完整切割,從而實(shí)現(xiàn)系統(tǒng)軟復(fù)位的如下功能:
[0018]1.接收P請求,因?yàn)榻邮誔請求由系統(tǒng)發(fā)出,系統(tǒng)不會在置軟復(fù)位時(shí)發(fā)出;
[0019]2.接收NP請求和發(fā)送CPL請求,因?yàn)榻邮誑P請求由系統(tǒng)發(fā)出,系統(tǒng)會保證所有NP請求都完成,或者不再需要完成時(shí)置軟復(fù)位;
[0020]3.發(fā)送P請求,即當(dāng)設(shè)備DMA寫請求在進(jìn)行中時(shí),系統(tǒng)置軟復(fù)位,DMA寫中斷,所有相關(guān)邏輯復(fù)位,不會對外圍系統(tǒng)的正常運(yùn)行產(chǎn)生副作用;
[0021]4.發(fā)送NP請求和接收CPL請求,即當(dāng)設(shè)備DMA讀請求在進(jìn)行中時(shí),系統(tǒng)置軟復(fù)位,DMA讀中斷,所有相關(guān)邏輯復(fù)位,但是已經(jīng)發(fā)出去的讀請求的響應(yīng)會返回到橋,由于橋的配置空間已經(jīng)被復(fù)位,橋需要的用于CPL路由的橋三級總線號如果被清0,則導(dǎo)致復(fù)位之后到達(dá)橋的所有DMA讀響應(yīng)都被橋以故障終結(jié),從而導(dǎo)致復(fù)位之后的CPL包不能在接收方落地,無法釋放信用,CPL通路掛死并最終導(dǎo)致整個計(jì)算機(jī)外圍系統(tǒng)掛死。而在本發(fā)明中,在系統(tǒng)置軟復(fù)位時(shí)橋三級總線號不復(fù)位,那么在上述場景下所有CPL請求在系統(tǒng)置軟復(fù)位后依然可以被路由到橋的CPL請求緩沖,并且被最終丟棄,保證了這種場景下CPL通路的正常。
[0022]本發(fā)明通過PCI三類請求緩沖獨(dú)立管理,確保硬件上PCI橋次級總線以下的所有設(shè)備和緩沖在次級總線復(fù)位后可以重新開始正常運(yùn)行。其中,在次級總線以下的設(shè)備發(fā)出讀請求后,如果系統(tǒng)置復(fù)位,之前設(shè)備讀請求對應(yīng)的CPL請求返回到次級總線時(shí),次級總線不會因?yàn)檫壿嫳粡?fù)位而不接收CPL請求,而是接收請求并丟棄,從而保證CPL通路能夠重新開始正常運(yùn)轉(zhuǎn)。
[0023]需要說明的是,除非特別說明或者指出,否則說明書中的術(shù)語“第一”、“第二”、“第三”等描述僅僅用于區(qū)分說明書中的各個組件、元素、步驟等,而不是用于表示各個組件、元素、步驟之間的邏輯關(guān)系或者順序關(guān)系等。
[0024]可以理解的是,雖然本發(fā)明已以較佳實(shí)施例披露如上,然而上述實(shí)施例并非用以限定本發(fā)明。對于任何熟悉本領(lǐng)域的技術(shù)人員而言,在不脫離本發(fā)明技術(shù)方案范圍情況下,都可利用上述揭示的技術(shù)內(nèi)容對本發(fā)明技術(shù)方案作出許多可能的變動和修飾,或修改為等同變化的等效實(shí)施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對以上實(shí)施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術(shù)方案保護(hù)的范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種PCI橋次級總線復(fù)位的緩沖排空方法,其特征在于包括:在PCI橋收到上層系統(tǒng)的PCI橋次級總線復(fù)位命令后,使得PCI橋次級總線端的所有邏輯復(fù)位。2.根據(jù)權(quán)利要求1所述的PCI橋次級總線復(fù)位的緩沖排空方法,其特征在于,在PCI橋收到上層系統(tǒng)的PCI橋次級總線復(fù)位命令后,使得PCI橋的PCI配置寄存器中的三級總線寄存器不復(fù)位,而且使得該三級總線寄存器只接收系統(tǒng)上電復(fù)位控制,同時(shí)使得PCI橋的CPL請求接收緩沖只接收上電復(fù)位控制,并且使得PCI橋次級總線端的接收向量仲裁器在復(fù)位期間不仲裁任何請求。3.根據(jù)權(quán)利要求1所述的PCI橋次級總線復(fù)位的緩沖排空方法,其特征在于,PCI橋的PCI配置寄存器中的三級總線寄存器不復(fù)位,從而保留三級總線寄存器中的橋三級總線號。4.根據(jù)權(quán)利要求1或2所述的PCI橋次級總線復(fù)位的緩沖排空方法,其特征在于,所述所有邏輯包括PCI總線接口、次級總線以下的所有設(shè)備、所有緩沖、次級總線端的所有控制狀態(tài)機(jī)、以及次級總線端及以下的PCI配置寄存器和設(shè)備空限制寄存器。
【專利摘要】本發(fā)明提供了一種PCI橋次級總線復(fù)位的緩沖排空方法,包括:在PCI橋收到上層系統(tǒng)的PCI橋次級總線復(fù)位命令后,使得PCI橋次級總線端的所有邏輯復(fù)位,使得PCI橋的PCI配置寄存器中的三級總線寄存器不復(fù)位,而且使得該三級總線寄存器只接收系統(tǒng)上電復(fù)位控制,同時(shí)使得PCI橋的CPL請求接收緩沖只接收上電復(fù)位控制,并且使得PCI橋次級總線端的接收向量仲裁器在復(fù)位期間不仲裁任何請求。
【IPC分類】G06F13/42
【公開號】CN105354167
【申請?zhí)枴緾N201510790131
【發(fā)明人】張亮, 畢小建, 葉維, 韓文燕, 劉亮, 張琦濱, 蔡亮
【申請人】無錫江南計(jì)算技術(shù)研究所
【公開日】2016年2月24日
【申請日】2015年11月17日