專利名稱:異步時鐘域設(shè)備對共享存儲裝置訪問的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及共享存儲器的訪問控制技術(shù),特別涉及異步時鐘域設(shè)備對共享存儲器的訪問控制技術(shù)。
在PCI橋和其它設(shè)備的工作過程中,經(jīng)常會遇到兩個或多個設(shè)備存取共享的存儲裝置例如配置寄存器401。發(fā)起訪問的設(shè)備有PCI橋上的PCI從設(shè)備101和CPU或其它類型的主控器108。通常,PCI從設(shè)備對配置寄存器作讀或?qū)懖僮鲿r,主控器可能同時對共享寄存器作配置操作。兩種操作都具有獨立性,即是說,所述兩種設(shè)備通過總線進(jìn)行的操作所依據(jù)的是兩個時鐘域的信號,彼此之間可能是完全異步。而對共享寄存器的讀、寫訪問,無論來自何種設(shè)備,都必須存取穩(wěn)定的數(shù)據(jù)。這是異步時鐘域設(shè)備對共享寄存器訪問的基本前提條件。顯然,在實現(xiàn)共享寄存器訪問中突出要解決的問題之一,就是在讀、寫操作時將異步雙總線化成和寄存器寫時鐘完全同步的單總線結(jié)構(gòu)。
現(xiàn)有技術(shù)的產(chǎn)品中,Tundra公司設(shè)計的兩種PCI橋芯片Powerspan和Qspan II,均未很好解決異步多端口對共享寄存器訪問問題。前者只有一方能對寄存器加鎖而獨占操作權(quán);而后者未設(shè)置對寄存器加鎖機(jī)制,這樣,勢必對共享寄存器操作不靈活,總線利用效率低。
現(xiàn)有的專利技術(shù)中,在解決異步多端口對共享寄存器訪問上也存在許多缺點,如美國專利US5,669,002A中,增設(shè)一個多端口仲裁器,用以仲裁某一時刻哪一條總線可以訪問共享寄存器,同時產(chǎn)生出總線的標(biāo)識向量。為區(qū)分多端口的訪問源而增設(shè)很多寄存器組來一一存放每個訪問源的標(biāo)識向量,通過逐個比較這些標(biāo)識向量來決定對應(yīng)設(shè)備的該次訪問是否有效。還有一個不足是訪問的獨占性,即無論對共享寄存器作讀或?qū)懖僮鲿r,都只能是當(dāng)前占用總線的設(shè)備才能實施對該共享寄存器的訪問,其它設(shè)備必須等當(dāng)前設(shè)備撤銷操作以后才能進(jìn)行。這在具體電路設(shè)計中就需要另加很多門電路和寄存器,來實現(xiàn)仲裁器和組建存放標(biāo)識向量的寄存器組,這勢必增加設(shè)計的復(fù)雜性,浪費資源。此外多條總線分時操作降低了系統(tǒng)運行效率。
為克服上述現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種異步時鐘域設(shè)備對共享存儲裝置訪問的控制方法,簡化電路結(jié)構(gòu),僅使用一位資源鎖寄存器,實現(xiàn)一個時鐘周期內(nèi)完成寫操作;并允許各總線對寄存器的讀操作同時進(jìn)行,降低了系統(tǒng)的開銷,提高每條總線的利用率,省去了仲裁解決方案,使整個PCI橋的運行效率大大提高。
本發(fā)明的目的可以通過采用以下技術(shù)方案來實現(xiàn)設(shè)計、采用一種異步時鐘域設(shè)備對共享存儲裝置訪問的控制方法,包括時鐘同步方法,總線生效的方法,以及寄存器互鎖的方法。尤其是在共享存儲裝置同多個異步時鐘域設(shè)備之間分別設(shè)立資源鎖,各設(shè)備對資源鎖的訪問有固定的優(yōu)先級;每個資源鎖都具有被選中后屏蔽其余資源鎖的功能;將系統(tǒng)時鐘引入所述異步時鐘域設(shè)備和共享存儲裝置。所述方法適用于所有多設(shè)備訪問共享存儲裝置的電路結(jié)構(gòu),并在讀、寫過程中分別具有以下步驟
讀共享存儲裝置的步驟α.共享存儲裝置將其數(shù)據(jù)送輸出總線150;β.至少一個訪問設(shè)備讀有效;γ.輸出總線150上的數(shù)據(jù)傳送到讀有效的訪問設(shè)備總線上;δ.經(jīng)訪問設(shè)備內(nèi)部時鐘同步后將該數(shù)據(jù)送內(nèi)部數(shù)據(jù)總線。
寫共享存儲裝置的步驟A.訪問設(shè)備啟用資源鎖;B.本地資源鎖屏蔽其余資源鎖;C.使本地資源鎖輸出控制信號有效并開啟數(shù)據(jù)選擇器400;D.等待系統(tǒng)時鐘100的上升沿到達(dá)時,將數(shù)據(jù)寫入共享存儲裝置;E.訪問設(shè)備釋放本地資源鎖。
本發(fā)明附圖的簡要說明如下
圖1是本發(fā)明的應(yīng)用環(huán)境示意圖;圖2是本發(fā)明中對共享寄存器操作的結(jié)構(gòu)示意圖;圖3是本發(fā)明的資源鎖電路結(jié)構(gòu)示意圖;圖4是本發(fā)明的數(shù)據(jù)選擇器電路結(jié)構(gòu)示意圖;圖5是本發(fā)明共享寄存器操作流程圖。
以下結(jié)合附圖所示之最佳實施例作進(jìn)一步詳述。
一種異步時鐘域設(shè)備對共享存儲裝置訪問的控制方法,包括時鐘同步方法,總線生效的方法,以及寄存器互鎖的方法;尤其是,在共享存儲裝置同多個異步時鐘域設(shè)備之間分別設(shè)立資源鎖,每個設(shè)備有自己的資源鎖,只有對該資源鎖加鎖成功才能對共享存儲裝置進(jìn)行寫操作;并規(guī)定各設(shè)備對資源鎖的優(yōu)先級,以解決同時訪問的設(shè)備間的訪問順序;每個資源鎖都具有被選中后屏蔽其余資源鎖的功能;將系統(tǒng)時鐘100引入所述異步時鐘域設(shè)備和共享存儲裝置,以便共享存儲裝置保持穩(wěn)定的同步狀態(tài),供設(shè)備讀寫共享數(shù)據(jù)。
所述方法適用于所有多設(shè)備訪問共享存儲裝置的電路結(jié)構(gòu),并在讀、寫過程中分別具有以下步驟讀共享存儲裝置的步驟α.共享存儲裝置將其數(shù)據(jù)送輸出總線150;β.至少一個訪問設(shè)備讀有效;γ.輸出總線150上的數(shù)據(jù)傳送到讀有效的訪問設(shè)備總線上;δ.經(jīng)訪問設(shè)備內(nèi)部時鐘同步后將該數(shù)據(jù)送內(nèi)部數(shù)據(jù)總線。
寫共享存儲裝置的步驟A.訪問設(shè)備啟用資源鎖;B.本地資源鎖屏蔽其余資源鎖;C.使本地資源鎖輸出控制信號有效并開啟數(shù)據(jù)選擇器400;D.等待系統(tǒng)時鐘100的上升沿到達(dá)時,將數(shù)據(jù)寫入共享存儲裝置;
E.訪問設(shè)備釋放本地資源鎖以結(jié)束寫操作并讓別的設(shè)備訪問該共享存儲裝置。
本方法所涉及的資源鎖是一位寄存器,使系統(tǒng)占用的資源做到最少。
本方法所涉及的異步時鐘域設(shè)備包括PCI從設(shè)備101和PCI橋主控器108,前者比后者對資源鎖有較高的控制優(yōu)先級;本方法所涉及的PCI從設(shè)備101和PCI橋主控器108的本地資源鎖分別是資源鎖S201和資源鎖M204;本方法所涉及的共享存儲裝置是PCI橋內(nèi)共享寄存器401;所述方法在寫共享存儲裝置的步驟A中含有下列分步驟a1.訪問設(shè)備向本地資源鎖寫入數(shù)據(jù)“1”;a2.所述訪問設(shè)備讀本地資源鎖;a3.判斷讀回的數(shù)據(jù)N,若N=1,說明加鎖成功,則執(zhí)行步驟B屏蔽其余資源鎖并準(zhǔn)備寫操作;否則轉(zhuǎn)執(zhí)行分步驟a1,重新嘗試加鎖。
還在步驟E中含有下列分步驟e1.訪問設(shè)備向本地資源鎖寫入數(shù)據(jù)“0”。表示本地資源鎖不再占用共享寄存器。
所述控制方法所使用的資源鎖201/204至少兩個同時使用,PCI從設(shè)備和橋主控器兩個使用時,該資源鎖包括一個一位D觸發(fā)器281/284,該D觸發(fā)器的時鐘Q輸出端同訪問設(shè)備101/108的寫信號線116/181分別接自己的輸出與門291/294輸入端,該與門的輸出端即為資源鎖201/204的輸出端210/240;所述D觸發(fā)器281/284的D輸入端接二選一MUX271/274的輸出端,該MUX的一個輸入端是輸入與門261/264的輸出端,其另一個輸入端交叉接另一通道輸入與門264/261的倒相輸入端,同時接本通道D觸發(fā)器281/284的Q輸出端即互鎖信號端220/230;所述PCI從設(shè)備的寫信號線116接本通道三輸入與門261的一個輸入和二選一MUX271的使能端,同時接橋主控器資源鎖204的前置三輸入與門254的倒相輸入端;所述PCI從設(shè)備的數(shù)據(jù)線112接三輸入與門261的第三輸入端;所述橋主控器的寫信號181接本通道前置三輸入與門254的輸入端和二選一MUX274的使能端,所述橋主控器的數(shù)據(jù)線183接前置三輸入與門254的第三輸入端;該前置三輸入與門254的輸出端接本通道輸入與門264的輸入端。
該方法中使用的資源鎖是包括D觸發(fā)器的一位寄存器。D觸發(fā)器邏輯關(guān)系清晰,能方便搭建所需外圍電路。
本發(fā)明的方案可以細(xì)述如下如圖1所示,PCI從設(shè)備101和PCI橋的主控器108都要對共享寄存器401存取數(shù)據(jù)。他們的兩套總線是兩個時鐘域的異步信號。我們采用系統(tǒng)時鐘100作為對資源鎖寄存器201,204以及共享寄存器401訪問的時鐘。這樣一來最大的優(yōu)點就是把兩個時鐘域的異步信號,轉(zhuǎn)換到一個時鐘域來處理。因此在對資源鎖寄存器和共享寄存器寫操作之前,首要解決的問題是,用系統(tǒng)時鐘100去同步從PCI從設(shè)備和PCI橋主控器輸入的異步讀寫信號,保證每次不論是哪個設(shè)備在對資源鎖寄存器,共享寄存器寫操作時,都是和系統(tǒng)時鐘保持完全的同步。實現(xiàn)同步的過程很簡單,PCI從設(shè)備和PCI橋主控器輸出的數(shù)據(jù),地址,以及寫信號用系統(tǒng)時鐘100做兩級同步,就能保證每次寫操作到寄存器的總線信號都和系統(tǒng)時鐘有嚴(yán)格的同步。當(dāng)執(zhí)行讀操作時,數(shù)據(jù)從共享寄存器,資源鎖寄存器返回到PCI從設(shè)備以及PCI橋主控器的數(shù)據(jù)總線上,又跨越了兩個時鐘域,即從系統(tǒng)時鐘100回到各自的總線時鐘域中。這樣就要求從寄存器輸出的數(shù)據(jù)讀回到數(shù)據(jù)總線上之前,再用各自時鐘域的時鐘信號對返回的數(shù)據(jù)再做兩級同步。經(jīng)過這樣處理以后,所有的讀寫操作在各自的時鐘區(qū)域內(nèi)都能保證總線上有穩(wěn)定的數(shù)據(jù)。這是對寄存器讀寫的前提條件。
在PCI從設(shè)備和PCI橋主控器要求對共享寄存器做寫操作時,還將遇到的問題是把兩條總線信號轉(zhuǎn)換成一條總線,再把數(shù)據(jù)寫入到共享寄存器中。這里就涉及到資源鎖的應(yīng)用。不論是哪一方需要寫共享寄存器,都必需先要對自己的資源鎖寄存器加鎖來實現(xiàn)對共享寄存器操作的獨占性。由于資源鎖的設(shè)計考慮了啟用的本地鎖能屏蔽其余所有的資源鎖,所以其中一方對自己的資源鎖加鎖成功以后,另外一方對共享寄存器操作無效,并且每次都是用重試方式返回。圖2中201是PCI從設(shè)備的資源鎖寄存器,204是PCI橋主控器的資源鎖寄存器。加鎖的含義就是鎖定當(dāng)前設(shè)備對寄存器操作的所有權(quán),是對這個一位的資源鎖寄存器寫入“1”來實現(xiàn)的。加鎖操作成功以后,設(shè)備才能對共享寄存器執(zhí)行正確的操作。判斷對資源鎖加鎖操作是否成功,方法很簡單。只要對資源鎖寫“1”之后,再讀回資源鎖寄存器中的數(shù)值,如果讀回數(shù)值是“1”,表示加鎖成功。讀回為“0”加鎖不成功。
加資源鎖的機(jī)制可以參考電路結(jié)構(gòu)圖2。當(dāng)PCI從設(shè)備要對共享寄存器401寫操作,在PCI從設(shè)備的寫信號116有效時,把“1”通過數(shù)據(jù)線112寫到資源鎖寄存器201,如果PCI橋主控器108已經(jīng)對自己的資源鎖寄存器204成功的加鎖,反饋的信號230使PCI從設(shè)備寫到資源鎖寄存器中的數(shù)值為“0”。此時如果PCI從設(shè)備讀回加鎖狀態(tài)為“0”,說明共享寄存器正在使用,加鎖不成功。相反,如果PCI橋主控器108沒有對204加鎖,PCI從設(shè)備寫進(jìn)資源鎖寄存器中的數(shù)值為“1”。這樣在PCI從設(shè)備讀回201中的數(shù)值時,返回為“1”。加鎖成功,可以對共享寄存器操作。
同樣道理,在PCI橋的主控器108對資源鎖寄存器204的操作過程是受到另一資源鎖寄存器201輸出的反饋信號220的控制。當(dāng)PCI橋主控設(shè)備寫信號181有效時,把“1”通過數(shù)據(jù)線183寫到資源鎖寄存器204,如果PCI從設(shè)備沒有對共享寄存器加鎖,201輸出的反饋信號220為“0”時,寫入到資源鎖寄存器204的數(shù)值為“1”。此時讀回到PCI主控器就為“1”,加鎖成功。當(dāng)PCI從設(shè)備已經(jīng)對資源鎖201加鎖成功了,其反饋信號220為“1”,表示PCI從設(shè)備已經(jīng)對資源鎖加鎖成功,此時在反饋信號的控制下,寫入到資源鎖寄存器204中的數(shù)值為“0”。這樣在PCI橋的主控器讀204時,返回的數(shù)值就是“0”。說明共享寄存器已經(jīng)在使用,加鎖不成功。
假如在復(fù)位以后或者是所有的資源鎖寄存器都處于沒有加鎖的狀態(tài),而PCI從設(shè)備和橋上的主控器雙方在某一時刻同時對各自的資源鎖做加鎖操作時,我們規(guī)定操作的雙方有固定的優(yōu)先級,即其中一方的優(yōu)先級高于另外一方。這樣在設(shè)備的雙方只有一方能成功加鎖,另一方加鎖不成功。在圖2中,PCI從設(shè)備的優(yōu)先級高于PCI橋主控器。雙方的主控設(shè)備寫信號116、181同時有效。根據(jù)固定優(yōu)先級的設(shè)置,用從設(shè)備寫信號116把主控設(shè)備寫信號181的輸入屏蔽,這樣在寫入到資源鎖寄存器201中的數(shù)值是“1”,而寫入到204中的數(shù)值為“0”。即PCI從設(shè)備加鎖成功,而PCI橋主控器加鎖不成功。
當(dāng)一個設(shè)備加鎖成功以后,開始對共享寄存器操作。對寄存器操作完畢,當(dāng)前占用總線的設(shè)備必須做解鎖操作,釋放自己的資源鎖寄存器,允許其它設(shè)備能夠訪問共享寄存器。解鎖操作和加鎖操作相同,只是加鎖過程往寄存器中寫入“1”,而解鎖操作寫入到資源鎖的數(shù)值是“0”。兩種操作的工作過程完全相同。
在實際的電路結(jié)構(gòu)中,加鎖的意義在于用資源鎖去屏蔽PCI從設(shè)備101,PCI橋主控器108的寫信號是否有效。圖2中,當(dāng)PCI從設(shè)備加鎖成功,用資源鎖的輸出信號220去屏蔽主控器寫信號181,輸出210信號有效,保證PCI從設(shè)備能對共享寄存器操作。如當(dāng)PCI橋主控器加鎖成功,其資源鎖204輸出的反饋信號230使主控設(shè)備寫信號181信號的輸出有效,保證PCI橋主控器108的寫信號能夠?qū)蚕砑拇嫫鞑僮鳌?br>
對資源鎖寄存器的加鎖流程參考圖5;解鎖過程類似,只是寫“1”改為寫“0”。
本發(fā)明所用的資源鎖201、204如圖3所示。D觸發(fā)器284是PCI橋主控器108的資源鎖寄存器,另一個D觸發(fā)器281是PCI從設(shè)備101的資源鎖寄存器。當(dāng)PCI從設(shè)備要對201加鎖操作時,寫出的數(shù)據(jù)112,寫信號116和PCI主控器的資源鎖寄存器284提供的反饋信號230相與。如果108已經(jīng)加鎖成功,230為高電平,相與后輸出為低電平,經(jīng)過116選擇輸入到201的數(shù)據(jù)就是低電平,加鎖不成功。相反如果108沒有加鎖,則230為低,經(jīng)過一級與門輸出的數(shù)據(jù)和112保持一致,再用116選擇從與門輸出的結(jié)果到D觸發(fā)器281的輸入端,加鎖操作成功。在PCI從設(shè)備沒有執(zhí)行加鎖操作時,寫信號116無效,選擇220輸入到D觸發(fā)器281的輸入端。始終保持著寄存器中的數(shù)據(jù)。
假如PCI橋主控器108要對資源鎖M做加鎖操作時,寫信號181,寫出的數(shù)據(jù)183先經(jīng)過一級固定優(yōu)先級的判斷電路,再和資源鎖S的反饋信號220相與后,經(jīng)過181的選擇輸入D觸發(fā)器284。固定優(yōu)先級是通過一個三輸入與門來實現(xiàn)的。圖中缺省是PCI從設(shè)備的優(yōu)先級高于PCI橋主控器。當(dāng)設(shè)備雙方同時加鎖操作時,寫信號116和181都為高電平,在116和183,181相與后,輸出為低電平,這樣經(jīng)過181的選擇輸入到284的信號也是低電平。如果只有108一方需要對204加鎖,此時PCI從設(shè)備的寫信號116為低電平,經(jīng)過固定優(yōu)先級的判斷電路,116和181,183相與輸出為高電平,再和D觸發(fā)器281的反饋信號220相與后輸出還是高電平,最后,由181選擇相與后的高電平輸出到D觸發(fā)器284的輸入端。加鎖操作成功。在PCI主控器沒有執(zhí)行操作時,寫信號181保持低電平,選擇反饋信號230輸入到D觸發(fā)器284的輸入端,寄存器中的數(shù)值保持不變。
最后再用資源鎖寄存器204,201的輸出信號和各自的寫信號經(jīng)過一級與門后輸出到數(shù)據(jù)選擇器400。如果PCI從設(shè)備101對D觸發(fā)器281加鎖成功,220輸出為高電平,經(jīng)過與門后,輸出信號210和寫信號116保持一致。當(dāng)PCI主控器對D觸發(fā)器284加鎖成功,230輸出為高電平,經(jīng)過與門后,輸出的信號240和181保持一致。經(jīng)過圖3中的電路,就實現(xiàn)了用資源鎖對每個設(shè)備寫信號的控制。
圖4是實現(xiàn)數(shù)據(jù)選擇器的電路,當(dāng)資源鎖S,M都沒有加鎖時,輸出的210,240都是低電平,210和數(shù)據(jù)114相與輸出為低電平,240和數(shù)據(jù)185相與輸出也為低電平,只有數(shù)據(jù)150,和210,240經(jīng)過三輸入與門后保持不變。經(jīng)過最后一級三輸入或門后,數(shù)據(jù)150輸出到122。當(dāng)210為高電平,240為低電平時,185和240相與為低電平,150與210相與后輸出為低電平,只有114經(jīng)過第一級相與操作后能保持不變,最后通過三輸入或門時,114能輸出到122。同樣道理,當(dāng)210為低電平,240為高電平時,數(shù)據(jù)185能保持不變的輸出到122。這樣通過一級與門,和一級或門后,用210,240信號控制了輸入數(shù)據(jù)的選擇過程。
對資源鎖寄存器加鎖是對共享寄存器操作的先決條件,加鎖成功以后就可以用資源鎖寄存器控制的有效寫信號,選擇設(shè)備的總線輸入信號。參考圖3所示數(shù)據(jù)選擇電路。當(dāng)PCI從設(shè)備加鎖成功以后,執(zhí)行寫操作,PCI從設(shè)備101的資源鎖201控制其輸出信號210有效,打開數(shù)據(jù)選擇器400,使數(shù)據(jù)信號114能夠輸出到共享寄存器的輸入端122。當(dāng)PCI橋主控器加鎖成功以后,執(zhí)行寫操作輸出240有效,打開數(shù)據(jù)信號185的數(shù)據(jù)選擇器400,使PCI橋主控器108的數(shù)據(jù)能輸出到共享寄存器輸入端122。如果兩個設(shè)備都沒有對共享寄存器操作時,就保持共享寄存器中的數(shù)值。此時PCI從設(shè)備101的輸出信號210,和PCI橋主控器108的輸出信號240均無效,把共享寄存器的輸出端150的數(shù)值直接輸出到共享寄存器的輸入端122端口。
最后從PCI從設(shè)備101或者是PCI橋主控器108中輸出的數(shù)據(jù)從共享寄存器的輸入端122的選擇輸出端口,在系統(tǒng)時鐘總線100的上升沿寫入到共享寄存器中。至此異步時鐘域設(shè)備對共享寄存器的寫入操作執(zhí)行完畢。
設(shè)備對共享寄存器的讀出過程比較簡單。共享寄存器中的數(shù)據(jù)可以直接從共享寄存器的輸出端150輸出,在PCI從設(shè)備101的讀信號有效時,把數(shù)據(jù)放在數(shù)據(jù)線112上,再用PCI從設(shè)備的時鐘同步以后直接輸入到內(nèi)部的數(shù)據(jù)總線上。同樣道理在PCI橋主控器108做讀操作時,數(shù)據(jù)共享寄存器的輸出端150在主控器讀有效時,輸出到數(shù)據(jù)線183上,再用主控器的時鐘同步以后,輸入到內(nèi)部數(shù)據(jù)總線上。這樣通過時鐘域的轉(zhuǎn)換,就能讀到穩(wěn)定的寄存器數(shù)值。因此在執(zhí)行讀操作時,可以保證每個設(shè)備能同時讀取共享寄存器中的數(shù)值。
本發(fā)明還可以做功能擴(kuò)充,通過增加主控器及其配套的資源鎖,用同樣的反饋控制機(jī)制還可以實現(xiàn)3條總線或者是4條總線以至于更多路的主控器訪問一個共享存儲器。這樣在PCI橋,多CPU工作系統(tǒng)和所有需要用到共享存儲器訪問的地方都可以使用這種高效率的電路結(jié)構(gòu)。
本發(fā)明相對于現(xiàn)有技術(shù)的優(yōu)點在于,引入資源鎖寄存器取代仲裁器,并通過系統(tǒng)時鐘進(jìn)行兩級同步,簡化了異步時鐘域?qū)蚕泶鎯ρb置的訪問的電路結(jié)構(gòu),實現(xiàn)了單時鐘周期寫操作和并行讀寫訪問,降低系統(tǒng)開銷,大大提高了PCI橋和使用共享存儲裝置的系統(tǒng)的運行效率。
權(quán)利要求
1.一種異步時鐘域設(shè)備對共享存儲裝置訪問的控制方法,包括時鐘同步方法,總線生效的方法,以及寄存器互鎖的方法,其特征在于在共享存儲裝置同多個異步時鐘域設(shè)備之間分別設(shè)立資源鎖,各設(shè)備對資源鎖的訪問有固定的優(yōu)先級;每個資源鎖都具有被選中后屏蔽其余資源鎖的功能;將系統(tǒng)時鐘(100)引入所述異步時鐘域設(shè)備和共享存儲裝置;所述方法適用于所有多設(shè)備訪問共享存儲裝置的電路結(jié)構(gòu),并在讀、寫過程中分別具有以下步驟讀共享存儲裝置的步驟α.共享存儲裝置將其數(shù)據(jù)送輸出總線(150);β.至少一個訪問設(shè)備讀有效;γ.輸出總線(150)上的數(shù)據(jù)傳送到讀有效的訪問設(shè)備總線上;δ.經(jīng)訪問設(shè)備內(nèi)部時鐘同步后將該數(shù)據(jù)送內(nèi)部數(shù)據(jù)總線;寫共享存儲裝置的步驟A.訪問設(shè)備啟用資源鎖;B.本地資源鎖屏蔽其余資源鎖;C.使本地資源鎖輸出控制信號有效并開啟數(shù)據(jù)選擇器(400);D.等待系統(tǒng)時鐘(100)的上升沿到達(dá)時,將數(shù)據(jù)寫入共享存儲裝置;E.訪問設(shè)備釋放本地資源鎖。
2.按照權(quán)利要求1所述異步時鐘域設(shè)備對共享存儲裝置訪問的控制方法,其特征在于本方法所涉及的資源鎖是一位寄存器;本方法所涉及的異步時鐘域設(shè)備包括PCI從設(shè)備(101)和PCI橋主控器(108),前者比后者對資源鎖有較高的控制優(yōu)先級;本方法所涉及的PCI從設(shè)備(101)和PCI橋主控器(108)的本地資源鎖分別是資源鎖S(201)和資源鎖M(204);本方法所涉及的共享存儲裝置是PCI橋內(nèi)共享寄存器(401);所述方法在寫共享存儲裝置的步驟A中含有下列分步驟a1.訪問設(shè)備向本地資源鎖寫入數(shù)據(jù)“1”;a2.所述訪問設(shè)備讀本地資源鎖;a3.判斷讀回的數(shù)據(jù)N,若N=1則執(zhí)行步驟B;否則轉(zhuǎn)執(zhí)行分步驟a1;還在步驟E中含有下列分步驟e1.訪問設(shè)備向本地資源鎖寫入數(shù)據(jù)“0”。
3.按照權(quán)利要求2所述異步時鐘域設(shè)備對共享存儲裝置訪問的控制方法,其特征在于所述控制方法所使用的資源鎖(201/204)至少兩個同時使用,PCI從設(shè)備和橋主控器兩個使用時,該資源鎖包括一個一位D觸發(fā)器(281/284),該D觸發(fā)器的時鐘Q輸出端同訪問設(shè)備(101/108)的寫信號線(116/181)分別接自己的輸出與門(291/294)輸入端,該與門的輸出端即為資源鎖(201/204)的輸出端(210/240);所述D觸發(fā)器(281/284)的D輸入端接二選一MUX(271/274)的輸出端,該MUX的一個輸入端是輸入與門(261/264)的輸出端,其另一個輸入端交叉接另一通道輸入與門(264/261)的倒相輸入端,同時接本通道D觸發(fā)器(281/284)的Q輸出端即互鎖信號端(220/230);所述PCI從設(shè)備的寫信號線(116)接本通道三輸入與門(261)的一個輸入和二選一MUX(271)的使能端,同時接橋主控器資源鎖(204)的前置三輸入與門(254)的倒相輸入端;所述PCI從設(shè)備的數(shù)據(jù)線(112)接三輸入與門(261)的第三輸入端;所述橋主控器的寫信號(181)接本通道前置三輸入與門(254)的輸入端和二選一MUX(274)的使能端,所述橋主控器的數(shù)據(jù)線(183)接前置三輸入與門(254)的第三輸入端;該前置三輸入與門(254)的輸出端接本通道輸入與門(264)的輸入端。
全文摘要
一種異步時鐘域設(shè)備對共享存儲裝置的訪問控制方法,在共享存儲裝置與所述設(shè)備之間分設(shè)資源鎖,規(guī)定設(shè)備訪問資源鎖的優(yōu)先級和資源鎖的互鎖功能,并將系統(tǒng)時鐘引入所述設(shè)備及共享存儲裝置;該方法允許并行讀共享存儲裝置的內(nèi)容,并在寫共享存儲裝置的步驟中啟動本地資源鎖并屏蔽其余資源鎖,獨占總線而寫入穩(wěn)定數(shù)據(jù),然后解鎖后退出。由于設(shè)置資源鎖取代仲裁方案,簡化了電路、降低了開銷,提高了運行效率。
文檔編號G06F12/14GK1366248SQ0110746
公開日2002年8月28日 申請日期2001年1月18日 優(yōu)先權(quán)日2001年1月18日
發(fā)明者劉華預(yù), 李建國, 梁松海, 鹿甲寅 申請人:深圳市中興集成電路設(shè)計有限責(zé)任公司