TWI352905B - Data processing apparatus, data processing method, - Google Patents

Data processing apparatus, data processing method, Download PDF

Info

Publication number
TWI352905B
TWI352905B TW095100561A TW95100561A TWI352905B TW I352905 B TWI352905 B TW I352905B TW 095100561 A TW095100561 A TW 095100561A TW 95100561 A TW95100561 A TW 95100561A TW I352905 B TWI352905 B TW I352905B
Authority
TW
Taiwan
Prior art keywords
memory
processor
list
local
local memory
Prior art date
Application number
TW095100561A
Other languages
English (en)
Other versions
TW200641624A (en
Inventor
Takeshi Yamazaki
Tsutomu Horikawa
James Allan Kahle
Charles Ray Johns
Michael Norman Day
Peichun Peter Liu
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc, Ibm filed Critical Sony Computer Entertainment Inc
Publication of TW200641624A publication Critical patent/TW200641624A/zh
Application granted granted Critical
Publication of TWI352905B publication Critical patent/TWI352905B/zh

Links

Classifications

    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

1352905 九、發明說明: 0 【發明所屬之技術領域】 本發明係與多處理系統内用於轉換資料之方法及裝置有 關。 【先前技術】 即時的多媒體應用正變得越來越重要。此等應用需要極 • 快的處理速度,例如每秒鐘數千兆位元之資料。某些處理 . 系統採用單一處理器來實現快速處理速度,而其他處理系 • 統係採用多處理器架構來實施。纟多處理器系統中,複數 個子處理器能平行地(或至少一致地)運作以獲得所需處理 結果 。 近年來,因最先進電腦應用變得越來越複雜且對處理系 統的要求不斷增加而導致永不滿足地需要更快的電腦處理 資料輸出。圖形應用屬於對處理系統有最高要求之應用, 因為其需要在相對較短的時間週期内進行大量資料存取、 資料計算及資料操控以獲得所需視覺結果。 在某些處理系統中,採用直接記憶體存取(DMA)技術, 其中電腦架構允許在一元件與一記憶體之間直接發送資料 而不需要在資料轉換中涉及任何微處理器。該架構通常包 括一 c憶體控制器,其接收來自該系統之器件之資料轉換 指令以引發資料轉換。傳統的直接記憶體存取指令可指定 貝料區塊之大小、要轉換之資料來自/至系統記憶體内之 開始虛擬位址及要轉換之資料至/來自器件之開始位址。 儘官與非直接記憶體存取技術相比,傳統的直接記憶體存 107927.doc 1352905 取技術能夠増大處理速度,但其具有限制。例如,在某些 計算應用(例如使用多處理系統之圖形處理)中,可能需要 一或多個子處理器進行許多i接記憶體存取轉換以^所 需結果。傳統方法需要一給定子處理器發出許多影響所有 直接記憶體存取資料轉換之直接記憶體存取指令,^使處 理器負擔沉重而降低處理功率。 【發明内容】 本發明之一或多個具體實施例提供一種已改善的直接記 憶體存取技術,其可使處㈣統中由發出許多直接記憶體 存取指令引起的不利的處理功率降低最小化。 依據一或多個具體實施例,一種裝置包括一處理器,其 能夠以運作方式與一共享記憶體通信且包括一經調適用以 執行其中之指令之本地記憶體;及一直接記憶體存取控制 器(DMAC),其係柄合至該處理器之該本地記憶體且可運 作以方便回應於5亥處理器所發出之一單一直接記憶體存取 指令而在該共享記憶體與該本地記憶體之間轉換複數個資 料區塊。 該處理器較佳地係可運作以在該本地記憶體内建立一包 括複數個項目之列表,每一項目具有至少要轉換之一資料 區塊之一開始位址與要轉換之該資料區塊之大小。較佳 地’該直接記憶體存取指令指定該列表中至少一項目。該 DMAC係可運作以使用該列表之該至少一項目中所指定之 s玄開始位址與該大小來識別一對應的供轉換用之資料區塊 並在該共享記憶體與該本地記憶體之間轉換此資料區塊。 107927.doc 1352905 較佳地’連結該列表之項目,使得DM AC係可運作以使 用該列表中之一項目來定位該列表中另一項目。該列表之 項目包括正向與反向指標中的至少一個以在該等項目之間 建立連結。 該直接記憶體存取指令可調適成用以指定要將該複數個 資料區塊從該共享記憶體複製至該處理器之該本地記憶 體。該直接記憶體存取指令亦可調適成用以指定要將該複 數個資料區塊從該共享記憶體之不連續區域複製至該處理 器之該本地記憶體之連續區域。可以替代或附加方式調適 DMAC以藉由將該複數個資料區塊從該共享記憶體之不連 續區域複製至該處理器之該本地記憶體之連續區域而對該 直接記憶體存取指令作出回應。 該直接記憶體存取指令可調適成用以指定要將該複數個 資料區塊從該處理器之該本地記憶體複製至該共享記憶 體。該直接記憶體存取指令可調適成用以指定要將該複數 個資料區塊從該處理器之該本地記憶體之連續區域複製至 該共享記憶體之不連續區域。可以替代或附加方式調適 DMAC以藉由將該複數個資料區塊從該處理器之該本地記 憶體之連續區域複製至該共享記憶體之不連續區域而對該 直接記憶體存取指令作出回應。 依據另外一或多個具體實施例,一種裝置包括:複數個 平行處理器,其係能夠以運作方式與一共享記憶體通信, 每一處理器包括:一本地記憶體,其係經調適用以執行其 中之指令,及一直接記憶體存取控制器(DMac),其係耦 107927.doc 1352905 5至該處理器之該本地記憶體;及一主處理器,其係以運 作方式耦合至該等處理器、能夠耦合至該共享記憶體且可 運作以營理該複數個處理器。每一處理器2DMAC係可運 作以方便回應於該處理器所發出之一單一直接記憶體存取 指令而在該共享記憶體與該本地記憶體之間轉換複數個資 料區塊。 依據另外一或多個具體實施例,一種方法包括回應於一 處理器發至一直接記憶體存取控制器(DMAC)之一單一直 接記憶體存取指令而在一共享記憶體與該處理器之一本地 記憶體之間轉換複數個資料區塊,其中該處理器能夠以運 作方式與該共享記憶體通信且該DMAC係以運作方式輕合 至該本地記憶體。 該方法較佳地進一步包括在該本地記憶體内建立一包括 複數個項目之列表,每一項目具有至少要轉換之一資料區 塊之一開始位址與要轉換之該資料區塊之大小。該方法亦 可包括:使用該列表中該直接記憶體存取指令所指定該至 少一項目中所指定之該開始位址與該大小來識別一對應的 供轉換用之資料區塊;及在該共享記憶體與該本地記憶體 之間轉換此資料區塊。 該方法較佳地進一步包括連結該列表之該等項目,使得 可使用該列表中之一項目來定位該列表中另一項目。該列 表之項目可包括正向與反向指標中的至少一個,以在該等 項目之間建立連結。 依據另外一或多個具體實施例,一種儲存媒體包含一軟 107927.doc 1352905 體程式,該軟體程式係、可運作以引發-處理器執行包括回 ,於一處理器發至一直接記憶體存取控制器(dmac)之一 單一直接記憶體存取指令而在一共享記憶體與該處理器之 —本地記憶體之間轉換複數個資料區塊之動作,其中該處 理器能夠以運作方式與該共享記憶體通信且該dmac係以 運作方式耦合至該本地記憶體。 #熟習此項技術者鑒於本文的說明且配合隨附圖式將會非 常清楚本發明之其他方面、特徵、優點等。 【實施方式】 、參考圖式’纟中相同數字表示相同元件,圖1顯示經調 適可用於執行本發明之—或多個特徵之—處理系統⑽。 基於簡潔及清楚之目的’本文對圖i之方塊圖的參考及說 明係作為對裝置100的說明,不過應明白,本說明可容易 地等力應用於一方法之各種方面。 裝置100較佳地包括-處理器102、一本地記憶體1〇4、 一共享(系統或主)記憶體106(例如,DRAM)及一匯流排 ⑽》系統100亦可包括其他器件,例如器件i、器件2等, 其可透過匯流排丨08來使用共享記憶體丨〇6 ^ 可採用能夠從系統記憶體1〇6請求資料且能夠操控該資 料以獲得所需結果之所熟知技術中的任何—個來實施處理 器102。例如,可使用能夠執行軟體及/或韌體之所熟知微 處理器(包括標準微處理器、分佈式微處理器等)中的任何 一個來實施處理器102。舉例而言,處理器102可為能夠請 求並操控資料例如像素資料(包括灰階資訊、彥員色資訊、 I07927.doc •10· 1352905 紋理資料 '多邊形資訊、視訊圖框資訊等)之一圖形處理 器。 應注意,本地記憶體1 04係與處理器i 02位於相同晶片 中;然而,本地記憶體104較佳地不為一傳統硬體快取記 憶體’因為不存在晶片上或晶片外硬體快取電路、快取暫 存器、快取s己憶體控制器等來實施硬體快取記憶體功能。 因為晶片上的空間可能受限制,所以本地記憶體1 〇4之尺 寸可能比系統記憶體106小得多。處理器102較佳地提供資 料存取請求以透過匯流排108將資料(其可包括程式資料)從 系統記憶體106複製到本地記憶體1〇4中供程式執行與資料 操控用。用於方便資料存取之該機制係較佳地採用一直接 記憶體存取控制器DMAC 160來加以實施。可相對於處理 器102及/或本地§己憶體1〇4、以整合方式或分離方式來置 放 DMAC 160 » 參考圖1至3’ DMAC 160較佳地係可運作以方便回應於 處理器102所發出之一單一直接記憶體存取指令而在共享 記憶體106與本地記憶體1〇4之間轉換複數個資料區塊。為 此目的’處理器102較佳地係可運作以在本地記憶體1〇4内 建立至少一列表120(且可建立複數個列表12〇a、120B、 120C等),每一列表包括複數個項目122A至N。每一項目 122較佳地包括至少要轉換之一資料區塊之一開始位址與 要轉換之該資料區塊之大小。列表中的每一開始位址與大 小項目對應於或定義本地記憶體104或共享記憶體106内之 一資料區塊。該位址可為一虛擬位址,其需要轉換成共享 107927.doc 11 1352905 記憶體106之一實體位址。 該直接記憶體存取指令可指定至少一項目,例如列表 120A中之項目122A,使得該直接記憶體存取指令之發出 (動作304)允許0^4八0:160存取此項目122八並開始資料區塊 轉換》回應性地,DMAC 160較佳地係可運作以使用項目 122 A中所指定的開始位址與大小來指定一對應的供轉換用 之資料區塊並在共享記憶體1〇6與本地記憶體1〇4之間轉換 此資料區塊(動作306)。 較佳地連結列表之項目122,使得DMAC 160係可運作以 使用列表中之一項目來定位列表中另一項目以便完成列表 120中所定義的所有區塊之轉換。例如,將與列表12〇a之 項目122A關聯之資料區塊轉換之後,dmAC 160可存取項 目122A内的其他資訊以在列表12〇A中找到下一項目 122B。舉例而言,列表120之每一項目122可包括一正向指 標以建立與列表12〇中另一項目122之連結。因此,基於論 述目的’列表120A中的第一項目122A可包括一指向定位 於本地記憶體104中、列表120A中第二項目122B所處位置. 之指標。類似地’列表12〇a中的第二項目122B可包括一 指向列表120A中之一第三項目122C之正向指標。可重複 此程序’從而以允許DMAC 160存取列表120中的每一項目 122之方式連結列表120中的每一項目122。在替代具體實 施例中’每一項目可包括一反向指標及/或一正向與一反 向指標以在項目122之間建立所需連結。 在一或多個具體實施例中,該直接記憶體存取指令可調-t07927.doc •12· 1352905 適成用以指定要將該複數個資料區塊從該共享記憶體1 06 複製至該處理器102之該本地記憶體104。在一較佳具體實 施例中,該直接記憶體存取指令係調適成用以指定要將該 複數個資料區塊從該共享記憶體106之不連續區域複製至 該處理器102之該本地記憶體104之連續區域。在另外一或 多個具體實施例中,DMAC 160可能不需要依賴直接記憶 體存取指令本身來藉由從共享記憶體1〇6之不連續區域複 製至本地記憶體104之連續區域而作出回應。 較佳地,該直接記憶體存取指令係調適成用以指定要將 該複數個資料區塊從該處理器102之該本地記憶體1〇4複製 至該共享記憶體1 06。該直接記憶體存取指令可調適成用 以指定將自本地記憶體104之連續區域至共享記憶體1 〇6之 不連續區域來執行此轉換。在另外一或多個具體實施例 中,DMAC 160可能不需要依賴直接記憶體存取指令來執 行自本地記憶體1〇4之連續區域至共享記憶體1〇6之不連續 區域之轉換。 圖4說明經調適用以實施本發明另外一或多個具體實施 例之一多處理系統100A。系統1 00A包括複數個處理器 102A至D、所關聯的本地記憶體ι〇4Α至D及藉由匯流排1〇8 所互連之一共享記憶體106。本文中亦可將共享記憶體ι〇6 稱作主3己憶體或系統§己憶體。儘管以範例方式說明四個處 理器102,但可採用任何數目的處理器而不背離本發明之 精神與範疇。處理器1 02中的每一個可具有類似結構或不 同結構。 107927.doc -13· 1352905 本地έ己憶體104係較佳地與其個別處理器ι〇2位於相同晶 片(相同半導體基板)上;然而,本地記憶體1〇4較佳地不為 傳統硬體快取記憶體,因為不存在晶片上或晶片外硬體快 取電路、快取暫存器、快取記憶體控制器等來實施硬體快 取記憶體功能。 處理器102較佳地提供資料存取請求以透過匯流排1〇8將 資料(其可包括程式資料)從系統記憶體1〇6複製到其個別本 地。己L體104中供程式執行與資料操控用。用於方便資料
存取之該機制係較佳地採用一直接記憶體存取控制器 (DMAC)(未顯示)來加以實施。每一處理器2Dmac係較 佳地具有與上文關於本發明之其他特徵所述實質上相同的 能力。 系統記憶體106較佳地為一動態隨機存取記憶體 (DRAM),其係透過一高頻寬記憶體連接(未顯示)而耦合 至處理器102。儘管系統記憶體1〇6較佳地為一 dram,但
記憶體⑽亦可使用其他方式(例如靜態隨機存取記憶體 (SRAM)、磁性隨機存取記憶體(嫌鹰)、光學記憶體、全 訊記憶體等)加以實施。 較佳地使用-處理管線(其中以管線方式處理邏輯指+ 來實施每-處理器102。儘管可將管線分成許多指令處恐 級’但該管線-般包含擷取一或多個指令、解碼該等拍 令、檢查該等指令之間的相依性、發出該等指令及執行驾 等指令。就此點而言’處理器1〇2可包括一指令緩衝器、 指令解碼電路、相依性檢查電路、指令發出電路及執巧 107927.doc 14 1352905 級。 處理器102之DMAC較佳地係可運作以方便回應於該等 處理器102中的一個所發出之一單一直接記憶體存取指令 而在共享記憶體106與本地記憶體丨〇4中的一個或多個之間 轉換複數個資料區塊。為此目的,處理器丨〇2、本地記憶 體104 ' DMAC等較佳地包括與以上關於圖丨至3所述實質 上相同的功能性。例如,每一處理器係可運作以在其本地 記憶體104内建立一或多個列表丨2〇,直接記憶體存取指令 可指定至少一項目(例如,列表U0A中的項目122A),且 DMAC可存取此項目122A並藉由使用項目122A中所指定的 開始位址與大小來識別一對應的供轉換用之資料區塊而開 始資料區塊轉換。 同樣’可將該複數個資料區塊從共享記憶體1 06複製至 處理器102之一或多個本地記憶體1 〇4,或將該複數個資料 區塊從處理器102之一或多個本地記憶體1 〇4複製至共享記 憶體106。可將此類區塊轉換從共享記憶體106之不連續區 域複製至處理器102之本地記憶體1〇4之連續區域。或者, 可將此類轉換從本地記憶體104之連續區域複製至共享記 憶體106之不連續區域。 在一或多個具體實施例中’可將處理器1 〇2、本地記憶 體104及DMAC 160置放於一共用半導體基板上。在另外一 或多個具體實施例中,亦可將共享記憶體1 〇 6置放於該共 用半導體基板上或將其單獨置放。 在一或多個替代具體實施例中,處瑝器102中的一個或 107927.doc •15- ^^2905 多個可用作-主處理器,其係以運作方式耗合至其他處理 器H)2且能夠透過匯流排108而輕合至共享記憶體1〇6。主 處理器可藉由其他處理器1()2排程及配合處理資料。濟 而,與其他處理器102不同,主處理器可輕合至一硬體快 取記憶體,其係可運作以快取自共享記憶體i㈣處理器 1〇2之本地記憶體1()4中的—或多個中的至少—個所獲得之 資料。主處理H可提供資料存取請求以則所熟知技術中
的任何-個(例如直接記憶體存取技術)、透過匯流排魔將 育料(其可包括程式資料)從系統記憶體咖複製到快取記憶 體十供程式執行與資料處理用。
現在將說明-供多處理器系統用之較佳電腦架構,其传 適於執行本文所述特徵中的-個或多個。依據-或多個具 :實施例,可將該多處理器系統實施為一單一晶片解決方 =其係可運作以供富含媒體應用(例如,遊戲系統、家 ::子、PC系統、伺服器系統及工作臺)之獨立及/或分佈 ::理用。在某些應用(例如,遊戲系統與家庭端子)中, :時:算可能係必需的。例如,在即時、分佈式遊戲應用 ,網路連結影像還原、30電腦圖形、聲頻產生、網路 二::實體模擬及人工智能處理中的一個或多個必須執行 :中以提供給使用者即時經歷的幻覺。因&,多處理 的母-處理器必須在短且可預測時間内完成任務。 理=的且依據此電腦架構,多處理電腦系統之所有處 算模=:共用計算模組(或單元)構建而成。此共用計 致的結構且較佳地採用相同的指令集架構》 I07927.doc -16 - 1352905 該多處理電胳系統可由一或多個用戶、伺服器、pC '行動 電腦 '遊Μ ' PDA、視訊轉換盒、器具、數位電視及使 用電腦處理器之其他器件來形成。 若需要,複數個該等電腦系統亦可為一網路之部件。該 致的模,’且、·’。構使得能藉由該等多處理電腦系統對應用程 式及賞料進行有效率的高速處理,而且若採用一網路,則 還能夠透過網路快速傳輸應用程式及資料。此結構還簡化 了該網路中不同尺寸及處理功率的部件之構建以及為此等 部件之處理而對應用程式作的準備。 參考圖5,該基本處理模組係一處理器元件(pE)5〇〇。該 PE 500包含一 I/O介面5〇2、一處理單元(pu)5〇4及複數個 子處理單元5〇8,即子處理單元5〇8A、子處理單元5〇8B、 子處理單元5〇8C及子處理單元5〇8De 一本地(或内部)?£匯 流排512在PU 504、子處理單元508及一記憶體介面511之 間傳送資料與應用程式。該本地pE匯流排5丨2可具有(例 如)一傳統架構或可實施為一封包切換網路。實施為封包 切換網路儘管需要更多硬體,但可增加可用頻寬。 可使用實施數位邏輯之各種方法來構建pE 5〇〇。然而, 較佳地將PE 500構建為在一矽基板上採用一互補金氧半導 體(CMOS)之一單一積體電路。基板之替代性材料包括砷 化鎵、砷化鎵鋁及採用各種摻雜劑的其他所謂ιπ β化合 物。亦可使用超導材料,例如快速單通量子(RSFQ)邏輯, 來實施PE 500。 PE 5 00係透過一高頻寬記憶體連接516而與一共享(主)記- 107927.doc •17- 1352905 憶體5 14密切關聯《儘管記憶體5 14較佳地係一動態隨機存 取記憶體(DRAM),但亦可使用其他方式來實施記憶體 5 14,例如實施為一靜態隨機存取記憶體(SRAM)、一磁性 隨機存取記憶體(MRAM)、一光學記憶體、一全訊記憶體 等。 PU 504與子處理單元508較佳地係各自耦合至一包括直 接記憶體存取DMA功能性之記憶流控制器(MFC),其與記 憶體介面511結合可方便DRAM 514與PE 500之子處理單元 5 08及PU 504之間之資料轉換。應注意,可相對於子處理 單元508與PU 504、以整合方式或分離方式置放DMAC及/ 或記憶體介面511。實際上,DMAC之功能及/或記憶體介 面5 11之功能可與子處理單元5〇8中的一個或多個(較佳地 為全部)以及PU 504整合。應注意,亦可相對於pE 5〇〇、 以整合方式或分離方式來置放DRAM 514。例如,可以所 示圖解說明所暗示而將DRAM 514置放於晶片外,或者以 整合方式將DRAM 5M置放於晶片上。 PU 504可為例如能夠獨立處理資料及應用程式的標準處 理器。運作中’ PU 5G4較佳地藉由子處理單元排程及配合 處理資料與應用程式。該等子處理單元較佳地係單一指令 多貧料(SIMD)處理器。在PU 5〇4之控制下,該等子處理單 凡以平行且獨立的方式對此等資料及應用程式執行處理。 較佳地使用一PowerPC核心(其係一採用精簡指令集計算 (RISC)技術之微處理器架構)來實施pu 5〇4。risc使用簡 單指令組合來執行較複雜指彳。因此,處理器之時序可基 107927.doc •18· 1352905 於更簡早且更快的運作,致動微處理器在給定時脈速度下 執行更多指令。 a 應注意,可藉由子處理單元5〇8中擔當主處理單元(其藉 由子處理單元508排程及配合處理資料與應用程式)之一子 處理單元來實施PU 5G4。此外,可在處理器元件内實 施一個以上的PU。 依據此模組結構,特定的電腦系統所使用的pE 5〇〇之數 目係依據該系統需要的處理功率。例如,伺服器可採用四 個PE 500、工作臺可採用兩個pE 5〇〇ipDA可採用一個 500。PE 500中所指派用以處理特定軟體單元之子處理單 70之數目取決於該單元内之程式與資料之複雜性與量級。 圖6說明一子處理單元(Spu)5〇8之較佳結構與功能。 SPU 508架構較佳地填充通用處理器(其係設計成用以在一 大組應用上獲得高平均性能)與特定用途處理器(其係設計 成用以在單一應用上獲得高性能)之間之空洞。SPU 508係 5又计成用以在遊戲應用、媒體應用、寬頻系統等上獲得高 性能且為即時應用之程式設計者提供高控制度。SPU 508 之某些能力包括圖形幾合形狀管線、表面分割、快速傅立 葉變換、影像處理關鍵字、流處理、MPEG編碼/解碼、加 也、解密、器件驅動器擴展、模型化、遊戲物理學、内容 產生及聲頻合成與處理。 子處理單元508包括兩基本功能單元,即一 SPU核心 5 10八與一記憶流控制器(]^(:)51〇3。8?1;核心510八進行程 式執行、資料處理等,而MFC 510B執行SPU核心510A與 107927.doc 19 1352905 系統之’DRAM 5 14之間之資料轉換之有關功能。 sro核心510A包括一本地記憶體55〇、一指令單元 (IU)552、暫存器554、一或多個浮點執行級556及一或多 個定點執行級558。較佳地使用單埠隨機存取記憶體(例如
SRAM)來實施本地記憶體55〇。雖然大多數處理器藉由採 用快取記憶體來降低記憶體之時間延遲,但spu核心5丨〇A 實施相對較小的本地記憶體55〇 ,而不是一快取記憶體。
實際上,為了給即時應用(及本文所述其他應用)之程式設
計者提供一致且可預測的記憶體存取時間延遲,在MU 508A内使用快取記憶體架構並非較佳的。快取記憶體之快 取命中/未中特徵導致產生揮發性記憶體存取時間,其可 從數個循%變化為數百個循環。此揮發性削弱了(例如)即 時應用程式程式化巾所需的存取時序可賴性。在本地記 憶體SRAM 55G中’可藉由使直接記憶體存取轉換與資料 計算重疊來隱藏延遲。此為即時應用之程式化提供高控制 度。因為與直接記憶體存取轉換關聯之延遲與指令之負擔 超過服務快取未中之延遲,故在直接記憶體存取轉換大^ 足夠大且可足以預測(例如,可在需要資料之前發出一直 接記憶體存取指令)時,該SRAM本地記憶體方法較佳。 運仃於子處理單元508中給定子處理單元上的程式參考 所關聯的本地記憶體55G(制本地位址),然而,在整個系 狀記憶體映射内,亦為本地記憶體㈣之每—位置指派 實際位址(RA)。此使得可使用特權軟體將本地記憶體 550映射成一程序之有效位址(EA)以方便一本地記憶請 107927.doc -20- 1352905 與另一本地記憶體5 50之間之直接記憶體存取轉換。pu 504亦可使用有效位址來直接存取本地記憶體在一較 佳具體實施例中’本地5己憶體550包含556千位元组之儲存 量,而暫存器552之容量係128 X 128位元。
較佳地使用一處理官線(其中以管線方式處理邏輯指令) 來實施SPU核心504A。儘管可將管線分成許多指令處理 級,但該管線一般包含擷取一或多個指令、解碼該等指 令、檢查該等指令之間的相依性、發出該等指令及執行該 等指令。就此點而言,JU 552包括一指令緩衝器、指令解 碼電路 '相依性檢查電路及指令發出電路。 該指令緩衝器較佳地包括複數個暫存器,其係耦合至本 地記憶H 550且可運作㈣時儲存其所操取的指/該指 令緩衝H較佳地運作,使得所有指令作為—群組(即^ 質上同時)離開該等暫存器。儘管指令緩衝器可具有任何 尺寸,但較佳地使其尺寸不大於大約兩或三個暫存器。
…—叫π I技王邈輯微 一二仃對應指令之功能。例如,該等邏輯微運算可 ^算術與邏輯運算、至本地記憶體550之載入與儲存 X暫存器源運算元及/或中間資料運算元。解竭電路 可曰不t令使用哪些f源,例如目標暫存器位址、 :要::早几及’或匯流排。解碼電路亦可供應指示其 指令^級之=#訊°指令解碼電路較佳地传 運作U實質上同時 也係 之暫存器之數目 其數目等於指令緩衝; 107927.doc -21 · 相依性檢查電路包括數位邏輯, 指令之運算元是“ Α -執灯邓試以决定給定 免疋否取决於管線_其 定指令之谨苜_〜丄 7〈運异兀。若給 -•疋取決於管線t其他指令之運 新(例如,由分#甘vJ_』 則在更 ^ 曰3,、他指令完成執行)此類其他運曾元 則不應執行該等指令。 碟α疋之 自解碼器電路所調戶夕:目依性檢查電路決定同時 調又之户個指令之相依性。 指令發出電路係可運作 及/或定點執行級558。 b發达給淨點執行級… 广圭地將暫存器554實施為-相對較大的統—的暫存, 檔案,例如一 128個項目 〇 線高頻實施方案而不需要暫存重=。此允許採用深管 存益重命名,從而避免暫存器 餘餓。重命名硬體通常會消耗處理系統中區域與功率的一 大部分。®此’在藉由軟體迴路展開或其他交錯技術覆蓋 延遲時,可獲得較佳運作。 較佳地,SPU核⑽GA係具有—超純量架構,因此每一 夺脈循%發ih #1以上的指令。81>1;核心5 1G A較佳地係用 作超純量與等級對應於同時自指令緩衝器所調度之指令之 數目(例如在2與3之間(意㈣每一時脈循環發出兩或三個 指令))之-核心。視所需處理功率而$,可採用更大或更 小數目的浮點執行級556與定點執行級5 58。在一較佳具體 實施例中,沣點執行級556以每秒32〇億次浮點運算(32 GFLOPS)之速度運作,而定點執行級558以每秒32〇億次運 算(32 GOPS)之速度運作。 MFC 5 10B較佳地包括一匯流排介面單元(BIU)564、 107927.doc -22- 1352905 記憶體管理單元(MMU)562及一直接記憶體存取控制器 (DMAC)560。除DMAC 560之外,MFC 510B較佳地以相較 於S P U核心5 1 0 A與匯流排5 12之一半頻率(半速)運行以滿足 低功率消耗設計目的。MFC 5 10B係可運作以處理自匯流 排51 2進入到SPU 508中之資料與指令、為DMAC提供位址 變換及執行調查資料連貫性之操作。BIU 564在匯流排5 1 2 與MMU 562以及DMAC 560之間提供·一介面。因此,§pu 508(包括SPU核心5 10A與MFC 5 10B)與DMAC 560係以物理 方式及/或邏輯方式連接至匯流排512。 MMU 5 62較佳地係可運作以將有效位址(取自直接記憶 體存取指令)變換成實際位址供記憶體存取用。例如, MMU 5 62可將有效位址之較高次序位元變換成實際位址位 元。而較低次序的位址位元較佳地係不可變換的且被認為 係邏輯與物理位元用以形成實際位址且請求對記憶體加以 存取。在一或多個具體實施例中,MMU 5 62可依據一 64位 元記憶體管理模型加以實施’且可提供264位元組的有效 位址空間’其中頁之大小為4K、64K、1M及16M且區斷之 大小為256MB。較佳地’ MU 562係可運作以支持高達265 位元組的虛擬記憶體及2 4 2位元組(4太位元組)的物理記憶 體供直接記憶體存取指令用。MMU 562之硬體可包括一 8 項目的完全關聯8!^、一 256項目的4方向集關聯丁1^及一 供該TLB用之4x4取代管理表(RMT)-用於硬體tlb未中 處理。 DMAC 560較佳地係可運作以管理來自spu核心5 I0A及 I07927.doc -23- 1352905 一或多個其他器件(例如,PU 504及/或其他SPU)之直接記 憶體存取指令。可存在三種類別的直接記憶體存取指令: 放置指令’其運作以將資料從本地記憶體55〇移至共享記 憶體514 ;獲取指令,其運作以將來自共享記憶體514之資 料移到本地記憶體55〇中;及儲存控制指令,其包括SLU| 令與同步指令。同步指令可包括原子指令、傳送信號指令 及專用阻障指令。回應於直接記憶體存取指令,MMU 562 將有效位址變換成實際位址且將該實際位址轉遞給BIU 564 〇 SPU核心5 10Α較佳地使用一通道介面與資料介面來與 DMAC 5 60内之一介面通信(發送直接記憶體存取指令、狀 態等)。SPU核心5 10A透過該通道介面將直接記憶體存取 指令調度至DMAC 560中之一直接記憶體存取佇列。直接 記憶體存取指令一旦位於直接記憶體存取佇列中,就可藉 由DMAC 560内的發出與完成邏輯對其加以處理。當直接 s己憶體存取指令之所有匯流排異動皆已完成時,透過通道 介面將一完成信號傳送回SPU核心5 1 0A。 圖7說明PU 504之較佳結構與功能。pu 504包括兩基本 功能單元:PU核心504A與記憶流控制器(mfc)504B。PU 核心504A執行程式執行、資料處理、多處理器管理功能 等’而MFC 504B執行PU核心504A與系統1〇〇之記憶體空 間之間之資料轉換之有關功能。 ?U核心504A可包括一 L1快取記憶體57〇、一指令單元 572、暫存器574、一或多個浮點執行級576及一或多個定 107927.doc -24 - 1352905 點執行級5 78。L1快取記憶體為透過MFC $〇4B自共享記憶 體1 〇 6、處理器! 〇 2及記憶體空間之其他部分所接收之資料 提供資料快取功能性《因為較佳地*ρυ核心5〇4A實施為 一超管線,故較佳地將指令單元572實施為一具有許多級 (包括擷取、解碼、相依性檢查、發出等)之指令管線。pu 核心504A亦較佳地具有一超純量組態’藉此可每一時脈循 環自指令單元572發出一個以上的指令。》了獲得高處理 功率,洋點執行級576與定點執行級578包括位於一管線組 態中之複數個級。視所需處理功率而定,可採用更大或更 小數目的浮點執行級576與定點執行級578。 MFC 504B包括一匯流排介面單元(bju)58〇、一 L2快取 記憶體、一不可快取單元(NCU)584、一核心介面單元 (CIU)586及一記憶體管理單元(MMU)588。MFc 5〇4b中的 大多數以相較於PU核心504A與匯流排108之一半頻率(半 速)運行以滿足低功率消耗設計目的。 BIU 580在匯流排108與乙2快取記憶體582以及Ν(:υ 584 邏輯組塊之間提供_介面。為此目的,BIU 58〇可擔當匯 流排108上之一主控以及一從屬器件以便執行完全連貫的 記憶體運作。作為主控器件時,其可代表L2快取記憶體 582與NCU 584而將用於服務之載入/儲存請求發送給匯流 排108。BIU 5 80亦可針對指令實施一流控制機制,其限制 可傳送給匯流排108之指令之總數。可將匯流排1〇8上的資 料運算設計成具有八個節拍,因此,較佳地將BIU Mo設 計成具有大約128位元组的快取線且連貫性與同步粒度為 107927.doc •25· 1352905 128KB。 輭L地將L2快取記憶體582(且支持硬體邏輯)設計成快 取5121^的資料。例如,L2快取記憶體如可處理可快取 載入/儲存、資料預擷取、指令擷取、指令預搁取、快取 #作及阻障操作。L2快取記憶體如較佳地為—8方向關聯 系統。L2快取記憶體582可包括六個重新载入仔列(與六⑹ 個剔除仵列(例如,六個RC機器)匹配)與八個(64位元組寬) 儲存仵列。L2快取記憶體582可運作以提㈣快取記憶體 別中的某些資料或所有資料之一備份複本。較佳地,此 在熱調換處理節點情況下重新儲存狀態時非常有用。此組 態亦可使U快取記憶體570採用較少埠更快地運作且可使 决取3己憶體至快取記憶體之轉換更快(因為請求可在U快 取記憶體582處停止此組態亦提供一用於將快取記憶體 連貫性管理傳遞給L2快取記憶體582之機制。 NCU 584與CIU 586、L2快取記憶體582及則58〇介接 且一般對於一排隊/緩衝電路供pu核心、5〇4A與記憶體系統 之間之不可快取操作用起作用。NCU 584較佳地處理與 核心504A之所有通信(例如,快取受抑制載入/儲存、阻障 細作及快取連貫性操作)’其未經[2快#記憶體582處理。 NCU 584係較佳地以半速運行以滿足上述功率消耗目的。
Cm 586係置放於!^代5〇4Β#ρι^ι〇5〇4Α之邊界上且 為來自執行級576 ' 578、指令單元5?2及MMU單元588且 進入L2快取記憶體582與1^(:1; 584之請求擔當一發送、仲 裁及流控制點。PU核心504A與ΜΜϋ 588較佳地以全速運 I07927.doc • 26 - 仃,而L2快取t己憶體5_NCU 584係可以以的速率比運 作因此頻率邊界存在於CIU 586中且其功能中的一個 係正確處理其在兩頻域之間轉遞請求並重新m料時之 頻率交又。 CIU 5 86包含二個功能組塊:_載入單元、—健存單元 及重新載入單元。成匕外’資料預擷取功能係由C⑴5%執 行且其較佳地為載入單元之一功能部分。ciu 5%較佳地 係可運作以.⑴接觉來自pu核心5〇4a與MMu 588之載入 與儲存請求;(ii)將該等請求從全速時脈頻率轉換成半速 (2:1的時脈頻率轉換);(iii)將可快取請求發送給L2快取記 憶體582且將不可快取請求發送&NCU 584 ; (iv)在至^^快 取圮憶體582與NCU 584之請求之間公平仲裁;對至L2 快取記憶體582與NCU 584之調度提供流控制,從而在一 目標視窗中接收該等請求且避免溢流;(vi)接受載入返回 資料且將其發送給執行級576、578、指令單元572或MMU 5 88 ; (vii)將調查請求傳遞給執行級576、578、指令單元 5 72或MMU 5 88 ;及(viii)將載入返回資料與調查流量從半 速轉換成全速。 MMU 588較佳地為PU核心540A提供位址變換,例如藉 由一 一級位址變換設備。較佳地藉由獨立的指令與資料 ERAT(有效至實際位址變換)陣列(其可比mmu 588小得多 且快得多)而在PU核心504A中提供·--級變換。 在一較佳具體實施例中,採用一 64位元實施方案時, PU 504以4 6 GHz、10F04運作。暫存器較佳地為64位元長 107927.doc -27- 1352905 (但-或多個特定用途的暫存器可更小)且有效位址為料位 疋長。較佳地使用PowerPC技術來實施指令單元572、暫存 益5 74及執仃級576與578以獲得(幻3〇計算技術。 若要瞭解與此電腦系統之模組結構有關的其他細節,可 參閱美國專利第6,526,49丨號,將該揭示内容以引用方式全 文併入本文中。 叫 -,々π M f體(^
如1式所示硬體)來獲得上述該等方法及裝置。可採月 所迪知技術令的任何—個(例如標準數位電路)、所熟知合 可運作以執行軟體及/或勤體程式之處理器十的任何一 個:-或多個可程式化數位器件或系統(例如,可程❹ 唯項記憶體(PR〇M)、可程式化陣列邏輯器件(PAL)等)㈣ :r,b:體。:外’儘管圖式所示裝置係分割成某些輪 鬼但亦可藉由獨立電路來眘浐4 电浴求貧她此類組塊及/或將盆έ 到一或多個功能單元中。此外,tie ^ 此外亦可猎由可儲存於適合的
儲存媒體(例如,軟碟、$惜興s ^ & 隱體晶片等)上供傳輸及/或分配 用之㈣及/或㈣程式來實施本發明之各種方面。 ,/官已參考特定具體實施例來說明本發明,但應明白, 這些具體實施例僅传田% , 广a ”僅仏用以说明本發明的原理及應用。因此 應瞭解,可以對說明性的 的具體貫轭例進行各種修改,並 且可在不脫離隨附申諳| X h 圍所夂義之本發明的精神及 牵巳可下3又計出其它配置。 產業上的適用性 本發明可應用於多處 恿理糸統内用於轉換資料之技術。 I07927.doc -28· 1352905 【圖式簡單說明】 基於說明本發明之各種方面之目的 目前的較佳形式,不過,庫明白,太4 所顯不的係 所… 明白本發明並不受限於圖中 所不刻板配置及機制。 圖1係說明可依據本發明之一哎多 / w "〜 4夕個方面加以調適之一 處理系統之結構之圖式; 圖2係說明一直接記憶體存取資料區塊轉換列表之圖 式;
圖3係說明依據本發明之一或多個方面、可藉由圖i之處 理系統執行之處理步驟之流程圖; 圖4係說明一多處理系統之結構之圖式,該多處理結構 具有兩或多個可依據本發明之一或多個方面加以調適之子 處理器; 圖5係說明可用以實施本發明之另外一或多個方面之_ 較佳處理器元件(PE)之圖式; 圖6係說明圖5之系統之一範例性子處理單元(spu)之結 構之圖式,該子處理單元(SPU)係可依據本發明之另外一 或多個方面加以調適;及 圖7係說明圖5之系統之一範例性處理單元(PU)之結構之 圖式,該處理單元(pu)係可依據本發明之另外一或多個方 面加以調適。 【主要元件符號說明】 1 器件 2 器件 107927.doc -29· 1352905
100 處理系統 100A 多處理系統 102, 102A至 D 處理器 104,104A至 D 本地記憶體 106 共享記憶體 108 匯流排 160 直接記憶體存取控制器 120 列表 122, 122A至 N 項目 500 處理器元件 502 輸入/輸出介面 504 處理單元 504A 處理單元核心 504B 記憶流控制器 508, 508A至 D 子處理單元 510A 子處理單元核心 510B 記憶流控制器 511 記憶體介面 512 本地處理器元件匯流排 514 共享記憶體 516 高頻寬記憶體連接 550 本地記憶體 552 指令單元 554 暫存器 107927.doc -30- 1352905 556 浮點執行級 558 定點執行級 560 直接記憶體存取控制器 562 記憶體管理單元 564 匯流排介面單元 570 L 1快取記憶體 572 指令單元 574 暫存器 576 浮點執行級 578 定點執行級 580 匯流排介面單元 582 L2快取記憶體 584 不可快取單元 586 核心介面單元 588 記憶體管理單元 107927.doc -31 -

