TW514780B - Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors - Google Patents

Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors Download PDF

Info

Publication number
TW514780B
TW514780B TW089105819A TW89105819A TW514780B TW 514780 B TW514780 B TW 514780B TW 089105819 A TW089105819 A TW 089105819A TW 89105819 A TW89105819 A TW 89105819A TW 514780 B TW514780 B TW 514780B
Authority
TW
Taiwan
Prior art keywords
address
memory
bus
node
controller
Prior art date
Application number
TW089105819A
Other languages
English (en)
Inventor
Manuel Alvarez
Sanjay R Deshpande
Peter Dau Geiger
Jeffrey H Gruger
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW514780B publication Critical patent/TW514780B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

經濟部智慧財產局員工消費合作社印製 514780 A7 -----------B7_ 五、發明說明(1 ) 發明背景 1 ·技術領域: 本發明大致係關於一種改良式資料處理系統,而尤其有 關一種用以改良一資料處理系統内之資料通量的方法及系 統。特別地’本發明係關於一種用以改良使用快取一致性 之儲存器存取與控制其效能的方法及系統。 2·相關技藝描述: 傳統上,對稱式多重處理器設計成圍繞著一共同系統匯 流排’其中所有處理器以及像是記憶體和輸入/輸出(1/〇) 之其他裝置僅藉由與承載匯流排信號的線路進行實體接觸 而連接。此共同匯流排係裝置間用以傳送命令和資料,且 同時用以達成系統快取記憶體與記憶體間之一致性的管 道。因爲該系統組織單純,所以單一共同匯流排設計仍爲 多重處理器連接之熱門選擇。 此組織同時簡化達、成系統快取記憶體間之一致性的工 作。裝置所發佈的一命令於相係同時間而且與該命令放 置於匯流排上的相同時脈週期中播送至所有其他系統裝 置。 匯/瓦排對其中所放置之所有命令強迫一固定的排 序。此次序對於系統中所有裝置均一致,因爲該等裝置觀 察同一命令。無需特別努力,一連_的命令其最後結果對 於該等裝置同樣可一致。此爲以一單一匯流排爲基礎之多 重處理器的一主要優點。 然而’ 一單一共同匯流排之設計眼制系統的大小,除非 選擇較低的系統效能。通常不遷就匯流排交換速度以及系 _____ -4_ 本紙張尺度_ ΐ關家標準(CNS_)A4規格 ------1--------------t------*----^ (請先閱讀背面之注意事項再填寫本頁) ^/801、發明說明(2 A7 B7 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 统執行速度下,技術上之限制僅允許將一些裝置連接於匯 流細上。如果該匯流排上放置更多像是處理器和輸入/輸 出(I/O)代理存之主裝置’則該匯流排必須以較低速度交 炎,因而降低其可用頻寬。較低之頻寬可能增加排隊延 遲,而導致降低處理器之利用,並降低系統效能。 一單一匯流i排系統中的另一嚴重缺點爲用於資料傳輸的 一單一資料路徑之可用性。此令排隊延遲更惡化,而助長 系統效能的降低。 快取一致性協定存在兩種廣泛之分類。一爲以匯流排爲 基礎的檢測協定,其中系統中所有快取記憶體連接至一共 同匯流排,並由其他快取記憶體檢測該共同匯流排上所發 佈之異動,然後採取適當行動以維持相互一致。另一分類 爲以目錄爲基礎協定,其中各記憶體位址具有一本位置。 一旦一快取記.憶體存取該位址,則更新本位置的一目綠, 以儲存其恆等之快取記憶體,以及其中之資料資訊狀,能。 當必需更新該快取記憶體中之資料的狀態時,本位置將〜 訊息對外·送至該快取記憶體,要求其採取適當行動。 以實行與驗證之複雜度而言,以匯流排爲基礎之檢測十力 定較以目綠爲基礎之協定簡單許多,而且爲對稱式多重2 理器(SMP)系統所選擇的協定。然而,以匯流排爲基#之 檢測協定有效用於一僅具有少數處理器之系統,通常爲 至4個。 因此,雖然一單一系統匯流排設計係目前實行一致性切 定所偏好之設計選擇,但其無法用於一具有許多處理哭= 2 nil------MW i (請先閱讀背面之注意事項再填寫本頁) 訂: -線· -5- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 第 089105819 號專♦ 中文說明書修正頁 修正 申請懷令 月)( 五、發明説明( 大型對稱式多重處理器。 因此’具有使用以匯流排為基礎之快取一致性協定的一 大型對稱式多重處理器(SMp)設計將相當有益。 發明概述 提供一種用於一大型,對稱式多重處理器系統之分散式 系統架構,其中該系統使用一以匯流排為基礎的快取一致 性fe?足。違分散式系統架構包含一位址開關,多重記憶體 子系統’及多重主裝置,其組織成由一節點控制器所支援 的一組節點,其中該多重主裝置為處理器,輸入/輸出 (I/O)代理器,或者一致之記憶體配接器。各處理器可具 有多重快取記憶體。位址開關連接至各節點控制器及各記 憶體子系統,而各記憶體子系統連接至位址開關及各節點 控制器。節點控制器接收來自一主裝置之命令與作為另一 主裝置或一從屬裝置之一主裝置進行通訊,並將所接收而 來自一主裝置之命令加以排隊。節點控制器於閂鎖由位址 開關所播送的一檢測之命令以及該命令出現於節點控制器 主裝置匯流排上的主裝置之間存在一既定延遲。記憶體子 系統包含一記憶體控制器以及一具有固定延遲之管線,該 管線係從位址埠至記憶體控制器,因此記憶體子系統於接 收來自位址開關的一命令以及該命令出現於記憶體控制器 之間存在一既定延遲。主裝置,節點控制器,位址開關, 和記憶體子系統間之匯流排可使用各種匯流排協定加以操 作。節點控制器内一埠之資料通量與資料處理系統中的埠 總數相獨立。 本紙張尺度適用中國國家標準(CNS) Α4規格(210 X 297公釐)
經濟部智慧財產局員工消費合作社印^ 514780 A7
本發明其特徵之新奇特性陳述於所附的申請專利範圍 中。然而,本發明本身與所使用的-較佳模式,進一步目 標和其優點將藉士 4t ,、, 稭由參照以下一詋明之具體實施例詳述,钎 合伴隨 < 圖示而閱讀而可獲得最佳了解,其中: 圖1係1塊圖,說明一傳統多重處理器電腦系統之基 本架構; & 圖2係一區塊圖,說明一典型架構; 圖3係一區塊圖,説明具有三個處理單元的一對稱式多 重處理器(SMP)電腦系統; 圖4係區塊圖,從對稱式多重處理器(SMP)系統内位址 路徑之角纟,説明具有支援以匯流排爲基礎之快取一致性 協定的-對稱式多重處理器系統其一分散式系統架構; 圖5係1塊圖,從對稱式多重處理器(sm?)系統内資料 路佐(角纟’説明具有支援以匯流排爲基礎之快取一致性 協定的-對稱式多重處理器系統其_分散式系統架構; 圖6係一區塊圖,説明一節點控制器内部之位址路徑; 圖7係一圖不,說明連接節點控制器與記憶體子系統的 一位址開關之内部位址路徑; 圖8係—圖示,説明連接至本發明其分散式系統之位址 開關的一記憶體子系統; 圖9包括圖9Α和圖9Β係一區塊圖,説明一節點控制器 内部之資料路徑;以及 圖1〇Α_1〇Β係區塊圖,說明用以決定—分散式系統架構
本紙張尺度適用尹國國家標準(CNS)A4規格(21〇 X 297公爱)· 514780 經濟部智慧財產局員工消費合作社印製 Α7 Β7 五、發明說明(5 ) 之匯流排響應信號的系統架構;以及圖l〇C -10D係區塊 圖,説明組成信號參與區域與全域週期的一些組成。 較佳具體實施例詳述 、現在參照圖1,説明一傳統之微處理器電腦系統u〇的基 本架構。電腦系統110具有數個處理單元112a,112b和 112c,其連接至包括輸入/輸出(i/o)代理器114之各種週邊 裝置·,用以接受來自監視器配接器1〇2和顯示器監視器1〇5 之貧料並且提供其貧料;鍵盤配接器1 〇4和鍵盤1 〇7 ;以及 磁碟配接器103和永久儲存裝置1〇6 ;記憶體裝置1丨6(像是 動態隨機存取記憶體或DRAM),由處理單元用以實現程 式指令;以及韌體11 8,其主要目的爲:於電腦最初打開 時,從週邊(通常爲永久記憶體裝置)之一找出一作業系 統,並予以載入。單元112a-112c藉由包括一匯流排12〇之 各種裝置與週邊裝置進行通訊。電腦系統丨丨〇可能具有許 多未顯示之額外組成,像是串列和平行埠,用以連接至數 據機或者列印機等週邊裝置。熟知此項技藝人士將進一步 明白尚有·其他組成,可用以連結圖丨區塊圖中所示之該等 ^置;例如,一顯示器配接器可用以控制一視訊顯示監視 态’一記憶體控制器可用以存取記憶體裝置丨16等。此 外,電腦系統110可配置更多或者更少之處理器。 於一對稱式多重處理器(SMP)電腦中,所有單元112a_ 112 c大致上一樣;亦即,全部均使用一共同之指令及良定 集合或子集加以操作,而且通常具有相同的架構。 〜 現在參照圖2,説明-典型組織。一單元112包括一處理 -------------- I------訂----- (請先閱讀背面之注意事項再填寫本頁)
器122,具有複數個暫存器和執行單元,用以實現程式指 令,以便操作該電腦。該處理器同時可具有像是_指令快 取記憶體124和一資料快取記憶體126之快取記憶體。當這 些快取記憶體與處理器暫存器和執行單元整體包裝時,則 稱為機載(on-board)。快取記憶體普遍用以暫時儲存可由 一處理器重覆存取之值,以便加速處理,而避免從像是圖 1中所示之記憶體裝置116的記憶體載入數值之步驟過長。 單元112可包括像是快取記憶體128之額外的快取記憶 體。因為快取記憶體128支援機載(1階)指令快取記憶體 124和資料快取記憶體126,所以稱為一 2、階(L 2)快取記憶 體。換言之,快取記憶體128扮演記憶體裝置116與機載快 取記憶體間的一媒介,雖然具有較長之存取回應,但可比 • 機載快取記憶體儲存更大數量的v資訊(指令和資料)。例 如,快取記憶體128可為一晶片,具有儲存容量256或者 512什位元組’而處理器112可為一 IBM PowerPC 604系列 處理器,具有總儲存量64仟位元組之機載快取記憶體。快 取記憶體128連接至匯流排120,而且所有從記憶體裝置 116載入處理器112之資訊均須到達快取記憶體128。雖然 圖2僅說明一 2階快取記憶體階層,但可以提供多階快取記// 憶體階層,其中有許多階串列連接快取記憶體。 : 於一對稱式多重處理器(SMP)電腦中,重要的是提供所 有處理器的一一致之記憶體系統,亦即導致其寫入依照某 種次序加以序列化的各個個別記憶體位置。例如’假設記 憶體中的一位置藉由連續寫入,接受1,2,3,4等值而修 _________ - Q - ------ 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) ^14780 經濟部智慧財產局員工消費合作社印製 、發明說明(7 ) 正。於一快取一致之系統中,所有處理器將觀察到依照所 不次序而發生一給定位置之寫入。然而,有可能一處理元 ’漏寫違兄憶體位置。讀取該記憶體位置的一給定之處理 疋件可看見順序1,3,4,而遺漏更新2之値。一種確保每 —處理器獲得有效之資料次序的系統稱爲一致。値得注奇 的疋’貫際上所有一致性協定僅以一快取記憶體區塊大小 、!而作業。也就疋或,一致性協定係以一快取記憶體匡 塊爲基礎,而非分開對各個個別記憶體位置控制其資料寫 入許可的移動。 有一些協定和技術可用以達成熟知此項技藝人士所知的 快取一致性。所有這些用以維護一致性之機制其心臟係一 需求,要求該協定於任何給定之時間點僅允許一處理器具 有寫入一給定的記憶體位置(快取記憶體區塊)的許可。此 需求的了結果爲:當一處理元件試圖寫入一記憶體位置 時,首先必須先通知其所希望之所有其他處理元件寫入該 位置’並且接收來自所有其他處理元件的許可'),以執行寫 入叩々。-關鍵問題爲:於寫入發生前,必須由該啓動處理 器對系統中之所有其他處理器通知該寫入命令。爲了進一 步説明如何於多階階層中實行快取一致性,考慮圖3。 現在參照圖3,所説明的一對稱式多重處理器(SMp)電腦 系統具有三個處理單元(14〇,141,142),由處理器(14〇a, 141a,142a)所組成’各具有一 [!快取記憶體(14〇b, 141b,142b),和 L2快取記憶體(14〇c,141c,142c),以及 最後的一 L3快取記憶體(丨4〇d,i41d,142d)。此階層中, --------------·衣 i:----- —tri:--------A· (請先閱讀背面之注意f項再填讀本頁) " -10- 經濟部智慧財產局員工消費合作社印製 〕丄 4780 A7 ------R7___ 五、發明說明(8 ) 各較低階之快取記憶體(亦即,一L3快取記憶體低於一 L2) 通常於大小上較大,而且較次高階之快取記憶體具有一更 長的存取時間。再者,雖然並非絕對要求,但同樣地,較 低階快取記憶體包含較高階快取記憶體中所出現之所有區 塊的副本。例如,如果一區塊出現於一給定之處理單元的 L 2快取記憶體’則表示該處理單元之l 3快取記憶體同時 具有·該區塊的一(潛在陳舊之)副本。再者,如果一區塊出 現於一給定之處理單元的L 1快取記憶體,則其同時出現於 該處理單元之L 2和L 3快取記憶體中。此性質稱爲包含 律,而爲熟知此項技藝人士所熟悉。以下假設包含律應用 於本發明相關之快取記憶體。 爲了於像是圖3所示的一系統中實行快取一致性,處理 器於一共同的一般化互連(143)上進行通訊。處理器於該互 連上傳遞訊息,用以指示欲讀取或者寫入記憶體位置。冬 — 田 於該互連上放置一作業時,所有其他處理器檢測此作業, 並決定其快取記憶體之狀態是否允許進行所要求的作業, 如果爲是·,那麼條件爲何。此爲必要的通訊,因爲於具有 快取記憶體之系統中,一給定之記憶體區塊其最近期有效 副本可能從系統記憶體144移動至該系統中的一或更多快 取記憶體。如果一處理器(例如l4〇a)試圖存取其快取記情 體階層(140b,140c,140d)内未出現的一記憶體位置,則 該區塊之正確版本可位於系統記憶體144中,或者處理單 元141和142的快取記憶體之一,其中該區塊之正確版本包 含該記憶體位置的實際値。如果該正確版本位於系統中的 ________________________-11- ^紙張尺度適用中國國家標準(CNS)A4規格(21G X 297公爱) (請先閱讀背面之注意事項再填寫本頁} ---,訂 i,--------·.、線 j 514780 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(9 ) 其他快取記憶體之一,則必需從系統的快取記憶體,而非 系統記憶體獲得該正確値。 例如,考慮如140a的一處理器試圖讀取記憶體中的一位 置。首先輪詢其本身之L 1快取記憶體(14Ob )。如果該區塊 並未出現於L1快取記憶體(140b)中,則將該需求轉送至L2 快取記憶體(140c )。如果該區塊並未出現於L 2快取記憶體 中,、則將該需求轉送至L3快取記憶體(140d)。如果該區塊 並未出現於L 3快取記憶體(140d )中,則將該需求呈現於所 提供的一般化互連(143)上。一旦將一作業放置於該一般化 互連後,所有其他處理單元檢測該作業,並決定該區塊是 否出現於其快取記憶體中。如果一給定之處理單元14 2的 L 1快取記憶體(142a)具有處理單元140所要求之資料區 塊,而且該資料已依照包含律加以修正,則L 2快取記憶體 (142c)和L3快取記憶體(142d)同時具有該區塊的副本。因 此’當處理單元142之L3快取記憶體(I42d)檢測該讀取作 .·業時,將決定所要求之區塊於L3快取記憶體(I42d)中出現 而且修正:。當此發生時,L3快取記憶體(142d)可於一般化 互連上發佈一訊息,用以通知處理單元丨4〇 :因爲供讀取 作業用之該記憶體位置的最近期更新値位於L 3快取記憶體 (142d)中’即位於主要記憶體144外面,而且必須採取行動 使其可用,供處理單元14 〇之讀取需求用,所以必須於稍 後時間再次重試該作業。 L 3快取記憶體(142d )可開始一處理,將所修正之資料從 L 3推至主要記憶體144。然後,該記憶體位置之最近期更 -------------------^---訂—--------"線 (請先閱讀背面之注意事項再填寫本頁)
經濟部智慧財產局員工消費合作社印製 五、發明說明(1〇 ) 新値可供其他處理器用。 替代上,於稱爲插入的一處理中,L3快取記憶體(i42d) 將該記憶體位置之最近期更新値直接送至要求的處理單元 140。然後,該L 3快取記憶體可開袷」、處理,將修正之資 料從L 3快取記憶體推擠至主要記憶體。最後,處理單元 140,特別是其[3快取記憶體(14〇d),將該讀取需求呈現 於該一般化互連上。然而此時,修正之資料已從處理單元 142的L 1快取記憶體中擷取,並且滿足來自處理器丨4〇的讀 取需求。方才所述情節普遍稱爲檢測推擠。一讀取需求於 一般化互連上進行檢測,導致處理單元142將該區塊推擠 至階層之底層’以滿足處理單元1 4 〇之讀取需求。 應注意之重點爲:當一處理器希望讀取或者寫入一區塊 時,必須與系統中之其他處理單元溝通該項希望,以便維 護快取一致性。爲達此目的,快取一致性協定將該快取記 憶體階層之各階中的各區塊與一狀態指示器相結合,其中 該狀態指示器係用以指示該區塊之目前狀態。該狀Ιϋ訊 允许一致性協定中用以減少一般化互連14 3以及内部快取 記憶體連接 140x,140y,141x,141y,142x,142y上之訊息 流量的某些最佳化。如同此機制的一例子,當一處理單元 執行1買取時,其接收一訊息,指示梢後是否必須重試該項 讀取。如果不重試該讀取作業,則通常該訊息同時包括用 以決定之資訊,允許該處理單元決定任何其他處理單元是 否同時具有該區塊的一靜態現用副本(此係藉由令其他最 低階快取記憶體提供有關該處理器並未重試之任何讀取的 -13- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ------- I-----^---^-I;---1----線 (請先閱讀背面之注意事項再填寫本頁) 514780 經濟部智慧財產局員工消費合作社印製
本紙張尺度規格⑵〇 A7 B7 五、發明說明(11 ) 一指示而完成,該指示可爲共享或者未共享)。 、方式 處理單元可決定系統中之任何其他處理蓋 是否具有茲區塊的一副本。如果無其他處理單元具有該區 塊的-現用財,則冑取處理單元將該區塊之狀態記爲互 斥。如果一區塊記爲互斥,則因爲沒有其他處理單元具有 該區塊的-副本,所以准許處理單元於稍後可不必先與系 、,’充中之其他處理單元溝通而直接寫入該區塊。因此,一般 =3,、一處理器有可能不必先在該互連上溝通此計劃,而 讀取或者寫人-位置。然而,此僅發生於_致性協定保證 其他處理$對孩區塊均不感興趣之情況下。此討論中省略 夕1¾決取致性協定其確實工作的數個細節而簡化。然 而’ 2描述根據本發明之基本觀念。已經描述根據本發 月的S等觀念。未描述的該等觀念爲熟知此項技蓺 熟悉。 " ^ 有關本發明之多階快取記憶體架構的另-觀念稱爲解除 配置作業。任何快取記憶體中之區塊被分成區塊群組,稱 馬集合。.-集合爲區塊之聚集,*中可駐留一給定的記憶 體於任何給定之記憶體區塊,快取記憶體中存在 -唯-集合,使該區塊根據本映成函數得以映成。一集合 中又區塊數稱爲該快取記憶體的結合性(例如,:: 表示:對於任何衫之記憶體區塊,該快取記^ 子在兩區塊,使該記憶體區塊得以陝成)。然而,主要 H豊中之數個不同區塊可映成至任何给定的集合。 當-给定之快取記憶體其-集合中的所有區塊;, X 297公釐)
. -----I I ^ i _---ί---_ (請先閱讀背面之注意事項再填寫本頁) 514780 A7 a 第089105819號專利申讀案+ 中文說明書修正頁⑼丰洋月, ..錢& 五、發明説明(I2 且該快取記憶體接收可能讀取或者寫入一記憶體位置的一 需求,而該記憶體位置係映成至該已滿之集合時,則該快 取記憶體必須重新配置目前集合中的區塊之一。該快取記 憶體藉由热知此項技藝人士所知道的一些方法之一(最近 最少使用(LRU),隨機,偽最近最少使用(pseud〇_LRU)等) 而選擇所逐出的一區塊。如果所選定區塊中的資料已經修 正’則將該;貝料寫入Ί己憶體階層中之次一最低階,(於L 1 或者L 2快取記憶體之情況)可為另一快取記憶體,或者(於 L 3快取記憶體之情況)為主要記憶體。注意,依照包含 律,該階層之較低階已具有一區塊,可供保留所寫入之修 正資料用。然而,如果所選定區塊中之資料並未修正,則 簡單將該區塊棄去,並且不寫入該階層中的次一最低階。 此種從該階層的一階移除一區塊之處理稱為驅逐。於此處 理之最後,該快取記憶體不再保留所棄去區塊的一副本, 而且不再有效加入該棄去區塊的階層協定,因為當快取記 憶體檢測(一般化之互連143或者内部快取記憶體互連 140x,141x,142x,140y , 141y,142y上的)一作業日|,於 該快取記憶體中不會找到該區塊。 +發明揭露一種分散式 系統的一單一匯流排性質時,用以克服該單一共同匯流排 之限制,無需要求修正該匯流排協定。結果之系統具有可 縮放的系統大小,無需遷就已知系統匯流排之機制。本發 明可將一對稱式多重處理器(S M p)系統中之大量裝置連^ 在一起,而且克服以-單- g流排為基礎之設計的限制。 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) A? B7 五、發明說明(13 ) =以下說明係針對6XX匯流排架構而描 本發= 月不限於如以下所呈現之系統的_ 7 而可應用於其他匯流排架構。 成排木構 系統位址路徑拓樸 見^ :圖4,g塊圖從對稱式多重處理器⑽p)系統 内(位止路徑的角度説明—對稱式多重處理器系統的一分 散式系統架構,其中該萃餘;1古· 士 甲3糸統具有支援以匯流排爲基礎之快 取-致性協定。圖4顯示—些主裝置,可用以啓動像是一 記憶體異動的一命令。像是處理器,輸入/輸出(1/0)代理 器’和相關之記憶體配接器的這些主裝置分散於N個群組 《間的群集中,該等群組稱爲節點。各節點以-節點控制 器爲首,連接至其主裝置。 訂 線 經濟部智慧財產局員工消費合作社印製 圖4展示節點410和42〇,其中包含系統元件的分組。節 點數目可根據系統之組態而變化。節點41〇亦標示成節點〇, 包含處理器411和412,亦標示成處理器P()和處理器Pp “, 爲節點410之主裝置。各節點控制器具有多重標準雙向處 理态位址資料匯流排,用以將主裝置連接至該分散式系 統。處理器411和412分別經由匯流排413和414,亦標示成 P〇匯泥排和pp-1匯流排,連接至節點控制器415,亦標示成 節點控制器NC〇。節點420亦標示成節點Νβ1,包含處理器 421和輸入/輸出(I/O)代理器422,爲節點420之主裝置。處 理器42 1和輸入/輸出(I/O)裝置422分別經由匯流排423和 424,連接至節點控制器425,亦標示成節點控制器NCn」。 各節點之主裝置數目可視該系統的組態而變化,所以系統 -16- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 514780 五、發明說明(μ ) 之所有節點間,並不要求各節點的主裝 控制器構成手统& . ^ ^ 目 致。郎點 傅成糸、、无的一王裝置和其餘裝置 且系統中之夂銘駐^左丨_ 男te介面,而 (請先閱讀背面之注意事項再填寫本頁) 各古k制咨包含所有必要的邏輯,用以从、 個別處理器匯流排,以及用以作爲另, 仲裁 裝置,與其區域主裝置進-從屬 接受及執行主命令但不產生主命令的一裝置屬:Π以 由其區域節點控制器,將一命令 理為經 a >地 p 7运進系統。雖然圖4所亍 馬母車一個主裝置,但只要於該崞之匯流排上办定木 的仲裁方案,則亦可能爲每埠多個主裝置。例如,處= 4Π可爲連接至匯流排413的許多處理器之一。蚨 ^ 更多處理器連接至一單一埠,就匯流排週期時間而言,口 = 埠之位址匯流排將執行得更慢。 μ 經濟部智慧財產局員工消費合作社印製 替=上,節點420的主裝置之—可包括致之記憶體 配接态,用以.提供與另一資料處理系統的通訊,其中該資 料處理系統係用以維護快取一致性。該一致性記憶體配接 器可位於附近或者遠端,並且可能佔用一節點控制器的一 埠,用以·傳送及接收記憶體異動,以便以類似一輸入/輸 出(I/O)代理器之方式,作爲一主要/從屬裝置。如一例子 中,另一資料處理系統的另一節點控制器同時可連接至一 致之1己憶體配接器,讓使用本發明之資料處理系統可鍊接 於一起0 節點控制器415和425係經由數對單向唯位址匯流排,連 接至稱爲一位址開關(ASX)的一裝置。匯流排416和417亦 分別標示成Α出〇和Α入〇,將節點控制器41 5連接至位址開 17· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 514780 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(15) 關43〇。匯流排426和427亦分別標示成八出…和A入N_1,將 節點控制器425連接至位址開關430。如所示,匯流排A出乂 將位址從節點控制器承載至位址開關,而匯流排入入乂將 位址從位址開關承載至節點控制器。 位址開關430具有額外之單向位址匯流排連接43丨和 432,亦標不成A入A入(N+S]),連接至記憶體控制器或 者記憶體子系統442和444,亦標示成記憶體子系統MS〇和 MSSd。假設該記憶體控制器為從屬裝置,而且不具有對 分散式系統發侔命令的能力。記憶體子系統數目可視該系 統的組態而變化。 系統資料路徑拓樸 現在參照圖5,一區塊圖從一對稱式多重處理器(SMp)系 統之角度說明一對稱式多重處理器系統的一分散式系統架 構,其中該對稱式多重處理器系統具有支援以匯流排為基 礎之快取一致性協定。一些主裝置以類似於圖4,圖5的一 方式加以顯示。這些主裝置分散於N個群組間的群集中, 其中該等群組稱為節點。各節點係以其主裝置所連接的一 節點控制器為首。圖5展示節點510和520,節點510包含處 理器511和512。處理器511和5 12經由匯流排513和514,而 連接至節點控制器515。節點520亦標示成節點^,包含處 理器521和輸入/輸出(I/O)裝置522,分別經由匯流排523和 524,連接至節點控制器525,亦標示成節點控制器NCn」。 圖4和圖5中所示之節點控制器實體上可為相同的系統組 成,但從不同角度加以描述,以展示節點控制器所執行的 -18- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ------------- I ^---- -- ^ · I J-------線 (請先閱讀背面之注意事項再填寫本頁) 514780 第089105819號專利申請案 中文說明書修正頁(91年4月 修正 A7 1 二难φ· 五、發明説明(16 ) 補充N f / 不同功能。相對地’圖4展不對稱式多重處理器($ μ p)系 統内之位址路徑,圖5展示對稱式多重處理器(SMp)系統 内之資料路徑。替代上,於一較佳具體實施例中,位址路 徑和資料路徑可以像是一節點資料控制器抑或一節點位址 控制器之實體上分離的組成,晶片,或者電路中之支援功 能而實行。以分離或組合之資料和位址功能而實行一節點 控制器的選擇可取決於其他系統組成之參數。例如,如果 該系統内所支援之匯流排的大小夠小,則可將位址和資料 功能放置於一單一節點控制器組成内。然而,如果匯流排 支援128位元之資料,則實體上插腳限制可要求將位址和 資料功能放置於分離的節點控制器組成内。 替代上,每一節點中,一分離之節點資料控制器可進一 步分離成多重節點資料控制器,使各節點資料控制器支援 ’ 卽點資料路徑的一部分。以此方式,將節點資料路徑切割 成橫跨一個以上之節點資料控制器。
於圖5中,所示之各節點控制器連接至像是記憶體子系 統MS〇和MSSd的複數個記憶體控制器。雖然所示之各節 點控市]器係經由一獨JL的資料匯流排而連接至各記憶體控 制器,但如果其中包括一適當的仲裁機制,則可將多重節 點以及/或者多重記憶體控制器連接於相同之資料匯流排 上。當經由一箪一匯流排將複數個主裝置連接至二單一節 點控制器時,,交換速率將為連接至該匯流排之裝置數目的 函數。節點控制器515分別經由資料匯流排516而連接異笔 憶統542 ,以及經由匯流排517,亦分別標示成N〇D *- —――— - - yj Μ i紙張尺度適用中國國家標準(CNS) A4規格(2ι〇χ撕公簧) --:-- 514780
产4 第089105819號專利申請 中文說明書修正頁(91年4 五、發明説明
和NoDs-丨’ ππ連接至1己憶體子系統544。節點控制器525分 別經由資料匯流排527而連接至記憶體子系統544,以及經 由資料匯流排 526,亦標示成NN·1DS-1和N^MD(),而連接至 記憶體子系統542。 有多重資料匯流排取代用以傳輸所有主裝置其所屬資料 的一單一資料匯流排,當主裝置連接至一單一匯流排時, 各別將僅承載一小部分之資料流量。以此作法,組成介面 之計時將較一單一匯流排的可能計時為快。此種組態准許 母主裝置較一單一匯流排上之可能配置俱備更大的資料 匯流排頻寬。進而導致更低的仵列延遲。 節點控制器内位址路徑 現在參照圖6,一區塊圖說明一節點控制器内部之位址 路徑。節點控制器600亦標示成NCX,類似圖4中之節點控 制器41 5和4 2 5,或者圖5中之節點控制器5 1 5和5 2 5。節點 控制器600之個別埠具有其本身的佇列,當來自主裝置之 命令進入節點控制器時,用以緩衝該命令。當一命令於這 些緩衝器中等候選擇,以前進至位址開關時,可能招致非 既定的延遲。 節點控制器600具有雙向匯流排601-604,連接至主裝 置。匯流排601-604經由匯流排收發器605-608而連接至輸 入邊界閂609-612以及輸出邊界閂613-616。輸入邊界問 609-612饋入緩衝器617-620,以保留來自該主裝置之命 令。來自一主裝置的一命令可由一異動標籤,異動類型, 目標位址或區域位址,以及其他可能之相關資訊組成。緩 ------- 20 -___ 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 514780 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(18 ) 衝器61 7-620可保留有關一命令之所有資訊,如有必要, 或者替代上可僅保留節點控制器内之位址路徑的功能所需 之資訊。輸入緩衝器所保留之資訊可視一節點控制器的替 代組態而變化。緩衝器617-620饋入控制單元/多工器621, 該控制單元/多工器一次選擇一命令,經由邊界閂622,傳 送器623,和匯流排624,亦標示成A出X,而送至位址開 關。. - 節點控制器600接收來自主裝置之命令,其經由匯流排 601-604’最後傳送通過邊界問622和傳送器623,經由匯流 排624,亦標示成匯流排A出x,而傳送至位址開關。於一、 對應方式中,節點控制器600接受來自位址開關之命令, 其經由匯流排625,亦標示成A入x,以及邊界閂627(亦標 示成FROM—ASX—BL)上之接收器626,而加以捕捉。於抵 達匯泥排60 1 -604前,這些命令循著一位址路徑,穿過固 定數目之邊界閂,像是中間閂628和輸出邊界閂613-616, 其具有固定延遲。此外,抵達主裝置之命令同時於每埠通 過像是同樣具有一固定延遲之控制單元/多工器629-632的 一多工器。以此方式,經由匯流排625而抵達之命令沿途 橫過具有一固定延遲的一路徑,而且該固定延遲具有既定
數目之週期。換τ之,一命令到達邊界閂FROM ASX BL — — 的時間點以及所到達命令出現於像是連接至節點控制器的 組處理咨其.各主裝置上的時間點之間將出現一固定時 期。 連接至王裝置之埠其仲裁器係設計成對驅動該埠匯流排 --------------^^衣· *---;,---:訂丨-------π 線 (請先閱讀背面之注意事項再填寫本頁)
514780 A7 B7 五 、發明說明( 19 經濟部智慧財產局員工消費合作社印製 又即點控制器提供最高優先。如果當節點控制器希望驅動 一匯流排之同時一主裝置亦要求驅動該匯流排,則給予節 點控制器最高優先。於一較佳具體實施例中,為辅助此種 仲裁情節,於位址開關所傳送之命令前頭由該位址開關宣 告稱為,,探測有效”(未顯示)的一信號。此允許一節點控制 益以及其主裝置間之匯流排存取仲裁及早完成,以確保來 自該位址開關,經由A入χ匯流排而抵達的一命令於節點 控制器内時,不會停頓在任一週期中。此保證將沿著入入又 至Ρ χ匯流排路徑具有固定數目之邊界閂的時期分解成既 定數目的週期。 控制邏輯單元633同時出現進來之命令,該命令閂鎖進 栓入FROM一ASX—BL邊界閂,用以適當決定傳至節點控制 器600内之其他單元或組成的控制信號。例如,控制邏輯 單元633經由控制信號634與缓衝器617-62〇通訊,經由控制 k號636與控制單元/多工器621通訊,以及經由控制信號 635與控制單元/多工器629_632通訊,用以選擇命令,解決 衝突,以及修正命令攔位,如有必要,命令攔位中包括一 命令類型,以便確保節點控制器6〇0内之連續命令流。控 制遮輯單元63 3同時適當接收其他控制信號ο7。 位址開關内部位址路徑 現在參照圖7,一圖形說明用以連接節點控制器和記憶 體子系統的一位址開關其内部位址路徑。位址開關7〇〇連 接一組四個節點控制器和兩個記憶體子系統。命令從匯流 排701 _704,亦標示成A出〇 — A出3,經由接收器709-712和 -22- 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公釐) ------------· I 1-------^---------1 (請先閱讀背面之注意事項再填寫本頁) 514780 修正
第089105819號專利申請案 中文說明書修正頁(91年4月) 五、發明説明(20 ) - 輸入邊界閂713-716,而抵達先進先出(FIFO)佇列721 — 724。這些命令由控制單元/多工器725加以選定前,可駐 留於一先進先出(FIFO)佇列内。當停留於該先進先出 (FIFO)佇列時,一命令可能經歷有限個但並非既定數目之 延遲週期。控制邏輯726可與控制單元/多工器725和先進 先出(FIFOs)佇列72 1-724進行通訊,以便決定進來命令之選 擇t控制邏輯單元726同時適當接收其他控制信號733。 控制單元/多工器725 —次選擇一命令,於路徑上播送至 節點控制器和記憶體子系統,其中該路徑具有既定數目之 延遲週期。於圖7所示之例子中,命令係透過輸出邊界閃 727和728,以及傳送器729和730,經由單向匯流排731和 732,亦標示成匯流排a入4和A入5,而送至記憶體子系 統。命令係透過輸出邊界閂717-720,以及傳送器741 — 744,經由單向匯流排705-7〇8,亦標示成匯流排a入『a入3,. 而送至節點控制器。此例子中,於輸出邊界閂717^20, 727和728僅有一單一之延遲週期。 從以上圖4-7之描述,可了解:一異動係由一主裝置發 佈&由其匯流排和蜂而至其節點控制器。節點控制器將 經由匯流排,而對主裝置提供某種類型之立即響應,並可 使該異動排隊等候後續將其發至系統的其他節點控制器。 一旦將該異動發佈至系統之其他節點控制器,則位址開關 確保以一已知之傳播延遲,將該異動播送至系統的其他控 制器’使其他裝置能夠檢測該異動。 .根據本盈明之分散式系統架構,系統内之各裝置將可見
一— UW及) 514780 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(21 到相同週期中的異動,並且於該相同週期内提供—致性 響應。位址開關可將一異動播送至所有節點控制器,包栝 含有發j該異動裝置之節點的節點控制器。各“控制器 内嵌入適當邏輯’使_節點控制器可決定所檢測的進來異 動是否原始發佈自位於其+一埠上的一裝遭。如果爲是, 則節點控制器確保發佈該異動之料匯料不檢測所接收 來自孩埠的-異動。否則’該裝置可能因檢測其本身之異 動而有所混淆。如果該裝置接收對其本身異動之檢剛,則 該裝置可發佈一響應,指示與其原始異動衝突。如果爲該 情況,則由於實際上原始異動即所檢測之異動,而無法二 決該衝突,所以該異動將不會完成。 、 以下提供用以發佈及完成異動之方式的更多細節。 記憶體子系統内部位址路徑 現在參照圖8,一圖形説明一記憶體子系統,其連接至 本發明所述系統之位址開關。圖8展示記憶體子系統8〇〇, 亦標示成化憶體子系統MSX。記憶體子系統8〇〇内之記憶 體控制器·801接收來自位址開關的一命令,其經由單尚匯 流排802,亦標示成匯流排a入χ,透過一些邊界閂fd 803 ’爲具有固定延遲之管線。以此方式,由該位址開關 所傳送的一命令當可供該記憶體控制器使用之前,將經歷 一固定數目的延遲週期。 如前面所展示,經由匯流排A入X而抵達一節點控制器的 一命令從捕捉自FROM一ASXJBL閂至出現於一.主裝置,橫 過一具有既定延遲之路徑。以一類似方式,一命令從位址 -24· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) . I,---_---^ —一---.---r - (請先閱讀背面之注意事項再填寫本頁) 514780
五、發明說明(22 ) 開關内之控制單元/多工器至該記憶體子系統内具有固定 延遲I官線,橫過一具有既定延遲之路徑。如果將該記憶 體子系統内之閂FD 803的延遲調整爲適當値,則可確保記 憶體控制器出現一命令的同時,連接至該節點控制器埠上 之主裝置亦出現該命令。因此,位址開關内之控制單元/ 多工器播送一異動的時間點以及主裝置和記憶體控制器接 收該命令的時間點之間存在一既定數目的週期。 由於僅有少數主裝置連接至一節點控制器之各埠上,所 以各匯流排連接至這些可操作埠的速度與系統中埠的總數 相獨立。例如,如果各埠連接一單一主裝置,則其匯流排 可以最可能速度和點對點模式加以執行。因此,本發明之 分散式架構可縮放成更能了解和更易驗證之多重處理器的 匯流排爲基礎之快取一致性協定,以加強系統頻寬。 郎點控制為内部資料路徑 現在參照圖9A和9B,一區塊圖説明一節點控制器内部 之資料路徑。節點控制器9〇〇,亦標示成NCX,類似於圖4 之節點控制益41 5和425,或者圖5之節點控制器5 1 5和 525。節點控制器900其個別埠具有其本身的佇列,當資料 進入節點控制器時,用以緩衝來自主裝置之資料。當位於 這些緩衝器中等候朝向目的地前進時,資料可能招致非既 定延遲。 節點控制器900具有雙向匯流排901-904,亦標示成ρχ匯 流排,其連接至主裝置。匯流排901-904經由匯流排收發 器905-908,而連接至輸入邊界閂909-912和輸出邊界閃 -25- ^^長尺度適用中國國家標準(CNS)A4規格(210 X 297公髮Τ (請先閱讀背面之注意事項再填寫本頁) -裝 J---一 —訂 i — 經濟部智慧財產局員工消費合作社印製 514780 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(23 ) 913-916。輸入邊界閂909-912將資料饋入緩衝器917-92〇, 以保留來自主裝置之資料。 來自節點控制器其埠之一的進來資料可被導引至一記憶 體子系統或者另一快取記憶體。於圖9 A和9B所示之例子 中,其繼續圖6中所示的例子,來自節點控制器其埠之一 的進來資料可被導引至下列三個位置之一:記憶體子系統 M S 〇·,記憶體子系統MSS-i,或者用以轉送節點内資料的一 快取記憶體對快取記憶體之先進先出(FIFO)佇列(FIFO C2C)。使用先進先出传列(FIFO C2C)機制,各節點可將資 料從一埠傳輸至另一埠,藉以允許將資料從一主裝置傳輸 至另一主裝置。緩衝器917-920饋入多工器925-927,該多 工器係用以選擇一資料,供來源轉送資料用。控制邏輯單 元939提供控制信號,供多工器925選擇資料,而傳送至記 憶體子系統M S 〇,以及供多工器9 2 6選擇資料,而傳送至 記憶體子系統MSs_i。節點控制器900將資料從多工器925 和926,透過邊界閂931和933,以及接收發器93 5和936, 經由雙向/匯流排937和938,亦標示成NxD〇和NxDs_i,而傳 送至記憶體子系統M S 〇和記憶體子系統MSs」。控制邏輯單 元939提供控制信號,供多工器927選擇資料,而在節點内 轉送。然後排隊進入先進先出佇列(FIFO) 928。 郎點控制器9 0 0以一對應方式,經由雙向匯流排9 3 7和 938,透過收發器935和936,以及邊界閂932和934而接受 來自子系統MS〇和記憶體子系統MSs-1之資料。然後資料棑 隊進入適當的先進先出佇列929和930。來自先進先出件列 -------------裝 j-------•訂----^--- (請先閱讀背面之注意事項再填寫本頁) -26- 514780 A7
經濟部智慧財產局員工消費合作社印製 五、發明說明(24 ) (FIFOs) 928-930之資料經過每埠的一多工器,像是控制單 元/多工器921-924。控制邏輯單元939提供控制信號,供多 工器921-924選擇資料,而傳送至主裝置。控制邏輯單元 939同時適當接收其他控制信號940。因此,節點控制器具 有資料匯流排之仲裁邏輯’足以自行控制具有平行性的資 料傳輸。以此方式,本發明之分散式系統架構得以改良系 統資料通量。 響應組合區塊(RCB) 現在參照圖10Α-10Β,一區塊圖説明用以決定匯流排響 應信號之系統架構,該分散式系統架構類似於圖4和圖5中 所示。圖10Α和圖10Β展示本發明之分散式系統架構中的 裝置連接,其中具有分別組合匯流排信號(響應)AStat和 AResp的一控制邏輯區塊。爲了清楚,AStat信號和AResp 信號已加以分離。應再次注意:輸入/輸出(I/O)代理器可 作馬連接至圖10 A和圖10B中所示節點控制器之蜂上的主 裝置。 如圖10A中所示,處理器looi-i 〇〇4亦標示成Px,具有單 向信號1005-1008,亦標示成PxNxAStOut,和AStatln信號 1009-1012,亦標示,將處理器連接至響應組 合區塊(RCB)l 000。像是記憶體子系統1〇〇5和1006之從屬 裝置亦標示成MSX,連接至具有AStatOut信號1013和 1014’亦標示成A StOut,和具有AStatln信號1015和 1016,亦標示成Mx_AStIn之響應組合區塊(RCB)。節點 控制器1017和1018亦標示成NCX,同時透過類似的一組每 -27- 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 χ 297公釐) -----I------· I------- ^ —一------- (請先閱讀背面之注意事項再填寫本頁) 514780 第089105819號專利申請案 |骨▲ 中文說明書修正頁(9i年4月)斗 五、發明説明(25 ) 埠單向AStatOut信號1019-1022,亦標示成NxPxASt〇ut, 和AStatln信號1023-1026,亦標示成NxPxAStIn,而連接至 響應組合區塊(RCB)。位址開關1027亦標示成ASX,藉由 供應播送信號1028和異動來源ID 1029而參與系統用以處 理一異動之適當邏輯的決定,其中該ID 1029係一節點識 別字與該節點内一埠識別字合起來的一編碼,一主裝置係 透過該編碼而對系統發佈一異動。 如圖106中所示,處理器1001-1004具有單一八1^5卩0加信 號 1055-1058,亦標示成 PxNxAReOut,和 ARespIn 信號 105 9-1062,亦標示成PxNxAReIn,將處理器連接至響應組 合區塊(RCB) 1000。記憶體子系統1005和1006連接至具有 ARespIn信號1065和1066,亦標示成Mx_AReIn之響應組合 區塊(RCB)。記憶體子系統1005和1006並未連接ARespOut 線,而該線路並未由這些從屬裝置驅動。節點控制器10 17 和1018同時透過類似的一组每埠之單向ARespOut信號 1069-1072,亦標示成 NxPxAReOut,和 ARespIn 信號 1073 —1076,亦標示成NxPxAReIn,而連接至響應組合區塊 (RCB)。再次,位址開關1027藉由供應播送信號1078和異 動埠ID 1079而參與一異動其適當邏輯之決定。 如圖10 A -10B中明顯可見,送至/來自一主裝置的一組 ASt at In/ASt at Out信號和 ARespIn/ ARespOut 信號與送至 / 來自其節點控制器的一組類似之AStatl n / AStatO u t信號和 ARespIn/ ARespOut信號成對。其以每埠為基礎而完成此種 配對。如以上所討論,該例子中所示各埠連接至一單一主 ____-28-_ 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
裝 訂·
514780 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(26) 裝置。然而,如果每埠連接一個以上之主裝置,則連接至 該埠其匯流排的主裝置組以如同一標準單一匯流排組態而 使用該對 AStatln/AStatOut信號和 ARespIn/ARespOut。 於較佳具體實施例中,響應組合區塊(RCB)將來自各種 來源裝置之AStatOuts和ARespOuts加以組合,並依據6XX 匯流排規格而產生AStatln和ARespIn信號,如此處合併參 考之IBM伺服器群Power PC MP系統匯流排說明5.3版中所 述。該響應組合區塊(RCB)分別接收AStatOuts和ARespOuts 信號,而且送回AStatl n s和ARespIns。並非所有裝置對於 一特殊異動均接收相同的響應。如以下之進一步詳述,各 裝置所接收的信號係以每週期為基礎而決定。 區域/全域週期 於任何給定之系統週期期間,一埠上的一主裝置可於其 埠之匯流排上發佈一異動,由其節點控制器接受,或者節 點控制器其主裝置可能出現由位址開關所轉送的一異動, 且由該主裝置檢測該異動。當該主裝置發佈一異動時,該 週期標示成區域異動,而當節點控制器出現一異動時,則 該週期標示成全域異動。由各裝置所接收之信號係於以每 週期為基礎加以決定,如以下進一步之詳述。 如以上所述,位址開關一次將一異動播送至所有節點控 制器,而且位址開關發佈此一異動的時間以及該異動出現 於各節點控制器其埠上的時間之間存在一固定延遲。於此 管轄下,一節點控制器接收來自位址開關的一播送異動, 然後預定數目之週期後,於一週期期間,該異動出現於該 -29- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------------------------^ (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 514780 A7 ~~___ 五、發明說明(27 ) 即點控制器埠上之匯泥排的裝置,於相同週期期間,除了 一節點外,所有節點控制器在其埠上執行相同的行動 <,'以 下將解釋。因此,當其中一埠的_匯流排上執行一全域週 期時,則系、统中之所有4上均執行全域週期。户斤有其餘 期則爲區域週期。 ^ 於區域週期期間,一埠上之活動與系統内其他埠上之活 動並,無關聯。取決於一裝置是否必需發佈一異動,區域週 期可能爲佔用或者間置。因此,一全域週期發生於系統中 所有裝置均探測一異動時,而僅在一區域週期時一裝置可 發佈一異動。 區域週期對全域週期期間之響應組合區塊(Rcb)作業 給定將整個系統週期以顏色分成區域或者全域,則類似 地,接續於一異動發佈後之固定數目的週期後所發生之響 應產生,響應組合,以及響應接受週期亦標示成區域響應 視W或者全域響應視窗。因此,對應上,於一給定之週期 期間,響應組合區塊(RCB)響應組合功能亦考慮爲區域或 者王域模式。於區域週期期間,響應組合區塊(RCB)係以 每埠爲基礎而組合。亦即,響應組合區塊(RCB)將一埠的 響應以及節點控制器對應於該埠所產生的響應加以組合。 於全域週期期間,響應組合區塊(RCB)將來自該系統中所 有埠以及節點控制器之響應加以組合(再次,除了一埠例 夕卜,如以下所解釋)。 爲達成區域和全域組合模式間之適當交換,則對響應組 合區塊(RCB)提供一信號,用以指示位址開關將一異動播 ' _ 3 0 _ 本紙張尺度適用悄國家標準(CNS)A4規格⑵Q.x挪公爱) -----------裝-------訂----Γ---- — (請先閱讀背面之注意事項再填寫本頁) 514780 第089105819號專利申請案 中文說明書修正頁(91年4月)
五、發明説明(2 8 送至節點控制器,如圖10A中所示之播送信號1028以及異 動來源ID信號1029。響應組合區塊(RCB)中所儲存之組態 資訊指示於播送異動信號抵達後,執行該播送之異動其響 應之組合的確實週斯。以此方式,對於各全域週期,響應 組合區塊(RCB)得以合成,而將來自適當來源之響應加以 組合。
主要對次要區域週期 裝 一處理器可能僅於區域週期期間發佈一異動。對於某些 類型的異動,處理器僅發佈一次該異動。對於某些其他類 型的異動,可能要求處理器多次發佈該異動。處理器係由 其連結響應組合區塊(RCB)之節點控制器,依照應執行的 行動使用 AStatln/AStatOut 信號和 ARespIn/ARespOut 信 號,而加以導引。
線 一處理器首次發佈異動之區域週期標示成主要區域週 期,相對地,所有其他區域週期則標示成次要區域週期。 於6XX匯流排架構中,一項次要異動係由一設定成為ff 1 π 之R位元加玖標示。換言之,其響應相關週期以對應於該 異動之發佈的適當方式,而標示成主要或者次要。 藉由一暫時性和空間性分散方式之檢測而達成一致性 從前文之描述中,顯然地,處理器以及裝置於不同於異 動發佈至系統之週期期間看見來自其他處理器和裝置的異 動。此不同於一單一匯流排環境中具有一檢測協定的情 形,其中,系統中所有裝置於一異動發佈之相同時間觀察 到該異動,並且同時間產生——致性響應,且其中該異動 -3 1 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 514780 Α7
五、發明說明(29 ) 經濟部智慧財產局員工消費合作社印製 之起源亦於相同時間接收該響應。因此,於目前系統中, 一致性之達成同時分散於時間和空間,亦即,=跨多重週 期以及連接至多重節點控制器的多重匯流排。〃 於使用分散式系統架構時,很重要的是以一有效方式達 成全域一致性。爲此目的,將所有異動排序成兩種類別: (1)可能預測全域-致性響應,並於主要響應視窗中遞送的異動1以及(2)於計算最終之一致性響應前必需全域檢測的 異動。 於第一情況下,節點控制器接受該異動,並於主要響應 視窗中將一全域一致性響應發佈至發佈實體。然後,節點 控制器稍後專責完成系統中之異動,並達成全域響應。 於第一 ^ /兄下,卽點担制器採取三個步驟。首先,節點 控制器接受該異動,並遞送一主要響應,用以指示所達成 I延期以及全域響應之遞送。於6χχ匯流排架構中,此響 應係一重新執行之響應。其次,於一後續時間,節點控制 咨達成茲異動的一全域一致性響應。以及第三,節點控制 咨要求處理咨發佈一次要異動,並於次要響應視窗中遞送 全域響應。於6ΧΧ匯流排架構中,藉由發佈一重新執行命 令而要求處理器發佈一次要異動,其中該重新執行命令 有一對應於原始異動之標籤。然後,該處理器可使用該 籤識別何異動必須重新執行。 重新執行命令和次要響應 如以上所注意,所接受來自一裝置的一異動將由系統之 其他裝置加以檢測。此一檢測期間,發佈該異動之裝置並 具 標
本紙張尺錢射_ ϋ公爱) -------------裝 i--------- ^ ---- (請先閱讀背面之注意事項再填寫本頁) -n n · .線 A7 A7 經濟部智慧財產局員工消費合作社印製 五、發明說明(3〇 ) 未所:該裝置不會因檢測其本身之異動而混清。 所第—情況之異動’亦即由節點控制器 窗中對發佈實體發佈-全域-致性 於異動檢測週期中將對應㈣佈該異動之裝 “勺阜轉區域模式,使處理器可發佈另—異動。如 =,於對應於異動檢測週期之響應視窗期間,響應組入 i 配/用以將來自發佈該異動之節點控制器其 =r源之響應加以組合。然後,如果該處理器 選擇發佈—異動,則該節點控制器可料埠上供應-主要 或者次要響應。 二於以上第二情況之異動,亦料計算最後之—致性響 怎二必需全域檢測的異動,該節點控制器將特殊埠維持區 ㈣式’但對其發佈_重新㈣異動。饋人該琿之出去邊 界閃的控制單元/多工器允許節點控制器達成此功能。 :代上,節點控制器可不選擇主動,取代令該裝置發佈 一異動,而是於系統之其餘裝置檢測該裝置異動的週期期 間,節點往制器本身對該裝置發佈一零異動或者重新執行 之異動。 現在參照圖IOC·· ’ 一區塊圖説明組成之信號參與區 域和全域週期的組成。圖10C展示—全域週期期間響應組 石區塊(RCB)所考慮之信號。於所示之例子中,一單一主 裝置,即處理咨1〇〇1之信號並未參與由響應組合區塊(rcb: 负決定’用以送至其他装置,節點控制器,以及記憶體子 系統,作爲全域響應用的適當信號。處理器丨〇〇丨之信號與 -33- 本紙張尺度過用中國國家標準(CNS)A4規格(210 X 297公釐) -------------· J----I------:----^9— f請先閱讀背面之注音?事項再填寫本頁) 514780 第089105819號專利申請案 中文說明書修正頁(91年4月) Α7 Β7 修正 五、發明説明(3 1 ) 來自其節點控制器的對應信號成對,該對應信號不考慮為 全域響應。從處理器10〇1之角度,當處理器1〇〇1所發^的 一兴動由系統之其餘裝置進行檢測時,則維持於一區域週 期。如先可所注意」雖然所說明係一處理器,但信號之考慮 係以每埠為基礎,將一特殊埠之匯流排維持於一區域週期 中,而系統之其餘匯流排則於一全域週期中。 圖10D展示一區域週期期間由響應組合區塊(rcb)所考 慮的仏號。於所示之例子中,來自一單一主裝置,即處理 态1001之信號參與由響應組合區塊(RCB)所決定,用以送 回處理器1001及其節點控制器之適當信號。來自其他裝 置,節點控制器,以及記憶體子系統之信號可同時間參 與,作為全域響應用的響應。處理器丨00 i之信號與來自其 節點控制器之對應信號成對,其中該對應信號同時不影響 全域響應。從處理器1001之角度,當系統之其餘裝置檢測 其他異動時,其可能發佈另一異動。為了清楚,雖然響應 組合區塊(RCB)使用這些信號決定何埠放置於區域週期 中’但區域週期中並未顯示來自位址開關的信號。 達成匯流排記憶體異動間之正確次序 為使一電腦系統正確工作,由主裝置所發佈之某種記憶 體存取異動以及其他類型的異動必須正確而清楚加以排 列。於具有一單一系統匯流排的一系統中,此工作以平常 方式充成’因為僅將匯流排上所出現之異動次序強迫為該 等異動的次序。然而,於具有多重匯流排的一分散式系統 中’孩工作要求排隊之異動上所強迫的次序遍及系統。本 本紙張1度適兩國家標準----
裝 訂·
線 514780 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(32 發明之分散式架構允許將一正確而一潰楚的次序強迫於一組 異動上。本發明同時提供一有效裝置,用以達成該次序, 因而1得以支援一檢測,硬體快取一致性協定。 無論於程式或者控制順序之影響下,當一對稱式多重處 理器(SMP)系統中的裝置存取記憶體時,其發佈記憶體異 動。該裝置同時可發佈其他匯流排異動,以 -致性,排列,中斷等。通常這些異動可平行有 來自其他異動之干擾。然而,當兩異動參考相同雙字内的 位址時,則根據6XX匯流排之用語稱爲衝突,而此二里 必須以某種特定次順完成。某些情況下,任何完成次序均 可接受,,然而其他時候,該次序爲固纟,且從異動之類刑 加以引中。例如,#果-讀取異動和—窝人異動試圖存取 宣告爲記憶體-致性並非必要的一位址,則此二異動之任 何完成次序均可接受。然而’如果其參考維持一致性的一 可快取位址,則完成之次序必須爲先寫後讀。 於異動上強迫一内定次序之裝置 於圖4- _中所述之分散式對稱式多重處理器系统 中’多重處理器及其他裝置可同時間於系統中之多重匿、云 排上發佈異動。因…開始,當發佈時,有關異動的: 序_糊m過系統時’於_第—步戰’系統對 迫=而公正的—自發之到達次序。此主要次序不必爲系 ,=取後冗成異動的次序。如果系統中兩衝突之異動同時 間有^貝:!兩者中依照到達之自發次序的排行將較早者預 足A先芫成,但如果無需—致性則另當別論。 、 -35- 本紙張尺度_巾_財辟(CN^a4規格⑵公£· , ---1---^i.---.--- (請先閱讀背面之注意事項再填寫本頁) 514780 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(33 ) 一旦命令進入系統後,則由節點控制器加以暫存,亦 即,由節點控制器加以儲存,而且可供分析以及衝突檢臺 用。節點控制器將所暫存的異動一次一異動傳送至位址開 關。該位址開關以一公正仲裁,於所傳送之異動間,一次 選擇一兴動’然後將所選足之兴動播送回至節點控制哭以 及記憶體子系統。首先將位址開關所播送異動之位址部分 閂鎖於邊界閂FROM一ASX—BL中的節點控制器内。如以上 所述,於任何週期中,一唯一異動閂鎖於所有節點控制器 和έ己憶f豆子系統之FROM一ASX—BL ’而且直到該週期爲止 已進入且依然有效之所有其他暫存的異動,包括目前於 FROM一ASX—BL中之異動,均可”看見”該異動。此二性質 係用以根據以下合理且公正之自發性,而定義異動的到達 次序·· 一異動進入系統之到達次序與到Fr〇m_aSX BL的 到達次序相同。 當一異動首次到達FROM一ASX—BL時,則記爲待檢測, 以指示實際上’於目前週期以後之固定數目的週期後,該 異動將出現於系統中所有裝置,以進行首次檢測。以下規 則係用以指定一異動於完成之異動中其次序的相對位置, 不考慮進入系統之實際時間:名義上,將記爲已檢測的一 暫存異動定義成較FR〇M_ASX—BL中之目前異動更早進入 系統。而名義上,將那些尚未記爲已檢測者定義成較 FROM一ASX一BL中之目前異動更晚進入系統。 達成異動之正確完成順序的方法 FROM一ASX—BL中之異動於其中停留一週期。該週期期 -36- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂-----.---•-签 514780 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(34 ) 間,該異動與目前暫存於整個系統中的所有其他異動相比 較,以偵測衝突及決定次序。其中這些成對之比較各自可 有兩組結果:一爲影響目前FROM_ASX_BL中之異動的完 成,以及第二爲影響該完成之某些其他異動探勘。 各對比較導致一決策··允許目前將該異動呈現於 FROM—ASX—BL中,以完成檢湏,或者延後至更晚時間才 完成。透過適當計算一 AStatRetry信號或者一 ARespRetry 信號可使延後生效。來自個別比較的這些信號以該節點控 制器内每節點爲基礎加予以組合。由於一延遲決策取得最 高優先,所以即使僅一單一之比較呼叫延遲,仍然決定延 遲,並導致該節點將該異動延遲。唯獨如果一節點内所有 比較均決定允許目前檢測完成,該節點才決定讓該異動完 成。 所組合之AStatRetry和ARespRetry信號由節點控制器編碼 成AStatRetry和ARespRetry碼,並將其交付響應組合區塊 (RCB),以參與所檢測異重力之全域AStat和AResp視窗。如 參照以上圖10A-10D所解釋,於這些視窗期間,除了發佈 該異動之裝置外,來自所有裝置以及節點控制器之響應係 由響應組合區塊(RCB)加以組合,以產生一全域響應,進 而送回所有參與者。再次,於此全域等級中,一重試響靡 具有(禁止一錯誤碼之)最南優先’而且如果任何輸入響麻 爲一重試,則其將爲最後的響應。一全域重試響應之影響 爲取消該異動的目前檢測。當感測該異動的一全域重試響 應時,暫存該異動之節點控制器可重新發佈該異動,供全 ----------------------訂--------- (請先閱讀背面之注意事項再填寫本頁) -37- 514780 五、發明說明(% ) =檢測用,或者從驅動該異動的節點控制器將原始異動退 ^可重覆這些全域重試,直到達成正確次序爲止。 不管任何原因,如果一異動接收一重試響應,則其檢測 記號爲重置,因此,會失去於系統之異動次序中其名義上 的目前位置。當檢測完畢返回時,該異動根據以上規則而 選擇一新位置。該機制無需禁止可能重新發佈一異動,而 且該異動排列在其後進入系統的另一異動之後。換言之, 如果目前異動完成,則將導致重試其他異動。 檢視以上所提供之詳述,將可明白本發明優點。本發明 允許將一標準化而且易於驗證之以匯流排爲基礎的快取一 致性協足縮放成一大型多重處理器系統,正常下,其龐大 (大小將使實體匯流排變成系統組成間進行通訊時無效率 的媒體,其中該系統組成像是處理器,記憶體子系統,和 輸入/輸出(I/O)代理器等。藉由使用本發明之分散式系統 架構,無需開發更複雜的以目綠爲基礎之協定等。本發明 同時允許組成介面的計時較一單一匯流排的可能計時更 快,藉以加強組成介面之頻寬,而導致更高的總系統頻寬 及效能。本發明同時支援多重資料匯流排,藉以倍增系統 之資料頻寬,並改良處理器的效率。本系統之資料傳送器 平行性同時改良總系統資料通量。 値得注意的是,雖然本發明係以一全功能資料處理系統 爲为景加以描述’但熟知此項技藝人士將明白:本發明之 處理可以指令的電腦可讀取媒體形式和各種形式予以分 -38- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297 ^爱) Μ 4780 Α7 Β7 五、發明說明(36 ) 散’而且本發明等於忽略實際用以實現分散之特殊類型的 ^號承載媒體而加以應用。電腦可讀取媒體之例子包括可 记綠類型之媒體,像是一軟碟,一硬碟驅動,一隨機存取 记憶體(RAM),和唯讀光碟(CD-R〇M),以及像是數位和類 比通訊鏈路的傳送類型媒體。 本發明之敘述僅作爲説明及描述用,而不打算以所揭露 的形式貫徹或者限制本發明。熟知此項技藝人士將可明白 許多修正和變化。所選擇及描述之具體實施例係用以作爲 本發明的原理,實際應用之最佳詮釋,以及用以賦能技藝 中其他的一般技能,以了解本發明,使具有各種修正之各 種具體實施例適用於所考慮的特殊使用。 -III — — — — — — — — -— — ——-—I— ^-----I--I AW. (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 514780 第089105819號專利申請案 -------- A 7
中文說明書修正頁(91年4月) ^ 修止 ---,——4. 五、發明説明(37 ) 補充 圖式元件符號說明 102 監視器配接器 140d L3快取記憶體 103 磁碟配接器 141 處理單元 104 鍵盤配接器 141a 處理器 105 顯示器監視器 141b L1快取記憶體 106 永久儲存裝置 141c L 2快取記憶體 107 键盤 141d L3快取記憶體 110 電腦系統 142 處理單元 112 處理單元 142a 處理器 112a-c 處理單元 142b L 1快取記憶體 114 輸入/輸出(I/O)代理器 142c L2快取記憶體 116 記憶體裝置 142d L 3快取記憶體 118 韌體 143 一般化互連 120 匯流排 144 系統記憶體 122 處理器 410 節點 124 指令快取記憶體 411-412 處理器 126 資料快取記憶體 413-414 匯流排 128 快取記憶體 415 節點控制器 140 處理單元 416-417 匯流排 140a 處理器 420 節點 140b L1快取記憶體 421 處理器 140c L 2快取記憶體 422 輸入/輸出代理器 ___-40- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 514780 A7 B7 第089105819號專利申請案 中文說明書修正頁(91年4月) 五、發明説明(38 423-424 匯流排 601-604 匯流排 425 節點控制器 605-608 匯流排收發器 426-427 匯流排 609-612 輸入邊界閂 430 位址開關 613-616 輸出邊界閂 431-432 單向位址匯流排連接 617-620 緩衝器 442 記憶體子系統 621 控制單元/多工器 444 記憶體子系統 622 邊界閂 510 節點 623 傳送器 511-512 處理器 624 匯流排 513-514 匯流排 625 匯流排 515 節點控制器 626 接收器 516 資料匯流排 627 邊界閂 517 匯流排 628 中間閂 520 節點 629-632 控制單元/多工器 521 處理器 633 控制邏輯單元 522 輸入/輸出裝置 634 控制信號 523-524 匯流排 635 控制信號 525 節點控制器 636 控制信號 526 資料匯流排 637 控制信號 527 資料匯流排 700 位址開關 542 記憶體子系統 701-704 匯流排 544 記憶體子系統 705-708 早向匯流排 600 節點控制器 709-712 接收器 -4 1 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 514780 A7 B7
X 第089105819號專利申請案 中文說明書修正頁(91年4月) 五、發明説明(39 713-716 輸入邊界閂 928 先進先出佇列 717-720 輸出邊界閂 929-930 先進先出仔列 721-724 先進先出(FIFO)佇列 931-934 邊界問 725 控制單元/多工器 935-936 接收發器 726 控制邏輯單元 937-938 雙向匯流排 727-728 輸出邊界閂 939 控制邏輯單元 729-730 傳送器 940 控制信號 731-732 單向匯流排 1000 響應組合區塊(RCB) 733 控制信號 1001-1004 處理器 741-744 傳送器 1005-1006 記憶體子系統 800 記憶體子系統 1017-1018 節點控制器 801 記憶體控制器 1027 位址開關 802 單向匯流排 803 邊界閂FD 900 節點控制器 901-904 單向匯流排 905-908 匯流排收發器 909-912 輸入邊界閂 913-916 輸出邊界閂 917-920 資料緩衝器 921-924 多工器 925-926 多工器 927 多工器 -4 2 - 本紙張尺度適用中國國家標準(CNS) Α4規格(210 X 297公釐)

Claims (1)

  1. 514780 A8 B8 C8 D8
    第089105819號專利申請案 中文申請專利範圍修正本(91年4月) 、申請專利範圍 1· 一種資料處理系統,包含·· 複數個主裝置; 複數個節點,其中一或更多主裝置的一子集組織成一 節點; 一位址開關; 複數個記憶體子系統; 各該等複數個節點係由一分離節點控制器所控制; 各節點控制器係利.用一對位址匯流排以耦合至該位址 開關,該對位址遲流排僅輸送位址; 各節點控制器並利用一分離資料匯流排直接連接至各 該複數個記憶體子系統,該資料匯流排僅輸送資料;以 及 該位址開關係利用一分離位址匯流排以I禺合至各該等 複數個記憶體子系統,該位址匯流排僅輸送位址。 2·如申請專利範圍第1項之資料處理系統,其中一主裝置 係一處理器,或者一輸入/輸出代理器,或者--致之 記憶體配接器。 3. 如申請專利範圍第1項之資料處理系統,進一步包含: 複數個雙向主裝置匯流排’其中一主裝置匯流排將一 節點内的一或更多主裝置連接至該節點控制器的一埠。 4. 如申請專利範圍第1項之資料處理系統,其中各節點控 制器包含: 複數個主裝置璋,其中各主裝置埠連接至一主裝置匯 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 514780 A8 B8 C8 D8 々、申請專利範圍
    流排; 一對位址開關埠,各該對位址開關埠連接至一對單向 位址開關匯流排之一,該對單向位址開關匯流排並連接 至該位址開關;其中該對位址開關匯流排之一將一位址 從節點控制器輸送至位址開關,且該對位址開關匯流排 之另一個將一位址從該位址開關輸送至該節點控制器; 以及 複數個記憶體子系統埠,各該等記憶體子系統埠連接 至一不同且單一雙向記憶體子系統匯流排,該雙向記憶 體子系統匯流排並連接至該等記憶體子系統中之不同的 子系統’其中一㊂己憶體子系統匯流排於節點控制器以及 記憶體子系統之一之間輸送資料。 5·如申請專利範圍第1項之資料處理系統,其中各節點控 制器包含: 資料控制器;以及 一位址控制器。 6.如申請專利範圍第5項之資料處理系統,其中一該資料 控制器包含: 複數個主裝置資料埠’其中各主裝置資料埠連接至一 主裝置匯流排的一資料部分;以及 複數個#己憶體子系統璋’各該爭複數個記憶體子系統 埠連接至一不同且單一雙向記憶體子系統匯流排,該雙 向記憶體子系統匯流排並連接至該等複數個記憶體子系
    本紙張尺度適用中國國家標準(CNS) A4規格(210…〜/ 統中之不同的子系統,其中一記憶體子系統匯流排在資 料控制器及連接至記憶體子系統滙流排之記憶體子系統 之間傳輸資料。 7·,如申請專利範圍第5項之資料處理系統,其中該位址控 制器包含: 、 複數個主裝置位址埠,其中各主裝置位址埠連接至_ 主裝置匯流排的一位址部分;以及 一對位址開關埠,各該對位址開關埠連接至一對單向 位址開關匯流排之一,該對單向位址開關滙流排並連接 至孩位址開關,其中該對位址開關滙流排之一自位址控 制裔傳輸一位址至位址開關,且該對位址開關滙流排之 另一者自位址開關傳輸一位址至位址控制器。 8_如申請專利範圍第丨項之資料處理系統,其中該節點控 制器接收來自一主裝置之命令。 9. 如申請專利範圍第1項之資料處理系統,其中一命令包 含一群組中的一或更多元件,該群組係由下列元件所組 成··一異動標籤;一異動類型;一目標位址;以及一來 源位址。 10. 如申請專利範圍第9項之資料處理系統,其中一異動類 型:不可於資料處理系統内執行來自一記憶體子系統的 一讀取需求或者一寫入需求之各種異動。 11·如申請專利範圍第i項之資料處理系統,其中該節點控 制器係當作另一主裝置或當作一從屬裝置,而與一主裝 514780 A8 B8
    置進行通訊。 12·如中請專利範圍第丨項之資料處理系統,其中該節點控 制器將所接收來自主裝置之命令加以排隊。 13·如申請專利範圍第1項之資料處理系統,其中該節點控 制器於閃鎖位址開關所播送的一命令以及該命令出現於 節點控制器主裝置匯流排上的主裝置之間存在一既定延 遲。 14·如申請專利範圍第1項之資料處理系統,其中該節點控 制為包含供資料排隊用的一快取記憶體對快取記憶體之 、’爰衝為’用以將資料從連接至該節點控制器的一主裝置 傳輸至連接至該節點控制器的另一主裝置。 15 ·如申請專利範圍第1項之資料處理系統,其中該節點控 制器内一埠之資料通量與資料處理系統中之埠總數相獨 立。 16.如申請專利範圍第}項之資料處理系統,其中該位址開 關進一步包含: 複數對節點位址埠,其中各對節點位址埠係透過一對 單向位址匯流排而連接至一節點控制器,其中該對位址 匯泥排之一將一位址從該節點控制器輸送至該位址開 關,且該對位址匯流排之另一個將一位址從該位址開關 輸送至該節點控制器;以及 複數個記憶體子系統位址埠,其中各記憶體子系統位 址埠係透過一單向位址匯流排而連接至一記憶體子系 -4 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 514780 A8 B8 Ά止 •、申請專利範圍 補尤则中’ 統,用以將一位址從該位址開關輸送至該記憶體子系 統。 17·如申請專利範圍第1項之資料處理系統,其中一記憶體 子系統進一步包含: 複數個節點資料埠,其中各節點資料埠係透過一雙向 資料匯流排而連接至一不同節點控制器,其中該雙向資 料匯流排於節點控制器以及該記憶體子系統之間輸送資 料;及 一位址埠,其中該位址埠係透過一單向位址匯流排’ 而將該記憶體子系統連接至該位址開關,用以接收來自 該位址開關的一位址。 18·如申請專利範圍第17項之資料處理系統,其中該記憶體 子系統進一步包含: 一記憶體控制器.;以及 一具有固定延遲之管線,從位址埠至記憶體控制器, 其中該記憶體子系統於接收來自該位址開關的一命令以 及該命令出現於該記憶體控制器之間存在一既定延遲。 19. 如申請專利範圍第1項之資料處理系統,其中主裝置, 節點控制器,位址開關,和記憶體子系統間之匯流排可 使用複數個匯流排協定加以操作。 20. 如申請專利範圍第1項之資料處理系統’其中該複數個 主裝置包含複數個處理器。 21. 如申請專利範圍第20項之資料處理系統’其中該複數個 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 處理器包含複數個快取記憶體。 22·如申請專利範圍第21項之資料處理系統,其中該資料處 理系統使用一以匯流排為基礎之檢測協定。 23·如申請專利範圍第22項之資料處理系統,其中該資料處 理系統係一對稱式多重處理器(SMp)系統。 24·如申請專利範圍第1項之資料處理系統,進一步包括: 各節點控制器在藉由位址開關來閂鎖一命令散佈及在 節點控制咨之主裝置匯流排上提出命令至主裝置之間而 具有一決定性延遲,包括在各複數個節點中之各主裝置 在同一時間被提出命令。 25.如申請專利範圍第}項之資料處理系統,進一步包括: 各節點控制器在藉由位址開關來閂鎖一命令散佈及在 節點控制器之主裝置匯流排上提出命令至主裝置之間而 具有一決定性延遲,包括在各複數個節點中之各主裝置 在同一時間被提出命令; \ 各遠等複數個彳己憶體子系統包括一記憶體控制器; 各該等複數個記憶體子系統包括一自位址埠至記憶體 控制器之固定延遲導管,其中記憶體子系統在自位址開 關接收一命令及提出命令至記憶體控制器之間具有一決 定性延遲;以及 該固定延遲導管係調整成使得包括於各複數個節點中 之各主裝置在同一時間被提供一命令"且,,該複數個記 憶體子系統之一被提供該命令。 -6 «
    514780 A8
    六、申請專利範圍 26.如申請專利範圍第1項之資料處理系統,進一步包括: 該位址開關係利用一分離且單一位址匯流排麵合至各 複數個記憶體子系統。 27·如申請專利範圍第1項之資料處理系統,進一步包括: 各節點控制器亦利用一分離且單一資料匯流排直接連 接至各該等複數個記憶體子系統。 28·如申請專利範圍第5項之資料處理系統,進一步包括: 該資料控制器及該位址控制器係為分離開物理裝置。 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
TW089105819A 1999-07-08 2000-03-29 Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors TW514780B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/350,031 US6467012B1 (en) 1999-07-08 1999-07-08 Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors

Publications (1)

Publication Number Publication Date
TW514780B true TW514780B (en) 2002-12-21

Family

ID=23374960

Family Applications (1)

Application Number Title Priority Date Filing Date
TW089105819A TW514780B (en) 1999-07-08 2000-03-29 Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors

Country Status (3)

Country Link
US (1) US6467012B1 (zh)
KR (1) KR100404608B1 (zh)
TW (1) TW514780B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640387B2 (en) 2004-12-28 2009-12-29 Intel Corporation Method and apparatus for implementing heterogeneous interconnects
TWI421699B (zh) * 2006-03-06 2014-01-01 Globalfoundries Us Inc 用於高速雙向發信號之非對稱控制方法及系統
TWI450109B (zh) * 2007-06-27 2014-08-21 Microsoft Corp 使用具有全域知識之伺服器來處理寫入請求
TWI832612B (zh) * 2022-12-14 2024-02-11 精拓科技股份有限公司 I2c通訊系統的目標從屬裝置及其位址更新方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516334B2 (en) 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US7093104B2 (en) * 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US7231500B2 (en) 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6799217B2 (en) * 2001-06-04 2004-09-28 Fujitsu Limited Shared memory multiprocessor expansion port for multi-node systems
US7024519B2 (en) * 2002-05-06 2006-04-04 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory
US7089376B2 (en) * 2003-03-20 2006-08-08 International Business Machines Corporation Reducing snoop response time for snoopers without copies of requested data via snoop filtering
US7395380B2 (en) * 2003-03-20 2008-07-01 International Business Machines Corporation Selective snooping by snoop masters to locate updated data
US7769959B2 (en) 2004-01-20 2010-08-03 Hewlett-Packard Development Company, L.P. System and method to facilitate ordering point migration to memory
US20050160238A1 (en) * 2004-01-20 2005-07-21 Steely Simon C.Jr. System and method for conflict responses in a cache coherency protocol with ordering point migration
US7395374B2 (en) * 2004-01-20 2008-07-01 Hewlett-Packard Company, L.P. System and method for conflict responses in a cache coherency protocol with ordering point migration
US8145847B2 (en) * 2004-01-20 2012-03-27 Hewlett-Packard Development Company, L.P. Cache coherency protocol with ordering points
US8176259B2 (en) 2004-01-20 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for resolving transactions in a cache coherency protocol
US7818391B2 (en) 2004-01-20 2010-10-19 Hewlett-Packard Development Company, L.P. System and method to facilitate ordering point migration
US8468308B2 (en) * 2004-01-20 2013-06-18 Hewlett-Packard Development Company, L.P. System and method for non-migratory requests in a cache coherency protocol
US7620696B2 (en) * 2004-01-20 2009-11-17 Hewlett-Packard Development Company, L.P. System and method for conflict responses in a cache coherency protocol
US8090914B2 (en) * 2004-01-20 2012-01-03 Hewlett-Packard Development Company, L.P. System and method for creating ordering points
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP4484757B2 (ja) * 2004-12-09 2010-06-16 株式会社日立製作所 情報処理装置
US7370127B2 (en) * 2005-06-10 2008-05-06 Broadlight Ltd High-speed internal bus architecture for an integrated circuit
US7373461B2 (en) * 2006-04-28 2008-05-13 Sun Microsystems, Inc. Speculative directory lookup for sharing classification
US20080098178A1 (en) * 2006-10-23 2008-04-24 Veazey Judson E Data storage on a switching system coupling multiple processors of a computer system
US7827357B2 (en) * 2007-07-31 2010-11-02 Intel Corporation Providing an inclusive shared cache among multiple core-cache clusters
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection
US10628312B2 (en) * 2018-09-26 2020-04-21 Nxp Usa, Inc. Producer/consumer paced data transfer within a data processing system having a cache which implements different cache coherency protocols

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152764A (en) 1977-03-16 1979-05-01 International Business Machines Corporation Floating-priority storage control for processors in a multi-processor system
US4484270A (en) 1982-07-07 1984-11-20 Sperry Corporation Centralized hardware control of multisystem access to shared and non-shared subsystems
IT1184553B (it) 1985-05-07 1987-10-28 Honeywell Inf Systems Architettura di sistema a piu' processori
US6070003A (en) 1989-11-17 2000-05-30 Texas Instruments Incorporated System and method of memory access in apparatus having plural processors and plural memories
EP0429733B1 (en) 1989-11-17 1999-04-28 Texas Instruments Incorporated Multiprocessor with crossbar between processors and memories
US5208914A (en) 1989-12-29 1993-05-04 Superconductor Systems Limited Partnership Method and apparatus for non-sequential resource access
JP2770603B2 (ja) 1991-03-14 1998-07-02 三菱電機株式会社 並列計算機
US5440752A (en) 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5327570A (en) 1991-07-22 1994-07-05 International Business Machines Corporation Multiprocessor system having local write cache within each data processor node
US5426765A (en) 1991-08-30 1995-06-20 Compaq Computer Corporation Multiprocessor cache abitration
US5335335A (en) 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
US5325503A (en) 1992-02-21 1994-06-28 Compaq Computer Corporation Cache memory system which snoops an operation to a first location in a cache line and does not snoop further operations to locations in the same line
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
KR100294105B1 (ko) 1992-04-29 2001-09-17 썬 마이크로시스템즈, 인코포레이티드 멀티 프로세서 컴퓨터 시스템의 일관성 카피-백 버퍼용 방법 및 장치
EP0608663B1 (en) * 1993-01-25 1999-03-10 Bull HN Information Systems Italia S.p.A. A multi-processor system with shared memory
JP3452929B2 (ja) 1993-09-27 2003-10-06 株式会社エヌ・ティ・ティ・ドコモ マルチプロセッサ
US5577204A (en) 1993-12-15 1996-11-19 Convex Computer Corporation Parallel processing computer system interconnections utilizing unidirectional communication links with separate request and response lines for direct communication or using a crossbar switching device
JP2778913B2 (ja) 1994-04-26 1998-07-23 株式会社東芝 マルチプロセッサシステム及びメモリアロケーション方法
US5907684A (en) * 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5566342A (en) 1994-08-31 1996-10-15 International Business Machines Corporation Scalable switch wiring technique for large arrays of processors
JPH08235141A (ja) 1995-02-28 1996-09-13 Kofu Nippon Denki Kk 情報処理システム
US5794062A (en) 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
US5673413A (en) * 1995-12-15 1997-09-30 International Business Machines Corporation Method and apparatus for coherency reporting in a multiprocessing system
JP3120033B2 (ja) * 1996-03-19 2000-12-25 株式会社東芝 分散メモリ型マルチプロセッサシステム及び故障回復方法
US5887138A (en) * 1996-07-01 1999-03-23 Sun Microsystems, Inc. Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes
US5754877A (en) 1996-07-02 1998-05-19 Sun Microsystems, Inc. Extended symmetrical multiprocessor architecture
US6049847A (en) * 1996-09-16 2000-04-11 Corollary, Inc. System and method for maintaining memory coherency in a computer system having multiple system buses
US5802377A (en) * 1996-10-22 1998-09-01 International Business Machines Corp. Method and apparatus for implementing multiple interrupt controllers in a multi-processor computer system
US5931938A (en) 1996-12-12 1999-08-03 Sun Microsystems, Inc. Multiprocessor computer having configurable hardware system domains
US5895495A (en) 1997-03-13 1999-04-20 International Business Machines Corporation Demand-based larx-reserve protocol for SMP system buses
US6122714A (en) 1997-10-24 2000-09-19 Compaq Computer Corp. Order supporting mechanisms for use in a switch-based multi-processor system
US6154816A (en) 1997-10-24 2000-11-28 Compaq Computer Corp. Low occupancy protocol for managing concurrent transactions with dependencies
US6292705B1 (en) * 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640387B2 (en) 2004-12-28 2009-12-29 Intel Corporation Method and apparatus for implementing heterogeneous interconnects
TWI421699B (zh) * 2006-03-06 2014-01-01 Globalfoundries Us Inc 用於高速雙向發信號之非對稱控制方法及系統
TWI450109B (zh) * 2007-06-27 2014-08-21 Microsoft Corp 使用具有全域知識之伺服器來處理寫入請求
TWI832612B (zh) * 2022-12-14 2024-02-11 精拓科技股份有限公司 I2c通訊系統的目標從屬裝置及其位址更新方法

Also Published As

Publication number Publication date
KR100404608B1 (ko) 2003-11-05
US6467012B1 (en) 2002-10-15
KR20010029854A (ko) 2001-04-16

Similar Documents

Publication Publication Date Title
TW514780B (en) Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
TW472195B (en) Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US6606676B1 (en) Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6374329B1 (en) High-availability super server
CA2349569C (en) Non-uniform memory access (numa) data processing system that speculatively forwards a read request to a remote processing node
TWI463318B (zh) 快取一致性處理系統、快取記憶體,及其方法
US6988173B2 (en) Bus protocol for a switchless distributed shared memory computer system
US8095733B2 (en) Virtual barrier synchronization cache castout election
TW385395B (en) Method of shared intervention for cache lines in the shared state for SMP bus
US6725307B1 (en) Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
TW200534110A (en) A method for supporting improved burst transfers on a coherent bus
CN101178691B (zh) 实施高速缓存一致性的系统和方法
JP2005539282A (ja) 単一のコヒーレントなシステム内の分散コンピュータ・ノードにキャッシュ・コヒーレンスを提供するのにグローバル・スヌープを使用する方法および装置
EP1412871B1 (en) Method and apparatus for transmitting packets within a symmetric multiprocessor system
US6785779B2 (en) Multi-level classification method for transaction address conflicts for ensuring efficient ordering in a two-level snoopy cache architecture
US6523076B1 (en) Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
TW577024B (en) Method and apparatus for providing global coherence in a large-way, high performance SMP system
US7685373B2 (en) Selective snooping by snoop masters to locate updated data
EP1701267B1 (en) Address snoop method and multi-processor system
US7127562B2 (en) Ensuring orderly forward progress in granting snoop castout requests
US11803470B2 (en) Multi-level cache coherency protocol for cache line evictions

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees