JP5567668B2 - 単一命令でシフトおよび排他的論理和演算を行う方法および装置 - Google Patents
単一命令でシフトおよび排他的論理和演算を行う方法および装置 Download PDFInfo
- Publication number
- JP5567668B2 JP5567668B2 JP2012516393A JP2012516393A JP5567668B2 JP 5567668 B2 JP5567668 B2 JP 5567668B2 JP 2012516393 A JP2012516393 A JP 2012516393A JP 2012516393 A JP2012516393 A JP 2012516393A JP 5567668 B2 JP5567668 B2 JP 5567668B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- shift
- xor
- shifted
- instruction
- 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
- 238000000034 method Methods 0.000 title claims description 54
- 238000003860 storage Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 49
- 238000007667 floating Methods 0.000 description 28
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 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
- 238000013500 data storage Methods 0.000 description 4
- 230000033001 locomotion Effects 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
- 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
- 239000000872 buffer Substances 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
- 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
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
-
- 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
-
- 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
-
- 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
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 (39)
- 第1の値を指定しまたは格納する第1ソースオペランドと、シフト量を指定しまたは格納する第2ソースオペランドと、第2の値を指定しまたは格納する第3ソースオペランドを有するシフトおよびXOR命令を実行し、前記シフトおよびXOR命令に応じて、前記第1の値を前記シフト量だけシフトして、前記シフトされた値を前記第2の値でXORして前記シフトおよびXOR命令の結果を生成する論理と、
前記結果の先頭部または後端部において予め定めた数以上の個数の0が連続するかをチェックする論理と、
を備えるプロセッサ。 - 前記第1の値は左シフトされ、前記チェックする論理は、前記結果の先頭部において前記予め定めた数以上の個数の0が連続するかをチェックする請求項1に記載のプロセッサ。
- 前記第1の値は右シフトされ、前記チェックする論理は、前記結果の後端部において前記予め定めた数以上の個数の0が連続するかをチェックする請求項1に記載のプロセッサ。
- 前記第1の値は論理シフトされる請求項1から3のいずれか一項に記載のプロセッサ。
- 前記第1の値は算術シフトされる請求項1から3のいずれか一項に記載のプロセッサ。
- シフタとXOR回路とを備える請求項1から5のいずれか一項に記載のプロセッサ。
- 前記シフトおよびXOR命令は、定数配列の中の前記第2の値を指定する第1のフィールドを含む請求項1から6のいずれか一項に記載のプロセッサ。
- 前記第1の値は、パックデータである請求項1から7のいずれか一項に記載のプロセッサ。
- データの重複除外を実行するシステムであって、
シフトおよびXOR演算を実行させる第1の命令を格納する第1ストレージと、
定数テーブルを格納する第2ストレージと、
第1の値を指定しまたは格納する第1ソースオペランドと、シフト量を指定しまたは格納する第2ソースオペランドと、前記第2ストレージに格納された前記定数テーブルからの第2の値を指定する第3ソースオペランドを有する前記第1の命令を実行し、前記第1の命令に応じて、前記第1の値を前記シフト量だけシフトして、前記シフトされた値を前記第2の値でXORする前記シフトおよびXOR演算を実行して前記第1の命令の結果を生成するプロセッサと
を備えるシステム。 - 前記第1の値は左シフトされる請求項9に記載のシステム。
- 前記第1の値は右シフトされる請求項9に記載のシステム。
- 前記第1の値は論理シフトされる請求項9から11のいずれか一項に記載のシステム。
- 前記第1の値は算術シフトされる請求項9から11のいずれか一項に記載のシステム。
- シフタとXOR回路とを備える請求項9から13のいずれか一項に記載のシステム。
- 前記第1の命令は、前記第2の値を指定する第1のフィールドを含む請求項9から14のいずれか一項に記載のシステム。
- 前記第1の値は、パックデータである請求項9から15のいずれか一項に記載のシステム。
- 前記プロセッサは、前記結果の先頭部または後端部において予め定めた数以上の個数の0が連続するかをチェックする請求項9に記載のシステム。
- 第1の値を指定しまたは格納する第1ソースオペランドと、シフト量を指定しまたは格納する第2ソースオペランドと、第2の値を指定しまたは格納する第3ソースオペランドを有するシフトおよびXOR命令を実行し、前記シフトおよびXOR命令に応じて、前記第1の値を前記シフト量だけシフトして、前記シフトされた値を前記第2の値でXORして前記シフトおよびXOR命令の結果を生成する段階を備える方法。
- 前記第1の値は左シフトされる請求項18に記載の方法。
- 前記第1の値は右シフトされる請求項18に記載の方法。
- 前記第1の値は論理シフトされる請求項18から20のいずれか一項に記載の方法。
- 前記第1の値は算術シフトされる請求項18から20のいずれか一項に記載の方法。
- 当該方法を実行するプロセッサは、シフタとXOR回路とを備える請求項18から22のいずれか一項に記載の方法。
- 前記シフトおよびXOR命令は、前記第2の値を格納する第1のフィールドを含む請求項18から23のいずれか一項に記載の方法。
- 前記第1の値は、パックデータである請求項18から24のいずれか一項に記載の方法。
- 前記結果の先頭部または後端部において予め定めた数以上の個数の0が連続するかをチェックする段階を備える請求項18に記載の方法。
- 第1の値を指定しまたは格納する第1ソースオペランドと、シフト量を指定しまたは格納する第2ソースオペランドと、第2の値を指定しまたは格納する第3ソースオペランドを有する命令を含むプログラムであって、
前記命令が機械によって実行されると、前記機械に、
前記第1の値を前記シフト量だけシフトする段階と、
前記シフトされた値を前記第2の値でXORして前記命令の結果を生成する段階と
を含む方法を実行させるためのプログラム。 - 前記第1の値は左シフトされる請求項27に記載のプログラム。
- 前記第1の値は右シフトされる請求項27に記載のプログラム。
- 前記第1の値は論理シフトされる請求項27から29のいずれか一項に記載のプログラム。
- 前記第1の値は算術シフトされる請求項27から29のいずれか一項に記載のプログラム。
- 前記機械は、シフタとXOR回路とを備える請求項27から31のいずれか一項に記載のプログラム。
- 前記命令は、前記第2の値を格納する第1のフィールドを含む請求項27から32のいずれか一項に記載のプログラム。
- 前記第1の値は、パックデータである請求項27から33のいずれか一項に記載のプログラム。
- 前記機械に、前記結果の先頭部または後端部において予め定めた数以上の個数の0が連続するかをチェックする段階を更に含む前記方法を実行させるための請求項27に記載のプログラム。
- プロセッサにより実行される方法であって、
シフトおよびXOR命令に応答して、第1の値を所与のシフト量だけシフトして第1のシフト値を生成し、前記第1のシフト値と第2の値との間で排他的論理和(XOR)演算を実行して、実行結果を第1のレジスタに格納する段階と、
前記実行結果の先頭部または後端部において予め定めた数以上の個数の0が連続するかをチェックする段階と
を備える方法。 - 前記実行結果の先端部または後端部において予め定めた数以上の個数の0が連続する場合に、前記実行結果が第1のチャンクに対応していることを示す段階を備える請求項36に記載の方法。
- 前記シフトおよびXOR命令に応答して、前記第1の値は、1ビットに相当する位置だけ左シフトされ、
前記チェックする段階は、前記実行結果の先頭部において予め定めた数以上の個数の0が連続するかをチェックする
請求項36または37に記載の方法。 - 前記シフトおよびXOR命令に応答して、前記第1の値は、1ビットに相当する位置だけ右シフトされ、
前記チェックする段階は、前記実行結果の後端部において予め定めた数以上の個数の0が連続するかをチェックする
請求項36または37に記載の方法。
Applications Claiming Priority (3)
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 | ||
PCT/US2010/054754 WO2011084214A2 (en) | 2009-12-17 | 2010-10-29 | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014092408A Division JP5941493B2 (ja) | 2009-12-17 | 2014-04-28 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
JP2014126121A Division JP5941498B2 (ja) | 2009-12-17 | 2014-06-19 | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012530978A JP2012530978A (ja) | 2012-12-06 |
JP5567668B2 true JP5567668B2 (ja) | 2014-08-06 |
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 After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 | 単一命令でシフト・アンド・排他的論理和演算を行うシステム |
Country Status (8)
Country | Link |
---|---|
US (5) | US9747105B2 (ja) |
JP (5) | JP5567668B2 (ja) |
KR (1) | KR101411064B1 (ja) |
CN (7) | CN104598203B (ja) |
DE (1) | DE112010004887T5 (ja) |
GB (2) | GB2483575B (ja) |
TW (5) | TWI531969B (ja) |
WO (1) | WO2011084214A2 (ja) |
Families Citing this family (29)
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 |
US9665371B2 (en) * | 2011-11-30 | 2017-05-30 | Intel Corporation | Providing vector horizontal compare functionality within a vector register |
CN104025024B (zh) * | 2011-12-22 | 2018-07-17 | 英特尔公司 | 打包数据操作掩码移位处理器、方法及系统 |
CN107025093B (zh) | 2011-12-23 | 2019-07-09 | 英特尔公司 | 用于指令处理的装置、用于处理指令的方法和机器可读介质 |
WO2013095607A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction execution unit that broadcasts data values at different levels of granularity |
US9443279B2 (en) * | 2011-12-26 | 2016-09-13 | Intel Corporation | Direct link synchronization communication between co-processors |
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 |
WO2017182063A1 (en) * | 2016-04-19 | 2017-10-26 | Huawei Technologies Co., Ltd. | Vector processing for segmentation hash values calculation |
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 | 龙芯中科技术有限公司 | 常量获取方法、装置、处理器及计算机可读存储介质 |
EP3619810A4 (en) * | 2017-07-31 | 2020-12-23 | Hewlett-Packard Development Company, L.P. | XOR PROCESSING OF VOXELS OF THREE-DIMENSIONAL MODELS |
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 |
CN116055278B (zh) * | 2022-12-30 | 2024-10-18 | 中国科学院计算技术研究所 | 一种基于可配置非标准浮点数据的5g通信内接收机 |
US12086596B2 (en) * | 2023-02-06 | 2024-09-10 | Intel Corporation | Instructions for accelerating Keccak execution in a processor |
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 |
CN1326033C (zh) | 1994-12-02 | 2007-07-11 | 英特尔公司 | 可以对复合操作数进行压缩操作的微处理器 |
WO1997002546A1 (fr) * | 1995-07-03 | 1997-01-23 | Tsuneo Ikedo | Circuit graphique pour ordinateur |
CN101794213B (zh) | 1995-08-31 | 2014-09-17 | 英特尔公司 | 控制移位分组数据的位校正的装置 |
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 |
JP4084801B2 (ja) * | 2002-10-11 | 2008-04-30 | 富士通株式会社 | 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 |
WO2009140142A1 (en) | 2008-05-12 | 2009-11-19 | Sandbridge Technologies, Inc. | 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 |
EP2382101A1 (en) | 2009-01-28 | 2011-11-02 | NV Bekaert SA | Crimped flat wire as core of oval cord |
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 GB GB1119720.9A patent/GB2483575B/en active Active
- 2010-10-29 WO PCT/US2010/054754 patent/WO2011084214A2/en active Application Filing
- 2010-10-29 DE DE112010004887T patent/DE112010004887T5/de active Pending
- 2010-10-29 GB GB1715480.8A patent/GB2552117B/en active Active
- 2010-10-29 KR KR1020127012770A patent/KR101411064B1/ko active IP Right Grant
- 2010-10-29 JP JP2012516393A patent/JP5567668B2/ja active Active
- 2010-11-08 TW TW099138315A patent/TWI531969B/zh 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-12-15 CN CN201410855924.XA patent/CN104598203B/zh active Active
- 2010-12-15 CN CN201510098245.7A patent/CN104699459B/zh active Active
- 2010-12-15 CN CN201410857443.2A patent/CN104699456B/zh active Active
- 2010-12-15 CN CN201010601696.5A patent/CN102103487B/zh active Active
- 2010-12-15 CN CN201510098293.6A patent/CN104679478B/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
-
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/557,360 patent/US9495166B2/en active Active
- 2014-12-01 US US14/556,931 patent/US9495165B2/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 |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130925 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131002 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131202 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140425 |
|
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: 20140520 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5567668 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |