JP7245817B2 - データ処理装置における連続値の照合 - Google Patents
データ処理装置における連続値の照合 Download PDFInfo
- Publication number
- JP7245817B2 JP7245817B2 JP2020503876A JP2020503876A JP7245817B2 JP 7245817 B2 JP7245817 B2 JP 7245817B2 JP 2020503876 A JP2020503876 A JP 2020503876A JP 2020503876 A JP2020503876 A JP 2020503876A JP 7245817 B2 JP7245817 B2 JP 7245817B2
- Authority
- JP
- Japan
- Prior art keywords
- comparison
- input
- elements
- vector
- match
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 72
- 239000013598 vector Substances 0.000 claims description 136
- 238000000034 method Methods 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000644 propagated effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 125000001475 halogen functional group Chemical group 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 238000013479 data entry Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000547 structure data 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/02—Comparing digital values
-
- 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/30018—Bit or string 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/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- 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/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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Complex Calculations (AREA)
- Hardware Redundancy (AREA)
- Image Processing (AREA)
- Stored Programmes (AREA)
- Executing Machine-Instructions (AREA)
- Circuits Of Receivers In General (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
また、参照データ項目の全ての要素が現在のセグメントにおいて見つけられるので、オーバーフローフラグが設定されないことに留意されたい(図5に対して比較)。
Claims (12)
- 命令をデコードするための命令デコーダ回路と、
入力データベクトルの1つ以上のセグメントにベクトル処理演算を選択的に適用するためのデータ処理回路であって、前記入力データベクトルは、前記入力データベクトルにおけるそれぞれの位置において複数のセグメントを含み、比較回路を備えるデータ処理回路と
を備える装置であって、
前記命令デコーダ回路は、前記入力データベクトルのセグメント及び参照データ項目を指定する文字列照合命令に応答して、制御信号を生成し、
前記比較回路は、前記制御信号に応答して、比較演算を実行して、前記セグメントの連続する入力要素の要求されるセットの各入力要素が前記参照データ項目の連続する参照要素におけるそれぞれの値に照合する値を有するか否かを示す比較値を設定し、
前記比較回路は、前記制御信号に更に応答して、複数の比較演算を含む照合判定プロセスを実行し、各比較演算のための連続する入力要素の前記要求されるセットは、その比較演算のための前記セグメントにおけるそれぞれの候補オフセットにおいて開始し、前記複数の比較演算の候補オフセット値は、前記セグメントの全ての可能なオフセットを含み、
連続する入力要素の前記要求されるセットの要素の数は、前記参照データ項目における参照要素の数からそれぞれの比較演算の前記それぞれの候補オフセットを引いたものに等しい、装置。 - 前記比較回路は、設定される前記比較値に応答して、候補オフセット値に照合するように検出されたオフセット値を設定し、前記検出されたオフセット値は、前記比較演算によって前記連続する入力要素の第1の入力要素として識別されたベース入力要素を指し示す、請求項1に記載の装置。
- 前記照合判定プロセスは、前記セグメントのための照合ベクトルを判定することを含み、各比較演算の前記比較値は、前記照合ベクトルにおけるそれぞれの照合要素の前記値を設定するために使用され、
各それぞれの照合要素は、前記比較値を判定した前記比較演算の前記それぞれの候補オフセットに対応する前記照合ベクトルにおける位置を有する、請求項1又は2に記載の装置。 - 前記データ処理回路は、前記制御信号に応答して、各々が前記複数のセグメントの中からそれぞれのセグメントにために実行される、複数の照合判定プロセスを実行する複数の比較回路を更に備える、請求項1~3の何れか一項に記載の装置。
- 各照合判定プロセスは、前記それぞれのセグメントのためのそれぞれの照合ベクトルを判定することを含み、各比較演算の前記比較値は、前記照合ベクトルにおける照合要素の前記値を設定するために使用され、
各それぞれの照合要素は、前記比較値を判定した前記比較演算の前記それぞれの候補オフセットに対応する前記それぞれの照合ベクトルにおける位置を有する、請求項4に記載の装置。 - 複数の比較回路の前記比較回路は、満たされるオーバーフロー条件に応答して、前記複数の比較回路の隣接する比較回路によって使用されるためのオーバーフローフラグを伝播し、
前記オーバーフロー条件は、前記比較値が設定され、連続する入力要素の前記要求されるセットにおける要素の数が前記参照データ項目における参照要素の数より少ない場合に満たされる、請求項5に記載の装置。 - 前記オーバーフローフラグが設定される場合には、前記隣接する比較回路は、前記設定されたオーバーフローフラグに応答して、前記比較回路の前記照合判定プロセスによって判定される前記照合ベクトルに基づいて連続する入力要素の要求されるオーバーフローのセットを判定するために、オーバーフロー比較演算をまた実行する、請求項6に記載の装置。
- 連続する入力要素の前記要求されるセットは、各々が前記比較演算によって使用される参照要素に対応する、複数の入力述語要素を含む入力述語ベクトルによって指し示され、
前記複数の入力述語要素は、前記参照データ項目の何れの要素が前記連続する参照要素を含むかを指し示す、請求項1~7の何れか一項に記載の装置。 - 装置を操作する方法であって、
命令をデコードするステップと、
入力データベクトルの1つ以上のセグメントにベクトル処理演算を選択的に適用するステップであって、前記入力データベクトルは、前記入力データベクトルにおけるそれぞれの位置において複数のセグメントを含む、ステップと、
前記入力データベクトルのセグメント及び参照データ項目を指定する文字列照合命令に応答して、制御信号を生成するステップと、
前記装置のデータ処理回路における比較回路に、比較演算を実行させて、前記セグメントの連続する入力要素の要求されるセットの各入力要素が前記参照データ項目の連続する参照要素におけるそれぞれの値に照合する値を有するか否かを示す比較値を設定させるステップと
を含み、
前記比較回路は、前記制御信号に更に応答して、複数の比較演算を含む照合判定プロセスを実行し、各比較演算のための連続する入力要素の前記要求されるセットは、その比較演算のための前記セグメントにおけるそれぞれの候補オフセットにおいて開始し、前記複数の比較演算の候補オフセット値は、前記セグメントの全ての可能なオフセットを含み、
連続する入力要素の前記要求されるセットの要素の数は、前記参照データ項目における参照要素の数からそれぞれの比較演算の前記それぞれの候補オフセットを引いたものに等しい、方法。 - 装置であって、
命令をデコードするための手段と、
入力データベクトルの1つ以上のセグメントにベクトル処理演算を選択的に適用するための手段であって、前記入力データベクトルは、前記入力データベクトルにおけるそれぞれの位置において複数のセグメントを含み、比較するための手段を備える、ベクトル処理演算を選択的に適用するための手段と、
前記入力データベクトルのセグメント及び参照データ項目を指定する文字列照合命令に応答して、制御信号を生成するための手段と
を備え、
前記比較するための手段は、前記制御信号に応答して、比較演算を実行して、前記セグメントの連続する入力要素の要求されるセットの各入力要素が前記参照データ項目の連続する参照要素におけるそれぞれの値に照合する値を有するか否かを示す比較値を設定し、
前記比較するための手段は、前記制御信号に更に応答して、複数の比較演算を含む照合判定プロセスを実行し、各比較演算のための連続する入力要素の前記要求されるセットは、その比較演算のための前記セグメントにおけるそれぞれの候補オフセットにおいて開始し、前記複数の比較演算の候補オフセット値は、前記セグメントの全ての可能なオフセットを含み、
連続する入力要素の前記要求されるセットの要素の数は、前記参照データ項目における参照要素の数からそれぞれの比較演算の前記それぞれの候補オフセットを引いたものに等しい、装置。 - 命令をデコードするための命令デコードプログラムロジックと、
入力データベクトル構造の1つ以上のセグメントにベクトル処理演算を選択的に適用するためのデータ処理プログラムロジックであって、前記入力データベクトル構造は、前記入力データベクトル構造におけるそれぞれの位置において複数のセグメントを含み、比較プログラムロジックを備えるデータ処理プログラムロジックと
を備える、命令実行環境を提供するためのホストデータ処理装置を制御するためのコンピュータプログラムであって、
前記命令デコードプログラムロジックは、前記入力データベクトル構造のセグメント及び参照データ項目構造を指定する文字列照合命令に応答して、制御信号を生成し、
前記比較プログラムロジックは、前記制御信号に応答して、比較演算を実行して、前記セグメントの連続する入力要素の要求されるセットの各入力要素が前記参照データ項目構造の連続する参照要素におけるそれぞれの値に照合する値を有するか否かを示す比較値を設定し、
前記比較プログラムロジックは、前記制御信号に更に応答して、複数の比較演算を含む照合判定プロセスを実行し、各比較演算のための連続する入力要素の前記要求されるセットは、その比較演算のための前記セグメントにおけるそれぞれの候補オフセットにおいて開始し、前記複数の比較演算の候補オフセット値は、前記セグメントの全ての可能なオフセットを含み、
連続する入力要素の前記要求されるセットの要素の数は、前記参照データ項目構造における参照要素の数からそれぞれの比較演算の前記それぞれの候補オフセットを引いたものに等しい、コンピュータプログラム。 - 請求項11に記載のコンピュータプログラムを非一時的に格納するコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/665,715 | 2017-08-01 | ||
US15/665,715 US10678506B2 (en) | 2017-08-01 | 2017-08-01 | Matching consecutive values in a data processing apparatus |
PCT/GB2018/051897 WO2019025752A1 (en) | 2017-08-01 | 2018-07-05 | MATCHING CONSECUTIVE VALUES IN A DATA PROCESSING APPARATUS |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020530151A JP2020530151A (ja) | 2020-10-15 |
JP7245817B2 true JP7245817B2 (ja) | 2023-03-24 |
Family
ID=63077892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020503876A Active JP7245817B2 (ja) | 2017-08-01 | 2018-07-05 | データ処理装置における連続値の照合 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10678506B2 (ja) |
EP (1) | EP3662361B1 (ja) |
JP (1) | JP7245817B2 (ja) |
KR (1) | KR102594770B1 (ja) |
CN (1) | CN110998512B (ja) |
IL (1) | IL272136B (ja) |
TW (1) | TWI782060B (ja) |
WO (1) | WO2019025752A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817297B2 (en) * | 2019-03-30 | 2020-10-27 | Intel Corporation | Method and apparatus for vector-matrix comparison |
US20240111541A1 (en) * | 2022-09-30 | 2024-04-04 | Texas Instruments Incorporated | Reducing Overhead In Processor Array Searching |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003524317A (ja) | 1999-06-30 | 2003-08-12 | アプティテュード アクウィジション コーポレイション | ネットワークにおけるトラフィックを監視する方法および装置 |
JP2010504594A (ja) | 2006-09-22 | 2010-02-12 | インテル コーポレイション | 文字列を処理するための命令及び論理回路 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4307377A (en) * | 1979-11-09 | 1981-12-22 | Bell Telephone Laboratories, Incorporated | Vector coding of computer graphics material |
CA1175575A (en) * | 1981-12-07 | 1984-10-02 | Michael S. Pelley | Programmable controller with multiple functions |
US4991134A (en) * | 1988-03-30 | 1991-02-05 | International Business Machines Corporation | Concurrent sorting apparatus and method using FIFO stacks |
DE4334294C1 (de) * | 1993-10-08 | 1995-04-20 | Ibm | Prozessor für Zeichenketten variabler Länge |
US5608662A (en) * | 1995-01-12 | 1997-03-04 | Television Computer, Inc. | Packet filter engine |
US6708268B1 (en) * | 1999-03-26 | 2004-03-16 | Microchip Technology Incorporated | Microcontroller instruction set |
US6789116B1 (en) * | 1999-06-30 | 2004-09-07 | Hi/Fn, Inc. | State processor for pattern matching in a network monitor device |
GB0210604D0 (en) * | 2002-05-09 | 2002-06-19 | Ibm | Method and arrangement for data compression |
US8762694B1 (en) * | 2003-02-19 | 2014-06-24 | Intel Corporation | Programmable event-driven yield mechanism |
US20050086234A1 (en) * | 2003-10-15 | 2005-04-21 | Sierra Wireless, Inc., A Canadian Corporation | Incremental search of keyword strings |
US7574742B2 (en) * | 2004-11-15 | 2009-08-11 | Industrial Technology Research Institute | System and method of string matching for uniform data classification |
US7636703B2 (en) * | 2006-05-02 | 2009-12-22 | Exegy Incorporated | Method and apparatus for approximate pattern matching |
US7908457B2 (en) * | 2008-05-05 | 2011-03-15 | International Business Machines Corporation | Retaining an association between a virtual address based buffer and a user space application that owns the buffer |
US9804839B2 (en) | 2012-12-28 | 2017-10-31 | Intel Corporation | Instruction for determining histograms |
US9424031B2 (en) * | 2013-03-13 | 2016-08-23 | Intel Corporation | Techniques for enabling bit-parallel wide string matching with a SIMD register |
US9323865B2 (en) * | 2013-12-24 | 2016-04-26 | TCL Research America Inc. | Content alignment method and system |
-
2017
- 2017-08-01 US US15/665,715 patent/US10678506B2/en active Active
-
2018
- 2018-07-05 EP EP18749049.5A patent/EP3662361B1/en active Active
- 2018-07-05 KR KR1020207004792A patent/KR102594770B1/ko active IP Right Grant
- 2018-07-05 IL IL272136A patent/IL272136B/en unknown
- 2018-07-05 WO PCT/GB2018/051897 patent/WO2019025752A1/en unknown
- 2018-07-05 CN CN201880049537.3A patent/CN110998512B/zh active Active
- 2018-07-05 JP JP2020503876A patent/JP7245817B2/ja active Active
- 2018-07-17 TW TW107124592A patent/TWI782060B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003524317A (ja) | 1999-06-30 | 2003-08-12 | アプティテュード アクウィジション コーポレイション | ネットワークにおけるトラフィックを監視する方法および装置 |
JP2010504594A (ja) | 2006-09-22 | 2010-02-12 | インテル コーポレイション | 文字列を処理するための命令及び論理回路 |
Also Published As
Publication number | Publication date |
---|---|
CN110998512A (zh) | 2020-04-10 |
IL272136A (en) | 2020-03-31 |
KR102594770B1 (ko) | 2023-10-27 |
EP3662361A1 (en) | 2020-06-10 |
US20190042190A1 (en) | 2019-02-07 |
IL272136B (en) | 2022-08-01 |
CN110998512B (zh) | 2023-12-22 |
JP2020530151A (ja) | 2020-10-15 |
WO2019025752A1 (en) | 2019-02-07 |
TWI782060B (zh) | 2022-11-01 |
KR20200030582A (ko) | 2020-03-20 |
US10678506B2 (en) | 2020-06-09 |
TW201911081A (zh) | 2019-03-16 |
EP3662361B1 (en) | 2022-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102584035B1 (ko) | 스플라이스 동작을 수행하는 장치 및 방법 | |
CN110945477B (zh) | 数据处理设备中的数据项中的计数元素 | |
TWI785064B (zh) | 用於測試向量元素內部的位元值的設備、方法、電腦程式及電腦可讀儲存媒體 | |
JP7245817B2 (ja) | データ処理装置における連続値の照合 | |
US11550574B2 (en) | Generating a vector predicate summary | |
JP7377208B2 (ja) | データ処理 | |
US11321051B2 (en) | Statistical mode determination | |
CN114995820A (zh) | 代码翻译方法、装置、设备、存储介质和程序产品 | |
WO2023199015A1 (en) | Technique for handling data elements stored in an array storage | |
WO2023199014A1 (en) | Technique for handling data elements stored in an array storage | |
JP2020201659A (ja) | 演算装置、演算方法、および演算プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221130 |
|
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: 20230217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230313 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7245817 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |