TWI222011B - Memory shared between processing threads - Google Patents

Memory shared between processing threads Download PDF

Info

Publication number
TWI222011B
TWI222011B TW090100117A TW90100117A TWI222011B TW I222011 B TWI222011 B TW I222011B TW 090100117 A TW090100117 A TW 090100117A TW 90100117 A TW90100117 A TW 90100117A TW I222011 B TWI222011 B TW I222011B
Authority
TW
Taiwan
Prior art keywords
data
stack
scope
patent application
command
Prior art date
Application number
TW090100117A
Other languages
English (en)
Inventor
Gilbert Wolrich
Matthew J Adiletta
William Wheeler
Daniel Cutter
Debra Bernstein
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
Application granted granted Critical
Publication of TWI222011B publication Critical patent/TWI222011B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Seal Device For Vehicle (AREA)
  • Glass Compositions (AREA)

Description

^22011 A7 ^^ -------B7________ 五、發明說明(1 ) 發明背景 本發明相關於在處理線串間共享的記憶體。 —電腦線申爲一執行工作的電腦指令序列及流出。—電 腦線串結合一組的資源及關聯。 發明概要 在本發明的一般觀點中,一種方法包含包含藉由第—處 理器將一資料推進一堆疊而由第二處理器將此資料擊出 堆疊。 本發明的優點與其他特色將由下面的説明及申請專利範 圍變得明顯。 圖示簡述 圖1爲採用以硬體爲基礎的多線串處理器之系統方 圖。 ' 圖2爲採用圖1以硬體爲基礎的多線串處理器之微引擎的 方塊圖。 圖3爲顯示在圖1及2微引擎上執行的兩個線串的指令集 方塊圖。 1 圖4爲圖1顯示所選擇包含堆疊模組之處理器的子系統的 系統簡化方塊圖。 圖5 A爲顯示圖4堆疊模組的記憶體元件方塊圖。 圖5 B爲顯示圖4堆疊模組替代實做的記憶體元件方塊 圖。 圖6 A爲從圖5 A 1己憶體元件擊出資料的處理之流程圖。 圖6 B爲顯示在圖6 A的擊出處理後圖5 A的記憶體元件的 -4- ^紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) "------- (請先閱讀背面之注音?事項再填寫本頁} 1_1 ϋ I —Mi I ϋ ϋ - · ϋ ·ϋ ϋ 1 ·ϋ .1 ^1 I ϋ ^ 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 1222011 A7 __Β7_______ 五、發明說明(2 ) 方塊圖。 圖7 Α爲將資料推到圖6記憶體元件的處理流程圖。 圖7 B爲顯示在圖7 A的推入處理後圖6 B的記憶體元件方 塊圖。 圖8爲顯示用來實做一堆疊模组之兩堆疊的記憶體元件 方塊圖。 詳細説明 參考圖1,一系統1 0包含一平行的,以硬體爲基礎的多 線串處理器1 2。硬體爲基礎的多線串處理器1 2連結到一 匯流排1 4、一記憶體系統1 6及一第二匯流排1 8。此匯流 排14符合周邊元件互連界面,版本2.1,1995年6月1日制 定的(PCI)。此系統1 0對於可分解爲平杆子工作或功能的 工作特別有11。特定的硬體爲某读的吝绐电處理器1 2對於 頻寬導向的工作比對延遲導向的右用。冲·麻骑鼠基礎的多 線串處理器1 2有多個微引螫2 2,矣一個有多個硬體控制 的線串,其可以同時的作用祐獨立的執行一工作。 此硬體爲基礎的多線串處理器1 2.還包含中央控制器 2 0,其協助載入微程式碼控制硬體爲基礎的多線串處理器 12的其他資源並執行其他一般目的的電腦形態功能,例如 處理通訊協定,例外處理以及封包處理的額外支援,在那 裡微引擎將封包傳出做更詳盡的處理,例如邊界條件。& 一具體實例中’這個處理器20爲strongArm (TM)(StrongArm爲ARM有限公司的註册商標,英國)爲美 礎的架構。此一般目的的處理器2 0有一作業系統。透過這 -5- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁)
ϋ ϋ ϋ ki— ϋ ftn ^ · ϋ ·ϋ ΚΜϋ Βϋ n ϋ ϋ I ρ 122201 i A7 B7 五、發明說明(3 經濟部智慧財產局員工消費合作社印製 個作業系統,此處理器2 0可呼叫在微引擎22a-22f運作的 函數。此處理器2 0可以使用任何支援的作業系統,最好是 即時的作業系統。針對以StrongArm架構實做的核心處理 器’作業系統例如,Microsoft NT real-time 及 VXWorks 及 uC/OS,可以使用一個可在網際網路上httn://www.i]nn.-取得的免費作業系統。 硬體爲基礎的多線串處理器丨2還包含複數個功能性的微 引擎22a-22f。功能性的微引擎(微引擎3)22心22£每一個在 硬體中維護複數個程式計數器以及與此程式計數器有關的 狀態。實際上,對應的複數個線串集可以同時在每一個微 引擎22a-22f作用,而在任一時間點上只有一個實際在運 作0 在一具體實例中,如顯示的有六個微引擎22a-22f。Each 微引擎22a-22f有能力處理四個硬體線串。此六個微引擎 22a-22f操作共用的資源,包含記憶體系統1 6以及匯流排 界面2 4及2 8。此記憶體系統1 6包含一同步的動態隨機存 取記憶體(SDRAM)控制器2 6 a以及靜態隨機存取記憶體 (SRAM)控制器2 6b。SDRAM記憶體1 6 a及SDRAM控制器 2 6 a通常用來處理大量的資料,例如,處理來自網路封包 的網路裝載物。此SRAM控制器2 6 b及SRAM記憶體1 6 b係 用在低延遲、快速存取工作的網路實做,例如,存取查閲 資料表,核心處理器2 0的記憶體等等。 這六個微引擎22a-22f根據此資料的特徵或存取SDRAM 16a或SRAM 16b。因此,低延遲、低頻寬的資料儲存在 6- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) % n ϋ n n n ϋ ϋ·"-口t _ ϋ ·ϋ n n -ϋ .1-1 n 1 ρ 經濟部智慧財產局員工消費合作社印製 1222011 A7 B7__ 五、發明說明(4 ) SRAM中及從之取出,反之延遲較不重要的較高頻寬資 料,儲存在SDRAM中及從之取出。此微引擎22a-22f可以 對SDRAM控制器2 6 a或SRAM控制器1 6 b執行記憶體參考 指令。 硬體多線串的優點可由SRAM或SDRAM記憶體存取加以 説明。如一範例,來自微引擎的一 Thread_0的SRAM存取 要求,將使得SRAM控制器2 6 b起始對SRAM記憶體1 6 b的 存取。此SRAM控制器控制SRAM匯流排的屬性,存取 SRAM 16b,從SRAM 16b取回資料,並將資料傳回到一要 求微引擎22a-l2b。在SRAM存取期間,如果微引擎例如, 2 2 a只有單一個線串可以運作,該微引擎在資料從SRAm 傳回前將會處於閒置狀態。藉由在每一個微引擎22a-22f内 採用硬體關聯交換,此硬體關聯交換可以讓獨一程式計數 器的其他關聯在該相同的微引擎中執行。因此,另一個線 串,例如,Thread一1可以在第一線串,例如,Threa(L〇, 在等待讀取資料傳回的同時工作。在執行期間内,
Thread」可以存取SDRAM記憶體16a。當Thread」在 SDRAM單元上運作,而Thread—(^+SRAM單元運作時,一 新的線串’例如,Thread一2可以在微引擎22a中運作。 Thread」可以運作一特定時間量,直到它需要存取記憶體 或執行某些其他長延遲時間的動作,例如存取一匯流排界 面。因此,同時的,處理器丨2可以有一匯流排動作, SRAM動作及SDRA1V[動作全部都完成或是對一微引擎22a 運作並且還有一個線串可以在此資料路徑中處理更多工 本紙張尺度適用中國國家標準(CNS)A4規格Ιο x 297公6 (請先閱讀背面之注意事項再填寫本頁) %· . 1222011 A7 B7 五、發明說明(5 ) 作〇 此硬體關聯又換還將工作的完成同步化。例如,兩個線 串可以擊中相同的共用資源,例如SRAM。這些分別功能 單元的每一個,例如FBUS界面28、SRAM控制器26&及 SDRAM控制器26b,在其完成要求的工作時從其一微引擎 、、泉串關聯回粮一旗標通知一動作的完成。當此微引擎接收 到此旗標時,此微引擎可以決定要打開那一個線串。 硬體基礎的多線串處理器12應用的一個範例是網路處理 器。在做爲網路處理器時,此硬體基礎的多線串處理器12 界接到網路裝置,例如媒體存取控制器裝置,例如1〇/1〇〇
BaseT Octal MAC 13a或是Gigabit乙太網路裝置1 3b。此
Gigabit乙太網路裝置丨3b符合IEEE 8〇23z標準,1998年6 月認可的。大體上,在做爲網路處理器時,硬體基礎的多 線串處理器1 2可以界接任何形態的通訊裝置或是接收/送 出大量資料的界面。在一網路應用中工作的通訊系統丨〇可 以接收複數個網路封包從裝置i3a、13b並以平行方式處理 那些封包。利用此硬體基礎的多線串處理器12,每一個網 路封包可以獨立的被處理。 處理器1 2用途的另一個範例是後記處理器的印表引擎或 是儲存子系統,也就是RAID磁碟儲存的處理器。另一用 途是配對引擎。以證券業爲例,電子交易的到來需要使用 電子配對引擎來配對買方與賣方的訂單。這些及其他工作 的平行形態可以在系統1 〇中完成。 此處理器1 2包含一匯流排界面2 8,其連接處理器與第 8- 本紙張尺度適用中國國豕標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注咅?事項再填寫本頁) %- 訂---------_' 經濟部智慧財產局員工消費合作社印製 1222011 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(6 ) 二匯流排1 8。在一具體實例中的匯流排界面2 8連結處理 器1 2與所謂的FBUS 18(FIF0匯流排)。此FBUS界面2 8負 責控制與界接處理器12與FBUS 18。此FBUS 18爲64-位元 寬的FIFO匯流排,用來界接媒體存取控制器裝置。 此處理器1 2包含第二屆面,例如p c I匯流排界面2 4,其 連結在P CI 14匯流排上的其他系統元件與處理器1 2。此 P C I匯流排界面2 4 ’提供到記憶體1 6,例如,SDRAM記 憶體1 6 a的高速資料路徑2 4 a。透過該路徑資料可以藉由 直接記憶體存取(DMA)轉移快速的從SDRAM 16a通過PCI 匯流排1 4。硬體基礎的多線串處理器1 2支援影像轉移。 此硬體基礎的多線串處理器1 2可以採用複數個d Μ A通 道,如此在其中一個D Μ A轉移標的爲忙碌時,另一個 DMA通道可以替代此pci匯流排來遞送資訊到另一個標 的來維持處理器1 2的高效率。另外,此p c I匯流排界面 2 4支援標的及主控操作,標的操作爲匯流排1 4上的附屬 裝置透過附屬至標的操作的讀取與寫入來存取SDRAMs的 操作。在主控操作中,處理器核心2 〇.直接送出資料到p c工 界面24或直接從之接收資料。 每一個功能單元連結到一或多個内部匯流排。如下面説 明的,内部匯流排爲雙,3 2位元匯流排(也就是,一個匯 流排用來讀取一個用來寫入)。硬體基礎的多線串處理器 1 2係架構來讓處理器1 2内的内部匯流頻寬的加總超過連 接到此處理器1 2的外部匯流排頻寬。此處理器丨2包含一 内部核心處理器匯流排3 2,例如A S B匯流排(高等系統匯 -9 - (請先閱讀背面之注意事項再填寫本頁) -½½. 訂--------- ,· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1222011
五、發明說明(9 資料爲有效的或已送出。轉移暫存器庫7 8及8 ο都經由資 料路徑連接到執行方塊(ΕΒ〇χ)76。在一實做中,此讀取轉 移暫存器有64個暫存器及寫入轉移暫存器有64個暫存 器。 參考圖3 ’處理器12有分別在微引擎22a及22b中執行 的處理線串4 1及4 2。在其他的例子中,線串4 1及4 2可以 在相同的微引擎中執行。此處理線串可以共用或不共用其 間的資料。例如,圖3中,處理線串41接收資料43並加以 處理來產生資料44。處理線串42接收並處理資料44來產 生輸出資料45。線串41及42同時作用。 因爲微引擎22a及22b共用SDRAM 16a及SRAM 16b(記憶 體),一個微引擎22a可能需要指定記憶體區段做排它的使 用。爲有助於有效的分配記憶體區段,此Sdram記憶體 分割承記憶體區段,參考爲緩衝器。緩衝器中的記憶體位 置共用一共同的位址前置,或指標器。此指標器被處理器 用作緩衝器的識別。 目前未被處理線串使用的緩衝器指標器藉由將此指標推 入到間置的記憶體堆疊來管理。一線串可以藉由將一指標 擊出此堆登來分配一緩衝器給此線串使用,並利用使指標 來存取對應的緩衝器。當一處理線串不再需要一分配給此 處理線串的緩衝器’此線串將此緩衝器指標推入到此堆疊 讓其他線串可以使用此緩衝器。 線串41及42有處理器指令集46、47其分別包含一 ••PUSH” 46a及一,TOP” 47A指令。在執行或此,,pusH"i 此 -12 _ 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公釐) Γ睛先閱讀背面之注咅?事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 1222011
五、發明說明(12 ) 經濟部智慧財產局員工消費合作社印製 邏輯將指定SRAM中的一記憶體位置來儲存單元的資料(資 料),其被推入到堆疊上。推入堆疊的資料可以是文字、 數字資料或甚至是另一個記憶體位置的位址或指標。 參考圖6A,要將資料擊出儲存在SRAM暫存器中的 堆疊,線串42執行1〇 i指令”P〇P #1,,。此擊出指 擎22指令集的部份。此擊出指令在匯流排”上傳送到控 制邏輯51做堆疊的處理。控制邏輯51解碼1〇2擊出^ 令。此控制邏輯還決定丨03暫存器,其包含在指令中參考 的堆疊指標,根據擊出指令的引數。因爲擊出指令的引數 爲"#i",對應的暫存器爲(51。此控制邏輯51傳回1〇4,Qi 暫存器的内容,到處理線串42的關聯。圖5 A的堆疊將傳 回"OxC5"。處理線串42接收107,qi暫存器的内容,其爲 ”OxC5n,並利用1 〇 8接收到的内容來存取來自對應堆疊緩 衝器6 1 b資料,藉由將後置附加到内容中。 控制邏輯27讀取1〇5,儲存在(^丨暫存器中的位址(〇xC5) 的内容(OxAl)。控制邏輯27儲存1〇6,在Qi暫存器中的 讀取内容(OxAl)來指示0xC5已從堆疊中移除而〇χΑ1現在是 堆疊頂的資料項。 參考圖6 Β ’將説明在圖6 Α動作後堆疊的狀態。如所 不’暫存器Q 1現在包含位址〇χΑ1,其爲先前堆疊上第二 個資料項的位址。另外,先前堆疊緩衝器6丨b的位置(圖 5A中)現在疋處理緩衝器65,其被線串42所用。因此, 線串42已將堆疊緩衝器61b從堆疊6〇中移除並配置緩衝器 6 1 b供自己使用。 -15- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) (請先閱讀背面之注意事項再填寫本頁) 訂!——擎jtL. 1222011
經濟部智慧財產局員工消費合作社印制衣 五、發明說明(13 ) 參考圖7 A ’將説明把緩衝器加到堆疊中的處理。線串 41將處理緩衝器62(顯示在圖6B中)推到堆疊上,藉由執 行2 0 1指令"PUSH # 1 ΟχΟ 1 ”。引數〇χ〇!爲緩衝器6 2的指 標’因爲它是緩衝器中位置的位址空間共同的前置。此推 入指令在匯流排5 5上傳送到控制邏輯5 1。 在接收到推入指令時,控制邏輯5 1解碼2 〇 2指令並決定 203,對應此指令的SRAM暫存器,根據推入指令的第二 個引數。因爲此第二個引數爲”#1”,此對應暫存器爲Q1。 此控制邏輯5 1從推入指令的第三個引數(〇χ〇1)決定出要推 入的位址。此控制邏輯決定2 〇 5,Q 1暫存器的内容,藉由 謂取暫存器位置的値。此値OxAl爲圖6Β堆疊中Q1暫存器 的内谷。此控制邏輯儲存206,Q1暫存器内容(〇xai)在位 址爲推入位址(0x01)的SRAM位置中。此控制邏輯接著儲 存207,推入位址(0x01)在qi暫存器中。 參考圖7 B,將説明在圖7 A動作後的堆疊内容。如示, 此SRAM暫存器Q 1,包含堆疊上第一位置的位址,現在爲 0x01。堆疊上第一位置的位址也是堆疊緩衝器6 t d的位 址,其先前爲線串4 1使用的處理緩衝器6 2。此位置 OxAl,其爲堆疊上第一資料項,現在是堆疊上的第二資料 項。因此,線串41將堆疊緩衝器61 d加到堆疊,使之可分 配給其他線串。線串4 2可稍後配置此堆疊緩衝器6丨d給自 己使用’藉由將之擊出堆疊,如之前圖6 a説明的。 參考圖8’弟一堆疊60b(虛構中顯示的)可以實做在相同 的堆疊模組中,藉由使用第二SRAM控制暫存器來儲存第 -16 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) ' ----------- (請先閱讀背面之注意事項再填寫本頁) i 一 -------訂---------^w.

Claims (1)

1222011 益_正替換頁I D8]££^么月"且j 第0901001 π號專利_請案 土文申年6月) 申Μ專利範圍 1. 一種操作處理線串之方法,其包含: 由:-處徑線串將_資料推入到一堆叠上,·以及 由第二處理線串將此資料擊出堆疊。 2·如申請專利範圍第1项的方法’其中此推入包含: 引:弟―線串上執行—推入命令,此推入命令至少有— 決定目前堆疊資料的指標, 決疋與此推入命令引數結合的位置, 將決定出的指標儲存在此決定的位置, 標\ η ^ Λ疋出位^結合的指標,目前堆疊資料指 3. 如二請專利範圍第2項的方法,其中衫—位置包各·· 解碼此推入命令。 ° 4. 如申請專利範圍第2項的方法,其中決定_位 · 的 位7擊出命令的引數儲存在與此推入命令引數;合 理 5·如申請專利範圍第2項的方法,其中該推入命 器命令以及作業系統呼叫中的至少一個。 7疋處 6·如申請專利範圍第丨項的方法,其中擊出包& · 由第二處理線♦執行擊出命令, 口 決定出目前堆疊資料的指標, 將決定出的指標傳回第二處理線季, 從結合目前堆疊資料指標的位置取回前 的指標,以及 再®貝枓 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公董) 2 2 2
將取回的指標指定為目前堆疊資料的指標。 7·如申請專利範圍第6項的方法,其中結人 σ曰則堆疊資料 才曰fe的位置為其位址等於此目前堆疊资 i貝' 枓指標值的位 置。 8.如申請專利範圍第6項的方法,其中結人_ σ㈢則堆璺資料 指標的位置為其位址等於一差異值與目 堆®資料指標 值的和足位置。 9·如申請專利範圍第6項的方法,其中擊出命令為處理哭 指令或作業系統呼叫中的至少一個。 ^ 10·如申請專利範圍第1項的方法,其還包含·· 裝 儲存資料在記憶體缓衝器中,其可利 4用推入到此堆疊 上的資料的緩衝器指標來存取。 11.如申凊專利範圍第1項的方法,其還包含: 利用此擊出資料作為緩衝器指標來存取儲存在記憶體 緩衝器的資訊。 Κ 12·如申清專利範圍第1項的方法,其還包含: 將弟一資料推入到堆©上的第三處理線串。 13·如申請專利範圍第1項的方法,其還包含: 擊出堆疊第二資料的第三處理線串。 14. 一種多線串系統,其包含: 一堆疊模組,其藉由將之推入到堆疊中儲存資料而處 理線串可以藉由將資訊擊出此堆疊來取回資訊, 一第一處理線串,其有包含至少一個將資料推入堆疊 上的命令之第一命令集,以及 -2- 本纸張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) 六、申請專利範圍 個將資料擊出堆叠 其中第一與第二處理線 其中第一與第二處理線 其中分別的處理引擎係 其中此堆疊模組及此處 其中此第一與第二命令 一第二處理線•,其有包含至少 的一命令之第二命令集。 如申請專利範圍第丨4項的系統 串在單一處理引擎上執行。 16.如申請專利範圍第丨4項的系統 争在分別的處理引擎上執行。 17·如申請專利範圍第丨6項的系統 貫做在相同的積體電路上。 18·如申請專利範圍第1 4項的系統 理線串係在相同的積體電路上。 19.如_請專利範圍第1 4項的系統 集為處理器指令集與作業系統指令集的至少一個 肌如申請專利範圍第14項的系,统,其還包含匯流排界面 用在至少一個處理線串與此堆疊模組間的通訊。 21· —種堆疊模組,其包含: 控制邏輯,其回應來自至少兩個處理線串的命令,出 控制邏輯儲存資料在堆疊結構上來回應推入命令γ並孩 堆疊取回資料來回應擊出命令。 P 7 ^ 22·如申請專利範圍第2 }項的堆疊模組,還包含一釺人堆黑 上的最近儲存資料的堆疊指標。 & 23.如_請專利範圍第22項的堆疊模組,還包含與堆疊上第 一'貝料結合的記憶體位置,此第二記憶體位置包本· 一與第二資料結合的指標,其在該第1料=诸存在 堆疊上。 -3-
本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
1222011 六、申請專利範圍 24. 如申請專利範圍第2 2項的堆疊模組,還包含結合第二堆 疊上最近儲存的資料的第二堆疊指標。 25. 如申請專利範圍第2 2項的堆疊模組,其中此堆疊指標為 一暫存器或處理器。 26. 如申請專利範圍第2 3項的堆疊模組,其中該記憶體位置 包含SRAM記憶體。 27. 如申請專利範圍第2 1項的堆疊模組,其中命令為處理器 指令。 28. 如申請專利範圍第2 1項的堆疊模組,其中命令為作業系 統指令。 29. —種包含儲存電腦邏輯之電腦可讀取媒體的物件,此電 腦邏輯包含: 一堆疊模組,組態來儲存來自第一處理線串的資料, 藉由將資料推入到堆疊上並為第二處理線串取回此資 料,藉由將資料擊出堆疊,此堆疊模組回應第一處理線 串的命令將資料儲存在堆疊上以及第二處裡線串命令來 從堆疊取回資料。 30. —種包含儲存電腦可執行指令之電腦可讀取媒體的物 件,此指令使得處理器: 儲存來自第一處理線串的資料,藉由執行一指令來將 資料堆入到堆疊上;以及 為第二處理線串取回資料,藉由執行指令將資料從堆 疊擊出供第二線_使用。 -4- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
TW090100117A 2000-01-05 2001-01-03 Memory shared between processing threads TWI222011B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/479,377 US6631462B1 (en) 2000-01-05 2000-01-05 Memory shared between processing threads

Publications (1)

Publication Number Publication Date
TWI222011B true TWI222011B (en) 2004-10-11

Family

ID=23903749

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090100117A TWI222011B (en) 2000-01-05 2001-01-03 Memory shared between processing threads

Country Status (10)

Country Link
US (2) US6631462B1 (zh)
EP (1) EP1247168B1 (zh)
CN (1) CN1253784C (zh)
AT (1) ATE280972T1 (zh)
AU (1) AU2280101A (zh)
DE (1) DE60015395T2 (zh)
HK (1) HK1046180B (zh)
SG (1) SG149673A1 (zh)
TW (1) TWI222011B (zh)
WO (1) WO2001050247A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI417792B (zh) * 2007-02-06 2013-12-01 Ibm 在處理器系統之指令階使資源分配識別之方法及裝置

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030095967A1 (en) * 1999-01-25 2003-05-22 Mackay Fabienne BAFF, inhibitors thereof and their use in the modulation of B-cell response and treatment of autoimmune disorders
US6668317B1 (en) 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6427196B1 (en) 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US7546444B1 (en) 1999-09-01 2009-06-09 Intel Corporation Register set used in multithreaded parallel processor architecture
US7191309B1 (en) 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
CA2383531A1 (en) 1999-09-01 2001-03-08 Intel Corporation Instruction for multithreaded parallel processor
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6307789B1 (en) 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US7620702B1 (en) 1999-12-28 2009-11-17 Intel Corporation Providing real-time control data for a network processor
US6625654B1 (en) 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6631430B1 (en) 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6976095B1 (en) 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US7480706B1 (en) 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US6584522B1 (en) 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US7020871B2 (en) 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US7216204B2 (en) 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7487505B2 (en) 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US7225281B2 (en) 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US6868476B2 (en) 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7299470B2 (en) * 2001-09-13 2007-11-20 International Business Machines Corporation Method and system for regulating communication traffic using a limiter thread
US7126952B2 (en) 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US7158964B2 (en) 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US6934951B2 (en) 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7610451B2 (en) 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7181594B2 (en) 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US7437724B2 (en) 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7337275B2 (en) 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7352769B2 (en) 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7275247B2 (en) * 2002-09-19 2007-09-25 International Business Machines Corporation Method and apparatus for handling threads in a data processing system
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US6941438B2 (en) 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7233335B2 (en) * 2003-04-21 2007-06-19 Nividia Corporation System and method for reserving and managing memory spaces in a memory resource
US7443836B2 (en) 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
US7213099B2 (en) 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
JP4586526B2 (ja) 2004-02-27 2010-11-24 ソニー株式会社 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム
JP2005276165A (ja) * 2004-02-27 2005-10-06 Sony Corp 情報処理装置、ネットワークシステム状況呈示方法およびコンピュータプログラム
US7418540B2 (en) * 2004-04-28 2008-08-26 Intel Corporation Memory controller with command queue look-ahead
CN100349142C (zh) * 2004-05-25 2007-11-14 中国科学院计算技术研究所 一种用于虚拟共享存储系统的远程取页方法及网络接口卡
US20060067348A1 (en) * 2004-09-30 2006-03-30 Sanjeev Jain System and method for efficient memory access of queue control data structures
US7277990B2 (en) 2004-09-30 2007-10-02 Sanjeev Jain Method and apparatus providing efficient queue descriptor memory access
US7555630B2 (en) 2004-12-21 2009-06-30 Intel Corporation Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit
US7418543B2 (en) 2004-12-21 2008-08-26 Intel Corporation Processor having content addressable memory with command ordering
US20060140203A1 (en) * 2004-12-28 2006-06-29 Sanjeev Jain System and method for packet queuing
US7467256B2 (en) 2004-12-28 2008-12-16 Intel Corporation Processor having content addressable memory for block-based queue structures
DE102005026721A1 (de) * 2005-06-09 2007-01-11 Rohde & Schwarz Gmbh & Co. Kg Verfahren zur Speicherverwaltung von digitalen Recheneinrichtungen
US20070044103A1 (en) * 2005-07-25 2007-02-22 Mark Rosenbluth Inter-thread communication of lock protected data
US7853951B2 (en) * 2005-07-25 2010-12-14 Intel Corporation Lock sequencing to reorder and grant lock requests from multiple program threads
US20070124728A1 (en) * 2005-11-28 2007-05-31 Mark Rosenbluth Passing work between threads
US20070157030A1 (en) * 2005-12-30 2007-07-05 Feghali Wajdi K Cryptographic system component
US8051163B2 (en) * 2006-05-11 2011-11-01 Computer Associates Think, Inc. Synthetic transactions based on system history and load
US8031612B2 (en) 2008-09-11 2011-10-04 Intel Corporation Altering operation of a network interface controller based on network traffic
US8819700B2 (en) * 2010-12-22 2014-08-26 Lsi Corporation System and method for synchronous inter-thread communication
US10725997B1 (en) * 2012-06-18 2020-07-28 EMC IP Holding Company LLC Method and systems for concurrent collection and generation of shared data
US9424027B2 (en) * 2013-07-29 2016-08-23 Ralph Moore Message management system for information transfer within a multitasking system
US9483272B2 (en) 2014-09-30 2016-11-01 Freescale Semiconductor, Inc. Systems and methods for managing return stacks in a multi-threaded data processing system
CN105868014A (zh) * 2016-04-08 2016-08-17 京信通信技术(广州)有限公司 内存优化的队列方法和系统
US10901887B2 (en) * 2018-05-17 2021-01-26 International Business Machines Corporation Buffered freepointer management memory system
CN115712902B (zh) * 2022-11-28 2026-04-17 国网山东省电力公司信息通信公司 面向可执行文件的off-by-one的漏洞检测方法及系统

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3373408A (en) * 1965-04-16 1968-03-12 Rca Corp Computer capable of switching between programs without storage and retrieval of the contents of operation registers
BE795789A (fr) * 1972-03-08 1973-06-18 Burroughs Corp Microprogramme comportant une micro-instruction de recouvrement
IT986411B (it) * 1973-06-05 1975-01-30 Olivetti E C Spa Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario
US3889243A (en) * 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US4016548A (en) * 1975-04-11 1977-04-05 Sperry Rand Corporation Communication multiplexer module
CH584488A5 (zh) * 1975-05-05 1977-01-31 Ibm
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
JPS56164464A (en) * 1980-05-21 1981-12-17 Tatsuo Nogi Parallel processing computer
US4831358A (en) * 1982-12-21 1989-05-16 Texas Instruments Incorporated Communications system employing control line minimization
US4745544A (en) * 1985-12-12 1988-05-17 Texas Instruments Incorporated Master/slave sequencing processor with forced I/O
US5115507A (en) * 1987-12-23 1992-05-19 U.S. Philips Corp. System for management of the priorities of access to a memory and its application
FR2625340B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Systeme graphique avec controleur graphique et controleur de dram
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
DE69132495T2 (de) * 1990-03-16 2001-06-13 Texas Instruments Inc., Dallas Verteilter Verarbeitungsspeicher
US5390329A (en) * 1990-06-11 1995-02-14 Cray Research, Inc. Responding to service requests using minimal system-side context in a multiprocessor environment
US5432918A (en) * 1990-06-29 1995-07-11 Digital Equipment Corporation Method and apparatus for ordering read and write operations using conflict bits in a write queue
US5404482A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills
KR960001273B1 (ko) * 1991-04-30 1996-01-25 가부시키가이샤 도시바 단일칩 마이크로컴퓨터
US5623489A (en) * 1991-09-26 1997-04-22 Ipc Information Systems, Inc. Channel allocation system for distributed digital switching network
US5392412A (en) * 1991-10-03 1995-02-21 Standard Microsystems Corporation Data communication controller for use with a single-port data packet buffer
GB2260429B (en) * 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
US5392391A (en) * 1991-10-18 1995-02-21 Lsi Logic Corporation High performance graphics applications controller
US5442797A (en) * 1991-12-04 1995-08-15 Casavant; Thomas L. Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging
JP2823767B2 (ja) * 1992-02-03 1998-11-11 松下電器産業株式会社 レジスタファイル
US5404484A (en) * 1992-09-16 1995-04-04 Hewlett-Packard Company Cache system for reducing memory latency times
US5617327A (en) * 1993-07-30 1997-04-01 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
EP0617361B1 (en) * 1993-03-26 2001-11-28 Cabletron Systems, Inc. Scheduling method and apparatus for a communication network
US6311286B1 (en) * 1993-04-30 2001-10-30 Nec Corporation Symmetric multiprocessing system with unified environment and distributed system functions
CA2122182A1 (en) * 1993-05-20 1994-11-21 Rene Leblanc Method for rapid prototyping of programming problems
JPH0740746A (ja) * 1993-07-29 1995-02-10 Aisin Seiki Co Ltd 車両用サンルーフ装置のチエツク機構
US5446736A (en) * 1993-10-07 1995-08-29 Ast Research, Inc. Method and apparatus for connecting a node to a wireless network using a standard protocol
US5740402A (en) * 1993-12-15 1998-04-14 Silicon Graphics, Inc. Conflict resolution in interleaved memory systems with multiple parallel accesses
US5490204A (en) * 1994-03-01 1996-02-06 Safco Corporation Automated quality assessment system for cellular networks
JP3547482B2 (ja) * 1994-04-15 2004-07-28 株式会社日立製作所 情報処理装置
US5542088A (en) * 1994-04-29 1996-07-30 Intergraph Corporation Method and apparatus for enabling control of task execution
US5721870A (en) * 1994-05-25 1998-02-24 Nec Corporation Lock control for a shared main storage data processing system
US5781774A (en) * 1994-06-29 1998-07-14 Intel Corporation Processor having operating modes for an upgradeable multiprocessor computer system
JP3810449B2 (ja) * 1994-07-20 2006-08-16 富士通株式会社 キュー装置
US5625812A (en) * 1994-11-14 1997-04-29 David; Michael M. Method of data structure extraction for computer systems operating under the ANSI-92 SQL2 outer join protocol
JP3169779B2 (ja) * 1994-12-19 2001-05-28 日本電気株式会社 マルチスレッドプロセッサ
US5784712A (en) * 1995-03-01 1998-07-21 Unisys Corporation Method and apparatus for locally generating addressing information for a memory access
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
US5886992A (en) * 1995-04-14 1999-03-23 Valtion Teknillinen Tutkimuskeskus Frame synchronized ring system and method
US5758184A (en) * 1995-04-24 1998-05-26 Microsoft Corporation System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US5592622A (en) * 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
JPH08320797A (ja) * 1995-05-24 1996-12-03 Fuji Xerox Co Ltd プログラム制御システム
US5613071A (en) * 1995-07-14 1997-03-18 Intel Corporation Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
RU2170494C2 (ru) * 1995-12-29 2001-07-10 Тикси. Ком ГмбХ Телекоммьюникейшн Системс Способ и микрокомпьютерная система для автоматической безопасной и прямой передачи данных
US6201807B1 (en) * 1996-02-27 2001-03-13 Lucent Technologies Real-time hardware method and apparatus for reducing queue processing
US5761507A (en) * 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US5764915A (en) * 1996-03-08 1998-06-09 International Business Machines Corporation Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack
US5784649A (en) * 1996-03-13 1998-07-21 Diamond Multimedia Systems, Inc. Multi-threaded FIFO pool buffer and bus transfer control system
US6199133B1 (en) * 1996-03-29 2001-03-06 Compaq Computer Corporation Management communication bus for networking devices
KR100219597B1 (ko) * 1996-03-30 1999-09-01 윤종용 씨디-롬 드라이브에서의 큐잉 제어 방법
JPH1091443A (ja) 1996-05-22 1998-04-10 Seiko Epson Corp 情報処理回路、マイクロコンピュータ及び電子機器
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
JP3541335B2 (ja) * 1996-06-28 2004-07-07 富士通株式会社 情報処理装置及び分散処理制御方法
US6023742A (en) * 1996-07-18 2000-02-08 University Of Washington Reconfigurable computing architecture for providing pipelined data paths
US5745913A (en) * 1996-08-05 1998-04-28 Exponential Technology, Inc. Multi-processor DRAM controller that prioritizes row-miss requests to stale banks
US5928736A (en) * 1996-09-09 1999-07-27 Raytheon Company Composite structure having integrated aperture and method for its preparation
KR100417398B1 (ko) * 1996-09-11 2004-04-03 엘지전자 주식회사 디에스피의명령어블록반복처리방법
US6072781A (en) * 1996-10-22 2000-06-06 International Business Machines Corporation Multi-tasking adapter for parallel network applications
US5860158A (en) * 1996-11-15 1999-01-12 Samsung Electronics Company, Ltd. Cache control unit with a cache request transaction-oriented protocol
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US6212542B1 (en) * 1996-12-16 2001-04-03 International Business Machines Corporation Method and system for executing a program within a multiscalar processor by processing linked thread descriptors
US6256115B1 (en) * 1997-02-21 2001-07-03 Worldquest Network, Inc. Facsimile network
US5742587A (en) * 1997-02-28 1998-04-21 Lanart Corporation Load balancing port switching hub
US5905889A (en) 1997-03-20 1999-05-18 International Business Machines Corporation Resource management system using next available integer from an integer pool and returning the integer thereto as the next available integer upon completion of use
US5898885A (en) * 1997-03-31 1999-04-27 International Business Machines Corporation Method and system for executing a non-native stack-based instruction within a computer system
US5918235A (en) * 1997-04-04 1999-06-29 Hewlett-Packard Company Object surrogate with active computation and probablistic counter
US6535878B1 (en) * 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
US6182177B1 (en) * 1997-06-13 2001-01-30 Intel Corporation Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6067585A (en) * 1997-06-23 2000-05-23 Compaq Computer Corporation Adaptive interface controller that can operate with segments of different protocol and transmission rates in a single integrated device
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6393483B1 (en) * 1997-06-30 2002-05-21 Adaptec, Inc. Method and apparatus for network interface card load balancing and port aggregation
US6247025B1 (en) * 1997-07-17 2001-06-12 International Business Machines Corporation Locking and unlocking mechanism for controlling concurrent access to objects
GB2327784B (en) * 1997-07-28 2002-04-03 Microapl Ltd A method of carrying out computer operations
US6170051B1 (en) * 1997-08-01 2001-01-02 Micron Technology, Inc. Apparatus and method for program level parallelism in a VLIW processor
WO1999009469A1 (en) * 1997-08-18 1999-02-25 Koninklijke Philips Electronics N.V. Stack oriented data processing device
US6014729A (en) * 1997-09-29 2000-01-11 Firstpass, Inc. Shared memory arbitration apparatus and method
US6085294A (en) * 1997-10-24 2000-07-04 Compaq Computer Corporation Distributed data dependency stall mechanism
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US5915123A (en) * 1997-10-31 1999-06-22 Silicon Spice Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
EP0918280B1 (en) * 1997-11-19 2004-03-24 IMEC vzw System and method for context switching on predetermined interruption points
US6360262B1 (en) * 1997-11-24 2002-03-19 International Business Machines Corporation Mapping web server objects to TCP/IP ports
JPH11203860A (ja) * 1998-01-07 1999-07-30 Nec Corp 半導体記憶装置
US6223238B1 (en) * 1998-03-31 2001-04-24 Micron Electronics, Inc. Method of peer-to-peer mastering over a computer bus
US6079008A (en) * 1998-04-03 2000-06-20 Patton Electronics Co. Multiple thread multiple data predictive coded parallel processing system and method
KR100280460B1 (ko) * 1998-04-08 2001-02-01 김영환 데이터 처리 장치 및 이의 복수의 스레드 처리 방법
US6092127A (en) * 1998-05-15 2000-07-18 Hewlett-Packard Company Dynamic allocation and reallocation of buffers in links of chained DMA operations by receiving notification of buffer full and maintaining a queue of buffers available
US6373848B1 (en) * 1998-07-28 2002-04-16 International Business Machines Corporation Architecture for a multi-port adapter with a single media access control (MAC)
US6073215A (en) * 1998-08-03 2000-06-06 Motorola, Inc. Data processing system having a data prefetch mechanism and method therefor
US6366998B1 (en) * 1998-10-14 2002-04-02 Conexant Systems, Inc. Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6212611B1 (en) * 1998-11-03 2001-04-03 Intel Corporation Method and apparatus for providing a pipelined memory controller
US6389449B1 (en) * 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
US6338078B1 (en) * 1998-12-17 2002-01-08 International Business Machines Corporation System and method for sequencing packets for multiprocessor parallelization in a computer network system
US6356692B1 (en) * 1999-02-04 2002-03-12 Hitachi, Ltd. Optical module, transmitter, receiver, optical switch, optical communication unit, add-and-drop multiplexing unit, and method for manufacturing the optical module
US6529983B1 (en) * 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6532509B1 (en) * 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) * 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6324624B1 (en) * 1999-12-28 2001-11-27 Intel Corporation Read lock miss control and queue management
US6307789B1 (en) * 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6560667B1 (en) * 1999-12-28 2003-05-06 Intel Corporation Handling contiguous memory references in a multi-queue system
US6584522B1 (en) * 1999-12-30 2003-06-24 Intel Corporation Communication between processors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI417792B (zh) * 2007-02-06 2013-12-01 Ibm 在處理器系統之指令階使資源分配識別之方法及裝置

Also Published As

Publication number Publication date
DE60015395T2 (de) 2005-11-10
ATE280972T1 (de) 2004-11-15
SG149673A1 (en) 2009-02-27
CN1253784C (zh) 2006-04-26
US20040039895A1 (en) 2004-02-26
HK1046180B (zh) 2005-05-13
EP1247168A2 (en) 2002-10-09
AU2280101A (en) 2001-07-16
CN1451114A (zh) 2003-10-22
WO2001050247A2 (en) 2001-07-12
EP1247168B1 (en) 2004-10-27
HK1046180A1 (zh) 2002-12-27
DE60015395D1 (de) 2004-12-02
WO2001050247A3 (en) 2002-01-31
US6631462B1 (en) 2003-10-07

Similar Documents

Publication Publication Date Title
TWI222011B (en) Memory shared between processing threads
US11489791B2 (en) Virtual switch scaling for networking applications
TWI229259B (en) A method and related apparatus and computer program product for distributed memory control and bandwidth optimization
US9280290B2 (en) Method for steering DMA write requests to cache memory
TWI231125B (en) Transmitting multicast data packets
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
TW508522B (en) System input/output interface design for scaling
TW525087B (en) Processor architecture for executing two different fixed-length instruction sets
CN110520851B (zh) 数据处理系统的执行线程之间的基于缓存的通信
TW200302417A (en) Data transfer mechanism
TW200307875A (en) Queue management
US20150268985A1 (en) Low Latency Data Delivery
US8902915B2 (en) Dataport and methods thereof
WO2025138694A1 (zh) 数据传输方法、设备及系统
US20230388371A1 (en) System and method for accessing remote resource
KR102757653B1 (ko) 확장 메모리 인터페이스
US8850134B1 (en) Method and system for aligning transaction split boundaries to memory burst boundaries
CN117389685A (zh) 虚拟机热迁移标脏方法及其装置、后端设备、芯片
US20250028640A1 (en) Mechanism to enable out-of-order packet processing in a datatype engine
TWI841060B (zh) 快速查找裝置及交易風控裝置
WO2025050972A1 (zh) Sram阵列的数据访问装置、系统、方法、设备、芯片和介质
WO2020197620A1 (en) Extended memory operations
US8244919B2 (en) Data transfer apparatus, system and method using the same
TW591405B (en) Non-copy shared stack and register set device and dual language processor structure using the same
TW579464B (en) Transmission circuit and method

Legal Events

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