JP3723115B2 - 単一命令多重データ処理 - Google Patents

単一命令多重データ処理 Download PDF

Info

Publication number
JP3723115B2
JP3723115B2 JP2001308507A JP2001308507A JP3723115B2 JP 3723115 B2 JP3723115 B2 JP 3723115B2 JP 2001308507 A JP2001308507 A JP 2001308507A JP 2001308507 A JP2001308507 A JP 2001308507A JP 3723115 B2 JP3723115 B2 JP 3723115B2
Authority
JP
Japan
Prior art keywords
data
data word
shift
instruction
word
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
JP2001308507A
Other languages
English (en)
Other versions
JP2002132497A (ja
JP2002132497A5 (ja
Inventor
ヒューゴ サイムズ ドミニク
Original Assignee
エイアールエム リミテッド
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 エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2002132497A publication Critical patent/JP2002132497A/ja
Publication of JP2002132497A5 publication Critical patent/JP2002132497A5/ja
Application granted granted Critical
Publication of JP3723115B2 publication Critical patent/JP3723115B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はデータ処理装置の分野に関する。より特定すると、本発明は単一命令多重データ型演算を行うのが望ましいデータ処理装置に関する。
【0002】
【従来の技術】
単一命令多重データ演算は既知の技術であって、単一命令が処理するデータ語は実際はデータ語内の多数のデータ値を表し、所定の処理は各データ値に独立に行う。この型の命令は処理するデータ処理装置の効率を高め、コード・サイズの減少と処理操作の高速化に特に有用である。この技術は一般にディジタル信号処理アプリケーションなどにおける物理的信号を表すデータ値を処理する分野に適用されるが、これに限られるわけではない。
【0003】
データ処理装置のデータ処理機能を拡張するとき、考慮すべき重要なことは処理機能を追加するときに加わるサイズ、複雑さ、コスト、電力消費のオーバーヘッドの範囲である。処理機能を追加してもオーバーヘッドは余り増えない方法が強く望まれる。
【0004】
【課題を解決するための手段】
本発明の一形態のデータ処理装置は、シフト回路と、ビット部分選択および結合回路と、前記シフト回路と前記ビット部分選択および結合回路を制御する命令に応じてデータ語Rnとデータ語Rmに操作を行う命令復号器とを備え、前記操作は、前記データ語Rnの一端から伸びる前記データ語Rnのビット長Aの第1の部分を選択し、前記命令内のシフト・オペランドとして指定された算術右シフトに従って前記データ語Rmのビット長Bの第2の部分を選択し、前記第1の部分と前記第2の部分を結合して出力データ語Rdのそれぞれ異なるビット位置部分を形成する、ことにより与えられる値を生成する。
【0005】
本発明は、単一命令を用いて2個の入力オペランド・データ語の異なる部分を、パックされた出力データ語内で結合する効率的なパッキング命令を与える。更に本発明は、パックするデータ語の1つをその入力オペランド・データ語内の可変位置から選択するシフト・オペランドを与えて、追加のデータ操作とパッキング操作を結合する機能を与える。例えば、結合してパックされた出力データ語にする部分の1つを、他のデータ語部分と共にパックすると同時に2の累乗で乗算または除算する。これは、入力オペランド・データ語内の固定部分からのデータ語を単にパックするだけの装置とは対照的である。本発明の考え方では、パッキング操作はデータ処理装置のデータ・パスが行う操作としては比較的簡単なものなので、データ・パス内に既に存在する回路要素を用いて、処理のサイクル・タイムに制約を加えずに、追加の機能性をパッキング操作に加えることが可能である。
【0006】
理解されるように、入力オペランド・データ語の一端から取る固定位置の多重ビット部分はその入力オペランド・データ語の最上位ビット端または最下位ビット端から取ってよい。かかる可能性は、一般の用語では語の上半分または語の下半分のパッキングに対応する。
本発明の特に好ましい実施の形態は、第1の部分と第2の部分が出力データ語内で隣接し、第1の部分と第2の部分の長さが等しく、両者で出力データ語を満たすものである。
多くの実際のDSPでは、データ語の半分が16ビット長を有するものが便利である。
【0007】
本発明の命令の追加の機能性を与えるのに特によいのは、データ・パス内でシフト回路が選択および結合回路の上流にある装置である。選択および結合回路はデータ・パス内の算術回路に並列に設けるのがよい。なぜなら、パッキング操作と算術回路が与える機能とを結合するのは望ましくないからである。
【0008】
本発明の別の態様はデータ処理の方法を提供する。前記方法は、前記データ語Rnの一端から伸びる前記データ語Rnのビット長Aの第1の部分を選択し、前記命令内のシフト・オペランドとして指定された算術右シフトに従って前記データ語Rmのビット長Bの第2の部分を選択し、前記第1および第2の部分を結合して出力データ語Rdのそれぞれ異なるビット位置の部分を形成することにより与えられる値を生成する命令を復号して実行するステップを含む。
【0009】
また本発明は、汎用コンピュータを制御して上の技術に従って動作するためのコンピュータ・プログラムを記憶する、コンピュータ・プログラム製品を与える。特に、本発明はコンピュータを制御して上に述べた操作を行うための命令を含む、コンピュータ・プログラムを与える。
本発明のかかる目的や機能や利点は、添付の図面を参照して以下の例示の実施の形態の詳細な説明を読めば明らかになる。
【0010】
【発明の実施の形態】
図1は、ADD8TO16と呼ぶ第1のSIMD型データ処理命令の機能を示す。この命令は、実行する処理の一部として各入力オペランド・データ語の長さを拡張した選択された部分の前部に加えられる拡張の性質に対応する、符号付きまたは符号なしの可変部を形成する。第1の入力オペランド・データ語はデータ処理装置のレジスタRm内に記憶する。データ語は4個の8ビット部分p0、p1、p2、p3で形成する。命令内で8ビット部分の右回転操作を指定しているかどうかに従って、レジスタRm内の入力データ語から多重ビット部分p0とp2かまたは多重ビット部分p1とp3を選択する。オプションの右回転操作は、必要に応じて16または24でもよい。これにより、高次部分と低次部分を効率的にスワップすることができる。図1に示す例は、非隣接部分p0とp2を回転しない(シフトする)可変部に選択することを示し、他の可変部は点線で示す。
【0011】
多重ビット部分を選択すると、ゼロまたは符号拡張を用いてそれぞれを8ビット長から16ビット長に拡張する。図に示す拡張したデータ語Pの斜線部分はこれらの拡張部分を示す。
第2の入力データ語はレジスタRn内に記憶し、2つの16ビットのデータ値を含む。図に示す例は単一命令多重データ加算演算を行う。すなわち、拡張されたp0をRnの下位16ビット値a0に加算し、拡張されたp2をRnの上位16ビット部分a2に加算する。この種の加算は全幅加算と考えてよく、キャリー・チェーン(carry chain)は結果の第15ビットと第16ビットの間で分かれる。理解されるように、他のSIMD型の算術演算(例えばSIMD引き算)を行うこともできる。
【0012】
図1の命令が生成する出力結果データ語は下位16ビットにp0とa0の和を生成し、上位16ビットはp2とa2の和を含む。この命令は各データ値の絶対差の和を決定する演算に特に有用である。ここで、a0とa2は累積値を表し、p0とp2は信号の差値(例えば画素の差値)の個別の絶対値を表す。この種の演算は一般にMPEGの動き推定処理に必要であり、この演算を高速で行う機能は非常に有用である。
【0013】
図2は図1の命令を実現するのに用いられるデータ処理装置の例示のデータ・パス2を示す。レジスタ・バンク4は処理する32ビットのデータ語を保持する。RmとRn内に記憶する入力オペランド・データ語はこのレジスタ・バンクから読み出し、結果データ語はレジスタ・バンク4内のレジスタRdに再び書き込む。データ・パス2はシフト回路6と加算回路8を含む。この装置が提供する多くの他のデータ処理命令はこのシフト回路6と加算回路8を種々の方法で用いる。かかるデータ・パス2は、シフト回路6と加算回路8を通って伝播するデータ値の所要時間がデータ処理のサイクル・タイムとよく適合するように注意して設計されている。データ・パス2のハードウエア資源は装置内で効率的に使用され、これらの資源はデータ・パス2内を伝播する各データ語の大部分で活動状態にある。符号/ゼロ拡張およびマスキング回路10をシフト回路6の下位部分に並列に設ける。マルチプレクサ12は、全シフト回路6の出力かまたは符号/ゼロ拡張およびマスキング回路10の出力を加算回路8の一方の入力として選択してよい。加算回路8の他方の入力はRnの入力オペランド・データ語である。
【0014】
図1の命令を実行するときRmの入力オペランド・データ語をシフト回路6に与えるが、シフト回路6は、命令内でそのパラメータが指定されているかどうかに従ってオプションの8ビット位置の右シフトをデータ語に対して行う。オプションの16および24ビット位置の右回転を行ってもよい。多レベルのマルチプレクサを用いたシフタ内では、かかる制限された可能性シフトはシフト回路6の第1の部分から比較的簡単に行うことができる(例えば32ビット装置の場合、マルチプレクサの第1のレベルは16ビットのシフトを与え、マルチプレクサの第2のレベルは8ビットのシフトを与える)。したがって、オプションで所定の量だけシフトした値を部分的にシフト回路6から取り出して、符号/ゼロ拡張およびマスキング回路10に与えることができる。この回路10はRmの恐らくシフトされた入力オペランド・データ語の選択されない多ビット部分をマスクし、これらのマスクされた部分をゼロかまたは各選択された多ビット部分の符号拡張で置換する。符号/ゼロ拡張およびマスキング回路10の出力はマルチプレクサ12を介して加算回路8の第1の入力に入る。加算回路8の第2の入力はRnの入力オペランド・データ語である。加算回路8はその入力にSIMD加算を行う(すなわち、2つの並列16ビット加算を行い、そのキャリー・チェーンは実質的にビット位置15と16の間で分かれる)。加算回路8の出力はレジスタ・バンク4のレジスタRdに再び書き込む。
【0015】
または、符号/ゼロ拡張およびマスキング回路10はRm(回転しない)を入力として取り、次に4つの可能な符号ビットに0、8、16、24の回転を行った後でマスクする。シフト回路6は並列に動作してRmの全32ビットをシフトする。
【0016】
図3と図4は半語パッキングSIMD型命令の2つの変形を示す。図3のPKHTB命令はレジスタRn内に記憶する一方の入力オペランド・データ語の固定の上半分と、レジスタRm内に記憶する第2の入力オペランド・データ語の可変位置半語部分を取り、これらを結合してレジスタRd内に記憶する出力データ語のそれぞれ上半分と下半分にする。命令PKHBTはRnの入力オペランド・データ語の下半分とRmの第2の入力オペランド・データ語の可変位置半語長部分を取り、これらを結合してRdの出力データ語のそれぞれ下半分と上半分にする。図から分かるように、どちらの場合もRnの入力オペランド・データ語の選択された部分は出力データ語Rd内の位置をシフトしない。これによりこの部分は簡単なマスクおよび選択回路で与えられ、追加のハードウエア・オーバーヘッドはほとんどない。図3の命令の可変位置半語部分は、その語をkビット位置だけ右にシフトした後でRmの語のビット位置15から0までを選択する。同様に、図4の命令に従って選択されるRmの半語長可変位置部分は、その語をkビット位置だけ左にシフトした後でRmの語のビット位置31から16までを選択する。
【0017】
図3と図4の命令の可変シフトとパッキング機能の結合は、これらの値の処理中に起こる可能性のある固定点算術値の「Q」値内の変化を調整するのに特に有用である。
図5は、図3と図4の命令を行うのに特に適したデータ・パス14を示す。この場合もレジスタ・バンク16は入力オペランド・データ語(この例では32ビットのデータ語)を与え、出力データ語を記憶する。データ・パスはシフト回路18と加算回路20と選択および結合回路22を含む。
【0018】
動作を説明すると、Rnのシフトされない入力オペランド・データ語をレジスタ・バンク16からシフトおよび結合論理22に直接送る。図3の命令の場合は、Rnの値の最上位16ビットを選択して、出力データ語Rd内に対応するビットを形成する。図4の命令の場合はRnの入力オペランド・データ語の最下位16ビットを選択して送り、出力データ語Rdの最下位ビットを形成する。Rmの入力オペランド・データ語は全シフト回路18を通る。図3の命令の場合は、kビット位置の算術右シフトを行い、次に選択および結合回路22はシフト回路18の出力から最下位16ビットを選択してRdの出力データ語の最下位16ビットを形成する。図4の命令の場合は、シフト回路18はkビット位置の左論理シフトを行い、その結果を選択および結合回路22に供給する。選択および結合回路22はシフト回路18の出力の最上位16ビットを選択し、これを用いてRdの出力データ語の最上位16ビットを形成する。
【0019】
図から分かるように、選択および結合回路22は加算回路20に並列の位置に設ける。したがって、全シフトおよび加算演算を1処理サイクル内に行うことができるようにデータ・パス14を注意して設計すれば、処理サイクルに制限を与えずに、加算回路20の演算に通常与えられる時間内に選択および結合演算を比較的簡単に行うことができる。
【0020】
理解されるように、上に説明しまた特許請求の範囲に規定したデータ処理命令は、得られる結果値に関して定義した。同じ結果値は多くの異なる処理ステップとステップの順序で得ることができる。本発明は、単一命令を用いて同じ最終結果値を生成する全てのかかる変形を含む。
本発明の例示の実施の形態について添付の図面を参照して詳細に説明したが、理解されるように、本発明はかかる実施の形態に限定されるものではなく、特許請求の範囲に規定されている本発明の範囲と精神から逸れることなく、当業者は種々の変化や変更を行うことができるものである。
【図面の簡単な説明】
【図1】第1のSIMD型データ処理命令の機能の略図。
【図2】図1のデータ処理命令を実行するのに適した型の処理装置内のデータ・パスの略図。
【図3】別のSIMD型データ処理命令の変形の略図。
【図4】別のSIMD型データ処理命令の変形の略図。
【図5】図3と図4のデータ処理命令を実行するのに適したデータ処理装置のデータ・パスの略図。
【符号の説明】
Rn,Rm 入力オペランド・データ語
Rd 出力データ語
2 データ・パス
4 レジスタ・バンク
6 シフタ
8 加算器
10 符号/ゼロ拡張及びマスク
12 マルチプレクサ

Claims (14)

  1. データを処理する装置であって、
    (1) シフト回路と、
    (2) ビット部分選択および結合回路と、
    (3) 前記シフト回路と前記ビット部分選択および結合回路とを制御して、単一命令多重データ命令に応じてデータ語Rnとデータ語Rmに操作を行う命令復号器と、
    を備え、前記命令復号器の前記操作は、
    (4) 前記データ語Rnの一端から伸びる前記データ語Rnのビット長Aの第1の部分を選択し、
    (5) 前記単一命令多重データ命令内のシフト・オペランドとして指定された算術右シフトの対象となる前記データ語Rmのビット長Bの第2の部分を選択し、
    (6) 前記第1の部分と前記第2の部分を結合して出力データ語Rdのそれぞれ異なるビット位置部分を形成する、
    ことにより与えられる値を生成することである、データを処理する装置。
  2. 前記第1の部分は前記データ語Rnの最上位ビット端から伸びる、請求項1記載のデータを処理する装置。
  3. 前記第1の部分は前記データ語Rnの最下位ビット端から伸びる、請求項1記載のデータを処理する装置。
  4. 前記シフト・オペランドは前記データ語Rmに対して行う算術右シフトの任意の量を指定することができる、請求項1記載のデータを処理する装置。
  5. 前記第1の部分と前記第2の部分は前記出力データ語Rd内で隣接する、請求項1記載のデータを処理する装置。
  6. 前記出力データ語はビット長Cを有し、C=A+Bである、請求項5記載のデータを処理する装置。
  7. A=Bである、請求項6記載のデータを処理する装置。
  8. A=16である、請求項1記載のデータを処理する装置。
  9. B=16である、請求項1記載のデータを処理する装置。
  10. 前記単一命令多重データ命令はデータ値・パック操作とシフト操作を結合する、請求項1記載のデータを処理する装置。
  11. 前記シフト回路は前記装置のデータ・パス内の前記選択および結合回路の上流にある、請求項1記載のデータを処理する装置。
  12. 前記選択および結合回路は前記データ・パス内の算術回路に並列に配置する、請求項11記載のデータを処理する装置。
  13. コンピュータ内で、単一命令多重データ命令を復号し実行するステップを含む、データを処理する方法であって、前記ステップは、
    (1) 前記単一命令多重データ命令内のオペランドデータ語Rnの一端から伸びる前記データ語Rnのビット長Aの第1の部分を選択し、
    (2) 前記単一命令多重データ命令内のシフト・オペランドとして指定された算術右シフトの対象となる前記データ語Rmのビット長Bの第2の部分を選択し、
    (3) 前記第1の部分と前記第2の部分を結合して出力データ語Rdのそれぞれ異なるビット位置部分を形成する、
    ことにより与えられる値を生成するステップからなる、データを処理する方法。
  14. コンピュータを制御して請求項13記載の方法を実行するためのコンピュータ・プログラムを記憶する記憶媒体
JP2001308507A 2000-10-04 2001-10-04 単一命令多重データ処理 Expired - Lifetime JP3723115B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0024312.1 2000-10-04
GBGB0024312.1A GB0024312D0 (en) 2000-10-04 2000-10-04 Single instruction multiple data processing

Publications (3)

Publication Number Publication Date
JP2002132497A JP2002132497A (ja) 2002-05-10
JP2002132497A5 JP2002132497A5 (ja) 2005-06-16
JP3723115B2 true JP3723115B2 (ja) 2005-12-07

Family

ID=9900675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001308507A Expired - Lifetime JP3723115B2 (ja) 2000-10-04 2001-10-04 単一命令多重データ処理

Country Status (4)

Country Link
US (1) US7260711B2 (ja)
JP (1) JP3723115B2 (ja)
GB (2) GB0024312D0 (ja)
WO (1) WO2002029552A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3857614B2 (ja) * 2002-06-03 2006-12-13 松下電器産業株式会社 プロセッサ
US7531141B2 (en) * 2006-10-12 2009-05-12 Airinspace B.V. Mobile air decontamination and purification unit
US8495341B2 (en) * 2010-02-17 2013-07-23 International Business Machines Corporation Instruction length based cracking for instruction of variable length storage operands
US8595414B2 (en) 2010-09-30 2013-11-26 Apple Inc. Selectively combining commands for a system having non-volatile memory
GB2485774A (en) 2010-11-23 2012-05-30 Advanced Risc Mach Ltd Processor instruction to extract a bit field from one operand and insert it into another with an option to sign or zero extend the field
CN104011617B (zh) * 2011-12-30 2018-03-30 英特尔公司 用于对数据字内的数据进行重新定位的可重配置设备
US10402198B2 (en) * 2013-06-18 2019-09-03 Nxp Usa, Inc. Signal processing device and method of performing a pack-insert operation
JP7296574B2 (ja) 2019-03-04 2023-06-23 パナソニックIpマネジメント株式会社 プロセッサ及びプロセッサの制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US4520439A (en) 1981-01-05 1985-05-28 Sperry Corporation Variable field partial write data merge
JP2613223B2 (ja) 1987-09-10 1997-05-21 株式会社日立製作所 演算装置
US5276891A (en) * 1990-01-11 1994-01-04 Bull Hn Information Systems Inc. Alignment of sign, data, edit byte operand results for storage in memory
US5276881A (en) * 1990-06-25 1994-01-04 Hewlett-Packard Company ANDF producer using the HPcode-Plus compiler intermediate language
JP3043861B2 (ja) 1991-09-30 2000-05-22 株式会社東芝 データ処理装置
US5423010A (en) * 1992-01-24 1995-06-06 C-Cube Microsystems Structure and method for packing and unpacking a stream of N-bit data to and from a stream of N-bit data words
US5410719A (en) 1992-05-27 1995-04-25 Hewlett-Packard Company Field compositor for merging data and including cells each receiving three control and two data inputs and generating one control and one data output therefrom
US5390135A (en) * 1993-11-29 1995-02-14 Hewlett-Packard Parallel shift and add circuit and method
US5487159A (en) 1993-12-23 1996-01-23 Unisys Corporation System for processing shift, mask, and merge operations in one instruction
ZA9510127B (en) 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
CN102841776B (zh) 1994-12-02 2016-06-29 英特尔公司 可以对复合操作数进行压缩操作的微处理器
US5922066A (en) 1997-02-24 1999-07-13 Samsung Electronics Co., Ltd. Multifunction data aligner in wide data width processor
US6052522A (en) * 1997-10-30 2000-04-18 Infineon Technologies North America Corporation Method and apparatus for extracting data stored in concatenated registers
US6098087A (en) * 1998-04-23 2000-08-01 Infineon Technologies North America Corp. Method and apparatus for performing shift operations on packed data

Also Published As

Publication number Publication date
GB2370893A (en) 2002-07-10
GB0122802D0 (en) 2001-11-14
US7260711B2 (en) 2007-08-21
WO2002029552A1 (en) 2002-04-11
US20020040427A1 (en) 2002-04-04
GB0024312D0 (en) 2000-11-15
JP2002132497A (ja) 2002-05-10
GB2370893B (en) 2005-02-23

Similar Documents

Publication Publication Date Title
US8443170B2 (en) Apparatus and method for performing SIMD multiply-accumulate operations
US6742012B2 (en) Apparatus and method for performing multiplication operations
JP3739403B2 (ja) プロセッサのカスタム動作のための方法及び装置
US8271571B2 (en) Microprocessor
Peleg et al. Intel MMX for multimedia PCs
JP3750820B2 (ja) パック・データの乗加算演算を実行する装置
JP2001256038A (ja) 柔軟な乗算ユニットを有するデータ・プロセッサ
JP2005025718A (ja) Simd整数乗算上位丸めシフト
JP4349265B2 (ja) プロセッサ
JP5133491B2 (ja) 単一命令多数データ処理
JP3723115B2 (ja) 単一命令多重データ処理
CN101981542B (zh) 多项式数据处理运算
GB2564696A (en) Register-based complex number processing
JP2002157114A (ja) 乗算器及びそれを搭載した集積回路装置
JP3088956B2 (ja) 演算装置
KR100343459B1 (ko) 자바 프로세서
JP3441847B2 (ja) データメモリを有するプロセッサ
JP2002536763A (ja) 命令セット構造の比較拡張を有するプロセッサ
JP2003084972A (ja) 条件付減算命令の実行速度を改善し、命令が正しく実行されるオペランドの範囲を拡大する方法
JPH1069372A (ja) 演算実行方法及び演算装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050525

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050914

R150 Certificate of patent or registration of utility model

Ref document number: 3723115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130922

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250