[go: up one dir, main page]

TWI708146B - 互連件及互連件的操作方法 - Google Patents

互連件及互連件的操作方法 Download PDF

Info

Publication number
TWI708146B
TWI708146B TW104142351A TW104142351A TWI708146B TW I708146 B TWI708146 B TW I708146B TW 104142351 A TW104142351 A TW 104142351A TW 104142351 A TW104142351 A TW 104142351A TW I708146 B TWI708146 B TW I708146B
Authority
TW
Taiwan
Prior art keywords
write
transaction
circuit
coherent
transactions
Prior art date
Application number
TW104142351A
Other languages
English (en)
Other versions
TW201626236A (zh
Inventor
吐溫安德魯大衛
瑞歐克瑞斯彼得安德魯
賽利斯貝瑞尚詹姆斯
莎拉丹尼爾
洛伊喬治羅柏史考特
Original Assignee
英商Arm股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英商Arm股份有限公司 filed Critical 英商Arm股份有限公司
Publication of TW201626236A publication Critical patent/TW201626236A/zh
Application granted granted Critical
Publication of TWI708146B publication Critical patent/TWI708146B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本發明提供用於將複數個主器件與複數個從器件連接之互連件,及互連件的運作的方法。使用危險管理電路以將至重疊位址之交易串行化。此外,閘控電路確保在與主器件之一或更多者之介面處的有序寫入觀察(OWO)行為,此閘控電路接收寫入交易之寫入位址傳送且執行閘控運作以對寫入位址傳送向從器件之向前傳播進行閘控,以便確保OWO行為。閘控電路在危險管理電路之控制下執行閘控運作。因此,對於經受藉由危險管理電路之危險檢查的寫入交易而言,此舉移除實施任何其他過程來特定地管理針對彼等寫入交易之OWO行為的需要。

Description

互連件及互連件的操作方法
本技術係關於互連件及此互連件的運作的方法。
互連件可用於將複數個主器件與複數個從器件互連,以允許在彼等主器件與彼等從器件之間發生交易。在一些互連件中,需要在與至少一個主器件之互連的介面處觀察有序寫入觀察(Ordered Write Observation;OWO)行為。關於與主器件之此種介面,OWO行為要求,若主器件能夠觀察與特定交易識別符之寫入交易之結果,則此主器件亦必需能夠觀察所有其他寫入交易之結果,此等其他寫入交易具有在此寫入交易之前發出的相同識別符。
與在與主器件之一或更多個介面處維持OWO行為之發出不同,亦已知互連件典型地需要併入死鎖避免電路來確保以一方式經由互連件處理交易,此方式將不會引起死鎖情況之發生。舉例而言,已知監控經由互連件自從器件返回之寫入響應信號,且使用此寫入響應資訊以決定何時允許新的交易經由互連件發出係安 全的。在已知系統中,使用此死鎖避免方案亦可具有確保較早提及之OWO行為得以觀察之附帶效果。
然而,死鎖避免電路藉由增加寫入交易之潛時來降低潛在效能,且亦可能實施時複雜且成本高昂,且在一些互連件中,可併入其他結構以減輕某些死鎖條件之可能性。例如,已知提供寫入響應重排序緩衝器以使其中寫入響應信號返回至主器件之順序得以相對於其中此等信號由互連件接收之順序重排序。此舉具有藉由減少在互連件之內所需的死鎖避免電路之範圍來顯著降低潛時影響的可能性。然而,仍必須確保觀察到任何所需OWO行為,且如此限制了當死鎖避免電路用於確保OWO行為時潛時之潛在降低。
在一個示例性佈置中,提供了一種用於將複數個主器件與複數個從器件連接之互連件,此互連件包含:危險管理電路,用於將至重疊位址之交易串行化;及閘控電路,用於確保在與至少一個主器件之介面處的有序寫入觀察(ordered write observation;OWO)行為,此閘控電路接收寫入交易之寫入位址傳送且執行閘控運作以對寫入位址傳送向從器件之向前傳播進行閘控,以確保此OWO行為;閘控電路在危險管理電路之控制下執行此閘控運作。
在另一示例性佈置中,提供了一種運作互連件以將複數個主器件與複數個從器件連接之方法。使用 危險管理電路以將至重疊位址之交易串行化;接收寫入交易之寫入位址傳送;執行閘控運作以對寫入位址傳送向從器件之向前傳播進行閘控,以確保在與至少一個主器件之介面處之有序寫入觀察(ordered write observation;OWO)行為;且在危險管理電路之控制下執行此閘控運作。
在更進一步示例性佈置中,提供了一種用於將複數個主器件與複數個從器件連接之互連件,包含:危險管理手段,用於將至重疊位址之交易串行化;及閘控手段,用於確保在與至少一個主器件之介面處的有序寫入觀察(ordered write observation;OWO)行為,此閘控手段用於接收寫入交易之寫入位址傳送且用於執行閘控運作以對寫入位址傳送向從器件之向前傳播進行閘控,以確保此OWO行為;閘控手段,用於在危險管理手段之控制之下執行此閘控運作。
10:主器件
12:快取記憶體結構
15:主器件
17:快取記憶體結構
20:主器件
25:互連件
30:位址電路
35:位址路由電路
40:同調控制電路
42:危險檢查電路
45:寫入資料電路
50:寫入資料緩衝器
55:讀取資料電路
60:寫入響應電路
65:每主交易追蹤電路
70:寫入響應重排序緩衝器
80:從器件
85:從器件
90:從器件
100:交易請求進入仲裁器
105:交易重排序緩衝器
115:交易請求外出仲裁器
120:死鎖閘控功能
130:非同調寫入交易OWO追蹤電路
132:非同調寫入交易
135:路由追蹤器
140:狀態追蹤電路
145:交易旗標
200:步驟
205:步驟
210:步驟
215:步驟
220:步驟
225:步驟
230:步驟
本技術將僅藉助於實例參考如在附圖中所示之本技術之實施例進一步描述,在此等附圖中:第1圖為根據一個實施例之資料處理系統之方塊圖;第2圖更詳細地圖示根據一個實施例之在互連件內提供的各種元件之間的交互作用; 第3圖為方塊圖,更詳細地圖示根據一個實施例之由第1圖及第2圖之每主交易追蹤器執行的功能中之一些功能。
第4圖為流程圖,圖示根據一個實施例之在第2圖之交易重排序緩衝器內執行的某些步驟;及第5圖為圖解,示意地圖示根據一個實施例之出於OWO考慮目的的處理非同調寫入散列交易之方式。
在參看附圖論述實施例之前,提供實施例之以下描述。
根據一個示例性實施例,互連件內之閘控電路用以確保在與一或更多個主器件之介面處的OWO行為。特定言之,閘控電路執行閘控運作以對寫入交易之寫入位址傳送向用於彼等寫入交易之目標從器件之向前傳播進行閘控,以確保OWO行為。進一步,危險管理電路用以執行關於交易之危險檢查,以將至重疊位址之交易串行化。發明者已認識到,在寫入交易經歷危險管理電路之危險檢查程序之情況下,則由閘控電路所需之閘控運作可在危險管理電路之控制下執行。由此,在不需要利用死鎖避免方案來管理針對彼等交易之OWO行為之情況下,可確保此等交易之OWO行為。此舉可使得能夠藉由降低寫入交易之潛時實現顯著的效能益處。此舉亦實現了在可移除某些死鎖條件之情況下互連件的成本 及複雜性之降低,且因此不需要相關聯之死鎖避免電路,因為不再需要仍併入僅處理此等寫入交易之OWO行為之死鎖避免電路,只要此等寫入交易係藉由危險管理電路予以危險檢查即可。因此,此舉使得對於使用死鎖避免方案來實施寫入交易之OWO行為的依賴性得以避免。
在一個實施例中,由於其他原因,可能已在互連件內提供適當危險管理電路。例如,在至少一個主器件具有相關聯快取記憶體結構之情況下,互連件可能需要實施快取記憶體同調控制機制,以確保所有器件能夠發現彼等快取記憶體結構內之任何快取記憶體資料之最新版本。特定言之,在一個實施例中,互連件可進一步包含同調控制電路以執行由互連件自主器件接收之同調交易的快取記憶體同調控制運作,此危險管理電路與同調控制電路相關聯且用於將至重疊位址之同調交易串行化。隨後,閘控電路可針對同調寫入交易經佈置以在危險管理電路之控制下執行此閘控運作。
因此,在此實施例中,任何同調寫入交易將已藉由危險管理電路作為快取記憶體同調控制運作之一部分加以處理。由此,對於此等同調寫入交易,閘控電路可在危險管理電路之控制下僅執行閘控運作以確保此等同調寫入交易之OWO行為。
在一個實施例中,雖然非同調寫入交易由於快取記憶體同調控制原因而不需要藉由危險管理電路處 理,然而互連件可經佈置以將此非同調寫入交易傳遞通過危險管理電路以確保彼等非同調寫入交易之OWO行為。
然而,危險管理電路表示相對高昂之資源,且因此在替代實施例中,可能需要不使用關於任何非同調寫入交易之危險管理電路。取而代之,在一個實施例中,互連件可進一步包含交易追蹤電路以回應於自互連件發出至此從器件之寫入交易,追蹤自從器件接收之寫入響應信號。對於非同調寫入交易,交易追蹤電路可隨後經佈置以發出OWO控制信號至閘控電路,以控制此非同調寫入交易之此閘控運作之效能。由此,對於非同調寫入交易,確保OWO行為所需之閘控運作可基於由交易追蹤電路發出之OWO控制信號執行。
在一個實施例中,每一交易具有與此交易相關聯之交易識別符,且交易追蹤電路經佈置以取決於寫入響應信號控制OWO控制信號至閘控電路之發出,以確保非同調寫入交易之位址傳送不傳播超出閘控電路,直至已觀察到與具有相同交易識別符之所有先前寫入交易相關聯之寫入響應信號為止。
在一個實施例中,每一從器件經強制以實施關於從器件處理之寫入交易之OWO行為。在此等情況下,交易追蹤電路進一步能夠限制此電路需要監控之非同調寫入交易之數目,亦即,限制此電路需要為其發出OWO信號之非同調寫入交易之數目。特定言之,在一個 實施例中,交易追蹤電路經佈置以發出OWO信號以便僅控制傳播超出非同調寫入交易之閘控電路,此等非同調寫入交易經發出至與最近先前非同調寫入交易之從器件不同之從器件,此等最近先前非同調寫入交易具有相同交易識別符。
藉由此方法,可達成寫入交易之平均前向延遲之顯著減少,因為僅存在相對較數目之需要藉由交易追蹤電路閘控之寫入交易。實際上,應理解,當所有寫入交易訊務同調時,將不需要用於執行寫入交易之任何閘控之交易追蹤電路。
在一些實施例中,某些非同調寫入交易可致使一系列單元之寫入資料得以跨於多個從器件而寫入。在本文中,此等寫入交易將被稱為寫入散列交易。散列交易之特定實例為條串化交易,其中寫入資料單元係跨於多個從器件以條串化方式寫入。在一個實施例中,交易追蹤電路經佈置以在考慮當前非同調寫入交易時,若具有相同交易識別符之最近先前非同調寫入交易為非同調寫入散列交易,則將當前非同調寫入看作正發出至從器件,此從器件與最近先前非同調寫入交易之從器件不同。由此,不論非同調寫入散列交易之最終資料單元正寫入至何從器件,交易追蹤電路將考慮正發出至不同於彼寫入散列交易之從器件的從器件之當前非同調寫入交易,從而引動交易追蹤電路以實施彼當前非同調寫入交易之OWO行為。
存在其中交易追蹤電路可決定何時發出OWO信號之數種方法。在一個實施例中,交易追蹤電路藉由實施死鎖避免方案而控制OWO信號之發出。然而,如將自以上論述顯而易見,為了OWO目的,此死鎖避免方案之使用可限制於非同調寫入交易,且在某些實施例中,限制於僅非同調寫入交易之子集。
死鎖避免方案可採取多種形式,但在一個實施例中,此死鎖避免方案為單個交易方案、每交易識別符單個交易方案,或每交易識別符單個路由方案中之一者。
在一個實施例中,可達成需要使其發出藉由交易追蹤電路控制以確保OWO行為之非同調寫入交易之數目的進一步降低。特定言之,在一個實施例中,對於非同調寫入交易,若具有相同交易識別符的寫入響應尚未觀察到之所有先前寫入交易為同調寫入交易,則交易追蹤電路可經佈置以不控制傳播超出非同調寫入交易之閘控電路。特定言之,發明者已觀察到,非同調寫入交易可能無法使其結果被觀察,直至發出此非同調寫入交易為止;且若具有相同交易識別符的寫入響應尚未觀察到之所有先前寫入交易為同調寫入交易,則所有彼等交易將根據與彼等同調寫入交易有關之危險管理電路之使用而自動地展現所需OWO行為。因此,此舉保證了此「第一」非同調寫入交易將在沒有任何閘控的情況下根據交易追蹤電路展現所需OWO行為。
在一個實施例中,互連件進一步包含寫入響應重排序緩衝器以使得由互連件接收之寫入響應信號得以按一順序返回至主器件,此順序不同於藉由互連件接收此等寫入響應信號之順序。當使用寫入響應重排序緩衝器時,此舉可顯著地降低潛在死鎖情況之數目,且因此實現將另外經由使用死鎖避免電路發生之潛時之顯著降低。當採用用於處置OWO行為之較早所述之技術時,此舉隨後使得彼等潛在潛時減少得以經由對死鎖避免電路之依賴性之降低而更加輕易地達成,以管理OWO行為。隨後,此舉可經由寫入交易之潛時之上述減少而產生顯著的效能改良。
交易識別符可採取各種形式,但在一個實施例中,交易識別符可經佈置以對於來自不同主器件之交易而不同。在一些實施例中,主器件可經佈置以使用唯一交易識別符。或者,由主器件指定之原始交易識別符可藉由互連件補充,以確保如由互連件使用之交易識別符對於來自不同主器件之交易而不同。
在一個實施例中,在互連件內需要死鎖避免電路以管理其中寫入交易之寫入位址傳送之方式,且經由互連件處理彼寫入交易之相關聯寫入資料。特定言之,死鎖避免電路需要確保寫入交易之寫入位址無法經由互連件發出,直至可保證其相關聯寫入資料可經路由至目標從器件為止。此舉對於防止由下游潛在再收斂路徑所引起之循環依賴性是必要的。藉由不試圖發出寫入 交易之寫入位址傳送,直至其相關聯寫入資料之第一單元亦可用為止,或藉由不試圖發出寫入交易之寫入位址傳送,直至已發出與發送至不同從器件之先前交易相關聯之所有寫入資料為止,用於企圖處理此潛在死鎖情況之已知技術可產生顯著的潛時問題。根據一個實施例,此潛時藉由改良死鎖避免機制顯著降低。
特定言之,在一個實施例中,互連件進一步包含:寫入資料路由電路,用於經由互連件路由寫入資料;死鎖避免電路,用於對寫入交易之寫入位址傳送向從器件之向前傳播進行閘控,以確保寫入交易之寫入位址傳送不傳播超出互連件內之閘控點,直至保證關於不同從器件執行之先前寫入交易之寫入資料無法阻斷寫入資料路由電路內之寫入交易的相關聯寫入資料;及寫入資料追蹤電路,經佈置用於當前寫入交易的傳播超出閘控點之寫入位址傳送,以決定彼當前寫入交易之相關聯寫入資料之寫入資料大小及相關聯寫入資料之寫入資料路由,且考慮寫入資料路由及寫入資料大小而決定一條件之存在下,此條件保證當前寫入交易之相關聯寫入資料將經由寫入資料路由電路傳播;寫入資料追蹤電路,經佈置回應於偵測此條件以發出釋放信號至死鎖避免電路,以允許下一寫入交易之寫入位址傳送超出閘控點。
因此,根據上述實施例,寫入資料追蹤電路用於決定一時間點,在此時間點可保證當前寫入交易之相關聯寫入資料將不會在寫入資料路由電路內受保持, 且因此不會阻斷與下一寫入交易相關聯之寫入資料。在彼時,寫入資料追蹤電路經佈置以發出釋放信號至死鎖避免電路,以隨後允許下一寫入交易之寫入位址傳送超出閘控點。此舉允許比根據已知技術顯著更早地發出下一寫入交易之寫入位址傳送,且因此允許寫入交易之潛時之顯著降低,同時仍確保避免潛在的死鎖條件。
在一個實施例中,互連件進一步包含寫入資料緩衝電路,位於寫入資料路由電路與從器件之間以便在寫入資料傳遞至從器件之前將寫入資料緩衝,此寫入資料追蹤電路經佈置以監控用於寫入資料路由的寫入資料緩衝電路內之可用空間以決定此狀態為一時間點,在此時間點保證當前寫入交易之其餘寫入資料容納在寫入資料緩衝電路內。因此,在此實施例中,寫入資料追蹤電路可決定在相關寫入資料緩衝器內之可用空間何時足以容納當前寫入交易之剩餘寫入資料,自此時間點可發出釋放信號。因此,上述技術不等待直至已實際發出寫入資料之最後一單元為止,但取而代之決定可保證何時資料之最終單元將能夠經由寫入資料路由電路不受阻礙地發出,即使此舉尚未如此進行。在此時間點,即使當前交易之資料之最終單元尚未通過寫入資料路由電路,發出釋放信號亦是安全的,因此顯著地降低了潛時。特定言之,此較早釋放信號釋放對下一、不同目的地寫入交易之寫入位址的閘控。
典型地,釋放製程將花費一些時間,但是釋放信號之較早發出允許釋放機構繼續,同時發出當前寫入交易之寫入資料且此寫入資料通過寫入資料路由電路,且允許在最後一個寫入資料已通過寫入資料路由電路之前發出下一寫入交易之寫入位址,從而允許下一交易之寫入資料開始經由互連件以顯著降低潛時來路由。
寫入資料緩衝電路可採取各種形式,但在一個實施例中,此寫入資料緩衝電路包含用於每一從器件之單獨寫入緩衝器。
現將參看附圖描述特定實施例。
第1圖圖示根據一個實施例之資料處理系統,此資料處理系統可例如實施為積體電路。提供互連件25用於將複數個主器件10、15、20與複數個從器件80、85、90互連。互連件25控制各種主器件及從器件之互連以使得交易在主器件與從器件之間發生。交易將典型地涉及經由互連件之自主器件至特定從器件之位址傳送,繼之以一或更多個資料傳送,以在主器件與從器件之間傳遞資料。對於寫入交易,寫入資料將自主器件傳遞至從器件;而對於讀取交易,資料將自從器件返回至主器件。對於寫入交易,在一個實施例中,寫入響應亦可自從器件返回至主器件以在寫入交易結束時提供交易狀態資訊至相關主器件,例如,指示是否成功地完成交易、是否發生錯誤,等等。
交易位址經由位址電路30路由,位址電路30不僅包括路由電路35而且包括相關聯控制電路,該路由電路用於經由互連件自相關主器件至相關從器件路由寫入交易之各種寫入位址及讀取交易之讀取位址。類似地,寫入交易之寫入資料經由寫入資料電路45路由,寫入資料電路45包括寫入資料路由電路及相關聯控制元件,而讀取交易之讀取資料係經由讀取資料電路55返回,讀取資料電路55將再次包括路由電路及相關聯控制元件。在一個實施例中,亦可在寫入資料電路45與從器件之間的路徑中提供寫入資料緩衝器50,以使得寫入資料能夠在向前傳播至相關從器件之前得以緩衝。
寫入響應電路60係用以將自從器件返回之各種寫入響應路由至相關主器件,寫入響應訊務亦在向前傳輸至主器件之前經由每主交易追蹤電路65路由。對於每個主器件,每主交易追蹤電路經佈置以維持關於所有非完成交易之狀態之資訊,此資訊係用以設定由各種其他所示元件引用之旗標,以經由互連件控制位址訊務及資料訊務之流動。如第1圖中所示,在一個實施例中,每主交易追蹤電路65可併入寫入響應重排序緩衝器70中,以使得由互連件接收之寫入響應信號能夠以一順序返回至主器件,此順序不同於接收彼等寫入響應信號之順序。藉由使用寫入響應重排序緩衝器,有可能移除可能另外出現之數個潛在死鎖情況,且因此降低潛時,該 潛時將歸因於在交易追蹤電路65內對使用死鎖避免電路以處置彼等潛在死鎖情況之需要而另外引起。
在一或更多個主器件具有相關聯快取記憶體結構之情況下,則已知在互連件內提供同調控制電路40以執行快取記憶體同調運作,以確保連接至互連件之各種裝置皆發現任何特定資料值之最新版本。在第1圖中所示之實例中,假定主器件10及15具有相關聯快取記憶體結構12、17。儘管主器件20經圖示為不具有相關聯快取記憶體結構,但是若其交易涉及可共享位址範圍(此等區域屬性典型地定義在記憶體管理單元(memory management unit;MMU)頁表中),且因此在存在正經存取之資料可能常駐於與其他主器件10、15相關聯之快取記憶體結構12、17中之一者中之情況下,其交易亦將典型地需要經歷快取記憶體同調控制運作。
由主器件發出之交易可分類為同調交易或非同調交易。同調交易需要經歷同調控制電路40之同調控制運作,而非同調交易則不需要。同調交易之實例將為指定在記憶體之可共享區域內的位址之交易,而非同調交易之實例將為指定不在記憶體之可共享區域內的位址之交易,且因此該交易中相關聯資料無法常駐於快取記憶體結構12、17中之一者內。
同調控制電路包括危險檢查電路42,此電路用於執行危險偵測運作且考慮到所偵測之危險狀況控制經由位址路由電路35之位址傳送之發出的排序及時 序。特定言之,危險檢查電路42偵測至重疊位址之交易且確保使彼等交易串行化,以避免潛在危險情況出現。可不僅關於由主器件發出之實際交易,而且結合任何探聽交易執行此危險檢查,此等探聽交易可藉由同調控制電路作為快取記憶體同調運作之一部分發出。特定言之,在同調控制電路決定快取記憶體結構12、17中之一者可保持當前交易正在試圖存取之資料的情況下,則此電路可啟動探聽交易至彼等快取記憶體中之一或更多者以執行查找運作,以決定是否所需資料實際上儲存於快取記憶體內,且此探聽交易亦可藉由危險檢查電路來監控。
互連件典型地需要併入死鎖避免電路以確保以一方式經由互連件處理交易,此方式將不會引起死鎖情況發生。作為一種死鎖避免電路之特定實例,已知在交易追蹤電路內提供死鎖避免電路來監控經由互連件自從器件返回之寫入響應信號,且已知使用彼寫入響應資訊以決定何時允許新的交易得以經由互連件發出是安全的。一旦認為潛在的死鎖情況不再存在,則此舉可用於控制位址路由電路35內之一或更多個元件,以便允許相關位址傳送得以傳播。然而,在其中提供寫入響應重排序緩衝器70之實施例中,此舉可顯著地減輕此潛在死鎖情況,且使得在追蹤電路65內之死鎖避免電路之使用得以顯著地降低,從而減少寫入交易之潛時。
然而,如前所述,與死鎖避免之發出相獨立,常常需要在與至少一個主器件之互連件的介面處觀察有序寫入觀察(ordered write observation;OWO)行為,且常常關於彼等主器件中之多個主器件需要此行為。雖然已知某些死鎖避免方案可用於確保OWO行為得以實施,此等方案諸如可能關於寫入響應訊務在交易追蹤電路內實施之彼等方案,但是此舉可關於寫入交易之處理產生顯著的潛時問題,尤其在其中對於死鎖避免管理不再需要彼等死鎖避免方案之情況下如此。
特定言之,若上述死鎖避免機制係用於實施OWO行為,則當交易之目的地與具有相同交易識別符(交易ID)之先前交易之目的地不同時,此機制在交易(及在此交易之後的彼等交易)上施加前向潛時懲罰。特定言之,無法發出至新目的地之交易,直至具有相同交易ID之所有先前寫入完全在下游為止。
因為寫入位址在不需用於重排序寫入資料之顯著容量之情況下無法重排序,對交易發出之任何限制在所有隨後交易(不僅是與對讀取交易之情況一樣的具有相同交易ID之彼等交易)之發出上施加限制,且可因此對此等寫入交易產生顯著的潛時問題。
根據一個實施例,使用不同的機制以處置通過互連件之交易中之至少一些交易的OWO行為,從而降低對為此目的使用死鎖避免方案之依賴性,且降低互連件內之寫入交易潛時。
發明者已認識到,在使用快取記憶體同調控制機制之系統中,彼快取記憶體同調控制機制之危險機制可用於保證OWO行為。特定言之,在關於同調位置執行之讀取運作無法返回響應(且因此觀察此位置),同時已經發出至具有彼同調位置之重疊位址的同調寫入交易之情況下,相關主器件尚未確認彼同調寫入交易之寫入響應。來自主器件之確認將不會發生,直至寫入交易之寫入響應已自互連件發送至主器件為止,此舉進而將不會發生,直至具有相同交易ID之所有先前交易已使其寫入響應返回至主器件為止。因此,發明者認識到,同調寫入交易之觀察固有地需要對具有相同交易識別符(為同調或非同調)之所有先前寫入交易之觀察,而無需使用死鎖避免機制限制彼同調寫入交易之位址傳遞的發出。取而代之,關於同調交易之危險檢查機制之實施將固有地確保觀察到針對同調寫入交易之OWO行為。
在一個實施例中,交易追蹤電路65從而僅需要實施關於非同調寫入交易之死鎖避免風格機制,以確保亦觀察到針對非同調寫入交易之OWO行為。此舉可引起互連件內之處置寫入交易之整體潛時的顯著降低,因為僅非同調寫入交易需要藉由死鎖避免機制停頓。進一步,已發現,並非所有非同調交易需要以彼方式停頓,且取而代之,僅需要使用死鎖避免機制停頓之非同調交易為發出至目的地的彼等交易,此目的地不同於具有相同交易識別符之最新先前非同調寫入交易之目的地。
現將進一步參看第2圖論述根據一個實施例實施OWO行為之方式。
如第2圖中所示,在一個實施例中,寫入位址/讀取位址路由電路35包括交易請求進入仲裁器100、交易重排序緩衝器105及交易請求外出仲裁器115。自主器件發出之讀取及寫入交易之位址傳遞係藉由交易請求進入仲裁器100接收,此仲裁器使用仲裁方案以決定何時將彼等位址傳遞路由至交易重排序緩衝器105上。如先前所論述,對於任何同調交易,危險管理電路42將執行關於彼等同調交易之危險檢查運作,且一旦彼交易之所有危險已清除,則將僅允許交易之位址傳遞得以藉由交易重排序緩衝器傳播。
每主交易跟蹤器65負責維持關於來自相關聯主器件之所有非完成交易的狀態資訊,且基於彼所維持之狀態資訊,每主交易跟蹤器65將設定且清除由互連件內之元件使用的各種旗標,以控制經由互連件之位址及資料資訊之傳遞。對於第2圖,交易重排序緩衝器105將根據彼等旗標之狀態決定其緩衝器中之何交易為同調的,彼等同調交易中之何同調交易已到達此等同調交易可得以危險檢查之時間點,彼等交易中之何交易已經危險檢查,及是否已通過危險檢查。僅一旦已通過特定同調交易之危險檢查,則此交易將能夠自交易重排序緩衝器發出。
交易重排序緩衝器105亦實施OWO閘控功能110,且特定言之執行閘控運作以對寫入位址傳送向從器件之向前傳播進行閘控,以確保OWO行為得以實施。
如上文所論述,對於同調寫入交易,此舉可保證當同調寫入交易已通過其危險檢查過程時,且相應地,可直接地在危險管理電路42之控制下對於此同調寫入交易執行OWO閘控運作。
雖然危險管理電路42將不典型地用於非同調寫入交易,因為此危險管理電路作為保留用於與同調交易結合使用之同調控制電路之一部分來實施,在一個實施例中,將可能延長危險檢查運作以便亦執行關於非同調交易之危險檢查。此舉將確保所有所需OWO閘控功能將取決於危險管理電路之運作直接地達成。然而,在替代實施例中,非同調交易並非藉由危險管理電路監控,而取而代之,每主交易追蹤器65實施必要的機制以確保關於非同調寫入交易之OWO行為。特定言之,每主交易追蹤器65包括用於追蹤非同調寫入交易之電路130以決定何時可將發出許可訊號發出至關於待定非同調寫入交易之交易重排序緩衝器105,以便向交易重排序緩衝器指示,經由重排序緩衝器之OWO閘控功能110傳播非同調寫入交易之位址且將此位址傳播至交易請求發出仲裁器115上目前是安全的。
特定言之,在一個實施例中,一旦已觀察到與具有相同交易識別符之所有先前寫入交易相關聯之寫入響應信號,追蹤電路130將僅發出OWO許可訊號至相對於非同調寫入交易之交易重排序緩衝器105。在一個實施例中,將強制各從器件以實施關於從器件處理之寫入交易之OWO行為。在此等情況下,交易追蹤電路130進一步能夠限制此電路需要為其監控且發出OWO許可之非同調寫入交易之數目。特定言之,可能僅需要為發出至從器件之非同調寫入交易發出OWO許可信號,此從器件不同於與具有相同交易識別符之最近先前非同調寫入交易相關聯之從器件。
在一個實施例中,可達成需要使其發出藉由OWO追蹤電路控制130之非同調寫入交易之數目的更進一步降低。特定言之,若當考慮特定非同調寫入交易時,具有尚未觀察到其寫入響應的相同交易識別符之所有先前寫入交易為同調寫入交易,將不需要使用OWO許可信號自重排序緩衝器105閘控非同調寫入交易之位址傳遞之向前傳播。此舉是歸因於以下事實,因為不可能觀察到非同調寫入,直至發出此寫入為止,且一旦發出此非同調寫入,所有先前同調寫入交易將已建立其危險檢查程序且因此可保證得以觀察,隨後只要保證具有相同交易ID之所有先前同調寫入將在此時可觀察,就固有地保證了此非同調寫入之OWO行為。
在一個實施例中,與OWO行為實施之發出不同,仍在互連件內需要死鎖避免電路以管理其中寫入交易之寫入位址傳送之方式,且經由互連件處理彼寫入交易之相關聯寫入資料。特定言之,交易請求發出仲裁器115將併入一些死鎖閘控功能120,此死鎖閘控功能將取決於接收自寫入資料電路45之一或更多個控制信號閘控位址交易之位址傳送之輸出。特定言之,死鎖避免電路需要確保寫入交易之寫入位址無法經由互連件發出,直至可保證其相關聯寫入資料可經路由至目標從器件為止。此舉對於防止由下游潛在再收斂路徑所引起之循環依賴是必需的。
根據一個實施例,提供一種機制,此機制使必要的控制信號得以顯著地早於先前可能之控制信號而發出,從而降低處理寫入交易之潛時,同時仍執行所需的死鎖避免檢查。特定言之,經由方塊45內之寫入資料路由電路之寫入資料的路由係基於由路由追蹤器135提供之源路由資訊,及自交易請求外出仲裁器轉發之目的地路由資訊而執行。一旦已提供目的地路由資訊,則方塊45內之電路可追蹤下游緩衝資源之可用性,諸如第1圖中所示之寫入資料緩衝器50,且考慮待傳遞之寫入資料之大小可決定何時可保證彼寫入資料之最後單元將得以不受阻礙地通過寫入資料路由開關。在此時間點,可保證此當前寫入交易之寫入資料之處理將不阻礙經由後續寫入交易之寫入資料之寫入資料路由電路的傳播,此 後續寫入交易針對不同從器件。因此,為此目的可自寫入資料電路發出控制信號(早期WLAST),此控制信號可藉由交易請求外出仲裁器115內之死鎖閘控功能120使用,以便決定何時可輸出下一寫入交易之位址傳送。
返回至實施OWO行為之論述,第3圖為方塊圖,更詳細地圖示在每主交易追蹤器65內提供之元件。特定言之,對於所有非完成交易提供狀態追蹤電路140,以便保持追蹤在互連件內之每個此交易之當前狀態。追蹤電路將在互連件內之交易處理過程中接收各種輸入,以便使其能夠更新狀態,且基於當前狀態,追蹤電路將維持一組交易旗標145。此等旗標係藉由互連件內之各種元件使用以控制決策,彼等元件對於交易位址及交易資料之傳播採用此等決策。例如,交易重排序緩衝器105將引用交易旗標資訊145以決定,對於其緩衝器中的當前待定交易,是否在已通過危險檢查之前需要阻止交易發出,或是否此交易為需要來自非同調寫入交易OWO追蹤電路130之OWO發出許可信號之交易。非同調寫入交易OWO追蹤電路130經佈置以監控等待OWO許可之非同調寫入交易(由第3圖中之虛線框所示)。可在非同調寫入交易OWO追蹤電路130內局部地維持此等交易之細節,或可參考狀態追蹤資訊140在運作中決定此等交易之細節。
非同調寫入交易OWO追蹤電路130亦可保持追蹤所有非完成交易之狀態,且特定言之可追蹤防止關於特定非同調寫入交易發出OWO發出許可信號之彼等交易之狀態。因此,例如,對於需要發出OWO許可信號之特定非同調寫入交易,追蹤電路130可偵測其中最近先前相同交易ID非同調寫入交易經發送至不同從器件之情況,且可在發出其監控之非同調交易之OWO許可信號之前等待關於最近先前寫入交易之寫入響應信號之接收。在一個實施例中,非同調寫入交易OWO追蹤電路130經佈置以監控來自寫入響應重排序緩衝器70之寫入響應輸出來達到其目的。
第4圖為流程圖,圖式針對交易重排序緩衝器105之緩衝器中保持的各寫入交易之交易重排序緩衝器之運作。在步驟200處,決定是否交易為同調的,且若交易為同調的,則隨後在步驟205處決定是否相關交易旗標145指示交易能夠得以危險檢查。在一個實施例中,其中對待定交易執行危險檢查之順序是重要的,且特定言之,需要為針對特定主器件發出的交易執行此危險檢查。
若旗標確實指示所考慮交易能夠得以危險檢查,則在步驟210處決定是否相關狀態旗標指示已通過彼交易之危險檢查過程。若否,則過程在步驟210處關於彼交易而言停頓,直至旗標指示已通過危險檢查為止。在彼時間點,如由方框215所示,OWO行為係根據 交易已通過危險檢查過程來保證,且因此,過程可進行至步驟230,在此步驟處,當發出來自相同源之先前寫入交易之位址傳遞時,可發出彼交易之位址傳遞。在一個實施例中,若交易係藉由相同主器件發出,則交易被視為具有相同源。然而,在替代實施例中,可提供寫入資料重排序緩衝器以緩解此狀況,以使得若交易具有相同交易識別符,則交易將僅被視為具有相同源。
若在步驟200處,決定所考慮交易不為同調的,則在步驟220處,引用交易旗標145以決定是否相關旗標指示針對彼非同調交易需要OWO許可。若否,過程可直接進行至步驟230,但假定需要許可,隨後在步驟225處決定是否已自交易追蹤電路130接收許可信號。若否,過程關於彼交易而言停頓,直至接收OWO信號為止,在此時,過程進行至步驟230。
在一個實施例中,發出之寫入交易亦可包括寫入散列交易,其中跨於多個從器件寫入由寫入交易指定之各種寫入資料單元/資料塊。散列交易之特定實例為條串化交易,其中跨於多個從器件以條串化方式編寫寫入資料單元。如前所述,在針於非同調寫入交易之一個實施例中,若具有相同交易識別符之先前非同調寫入交易係至不同從器件,則OWO許可信號僅需要經發出至關於特定非同調寫入交易之交易重排序緩衝器。在一個實施例中,如第5圖中所示,在其中具有相同交易識別符之先前寫入交易為寫入散列交易之情況下,非同調寫入交 易OWO追蹤電路130經佈置以處理如關於不同從器件之寫入交易,與由寫入散列交易內的資料之最終單元靶向之從器件無關。
特定言之,如第5圖中所示,交易A由四個資料單元1、2、3、4組成,此等資料單元以條串化方式在從器件1與2之間寫入。第一及第三資料單元經寫入至從器件1,而第二及第四資料單元經寫入至從器件2。因此,資料之最終單元經發送至從器件2。若下一非同調寫入交易(交易B)正在將其所有資料單元寫入至從器件2,則非同調寫入交易OWO追蹤電路130仍會將交易A看作至交易B之不同從器件,且將相應地設定旗標,此旗標指示需要閘控交易B,直至發出針對交易B之OWO許可信號為止。相應地,當使用此機制時,發送至多個目的地之分離叢發交易係看作至來自其後續交易之不同目的地,與較早交易之最後片段及稍後交易之第一片段之相對目的地無關。
在本申請案中,使用用詞「經配置以……」以意謂設備之元件具有能夠執行所定義動作之配置。
在此上下文中,「配置」意謂硬體或軟體之互連件的佈置或方式。例如,設備可具有提供已定義動作之專用硬體,或處理器或其他處理裝置可經程式化以執行此功能。「經配置以」不謂設備元件需要以任何方式改變以提供所定義之動作。
儘管本發明之說明性實施例已參照附圖在本文中詳細描述,但是應理解,本發明不限於彼等精確實施例,且在不背離如由附加申請專利範圍所定義之本發明之範疇及精神的情況下,可由熟習此項技術者在此等實施例中實現各種改變、添加或修改。例如,在不背離本發明之範疇之情況下,可進行附屬請求項之特徵與獨立請求項之特徵之各種組合。
10:主器件
12:快取記憶體結構
15:主器件
17:快取記憶體結構
20:主器件
25:互連件
30:位址電路
35:位址路由電路
40:同調控制電路
42:危險檢查電路
45:寫入資料電路
50:寫入資料緩衝器
55:讀取資料電路
60:寫入響應電路
65:每主交易追蹤電路
70:寫入響應重排序緩衝器
80:從器件
85:從器件
90‧‧‧從器件

Claims (15)

  1. 一種用於將複數個主器件與複數個從器件連接之互連件,包含:危險管理電路,用於將至重疊位址之交易串行化;以及閘控電路,用於確保在與該等主器件中之至少一者之一介面處的有序寫入觀察(OWO)行為,該閘控電路接收寫入交易之寫入位址傳送且執行一閘控運作以對該等寫入位址傳送向該等從器件之向前傳播閘控,以便確保該OWO行為;該閘控電路在該危險管理電路之控制下執行該閘控運作,其中該等主器件中之至少一者具有一相關聯快取記憶體結構且該互連件進一步包含:同調控制電路,用於對由該互連件自該複數個主器件接收之同調交易執行快取記憶體同調控制運作,該危險管理電路經提供在該同調控制電路內且用於串行化至重疊位址之同調交易;該閘控電路經佈置以針對同調寫入交易在該危險管理電路之控制下執行該閘控運作。
  2. 如請求項1所述之互連件,進一步包含:交易追蹤電路,用於回應於自該互連件發出至該等 從器件之寫入交易,追蹤自該等從器件接收之寫入響應信號;對於非同調寫入交易,該交易追蹤電路經佈置以發出一OWO控制信號至該閘控電路,以控制該非同調寫入交易之該閘控運作之效能。
  3. 如請求項2所述之互連件,其中:每一交易具有與該交易相關聯之一交易識別符;且該交易追蹤電路經佈置以取決於該等寫入響應信號控制該OWO控制信號至該閘控電路之發出,以便確保一非同調寫入交易之該位址傳遞不傳播超出該閘控電路,直至已觀察到與具有相同交易識別符之所有先前寫入交易相關聯之該等寫入響應信號為止。
  4. 如請求項3所述之互連件,其中:每一從器件經強制以實施關於此從器件處理之該等寫入交易之OWO行為;該交易追蹤電路經佈置以發出該OWO信號以便僅控制傳播超出非同調寫入交易之該閘控電路,該等非同調寫入交易經發出至與該最近先前非同調寫入交易之該從器件不同之一從器件,該最近先前非同調寫入交易具有相同交易識別符。
  5. 如請求項4所述之互連件,其中:該非同調寫入交易包括非同調寫入散列交易,每一 非同調寫入散列交易需要一系列寫入資料單元得以跨於多個從器件而寫入;該交易追蹤電路經佈置以在考慮一當前非同調寫入交易時,若具有該相同交易識別符之該最近先前非同調寫入交易為一非同調寫入散列交易,則將該當前非同調寫入看作正發出至一從器件,該從器件與該最近先前非同調寫入交易之該從器件不同。
  6. 如請求項3所述之互連件,其中該交易追蹤電路藉由實施一死鎖避免方案控制該OWO信號之發出。
  7. 如請求項6所述之互連件,其中該死鎖避免方案為一單個交易方案、一每交易識別符單個交易方案,或一每交易識別符單個路由方案中之一者。
  8. 如請求項3所述之互連件,其中對於一非同調寫入交易,若具有相同交易識別符的寫入響應尚未觀察到之所有先前寫入交易為同調寫入交易,則該交易追蹤電路可經佈置以不控制傳播超出彼非同調寫入交易之該閘控電路。
  9. 如請求項1所述之互連件,進一步包含:一寫入響應重排序緩衝器,用以使得由該互連件接收之寫入響應信號得以按一順序返回至該主器件,此順序不同於藉由該互連件接收該等寫入響應信號之 順序。
  10. 如請求項2所述之互連件,其中每一交易具有與該交易相關聯之一交易識別符;以及該交易追蹤電路經佈置以取決於該等寫入響應信號控制該OWO控制信號至該閘控電路之發出,以便確保一非同調寫入交易之該位址傳遞不傳播至該閘控電路之外,直至已觀察到與具有相同交易識別符之所有先前寫入交易相關聯之該等寫入響應信號為止,其中該等交易識別符經佈置以對於來自不同主器件之交易而不同。
  11. 如請求項1所述之互連件,進一步包含:寫入資料路由電路,用於經由該互連件路由寫入資料;死鎖避免電路,用於對寫入交易之寫入位址傳送向該等從器件之向前傳播進行閘控,以確保一寫入交易之該寫入位址傳送不傳播超過該互連件內之一閘控點,直至保證相對於一不同從器件執行之一先前寫入交易之該寫入資料無法阻斷該寫入資料路由電路內之該寫入交易的相關聯寫入資料;以及寫入資料追蹤電路,經佈置用於一當前寫入交易的傳播超出該閘控點之一寫入位址傳送,以決定彼當前寫入交易之該相關聯寫入資料之一寫入資料大小及 該相關聯寫入資料之一寫入資料路由,且考慮該寫入資料路由及該寫入資料大小而決定一條件之存在,此條件保證彼當前寫入交易之該相關聯寫入資料將經由該寫入資料路由電路傳播;該寫入資料追蹤電路經佈置回應於偵測該條件以發出一釋放信號至該死鎖避免電路,以允許寫入位址傳送一下一寫入交易以超出該閘控點。
  12. 如請求項11所述之互連件,進一步包含:寫入資料緩衝電路,位於該寫入資料路由電路與該等從器件之間,以便在寫入資料傳遞至該等從器件之前將其緩衝;該寫入資料追蹤電路經佈置以監控該寫入資料路由之該寫入資料緩衝電路內之可用空間以決定該狀態為一時間點,在該時間點保證該當前寫入交易之該其餘寫入資料容納在該寫入資料緩衝電路內。
  13. 如請求項12所述之互連件,其中該寫入資料緩衝電路包含用於每一從器件之一單獨寫入緩衝器。
  14. 一種操作一互連件以將複數個主器件與複數個從器件連接之方法,包含以下步驟:使用危險管理電路以將至重疊位址之交易串行化;接收寫入交易之寫入位址傳送; 執行一閘控運作以對該等寫入位址傳送向該等從器件之向前傳播進行閘控,以確保在與該等主器件中之至少一者之一介面處的有序寫入觀察(OWO)行為;以及在該危險管理電路之控制下執行該閘控運作,其中該等主器件之至少一者具有一相關聯快取記憶體結構,且該方法進一步包含以下步驟:採用同調控制電路以對由該互連件自該複數個主器件接收之同調交易執行快取記憶體同調控制運作,該危險管理電路經提供在該同調控制電路內且用於串行化至重疊位址之同調交易;在該危險管理電路之控制下,針對同調寫入交易執行該閘控運作。
  15. 一種用於將複數個主器件與複數個從器件連接之互連件,包含:危險管理手段,用於將對重疊位址之交易串行化;以及閘控手段,用於確保在與該等主器件中之至少一者之一介面處的有序寫入觀察(OWO)行為,該閘控手段用於接收寫入交易之寫入位址傳送且用於執行一閘控運作以對該等寫入位址傳送向該等從器件之向前傳播進行閘控,以確保此OWO行為; 該閘控手段用於在該危險管理手段之控制之下執行該閘控運作,其中該等主器件中之至少一者具有一相關聯快取記憶體結構且該互連件進一步包含:同調控制手段,用於對由該互連件自該複數個主器件接收之同調交易執行快取記憶體同調控制運作,該危險管理手段經提供在該同調控制手段內且經採用以串行化至重疊位址之同調交易;該閘控手段經佈置以針對同調寫入交易在該危險管理手段之控制下執行該閘控運作。
TW104142351A 2015-01-12 2015-12-16 互連件及互連件的操作方法 TWI708146B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1500442.7 2015-01-12
GB1500442.7A GB2533972B (en) 2015-01-12 2015-01-12 An interconnect and method of operation of an interconnect

Publications (2)

Publication Number Publication Date
TW201626236A TW201626236A (zh) 2016-07-16
TWI708146B true TWI708146B (zh) 2020-10-21

Family

ID=52597487

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104142351A TWI708146B (zh) 2015-01-12 2015-12-16 互連件及互連件的操作方法

Country Status (5)

Country Link
US (1) US9928195B2 (zh)
KR (1) KR102476933B1 (zh)
CN (1) CN105786744B (zh)
GB (1) GB2533972B (zh)
TW (1) TWI708146B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795820B2 (en) * 2017-02-08 2020-10-06 Arm Limited Read transaction tracker lifetimes in a coherent interconnect system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716182A (zh) * 2004-06-30 2006-01-04 富士通株式会社 地址创建器和算术电路
US20100250802A1 (en) * 2009-03-26 2010-09-30 Arm Limited Data processing apparatus and method for performing hazard detection
TWI385529B (zh) * 2008-07-22 2013-02-11 Realtek Semiconductor Corp 匯流排系統以及其操作方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745272B2 (en) * 2001-04-04 2004-06-01 Advanced Micro Devices, Inc. System and method of increasing bandwidth for issuing ordered transactions into a distributed communication system
US7219178B2 (en) * 2004-09-30 2007-05-15 Arm Limited Bus deadlock avoidance
US7457905B2 (en) * 2005-08-29 2008-11-25 Lsi Corporation Method for request transaction ordering in OCP bus to AXI bus bridge design
GB2474446A (en) * 2009-10-13 2011-04-20 Advanced Risc Mach Ltd Barrier requests to maintain transaction order in an interconnect with multiple paths
US8014215B2 (en) * 2009-12-10 2011-09-06 International Business Machines Corporation Cache array power savings through a design structure for valid bit detection
US8656078B2 (en) * 2011-05-09 2014-02-18 Arm Limited Transaction identifier expansion circuitry and method of operation of such circuitry

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716182A (zh) * 2004-06-30 2006-01-04 富士通株式会社 地址创建器和算术电路
TWI385529B (zh) * 2008-07-22 2013-02-11 Realtek Semiconductor Corp 匯流排系統以及其操作方法
US20100250802A1 (en) * 2009-03-26 2010-09-30 Arm Limited Data processing apparatus and method for performing hazard detection

Also Published As

Publication number Publication date
GB2533972A (en) 2016-07-13
KR102476933B1 (ko) 2022-12-13
US20160203093A1 (en) 2016-07-14
TW201626236A (zh) 2016-07-16
CN105786744A (zh) 2016-07-20
KR20160086746A (ko) 2016-07-20
CN105786744B (zh) 2020-08-25
GB2533972B (en) 2021-08-18
GB201500442D0 (en) 2015-02-25
US9928195B2 (en) 2018-03-27

Similar Documents

Publication Publication Date Title
US20110093557A1 (en) Maintaining required ordering of transaction requests in interconnects using barriers and hazard checks
US10970225B1 (en) Apparatus and method for handling cache maintenance operations
EP1895423B1 (en) System controller, identical-address-request-queuing preventing method, and information processing apparatus having identical address-request-queuing preventing function
US9858190B2 (en) Maintaining order with parallel access data streams
JP2000250881A (ja) 不均等メモリ・アクセス・システム内で書き戻しの衝突によって生じるライブロックを避けるための方法およびシステム
CN103748574A (zh) 执行原子操作而不使互连结构静默
CN104145251A (zh) 具有第一协议域和第二协议域的数据处理装置及其方法
KR101081291B1 (ko) 대칭형 멀티프로세서 시스템들에서의 저장 대기시간을 감소시키는 시스템 및 방법
US9632955B2 (en) Reorder buffer permitting parallel processing operations with repair on ordering hazard detection within interconnect circuitry
JP6975338B2 (ja) 順序付けされた帯域幅を改善するプロトコルスキームのキャンセル及びリプレイ
KR20150019845A (ko) 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
US10489294B2 (en) Hot cache line fairness arbitration in distributed modular SMP system
TWI708146B (zh) 互連件及互連件的操作方法
US10528253B2 (en) Increased bandwidth of ordered stores in a non-uniform memory subsystem
EP4505310B1 (en) System coherency protocol
CN113574505A (zh) 分布式系统中的硬件协调资源管理
US10963409B2 (en) Interconnect circuitry and a method of operating such interconnect circuitry
US10380020B2 (en) Achieving high bandwidth on ordered direct memory access write stream into a processor cache
EP4022445A1 (en) An apparatus and method for handling ordered transactions