JP2007505373A - Simdオペレーションを実行するデータ処理システム及び方法 - Google Patents
Simdオペレーションを実行するデータ処理システム及び方法 Download PDFInfo
- Publication number
- JP2007505373A JP2007505373A JP2006525385A JP2006525385A JP2007505373A JP 2007505373 A JP2007505373 A JP 2007505373A JP 2006525385 A JP2006525385 A JP 2006525385A JP 2006525385 A JP2006525385 A JP 2006525385A JP 2007505373 A JP2007505373 A JP 2007505373A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- instructions
- general purpose
- instruction
- elements
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 108
- 238000000034 method Methods 0.000 title claims description 39
- 230000015654 memory Effects 0.000 claims abstract description 389
- 238000012546 transfer Methods 0.000 claims abstract description 51
- 238000003860 storage Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 10
- 239000003607 modifier Substances 0.000 claims description 4
- 239000013598 vector Substances 0.000 abstract description 124
- 239000011159 matrix material Substances 0.000 description 55
- 239000004020 conductor Substances 0.000 description 35
- 101150103933 VMAC gene Proteins 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 229910052757 nitrogen Inorganic materials 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 241000545442 Radix Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052760 oxygen Inorganic materials 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 229910052717 sulfur Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Complex Calculations (AREA)
Abstract
Description
本発明は、一般的に、データ処理システムに関し、より詳細には、データ処理システム内で使用の命令に関する。
データ処理システムの性能の増大は、ベクトルの多重エレメントの演算の並列実行を可能にすることにより達成することができる。今日入手可能な1つのタイプのプロセッサは、ベクトル演算を実行するベクトル・レジスタを利用するベクトル・プロセッサである。しかしながら、ベクトル・プロセッサは、より高い性能を可能にする一方、またスカラ汎用レジスタを用いるプロセッサより一層増大した複雑さ及びコストをもたらす。即ち、ベクトル・プロセッサ内のベクトル・レジスタ・ファイルは典型的には、N個のベクトル・レジスタを含み、そこにおいて、各ベクトル・レジスタは、M個のエレメント(要素)を保持するためM個のレジスタのバンクを含む。例えば、当該技術で既知のそのような1つのベクトル・プロセッサにおいては、レジスタ・ファイルは、32個のベクトル・レジスタを含み、そこにおいては、各ベクトル・レジスタは、32個の64ビット・レジスタのバンクを含み、従って、1024個の64ビット・レジスタに相当するものを必要とする。
本明細書で用いられているように、用語「バス」は、データ、アドレス、制御又は状態(ステータス)のような1又はそれより多くの様々なタイプの情報を転送するため用いられ得る複数の信号又は導体を指すため用いられている。本明細書で説明される導体は、単一の導体、複数の導体、一方向導体、又は双方向導体であることに関連して示され又は説明される。しかしながら、異なる実施形態は、導体の実行を変え得る。例えば、分離した一方向導体は、双方向導体よりむしろ用いられ得て、そして逆の場合もある。また、複数の導体は、シリアルに又は時分割多重化する要領で多重信号を転送する単一の導体と置換され得る。同様に、多重信号を搬送する単一の導体は、これらの信号のサブセットを様々な異なる導体に分けられ得る。従って、多くのオプションが信号を転送するため存在する。
図2から図11は、例えば、図1のプロセッサ14のような処理回路により実行され得る様々なベクトル・エレメント・ロード及び格納命令を示す。例えば、各命令は、命令ユニット30によりフェッチされることができ、当該命令ユニット30は、それらの命令を適宜に制御ユニット28に与える。従って、制御ユニット28は、データを格納することが必要とされるスカラ・レジスタ・ファイルを用いて、ロード/格納ユニット38及び実行ユニット32に、必要に応じて、受け取られた命令を実行するよう指図することができる。図2から図11に示される命令を用いる事例が、それに続く図面を参照して与えられることに注目されたい。また、本明細書で用いられているように、ベクトル・エレメント(又はレジスタ・エレメント)は、せいぜいスカラGPRのサイズであることができる要素(エレメント)を指すが、しかしまたGPRのサイズより小さいものであることができることに注目されたい。例えば、スカラ・レジスタ・ファイル34が64ビット・レジスタ(M=64)を含む場合、ベクトル・エレメントは、サイズ64ビット又はそれより小さいサイズであることができる。例えば、ベクトル・エレメントは、1個の64ビットGPRが8個のベクトル・エレメントを保持することができるように1バイト(8ビット)であり得る。また、ベクトル・エレメントは、1個の64ビットGPRが4個のベクトル・エレメントを保持することができるように1ハーフワード(16ビット)であり得る。同様に、ベクトル・エレメントは、1個の64ビットGPRが2個のベクトル・エレメントを保持することができるように1ワード(32ビット)であり得る。また、本明細書で用いられているように、バイトは、「b」により指示され、ハーフワードは、「h」により指示され、ワードは、「w」により指示されていることに注目されたい。(代替実施形態では、1ワード又は1ハーフワードは異なって定義され得ることに注目されたい。例えば、1ワードは、32ビットでは無く16ビットを意味する場合もある。しかしながら、本明細書で用いられているように、1ワードは、説明の容易さのため32ビットを指すことにする。)。
図8は、エレメントをソース・レジスタからメモリへ格納するベクトル・エレメントの格納(store vector elements)(stvex)命令を示す。stvex命令は、lvex命令の格納相手方と考えられ得る。一実施形態において、stvex命令は、s/uフィールド、msフィールド、ssフィールド、及びh/lフィールドのような、追加の制御フィールドを用い、これらのフィールドのそれぞれは、図8において、演算子「stvex」に続いて、そしてピリオドにより分離されて示されている。一実施形態において、これらの制御フィールドのそれぞれが、存在する。しかしながら、代替実施形態において、これらの制御フィールドの一部のみが存在し、又は全く無い場合がある。一実施形態において、s/uフィールド(符号付き又は符号なしに拡張)及びmsフィールド(メモリ・サイズ)は、ロード命令を参照して上記で説明したものと同じである。一実施形態において、ssフィールドは、ソース・レジスタの各ソース・エレメントのサイズを指示するソース・エレメント・サイズ・フィールドに対応する。例えば、一実施形態において、ssフィールドは、sb、sh、又はswのうちの1つに設定されて、格納されるべきソース・エレメントがそれぞれバイト、ハーフワード、又はワードであるかどうかを指示し得る。
Claims (26)
- オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
1又はそれより多くの命令を実行するプロセッサ回路と、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するためのものであり、
前記1又はそれより多くの命令のうちの1つが、
(a)前記メモリの中の連続したデータ・エレメントの第1部分内のデータ・エレメント間の第1のオフセットと、
(b)前記メモリと前記少なくとも1つの汎用レジスタとの間で転送されるべきデータ・エレメントの第1の数と、
(c)前記メモリの中のデータ・エレメントの前記第1部分と第2部分との間の第2のオフセットと、を指定する、データ処理システム。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
1又はそれより多くの命令を実行するプロセッサ回路と、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するためのものであり、
前記1又はそれより多くの命令のうちの1つが、1又はそれより多くのデータ・エレメントをビット反転の順序で前記メモリと前記少なくとも1つの汎用レジスタとの間で転送することを実行するための基数修飾子を指定する、データ処理システム。 - 多重アドレッシング・モードを用いる方法であって、
オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
1又はそれより多くの命令を実行するステップであって、前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送する、前記実行するステップと、
前記1又はそれより多くの命令のうちの前記少なくとも1つを用いて、前記メモリの中の連続したデータ・エレメントの第1部分内のデータ・エレメント間の第1のオフセットを指定するステップと、
前記1又はそれより多くの命令のうちの前記少なくとも1つを用いて、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送されるべきデータ・エレメントの第1の数を指定するステップと、
前記1又はそれより多くの命令のうちの前記少なくとも1つを用いて、前記メモリの中のデータ・エレメントの前記第1部分と第2部分との間の第2のオフセットを指定するステップと
を備える方法。 - オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
1又はそれより多くの命令を実行するステップであって、前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送する、前記実行するステップと、
前記1又はそれより多くの命令のうちの前記少なくとも1つを用いて、当該前記1又はそれより多くの命令のうちの前記少なくとも1つの中の基数修飾子を指定するステップであって、前記基数修飾子が1又はそれより多くのデータ・エレメントをビット反転の順序で前記メモリと前記少なくとも1つの汎用レジスタとの間で転送することを実行する、前記基数修飾子を指定するステップと
を備えるデータ処理アドレッシング方法。 - オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
1又はそれより多くの命令を実行するプロセッサ回路を設けるステップと、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するためのものであり、
前記1又はそれより多くの命令のうちの1つが、所定のデータ・エレメントを前記メモリにビット反転の順序で格納すること、及び前記所定のデータ・エレメントを前記少なくとも1つの汎用レジスタに転送することを実行する、データ処理システム・アドレッシング方法。 - オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
1又はそれより多くの命令を実行するプロセッサ回路を設けるステップと、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するためのものであり、
前記1又はそれより多くの命令のうちの1つが、所定のデータ・エレメントを前記メモリに順次の順序で格納し、且つ前記所定のデータ・エレメントを前記少なくとも1つの汎用レジスタにビット反転の順序で転送する、データ処理システム・アドレッシング方法。 - オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
1又はそれより多くの命令を実行するプロセッサ回路を設けるステップと、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するためのものであり、
前記1又はそれより多くの命令のうちの1つが、所定のデータ・エレメントを前記少なくとも1つの汎用レジスタにビット反転の順序で転送すること、及び前記所定のデータ・エレメントを前記メモリに格納することを実行する、データ処理システムのアドレッシング方法。 - オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
1又はそれより多くの命令を実行するプロセッサ回路を設けるステップと、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するためのものであり、
前記1又はそれより多くの命令のうちの1つが、所定のデータ・エレメントを前記少なくとも1つの汎用レジスタに順次の順序で格納し、且つ前記所定のデータ・エレメントを前記メモリにビット反転の順序で転送する、データ処理システムのアドレッシング方法。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
少なくとも第1の命令と当該第1の命令に続く第2の命令とを実行するプロセッサ回路と、を備え、
前記第1の命令が、データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリと前記少なくとも1つの汎用レジスタとのうちの1つにおいてキューし、
前記第2の命令が、少なくとも1つの第1のソース・オペランドを備え、
前記第2の命令が、データ・エレメントの前記ストリームの一部分を、前記少なくとも1つの汎用レジスタが前記第2の命令のソース・オペランドとして現れることに基づいて、条件付きでデキューする、データ処理システム。 - データ処理システムにおいてデータ・エレメントを選択的にデキューする方法であって、
オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
少なくとも第1の命令と当該第1の命令に続く第2の命令とを実行するステップと、
前記第1の命令に応答して、データ・エレメントのストリームを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するステップと、
データ・エレメントのストリームを前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューするステップと、
前記第1の命令に続く第2の命令であって、少なくとも1つの第1のソース・オペランドを備える前記第2の命令を実行するステップと、
データ・エレメントの前記ストリームの一部分を、前記少なくとも1つの汎用レジスタが前記第2の命令のソース・オペランドとして現れることに基づいて条件付きでデキューするステップと
を備える方法。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
複数の命令を実行するプロセッサ回路と、を備え、
前記複数の命令のうちの第1の命令が、データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューし、且つ前記複数の命令の適正なサブセット内の所定の命令に対応する前記複数の命令のうちの第2の命令に応答してデータ・エレメントの前記ストリームの一部分を条件付きでデキューする、データ処理システム。 - データ処理システムにおいてデータ・エレメントを選択的にデキューする方法であって、
オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
複数の命令を実行するステップであって、前記複数の命令のうちの第1の命令が、データ・エレメントのストリームを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送する、前記実行するステップと、
データ・エレメントの前記ストリームを前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューするステップと、
前記複数の命令の適正なサブセット内の所定の命令に対応する前記複数の命令のうちの第2の命令に応答してデータ・エレメントの前記ストリームの一部分を条件付きでデキューするステップと
を備える方法。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
複数の命令を実行するプロセッサ回路と、を備え、
前記複数の命令のうちの第1の命令が、データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューし、且つデータ・エレメントの前記ストリームの一部分を、前記少なくとも1つの汎用レジスタが前記複数の命令のうちの第2の命令のデスティネーション・オペランドとして現れることに基づいて条件付きでエンキューする、データ処理システム。 - データ処理システムにおいてデータ・エレメントを選択的にエンキューする方法であって、
オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
複数の命令を実行するステップであって、前記複数の命令のうちの第1の命令が、データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューするステップと、
データ・エレメントの前記ストリームの一部分を、前記少なくとも1つの汎用レジスタが前記複数の命令のうちの第2の命令のデスティネーション・オペランドとして現れることに基づいて条件付きでエンキューするステップと
を備える方法。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
少なくとも第1の命令と当該第1の命令に続く第2の命令とを実行するプロセッサ回路と、を備え、
前記第1の命令が、データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューし、
前記第2の命令が、少なくとも1つの第1のデスティネーション・オペランドを備え、
前記第1の命令が、データ・エレメントの前記ストリームの一部分を、前記少なくとも1つの汎用レジスタが前記第2の命令のデスティネーション・オペランドとして現れることに基づいて条件付きでエンキューする、データ処理システム。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
少なくとも第1の命令と当該第1の命令に続く第2の命令とを実行するプロセッサ回路と、を備え、
前記第1の命令が、データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューし、
前記第1の命令が更に、転送されるべきデータ・エレメントの数を指定し、且つ複数のデータ・エレメントをデータ・エレメントの前記ストリームの一部分から、前記少なくとも1つの汎用レジスタが前記第2の命令のソース・オペランドとして現れることに基づいて条件付きでデキューする、データ処理システム。 - データ処理システムであって、
オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
少なくとも第1の命令と当該第1の命令に続く第2の命令とを実行するプロセッサ回路と、を備え、
前記第1の命令が、データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューし、
前記第1の命令が更に、転送されるべきデータ・エレメントの数を指定し、且つ複数のデータ・エレメントをデータ・エレメントの前記ストリームの一部分から、前記少なくとも1つの汎用レジスタが前記第2の命令のデスティネーション・オペランドとして現れることに基づいて条件付きでエンキューする、データ処理システム。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
複数の命令を実行するプロセッサ回路と、を備え、
前記複数の命令のうちの第1の命令が、
データ・エレメントのストリームを、前記メモリと前記少なくとも1つの汎用レジスタとの間で転送して、前記メモリ及び前記少なくとも1つの汎用レジスタのうちの少なくとも1つにおいてキューし、且つ
前記複数の命令のうちの第2の命令内の制御フィールドに応答してデータ・エレメントの前記ストリームの一部分をエンキューすることとデキューすることとのうちの少なくとも1つのことを条件付きで実行する、データ処理システム。 - オペランドを格納するメモリと、
少なくとも1つの汎用レジスタと、
1又はそれより多くの命令を実行するプロセッサ回路と、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、データ・エレメントを前記メモリと前記少なくとも1つの汎用レジスタとの間で転送するためのものであり、
少なくとも前記1又はそれより多くの命令が、前記少なくとも1つの汎用レジスタの中のデータ・エレメントのサイズを指定することとは別個に且つそのこととは独立して前記メモリの中のデータ・エレメントのサイズを指定する、データ処理システム。 - データ処理システムにおいてデータ・エレメントをロードし格納する方法であって、
オペランドを格納するメモリを設けるステップと、
少なくとも1つの汎用レジスタを設けるステップと、
1又はそれより多くの命令を実行するステップであって、前記1又はそれより多くの命令のうちの少なくとも1つが、前記メモリと前記少なくとも1つの汎用レジスタとの間でのデータ・エレメントの転送を生じさせ、
少なくとも前記1又はそれより多くの命令が、前記少なくとも1つの汎用レジスタの中のデータ・エレメントのサイズを指定することとは別個に且つそのことから独立して前記メモリの中のデータ・エレメントのサイズを指定する、方法。 - メモリと、
データ処理命令を実行するプロセッサと、を備えるデータ処理システムであって、
前記データ処理命令のうちの少なくとも1つが、前記メモリに対して外部である前記データ処理システムにおける少なくとも1つの格納場所に格納されたデータ・エレメントのサイズを指定することとは別個に且つそのことから独立して前記メモリの中のデータ・エレメントのサイズを指定する制御情報を備える、データ処理システム。 - オペランドを格納するメモリと、
それぞれの汎用レジスタが多重データ・エレメントを保持する複数の汎用レジスタと、
1又はそれより多くの命令を実行するプロセッサ回路と、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、複数のデータ・エレメントを前記メモリと前記複数の汎用レジスタのうちの少なくとも2つの汎用レジスタとの間で転送するためのものであり、
少なくとも前記1又はそれより多くの命令が、前記複数の汎用レジスタの前記少なくとも2つの汎用レジスタのそれぞれと前記メモリとの間で転送されるべきレジスタ・エレメントの数を指定する、データ処理システム。 - データ処理システムにおいてデータ・エレメントを転送する方法であって、
オペランドをメモリに格納するステップと、
多重データ・エレメントを複数の汎用レジスタのそれぞれに格納するステップと、
前記データ処理システムにおいて1又はそれより多くの命令を実行するステップと、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、前記メモリと前記複数の汎用レジスタのうちの少なくとも2つの汎用レジスタとの間での複数のデータ・エレメントの転送を生じさせ、
少なくとも前記1又はそれより多くの命令が、前記複数の汎用レジスタのうちの前記少なくとも2つの汎用レジスタのそれぞれと前記メモリとの間で転送されるべきデータ・エレメントの数を指定する、方法。 - オペランドを格納するメモリと、
それぞれの汎用レジスタが多重データ・エレメントを保持する複数の汎用レジスタと、
1又はそれより多くの命令を実行するプロセッサ回路と、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、複数のデータ・エレメントを前記メモリと前記複数の汎用レジスタのうちの少なくとも2つの汎用レジスタとの間で転送するためのものであり、
少なくとも前記1又はそれより多くの命令が、前記複数の汎用レジスタのうちの前記少なくとも2つの汎用レジスタのどのデータ・エレメントが転送されるべきであるかを指定する、データ処理システム。 - データ処理システムにおいてデータ・エレメントを転送する方法であって、
オペランドをメモリに格納するステップと、
多重データ・エレメントを複数の汎用レジスタのそれぞれに格納するステップと、
1又はそれより多くの命令を実行するステップと、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、前記メモリと前記複数の汎用レジスタのうちの少なくとも2つの汎用レジスタとの間での複数のデータ・エレメントの転送を生じさせ、
少なくとも前記1又はそれより多くの命令が、前記複数の汎用レジスタのうちの前記少なくとも2つの汎用レジスタのどのデータ・エレメントが転送されるべきであるかを指定する、方法。 - オペランドを格納するメモリと、
それぞれの汎用レジスタが多重データ・エレメントを保持する複数の汎用レジスタと、
1又はそれより多くの命令を実行するプロセッサ回路と、を備え、
前記1又はそれより多くの命令のうちの少なくとも1つが、複数のデータ・エレメントを前記メモリと前記複数の汎用レジスタのうちの少なくとも2つの汎用レジスタとの間で転送するためのものであり、
少なくとも前記1又はそれより多くの命令が、前記複数の汎用レジスタのうちの前記少なくとも2つの汎用レジスタのそれぞれと前記メモリとの間で転送されるべきデータ・エレメントの数と、転送されるべきデータ・エレメントの合計数との両方を指定する、データ処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/657,797 US7275148B2 (en) | 2003-09-08 | 2003-09-08 | Data processing system using multiple addressing modes for SIMD operations and method thereof |
US10/657,797 | 2003-09-08 | ||
PCT/US2004/028241 WO2005026974A1 (en) | 2003-09-08 | 2004-08-30 | Data processing system for implementing simd operations and method thereof |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010146102A Division JP5366893B2 (ja) | 2003-09-08 | 2010-06-28 | Simdオペレーションを実行するデータ処理システム及び方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007505373A true JP2007505373A (ja) | 2007-03-08 |
JP2007505373A5 JP2007505373A5 (ja) | 2007-09-13 |
JP4955389B2 JP4955389B2 (ja) | 2012-06-20 |
Family
ID=34226642
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006525385A Expired - Fee Related JP4955389B2 (ja) | 2003-09-08 | 2004-08-30 | Simdオペレーションを実行するデータ処理システム及び方法 |
JP2010146102A Expired - Fee Related JP5366893B2 (ja) | 2003-09-08 | 2010-06-28 | Simdオペレーションを実行するデータ処理システム及び方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010146102A Expired - Fee Related JP5366893B2 (ja) | 2003-09-08 | 2010-06-28 | Simdオペレーションを実行するデータ処理システム及び方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7275148B2 (ja) |
EP (1) | EP1665064A1 (ja) |
JP (2) | JP4955389B2 (ja) |
KR (1) | KR101031158B1 (ja) |
CN (3) | CN101373425A (ja) |
TW (1) | TW200519740A (ja) |
WO (1) | WO2005026974A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014513340A (ja) * | 2011-04-01 | 2014-05-29 | インテル・コーポレーション | データ要素のストライドパターンギャザーおよびデータ要素のストライドパターンスキャッタのためのシステム、装置、および方法 |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004055065A1 (en) * | 2002-12-18 | 2004-07-01 | Basell Poliolefine Italia S.P.A. | Catalyst components for the polymerization of olefins |
US7610466B2 (en) * | 2003-09-05 | 2009-10-27 | Freescale Semiconductor, Inc. | Data processing system using independent memory and register operand size specifiers and method thereof |
US7107436B2 (en) | 2003-09-08 | 2006-09-12 | Freescale Semiconductor, Inc. | Conditional next portion transferring of data stream to or from register based on subsequent instruction aspect |
US7275148B2 (en) | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
US7315932B2 (en) * | 2003-09-08 | 2008-01-01 | Moyer William C | Data processing system having instruction specifiers for SIMD register operands and method thereof |
US7554464B1 (en) * | 2004-09-30 | 2009-06-30 | Gear Six, Inc. | Method and system for processing data having a pattern of repeating bits |
US7257695B2 (en) * | 2004-12-28 | 2007-08-14 | Intel Corporation | Register file regions for a processing system |
US7421566B2 (en) * | 2005-08-12 | 2008-09-02 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
US20070186210A1 (en) * | 2006-02-06 | 2007-08-09 | Via Technologies, Inc. | Instruction set encoding in a dual-mode computer processing environment |
US20070266225A1 (en) * | 2006-05-09 | 2007-11-15 | Ko Tak K V | Microcontroller unit |
GB2447683B (en) * | 2007-03-21 | 2011-05-04 | Advanced Risc Mach Ltd | Techniques for generating a trace stream for a data processing apparatus |
US8407457B2 (en) | 2007-09-28 | 2013-03-26 | Freescale Semiconductor, Inc. | System and method for monitoring debug events |
CN100583030C (zh) * | 2007-12-29 | 2010-01-20 | 中国科学院计算技术研究所 | 一种risc处理器及其数据访存方法 |
US8042002B2 (en) * | 2008-01-18 | 2011-10-18 | Freescale Semiconductor, Inc. | Method and apparatus for handling shared hardware and software debug resource events in a data processing system |
US7945768B2 (en) | 2008-06-05 | 2011-05-17 | Motorola Mobility, Inc. | Method and apparatus for nested instruction looping using implicit predicates |
US8051226B2 (en) | 2008-06-13 | 2011-11-01 | Freescale Semiconductor, Inc. | Circular buffer support in a single instruction multiple data (SIMD) data processor |
US8572147B2 (en) | 2008-06-30 | 2013-10-29 | Freescale Semiconductor, Inc. | Method for implementing a bit-reversed increment in a data processing system |
US8060724B2 (en) * | 2008-08-15 | 2011-11-15 | Freescale Semiconductor, Inc. | Provision of extended addressing modes in a single instruction multiple data (SIMD) data processor |
US8918623B2 (en) | 2009-08-04 | 2014-12-23 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
US8842121B2 (en) * | 2011-02-03 | 2014-09-23 | Intel Corporation | Stream compaction for rasterization |
CN102200964B (zh) * | 2011-06-17 | 2013-05-15 | 孙瑞琛 | 基于并行处理的fft装置及其方法 |
US9519617B2 (en) * | 2011-07-14 | 2016-12-13 | Texas Instruments Incorporated | Processor with instruction variable data distribution |
CN106951214B (zh) | 2011-09-26 | 2019-07-19 | 英特尔公司 | 用于向量加载/存储操作的处理器、系统、介质和方法 |
KR101949417B1 (ko) | 2011-12-02 | 2019-02-20 | 삼성전자주식회사 | 프로세서, 명령어 생성 장치 및 방법 |
CN104011645B (zh) * | 2011-12-22 | 2018-06-26 | 英特尔公司 | 用于产生其中在连续位置中的整数相差恒定整数跨度且最小整数从零偏移整数偏移量的整数序列的处理器、方法、系统和含有指令的介质 |
US9348601B2 (en) | 2012-12-26 | 2016-05-24 | Intel Corporation | Coalescing adjacent gather/scatter operations |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9778932B2 (en) * | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9715385B2 (en) * | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9804840B2 (en) | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
CN103077008B (zh) * | 2013-01-30 | 2014-12-03 | 中国人民解放军国防科学技术大学 | 数组相加运算汇编库程序的地址对齐simd加速方法 |
US9424039B2 (en) * | 2014-07-09 | 2016-08-23 | Intel Corporation | Instruction for implementing vector loops of iterations having an iteration dependent condition |
US10061746B2 (en) * | 2014-09-26 | 2018-08-28 | Intel Corporation | Instruction and logic for a vector format for processing computations |
US10489155B2 (en) * | 2015-07-21 | 2019-11-26 | Qualcomm Incorporated | Mixed-width SIMD operations using even/odd register pairs for wide data elements |
GB2543303B (en) * | 2015-10-14 | 2017-12-27 | Advanced Risc Mach Ltd | Vector data transfer instruction |
US10180829B2 (en) * | 2015-12-15 | 2019-01-15 | Nxp Usa, Inc. | System and method for modulo addressing vectorization with invariant code motion |
CN108491359B (zh) * | 2016-04-22 | 2019-12-24 | 北京中科寒武纪科技有限公司 | 子矩阵运算装置及方法 |
CN107315715B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行矩阵加/减运算的装置和方法 |
CN111104164A (zh) * | 2016-04-26 | 2020-05-05 | 中科寒武纪科技股份有限公司 | 一种用于执行矩阵乘运算的装置和方法 |
CN107315718B (zh) * | 2016-04-26 | 2020-08-21 | 中科寒武纪科技股份有限公司 | 一种用于执行向量内积运算的装置和方法 |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
EP4053695A1 (en) | 2017-03-20 | 2022-09-07 | INTEL Corporation | Systems, methods, and apparatuses for dot production operations |
US10698685B2 (en) * | 2017-05-03 | 2020-06-30 | Intel Corporation | Instructions for dual destination type conversion, mixed precision accumulation, and mixed precision atomic memory operations |
GB2563878B (en) * | 2017-06-28 | 2019-11-20 | Advanced Risc Mach Ltd | Register-based matrix multiplication |
US11275588B2 (en) | 2017-07-01 | 2022-03-15 | Intel Corporation | Context save with variable save state size |
CN108108189B (zh) * | 2017-12-15 | 2020-10-30 | 安徽寒武纪信息科技有限公司 | 一种计算方法及相关产品 |
GB2580664B (en) | 2019-01-22 | 2021-01-13 | Graphcore Ltd | Double load instruction |
CN111813446A (zh) * | 2019-04-12 | 2020-10-23 | 杭州中天微系统有限公司 | 一种数据加载和存储指令的处理方法和处理装置 |
CN112328511B (zh) * | 2021-01-04 | 2021-05-04 | 统信软件技术有限公司 | 一种数据处理方法、计算设备及可读存储介质 |
CN114090079B (zh) * | 2021-11-16 | 2023-04-21 | 海光信息技术股份有限公司 | 串操作方法、串操作装置以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887183A (en) * | 1995-01-04 | 1999-03-23 | International Business Machines Corporation | Method and system in a data processing system for loading and storing vectors in a plurality of modes |
JP2001188675A (ja) * | 1999-12-28 | 2001-07-10 | Nec Eng Ltd | データ転送装置 |
JP2003167726A (ja) * | 2001-11-22 | 2003-06-13 | Univ Of Washington | コプロセッサ装置およびデータ転送を容易にするための方法 |
JP2003521035A (ja) * | 2000-01-18 | 2003-07-08 | クリアウオーター・ネツトワークス・インコーポレイテツド | コンピュータのロードとストア演算を改善する方法および装置 |
US6665749B1 (en) * | 1999-08-17 | 2003-12-16 | Nec Electronics, Inc. | Bus protocol for efficiently transferring vector data |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
JPS5975365A (ja) * | 1982-10-22 | 1984-04-28 | Hitachi Ltd | ベクトル処理装置 |
JPS59128670A (ja) * | 1983-01-12 | 1984-07-24 | Hitachi Ltd | ベクトル処理装置 |
JPS60134974A (ja) * | 1983-12-23 | 1985-07-18 | Hitachi Ltd | ベクトル処理装置 |
US4744043A (en) * | 1985-03-25 | 1988-05-10 | Motorola, Inc. | Data processor execution unit which receives data with reduced instruction overhead |
JPH087662B2 (ja) * | 1985-10-18 | 1996-01-29 | 株式会社日立製作所 | データ転送制御方法 |
US4918600A (en) * | 1988-08-01 | 1990-04-17 | Board Of Regents, University Of Texas System | Dynamic address mapping for conflict-free vector access |
JPH06105432B2 (ja) * | 1989-06-01 | 1994-12-21 | 三菱電機株式会社 | マイクロプロセッサ |
US5201056A (en) * | 1990-05-02 | 1993-04-06 | Motorola, Inc. | RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output |
JP2718254B2 (ja) * | 1990-10-02 | 1998-02-25 | 日本電気株式会社 | ベクトル処理装置 |
JPH04260929A (ja) * | 1991-01-21 | 1992-09-16 | Mitsubishi Electric Corp | データ処理装置 |
WO1992015053A1 (en) * | 1991-02-19 | 1992-09-03 | International Business Machines Corporation | Data transfer within a data storage subsystem |
US5206822A (en) * | 1991-11-15 | 1993-04-27 | Regents Of The University Of California | Method and apparatus for optimized processing of sparse matrices |
US5361354A (en) * | 1991-12-17 | 1994-11-01 | Cray Research, Inc. | Optimization of alternate loop exits |
JP3220881B2 (ja) * | 1992-12-29 | 2001-10-22 | 株式会社日立製作所 | 情報処理装置 |
US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
US5450607A (en) * | 1993-05-17 | 1995-09-12 | Mips Technologies Inc. | Unified floating point and integer datapath for a RISC processor |
US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
US5530804A (en) * | 1994-05-16 | 1996-06-25 | Motorola, Inc. | Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes |
JP2660163B2 (ja) * | 1994-10-11 | 1997-10-08 | 有限会社アレフロジック | アルゴリズム教育支援システム |
US6081880A (en) * | 1995-03-09 | 2000-06-27 | Lsi Logic Corporation | Processor having a scalable, uni/multi-dimensional, and virtually/physically addressed operand register file |
US5719998A (en) * | 1995-06-12 | 1998-02-17 | S3, Incorporated | Partitioned decompression of audio data using audio decoder engine for computationally intensive processing |
US5764787A (en) * | 1996-03-27 | 1998-06-09 | Intel Corporation | Multi-byte processing of byte-based image data |
JPH11506230A (ja) * | 1996-03-28 | 1999-06-02 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | シーケンシャルプロセッサにおいてデータ要素の組を処理する方法およびコンピュータシステム |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
US5799163A (en) * | 1997-03-04 | 1998-08-25 | Samsung Electronics Co., Ltd. | Opportunistic operand forwarding to minimize register file read ports |
US5903769A (en) * | 1997-03-31 | 1999-05-11 | Sun Microsystems, Inc. | Conditional vector processing |
US6202130B1 (en) * | 1998-04-17 | 2001-03-13 | Motorola, Inc. | Data processing system for processing vector data and method therefor |
US6170001B1 (en) * | 1998-05-27 | 2001-01-02 | Arm Limited | System for transfering format data from format register to memory wherein format data indicating the distribution of single or double precision data type in the register bank |
US6052766A (en) * | 1998-07-07 | 2000-04-18 | Lucent Technologies Inc. | Pointer register indirectly addressing a second register in the processor core of a digital processor |
US6192384B1 (en) | 1998-09-14 | 2001-02-20 | The Board Of Trustees Of The Leland Stanford Junior University | System and method for performing compound vector operations |
US6292886B1 (en) * | 1998-10-12 | 2001-09-18 | Intel Corporation | Scalar hardware for performing SIMD operations |
US6182384B1 (en) * | 1998-11-24 | 2001-02-06 | Martin Gaspard | Wheeled grading bucket |
SE9804529L (sv) * | 1998-12-23 | 2000-06-24 | Axis Ab | Flexibel minneskanal |
US6513107B1 (en) * | 1999-08-17 | 2003-01-28 | Nec Electronics, Inc. | Vector transfer system generating address error exception when vector to be transferred does not start and end on same memory page |
US6598221B1 (en) * | 2000-04-13 | 2003-07-22 | Koninklijke Philips Electronics N.V. | Assembly code performance evaluation apparatus and method |
US6647546B1 (en) * | 2000-05-03 | 2003-11-11 | Sun Microsystems, Inc. | Avoiding gather and scatter when calling Fortran 77 code from Fortran 90 code |
US6898691B2 (en) * | 2001-06-06 | 2005-05-24 | Intrinsity, Inc. | Rearranging data between vector and matrix forms in a SIMD matrix processor |
JP3855069B2 (ja) * | 2002-02-04 | 2006-12-06 | 株式会社キャンパスクリエイト | 論理回路 |
US20030167460A1 (en) * | 2002-02-26 | 2003-09-04 | Desai Vipul Anil | Processor instruction set simulation power estimation method |
KR100434502B1 (ko) * | 2002-05-07 | 2004-06-05 | 삼성전자주식회사 | DSP(Digital SignalProcessor)의 데이터 추출/삽입 방법 및 데이터추출/삽입 장치 |
US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
US6986023B2 (en) * | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
US7610466B2 (en) * | 2003-09-05 | 2009-10-27 | Freescale Semiconductor, Inc. | Data processing system using independent memory and register operand size specifiers and method thereof |
US7315932B2 (en) * | 2003-09-08 | 2008-01-01 | Moyer William C | Data processing system having instruction specifiers for SIMD register operands and method thereof |
US7275148B2 (en) | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
-
2003
- 2003-09-08 US US10/657,797 patent/US7275148B2/en not_active Expired - Fee Related
-
2004
- 2004-08-30 CN CNA2008101445670A patent/CN101373425A/zh active Pending
- 2004-08-30 CN CNB2004800244250A patent/CN100481058C/zh not_active Expired - Fee Related
- 2004-08-30 WO PCT/US2004/028241 patent/WO2005026974A1/en active Application Filing
- 2004-08-30 EP EP04782675A patent/EP1665064A1/en not_active Withdrawn
- 2004-08-30 CN CN2008101445685A patent/CN101373426B/zh not_active Expired - Fee Related
- 2004-08-30 JP JP2006525385A patent/JP4955389B2/ja not_active Expired - Fee Related
- 2004-08-30 KR KR1020067004678A patent/KR101031158B1/ko not_active IP Right Cessation
- 2004-09-08 TW TW093127200A patent/TW200519740A/zh unknown
-
2010
- 2010-06-28 JP JP2010146102A patent/JP5366893B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887183A (en) * | 1995-01-04 | 1999-03-23 | International Business Machines Corporation | Method and system in a data processing system for loading and storing vectors in a plurality of modes |
US6665749B1 (en) * | 1999-08-17 | 2003-12-16 | Nec Electronics, Inc. | Bus protocol for efficiently transferring vector data |
JP2001188675A (ja) * | 1999-12-28 | 2001-07-10 | Nec Eng Ltd | データ転送装置 |
JP2003521035A (ja) * | 2000-01-18 | 2003-07-08 | クリアウオーター・ネツトワークス・インコーポレイテツド | コンピュータのロードとストア演算を改善する方法および装置 |
JP2003167726A (ja) * | 2001-11-22 | 2003-06-13 | Univ Of Washington | コプロセッサ装置およびデータ転送を容易にするための方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014513340A (ja) * | 2011-04-01 | 2014-05-29 | インテル・コーポレーション | データ要素のストライドパターンギャザーおよびデータ要素のストライドパターンスキャッタのためのシステム、装置、および方法 |
JP2016040737A (ja) * | 2011-04-01 | 2016-03-24 | インテル・コーポレーション | 装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101373425A (zh) | 2009-02-25 |
CN1842779A (zh) | 2006-10-04 |
JP2010211832A (ja) | 2010-09-24 |
CN101373426A (zh) | 2009-02-25 |
US7275148B2 (en) | 2007-09-25 |
TW200519740A (en) | 2005-06-16 |
KR101031158B1 (ko) | 2011-04-27 |
JP5366893B2 (ja) | 2013-12-11 |
EP1665064A1 (en) | 2006-06-07 |
CN101373426B (zh) | 2012-06-13 |
CN100481058C (zh) | 2009-04-22 |
JP4955389B2 (ja) | 2012-06-20 |
US20050055535A1 (en) | 2005-03-10 |
WO2005026974A1 (en) | 2005-03-24 |
KR20060080188A (ko) | 2006-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4955389B2 (ja) | Simdオペレーションを実行するデータ処理システム及び方法 | |
US7610466B2 (en) | Data processing system using independent memory and register operand size specifiers and method thereof | |
US7315932B2 (en) | Data processing system having instruction specifiers for SIMD register operands and method thereof | |
US6944747B2 (en) | Apparatus and method for matrix data processing | |
US7107436B2 (en) | Conditional next portion transferring of data stream to or from register based on subsequent instruction aspect | |
KR100956970B1 (ko) | 프로세서에서의 마스킹된 저장 동작들을 위한 시스템 및방법 | |
US8024553B2 (en) | Data exchange and communication between execution units in a parallel processor | |
US10803009B2 (en) | Processor with table lookup processing unit | |
US7434024B2 (en) | SIMD processor with register addressing, buffer stall and methods | |
US20020087846A1 (en) | Reconfigurable processing system and method | |
EP3340037B1 (en) | A data processing apparatus and method for controlling vector memory accesses | |
EP1128262A2 (en) | Mapping circuitry and method for register renaming | |
US6820194B1 (en) | Method for reducing power when fetching instructions in a processor and related apparatus | |
US7111155B1 (en) | Digital signal processor computation core with input operand selection from operand bus for dual operations | |
KR20230018361A (ko) | 벡터 연산들을 위한 회전식 누산기 | |
EP2267896A2 (en) | Method for implementing finite impulse response filters | |
US7107302B1 (en) | Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units | |
US6820189B1 (en) | Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation | |
US6859872B1 (en) | Digital signal processor computation core with pipeline having memory access stages and multiply accumulate stages positioned for efficient operation | |
JP2001195251A (ja) | 可変長遅延命令導入方法及び装置 | |
WO2023160930A1 (en) | Looping instruction | |
Schneck et al. | The Cray-1 | |
KR20000048530A (ko) | 데이터 처리장치 레지스터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070730 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100401 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111027 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111104 |
|
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: 20120215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120315 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150323 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |