TWI266204B - Apparatus and method for performing data processing operation in response to data processing instruction - Google Patents

Apparatus and method for performing data processing operation in response to data processing instruction Download PDF

Info

Publication number
TWI266204B
TWI266204B TW093102966A TW93102966A TWI266204B TW I266204 B TWI266204 B TW I266204B TW 093102966 A TW093102966 A TW 093102966A TW 93102966 A TW93102966 A TW 93102966A TW I266204 B TWI266204 B TW I266204B
Authority
TW
Taiwan
Prior art keywords
result
data
value
values
order
Prior art date
Application number
TW093102966A
Other languages
English (en)
Other versions
TW200500879A (en
Inventor
Daniel Kershaw
Original Assignee
Advanced Risc Mach Ltd
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 Advanced Risc Mach Ltd filed Critical Advanced Risc Mach Ltd
Publication of TW200500879A publication Critical patent/TW200500879A/zh
Application granted granted Critical
Publication of TWI266204B publication Critical patent/TWI266204B/zh

Links

Classifications

    • 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
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Description

1266204 九、發明說明: 【發明所屬之技術領域】 本發明與資料處理系統之領域有關。尤其是,本發明 與在單一指令多重資料(SIMD)資料處理系統内含有多重 結果資料值之結果分割有關。 【先前技術】
為資訊處理系統提供SIMD能力係眾所周知者。在此 類系統中,一暫存器通常含有可操縱的多重獨立資料值。 舉一示例,一個3 2位元的暫存器可以含有二個獨立的1 6 位元資料值,其欲以例如與兩個在另一個3 2位元的暫存器 之内存儲的其他 1 6位元資料值之多重或其他結合分別增 加。此類SIMD操作常見於數位信號處理的領域,以及具 有包括增加處理速度和減少代碼密度的優點。
已知SIMD技術之一示例是由英特爾公司產生的英特 爾處理器MMX指令。在MMX指令包括了使兩個每一含有 四個1 6位元資料值之暫存器相乘的指令。當用另一 1 6位 元的資料值與一 1 6位元的資料值相乘時,則結果是一個 32位元的資料值。因此,當使在MMXSIMD指令中指明的 四對1 6位元的資料值相乘時,結果是四個3 2位元的結果 資料值。在許多情況中當執行此類操作時,其希望保持 SIMD格式和資料大小。為了此一目地,MMX指令包括一 種指令型態,其中在上述情況裡產生的結果係以四個 16 位元的結果資料值型式存在,其係各自3 2位元結果的1 6 5 1266204 個最重要位元,且此1 6位元值係被結合在一單一 6 4位元 暫存器中,即,產生一 SIMD類型的結果。另一種選擇是, 亦可使用能產生相乘結果之四個最不重要的16位元的各 別指令,作為其輸出可並結合在一 64位元暫存器上。 【發明内容】 本發明之一態樣所提供之設備,用以執行一資料處理 操作以回應一資料處理指令,該設備包含:
處理邏輯,用以回應該資料處理指令,自儲存在一或 多數輸入儲存中之多數獨立資料值,產生各自的多數結果 資料值;及 一結果分割器,用以回應該資料處理指令,以在一高 次結果儲存中,儲存每一結果資料值之一高次位元部分, 及在一低次結果儲存中,儲存每一結果資料值之一低次位 元部分。
本發明體認到在許多情況下可能會希望獲得SIMD類 型結果,但在許多情況中更重要的是維持結果的完全精 準,以避免因諸如不精確的捨入錯誤等等而產生的不利後 果。因此,本發明技術提供一系統,其係可回應一單一資 訊處理指令,據以獲得一高程式碼密度,當多重獨立資料 值及多重結果資料值儲存在一 SIMD型式時,以高次部分 儲存在一儲存而低次部分儲存在另一儲存,執行一 SIMD 類型操作。因此,如果需要可立即獲得該SIMD類型的結 果,而無需進一步處理,並可保持完全的精確度且可繼續 6 1266204 運作’因為藉 度,並且可自 人們將了 重獨立輸入資 同型式。進入 容,其具有儲 據一些計算技 等。然而,在 分別取得的對 之第一獨立資 由兩個儲存的 其中進行調控 解,藉由處理 料值產生結果 處理邏輯的輸 存於其中之獨 術,對一特定 結合而保持了所有結果的精確 邏輯執 資料值 入亦有 立資料 精確度 本發明的較佳實施例 一起相乘,其中一對 料值,及一對 獨立資料值。 如果要保持完全精確度 SIMD類型操作是普通的, 結果的資料寬度。 本發明技術特別適用的 作’因為藉由本發明之技術 避免可能在累加類型操作中 響。 亦應了解高次位元部分 關係’當它們是所涉及結果 較有效且係較佳的選擇。 k Λ處理指令能夠設定 如整數乘法或者正負分數值 之情況是,所設定的乘法是 係取自 且直接 且增加 狀況是 所保持 發生的 和低次 資料值 許多不 乘法。 正負分 行資訊處理操 的操作類型可 可能是一單一 值之平方的結 之該些值的平 中,可操作處 係取自一第一 一弟二輸入儲 產生SIMD類 需要利用本發 ’與相乘關聯 之額外精確度 多重捨入錯誤 位元部分能有 之非重疊相連 同類型的乘法 然而,本發明 數值乘法,以 作以自多 有多種不 儲存的内 果,或依 方根,等 理邏輯將 輸入儲存 存之第二 型,此類 明技術之 之累加操 ,有助於 之累加影 許多不同 部分時, 操作,例 特別適用 及可操作 7 1266204 其中處理邏輯使每一結果資料值加倍,以將存在於每一輪 入資料值之一正負位元考慮在内。只需很少的額外費用即 可將該加倍操作有效地包含在其他操作中。 獨立SIMD資料值的資料寬度能夠變化,並且在較佳 實施例中該資訊處理指令可指明涉及的資料寬度。
乘法器能夠依據需要的特定情況採取幾種類梨,但 疋’一特別的較佳類型是整數乘法器,因為它相對地簡單 和快速’並且能以適當架構產生各種不同類型操作。 一不例類型的處理操作可以由資訊處理指令指明,該 處理是選擇性的,例如執行飽和計算。 結果分割器用於在不同儲存中分割結果資料值,並且 ^較佳實施例中用複數個多工轉換器來進行。能夠把本發 月之技術應用於許多不同類型之資訊處理系統,例如 s P S,但特別適用於一種處理器核心。 例中是 記憶體 合的情 體或緩 供欲褲 們將了解, 和系統之内 一暫存庫暫 先出緩衝器 的一部分之 況,其中不 衝器而非暫 縱的一系列 相容的 专加所計算結 方法,較佳 該些輸 的儲存 存器、 、或一 一或多 同的儲 存器作 資料值 果範圍 實施例 入儲存,高次結果儲存,低次結 能有各種不同類型,但較佳實施 一專屬暫存器、一緩衝記憶體、 (例如,快取、主要,大量等等) 種。該些不同類型儲存可用於混 存具有不同的型式。在使用記憶 為儲存的情況下,可以方便地提 的串流。 的方式之-係使用肖I發明技術 亦產生一或多種高次保護位元,
8 1266204 例如可用於飽和計算的情況條件。這些保護位元可與其自 身的儲存一起被提供,使結果分割將這些保護位元儲存於 該些保護位元的自身儲存中。 本發明之另一態樣所提供之方法,用以執行一資料處 理操作以回應一資料處理指令,該方法包含下列步驟·· 回應該資料處理指令,自儲存在一或多數輸入儲存中 之多數獨立資料值,產生各自的多數結果資料值;及
回應該資料處理指令,藉由在一高次結果儲存中,儲 存每一結果資料值之一高次位元部分,及在一低次結果儲 存中,儲存每一結果資料值之一低次位元部分,分割該結 果資料值。 上述内容及本發明的其它項目、特徵和優點可自下文 中以附圖詳述之實施例了解。 【實施方式】
第1圖說明處理器核心2,例如英國劍橋之ARM有限 公司所製造者。處理器核心2包括構成資料處理資料路徑 之部分的一暫存庫4、一乘法器6、一轉換器8、和一加法 器1 0。從解譯資料處理指令之指令解譯器1 4接收它們, 進入一指令管道12,以產生在處理器2内控制其他迴路元 件之操作的控制信號。人們將了解,處理器2通常包括許 多進一步的迴路元件,但未求精簡本文而未介紹。在第1 圖的示例中,在暫存庫4之内的暫存器讀取輸入資料值, 及獲得寫回暫存庫 4的暫存器之資料值。在其它實施例 9 1266204 中,輸入值和結果值可以讀取自及寫入不同 中,例如專屬暫存器、緩衝記憶體、先入先出 般目的之記憶體。該些裝置是選擇性的,且可 合的結合。該些不同的選擇性裝置未圖示於第 第2圖說明各種不同的SIMD資料格式。 明的資料路徑之資料寬度也許是修改以支援此 的 ARM處理器版本之 64位元。該資料路徑 SIMD的模式中操縱一完全長度之64位元文字 中,不同的SIMD模式控制二個34位元資料1 位元資料值或八個8位元資料值之一者。在該 中,資料值彼此互相獨立,並且在第1圖中處 資料路徑之架構,係依據分別處理處理該些資 資料值的大小,例如,在適當的點透過斷裂承 用以執行SIMD類型操作之資料路徑的選用本 不在這裡進一步描述。 第3圖圖示依據本發明之技術,說明在不 料寬度模式中,輸入資料值和結果資料值之間 示例(i)中,輸入資料值包括二個 3 2位元輸入 儲存在一第一 64位元暫存器,以及二個 32 Β Ο、B 1儲存在一第二暫存器^在該示例中, 指明的資料處理操作是SIMD相乘,及因此用 BO與32位元值AO相乘,以及用32位元值 元值A1相乘。上述相乘兩者都產生64位元結 AO BO及A1 B1。上述兩結果的最重要的32 類型之儲存 緩衝器和一 使用各種混 1圖中。 在第1圖說 類資料寬度 可以在一非 1 6。在該例 皇、四個 16 SIMD模式 理器2中的 料之 SIMD 載鏈等等。 身已知,將 同SIMD資 的關係。在 值 AO、A1 位元輸入值 由處理指令 3 2位元值 B1與32位 果,分別是 位元寫入一 10 1266204 高次結果暫存器17。上述兩結果最不重要的32位 一低次結果暫存器18。寫入不同暫存器17、18之 是非重疊且相連的。 示例(II)及(III)是類似的且分別關聯於16位元 及8位元輸入值,屬於一 SIMD乘法指令之乘法, 同的暫存器中分別產生結果資料值,在全部結果的 或全部結果的低次半。 如果希望繼續進一步的處理,把由相乘產生的 於相同的資料寬度的進一步的SIMD類型操作,則 果暫存器 17可以直接讀取及用作此類進一步操 入。不需要轉換或或重新安排,就能改善程式碼密 度、能量消耗等等。一特別的較佳環境是高次結果 1 7及低次結果暫存器1 8係用作一累加操作之終點 使連續的相乘可以被累加至該些暫存器,以及保留 結果暫存器1 8之低次結果值可以結續地更新,以產 確的結果及避免捨入錯誤。因此,本發明之技術允 一單一指令,直接存取正確資料,及因為保留結果 資料寬度而保持了精確度。 第 4圖以較詳細之方式圖示第1圖的一部份 徑。將取自暫存庫4之各別暫存器之二個64位元輸 供給一 SIMD整數乘法器20。該些輸入值可以表示 64位元乘以64位元的非SIMD操作,或先前討論 SIMD類型之一種。SIMD乘法器20包含適當切斷 等等,以適當分割獨立輸入值及結果輸出值。來自
元寫入 兩部分 輸入值 及在不 兩次半 結果用 高次結 作之輸 度、速 暫存器 ,據以 在低次 生較精 許使用 的完整 資料路 入值提 一單一 之三種 承載鏈 SIMD 11 1266204
乘法器20的輸出係一承載存檔格式。當系統在一正負分數 模式中操作時,向多工轉換器22、24提供一分數模式指示 信號,用以轉換承載存槽輸出之一位元位置,其相等於在 最重要的位置,以補償額外的正負位元的方式所加倍之 值。一加法器26用於以來自儲存及承載暫存器28、30之 循環部分累加值,或以多工轉換器3 2、3 4所選擇之來自暫 存庫4之暫存器D、C之128位元值,自SIMD乘法器20 增加承載存檔輸出。多工轉換器3 2、3 4係由一累加控制信 號所控制,其圖示於第4圖底部。能夠安排該系統從一來 源暫存器樓案累加,無需累加之相乘,或先前部分計算結 果之累加,例如在一向量類型操作期間,當來源為累加值 時,繞過暫存庫。
當對於一給定的處理操作之乘法及加法操作完成時, 則來自暫存器2 8、3 0之最後的1 2 8位元存檔及承載值被傳 送至一加法器3 6,其中將它們加在一起,以形成一傳統1 2 8 位元結果表示。乘法和加法也許是管道的操作。人們將了 解,相較於來自暫存器 A、B之64位元輸入值,加法器 3 6之輸出已使位元寬度加倍。因此,該S IMD結果值具有 兩倍寬度之獨立SIMD輸入值。提供加法器36之輸出給一 結果分割器,如第5圖所示,其在例示性實施例中具有各 種多工轉換器之類型。
在第5圖,高次結果暫存器3 8接收每一結果值之選擇 性部分,其為其中之高次部分。低次結果暫存器4 0接收結 果值的相應低次部分。控制信號 B、Η、W及L表示SIMD 12 1266204 資料寬度(位元組、半文字、文字或長文字)在使用中。依 據給定之鄰接每一多工轉換器之邏輯表示,該些寬度設定 信號控制第5圖所示之多工轉換器,以在涉及的多工轉換 器之各種輸入間進行選擇。由它們的控制信號所控制之第 5圖之多工轉換器的全部行動,用以自加法器3 6所輸出的 1 2 8位元中選擇/分割,以形成高次結果暫存器3 8和低次 結果暫存器4 0的内容,如第3圖之不同示例所示。 向第1圖之解譯器14提供程式指令,以一種方法其所 具有之語法包含指明使用之資料寬度的參數,是否其為一 非SIMD的完全資料寬度或各種SIMD資料寬度之一,控 制第4圖及第5圖之迴路。程式指令也指明是否執行一累 加,以及是否其係使用外部暫存器值或「内部」部分結果 來完成。 除了第5圖之兩個結果暫存器38、40之外,亦可以提 供一保護暫存器。從累加的結果之延伸版本計算的保護位 元被提供至保護裡暫存器。舉一示例,如果1 6位元的S IMD 資料值用於一相乘累加操作,依據是否提供二或四個保護 位元,該些累加器可能大於3 2位元,例如,3 4或3 6位元, 以使來自累加值之溢位能累加於保護位元之中。在此類實 施例中,該些保護位元可能被分割至一各別的保護位元暫 存器,並且以該種型式,能夠把保護位元暫存器視為在結 果之最重要結束提供保護位元,以低次結果暫存器在結果 值的較低結束提供保護位元,及高次結果暫存器提供SIMD 寬度通常需要的保存資料值。 13 1266204 第6圖圖示具有多重資料格式之一多重累加操作,給 定一堆疊的暫存器結果。 暫存器A及B是64位元SIMD暫存器,在這種情況 下,4個16位元的量(A0-A3及B0-B3)。將該些暫存器相 乘在一起的結果是 4個結果的向量,其每一可能達到3 2 位元寬。
亦可能將4個3 2位元乘法結果累加在另兩個暫存器(C 及D)保存之四個32位元值,該些暫存器之每一保存2個 3 2位元量。 則能以堆疊的格式在暫存器 RL及RH中儲存增加的 結果。 雖然已在本文中參照附圖詳述本發明之實施例,應了 解本發明並不侷限於該些實施例,而亦可能由熟知本項技 藝者以不背離在下文中之申請專利範圍所定義之本發明之 精神及範圍,進行各種修改及變化。
【圖式簡單說明】 第1圖圖示一處理器核心,其具有可實施本發明技術 之類型; 第2圖圖示不同的SIMD資料格式; 第3圖圖示依據本發明之各種資料寬度,輸入資料值 及輸出資料值間的關係; 第4圖圖示在第1圖之處理器核心中之部分資料處理 路徑; 14 1266204 第5圖圖示一多工轉換器,用以依據本發明之技術分 割結果資料值;及 第6圖圖示依據本發明之技術之另一種型式之乘法累 加操作。 【元件代表符號簡單說明】 2 處 理 器 核 心 4 暫 存 庫 6 乘 法 器 8 轉 換 器 10 加 法 器 12 指 令 管 道 14 指 令 解 譯 器 16 64 位 .元 >文 字 17 高 次 結 果 暫 存 器 18 低 次 結 果 暫 存 器 20 整 數 乘 法 器 22 多 工 轉 換 器 24 多 工 轉 換 器 26 加 法 器 28 承 載 暫 存 器 30 承 載 暫 存 器 32 多 工 轉 換 器 34 多 工 轉 換 器 36 加 法 器 38 高 次 結 果 暫 存 器 40 低 次 結 果 暫 存 器
15 1266204 D 暫存器 C 暫存器
16

Claims (1)

1266204 十、申請專利範圍: 1. 一種用以執行一資料處理操作以回應一資料處理指令 之設備,該設備包含: 一處理邏輯,用以回應該資料處理指令,以自儲 存在一或多數輸入儲存中之多數獨立資料值,產生各 自的多數結果資料值;及
一結果分割器,用以回應該資料處理指令,以在 一高次結果儲存中,儲存每一結果資料值之一高次位 元部分,及在一低次結果儲存中,儲存每一結果資料 值之一低次位元部分。 2. 如申請專利範圍第1項所返之設備,其中該處理邏輯 可操作以使各別對之獨立資料值相乘,一對係取自一 第一輸入儲存之一第一獨立資料值,及一對係取自一 第二輸入儲存之一第二獨立資料值。
3. 如申請專利範圍第2項所述之設備,其中處理邏輯可 操作以累加已儲存在該高次結果儲存及該低次結果儲 存内之值,以從該各別對獨立貧料值產生之值中產生 該多數結果資料值。 4. 如申請專利範圍第1項所述之設備,其中每一結果資 料值之該高次位元部分及該低次位元部分係該結果資 17 1266204 料值之非重豐相連部分。 5. 如申請專利範圍第2項所述之設備,其中當該資料處 理指令指示該獨立資料值係正負分數值時,該處理邏 輯可操作以加倍每一藉由令一第一獨立資料值與一第 二獨立資料值相乘所獲得之值。
6. 如申請專利範圍第1項所述之設備,其中每一輸入儲 存可儲存Μ個獨立N位元資料值。 7. 如申請專利範圍第6項所述之設備,其中該資料處理 指令可指明該獨立資料值的一資料寬度。
8. 如申請專利範圍第2項所述之設備,其中該處理邏輯 包括一整數乘法器,其係可操作以使該各別對獨立資 料值相乘。 9. 如申請專利範圍第1項所述之設備,其中該處理邏輯 係可操作以對該獨立資料值執行飽和資料處理操作。 10.如申請專利範圍第1項所述之設備,其中該結果分割 器包括依據該資料處理指令控制之複數多工轉換器。 18 1266204 11.如申請專利範圍第1項所述之設備,其中該設備是一 處理器核心。 12.如申請專利範圍第1項所述之設備,其中該一或多種 輸入儲存係下列之一或多種: 一暫存庫暫存器; 一專屬暫存器;
一緩衝記憶體; 一先進先出緩衝器;及 一記憶體。 13 .如申請專利範圍第1項所述之設備,其中該高次結果 儲存是下列之一種: 一暫存庫暫存器; 一專屬暫存器;
一緩衝記憶體; 一先進先出緩衝器;及 一記憶體。 14.如申請專利範圍第1項所述之設備,其中該低次結果 儲存是下列之一種: 一暫存庫暫存器; 一專屬暫存器; 19 1266204 一緩衝記憶體; 一先進先出緩衝器;及 一記憶體。
1 5.如申請專利範圍第1項所述之設備,其中該處理邏輯 可操作以對每一結果資料值產生一或多種高次保護位 元,以及該結果分割器可操作以在一保護位元儲存内 儲存該保護位元。 1 6 .如申請專利範圍第1 5項所述之設備,其中該保護位元 儲存是下列之一種: 一暫存庫暫存器; 一專屬暫存器; 一緩衝記憶體;
一先進先出緩衝器;及 一記億體。 1 7. —種用以執行一資料處理操作以回應一資料處理指令 之方法,該方法包含下列步驟: 自儲存在一或多數輸入儲存中之多數獨立資料 值,產生各自的多數結果資料值,以回應該資料處理 指令;及 藉由在一高次結果儲存中,儲存每一結果資料值 20 1266204 之一高次位元部分,及在一低次結果儲存中,儲存每 一結果資料值之一低次位元部分,分割該結果資料 值,以回應該資料處理指令。 1 8 .如申請專利範圍第1 7項所述之方法,其中使各別對之 獨立資料值相乘的步驟中,一對係取自一第一輸入儲 存之一第一獨立資料值,及一對係取自一第二輸入儲 存之一第二獨立實料值。 1 9.如申請專利範圍第1 8項所述之方法,其中累加已儲存 在該高次結果儲存及該低次結果儲存内之值的步驟, 係使用從該各別對獨立資料值產生之值,以產生該複 數結果資料值。 2 0.如申請專利範圍第1 7項所述之方法,其中每一結果資 料值之該高次位元部分及該低次位元部分係該結果資 料值之非重疊相連部分。 2 1 .如申請專利範圍第1 8項所述之方法,其中當該資料處 理指令指明該獨立資料值係正負分數值時,每一藉由 令一第一獨立資料值與一第二獨立資料值相乘所獲得 之值係被加倍。 21 1266204 22. 如申請專利範圍第17項所述之方法,其中每一輸入儲 存可儲存Μ個獨立N位元資料值。 23 . 如申請專利範圍第22項所述之方法,其中該資料處理 指令指明該獨立資料值的一資料寬度。 24. 如申請專利範圍第18項所述之方法,其中一整數乘法 器可操作以使該各別對獨立資料值相乘。
25. 如申請專利範圍第1 7項所述之方法,其中對該獨立資 料值執行飽和資料處理操作。 26. 如申請專利範圍第1 7項所述之方法,其中至少一部分 的分割步驟係藉由依據該資料處理指令控制之複數多 工轉換器來執行。
27. 如申請專利範圍第1 7項所述之方法,其中該方法在一 處理器核心中執行。 如申請專利範圍第1 7項所述之方法,其中該一或多種 輸入儲存係下列之一或多種: 一暫存庫暫存器; 一專屬暫存器; 22 28. 1266204 一緩衝記憶體; 一先進先出緩衝器;及 一記憶體。 29.如申請專利範圍第1 7項所述之方法,其中該高次結果 儲存是下列之一種: 一暫存庫暫存器;
一專屬暫存器; 一緩衝記憶體; 一先進先出緩衝器;及 一記憶體。 3 0.如申請專利範圍第1 7項所述之方法,其中該低次結果 儲存是下列之一種: 一暫存庫暫存器;
一專屬暫存器; 一緩衝記憶體; 一先進先出緩衝器;及 一記憶體。 3 1 .如申請專利範圍第1 7項所述之方法,其中上述產生步 驟對每一結果資料值產生一或多種高次保護位元,以 及上述分割步驟在一保護位元儲存内儲存該保護位 23 1266204 元0 3 2.如申請專利範圍第3 1項所述之方法,其中該保護位元 儲存是下列之一種: 一暫存庫暫存器; 一專屬暫存器; 一緩衝記憶體;
一先進先出緩衝器;及 一記憶體。
24 1266204 七、指定代表圖·· (一) 、本案指定代表圖為:第3圖。 (二) 、本代表圖之元件代表符號簡單說明: 1 7 高次結果暫存器 1 8 低次結果暫存器 八、本案若有化學式時,請揭示最能顯示 發明特徵的化學式: 無
TW093102966A 2003-06-16 2004-02-09 Apparatus and method for performing data processing operation in response to data processing instruction TWI266204B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/461,880 US7668897B2 (en) 2003-06-16 2003-06-16 Result partitioning within SIMD data processing systems

Publications (2)

Publication Number Publication Date
TW200500879A TW200500879A (en) 2005-01-01
TWI266204B true TWI266204B (en) 2006-11-11

Family

ID=33511357

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093102966A TWI266204B (en) 2003-06-16 2004-02-09 Apparatus and method for performing data processing operation in response to data processing instruction

Country Status (11)

Country Link
US (1) US7668897B2 (zh)
EP (1) EP1634163B1 (zh)
JP (1) JP4402654B2 (zh)
KR (1) KR101042647B1 (zh)
CN (1) CN100378651C (zh)
AU (1) AU2003290285A1 (zh)
IL (1) IL169374A (zh)
MY (1) MY135903A (zh)
RU (1) RU2005139390A (zh)
TW (1) TWI266204B (zh)
WO (1) WO2004114127A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3779540B2 (ja) * 2000-11-08 2006-05-31 株式会社ルネサステクノロジ 複数レジスタ指定が可能なsimd演算方式
US20050273559A1 (en) 2004-05-19 2005-12-08 Aris Aristodemou Microprocessor architecture including unified cache debug unit
US20060277243A1 (en) * 2005-06-02 2006-12-07 International Business Machines Corporation Alternate representation of integers for efficient implementation of addition of a sequence of multiprecision integers
US7747088B2 (en) 2005-09-28 2010-06-29 Arc International (Uk) Limited System and methods for performing deblocking in microprocessor-based video codec applications
US10228941B2 (en) * 2013-06-28 2019-03-12 Intel Corporation Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register
FR3021428B1 (fr) * 2014-05-23 2017-10-13 Kalray Multiplication de matrices de bits utilisant des registres explicites
US9710228B2 (en) 2014-12-29 2017-07-18 Imagination Technologies Limited Unified multiply unit
US9875213B2 (en) * 2015-06-26 2018-01-23 Intel Corporation Methods, apparatus, instructions and logic to provide vector packed histogram functionality
US10489155B2 (en) 2015-07-21 2019-11-26 Qualcomm Incorporated Mixed-width SIMD operations using even/odd register pairs for wide data elements
US11188329B1 (en) * 2020-06-24 2021-11-30 Micron Technology, Inc. Dynamic precision bit string accumulation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0924601B1 (en) 1993-11-23 2001-09-26 Hewlett-Packard Company, A Delaware Corporation Parallel data processing in a single processor
EP0661624A1 (en) 1994-01-04 1995-07-05 Sun Microsystems, Inc. Pseudo-superscalar technique for video processing
GB2291515B (en) 1994-07-14 1998-11-18 Advanced Risc Mach Ltd Data processing using multiply-accumulate instructions
WO1996017293A1 (en) 1994-12-01 1996-06-06 Intel Corporation A microprocessor having a multiply operation
TW364976B (en) 1996-09-23 1999-07-21 Arm Corp Input operand control in data processing systems
GB2317467B (en) 1996-09-23 2000-11-01 Advanced Risc Mach Ltd Input operand control in data processing systems
KR19990061571A (ko) * 1997-12-31 1999-07-26 윤종용 디지털 신호 처리기의 연산장치
US6230257B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Method and apparatus for staggering execution of a single packed data instruction using the same circuit
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
US6253299B1 (en) * 1999-01-04 2001-06-26 International Business Machines Corporation Virtual cache registers with selectable width for accommodating different precision data formats
KR100325430B1 (ko) * 1999-10-11 2002-02-25 윤종용 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법
US7039906B1 (en) * 2000-09-29 2006-05-02 International Business Machines Corporation Compiler for enabling multiple signed independent data elements per register

Also Published As

Publication number Publication date
JP4402654B2 (ja) 2010-01-20
US7668897B2 (en) 2010-02-23
EP1634163B1 (en) 2017-05-24
JP2006527868A (ja) 2006-12-07
CN1791857A (zh) 2006-06-21
KR20060040597A (ko) 2006-05-10
IL169374A0 (en) 2007-07-04
MY135903A (en) 2008-07-31
IL169374A (en) 2011-01-31
TW200500879A (en) 2005-01-01
US20040255100A1 (en) 2004-12-16
EP1634163A1 (en) 2006-03-15
CN100378651C (zh) 2008-04-02
WO2004114127A1 (en) 2004-12-29
KR101042647B1 (ko) 2011-06-20
AU2003290285A1 (en) 2005-01-04
RU2005139390A (ru) 2006-05-27

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
US6661357B2 (en) System for sampling rate conversion in digital audio applications
TWI266204B (en) Apparatus and method for performing data processing operation in response to data processing instruction
FR2752630A1 (fr) Traitement de donnees multiples a une seule instruction dans un processeur de signaux multisupport
TW200816045A (en) Processor circuit and method of executing a packed half-word addition and subtraction operation, and method of performing an efficient butterfly computation
US20070255928A1 (en) Processor
US20080126758A1 (en) Digital signal processing apparatus and method for multiply-and-accumulate operation
JP3003467B2 (ja) 演算装置
JPH082014B2 (ja) 多段デジタル・フィルタ
US20020065860A1 (en) Data processing apparatus and method for saturating data values
US7917566B2 (en) Arithmetic device capable of obtaining high-accuracy calculation results
AU646956B2 (en) Register and arithmetic logic unit
JPS62151940A (ja) レジスタ退避/復帰方式
JPS59178544A (ja) メモリアクセス回路
JP3357243B2 (ja) 画像処理装置における設定データ変更装置
US10169040B2 (en) System and method for sample rate conversion
JP2674747B2 (ja) シグナル・プロセツサ
JPS6116364A (ja) ベクトルデ−タ処理装置
KR940004476B1 (ko) 디지탈 필터의 연산 처리 회로
JP2764947B2 (ja) 命令制御方式
JP2008167394A (ja) バンドインターリーブ形式からバンド分割形式へのフォーマット変換装置
JPH11143710A (ja) 処理対象値入力装置及びプログラム変換装置
JPH0524536B2 (zh)
JPH01142934A (ja) 情報処理回路
JPS6238942A (ja) マイクロプログラム制御装置

Legal Events

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