JP2005174297A - Simd処理における多重化操作 - Google Patents
Simd処理における多重化操作 Download PDFInfo
- Publication number
- JP2005174297A JP2005174297A JP2004308634A JP2004308634A JP2005174297A JP 2005174297 A JP2005174297 A JP 2005174297A JP 2004308634 A JP2004308634 A JP 2004308634A JP 2004308634 A JP2004308634 A JP 2004308634A JP 2005174297 A JP2005174297 A JP 2005174297A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- instruction
- simd
- bit
- 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 abstract description 171
- 238000000034 method Methods 0.000 claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 33
- 238000013500 data storage Methods 0.000 claims abstract description 30
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 239000002131 composite material Substances 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims 9
- 238000011156 evaluation Methods 0.000 claims 1
- 239000013598 vector Substances 0.000 description 62
- 230000008901 benefit Effects 0.000 description 20
- 238000003860 storage Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 17
- 238000007792 addition Methods 0.000 description 15
- 230000008707 rearrangement Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000009467 reduction Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000017105 transposition Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 229920006395 saturated elastomer Polymers 0.000 description 6
- 239000000047 product Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 238000000205 computational method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000003607 modifier Substances 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013642 negative control Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
-
- 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30098—Register arrangements
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/768—Data position reversal, e.g. bit reversal, byte swapping
-
- 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
Abstract
【解決手段】 装置は、複数のデータ要素を記憶できる少なくとも3個の汎用レジスタを有するレジスタデータ記憶装置と多重化命令を復号できる命令デコーダと複数のデータ要素を並列に処理できるデータプロセッサとを備え、データプロセッサは、多重化命令に応答して、3個の汎用レジスタの内の2個をそれぞれが複数のソースのデータ要素を記憶できるソースレジスタとして指定し、更なる1個を複数の制御値を記憶できる制御レジスタとして指定し、制御レジスタまたは2個のソースレジスタの内の1つを複数の結果のデータ要素を記憶できるデスティネーションレジスタとして指定し、複数の制御値のそれぞれに応答して2個のソースレジスタの内の1つから対応するデータ要素を選択し対応するデータ要素を結果のデータ要素としてデスティネーションレジスタに記憶できる。
【選択図】 図43A
Description
D=bit[22]
Rd=bits[15:12]
N=bit[7]
Rn=bits[19:16]
m=bit[5]
Rm=bits[3:0]
対応する“Di"レジスタ番号は、“(D,Rd[3],Rd[3],Rd[1],0)”及び“(D,Rd[3],Rd[2],Rd[1],1)”である。
“Rd[0]”はゼロであるべきである。
“Di”レジスタ番号は、“(0,Rd[3],Rd[2],Rd[1],Rd[0])”である。
“word[D] ”は、レジスタからリトルエンディアンで選択される。
“Di”レジスタ番号は、“(0,0,Rd[2],Rd[1],Rd[0])”である。
ハーフワード“[(D,Rd[3])]”は、レジスタからリトルエンディアンで選択される。
“Di"レジスタ番号は、“(0,0,0,Rd[1],Rd[0])”である。
バイト“[(D,Rd[3],Rd[2])]”は、レジスタからリトルエンディアンで選択される。
V(LD|ST)<st>.<dt>{@<a>}<reglist>,{<n>,}<addr>
default<n>:=elements<dt>(<reglist>)/<st>
;// <addr>
[Rn] ;//addres:=Rn
[Rn]! ;//addres:=Rn,Rn:=Rn+transfer_size
(ここで、“transfer_size”は、アクセスされたメモリの総量を示す。)
[Rn],Rm ;//address:=Rn,Rn:=Rn+Rm
“VLD 3.16 {D0,D1,D2},#1,[r1]”
“VLD 3.16 {D0[1],D1[1],D2[1]},[r2]”
“VLD 3.16 {D0[2],D1[2],D2[2]},[r3]”
“VLD 3.16 {D0[3],D1[3],D2[3]},[r4]”
「即値によるシフト」
即値シフトは、ソースベクトル全ての要素を同じ量によってシフトするために、命令内部に符号化された直接の数値を使用する。縮小バージョン(Narrowing versions)は、データの飽和を含むことができる数値の縮小化(casting down)を可能にし、一方、ロングバージョン(Long versions)は、任意の固定小数点での拡大化(casting up)を可能にする。累積バージョン(accumulate versions)によるシフトは、多くのDSPアルゴリズムに見られる効率的なスケーリング及び累積をサポートするために提供される。右シフト命令もまた、丸めを行うオプションとして与えられる。丸めは、実際には丸められるべき数の半分を追加することにより実行される。このように、“n”の右シフトを行う時、それをシフトする前に、“2n−1”が数値に加算される。このように、以下のテーブル(表)において、もし“n≧1”の場合、丸め(n)(round(n))=2n−1で、もし“n<0”の場合、丸め(n)(round(n))=0である。ビット単位の抽出命令は、データの効率的な梱包を可能にするために含まれる。
「符号付き変数によるシフト」
このセクションのシフトは、第2のベクトルにおいて指定された符号付きシフト量により制御された要素の1つのベクトルに対するシフト実行する。符号付きシフト量をサポートすることは、合理的には負の値になる可能性がある指数値によるシフトに関するサポートを可能にし、負の制御値は右シフトを実行することになる。ベクトルシフトは、各要素が異なる量によりシフトされることを可能にするが、しかし、ベクトルシフトは、シフトが実行される前に、ベクトルの全てのレーンに対するシフト制御オペランドを複製することにより、同一の量の分だけ全てのレーンをシフトするために使用され得る。符号付きシフト制御値は、シフトされるべきオペランドの最小のオペランド要素サイズと同一のサイズの要素である。しかしながら、シフター変数は、シフト量を決定するために、各レーンの最下部の8ビットだけを使用して解釈される。丸め、及び飽和オプションもまた、利用可能である。
「比較及び選択」
データの水準選択及びデータのマスキング(masking)を提供するために使用され得るマスクを生成するための変数の比較とテストが実行され得る。それは、ベクトル化されたコードの終わりで、ベクトル内部の最大値及び最小値を見つけるために使用され得る畳み込みのバージョンを含んでいる、最大値及び最小値を選択するための命令もまた提供する。
“32|ZIP.16A,B”
“32|ZIP.16C,D”
“64|ZIP.32A,C”
“64|ZIP.32B,D”
“Dre=Are*Bre-Aim*Bim”
“Dim=Are*Bim+Aim*Bre”
“32|MUL.16 Dd,Dn,Dm[0]”
“32|MASX.16 Dd,Dn,Dm[1]”
“(a+ic)*(b+id)=e+if”
ここで、
“<value>”は、バイトである。
“<mode> ”は、列挙された拡張機能のうちの1つである。
4 スカラレジスタデータ記憶装置
6 乗算器
8 シフタ
10 加算器
12 命令パイプライン
14 スカラデコーダ
16 SIMDデコーダ
18 専用SIMD処理ロジック
20 (SIMD)レジスタデータ記憶装置
22 ロード記憶ユニット(LSU)
23 ロードFIFO
23’ 記憶FIFO
24 再整理ロジック
26 SIMDレジスタ
28 データ転送ロジック
200 メモリ
210 構造体
220 レジスタ“D0”
225 レジスタ“D1”
230 レジスタ“D2”
250、255、260 構造体
270 レジスタ“D0”
280 レジスタ“D1”
290 レジスタ“D2”
300 レジスタ“D3”
310 メモリ
312 構造体
314 データ要素
330 "D0"レジスタ
335 "D1"レジスタ
340 変換ロジック
342 データ要素
350、355 マルチプレクサ
360、365 入力レジスタ
370 クロスバー制御レジスタ
375 クロスバーマルチプレクサ
380 レジスタキャッシュ
385 出力のマルチプレクサ
400 畳み込み演算ロジックユニット
415、425、431〜434、435、445、455 経路(path)
420、460、470、480、490 マルチプレクサ
410 算術演算装置
450 選択及び分配ロジック
500 マルチプレクサ
510 スカラ選択ロジック
520 “ベクトル×スカラ”演算ロジック
530 演算装置
710 レジスタ“a”
720 レジスタ“b”
730 制御レジスタ
800、802 SIMDレジスタ
804、806 デスティネーションSIMDレジスタ
808 (データ要素)再整理ロジック
810 メモリアクセスロジック
812 SIMDレジスタ
900 レジスタデータ記憶装置
1000 メモリシステム
1005 メモリ管理ユニット(MMU)
1010 レベル1キャッシュ
1015 中継ルックアサイドバッファ(TLB)
1020 データバス
1040 データブロック
1045 128ビットデータブロック
1050 96ビットデータブロック
1055 80ビットデータブロック
1060、1065 256ビットデータブロック
1100 第1のレジスタ
1102 第2のレジスタ
1104、1106 デスティネーションレジスタ
1100、1102 ソースレジスタ
1112、1114 デスティネーションレジスタ
1116 第1のソースレジスタ
1118 第2のソースレジスタ
1120 第1のデスティネーションレジスタ
1122 第2のデスティネーションレジスタ
1125 64ビットレジスタ“D0”
1130 64ビットレジスタ“D1”
1135 画素の4×4配列
1136 対角線
1137、1141、1143、1145 2×2ブロック
1147 レジスタ“A”
1149 レジスタ“B”
1151 レジスタ“C”
1153 レジスタ“D”
1155 レジスタ“D0”
1160 レジスタ“D1”
1165 ソースレジスタ“Dm”
1170 第2のソースレジスタ“Dn”
1175 デスティネーションレジスタ“Dd”
1200 制御部分
1210 データ部分
1220 定数生成ロジック
1222 点線
1224 線
1230 ゲート
1240 定数
1250 ソースオペランド
1260 最終データ値
Claims (23)
- それぞれが複数のデータ要素を記憶することができる少なくとも3個の汎用レジスタを有するレジスタデータ記憶装置と、
多重化命令を復号することができる命令デコーダと、
前記命令デコーダにより制御されると共に、前記レジスタデータ記憶装置の汎用レジスタとしてアクセスされた複数のデータ要素に対して並列にデータ処理操作を実行することができるデータプロセッサと
を備え、
前記データプロセッサは、前記復号された多重化命令に応答して、
前記少なくとも3個の汎用レジスタの内の2つを、それぞれが複数のソースのデータ要素を記憶することができるソースレジスタとして指定し、
前記少なくとも3個の汎用レジスタの内の更なる1つを、複数の制御値を記憶することができる制御レジスタとして指定し、
前記制御レジスタまたは前記2個のソースレジスタを、複数の結果のデータ要素を記憶することができるデスティネーションレジスタとして指定する
ことができると共に、
前記複数の制御値のそれぞれに応答して、前記2個のソースレジスタの内の1つから対応するデータ要素を選択し、かつ前記対応するデータ要素を結果のデータ要素として前記デスティネーションレジスタに記憶することができる
ことを特徴とするデータ処理装置。 - 前記データ要素のぞれぞれ、及び前記対応する制御値のぞれぞれは、単一のビットから構成される
ことを特徴とする請求項1に記載のデータ処理装置。 - 前記データ要素のそれぞれは、1より大きい指定された数のビットから構成されると共に、前記対応する制御値のそれぞれは、前記指定された数のビットから構成される
ことを特徴とする請求項1に記載のデータ処理装置。 - 前記データプロセッサは、前記制御値が指定された特性を有しているかどうかを評価することができる
ことを特徴とする請求項3に記載のデータ処理装置。 - 前記データプロセッサは、論理演算を使用することにより、前記制御値が前記指定された特性を有するかどうかを評価することができる
ことを特徴とする請求項4に記載のデータ処理装置。 - 前記データプロセッサは、前記制御値の単一のビットに対して論理演算を使用することにより、前記制御値が前記指定された特性を有しているかどうかを評価することができる
ことを特徴とする請求項4に記載のデータ処理装置。 - 前記命令デコーダは、前記2個のソースレジスタと前記制御値レジスタとを指定する3個のオペランドを有している多重化命令を復号することができる
ことを特徴とする請求項1に記載のデータ処理装置。 - 前記命令デコーダは、2個の異なる多重化命令を復号することができ、
前記データプロセッサは、前記2個の多重化命令の1番目に応答して、前記2個のソースレジスタの1番目を前記デスティネーションレジスタとして指定することができ、前記2個の多重化命令の2番目に応答して、前記2個のソースレジスタの2番目を前記デスティネーションレジスタとして指定することができる
ことを特徴とする請求項7に記載のデータ処理装置。 - 前記1番目の多重化命令は、もし真ならば複合的なビット単位の挿入を行う命令を有すると共に、前記データプロセッサは、前記もし真ならば複合的なビット単位の挿入を行う命令に応答して、前記2個のソースレジスタの1番目を前記デスティネーションレジスタとして指定することができる
ことを特徴とする請求項8に記載のデータ処理装置。 - 前記2番目の多重化命令は、もし偽ならば複合的なビット単位の挿入を行う命令を有すると共に、前記データプロセッサは、前記もし偽ならば複合的なビット単位の挿入を行う命令に応答して、前記2個のソースレジスタの2番目を前記デスティネーションレジスタとして指定することができる
ことを特徴とする請求項8に記載のデータ処理装置。 - 前記命令デコーダは、3番目の多重化命令を復号することができ、
前記データプロセッサは、前記3番目の多重化命令に応答して、前記制御レジスタをデスティネーションレジスタとして指定することができる
ことを特徴とする請求項8に記載のデータ処理装置。 - 前記3番目の命令は、複合的なビット単位の選択命令を有し、
前記データプロセッサは、前記複合的なビット単位の選択命令に応答して、前記制御レジスタをデスティネーションレジスタとして指定することができる
ことを特徴とする請求項11に記載のデータ処理装置。 - 多重化命令を復号するステップと、
前記多重化命令に応答して、レジスタデータ記憶装置内部の少なくとも3個の汎用レジスタの内の2つを、それぞれが複数のソースのデータ要素を記憶することができるソースレジスタとして指定し、前記少なくとも3個の汎用レジスタの内の更なる1つを、複数の制御値を記憶することができる制御レジスタとして指定し、前記制御レジスタまたは前記2個のソースレジスタの内の1つを、複数の結果のデータ要素を記憶することができるデスティネーションレジスタとして指定するステップと、
前記複数の制御値のそれぞれに応答して、並列に前記2個のソースレジスタの内の1つから対応するデータ要素を選択し、前記対応するデータ要素を結果のデータ要素として前記デスティネーションレジスタに記憶するステップと
を有することを特徴とするデータ処理方法。 - 前記データ要素のぞれぞれ、及び前記対応する制御値のぞれぞれは、単一のビットから構成される
ことを特徴とする請求項13に記載のデータ処理方法。 - 前記データ要素は、1より大きい指定された数のビットから構成されると共に、前記制御値のそれぞれは、前記指定された数のビットから構成される
ことを特徴とする請求項13に記載のデータ処理方法。 - 更に、前記制御値が指定された特性を有しているかどうかを評価するステップと、
前記データ要素を前記評価に基づいて選択するステップと
を有することを特徴とする請求項15に記載のデータ処理方法。 - 前記評価するステップは、論理演算を使用することにより実行される
ことを特徴とする請求項16に記載のデータ処理方法。 - 前記評価するステップは、前記制御値の単一ビットに対する論理演算を使用することにより実行される
ことを特徴とする請求項16に記載のデータ処理方法。 - 前記復号するステップは、3個のオペランドを備える多重化命令の復号処理を有し、
前記3個のオペランドは、前記2個のソースレジスタと前記制御値レジスタとを指定する
ことを特徴とする請求項13に記載のデータ処理方法。 - 前記指定するステップは、もし真ならば複合的なビット単位の挿入を行う命令に応答して、前記2個のソースレジスタの1番目を前記デスティネーションレジスタとして指定する
ことを特徴とする請求項13に記載のデータ処理方法。 - 前記指定するステップは、もし偽ならば複合的なビット単位の挿入を行う命令に応答して、前記2個のソースレジスタの2番目を前記デスティネーションレジスタとして指定する
ことを特徴とする請求項13に記載のデータ処理方法。 - 前記指定するステップは、複合的なビット単位の選択命令に応答して、前記制御レジスタを前記デスティネーションレジスタとして指定する
ことを特徴とする請求項13に記載のデータ処理方法。 - データプロセッサを制御するためにデータプロセッサ上で動作する時に、請求項13に記載の方法のステップを実行することができる多重化命令を備える
ことを特徴とするコンピュータプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0328520A GB2409065B (en) | 2003-12-09 | 2003-12-09 | Multiplexing operations in SIMD processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005174297A true JP2005174297A (ja) | 2005-06-30 |
JP4588413B2 JP4588413B2 (ja) | 2010-12-01 |
Family
ID=30129899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004308634A Active JP4588413B2 (ja) | 2003-12-09 | 2004-10-22 | Simd処理における多重化操作 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050198473A1 (ja) |
JP (1) | JP4588413B2 (ja) |
GB (1) | GB2409065B (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009529188A (ja) * | 2006-03-06 | 2009-08-13 | アナログ デバイシーズ インク | 改良された置換可能なアドレス・プロセッサ及び方法 |
JP2012190389A (ja) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | プロセッサ装置及びその演算方法 |
JP2018500666A (ja) * | 2014-12-27 | 2018-01-11 | インテル・コーポレーション | ベクトルビットギャザーを実行するための方法および装置 |
CN109918225A (zh) * | 2019-02-18 | 2019-06-21 | 天津麒麟信息技术有限公司 | 基于飞腾平台的raid6数据恢复优化方法 |
JP2020527797A (ja) * | 2017-07-20 | 2020-09-10 | エイアールエム リミテッド | データ処理装置におけるベクトル・インタリーブ |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2409066B (en) * | 2003-12-09 | 2006-09-27 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
GB2409059B (en) * | 2003-12-09 | 2006-09-27 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
US7502029B2 (en) * | 2006-01-17 | 2009-03-10 | Silicon Integrated Systems Corp. | Instruction folding mechanism, method for performing the same and pixel processing system employing the same |
US7555514B2 (en) * | 2006-02-13 | 2009-06-30 | Atmel Corportation | Packed add-subtract operation in a microprocessor |
US9069547B2 (en) * | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
US8255446B2 (en) | 2006-12-12 | 2012-08-28 | Arm Limited | Apparatus and method for performing rearrangement and arithmetic operations on data |
GB2444744B (en) * | 2006-12-12 | 2011-05-25 | Advanced Risc Mach Ltd | Apparatus and method for performing re-arrangement operations on data |
US7904699B2 (en) * | 2008-03-10 | 2011-03-08 | International Business Machines Corporation | Processing unit incorporating instruction-based persistent vector multiplexer control |
US7904700B2 (en) * | 2008-03-10 | 2011-03-08 | International Business Machines Corporation | Processing unit incorporating special purpose register for use with instruction-based persistent vector multiplexer control |
US8271569B2 (en) * | 2008-06-17 | 2012-09-18 | Freescale Semiconductor, Inc. | Techniques for performing discrete fourier transforms on radix-2 platforms |
US8099440B2 (en) * | 2008-08-15 | 2012-01-17 | International Business Machines Corporation | Method for laying out fields in a database in a hybrid of row-wise and column-wise ordering |
US7814303B2 (en) * | 2008-10-23 | 2010-10-12 | International Business Machines Corporation | Execution of a sequence of vector instructions preceded by a swizzle sequence instruction specifying data element shuffle orders respectively |
US8442988B2 (en) | 2010-11-04 | 2013-05-14 | International Business Machines Corporation | Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data |
US20120260062A1 (en) * | 2011-04-07 | 2012-10-11 | International Business Machines Corporation | System and method for providing dynamic addressability of data elements in a register file with subword parallelism |
CN104025024B (zh) * | 2011-12-22 | 2018-07-17 | 英特尔公司 | 打包数据操作掩码移位处理器、方法及系统 |
US20140208065A1 (en) * | 2011-12-22 | 2014-07-24 | Elmoustapha Ould-Ahmed-Vall | Apparatus and method for mask register expand operation |
CN104025035B (zh) * | 2011-12-28 | 2017-10-17 | 英特尔公司 | 当执行迭代处理连续数据的程序时减少对存储器io请求的数量 |
US20140195783A1 (en) * | 2011-12-29 | 2014-07-10 | Krishnan Karthikeyan | Dot product processors, methods, systems, and instructions |
US9268571B2 (en) * | 2012-10-18 | 2016-02-23 | Qualcomm Incorporated | Selective coupling of an address line to an element bank of a vector register file |
US9424045B2 (en) | 2013-01-29 | 2016-08-23 | Arm Limited | Data processing apparatus and method for controlling use of an issue queue to represent an instruction suitable for execution by a wide operand execution unit |
US9830164B2 (en) * | 2013-01-29 | 2017-11-28 | Advanced Micro Devices, Inc. | Hardware and software solutions to divergent branches in a parallel pipeline |
US9292298B2 (en) * | 2013-07-08 | 2016-03-22 | Arm Limited | Data processing apparatus having SIMD processing circuitry |
US10545758B2 (en) * | 2014-05-27 | 2020-01-28 | Tsx Inc. | Parallel processing of hash functions |
DE102015107509A1 (de) * | 2014-10-14 | 2016-04-14 | Infineon Technologies Ag | Chip und Verfahren zum Betreiben einer Verarbeitungsschaltung |
US10296489B2 (en) | 2014-12-27 | 2019-05-21 | Intel Corporation | Method and apparatus for performing a vector bit shuffle |
US9910826B2 (en) * | 2015-03-27 | 2018-03-06 | International Business Machines Corporation | SIMD implementation of stencil codes |
US10459731B2 (en) | 2015-07-20 | 2019-10-29 | Qualcomm Incorporated | Sliding window operation |
US9830150B2 (en) * | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US11204764B2 (en) * | 2016-03-31 | 2021-12-21 | Intel Corporation | Processors, methods, systems, and instructions to Partition a source packed data into lanes |
US10579338B2 (en) * | 2017-01-30 | 2020-03-03 | Arm Limited | Apparatus and method for processing input operand values |
US11803377B2 (en) * | 2017-09-08 | 2023-10-31 | Oracle International Corporation | Efficient direct convolution using SIMD instructions |
US10514924B2 (en) | 2017-09-29 | 2019-12-24 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
US11243765B2 (en) | 2017-09-29 | 2022-02-08 | Intel Corporation | Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements |
US10802826B2 (en) | 2017-09-29 | 2020-10-13 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
US10795677B2 (en) | 2017-09-29 | 2020-10-06 | Intel Corporation | Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values |
US10534838B2 (en) | 2017-09-29 | 2020-01-14 | Intel Corporation | Bit matrix multiplication |
US11256504B2 (en) | 2017-09-29 | 2022-02-22 | Intel Corporation | Apparatus and method for complex by complex conjugate multiplication |
GB2577890B (en) * | 2018-10-08 | 2021-03-10 | Advanced Risc Mach Ltd | Data processing with swizzle operation |
US20200264883A1 (en) * | 2019-02-19 | 2020-08-20 | International Business Machines Corporation | Load/store bytes reversed elements instructions |
US20200264877A1 (en) * | 2019-02-19 | 2020-08-20 | International Business Machines Corporation | Load/store elements reversed instructions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314898A (ja) * | 1995-05-17 | 1996-11-29 | Sgs Thomson Microelectron Ltd | マトリックス転置方法 |
JP2001147804A (ja) * | 1999-10-01 | 2001-05-29 | Hitachi Ltd | パッケージデータのシフト方法および処理コア |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4876660A (en) * | 1987-03-20 | 1989-10-24 | Bipolar Integrated Technology, Inc. | Fixed-point multiplier-accumulator architecture |
JPH0778735B2 (ja) * | 1988-12-05 | 1995-08-23 | 松下電器産業株式会社 | キャッシュ装置と命令読出し装置 |
CA2045773A1 (en) * | 1990-06-29 | 1991-12-30 | Compaq Computer Corporation | Byte-compare operation for high-performance processor |
JPH05233281A (ja) * | 1992-02-21 | 1993-09-10 | Toshiba Corp | 電子計算機 |
US5408670A (en) * | 1992-12-18 | 1995-04-18 | Xerox Corporation | Performing arithmetic in parallel on composite operands with packed multi-bit components |
US5481743A (en) * | 1993-09-30 | 1996-01-02 | Apple Computer, Inc. | Minimal instruction set computer architecture and multiple instruction issue method |
US5881302A (en) * | 1994-05-31 | 1999-03-09 | Nec Corporation | Vector processing unit with reconfigurable data buffer |
US6009508A (en) * | 1994-06-21 | 1999-12-28 | Sgs-Thomson Microelectronics Limited | System and method for addressing plurality of data values with a single address in a multi-value store on FIFO basis |
GB9412434D0 (en) * | 1994-06-21 | 1994-08-10 | Inmos Ltd | Computer instruction compression |
GB9412487D0 (en) * | 1994-06-22 | 1994-08-10 | Inmos Ltd | A computer system for executing branch instructions |
US5761103A (en) * | 1995-03-08 | 1998-06-02 | Texas Instruments Incorporated | Left and right justification of single precision mantissa in a double precision rounding unit |
GB9509989D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Manipulation of data |
GB9509983D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Replication of data |
US5673321A (en) * | 1995-06-29 | 1997-09-30 | Hewlett-Packard Company | Efficient selection and mixing of multiple sub-word items packed into two or more computer words |
GB9513515D0 (en) * | 1995-07-03 | 1995-09-06 | Sgs Thomson Microelectronics | Expansion of data |
GB9514684D0 (en) * | 1995-07-18 | 1995-09-13 | Sgs Thomson Microelectronics | An arithmetic unit |
GB9514695D0 (en) * | 1995-07-18 | 1995-09-13 | Sgs Thomson Microelectronics | Combining data values |
JP3526976B2 (ja) * | 1995-08-03 | 2004-05-17 | 株式会社日立製作所 | プロセッサおよびデータ処理装置 |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
DE69625790T2 (de) * | 1995-09-01 | 2003-11-20 | Philips Electronics Na | Verfahren und vorrichtung für anpassbare operationen durch einen prozessor |
US6088783A (en) * | 1996-02-16 | 2000-07-11 | Morton; Steven G | DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word |
US5937178A (en) * | 1996-02-13 | 1999-08-10 | National Semiconductor Corporation | Register file for registers with multiple addressable sizes using read-modify-write for register file update |
US5808875A (en) * | 1996-03-29 | 1998-09-15 | Intel Corporation | Integrated circuit solder-rack interconnect module |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
US5996066A (en) * | 1996-10-10 | 1999-11-30 | Sun Microsystems, Inc. | Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions |
US6173366B1 (en) * | 1996-12-02 | 2001-01-09 | Compaq Computer Corp. | Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage |
US5909572A (en) * | 1996-12-02 | 1999-06-01 | Compaq Computer Corp. | System and method for conditionally moving an operand from a source register to a destination register |
US5893145A (en) * | 1996-12-02 | 1999-04-06 | Compaq Computer Corp. | System and method for routing operands within partitions of a source register to partitions within a destination register |
US5898896A (en) * | 1997-04-10 | 1999-04-27 | International Business Machines Corporation | Method and apparatus for data ordering of I/O transfers in Bi-modal Endian PowerPC systems |
US5973705A (en) * | 1997-04-24 | 1999-10-26 | International Business Machines Corporation | Geometry pipeline implemented on a SIMD machine |
US6047304A (en) * | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
US6209017B1 (en) * | 1997-08-30 | 2001-03-27 | Lg Electronics Inc. | High speed digital signal processor |
GB2329810B (en) * | 1997-09-29 | 2002-02-27 | Science Res Foundation | Generation and use of compressed image data |
US5933650A (en) * | 1997-10-09 | 1999-08-03 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US6038583A (en) * | 1997-10-23 | 2000-03-14 | Advanced Micro Devices, Inc. | Method and apparatus for simultaneously multiplying two or more independent pairs of operands and calculating a rounded products |
US6269384B1 (en) * | 1998-03-27 | 2001-07-31 | Advanced Micro Devices, Inc. | Method and apparatus for rounding and normalizing results within a multiplier |
US6223198B1 (en) * | 1998-08-14 | 2001-04-24 | Advanced Micro Devices, Inc. | Method and apparatus for multi-function arithmetic |
US6085213A (en) * | 1997-10-23 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for simultaneously multiplying two or more independent pairs of operands and summing the products |
US6144980A (en) * | 1998-01-28 | 2000-11-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication |
US6223277B1 (en) * | 1997-11-21 | 2001-04-24 | Texas Instruments Incorporated | Data processing circuit with packed data structure capability |
US6223320B1 (en) * | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
US6334176B1 (en) * | 1998-04-17 | 2001-12-25 | Motorola, Inc. | Method and apparatus for generating an alignment control vector |
US6292888B1 (en) * | 1999-01-27 | 2001-09-18 | Clearwater Networks, Inc. | Register transfer unit for electronic processor |
GB2352065B (en) * | 1999-07-14 | 2004-03-03 | Element 14 Ltd | A memory access system |
US6408345B1 (en) * | 1999-07-15 | 2002-06-18 | Texas Instruments Incorporated | Superscalar memory transfer controller in multilevel memory organization |
US6546480B1 (en) * | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6748521B1 (en) * | 2000-02-18 | 2004-06-08 | Texas Instruments Incorporated | Microprocessor with instruction for saturating and packing data |
-
2003
- 2003-12-09 GB GB0328520A patent/GB2409065B/en not_active Expired - Lifetime
-
2004
- 2004-07-13 US US10/889,366 patent/US20050198473A1/en not_active Abandoned
- 2004-10-22 JP JP2004308634A patent/JP4588413B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314898A (ja) * | 1995-05-17 | 1996-11-29 | Sgs Thomson Microelectron Ltd | マトリックス転置方法 |
JP2001147804A (ja) * | 1999-10-01 | 2001-05-29 | Hitachi Ltd | パッケージデータのシフト方法および処理コア |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009529188A (ja) * | 2006-03-06 | 2009-08-13 | アナログ デバイシーズ インク | 改良された置換可能なアドレス・プロセッサ及び方法 |
JP2012190389A (ja) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | プロセッサ装置及びその演算方法 |
JP2018500666A (ja) * | 2014-12-27 | 2018-01-11 | インテル・コーポレーション | ベクトルビットギャザーを実行するための方法および装置 |
JP2020527797A (ja) * | 2017-07-20 | 2020-09-10 | エイアールエム リミテッド | データ処理装置におけるベクトル・インタリーブ |
JP7186212B2 (ja) | 2017-07-20 | 2022-12-08 | アーム・リミテッド | データ処理装置におけるベクトル・インタリーブ |
CN109918225A (zh) * | 2019-02-18 | 2019-06-21 | 天津麒麟信息技术有限公司 | 基于飞腾平台的raid6数据恢复优化方法 |
CN109918225B (zh) * | 2019-02-18 | 2023-05-09 | 麒麟软件有限公司 | 基于飞腾平台的raid6数据恢复优化方法 |
Also Published As
Publication number | Publication date |
---|---|
GB0328520D0 (en) | 2004-01-14 |
GB2409065B (en) | 2006-10-25 |
GB2409065A (en) | 2005-06-15 |
JP4588413B2 (ja) | 2010-12-01 |
US20050198473A1 (en) | 2005-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4588413B2 (ja) | Simd処理における多重化操作 | |
JP5366917B2 (ja) | データ要素に対するデータ処理操作を並列に実行するためのデータ処理装置及び方法 | |
JP5393643B2 (ja) | Simd処理における定数の生成 | |
JP4727589B2 (ja) | データ処理レジスタに別名を付ける装置および方法 | |
JP4689622B2 (ja) | レジスタとメモリとの間でデータを移動するためのデータ処理装置および方法 | |
JP4689621B2 (ja) | レジスタとメモリとの間でデータを移動するためのデータ処理装置および方法 | |
JP4699002B2 (ja) | Simdデータ処理における算術演算の実行のためのデータ処理装置及び方法 | |
JP4584673B2 (ja) | データ処理システム内部のテーブル検索操作 | |
JP2005174296A (ja) | Simdデータ処理システムにおけるエンディアンの補償 | |
JP2005174298A (ja) | “ベクトル×スカラ”演算 | |
JP4660155B2 (ja) | レジスタとメモリとの間でデータを移動するためのデータ処理装置及び方法 | |
JP2005174300A (ja) | 異なるレジスタデータ記憶装置のレジスタ間のデータ移動 | |
JP2005174292A (ja) | データシフト操作 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090825 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091225 |
|
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: 20100810 |
|
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: 20100908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4588413 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: 20130917 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 |
|
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 |