Claims (1)

1352905 第095100561號專利申請案 -厂- 中文申請專利範圍替換本(100年6月)知年乙月2夕日修王本 十、申請專利範圍: ---- 1. 一種資料處理裝置,其包含: 複數個平行處理器,其中每一處理器皆能夠以 式與-共旱记憶體通信,每一處理器皆包括一唾 於執行其t之指令之本地記憶m處理 。直接§己憶體存取控制器_AC),其係耦合至二 器之該本地記憶體4可運作以方便回應於該處理 發出之一:一直接記憶體存取指令’而在該共享記憶體 :、i處理器之„亥本地記憶體之間轉換複數個資料區塊; 藉此’該等複數個平行處理器_之每—處理器皆可運作 乂方便回應於其所發出之__單-直接記憶體存取指令, 而在該共享記憶體與其之該本地記憶體之間轉換複數個 資料區塊。 2.如請求項丨之裝置,其中該等複數個平行處理器中之至 少一處理器係可運作以在其之該本地記憶體内建立一包 括複數個項目之列表,每一項目具有至少要轉換之一資 料區塊之一開始位址與要轉換之該資料區塊之大小。 3·如請求項2之裝置,其中該直接記憶體存取指令指定該 列表中至少一項目。 4. 如請求項3之裝置,其中該DMAC係可運作以使用該列表 之該至少一項目中所指定之該開始位址與該大小來識別 一對應的供轉換用之資料區塊,並在該共享記憶體與該 至少—處理器之該本地記憶體之間轉換此資料區塊》 5. 如印求項2之裝置,其中連結該列表之該等項目,使得 107927-1000627.doc 1352905 該DM AC係可運作以使用該列表中之一項目來定位該列 表中另一項目β 6. 如清求項3之裝置’其中連結該列表之該等項目使得 該DMAC係可運作以使用該列表中之一項目來定位該列 表中另一項目。 7. 如凊求項4之裝置,其中連結該列表之該等項目使得 該DMAC係可運作以使用該列表+之一㊆目I定位該列 表中另一項目'。 8. 如請求項5之裝置,其中該列表之該等項目包括正向與 反向指標中的至少一個以在該等項目之間建立連結。 9. 如請求項6之裝置,其中該列表之該等項目包括正向與 反向指標中的至少一個以在該等項目之間建立連結。 10. 如請求項7之裝置,其中該列表之該等項目包括正向與 反向指標中的至少一個以在該等項目之間建立連結。 11. 如請求項1至10中任一項之裝置,其中該直接記憶體存 取指令係調適成用以指定要將該複數個資料區塊從該共 享記憶體複製至該等複數個平行處理器中之一特定之處 理器之該本地記憶體。 12·如請求項11之裝置,其中該直接記憶體存取指令係調適 成用以指定要將該複數個資料區塊從該共享記憶體之不 連續區域複製至該等複數個平行處理器中之一特定之處 理器之該本地記憶體之連續區域。 13.如請求項丨至⑺中任一項之裝置,其中該直接記憶體存 取“令係調適成用以^曰疋要將該辑數個資料區塊從該等 107927-1000627.doc 1352905 複數個平行處理器令之一特定之處理器之該本地記憶體 複製至該共享記憶體。 14·如請求項13之裝置,其中該直接記憶體存取指令係調適 成用以指定要將該複數個資料區塊從該等複數個平行處 理器中之一特定之處理器之該本地記憶體之連續區域複 製至該共享記憶體之不連續區域。 15. 如請求項1至10中任一項之裝置,其中該等複數個平行 處理器中之每一處理器之該本地記憶體不為—硬體快取 記憶體。 ' 16. 如請求項11之裝置,其中該等複數個平行處理器中之每 一處理器之該本地記憶體不為一硬體快取記憶體。 17. 如請求項12之裝置,其中該等複數個平行處理器中之每 一處理器之該本地記憶體不為一硬體快取記憶體。 18. 如請求項13之裝置,其中該等複數個平行處理器中之每 一處理器之該本地記憶體不為一硬體快取記憶體。 19. =請求項14中任一項之裝置,其中該等複數個平行處理 裔中之每一處理器之該本地記憶體不為一硬體快取記憶 2〇·如“求項1之裝置 其進一步包含 理51伤 工处埋态,該主處 作方式輕合至料複㈣平行處理器、能夠 ㈣。該共享記憶體且可運作以管理該等複數個平行處 21.如請求 項1之裝置,其中該專複數個平行處理 本地記悔雜μ , 裔等 隐體及該等DMAC係置放於—Α用束 '、用半導體基板 107927-1000627.d〇, 1352905 上。 2厶如請求項丨之裝置,其進一步包含透過一匯流排而耦合 至該%•處理器之該共享記憶體。 3.如》月求項1之裝置’其中該等複數個平行處理器、該等 關聯的本地記憶體、該等DMAC及該共享記憶體係置放 於一共用半導體基板上。 24. 如請求項20之裝置,其進一步包含一硬體快取記憶體, 該硬體快取記憶體係與該主處理器關聯,且可運作以快 取自該共享記憶體與該等複數個平行處理器之該等本地 記憶體中的一個或多個中的至少一個所獲得之資料。 25. —種資料處理方法,其包含回應於複數個平行處理器中 之一特定之處理器發至該特定之處理器之一直接記憶體 存取控制器(DMAC)之一單一直接記憶體存取指令,而 在一共享記憶體與該特定之處理器之一本地記憶體之間 轉換複數個資料區塊’其中該特定之處理器能夠以運作 方式與該共享記憶體通信,且該DMAC係以運作方式耦 σ至β亥特疋之處理II之該本地記憶體;藉此,該等複數 個平行處理n中之每-處理器皆可運作以方便回應於其 所發出之-單-直接記憶體存取指而在該共享記憶 體與其之該本地記憶體之間轉換複數個資料區塊。 26.如請求項25之方法,其進一步 器之 包含在該特定之處理 該本地記憶體内建立—包括複數個項目之列表,每-項 目具有至少要轉換之―資料區塊之—開始位址與要轉換 之該貧料區塊之大小。 107927-I000627.doc 1352905 27. 28. 29. 30. 如請求項26之方法’其中該直接記憶體存取指令指定該 列表中至少一項目。 如請求項27之方法,其進一步包含: 使用該列表之該至少-項目中所指定的該開始位址與 該大小來識別—對應的供轉換用之資料區塊;及 在該共享記憶體與該特定之處理器之該本地記憶體之 間轉換此資料區塊》 如-月求項26至28中之任-項之方法,其進—步包含連結 該列表之料項目,使得可使用該列表中之—項目來定 位該列表中另一項目。 種°己錄有身料處理軟體程式之儲存媒體,該軟體程式 係Γ運作以引發—處理器執行包括回應於複數個平行處 理器中之-特定之處理器發至該特定之處理器之一直接 記憶體存取控器(DMAC)之_卜直接記憶體存取指 令’而在一共享記憶體與該特定之處理器之一本地記憶 體之間轉換複數個資料區塊之動作,其中該特定之處理 器月b夠以運作方式與該共享記憶體通信,且該dmac係 以運作方式輕合至該特定之處理器之該本地記憶體;藉 此’該等複數個平行處理器中之每一處理器皆可運作以 方便回應於其所發出之一單一直接記憶體存取指令,而 在該共享記憶體與其之該本地記憶體之間轉換複數個資 料區塊。 107927-1000627.doc
TW095100561A 2005-01-05 2006-01-05 Data processing apparatus, data processing method, TWI352905B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/029,891 US7698473B2 (en) 2005-01-05 2005-01-05 Methods and apparatus for list transfers using DMA transfers in a multi-processor system

Publications (2)

Publication Number Publication Date
TW200641624A TW200641624A (en) 2006-12-01
TWI352905B true TWI352905B (en) 2011-11-21

Family

ID=36641981

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095100561A TWI352905B (en) 2005-01-05 2006-01-05 Data processing apparatus, data processing method,

Country Status (8)

Country Link
US (1) US7698473B2 (zh)
EP (1) EP1834245B1 (zh)
JP (1) JP4346612B2 (zh)
KR (1) KR100938942B1 (zh)
CN (1) CN100524270C (zh)
DE (1) DE602006007944D1 (zh)
TW (1) TWI352905B (zh)
WO (1) WO2006073204A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156947A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Address translation scheme based on bank address bits for a multi-processor, single channel memory system
JP2007207026A (ja) * 2006-02-02 2007-08-16 Matsushita Electric Ind Co Ltd Dma転送装置
JP2008071054A (ja) * 2006-09-13 2008-03-27 Ricoh Co Ltd データ転送制御方法、データ処理装置及び画像処理装置
US8041847B1 (en) 2007-05-10 2011-10-18 Marvell International Ltd. Periodic and conditional execution of DMA operations
KR100959136B1 (ko) 2008-07-16 2010-05-25 한국전자통신연구원 직접 메모리 접근 제어기 및 직접 메모리 접근 채널의데이터 전송 방법
US9128699B2 (en) * 2008-12-22 2015-09-08 Intel Corporation Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
JP5423483B2 (ja) * 2010-03-04 2014-02-19 株式会社リコー データ転送制御装置
US10678744B2 (en) * 2010-05-03 2020-06-09 Wind River Systems, Inc. Method and system for lockless interprocessor communication
KR101706201B1 (ko) 2010-12-15 2017-02-15 한국전자통신연구원 다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법
US9262163B2 (en) 2012-12-29 2016-02-16 Intel Corporation Real time instruction trace processors, methods, and systems
KR102306359B1 (ko) * 2015-01-28 2021-09-30 삼성전자주식회사 복수의 프로세서들을 이용한 데이터 운용 방법 및 장치
EP3825841A1 (en) * 2018-06-27 2021-05-26 Shanghai Cambricon Information Technology Co., Ltd Method and device for parallel computation of a network model
KR102075086B1 (ko) 2018-11-13 2020-02-07 현대오트론 주식회사 Dma를 활용한 epm 마이크로틱 생성 긴급 중단 방법
CN113849433B (zh) * 2021-09-14 2023-05-23 深圳市昂科技术有限公司 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
CN118245017B (zh) * 2023-11-02 2024-09-17 芯立嘉集成电路(杭州)有限公司 存储器内二进位浮点乘法装置及其操作方法
CN118226923A (zh) * 2024-05-23 2024-06-21 深圳市鼎阳科技股份有限公司 一种波形发生器、波形产生方法及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2559792B2 (ja) * 1988-02-17 1996-12-04 日産自動車株式会社 Cadスケッチ入力作図方法
JPH01293431A (ja) 1988-05-23 1989-11-27 Toshiba Corp メモリアクセス方式
JPH0736820A (ja) 1993-07-23 1995-02-07 Oki Electric Ind Co Ltd I/o制御装置
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
US5644784A (en) * 1995-03-03 1997-07-01 Intel Corporation Linear list based DMA control structure
US5691984A (en) 1995-08-15 1997-11-25 Honeywell Inc. Compact, adaptable brouting switch
JPH1091571A (ja) 1996-09-19 1998-04-10 Fujitsu Ltd Dmaコントローラのチェーン外れ検出方法及びdmaコントローラ
JP3484056B2 (ja) 1996-10-18 2004-01-06 松下電器産業株式会社 データ転送装置及びデータ転送システム
JP3712842B2 (ja) * 1997-08-05 2005-11-02 株式会社リコー データ転送制御方法、データ転送制御装置及び情報記録媒体
US6128674A (en) * 1997-08-08 2000-10-03 International Business Machines Corporation Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue
US6782465B1 (en) * 1999-10-20 2004-08-24 Infineon Technologies North America Corporation Linked list DMA descriptor architecture
US6529968B1 (en) * 1999-12-21 2003-03-04 Intel Corporation DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
JP2002163239A (ja) 2000-11-22 2002-06-07 Toshiba Corp マルチプロセッサシステムおよびその制御方法
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
JP3878508B2 (ja) 2001-11-08 2007-02-07 松下電器産業株式会社 回路群制御システム
US6804741B2 (en) * 2002-01-16 2004-10-12 Hewlett-Packard Development Company, L.P. Coherent memory mapping tables for host I/O bridge
JP2004094452A (ja) * 2002-08-30 2004-03-25 Fujitsu Ltd Dmaコントローラおよびdma転送方法
US6981072B2 (en) * 2003-06-05 2005-12-27 International Business Machines Corporation Memory management in multiprocessor system

Also Published As

Publication number Publication date
KR20070098900A (ko) 2007-10-05
WO2006073204A3 (en) 2007-02-08
JP4346612B2 (ja) 2009-10-21
US7698473B2 (en) 2010-04-13
KR100938942B1 (ko) 2010-01-26
EP1834245A2 (en) 2007-09-19
EP1834245B1 (en) 2009-07-22
US20060149861A1 (en) 2006-07-06
TW200641624A (en) 2006-12-01
WO2006073204A2 (en) 2006-07-13
CN101099141A (zh) 2008-01-02
JP2006190301A (ja) 2006-07-20
CN100524270C (zh) 2009-08-05
DE602006007944D1 (de) 2009-09-03

Similar Documents

Publication Publication Date Title
TWI352905B (en) Data processing apparatus, data processing method,
JP4322259B2 (ja) マルチプロセッサシステムにおけるローカルメモリへのデータアクセスを同期化する方法および装置
JP4421561B2 (ja) ハイブリッドdmaキュー及びdmaテーブルのデータ処理方法、装置及びシステム
JP4805341B2 (ja) アドレス空間の仮想化のための方法および装置
JP4451397B2 (ja) Simdプロセッサスライスの有効/無効の制御のための方法ならびに装置
TWI361981B (en) Methods, apparatus and program for resource management, and storage medium
US7882310B2 (en) Methods and apparatus for managing a shared memory in a multi-processor system
EP1846820B1 (en) Methods and apparatus for instruction set emulation
JP4219369B2 (ja) プロセッサシステム内においてスタックを分離して管理する方法および装置
US20060212643A1 (en) Methods and apparatus for dynamic linking program overlay
US20080077815A1 (en) Power consumption reduction in a multiprocessor system
EP1846829B1 (en) Method and apparatus for address translation from an external device to a memory of a processor
JP4134182B2 (ja) タスク変更アプリケーションプログラミングインタフェースを提供する方法及び装置
JP2006172468A (ja) システム内部のデータ転送を処理する装置および方法
JP2006260556A (ja) ラッチポイントを制御することにより、演算処理能力を改善する方法、装置ならびにシステム
JP4024271B2 (ja) マルチプロセッサシステムにおいて命令を処理するための方法と装置
US7818507B2 (en) Methods and apparatus for facilitating coherency management in distributed multi-processor system
JP2006260555A (ja) 命令の従属関係検査の深度を利用して処理能力の改善するための方法および装置