TWI321414B - Methods and apparatus for supporting multiple configurations in a multi-processor system - Google Patents

Methods and apparatus for supporting multiple configurations in a multi-processor system Download PDF

Info

Publication number
TWI321414B
TWI321414B TW094135939A TW94135939A TWI321414B TW I321414 B TWI321414 B TW I321414B TW 094135939 A TW094135939 A TW 094135939A TW 94135939 A TW94135939 A TW 94135939A TW I321414 B TWI321414 B TW I321414B
Authority
TW
Taiwan
Prior art keywords
interface
mode
memory
multiprocessor
processors
Prior art date
Application number
TW094135939A
Other languages
English (en)
Other versions
TW200631355A (en
Inventor
Takeshi Yamazaki
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of TW200631355A publication Critical patent/TW200631355A/zh
Application granted granted Critical
Publication of TWI321414B publication Critical patent/TWI321414B/zh

Links

Classifications

    • 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
    • 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/0815Cache consistency protocols
    • 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/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)

Description

叫 1414 九、發明說明: 【發明所屬之技術領域】 本發明相關於使用一多處理器系統架構以達成多樣處理 設定的方法及裝置。 【先前技術】 近年來,因最先進電腦應用涉及即時、多媒體功能,因 此一直以來對更快的電腦處理資料產量有無法滿足的渴 望圖形應用疋對處理系統有最高要求者中的一個,原因 是其在較短時間期間需要如此龐大數量的資料存取、資料 計算及資料操控,以達成想要的視覺效果。此等應用需要 極快的處理速度,如每秒數億位元(數千Mb)資料。雖然一 些處理系統利用一單一處理器以達成快速處理速度,但其 他者係利用多處理器架構來實施。在多處理器系統中,複 數個子處理器可並行地操作(或至少互相配合),以達成期 望的處理結果。 一些多處理系統打算經由一矩陣設定中的數個介面來互 連以提尚處理產量及多樣性。此類設定的範例揭示在美國 專利公開號2005/0097231及美國專利號ό,526,491中,該等 文件以引用方式併入本文中。雖然此等文件中揭示的技術 在各種應用中有用,但未能提供其他應用中期望的彈性及 /或可程式化。 因此,此藝中需要新方法及裝置,用以互連一或多個多 處理盗系統與一或多個外部裝置,以達成較高的處理性 能0 1058I8.doc 【發明内容】 根據本發明的一或多個概念,一種處理元件(PE)(利用 複數個有區別的平行處理器)包括一寬頻介面控制器 (BIC) ’其提供一連貫或非連貫、高效能互連,以連接其 他PE、記憶體子系統、開關、橋接晶片等。該bic提供二 彈性介面,其具有多樣化協定及頻寬能力以應付不同系統 要求。該等介面可設定為二輸出入介面(I〇IF 〇/”,或一 輸出入及一連貫SMP介面(i〇lF & BIF)。當該BIC設定成作 為一連貫SMP介面時,該BIC提供該pE—高效能連貫互 連。當該BIC設定成作為一輸出入介面時,該BIC提供該 pE—高效能(非連貫)互連。 該BIC包括一邏輯層、一傳輸層、一資料鏈結層及一實 體鏈結層。該邏輯層(在一些實施例中,及該傳輸層)可調 適成改變該BIC在一連貫SMP介面(BIF)與一非連貫介面 (IOIF)間的操作。該邏輯層定義該或i〇if的基本操作, 已括順序及連貫性規則。該傳輸層定義命令及資料封包如 :在數個裝置間傳遞。命令及資料封包較佳分成數個較小 單凡’稱為實體層群組(PLG),以送交到該資料鍵結層。 該資料鏈結層定義數個設備,其確保傳送者與接收者之間 (大體上)無錯誤的資訊傳輸。該實體層定義該等輸出入驅 動益的電氣特徵及時序’及描述資料鏈結訊息封如何橫跨 數個貫體鏈結而傳輸。該實體鏈結層較佳支援高達二组邏 輯/傳輸/資料鏈結層的並行㈣,及在該兩組之間分派實 體層可用頻寬的一可設定方法。 105818.doc 1321414 該BIC的邏輯層、傳輸層、資料鏈結層及實體層的功能 及操作較佳便於該實體層頻寬可在二介面之間分配,只要 該等(BIF及/或1011?)介面的總頻寬未超過該實體層的最大 頻寬即可。舉例而言,該實體層可具有35 GB/s的總原輸 出頻寬,及25 GB/s的總原始輸入頻寬。
根據本發明的再一或多個實施例,該BIC的數個彈性介 面能在設置有該等處理元件的一或多者的系統設定中提供 重大彈性。例如,該BIC可用以實施雙輸出入介面(I〇IF〇 及I0IF1) ’以設定該PE與二裝置間的個別非連貫介面。該 BIC的實體層輸入/輸出頻寬可在該二1〇11?介面之間分配, 只要該二介面的和未超過該實體層的總頻寬(例如gb/s 輸出及25 GB/S輸入)即可。 根據一替代實施例,二處理元件可藉由各利用其在一連 貝對稱夕處理器(SMP)介面(或BIF)設定中的個別bjc而串 聯。各處理元件的連貫SMP介面(BIF)互相耦合,以設定其 間的一連貫介面。各處理元件的I〇IF可以一非連貫方式傳 送資料到其他裝置,及自其他裝置接收資料。而且,各 BIC的實體層輸入/輸出頻寬可在其二介面之間分配。 根據再一替代實施例,超過二個處理元件可藉由各利用 其在一連貫SMP介面(BIF)設定中的個別BIC而串聯。在中 央設置的一處理元件可利用具二BIF的一 BIC。在端點設置 的一對處理元件可作為在中央設置的該處理元件的框:及 各利用具一BIF及一 I〇IF的一BICe各處理元件的mF可互 相耦合以設定其間的一連貫介面。該等端點處理元件的 105818.doc IOIF可以—非連貫方式傳送資料到其他裝置,及自其他裝 置接收資料。 、 根據又—替代實施例,超過二個處理元件可藉由各利用 • 八在。亥輸出入及連貫SMP介面(I〇if & BIF)設定中的個別 BIC而串聯。各處理元件的連貫SMp介面(Elf)可耦合到— 開關其有效地使該等處理元件互相耦合以設定其間的一 連貫介面》各處理元件的I0IF可以一非連貫方式傳送資料 •到該系統中的其他裝置,及自該等其他裝置接收資料。 由本文中配合附圖所作說明,熟諳此藝者可了解本發明 的其他概念、特點及優點。 【實施方式】 以下將提供一多處理器系統的一較佳電腦架構的說明, :多處理器系統適於實施本文中所述—或多個特點。根據 一或多個實施例’料處理器系統可實施為—單晶片解決 方案,其可用於遊戲系統、家庭終端機、pc系統、伺服器 糸統及工作站等富含媒體應用的獨立及/或分散式處理。 在二應用中,如遊戲系統及家庭終端機,即時計算是必 例如在即時、分散式遊戲應用中,必須夠快速 處理網路影像解壓縮、立體電腦圖形、視聽產生、網路通 訊、實體模擬及人工智慧處理中的一或多者,以提供使用 者即時體驗的錯覺。m多處理器㈣中的各處理器 必須在短且可預測的時間中完成數個任務。 為此目的,及根據此電腦架構,一多處理電腦系統的所 有處理器由一共用計算模組(或單元)所建構。此共用計算 1058I8.doc /"-Λ 連貫結構’及較佳利用同-指令設定架構。該 :處=:系統可由-或多個用戶、词服器、一行動電 卢m PDA、機上盒、器具、數位電視及使用電腦 處理益的其他裝置所形成。 。複數個電腦系統亦可為—網路的數個成員。 :二:且結構藉由該多處理電腦系統能達成應用程式及 二\效率同速處理,若利用—網路,且能達成應用
程式及資料在該網路之上㈣速傳輸。此結構㈣化該網 路各種規模及處理功率的成M建立,及此等部分處理的應 用程式的預備。 參照圖1及2,該基本處理模組係-處理元件(PE) 500。 E5 00匕括輪出入介面5〇2、一處理單元㈣)⑽及複數
個子處理單元508 ’即子處理單元508A、子處理單元 508B、子處理單元5〇8(:及子處理單元遍—區域(或内 部)PE匯流排512在?1; 5〇4、該等子處理單元5〇8及一記憶 體介面511中間傳遞資料及應用程式。ϋ域PE匯流排512例 如可具有一傳統架構,或可實施為一分封交換網路。若實 鉍為一分封交換網路,雖然需要較多硬體,但可增加可用 頻寬。 ΡΕ 500可使用實施數位邏輯的各種方法來建構。然而, ΡΕ 5 00較佳建構為一單一積體電路,其利用一矽基板上的 一互補金屬氧化物半導體(CM0S)。基板的替代材料包括 砷化鎵、砷化鎵鋁及利用眾多種類摻雜物的其他所謂的 III-B化合物。PE 500亦可使用超導材料來實施,例如快速 I058l8.doc
V 1321414 單一通量量子(RSFQ)邏輯。 PE 500通過一高頻寬記憶體連接516而與—共享(主要)纪 憶體514緊密相關聯。雖然記憶體514較佳為一動態隨機存 取記憶體(DRAM),但記憶體514例如可使用其他構件實^ 為-靜態隨機存取記憶體(SRAM)、_磁性隨機存取記憶 體(MRAM)、-光學記憶體、一全像攝景多記憶體等。
PU 504及該等子處理單元5〇8較佳各耦合到一包括直接 記憶體存取DMA功能的記憶體流控制器(MFC),其配合記 憶體介面511,促進DrAM 514與PE 5〇〇的該等子處理單元 508與PU 504間的資料傳遞。請注意,該DMAc及/或記憶 體介面511可一體成型或相對於該等子處理單元5〇8&pu 504而分開地設置^實際上,該DMAC功能及/或記憶體介 面511功能可與該等子處理單元5〇8的一或多者(較佳全部) 及PU 504—體成型。亦請注意’ DRAM 514可一體成型, 或相對於PE 500而分開地設置。例如,DRAm 514可如圖 示所暗示设置成在晶片外’或DRAM 514可以一積體方式 設置在晶片上。 PU 504例如可為一標準處理器,其能單獨處理資料及應 用程式。在操作中,PU 5〇4較佳將該等子處理單元處理的 資料及應用程式加以排程及精心安排。該等子處理單元較 佳為單一指令多樣資料(SIMD)處理器。在pu 504的控制 下’該等子處理單元以一並列且獨立方式執行此等資料及 應用程式的處理。PU 5〇4較佳使用一 powerpc核心來實 施’該PowerPC核心係一利用精簡指令集計算(RISC)技術 i058l8.doc ]〇 的微處理器架構。RISr# t ISC使用簡卓指令的組合來執行較複雜 ^ 7因此,該處理器的時序是根據較簡單且較快的運 算’此使該微處理器以一已知時脈速度執行較多指令。 請注意,PU 504可藉由該等子處理單元5〇8之一來實 施’該子處理單元作為—主要處理單元,其將該等子處理 單元508處理的資料及應用程式加以排程及精心安排。此 外,處理元件5〇〇内可實施超過一 pu。 根據此模組結構,一特殊電腦系統利用的PE 500數目係 根據該系統所需的處理功率。❹,一伺服器可利用四個 PE 500, 一工作站可利用二個pE 5〇〇 ,及一pDA可利用一 個PE 500。- PE 500中指派以處理一特殊軟體單元的子處 理皁兀數目係依該單元内程式及資料的複雜度及大小而 定。 模組互連匯流排(MIB) 512係一連貫匯流排,其可組織 為數個(半率)環,其各支援複數個同時資料傳遞。 MIC 5 11可用以促進該PE與複數個資料庫間的通訊,該 等資料庫實施該共享記憶體5 14❶MIC 5丨丨較佳相對於該處 理器及數個輸出入介面而同步操作。 BIC 513係MIB 512的一邏輯延伸,及提供MIB 512與輪 出入介面502間的一同步介面。BIC 513提供一連貫或非連 貫的高效能互連,以連接其他PE、記憶體子系統、開關、 橋接晶片等。BIC 513提供具多樣化協定及頻寬性能的二 彈性介面以應付不同的系統要求。該等介面可設定為二輸 出入介面(IOIF 0/1),或設定為一輸出入及一連貫SMp介面 I05818.doc 1321414
出入介面時,BIC 513提供該PE高效能(非連貫)互連。bic (IOIF & BIF)。 操作。當BIC 51 提供該PE—高效
BIC 5 13促進在該PE與其他PE、記憶體子系統、
由該PE内的一區域快取記憶體階層或連接到該pE的一外 部裝置來提供服務。一記憶體存取請求會需要一或多個異 動。一異動可由一主裝置或一快取連貫性控制器(一窺探 器)啟始,及可造成該主從裝置間的一連串封包傳遞。bif 及IOIF異動分成三階段:命令(例如載入及儲存)、窺探及 資料(雖然並非所有異動皆需要一資料階段)。 BIC 513的BIF及IOIF特點可用以成為可定比例及具彈 性’以支援許多不同系統設定及未來世代依從的處理器。 BIC 5 13的特點包括:⑴封包協定,以支援快取連貫性及 資料同步化(當作為一BIF時);(ii)具旗標的封包協定,以 用於順序及連貫性(當作為一 I〇IF時);(iii)全管線命令異 動、資料異動,及回應/回答異動;(iv)分割異動及(v)信用 式命令及資料支援。 以下參照至圖3,以方塊圖說明bic 5 13的一或多個概 念’ BIC 513包括一邏輯層(包括至少二部分〇、丨)、一傳輸 105818.doc 12 1321414 層(亦包括至少二部分ο、υ、一資料鏈結層(亦包括至少二 部分〇、1)及一實體鏈結層。該邏輯層(在一些實施例中, 及該傳輸層)可調適成改變BIC 513在一連貫SMp介面(bif) 與一非連貫介面(IOIF)間的操作。 該邏輯層定義該BIF或咖的基本操作,包括該等順序 及連貫性規則。因此裝置,其連接到使用該mF或 IOIF的-PE,應完全遵從該邏輯層規定。然而,在一些應 用中’可能實施該邏輯層規定的一子集,及仍經由bic 513以該PE操作。該邏輯層中的資訊描述出該基本命令(位 址資料及回應封包。當該邏輯層設定成一連貫請介 面時,則允許⑽喊封包。當㈣輯層設定成—非連貫 介面時’則僅允許回應封包。 該傳輸紋義命令及資料封包如何在數個裝置間傳遞。 命令及資料封包較佳分成數個較小單元,其稱為實體層群 組(PLG),以送交到該資料鏈結層。該傳輪層中亦包括用 以步測該等PLG傳遞的流控制機構的^義。該傳輸層較佳 能定製以適應該系統或應用的需求。 該資料鏈結層定義確保傳送者與接收者間的(大體 錯誤資訊傳輸㈣備。此層中亦包括實體鏈結的啟始化^ 該資料鏈結層亦較佳能定製以適應-系統或應 該實體層定義該等輪出入驅動器的電氣特徵及時序,及 =個:料鏈結訊息封如何橫跨數個實體鏈結而傳輸。 以貫U較佳支援高達二組邏輯/傳輪/資料鏈結層的 105818.doc 並歹〗操作’及在該二組之間分派該實體層可用頻寬的一可 定方法。該實體層亦可定義印刷電路板(PCB)路由及封 ^ 包指導方針。該實體層的數個目標中間,為隱藏該等輸出 • 入驅動器的物理特徵(如速度、單向對雙向及輸出入裝置 的數目),及為提供一連貫介面給該資料鏈結層。該輸入/ 輸出功成可使用致能實質頻寬支援的數個Rambus RRAC輸 出入來達成。為增加彈性,該等RRAC發射器及接收器針 % 對該等處理器及記憶體,及該二介面間可設定的可用頻寬 而同步操作。 已知BIC 513的邏輯層、傳輸層、資料鏈結層及實體層 的上述功能及操作,可支援該PE的較高頻寬要求,以及不 同的系統设定。例如’該實體層可用以,以每對5 gb/s來 執作’及具有35 GB/s的總原輸出頻寬,及25 GB/s的總原 輸入頻寬。該實體層頻寬可在二介面之間分配,其最大頻 寬可為30 GB/s輸出及25 GB/s輸入。各介面的頻寬可設定$ • GB/s的增加量。較佳地,該二介面的和不可超過該實體層 的總頻寬。 以下提供BIC 5 13介面的進一步細節。bic 5 13係一點對 點匯流排’其在該PE、數個記憶體子系統、開關、橋接晶 片等之間’且為MIB 512的一邏輯延伸。BIC 513以數個橋 接晶片或開關支援許多裝置的連接》該單一實體裝置可用 以執行多個裝置類型的任務。此等裝置類型包括:主梦 置、窺探器、從屬裝置、記憶體、匯流排配接器及輸出 入橋接器。一主裝置例如可為一匯流排裝置,其裁決及驅 105818.doc 14
.’r\\ v-V :該命令匯流排…窺探器例如可為一匯流排裝置,其注 忍:命令匯流排上的活動’以保持與其他系統快取記憶體 連貝的☆決取貝料。—匯流排配接器或輸出入橋接器可 匕括决取5己憶體’若是如此,作用像一窺探器’例如, 其維持快取資料與其他系統快取記憶體間的連貫性…從 屬裝置例如可為-匯流排I置,其對—記憶體讀取或寫入 命令作出回應。一從屬裝置可包含記憶體,或數個輸出入 暫存器兩者。一記憶體裝置係一從屬裝置範例。一記 憶體例如可為一匯流排裝置,其對一記憶體讀取或寫入作 出回應,及處理連貫操作的正面確認通知。若記憶體的一 二邛刀連接到一遠端匯流排,則該匯流排配接器對該遠端 記憶體空間&行用於記憶體存取的記憶體工#。一匯流排 配接器例如可為通到另一匯流排的一閘道器,該另一匯流 排可具有相同或不同的匯流排架構,及其較佳使用該重新 執行協疋以傳遞數個連貫操作到該遠端匯流排。一輸出入 橋接器例如可為通到一輸出入匯流排的一閘道器,該輸出 入匯抓排不可在該專有或修改狀態中快取資料。該橋接器 不可提供與該輸出入匯流排的連貫性;然而,其較佳包含 一輸出入目錄以用於數個輸出入裝置在共享狀態中快取的 貝料’及因此不使用該重新執行協定傳遞數個連貫操作到 該輸出入匯流排。該橋接器可支援編程輸出入(PIO)或記 憶體映射輸出入裝置。 BIC 5 13架構較佳以分開的命令、資料及(窺探)回應封包 此·#封包較佳獨立地執行,以容許分割異動,其中 1058l8.doc
15- VV Η·丄外 ' Ρ 7封包較佳在該資料封包之前以外,在數個命令 封包^個資料封包之間並無時序關係。該等請求及回答 =有^鐵’以容許混亂的回答,其用於到另—匯流排的輸 入或在一非-致記憶體存取(NUMA)環境中是普遍的。 在該連貫卿設定巾,該等命令封包包含位址及控制資 二其描述該BIF上待執行的異動。一位址集訊器接收該 P 7封包’判定處理該等命令的順序’及選擇一命令。 選取的命令封包由該主裝置以一反射命令格式傳送(反射) 到該BIF上的從屬裝置。收到一反射命令封包後,該從屬 f置將—回答以—窺探回應封包形式傳送到該主m 窺探回應封包指明接受或拒絕該反射命令封卜在一些例 子中’該從屬裝置可以不是該異動的最終目的地。用於此 等例子,該從屬裝置負責前送該請求到最終目的地,且不 產生-窺探回應封包。通常’―命令封包係用於—資料里 動的請求。詩連貫性管理及同步化等請求,該命令封包 係完成的異動。當該請求係用於一資料異動時,含有控制 資訊的資料封包及該請求資料在該主從裝置之間傳遞。依 該傳輸層定義而定’命令及資料封包可由該BIF上的兩裝 置同時地傳送及接收。 在該非連貫設定中,該等命令封包較佳包含位址及控制 資訊,其描述該IOIF上待執行的異動。數個命令封包由主 裝置以一 IOIF命令形式傳送到該,⑽上的從屬裝置。收到 -命令封包後,該從屬裝置將一回答以—腑回應封包炉 式傳送到該M h相應封包指明接受或拒絕該咖命 I05Sl8.doc * 16 - 1321414 #例子中,該從屬裝置可以不是該異動的最 用於此等例?’該㈣裝置負責前送該請求到 最終目的地。通常-I0IF命令封包係—資料㈣的請求。 用於中斷及中斷重新傳送極竹莖攻+ 得运操作專明求,該命令封包係完成 的異動。當該請求係用於__資料異動時,含有控制資訊的 資料封包及該請求資料在該主從裝置之間傳遞。依該傳輸
層定義而冑’命令及資料封包可由該咖上的兩裝置同時 地傳送及接收》 BIC 5U提供該咖與該等輸出入介面間的一同步介 面及因此。3數個速度匹配的SRAM緩衝器及邏輯,及 三個時脈領域。該處理器側以半速操作,該輸出入側以該 等RRAC的速率的三分之—操作,及—小型分配網路以該 等RRAC速率的-半操作。由於該等發射器及接收器的高 速,該等RRAC及BIC 513需要校準。用於BIC 513校準, 使用#回緩衝器以消除該等位元組(包括該介面)間的偏 斜0 如上述,BIC 5 13提供二彈性介面:⑴該雙輸出入介面 (IOIF 0/1),及(ii)該輸出入及連貫SMP介面(joif & BIF)。 此允許該系統設定中有重大彈性,該系統設定t設置有該 專處理元件的一或多者。 例如,如圖4所示,BIC 513可用以實施雙輸出入介面 (IOIFO及IOIF1),以設定PE 5〇〇與二裝置(即裝置〇及裝置 1)間的個別非連貫介面。在此設定中’ 一單一 PE 5〇〇可在 各IOIFO及1〇吓丨之上傳送及接收資料。 1058I8.doc \:y 1321414 如上述,BIC 513的實體層輸入/輪出頻寬可在該二介面 (BIF-BIF、IOIF-IOIF及 /或 BIF-IOIF)之間分配,只要該二 介面的和未超過該實體層的總頻寬(例如3〇 GB/s輸出及Μ GB/s輸入)即可。假設裝置〇係一高產量裝置,如一圖形引 • 擎,及裝置1係一較低產量裝置,如—輸出入橋接器,BIC 5 13的頻寬可以一有利方式分配,以達成一合適設定。例 如,到該圖形引擎(裝置0)的IOIF 〇非連貫介面可為3〇 • GB/s輸出及20 GB/s輸入,而到該輸出入橋接器(裝置〇的 I〇IF 1非連貫介面可為2.5 GB/S輸出及2.5 GB/s輸入(假設 可用2.5 GB/s增加量)。 如圖5所示,二處理元件500可藉由各利用其在—連貫 SMP介面(BIF)設定中的個別BIC 513而串聯。各處理單元 500的連貫SMP介面(BIF)互相耦合以設定其間的一連貫介 面。各處理元件5〇〇的I0IF可以—非連貫方式傳送資料到 其他裝置’及自其他裝置接收資料。 鲁 而且,BIC 513的實體層輸入/輸出頻寬可在該二介面之 間分配。假設裝置0及裝置!係較低產量裝置,如輸出入橋 接器,該等個別BIC 513的頻寬可以一有利方式分配,以 達成一合適設定。例如,到裝置〇的I〇IF 〇非連貫介面可 為5 GB/s輸出及5 GB/S輸入,到裝置i的I〇IF J非連貫介面 可為5 GB/S輪出及5 GB/s輸入,及該二處理元件5〇〇間的連 貫BIF介面可為20 GB/s輸入及20 GB/s輸出。 如圖6所示,超過二處理元件5〇〇可藉由各利用其在一連 貫SMP介面(BIF)設定中的個別BIC 513而串聯。該中央處 J05818.doc 1321414 理元件500利用具二BIF的一 BIC 513。各處理元件5〇〇的 BIF互相耦合以設定其間的—連貫介面。該末端處理元件 λ 5〇〇的IOIF可以一非連貫方式傳送資料到其他裝置,及自 其他裝置接收資料。 ^ 如圖7所示,超過二處理元件500可藉由各利用其在該輸 出入及連貫SMP介面(IOIF & BIF)設定中的個別BIC 513而 串聯。各處理元件500的連貫SMP介面(BIF)可耗合到一開 φ 關’其有效地使該等處理元件500互相耦合以設定其間的 一連貫介面。各處理元件500的IOIF可以一非連貫方式傳 送資料到該系統中的其他裝置,及自該等其他褒置接收資 料。 該等SPU經由連貫轉譯及保護的DMA與該ppu共享系統 s己憶體’但將資料及指令儲存在各spu專屬的一 256Κ區域 儲存體(LS)支援的一專用真實位址空間中。該等spu提供 該處理元件的大部分計算效能。該八個處理器各包含一 • I28位元寬的雙發出SIMD資料流,其係用於雙倍精確浮點 除外的所有操作的全管線。數個運算元由128位元暫存器 稽案以一統一的128條目提供》SSPU具有一 256kB單琿式 LS,其支援對該MIB的全頻寬並列讀取及寫入dMa存取, 以及16位元組SPU載入及儲存,及指令(預先)擷取。該等 SPU藉由發出具一有效位址(EA)的DMa命令到該相關聯 MFC而存取主儲存體。該MFC施加該標準功率架構位址轉 5擎到6亥EA ’及接者同步地在該區域儲存體與主健存體之 間傳遞資料。此容許重疊通訊及計算,及促進即時操作。 1058l8.doc SPU經由DMA、一 士别紅+ m ^ ^ 暫存器檔案存取到共享記憶體,及 “準有:人序執行語義學提供—流 可動態地設定成在m4。 ^ 程式存取。作,其中其資源僅由批准的 圖8說明一示範子處理單元(咖”〇8的進—步細節。 ^ 5崎構較佳填滿通用處理器(其料成在-廣泛應用 ,,且上達成0均效能)與特殊㈣處理器(其料成在一單 =應用上達成高效能)間H:。spu 5Q8設計成在遊戲 應用、媒體應用、寬頻系統等上達成高效能,及提供即時 應用的程式設計師高階控制。SPU谓的一些性能包括圖 形幾何管線、表面子區域、快速先驅變換、影像處理關鍵 字、串流處理,G編碼柄、加密、解密、裝置驅動 程式延伸 '模型、遊戲物理學、内容創作及音響合成及處 理。 子處理單元508包括二基本功能單元,即一 spu核心 Η0Α及一記憶體流控制器(MFC) $刚。spu核心別錢 行程式執行、資料操控等,而MFC 5卿執行在該系統的 SPU核心51〇八與DRAM 514之間相關資料傳遞的功能。 SPU核心5I0A包括一區域記憶體550、一指令單元(iL/) 552、數個暫存器554、一或多個浮點執行級及一或多 個口疋點執行級558。區域§己憶體550較佳使用sram等單 痒式隨機存取記憶體來實施。鑑於大部分處理器藉由利用 快取記憶體以減低到記憶體的潛伏時間,spjj核心5 1〇A 實施較小區域記憶體550而非一快取記憶體。實際上,為 I05818.doc U21414 提供即時應用(及本文中提及的其他應用)的程式設計師連 貫及可預測的記憶體存取潛伏時間,最好不使用咖咖A Λ ㈣—快取記憶體架構。—快取記憶體的快取擊中/錯失 “ 特性造成揮發性記憶體存取時間,自數周期到數百周期不 等。此類揮發性例如削弱即時應用編程中期望的存取時序 可預測性。藉由重疊DMA傳遞與資料計算,可在區域記憶 體SRAM 550中達成潛伏時間隱藏。此提供高階控制以用 • 於即時應用的編程。由於與DMA傳遞相關聯的潛伏時間及 指令經常費用超過提供一快取錯失服務的潛伏時間所需經 常費,因此當DMA傳遞大小夠大且可充分預測時(例如在 需要資料前可發出一 DMA命令),該811八河區域記憶體方式 達成一優勢。 該等子處理單元508中的一已知者上執行的一程式參照 至使用一區域位址的相關聯區域記憶體55〇,然而,該區 域記憶體550的各位置亦指派整體系統的記憶體地圖内的 • 一真實位址(RA)。此容許特權軟體將一區域記憶體550映 射到一過程的有效位址(EA),以促進一區域記憶體55〇與 另一區域記憶體550間的DMA傳遞。PU 504亦可使用一有 效位址而直接存取區域記憶體55〇。在一較佳實施例中, 區域記憶體550包含556千位元組儲存體,及暫存器554的 容量為128 X 128位元。 SPU核心5 04A較佳使用一處理管線來實施,其中數個邏 輯指令以一管線方式來處理。雖然該管線可分成處理指令 的任何數目的級,但該管線通常包括:擷取一或多個指 I05818.doc •21 - 令’解碼該等彳t a 等於八 —核對該等指令中間的 寺岛令,及執行該等妒八 r間的依存性’發出該 令緩衝器、指令解^ = m ’ ίϋ 552包括:-指 令發出電路結構。 ° 又存性核對電路結構及指 。指令緩衝器較佳包括複數 憶體550且用以/批t 繁存益,其耦合到區域記 4取數個指令時暫 緩衝器較佳操作成料料^令。該指令 地)離開該等暫存器。\ 、旨令整群組地(即大體上同時 器。雖然該指令緩播 但最好其尺寸 i緩衝裔可為任何尺寸’ , 於一或三個暫存器。 微:結構中斷該等指令,及產生數個邏輯 算可指定數個I:及^令的功能。例如’該等邏輯微運 憶體-,暫存來運算,載入及儲存運算到區域記 電路㈣f 及/或直接資料運算元。該解碼 Γ=可指明該指令使用何種資源,如目標暫存器位 介 原、功能單元及/或匯流排。該解碼電路結構 、°供應資訊’其指明需要該等資源的數個指令管線級。 該指令解碼電路結構較佳可用以大體上同時解碼數個指 令’其等於該指令緩衝器的暫存器數目。 〜該依存性核對電路結構包括數位邏輯,其執行測試以判 定已知^令的運算元是否依該管線中的其他指令的運算元 而疋。右如此,則直到此類其他運算元更新(例如藉由允 許該其他指令完成執行),才應執行該已知指令。最好該 依存性核對電路結構判定自解碼器電路結構i丨2同時發出 的多個指令的依存性。 1058l8.doc -22- 該才日令發出電路結構可用 556及…一 專了用以發出該“令到浮點執行級 556及/或固定點執行級558。 二等暫存Θ 554較佳實施為—較大型統_暫存器播案, 條目暫存^㈣。此容許巧妙管線高頻實施,不 而暫存器重新命名,以避免暫 。 暫存益匱乏重新命名硬體通 耗該區的重大部分及一處理系統中的功率。因此,當 潛伏時間由軟體迴路鋪開或其他交錯技術覆蓋時可達成: 利的運算。 ,較佳地,SPU核心510A屬於一超純量架構,俾使每時脈 週期發出超過-指令。SP_^51GA較佳作為—超純量來 操作到一程度,其對應到該指令缓衝器發送的同時指令數 目,如在2與3之間(意即各時脈週期發出二或三個指令)。 依所需處理功率而定,可利用一較大或較小數目的浮點執 行級556及固定點執行級558。在一較佳實施例中,浮點執 行級556以每秒320億浮點運算(32 GFLOPS)的速度操作, 及固定點執行級558以每秒320億運算(32 GOPS)的速度操 作0 MFC 510B較佳包括一匯流排介面單元(BIU) 564、一記 憶體管理單元(MMU) 562及一直接記憶體存取控制器 (01^八(^)560。除了01^八€ 560以外,]\^€5106較佳以8?1; 核心510A及匯流排512的一半頻率(半速)來執行,以符合 低功率消散設計目的。MFC 5 1 0B可用以處理自匯流排 512進入SPU 508的資料及指令’提供該DMAC的位址轉 譯及資料連貫性的窺探運算》BIU 564提供匯流排512、 I05818.doc • 23· 1321414 ]\4]\41] 562與〇1^八〇5 60間的一介面。因此,8?1; 5 08(包括 SPU核心510A及MFC 510B)及DMAC 560實體地及/或邏輯 地連接到匯流排512。 MMU 562較佳可用以將有效位址(取自DMA命令)轉譯成 記憶體存取用的真實位址。例如,MMU 562可將該有效位 址的較高階位元轉譯成真實位址位元。然而’該等較低階 位址位元較佳不可轉譯,且認為邏輯及實體兩者用以形成 該真實位址及對記憶體的請求存取。在一或多個實施例 中,MMU 562可根據一 64位元記憶體管理模式來實施,及 提供具4K、64K、1M及16M位元組頁面大小及256MB區段 大小的264位元組有效位址空間。較佳地,MMU 562可用 以支援高達265位元組的虚擬記憶體’及242位元組(4兆位 元組)的實體記憶體以用於DMA命令。MMU 562的硬體可 包括一 8條目全聯合的SLB、一 256條目4道組聯合的TLB及 用於該TLB的一 4x4替換管理表格(RMT),其用於硬體TLB 錯失管理。 DMAC 560較佳可用以管理來自SPU核心510A及PU 504 及/或其他SPU等一或多個其他裝置的DMA命令。DMA命 令可有三類:安置命令’其用以將資料從區域記憶體550 移到共享記憶體5 14 ;取得命令,其用以將資料從共享記 憶體514移到區域記憶體550中;及儲存控制命令’其包括 SLI命令及同步化命令。該等同步化命令可包括自動命 令、傳送信號命令及專用障壁命令。回應DMA命令’ MMU 562將該有效位址轉譯成一真實位址,及前送該真實 105818.doc • 24· 1321414 位址到BIU 5 6 4。 SPU核心5 10A較佳使用一頻道介面及資料介面以與 DMAC 5 60内的一介面連通(傳送DMA命令、狀態等)。 SPU核心510A通過該頻道介面將DMA命令發送到DMAC 560中的一 DMA佇列。一旦一 DMA命令係在該DMA佇列 中,其則由DMAC 5 60内的發出及完成邏輯來處理。當完 成一 DMA命令的所有匯流排異動時,一完成信號在該頻道 介面之上傳回到SPU核心5 10A。 該處理元件包括一 64位元處理單元504(或功率處理單元 (PPU)),其遵從該功率架構處理器家族。該處理單元實施 為一雙執行線核心,其具有該功率架構的整數、浮點、 VMX及MMU單元。該處理器包含32kB指令及資料快取記 憶體、一 5 12kB第二層(L2)快取記憶體及一晶上匯流排介 面邏輯。該處理器係一核心的新接地朝上實施,其具有數 個延伸管線以達成一低F04,用以匹配該SPU。該核心係 具中等管線長度的加強型有次序設計,以提供科技現況的 效能性能。該PPU已利用該快取記憶體的數個資源管理表 格及轉譯表格以支援即時運算。經由記憶體映射輸出入控 制暫存器,該PPU亦可代表一SPU啟始DMA請求,及支援 與SPU信箱的通訊。該PPU亦實施該功率架構超監督延伸 程式,以容許多重並列作業系統經由執行線管理支援同時 在該PPU上執行。 圖9說明PU 504的一示範結構及功能。PU 504包括二個 基本功能單元,PU核心504A及記憶體流控制器(MFC) 105818.doc •25· 1321414 504B。PU核心504A執行程式執行、資料操控、多處理器 管理功能等’而MFC 504B執行PU核心504A與系統1〇〇的 s己憶體空間之間相關資料傳遞的功能。 PU核心504A可包括一第一層(L1)快取記憶體57〇、一指 令單兀572、數個暫存器574、一或多個浮點執行級576及 一或多個固定點執行級578。該]^快取記憶體提供資料快 取功能,以用於通過MFC 504B自共享記憶體1〇6、處理器 # 102或該記憶體空間的其他部分接收的資料。由於PU核心 504A較佳實施為一超管線,因此指令單元572較佳實施為 具許多級的一指令管線,包括擷取、解碼、依存性核對、 發出等。PU核心504A亦較佳屬一超純量設定,藉此每時 脈週期自指令單元572發出超過一指令。為達成—高處理 功率,浮點執行級576及固定點執行級578在一管線設定中 包括複數個級。依所需處理功率而定,可利用一較大或較 小數目的浮點執行級576及固定點執行級578。 _ MFC 5 04B包括一匯流排介面單元(BIU) 58〇、— 快取 記憶體582、一非可快取單元(NCU) 584、-核心介面單元 (CIU) 586及一記憶體管理單元(MMU) 588。與核心 5〇4八及匯流排108比較,大部分的MFC 5(MB以一半頻率 (半速)執打,以符合低功率消散設計目的。 8〇提供匯流排1〇8、L2快取記憶體582與NCU 584 邏輯區塊間的—介面。為此目的,BIU 580可作為匯流排 10:上的-主裝置以及一從屬裝置,以執行全連貫記憶體 運"Γ作為—主裝置,該BIU可對匯流排108發起載入/儲 I05818.doc
•26. 1321414 存請求,以代表L2快取記憶體582及NCU 584提供服務。 BIU 5 8 0亦可實施一流控制機構以用於數個命令,其限制 ^ 可傳送到匯流排1〇8的命令總數。匯流排108上的資料運算 可設計成採用八個節拍,及因此BIU 58〇較佳設計成128位 元.,且左右的快取線,及該連貫性及同步化粒度係12。 L2快取記憶艚582(及支援的硬體邏輯)較佳設計成快取 512ΚΒ的資料《例如,12快記憶體兄2可處理可快取載入/ 參儲存、資料預先擷取、指令擷取、指令預先擷取' 快取運 算及障壁運算。L2快取記憶體582較佳係一八道組聯合系 統》L2快取記憶體582可包括六個重新載入佇列,其用以 匹配六個(6)投出佇列(例如六個RC機器),及八個(64位元 組寬)储存仔列〇 L2快取記憶體582可用以提供叫夬取記憶 體570令一些或所有資料的備用複本。有利地,當數個處 理點交換熱烈時,此在(數個)恢復狀態中有用。此設定亦 允許L1快取記憶體57〇以較少#較快速操作,及允許較快 速的快取至决取傳遞(因該等請求可在[2快取記憶體似停 止)。此蚊亦提供-機構,以傳遞快取連貫性管理和 快取記憶體582。
NCU 584與 CIU 、L2快取記憶體582及Bm 580以介 面連接,及通常作為一於Μ,,#
丁列/緩衝電路以用於PU核心5 04 A
與該記憶體系統間的非·^ L ]的非了快取運算。NCU 584較佳處理與 PU核心504A的所右褅如 4 ’、 S ’其並非由L2快取記憶體582處 理,如快取禁止載入 ㈣仔、障壁運异及快取連貫性運 算。NCU 584較佳以主琮机y_ 速執行以符合上述功率消散目的。 105818.doc •27· ^21414 CIU 586位於MFC 504B及PU核心504A的邊界,及作為 一路由、仲裁及流控制點’以用於來自執行級576、578、 才曰令單元572及MMU單元588及給予L2快取582及NCU 584 的請求。:PU核心504A及MMU 588較佳以全速執行,而L2 快取記憶體582及NCU 584可用於一2 : 1的速度比例。因 此’一頻率邊界存在於CIU 586中,及其功能之一係在該 二頻率領域之間前送請求及重新載入資料時適當地處理該 頻率交越。 CIU 586由二個功能區塊構成:一載入單元、一儲存單 元及重新載入單元。此外,一資料預先擷取功能由CIU 5 86執行,及較佳為該載入單元的一功能部分。^^口586較 佳可用以:⑴接受來自PU核心504A及MMU 588的載入及 儲存請求;(ii)將該等請求從全速時脈頻率轉換成半速(一 2 : 1時脈頻率轉換;(iii)定出可快取請求到L2快取記憶體 582的路徑,及定出非可快取請求到NCU 584的路徑;(iv) 在給L2快取記憶體582與]^(:1; 584的請求間公平地仲裁; (v)在給L2快取記憶體582及NCU 584的發送之上提供流控 制,俾在一目標窗口接收該等請求且避免溢位;(vi)接受 載入回復資料且定其路徑到執行級576、578、指令單元 572,或MMU 588 ; (Vii)將窺探請求傳遞到執行級576、 指令單元572,或MMU 588;及(viH)將載入回復資 料及窺探流量從半速轉換到全速。 MMU 588較佳提供用於pu核心5〇4人的位址轉譯如藉 由-第二位準位址轉課設備。―第一位準轉譯較佳藉由分 105818.doc -28- 1321414 開的指令及資料ERAT(有效的真實位址轉譯)陣列而設置在 PU核心504A中’該等陣列可比MMU 588更小且更快。 在一較佳實施例中,PU 504以一 64位元實施而以4至6 GHz ’ 10F04,操作。該等暫存器較佳為64位元長度(雖然 一或多個特殊目的暫存器可較小),及有效位址係64位元 長度。指令單元570、暫存器572及執行級574及576較佳使 用PowerPC科技來實施,以達成該(RISC)計算技術。 有關此電腦系統的模組結構的額外細節揭示在美國專利 號6,526,491中,肖文件的全部揭示以引用方式併入本文 中。 根據本發明的至少再—概念,上述方法及裝置可利用如 附圖所7F等合適硬體來達成。此類硬體可利用標準數位電 路結構等任何f知科技、可用以執行軟體及/或勒體程式 的任何習用處理器、可程式唯讀記憶體(PROM)、可程式 陣列邏輯裝置(隱)等一或多個可程式數位裝置或系統來 實施。此外,雖然圖中所示裝置顯示為分成數個特定功能 區塊’但此類區塊可藉由分開的電路結構來實施及/或人 併成-或多個功能單元。再進一步地,本發明的多種不: 概必可精由(數個)軟體及 體晶片 了儲存在(數個)合適儲存媒體(如軟性磁碟 '記憶; 等)上,以用於可傳輸性及/或分配。 雖然在本文中本發明以數個特殊實施例加以說明 了解此等實施例僅用以舉例說明本發明㈣ - 此應了解,不背離本發明如後圍:用。因 月寻利範圍界定的精神 1058l8.doc
•29· 及範V _該等說明性實施例可作出許多修改及可設計出 數個其他配置。 【圖式簡單說明】 為說明本發明的各種概令 裡楸必,以圖的形式顯示目前較佳實 施例’然而,應了解本發明去 +赞月未侷限於所不的精確配置及機 構。 圖1以方塊圖說明一多處理系統的結構,該系統利用本發 明的一或多個實施例; 圖2以方塊圖說明圖i的系統可利用的更多特徵; ^根據本發明的一或多個概念,以方塊圖說明—介面控 制器,其適合與該處理系統配合使用; 圖4以方塊圖說明如何可利用該多處理器系統的一或多個 概念以達成一處理設定的範例; 圖5以方塊圖說明如何可利用該多處理器系統的一或多個 概念以達成再一處理設定的範例; 圖6以方塊圖說明如何可利用該多處理器系統的一或多個 概念以達成又一處理設定的範例; 圖7以方塊圖說明如何可利用該多處理器系統的一或多個 概念以達成又一處理設定的範例; 圖8以圖說明圖1系統的一示範子處理單元(spu)的結構, 其可根據本發明的一或多個進一步概念加以調適;及 圖9以圖說明圖1系統的一示範處理單元(pu)或功率處理 單元(PPU)的結構,其可根據本發明的—或多個進一步概念 加以調適。 105818.doc 1321414 【主要元件符號說明】
102 處理器 106, 514 共享記憶體 _ 108 匯流排 500 處理元件(PE) 502 輸出入介面 504 處理單元(PU) 504 APU核心 504B, 510B 記憶體流控制器(MFC) 508, 580A,508B, 508C, 508D 子處理單元(SPU) 511 記憶體介面(MIC) 512 區域PE匯流排,模組互連匯流排(MIB) 513 MIB的邏輯延伸(BIC) 516 高頻寬記憶體連接 510 ASPU核心 550 區域記憶體 552, 572 指令單元(IU) 554, 574 暫存器 556, 576 浮點執行級 558, 578 固定點執行級 560 直接記憶體存取控制器(DMAC) . 562, 588 記憶體管理單元(MMU) 564, 580 匯流排介面單元(BIU) 105818.doc ',γΛ -3 卜 VV 1321414 570 第一層(L1)快取記憶體 582 第二層(L2)快取記憶體 584 非可快取單元(NCU) 586 核心介面單元(CIU) 105818.doc -32 -

Claims (1)

1321414 r,.. w正静換頁 j 第094135939號專利申請索 中文申請專利範圍替換本(97年11月) 十、申請專利範圍: 1 1. 一種多處理器,包括: 複數個處理器,其用以+ 、用 >(在一或多個通訊匯流排之上互 相合,及 一可設定介面電路,立钿 具調適成操作在:⑴一第一模式 中,以提供一連貫斜避·^二 于稱"面,其能互連該多處理器與一 或多個外部裝置,及维梏 难符該多處理器之一或多個記憶體 與該4多個外部裝置之一或多個記憶體間之快取連貫 欧’或(11)帛一模式中,以提供一非連貫介面其能互 連該夕處理器與一或多個外部裝置,及提供該多處理器 之-或多個記憶體之至少_些記憶體保護。 2·如清求項1之多處理哭,计 夕蜒理器,其中該可設定介面電路包括: -邏輯層、-傳輸層、以及一實體層。 3.如請求項2之多處理器,其中: 該邏輯層調適成定義數個連貫規則以用於在該第一模 式中之操作’及數個順序規則以用於在該第二模式中 操作; ' 該傳輸層調適成定義數個命令及資料封包設定,以用 於該多處理器與該一或多個外部裝置間之傳輸;及 該實體層調適成定義 序、記憶體窺探請求、 部裝置間之資料傳遞。 4.如請求項1之多處理器 促進記憶體存取命令、 記憶醴存取命令之電氣特徵及時 以及該多處理器與該一或多個外 ,其中該可設定介面電路可用以 記憶體窺探請求、以及該多處理 105818-971113.doc F]奸止替換頁 器與該一或多個外部裝置間之資料;— 如請求項4之多處理器,其中該等記憶體存取命令記憶 體窺探請求、以及資料傳遞係以非同步、獨立封包形 式。 .如請求項5之多處理器,其中該等封包包括位址資訊及 控制資訊,用以界定一期望異動。 ⑺求項1之夕處理器,其中該可設定介面電路包括第 第介面,各介面調適成獨立操作於該等第一及第 -模式中。 8· 一種多處理器系統,包括: 一或多個多處理器,其各包括複數個處理器,該等處 理器用以在—或多個通訊匯流排之上互相耦合;及一可 :疋介面電路,其調適成操作在:⑴一第一模式中以 提供一連貫對稱介面或(ii) 一第二模式中,以提供一非連 貫"面,該可没定介面電路能互連該多處理器與一或多 個外部裝置, 其中各多處理器之可設定介面電路包括第一及第二介 面,各介面調適成在該等第一及第二模式中獨立操作。 9·如請求項8之系統,尚包括: 一第一外部裝置,其經由該等多處理器之一者之第一 介面而耦合至該多處理器,該第一介面係在該第二模式 中操作;及 一第二外部裝置,其經由該等多處理器之一者之第二 介面而耦合至該多處理器,該第二介面係在該第二模式 1058l8.97ill3.doc -2· [乃年"‘⑽正替換頁 中操作^ i〇.如請求項 頡8之系統,尚包括: 等客 接作々處理器之至少二者,其經由其在該第-模式中 操作之第-介面而互連; 之第一夕部裝置,其經由該至少二多處理器中之一者 :介面而耦合至該多處理器,該第二介面在該第二 模式中操作;及 之 外邛裝置,其經由該至少二多處理器之另一者 一介面而耦合至該多處理器,該第二介面在該第二 模式中操作。 η·如請求項8之系統,尚包括: 該等多處理器之第一及第二者,經由其在該第一模式 中操作之第—介面而互連;及 該等多處理器之第一者及一第三者,經由其分別在該 第—模式中操作之第二及第-介面而互連, 其中該等第二及第=多虚^ 乐一夕處理器之第二介面可用以互連 一或多個外部裝置。 12.如請求項11之系統,尚包括: 第-外部裝置,其經由該等第二及第三多處理器中 之一者之第二介面而耦合至該多處理器,該第二介面係 在第二模式中操作;及 、 -第二外部裝置’其經由該等第二及第三多處理器之 另一者之第二介面而耦合至該多處理器,該第二介面係 在第二模式中操作。 ' 105818-971113.doc %年"月r曰义正替換頁 13.如請求項8之系統,尚包括:丨 一多埠式資料開關;及 複數個多處理器,其經由該等多處理器之第一介面而 耦°至該開關,該等第一介面在該第一模式中操作, -中該等多處理态之第二介面可用以互連一或多個外 部裝置。 14. 如請求項13之李絲,卉〜紅芯, 糸統+包括至少一外部裝置,其經由該 專多處理器中之一者之笛_ 有t第一介面而耗合至該多處理器, 該第二介面在該第二模式中操作。 15. —種多處理方法,包括: 提供複數個處理器,其用以在一或多個通訊匯流排之 上互相耦合;及 設定一介面電路以操作在:(i)一第一模式中,以提供 貫對稱介面,或⑼—第二模式中,以提供—非連貫介面, 其中該連貫對稱介面能互連該多處理器與一或多個外 P裝置以維持該多處理器之一或多個記憶體與該 多個外部裝置之一或多個記憶體間之快取連貫性,及該非 連貫介面能互連該多處理器與-或多個外部裝置,以 該多處理器之一或多個記憶體之至少一些記憶體保護/、 16. 如請求項15之方法A 万法,尚包括耦合至少一外部裝置至該 面0 17·如明求項16之方法’尚包括提供記憶體存取命令 趙窺探凊求、以及/或兮耸盧理獎也斗 叫 次该等處理器與該一或多個外 間之資料傳遞之服務。 x 105818-971113.doc
TW094135939A 2004-10-15 2005-10-14 Methods and apparatus for supporting multiple configurations in a multi-processor system TWI321414B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US61906904P 2004-10-15 2004-10-15

Publications (2)

Publication Number Publication Date
TW200631355A TW200631355A (en) 2006-09-01
TWI321414B true TWI321414B (en) 2010-03-01

Family

ID=36148726

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094135939A TWI321414B (en) 2004-10-15 2005-10-14 Methods and apparatus for supporting multiple configurations in a multi-processor system

Country Status (9)

Country Link
US (2) US7802023B2 (zh)
EP (1) EP1805627B1 (zh)
JP (1) JP4286826B2 (zh)
KR (1) KR100875030B1 (zh)
CN (1) CN101057223B (zh)
AT (1) ATE498867T1 (zh)
DE (1) DE602005026421D1 (zh)
TW (1) TWI321414B (zh)
WO (1) WO2006041218A2 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
CA2559584A1 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US7418541B2 (en) * 2005-02-10 2008-08-26 International Business Machines Corporation Method for indirect access to a support interface for memory-mapped resources to reduce system connectivity from out-of-band support processor
US7467204B2 (en) * 2005-02-10 2008-12-16 International Business Machines Corporation Method for providing low-level hardware access to in-band and out-of-band firmware
US7392350B2 (en) * 2005-02-10 2008-06-24 International Business Machines Corporation Method to operate cache-inhibited memory mapped commands to access registers
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
JP2007148709A (ja) * 2005-11-28 2007-06-14 Hitachi Ltd プロセッサシステム
JP4662474B2 (ja) 2006-02-10 2011-03-30 ルネサスエレクトロニクス株式会社 データ処理デバイス
US7814279B2 (en) * 2006-03-23 2010-10-12 International Business Machines Corporation Low-cost cache coherency for accelerators
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US7873066B2 (en) * 2009-01-26 2011-01-18 International Business Machines Corporation Streaming direct inter-thread communication buffer packets that support hardware controlled arbitrary vector operand alignment in a densely threaded network on a chip
US8487655B1 (en) * 2009-05-05 2013-07-16 Cypress Semiconductor Corporation Combined analog architecture and functionality in a mixed-signal array
US8179161B1 (en) 2009-05-05 2012-05-15 Cypress Semiconductor Corporation Programmable input/output circuit
US9069929B2 (en) 2011-10-31 2015-06-30 Iii Holdings 2, Llc Arbitrating usage of serial port in node card of scalable and modular servers
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US9077654B2 (en) * 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8625295B2 (en) 2011-01-24 2014-01-07 General Electric Company Fieldbus interface circuit board supporting multiple interface types and terminations
US20150058524A1 (en) * 2012-01-04 2015-02-26 Kenneth C. Creta Bimodal functionality between coherent link and memory expansion
CN105051707A (zh) 2013-04-01 2015-11-11 惠普发展公司,有限责任合伙企业 外部存储器控制器
US11126372B2 (en) 2013-04-01 2021-09-21 Hewlett Packard Enterprise Development Lp External memory controller
US9383932B2 (en) * 2013-12-27 2016-07-05 Intel Corporation Data coherency model and protocol at cluster level
US9727464B2 (en) 2014-11-20 2017-08-08 International Business Machines Corporation Nested cache coherency protocol in a tiered multi-node computer system
US9886382B2 (en) 2014-11-20 2018-02-06 International Business Machines Corporation Configuration based cache coherency protocol selection
US20180365070A1 (en) * 2017-06-16 2018-12-20 International Business Machines Corporation Dynamic throttling of broadcasts in a tiered multi-node symmetric multiprocessing computer system
CN107688471B (zh) * 2017-08-07 2021-06-08 北京中科睿芯科技集团有限公司 一种动态调整数据流架构的资源带宽的计算系统及其方法
NO344681B1 (en) * 2017-09-05 2020-03-02 Numascale As Coherent Node Controller
US20190042455A1 (en) * 2018-05-04 2019-02-07 Intel Corporation Globally addressable memory for devices linked to hosts
KR20200066774A (ko) 2018-12-03 2020-06-11 삼성전자주식회사 반도체 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530932A (en) * 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
US7933295B2 (en) * 1999-04-13 2011-04-26 Broadcom Corporation Cable modem with voice processing capability
US6487619B1 (en) * 1999-10-14 2002-11-26 Nec Corporation Multiprocessor system that communicates through an internal bus using a network protocol
US6574725B1 (en) * 1999-11-01 2003-06-03 Advanced Micro Devices, Inc. Method and mechanism for speculatively executing threads of instructions
US6526322B1 (en) * 1999-12-16 2003-02-25 Sirf Technology, Inc. Shared memory architecture in GPS signal processing
US6795896B1 (en) * 2000-09-29 2004-09-21 Intel Corporation Methods and apparatuses for reducing leakage power consumption in a processor
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for 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
US7394823B2 (en) * 2001-11-20 2008-07-01 Broadcom Corporation System having configurable interfaces for flexible system configurations
US7093080B2 (en) * 2003-10-09 2006-08-15 International Business Machines Corporation Method and apparatus for coherent memory structure of heterogeneous processor systems
US7321958B2 (en) * 2003-10-30 2008-01-22 International Business Machines Corporation System and method for sharing memory by heterogeneous processors
US8108564B2 (en) * 2003-10-30 2012-01-31 International Business Machines Corporation System and method for a configurable interface controller
US7143246B2 (en) * 2004-01-16 2006-11-28 International Business Machines Corporation Method for supporting improved burst transfers on a coherent bus

Also Published As

Publication number Publication date
US7802023B2 (en) 2010-09-21
ATE498867T1 (de) 2011-03-15
CN101057223A (zh) 2007-10-17
TW200631355A (en) 2006-09-01
WO2006041218A2 (en) 2006-04-20
EP1805627A2 (en) 2007-07-11
WO2006041218A3 (en) 2007-04-26
KR20070073825A (ko) 2007-07-10
CN101057223B (zh) 2011-09-14
JP2006120147A (ja) 2006-05-11
US8010716B2 (en) 2011-08-30
KR100875030B1 (ko) 2008-12-19
US20100312969A1 (en) 2010-12-09
DE602005026421D1 (de) 2011-03-31
EP1805627B1 (en) 2011-02-16
JP4286826B2 (ja) 2009-07-01
US20060092957A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
TWI321414B (en) Methods and apparatus for supporting multiple configurations in a multi-processor system
EP1854016B1 (en) Methods and apparatus for synchronizing data access to a local memory in a multi-processor system
US7814166B2 (en) Methods and apparatus for virtualizing an address space
US7774512B2 (en) Methods and apparatus for hybrid DMA queue and DMA table
EP1834245B1 (en) Methods and apparatus for list transfers using dma transfers in a multi-processor system
EP1846829B1 (en) Method and apparatus for address translation from an external device to a memory of a processor
JP4645973B2 (ja) 命令セットのエミュレーションのための方法、装置及びシステム
US20080282341A1 (en) Methods and apparatus for random number generation in a multiprocessor system
WO2006064962A1 (en) Methods and apparatus for providing an asynchronous boundary between internal busses in a multi-processor device
US7395411B2 (en) Methods and apparatus for improving processing performance by controlling latch points
US7818507B2 (en) Methods and apparatus for facilitating coherency management in distributed multi-processor system
WO2006085636A1 (en) Methods and apparatus for processing instructions in a multi-processor system
US20060206732A1 (en) Methods and apparatus for improving processing performance using instruction dependency check depth