JP2020091908A - 論理比較動作を実行するための装置 - Google Patents
論理比較動作を実行するための装置 Download PDFInfo
- Publication number
- JP2020091908A JP2020091908A JP2020036849A JP2020036849A JP2020091908A JP 2020091908 A JP2020091908 A JP 2020091908A JP 2020036849 A JP2020036849 A JP 2020036849A JP 2020036849 A JP2020036849 A JP 2020036849A JP 2020091908 A JP2020091908 A JP 2020091908A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- bit
- instructions
- register
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F7/026—Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
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)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
[定義]
ビット XからビットY:2進数のサブフィールドを定義する。例えば、バイト001110102(基数2)のビット6からビットゼロは、サブフィールド1110102を表す。ここで、二進数の後についている「2」は、数字が2を基数とすることを意味する。したがって、10002は810と等しい。また、F16は、1510と等しい。
Rx:レジスタを表す。レジスタは、データを格納し、かつ提供することができるいかなるデバイスでもよい。レジスタの更なる機能については後述する。レジスタが必ずしも同じダイ、あるいは、プロセッサと同じパッケージに含まれていなくてもよい。
SRCおよびDEST:記憶領域(例えば、メモリーアドレス、レジスタ、その他)を表す。
Source1―iおよびResult1―iおよびDestin:データを表す。
本願は、パックドまたはアンパックド・データの論理的比較動作のためのプロセッサ命令を含む方法、装置およびシステムの実施例が記載されている。より詳細には、命令は、論理的にデータを比較し、そして、その比較に基づいて、ゼロおよびキャリーフラグをセットしてもよい。少なくとも1つの実施例において、2つの論理的比較動作は、以下の表1aおよび表1bに示すように、単一の命令を使用して実行される。比較動作は、以下の処理を含む。すなわち、デスティネーションとソースオペランドとのビット毎の論理積と、および、デスティネーションの補数とソースオペランドとのビット毎の論理積を含む。表1aは開示された論理的比較動作の一実施例の簡略化された代表例を示す。一方、表1bは開示された論理的比較命令の実施例のビットレベルの例を示す。例示として、値を付記している。表1aおよび1bにおいて例示される実施例は、パックド・データを例示しているが、ソースおよびデスティネーションオペランドのデータはいかなるデータ表現でもよい、すなわち、必ずしもパックド・データでなければならないわけではない。ソースおよび/またはデスティネーションオペランドのデータが128ビットの単一のエントリーである。このため「パックド」データとして捉えられない。このため、本願明細書では、「アンパックド」データと呼ぶこととする。このことは、必ずしも単にデータがコンポーネント表現に再分割されていなくてもよく、単一のデータ値として捉えてもよいことを意味する。説明を簡単にするため、表1aのデータは32ビット値として表される。当業者は表1aおよび表1bにおいて例示されているコンセプトは、いかなる長さのデータにも適用されることを理解するであろう。たとえば、もっと短いデータ長(例えば、4ビット、8ビット、および16ビットの長さ)および、もっと長いデータ長(例えば、64ビットおよび128ビットの長さ)である。
[コンピュータシステム]
[データ記憶フォーマット]
[論理的比較、ゼロおよびキャリーフラグ設定オペレーション]
[論理的比較、ゼロおよびキャリーフラグ設定回路]
ここでyは、0x8、0x9、0xAまたは0xBである。3バイトエスケープオペコード値として値「0x0F38」を含むLCSZC命令オペコードの特定の実施例が本願明細書において開示される。なお、かかる開示は制限するものとして解釈されてはならない。他の実施例は、他のエスケープオペコード値を利用してもよい。
“マスクの下のすべてが「0」である場合、ZFをセットせよ;マスクの下のすべてが「1」である場合、CFをセットせよ”
一方、マスク値として第1の引数(デスティネーション)を使用するときに、結果として生じる動作は次のようになる。
“マスクの下のすべてが「1」である場合、ZFをセットせよ;マスクの下のすべてが「0」である場合、CFをセットせよ”
[別の実施例]
Claims (17)
- プロセッサであって、
第1のシーケンスの命令をデコードするデコーダであって、前記第1のシーケンスの命令は、比較動作及び前記比較動作の結果が条件とされるジャンプ動作の双方を実行するための単一の融合された比較−ジャンプ命令を含む、デコーダと、
第1のソース値を格納する第1のソースレジスタと、
第2のソース値を格納する第2のソースレジスタと、
前記デコードされた単一の融合された比較−ジャンプ命令を実行する実行回路と、を含み、
前記実行回路は、前記第1のシーケンスの命令に含まれる前記単一の融合された比較−ジャンプ命令に応じて、前記第1のソース値と前記第2のソース値とを比較し、前記比較の第1の結果に応じて、第2のシーケンスの命令の目標アドレスへとジャンプする、プロセッサ。 - 前記実行回路は、前記比較の第2の結果に応じて、前記第1のシーケンスの命令を継続して実行する、請求項1に記載のプロセッサ。
- 前記融合された比較−ジャンプ命令は、前記目標アドレスの指標を含む、請求項1に記載のプロセッサ。
- 前記第1の結果は、前記第1のソース値及び前記第2のソース値が等しいという指標を含み、前記第2の結果は、前記第1のソース値及び前記第2のソース値が等しくないという指標を含む、請求項2に記載のプロセッサ。
- 前記第1のソース値及び前記第2のソース値は、32ビット値である、請求項1に記載のプロセッサ。
- 前記第1のシーケンス又は前記第2のシーケンスの中の1つ又は複数の命令は、SIMD命令を含み、前記実行回路は、
前記SIMD命令を実行するベクター実行回路と、
前記SIMD命令のオペランドを格納するのに使用される512ビットベクターレジスタのセットを含むベクターレジスタファイルと、を含む、請求項1に記載のプロセッサ。 - 前記実行回路は、前記第1のシーケンスの命令又は前記第2のシーケンスの命令の中の1つ又は複数のスカラー命令を実行するスカラー実行回路をさらに含み、前記スカラー実行回路は、スカラーオペランドを格納するスカラーレジスタのセットを含む、請求項6に記載のプロセッサ。
- 当該プロセッサの実行状態に関連付けられているデータを保持する複数のステータスレジスタをさらに含む、請求項1に記載のプロセッサ。
- システムであって、
命令及びデータを格納するシステムメモリと、
前記システムメモリに結合されるプロセッサと、を含み、
前記プロセッサは、
第1のシーケンスの命令をデコードするデコーダであって、前記第1のシーケンスの命令は、比較動作及び前記比較動作の結果が条件とされるジャンプ動作の双方を実行するための単一の融合された比較−ジャンプ命令を含む、デコーダと、
第1のソース値を格納する第1のソースレジスタと、
第2のソース値を格納する第2のソースレジスタと、
前記デコードされた単一の融合された比較−ジャンプ命令を実行する実行回路と、を含み、
前記実行回路は、前記第1のシーケンスの命令に含まれる前記単一の融合された比較−ジャンプ命令に応じて、前記第1のソース値と前記第2のソース値とを比較し、前記比較の第1の結果に応じて、第2のシーケンスの命令の目標アドレスへとジャンプする、システム。 - 前記プロセッサに結合されて、命令及びデータを格納する記憶デバイスをさらに含む、請求項9に記載のシステム。
- 前記プロセッサを1つ又は複数の入力/出力(I/O)デバイスに結合する入力/出力(I/O)相互接続をさらに含む、請求項9に記載のシステム。
- 前記システムメモリは、ダイナミックランダムアクセス(DRAM)メモリを含む、請求項9に記載のシステム。
- 前記プロセッサに結合されて、グラフィックス処理動作を実行するグラフィックスプロセッサをさらに含む、請求項9に記載のシステム。
- 前記プロセッサに結合されるネットワークプロセッサをさらに含む、請求項9に記載のシステム。
- 前記プロセッサに結合されるオーディオ入力/出力デバイスをさらに含む、請求項9に記載のシステム。
- 前記実行回路は、前記比較の第2の結果に応じて、前記第1のシーケンスの命令を継続して実行する、請求項9に記載のシステム。
- 前記融合された比較−ジャンプ命令は、前記目標アドレスの指標を含む、請求項9に記載のシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022019581A JP7423886B2 (ja) | 2006-09-21 | 2022-02-10 | 論理比較動作を実行するための装置 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/525,706 US7958181B2 (en) | 2006-09-21 | 2006-09-21 | Method and apparatus for performing logical compare operations |
| US11/525,706 | 2006-09-21 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018189273A Division JP2019023909A (ja) | 2006-09-21 | 2018-10-04 | 論理比較動作を実行するための装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022019581A Division JP7423886B2 (ja) | 2006-09-21 | 2022-02-10 | 論理比較動作を実行するための装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2020091908A true JP2020091908A (ja) | 2020-06-11 |
Family
ID=39200856
Family Applications (7)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009529421A Active JP5284264B2 (ja) | 2006-09-21 | 2007-09-21 | 論理比較動作を実行するための方法と装置 |
| JP2013077025A Pending JP2013178791A (ja) | 2006-09-21 | 2013-04-02 | 論理比較動作を実行するための装置 |
| JP2014162358A Pending JP2015007993A (ja) | 2006-09-21 | 2014-08-08 | 論理比較動作を実行するための装置 |
| JP2016255721A Expired - Fee Related JP6416861B2 (ja) | 2006-09-21 | 2016-12-28 | 論理比較動作を実行するための装置 |
| JP2018189273A Pending JP2019023909A (ja) | 2006-09-21 | 2018-10-04 | 論理比較動作を実行するための装置 |
| JP2020036849A Pending JP2020091908A (ja) | 2006-09-21 | 2020-03-04 | 論理比較動作を実行するための装置 |
| JP2022019581A Active JP7423886B2 (ja) | 2006-09-21 | 2022-02-10 | 論理比較動作を実行するための装置 |
Family Applications Before (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009529421A Active JP5284264B2 (ja) | 2006-09-21 | 2007-09-21 | 論理比較動作を実行するための方法と装置 |
| JP2013077025A Pending JP2013178791A (ja) | 2006-09-21 | 2013-04-02 | 論理比較動作を実行するための装置 |
| JP2014162358A Pending JP2015007993A (ja) | 2006-09-21 | 2014-08-08 | 論理比較動作を実行するための装置 |
| JP2016255721A Expired - Fee Related JP6416861B2 (ja) | 2006-09-21 | 2016-12-28 | 論理比較動作を実行するための装置 |
| JP2018189273A Pending JP2019023909A (ja) | 2006-09-21 | 2018-10-04 | 論理比較動作を実行するための装置 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022019581A Active JP7423886B2 (ja) | 2006-09-21 | 2022-02-10 | 論理比較動作を実行するための装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (13) | US7958181B2 (ja) |
| JP (7) | JP5284264B2 (ja) |
| KR (1) | KR101064837B1 (ja) |
| CN (3) | CN101937329B (ja) |
| DE (1) | DE102007045187A1 (ja) |
| WO (1) | WO2008036946A1 (ja) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7958181B2 (en) | 2006-09-21 | 2011-06-07 | Intel Corporation | Method and apparatus for performing logical compare operations |
| US8515052B2 (en) | 2007-12-17 | 2013-08-20 | Wai Wu | Parallel signal processing system and method |
| US9690591B2 (en) * | 2008-10-30 | 2017-06-27 | Intel Corporation | System and method for fusing instructions queued during a time window defined by a delay counter |
| CN101859325B (zh) * | 2010-06-07 | 2012-07-11 | 华为技术有限公司 | 一种数据表项的查找处理方法和装置 |
| US20120030451A1 (en) * | 2010-07-28 | 2012-02-02 | Broadcom Corporation | Parallel and long adaptive instruction set architecture |
| CN102566975A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 一种跳转路径的分支跳转处理装置、方法和处理器 |
| CN104011650B (zh) * | 2011-12-23 | 2017-09-19 | 英特尔公司 | 使用输入写掩码和立即数从源写掩码寄存器在目的地写掩码寄存器中设置输出掩码的系统、装置和方法 |
| WO2013095618A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction execution that broadcasts and masks data values at different levels of granularity |
| EP2798458B1 (en) * | 2011-12-29 | 2019-07-03 | Intel Corporation | Packed data operation mask comparison processors, methods, systems, and instructions |
| US9483266B2 (en) * | 2013-03-15 | 2016-11-01 | Intel Corporation | Fusible instructions and logic to provide OR-test and AND-test functionality using multiple test sources |
| US9886277B2 (en) * | 2013-03-15 | 2018-02-06 | Intel Corporation | Methods and apparatus for fusing instructions to provide OR-test and AND-test functionality on multiple test sources |
| US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
| US10380593B2 (en) | 2014-11-10 | 2019-08-13 | Mastercard International Incorporated | Systems and methods for detecting compromised automated teller machines |
| US20160179542A1 (en) * | 2014-12-23 | 2016-06-23 | Patrick P. Lai | Instruction and logic to perform a fused single cycle increment-compare-jump |
| US10445092B2 (en) * | 2014-12-27 | 2019-10-15 | Intel Corporation | Method and apparatus for performing a vector permute with an index and an immediate |
| US10423411B2 (en) | 2015-09-26 | 2019-09-24 | Intel Corporation | Data element comparison processors, methods, systems, and instructions |
| GB2543304B (en) * | 2015-10-14 | 2020-10-28 | Advanced Risc Mach Ltd | Move prefix instruction |
| US10379854B2 (en) * | 2016-12-22 | 2019-08-13 | Intel Corporation | Processor instructions for determining two minimum and two maximum values |
| US10929527B2 (en) * | 2017-12-20 | 2021-02-23 | Intel Corporation | Methods and arrangements for implicit integrity |
| CN108897522A (zh) * | 2018-06-14 | 2018-11-27 | 北京比特大陆科技有限公司 | 数据处理方法、数据处理装置以及电子设备 |
| US11593105B2 (en) * | 2018-12-29 | 2023-02-28 | Intel Corporation | Vector logical operation and test instructions with result negation |
| CN111506520B (zh) * | 2020-07-01 | 2020-09-22 | 腾讯科技(深圳)有限公司 | 一种地址生成的方法、相关装置以及存储介质 |
| GB2599652B (en) * | 2020-10-06 | 2023-01-18 | Advanced Risc Mach Ltd | Masked-vector-comparison instruction |
| US20230072105A1 (en) * | 2021-08-31 | 2023-03-09 | Intel Corporation | Bfloat16 comparison instructions |
| US12608175B2 (en) | 2021-08-31 | 2026-04-21 | Intel Corporation | BFLOAT16 square root and/or reciprocal square root instructions |
| US12379927B2 (en) | 2021-08-31 | 2025-08-05 | Intel Corporation | BFLOAT16 scale and/or reduce instructions |
| US12229554B2 (en) | 2021-08-31 | 2025-02-18 | Intel Corporation | BFLOAT16 fused multiply instructions |
| US20240220262A1 (en) * | 2022-12-30 | 2024-07-04 | Jason Agron | Instructions and support for conditional comparison and test |
| WO2025123285A1 (zh) * | 2023-12-14 | 2025-06-19 | 声龙(新加坡)私人有限公司 | 一种实现有限域元素比较的方法及比较装置 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0876996A (ja) * | 1994-08-31 | 1996-03-22 | Matsushita Electric Works Ltd | プログラマブルコントローラ |
| US5748950A (en) * | 1994-09-20 | 1998-05-05 | Intel Corporation | Method and apparatus for providing an optimized compare-and-branch instruction |
| JP2001147807A (ja) * | 1999-10-01 | 2001-05-29 | Hitachi Ltd | 改良された分岐制御命令を利用するためのマイクロプロセッサ、分岐目標命令メモリ、命令ロード制御回路、パイプラインへの命令供給維持方法、分岐制御メモリ、およびプロセッサ |
| JP2004046747A (ja) * | 2002-07-16 | 2004-02-12 | Matsushita Electric Ind Co Ltd | ベクトル化方式 |
| US20040267856A1 (en) * | 2003-06-30 | 2004-12-30 | Macy William W | Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US502069A (en) * | 1893-07-25 | John dierdorf | ||
| JPS6014338A (ja) * | 1983-06-30 | 1985-01-24 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 計算機システムにおける分岐機構 |
| US4648059A (en) * | 1984-09-13 | 1987-03-03 | Motorola, Inc. | N-bit magnitude comparator |
| JPS6491228A (en) * | 1987-09-30 | 1989-04-10 | Takeshi Sakamura | Data processor |
| CA2045773A1 (en) | 1990-06-29 | 1991-12-30 | Compaq Computer Corporation | Byte-compare operation for high-performance processor |
| US5408670A (en) * | 1992-12-18 | 1995-04-18 | Xerox Corporation | Performing arithmetic in parallel on composite operands with packed multi-bit components |
| KR200152537Y1 (ko) | 1993-12-21 | 1999-07-15 | 구본준 | 2진수 비교기 회로 |
| JP3096387B2 (ja) * | 1994-01-28 | 2000-10-10 | 三菱電機株式会社 | 数値演算処理装置 |
| IL116210A0 (en) | 1994-12-02 | 1996-01-31 | Intel Corp | Microprocessor having a compare operation and a method of comparing packed data in a processor |
| KR100329338B1 (ko) | 1994-12-02 | 2002-07-18 | 피터 엔. 데트킨 | 복합피연산자의팩연산을수행하는마이크로프로세서 |
| GB9509989D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Manipulation of data |
| CN103092564B (zh) * | 1995-08-31 | 2016-04-06 | 英特尔公司 | 执行乘加指令的处理器和对分组数据执行乘加操作的系统 |
| US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
| US6036350A (en) * | 1995-12-20 | 2000-03-14 | Intel Corporation | Method of sorting signed numbers and solving absolute differences using packed instructions |
| US5835782A (en) * | 1996-03-04 | 1998-11-10 | Intel Corporation | Packed/add and packed subtract operations |
| JPH1011628A (ja) | 1996-06-25 | 1998-01-16 | Fujitsu Ltd | 営業車両管理システム |
| US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
| TW325552B (en) * | 1996-09-23 | 1998-01-21 | Advanced Risc Mach Ltd | Data processing condition code flags |
| GB2317466B (en) | 1996-09-23 | 2000-11-08 | Advanced Risc Mach Ltd | Data processing condition code flags |
| JP3658927B2 (ja) * | 1997-06-30 | 2005-06-15 | コニカミノルタホールディングス株式会社 | 電子写真感光体、画像形成方法及び画像形成装置 |
| JPH1124923A (ja) * | 1997-07-09 | 1999-01-29 | Mitsubishi Electric Corp | マイクロプロセッサ |
| US20010049780A1 (en) * | 1998-03-27 | 2001-12-06 | Shreekant Thakkar | Method and apparatus for performing integer operations in response to a result of a floating point operation |
| US6230261B1 (en) * | 1998-12-02 | 2001-05-08 | I. P. First, L.L.C. | Method and apparatus for predicting conditional branch instruction outcome based on branch condition test type |
| US6189091B1 (en) * | 1998-12-02 | 2001-02-13 | Ip First, L.L.C. | Apparatus and method for speculatively updating global history and restoring same on branch misprediction detection |
| JP3487421B2 (ja) * | 2000-02-16 | 2004-01-19 | 日本電気株式会社 | Simd型並列計算装置 |
| DE10157822A1 (de) * | 2001-11-24 | 2003-06-05 | Behr Gmbh & Co | Elektromagnetisch angesteuerte Flüssigkeitsreibungskupplung |
| JP3851228B2 (ja) | 2002-06-14 | 2006-11-29 | 松下電器産業株式会社 | プロセッサ、プログラム変換装置及びプログラム変換方法、並びにコンピュータプログラム |
| GB2409063B (en) * | 2003-12-09 | 2006-07-12 | Advanced Risc Mach Ltd | Vector by scalar operations |
| US7809932B1 (en) * | 2004-03-22 | 2010-10-05 | Altera Corporation | Methods and apparatus for adapting pipeline stage latency based on instruction type |
| US7853578B1 (en) * | 2005-12-09 | 2010-12-14 | Marvell International Ltd. | High-performance pattern matching |
| US7958181B2 (en) * | 2006-09-21 | 2011-06-07 | Intel Corporation | Method and apparatus for performing logical compare operations |
| US9069547B2 (en) * | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
| JP6014338B2 (ja) | 2012-03-05 | 2016-10-25 | 日本放送協会 | コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信プログラム |
| US20160179542A1 (en) * | 2014-12-23 | 2016-06-23 | Patrick P. Lai | Instruction and logic to perform a fused single cycle increment-compare-jump |
-
2006
- 2006-09-21 US US11/525,706 patent/US7958181B2/en active Active
-
2007
- 2007-09-21 WO PCT/US2007/079235 patent/WO2008036946A1/en not_active Ceased
- 2007-09-21 DE DE102007045187A patent/DE102007045187A1/de not_active Withdrawn
- 2007-09-21 CN CN2010102834141A patent/CN101937329B/zh not_active Expired - Fee Related
- 2007-09-21 JP JP2009529421A patent/JP5284264B2/ja active Active
- 2007-09-21 KR KR1020097005715A patent/KR101064837B1/ko active Active
- 2007-09-21 CN CN201110127835.XA patent/CN102207849B/zh active Active
- 2007-09-21 CN CN2007101441872A patent/CN101231583B/zh not_active Expired - Fee Related
-
2011
- 2011-04-08 US US13/082,726 patent/US8380780B2/en active Active
-
2012
- 2012-10-19 US US13/656,634 patent/US8606841B2/en active Active
- 2012-10-19 US US13/656,636 patent/US9043379B2/en active Active
-
2013
- 2013-02-08 US US13/763,596 patent/US9170813B2/en active Active
- 2013-02-08 US US13/763,598 patent/US9037627B2/en active Active
- 2013-03-15 US US13/843,236 patent/US9037626B2/en active Active
- 2013-04-02 JP JP2013077025A patent/JP2013178791A/ja active Pending
-
2014
- 2014-08-08 JP JP2014162358A patent/JP2015007993A/ja active Pending
-
2015
- 2015-04-12 US US14/684,412 patent/US9268565B2/en active Active
-
2016
- 2016-02-04 US US15/015,991 patent/US9489198B2/en active Active
- 2016-11-07 US US15/345,221 patent/US9898285B2/en active Active
- 2016-12-28 JP JP2016255721A patent/JP6416861B2/ja not_active Expired - Fee Related
-
2018
- 2018-01-31 US US15/885,269 patent/US10146536B2/en active Active
- 2018-10-04 JP JP2018189273A patent/JP2019023909A/ja active Pending
- 2018-10-18 US US16/164,736 patent/US10416997B2/en active Active
- 2018-11-08 US US16/184,994 patent/US10572251B2/en active Active
-
2020
- 2020-03-04 JP JP2020036849A patent/JP2020091908A/ja active Pending
-
2022
- 2022-02-10 JP JP2022019581A patent/JP7423886B2/ja active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0876996A (ja) * | 1994-08-31 | 1996-03-22 | Matsushita Electric Works Ltd | プログラマブルコントローラ |
| US5748950A (en) * | 1994-09-20 | 1998-05-05 | Intel Corporation | Method and apparatus for providing an optimized compare-and-branch instruction |
| JP2001147807A (ja) * | 1999-10-01 | 2001-05-29 | Hitachi Ltd | 改良された分岐制御命令を利用するためのマイクロプロセッサ、分岐目標命令メモリ、命令ロード制御回路、パイプラインへの命令供給維持方法、分岐制御メモリ、およびプロセッサ |
| JP2004046747A (ja) * | 2002-07-16 | 2004-02-12 | Matsushita Electric Ind Co Ltd | ベクトル化方式 |
| US20040267856A1 (en) * | 2003-06-30 | 2004-12-30 | Macy William W | Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations |
Non-Patent Citations (1)
| Title |
|---|
| ジョン・L・へネシー,外1名, コンピュータの構成と設計 第2版 [上], JPN6019023858, 5 June 2003 (2003-06-05), pages 96 - 99, ISSN: 0004613478 * |
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7423886B2 (ja) | 論理比較動作を実行するための装置 | |
| TW201447606A (zh) | 拆裝多通道中封裝資料 | |
| JP6741006B2 (ja) | マスクレジスタとベクトルレジスタとの間で可変に拡張するための方法および装置 | |
| CN107003849B (zh) | 用于执行冲突检测的方法和装置 | |
| CN101154154A (zh) | 用于执行选择操作的方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200304 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210414 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210427 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210701 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211012 |
