數據處理系統的同步的製作方法
2023-09-16 23:37:10
專利名稱:數據處理系統的同步的製作方法
技術領域:
本發明的領域涉及在包括經由互連連接的多個設備的系統中的數據處理的領域,並且具體地,涉及同步該分布式系統內不同組件的方式。
背景技術:
包括由一個或多個互連所互連的許多設備的分布式系統是已知的。流經這些互連的事務(transaction)請求可能採用不同的路線並且可能以不同方式被延遲。因此,事務的順序有相當大的機會改變。取決於事務,這可能是或者不是問題,但是在某些情況下,它可導致可具有無法預料結果的程序順序的改變。因此,在事務請求流中某些點處系統的同步是重要的,並且事務請求生成器可具有生成某些同步請求的能力,所述同步請求可通過系統被多播,以便確定更早事務的進展。當對全部多播的同步請求的響應已被接收時,事務請求生成器將知道先前的事務已到達所請求的點並且發出隨後的事務請求是安全的。這種同步請求的一個示例是屏障請求。這些被生成以便相關於屏障請求維持事務請求的順序。因此,事務請求生成器可在事務請求流中的某個點生成屏障,其中重要的是在隨後的事務請求被發出之前先前的事務請求已完成或至少到達了系統中的要求點。因此,所有待決(pending)事務請求被發出並且多個屏障事務被生成和發送以便跟隨其進展正在被監視的事務請求。當對全部多個屏障事務的響應被接收到時,然後隨後的事務請求可被發出。在隨著事務請求生成器和接收方的數量增加而複雜性增大的系統中,在每一個事務請求生成器中生成和分發同步請求並且收集它們的響應所需的電路是龐大的。特別是,事務生成器必須知道同步請求應當被發送到的全部目的地,它必須發送屏障並且跟蹤來自每一個目的地的響應。期望能夠提供大型分布式系統的同步,而不用過度增加系統組件的硬體。
發明內容
本發明的第一方面提供了一種同步設備,用於響應於多個不同類型的系統同步請求之一的接收來確定通過數據處理系統發送的至少事務請求的子集的進展,所述數據處理系統具有多個設備(包括用於生成事務請求的多個事務請求生成設備、用於接收事務請求的多個接收設備、所述同步設備和用於互連這些設備中的至少一些設備的至少一個互連);所述系統同步請求包括多個事務生成設備之一所生成的請求並且查詢至少事務請求的子集的進展;所述同步設備包括:至少一個埠,用於接收來自數據處理系統的請求以及向數據處理系統輸出請求和響應;系統同步請求標識電路,用於標識在所述至少一個埠處接收的系統同步請求的類型;緩衝電路,用於存儲所接收的要被輸出到多播電路的待決系統同步請求;仲裁電路,用於選擇待決系統同步請求中的下一個以用於輸出到所述多播電路;所述多播電路,被配置為響應於系統同步請求的接收來生成多個同步請求並且輸出所述多個同步請求以用於多播到數據處理系統內設備中的至少一些設備,所述同步請求查詢在所述至少一些設備中的各個設備的每一個處至少事務請求的子集的進展;收集電路,用於收集對所述多個同步請求的響應,所述響應確認所查詢的進展已經在所述各個設備處出現,所述收集電路被配置為響應於已接收到所述系統同步請求中的一個來確定何時生成對全部所述多個同步請求的響應以及響應於確定已接收到全部所述響應來輸出對所述系統同步請求中的所述一個的響應。本發明認識到大型分布式系統中系統同步的硬體和帶寬需求的增加問題。本發明通過提供可通過生成所需的同步請求(然後被多播到有關設備)來響應來自各個事務生成設備的多個不同系統同步請求的中央同步設備來解決此問題。該同步設備也收集對它多播的同步請求的響應,並且當已收集了全部響應時,該同步設備響應發出系統同步請求的事務生成設備。通過中央化同步,各個事務生成器不需要它們自己的同步電路,它們僅需要生成系統請求並且將其發送到該特定設備以及等待響應。因此,請求生成和多播電路和響應收集電路可位於可由許多事務生成器使用的這一個設備中。此外,響應多播同步請求的設備不需要識別系統同步請求的源以及向相應設備發送響應,它們僅僅向同步設備發送對同步請求的響應,由此有助於這些響應的路由。此外,通過提供同步設備內的仲裁電路,在該中央設備中給出優先級,可控制不同同步請求的順序,並且可解決潛在的衝突。這避免了如現有技術的設備中所存在的各個事務生成器和接收設備用複雜握手機制控制流的需要。應當注意,事務生成設備是生成事務的任何設備,因此它可以是系統中的主控或發起設備,例如數據處理器或圖形引擎。接收設備是接收事務請求的任何設備,它可以不是事務請求的最終目的地,而是可以是中間設備,例如一致性控制器或另一個互連。在某些實施例中,所述仲裁電路被配置為根據系統同步請求的類型和系統同步請求的源來選擇待決系統同步請求中的下一個以用於輸出到所述多播電路。系統同步請求的順序排列和優先級區分可根據請求的類型和源以及所存儲的優先級算法來由仲裁電路決定。來自不同源的系統同步請求之間的衝突可由仲裁電路識別並解決,而不需要數據處理系統中的複雜流程控制。在某些實施例中,所述同步設備被配置為除了執行系統同步請求之外還執行多個系統維持請求,所述仲裁電路被配置為選擇系統維持請求和統同步請求中的下一個以便輸出到所述多播電路。除了集中地控制同步請求,在某些實施例中,同步設備也可接收和處理其它系統維持請求。這些通常是不針對存儲器的請求,並且包括存儲器維持請求、配置請求和錯誤處理請求。這些請求需要由針對同步請求的電路相類似的電路處理,因為它們是多播的並且響應被收集。此外,它們中的某些可涉及同步請求,並且因此,如果相同的設備執行這些請求則是有利的,因為這簡化了對這些請求的流程控制。儘管系統同步請求可以許多方式跟蹤至少事務請求的子集的進展,但是在某些實施例中,系統同步請求請求確認事務請求已完成。儘管進展被查詢的事務請求的子集可以是任意子集,但是在某些實施例中,該子集是生成系統同步請求的事務請求生成設備先前輸出的事務請求。
通常,生成系統同步請求的設備在它發出可能依賴於較早請求的系統廣泛影響的隨後請求之前希望知道它較早所生成的請求進展如何。因此,通常,事務請求的子集是生成系統同步請求的設備已發出的那些事務請求中的至少一些事務請求。在某些實施例中,所述系統同步請求請求確認至少事務請求的子集已在它們的目的設備處被接收。儘管在某些情況下,希望知道事務請求是否已完成,即已在最終目標處執行了它們預期的動作。在其它情況下,知道它們已在其目的設備處被接收就足夠了,因為可能這對於要發出的隨後的事務請求是足夠的。這例如可能是這樣的情況,其中目的設備不允許重排序所接收的事務請求。在某些實施例中,所述同步設備包括數據存儲裝置,以用於存儲標識同步請求被多播到達的至少一些設備的至少一個目標列表。響應於系統同步請求而同步請求被多播到達設備可被存儲為同步設備內的列表。這可以是集中存儲信息並且允許同步請求多播到適當設備的便利方式。知道要被跟蹤的先前事務已被發送到哪以及因此將所生成的同步請求多播到哪可能是複雜的問題,在同步設備內存儲基於系統的連接和路線的列表是向同步設備提供該信息的便利方式。這還允許流控制,在任何一個時間也許僅允許一定數量的系統同步請求被處理,這避免向目標洪泛用能具有矛盾需求的同步消息。在某些實施例中,所述數據處理系統包括安全處理域和非安全處理域,所述數據存儲裝置是從所述非安全處理域不可訪問的安全數據存儲裝置。在該情況下,如果設備的目標列表被安全地存儲可按需從安全系統更新列表,但是不能在非安全域中更新列表,這可是有利的。這避免了用戶偶然地更新這些列表(這可造成系統故障)。在某些實施例中,所述數據存儲裝置包括多個目標列表,至少一個目標列表對應於多個事務生成設備中的至少一個事務生成設備,使得響應於來自對應於列表之一的多個事務生成設備之一的系統同步請求的接收,所生成的同步請求被發送到所對應的目標列表中的至少一些設備。同步請求被發送到達的設備將取決於生成系統同步請求的事務生成設備。這是因為不同的事務生成設備可被配置和路由以與某些其它設備交互,並且因此,同步請求應當僅被發送到它們與之交互的設備。因此存儲對應於這些事務生成設備的多個列表是方便的,同步設備能夠在確定系統同步請求來自哪裡時選擇所需列表。在某些實施例中,所述同步設備響應於所述安全域中生成的更新信號的接收來更新所述至少一個目標列表中的至少一個。如果目標列表可被更新那麼可能是有利的。事務生成設備與之通信的設備可隨時間改變。例如,設備的路由算法可被重編以使得各個設備可位於不同域中並且與不同設備通信,並且/或者它們與之通信的設備可被斷電。集中存儲列表使得在需要時方便和有效地執行更新。在某些實施例中,所述同步設備被配置為處理許多不同類型的系統同步請求,所述數據存儲裝置被配置為存儲多個目標列表,至少一個目標列表對應於系統同步請求的類型中的至少一個類型和所述多個事務生成設備中的至少一個事務生成設備,使得響應於來自所述多個事務生成設備中至少一個事務生成設備的至少一個類型的系統同步請求的接收,所生成的同步請求被發送到所對應的目標列表中的至少一些設備。在存在不同類型的系統同步請求的情況下,那麼需要接收多播同步請求的設備可依賴於同步請求的類型,並且因此如果在數據存儲裝置中存在取決於系統同步請求類型的目標列表則可能是有利的。在某些實施例中,可存在用於每個事務生成設備和用於事務生成設備可發出的每種類型的系統同步請求的目標列表。在某些實施例中,所述系統同步請求包括同步屏障事務請求、存儲器維持同步請求以及完成和暫停處理請求中的至少一個。系統同步請求可包括查詢事務請求進展的許多不同請求。在某些情況下,它們可是同步屏障事務請求,並且在其它情況下可能是存儲器維持同步請求,而在另外其它的情況下,它們可以是可在斷電或重配置請求之前被執行的完成和暫停處理請求。在某些實施例中,響應於包括同步屏障事務請求的系統同步請求,所述多播電路被配置為生成多個屏障事務請求作為所述多個同步請求,所述多個屏障事務請求請求所述至少一某些設備確認生成所述同步屏障事務請求的事務生成設備所發出的任何待決事務請求已完成,對所述多個屏障事務請求的響應表示所述待決事務請求已完成。如果系統同步請求是同步屏障事務請求,那麼同步設備將發出屏障事務請求作為多個同步請求。這些屏障事務請求將被發送到有關設備並且將在它們相關的先前的至少事務的子集已完成時進行響應。因此,當對全部屏障事務請求的響應已在同步設備處被接收時,同步可響應。在某些實施例中,響應於包括存儲器維持同步請求的系統同步請求,所述同步請求包括查詢所述事務生成設備發出的多個存儲器維持操作請求的進展的請求,對所述多個同步請求的響應表示所述各個設備已完成了所述存儲器維持操作請求。存儲器維持同步請求也是監視操作進展的請求。在該情況下,它們查詢存儲器維持操作的進展。例如,如果表格後備緩衝器正在多個設備中被更新,那麼存儲器維持同步請求可被用於確保在發出使用這些表的隨後事務之前,在每個設備中完成了更新。在該情況下,被查詢的設備通常將是具有與相同存儲器區域相關的表格後備緩衝器的其它事務生成器設備。在某些實施例中,響應於包括完成和暫停處理請求的系統同步請求,所述多播電路被配置為生成請求確認所述各個設備已完成了任何待決事務請求的請求作為所述多個同步請求。當同步系統同步請求是完成和暫停的處理請求時,那麼重要的是,已知設備正執行的事務請求已完成。在該情況下,事務生成器設備和接收設備可能正被查詢,在該情況下,可存在排序需求並且同步設備可先向事務生成器設備輸出完成和暫停處理請求,並且僅在接收了它們已完成了處理的響應時,其將完成和暫停處理請求輸出到接收設備。本發明的第二方面提供了一種事務生成設備,其包括:事務生成器,被配置為生成多個事務請求以用於輸出到多個設備;系統同步請求生成器,被配置為生成多個不同類型的系統同步請求,所述系統同步請求查詢所述多個設備執行的至少事務請求的子集的進展;輸出埠,用於將所述系統同步請求輸出到同步設備;其中所述事務生成器被配置為不輸出任何另外的事務請求,直到已從所述同步設備接收到對所述系統同步請求的響應為止。中央同步設備的提供使得通常作為發起者設備的事務生成設備(例如處理器核心、圖形引擎、DMA控制器)能夠查詢數據處理系統中的事務請求的進展,不用多播同步請求本身,而是僅僅通過生成發送到同步設備的單個系統同步請求並且等待響應。本發明的第二方面提供的事務生成設備包括:事務生成器,被配置為生成多個事務請求以用於輸出到多個設備;系統同步請求生成器,被配置為生成多個不同類型的系統同步請求,所述系統同步請求查詢所述多個設備執行的至少事務請求的子集的進展;輸出埠,用於將所述系統同步請求輸出到同步設備;其中所述事務生成器被配置為不輸出任何另外的事務請求,直到已從所述同步設備接收到對所述系統同步請求的響應為止。本發明的第三方面包括數據處理系統,所述數據處理系統包括多個設備,所述多個設備包括多個事務請求生成設備(所述事務請求生成設備中的至少一個是根據本發明第二方面的所述的事務請求生成設備)、用於接收事務請求的至少一個接收設備和同步設備;所述同步設備包括:至少一個埠,用於接收來自所述事務請求生成設備的事務請求;系統同步請求標識電路,用於標識在所述至少一個埠處接收的系統同步請求的類型;緩衝電路,用於存儲所接收的要被輸出到多播電路的系統同步請求;仲裁電路,用於選擇待決系統同步請求中的下一個以用於輸出到所述多播電路;所述多播電路,其被配置為響應於系統同步請求的接收來生成多個同步請求並且輸出所述多個同步請求以用於多播到所述數據處理系統內的設備中的至少一某些設備,所述同步請求查詢在所述至少一些設備中各個設備的每一個處至少事務請求的子集的進展;收集電路,用於收集對所述多個同步請求的響應,所述響應確認所查詢的進展已經在所述各個設備處出現,所述收集電路被配置為響應於已接收到所述系統同步請求中的一個來確定何時生成對全部所述多個同步請求的響應以及響應於確定已接收到全部所述響應來輸出對所述系統同步請求中的所述一個的響應。在該系統中,接收設備不需要涉及流控制,它們也不需要具有任何優先級區分或仲裁機制來從來自不同生成器的共同待決同步請求進行選擇,因為同步設備已執行該任務。本發明的第四方面提供了一種確定通過數據處理系統發送的至少事務請求的子集的進展的方法,所述數據處理系統具有多個設備(包括多個事務請求生成設備、用於接收事務請求的多個接收方設備、同步設備和用於互連這些設備中的至少一些所述設備的至少一個互連);所述方法包括步驟:接收多個系統同步請求,所述系統同步請求查詢從所述多個事務請求生成設備之一接收的至少事務請求的子集的進展,所述系統同步請求中的不同類型的至少一些系統同步請求查詢不同事務請求的子集的進展;選擇所接收的待決系統同步請求中的一個以用於輸出到所述多播電路;接收所選擇的待決系統同步請求,生成多個同步請求並且將所述多個同步請求多播到所述數據處理系統內的設備中至少一些設備,所述同步請求查詢在各個設備中每一個處至少事務請求的子集的進展;收集對所述多個同步請求的響應;確定何時對從所述系統同步請求中的一個生成的全部所述多個同步請求的響應已被接收,並且響應於確定全部所述響應已被接收而輸出對所述系統同步請求中的所述一個的響應。本發明的第五方面提供了一種查詢事務請求的進展的方法,包括步驟:生成多個事務請求以用於輸出到多個設備;生成多個系統同步請求,所述系統同步請求查詢所述多個設備執行的至少事務請求的子集的進展,所述多個系統同步請求中的至少一些是不同類型的;將所述系統同步請求輸出到同步設備;並且不輸出任何另外的事務請求,直到已從所述同步設備接收到對所述系統同步請求的響應為止。本發明的第六方面提供了一種同步裝置,用於響應於多個不同類型的系統同步請求之一的接收來確定通過數據處理系統發送的至少事務請求的子集的進展,所述數據處理系統具有多個設備裝置(包括用於生成事務請求的多個發起者設備裝置、用於接收事務請求的多個接收設備裝置、所述同步裝置和用於互連這些設備裝置中的至少一些設備裝置的至少一個互連裝置);所述系統同步請求包括所述多個事務生成設備之一所生成的請求並且查詢至少事務請求的子集的進展;所述同步裝置包括:至少一個埠裝置,用於接收來自所述數據處理系統的請求並且向所述數據處理系統輸出請求和響應;系統同步請求標識裝置,用於標識在所述至少一個埠處接收的系統同步請求的類型;緩衝裝置,用於存儲所接收的要被輸出到多播電路的待決系統同步請求;仲裁裝置,用於選擇待決系統同步請求中的下一個以用於輸出到所述多播電路;多播裝置,用於響應於系統同步請求的接收來生成多個同步請求並且輸出所述多個同步請求以便多播到所述數據處理系統內的設備裝置中的至少一些設備裝置,所述同步請求查詢在各個設備裝置中的每一個處至少事務請求的子集的進展;收集裝置,用於收集對所述多個同步請求的響應,所述響應確認所述查詢的進展已經在所述各個設備裝置處出現,所述收集裝置用於響應於已接收到所述系統同步請求之一來確定何時生成對全部所述多個同步請求的響應以及響應於確定已接收到全部所述響應來輸出對所述系統同步請求中的所述一個的響應。本發明的第七方面提供了一種發起者設備裝置,包括:事務生成器裝置,用於生成多個事務請求以用於輸出到多個設備;系統同步請求生成器裝置,用於生成多個不同類型的系統同步請求,所述系統同步請查詢所述多個設備執行的至少事務請求的子集的進展;輸出埠裝置,用於將所述系統同步請求輸出到同步設備;其中所述事務生成器裝置被配置為不輸出任何另外的事務請求,直到已從所述同步設備接收到對所述系統同步請求的響應為止。根據應結合附圖閱讀的說明性實施例的以下詳細描述,本發明的上面和其它目的、特徵和優點將是明顯的。
圖1示出了根據本發明實施例的數據處理系統;圖2示出了根據本發明實施例的同步設備;圖3示出了根據本發明實施例的事務請求生成器設備;圖4示出了根據本發明實施例的流經數據處理系統的同步請求;圖5示出了根據本發明實施例的存儲器維持同步請求通過數據處理系統的流;圖6a示出了根據本發明實施例的流經數據處理系統的靜默同步請求;圖6b示出了示出響應於靜默和非靜默同步請求的事務請求流的狀態空間流程圖;圖7示出了根據本發明實施例的示出響應於數據處理系統中的存儲器維持同步請求的在節點之間的事務流的狀態空間流程圖;圖8示出了根據本發明實施例的示出在事務生成設備處執行的方法中的步驟的流程圖;圖9示出了根據本發明實施例的同步設備執行的方法中的步驟;圖10示出了根據本發明實施例的可一般地處理系統維持請求的同步設備。
具體實施例方式圖1示意性地示出了根據本發明實施例的數據處理系統5。數據處理系統5包括許多事務生成器設備,所述事務生成器設備可被視為系統中的請求節點並且在這裡被示出為節點RWc^RNpRN2到RNn。這些經由互連10與各種本地節點HNpHNpHNyHN3和HN4互連。這些可被視為中間設備並且可以是系統中的一致性的點或序列化的點。它們例如可以是一致性控制器。這些本地節點例如與存儲控制器(MC)或與輸入/輸出空間連接。事務請求從請求節點通過互連10經由本地節點傳遞到接收方設備。對於事務請求在互連設備10中重排序並且經由不同路線到達接收方設備存在某些規定,以使得事務可相互超過(overtake)。這意味著確保某些事務請求在其它事務請求發出之前具有一定進展的同步請求變得重要。為了解決該問題,該數據處理系統包括同步設備20。該同步設備被視為處於混雜節點MN處並且響應於請求節點RN之一生成的系統同步請求來生成同步請求並將它們多播到有關設備。然後它從這些設備收集對這些同步請求的響應並且當它收集了全部響應時向它從其接收了系統同步請求的請求節點RN發送單個響應。這使得請求節點RN生成單個同步請求並且等待單個響應。處理這些同步請求和響應所需的邏輯電路集中於同步設備20內。圖2更詳細地示出了同步設備20。因此,在該實施例中,同步設備20具有檢測在輸入埠 25處接收的已由系統的事務生成器設備之一發出的系統同步請求的系統同步請求檢測器30。這些所接收的待決系統同步請求在輸出到同步請求生成器37之前存儲在緩衝器32中。仲裁電路34標識所接收的系統同步請求的類型和發送該系統同步請求的事務生成器並且在同步設備20有能力處理下一個系統同步請求時選擇系統同步請求以輸出到生成器37。在本發明的實施例中,多個系統同步請求可在任何一個時間被處理,並且當一個完成了時,響應被生成並且被輸出到仲裁電路34,該仲裁電路34然後選擇下一個。在該示例中,在任何一個時間僅處理一個。仲裁電路34識別可能在來自不同事務生成器的同步請求之間的潛在衝突,並且還確定任何待決系統同步請求的優先級並選擇系統同步請求以輸出。當向同步生成器37輸出系統同步請求時,同步設備20將訪問對應於要被輸出的系統同步請求的類型和發送該系統同步請求的事務生成設備的數據存儲裝置35內的目標列表。然後它將使用同步請求生成器37生成足以發送到所識別的目標列表中列出的每個設備的許多同步請求。然後,同步請求多播器39將所生成的同步請求發送給目標列表中列出的設備。響應收集器40內的計數器41將用同步請求多播器39發出的同步請求的數量更新。然後,同步設備20將等待對這些個體同步請求的響應並且響應收集器40將接收這些響應並且針對每一個所接收的響應遞減計數器41。 當計數器41到達零時,響應生成器45將生成對系統同步請求的響應並且將該響應發送到發送系統同步請求的事務生成設備。因此,事務生成設備僅需要生成單個系統同步請求並且等待對該單個系統同步請求的響應。它不需要具有任何多播或響應收集電路,如果它自己管理同步的話則需要這些電路。當響應已發出後,系統同步請求的處理已完成並且可由仲裁電路34選擇待決系統同步請求。在該實施例中,存在輸入埠 25用於接收請求和響應並且用於輸出請求和響應,並且存在從處理系統接收更新信號的另一個埠 26。該更新信號可更新同步請求應當被發送到的設備的目標列表。能夠更新目標列表是重要的,因為在系統的一部分斷電時,或者在設備域以及它們的互連的某些重配置出現時,事務請求被發送到並且因此同步請求需要到達的設備可能改變了。在某些實施例中,如果存儲目標列表的數據存儲裝置是安全數據存儲裝置以使得它可僅根據安全域中的處理操作被更新,則可能是有利的。這將防止用戶意外地更新該目標列表並且確保它僅由系統更新。圖3示出了根據本發明實施例的事務生成設備50的示例。在該實施例中事務生成設備50是處理裝置。它包括生成事務的處理核心52,並且這些事務被存儲在外出事務緩衝器55中。仲裁器60選擇這些外出事務來發送並且待決事務被存儲在待決事務緩衝器65中,等待表示它們已由它們的目的設備接受或完成的響應。還存在在事務請求流中某點處生成系統同步請求的系統同步請求生成器70,其中重要的是,先前的事務請求在隨後的事務請求發出之前完成。響應於這樣的系統同步請求被生成,仲裁器60將發送緩衝器55中的全部外出事務,並且然後當它們已完成時,它將發出系統同步請求並且在從響應檢測器75檢測到響應之前將不再發出另外的事務。當對系統同步請求的響應檢測到時,然後仲裁器60將允許輸出另外的事務。圖4示出了示出事務請求流的數據處理系統的示例。因此,事務請求生成器50將生成將由各個接收方設備80、82和84接收的各種事務請求。然後事務生成器50將向同步設備20發送系統同步屏障請求並且在它接收到來自系統同步屏障的響應之前將不再發送另外的事務請求。同步設備20確定事務生成器50與來自所存儲目標列表的接收方80、82和84通信並且因此它生成屏障並且將它們多播到這些設備中的每一個。當每一個設備響應於屏障時,然後同步設備20響應從事務生成器50接收的系統同步屏障,此時事務生成器50將繼續發送事務請求。圖5示出了在事務生成器50生成到同步設備20的系統存儲器維持同步請求時,根據本發明實施例的數據處理系統中事務流的替代示例。該請求正在請求存儲器維持操作的進展。因此,同步設備20根據目標列表確定哪些事務生成器將接收存儲器維持操作並且它向這些中的一個發送存儲器維持同步請求。在該示例中,這些是事務生成器52和54。當來自這些中每一個的響應已被接收時,同步設備20響應系統存儲器維持同步請求並且然後事務生成器50知道全部的存儲器維持操作已由設備52和54執行並且它可繼續發送事務請求。圖6a示意性示出了根據本發明實施例的數據處理系統中的靜默請求流。靜默請求是查詢設備何時完成了正執行的待決事務請求並且防止它們輸出另外的事務請求的請求。在該示例中,發起者設備50發出系統靜默同步請求並且同步設備20響應於此生成靜默同步請求並且將這些請求多播到系統中的各種設備。這些設備可具有相互依賴關係,並且因此,可存在與同步設備20發送的靜默請求相關聯的某些定時約束。這將在圖6b更詳細地示出。如從圖6a可見的,接收方和發起者設備可接收這些靜默請求,並且因此,同步設備20查看適當目標列表並且將靜默請求以適當順序發送到適當設備。然後,它等待響應並且當它已從全部設備接收到響應時它向設備50發送響應,以使得它知道那些設備已完成了正處理的待決事務請求,並且將不再發送另外的事務請求。然後,它可發出要求該知識的請求,例如斷電請求或重配置請求。圖6b示出了示出當系統靜默時發生的步驟的狀態空間流程圖。因此,系統同步靜默請求可由RN。發送到MN處的同步設備。然後,MN將向RN1和RN2發出靜默請求並且將等待它們的響應。當它接收到它們的響應時,它將向HN發送靜默並且等待來自HN的響應。以該順序來完成,因為RN1和RN2可向例如可以是一致性控制器的本地節點HN發送事務請求。因此,如果本地節點HN與請求者節點在相同時間接收靜默請求並且完成其待決事務並且很快響應時,它可能隨後接收來自正完成其事務請求的RN1或RN2之一的事務請求並且它將不能處理此。因此,為了確保系統正確地操作,事務生成器在接收方設備接收它們的靜默請求之前被靜默並且響應同步設備。這裡應當理解,更複雜的流控制可被適當地使用,其中MN適當選擇首先靜默的請求者之後為其它請求者的不同組合。一旦從全部設備接收到到響應,那麼響應被發送到RNtl以告知它全部所需的設備已被靜默。靜默請求例如可在斷電期間,或在用於互連的路由表正在更新期間被使用。如果人們希望改變路由表,那麼當此發生時,應當不發送事務請求。因此,全部的待決事務請求必須被完成,並且因此這些設備被靜默以使得它們不發送另外的事務請求。路由表然後被重編並且同步設備20中的相應目標列表被更新。如果因為數據處理系統的部分斷電而系統靜默請求被發送,那麼目標列表也可在同步設備20中被更新。一旦低功率模式完成或者路由表已被重編,那麼系統可被解除靜默並且系統解除靜默需求被發送。這在同步設備MN處被接收並且它可將其解除靜默信號同時發送到所有適當的設備。這裡沒有定時要求,因為它們都可被一起發送。一旦已從它們全部接收到響應,則響應被發送到事務請求生成器RNtl,該事務請求生成器RNtl然後可繼續以正常內容操作。圖7示出了示出事務請求定時的狀態空間流程圖。這表示系統同步請求在存儲器維持操作請求之後發送。例如,可存在存儲器維持單元,存儲器維持單元使用特定轉換後備緩衝器來將處理器發送的指令的虛擬地址轉換為處理系統內存儲的數據使用的物理地址。存儲器維持操作可更新這些轉換表並且當隨後的指令使用新的轉換時,重要的是知道訪問相同存儲空間的全部轉換後備緩衝器也被更新了。因此,為了確保此發生,需要同步請求。在該情況下,系統屏障同步請求可被發送以確保全部的待決事務請求完成。因此,在該示例中,響應於此,混雜節點MN處的同步設備將生成屏障並且將其發送到有關的接收方HNtl和HN115對這些屏障的響應將從HNtl和HN1被發送並且一旦全部響應被接收,則麗處的同步設備將響應系統屏障同步請求。當RNtl接收到該響應時,它知道待決事務請求已完成,但是它不知道在屏障響應接收之前其請求已被發送的所發送的任何存儲器維持操作(並且這裡未示出)已完成。這些存儲器維持操作可能正由事務生成器設備執行,而事務請求正由接收方設備執行。因此,然後事務生成器將向混雜節點MN處的同步設備發送系統存儲器維持同步請求。然後,該設備將向與生成存儲器維持同步請求的設備RNtl訪問相同的存儲空間的具有表格後備緩衝器的所有事務生成器設備發送存儲器維持同步請求。在該情況下,這將是RN115當對該同步請求的響應在同步設備處被接收時,同步設備知道全部存儲器維持操作已執行並且在該情況下,表格後備緩衝器是一致的並且對系統存儲器維持請求的響應可被發送以及事務生成器RN。可發送另外的事務請求。在圖7的狀態空間圖中,存儲器維持操作請求未示出。這些可由RNtl輸出,並且當對它們全部的響應已被接收時,存儲器維持同步請求將被輸出。然而,在某些實施例中,這些存儲器維持操作請求也可由同步設備而不是事務生成器本身管理。在該情況下,RNtl將請求要被執行的這些操作的序列的系統存儲器維持請求輸出到同步設備,該同步設備將生成這些請求中的一些並且將它們輸出到根據目標列表所確定的所需設備。在該情況下,存儲器維持請求的序列的輸出和排序將由MN處的同步設備控制並且響應於它們都已被接收,響應被發送到RNtl,然後RNO將發出系統存儲器維持同步請求,該系統存儲器維持同步請求將查詢何時全部維持操作已被完成。圖7中所示的狀態空間流程圖中的事務生成器RNtl處執行的方法步驟在圖8中示出。初始地,事務生成器確定已發出的全部待決事務。當它們具有屏障時,系統同步請求被生成並且被發送到同步設備。對該屏障的響應被等待並且當該響應已被接收時,屏障生成器設備生成系統存儲器維持請求並且將該系統存儲器維持請求發送到同步設備。然後它將等待對系統存儲器維持請求的響應,並且當該響應已被接收時,它知道存儲器維持操作和全部先前的事務請求完成並且它可發出另外的事務請求。圖9示出了根據本發明實施例的同步設備處執行的方法的流程圖。響應於接收系統同步請求,同步設備將其存儲在緩衝器中,並且確定它的來源和類型。當同步設備有能力處理下一個同步請求時,由仲裁電路依賴於它的來源類型和當前正在被處理的其它請求來選擇待決同步請求之一。然後,它將選擇對應於該來源和類型的目標設備的列表。同步請求的來源是生成該同步請求的特定事務生成器設備,而類型是要被執行的同步的類型。然後,同步設備將接收來自同步請求的響應並且將確定何時來自列表中全部目標設備的響應都已接收。可使用計數器實現此,該計數器用所輸出的同步請求的數量來設置並且每次響應被接收時遞減。當全部響應已被接收時,它將生成並且輸出對系統同步請求的響應。在某些實施例中,除了接收和處理系統同步請求,同步設備20也可處理其它系統維持請求,即不針對於存儲器的請求,例如錯誤處理請求、存儲器維持請求和配置請求。圖10示出了類似於圖2的設備的同步設備20,但是其配置為接收另外的系統維持請求並進行仲裁。因此,同步設備20包括接收和標識系統同步請求和其它系統維持請求的系統維持請求檢測器。這些然後被存儲在緩衝器32中,並且仲裁器34選擇一個以輸出到請求生成器和多播器38。在該實施例中,請求生成器和多播器38可在任何一個時間處理四個系統維持請求並且四個當前被處理的請求被存儲在存儲器33中。響應於接收到用於由仲裁器34處理的新的系統維持請求,請求生成器根據從目標列表的存儲裝置35檢索出的與該系統維持請求有關的目標列表來確定需要生成多少個請求以及這些請求需要被發送到哪裡。然後用於該系統維持請求的計數器42用該數量更新,並且響應收集器40收集對當前活動的系統維持請求中的每一個的響應,標識它們正響應於哪個請求並且遞減適當的計數器。當計數器到達零時,然後信號被發送到緩衝器33,該緩衝器33清除那裡存儲的系統維持請求並且向仲裁器34輸出信號以請求新的系統維持請求。以該方式,同步設備20可在任何一個時間執行四個系統同步請求,仲裁器34確定哪一個應當是下一個要執行的。儘管已在這裡參考附圖詳細描述了本發明的說明性實施例,但是應當理解,本發明不限於那些精確的實施例,並且可由本領域技術人員在其中實現各種改變和修改,而不會偏離如所附權利要求限定的本發明的範圍和精神。例如,可用獨立權利要求的特徵產生隨後的從屬權利要求的特徵的各種組合,而不會偏離本發明的範圍。
權利要求
1.一種同步設備,用於響應於多個不同類型的系統同步請求之一的接收來確定通過數據處理系統發送的至少事務請求的子集的進展,所述數據處理系統具有多個設備,包括用於生成所述事務請求的多個事務請求生成設備、用於接收所述事務請求的多個接收設備、所述同步設備和用於互連這些設備中的至少一些設備的至少一個互連; 所述系統同步請求包括所述多個事務生成設備之一所生成的請求並且查詢至少事務請求的子集的進展; 所述同步設備包括: 至少一個埠,用於接收來自所述數據處理系統的請求,以及向所述數據處理系統輸出請求和響應; 系統同步請求標識電路,用於標識在所述至少一個埠處接收的系統同步請求的類型; 緩衝電路,用於存儲所接收的要被輸出到多播電路的待決系統同步請求; 仲裁電路,用於選擇所述待決系統同步請求中的下一個以用於輸出到所述多播電路; 所述多播電路,被配置為響應於系統同步請求的接收來生成多個同步請求並且輸出所述多個同步請求以用於多播到所述數據處理系統內的設備中的至少一些設備,所述同步請求查詢在所述至少一些設備中的各個設備的每一個處至少事務請求的子集的所述進展; 收集電路,用 於收集對所述多個同步請求的響應,所述響應確認所查詢的進展已經在所述各個設備處出現,所述收集電路被配置為響應於已接收到所述系統同步請求中的一個來確定何時生成對全部所述多個同步請求的響應以及響應於確定已接收到全部所述響應來輸出對所述系統同步請求中的所述一個的響應。
2.根據權利要求1所述的同步設備,其中,所述仲裁電路被配置為根據系統同步請求的類型和系統同步請求的源來選擇待決系統同步請求中的下一個以用於輸出到所述多播電路。
3.根據權利要求1所述的同步設備,所述同步設備被配置為除了執行系統同步請求之外還執行多個系統維持請求,所述仲裁電路被配置為選擇系統維持請求和系統同步請求中的下一個以便輸出到所述多播電路。
4.根據權利要求1所述的同步設備,其中,所述系統同步請求請求確認所述至少事務請求的子集已完成。
5.根據權利要求4所述的同步設備,其中,其進展被所述系統同步請求查詢的所述至少事務請求的子集包括生成所述系統同步請求的事務請求生成設備先前輸出的至少一些事務請求。
6.根據權利要求5所述的同步設備,其中,所述系統同步請求請求確認所述至少事務請求的子集已在它們的目的設備處被接收。
7.根據權利要求1所述的同步設備,所述同步設備包括數據存儲裝置,以用於存儲標識所述同步請求被多播到達的所述至少一些設備的至少一個目標列表。
8.根據權利要求7所述的同步設備,其中,所述數據處理系統包括安全處理域和非安全處理域,所述數據存儲裝置是從所述非安全處理域不可訪問的安全數據存儲裝置。
9.根據權利要求7所述的同步設備,所述數據存儲裝置包括多個目標列表,至少一個目標列表對應於所述多個事務生成設備中的至少一個事務生成設備,使得響應於來自對應於所述列表之一的所述多個事務生成設備中的一個事務生成設備的系統同步請求的接收,所生成的同步請求被發送到所對應的目標列表中的至少一些設備。
10.根據權利要求7所述的同步設備,其中,所述同步設備響應於所述安全域中生成的更新信號的接收來更新所述至少一個目標列表中的至少一個。
11.根據權利要求7所述的同步設備,所述數據存儲裝置被配置為存儲多個目標列表,至少一個目標列表對應於所述系統同步請求的類型中的至少一個類型並且對應於所述多個事務生成設備中的至少一個事務生成設備,使得響應於來自所述多個事務生成設備中至少一個事務生成設備的至少一個類型的系統同步請求的接收,所生成的同步請求被發送到所對應的目標列表中的至少一些設備。
12.根據權利要求1所述的同步設備,其中,所述系統同步請求包括同步屏障事務請求、存儲器維持同步請求以及完成和暫停處理請求中的至少一個。
13.根據權利要求12所述的同步設備,其中,響應於包括所述同步屏障事務請求的系統同步請求,所述多播電路被配置為生成多個屏障事務請求作為所述多個同步請求,所述多個屏障事務請求請求所述至少一些設備確認生成所述同步屏障事務請求的事務生成設備所發出的任何待決事務請求已完成,對所述多個屏障事務請求的響應表示所述待決事務請求已完成。
14.根據權利要求12所述的同步設備,其中,響應於包括所述存儲器維持同步請求的系統同步請求,所述同步請求包括查詢所述事務生成設備發出的多個存儲器維持操作請求的進展的請求,對所述多個同步請求的響應表示所述各個設備已完成了所述存儲器維持操作請求。
15.根據權利要求12所述的同步設備,其中,響應於包括本地斷電請求的系統同步請求,所述多播電路被配置為生成請求確認所述各個設備已完成了任何待決事務請求的請求作為所述多個同步請求。
16.—種事務生成設備,包括: 事務生成器,被配置為生成多個事務請求以用於輸出到多個設備; 系統同步請求生成器,被配置為生成多個不同類型的系統同步請求,所述系統同步請求查詢所述多個設備執行的至少事務請求的子集的進展; 輸出埠,用於將所述系統同步請求輸出到同步設備;其中 所述事務生成器被配置為在從所述同步設備接收到對所述系統同步請求的響應之前不輸出任何另外的事務請求。
17.一種數據處理系統,包括: 多個設備,包括多個事務請求生成設備,其中,所述事務請求生成設備中的至少一個是根據權利要求16所述的事務生成設備),包括用於接收所述事務請求的至少一個接收設備和同步設備; 所述同步設備包括: 至少一個埠,用於接收來自所述事務請求生成設備的事務請求; 系統同步請求標識電路,用於標識在所述至少一個埠處接收的系統同步請求的類型; 緩衝電路,用於存儲所接收的要被輸出到多播電路的系統同步請求;仲裁電路,用於選擇待決系統同步請求的下一個以用於輸出到所述多播電路; 所述多播電路,被配置為響應於系統同步請求的接收來生成多個同步請求並且輸出所述多個同步請求以用於多播到所述數據處理系統內的設備中的至少一某些設備,所述同步請求查詢在所述至少一些設備中各個設備的每一個處所述至少事務請求的子集的進展; 收集電路,用於收集對所述多個同步請求的響應,所述響應確認所查詢的進展已經在所述各個設備處出現,所述收集電路被配置為響應於已接收到所述系統同步請求中的一個來確定何時生成對全部所述多個同步請求的響應以及響應於確定已接收到全部所述響應來輸出對所述系統同步請求中的所述一個的響應。
18.一種確定通過數據處理系統發送的至少事務請求的子集的進展的方法,所述數據處理系統具有多個設備,這多個設備包括多個事務請求生成設備、用於接收事務請求的多個接收設備、同步設備和用於互連這些設備中的至少一些設備的至少一個互連;所述方法包括步驟: 接收多個系統同步請求,所述系統同步請求查詢從所述多個事務請求生成設備中的一個所接收的至少事務請求的子集的進展,所述系統同步請求中的不同類型的至少一些系統同步請求查詢不同事務請求的子集的進展; 選擇所接收的待決系統同 步請求中的一個以用於輸出到所述多播電路; 接收所選擇的待決系統同步請求,生成多個同步請求並且將所述多個同步請求多播到所述數據處理系統內的設備中至少一些設備,所述同步請求查詢在各個設備中每一個處至少事務請求的子集的進展; 收集對所述多個同步請求的響應; 確定何時對從所述系統同步請求中的一個生成的全部所述多個同步請求的響應已被接收,並且響應於確定全部所述響應已被接收而輸出對所述系統同步請求中的所述一個的響應。
19.一種查詢事務請求的進展的方法,包括步驟: 生成多個事務請求以用於輸出到多個設備; 生成多個系統同步請求,所述系統同步請求查詢所述多個設備執行的至少事務請求的子集的進展,所述多個系統同步請求中的至少一些是不同類型的; 將所述系統同步請求輸出到同步設備;並且 在從所述同步設備接收到對所述系統同步請求的響應之前不輸出任何另外的事務請求
20.一種同步裝置,用於響應於多個不同類型的系統同步請求之一的接收來確定通過數據處理系統發送的至少事務請求的子集的進展,所述數據處理系統具有多個設備裝置,這多個設備裝置包括用於生成事務請求的多個發起者設備裝置、用於接收事務請求的多個接收設備裝置、所述同步裝置和用於互連這些設備裝置中的至少一些設備裝置的至少一個互連裝置; 所述系統同步請求包括所述多個事務生成設備之一所生成的請求並且查詢至少事務請求的子集的進展; 所述同步裝置包括: 至少一個埠裝置,用於接收來自所述數據處理系統的請求以及向所述數據處理系統輸出請求和響應; 系統同步請求標識裝置,用於標識在所述至少一個埠處接收的系統同步請求的類型; 緩衝裝置,用於存儲所接收的要被輸出到多播電路的待決系統同步請求; 仲裁裝置,用於選擇待決系統同步請求的下一個以用於輸出到所述多播電路; 多播裝置,用於響應於系統同步請求的接收來生成多個同步請求並且輸出所述多個同步請求以便多播到所述數據處理系統內的設備裝置中的至少一些設備裝置,所述同步請求查詢在各個設備裝置的每一個處至少事務請求的子集的進展; 收集裝置,用於收集對所述多個同步請求的響應,所述響應確認所查詢的進展已經在所述各個設備裝置處出現,所述 收集裝置用於響應於已接收到所述系統同步請求中的一個來確定何時生成對全部所述多個同步請求的響應以及響應於確定已接收到全部所述響應來輸出對所述系統同步請求中的所述一個的響應。
21.一種發起者設備裝置,包括: 事務生成器裝置,用於生成多個事務請求以用於輸出到多個設備; 系統同步請求生成器裝置,用於生成多個不同類型的系統同步請求,所述系統同步請求查詢所述多個設備執行的至少事務請求的子集的進展; 輸出埠裝置,用於將所述系統同步請求輸出到同步設備;其中所述事務生成器裝置被配置為在從所述同步設備接收到對所述系統同步請求的響應之前不輸出任何另外的事務請求。
全文摘要
公開了數據處理系統的同步。中央化同步設備響應於系統同步請求的接收來確定通過數據處理系統發送的至少事務請求的子集的進展。同步設備包括至少一個埠,用於接收來自數據處理系統的請求以及向數據處理系統輸出請求和響應;多播電路,被配置為響應於系統同步請求的接收來生成多個同步請求並且輸出多個同步請求以用於多播到數據處理系統內的設備中的至少一些設備,同步請求查詢在各個設備的每一個處至少事務請求的子集的進展;收集電路,用於收集對多個同步請求的響應,響應確認所查詢的進展已經在各個設備處出現,收集電路被配置為確定何時接收到對全部多個同步請求的響應以及響應於確定已接收到全部響應來輸出對系統同步請求的響應。
文檔編號G06F17/30GK103106229SQ201210284470
公開日2013年5月15日 申請日期2012年8月8日 優先權日2011年8月8日
發明者潘尼德拉·庫瑪·曼娜瓦, 詹姆師德·加拉, 拉瑪穆爾西·古魯·普拉薩哈, 麥可·艾倫·菲利波 申請人:Arm有限公司