TW200404205A - An address generation unit for a processor - Google Patents

An address generation unit for a processor Download PDF

Info

Publication number
TW200404205A
TW200404205A TW092113724A TW92113724A TW200404205A TW 200404205 A TW200404205 A TW 200404205A TW 092113724 A TW092113724 A TW 092113724A TW 92113724 A TW92113724 A TW 92113724A TW 200404205 A TW200404205 A TW 200404205A
Authority
TW
Taiwan
Prior art keywords
memory
processor
registers
vector
register
Prior art date
Application number
TW092113724A
Other languages
English (en)
Inventor
Cornelis Hermanus Van Berkel
Patrick Peter Elizabeth Meuwissen
Original Assignee
Koninkl Philips Electronics Nv
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 Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Publication of TW200404205A publication Critical patent/TW200404205A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

200404205 玖、發明說明: 【發明所屬之技術領域】 本發明係關於一用於一處理器的位址產生單元。 【先前技術】 在#唬處理中,有相當咼比率的演算法使用迴圈,通常 具有相當多的重複計數並包括相當少的指令和/或在相當 少的資料上運算,例如一直列像素區塊。為改良處理速度, 數位信號處理(DSP)配置有所謂的位址產生單元(AGU)。這 些單兀從一目前位址產生該下一位址。某些單元支援數個 走址模式。該單元視該定址模式而決定使用多少暫存器來 汁异廷些位址。已知位址產生單元可用於產生資料位址(有 時也被稱為位址計算單元(ACU))及產生指令位址(有時也 被稱為迴圈控制單元)。 WO 01/04765敘述一用於信號處理之VLIW處理器。該處 理器包括四個相同的處理元素,每一個皆配置有許多功能 單兀。孩處理το素中的每一個元素包括一當做功能單元的 位址產生單元(AGU)。該AGU支援七個定址模式,即,直 接定址;基底加補償定址;間接/索引定址;基底加索引定 址,循環索引定址;和處理元素相對定址。對每一個定址 模式而f,暫存器是用於計算該位址。對於該定址模式, 计异下一個位址的該演算法,該演算法所使用的暫存器和 範例硬貫現等的細節,讀者可參考〇1/〇4765。該VLIW 指令包括用於每-個處理S素的_指令槽(slQt)。該定址模 式被標示為該指令的一部份。該暫存器為該處理器環境的 85371 200404205 一部份,並可被載入、儲存、和復原就如同其它也為該環 境一部份的暫存器。用該VLIW處理器結合一寬記憶體來儲 存該等VLIW。每一記憶體直列儲存一 VLIW指令。每一個 被直接提取和饋入該解碼邏輯的指令存取該記憶體,以平 行控制多重執行單元的執行。 該週知VLIW處理器的處理元素為單一指令多重資料流 (SIMD)處理器,也稱為向量處理器。通常一 VLIW向量處理 器對信號處理的效能相當高。需要此一效能的信號處理任 務,像是用於第三代移動式通信標準的一軟體數據機,通 常包括許多可向量化的子任務。該向量處理的確使此子任 務能快速完成。在此環境中完成的也包括已處理一資料方 塊以及稍後(通常在固定週期内)再繼續處理一新的資料方 塊的情況。結果,也經常發生子任務間的交換。一環境交 換需要儲存一或多個ACU的目前暫存器,該ACU係用於目 前保留的任務;並且將該所儲存的暫存器載入該有關ACU 的相關暫存器内,該ACU係用於最近激發或重新激發的任 務。每一 ACU,例如,可能包括四個暫存器。對一 ACU而 言,該環境交換因而可包括存檔/恢復總數為8個的暫存器。 【發明内容】 本發明目標之一為提供一更適於高效能任務的處理器架 構,特別是用於移動式通信系統的信號處理。進一步目標 為將此架構用於向量處理器。 為達此目標,該處理器包括··一記憶體埠,在一位址的 控制下存取一實體記憶體;至少一處理單元,用於執行儲 85371 200404205 存在孩記憶體内的指令和/或用於在儲存在該記憶體内的 貝料上運作;一位址產生單元(此後稱"AGU”),用於產生一 控制該記憶體存取的位址;與—複數個_存器有關的該 AGU,孩暫存器在位址產生機制的控制下致能該產生 該位址;和—記憶體單元,被—運算激發,運轉以儲存/載 入該N暫存器中的k個暫存器,其中2<=k<=N,其中該記 憶體單元包括一連接器,將該k暫存器連接至-記憶體字 組,該字組經由該記憶料寫人該記㈣;和-分離—字 組的分離器,該字組經由該記憶體埠從該記憶體讀取至該k 暫存器内。 ;、本發明人已了解到:隨著該等處理器的效能增加,花名 及AGU暫存③架構上的時間逐漸成為瓶頸。在傳統處理突 架構中’-記憶體週期只能儲存或復原—暫存器,導致: 費终多時間等待正確的資料啟動(建構)該AGU。為克服此 缺點’ —«要Μ麵發至少:暫#||,細卜環境交 ,或明確的指令,㈣存或復原某些朗有的AGU暫存 :離ί達此目的’該處理器的記憶體單元包括-連接器和 = :,,將-複數個該AGU暫存器映成至—記憶體字組。 哭貝本發明之該AGU和記憶體單元可用於任何處理 ;元用二^信號處理(DSP)。然偏好將該AGU和記憶體 用H量處理器。截至目前為止,向量處理器尚未 廣心用於信號處理。部 一 使得該傳統向量處理哭;構;“所謂的”Am-】法則”, 率很低H μ⑽ 非刚%向量化方面效 85371 /則祝明—配置有P個處理元素的向量處理器經 200404205 向f化後所得到的整體加速,為一可被向量化的碼⑴的分 數㈡數I於(l-f + f/P) 1。此意味著:當可向量化的碼 時,整體加速將小於2(而非理論上的最大加速32)。這是因 :無法向量化所剩餘的50%的碼,並因而對此部份的碼而 I並未達到任何加速。即使可向量化9〇%的碼,該加速仍 “、8的Q數。對消費性電子應用方面,特別是可移動式通 L,右可達到一顯著的加速,才有理由接受一向量處理器 的頟外成本。如本發明之該AGU和記憶體單元,透過對該 資料處理和/或指令迴圈提供最佳支援並有效地處理跳躍 和環境交換,來打破Amdahl法則。 如在該附屬申請專利範圍第2項中所述,該記憶體單元運 專、方、3 Θ 记憶體的一 I買取/寫入週期内執行儲存/載 入。以此法,可快速產生該AGU架構。偏好如在該附屬申 請專利範圍第3項中料,所有的AGU暫存器皆在一運算中 被儲存/載入。 # 在咸附屬申叩專利範圍第4項中所述,該處理器具有數 組暫存器,其中每一組致能一AGU,以產生一位址。隨著 效能增加,該處理器可转執行更#任務,並因而可從使 用-組以上的暫存器中獲益。為有效處理資料或指令迴 圈’可使用每個迴圈—組暫存器的結構。為加速建構該複 數組’透過將數組暫存器連接至一記憶體字組,可在一運 算中儲存一組以上的暫存器。如在該附屬申請專利範圍第5 項中所述,該處理器可配置有數個AGU,每—個皆且有自 己的-組暫存器。該不同的AGU在功能上可相同(並因而且 200404205 至不二的暫存器)。若偏好如此,不同的AGU可被指派 好1用計算計劃並因而具有不同數目的暫存器。偏 心=憶體字組使至少二湖的所有暫存器能在-運
中所、水,载人。或者,如在該附屬申請專利範圍第6项 έ =,—AGU也可與一組以上的暫存器相關,其中每— 位址的產生。在此實例中,可選擇性地將該AGU 2 ’級’以執行-新的位址計算。偏好可將至少二組 秦子态的所有暫存器儲存在一記憶體字組内。 如在該附屬申請專利範圍第8項中所述,偏好可選擇需被 、/、、且暫存态。以此法,可以最佳方式將AGu和/或數 組暫存置給任務’其中對牵涉到該任務的—環境切換 起反應,可輕易選擇所牽涉到的AGU和/或數組暫存器,並 達成再架構。為簡化該選擇,AGU和/或該數組暫存器可分 2單獨可選擇的群組。然後可依任務自由指派該群組。再 朵構發生的是一次至少一群組。 、如该附屬中請專鄉m第”中所述,該記憶體字組的寬 度為該處理器可在其上運作的該最小字組的倍數。該暫存 器被儲存在處理器字組界限上的該記憶體内。以此法可輕 易改變孩暫存器的值而不需額外的指令來設定該agu暫存 器。 如在该附屬申請專利範圍第8項中所述,偏好該處理器可 在衩數個Μ貝料元素上平行運作(例如,該處理器為一單 一指令複數資料(SIMD)/向量處理器),並且該記憶體為寬 的,以便能在一記憶體字組内儲存所有…資料元素。以此 85371 -10- 200404205 法可在一運算内儲存/载入agu的許多暫存器。 本發明的這些和其它觀點從後述之具體實施例中將很明 顯’並將參考該具體實施例來加以說明。 【實施方式】 該位址產生單WAGU)和記憶體單元最好祕_處理器 内,該處理器已最佳化以用於信號處理。此一處理器可為 -數位信號處理(DSP)或任何其它適合的處理器/微控制 器。以下敘述描述在-功能十分強大的純量/向量處理哭内 使用該單元。可獨立或結合另一處理器來使用此一處理 器。圖i圖示一可使用該純量/向量處理器之較佳架構。此 架構係透過一匯流排110連接三主要元件。連接這三個元件 之該匯流排110可為任何適合的匯流排,例如一 AMBA高速 匯流排(AHB)。該主要元件有: 該可程式化純量/向量處理器12〇,包括數個功能單元和一 區域資料記憶體(在圖1中被稱為向量記憶體); 一微控制器或數位信號處理(DSP)子系統130,包括有限的 建於晶片上的(on-chip)程式和資料記憶體; 一介面方塊140。 該純量/向量處理器120主要係用於一般”負載量大,,的處 理,特別是内部迴圈的處理。該純量/向量處理器包括向量 處理功能。當如此,它對要執行的碼的可向量化部份提供 大規模平行。大部份的所有信號處理將由該純量/向量處理 器的向量區間執行。該處理器透過採用一例如32個相同處 理元素的陣列執行相同指令來提供大量平行。結合一 32字 85371 - 11 - 200404205 ^白^憶體介面,使得該處理器能以低成本和適度的耗 二里二的可程式化效能水準。然而,由於許多演 式呈現足狗的資料平行,因而要窮究此 、…不可行的。根據Amdahl法則,將該碼直接可向量化 的部份向量化後’大部份的時間都是花在該剩餘的碼上 面。涊剩餘的碼可分成四種: 與=址相關的指令(例如使用餘數運算定址,將—指示器遞 增至一循環緩衝器内) ㈣的純量運算(亦即,對應該向量處理器主迴圈的純量運 异) 迴圈 不規則的純量運算。 對這些種射的每—個種㈣言,碼的該部份十分依賴 所執仃的演异法。例如,該Golay相關器(用於p_s⑶搜尋) 需要許多與位址相關的指令;但對例如㈣等其它演算法 而言則可能不-樣。透過使用如本發明之該AGU/記憶:單 兀,可最佳化與位址相關的指令和趣圈的效能。透過嚴密 整合-處理器内的純量和向量處理,可最佳化該規則的純 量運算掃描。本發明人對所有與第三代數據機相關的潘算 法的研究揭露出不規則純量運算的部分十分有限。此特質 可分離該純量/向量處理器120和該微控制器或數位信號處 理(DSP)13G之間的任務,其中該分離的微㈣器或數位信 號處理(朦)130執行該不規則的任務,並且,最好也控制 該純量/向量處理器。在此較佳架構中,該純量/向量處理器 85371 200404205 120充當一可程式化的輔助處理器(在後面也稱為cVp,輔助 向量處理器)。該純量/向量處理器120和該微控制器130之間 的介面處理通信(例如經由共享的記憶體)和同步化(例如經 由共旱的記憶體和狀態信號)。該介面最好為記憶體映成式 的介面。 該介面方塊140可讓該處理器與剩餘的系統互動。在該較 佳具體貫施例中,使用該純量/向量處理器做為第二代/第三 代和動式網路的軟體數據機(transce][ver)。對此一軟體數據 機功能而言,該介面方塊140可包括專用硬體,做為一前 端,其主任務之一為在該微控制器13〇的控制下將控制和資 料字組傳送至該向量記憶體,例如DMA。接著由該純量/ 向量處理器處理在向量記憶體内的資料。 該純量/向量處理器120可為該匯流排π 0的從屬處理 為’而#亥微控制器130和該介面方塊140 (可包括一 DMA單 元)則充當一主處理器。所有與該CVP的通信,不管是程式、 貝料或控制’取好皆為記憶體映成式的。該記憶體可為一 非建於晶片上的(off-chip)動態隨機存取記憶體(DRam),並 且此DRAM也可被該純量/向量處理器用來做為(非)交錯式 記憶體。 在敘述中主要使用’’位址計算單元,,或ACU。為了該敘逑 的目的,這也被視為與”位址產生單元”或AGU相等。該敘 述主要專注於使用此單元來計算資料位址。熟諳先前技藝 者也能使用相同功能來計算指令位址(”迴圈控制”)。 圖2圖示如本發明該處理器之主要結構。該處理器包括〜 85371 -13 - 200404205 管道化式向量處理區間21 0。為支援該向量區間的運算,該 純量/向量處理器包括一純量處理區間220,被裝置成能平 行於該向量區間運算。最好該純量處理區間也為管道化 式。為支援該向量區間的運算,該向量區間的至少一功能 單元也提供該純量區間對應部份的功能。例如,一位移功 能單元的向量區間在功能上也能位移一向量,其中一純量 元件係由該位移功能單元的純量區間供應(或被遞送至該 區間)。如此,該位移功能單元涵蓋該向量和該純量區間二 者。因而,至少某些功能單元不僅具有一向量區間也具有 一純量區間,其中該向量區間和純量區間可透過交換純量 資料而合作。一功能單元的向量區間提供該原始處理能 量,其中該對應的純量區間(亦即該相同功能單元的純量區 間)透過供應和/或消耗純量資料而支援該向量區間的運 算。用於該等向量區間的向量資料係由一向量管道化供應。 在圖2的較佳具體實施例中,該純量/向量處理器包括以 下七個特殊功能單元。 指令分散單元(IDU 250)。該IDU包括該程式記憶體252, 讀取連續的VLIW指令並將每一指令的7個區段分配給該7 個功能單元。最好,它包括一迴圈單元,該迴圈單元能支 援多達三個巢狀階層的零負荷迴圈。在該較佳具體實施例 中,該單元並不支援分支、跳躍或中斷。該起始程式計數 器係從該限制描述子載入,詳述如下。 向量記憶體單元(VMU 260)。該VMU包括該向量記憶體 (未顯示於圖2)。在每一指令期間,該單元可從該向量記憶 85371 -14- 200404205 體傳送一列或一向量,或接收一列至該向量記憶體。該相 同指令可額外指定一純量傳送運算和/或一接收運算。該 VMU為唯一連接至外界的功能單元,亦即至該外部匯流排 110。 該碼產生單元(CGU 262)。該CGU擅長有限欄位計算/數 學。例如,可用該CGU產生CDMA碼小段向量以及相關功 能,例如頻道編碼和CRC。 算術邏輯-乘及加單元(ALU-MAC)單元(AMU 264)。該 AMU擅長規則的整數和定點計算/數學。它支援向量内的運 算,其中計算/數學係在多向量上以順著元素的方向執行。 在一較佳具體實例中,該AMU也提供某些向量間運算,其 中計算/數學係在一單一向量内的數個元素上執行。
ShuFfle單元(SFU 266)。該SFU可根據一特定的弄亂樣式 重新安排一向量的元素。 向左位移Shift-Left單元(SLU 268)。該SLU可將該向量的 數個元素移位一單位,例如向左移一個字組,二個字組或 四個字組。所產生的純量被提供給其純量區間。取決於所 發布的SLU向量運算的類型,該所消耗的純量可以是0,或 者取自其純量區間。 向右位移Shift-Right單元(SRU 270)。該SRU類似SLU, 但向右位移。此外,它具有合併連續結果的能力,該等結 果得自該AMU上的向量間運算。 下表顯示所有功能單元FU皆具有一功能性向量區間 2 1 0,其中某些單元並未具有一控制區間230或純量區間 85371 -15 - 220 ° 220 °200404205 功能單元 控制 純量 向量 指令分散單元 循序,迴圈 指令分配 向量記憶體單元 位址計算 純量i/o 向量輸入/輸出(I/O) 碼產生單元 產生碼向量 算術邏輯-乘及加 (ALU-MAC)單元 索引 廣播 向量間:ALU,MAC,mul,.. 區段 向量内:add,Max 弄亂樣式(Shuffle)單元 向量弄亂樣式 向左位移(Shift-Left)單元 純量i/o 向量位移 向右位移(Shift-Right)單元 純量i/o 向量位移 如本發明之該純量/向量處理器以二主要方式應用指令 階層平行: 向量處理,其中一單一指令係在(純量)資料的數個向量上運 算。此方法也稱為單一指令流,多重資料流或SIMD。 多重功能單元的平行處理,每一個皆在向量上運算。可視 為一(限制的)種形式的VLIW指令階層平行。 請注意此二種形式的指令階層平行皆為獨立的,並且其效 果為累加的。 FU内通信 該等功能單元(FU)平行運算。每一 FU能接收和傳送向量 資料。許多FU也能接收和傳送純量資料。 85371 -16- 200404205
抑所有功能單元皆平行運算。—旦接收—指令中該等功能 -々區'^又他們即輸入、處理並輸出資料,該資料包括 向量資料和,其中只要能應用,純量資料兩者。在FU内, 該通信僅限於該等純量區或向量區間内(Fu内通信)。亦 即’除了孩IDU外,所有Fu的向量區間係由一管道化連接。 在-較佳具體實例中,此管道化可根據指令基礎來建構。 為達此目的,偏好該即由—互連網路互連,原則上可讓每 -向量區間在每一週期内從任何其它的向量區間接收一向 量。此特色致能’除了其它功能外,該FU (除了該腿外) 的任意管道化的建立。該有助於向量通路的功能單元中的 六個可輸出-向量’並在每_時脈週期内將該向量平行傳 送給其它單元。這些功能單元也能從另一單元接收一向 量。該網路接近完全連接。Ο古、々士、、, 、较一有沒有意義的連結才會被省 略。該AMU能同時接收二向量。如 、、…紗曰2 士 里如圖2所不,孩網路最好由 每一 FU形成’每一單元皆被各忐 抑 白攸田成一早一來源(以一 disc標示) 85371 -17- 200404205 連接至-網路通路。該網路被連接至所有其它的通路 為-單-汲(以三角形標示)。該F_iw指令 故 它應從哪-條通路完成—向量執行。以此法 ^ 令基礎建構該管道化。每-通路可移轉-完整向二旨 使用256條平行線。類似地,可由—單獨的管道化連σ 某些該™的純量區間。最好,此管道化也可根據指令3 建構。该⑽量區間内的互連網路可為部份的,亦即至Γ -二的純量區間無法傳送或接收純量。因而,可指定G 勺f C化/入序可獨1建構該純量和向量管道化。例如, 透過在該相關的VLIW區間内標示要被該功能單元σ’ 純里管道化和向量管道化二者。 、 、該不同功能單元的控制區間内並未指定可連接性。這些 控:區間從孩IDU接收一區段的該乂㈣指令,更新本身的 狀怨,並控制其各別的純量和向量區間。 FU間通信 在一 FU内,這些區間之間(ρυ間通信)有嚴密的互動。該 互動為该FU運算的整數部份。該SLU和SRU皆為實例,其 中斤產生的和/或所芫成的純量被供應至/取自該fu對應的 純量區間部份。 " _通常在單一週期内執行數個指令。在該向量記憶體的擁 塞會造成例外並出現停滞週期。 資料寬度 在一較佳具體實例 貧料寬度和資料類型 中’該純量/向量處理器支援一複數個 ’如圖3所示。記憶體定址的基本單位 85371 -18- 200404205 為一字組’也稱為單一字組。偏好資料寬度為單一字組 (W)、二個字組(DW,或2W=16位元))、或四個字組(QW或 4W-32位元)。一字組的大小為w=:8位元。偏好三種大小的 純量:(單一)字組,二個字組,和四個字組。一向量具有一 固疋大小的PQ四個字組。最好能以下列三種格式之一建構 字組:
Pq個四字組大小的元素, PD 2Pq個一字組大小的元素, ps二2PD = 4Pq個(單一)字組大小的元素。 孩向量-元素索引範圍為[〇…4Pq-1]。因而二個字組具有 偶數個索引,並且四個字組的索引為四的倍數。圖3提供該 貝料大小的概觀。該架構的為具有完整可測的Pq,並且由 任何PqM的向量大小來定義。然而,大部分的情況較偏好 卜為2的乘冪。在該較佳具體實施例中,PQ為8,意指一資 料通路寬度和記憶體寬度為32字組。 指令 指令可為一控制指令亦或一 VLIW指令。控制指令 可’例如’為零負擔迴圈起始/起動initialization。沒有分支、 跳躍、或副程式。一 VLIW指令被分割成數個區段,其中每 一指令區段指示該對應的功能單元要執行的運算。該區段 了 ^ 步被細分成一邵份給向量區間’及一部份給純量區 間(右出現的話)。對此二部份而言,該區段也包括要使用哪 一個網路部份來接收資料的資訊(該向量區間的一或多個 向I以及該純量區間的一或多個純量)。 85371 -19- 200404205 該純量/向量處理器的狀態 該CVP的狀態為其數種功能單元的結合狀態。在該較佳 具體實施例中,它包括: 該向量記憶體(部份的VMU); 該程式記憶體(部份的IDU); 向量暫存器(所有功能單元); 純量暫存器(大部份的功能單元); 控制暫存器,包括該程式計數器,和位址補償暫存器。 除了該程式設計師可看見的暫存器之外,一 CVP實現通 常包括用於管道化和快取的額外暫存器(向量,純量,和控 制)。這些暫存器並非該CVP指令集架構的一部份。 某些該(向量,純量,和控制)暫存器為所謂的架構暫存 器。一架構暫存器的内容僅能從該向量記憶體載入;並無 其它方式可改變其值。一架構暫存器支援該等功能單元的 架構,並通常定義一功能參數。透過儲存這些在架構暫存 器内的”半常數”功能參數而大量減少該指令寬度和記憶體 流量。 下表顯示該CVP狀態的元件概要。 FU 控制通路 純量通路 向量通路 資料 架i :冓 資米 架d 丨冓 資料 架構 vmu 補償 5 位址 CU 8 資料 記憶體 2048 cgu 計數器 3 碼 3 狀態 6 遮罩 2 多項式 2 85371 -20- amu 1 接收 1 區段 大小 1 暫存 器檔 16 sfu 暫存器 1 弄亂 樣式 4 slu 接收 1 暫存 器檔 2 sru 接收 1 暫存 器檔 2 idu pc 1 迴圈 cu 2 程式 記憶體 2048 可從該向量記憶體載入所有程式設計師可看到的暫存 器。除了該架構暫存器之外,所有的暫存器皆可存入該向 量記憶體内。透過在一指派工作的尾端儲存該等CVP暫存 器,並稍後將這些暫存器復原,該CVP可持續一特別任務, 就好像同時並未執行其它的指派工作。這些儲存和復原運 算為隨選的,可能為部份的,並必須明確加以程式化。
該記憶體單元和AGU 圖4圖示該記憶體單元(VMU 400)之方塊圖。在以下所述 的較佳具體實例中,在一向量處理器内使用該記憶體單元 來結合一實體記憶體,其寬度能儲存一整個向量。較偏好 同樣的觀念也能應用至純量處理器,例如傳統的數位信號 處理(DSP)。該VMU包括並控制該向量記憶體410,供應其 它功能單元大量的資料頻寬。該實體向量記憶體410最好係 根據一單埠的靜態隨機存取記憶體SRAM。由於通常無法取 得内建為Ps * W寬度的SRAM,該實體記憶體可由一或多排 的寬隨機存取記憶體(RAM)平行裝置所形成。 該VMU 400包括至少一位址計算單元(ACU) 420,該等單 85371 -21 - 200404205 元支援自動位址產生。參考圖2的整體架構,假設該ACU位 於VMU 260的控制區間230内。偏好該ACU不需實際位於 VMU内但也能連接至該VMU。最好,該ACU支援如同那些 在傳統數位信號處理(DSP)内的定址模式(位址產生演算 法)。該ACU不需使用該處理器的主要資料通路即可對每個 指令執行一或多個位址計算。例如,一純量的位址可為在 每一純量讀取存取後的遞增後位址。這可讓位址計算與資 料上的計算/數學運算平行發生,改良該處理器效能。取決 於所支援的該組定址模式,此一 ACU需存取至一些暫存 器。例如,相對定址,亦即對一所謂的基底位址定址,需 要: 一基底暫存器base 一對該基底位址的補償,儲存在一補償暫存器内offs 該補償的一前/後遞增,由一儲存在一遞增暫存器内的值 incr 對一位址的modulo(取餘數)定址,儲存在一限制暫存器内 bound 有了此組定址模式,可支援以下情況。假設一補償暫存 器offs。在每一次記憶體存取(讀或寫)位址base + offs之 後,根據 offs ·· = (offs + incr) Modulo bound更新暫存器 offs。 因而,offs會經常改變(在每次存取後),而儲存於base, incr,和bound内的值則不會經常改變。通常會在一程式迴 圈前激發後三個暫存器。該組暫存器的起始也被敘述為”該 ACU架構”。為了僅可能避免過長的指令及避免將位址計算 85371 - 22- 200404205 上的指令分離,該VMU的控制區間最好包括一些位址計算 單元。每一位址計算單元(ACU)可與一組(位址)暫存器產生 關連,並與一位址計算遞增運算產生關連。該ACU和該 組暫存器間的關連可為固定的Γ硬體線路")或可建構的,若 在指令階層也偏好如此的話。 假設該向量記憶體包括21^直列,一純量或向量位址需要 L + 2log 4Pq位元。例如,若PQ = 8且L = 12,則需要17位元。 該ACU暫存器的大小與該位址相同。若偏好如此的話,某 些暫存器可能較小。例如,遞增可能僅限於相當少的步騾, 例如8位元。最好所有的暫存器大小皆相等。下表圖示一較 佳具體實施例,其中一組ACU暫存器包括四個位址暫存器: 名稱 #位元 說明 Base 24無正負號 位址基底暫存器 Offs 24無正負號 來自基底的位址補償 Incr 24正負號 遞增值(-bound < incr < bound) Bound 24無正負號 Upper bound上限 表内也標示所偏好的位址範圍和類型(正負號/無正負 號)。在此架構中,每一個ACU暫存器為24位元。如將在以 下詳細討論的,該ACU暫存器可被儲存至該記憶體410/從 該記憶體410載入。一暫存器被儲存於該記憶體内時,為簡 化該暫存器的改良,可選擇一與存取該記憶體的基本單位 對準的暫存器寬度,亦即在8位元字組界限。因而,對該說 明性的記憶體大小來說,使用24位元而非17位元的暫存器 85371 -23 - 200404205 才夠。應了解對某些位址計算來說,少於三個暫存器也夠 用。因而可能使一或多組暫存器專用於此等計算,在暫存 器内提供一儲存/節省。 在該較佳具體實施例中,該VMU包括八組ACU暫存器。 此致能一功能單元的該向量區間和純量區間不同的位址計 算。它也對一演算法内的多重資料流提供有效支援,其中 每一資料流皆有自己的指示器(並且因而有計算和更新該 指示器的位址計算)。傳統上,建構一獨立組的ACU暫存器 每一組都要花一些時脈週期。如此,建構ACU暫存器所需 的時間會成為瓶頸。為克服此一建構遲延,在單一運算中 可建構屬於一組ACU暫存器的至少二暫存器。這可透過將 所有那些ACU暫存器映成在單一記憶體字組上,例如一向 量,並透過使用從該向量記憶體到該ACU記憶體的專用載 入和儲存指令而實現。偏好在一時脈週期的單一運算内建 構一組ACU暫存器的整組相關暫存器。若該記憶體寬度允 許,偏好在一運算中建構一組以上ACU暫存器的數個暫存 器。在該實例中,一組四個ACU暫存器需要4*24 = 96位元。 如前述,最好一向量為256位元寬。在此一實例中,透過將 多組内的該等暫存器映成至一記憶體直列(向量),可更進一 步增加該ACU的建構速度。在該實例中,可將二組ACU暫 存器映成至一向量。這也圖示於圖5内。圖示一向量500和 該四個字組界限。也圖示二組ACU暫存器510和520。在該 實例中,該ACU暫存器為24位元,並因為如此而未對應該 向量的標準資料大小之一。為也能經由該向量記憶體輕易 85371 -24- 200404205 存取該個別的ACU暫存器,用於將該等ACU暫存器載入/儲 存至該記憶體的特別指令能確保該個別ACU暫存器能對準 字組界限(在該實例中,該24位元暫存器係對準四個字組的 界限上)。取決於該ACU暫存器大小和該向量大小,熟諳先 前技藝者將能定義一最佳映成。例如,採用16位元的數個 ACU暫存器和一 25 6位元向量,使得將四組ACU暫存器映成 至一向量成為可能。在該指令中,需標示要被儲存/載入的 該等ACU暫存器組的數目。可使用單獨的或組合的指令來 載入單一 ACU暫存器組或一群ACU暫存器組。該群要被載 入/儲存的ACU暫存器組可為固定的。例如,若該組係以0 到7的數字標示,則可形成四個固定群組,其中該群組的數 目為該組的二最重要位元。若是如此,例如透過允許在該 載入/儲存指令内指定一組以上,也可以動態方式形成偏好 的群組。 圖6圖示一具有四個ACU暫存器的組610,固定連接至一 ACU 620。經由通路630和632將該暫存器的資料供應給該 ACU。該ACU提供該所計算出的位址做為輸出640,並且在 該輸出642提供該已更新的資料給該等暫存器。在具有八個 獨立組的ACU暫存器的較佳具體實施例中,這可被複製八 次(未顯示於圖中)。圖7圖示一替代裝置。此裝置圖示八組 ACU暫存器,編號為710到717。可使用不同數目的ACU。 在此實例中,係使用三個ACU,編號為720,721和722。該 ACU可動態連接至該組暫存器之一。若偏好如此,可呈現 一完全互連730,以致能將每一個該等ACU連接至該等暫存 85371 -25 - 200404205 器組中之一。當然,該互連730不需完全(例如,一 ACU可 僅連接三到四組)。該互連740確保該已更新的暫存器值可 被供應回該所偏好的組。互連704鏡像互連73 0。 以下詳細敘述所偏好的VMU和ACU。此敘述假設每一 ACU固定與一組ACU暫存器關連。該VMU可被分割為一控 制,純量和向量區間。根據一摩爾機器(Moore machine)模 型/式將這些區間模式化,包括五個元素:輸入,輸出,狀 態,下一狀態的功能,和輸出功能。該Moore machine的狀 態由所取得的記憶體和/或暫存器來決定。對每一功能單元 而言,提供一定義所有許可的轉移的表列,包括該對應的 保護。一保護必須為真,該轉移才能發生。該轉移定義該 Moore machine的下一狀態功能和輸出功能。在該表列中, 使用中括?瓜來選擇在一向量内的元素。例如:v[p]代表向量 v的元素p。 在單一 VMU指令中,該向量記憶體單元可支援多達四個 同步”子運算”: 傳送一向量,或傳送一直列,或接收一直列來回於VM位置 (向量子運算); 從一 VM位置傳送一純量(傳送純量子運算); 接收一純量至一 VM位置(接收純量子運算); 修正一位址計算單元的狀態/輸出(ACU子運算)。 用於那四個同步指令中每一指令的參數皆在以下的VMU 指令(VWU—cmd)中提供,其中由vopc,aid—ν和ainc_v指定 該向量子運算;由sopc,aid_s,ainc_s* size指定該傳送純 85371 -26- 200404205 ΐ子運异;由srcv,aid—r,和ainc—r指定該第三接收純量子 運异,而由aopc,aid_a,和imm—addr指定該ACU子運算。 孩第四運算直接控制該等ACU之一,而當做副作用的另外 三個運算也可控制一 ACU,將詳述於下。 VMU 一 cmd vopc aid_v ainc 一 v sopc aid一 s ainc—s size srcv aid_r ainc_r aopc aid 一 a imm addr (vopc, aid—v, ainc一v, sopc, aid一s, ainc—s,size, srcv, aid一r,ainc—r, aopc,aid一a,imm—addr) NOP I SENDL I SENDV I RCVL一CGU I RCVL一AMU I RCVL一SFU I RCVL一SLU I RCVL一SRU {〇,…,7}
NOP I INC
NOP I SEND {0,...,7}
NOP I INC
WORD I DWORD | QWORD
NONE I VMU I AMU I SLU I SRU {0,...,7}
NOP I INC
NOP I IMM I LDBASE | LDOFFS | LDINCR | LDBOUND {0,...,7} {0·0,···,524288.31} I {-262144.0, ...,262143.31}
取決於該子運算的數目和該位址順序的連續性,該VMU 指令可能要花上許多不同的時脈週期。 該VMU輸入/輸出為: 輸入 說明 Cmd VMU指令 rcv__amu AMU向量接收匯流排 85371 -27- 200404205 rev—cgu CGU向量接收匯流排 rev 一 sfu SFU向量接收匯流排 rev—slu SLU向量接收匯流排 rcv_sru SRU向量接收匯流排 s_rcv—amu AMU純量接收匯流排 s—rev—slu SLU純量接收匯流排 s_rcv_sru SRU純量接收匯流排 輸出 說明 Snd VMU向量結果 s_snd VMU純量結果 此外,尚有二純量埠(一傳送,一接收)連接至該外部匯流 排。該微控制器1 30的任務為使這些記憶體存取與CVP指令 同步。 該VMU向量區間包括該實體向量記憶體410 : 名稱 說明 mem[4096][32] 向量記憶體:4096列,每一列有32個字組 向量子運算 請注意向量子運算無法存取該純量記憶體。因而,向量 子運算會忽略最重要的位址位元。該VMU的向量區間支援 七個子運算,於該指令的VOPC欄中加密:向量傳送 85371 -28- 200404205 (SENDV),歹!J傳送(SENDL),和五列接收子運算 (RCVL CGU,RCVL AMU,RCVL SFU,RCVL一SLU,和 RCVL—SRU)。無法同時執行此七個子運算。一次只能指定 一子運算。身為該接收來源的功能單元在對應的列接收子 運算内很清楚的被加密。一對應的位址計算單元指定每一 子運算的讀取位址或寫入位址。所有向量子運算共享該 AINC—V欄。該欄將被傳送至在該AID—V欄内加密的ACU。 以此法,所指定的ACU被當做為一向量子運算的副作用來 控制。該AINC_V欄指定是否該被影響的位址計算單元應執 行一遞增後運算。 保護 轉移 vopc = NOP None vopc = SENDL snd = mem.line[acu[aid__v].out] vopc = SENDV snd = mem.vector[acu[aid_v].out] vopc = RCVL—CGU mem.line[acu[aid_v].out] = rcv_cgu vopc == RCVL—AMU mem.line[acu[aid__v].out] =rcv_amu vopc = RCVL—SFU mem.line[acu[aid_v].out] = rcv_sfu vopc = RCVL—SLU 1--——— mem.line[acu[aid_v].out] =rcv__slu vopc = RCVLSRU ---- mem.line[acu[aid_v].out] =rcv_sru 請注意,該等運算被視為傳送(或接收)行為而非涉及目的地 (或來源)的載入(或儲存)行為。該載入行為通常由其它功能 85371 -29- 200404205 單元内的運算指定。一列傳送在功能上等於一具有相同位 址的向量傳送。列傳送子運算通常用於建構功能單元,或 復原在該各種暫存器内一任務的狀態。透過導入一用於列 傳送的特別模式,後續向量傳送(π向量流ff)的存取次數可經 由有效使用快閃記憶體caches而達到最佳狀況。 該VMU的純量傳送子運算係在該指令的SOPC欄内加 密。它僅支援一子運算:純量傳送(SEND)。由該AID—S欄 指定的位址計算單元會指定讀取位址。該指令的八^(:_8攔 指定是否此位址計算單元應執行一遞增後運算。以此法可 間接控制一第二ACU(第一個係由該向量子運算控制)。該指 令的SIZE欄決定純量子運算的運算域大小(WORD, DWORD或 QWORD) 〇 保護 轉移 sopc = NOP None sopc = SEND && size = WORD S_snd = mem.word[acu[aid_s].out] sopc = SEND && size = DWORD S—snd = mem.dword[acu[aid—s].out] sopc = SEND && size = QWORD S_snd = mem.qword[acu[aid_s].out] 該VMU的純量接收子運算在該指令的SRCV欄内加密。若 其值為NONE,則不會執行純量接收。不然,該指令的SRCV 欄會決定將使用哪一個功能單元來作為該純量接收的來 源。該AID—R欄指定的位址計算單元會指定寫入位址。以 此法玎間接控制一第三ACU。該指令的AINC—R欄指定是否 85371 -30- 200404205 此位址計算單元應執行一遞增後運算。該來源純量的大小 決定純量接收子運算的運算域大小(WORD,DWORD或 QWORD)。 保護 轉移 Srcv = NONE None Srcv = VMU Mem.scalar[acu[aid_r].out] = s_rcv_vmu Srcv^AMU Mem.scalar[acu[aid_r],out] = s rcv_amu Srcv = SLU Mem.scalar[acu[aid_r].out] = s_rcv_slu Srcv - SRU Mem. scalar [acu[aid_r], out] = s_rcv_sru 可將該傳送和接收子運算結合至一純量移動運算内,從 一 VM位置到另一個VM位置。一對應位址計算單元指定每 一存取的位址。 如上述,以此法,可彈性指派該等ACU中的每一個給任 一向量、純量傳送和純量接收的VMU子運算。以此法,二 個ACU皆可在每一指令内運算。為避免衝突,一限制為每 一 ACU僅可用於那些VMU子運算中之一,亦即AID V 士 AID_S # AID一R。熟諳先前技藝者能調整該指令和背後的硬 體以支援三個以上的ACU,若偏好如此的話;或支援在該 ACU和該組ACU暫存器間的其它架構。例如,若未固定指 派一組暫存器給一 ACU,則該指令也可帶有一要被使用的 組的識別。 該ACU子運算由該VMU控制區間提供,並在該VMU指令 85371 -31 - 200404205
的AOPC欄内加密。它支援一子運算’將一 ACU的輸出設定 至一立即位址值(IMM);以及四個子運算,將一立即位址載 入該等 ACU-暫存器(LDBASE,LD0FFS ’ LDINCR ’和 LDB0UND)中之’。該立即定址的目的是要跳過該一般定 址並’迅速地,從該指令直接提取一位址。這對載入單一字組 特別有用。該對應的立即位址係在IMM—ADDR欄内加密。 該AID—A欄指定該A〇PC子運算將影響哪一個ACU ;來自該 VMU指令的A0PC欄和IMM—ADDR攔將直接被傳送至此特 別ACU,而所有其它八⑶的A〇PC欄貝丨J會被設定成無運算 (NOP)。 一位址計算單元(ACU)在單一 ACU運算期間可支援二”子 運算’’: 一遞增後子運算; 一立即位址操控子運算。
ACU—cmd = (ainc,aopc,imm一addr)
ainc = NOP | INC
aopc = NOP I IMM | LDBASE | LDOFFS | LDINCR | LDBOUND imm一addr = {0·0,···,524288.31} | {-262144.0, ···,262143.31} 該遞增後子運算在該指令的AINC欄内加密。它僅支援一子 運算:遞增後(INC)。此子運算用於避免過渡的明確的位址 計算指令。 85371 -32- 200404205 保護 轉移 ainc = NOP None ainc = INC offs = (offs + incr) mod bound 該立即位址操控子運算在該指令的AOPC欄内加密。它支援 一子運算,輸出一立即位址(IMM);以及四個子運算,將一 立即位址載入該等ACU_暫存器(LDBASE,LD0FFS, LDINCR,和LDB0UND)中之一。該立即位址在該指令的 IMM_ADDR搁内加密。 保護 轉移 aopc = NOP out = base + offs aopc = IMM out = imm—addr aopc = LDBASE out = base + offs ; base = imm_addr aopc = LDOFFS out = base + offs ; offs = inun_addr aopc = LDINCR out = base + offs ; incr = imm—addr aopc = LDBOUND out = base + offs ; bound = imm_addr 該等ACU輸入/輸出為: 輸入 說明 Cmd ACU指令(細節請參考指令格式) 85371 -33- 200404205 輸出 說明 Out ACU位址(直列位址+直列内純量) 在該較佳具體實施例中,一向量不需對準該記憶體内的 向量界限。如此,一包括ps字組的向量可具有一任意的記 憶體位址。一記憶體直列大小相同,但其起始位址之定義 為P S的倍數(對直列存取而言,忽略該位址的最不重要的 2l〇g Ps位元。)。透過允許向量任意對準(通常對準該最小的 字組界限),可更有效利用該記憶體,空位也愈少。可測量 以讓該純量/向量處理器讀取/寫入個別向量,而該向量可被 儲存在該實體記憶體的二連續直列内。最好,該純量資料 被儲存在與儲存該向量資料相同的記憶體内。在此一系統 中’純量可和與其對應的向量互混。對成本有效性和對該 記憶體的最佳存取時間/次數而言,該記憶體最好僅允許完 整向量直列的讀取和寫入。如此,邏輯上該實體記憶體包 括數條直列,每一條的大小和一向量相同。為支援純量的 讀取和寫入,會以一純量的方式使用額外硬體(用於一直列 内純量選擇的直列快取記憶體430和支援44〇)以存取該向 量寬實體記憶體。 應注意’上述數個具體實施例僅為說明而非限制本發 明,並且那些熟諳此藝者將能設計許多替代具體實施例而 不偏離所附申請專利範圍之範疇。在該申請專利範圍内, 任何出現於括號内的參考記號不應被解釋為限制該申請專 利範圍。泫孚眼包括π和”包含”並不排除會出現那些未列在 85371 -34- 200404205 -申請專利範園内的其它元素或步驟。 【圖式簡單說明】 圖1圖7F —較佳架構,其中可使用如本發 量處理器; 明之該純量/向 圖2圖不如本發明之該純量/向量處理器的主要結構; 圖3圖示所支援的資料寬度和資料類型,· 圖4圖示該向量記憶體單元之方塊圖; 圖5圖示將二ACU暫存器組映成至一向量暫存器; 圖6圖示-組ACU暫存器和一 Acu間的固定關係.及 圖7圖示該數組勒暫存器和該等ACU間可建構的關係 圖式代表符號說明】 … 110 120 130 140 21〇 220 230 240 250 252 260 262 匯流排 可程式化純量/向量處理器 微控制器或數位信號處理子系統 介面方塊 管遒化式向量處理區間 純量處理區間 控制區間 純量區間 指令分散單元 程式記憶體 向量記憶體單元 碼產生單元 算術邏輯-乘及加單元 85371 -35 - 264 200404205 266 268 270 400 410 420 ' 620 、 720-722 430 440 450 500 510 、 520 、 610 、 710-717 630 、 632 640 、 642 730 弄亂樣式單元 向左位移單元 向右位移單元 記憶體單元 實體向量記憶體 位址計算單元 直列快取記憶體 向量對準及純量選擇 任意及對準 向量 位址計算單元暫存器組 通路 輸出 完全互連 85371 -36-

Claims (1)

  1. 200404205 拾、申請專利範圍: 1 . 一種處理器,包括·· 一存取一實體記憶體之記憶體埠,該記憶體埠受一位 址控制; 至少一處理單元,執行儲存在該記憶體内的指令和/ 或於儲存在該記憶體内的資料上運作; 至少一位址產生單元(此後稱”AGU”),用於產生一位 址以控制對該記憶體之存取;該AGU與至少一第一組一 複數個N暫存器有關,其中該組暫存器在一位址產生機 制的控制下致能該AGU產生該位址;及
    一記憶體單元,被一運算激發,用於儲存/載入該N暫 存器中的k個暫存器,其中2 <= k <= N,其中該記憶體 單元包括一連接器,用於將該k個暫存器連接至一記憶 體字組,該字組經由該記憶體埠寫入該記憶體;以及一 用於分離一字組的分離器,該字組經由該記憶體埠從該 記憶體讀取至該k個暫存器内。 2. 如申請專利範圍第1項之處理器,其中該記憶體單元用 於在該記憶體的一寫入/讀取週期内執行該儲存/載入。 3. 如申請專利範圍第1項之處理器,其中k = N。 4. 如申請專利範圍第1,2,或3項之處理器,其中該處理 器包括至少額外一組的複數個暫存器,該暫存器在一位 址產生機制的控制下致能一 AGU產生一位址;及 該連接器係操作以將該額外數組暫存器中至少一組 的至少一額外暫存器連接至該一記憶體字組,該字組經 85371 200404205 由巧记fe體埠寫入該記憶體;並且該分離器正運轉,將 二字組分離,該字組經由該記憶體埠從該記憶體讀取至 第一組暫存器以及該额外數組暫存器中至少一組的至 少一額外暫存器的各別的k個暫存器。 5.如申請專利範圍第4項之處理器,其中該處理器包括至 少二AGU,每—個用於產生—位址,用於控制對該記憶 體=存取;該等AGU中的每一個皆與—複數個暫存器中 该等組内各自的一組有關。 如申請專利範園第4項之處理器,其中該AGu可選擇性 也k接土 土少一組暫存器,其中每一組暫存器在一位址 產生機制的控制下致能該AGU產生一各別的位址。 如申請專利範圍第3和4項之處理器,其中該連接器係操 五、私土 y —組暫存器中所有各別相關的暫存器連接 至孩-記憶體字組’該字組經由該記憶體埠寫入該記憶 體;並且該分離器運轉夺一 〜 二 丁子、、且刀離,孩字組經由該 Ή體蟀從該記憶體讀取至該等暫存器組中至少二組 内所有该各別的相關暫存器。 8, :申請專利範圍第4或5項之處理器,其中該處理器致能 各別暫存器組的選擇今 匕帛財暫存讀的各別暫存器需被 料或存放在-運算内;並且該記憶體單元正運轉,以 :行該被選定的暫存器組來回於一記憶體字 或分離。
    85371 如申請專利範圍第丨項之處理器, 以運算在運算域上具有ft小大小— 其中該處理器係操作 處理器字組,並且該 -2- 200404205 記憶體字組的寬度為該處理器字組大小的數倍;並且該 連接器運轉,將該暫存器映成至該記憶體内的界限,該 界限對應該處理器字組,使該處理器能直接改良一暫存 器。 10.如申請專利範圍第1項之處理器,其中該處理器係操作 以平行處理一複數個Μ資料元素,並且該實體記憶體具 有一能儲存該Μ個資料元素的寬度。 85371
TW092113724A 2002-05-24 2003-05-21 An address generation unit for a processor TW200404205A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02077034 2002-05-24
EP02078619 2002-09-04

Publications (1)

Publication Number Publication Date
TW200404205A true TW200404205A (en) 2004-03-16

Family

ID=29585703

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092113724A TW200404205A (en) 2002-05-24 2003-05-21 An address generation unit for a processor

Country Status (7)

Country Link
US (1) US7383419B2 (zh)
EP (1) EP1512069B1 (zh)
JP (1) JP4624098B2 (zh)
CN (1) CN1666174B (zh)
AU (1) AU2003222412A1 (zh)
TW (1) TW200404205A (zh)
WO (1) WO2003100600A2 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2409064B (en) * 2003-12-09 2006-09-13 Advanced Risc Mach Ltd A data processing apparatus and method for performing in parallel a data processing operation on data elements
US7937484B2 (en) * 2004-07-09 2011-05-03 Orb Networks, Inc. System and method for remotely controlling network resources
US8819140B2 (en) 2004-07-09 2014-08-26 Qualcomm Incorporated System and method for enabling the establishment and use of a personal network
US8738693B2 (en) * 2004-07-09 2014-05-27 Qualcomm Incorporated System and method for managing distribution of media files
US8787164B2 (en) * 2004-07-09 2014-07-22 Qualcomm Incorporated Media delivery system and method for transporting media to desired target devices
US9077766B2 (en) * 2004-07-09 2015-07-07 Qualcomm Incorporated System and method for combining memory resources for use on a personal network
US8195744B2 (en) * 2004-07-09 2012-06-05 Orb Networks, Inc. File sharing system for use with a network
US20060277318A1 (en) * 2004-07-09 2006-12-07 Luc Julia System and method for extending communications with a device network
EP1873627B1 (en) * 2006-06-28 2009-05-27 STMicroelectronics S.r.l. A clustered SIMD processor architecture
US8973072B2 (en) * 2006-10-19 2015-03-03 Qualcomm Connected Experiences, Inc. System and method for programmatic link generation with media delivery
US20100141668A1 (en) * 2006-10-26 2010-06-10 Nxp, B.V. Address calculation unit
US7725745B2 (en) * 2006-12-19 2010-05-25 Intel Corporation Power aware software pipelining for hardware accelerators
EP1936493A1 (en) * 2006-12-22 2008-06-25 Telefonaktiebolaget LM Ericsson (publ) Data-processing unit
US7882325B2 (en) * 2007-12-21 2011-02-01 Intel Corporation Method and apparatus for a double width load using a single width load port
US9390539B2 (en) * 2009-11-04 2016-07-12 Intel Corporation Performing parallel shading operations
US8892853B2 (en) 2010-06-10 2014-11-18 Mobileye Technologies Limited Hardware to support looping code in an image processing system
EP2395472B1 (en) * 2010-06-11 2019-05-01 Mobileye Vision Technologies Ltd. Image processing system and address generator therefor
CN104025039B (zh) 2011-12-22 2018-05-08 英特尔公司 打包数据操作掩码串接处理器、方法、系统及指令
US9256480B2 (en) 2012-07-25 2016-02-09 Mobileye Vision Technologies Ltd. Computer architecture with a hardware accumulator reset
CN112540793A (zh) * 2020-12-18 2021-03-23 清华大学 支持多访存模式的可重构处理单元阵列及控制方法、装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913054A (en) * 1996-12-16 1999-06-15 International Business Machines Corporation Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle
US6260137B1 (en) * 1997-09-12 2001-07-10 Siemens Aktiengesellschaft Data processing unit with digital signal processing capabilities
US6041387A (en) * 1997-09-12 2000-03-21 Siemens Aktiengesellschaft Apparatus for read/write-access to registers having register file architecture in a central processing unit
US6356994B1 (en) 1998-07-09 2002-03-12 Bops, Incorporated Methods and apparatus for instruction addressing in indirect VLIW processors
US6363470B1 (en) * 1998-10-06 2002-03-26 Texas Instruments Incorporated Circular buffer management
US6349380B1 (en) * 1999-03-12 2002-02-19 Intel Corporation Linear address extension and mapping to physical memory using 4 and 8 byte page table entries in a 32-bit microprocessor
DE19948100A1 (de) * 1999-10-06 2001-04-12 Infineon Technologies Ag Prozessorsystem

Also Published As

Publication number Publication date
JP2005527036A (ja) 2005-09-08
AU2003222412A1 (en) 2003-12-12
WO2003100600A2 (en) 2003-12-04
JP4624098B2 (ja) 2011-02-02
CN1666174B (zh) 2010-05-05
EP1512069A2 (en) 2005-03-09
CN1666174A (zh) 2005-09-07
WO2003100600A3 (en) 2004-08-19
US20060010255A1 (en) 2006-01-12
US7383419B2 (en) 2008-06-03
EP1512069B1 (en) 2020-12-09

Similar Documents

Publication Publication Date Title
TW200404205A (en) An address generation unit for a processor
US11188497B2 (en) Configuration unload of a reconfigurable data processor
EP0726532B1 (en) Array processor communication architecture with broadcast instructions
US4837676A (en) MIMD instruction flow computer architecture
US5968167A (en) Multi-threaded data processing management system
EP1512068B1 (en) Access to a wide memory
US20050219422A1 (en) Parallel vector processing
WO1999036852A1 (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
JP2004531149A (ja) 再配置可能な論理環境で使用するための効率的な高性能データ動作エレメント
JPH0463430B2 (zh)
WO2001067273A2 (en) Vliw computer processing architecture with on-chip dynamic ram
EP1520233A2 (en) Processing system with interspersed processors and communication elements
US20070079305A1 (en) Alignment of variable length program instructions within a data processing apparatus
JPH11212786A (ja) レジスタベースデータ処理のためのデータパスおよび方法
US8019972B2 (en) Digital signal processor having a plurality of independent dedicated processors
JP2021507386A (ja) ニューラルネットワーク処理のための共用メモリの集中型−分散型混合構成
US7165166B2 (en) Data processing system, data processing apparatus and control method for a data processing apparatus
JP4955149B2 (ja) ビットfifoを有するディジタル信号プロセッサ
JP2010117806A (ja) 半導体装置、および、半導体装置によるデータ処理方法
US11768685B2 (en) Processing device with vector transformation execution
JPS62500750A (ja) 命令フロ−コンピュ−タ
JPH02132575A (ja) 並列計算機,ベクトルレジスタ間データフロー同期装置およびネットワークプリセット装置
Van Berkel et al. Address generation unit for a processor
JP2004355049A (ja) プロセッサシステム
JPH04225483A (ja) 情報処理装置