JP6818010B2 - ベクトル長クエリ命令 - Google Patents

ベクトル長クエリ命令 Download PDF

Info

Publication number
JP6818010B2
JP6818010B2 JP2018503589A JP2018503589A JP6818010B2 JP 6818010 B2 JP6818010 B2 JP 6818010B2 JP 2018503589 A JP2018503589 A JP 2018503589A JP 2018503589 A JP2018503589 A JP 2018503589A JP 6818010 B2 JP6818010 B2 JP 6818010B2
Authority
JP
Japan
Prior art keywords
vector
scaling
value
vector length
length query
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.)
Active
Application number
JP2018503589A
Other languages
English (en)
Other versions
JP2018521422A (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 JP2018521422A publication Critical patent/JP2018521422A/ja
Application granted granted Critical
Publication of JP6818010B2 publication Critical patent/JP6818010B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/3004Arrangements for executing specific machine instructions to perform operations on memory

Description

本開示は、データ処理システムの分野に関する。より具体的には、本開示は、ベクトル処理をサポートするデータ処理システムに関する。
複数のベクトル要素を含むベクトル被演算子の処理をサポートするデータ処理システムを提供することが知られている。ベクトルレジスタ内のビット数は、従来、当該のプロセッサアーキテクチャにより定義されている。ベクトルレジスタ内のビット数は、異なるサイズのベクトル要素間で分けることができ、その結果、異なる数のベクトル要素が所与のベクトルレジスタにより提供されることが生じる。
本開示の少なくとも一部の実施形態によれば、ベクトル処理動作を行うための処理回路と、該ベクトル処理動作を行うように該処理回路を制御するための制御信号を生成するためにプログラム命令をデコードするためのデコーダ回路と、を備える、データを処理するための装置であって、該デコーダ回路が、該ベクトル処理動作を行うとき該装置により使用されるベクトル長に、該スケーリングされたベクトル長クエリ命令により指定されたスケーリング値を乗じたものに依存する結果値を返すように該処理回路を制御するように、スケーリングされたベクトル長クエリ命令に応答する装置、が提供される。
本開示の少なくとも一部の実施形態によれば、ベクトル処理動作を行うための処理手段と、該ベクトル処理動作を行うように該処理回路を制御するための制御信号を生成するためにプログラム命令をデコードするための、デコーダ手段と、を備える、データを処理するための装置であって、該デコーダ手段が、該ベクトル処理動作を行うとき該装置により使用されるベクトル長に、該スケーリングされたベクトル長クエリ命令により指定されたスケーリング値を乗じたものに依存する結果値を返すように該処理手段を制御するように、スケーリングされたベクトル長クエリ命令に応答する装置、が提供される。
本開示の少なくとも一部の実施形態によれば、ベクトル処理動作を行うとき使用されるベクトル長に、該スケーリングされたベクトル長クエリ命令により指定されたスケーリング値を乗じたものに依存する結果値を返すように処理回路を制御するように、スケーリングされたベクトル長クエリ命令をデコードすることを含む、データを処理する方法、が提供される。
これより、添付図面を参照しながら、例示的な実施形態を、単なる例として、説明する。
ベクトル処理をサポートするデータ処理システムを概略的に例示する。 スケーリングベクトル長クエリ命令の複数の異なる形態を概略的に例示する。 図2のスケーリングベクトル長クエリ命令の異なる種類の挙動の例を概略的に例示する。 スケーリングベクトル長クエリ命令に応答して結果値を作成するためのルックアップテーブル実装を概略的に例示する。 スケーリングベクトル長クエリ命令の挙動を概略的に例示する流れ図である。 仮想マシン実装を概略的に例示する。
図1は、データ値8およびプログラム命令10を記憶するメモリ6に連結されたプロセッサ4を含むデータ処理システム2を概略的に例示する。プロセッサ4は、プログラム命令10をメモリ6からフェッチし、フェッチプログラム命令をデコーダ回路14に供給するための命令フェッチユニット12を含む。デコーダ回路14は、フェッチされたプログラム命令をデコードし、デコードされたベクトル命令により指定されたように、ベクトルレジスタ回路20内に記憶されたベクトルレジスタに対するベクトル処理動作を行うようにベクトル処理回路18を制御するための制御信号16を生成する。実務上、プロセッサ4は典型的により多くの回路要素を含むことになること、およびそれらは図面から省略されていることが理解されるであろう。
図1はまた、この例では256のベクトルビットサイズを有する例示的なベクトルレジスタZを概略的に例示する。ベクトルレジスタZは、16個のベクトル要素a〜a15から形成されている。これらのベクトル要素のそれぞれは、16ビットのベクトルビットサイズを有し、それゆえに、ベクトルレジスタZ内のベクトル要素数は、16である。ベクトル要素サイズは、デコードされているベクトル命令により指定され得る変数である。例えば、ベクトル命令は、ベクトル要素がバイト、ハーフワード、ワード、またはダブルワード(それぞれ、8、16、32、64ビット)であることを指定するようにエンコードされ得る。ベクトル要素ビットサイズによって、ベクトルレジスタZ内のベクトル要素数は、変わり得る。したがって、256ビットから形成されたベクトルレジスタZの場合、これは、16個の16ビットベクトル要素、8個の32ビットベクトル要素、または4個の64ビットベクトル要素をサポートし得る。
プロセッサ4の所与の実装は、所与のビットサイズのベクトルレジスタZをサポートするベクトルレジスタ回路20を含むことになる。しかしながら、同じ命令セットアーキテクチャを使用するプロセッサ4の異なる実装は、例えば512ビット、384ビット、1024ビットなどの、異なるサイズのベクトルレジスタをサポートし得る。
ベクトル命令を含むプログラムコードが、いかなる、または著しい修正を必要とすることなく、異なるサイズのベクトルレジスタZを提供するベクトルレジスタ回路20に適応することを可能にする方法として、1つ以上のスケーリングベクトル長クエリ命令が提供される。これらのスケーリングベクトル長クエリ命令は、スケーリングベクトル長クエリ命令により指定された可変のベクトル要素サイズ(例えば、バイト、ハーフワード、ワード、またはダブルワード)についてのベクトル内の要素数にスケールベクトル長クエリ命令により指定されたスケーリング値を乗じたものに依存する結果値を返す。このようなスケーリングベクトル長クエリ命令は、実装の特定のベクトルレジスタサイズを考慮に入れることができ、また、実装されているベクトルコードにより提供され得るプログラムループローリングの程度を介して考慮に入れることもできる結果を返すことができる。スケーリング値は、スケーリングベクトル長クエリ命令内にエンコードされた整数定数値(例えば、命令内の即値)の形で提供され得る。
図2は、スケーリングベクトル長クエリ命令の様々な異なる形態を概略的に図示する。特に、ベクトル長クエリ命令の種類は、計数命令、インクリメント命令、またはデクリメント命令であり得る。スケーリングベクトル長クエリ命令である命令のさらなる種類もまた、可能である。加えて、スケーリングベクトル長クエリ命令は、それに関して結果値が決定されるベクトル要素サイズを指定する。それゆえに、ベクトル要素サイズは、バイトB、ハーフワードH、ワードW、またはダブルワードDであり得る。スケーリングベクトル長クエリ命令はまた、命令に対する入力被演算子値のソースとして、および結果値が書き込まれるべき宛先として働き得るスカラーレジスタXを指定する。
図2に例示されるスケーリングベクトル長クエリ命令内の最後の2つのパラメータは、これを条件として処理装置により使用されるベクトル長を指定することができ、これに依存してスケーリングベクトル長クエリ命令の結果値が返される、パターン制約を指定するフィールドである。ベクトルパターン制約は、様々な異なる形態をとり得る。制約は、例えば、装置により提供される最大値が指定された値Mの倍数であることであってもよく、例えばベクトル要素の数の値が、値Mの倍数であるように制約される(modulo(M))。制約パターンの別の例は、サポートされるベクトル要素の数に関して返される最大値が、2の累乗、例えば2、4、8、16、32など、であるべきであることである。制約パターンの別の例は、サポートされる要素の数の最大値に対して、ベクトルレジスタZの物理サイズを超えては、制約が適用されないということである。したがって、ベクトルレジスタが長さ256ビットであり、要素サイズが16ビットであるならば、この方法で「全て(All)」の制約では、ベクトル要素の数が16個であることに基づいて結果値が返されることになる。
スケールベクトル長クエリ命令により指定される最後のパラメータは、スケーリング値である。これは、スケーリングベクトル長クエリ命令自体内にエンコードされた整数定数値であってもよく、即値を有する。このスケーリング値は広範な値を有し得るものの、1〜8の範囲(両端を含む)内のスケーリング値は、スケーリングベクトル長クエリ命令をエンコードするために使用される命令ビット空間を保ちながら、一般に見られるループ展開の程度の大部分をサポートすることができることが見出されている。
図3は、いくつかの例示的なスケーリングベクトル長クエリ命令について返され得る結果値を概略的に例示する。例示されている列は、ベクトルビットサイズ(すなわち、ベクトルレジスタZのビットサイズ)、ベクトル要素ビットサイズ(例えば、バイト、ハーフワード、ワード、ダブルワード)、ベクトルパターン制約(例えば、A、modulo(M)、2の累乗など)、スケーリング値(例えば、命令自体内にエンコードされた両端を含む1〜8の範囲内の定数値)、ならびに命令の種類(例えば、計数、インクリメント、デクリメント)である。入力値は、計数命令に関しては「0」であるとみなされてもよく、インクリメントおよびデクリメントの命令の場合は入力レジスタXにより提供される値であってもよい。
図3に例示されている最初の行を検討すると、これは、128のベクトルビットサイズを指定している。ベクトル要素ビットは8の大きさである。それゆえに、制約のない最大ベクトル要素計数は16個である。この行のパターン制約は「全て」であり、それゆえに、これは制約されていないパターンに対応する。第1の行のスケーリングは「1」であり、したがって、結果は、スケーリングによって変更されない。命令の種類は計数で、それゆえに、ベクトルレジスタ内のバイトサイズのベクトル要素の数の単純な計数が提供され、16個になる。
より複雑な例が、第5の行に与えられている。この場合、ベクトルビットサイズは256であり、ベクトル要素ビットサイズは32である。これは、サポートされているベクトル要素の制約されていない数を8個として示す。しかしながら、パターン制約は、サポートされる数であるべきベクトル要素の数は3の倍数であるべきである、というものである。それゆえに、パターン制約は、サポートされるものの最大として考えられるベクトル要素の数を6個に減らす。第5の行のスケーリング値は2であり、命令の種類は計数であって、したがって、結果値はパターン制約の成果の2倍、すなわち12個である。
さらなる例が、第10の行に与えられている。この行では、ベクトルビットサイズは384であり、ベクトル要素ビットサイズは16である。これは、ベクトルレジスタによりサポートされる処理前のベクトル要素数は24個であろうことを示すであろう。しかしながら、この行で適用されるパターン制約は、サポートされるベクトル計数は2の累乗であるべきである、というものであり、それゆえに、ビットサイズ16のベクトル要素のサポートされる値最大数は16個であると考えられる。スケーリング係数2が適用される。それゆえに、スケーリングされた部分的な結果値は32個である。命令の種類は、スケーリングベクトル長クエリ命令のインクリメントの種類であり、スカラーレジスタX内に保持されたインクリメントに対する入力値は48である。これは80個という結果値(インクリメントされた値)をもたらす。
このスケールベクトル長クエリ命令がスケーリングされた計数命令であるとき、これは、サポートされる要素の数にスケーリング値を乗じたものに従った計数値を返す。スケールベクトル長クエリ命令がスケーリングされたインクリメント命令であるとき、これは、(ベクトルビットサイズ、ベクトル要素ビットサイズ、パターン制約、およびスケーリング値に依存して決定される値により)インクリメントされるべき入力値に従ったインクリメント結果値を返す。同様に、スケールベクトル長クエリ命令がスケーリングされたデクリメント命令であるとき、これは、デクリメントされるべき入力値に従ったデクリメント結果値を返す。
図4は、スケールベクトル長クエリ命令に応答して結果値を決定するための回路の例示的な実装を例示する。この実装は、結果値のテーブル24へのインデックスを付けるテーブルアドレスデコーダ22を含むルックアップテーブルの形をとる。スケーリングベクトル長クエリ命令からのパラメータ(フィールド)が、テーブルデコーダ22に対する入力として供給される。これらのフィールドには、要素サイズ(2ビット)、適用される制約パターン(5ビット)、適用されるスケーリング値(3ビット)が含まれる。テーブルアドレスデコーダ22は、特定の実装のための、すなわち実装された特定のベクトル長のための、固定された形式のものである。テーブルアドレスデコーダ22は、それに供給された入力信号に応答して、スケーリングベクトル長クエリ命令がスケーリングインクリメント命令またはスケーリングデクリメント命令である場合に、インクリメントまたはデクリメント回路(加算器または減算器)に引き続きそれぞれ供給される結果値を結果値のテーブル24から選択するために、1−hot出力を生成する。
図5は、スケーリングベクトル長クエリ命令の操作の論理的な流れを概略的に例示する流れ図である。実際にはこのような処理は典型的に並行して行われ、図5に例示される個別のステップは実際は並行して行われてもよいことが理解されるであろう。ステップ26で、処理は、スケーリングベクトル長クエリ命令が受信されるまで待機する。次いで、ステップ28は、指定されたベクトル要素サイズに関して、当該ベクトルレジスタ実装によりサポートされるベクトル要素の処理前の最大数を決定する。ステップ30は、スケールベクトル長クエリ命令により指定された制約パターン(もしあれば)を適用する。ステップ32は、26で制約パターンを適用することにより決定された部分的な結果をスケーリングする。命令の種類が計数命令である場合、ステップ36は、計数結果を宛先のレジスタに書き込む。命令の種類がインクリメントである場合、ステップ38は、すでに保持されている宛先のレジスタの値を、ステップ32で決定されたインクリメント値だけインクリメントし、インクリメントされた結果は、宛先のレジスタに書き込まれる。ステップ34で決定された命令の種類がデクリメントである場合、ステップ40は、宛先のレジスタの値を、ステップ32で計算されたデクリメント値だけデクリメントし、結果を宛先のレジスタに書き込む。
図6は、使用され得る仮想マシン実装を例示する。上述の実施形態は、本発明を、当該技法をサポートする、装置および特定の処理ハードウェアを動作させるための方法に関して実装している一方で、ハードウェアデバイスのいわゆる仮想マシン実装を提供することも可能である。これらの仮想マシン実装は、仮想マシンプログラム510をサポートするホストオペレーティングシステム520を動かすホストプロセッサ530上で動く。一般的に、妥当な速度で実行される仮想マシン実装を提供するには大型の強力なプロセッサが必要とされるが、このようなアプローチは、別のプロセッサのネイティブコードを互換性または再利用のために動かしたいというニーズが存在するときのような、特定の状況下において正当化され得る。仮想マシンプログラム510は、仮想マシンプログラム510によりモデル化されているデバイスである現実のハードウェアにより提供されるであろうアプリケーションプログラミングインターフェースと同じアプリケーションプログラミングインターフェースを、アプリケーションプログラム500に提供する。したがって、上述のメモリアクセスの制御を含むプログラム命令は、仮想マシンハードウェアとの相互作用をモデル化するために仮想マシンプログラム510を使用するアプリケーションプログラム500内から実行することができる。
本明細書では特定の実施形態について説明してきたものの、本発明はそれらに限定されるものではないこと、ならびにそれらに対する多くの修正および追加が本発明の範囲内で行うことができることが理解されるであろう。例えば、以下の従属請求項の特徴は、本発明の範囲から逸脱することなしに、独立請求項の特徴と様々に組み合わせることができる。

Claims (14)

  1. ベクトル処理動作を行うための処理回路と、
    前記ベクトル処理動作を行うように前記処理回路を制御するための制御信号を生成するためにプログラム命令をデコードするためのデコーダ回路
    備える、データを処理するための装置であって、
    前記デコーダ回路が、スケーリングベクトル長クエリ命令に応答して、前記スケーリングベクトル長クエリ命令により指定されたスケーリング値によって乗じられている、前記スケーリングベクトル長クエリ命令により指定された可変のベクトル要素サイズのためのベクトルレジスタ内の要素の数に依存する結果値を返すように前記処理回路を制御する装置。
  2. 前記スケーリング値が、前記スケーリングベクトル長クエリ命令内にエンコードされた整数定数値である、請求項1に記載の装置。
  3. 前記スケーリング値が、両端を含む1〜8に及ぶ範囲内である、請求項1および2のいずれか一項に記載の装置。
  4. 前記ベクトル要素サイズが、8ビット、16ビット、32ビット、および64ビットのうちの1つから選択される、請求項1〜3のいずれか一項に記載の装置。
  5. 前記スケーリングベクトル長クエリ命令が、1つ以上のさらなるパラメータを含み、前記処理回路により返される前記結果値が、前記1つ以上のさらなるパラメータに依存し、前記1つ以上のさらなるパラメータがベクトルパターン制約を含み、それを条件として前記装置により使用される前記ベクトル長が決定される、請求項1〜4のいずれか一項に記載の装置。
  6. 前記ベクトルパターン制約が、前記要素の数が、
    指定された値Mの倍数でもある、前記装置により提供される最大値と、
    2の累乗でもある、前記装置により提供される最大値と、
    前記装置により提供される最大値と、
    のうちの1つであると指定する、請求項に記載の装置。
  7. 前記スケーリングベクトル長クエリ命令が、前記スケーリング値によって乗じられている前記要素の数に依存する計数結果値を返す、スケーリング計数命令である、請求項1〜のいずれか一項に記載の装置。
  8. 前記スケーリングベクトル長クエリ命令が、インクリメントされるべき入力値に依存するインクリメント結果値を返す、スケーリングインクリメント命令である、請求項1〜のいずれか一項に記載の装置。
  9. 前記スケーリングベクトル長クエリ命令が、デクリメントされるべき入力値に依存するデクリメント結果値を返す、スケーリングデクリメント命令である、請求項1〜のいずれか一項に記載の装置。
  10. 前記ベクトル処理回路が、前記結果値を少なくとも部分的に決定するために、前記スケーリング値に依存してアドレス指定されるルックアップテーブルを含む、請求項に記載の装置。
  11. 前記ルックアップテーブルが、前記1つ以上のさらなるパラメータに依存してアドレス指定される、請求項10に記載の装置。
  12. ベクトル処理動作を行うための処理手段と、
    前記ベクトル処理動作を行うように前記処理手段を制御するための制御信号を生成するためにプログラム命令をデコードするためのデコーダ手段
    備える、データを処理するための装置であって、
    前記デコーダ手段が、スケーリングベクトル長クエリ命令に応答して、前記スケーリングベクトル長クエリ命令により指定されたスケーリング値によって乗じられている、前記スケーリングベクトル長クエリ命令により指定された可変のベクトル要素サイズのためのベクトルレジスタ内の要素の数に依存する結果値を返すように前記処理手段を制御する装置。
  13. スケーリングベクトル長クエリ命令をデコードして、前記スケーリングベクトル長クエリ命令により指定されたスケーリング値によって乗じられている、前記スケーリングベクトル長クエリ命令により指定された可変のベクトル要素サイズのためのベクトルレジスタ内の要素の数に依存する結果値を返すように処理回路を制御することを含む、データを処理する方法。
  14. 請求項1〜1のいずれか一項に記載の装置に対応する仮想マシン実行環境を提供するようにコンピュータを制御するための、非一時的な記憶媒体上に記憶されたコンピュータプログラム。
JP2018503589A 2015-07-31 2016-06-23 ベクトル長クエリ命令 Active JP6818010B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15386026.7 2015-07-31
EP15386026.7A EP3125109B1 (en) 2015-07-31 2015-07-31 Vector length querying instruction
PCT/EP2016/064500 WO2017021055A1 (en) 2015-07-31 2016-06-23 Vector length querying instruction

Publications (2)

Publication Number Publication Date
JP2018521422A JP2018521422A (ja) 2018-08-02
JP6818010B2 true JP6818010B2 (ja) 2021-01-20

Family

ID=54140382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018503589A Active JP6818010B2 (ja) 2015-07-31 2016-06-23 ベクトル長クエリ命令

Country Status (8)

Country Link
US (1) US11314514B2 (ja)
EP (1) EP3125109B1 (ja)
JP (1) JP6818010B2 (ja)
KR (1) KR102586258B1 (ja)
CN (1) CN107851022B (ja)
IL (1) IL256403B (ja)
TW (1) TWI721999B (ja)
WO (1) WO2017021055A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046168A1 (en) * 2015-08-14 2017-02-16 Qualcomm Incorporated Scalable single-instruction-multiple-data instructions
US11269636B2 (en) * 2019-05-27 2022-03-08 Texas Instmments Incorporated Look-up table write
CN110333857B (zh) * 2019-07-12 2023-03-14 辽宁工程技术大学 一种基于约束规划的自定义指令自动识别方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6133547A (ja) 1984-07-25 1986-02-17 Fujitsu Ltd ベクトル・レジスタのオ−バフロ−情報通知方式
US4745547A (en) 1985-06-17 1988-05-17 International Business Machines Corp. Vector processing
US5537606A (en) * 1995-01-31 1996-07-16 International Business Machines Corporation Scalar pipeline replication for parallel vector element processing
NO20004869D0 (no) * 2000-09-28 2000-09-28 Torbjoern Rognes Metode for hurtig optimal lokal sekvensjustering ved bruk av parallell prosessering
US6788303B2 (en) * 2001-02-27 2004-09-07 3Dlabs Inc., Ltd Vector instruction set
US20040073773A1 (en) * 2002-02-06 2004-04-15 Victor Demjanenko Vector processor architecture and methods performed therein
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8966223B2 (en) * 2005-05-05 2015-02-24 Icera, Inc. Apparatus and method for configurable processing
US7725624B2 (en) 2005-12-30 2010-05-25 Intel Corporation System and method for cryptography processing units and multiplier
CN101535945A (zh) * 2006-04-25 2009-09-16 英孚威尔公司 全文查询和搜索系统及其使用方法
GB2464292A (en) 2008-10-08 2010-04-14 Advanced Risc Mach Ltd SIMD processor circuit for performing iterative SIMD multiply-accumulate operations
US8555034B2 (en) * 2009-12-15 2013-10-08 Oracle America, Inc. Execution of variable width vector processing instructions
US10175990B2 (en) * 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
CN101901248B (zh) * 2010-04-07 2012-08-15 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
JP5699554B2 (ja) * 2010-11-11 2015-04-15 富士通株式会社 ベクトル処理回路、命令発行制御方法、及びプロセッサシステム
US9092227B2 (en) * 2011-05-02 2015-07-28 Anindya SAHA Vector slot processor execution unit for high speed streaming inputs
EP2788902B1 (en) * 2011-12-08 2019-04-17 Oracle International Corporation Techniques for more efficient usage of memory-to-cpu bandwidth
CN104011651B (zh) * 2011-12-22 2017-10-20 英特尔公司 用于执行向量计算指令的方法、装置和系统
US9557993B2 (en) * 2012-10-23 2017-01-31 Analog Devices Global Processor architecture and method for simplifying programming single instruction, multiple data within a register
CN103105775B (zh) * 2012-12-17 2014-04-16 清华大学 基于序优化与在线核极限学习机的分层迭代优化调度方法
US20140189310A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Fault detection in instruction translations
CN103020018B (zh) * 2012-12-27 2015-09-30 南京师范大学 一种基于多维伪随机序列的压缩感知矩阵构造方法
US9282014B2 (en) * 2013-01-23 2016-03-08 International Business Machines Corporation Server restart management via stability time
US20140289502A1 (en) * 2013-03-19 2014-09-25 Apple Inc. Enhanced vector true/false predicate-generating instructions
US10437600B1 (en) * 2017-05-02 2019-10-08 Ambarella, Inc. Memory hierarchy to transfer vector data for operators of a directed acyclic graph

Also Published As

Publication number Publication date
KR20180037961A (ko) 2018-04-13
US11314514B2 (en) 2022-04-26
CN107851022A (zh) 2018-03-27
IL256403B (en) 2019-08-29
JP2018521422A (ja) 2018-08-02
CN107851022B (zh) 2022-05-17
WO2017021055A1 (en) 2017-02-09
TW201717051A (zh) 2017-05-16
KR102586258B1 (ko) 2023-10-10
EP3125109A1 (en) 2017-02-01
IL256403A (en) 2018-02-28
US20180196673A1 (en) 2018-07-12
TWI721999B (zh) 2021-03-21
EP3125109B1 (en) 2019-02-20

Similar Documents

Publication Publication Date Title
JP6818010B2 (ja) ベクトル長クエリ命令
JP2012119009A5 (ja) 選択演算を実行するプロセッサ
US11003447B2 (en) Vector arithmetic and logical instructions performing operations on different first and second data element widths from corresponding first and second vector registers
JP7186212B2 (ja) データ処理装置におけるベクトル・インタリーブ
JP6874262B2 (ja) ベクトル被演算子ビットサイズの制御
JP5327432B2 (ja) 信号処理プロセッサ及び半導体装置
JP7377208B2 (ja) データ処理
WO2023199015A1 (en) Technique for handling data elements stored in an array storage
WO2023199014A1 (en) Technique for handling data elements stored in an array storage
KR20240027144A (ko) 서술 기법들

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201029

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: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201225

R150 Certificate of patent or registration of utility model

Ref document number: 6818010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250