TWI315038B - Method and storage medium having instructions for transferring data and multiprocessing system - Google Patents

Method and storage medium having instructions for transferring data and multiprocessing system Download PDF

Info

Publication number
TWI315038B
TWI315038B TW092112586A TW92112586A TWI315038B TW I315038 B TWI315038 B TW I315038B TW 092112586 A TW092112586 A TW 092112586A TW 92112586 A TW92112586 A TW 92112586A TW I315038 B TWI315038 B TW I315038B
Authority
TW
Taiwan
Prior art keywords
memory
data
storage medium
channel
channels
Prior art date
Application number
TW092112586A
Other languages
English (en)
Other versions
TW200405167A (en
Inventor
Wolrich Gilbert
B Rosenbluth Mark
Bernstein Debra
J Wilde Myles
Original Assignee
Intel Corporatio
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 Corporatio filed Critical Intel Corporatio
Publication of TW200405167A publication Critical patent/TW200405167A/zh
Application granted granted Critical
Publication of TWI315038B publication Critical patent/TWI315038B/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Amplifiers (AREA)
  • Surgical Instruments (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)

Description

1315038 玖、發明說明: 【發明所屬之技術領域】 本發明係關於一種信號聚集之技藝。 【先前技術】 網路處理器通常使用單一通道或多個記憶體通遒,以便 將所需的頻寬提供給各資料處理功能,而在資料處理功能 中係先儲存資料,然後轉送一目的地,例如在網路處理器 所執行的先存再送(st〇re_and-f〇rward)功能。對於寬記憶體 結構而言,通常需要讀取-修改_寫入作業,而對於多通道設 計而言,可使用交插區段位址或"分解"(”stripping”)技術來 將記憶體存取散佈到該等通道,以便可使用所有的通道。 歐洲專利公告號第1242883號案於圖1揭示一種平行硬體 為基礎之多執行緒處理器。該處理器包含一協調多個系統 功能之一般用途處理器,以及複數個微引擎,其支持多重 程式執行緒。該處理器亦包含一記憶體控制系統,其具有 一第一記fe體控制器,其根據多個記憶體是否係引導至一 偶數記憶庫或-奇數記憶庫而分類該等多個記憶體參考, 以及-第一 5己憶體控制器,其根據多個記憶體是否係讀取 參考或寫入參考而最佳化該等多個記憶體參考。 歐洲專利公告號第124簡號案之多執行緒處理器類似 於本案❸所示之處理系統。然而本發明提供完全不同的程 式引擎及記憶體控制器操作之方式。在本發明中,該等記 憶體控制器表示記憶體轉換完成之方式及該等程式引擎偵 測來自該等記憶體控制器之信號以決定記憶體轉換完成之 85246-950810.doc 1315038 方法均不同於歐洲專利公告號第1242883號案。 【發明内容】 本發明之特徵為一種方法,該方法包含下列步驟··使用 複數個記憶體通道將資料轉移到若干程式引擎;將該資料 剖析到該等記憶體通道中之至多兩個通道;以及建立至多 兩個邏輯狀態,用以通知一記憶體資料轉移作業的完成。 【實施方式】 架構: 請參閱圖1 ’ 一電腦處理系統1 〇包含一平行的硬體式多緒 網路處理器12。該硬體式多緒處理器12係耦合到一記憶體 系統或έ己憶體資源14。1己憶體系統14包含動態隨機存取記 fe 體(Dynamic Random Access Memory ;簡稱 DRAM)14a及 靜態隨機存取記憶體(Static Random Access Memory ;簡稱 SRAM) 14b。處理系統i〇尤其適用於可被分成若干平行的 子工作或功能的工作。更具體而言,硬體式多緒處理器12 適用於頻見導向而非執行時間導向(latetlCy 〇riente(j)的工 作。硬體式多緒處理器12具有多個功能性微引擎或程式引 擎16a-16h (共同地稱為程式引擎16) ’每一程式引擎具有多 個受硬體控制的執行緒(thread),該等執行緒係同時作用, 且獨立地執行一特定的工作。 每一程式引擎16都維護硬體的程式計數器、及與程式計 數器相關聯的狀態。實際上,一些對應組的執行環境 (context)或執行緒可同時對每一程式引擎16作用,但是任 何時間只有一個執行緒在工作。 85246-950810.doc -7- 1315038 在該例子中,八個程式引擎1 6a-16h係示於圖1。每一程 式引擎16a-16h處理八個硬體執行緒或執行環境。該等八個 程式引擎16a-16h係配合其中包括記憶體資源14及匯流排 介面(圖中未示出)的共用資源而工作。硬體式多緒處理器12 包含一動態隨機存取記憶體(DRAM)控制器1 8a及一靜態隨 機存取記憶體(SRAM)控制器1 8b。通常係將DRAM記憶體 14a及DRAM控制器18a用來處理大量的資料,例如,處理來 自網路封包的網路酬載。係將SRAM記憶體14b及SRAM控 制器18b用於低存取時間且快速存取工作的連網實施例,例 如存取查詢表、核心處理器20的記憶體、及類似的元件。 該等八個程式引擎16a-16h根據資料的特性而存取DRAM 記憶體14a或SRAM記憶體14b。因此,係將低存取時間且低 頻寬的資料儲存在SRAM記憶體14b,且自SRAM記憶體14b 提取此種資料;而係將較高頻寬但存取時間不是那麼重要 的資料儲存在DRAM記憶體14a,且自DRAM記憶體14a提取 此種資料。該等程式引擎16可對DRAM控制器18a或SRAM 控制器18b執行一記憶體查詢指令。 硬體式多緒處理器12亦包含一處理器核心20,用以載入 對該等程式引擎16的微碼控制。在該例子中,雖然可將其 他類型的處理器核心用於本發明之實施例,但是該處理器 核心 20是由 Intel® Corporation (位於 Santa Clara, CA)設計 的XScale™型架構。 處理器核心20執行諸如處理通訊協定、異常狀況、以及 該等程式引擎16諸如在邊界狀況中傳送出封包以供更詳細 85246-950810.doc 1315038 的處理時對封包處理的額外支援等的—般用途電腦類型的 功能。 處理器核心20執行一作業系統(圖中未示出)。處理器核 心20可經由該作業系統(〇s)而呼叫函式,以便對程式^擎 16a-16h進行作業。對於實施為XScaleTM架構的核心處理器 2〇而言,可使用諸如Microsoft® c〇rp〇rati〇n (位於^缝,
Washington)的 Microsoft® NT即時作業系統、WindRive产公 司(位於Alameda,California)的VxWorks®即時作業系統或 可經由網際網路而取得的免費·軟體作業系統等的作業系 統。 ’、 可以SRAM或DRAM記憶體存取來解釋硬體多緒執行的 優點。舉例而言,由一執行環境(例如Thread_〇)向其中一個 程式引擎16(例如程式引擎16a)要求的一 3尺八%存取將使 SRAM控制器i8b啟動一個對SRAM記憶體丨朴的存取。 SRAM控制器18b取得SRAM記憶體14b的控制權,自sram 記憶體14b提取資料,並將資料送回到一提出要求的程式引 擎16。 在一 SRAM存取期間,如果其中一個程式引擎16卜16匕具 有可作業的-單-執;緒’則該程式引擎將暫停活動到自 SRAM記憶體14b送回資料為止。 藉由在每一程式引擎16a_16h内採用硬體執行環境切換 ,該硬體執行環境切換可讓具有特有程式計數器的其他執 行%境在相同的程式引擎中執行。因此,當第一執行緒 Thread—0正在等候所讀取資料送回時,諸如等的另 85246-950810.doc 1315038 =仃緒可工作。在執行期間,Η存取⑽AM記 當/1"叶1存取該,且~心正在; 該SRAM單元工作時,母, #如Thread-2相-個新的執行緒現 在可在程式引擎16中工作。Threa〇可在某—段時間中工 作’直到Thread」需要存取記憶體或執行某—其他的長執 丁寺門(作業(例如取得一匯流排介面的控制權)為止。因此 ’多緒處理器12可以同時有一匯流排作業、-SRAM作業、 及^~DRAM作業,而其中一個程式引擎咐成或操作所有 孩等作業,且使-個或多個執行環境可執行更多的工作。 硬體執行環境切換亦使各工作的完成同步。例如,兩個 執行緒可存取諸如SRAM記憶體14b等的共用記憶體資源。 當諸如SRAM控制器18b及DRAM控制器l8a等的每一各別 的功能單元完成其中一個程式引擎的執行緒或執行環境所 要求的一工作時,將回報一通知完成了 一作業之旗標。當 程式引擎16a-16h接收該旗標時,程式引擎16&_1611可決定要 開啟哪一執行緒。 硬體式多緒處理器12的一個應用例子是作為一網路處理 器。作為一網路處理器時’硬體式多緒處理器12係連接到 諸如一媒體存取控制器(Media Access Controller ;簡稱 MAC)裝置等的網路裝置,例如一 1〇/1〇〇BaseT 〇ctal MAC 或一符合IEEE 802.3的高速以太網路(Gigabit Ethernet)裝 置。一般而言,作為一網路處理器時,硬體式多緒處理器 12可連接到任何類型的通訊裝置或介面,用以接收或傳送 大量的資料。於一連網應用中工作的電腦處理系統丨0可接 85246-950810.doc -10- 1315038 收網路封包,並以一種平行的方式處理這些封包。 程式引擎中之暫存器: 請參閱圖2,圖中示出該等程式引擎16中之一例示程式引 擎16 a。忒私式引擎16 a包含一控制儲存單元3 〇,該控制错 存單元30在一例子中包含一存有4〇96個指令之RAM,每一 指令為40位元的寬度。該RAM儲存程式引擎16a所執行的一 微程式。處理器核心20 (圖1)可載入控制儲存單元3〇中之該 微程式。 除了一執行緒所局部使用的事件信號之外,程式引擎“a 採用整體性的信號狀態(signaling state)。使用信號狀態時 ”執仃緒可將-信號狀態廣播到所有的程式引擎 及等I式引學中〈任—執^緒及所有的執行绪可分支這 些信號狀態。 =文所述’程式引擎16a支援八個執行環境的多緒執行 。=。的理由是:另-執行緒發出-記憶體查詢之後 員寺到該查詢完成後才能執行更多的工作,而多緒執 在該另一執行緒發出-記憶體查詢之後即 開始執仃。行對維持程以丨擎… 行是相當重要的,這是因,料《硬體執 。多緒執行可讓該等的:取時間是相當長的 -獨立工作,而隱藏記._的=丁=數個執行緒的有 程式引擎16a為了可以得到 有其本身的暫存器組、程二、的執行環境切換,而設 關的本地暫存器。使每 〜為、及與特定執行環境相 仃%境有—份拷貝時,在每一 85246-950810.doc 1315038 次執行環境切換時將無須移動與特定執行環境相關的資訊 進出共用的記憶體及程式引擎。當其他的執行環境等候通 常為外部記憶體存取的輸入-輸出(I/O)作業完成時,或等候 來自另一執行環境或硬體單元的一信號時,快速的執行環 境切換可讓一執行環境執行運算。 一般用途暫存器 程式引擎16a維護八個程式計數器及八組與執行環境相 關的暫存器,而執行八個執行環境。有若干種與執行環境 有關的暫存器,例如若干一般用途暫存器(General Purpose Register;簡稱GPR)32、若干程式間代理人暫存器(圖中未 示出)、若干靜態隨機存取記憶體(SRAM)輸入轉移暫存器 34、若干動態隨機存取記憶體(DRAM)輸入轉移暫存器36 、若干SRAM輸出轉移暫存器38、及若干DRAM輸出轉移暫 存器40。 該等GPR 32係用於一般的程式用途。係在程式的控制下 ,唯一地讀取及寫入該等GPR 32。當將該等GPR 32用來作 為一指令的來源時,會將運算元供應到一執行資料路徑 44 ° 該執行資料路徑44可取得一個或兩個運算元,執行一運 算,且或許會窝回一結果。執行資料路徑44包含一内容可 定址記憶體(Content Addressable Memory ;簡稱CAM)45。 CAM 45的每一資料項儲存一個32位元的值,可將該32位元 的值與一來源運算元比較。係以平行的方式比較所有的資 料項,且該查詢的結果是一個6位元的值。 85246-950810.doc -12- !315〇38 當鱗GPR32被用料為—指令巾之—目㈣時,係以 ,行資料路㈣的結果窝人該等咖32。程式引擎w亦包 f轉移暫存器34、36、38、及40,且係將該等ι/〇轉移暫 存Μ來將資料轉移進出程式引擎16a、以及諸如抓趙記 憶體14a及SRAM記憶體! 4b等在程式引擎i ^外部的各 整遵暫存器 程式引擎16a亦包含轉移暫存器34、36、38、及4〇。係將 轉移暫存器34、36、38、及40用來將資料轉移進出程式引 擎16a、〃及諸如DRAM&sram等在該程式引擎外部的各 =置。圖2中示出了四類的轉移暫存[亦即輸人轉移暫存 器及輸出轉移暫存器。 當將該等輸入轉移暫存器用來作為一指令中之—來源時 ,該等輸人轉移暫存器將各運算元供應到執行資料路㈣ ;而當將輸出轉移暫存器用來作為一指令中之一目的地時 ,係以來自執行資料路徑44的結果寫入該等輸出轉移暫存 器。 本地控制及狀態暫存器(CSRd 本地控制及狀態暫存器(Control and Status Register;簡 稱CSR)37係在執行資料路徑44的外部,且存放有特定用途 的資訊。可以特殊的指令(local一csr_rd&1〇eal—csr—讀取 及寫入該等本地CSR 3 7,且存取該等本地CSR 3 7的頻度通 常係小於存取資料路徑暫存器的頻度。 下一鄰近者暫存器 程式引擎16a亦包含一百二十八128個下一鄰近者(Next 85246-950810.doc •13- 1315038 簡稱岡暫存E,該等暫存器合而被稱為膽暫 存器35。當將每一 NN暫存器35用來作為一指令中之一來源 時,該顧暫存器35亦將運算元供應到執行資料路徑44^ 不限於一鄰近的程式引擎之一外部實體、或每一ΝΝ暫存器 35所在的相同私式引擎16a寫入每一暫存器h。當指令 中將暫存器編號變碼時,係由與執行環境相關的—作業選 擇特定的暫存器,或者作為一環式作業時,係經由諸如該 等CSR暫存器中之NN—put (丽窝入位址)及簡―^ (nn讀 取位址)而選擇特定的暫存器。 ’ 一=前一鄰近的程式引擎以NN_Put作為一目的地而執行 厂指令時,使用各NN一Put暫存器。寫入該暫存器中的值所 選擇之NN暫存器,然後遞增NN_Put中之值〇27的值將繞回 到〇)。將該暫存器中之值與NN—Get暫存器中之值比較,以 便決定何時要觸發NN_Ful]^ NN_Empty狀態信號。 一當NN暫存器35被用來作為指令中的來源欄位所指定的 了來源時,使用NN_Get暫存器。讀取該暫存器的值所選擇 之NN暫存器,然後遞減NN_Put中之值(127的值將繞回到〇) :將該暫存器中之值與NN_Put暫存器中之值比較,以便決 疋何時要觸發NN_Full及NN—Empty狀態信號。 更具體而言,當將每一NN暫存器35用來作為一指令中之 一目的地時,通常係將該指令的結果資料自程式引擎16&傳 送到另—鄰近的程式引擎。另一方面,當將該NN暫存器% 用來作為一指令中之一來源時,係將指令的結果資料寫到 程式引擎16a中所選擇的NN暫存器35。並非像在將每一 nn 85246-95〇81〇.d〇c 1315038 暫存器3 5用來作為一目的地時將該等資料傳送出程式引擎 1 6a。係以將於下文中說明的一種執行環境管線化方法來使 用每一 NN暫存器35。 亦使用一本地記憶體42。本地記憶體42包含位於程式亨丨 擎16 a中之可定址的儲存單元。係在程式的控制下,唯一地 讀取及寫入本地記憶體42。本地記憶體42亦包含所有程式 引擎16共用的一些變數。程式引擎16&_1611在諸如各功能性 管線階段期間於各指定的工作中修改共用的變數。
執行環境營绫化:
每一程式引擎16支援八個執行環境的多緒執行。此種^ 式的一個理由是:另一執行緒發出一記憶體查詢之後,.交 須等到該查詢完成後才能執行更多的工作,而多緒執行习 讓一執行緒在該另一執行緒發出一記憶體查詢之後即開茶 執行。此種多緒執行的特性對維持程式引擎…他的有動 ^硬體執行是相當重要的,這是因為記憶體的存取時間 是相當長的。換言之,如果只支援單緒執行,則程式引擎 為了等候查詢的完成,將間置相當多數目的週期,因而蜗 =整體的運算速率。多緒執行可讓—程以丨擎執行跨趣 固。執行緒的有用之獨立工作,而隱藏記憶體的存取時間。 =引擎l6a-16h (圖分別具有八個可用之執行環境。 環境3ΓΤ執行環境切換’程式引擎中的八個執行 „„ 母—執行環境都有其本身的暫存器組、程式計數 行環與特定執行環境相關的本地暫存11。使每一執 Μ -份拷貝時,在每一次執行環境切換時將無須移 85246-9508l0.doc -15· 1315038 動與特定執行環境相關的資訊進出共用的記憶體及程式引 擎暫存器。當其他的執行環境等候通常為外部記憶體存取 々一 〇作業70成時’或等候來自另K亍環境或硬體單元的 一信號時,快速的執行環境切換可讓_執行環境執行運算。 現在請參閱圖5,係利用CAM 45a-45c而在程式引擎 16a_16h上維護—特定的指定工作之執行環境。係利用丽 暫存器35a_35e而以—種類似於裝配線之管線化方式處理 封匕以便將資料自—程式引擎傳送到—後續的鄰近程式 丨擎係將資料自一階段9〇a傳送到—後續的階段_,然 =自階段90b傳送到該管線的階段心,其他依此類推。換 將資料傳送到該管線的次一階段,而讓處理器週 期中之各步驟重疊。犬盆杂不—# 里®尤其备正在執行一指令時,可提取次 一指令,此即意指:任何一车 ,、, 17時間可將一個以上的指令放在 “線,,中,且每一指令係在一不同的被處理階段。 欠例如,如圖5中之例子所示,可利用_暫存器仏仙將 為料自Μ管線中之—程式引擎16傳送到次一程式引擎Μ。 ,種實施管線化處理的方法之優點在於:每—階段術·。的 =45:4=^資訊對_階段的所有八個執行 貝地有效的。當被處理的封包之最少資料必須 Γ通過執行環境管線時,可使用該執行環境管線方法。、 _g貝取/寫入記憶體作f . 丨 在記憶體寫人作業中,係在發出“命令之前,先將寫 入資料載入輸出轉移 合人而丄… 面’對於記憶體讀取 έ ’係將自一記憶體讀取的資料送回到輸入轉移暫 85246-950810.doc -16- 1315〇38 存器。於完成-記憶體作業時’可通知 當涉及大量的資料時,A τ 钒仃%境。 ^ ± ㈣4了執行網路處理器所用的先存 再送資料之讀取/寫入作業,亦Τ 3 J的先存 r Έ .. θ 、不疋使用一極寬的單一記憶 體通運,而疋可使用多個記憶體 的多個記憶體通道用來將次料W 將/、各彀序相關聯 u米將貝料漬寫到這些通道時 極寬的單一通道記憶體之使用。
可實施多個記憶體通道,以便提供先存再送網路處理器 所需的頻寬、以及極高頻率的讀取_修改-寫入作業。在一多 通道設計中’需要交插區段位址(亦即”分解,,技術)來將存取 散佈到該等通道。因此,可將資料,,分解"為諸如64至128位 元组等的較小區段大小。記憶體命令亦指定—資料段長度 。換H可使用-單—的記憶體通道來傳送資料區段, 或者可將該等資料區段散佈到多個記憶體通道(例如兩個 記憶體通道)。使用兩個記憶體通道的程序符合諸如圖⑽ 示的多緒處理器12等的網路處理器之嚴峻的效能要求,其
中涉及顯著增加的資料通訊量、1進出所要求的記憶體的 頻繁之讀取及寫入作業。 當執行資料分解時,要追蹤該作業的完成。當使用一個 記憶體通道時,係將先進先出(First_In,Fim_〇ut ;簡稱 FIFO)規則應用於該等資料區段。然而,當將該等資料區段 散佈到兩個記憶體通道時,並非在每一通道上同時完成該 作業,因而可使用追蹤程式的完成之其他程序。 當可存取記憶體晶片中之不同的記憶庫時,具有大於一 個記憶位置的一長度之記憶體作業可跨越各記憶體單元, 85246-950810.doc •17- 1315038 或者可將該等記憶體作業分類成一記憶體内的若干各別的 命令。此外,將一完成指示送回到—發出一記憶體命令的 執行環境增加了決定何時完成了一分割記憶體查詢的兩個 部分之複雜性。 為了達到此一目的,可使用一信號匯聚器邏輯(例如一旗 標或正反器)。該信號匯聚器邏輯利用記憶體命令決定記憶 體查詢是否在一記憶體控制器内的各記憶體通道或各fif〇 之間有分割。此外,該信號匯聚器邏輯設定一狀態正反器 ,用以指示—特定的記憶體查詢是預期有-個或兩個信號 。如果在記憶體控制器發出一完成信號時只預期有一個信 號’則乂即將該信號傳送到發出的處理環境。如果在偵測 到該查詢的第一信號時預期有兩個信號,則設定另一個正 反器’以便在偵測到該查詢的第二信號時可於發出的處理 緒上設定該信號。 办即’將該信號匯聚器邏輯加入讀取/寫入命令, 示該資料區段是否被分割或散佈到兩個記㈣通道。如 7龍聚以輯指示並未發生任何散你,則應用FIF0 則於70成對取後一個資料區段的處理時 將-完成信號或旗標發出到一發出的; 指示該等資料區段被㈣到兩個記憶體 ^ 個信號:⑽完成第—記憶體通道時的=期有 於芜成第二記憶體通道時的一第二 、及丨 ,當記憶體控制器自每—記憶道^收=後一種情形 該記憶體控制器傳送—完成信號。接收心成信號時 B5246-950810.doc 1315038 為了達到此一目的,程式引擎1 6a-1 6h使用一種一般性執 仃绪L戒傳遞(Generalized加―簡稱GTS)技 術八中每一執行緒可對每一 I/O命令',確認訊息”指定1至16 個仏戒例如,多緒處理器12具有16個程式引擎,每一程 式引擎執仃8個執行環境或執行緒,將需要匯聚兩個正反器 狀心機的總共2,4〇8個信號(亦即,ι6χ16χ8=2〇48)。因此, 每處理緒可使用施加到多緒處理器12的16個信號,多緒 處理器12具有16個程式引擎,而每一程式引擎具有8個執行 環境或處理绪,因而得到2048個信號。 QTS信號傳遞機例:_ GTS信號傳遞機制可有利地取㈣號匿聚邏輯,即可讓 記憶體查詢跨越兩個記憶體通道。因&,可去除用來指示 貝料區段是否散佈到兩個記憶體通道的旗標。使用gts信 號傳遞機制時’即可不需要用於跨越兩個記憶體通道或被 刀d到记隐體控制器的兩個FIFO的記憶體查詢之信號匯 聚邏輯。 如前文所述,若沒有GTS最佳化,則記憶體資料作業將 需要三個旗標:⑴用來指示是否已剖析或散佈的一旗標( 信號匯聚器邏輯或硬體旗標);⑺用來指示第一記憶體通道 的完成之一旗標(邏輯旗標);以及(3)用來指示第二記憶體 通道的完成之一旗標(邏輯旗標)。 如前文所述,記憶體資料最佳化採用邏輯軟體旗標。記 憶體控制II檢查信號匯聚器邏輯的值1果信號匯聚器邏 輯的值指示並無散佈,則記憶體控制器撿查第一旗標的值 85246-950810.doc •19- 1315038 。當以%成該憶ft通道上的作業時,即更新該旗標。如 果这值扣π有一散佈,則記憶體控制器使用兩個邏輯旗標 ,而等候來自兩個記憶體通道的完成信號。 因此’右使用兩個邏輯旗標,即可取代信號匯聚器邏輯 硬體旗標,因而有利地提供了記憶體資料轉移及處理。第 -旗標指示第-記憶體通道中的記憶體作業之完成,而第 二旗標指示第二記憶體通道中的記憶體作業之完成,或者 在替代實施例中指示資料並未被散佈,在此種情形中,係 針對記憶體作業而考慮第一旗標。 在該等資料區段被散佈到兩個記憶體通道的情形中,記 fe·體控制器接收兩個完成信號。 |哟啕個叩令的記憶體命令 求-偶數的信號1在資料段傳輸開始時完成了 該部分時,即觸發記憶體命令中指定的偶數信號。^ 料段傳輸結束時完成了該命令的 ^貝 勺β邵为時,該記憶體 器觸發該信號,而該信號是高於該記憶體命令指默 之-信號。發出該記憶體命令的執行緒檢查兩 :: 記憶體命令中指定的偶數信號以及A ° ^ 號,以便以是否完成了該記憶體作業次—較高的奇數信 在記憶體命令並未被分割的情 未發生資料的分解。亦即,對於 进 ;亚未被分割的命人 當將命令中指定的偶數信號送回到該處理緒時 s, 制器會觸發一”無分割”信號。因 了 ’ β憶體相 Μ此’發出的勃 個信號,以便決定何時完成該記憶體 丁緒祆查译 ,而不必顧及驾 85246-950810.doc •20- 1315038 '•己隐體命令是否在記憶體控制器中被分割。由於GTS信號 傳遞機制&供了在母一執行環境切換中可重複使用的信號 ,所以將每一 DRAM命令中的兩個信號之處理成本降至最 低,同時可有利地將用於信號匯聚硬體的處理器使用能有 最大的節省。 請參閱圖3,圖中示出了圖!所示之程式引擎。程式引擎 16a、16b、及16c執行各執行環境發出的讀取、寫入、及 作業。例如,程式引擎16a、16b、及16c係經由多個記憶體 通道108、11〇、112、114、116、118而連接到記憶體控制 器18c、i8d、及18e,其中該等記憶體通道提供了先存再送 作業所需的頻寬、及高頻率的讀取/寫入/修改作業。 於冗成一記憶體命令的要求時,記憶體控制器18。l8d 、及18e將一信號傳送到發出的記憶體命令要求,而該信號 指示已完成了該作業。 在諸如圖3所示的一多通道設計中,交插的區段位址將存 取散佈到該等多個記憶體通道108、11〇、112、114、116、 118。 信號120、122及124代表GTS機制的"無分割"旗標。當以 孩等”無分割"旗標信號來設定該等多個記憶體通道丨丨〇、 114、及118時,將指示並未發生資料的分割,且該等多個 記憶體通道108、112、及116決定該記憶體作業的完成,亦 即只在一個通道中轉移資料。 請參閱圖4 ’圖中示出了一記憶體作業程序2〇〇。在步驟 202中,發出諸如一讀取或寫入要求等的一〗/〇記憶體命令 85246-950810.doc -21- 1315038 要求。在步驟204中,將該記憶體命令要求散佈到兩個通道 。在步驟206中,諸如記憶體控制器1 8c等的一記憶體控制 益在第一通道上執行該記憶體命令作業的一第—部分,且 在步驟206中完成該作業。在步驟206中完成該作業的該第 部分之後’記憶體控制器18c在步驟2丨〇中將—完成信號 傳送到程式引擎1 6a。在此同時,因為已分割了該命令,所 以圮憶體控制器丨8c在步驟2 12中於第二通道上執行該記憶 令作業的一第二部分,且在步驟2丨4中完成了該作業。 於疋成之後,記憶體控制器1 8c在步驟2 16中將一完成信號 傳运到程式引擎16&<}在步驟218中,程式引擎16a等候來自 孩第一作業(步驟206至步驟210)及第二作業(步驟212至步 驟216)的一完成信號’以便觸發該I/O記憶體命令要求已完 成之信號220。 換1之’係在各記憶體控制器中將I/O記憶體命令要求剖 析為兩個命令。當在資料段傳輸開始時完成了該命令的第 邵分時,即觸發該記憶體命令中指定的偶數信號。當在 貝料段傳輸結束時完成了該命令的第二部分時,該記憶體 控制器觸發高於該記憶體命令指定的信號之一信號。如前 文所述,發出該記憶體命令的執行緒檢查兩個信號(亦即, 孩I/O記憶體命令要求中指定的偶數信號、以及次一較高的 可數信號)’以便決定現在已完成了該記憶體作業程序2〇〇。 凊參閱圖5,圖中示出了—記憶體作業程序3〇()。如前文 所述,在步驟302中,發出了諸如讀取或寫入要求等的一 ι/〇 記憶體命令要求。在步驟3〇4中,並未將該記憶體命令要求 85246-950810.doc •22· !315〇38 政佈到兩個通道。諸如記憶體控制器丨8c等的一記憶體控制 器在步驟306中於第—通道中執行該記憶體命令作業,且在 步驟308中完成了該作業。在步驟3〇8中完成了該作業之後 ,记憶體控制器18c在步驟31〇中將一完成信號傳送到程式 引擎16a。於芫成之後,在此同時,記憶體控制器18c於步 驟3 12中將一”热分割”信號傳送到程式引擎丨。程式引擎 16a在步驟314中等候來自該記憶體控制器的一完成信號。 在此種情形中,因為並未分割該命令,所以程式引擎丨6a接 收到步驟312中所產生的該"無分割”信號。因此,在步驟316 中,只使用該記憶體控制器傳送到該程式引擎的唯一的完 成信號來決定該I/O記憶體命令要求的完成。 其他實施例: 在刖文中參照圖1-5所述之例子中,電腦處理系統1〇可利 用各種網路處理器、記憶體控制器、及記憶體通道來實施 各程式引擎16。 我們S 了解,雖然已參照本發明的詳細說明而說明了本 發明,但是前文中的說明係用來舉例說明,而非限制本發 明的範圍,且係由最後的申請專利範圍之範圍來界定本發 明的範圍《其他的方面、優點、及修改係在下文的申請專 利範圍之範圍内。 【圖式簡單說明】 圖1是一處理系統之一方塊圖。 圖2是可有利地實施本發明的一實施例的圖1所示處理系 統之一詳細方塊圖。 85246-950810.doc 23· 1315038 圖3是可有利地實施本發明的一實施例的一種一般性執 行緒信號傳遞機制之一方塊圖。 圖4是示出一記憶體資料轉移作業的細節之一流程圖。 圖5是示出另一記憶體資料轉移作業之一流程圖。 【圖式代表符號說明】 10 電腦處理系統 12 硬體式多緒網路處理器 14 記憶體系統 14a 動態隨機存取記憶體 14b 靜態隨機存取記憶體 16,16a - 16h 程式引擎 18a 動態隨機存取記憶體控制器 18b 靜態隨機存取記憶體控制器 20 核心處理器 30 控制儲存單元 32 一般用途暫存器 34 SRAM輸入轉移暫存器 35,35a - 35c 下一鄰近者暫存器 36 DRAM輸入轉移暫存器 37 本地控制及狀態暫存器 38 SRAM輸出轉移暫存器 40 DRAM輸出轉移暫存器 42 本地記憶體 44 執行資料路徑 85246-950810.doc -24- 1315038 45,45a - 45c 内容可定址記憶體 90a,90b,90c 階段 108,110,112, 記憶體通道 114,116,118 18c,18d,18e 記憶體控制器 120,122,124 信號 -25- 85246-950810.doc

Claims (1)

  1. c月*日修正/更正 Γ3 1 112586號專利申請案 中文申請專利範圍替換本(96年10⑴ 拾、申請專利範圍: 1. 一種用於轉移資料之女、1 具竹 < 万法,包含下列步驟: 使;用複數個記憶體通道將資料轉㈣複數㈣式引擎; 將该貝料剖析到該複數個記憶體通道中之有選擇地— 個通道或兩個通道;以及 建立有選擇地一個遥親此A(s > 、輯狀悲或兩個邏輯狀態,用以通知 一記憶體資料轉移作業的完成。 2_如申請專利範園第丨項之方 m .. 万去進一步包含下列步驟:利 用孩複數個記憶體通道自相 、 巩目相關於该複數個程式引擎的福 數個記憶體控制器讀取資料。 3.如申請專利範圍第1項之女,土 万去’進一步包含下列步 用孩複數個記憶體通道將資料 „ ^ 科寫目關於該複數個程式 引擎的複數個記憶體控制器。 4_如申請專利範圍第1項之方法 二一加Λ 進—步包含下列步驟:建 儿個一般性執行緒信號傳遞機制。 5. 7請專利範圍第4項之方法,其中該-般性執行緒作號 “機制指定用於記憶體資料轉移作業的各信號。, 6. 如申請專利範圍第5項之方法, 丄、, 其中孩等信號包含自一至 十7Τ個信號的一範圍。 主 7. 如申請專利範圍第4項之方法,進—步包含下列 立所要轉移的資料之一資料段傳輪長度。 …建 8. 如申請專利範圍第7項之方法,其 與該記憶體資料轉移作業相關聯。ι又專輸長度係 9. 如申請專利範圍第4項之方法,進一步包含下列步 85246-961024.doc ιυ 1315038 該記憶體資料轉移作業分佈到兩個記憶體通道。 Π).如申請專利範園“項之方法,纟中該等兩個邏輯狀態包 含該-般性執行緒信號傳遞機制中之兩個正反器信號。 U.如申請專㈣圍第1G項之方法,其中該等兩個錢器信 號中、帛正反器仏號指示該記憶體資料轉移作業攸 止於該複數個記憶料道巾之_第—記㈣通道。、’、 12·如申請專,範園第i㈣之方法,其中該等兩個正反器信 唬中义弟—正反器信號指示該記憶體資料轉移作業攸 止於該複數個記憶體通道中之—第—記憶體通道,立中 該資料係被散佈到該第一記情 狀 道。 己“通道及-弟二記憶體通 13·如申請專利範圍第1G項之方法,進—步包含下列步驟: 將該資料剖析到複數個資料區段。 M.如申請專利範圍第13項之方法,其中該等被剖析的資料 區段之大小範圍係自64位元組至128位元組。 15. -種其上儲存有用㈣移資料之若干指令之儲存媒體, 當一機器執行該等指令時,將導致下列的步驟: 使用複數個記憶體通道將資料轉移到複數個程式引擎. 將該資料剖析到該複數個記憶體通道中之有選擇地一 個通道或兩個通道;以及 一建立有選擇地一個邏輯狀態或兩個邏輯狀態,用以通知 €憶體資料轉移作業的完成。 16.::請:利範圍第15項之儲存媒體,其中該儲存媒體進 ’具有用來執行下列步辨夕沪人. 扣令.利用該複數個記憶 85246-961024.doc
    引擎的複數個記憶體控制 1315038 體通道自相關於該複數個程式 器讀取資料。 其中I亥儲存媒體進 •利用該複數個記憶 程式引擎的複數個記 17.如申請專利範圍第15項之儲存媒體 一步具有用來執行下列步驟之指令 體通道將資料寫到相關於該複數個 憶體控制器。 18. 如申請專利範圍第1 5項 一步具有用來執行下列 行緒信號傳遞機制。 之儲存媒體,其中該儲存媒體進 步驟之指令:建立一個一般性執 19. 如申請專利範園第18項之儲存媒體,其中該—般性 緒信號傳遞機制指定用於記憶體資料轉移作業的各信號 20. 如申晴專利範圍第19項之儲存媒體,其中該等信號包含 自一至十六個信號的一範圍0 21. 如中料利範圍第18項之儲存媒體,其中該儲存媒體進 一步具有用來執行下列步驟之指令:建立所要轉移的資 料之一資料段傳輸長度。 / 22. 如申4專利範園第21項之儲存媒體,其中該資料段傳輸 長度係與該記憶體資料轉移作業相關聯。 23·如申叩專利範園第18項之儲存媒體,其中該儲存媒體進 步具有用來執行下列步驟之指令:將該記憶體資料轉 移作業分佈到兩個記憶體通道。 24.如申^專利範園第18項之儲存媒體,其中該等兩個邏輯 狀〜匕i邊般性執行緒信號傳遞機制中之兩個正反器 85246-961024.doc 1315038 V年―月♦曰修正/更企/袖飞^ 信號。 25. 如申請專利範園第24項之儲存媒體,其中該等兩個正 器信號中之一第一正反器作號扣;今、泣Α 反 奋彳σ就扣不该記憶體資料轉移作 業終止於該複數個記憶體通道中之一第一記憶體通道 26. 如申請專利範圍第24項之儲存媒體,其中該等兩個正。 器信號中之一第二正反哭作骑扣-今 汉m彳„唬扣不孩記憶體資料轉移 業終止S «難記憶料道中之―第―記憶體 其中該資料係被散佈到該第一記憶體通道 體通道。 "己憶 其中該儲存媒體進 將該資料剖析到若 其中該等被剖析的 27. 如申請專利範圍第24項之儲存媒體 一步具有用來執行下列步驟之指令 干較小的資料區段。 28. 如申請專利範圍第27項之儲存媒冑7…^ 29 資料區段之大小範園係自64位元組至128位^组 一種多重處理系統,包含: 複數個程式引擎,每— 控制器,兮答 式引擎係相關於複數個記憶 制…寺複數個記憶體控制 利用複數個記愤靜诵、* + 丁 r 1,驟 签、f ^ "通道來轉移資料:將該資料剖析到 寺複數個記憶體通道 • 又有選擇地一個通道或兩個通 、 釋地—個邏輯狀態或兩個邏輯狀態, 以通知一記憶體資 ^ ^ 只竹轉移作業的完成。 30.如申^專利範園第29 A <多重處理系統,進一步句冬 個一般性執行緒俨 進艾包含 唬傳遞機制。 31· —種用於轉移資料 人万法’包含下列步驟: 85246-961024.doc 1315038 Ύ,γ ., 1 d ’d ..;D . 藉由將一資料剖析到有選擇地一個記憶體通道或兩個 记憶體通道以致能該資料至—程式引擎之多個轉移;以 及 建正一般性執行序信號傳遞機制,其中一程式引擎發 出一記憶體命令及一第一數量信號,及該程式引擎檢查 忒第數量彳s娩及一第二數量信號以決定該記憶體命令 的冗成。 32. 如申請專利範圍第31項之方法,其中該i數量信號係 為偶數數I信號,及該第二數量信號係為一奇數數量 信號。 33. 如:請專利範園第31項之方法,進-步包含下列步驟: 決定孩1己憶體命令是否需要剖析資料到兩個記憶體通遒 〇 34. ^申請專利範圍第31項之方法,進-步包含下列步驟: 右这记隐to V令需要剖析資料到一第一記憶體通道及— 第二記憶體通道’於資料之單位之一部份透過該第1己 隱’通迢《轉移%成時發送指定數量信號至該程式 ,及於資料之置a + 早兀义一剩餘部分透過該第二記憶體通道 之轉移完成時發送其他數量信號至該程式引擎。 ^ ^ β專利範圍第3 1項之方法,進-步包含下列步驟: 若H記憶體命令不需要剖析資料到兩個記憶體通道,於 及圮隐命令完成時發送該第一數量信號及該第二數量 信號至該程式引擎。 36. -種用於轉移資料之方法,包含下列步驟; 85246-961024.doc 1315038 從一程式引擎發出多個記憶體命令及相關多個數量信 號; 在多個記憶體控制器決定該等記憶體命令是否需要分 解貝料到一個或兩個記憶體通道,及於各個記憶體命令 完成時送回數量信號; 在該程式引擎偵測從該等記憶體控制器送回之該等數 量信號以決定該等記憶體命令是否已被完成。 3 7.如申請專利範圍第3 6項之方法,其中該等記憶體控制器於 各個記憶體命令完成時送回一偶數數量信號及一奇數數 量信號。 3 8 ·如申請專利範圍第3 6項之方法,進一步包含下列步驟:若 —記憶體命令需要分解資料到一第一記憶體通道及一第 一 δ己憶體通道’於該資料之一部分透過該第一記憶體通道 之轉移完成時’發送一相關於該記憶體命令之第一數量信 號至該程式引擎’及於該資料之剩餘部分透過該第二記憶 體通道之轉移完成時’發送一第二數量信號至該程式引擎 〇 39.如申請專利範圍第36項之方法,進一步包含下列步驟:若 一記憶體命令不需要分解資料到兩個記憶體通道,於該資 料透過一記憶體通道轉移完成時’發送一相關於該吃慘體 命令之第一數量信號及一第二數量信號至該程式引擎。 85246-961024.doc 1315038 柒、指定代表圖: (一) 本案指定代表圖為:第(2 )圖。 (二) 本代表圖之元件代表符號簡單說明: 30 控制儲存單元 32 一般用途暫存器 34 SRAM輸入轉移暫存器 35 下一鄰近者暫存器 36 DRAM輸入轉移暫存器 37 本地控制及狀態暫存器 38 SRAM輸出轉移暫存器 40 DRAM輸出轉移暫存器 42 本地記憶體 44 執行資料路徑 45 内容可定址記憶體 捌、本案若有化學式時,請揭示最能顯示發明特徵的化學式: 85246-950810.doc
TW092112586A 2002-05-08 2003-05-08 Method and storage medium having instructions for transferring data and multiprocessing system TWI315038B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/142,372 US7376950B2 (en) 2002-05-08 2002-05-08 Signal aggregation

Publications (2)

Publication Number Publication Date
TW200405167A TW200405167A (en) 2004-04-01
TWI315038B true TWI315038B (en) 2009-09-21

Family

ID=29399884

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092112586A TWI315038B (en) 2002-05-08 2003-05-08 Method and storage medium having instructions for transferring data and multiprocessing system

Country Status (7)

Country Link
US (1) US7376950B2 (zh)
EP (1) EP1504349B1 (zh)
AT (1) ATE409910T1 (zh)
AU (1) AU2003269404A1 (zh)
DE (1) DE60323828D1 (zh)
TW (1) TWI315038B (zh)
WO (1) WO2003098452A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599361B2 (en) * 2004-07-02 2009-10-06 P-Cube Ltd. Wire-speed packet management in a multi-pipeline network processor
US7664127B1 (en) 2005-04-05 2010-02-16 Sun Microsystems, Inc. Method for resolving mutex contention in a network system
US20060236011A1 (en) * 2005-04-15 2006-10-19 Charles Narad Ring management
US20070245074A1 (en) * 2006-03-30 2007-10-18 Rosenbluth Mark B Ring with on-chip buffer for efficient message passing
US7926013B2 (en) * 2007-12-31 2011-04-12 Intel Corporation Validating continuous signal phase matching in high-speed nets routed as differential pairs
TWI425795B (zh) * 2010-07-29 2014-02-01 Univ Nat Chiao Tung 追蹤網路封包之處理程序的方法
US20120166686A1 (en) * 2010-12-22 2012-06-28 Joerg Hartung Method, apparatus and system for aggregating interrupts of a data transfer
GB2495959A (en) 2011-10-26 2013-05-01 Imagination Tech Ltd Multi-threaded memory access processor

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526691B2 (ja) * 1990-03-02 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラの制御方法
AU2476192A (en) * 1991-08-16 1993-03-16 Multichip Technology High-performance dynamic memory system
EP0630499A4 (en) * 1992-03-09 1996-07-24 Auspex Systems Inc ACCELERATION SYSTEM WITH NON-VOLATILE, PROTECTED, WRITABLE RAM CACHE.
IL105638A0 (en) * 1992-05-13 1993-09-22 Southwest Bell Tech Resources Storage controlling system and method for transferring information
US5689678A (en) * 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
US5463643A (en) * 1994-03-07 1995-10-31 Dell Usa, L.P. Redundant memory channel array configuration with data striping and error correction capabilities
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
JPH08278916A (ja) * 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
US5615392A (en) * 1995-05-05 1997-03-25 Apple Computer, Inc. Method and apparatus for consolidated buffer handling for computer device input/output
US6308248B1 (en) 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
JPH10283329A (ja) * 1997-04-02 1998-10-23 Matsushita Electric Ind Co Ltd メモリ排他制御方法
US6643746B1 (en) 1997-12-24 2003-11-04 Creative Technology Ltd. Optimal multi-channel memory controller system
US6397273B2 (en) * 1998-12-18 2002-05-28 Emc Corporation System having an enhanced parity mechanism in a data assembler/disassembler for use in a pipeline of a host-storage system interface to global memory
US6334159B1 (en) * 1998-12-22 2001-12-25 Unisys Corporation Method and apparatus for scheduling requests within a data processing system
US6708248B1 (en) * 1999-07-23 2004-03-16 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
US6370668B1 (en) * 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
US6370596B1 (en) * 1999-08-03 2002-04-09 Chameleon Systems, Inc. Logic flag registers for monitoring processing system events
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6625654B1 (en) 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6785835B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Raid memory
US6622217B2 (en) * 2000-06-10 2003-09-16 Hewlett-Packard Development Company, L.P. Cache coherence protocol engine system and method for processing memory transaction in distinct address subsets during interleaved time periods in a multiprocessor system
US6622218B2 (en) * 2000-06-10 2003-09-16 Hewlett-Packard Development Company, Lp. Cache coherence protocol engine and method for efficient processing of interleaved memory transactions in a multiprocessor system
JP2005196490A (ja) * 2004-01-07 2005-07-21 Hitachi Ltd データ多重化のためのシステム及び方法

Also Published As

Publication number Publication date
US7376950B2 (en) 2008-05-20
EP1504349B1 (en) 2008-10-01
ATE409910T1 (de) 2008-10-15
WO2003098452A1 (en) 2003-11-27
DE60323828D1 (de) 2008-11-13
US20030212852A1 (en) 2003-11-13
TW200405167A (en) 2004-04-01
EP1504349A1 (en) 2005-02-09
AU2003269404A1 (en) 2003-12-02

Similar Documents

Publication Publication Date Title
US6671827B2 (en) Journaling for parallel hardware threads in multithreaded processor
US6629237B2 (en) Solving parallel problems employing hardware multi-threading in a parallel processing environment
TWI229259B (en) A method and related apparatus and computer program product for distributed memory control and bandwidth optimization
EP1236088B1 (en) Register set used in multithreaded parallel processor architecture
US7546444B1 (en) Register set used in multithreaded parallel processor architecture
CA2391833C (en) Parallel processor architecture
US6668317B1 (en) Microengine for parallel processor architecture
US7822885B2 (en) Channel-less multithreaded DMA controller
US7302549B2 (en) Processing packet sequence using same function set pipelined multiple threads spanning over multiple processing engines and having exclusive data access
US7526636B2 (en) Parallel multithread processor (PMT) with split contexts
US6944850B2 (en) Hop method for stepping parallel hardware threads
TWI226576B (en) Registers for data transfers
US20050060705A1 (en) Optimizing critical section microblocks by controlling thread execution
US20100045682A1 (en) Apparatus and method for communicating between a central processing unit and a graphics processing unit
US7610451B2 (en) Data transfer mechanism using unidirectional pull bus and push bus
TWI315038B (en) Method and storage medium having instructions for transferring data and multiprocessing system
CN108845829A (zh) 一种系统寄存器访问指令的执行方法
US20150268985A1 (en) Low Latency Data Delivery
US7191309B1 (en) Double shift instruction for micro engine used in multithreaded parallel processor architecture
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JPH0340169A (ja) 多重プロセツサシステムおよび複数の処理装置を制御する方法
JPH0816539A (ja) データ転送方法、それを実現する分散メモリ型並列計算機および要素プロセッサ
JPH02136949A (ja) 入出力制御装置
JPH03223980A (ja) 計算機方式
JP2001184322A (ja) マルチプロセッサシステム

Legal Events

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