JP6615819B2 - 単一命令でシフト・アンド・排他的論理和演算を行うシステム - Google Patents
単一命令でシフト・アンド・排他的論理和演算を行うシステム Download PDFInfo
- Publication number
- JP6615819B2 JP6615819B2 JP2017076187A JP2017076187A JP6615819B2 JP 6615819 B2 JP6615819 B2 JP 6615819B2 JP 2017076187 A JP2017076187 A JP 2017076187A JP 2017076187 A JP2017076187 A JP 2017076187A JP 6615819 B2 JP6615819 B2 JP 6615819B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- shift
- instruction
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 50
- 238000007667 floating Methods 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 description 42
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 101000912503 Homo sapiens Tyrosine-protein kinase Fgr Proteins 0.000 description 2
- 102100037226 Nuclear receptor coactivator 2 Human genes 0.000 description 2
- 102000001332 SRC Human genes 0.000 description 2
- 108060006706 SRC Proteins 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100365087 Arabidopsis thaliana SCRA gene Proteins 0.000 description 1
- 101000974356 Homo sapiens Nuclear receptor coactivator 3 Proteins 0.000 description 1
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 102100022883 Nuclear receptor coactivator 3 Human genes 0.000 description 1
- 101150105073 SCR1 gene Proteins 0.000 description 1
- 101100134054 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) NTG1 gene Proteins 0.000 description 1
- 101100285899 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SSE2 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/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 or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
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)
- Complex Calculations (AREA)
Description
本実施形態によれば、以下の各項目もまた開示される。
(項目1)
第1の値を所与のシフト量だけシフトして、前記シフトされた値を第2の値でXORする、シフト・アンド・XOR命令を実行する論理を備えるプロセッサ。
(項目2)
前記第1の値は左シフトされる項目1に記載のプロセッサ。
(項目3)
前記第1の値は右シフトされる項目1に記載のプロセッサ。
(項目4)
前記第1の値は論理シフトされる項目1に記載のプロセッサ。
(項目5)
前記第1の値は算術シフトされる項目1に記載のプロセッサ。
(項目6)
シフタとXOR回路とを備える項目1に記載のプロセッサ。
(項目7)
前記シフト・アンド・XOR命令は、前記第2の値を格納する第1のフィールドを含む項目1に記載のプロセッサ。
(項目8)
前記第1の値は、パックデータタイプである項目1に記載のプロセッサ。
(項目9)
シフト・アンド・XOR演算を実行させる第1の命令を格納するストレージと、
第1の値を所与のシフト量だけシフトして、前記シフトされた値を第2の値でXORする、シフト・アンド・XOR命令を実行する論理を実行するプロセッサと
を備えるシステム。
(項目10)
前記第1の値は左シフトされる項目9に記載のシステム。
(項目11)
前記第1の値は右シフトされる項目9に記載のシステム。
(項目12)
前記第1の値は論理シフトされる項目9に記載のシステム。
(項目13)
前記第1の値は算術シフトされる項目9に記載のシステム。
(項目14)
シフタとXOR回路とを備える項目9に記載のシステム。
(項目15)
前記シフト・アンド・XOR命令は、前記第2の値を格納する第1のフィールドを含む項目9に記載のシステム。
(項目16)
前記第1の値は、パックデータタイプである項目9に記載のシステム。
(項目17)
第1の値を所与のシフト量だけシフトして、前記シフトされた値を第2の値でXORする、シフト・アンド・XOR命令を実行する段階を備える方法。
(項目18)
前記第1の値は左シフトされる項目17に記載の方法。
(項目19)
前記第1の値は右シフトされる項目17に記載の方法。
(項目20)
前記第1の値は論理シフトされる項目17に記載の方法。
(項目21)
前記第1の値は算術シフトされる項目17に記載の方法。
(項目22)
シフタとXOR回路とを備える項目17に記載の方法。
(項目23)
前記シフト・アンド・XOR命令は、前記第2の値を格納する第1のフィールドを含む項目17に記載の方法。
(項目24)
前記第1の値は、パックデータタイプである項目17に記載の方法。
(項目25)
命令を格納する機械可読媒体であって、前記命令は機械により実行されると、前記機械に、
第1の値を所与のシフト量だけシフトする段階と、
前記シフトされた値を第2の値でXORする段階と
を含む方法を実行させる機械可読媒体。
(項目26)
前記第1の値は左シフトされる項目25に記載の方法。
(項目27)
前記第1の値は右シフトされる項目25に記載の方法。
(項目28)
前記第1の値は論理シフトされる項目25に記載の方法。
(項目29)
前記第1の値は算術シフトされる項目25に記載の方法。
(項目30)
シフタとXOR回路とを備える項目25に記載の方法。
(項目31)
前記シフト・アンド・XOR命令は、前記第2の値を格納する第1のフィールドを含む項目25に記載の方法。
(項目32)
前記第1の値は、パックデータタイプである項目25に記載の方法。
(項目33)
第1のシフト値と第2のビット反映値との間で排他的論理和(XOR)演算を実行して、実行結果を第1のレジスタに格納する段階と、
前記実行結果の先頭のゼロの最小数をチェックする段階と
を備える方法。
(項目34)
先頭のゼロの最小数が前記実行結果にある場合に、前記実行結果が第1のチャンクに対応していることを示す項目33に記載の方法。
(項目35)
前記第1のシフト値は、1ビットに相当する位置だけ左シフトされる項目34に記載の方法。
(項目36)
前記第1のシフト値は、1ビットに相当する位置だけ右シフトされる項目34に記載の方法。
Claims (9)
- 命令を実行するシステムであって、
ネットワークコントローラと、
前記ネットワークコントローラに接続されたプロセッサと
を備え、
前記プロセッサは、汎用プロセッサを含み、
レベル1(L1)キャッシュを含む複数レベルのキャッシュと、
複数の整数レジスタと、
2つの64ビット倍精度浮動小数点データエレメントを有する128ビットパックダブルオペランドを含む複数の浮動小数点データエレメントを格納する複数の浮動小数点レジスタと、
複数のステータスレジスタと、
命令ポインタレジスタと、
命令をフェッチする命令プリフェッチャと、
第1の32ビットソースオペランドを特定する第1ソースオペランド識別子と、第2の32ビットソースオペランドを識別する第2ソースオペランド識別子と、1つのシフト量を指定する即値フィールドとを有しシフト・アンド・XOR演算を実行する命令を含む、フェッチされた複数の命令をデコードするデコーダと、
前記デコーダに接続される実行ユニットと、
浮動小数点データエレメントを処理する浮動小数点ユニットと、
を有し、
前記プロセッサは、前記シフト・アンド・XOR演算を実行する命令に応じて、
前記1つのシフト量を複数のデータエレメントの全てに適用して、パックデータ値の前記第1の32ビットソースオペランドを前記即値フィールドにより指定された前記1つのシフト量分算術シフトし、
スカラー値の前記第2の32ビットソースオペランドを前記複数のデータエレメントの全てに適用して、算術シフトされた前記第1の32ビットソースオペランドと前記第2の32ビットソースオペランドとを、前記第2の32ビットソースオペランドをシフトせずにXORし、
シフトされXORされた32ビットの結果の値を、パックデータレジスタであるデスティネーションレジスタに格納する
システム。 - 前記第1の32ビットソースオペランドは、算術左シフトされる、請求項1に記載のシステム。
- 前記第1の32ビットソースオペランドは、整数データ型である請求項1または2に記載のシステム。
- 前記第1の32ビットソースオペランドは、前記命令により指定されるレジスタに格納される請求項1から3のいずれか一項に記載のシステム。
- 前記実行ユニットは、前記プロセッサのアウトオブオーダ・エンジンである請求項1から4のいずれか一項に記載のシステム。
- 前記デコーダに接続されたマイクロコードROMを更に備える請求項1から5のいずれか一項に記載のシステム。
- 前記プロセッサに接続された大容量記憶デバイスを更に備える請求項1から6のいずれか一項に記載のシステム。
- 前記プロセッサに接続されたRAMを更に備える請求項1から6のいずれか一項に記載のシステム。
- 前記プロセッサに接続された大容量記憶デバイスと、
前記プロセッサに接続されたRAMと
を更に備える請求項1から6のいずれか一項に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/653,704 US9747105B2 (en) | 2009-12-17 | 2009-12-17 | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
US12/653,704 | 2009-12-17 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015088424A Division JP6126162B2 (ja) | 2009-12-17 | 2015-04-23 | 単一命令でシフト・アンド・排他的論理和演算を行う方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017152016A JP2017152016A (ja) | 2017-08-31 |
JP6615819B2 true JP6615819B2 (ja) | 2019-12-04 |
Family
ID=44152595
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012516393A Active JP5567668B2 (ja) | 2009-12-17 | 2010-10-29 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
JP2014092408A Active JP5941493B2 (ja) | 2009-12-17 | 2014-04-28 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
JP2014126121A Active JP5941498B2 (ja) | 2009-12-17 | 2014-06-19 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
JP2015088424A Active JP6126162B2 (ja) | 2009-12-17 | 2015-04-23 | 単一命令でシフト・アンド・排他的論理和演算を行う方法および装置 |
JP2017076187A Active JP6615819B2 (ja) | 2009-12-17 | 2017-04-06 | 単一命令でシフト・アンド・排他的論理和演算を行うシステム |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012516393A Active JP5567668B2 (ja) | 2009-12-17 | 2010-10-29 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
JP2014092408A Active JP5941493B2 (ja) | 2009-12-17 | 2014-04-28 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
JP2014126121A Active JP5941498B2 (ja) | 2009-12-17 | 2014-06-19 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
JP2015088424A Active JP6126162B2 (ja) | 2009-12-17 | 2015-04-23 | 単一命令でシフト・アンド・排他的論理和演算を行う方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (5) | US9747105B2 (ja) |
JP (5) | JP5567668B2 (ja) |
KR (1) | KR101411064B1 (ja) |
CN (7) | CN104679478B (ja) |
DE (1) | DE112010004887T5 (ja) |
GB (2) | GB2552117B (ja) |
TW (5) | TWI575456B (ja) |
WO (1) | WO2011084214A2 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4930251B2 (ja) * | 2007-07-31 | 2012-05-16 | 富士通セミコンダクター株式会社 | 誤り訂正装置及びデスクランブル回路 |
US8515052B2 (en) | 2007-12-17 | 2013-08-20 | Wai Wu | Parallel signal processing system and method |
US9747105B2 (en) * | 2009-12-17 | 2017-08-29 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
US10318291B2 (en) | 2011-11-30 | 2019-06-11 | Intel Corporation | Providing vector horizontal compare functionality within a vector register |
CN103959237B (zh) * | 2011-11-30 | 2016-09-28 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
WO2013095513A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Packed data operation mask shift processors, methods, systems, and instructions |
CN104185837B (zh) * | 2011-12-23 | 2017-10-13 | 英特尔公司 | 在不同的粒度等级下广播数据值的指令执行单元 |
CN116414459A (zh) | 2011-12-23 | 2023-07-11 | 英特尔公司 | 在不同的粒度水平下对数据值进行广播和掩码的指令执行 |
EP2798804A4 (en) * | 2011-12-26 | 2015-09-23 | Intel Corp | COMMUNICATION BETWEEN COPROCESSORS WITH DIRECT CONNECTION SYNCHRONIZATION |
CN104025033B (zh) * | 2011-12-30 | 2017-11-21 | 英特尔公司 | 利用控制操纵的simd可变移位和循环 |
US9128698B2 (en) * | 2012-09-28 | 2015-09-08 | Intel Corporation | Systems, apparatuses, and methods for performing rotate and XOR in response to a single instruction |
JP6219631B2 (ja) * | 2013-07-29 | 2017-10-25 | 学校法人明星学苑 | 論理演算装置 |
EP3001307B1 (en) * | 2014-09-25 | 2019-11-13 | Intel Corporation | Bit shuffle processors, methods, systems, and instructions |
US10001995B2 (en) * | 2015-06-02 | 2018-06-19 | Intel Corporation | Packed data alignment plus compute instructions, processors, methods, and systems |
US10423411B2 (en) * | 2015-09-26 | 2019-09-24 | Intel Corporation | Data element comparison processors, methods, systems, and instructions |
US9916159B2 (en) * | 2016-01-14 | 2018-03-13 | International Business Machines Corporation | Programmable linear feedback shift register |
CN107534445B (zh) * | 2016-04-19 | 2020-03-10 | 华为技术有限公司 | 用于分割哈希值计算的向量处理 |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US20180121202A1 (en) * | 2016-11-02 | 2018-05-03 | Intel Corporation | Simd channel utilization under divergent control flow |
CN107145334B (zh) * | 2017-04-26 | 2020-10-09 | 龙芯中科技术有限公司 | 常量获取方法、装置、处理器及计算机可读存储介质 |
WO2019027415A1 (en) | 2017-07-31 | 2019-02-07 | Hewlett-Packard Development Company, L.P. | TREATMENT OR EXCLUSIVE VOXELS OF MODELS IN THREE DIMENSIONS |
CN107612684B (zh) * | 2017-10-20 | 2020-09-15 | 中博龙辉装备集团股份有限公司 | 基于国产化处理器平台专有指令集的数据对称加密方法 |
CN110058884B (zh) * | 2019-03-15 | 2021-06-01 | 佛山市顺德区中山大学研究院 | 用于计算型存储指令集运算的优化方法、系统及存储介质 |
CN109976705B (zh) * | 2019-03-20 | 2020-06-02 | 上海燧原智能科技有限公司 | 浮点格式数据处理装置、数据处理设备及数据处理方法 |
CN110221807B (zh) * | 2019-06-06 | 2021-08-03 | 龙芯中科(合肥)技术有限公司 | 数据移位方法、装置、设备及计算机可读存储介质 |
US11269631B2 (en) * | 2020-07-29 | 2022-03-08 | Ghost Locomotion Inc. | Extending fused multiply-add instructions |
US20230004393A1 (en) * | 2021-06-26 | 2023-01-05 | Intel Corporation | Apparatus and method for vector packed signed/unsigned shift, round, and saturate |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3781819A (en) * | 1971-10-08 | 1973-12-25 | Ibm | Shift unit for variable data widths |
JPS53147593A (en) | 1977-05-27 | 1978-12-22 | Hitachi Ltd | Oxygen density measuring device |
US4356549A (en) * | 1980-04-02 | 1982-10-26 | Control Data Corporation | System page table apparatus |
US4467444A (en) | 1980-08-01 | 1984-08-21 | Advanced Micro Devices, Inc. | Processor unit for microcomputer systems |
JPS6491228A (en) * | 1987-09-30 | 1989-04-10 | Takeshi Sakamura | Data processor |
US5504914A (en) * | 1993-06-23 | 1996-04-02 | National Science Council | Multi-level instruction boosting method using plurality of ordinary registers forming plurality of conjugate register pairs that are shadow registers to each other with different only in MSB |
US5559730A (en) * | 1994-02-18 | 1996-09-24 | Matsushita Electric Industrial Co., Ltd. | Shift operation unit and shift operation method |
JPH08137666A (ja) | 1994-11-14 | 1996-05-31 | Matsushita Electric Ind Co Ltd | 演算装置およびその演算方法 |
ZA9510127B (en) | 1994-12-01 | 1996-06-06 | Intel Corp | Novel processor having shift operations |
AU4464596A (en) | 1994-12-02 | 1996-06-19 | Intel Corporation | Microprocessor with packing operation of composite operands |
US5864344A (en) * | 1995-07-03 | 1999-01-26 | Ikedo; Tsuneo | Computer graphics circuit |
CN103064651B (zh) | 1995-08-31 | 2016-01-27 | 英特尔公司 | 用于在分组数据上执行分组乘法运算的装置 |
JPH09115298A (ja) * | 1995-10-19 | 1997-05-02 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH1040078A (ja) | 1996-07-24 | 1998-02-13 | Hitachi Ltd | 先行0、1数予測回路、浮動小数点演算装置、マイクロプロセッサおよび情報処理装置 |
TW325552B (en) | 1996-09-23 | 1998-01-21 | Advanced Risc Mach Ltd | Data processing condition code flags |
US6009451A (en) * | 1996-11-22 | 1999-12-28 | Lucent Technologies Inc. | Method for generating barrel shifter result flags directly from input data |
US5896406A (en) | 1997-03-31 | 1999-04-20 | Adaptec, Inc. | Shift register-based XOR accumulator engine for generating parity in a data processing system |
GB9707861D0 (en) | 1997-04-18 | 1997-06-04 | Certicom Corp | Arithmetic processor |
US5917914A (en) | 1997-04-24 | 1999-06-29 | Cirrus Logic, Inc. | DVD data descrambler for host interface and MPEG interface |
US6134597A (en) | 1997-05-28 | 2000-10-17 | International Business Machines Corporation | CRC hash compressed server object identifier |
US5909520A (en) | 1997-08-25 | 1999-06-01 | The United States Of America As Represented By The Secretary Of The Navy | Noise coding processor |
US6223320B1 (en) | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
JP2001142694A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | データフィールドのエンコード方法、情報フィールドの拡張方法、及び、コンピュータシステム |
US6539467B1 (en) | 1999-11-15 | 2003-03-25 | Texas Instruments Incorporated | Microprocessor with non-aligned memory access |
US6889319B1 (en) | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
US7046802B2 (en) | 2000-10-12 | 2006-05-16 | Rogaway Phillip W | Method and apparatus for facilitating efficient authenticated encryption |
US6810398B2 (en) | 2000-11-06 | 2004-10-26 | Avamar Technologies, Inc. | System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences |
KR100805343B1 (ko) * | 2000-11-15 | 2008-02-20 | 인도오스트 인베스트먼츠 피티와이 엘티디 | 시프트 레지스터의 업데이트 방법 |
TWI261968B (en) | 2001-09-13 | 2006-09-11 | Macronix Int Co Ltd | Shifting apparatus for bit-shifting manipulation in a digital processor device |
DE10201441A1 (de) | 2002-01-16 | 2003-08-14 | Infineon Technologies Ag | Schiebevorrichtung und Verfahren zum Verschieben |
US7114116B2 (en) | 2002-09-13 | 2006-09-26 | Sun Microsystems, Inc. | Accelerated Galois data integrity crosscheck system and method |
WO2004034581A1 (ja) * | 2002-10-11 | 2004-04-22 | Fujitsu Limited | Pn符号発生器、gold符号発生器、pn符号逆拡散器、pn符号発生方法、gold符号発生方法、pn符号逆拡散方法、及びコンピュータプログラム |
JP4057876B2 (ja) | 2002-10-11 | 2008-03-05 | フリースケール セミコンダクター インコーポレイテッド | ガロア体掛け算器の制御方法 |
US7395294B1 (en) * | 2003-01-10 | 2008-07-01 | Altera Corporation | Arithmetic logic unit |
JP4228728B2 (ja) | 2003-03-06 | 2009-02-25 | 日立工機株式会社 | 遠心分離機及び遠心分離機用スイングロ−タ |
US7539714B2 (en) | 2003-06-30 | 2009-05-26 | Intel Corporation | Method, apparatus, and instruction for performing a sign operation that multiplies |
CN1898641B (zh) | 2003-10-23 | 2015-03-25 | 密克罗奇普技术公司 | 微控制器指令集 |
GB2411975B (en) | 2003-12-09 | 2006-10-04 | Advanced Risc Mach Ltd | Data processing apparatus and method for performing arithmetic operations in SIMD data processing |
JP3845636B2 (ja) * | 2004-01-21 | 2006-11-15 | 株式会社東芝 | 関数近似値の演算器 |
JP4418713B2 (ja) | 2004-06-11 | 2010-02-24 | キヤノン株式会社 | 乱数発生方法及び乱数発生装置 |
US7653674B2 (en) * | 2004-10-07 | 2010-01-26 | Infoprint Solutions Company Llc | Parallel operations on multiple signed elements in a register |
US8209366B2 (en) * | 2005-02-28 | 2012-06-26 | Hitachi Global Storage Technologies Netherlands B.V. | Method, apparatus and program storage device that provides a shift process with saturation for digital signal processor operations |
US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
US7590930B2 (en) | 2005-05-24 | 2009-09-15 | Intel Corporation | Instructions for performing modulo-2 multiplication and bit reflection |
US8253751B2 (en) | 2005-06-30 | 2012-08-28 | Intel Corporation | Memory controller interface for micro-tiled memory access |
JP2007174312A (ja) * | 2005-12-22 | 2007-07-05 | Sanyo Electric Co Ltd | 符号化回路およびデジタル信号処理回路 |
CN100495322C (zh) | 2006-05-18 | 2009-06-03 | 中国科学院计算技术研究所 | 对预处理微指令发生异常多层嵌套进行处理的设备及方法 |
US7941435B2 (en) | 2006-08-01 | 2011-05-10 | Cisco Technology, Inc. | Substring search algorithm optimized for hardware acceleration |
US20080071851A1 (en) | 2006-09-20 | 2008-03-20 | Ronen Zohar | Instruction and logic for performing a dot-product operation |
US20080077772A1 (en) | 2006-09-22 | 2008-03-27 | Ronen Zohar | Method and apparatus for performing select operations |
US9069547B2 (en) | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
US7886255B2 (en) | 2007-01-22 | 2011-02-08 | Texas Instruments Incorporated | Method for design of programmable data processors |
DK176721B1 (da) | 2007-03-06 | 2009-04-27 | I/S Boewind V/Chr. I S Boewind V Chr | Fremgangsmode til akkumulering og udnyttelse af vedvarende energi |
US8762345B2 (en) | 2007-05-31 | 2014-06-24 | Netapp, Inc. | System and method for accelerating anchor point detection |
US7774399B2 (en) | 2007-09-24 | 2010-08-10 | Vns Portfolio Llc | Shift-add based parallel multiplication |
US7729185B2 (en) * | 2007-11-01 | 2010-06-01 | Arm Limited | Apparatus and method for detection of address decoder open faults |
IL188089A (en) * | 2007-12-12 | 2013-02-28 | Nds Ltd | Bit generator |
US7689816B2 (en) | 2008-01-31 | 2010-03-30 | International Business Machines Corporation | Branch prediction with partially folded global history vector for reduced XOR operation time |
US9146708B2 (en) | 2008-05-12 | 2015-09-29 | Qualcomm Incorporated | Implementation of arbitrary galois field arithmetic on a programmable processor |
US8340280B2 (en) * | 2008-06-13 | 2012-12-25 | Intel Corporation | Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations |
CN102292222A (zh) | 2009-01-28 | 2011-12-21 | 贝卡尔特公司 | 用作椭圆形绳芯部的弯皱且扁平的金属线 |
US9747105B2 (en) | 2009-12-17 | 2017-08-29 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
-
2009
- 2009-12-17 US US12/653,704 patent/US9747105B2/en active Active
-
2010
- 2010-10-29 KR KR1020127012770A patent/KR101411064B1/ko active IP Right Grant
- 2010-10-29 DE DE112010004887T patent/DE112010004887T5/de active Pending
- 2010-10-29 JP JP2012516393A patent/JP5567668B2/ja active Active
- 2010-10-29 WO PCT/US2010/054754 patent/WO2011084214A2/en active Application Filing
- 2010-10-29 GB GB1715480.8A patent/GB2552117B/en active Active
- 2010-10-29 GB GB1119720.9A patent/GB2483575B/en active Active
- 2010-11-08 TW TW104117447A patent/TWI575456B/zh active
- 2010-11-08 TW TW104117445A patent/TWI562067B/zh active
- 2010-11-08 TW TW105143628A patent/TWI610235B/zh active
- 2010-11-08 TW TW104117444A patent/TWI575455B/zh active
- 2010-11-08 TW TW099138315A patent/TWI531969B/zh active
- 2010-12-15 CN CN201510098293.6A patent/CN104679478B/zh active Active
- 2010-12-15 CN CN201410857443.2A patent/CN104699456B/zh active Active
- 2010-12-15 CN CN201410855924.XA patent/CN104598203B/zh active Active
- 2010-12-15 CN CN201010601696.5A patent/CN102103487B/zh active Active
- 2010-12-15 CN CN201510098269.2A patent/CN104699457B/zh active Active
- 2010-12-15 CN CN201410855932.4A patent/CN104598204B/zh active Active
- 2010-12-15 CN CN201510098245.7A patent/CN104699459B/zh active Active
-
2014
- 2014-04-28 JP JP2014092408A patent/JP5941493B2/ja active Active
- 2014-06-19 JP JP2014126121A patent/JP5941498B2/ja active Active
- 2014-12-01 US US14/557,372 patent/US9501281B2/en active Active
- 2014-12-01 US US14/556,931 patent/US9495165B2/en active Active
- 2014-12-01 US US14/557,360 patent/US9495166B2/en active Active
-
2015
- 2015-04-23 JP JP2015088424A patent/JP6126162B2/ja active Active
-
2017
- 2017-04-06 JP JP2017076187A patent/JP6615819B2/ja active Active
- 2017-08-25 US US15/686,889 patent/US10684855B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6615819B2 (ja) | 単一命令でシフト・アンド・排他的論理和演算を行うシステム | |
JP7452930B2 (ja) | プロセッサ、システム及び方法 | |
JP4697639B2 (ja) | ドット積演算を行うための命令および論理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170508 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180731 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181030 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190917 |
|
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: 20191008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6615819 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |