TWI423036B - 用以在雙向環型互連結構上選擇一方向以傳輸封包之方法及儲存有多個可執行指令的機器可讀媒體 - Google Patents

用以在雙向環型互連結構上選擇一方向以傳輸封包之方法及儲存有多個可執行指令的機器可讀媒體 Download PDF

Info

Publication number
TWI423036B
TWI423036B TW098143893A TW98143893A TWI423036B TW I423036 B TWI423036 B TW I423036B TW 098143893 A TW098143893 A TW 098143893A TW 98143893 A TW98143893 A TW 98143893A TW I423036 B TWI423036 B TW I423036B
Authority
TW
Taiwan
Prior art keywords
ring
packet
node
interconnect structure
source
Prior art date
Application number
TW098143893A
Other languages
English (en)
Other versions
TW201015339A (en
Inventor
George Chrysos
Matthew Mattina
Stephen Felix
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW201015339A publication Critical patent/TW201015339A/zh
Application granted granted Critical
Publication of TWI423036B publication Critical patent/TWI423036B/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Landscapes

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

Description

用以在雙向環型互連結構上選擇一方向以傳輸封包之方法及儲存有多個可執行指令的機器可讀媒體 發明領域
本發明之實施例主要關於單一晶粒上多重構件之晶片上整合,且更特別是多重處理器之晶片上整合。
發明背景
半導體製造之趨勢顯示,在一個單矽晶粒上包含更多的功能以提供更佳的處理。為達到此目地,多重處理器被整合至單晶片上。
2000年一月Proc.第27屆年度Int.Symp.電腦架構,在Barroso名為「Piranha:根據單一晶片多重處理之可標度架構」之報告中,敘述共用一大型快取記憶體之多重中央處理單元(CPU)的一晶片上整合。Barroso之報告顯示在一晶片多重處理器中之CPU間共用大型快取記憶體有助於共用記憶體資料庫工作量之效能。亦見於2000年一月,第6屆Int.Symp.高效能電腦架構,Barroso之報告「晶片階級整合對OLTP工作量效能之影響」。Barroso之報告亦顯示混雜讀取快取記憶體操作(以一CPU寫入資料並以一不同的CPU讀取)支配在以單一CPU晶片為基礎之系統上執行之工作量之效能(譬如,Marvel-Alpha系統)。Barroso之報告更顯示,當這些快取記憶體操作之通訊潛伏期被縮短,將多重CPU和一大型共用快取記憶體置於一單一晶粒上實質地增進效能。Barroso之報告中,處理器和快取記憶體以一組總體連貫匯流排和一閂開關連接結構。
然而,閂開關和匯流排之影響在於,由於許多潛在的遠距請求者及潛在性可能仲裁總體連貫資源而須求昂貴的仲裁邏輯。此導致長的潛伏期和可能較大的晶粒區域與電力消耗。
另一影響在於單晶片上之多重處理器整合電晶體和晶片上線路增加之量。同時電晶體速度隨汲極長度減短而增加,線路速度則不成比例增加。長的線路典型不隨電晶體閘速度成比例縮放。因此,線路延遲和時脈扭斜變成達到0.1微米及以下製程之高時脈率之主宰因素。
一種通用的解決方式係將總體連貫時脈分成區域時脈(稱為插線)來同步一或更多個相鄰裝置。然而這變成一種問題,由於越多時脈扭斜被導入穿越時脈插線的訊號,使得增加的時脈扭斜必須與目的地時脈插線同步。因此,更多的壓力被施加到週期時間以縮短在時脈插線間行進之距離而造成顯劇的時脈扭斜可能性。連接技術,諸如閂開關或匯流排,其擴大晶片上距離而惡化了線路延遲與時脈扭斜。
一晶片上之CPU和一共用快取記憶體之間的潛伏期和通訊頻寬影響效能甚劇。較佳的,從CPU到共用快取記憶體的潛伏期為低,而自共用快取記憶體(或其他CPU)至CPU之頻寬為高。然而,一些連接技術被限制具有增進的潛伏期與頻寬。當多重CPU執行程式或其他讀取時,對其下的連接技術有高度的需求。因此,減少多重處理器組配中之線路延遲和時脈扭斜變得非常重要。
如2003年摩托羅拉公司之「架構指南:C-5e/C-3e網路處理器,矽修訂B0版」中所述,摩托羅拉公司運用晶片多重處理器,其包括以一單向環型結構連接於一單晶片上之多重處理器來縮短封包在構件間運行之環型結構上的距離。多重處理器和其他構件之間的通訊以一種方向繞著環型結構。
然而,單向環型結構的問題在於潛伏期和頻寬仍受制於連接技術。為與上游處理器通訊,封包必須在到達上游處理器之前穿過整個環型結構。
因此,此領域中需求一種針對晶片上整合之連接技術來提供有效而快速的系統效能。
發明概要
本發明說明一種裝置,其包含在一半導體晶片上之至少一雙向環型結構。
圖式簡單說明
第1圖為依據本發明之一實施例,包括有耦接至一單一雙向環型互連結構之多重節點的一半導體晶片。
第2圖為依據本發明之一實施例,包括有耦接至多重單向及/或雙向環型互連結構之多重節點的一半導體晶片。
第3圖為依據本發明之一實施例,一多重處理器系統包括具有耦接至一單一雙向環型互連結構之多重構件的一多重處理器晶片。
第4圖係一方法流程圖依據本發明之一實施例。
第5圖為用以實施本發明之一實施例之電腦系統的一方塊圖。
較佳實施例之詳細說明
本發明之實施例可提供一半導體晶片包括處理器、在處理器之間被共用的一位址空間、及將處理器和共用的位址空間耦接在一起的一雙向環型互連結構。依據本發明之一實施例,處理器可包括CPU、而位址空間可包括一大型共用快取記憶體。
本發明之實施例亦可提供一種用來選擇在雙向環型互連結構上處理器和共用位址空間之間傳輸封包之方向之方法。此方法可包括計算封包的來源和目的地之間順時針方向上和逆時針方向上的距離、根據計算出的距離判定以何方向傳輸封包、以及相應於判定之方向,在環型結構上以該方向傳輸封包。
本發明之實施例有利地為多重處理器之晶片上整合提供縮減的潛伏期和增長之頻寬。此對於平行共用記憶體應用特別地有利,諸如交易處理、資料採集、經管理之執行時間環境諸如Java、或.net、及web、或email服務。
第1圖乃依據本發明之一實施例,包括有耦接一雙向環型互連結構之多重節點之一半導體晶片。節點110(1)至節點110(n)可被連接至雙向環型互連結構120之許多存取點或站。封包可以順時針或逆時針方向在互連結構120上之節點110(1)至節點110(n)之間運行。
節點110(1)至節點110(n)可包括一處理器、快取記憶體排組、記憶體介面、總體連貫周邊引擎介面、輸入/輸出介面、及任何其他這類一半導體晶片上所具有之封包處理構件。
第1圖中,在本發明之一實施例中,節點110(1)至節點110(n)可藉邏輯性地將一單一大型共用快取記憶體分成子集合而實施作為快取記憶體排組節點。每一快取記憶體排組節點可包括單一快取記憶體中之一部份位址空間,並可為該單一快取記憶體中之位址空間獨立地服務區塊請求(讀取、寫入、無效化等)。互連結構120上,每一快取記憶體排組節點可具有其本身的存取點或站。
第1圖中,互連結構120可包括多重單向線路(未繪示),其中一第一組單向線路可以一順時針方向傳輸封包、而一第二組單向線路可以一逆時針方向傳輸封包。各組單向線路可具有一特定的用途(譬如,傳送位址命令)、或一般用途(譬如,支援多重封包類型(位址請求、資料、快取記憶體周邊協定訊息等))。另外,各組單向線路可被指定以傳輸單一封包類型。
另外,第1圖中,互連結構120可包括能夠以兩種方向來傳輸封包之多重雙向線路。在此另一種實施例中,半導體晶片可包括切換邏輯,以於一特定處理期間切換各線路以所希望的方向來傳輸封包。
互連結構120可以各種速率傳輸封包。譬如,互連結構120可以「每一時鐘週期一或更多個節點」之速率傳輸封包、或「每一或更多次時鐘週期一個節點」之速率傳輸封包。有許多因素可以判定傳輸率,包括流通量、時脈率、節點間之距離等。通常,一節點等到任何已經在互連結構120和在節點上之封包通過節點才將封包插到互連結構120上。
第2圖係依據本發明之一實施例,包括有耦接多重環型互連結構之多重節點的一半導體晶片。節點210(1)至節點210(n)可被連接至在許多存取點或站之環型互連結構220(1)至節點220(m)。每一節點可選擇在任何環型互連結構220(1)至節點220(m)上傳輸封包至另一節點。
在一實施例中,第2圖中所有的互連結構可為單一方向,其中有些互連結構僅以一順時針方向來傳輸封包,而其他互連結構僅以逆時針一種方向來傳輸封包。
在另一種實施例中,第2圖中之一些互連結構可為單向的,而其的可為雙向的。在此另一種實施例中,有些單向互連結構可僅以一順時針方向來傳輸封包,而其他的單向互連結構可僅以逆時針一種方向來傳輸封包。雙向互連結構可與第1圖之雙向互連結構操作一致地以兩種方向傳輸封包。
第3圖係依據本發明之一實施例,包括有耦接至一單一雙向環型互連結構之一多重處理器晶片的一多重處理器系統。第3圖中,多重處理器晶片300可包括CPU310(1)至節點310(n)、快取記憶體排組320(1)至320(m)、記憶體介面330、總體連貫周邊引擎介面340、及輸入/輸出(「I/O」)介面350,全部耦接至雙向環型互連結構120。耦接雙向環型互連結構120之每一構件可具有一節點號碼來識別其在互連結構上之位置。
第3圖中,CPU310(1)可包括減法器305,其可實施為一種硬體裝置,來計算雙向環型互連結構120上CPU310(1)和任何其他節點間之距離。減法器305可藉由從CPU310(1)之節點數減掉目的地節點之節點數來計算CPU310(1)和一目的地節點間之距離。減法器305可計算順時針和逆時針方向上之距離。CPU310(1)可利用經計算的距離來選擇以哪個方向來傳輸封包。通常,雖然選擇具有最短距離之方向來傳輸封包,但這不是唯一的解決方式。此後會說明其他方向選擇方法。
第3圖中,CPU310(n)可包括可規劃有限狀態機器315,其係一硬體裝置,可規劃以利用相似於減法器305之操作來計算雙向環型互連結構120中CPU310(n)和其他節點之間的距離,譬如。在一實施例中,可規劃有限狀態機器315可被規劃以從詢查表搜尋在雙向環型互連結構120上傳輸封包之方向。譬如,詢查表可被初始化以包括兩個項目一順時針和逆時針。一計算出在順時針與逆時針方向上CPU310(n)和目的地節點間之距離,可規劃有限狀態機器315可根據計算的距離提取其中一詢查表項目。
在另一種實施例中,第3圖中,CPU310(1)至節點310(n)可利用軟體各自計算出它們與目的地節點之間的距離。每一CPU310(1)至節點310(n)可根據計算的距離判定以那種方向在雙向環型互連結構120上傳輸封包。
依據本發明之一實施例,封包傳輸的方向可選為具有最短封包來源和目的地間距之方向、具有最少流通量之方向、或其他針對任何特定處理所欲之要件。
第3圖中,需了解每一CPU310(1)至節點310(n)並不限定於第3圖中所示構件和組配。因此,本發明之實施例可利用一減法器、一可規劃有限狀態機器、一處理器、任何其他此類構件,或任何前述之組合,來執行o此處所述運算。減法器305和可規劃有限狀態機器315亦可被耦接至任何的快取記憶體排組320(1)至節點320(m)、或雙向環型互連結構120上其他任何節點。減法器305和可規劃有限狀態機器315亦可被耦接至為雙向環型互連結構120上一或更多個節點所共用之雙向環型互連結構120。
第3圖中,快取記憶體排組320(1)至節點320(m)可為如前述之單一大型共用快取記憶體之子集合。每一快取記憶體排組可伺服單一快取記憶體中位址空間之特定部份。
第3圖中,記憶體介面330可被耦接至雙向環型互連結構120和匯流排360來提供介於系統記憶體370和多重處理器晶片300上節點(即,CPU310(1)至節點310(n)與快取記憶體排組320(1)至節點320(m))間之一介面。記憶體介面330可共用於多重處理器晶片300上所有節點間來在系統記憶體370和節點間傳輸封包。
相同的,總體連貫周邊引擎介面340可被耦接至雙向環型互連結構120與匯流排360以提供在多重處理器晶片300與一或更多個其他多重處理器晶片380之間的一介面。總體連貫周邊引擎介面340可為多重處理器晶片300上節點所共用來傳輸封包於多重處理器晶片300上節點與一或更多個其他的多重處理器晶片380上節點間。
第3圖中,I/O介面350可被耦接至雙向環型互連結構120與匯流排360來提供介於I/O裝置390和多重處理器晶片300上節點之間的一個介面。I/O介面350可為多重處理器晶片300上節點所共用,以在多重處理器晶片300和I/O裝置390之節點間傳輸封包。
需了解多重處理器系統並不限定於第3圖之構件,但可包括任何具有封包處理能力之構件。
依據本發明之一實施例的通訊範例可包括在一快取記憶體排組請求一快取記憶體區塊之一處理器,譬如,從快取記憶體排組320(m)請求一快取記憶體區塊之CPU310(1)。CPU310(1)可計算順時針與逆時針方向上至快取記憶體排組320(m)之距離。CPU310(1)可根據計算的距離選擇方向來傳送其請求,而CPU310(1)可透過其存取埠或站儲存一位址於雙向環型互連結構120上之一環型槽中。位址可繞著雙向環型互連結構120前進直到其到達快取記憶體排組320(m)之存取埠或站為止,其含有所請求位址之相關資料。
快取記憶體排組320(m)可從雙向環型互連結構120上環型槽提取位址,並利用此位址來提取其中儲存之資料。快取記憶體排組320(m)可都過其存取埠或站儲存資料至下一可用的雙向環型互連結構120上環型槽。資料可以與位址抵達之方向相同或相反之方向穿過雙向環型互連結構120,直到資料回到初始CPU310(1)。CPU310(1)可銷毀資料。
在此例中,多重請求可同時穿越雙向環型互連結構120。雙向環型互連結構120之優勢在於由於雙向環型互連結構120之實施例提供雙向傳輸,請求可同時但反方向地通過相同的節點。
第3圖中雙向環型互連結構120之另一優勢在於多重請求可同時到達快取記憶體排組320(1)和320(m),即使快取記憶體排組實體上屬於單一共用快取記憶體。因此,在同一時鐘週期,到達快取記憶體排組320(1)之一請求可與另一到達快取記憶體排組320(m)之請求同時伺服。請求中位址位元可用於判定屬於各請求之快取記憶體排組。快取記憶體排組有許多對映的位址位元。在一實施例中,連續區塊位址可隸屬雙向環型互連結構120上之快取記憶體排組。位址位元可以此方式雜湊或選擇來在非計劃之工作量下提供對所有排組合理的一致存取。
雖然第3圖中未繪示,依據本發明之一實施例,多重環型互連結構220(1)至節點220(m)之使用如第2圖。在此實施例中,CPU310(1)可在多重互連結構220(1)至節點220(m)上傳送多重請求,藉此收回至少兩倍於給定時間週期內所銷耗量的資料量。
依據本發明之一實施例,第3圖中,額外的定址構件,諸如插槽網路路由器、記憶體控制器、及目錄快取記憶體,亦可被耦接至雙向環型互連結構120。定址構件可一同被插入。
本發明之實施例可利用任何習知通訊快取記憶體周邊協定並維護記憶體協調。許多協定可層疊於雙向環型互連結構上。每一協定可具有唯一一組資源競爭、匱乏、或停頓問題要解決。這些問題可利用賒借系統和緩衝、資源預先配置(諸如環型互連結構上預留週期或資源佇列中預留緩衝器)、匱乏狀態檢測器、請求/回應訊息之優先性、互連結構之實體化等來解決。
本發明實施例之另一優勢在於,雙向環型互連結構一般減半平均環型潛伏期、且相較於單一單向環型互連結構,為其系統一致通訊之平均峰值頻寬的4倍。與非環型系統相較,效能上則遠較非環型系統進步。一致的通訊可為隨機的或週期性的存取圖樣,其有助於平均利用所有的快取記憶體排組。
一般,平均環型潛伏期可被定義為互連結構上用於一致通訊所耗平均周期數,除了在任何構件中(即,節點)之請求和資料剩餘的時間外,包括環型互連結構上請求、以及資料返回的時間。相同地,平均峰值頻寬可定義為一致通訊每一時鐘週期到達其目的地之平均資料區塊數。
譬如,在一單單向環型互連結構中請求一快取記憶體區塊之處理器平均環型潛伏期,可被定義為處理器請求自處理器傳輸到適當的快取記憶體排組期間之時間和資料區塊從快取記憶體排組返回處理器之時間。因此,假設一節點每一時鐘週期之封包傳輸率,單一單向環型互連結構平均環型潛伏期時間為N個週期,其和系統中的節點數相當。這是因為請求越一些節點以到達適當的快取記憶體排組,且資料必須越系統上剩餘節點以回到開始的處理器。基本上,因為環型互連結構是一個迴路,所有的節點必被橫越以完成來自一處理器回到本身之請求。
需求在一雙向環型互連結構內之一快取記憶體區塊之處理器之平均環型潛伏期亦可定義為處理器之請求從處理器傳輸到適當的快取記憶體排組的時間、和資料區塊從快取記憶體排組反回到之時間處理器。然而,假設,譬如每一時鐘週期一節點之一封包傳輸率,平均環型潛伏期時間會為單向環型互連結構的一半。這是因為,在一實施例中,雙向環型結構之方向被選定為有最少的中介節點來橫越於處理器和快取記憶體排組之間。因此,此請求最多可橫越N/2個節點,而資料返回可橫越N/2個節點,導致一N個周期的最差潛伏期。然而,若存取一致,遠離請求處理器之快取記憶體排組之期望平均值將為最糟情形的一半,或N/4個橫越的節點。由於回去的路徑亦可採最短的,另外N/4節點可在處理器接收資料之前橫越。此給定雙向環型互連結構N/2週期之平均潛伏期,縮短逼近50%之用於一單一請求潛伏期和互連結構。
互連結構中利用雙向環型互連結構之縮減亦可造成遠高於單一單向環型互連結構的平均頻寬。每一快取記憶體請求考遞送一個資料區塊並消耗環型結構上之一些節點。若一請求耗盡環型結構上全部N個節點,就單一單向環型互連結構內,單向互連結構可遞送之最大頻寬乃每一週期1個資料區塊。一般,雙向環型互連結構對一平均一致的請求可消耗少於環型結構中所有節點。如前所述,雙向環型互連結構實際平均可消耗N/2節點。且,雙向環型互連結構可具有兩倍於單一單向環型互連結構之容量,因此允許雙向環型互連結構每一節點支援兩個資料區塊。總共,相結合的環型互連結構上之2N個閂中,N/2可消耗於平均請求,而資料區塊獲得每一周期總共2N/(N/2)=4個同步資料區塊,一個大於單一單向環型互連結構之係數4。平均峰值頻寬可與節點數量無關。
依據本發明之一實施例,一雙向環型互連結構可包含兩個支離的位址與資料線路組。因此,由於請求不耗費資料頻寬資源,而只有響應耗費資料頻寬資源,頻寬可乘以另一係數2而增加。以此方式,資料線路之佔有其可僅為一雙重雙向環型互連結構之環型站的1/4。兩種互連結構可因而由將一般用途環型互連結構分成位址和資料環型結構而獲得而倍加優勢。
譬如,對於將資料和位址請求之間線路組分開之一16-節點雙向環型結構線路,平均峰值頻寬可為每一資料環型x2個環型結構×64位元組資料寬度×3GHz有4個同步資料傳送操作,等於1.5T位元組/秒。
如此,雙向環型互連結構可提供一單一單向環型互連結構之4倍頻寬,包括來由雙重線路而來之兩倍,以及利用最短路徑路線減半處理占有期而來之2倍。然而,若雙向環型互連結構之線路均一致針對資料和位址請求兩者,頻寬可僅為單一單向環型互連結構之兩倍。
前述實施例係僅用於解釋當其他可能影響雙向環型互連結構上之潛伏期與頻寬的因素,諸如實際佔有率和肇因於實質化或抗匱乏機構之頻寬損失。
第4圖係一方法流程圖依據本發明之一實施例。第4圖中,此方法可判定在一雙向環型互連結構上以哪一向傳輸封包。在一實施例中,一單一雙向環型互連結構可包括以順時針方向來傳輸封包之一第一組線路(其可包含一第一環型結構)、以及以逆時針方向來傳輸封包之一第二組線路(其可包含一第二環型結構)。
第4圖中,傳送一封包至一目的地節點之一來源節點可計算於第一環型結構上至目的地節點之距離(410)。來源節點亦可計算在第二環型結構上至目的地節點之距離(420)。來源節點可判定何者為最短之距離(430)。若最短距離經判定為順時針方向(430),來源節點可於第一環型結構上傳輸封包(440)。另外,若最短距離經判定為逆時針方向(430),來源節點可於第二環型結構上傳輸封包(450)。
若判定的環型結構已經準備傳輸在此時鐘週期期間到達來源節點之封包,來源節點可等待直到環上封包在插入封包於判定的環型結構上前通過來源節點。一經判定,每一時鐘週期封包可提前,直到其到達目的地節點為止。
依據本發明之另一種實施例,來源節點可判定哪一環型結構有較少流量而可於具最少流量之環型結構傳輸封包。
在另一種實施例中,雙向環型互連結構可包含兩個以反方向傳輸封包之單向環型互連結構。在此實施例中,以順時針方向傳輸之單向環型互連結構可包含第一環型結構,而以逆時針方向傳輸之單向環型互連結構可包含第二環型結構。
其他可選用的實施例,雙向環型互連結構可包含一單向環型互連結構和一雙向環型互連結構、或兩個雙向環型互連結構。同前述實施例,其中一互連結構可包含第一環型結構而其他可包含第二環型結構。
需瞭解雙向環型互連結構並不限於一或二個環型結構,但可包括任何數量的環型結構來以多重方向傳輸封包。
第5圖係一電腦系統之方塊圖,其可包括一種架構型態,包括用於依據本發明之一實施例的一或更多個多重處理器與記憶體。第5圖中,一電腦系統500可包括耦接一處理器匯流排520之一或更多個多重處理器510(1)-510(n),其可被耦接至一系統邏輯530。一或更多個多重處理器510(1)-510(n)各自可為N位元處理器且可包括一解碼器(未繪示)和一或更多個N位元暫存器(未繪示)。依據本發明之一實施例,一或更多個多重處理器510(1)-510(n)各自可包括一雙向環型互連結構(未繪示)來耦接N位元處理器、解碼器、及一或更多個N位元暫存器。
系統邏輯530可透過匯流排550耦接至一系統記憶體540、以及透過一周邊匯流排560耦接至一非依電性記憶體570和一或更多個周邊裝置580(1)-580(m)。周邊匯流排560可代表,譬如,一或更多個周邊構件互連結構(PCI)匯流排,1998年12月18日公佈之PCISpecialInterestGroup(SIG)PCI區域匯流排規格2.2版(再版);工業標準架構(ISA)匯流排;延伸ISA(EISA)匯流排,1992年公佈之BCPR服務法人EISA3.12版規格;通用序列匯流排(USB)於1998年9月23日公佈之USB1.1版規格;以及相容周邊匯流排。非依電性記憶體570可為一靜態記憶體裝置,諸如一唯讀記憶體(ROM)或一快閃記憶體。周邊裝置580(1)-580(m)可包括,譬如,一鍵盤;一滑鼠或其他指標裝置;大量儲存裝置,諸如硬碟、CD、光碟、及DVD;顯示器及諸如此類。
本發明之實施例可利用任何電腦類型實施,諸如依據實施例教示規劃的一般用途微處理器。本發明之實施例因此亦包括一機器可讀媒體,其可包括用於規劃一處理器來執行依據本發明之實施例方法之指令。此媒體可包括但不限定於,任何類型之碟片,包括軟碟、光碟、及CD-ROM。
需了解用來實施本發明實施例之軟體結構可採取任何所欲形式,諸如單一或多重程式。更了解本發明之一實施例方法可以軟體、硬體、或其組合來實施。
前述為本發明較佳實施例之說明。申請人欲賦予本發明之整個範疇定義於之後的申請專利範圍中。申請專利範圍之範疇乃意圖涵蓋到不只說明書中所引述以及其等效物之實施例。
100...半導體晶片
110(1)-110(n)...節點
120...雙向環型互連結構
210(1)-210(n)...節點
220(1)-220(m)...環型互連結構
300...多重處理器晶片
305...減法器
310(1)-310(n)...CPU
315...可規劃狀態機器
320(1)-320(m)...快取記憶體排組
330...記憶體介面
340...總體連貫周邊引擎介面
350...輸入/輸出(「I/O」)介面
360...匯流排
370...系統記憶體
380...多重處理器晶片
390...I/O裝置
410-450...步驟
500...電腦系統
510(1)-510(n)...多重處理器
520...處理器匯流排
530...系統邏輯電路
540...系統記憶體
550...匯流排
560...周邊匯流排
570...非依電性記憶體
580(1)-580(m)...周邊裝置
第1圖為依據本發明之一實施例,包括有耦接至一單一雙向環型互連結構之多重節點的一半導體晶片。
第2圖為依據本發明之一實施例,包括有耦接至多重單向及/或雙向環型互連結構之多重節點的一半導體晶片。
第3圖為依據本發明之一實施例,一多重處理器系統包括具有耦接至一單一雙向環型互連結構之多重構件的一多重處理器晶片。
第4圖係一方法流程圖依據本發明之一實施例。
第5圖為用以實施本發明之一實施例之電腦系統的一方塊圖。
100...半導體晶片
110(1)-110(n)...節點
120...雙向環型互連結構

Claims (12)

  1. 一種用以在雙向環型互連結構上選擇一方向以傳輸封包之方法,其包含下列步驟:計算於一來源節點和一目的地節點之間的在一晶片上之第一和第二環型結構上的距離;根據所計算之該等距離來判定要在該等第一和第二環型結構中之何者上於該等來源和目的地節點之間傳輸一封包;以及於所判定之該環型結構上將該封包自該來源節點傳輸至該目的地節點。
  2. 如申請專利範圍第1項之方法,其中計算之步驟包含:計算該第一環型結構上之於該等來源和目的地節點之間的一順時針距離;以及計算該第二環型結構上之於該等來源和目的地節點之間的一逆時針距離。
  3. 如申請專利範圍第1項之方法,其中判定之步驟包含:判定該等第一和第二環型結構中之何者在該等第一和第二環型結構各自之個別方向上於該等來源和目的地節點之間有最短距離。
  4. 如申請專利範圍第3項之方法,其中該等個別方向包含一順時針方向和一逆時針方向。
  5. 如申請專利範圍第1項之方法,其中判定之步驟包含:判定該等第一和第二環型結構中之何者具有較少訊務。
  6. 如申請專利範圍第1項之方法,其中傳輸之步驟包含:於該第一環型結構上順時針地傳輸該封包、或於該第二環型結構上逆時針地傳輸該封包。
  7. 如申請專利範圍第1項之方法,其中傳輸之步驟包含:若於所判定之該環型結構上有另一封包抵達該來源節點,則等待以從該來源節點傳輸該封包。
  8. 如申請專利範圍第1項之方法,其中傳輸之步驟包含:每一時鐘週期於所判定之該環型結構上推進該封包。
  9. 一種儲存有多個可執行指令的機器可讀媒體,該等指令係用來執行包含下列步驟的方法:計算於一來源節點和一目的地節點之間的在一晶片上之沿著多個環型結構的距離;依據所計算的該等距離來確認要在該等多個環型結構中之何者上於該等來源和目的地節點之間傳輸一封包;以及於所確認之該環型結構上將該封包從該來源節點傳輸至該目的地節點。
  10. 如申請專利範圍第9項之機器可讀媒體,其中計算之步驟包含:計算在該等環型結構中之至少一者上的於該等來源和目的地節點之間的一順時針距離;以及計算在該等環型結構中之至少另一者上的於該等來源和目的地節點之間的一逆時針距離。
  11. 如申請專利範圍第10項之機器可讀媒體,其中確認之步驟包含:確認該等環型結構中之該至少一者和該至少另一者中之何者會在該等來源和目的地節點之間提供最短距離。
  12. 如申請專利範圍第11項之機器可讀媒體,其中傳輸之步驟包含:根據該最短距離,於該等環型結構中之該至少一者上順時針地傳輸該封包、或於該等環型結構中之該至少另一者上逆時針地傳輸該封包。
TW098143893A 2004-05-28 2005-05-19 用以在雙向環型互連結構上選擇一方向以傳輸封包之方法及儲存有多個可執行指令的機器可讀媒體 TWI423036B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/855,509 US20060041715A1 (en) 2004-05-28 2004-05-28 Multiprocessor chip having bidirectional ring interconnect

Publications (2)

Publication Number Publication Date
TW201015339A TW201015339A (en) 2010-04-16
TWI423036B true TWI423036B (zh) 2014-01-11

Family

ID=35169283

Family Applications (2)

Application Number Title Priority Date Filing Date
TW094116305A TWI324735B (en) 2004-05-28 2005-05-19 Semiconductor chip apparatus, multiprocessor system, and semiconductor chip
TW098143893A TWI423036B (zh) 2004-05-28 2005-05-19 用以在雙向環型互連結構上選擇一方向以傳輸封包之方法及儲存有多個可執行指令的機器可讀媒體

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW094116305A TWI324735B (en) 2004-05-28 2005-05-19 Semiconductor chip apparatus, multiprocessor system, and semiconductor chip

Country Status (6)

Country Link
US (1) US20060041715A1 (zh)
EP (1) EP1615138A3 (zh)
JP (1) JP2006012133A (zh)
KR (1) KR100726305B1 (zh)
CN (1) CN100461394C (zh)
TW (2) TWI324735B (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7924828B2 (en) 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US7346757B2 (en) * 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US20050033889A1 (en) * 2002-10-08 2005-02-10 Hass David T. Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip
US7961723B2 (en) 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7334086B2 (en) * 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US9088474B2 (en) * 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US8176298B2 (en) 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US7984268B2 (en) 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US20060112226A1 (en) 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
US20060143384A1 (en) * 2004-12-27 2006-06-29 Hughes Christopher J System and method for non-uniform cache in a multi-core processor
US7788240B2 (en) * 2004-12-29 2010-08-31 Sap Ag Hash mapping with secondary table having linear probing
US7747897B2 (en) * 2005-11-18 2010-06-29 Intel Corporation Method and apparatus for lockstep processing on a fixed-latency interconnect
US7350043B2 (en) 2006-02-10 2008-03-25 Sun Microsystems, Inc. Continuous data protection of block-level volumes
WO2007099950A1 (ja) * 2006-03-03 2007-09-07 Nec Corporation 高速pe間データ再配置機能を有するプロセッサアレイシステム
US7664608B2 (en) * 2006-07-14 2010-02-16 Hitachi High-Technologies Corporation Defect inspection method and apparatus
JP4928862B2 (ja) * 2006-08-04 2012-05-09 株式会社日立ハイテクノロジーズ 欠陥検査方法及びその装置
CN101216815B (zh) * 2008-01-07 2010-11-03 浪潮电子信息产业股份有限公司 一种双翼可扩展多处理器紧耦合共享存储器体系结构
US9596324B2 (en) 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
US8122279B2 (en) * 2008-04-21 2012-02-21 Kabushiki Kaisha Toshiba Multiphase clocking systems with ring bus architecture
US20120030448A1 (en) * 2009-03-30 2012-02-02 Nec Corporation Single instruction multiple date (simd) processor having a plurality of processing elements interconnected by a ring bus
KR101061187B1 (ko) * 2009-06-22 2011-08-31 한양대학교 산학협력단 버스 시스템 및 그 제어 장치
US8886885B2 (en) * 2009-11-13 2014-11-11 Marvell World Trade Ltd. Systems and methods for operating a plurality of flash modules in a flash memory file system
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
US8554851B2 (en) * 2010-09-24 2013-10-08 Intel Corporation Apparatus, system, and methods for facilitating one-way ordering of messages
CN102103568B (zh) * 2011-01-30 2012-10-10 中国科学院计算技术研究所 片上多核处理器系统的高速缓存一致性协议的实现方法
US8982695B2 (en) 2012-09-29 2015-03-17 Intel Corporation Anti-starvation and bounce-reduction mechanism for a two-dimensional bufferless interconnect
US9418035B2 (en) 2012-10-22 2016-08-16 Intel Corporation High performance interconnect physical layer
US9355058B2 (en) 2012-10-22 2016-05-31 Intel Corporation High performance interconnect physical layer
US20140114928A1 (en) * 2012-10-22 2014-04-24 Robert Beers Coherence protocol tables
JP2014093048A (ja) * 2012-11-06 2014-05-19 Fujitsu Ltd データ処理装置及びデータ処理方法
JP2014211767A (ja) * 2013-04-18 2014-11-13 富士通株式会社 情報処理システム、制御装置及び情報処理システムの制御方法
US10741226B2 (en) * 2013-05-28 2020-08-11 Fg Src Llc Multi-processor computer architecture incorporating distributed multi-ported common memory modules
CN105492989B (zh) * 2013-09-30 2018-11-16 英特尔公司 用于管理对时钟进行的门控的装置、系统、方法和机器可读介质
CN107851058B (zh) * 2016-05-27 2021-02-12 华为技术有限公司 存储系统及设备扫描方法
JP6740456B2 (ja) * 2016-08-01 2020-08-12 ティーエスヴイリンク コーポレイション 多重チャネルキャッシュメモリおよびシステムメモリデバイス
US10795853B2 (en) * 2016-10-10 2020-10-06 Intel Corporation Multiple dies hardware processors and methods
CN113468096A (zh) * 2017-06-26 2021-10-01 上海寒武纪信息科技有限公司 数据共享系统及其数据共享方法
EP3637272A4 (en) 2017-06-26 2020-09-02 Shanghai Cambricon Information Technology Co., Ltd DATA-SHARING SYSTEM AND RELATED DATA-SHARING PROCESS
CN109214616B (zh) 2017-06-29 2023-04-07 上海寒武纪信息科技有限公司 一种信息处理装置、系统和方法
CN109426553A (zh) 2017-08-21 2019-03-05 上海寒武纪信息科技有限公司 任务切分装置及方法、任务处理装置及方法、多核处理器
CN110413551B (zh) 2018-04-28 2021-12-10 上海寒武纪信息科技有限公司 信息处理装置、方法及设备
CN108304343A (zh) * 2018-02-08 2018-07-20 深圳市德赛微电子技术有限公司 一种复杂soc的片上通信方法
US10691632B1 (en) * 2019-03-14 2020-06-23 DeGirum Corporation Permutated ring network interconnected computing architecture
US11829196B2 (en) * 2019-10-22 2023-11-28 Advanced Micro Devices, Inc. Ring transport employing clock wake suppression
CN113709040B (zh) * 2021-08-31 2023-04-07 中国电子科技集团公司第五十八研究所 一种基于可扩展互联裸芯的封装级网络路由算法
CN113868171B (zh) * 2021-09-28 2024-06-18 上海兆芯集成电路股份有限公司 互连系统
CN114328333B (zh) * 2021-12-10 2024-03-12 中国科学院计算技术研究所 基于环形总线的硅芯片及其配置方法
CN115145861B (zh) * 2022-07-07 2024-04-05 无锡芯光互连技术研究院有限公司 一种基于双环形总线的芯片互连通信装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245605A (en) * 1991-10-04 1993-09-14 International Business Machines Corporation Integration of synchronous and asynchronous traffic on rings
TW463485B (en) * 1996-10-08 2001-11-11 Lucent Technologies Inc Communication system having a closed loop bus structure
US20020087763A1 (en) * 1999-05-12 2002-07-04 Wendorff Wilhard Von Communication sytem with a communication bus
TW200300534A (en) * 2001-11-07 2003-06-01 Sitra Ltd Request matching system and method

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5488038A (en) * 1977-12-24 1979-07-12 Fujitsu Ltd Data processor
US4646232A (en) * 1984-01-03 1987-02-24 Texas Instruments Incorporated Microprocessor with integrated CPU, RAM, timer, bus arbiter data for communication system
JPS649548A (en) * 1987-07-01 1989-01-12 Nec Corp Cache memory device
JPS6474642A (en) * 1987-09-16 1989-03-20 Nec Corp Cache memory bank selecting circuit
JPH04113444A (ja) * 1990-09-04 1992-04-14 Oki Electric Ind Co Ltd 双方向リングバス装置
FR2680026B1 (fr) * 1991-07-30 1996-12-20 Commissariat Energie Atomique Architecture de systeme en tableau de processeurs a structure parallele.
JPH06314239A (ja) * 1993-04-28 1994-11-08 Hitachi Ltd プロセッサシステム
US5604450A (en) * 1995-07-27 1997-02-18 Intel Corporation High speed bidirectional signaling scheme
US5935232A (en) * 1995-11-20 1999-08-10 Advanced Micro Devices, Inc. Variable latency and bandwidth communication pathways
AU5079998A (en) * 1996-10-15 1998-05-22 Regents Of The University Of California, The High-performance parallel processors based on star-coupled wavelength division multiplexing optical interconnects
US6253292B1 (en) * 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
JPH11167560A (ja) * 1997-12-03 1999-06-22 Nec Corp データ転送システム、このシステムに用いるスイッチング回路、アダプタ及びこのシステムを有する集積回路並びにデータ転送方法
US6574219B1 (en) * 1998-08-06 2003-06-03 Intel Corp Passive message ordering on a decentralized ring
US6680912B1 (en) * 2000-03-03 2004-01-20 Luminous Networks, Inc. Selecting a routing direction in a communications network using a cost metric
US6865149B1 (en) * 2000-03-03 2005-03-08 Luminous Networks, Inc. Dynamically allocated ring protection and restoration technique
US20030031126A1 (en) * 2001-03-12 2003-02-13 Mayweather Derek T. Bandwidth reservation reuse in dynamically allocated ring protection and restoration technique
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US20020154354A1 (en) * 2001-04-20 2002-10-24 Kannan Raj Optically interconnecting multiple processors
GB2377138A (en) 2001-06-28 2002-12-31 Ericsson Telefon Ab L M Ring Bus Structure For System On Chip Integrated Circuits
JP2003036248A (ja) * 2001-07-25 2003-02-07 Nec Software Tohoku Ltd シングルチップマイクロプロセッサに用いる小規模プロセッサ
US7248585B2 (en) * 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
US8645954B2 (en) * 2001-12-13 2014-02-04 Intel Corporation Computing system capable of reducing power consumption by distributing execution of instruction across multiple processors and method therefore
US7281055B2 (en) * 2002-05-28 2007-10-09 Newisys, Inc. Routing mechanisms in systems having multiple multi-processor clusters
EP1367778A1 (en) 2002-05-31 2003-12-03 Fujitsu Siemens Computers, LLC Networked computer system and method using dual bi-directional communication rings
JP4104939B2 (ja) * 2002-08-29 2008-06-18 新日本無線株式会社 マルチプロセッサシステム
US8209490B2 (en) * 2003-12-30 2012-06-26 Intel Corporation Protocol for maintaining cache coherency in a CMP
US7676637B2 (en) * 2004-04-27 2010-03-09 International Business Machines Corporation Location-aware cache-to-cache transfers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245605A (en) * 1991-10-04 1993-09-14 International Business Machines Corporation Integration of synchronous and asynchronous traffic on rings
TW463485B (en) * 1996-10-08 2001-11-11 Lucent Technologies Inc Communication system having a closed loop bus structure
US20020087763A1 (en) * 1999-05-12 2002-07-04 Wendorff Wilhard Von Communication sytem with a communication bus
TW200300534A (en) * 2001-11-07 2003-06-01 Sitra Ltd Request matching system and method

Also Published As

Publication number Publication date
US20060041715A1 (en) 2006-02-23
TW201015339A (en) 2010-04-16
CN100461394C (zh) 2009-02-11
TW200610327A (en) 2006-03-16
TWI324735B (en) 2010-05-11
CN1702858A (zh) 2005-11-30
KR20060046226A (ko) 2006-05-17
KR100726305B1 (ko) 2007-06-08
JP2006012133A (ja) 2006-01-12
EP1615138A2 (en) 2006-01-11
EP1615138A3 (en) 2009-03-04

Similar Documents

Publication Publication Date Title
TWI423036B (zh) 用以在雙向環型互連結構上選擇一方向以傳輸封包之方法及儲存有多個可執行指令的機器可讀媒體
Sewell et al. Swizzle-switch networks for many-core systems
US20200218683A1 (en) Virtualization of a reconfigurable data processor
Lee et al. Low-power network-on-chip for high-performance SoC design
JP4124491B2 (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
JP5273045B2 (ja) バリア同期方法、装置、及びプロセッサ
US7627738B2 (en) Request and combined response broadcasting to processors coupled to other processors within node and coupled to respective processors in another node
US20070081516A1 (en) Data processing system, method and interconnect fabric supporting multiple planes of processing nodes
JP6984022B2 (ja) マルチノードシステムの低電力管理
EP3140748A1 (en) Interconnect systems and methods using hybrid memory cube links
US8102855B2 (en) Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
TW201205301A (en) Computer system and method for sharing computer memory
US10289331B2 (en) Acceleration and dynamic allocation of random data bandwidth in multi-core processors
TW200407712A (en) Configurable multi-port multi-protocol network interface to support packet processing
US7809004B2 (en) Data processing system and processing unit having an address-based launch governor
EP1588276B1 (en) Processor array
US20060176886A1 (en) Data processing system, method and interconnect fabric supporting a node-only broadcast
JPH10260895A (ja) 半導体記憶装置およびそれを用いた計算機システム
CN109643301B (zh) 多核芯片数据总线布线结构和数据发送的方法
EP3841484B1 (en) Link layer data packing and packet flow control scheme
US20170337084A1 (en) Compute unit including thread dispatcher and event register and method of operating same to enable communication
Chandran et al. A generic implementation of barriers using optical interconnects
Lin et al. Cycle Stealing and Channel Management for On-Chip Networks
AI-Sadoun et al. Interconnecting off-the-shelf microprocessors
JPH03172955A (ja) バス制御回路

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees