两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

對分布式系統(tǒng)中的各種組件的活動進(jìn)行同步的制作方法

文檔序號:6350848閱讀:258來源:國知局
專利名稱:對分布式系統(tǒng)中的各種組件的活動進(jìn)行同步的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)領(lǐng)域,特別涉及具有通過互連與至少ー個接收裝置通信的不同啟動裝置的分散系統(tǒng),以及對這種系統(tǒng)內(nèi)的不同組件的活動進(jìn)行同步的方法。
背景技術(shù)
互連用來提供數(shù)據(jù)處理系統(tǒng)中的不同組件之間的連接?;ミB提供數(shù)據(jù)路線,ー個或多個啟動裝置可通過這些數(shù)據(jù)路線來訪問ー個或多個接收裝置。啟動裝置只是產(chǎn)生事務(wù)請求的裝置,因此可能是諸如處理器之類的主裝置,也可能是另ー互連。接收裝置只是接收事務(wù)的裝置,其可能是諸如外圍裝置之類的從裝置,也可能是另ー互連。隨著系統(tǒng)由于具有彼此通信的多個處理器和多個裝置而變得更加復(fù)雜,多處理器系統(tǒng)的軟件設(shè)計者需要詳細(xì)了解架構(gòu)的拓?fù)浣Y(jié)構(gòu)和時延,以寫出確保交互進(jìn)程隨著時間具有一致行為的軟件。即使有這方面的詳細(xì)知識,這種一致性也需要某種不凡的努力以及對性能的犧牲來達(dá)成。希望提供可使程序設(shè)計者對于任意架構(gòu)以一般方式確保交互進(jìn)程隨著時間而具有一致行為的機(jī)制。這樣的機(jī)制可包括確保不同組件在某些時候的同步的方法,以使共享相同資源的組件知道它們在哪些點上具有彼此事務(wù)的可見性。

發(fā)明內(nèi)容
本發(fā)明的第一方面提供一種用于通過互連向接收裝置發(fā)出事務(wù)請求的啟動裝置, 所述啟動裝置包括至少ー個端ロ,用于從所述互連接收請求和向所述互連發(fā)出請求;阻隔產(chǎn)生器,用于產(chǎn)生阻隔事務(wù)請求,所述阻隔事務(wù)請求向所述互連表明應(yīng)當(dāng)通過以下方式來維持經(jīng)過所述互連的事務(wù)請求流內(nèi)的至少ー些事務(wù)請求的排序不允許針對所述阻隔事務(wù)請求在所述事務(wù)請求流中對發(fā)生在所述阻隔事務(wù)請求之前的至少ー些所述事務(wù)請求進(jìn)行重排序;其中,響應(yīng)于對查詢事務(wù)請求的至少ー個子集的進(jìn)度的同步請求的接收,所述啟動裝置作出響應(yīng)來執(zhí)行事務(wù)請求的所述至少ー個子集中任何未決的事務(wù)請求、在所述阻隔產(chǎn)生器處產(chǎn)生阻隔事務(wù)請求、通過所述至少ー個端ロ向所述互連發(fā)出所述阻隔事務(wù)請求并且響應(yīng)于接收到對所述阻隔事務(wù)請求的響應(yīng)而發(fā)出確認(rèn)信號作為對所述同步請求的響應(yīng)。本發(fā)明認(rèn)識到要決定何時由其他裝置執(zhí)行的事務(wù)請求已完成或至少已到達(dá)已知點可能是困難的。本發(fā)明使用同步請求來解決此問題,同步請求查詢特定事務(wù)請求是否已被執(zhí)行。為了使執(zhí)行這些請求的啟動裝置確定何時先前發(fā)出的至少ー些事務(wù)請求已進(jìn)行到某個點,其產(chǎn)生阻隔事務(wù)請求并發(fā)送它以跟隨先前發(fā)出的事務(wù)請求。其進(jìn)度將被監(jiān)視的至少ー些事務(wù)請求的排序可由阻隔事務(wù)的進(jìn)度確定,因為系統(tǒng)被配置來使這些事務(wù)必須停留在阻隔前面。所以,來自阻隔的響應(yīng)將不只指示阻隔已到達(dá)響應(yīng)產(chǎn)生器的位置,還指示至少一些事務(wù)請求也到達(dá)此點。事務(wù)請求的進(jìn)度可以此方式來確定。在一些實施例,所述事務(wù)請求的子集包括由所述啟動裝置向所述至少一個接收裝置發(fā)出的所有事務(wù)請求,并且其排序由所述阻隔事務(wù)請求維持的所述至少一些事務(wù)請求包括由所述啟動裝置發(fā)出的所述所有事務(wù)請求。在一些實施例,同步請求可能只是要求通知何時另ー啟動裝置的所有未決事務(wù)請求已完成或已到達(dá)特定點。在此例中,該子集是所有的事務(wù)請求,阻隔事務(wù)請求維持所有事務(wù)請求的排序,以使得對阻隔的進(jìn)度的知悉提供了對所有事務(wù)請求進(jìn)度的知悉。在一些實施例,該啟動裝置還包括存儲器管理単元;事務(wù)請求的所述至少ー個子集包括所述存儲器管理操作請求,所述同步請求是存儲器管理同步請求,其查詢何時所述存儲器管理操作請求已經(jīng)完成以及何時先前發(fā)出的事務(wù)請求已到達(dá)所述互連內(nèi)的預(yù)定點,所述先前發(fā)出的事務(wù)請求的狀態(tài)將會受到所述存儲器管理操作請求的影響;所述啟動裝置被配置為響應(yīng)于對所述阻隔事務(wù)請求的所述響應(yīng)的接收,以及響應(yīng)于所述未決的存儲器管理操作已完成,發(fā)出所述確認(rèn)信號。所發(fā)出的存儲器管理操作事務(wù)請求可被具有存儲器管理単元的其他啟動裝置所接受,然而這些裝置可能不立即實現(xiàn)它們。這樣可能是有利的,因為這些請求具有高延遲, 而且如果它們影響到其他高優(yōu)先級事務(wù)的處理,可能是不希望的。在處理中的某點處,處理器可能認(rèn)識到在此點以外發(fā)出的事務(wù)需要存儲器管理操作已被執(zhí)行。在此點,啟動裝置發(fā)出存儲器管理同步請求。在啟動裝置處接收到存儲器管理同步請求向該啟動裝置指示已經(jīng)從發(fā)出同步請求的啟動裝置接收到的任何未決存儲器管理操作請求必須被處理。因此,響應(yīng)于接收此同步請求,啟動裝置針對互連執(zhí)行任何未決存儲器管理操作請求,并將阻隔事務(wù)請求發(fā)送至互連。以這種方式,對阻隔事務(wù)請求響應(yīng)的接收向啟動裝置提供了任何更早發(fā)出的事務(wù)已到達(dá)某點的指示,并且如果正確選擇此點,啟動裝置可在此刻發(fā)送對存儲器管理同步請求的響應(yīng)。所以,如此使用阻隔事務(wù)請求使得啟動裝置能夠確定其何時可對存儲器管理同步請求作出響應(yīng)。在一些實施例,所述啟動裝置包括用于從處理器接收事務(wù)請求的另一端ロ,所述啟動裝置將所述事務(wù)請求中的至少ー些傳送到所述互連。該啟動裝置可只須包括存儲器管理単元。在此情況中,它可包括另一端ロ用于從處理器接收事務(wù)請求。存儲器管理單元將此事務(wù)請求路由至互連,并將執(zhí)行處理器需要其執(zhí)行的任何存儲器管理操作。它還將將要形成在其他啟動裝置上的其他存儲器管理操作轉(zhuǎn)發(fā)至該互連。在一些實施例,該啟動裝置還包括處理器,用于處理數(shù)據(jù);該處理器被配置來向所述互連發(fā)出事務(wù)請求及所述同步請求;該阻隔產(chǎn)生器被配置來產(chǎn)生同步阻隔事務(wù)請求, 并向所述互連發(fā)出所述阻隔事務(wù)請求以跟隨在由所述處理器在所述同步請求之前向所述至少ー個接收裝置發(fā)出的事務(wù)請求之后。雖然,啟動裝置可只包括存儲器管理単元,在一些實施例,它包括處理器及存儲器管理単元。此種啟動裝置可能不只接收存儲器管理操作請求和同步請求,它也可產(chǎn)生這些請求并將它們傳送至互連。若它不產(chǎn)生此同步請求,它將在此同步請求之后發(fā)出同步阻隔, 以使得它可確定先前發(fā)出到至少ー個接收裝置的事務(wù)請求在何時已到達(dá)某點。本發(fā)明的第二方面提供一種用于通過互連向接收裝置發(fā)出事務(wù)請求的啟動裝置, 所述啟動裝置包括處理器,用于處理數(shù)據(jù);至少ー個端ロ,用于從所述互連接收請求和向所述互連發(fā)出請求;阻隔產(chǎn)生器,用于產(chǎn)生阻隔事務(wù)請求,所述阻隔事務(wù)請求向所述互連表明應(yīng)當(dāng)通過以下方式來維持經(jīng)過所述互連的事務(wù)請求流內(nèi)的至少ー些事務(wù)請求的排序不允許針對所述阻隔事務(wù)請求在所述事務(wù)請求流中對發(fā)生在所述阻隔事務(wù)請求之前的所述至少ー些所述事務(wù)請求進(jìn)行重排序;其中,所述處理器被配置來向所述互連發(fā)出事務(wù)請求及同步請求,所述同步請求查詢未決的事務(wù)請求的至少ー個子集的進(jìn)度;所述阻隔生器被配置為產(chǎn)生同步阻隔事務(wù)請求,并且將所述同步阻隔事務(wù)請求發(fā)出到所述互連以跟隨在由所述處理器在所述同步請求之前向所訴至少一個接收裝置發(fā)出的事務(wù)請求之后。啟動裝置可在其希望知道其他啟動裝置將執(zhí)行的事務(wù)的進(jìn)度時發(fā)出同步請求。當(dāng)其如此做吋,其還可產(chǎn)生同步阻隔事務(wù)請求并傳送它以跟隨在先前發(fā)出到至少ー個接收裝置的事務(wù)請求之后。這樣ー來,其不僅可從對同步請求的響應(yīng)中確定其他啟動裝置發(fā)出的事務(wù)的進(jìn)度,其還可確定其本身先前發(fā)出的事務(wù)請求的進(jìn)度。在一些實施例,事務(wù)請求的所述至少一個子集包括所述存儲器管理操作請求,井且所述同步請求是存儲器管理同步請求,其查詢何時所述存儲器管理操作請求已經(jīng)完成以及何時先前發(fā)出的事務(wù)請求已到達(dá)所述互連內(nèi)的預(yù)定點,所述先前發(fā)出的事務(wù)請求的狀態(tài)將會受到所述存儲器管理操作請求的影響。如前所述,同步在存儲器管理操作被執(zhí)行的情況中特別有用。在此情況中,在處理中的某點處,先前請求的存儲器管體操作已完成可能變得重要,并且因此,在此點時可傳送步請求及阻隔。在一些實施例,所述啟動裝置響應(yīng)于所述同步阻隔事務(wù)請求的發(fā)出,不向所述互連發(fā)出進(jìn)ー步的事務(wù)請求,直到對所述同步阻隔事務(wù)請求和所述同步請求的響應(yīng)已被接收到為止。響應(yīng)于傳送同步阻隔事務(wù)請求,啟動裝置可阻止進(jìn)ー步事務(wù)請求的發(fā)出,直到對同步阻隔事務(wù)請求及同步請求的響應(yīng)已被接收為止。若同步請求是要求其所查詢的先前操作在可安全傳送進(jìn)一歩事務(wù)請求之前已被執(zhí)行的請求,則啟動裝置將阻止進(jìn)ー步事務(wù)請求的發(fā)出,直到已從其自己的阻隔事務(wù)請求及同步請求進(jìn)行了接收。此吋,若響應(yīng)信號產(chǎn)生器被合適地布置,則其可肯定更早的事務(wù)請求已進(jìn)行至安全點并且其可繼續(xù)發(fā)出事務(wù)。在一些實施例,所述存儲器管理操作包括虛擬至物理地址轉(zhuǎn)譯的管理,并且所述阻隔事務(wù)維持其順序的所述至少一些事務(wù)包括在執(zhí)行所述存儲器管理操作之前使用虛擬至物理地址轉(zhuǎn)譯的事務(wù)。需要同步的存儲器管理操作例如是虛擬至物理地址轉(zhuǎn)譯的管理。具有使用虛擬地址來處理數(shù)據(jù)儲存的啟動裝置的系統(tǒng)(在其中是使用物理地址來儲存數(shù)據(jù))需要轉(zhuǎn)譯表來從虛擬地址轉(zhuǎn)譯至物理地址。這些轉(zhuǎn)譯表的更新必須始終至少被應(yīng)用于使用存儲器中相同地址空間的啟動裝置。若不確定系統(tǒng)內(nèi)使用這些轉(zhuǎn)譯表的啟動裝置的數(shù)目,則可能難以實現(xiàn)此。再者,這些動作具有高延遲,并且等待它們?nèi)客瓿杉巴耆_定它們已全部完成可能會有許多性能開銷。產(chǎn)生阻隔事務(wù)請求并將其發(fā)出以跟隨在存儲器管理操作事務(wù)請求的至少ー個之后提供了一種維持相對于存儲器管理操作事務(wù)請求的排序的方式,而且在一些情況中,提供了確定其已進(jìn)行到多遠(yuǎn)的方式。這是重要的,因為在頁面表被更新的情況中,使用舊表的先前事務(wù)在新表到位之前已進(jìn)行到某點之外是重要的,并且使用新表的進(jìn)ー步事務(wù)在這樣的情況之前不被發(fā)出也是重要的。在一些實施例,所述阻隔產(chǎn)生器被配置來利用與阻隔相關(guān)聯(lián)的領(lǐng)域指示器發(fā)出阻隔,所述領(lǐng)域指示器指示出所述互連內(nèi)無法發(fā)出對所述阻隔事務(wù)請求的響應(yīng)的區(qū)域。ー種以有用的方式確定阻隔在互連內(nèi)已進(jìn)行到多遠(yuǎn)的方式是使用領(lǐng)域指示器?;ミB可被分成數(shù)個領(lǐng)域。若以智能的方式來做此的話,領(lǐng)域可有某些特性,例如,來自兩個端 ロ的路徑可都在一領(lǐng)域中合井,因此在離開領(lǐng)域吋,可知道來自兩個端ロ的每個的事務(wù)對于兩端ロ來說是可見的。因此,若阻隔具有不允許在該領(lǐng)域內(nèi)的響應(yīng)的領(lǐng)域指示器,則當(dāng)收到ー響應(yīng)吋,可知道它是在領(lǐng)域外,因此來自任一端ロ的事務(wù)此時對于兩個端ロ是可見的。在一些實施例,所述同步請求是查詢事務(wù)請求的所述子集中的至少ー些請事務(wù)求是否已到達(dá)所述互連內(nèi)的預(yù)定點的請求,所述同步請求包括指示器,其指示所述預(yù)定點。若同步請求可攜有指示互連內(nèi)同步應(yīng)該發(fā)生的點的指示器形式的信息的話,可能是有利的。在同步請求中提供該信息使接收其的啟動裝置能夠控制其從何處接收針對阻隔請求的響應(yīng),因此使其能夠獲得需要的信息以響應(yīng)同步請求。在一些實施例,所述阻隔產(chǎn)生器被配置成依賴于所述同步請求內(nèi)包括的所述指示器而發(fā)出所述阻隔領(lǐng)域指示器。若同步請求內(nèi)提供有關(guān)于預(yù)定點的信息,則阻隔產(chǎn)生器可使用此信息及其對互連內(nèi)的領(lǐng)域的知悉,來向阻隔事務(wù)請求提供合適的領(lǐng)域指示器,以使得對阻隔事務(wù)請求的響應(yīng)指示出所需要的事務(wù)請求已至少到達(dá)預(yù)定點。本發(fā)明的第三方面提供一種用于數(shù)據(jù)處理裝置的互連電路,所述互連電路被配置來提供數(shù)據(jù)路線,通過所述數(shù)據(jù)路線,多個啟動裝置中的至少ー者可訪問至少ー個接收裝置及所述多個啟動裝置的至少另ー者,所述互連電路包括多個啟動器端ロ,用于在所述啟動裝置與所述互連之間傳送事務(wù)請求;至少ー個接收端ロ,用于傳送事務(wù)請求到所述至少一個接收裝置;多個路徑,用于在所述啟動器端ロ與所述至少一個接收端ロ之間傳送所述事務(wù)請求;及控制電路,用于沿多個路徑中的至少ー者將接收到的所述事務(wù)請求從多個輸入之一路由至所述輸入或輸出端ロ之一;其中所述事務(wù)請求中的至少ー些事務(wù)請求包括來自所述多個啟動裝置中的第一啟動裝置的同步請求,其查詢事務(wù)請求的至少ー個子集的進(jìn)度;并且所述控制電路被配置成將所述同步請求路由到所述啟動裝置中的至少另ー者并且從所述啟動裝置中的所述至少另ー者接收阻隔事務(wù)請求,該至少另ー者被配置來執(zhí)行事務(wù)請求的所述至少ー個子集,所述控制電路被配置來將所述阻隔事務(wù)請求沿著所述多個路徑中的至少ー者在先前從所述至少另ー啟動裝置接收到的事務(wù)請求之后路由到所述至少一個接收裝置、并且維持所述先前接收到的事務(wù)請求中的至少ー些事務(wù)請求及所述阻隔事務(wù)請求在所述事務(wù)請求流中的排序;以及響應(yīng)于對所述阻隔事務(wù)請求的響應(yīng)信號,將所述響應(yīng)信號路由到所述多個啟動裝置中的所述至少另ー者,所述響應(yīng)信號向所述至少另ー啟動裝置提供指示,該指示表明所述至少一些先前接收到的事務(wù)請求已到達(dá)所述響應(yīng)信號產(chǎn)生器的位置。為了使同步請求及阻隔事務(wù)請求返回有意義的響應(yīng),重要的是互連要具有與其相關(guān)的控制電路,以使得阻隔事務(wù)請求的排序相對于在其之前的至少ー些事務(wù)請求而被維持。以這種方式,可從對阻隔事務(wù)請求的響應(yīng)中確定被維持在其之前的那些請求已到達(dá)響應(yīng)點。在一些實施例,所述控制電路包括同步請求復(fù)制電路,用于復(fù)制所述同步請求,并將其傳送到執(zhí)行所述事務(wù)請求的所述至少一個子集的多個其他啟動裝置;所述控制電路還包括保持電路,用于保持接收自所述多個其他啟動裝置的對所述復(fù)制同步請求的響應(yīng)信號,并用于響應(yīng)于對所有所述復(fù)制同步請求的確認(rèn)響應(yīng)的接收,向所述第一啟動裝置發(fā)出同步請求響應(yīng)信號??赡苡些`個以上執(zhí)行事務(wù)請求的子集的啟動裝置,因此同步請求會向其查詢進(jìn)度,在此情況中,同步請求會被復(fù)制并被發(fā)送至所有的這些啟動裝置。此情況中,控制電路在收到來自其向它們發(fā)送了事務(wù)請求的所有啟動裝置的確認(rèn)響應(yīng)之前,將不對同步請求作出響應(yīng)。在一些實施例,所述互連被配置來響應(yīng)于從所述第一啟動裝置接收到阻隔事務(wù)請求而在先前從所述第一啟動裝置接收并路由至所述至少一個接收裝置的事務(wù)請求之后將所述阻隔事務(wù)請求路由到所述至少一個接收裝置,所述控制電路被配置來相對于所述阻隔事務(wù)請求維持所述先前接收到的事務(wù)請求中的至少ー些事務(wù)請求的順序,并且響應(yīng)于對所述阻隔事務(wù)請求的響應(yīng)信號,將所述響應(yīng)信號路由至所述第一啟動裝置,所述響應(yīng)信號向所述第一啟動裝置提供指示,所述指示表明所述先前接收到的事務(wù)請求中的所述至少ー些事務(wù)請求已到達(dá)所述響應(yīng)信號產(chǎn)生器的位置。在一些實施例,所述至少一個子集的事務(wù)請求是存儲器管理操作請求,并且所述同步請求是存儲器管理同步請求,其查詢何時所述存儲器管理操作請求已經(jīng)完成及何時先前發(fā)出的事務(wù)請求已到達(dá)所述互連中的預(yù)定點,所述先前發(fā)出的事務(wù)請求的狀態(tài)將會受到所述存儲器管理操作請求的影響。在一些實施例,所述存儲器管理操作包括虛擬至物理地址轉(zhuǎn)譯的管理,并且所述阻隔事務(wù)維持其排序的所述至少一些事務(wù)包括在執(zhí)行所述存儲器管理操作之前使用虛擬至物理地址轉(zhuǎn)譯的事務(wù)。管理轉(zhuǎn)譯表吋,重要的是使用舊表的先前發(fā)出的事務(wù)請求在表改變前已到達(dá)某點,跟隨在這些事務(wù)請求之后的阻隔事務(wù)是確定何時是這種情況的簡單且良好方式。在一些實施例,所述互連包括響應(yīng)信號產(chǎn)生器,用于響應(yīng)于所述阻隔事務(wù)請求的接收而產(chǎn)生所述響應(yīng)信號。雖然,響應(yīng)信號產(chǎn)生器可位于接收事務(wù)請求的接收裝置內(nèi),其可為執(zhí)行事務(wù)請求的裝置或可為另ー互連,但是,若其位于互連內(nèi)并可早先發(fā)出對阻隔事務(wù)請求的響應(yīng)信號是有利的??赡苤匾氖?,啟動裝置知道事務(wù)請求已到達(dá)接收者。然而,在許多情況中,可布置互連以使得在互連內(nèi)的某點處,則事務(wù)請求已行進(jìn)得足夠遠(yuǎn)而使進(jìn)ー步事務(wù)請求的發(fā)出與先前的事務(wù)請求維持同歩,如果進(jìn)一歩事務(wù)請求在此點處被發(fā)出到互連的話。例如,若互連被布置的方式是使得來自不同端ロ的路徑在互連內(nèi)早先合井,則在這些合并點之外的點處,可安全發(fā)送響應(yīng)及后續(xù)的事務(wù)請求。明顯地早點響應(yīng)可減少系統(tǒng)的延遲并且提高性能。在一些實施例,所述互連電路包括至少ー個領(lǐng)域,所述至少一個領(lǐng)域包括用于從所述至少一個啟動裝置接收事務(wù)請求的至少ー個輸入中的至少ー者,領(lǐng)域邊界被安排成接收自所述至少一個輸入的事務(wù)請求的任何合并發(fā)生在所述至少ー個領(lǐng)域內(nèi);及所述同步請求包括指示器,該指示器指示出其應(yīng)用于所述至少一個領(lǐng)域中的哪個領(lǐng)域;及所述響應(yīng)信號產(chǎn)生器位于所述至少ー個領(lǐng)域的出口點;所述響應(yīng)信號產(chǎn)生器響應(yīng)于檢測到所述阻隔事務(wù)請求經(jīng)過所述出口點而產(chǎn)生響應(yīng)信號;所述控制電路被配置來將所述響應(yīng)信號傳送至以下啟動裝置從該啟動裝置接收到了所述阻隔事務(wù)請求。如前所述,互連電路可包含數(shù)個領(lǐng)域,并且如果這些領(lǐng)域被布置為使得事務(wù)請求的合并發(fā)生在ー領(lǐng)域中,則如果響應(yīng)信號產(chǎn)生器被布置在領(lǐng)域的出口,則要是該領(lǐng)域指示器被選擇以使得可肯定來自所需啟動裝置的事務(wù)請求已在該領(lǐng)域的出口合并,則此點處的響應(yīng)對于向系統(tǒng)指示事務(wù)請求已進(jìn)行至所關(guān)注的所有啟動裝置可見的點來說是非常有幫助的。在一些實施例,所述控制電路被配置為在進(jìn)ー步向所述啟動裝置傳送了所述響應(yīng)信號吋,不發(fā)送所述阻隔事務(wù)。在一些實施例,阻隔事務(wù)請求用來指示啟動裝置何時已到達(dá)互連內(nèi)的某點,該點是根據(jù)要求所選擇。在許多實施例中,這是阻隔事務(wù)的目的,因此,一旦已給定響應(yīng),可能會終止而不進(jìn)ー步傳送。在一些實施例,所述路徑中的至少ー些路徑系發(fā)散自ー節(jié)點的發(fā)散路徑,該控制電路被配置來沿所述至少一些事務(wù)請求所路由的所述發(fā)散路徑的至少ー些路徑復(fù)制和傳送所述至少一些事務(wù)請求及該后續(xù)阻隔事務(wù)請求。在一些路徑是發(fā)散的情況下,重要的是,阻隔事務(wù)請求所追隨的事務(wù)請求沿此兩者路徑移動,直到以收集到來自所有復(fù)制阻隔的響應(yīng)之前,需要復(fù)制且不響應(yīng)阻隔事務(wù)請求。為了讓此情況發(fā)生,在一些實施例,該控制電路包括于該節(jié)點處的保持電路,該保持電路被配置來保持接收自所述復(fù)制阻隔事務(wù)請求的響應(yīng)信號,并僅響應(yīng)于接收ー針對所有所述復(fù)制阻隔事務(wù)請求的響應(yīng)而將所述接收的響應(yīng)信號傳送至該阻隔事務(wù)請求的該來源。本發(fā)明的第四方面提供ー種數(shù)據(jù)處理裝置,包括多個啟動裝置,通過ー互連與至少ー個接收裝置進(jìn)行通信,所述啟動裝置的至少ー者系如本發(fā)明的第二方面的啟動裝置, 該互連系如本發(fā)明的第三方面的互連。本發(fā)明的第五方面提供一種同步一數(shù)據(jù)處理裝置的方法,該數(shù)據(jù)處理裝置包括多個啟動裝置,通過ー互連發(fā)出事務(wù)請求到至少ー個接收裝置,該方法包括以下步驟發(fā)出ー 同步請求,其查詢至少ー個事務(wù)請求子集的進(jìn)度;及將該同步請求路由至所述啟動裝置的至少另ー者,其被配置來執(zhí)行該至少ー個事務(wù)請求子集;自所述啟動裝置的至少另ー者發(fā)出一阻隔事務(wù)請求;將該阻隔事務(wù)請求在先前接收自該至少另ー啟動裝置的事務(wù)請求之后沿所述路徑的至少ー者路由至該至少一個接收裝置以維持所述先前接收的事務(wù)請求的至少ー些事務(wù)請求及一事務(wù)請求信息流中的該阻隔事務(wù)請求的排序;及響應(yīng)于ー響應(yīng)信號, 該響應(yīng)信號系針對將該響應(yīng)信號路由到所述啟動裝置的至少另ー者的該阻隔事務(wù)請求,該響應(yīng)信號提供一指示予該至少另ー啟動裝置,該指示系表明所述先前接收的事務(wù)請求已到達(dá)該響應(yīng)信號產(chǎn)生器的位置;產(chǎn)生ー確認(rèn)信號以響應(yīng)該同步請求,并將該確認(rèn)信號路由至該第一啟動裝置。本發(fā)明的第六方面提供一種確定何時響應(yīng)一接收的同步請求的方法,包括以下步驟通過ー互連發(fā)出事務(wù)請求到ー接收裝置;接收一同步請求,其查詢來自該互連的至少一個事務(wù)請求子集的進(jìn)度;執(zhí)行該至少一個事務(wù)請求子集內(nèi)的任何未決事務(wù)請求;產(chǎn)生一阻隔事務(wù)請求并將該阻隔事務(wù)請求發(fā)出至該互連;響應(yīng)于接收針對該阻隔事務(wù)請求的響應(yīng),發(fā)出ー確認(rèn)信號作為針對該同步請求的響應(yīng)。


參考實施例及隨附圖式更詳細(xì)描述本發(fā)明的實施例,于圖式中圖1示出根據(jù)本發(fā)明一實施例的數(shù)據(jù)處理裝置及電カ控制器;圖2示出同步存儲器管理操作的互連;圖3示出根據(jù)本發(fā)明一實施例的啟動器裝置;圖4示出根據(jù)本發(fā)明一實施例的具有數(shù)個啟動器裝置的數(shù)據(jù)處理裝置、互連及接收裝置;圖5示出根據(jù)本發(fā)明一實施例的具有不同領(lǐng)域的互連的數(shù)據(jù)處理裝置;圖6示出在ー啟動裝置中響應(yīng)同步請求的方法的步驟流程圖;圖7示出根據(jù)本發(fā)明一實施例的在ー啟動裝置中產(chǎn)生同步請求的方法的步驟流程圖;圖8示出根據(jù)本發(fā)明一實施例的同步存儲器管理操作的方法的步驟流程圖;圖9a、9b、10示出互連可以如何分成不同的領(lǐng)域,取決于阻隔所在的領(lǐng)域,可以不同的方式對待阻隔;及圖11示出適合用于處理阻隔的互連。
具體實施例方式圖1示意性地示出數(shù)據(jù)處理系統(tǒng)5,其具有通過互連25與存儲器裝置20通信的兩個處理器10和12。還有電力控制器40,其用于在不活動期間啟動低功率模式,藉此降低系統(tǒng)5的功耗。為了使電カ控制器安全地將系統(tǒng)調(diào)低功率(power down),需要確定任何由處理器PO或Pl發(fā)出的未決事務(wù)請求已經(jīng)完成。因此,它向互連電路25和互連內(nèi)的控制電路 70發(fā)送同步請求,將同步請求路由至PO和P1。響應(yīng)于收到同步請求,處理器PO和Pl發(fā)出任何未決的事務(wù)請求到互連25,然后發(fā)出阻隔事務(wù)請求,以使它們知道它們的事務(wù)請求何時已經(jīng)完成。阻隔事務(wù)請求沿著它們采取的路徑追隨在較早的事務(wù)請求之后,并在可安全將發(fā)出阻隔事務(wù)請求的處理器調(diào)低功率吋,產(chǎn)生對阻隔的響應(yīng),并且該響應(yīng)信號通過控制電路70經(jīng)由保持電路72朝著電カ控制器路由。收到的第一響應(yīng)保持于保持単元72中,直到收到對阻隔事務(wù)請求的響應(yīng)為止,然后單個響應(yīng)被發(fā)送到對系統(tǒng)調(diào)低功率的電カ控制器 40。應(yīng)注意到,電カ控制器發(fā)送的同步信號可以有與之相關(guān)的指示元,該指示元指示出系統(tǒng)的哪一部分將被調(diào)低功率。取決于將被調(diào)低功率的系統(tǒng)部分,處理器PO和Pl可能產(chǎn)生具有與之相關(guān)的指示元的阻隔事務(wù)請求,指示出系統(tǒng)中給出響應(yīng)的點。將于下文中描述利用指示從何處給出響應(yīng)的指示元來提供阻隔事務(wù)請求的這種能力。圖2示出根據(jù)本發(fā)明一實施例的數(shù)據(jù)處理系統(tǒng)50。系統(tǒng)50具有互連25和各種處理器Po、Pl和P2,這些處理器通過互連25彼此通信并且與存儲器20通信。處理器Pl除了處理器之外還具有存儲器管理単元。處理器P2使用外部存儲器管理単元45,外部存儲器管理単元45在去往互連25的路徑上發(fā)送事務(wù)。在此實施例,處理器PO可能產(chǎn)生由Pl之存儲器管理単元和存儲器管理単元45所執(zhí)行的存儲器管理操作,并且在它希望知道這些已完成的某一點吋,將發(fā)送同步請求至互連25??刂齐娐?0接收存儲器管理操作請求,并將它們適當(dāng)?shù)芈酚傻礁鱾€MMU,然后當(dāng)它收到存儲器同步請求吋,如果需要的話則復(fù)制該同步請求并將這(ー個或多個)同步請求路由到其已將存儲器管理操作請求路由到的MMU。一旦發(fā)出了存儲器管理同步請求,處理器PO會發(fā)出同步阻隔并阻擋進(jìn)ー步事務(wù)的發(fā)送。這是因為在這一點上,進(jìn)ー步的事務(wù)需要在存儲器管理操作可以安全地發(fā)出之前已被執(zhí)行。正是出于這個原因而發(fā)出同步請求。然而,由Pl和P2先前發(fā)出的事務(wù)將想要在存儲器管理操生效之前完成。出于這個原因,響應(yīng)于接收到同步請求,每一存儲器管理単元將采取存儲器管理操作,但是它們也將發(fā)送阻隔產(chǎn)生器(此圖中未示出)產(chǎn)生的阻隔至互連25。阻隔將追隨在先前發(fā)出的需要在存儲器管理操作生效之前完成的事務(wù)之后。因此,如果存儲器管理操作是清除將虛擬地址轉(zhuǎn)譯至物理地址的轉(zhuǎn)譯表,則使用舊轉(zhuǎn)譯的任何事務(wù)請求必須于存儲器管理操作完成之前完成。因此,阻隔追隨在這些通過互連25的事務(wù)請求之后,并且在發(fā)出存儲器同步請求的處理器PO可以看到這些事務(wù)請求的點處,產(chǎn)生對這些阻隔事務(wù)請求的響應(yīng),并將響應(yīng)送回發(fā)出阻隔的MMU。每個MMU接收對阻隔事務(wù)請求的響應(yīng),并且如果它已經(jīng)完成了未決的存儲器管理操作,則它將發(fā)送對存儲器管理同步請求之確認(rèn)響應(yīng)信號。這被路由到控制電路70,并保持于保持電路72內(nèi),直到已收到對所有復(fù)制存儲器管理同步請求的響應(yīng)為止。在這種情況下,需要兩個響應(yīng)。當(dāng)收到這兩個響應(yīng)時,控制電路70會傳送到同步確認(rèn)響應(yīng)至處理器P0。 處理器PO將等待該響應(yīng)和對其自己的同步阻隔的響應(yīng),并且當(dāng)它收到這兩者吋,它可以傳送先前進(jìn)ー步阻擋的事務(wù)至互連25。阻隔作出響應(yīng)的點,也就是PO可看見由Pl和P2發(fā)送的事務(wù)請求的點,將詳細(xì)于圖5介紹。圖3示出根據(jù)本發(fā)明的實施例的啟動裝置80。此啟動裝置具有處理器82,處理器 82通過端ロ 85發(fā)送事務(wù)請求到互連。如果這些事務(wù)請求包括存儲器管理操作請求,則其中一些由其自己的MMU 90所執(zhí)行,一些則傳送到連接到該互連的其他啟動裝置的MMU。存儲器管理単元90與轉(zhuǎn)譯后備緩沖器TLB 95通信,并使用存儲在這個緩沖器內(nèi)的轉(zhuǎn)譯表將處理器發(fā)送的指令內(nèi)的虛擬地址轉(zhuǎn)譯成由存儲在處理系統(tǒng)內(nèi)的數(shù)據(jù)所使用的物理地址。存儲器管理操作通常會涉及更新這些轉(zhuǎn)譯表,并且當(dāng)后續(xù)的指令使用新的轉(zhuǎn)譯吋,重要的是要知道,不僅自己的轉(zhuǎn)譯后備緩沖器被更新,由訪問相同存儲器空間的其他MMU所使用之轉(zhuǎn)譯后備緩沖器也被更新。為了確保這種情況,處理器82將發(fā)送存儲器管理同步請求,并且這將由互連路由到各個MMU。此外,阻隔產(chǎn)生器100會產(chǎn)生同步阻隔,并將通過端ロ 85傳送,以追隨使用較早轉(zhuǎn)譯的先前發(fā)出的事務(wù)請求。這個阻隔會在這些事務(wù)請求后面,并且當(dāng)從響應(yīng)信號產(chǎn)生器收到對此阻隔的響應(yīng)時,可以肯定的是,較早的事務(wù)請求也到達(dá)了這一點。一旦啟動裝置80收到對阻隔產(chǎn)生器100所產(chǎn)生的阻隔的響應(yīng)和對存儲器同步請求作出的確認(rèn)響應(yīng),就可以發(fā)出到此時為止它所阻擋的使用新轉(zhuǎn)譯的后續(xù)事務(wù)。在此時,它知道用舊轉(zhuǎn)譯的較早事務(wù)請求已到達(dá)可實施新轉(zhuǎn)譯的點,并且新轉(zhuǎn)譯已實施到可以傳送進(jìn)一歩的事務(wù)的程度。除了發(fā)出存儲器同步請求之外,啟動裝置80也可在端ロ 87從其他啟動裝置接收這些同步請求。這些同步請求追隨在先前已收到并且請求諸如清除在TLB 95的轉(zhuǎn)譯表的存儲器管理操作請求將要實施的存儲器管理操作請求之后。響應(yīng)于接收到存儲器同步請求,MMU 90將執(zhí)行它尚未執(zhí)行的任何未決的存儲器管理操作,并會在阻隔產(chǎn)生器100產(chǎn)生以追隨先前已發(fā)出并使用舊轉(zhuǎn)譯的事務(wù)請求之后。當(dāng)已收到對阻隔事務(wù)請求的響應(yīng)時并已完成存儲器管理操作吋,它將發(fā)送響應(yīng)于存儲器同步請求的同步確認(rèn)響應(yīng)。圖4示出處理器P1、P2和P3,各自具有緩存和它們自己的存儲器管理単元(MMU)。 還存在不具有存儲器管理単元的另ー啟動裝置P4,它通過系統(tǒng)MMU 45連接到互連10,因此它也可以訪問存儲器MEM。存儲器管理単元(MMU)用于使得使用虛擬地址的處理器與使用物理地址的存儲器進(jìn)行通信。因此,MMU將保持將虛擬地址映射到物理地址的虛擬到物理地址轉(zhuǎn)譯表,并且從處理器到存儲器的訪問將使用到這些表。在諸如圖4所示的多處理器系統(tǒng)中,存儲器管理系統(tǒng)實際上是分布式系統(tǒng),在系統(tǒng)內(nèi)的不同點具有數(shù)個MMU。使用相同地址轉(zhuǎn)譯的這些或這些的至少ー個子集必須相互保持一致,因此,由一者發(fā)出的存儲器管理事務(wù)可能不得不應(yīng)用到其他幾者。因此,如果例如ー個MMU中的轉(zhuǎn)譯表將被清除而使用一組新的轉(zhuǎn)譯,則此存儲器管理操作必須在使用相同地址轉(zhuǎn)譯的所有MMU上執(zhí)行。這些存儲器管理事務(wù)有很長的時延,因此可顯著影響性能。此外,系統(tǒng)可能沒有辦法知道什么時候這些事務(wù)中的一些事務(wù)是完成的,并且阻隔是管理與這些事務(wù)有關(guān)的排序要求的特別有效方式。因此,如果例如P2發(fā)出了ー些MMU維護(hù)事務(wù)至MMU和互連,控制電路70將維護(hù)請求轉(zhuǎn)發(fā)到其他使用相同地址轉(zhuǎn)譯的MMU,這些MMU都將確認(rèn)對這些維護(hù)請求的接收,但它們有一段時間可能不會對這些維護(hù)請求進(jìn)ー步進(jìn)行下去,或者它們也可能開始處理這些維護(hù)請求,但因為它們需要一些時間來處理,所以可能需要一段時間才完成。在P2發(fā)出使用新轉(zhuǎn)譯的事務(wù)之前,它可能需要知道在某一特定點維護(hù)請求已完成。因此,它將追隨在維護(hù)請求之后的同步請求發(fā)送至其MMU和互連,以轉(zhuǎn)發(fā)給每ー適當(dāng)?shù)腗MU。此實施例中,在使用新頁面的后續(xù)事務(wù)可由P2發(fā)出之前,它需要知道使用舊頁表的所有事務(wù)已經(jīng)到達(dá)了它們的目的地。因此,除了發(fā)送同步請求之外,它也發(fā)送同步阻隔事務(wù)請求以追隨其本身發(fā)出并使用舊轉(zhuǎn)譯的先前發(fā)出的事務(wù)請求,然后它將阻擋進(jìn)ー步事務(wù)請求的發(fā)出。MMU將通過發(fā)出維護(hù)請求及發(fā)出阻隔來對同步請求的接收作出反應(yīng)以追隨維護(hù)請求。阻隔用于追隨先前發(fā)出的使用舊轉(zhuǎn)譯的請求,這樣ー來,對指示其已到達(dá)其目的的阻隔的響應(yīng)指示出將使用舊頁表的所有未決事務(wù)將已到達(dá)目的地。當(dāng)從MMU處的阻隔接收到響應(yīng)時,若MMU已執(zhí)行存儲器管理請求,它將發(fā)送對同步請求的確認(rèn)響應(yīng)并且這被存儲在保持電路52中,直到接收到同步請求的所有MMU收到響應(yīng)為止,同步答復(fù)在該點處被發(fā)送到 P2,并且若P2已收到對它發(fā)出的同步阻隔的響應(yīng),則它可以發(fā)出進(jìn)ー步的事務(wù)。應(yīng)注意到,響應(yīng)于同步請求而由各個MMU發(fā)出的阻隔用于讓發(fā)出者知道所有在它們之前發(fā)出的它們所控制的所有事務(wù)何時已經(jīng)到達(dá)ー特定點。它們不阻擋在它們之后的事務(wù),因此與其相關(guān)的時延只有很小的増大。就一些存儲器管理事務(wù)而言,重要的是,在管理操作完成之前不發(fā)出事務(wù)。例如, 如果要使用一組新的轉(zhuǎn)譯,重要的是,不發(fā)出使用新轉(zhuǎn)譯的任何事務(wù),直到存儲器管理事務(wù)在任一處已經(jīng)完成為止。就發(fā)出虛擬存儲器管理同步請求的主裝置P2而言,其產(chǎn)生于阻隔產(chǎn)生器62處并且在該同步請求之后發(fā)送的阻隔會阻擋在主裝置處。同步請求將查詢所有MMU關(guān)于它們具有的任何未決的虛擬存儲器管理操作,直到主裝置P2已收到指示出所有未決的虛擬管理操作已完成的響應(yīng)以及對指示出它所發(fā)出的先前事務(wù)已達(dá)到一特定點的它所發(fā)出的阻隔的響應(yīng),在這種情況下,響應(yīng)是從MEMl內(nèi)的響應(yīng)產(chǎn)生器55給出的,但在其他實施例中,它可能是從互連內(nèi)的早先響應(yīng)單元給出的。應(yīng)當(dāng)注意,雖然為主裝置P2示出這些不同特征,但是用于控制其他主裝置發(fā)出的事務(wù)的其他電路是存在的,但未示出。圖5示出一些領(lǐng)域如何可以用在本發(fā)明實施例的ー些領(lǐng)域。在這個實施例中,互連25具有以虛線51和52表示的領(lǐng)域。虛線52表示ー領(lǐng)域,來自PO和Pl的事務(wù)將于該領(lǐng)域內(nèi)合并。在領(lǐng)域52的出口處有ー早先響應(yīng)產(chǎn)生器110,一旦事務(wù)請求經(jīng)過這一點,它們已經(jīng)與來自另ー處理器的事務(wù)請求合井,因此對雙方都是可見的。因此,如果系統(tǒng)只有兩個處理器PO和P1,來自響應(yīng)產(chǎn)生器110的對阻隔事務(wù)請求的響應(yīng)將指示出阻隔和它所控制的任何事務(wù)請求已到達(dá)另ー處理器可看見每個處理器的事務(wù)的點。因此,就執(zhí)行于轉(zhuǎn)譯表上的虛擬至物理地址轉(zhuǎn)譯的存儲器管理操作而言,一旦使用舊表的較早事務(wù)請求已經(jīng)到達(dá)了這一點,就可以實施新的轉(zhuǎn)譯表。因此,如果領(lǐng)域指示元被加到任何阻隔事務(wù)請求(表示在由52界定的范圍內(nèi)不允許任何響應(yīng)),則對阻隔的響應(yīng)將表示這些事務(wù)請求已經(jīng)離開這個領(lǐng)域。位于領(lǐng)域邊界的響應(yīng)產(chǎn)生器意味著響應(yīng)在符合該條件時立即發(fā)送。應(yīng)注意到,在一些實施例,同步事務(wù)請求可能本身包含指示元,該指示元指示出正在同步的事務(wù)在同步發(fā)生之前需要在其外的領(lǐng)域。如果是這樣的情況下,則阻隔產(chǎn)生器可以獲取所有有關(guān)可從同步請求發(fā)送響應(yīng)的位置的信息,它只需要將同步請求的領(lǐng)域指示元加至阻隔。圖6示出根據(jù)本發(fā)明的實施例的在主裝置中對同步請求作出響應(yīng)的方法中的步驟的流程圖。主裝置發(fā)出事務(wù)請求到互連。然后,它接收存儲器管理操作請求,它確認(rèn)存儲器管理操作請求并可能立即執(zhí)行或者可能不立即執(zhí)行。然后,它接收存儲器管理同步請求, 它針對該請求來執(zhí)行它尚未執(zhí)行的任何未決存儲器管理請求,然后發(fā)出追隨在它發(fā)出的較早事務(wù)請求之后的阻隔事務(wù)請求。當(dāng)已從阻隔收到指示出較早的事務(wù)請求已進(jìn)行至給出響應(yīng)的一點之外的響應(yīng)吋, 并且當(dāng)它已經(jīng)完成了存儲器管理操作吋,它將對同步請求作出響應(yīng)。這樣一來,啟動裝置指示出它已經(jīng)執(zhí)行了所要求的存儲器管理操作,且其先前的事務(wù)已進(jìn)行到超過ー特定點,此點是發(fā)出了響應(yīng)的響應(yīng)信號產(chǎn)生器的位置。正如針對先前的附圖所提及的,可以利用阻隔的適當(dāng)特性來選擇此點。圖7示出圖示了啟動裝置所執(zhí)行的方法中的步驟的流程圖,啟動裝置通過互連與接收裝置和至少ー個其他啟動裝置進(jìn)行通信,并請求存儲器管理操作和同歩。該啟動裝置發(fā)出事務(wù)請求,然后在要求存儲器管理操作吋,發(fā)出請求以傳送到其他啟動裝置。在處理的特定點時,它需要知道這些已經(jīng)執(zhí)行,因此它發(fā)出存儲器管理同步請求并且還發(fā)出同步阻隔請求。同步阻隔請求被發(fā)出到互連并在傳送到接收裝置且需要在存儲器管理操作生效之前已進(jìn)行至一特定點外的先前發(fā)出的事務(wù)請求之后經(jīng)過互連。在已經(jīng)發(fā)出同步阻隔請求之后,啟動裝置阻止進(jìn)ー步事務(wù)請求的發(fā)出,因為這些需要存儲器管理操已被執(zhí)行。當(dāng)已收到對同步阻隔和存儲器管理同步請求的響應(yīng)時,啟動裝置移除對進(jìn)一歩事務(wù)請求的阻止,所以這些可被發(fā)出到互連。圖8示出圖示了在數(shù)據(jù)處理裝置的互連內(nèi)路由事務(wù)請求的方法的流程圖,數(shù)據(jù)處理裝置具有數(shù)個啟動裝置通過互連連接到至少ー個接收裝置。在第一歩驟,從第一和其他啟動裝置接收事務(wù)請求并路由到一個或多個接收裝置。然后從第一啟動裝置接收存儲器管理操作請求,這些都需要存儲器管理操作被其他啟動裝置執(zhí)行,所以它們將被路由到這些其他啟動裝置。這些啟動裝置可為單獨存在的MMU或者也可為具有MMU的處理裝置。然后從第一啟動裝置接收存儲器管理同步請求,此請求查詢存儲器管理操作請求是否已執(zhí)行, 以及其他啟動裝置所發(fā)出的在存儲器管理操作已完成之前應(yīng)到達(dá)互連內(nèi)ー特定點的其他事務(wù)請求的進(jìn)度。存儲器同步請求被復(fù)制并傳送給收到了存儲器管理操作請求的其他啟動
ciF·
O然后從第一啟動裝置接收同步阻隔請求,并在接收自第一啟動裝置且傳送到接收裝置的事務(wù)請求之后路由。互連電路相對于同步阻隔請求,維持接收自第一啟動裝置的事務(wù)請求的順序,以使該同步阻隔請求提供指示給第一啟動裝置,以指示其追隨的事務(wù)請求的進(jìn)度。然后接收對同步阻隔請求的響應(yīng)并路由到第一啟動裝置,第一啟動裝置會知道在同步阻隔請求之前的事務(wù)請求已到達(dá)響應(yīng)信號產(chǎn)生器的位置。然后從其他啟動裝置接收阻隔事務(wù)請求,并且在從各個其他啟動裝置接收的事務(wù)請求之后路由。事務(wù)請求相對于阻隔的排序然后由互連控制電路維持。然后接收對阻隔的響應(yīng)并發(fā)送到發(fā)出阻隔的各個其他啟動裝置,這樣ー來,這些啟動裝置知道在阻隔之前傳送的事務(wù)請求已到了發(fā)出響應(yīng)的位置。這樣,它們可以確定何時要對它們收到的同步請求作出響應(yīng)。然后從其他啟動裝置接收對復(fù)制的存儲器同步請求的響應(yīng),當(dāng)接收到所有響應(yīng)吋,發(fā)送確認(rèn)響應(yīng)到第一啟動裝置。這樣ー來,阻隔的使用及通過互連對阻隔的控制用來確定各種事務(wù)請求的進(jìn)度,并允許不同的組件被同歩。如前所述,互連可劃分為領(lǐng)域,如果適當(dāng)選擇領(lǐng)域的特性,則在領(lǐng)域出ロ的響應(yīng)可以用來向啟動裝置表明特定的事務(wù)請求已經(jīng)到達(dá)一定數(shù)量的其他輸入端ロ可見的一點。一般而言,有數(shù)種不同方式將主裝置及互連的不同部分分組為不同領(lǐng)域,并控制領(lǐng)域內(nèi)的阻隔和事務(wù)以確保在不會過度増加時延的情況下維持了事務(wù)的正確排序。在這方面,已經(jīng)認(rèn)知到,如果施以某些規(guī)則在與領(lǐng)域有關(guān)的互連的拓?fù)渖?,則阻隔會有可用以減少阻隔的時延的特定特性。以特定方式安排領(lǐng)域可能會對所允許的系統(tǒng)拓?fù)洚a(chǎn)生限制,但也可能減少阻隔產(chǎn)生的時延,因此不同的領(lǐng)域可能實施方式各有優(yōu)點和缺點,這在下文描述。在所有的領(lǐng)域安排中,如果阻隔事務(wù)被標(biāo)記為與一特定領(lǐng)域有關(guān),則除了在重會聚(reconvergent)區(qū)域,當(dāng)它在領(lǐng)域外時總是可以響應(yīng),然而當(dāng)某些類型的阻隔在標(biāo)記領(lǐng)域內(nèi)時是不能不被阻擋的。在第一種“空”實現(xiàn)方式中,不考慮這些領(lǐng)域。將所有阻隔視為適用于該系統(tǒng)所有部分中的所有事務(wù)。顯然地,此種方式性能低,因為由阻隔造成的時延會很高。然而,此方式允許未經(jīng)限制、任意的領(lǐng)域成員資格(即便該成員資格沒有作用)和拓?fù)洌乙蚨偸强杀唤?。這在邏輯上等同于所有領(lǐng)域在其所有領(lǐng)域中包括所有主裝置。在ー替代性的“近似空”實現(xiàn)方式中,有和每ー主裝置相關(guān)的非共享領(lǐng)域,且在此領(lǐng)域外,會利用不同的方式來處理與這些領(lǐng)域相關(guān)的阻隔。由于ー非共享阻隔在來自主裝置的輸入之外的任何地方都位于其可共享性領(lǐng)域之外,因此可在整個互連中將其視為這樣來處理,且因而其在該互連的所有非再匯聚部分中都是非阻斷的。將其他可共享性領(lǐng)域阻隔事務(wù)視為位于空實現(xiàn)方式中來處理。這在邏輯上等同于使得該非共享領(lǐng)域邊界作為發(fā)出者或主裝置輸入,且所有其他領(lǐng)域含有所有其他主裝置。ー替代性的“簡單”實現(xiàn)方式具有某些受限制的拓?fù)湟约拜^佳的性能。此種方式會產(chǎn)生兩種不同的解決方案,這取決于可接受的限制程度。上述這些方法都可使用以下三種對于可共享性領(lǐng)域成員資格的限制。1.觀察者的非共享領(lǐng)域本身是單獨的。2.觀察者的系統(tǒng)可共享性領(lǐng)域至少包含所有可和其直接或間接通訊的其他觀察
ο3.觀察者的內(nèi)部共享領(lǐng)域的所有成員亦為其外部共享領(lǐng)域的成員。上述限制的前兩種是由第三種限制所施加的限制。此外,上述兩種方案具有特定的拓?fù)湎拗疲约翱赡艿念~外可共享性領(lǐng)域成員資格限制。上述兩種實施方式的第一種需要一種限制以要求每ー位置位于單ー領(lǐng)域中,且因此,這取決于該互連中的每一位置只位于ー種領(lǐng)域中(內(nèi)部、外部或系統(tǒng))。為了達(dá)到此ー 目的,必須實施ー種額外的可共享性領(lǐng)域成員資格限制任何觀察者的任何可共享性領(lǐng)域的所有成員必須將該可共享性領(lǐng)域的所有其他成員作為與其具有相同等級的可共享性領(lǐng)域的成員。即,若觀察者B是觀察者A的內(nèi)部共享領(lǐng)域的成員,則相對地,A必須是B的內(nèi)部可共享性領(lǐng)域的成員。必須符合的拓?fù)湎拗迫缦?.領(lǐng)域邊界必須包含該領(lǐng)域的所有成員2.在ー領(lǐng)域外沒有東西可合并至該領(lǐng)域中——即該領(lǐng)域邊界必須不得包含位于不在該領(lǐng)域邊界中的任何東西下游的任何東西3.所有領(lǐng)域邊界必須位于領(lǐng)域二等分鏈接上用較簡單的方式來說明,在此情形中,可將該區(qū)域邊界視為表示高度的組件布局之等高線(其中允許垂直面但不允許懸垂)。每ー主裝置位于相同的高度,且每一可共享性領(lǐng)域輪廓也和其他相同類型者處于相同的高度??稍试S垂直的懸崖,以使得不同類型的可共享性領(lǐng)域可以是相同的,但不允許可能會造成可共享性領(lǐng)域交叉的懸垂。這些拓?fù)湎拗埔蟛豢蓪⑷魏螙|西合并至領(lǐng)域中——該領(lǐng)域的成員(這會違反限制1)和非成員(這會違反限制2)都不行。如果位于一成員下游的分支離開了該領(lǐng)域,且之后重新合并到其中而沒有同時合并某些位于該領(lǐng)域外的東西,則在離開與重新進(jìn)入之間的該部分仍有效地位于該領(lǐng)域中。拓?fù)浜皖I(lǐng)域成員資格限制組合起來,可確保在其可共享性領(lǐng)域中,一阻隔不會遇上來自位于該領(lǐng)域外之觀察者的事務(wù),且當(dāng)其離開該領(lǐng)域時,其已經(jīng)合并了來自其將會合并的該領(lǐng)域中的所有成員的所有事務(wù)流。它們亦可確保位于任何內(nèi)部共享領(lǐng)域之外的任何位置都是位于所有內(nèi)部共享領(lǐng)域之外,且若位于任何外部共享領(lǐng)域外部也就位于所有外部共享領(lǐng)域之外。正因為如此,可僅通過將ー阻隔的可共享性領(lǐng)域和一分支點所處領(lǐng)域的領(lǐng)域類型進(jìn)行比較,來確定對于該阻隔在該分支點是否為阻斷的要求,因為該阻隔位于此ー受限制的系統(tǒng)的該領(lǐng)域之外,就隱含地符合了在該位置下游不可有該可共享性領(lǐng)域之成員進(jìn)行合并的此一要求??赏ㄟ^以下任ー種方式來實現(xiàn)此一機(jī)制明白地指出該阻隔位于其可共享性領(lǐng)域之外,這會需要在領(lǐng)域出口點上有一顯式檢測組件;或在每ー相關(guān)分支點上確定該狀態(tài)。上述兩種實現(xiàn)方式的第二種允許在多個領(lǐng)域中的多個位置。此種實現(xiàn)方式取決于當(dāng)一阻隔事務(wù)通過所指明的可共享性領(lǐng)域的邊界時,該阻隔事務(wù)所受的修改,而使得一旦當(dāng)其離開其可共享性領(lǐng)域吋,可通過進(jìn)行該轉(zhuǎn)換而使其變成非阻斷。當(dāng)其通過其所指明領(lǐng)域的一內(nèi)部或外部共享領(lǐng)域而朝向非共享領(lǐng)域且將其標(biāo)記為非共享時,就可以知道其位于其領(lǐng)域之外且因而可以是非阻斷的。在此種情形中,對于可共享性領(lǐng)域成員資格的額外限制較為寬松對于任兩個可共享區(qū)域(A與B),A的所有成員必須也是B的成員,或是B的所有成員也必須是A的成員,或以上兩種情形都成立(在此情形中,A和B是相同的)。換句話說,領(lǐng)域邊界不會交叉。需要相同的拓?fù)湎拗?.領(lǐng)域邊界必須包含該領(lǐng)域的所有成員為了讓拓?fù)渚哂凶畲箪`活性,必須剛好能夠解構(gòu)拓?fù)浣M件(分支與合并)而使得能夠勾勒出領(lǐng)域邊界,而使得2.位于ー領(lǐng)域外的任何東西都不能合并到該領(lǐng)域中——即,該域邊界必須不包含位于不在該區(qū)域邊界內(nèi)的任何東西下游的任何東西3.該領(lǐng)域邊界會越過領(lǐng)域二等分鏈接最后,會施行ー額外的拓?fù)湎拗?,以補(bǔ)償因為較寬松的領(lǐng)域成員資格限制所致的問題4.沒有邊界位置可用于不同主裝置的不同數(shù)目的領(lǐng)域(此處排除了其位置已經(jīng)位于其外部可共享性領(lǐng)域之外的主裝置)。限制4確保當(dāng)一阻隔因為越過ー領(lǐng)域邊界而必須被修改時,它會越過它所處的所有領(lǐng)域的邊界。這可以確保修改操作不會因該阻隔的起始裝置而異。若一阻隔經(jīng)過修改且獲得了非阻斷狀態(tài),當(dāng)然可將其接通(若其系位于一二等分鏈路上),但在某些情形中,即便其位于ー交叉耦合鏈路上,仍可將其接通。若越過該領(lǐng)域邊界的該鏈接是領(lǐng)域二等分鏈接(亦即,其就該領(lǐng)域而言是二等分的,即它們不會和來自其本身之領(lǐng)域的路徑合井,而只會和來自其他領(lǐng)域的路徑合并),則可在該處進(jìn)行對該阻隔事務(wù)的修改,且亦可在該點進(jìn)行上述接通。在以下情形,可以省略限制2:除了在領(lǐng)域出口上將所指領(lǐng)域朝向非共享改變以外,還在領(lǐng)域進(jìn)入點上將改變所指領(lǐng)域使其遠(yuǎn)離非共享。這需要一種沒有飽和的領(lǐng)域指示元,或?qū)晒┻M(jìn)入的領(lǐng)域數(shù)目加以限制,而使得飽和情形不會發(fā)生。此外,這會導(dǎo)致已經(jīng)進(jìn)入一領(lǐng)域的阻隔變成能夠阻斷來自該區(qū)域之非成員(這是因為它們的所指范圍增加)的事務(wù)。圖9a非常概要地示出了在ー互連內(nèi)的上述領(lǐng)域的實現(xiàn)方式。該圖中所示出的主裝置位于互連內(nèi),但在實際上,它們當(dāng)然可以位于互連之外。每ー主裝置200、220、M0J60、 280具有直接位于其周邊的一流或非共享領(lǐng)域120、122、124、126、127,這些流或非共享領(lǐng)域可能僅和該主裝置所產(chǎn)生的事務(wù)相關(guān)。接著,有ー些下ー層級的領(lǐng)域,其可包含多個主裝置或就是該同一主裝置,因此,同樣地,主裝置200與220有其非共享領(lǐng)域,且之后具有位于其周邊的內(nèi)部領(lǐng)域121 ;而主裝置240具有內(nèi)部領(lǐng)域125、主裝置260具有非共享領(lǐng)域1 與內(nèi)部領(lǐng)域127且主裝置觀具有非共享領(lǐng)域1 與內(nèi)部領(lǐng)域129。接著,還有圍繞其設(shè)置的外部領(lǐng)域,在此實施例情形中,上述外部領(lǐng)域為領(lǐng)域31與33。之后有系統(tǒng)領(lǐng)域,也就是整個互連。如圖所述,這些領(lǐng)域完全位于彼此之內(nèi),且并未以任何方式相交。還有ー個限制是來自這些領(lǐng)域的所有出ロ路徑都是二等分路徑。通過這樣限制這些區(qū)域,可以確定離該這些領(lǐng)域的事務(wù)會以特定的方式離開,且當(dāng)它們離開二等分路徑時,若是在該領(lǐng)域內(nèi)該阻隔正常發(fā)揮功用,則它們會以正確的順序離開。這使得能夠以ー種特定的方式相對于這些領(lǐng)域來控制阻隔事務(wù)。圖9b概要示出前往ー領(lǐng)域的一出口節(jié)點135,該領(lǐng)域包含主裝置p0與pi。此出 ロ節(jié)點135受到控制電路系統(tǒng)70的控制,且在此點上,已知任何阻隔事務(wù)與受其控制的事務(wù)都處于正確的順序。現(xiàn)在,如上文所述,阻隔事務(wù)不必然控制所有事務(wù),但可控制特定主裝置產(chǎn)生的事務(wù)或?qū)儆谔囟üδ艿氖聞?wù)。在可共享性領(lǐng)域的情形中,阻隔事務(wù)被標(biāo)記成可控制來自特定領(lǐng)域的事務(wù)。因此, 可將一事務(wù)標(biāo)記為系統(tǒng)阻隔事務(wù),因為其控制所有事務(wù);可將其標(biāo)記為控制來自一流或非共享領(lǐng)域、來自ー內(nèi)部領(lǐng)域或來自一外部領(lǐng)域的事務(wù)。在任何情形中,當(dāng)一阻隔事務(wù)離開一領(lǐng)域吋,在本實現(xiàn)方式中,此阻隔事務(wù)可以減少此階層,而使得若其為一外部領(lǐng)域阻隔,當(dāng)其離開該內(nèi)部領(lǐng)域時,可將其降級為控制來自內(nèi)部領(lǐng)域之事務(wù)的阻隔事務(wù),且當(dāng)其離開該外部領(lǐng)域吋,其會使得受其控制之階層降級為ー非共享領(lǐng)域,在該處沒有事務(wù)會受到其延遲??梢赃_(dá)成上述目標(biāo)是因為在此點上,相對于此阻隔排定了所有事務(wù)的順序,且前提是沒有再匯聚路徑,則該互連可以確定該順序是正確的。應(yīng)注意到,當(dāng)系統(tǒng)阻隔離開領(lǐng)域的時候并不會改變,因為它們永遠(yuǎn)適用于位于任何地方的任何東西。應(yīng)注意到,若在ー領(lǐng)域內(nèi)有再匯聚路徑,則任何非阻斷阻隔在越過該再匯聚區(qū)域時必須變成阻斷。若有進(jìn)ー步的互連引入了再匯聚路徑,并將此互連連接至具有這些領(lǐng)域的一互連,則用已控制阻隔的領(lǐng)域系統(tǒng)就無法運作了。若加入了會影響這些區(qū)域與其層系的一互連,則應(yīng)控制該系統(tǒng)而使得當(dāng)該阻隔事務(wù)離開該領(lǐng)域時,不會降級該阻隔事務(wù)中的該可共享性領(lǐng)域指示元。應(yīng)注意到,對于再匯聚區(qū)域,可限制前往特定地址的某些事務(wù)而使其沿著一特定路徑而通過該再匯聚區(qū)域,且在此種情形中,該再匯聚區(qū)域?qū)τ谠摰刂范圆⒎菂R聚,可限制一互連而使得對所有地址而言,事務(wù)都會沿著一特定路徑傳送前往ー特定地址,在此種情形中可將任何再匯聚區(qū)域視為ー交叉耦合區(qū)域來處理,這樣做的優(yōu)點來自于一再匯聚區(qū)域會對系統(tǒng)造成可觀的限制。受限于互連配置的方式,一領(lǐng)域中任合并未標(biāo)記為ー非共享阻隔的阻隔事務(wù)實際上都可以控制其所遇上之任何領(lǐng)域的事務(wù),因為他不會遇上來自另ー領(lǐng)域的事務(wù)。被標(biāo)記為非共享阻隔的一阻隔事務(wù)不會延遲位于其后的任何事務(wù),然而,沒有其他事務(wù)可相對于此事務(wù)而重新排序。如此ー來,通過這般布置這些互連領(lǐng)域,且通過在該領(lǐng)域的出口上降低該指示元的層級,提供了一種簡單的方法以決定該阻隔事務(wù)是否必須延遲其所遇上的所有事務(wù)或不延遲的事務(wù),而該控制組件無須精確地知道這些事務(wù)位于互連中的何種領(lǐng)域。另ー種可能的領(lǐng)域?qū)崿F(xiàn)方式為“復(fù)雜”實現(xiàn)方式。其用于認(rèn)為上述拓?fù)湎拗苹蝾I(lǐng)域成員資格限制過于嚴(yán)格的情形中。假設(shè)應(yīng)保持針對非共享及系統(tǒng)領(lǐng)域成員資格的限制, 所需要的信息是ー種列表以明確地列舉出可將何種阻隔發(fā)出裝置與可共享性區(qū)域的組合視為在該位置為非阻斷的。因此,此處并非由阻隔本身來決定阻隔的阻斷性質(zhì)(如參照圖 fe與圖恥所述的實現(xiàn)方式),而是由該位置以及存儲于該位置的區(qū)域信息來決定該阻隔的阻斷本質(zhì)??赏ㄟ^在每ー相關(guān)位置的兩種列表來達(dá)成此目的,一列表是用于內(nèi)部共享領(lǐng)域, 而另一列表用于外部共享領(lǐng)域。每一列表指明位置位于該領(lǐng)域外的該組阻隔源。或者是, 可存儲一列表其中以二位數(shù)值來指明該位置系位于該來源的何種可共享性領(lǐng)域之外。不論如何表示上述信息,其很明顯地更為復(fù)雜且難以允許設(shè)計重新使用,因為當(dāng)重新使用一系統(tǒng)時,要表示該領(lǐng)域信息的要求各不相同。圖10示出此ー互連的實施例。此互連由四個主裝置SO、Si、S2或S3接收事務(wù)請求。SO與Sl系位于ー內(nèi)部領(lǐng)域200中,而S2或S3系位于ー內(nèi)部領(lǐng)域201中,四個主裝置皆位于一外部領(lǐng)域202內(nèi)。還有其他未示出的主裝置并具有其他領(lǐng)域。在位置210,其對于來自S2的事務(wù)系位于該內(nèi)部領(lǐng)域中且對于來自SO或Sl的事務(wù)系位于該外部領(lǐng)域中。因此,可據(jù)此標(biāo)記此一位置,且當(dāng)接收到阻隔吋,可以決定這些阻隔系有關(guān)于何種領(lǐng)域,且因此,可決定該阻隔是否位于其領(lǐng)域的外部。因此,適用于SO、Sl 內(nèi)部領(lǐng)域的一阻隔系位于其領(lǐng)域之外,且可取決于實施方式而如是標(biāo)記該阻隔或可傳送ー 早期響應(yīng)。很明顯地,這非常復(fù)雜。對此的一種替代性方案是保守復(fù)雜實現(xiàn)方式。此ー實施方式系用于當(dāng)需要復(fù)雜實現(xiàn)方式之組件布局與區(qū)域成員資格自由,但必須避免其實現(xiàn)方式與重新使用問題的情形。 在此種情形中,可以使必須表現(xiàn)出領(lǐng)域-位置-特定行為的每一組件認(rèn)定其本身屬于ー特定領(lǐng)域?qū)蛹墸铱蛇_(dá)成正確的行為。若該組件認(rèn)定其本身屬于其實際上所處的任何領(lǐng)域中的最小領(lǐng)域中吋,則其對于實際上位于本身領(lǐng)域之外的阻隔之行為會是保守(但正確)的, 且對于實際上位于本身領(lǐng)域內(nèi)的阻隔之行為會是正確的。就此,應(yīng)注意到,可在適當(dāng)處改變阻隔、領(lǐng)域或事務(wù)的性質(zhì),使得其能夠以更有效率的方式被處理,前提是它們的改變是變得更具限制性。因此,可將標(biāo)記為內(nèi)部的一阻隔視為一外部阻隔來處理。通過這種方法,需要知道領(lǐng)域的組件可以程序設(shè)計或配置為具有單ー領(lǐng)域(在有內(nèi)部領(lǐng)域成員的安全默認(rèn)值的狀態(tài),這可以用來啟動電源)。因此,在這個實施,領(lǐng)域內(nèi)的位置是標(biāo)記為具有其為成員的領(lǐng)域中最嚴(yán)格的行為的特性,其是除了非共享領(lǐng)域外最低層級的領(lǐng)域。在該位置的阻隔事務(wù)會被視為在此領(lǐng)域中。在這種安排下,允許領(lǐng)域是其他領(lǐng)域的部分子集。在這種安排下,取決于它們所在的最低層級或最小共享領(lǐng)域,互連中的位置是標(biāo)記為在ー特定領(lǐng)域中,而不是在它離開領(lǐng)域吋, 改變阻隔上的標(biāo)記,以在不需要知道所處互連的情況下,調(diào)整阻隔的阻擋行為。在圖10的例子中,例如,不需要三種不同的標(biāo)記來標(biāo)記位置210,只以它所在的最小的共享領(lǐng)域來標(biāo)記,亦即內(nèi)部。因此,在這種情況下,任何標(biāo)記為內(nèi)部或外部的阻隔是視為在此領(lǐng)域內(nèi),來自SO、Sl內(nèi)部領(lǐng)域的阻隔將被視為在其領(lǐng)域內(nèi),即使它并非如此。因此, 沒有早先響應(yīng)可以發(fā)送,且互連的時延將増加,這是這種方法的缺點。然而,標(biāo)計領(lǐng)域會更為簡単,如同決定阻隔是否在領(lǐng)域內(nèi)。圖11示出互連100和如何處理阻隔的一般情況。互連100將多個主裝置200、220、240和260通過多個路徑連接到多個從裝置300、320、340和360。這些路徑可能有交叉耦合的部分,例如400處所示,兩個路徑的每一路徑在各自的分叉點410和420分成兩個,在合并點440和450合并。也可能有二分路徑,例如在500所示。有些路徑是互連中兩個節(jié)點之間的唯一連接,使得切斷路徑將會使互連分成兩個部分。當(dāng)事務(wù)沿著這些不同路徑移動時,路徑的本質(zhì)(亦即這些路徑是交叉耦合還是二等分)會影響這些事務(wù)的順序。舉例來說,一交叉耦合路徑的起點是一分支點,其可將該事務(wù)流切分成多重事務(wù)流,而在該分支點之前位于另一事務(wù)后的一事務(wù)可能會比原本在前面的事務(wù)到達(dá)目的地之前更早到達(dá)其本身的目的地。沿著二等分路徑移動的事務(wù)必須保持其順序,除非有某些功能單元允許重新排序,上述功能單元如一重新排序緩沖區(qū)(例如圖中所例示的60)??衫弥匦屡判蚓彌_區(qū)來重新排序事務(wù),以允許具有較高優(yōu)先級的事務(wù)在一較低優(yōu)先級的事務(wù)之前傳輸?shù)綇难b置。亦有一些所謂的再匯聚路徑,其中先前分開的路徑又匯合在一起,且這亦可能造成該事務(wù)流內(nèi)的重新排序?;ミB100不具有任何再匯聚路徑。多個事務(wù)到達(dá)其個別目的地的順序可能會與其傳送順序不同的事實,對于取決于先前事務(wù)的后續(xù)事務(wù)(且因此必須先完成先前事務(wù))而言,可能會導(dǎo)致一些問題。舉例來說,若在事務(wù)流中有前往相同地址的一存儲指令位于一加載指令之前,則在加載之前先完成存儲是非常重要的,不然載入動作會讀取到不正確的數(shù)值。為了讓程序設(shè)計者能夠確保所需的事務(wù)以所需的順序到達(dá)目的地,互連100經(jīng)設(shè)置可用以響應(yīng)該事務(wù)流中的阻隔事務(wù),以保持該互連中的事務(wù)相對于該阻隔的順序。因此,可在不應(yīng)趕過彼此的事務(wù)之間插入一阻隔事務(wù),而這可以確保不會發(fā)生重新排序的問題。該互連可通過延遲在于該互連內(nèi)傳遞的該事務(wù)流中位于該阻隔事務(wù)之后的事務(wù),來響應(yīng)這些阻隔事務(wù),直到已經(jīng)接收到對于該阻隔事務(wù)的一響應(yīng)信號為止。該響應(yīng)信號指明已經(jīng)可以安全的傳送一后續(xù)指令。應(yīng)注意到,清空一路徑的一響應(yīng)信號可能可以是一種指明該較早的事務(wù)已全部完成的信號,或其可以僅是一種指明該阻隔事務(wù)已經(jīng)沿著一路徑傳送(若,舉例來說,該路徑為二等分路徑)的信號,或該阻隔已經(jīng)到達(dá)傳送出一早期清空響應(yīng)信號的一節(jié)點并可再度進(jìn)行阻斷。該互連亦可僅沿著各種路徑在該先前事務(wù)之后傳送該阻隔事務(wù),而使得當(dāng)檢測到該阻隔到達(dá)一特定點時,該互連就可以確信所有先前事務(wù)已經(jīng)通過此點。不論其是僅在流中傳輸該阻隔,或基于阻隔的本質(zhì)而延遲事務(wù)以及基于該阻隔是否為一阻斷阻隔。阻斷阻隔系指在受其控制的事務(wù)流中位于其后的事務(wù)在上游某處被阻斷,且因此,其他事務(wù)可以趕過阻斷阻隔,因為它們必定不是需要保持在后方的事務(wù);然而,阻隔本身不能趕過位于其前方受其控制的任何事務(wù)請求??衫迷缙陧憫?yīng)單元來接通阻斷阻隔。詳見下文。非阻斷阻隔系指沒有事務(wù)請求被阻斷,且因此,受其控制的事務(wù)請求必須位于此阻隔事務(wù)請求的正確側(cè)上的阻隔。因為沒有上游阻斷,所以不能利用早期響應(yīng)單元將其接通。由下文討論將可理解,可利用阻斷或非阻斷指示元來指明阻隔的不同本質(zhì);或者是,一系統(tǒng)僅可支持一種類型的阻隔,在此種情形中就不需要指示元。或者是一阻隔可為缺省阻隔類型,且在此情形中,只有另一種類型的阻隔具有一指示元?;蛘呤牵诨ミB中可能有些區(qū)域中的所有阻隔都表現(xiàn)成阻斷阻隔,而在有些區(qū)域中的所有阻隔都表現(xiàn)成非阻斷阻隔。
21在此種情形中該互連可經(jīng)設(shè)置而使得阻隔不攜帶任何指示元,但該互連可以基于其在互連中的位置而以特定的方式來處理此阻隔。阻隔事務(wù)的進(jìn)程受到控制電路系統(tǒng)70的控制。在本圖式中,以單一阻斷概要地呈現(xiàn)此一情形,然而,在實際運用上,控制電路系統(tǒng)可分散于整個互連中并鄰近由其控制的電路系統(tǒng)。因此,在每一分支點,舉例來說,會有某些控制電路系統(tǒng)以確保至少在某些實施方式中,當(dāng)接收到一阻隔事務(wù)時會將其復(fù)制,且可由該分支點將一經(jīng)復(fù)制的阻隔事務(wù)向下傳送至每一出口路徑。在其他實施方式中,會將該經(jīng)復(fù)制的阻隔向下傳送至除一者外的所有出口路徑,下文將詳述之。控制電路系統(tǒng)可以意識到已經(jīng)復(fù)制了阻隔事務(wù),且因此,可在其清空用以傳輸事務(wù)(其系位于原始阻隔事務(wù)之后且必須保持在其后)的路徑之前,要求來自每一經(jīng)復(fù)制的阻隔事務(wù)的響應(yīng)信號。在最簡單的形式中,由一主裝置(如,主裝置200)發(fā)出一阻隔事務(wù),且接著主裝置200阻斷所有后續(xù)事務(wù),直到其具有來自該互連的一響應(yīng)信號(其指明主裝置可傳輸后續(xù)事務(wù))。或者是可由緊鄰該互連的進(jìn)入點上的控制電路系統(tǒng)發(fā)出阻隔。將位于該阻隔事務(wù)之前的事務(wù)以及該阻隔事務(wù)傳輸至該互連,且控制電路系統(tǒng)70控制這些事務(wù)的發(fā)送。因此,在分支點420會復(fù)制阻隔事務(wù),且其移動到合并點440與450。在此點上,該事務(wù)進(jìn)入了二等分路徑500與520,且因為這些事務(wù)不能相對于一阻隔而改變其在這些路徑上的位置,所以當(dāng)該阻隔事務(wù)到達(dá)這些路徑其中之一的起點時,就可以知道位于其之前的所有事務(wù)都位在前方,且在沿著該路徑上仍然會位于其前方。因此,清空單元800可傳送一早期響應(yīng)信號,且可響應(yīng)對所有這些信號的接收,位于分支點420的控制電路將早期響應(yīng)信號傳送至主裝置200,之后主裝置200可接通位于受其控制的阻隔事務(wù)之后的事務(wù),并將其傳輸給該互連。通過提供早期響應(yīng)單元800,可將主裝置200阻斷一段短得許多的時間(相較于讓其等待來自多個從裝置的回應(yīng)以指明該阻隔事務(wù)已到達(dá)該從裝置),且如此一來,可降低阻隔事務(wù)引入的時延。沿著路徑500傳送的阻隔事務(wù)離開該互連,并在不經(jīng)過除了二等分路徑50以外任何其他路徑的情形下到達(dá)從裝置300,且因此,不需要響應(yīng)此阻隔事務(wù)而再次進(jìn)行阻隔,因為當(dāng)阻隔已通過清空單元后,位于其前方的事務(wù)必然仍在其前方。然而,沿著路徑520傳送的阻隔事務(wù)會到達(dá)進(jìn)一步的交叉耦合部分480,且可回應(yīng)在分支點490接收到該阻隔事務(wù),與此分支點相關(guān)聯(lián)的控制電路系統(tǒng)70會復(fù)制該阻隔事務(wù)、將其傳下至兩個出口路徑并針對位于其后方且受其控制的事務(wù)請求阻斷其后的進(jìn)入路徑。因此,在某些實施方式中,通過將這些后續(xù)事務(wù)保持在該阻斷電路系統(tǒng)900內(nèi)的一緩沖區(qū)中,而延遲這些后續(xù)事務(wù),直到針對所有經(jīng)復(fù)制的阻隔事務(wù)接收到一響應(yīng)信號為止。因此,該經(jīng)復(fù)制的阻隔事務(wù)通過該交叉耦合電路系統(tǒng)400并離開該交叉耦合電路系統(tǒng)而加入進(jìn)一步的二等分鏈路520與500。如上文所述,二等分路徑可保持事務(wù)相對于該阻隔的順序,且因此,可利用清空單元800由該二等分路徑的起點傳送一早期響應(yīng)。阻斷電路系統(tǒng)900會等待接收來自分支點490之對該阻隔事務(wù)的響應(yīng)。分支點490復(fù)制該阻隔事務(wù),并將二阻隔事務(wù)進(jìn)一步向下傳送至每一路徑。分支點490直到其分別接收到對于其所傳輸?shù)亩韪羰聞?wù)中每個的響應(yīng),才會傳回一響應(yīng)至阻斷電路系統(tǒng)900。響應(yīng)于此種響應(yīng),阻斷電路系統(tǒng)900允許傳輸保存于其緩沖區(qū)中的任何后續(xù)事務(wù)。當(dāng)該清空電路系統(tǒng)位于離開該互連之前的最后二等分路徑上時,不需要針對某些阻隔類型發(fā)出進(jìn)一步的阻隔。如上所述,在二等分路徑520上有一重新排序緩沖區(qū)600,且此緩沖區(qū)經(jīng)設(shè)置用以回應(yīng)該阻隔且不允許受到該阻隔控制的事務(wù)相對于該阻隔而重新排序。在上文的敘述中,假設(shè)存在一阻隔以將所有后續(xù)事務(wù)保持于其后。然而,在某些實施方式中,如下文所詳述者,該阻隔可能僅需要防止該后續(xù)事務(wù)的一子集趕過它,上述子集可能是來自一特定主裝置或具有特定功能(如,寫入事務(wù))。在此種情形中,控制電路系統(tǒng)70與阻斷電路系統(tǒng)900僅會延遲此事務(wù)子集,且會允許其他事務(wù)繼續(xù)進(jìn)行。更有甚者,在一分支點上,若受到該阻隔控制的事務(wù)絕對不會傳下至該路徑其中之一,則不需要將一經(jīng)復(fù)制的阻隔傳下至該路徑。后附權(quán)利要求定義本發(fā)明的各個方面及特征。在沒有偏離本發(fā)明的范圍的情況下,可對之前所述的實施例進(jìn)行各種修改。
權(quán)利要求
1.一種用于通過互連向接收裝置發(fā)出事務(wù)請求的啟動裝置,所述啟動裝置包括 至少ー個端ロ,用于從所述互連接收請求和向所述互連發(fā)出請求;阻隔產(chǎn)生器,用于產(chǎn)生阻隔事務(wù)請求,所述阻隔事務(wù)請求向所述互連表明應(yīng)當(dāng)通過以下方式來維持經(jīng)過所述互連的事務(wù)請求流內(nèi)的至少ー些事務(wù)請求的排序不允許針對所述阻隔事務(wù)請求在所述事務(wù)請求流中對發(fā)生在所述阻隔事務(wù)請求之前的至少ー些所述事務(wù)請求進(jìn)行重排序;其中響應(yīng)于對查詢事務(wù)請求的至少ー個子集的進(jìn)度的同步請求的接收,所述啟動裝置作出響應(yīng)來執(zhí)行事務(wù)請求的所述至少ー個子集中任何未決的事務(wù)請求、在所述阻隔產(chǎn)生器處產(chǎn)生阻隔事務(wù)請求、通過所述至少ー個端ロ向所述互連發(fā)出所述阻隔事務(wù)請求并且響應(yīng)于接收到對所述阻隔事務(wù)請求的響應(yīng)而發(fā)出確認(rèn)信號作為對所述同步請求的響應(yīng)。
2.如權(quán)利要求1所述的啟動裝置,其中所述事務(wù)請求的子集包括由所述啟動裝置向所述至少一個接收裝置發(fā)出的所有事務(wù)請求,并且其排序由所述阻隔事務(wù)請求維持的所述至少ー些事務(wù)請求包括由所述啟動裝置發(fā)出的所述所有事務(wù)請求。
3.如權(quán)利要求1所述的啟動裝置,所述啟動裝置還包括 存儲器管理単元;事務(wù)請求的所述至少一個子集包括所述存儲器管理操作請求,所述同步請求是存儲器管理同步請求,其查詢何時所述存儲器管理操作請求已經(jīng)完成以及何時先前發(fā)出的事務(wù)請求已到達(dá)所述互連內(nèi)的預(yù)定點,所述先前發(fā)出的事務(wù)請求的狀態(tài)將會受到所述存儲器管理操作請求的影響;所述啟動裝置被配置為響應(yīng)于對所述阻隔事務(wù)請求的所述響應(yīng)的接收,以及響應(yīng)于所述未決的存儲器管理操作已完成,發(fā)出所述確認(rèn)信號。
4.如權(quán)利要求3所述的啟動裝置,其中所述啟動裝置包括用于從處理器接收事務(wù)請求的另一端ロ,所述啟動裝置將所述事務(wù)請求中的至少ー些傳送到所述互連。
5.如權(quán)利要求1至3中任一項所述的啟動裝置, 所述啟動裝置還包括處理器,用于處理數(shù)據(jù);所述處理器被配置為向所述互連發(fā)出事務(wù)請求及所述同步請求; 所述阻隔產(chǎn)生器被配置為產(chǎn)生同步阻隔事務(wù)請求,并向所述互連發(fā)出所述阻隔事務(wù)請求以跟隨在由所述處理器在所述同步請求之前向所述至少一個接收裝置發(fā)出的事務(wù)請求ん后。
6.一種用于通過互連向接收裝置發(fā)出事務(wù)請求的啟動裝置,所述啟動裝置包括 處理器,用于處理數(shù)據(jù);至少ー個端ロ,用于從所述互連接收請求和向所述互連發(fā)出請求; 阻隔產(chǎn)生器,用于產(chǎn)生阻隔事務(wù)請求,所述阻隔事務(wù)請求向所述互連表明應(yīng)當(dāng)通過以下方式來維持經(jīng)過所述互連的事務(wù)請求流內(nèi)的至少ー些事務(wù)請求的排序不允許針對所述阻隔事務(wù)請求在所述事務(wù)請求流中對發(fā)生在所述阻隔事務(wù)請求之前的所述至少一些所述事務(wù)請求進(jìn)行重排序;其中所述處理器被配置來向所述互連發(fā)出事務(wù)請求及同步請求,所述同步請求查詢未決的事務(wù)請求的至少ー個子集的進(jìn)度;所述阻隔生器被配置為產(chǎn)生同步阻隔事務(wù)請求,并且將所述同步阻隔事務(wù)請求發(fā)出到所述互連以跟隨在由所述處理器在所述同步請求之前向所訴至少一個接收裝置發(fā)出的事務(wù)請求之后。
7.如權(quán)利要求6所述的啟動裝置,其中事務(wù)請求的所述至少一個子集包括所述存儲器管理操作請求,并且所述同步請求是存儲器管理同步請求,其查詢何時所述存儲器管理操作請求已經(jīng)完成以及何時先前發(fā)出的事務(wù)請求已到達(dá)所述互連內(nèi)的預(yù)定點,所述先前發(fā)出的事務(wù)請求的狀態(tài)將會受到所述存儲器管理操作請求的影響。
8.如權(quán)利要求5、6或7所述的啟動裝置,其中所述啟動裝置響應(yīng)于所述同步阻隔事務(wù)請求的發(fā)出,不向所述互連發(fā)出進(jìn)一歩的事務(wù)請求,直到對所述同步阻隔事務(wù)請求和所述同步請求的響應(yīng)已被接收到為止。
9.如權(quán)利要求3、4或7所述的啟動裝置,其中所述存儲器管理操作包括虛擬至物理地址轉(zhuǎn)譯的管理,并且所述阻隔事務(wù)維持其順序的所述至少一些事務(wù)包括在執(zhí)行所述存儲器管理操作之前使用虛擬至物理地址轉(zhuǎn)譯的事務(wù)。
10.如任一在前權(quán)利要求所述的啟動裝置,其中所述阻隔產(chǎn)生器被配置來利用與阻隔相關(guān)聯(lián)的領(lǐng)域指示元發(fā)出阻隔,所述領(lǐng)域指示元指示出所述互連內(nèi)無法發(fā)出對所述阻隔事務(wù)請求的響應(yīng)的區(qū)域。
11.如任一在前權(quán)利要求所述的啟動裝置,其中所述同步請求是查詢事務(wù)請求的所述子集中的至少ー些請事務(wù)求是否已到達(dá)所述互連內(nèi)的預(yù)定點的請求,所述同步請求包括指示元,其指示所述預(yù)定點。
12.如權(quán)利要求10和11所述的啟動裝置,其中所述阻隔產(chǎn)生器被配置成依賴于所述同步請求內(nèi)包括的所述指示元而發(fā)出所述阻隔領(lǐng)域指示元。
13.一種用于數(shù)據(jù)處理裝置的互連電路,所述互連電路被配置來提供數(shù)據(jù)路線,通過所述數(shù)據(jù)路線,多個啟動裝置中的至少ー者可訪問至少ー個接收裝置及所述多個啟動裝置的至少另ー者,所述互連電路包括多個啟動器端ロ,用于在所述啟動裝置與所述互連之間傳送事務(wù)請求;至少ー個接收端ロ,用于傳送事務(wù)請求到所述至少一個接收裝置;多個路徑,用于在所述啟動器端ロ與所述至少一個接收端ロ之間傳送所述事務(wù)請求;及控制電路,用于沿多個路徑中的至少ー者將接收到的所述事務(wù)請求從多個輸入之一路由至所述輸入或輸出端ロ之一;其中所述事務(wù)請求中的至少ー些事務(wù)請求包括來自所述多個啟動裝置中的第一啟動裝置的同步請求,其查詢事務(wù)請求的至少ー個子集的進(jìn)度;并且所述控制電路被配置成將所述同步請求路由到所述啟動裝置中的至少另ー者并且從所述啟動裝置中的所述至少另ー者接收阻隔事務(wù)請求,該至少另ー者被配置來執(zhí)行事務(wù)請求的所述至少ー個子集,所述控制電路被配置來將所述阻隔事務(wù)請求沿著所述多個路徑中的至少ー者在先前從所述至少另ー啟動裝置接收到的事務(wù)請求之后路由到所述至少ー個接收裝置、并且維持所述先前接收到的事務(wù)請求中的至少ー些事務(wù)請求及所述阻隔事務(wù)請求在所述事務(wù)請求流中的排序;以及響應(yīng)于對所述阻隔事務(wù)請求的響應(yīng)信號,將所述響應(yīng)信號路由到所述多個啟動裝置中的所述至少另ー者,所述響應(yīng)信號向所述至少另ー啟動裝置提供指示,該指示表明所述至少ー些先前接收到的事務(wù)請求已到達(dá)所述響應(yīng)信號產(chǎn)生器的位置。
14.如權(quán)利要求13所述的互連電路,其中所述控制電路包括同步請求復(fù)制電路,用于復(fù)制所述同步請求,并將其傳送到執(zhí)行所述事務(wù)請求的所述至少一個子集的多個其他啟動裝置;所述控制電路還包括保持電路,用于保持接收自所述多個其他啟動裝置的對所述復(fù)制同步請求的響應(yīng)信號,并用于響應(yīng)于對所有所述復(fù)制同步請求的確認(rèn)響應(yīng)的接收,向所述第一啟動裝置發(fā)出同步請求響應(yīng)信號。
15.如權(quán)利要求13或14所述的互連電路,所述互連被配置來響應(yīng)于從所述第一啟動裝置接收到阻隔事務(wù)請求而在先前從所述第一啟動裝置接收并路由至所述至少一個接收裝置的事務(wù)請求之后將所述阻隔事務(wù)請求路由到所述至少一個接收裝置,所述控制電路被配置來相對于所述阻隔事務(wù)請求維持所述先前接收到的事務(wù)請求中的至少ー些事務(wù)請求的順序,并且響應(yīng)于對所述阻隔事務(wù)請求的響應(yīng)信號,將所述響應(yīng)信號路由至所述第一啟動裝置,所述響應(yīng)信號向所述第一啟動裝置提供指示,所述指示表明所述先前接收到的事務(wù)請求中的所述至少一些事務(wù)請求已到達(dá)所述響應(yīng)信號產(chǎn)生器的位置。
16.如權(quán)利要求13至15中任一項所述的互連電路,其中所述至少一個子集的事務(wù)請求是存儲器管理操作請求,并且所述同步請求是存儲器管理同步請求,其查詢何時所述存儲器管理操作請求已經(jīng)完成及何時先前發(fā)出的事務(wù)請求已到達(dá)所述互連中的預(yù)定點,所述先前發(fā)出的事務(wù)請求的狀態(tài)將會受到所述存儲器管理操作請求的影響。
17.如權(quán)利要求16所述的互連電路,其中所述存儲器管理操作包括虛擬至物理地址轉(zhuǎn)譯的管理,并且所述阻隔事務(wù)維持其排序的所述至少一些事務(wù)包括在執(zhí)行所述存儲器管理操作之前使用虛擬至物理地址轉(zhuǎn)譯的事務(wù)。
18.如權(quán)利要求13至17中任一項所述的互連電路,所述互連包括響應(yīng)信號產(chǎn)生器,用于響應(yīng)于所述阻隔事務(wù)請求的接收而產(chǎn)生所述響應(yīng)信號。
19.如權(quán)利要求18所述的互連電路,所述互連電路包括至少ー個領(lǐng)域,所述至少ー個領(lǐng)域包括用于從所述至少一個啟動裝置接收事務(wù)請求的至少ー個輸入中的至少ー者,領(lǐng)域邊界被安排成接收自所述至少一個輸入的事務(wù)請求的任何合并發(fā)生在所述至少一個領(lǐng)域內(nèi);及所述同步請求包括指示元,該指示元指示出其應(yīng)用于所述至少一個領(lǐng)域中的哪個領(lǐng)域;及所述響應(yīng)信號產(chǎn)生器位于所述至少ー個領(lǐng)域的出口點;所述響應(yīng)信號產(chǎn)生器響應(yīng)于檢測到所述阻隔事務(wù)請求經(jīng)過所述出ロ點而產(chǎn)生響應(yīng)信號;所述控制電路被配置來將所述響應(yīng)信號傳送至以下啟動裝置從該啟動裝置接收到了所述阻隔事務(wù)請求。
20.如權(quán)利要求19所述的互連電路,其中所述控制電路被配置為在進(jìn)ー步向所述啟動裝置傳送了所述響應(yīng)信號吋,不發(fā)送所述阻隔事務(wù)。
21.如權(quán)利要求13至20中任一項所述的互連電路,其中所述多個路徑中的至少ー些路徑是發(fā)散自ー節(jié)點的發(fā)散路徑,所述控制電路被配置來沿所述至少一些事務(wù)請求所路由的所述發(fā)散路徑中至少ー些發(fā)散路徑來復(fù)制和傳送所述至少一些事務(wù)請求及所述后續(xù)阻隔事務(wù)請求。
22.如權(quán)利要求21所述的互連電路,所述控制電路包括在所述節(jié)點處的保持電路,所述保持電路被配置為保持接收自所述復(fù)制阻隔事務(wù)請求的響應(yīng)信號,并且僅響應(yīng)于接收到對所有所述復(fù)制阻隔事務(wù)請求的響應(yīng)而將所述接收的響應(yīng)信號傳送至所述阻隔事務(wù)請求的來源。
23.ー種數(shù)據(jù)處理裝置,包括多個啟動裝置,所述多個啟動裝置通過互連電路與至少ー 個接收裝置進(jìn)行通信,所述啟動裝置中的至少ー者是如權(quán)利要求3所述的啟動裝置,并且所述互連電路是如權(quán)利要求13至22中任一項所述的互連電路。
24.一種對數(shù)據(jù)處理裝置進(jìn)行同步的方法,所述數(shù)據(jù)處理裝置包括多個啟動裝置,所述多個啟動裝置通過互連向至少ー個接收裝置發(fā)出事務(wù)請求,所述方法包括以下步驟發(fā)出同步請求,該同步請求查詢至少一個事務(wù)請求子集的進(jìn)度;及將所述同步請求路由至所述多個啟動裝置中的至少另ー者,該至少另ー者被配置來執(zhí)行所述至少一個事務(wù)請求子集;從所述啟動裝置中的所述至少另ー者發(fā)出阻隔事務(wù)請求;將所述阻隔事務(wù)請求在先前接收自所述至少另ー啟動裝置的事務(wù)請求之后沿著多個路徑中的至少ー者路由至所述至少一個接收裝置,以維持所述先前接收到的事務(wù)請求中的至少ー些事務(wù)請求和所述阻隔事務(wù)請求在事務(wù)請求流中的排序;及響應(yīng)于對所述阻隔事務(wù)請求的響應(yīng)信號,將所述響應(yīng)信號路由到所述多個啟動裝置中的所述至少另ー者,所述響應(yīng)信號向所述至少另ー啟動裝置提供指示,該指示表明所述先前接收的事務(wù)請求已到達(dá)所述響應(yīng)信號產(chǎn)生器的位置;產(chǎn)生對所述同步請求作出響應(yīng)的確認(rèn)信號,并將所述確認(rèn)信號朝著所述第一啟動裝置路由。
25.一種確定何時對接收到的同步請求作出響應(yīng)的方法,包括以下步驟 通過互連向接收裝置發(fā)出事務(wù)請求;接收同步請求,該同步請求查詢來自所述互連的至少ー個事務(wù)請求子集的進(jìn)度; 執(zhí)行所述至少一個事務(wù)請求子集內(nèi)的任何未決事務(wù)請求; 產(chǎn)生阻隔事務(wù)請求并將所述阻隔事務(wù)請求發(fā)出至所述互連;響應(yīng)于接收到對所述阻隔事務(wù)請求的響應(yīng),發(fā)出確認(rèn)信號作為針對所述同步請求的響應(yīng)。
全文摘要
公開了一種用于通過一互連發(fā)出事務(wù)請求至接收裝置的啟動裝置。該啟動裝置包括至少一個端口,用于從該互連接收請求和向該互連發(fā)出請求;阻隔產(chǎn)生器,用于產(chǎn)生阻隔事務(wù)請求,其向互連表明,應(yīng)當(dāng)通過不允許針對阻隔事務(wù)請求在事務(wù)請求流中對發(fā)生在阻隔事務(wù)請求之前的至少一些事務(wù)請求進(jìn)行重排序,來維持經(jīng)過互連的事務(wù)請求流內(nèi)的至少一些事務(wù)請求的排序;其中響應(yīng)于對查詢事務(wù)請求的至少一個子集的進(jìn)度的同步請求的接收,啟動裝置作出響應(yīng)來執(zhí)行事務(wù)請求的至少一個子集中任何未決的事務(wù)請求、在阻隔產(chǎn)生器處產(chǎn)生阻隔事務(wù)請求、通過至少一個端口向互連發(fā)出阻隔事務(wù)請求并且響應(yīng)于接收到對阻隔事務(wù)請求的響應(yīng)而發(fā)出確認(rèn)信號作為對同步請求的響應(yīng)。
文檔編號G06F13/40GK102576341SQ201080046965
公開日2012年7月11日 申請日期2010年10月12日 優(yōu)先權(quán)日2009年10月13日
發(fā)明者克里斯多芬·威廉姆·萊科克, 布魯斯·詹姆斯·梅休森, 理查德·羅伊·格里森思懷特, 皮特·安德魯·里奧克勒 申請人:Arm有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
焦作市| 南郑县| 通榆县| 海丰县| 安新县| 江源县| 宁津县| 临澧县| 曲靖市| 边坝县| 南涧| 西宁市| 晋中市| 广德县| 阳信县| 平南县| 衡阳县| 安化县| 闵行区| 抚远县| 兴化市| 常熟市| 绥芬河市| 儋州市| 梅州市| 漯河市| 长汀县| 北票市| 寻甸| 巴中市| 浠水县| 霍林郭勒市| 左权县| 德钦县| 夏邑县| 陕西省| 太和县| 大同市| 沐川县| 阳高县| 绥化市|