JP2014182800A - データ要素内のビットをゼロ化するためのシステム、装置、および方法 - Google Patents
データ要素内のビットをゼロ化するためのシステム、装置、および方法 Download PDFInfo
- Publication number
- JP2014182800A JP2014182800A JP2014032531A JP2014032531A JP2014182800A JP 2014182800 A JP2014182800 A JP 2014182800A JP 2014032531 A JP2014032531 A JP 2014032531A JP 2014032531 A JP2014032531 A JP 2014032531A JP 2014182800 A JP2014182800 A JP 2014182800A
- Authority
- JP
- Japan
- Prior art keywords
- operand
- data element
- source
- instruction
- bits
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 239000013598 vector Substances 0.000 claims abstract description 92
- 230000015654 memory Effects 0.000 claims description 67
- 238000012545 processing Methods 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 25
- 230000000873 masking effect Effects 0.000 description 20
- 238000007667 floating Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 101100285899 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SSE2 gene Proteins 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program 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
- 238000011156 evaluation Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/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/30098—Register arrangements
-
- 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/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
【解決手段】VPBZHIの実行が第2のソースのデータ要素ごとに基づき、データ要素内の開始点よりも高い(より上位の)ビットのゼロ化を引き起こす。開始点は第1のソース内のデータ要素の内容により定義される。結果として得られたデータ要素はデスティネーションの対応するデータ要素ポジションに格納される。
【選択図】図1
Description
Claims (20)
- 指定されたビットポジションで開始するベクトルパックドゼロ上位ビット命令(VPBZHI命令)をデコードするデコードロジックであって、前記VPBZHI命令は第1および第2のソースオペランドおよびデスティネーションオペランドを含む、デコードロジックと、
実行ロジックであって、
前記第1のソースオペランドの各データ要素ポジションに関して、開始ビットポジションのデータ要素で始まる前記第2のソースオペランドの値をゼロ設定するための前記開始ビットポジションの決定と、
前記第2のソースオペランドの各対応するデータ要素ポジションに関して、前記第1のソースオペランドの対応するデータ要素ポジションの前記開始ビットポジションよりも上位であるかまたは等しいビットポジションにあるビットのゼロ化と、
任意のゼロ化後に対応するデータ要素ポジション内へ前記第2のソースオペランドの前記デスティネーションオペランドの値を格納することと、
を引き起こすデコードされた前記VPBZHI命令を実行する実行ロジックと、
を備える装置。 - 前記第1および第2のソースオペランド、並びに前記デスティネーションオペランドはパックドデータレジスタである、請求項1に記載の装置。
- 前記パックドデータレジスタのサイズは128ビット、256ビット、または512ビットである、請求項2に記載の装置。
- 前記命令はライトマスクオペランドをさらに含む、請求項1から3のいずれか1項に記載の装置。
- 前記デスティネーションレジスタ内のストレージは前記ライトマスクオペランドの値の対象である、請求項4に記載の装置。
- 前記ライトマスクオペランド内のアクティブビット数は前記第1および第2のソースオペランド内のデータ要素の数に等しい、請求項4または5に記載の装置。
- 前記第1のソースオペランドおよび前記デスティネーションオペランドはパックドデータレジスタであり、前記第2のソースオペランドはメモリロケーションである、請求項1から6のいずれか1項に記載の装置。
- コンピュータプロセッサ内で、指定されたビットポジションで開始するベクトルパックドゼロ上位ビット命令(VPBZHI命令)を実行する方法であって、
前記VPBZHI命令は第1および第2のソースオペランドおよびデスティネーションオペランドを含み、
前記第1のソースオペランドの各データ要素ポジションに関して、開始ビットポジションのデータ要素で始まる前記第2のソースオペランドの値をゼロ設定するための前記開始ビットポジションを決定する段階と、
前記第2のソースオペランドの各対応するデータ要素ポジションに関して、前記第1のソースオペランドの対応するデータ要素ポジションの前記開始ビットポジションよりも上位であるかまたは等しいビットポジション内にあるビットをゼロ化する段階と、
任意のゼロ化後に対応するデータ要素ポジション内へ前記第2のソースオペランドの前記デスティネーションオペランドの値を格納する段階と、
を備える方法。 - 前記第1および第2ソースオペランド、並びに前記デスティネーションオペランドはパックドデータレジスタである、請求項8に記載の方法。
- 前記パックドデータレジスタのサイズは128ビット、256ビット、または512ビットである、請求項9に記載の方法。
- 前記命令はライトマスクオペランドをさらに含む、請求項8から10のいずれか1項に記載の方法。
- 前記デスティネーションレジスタ内のストレージは前記ライトマスクオペランドの値の対象である、請求項11に記載の方法。
- 前記ライトマスクオペランド内のアクティブビット数は前記第1および第2のソースオペランド内のデータ要素の数に等しい、請求項11または12に記載の方法。
- 前記第1のソースオペランドおよび前記デスティネーションオペランドはパックドデータレジスタであり、前記第2のソースオペランドはメモリロケーションである、請求項8から13のいずれか1項に記載の方法。
- 指定されたビットポジションで開始するベクトルパックドゼロ上位ビット命令(VPBZHI命令)を実行するための方法をプロセッサに実行させるためのプログラムであって、
前記VPBZHI命令は第1および第2のソースオペランドおよびデスティネーションオペランドを含み、
前記方法は、
前記第1のソースオペランドの各データ要素ポジションに関して、開始ビットポジションのデータ要素で始まる前記第2のソースオペランドの値をゼロ設定するための前記開始ビットポジションを決定する段階と、
前記第2のソースオペランドの各対応するデータ要素ポジションに関して、前記第1のソースオペランドの対応するデータ要素ポジションの前記開始ビットポジションよりも上位であるかまたは等しいビットポジション内にあるビットをゼロ化する段階と、
任意のゼロ化後に対応するデータ要素ポジション内へ前記第2のソースオペランドの前記デスティネーションオペランドの値を格納する段階と、
を備える、プログラム。 - 前記第1および第2のソースオペランド、並びに前記デスティネーションオペランドはパックドデータレジスタである、請求項15に記載のプログラム。
- 前記パックドデータレジスタのサイズは128ビット、256ビット、または512ビットである、請求項16に記載のプログラム。
- 前記命令はライトマスクオペランドをさらに含む、請求項17に記載のプログラム。
- 前記デスティネーションレジスタ内のストレージは前記ライトマスクオペランドの値の対象である、請求項18に記載のプログラム。
- 前記第1のソースオペランドおよび前記デスティネーションオペランドはパックドデータレジスタであり、前記第2のソースオペランドはメモリロケーションである、請求項15から19のいずれか1項に記載のプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/840,669 | 2013-03-15 | ||
US13/840,669 US9207942B2 (en) | 2013-03-15 | 2013-03-15 | Systems, apparatuses,and methods for zeroing of bits in a data element |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014182800A true JP2014182800A (ja) | 2014-09-29 |
JP5753603B2 JP5753603B2 (ja) | 2015-07-22 |
Family
ID=50634779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014032531A Expired - Fee Related JP5753603B2 (ja) | 2013-03-15 | 2014-02-24 | データ要素内のビットをゼロ化するためのシステム、装置、および方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9207942B2 (ja) |
JP (1) | JP5753603B2 (ja) |
KR (1) | KR101635856B1 (ja) |
CN (1) | CN104133660A (ja) |
DE (1) | DE102014003697A1 (ja) |
GB (1) | GB2514885B (ja) |
IN (1) | IN2014CH00953A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230027561A (ko) * | 2021-08-19 | 2023-02-28 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 메모리 제로화 방법 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS512771B1 (ja) * | 1968-08-01 | 1976-01-28 | ||
JPS6188338A (ja) * | 1984-07-09 | 1986-05-06 | アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド | 単一チツプの32ビツト拡張機能算術・論理ユニツト |
JPS61103241A (ja) * | 1984-10-27 | 1986-05-21 | Nec Corp | 情報処理装置 |
JPH02299082A (ja) * | 1989-05-12 | 1990-12-11 | Fujitsu Ltd | 可変長データを処理するプロセッサ |
JPH05100854A (ja) * | 1990-05-02 | 1993-04-23 | Motorola Inc | Riscマイクロプロセツサおよび演算方法 |
JP2004013185A (ja) * | 2002-06-03 | 2004-01-15 | Matsushita Electric Ind Co Ltd | プロセッサ |
JP2006127460A (ja) * | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
JP2011134304A (ja) * | 2009-12-22 | 2011-07-07 | Intel Corp | ビット範囲分離命令、方法、および装置 |
US20120185670A1 (en) * | 2011-01-14 | 2012-07-19 | Toll Bret L | Scalar integer instructions capable of execution with three registers |
US20120254593A1 (en) * | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | Systems, apparatuses, and methods for jumps using a mask register |
WO2012134532A1 (en) * | 2011-04-01 | 2012-10-04 | Intel Corporation | Vector friendly instruction format and execution thereof |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5268858A (en) * | 1991-08-30 | 1993-12-07 | Cyrix Corporation | Method and apparatus for negating an operand |
US5207132A (en) | 1991-10-16 | 1993-05-04 | Textron Inc. | Elliptical lobed drive system |
US5446912A (en) | 1993-09-30 | 1995-08-29 | Intel Corporation | Partial width stalls within register alias table |
US6128725A (en) * | 1997-01-24 | 2000-10-03 | Texas Instruments Incorporated | Microprocessor with an instruction for setting or clearing a bit field |
US20040054877A1 (en) * | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US8417921B2 (en) * | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US20120078597A1 (en) * | 2010-09-27 | 2012-03-29 | Infosys Technologies Limited | Mobile device with a modeling platform |
US9411592B2 (en) * | 2012-12-29 | 2016-08-09 | Intel Corporation | Vector address conflict resolution with vector population count functionality |
-
2013
- 2013-03-15 US US13/840,669 patent/US9207942B2/en active Active
-
2014
- 2014-02-24 JP JP2014032531A patent/JP5753603B2/ja not_active Expired - Fee Related
- 2014-02-25 IN IN953CH2014 patent/IN2014CH00953A/en unknown
- 2014-03-13 DE DE102014003697.9A patent/DE102014003697A1/de active Pending
- 2014-03-14 GB GB1404575.1A patent/GB2514885B/en active Active
- 2014-03-14 CN CN201410097122.7A patent/CN104133660A/zh active Pending
- 2014-03-14 KR KR1020140030655A patent/KR101635856B1/ko active IP Right Grant
-
2015
- 2015-12-08 US US14/962,246 patent/US20160092226A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS512771B1 (ja) * | 1968-08-01 | 1976-01-28 | ||
JPS6188338A (ja) * | 1984-07-09 | 1986-05-06 | アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド | 単一チツプの32ビツト拡張機能算術・論理ユニツト |
US4785393A (en) * | 1984-07-09 | 1988-11-15 | Advanced Micro Devices, Inc. | 32-Bit extended function arithmetic-logic unit on a single chip |
JPS61103241A (ja) * | 1984-10-27 | 1986-05-21 | Nec Corp | 情報処理装置 |
JPH02299082A (ja) * | 1989-05-12 | 1990-12-11 | Fujitsu Ltd | 可変長データを処理するプロセッサ |
JPH05100854A (ja) * | 1990-05-02 | 1993-04-23 | Motorola Inc | Riscマイクロプロセツサおよび演算方法 |
JP2004013185A (ja) * | 2002-06-03 | 2004-01-15 | Matsushita Electric Ind Co Ltd | プロセッサ |
JP2006127460A (ja) * | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
JP2011134304A (ja) * | 2009-12-22 | 2011-07-07 | Intel Corp | ビット範囲分離命令、方法、および装置 |
US20120185670A1 (en) * | 2011-01-14 | 2012-07-19 | Toll Bret L | Scalar integer instructions capable of execution with three registers |
US20120254593A1 (en) * | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | Systems, apparatuses, and methods for jumps using a mask register |
WO2012134532A1 (en) * | 2011-04-01 | 2012-10-04 | Intel Corporation | Vector friendly instruction format and execution thereof |
Non-Patent Citations (1)
Title |
---|
JPN6014051281; Freescale Semiconductor, Inc.: 'AltiVec Technology Programming Environments Manual ALTIVECPEM Rev.3' [online] , 200604, Pages:6-135, 6-137, 6-139, 6-151, www.freescale.com * |
Also Published As
Publication number | Publication date |
---|---|
US20140281400A1 (en) | 2014-09-18 |
KR20140113579A (ko) | 2014-09-24 |
US9207942B2 (en) | 2015-12-08 |
DE102014003697A1 (de) | 2014-09-18 |
KR101635856B1 (ko) | 2016-07-05 |
JP5753603B2 (ja) | 2015-07-22 |
US20160092226A1 (en) | 2016-03-31 |
IN2014CH00953A (ja) | 2015-05-08 |
GB201404575D0 (en) | 2014-04-30 |
GB2514885B (en) | 2015-10-28 |
GB2514885A (en) | 2014-12-10 |
CN104133660A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6351682B2 (ja) | 装置および方法 | |
JP6207095B2 (ja) | 条件付きループをベクトル化する命令及び論理 | |
JP6466388B2 (ja) | 方法及び装置 | |
CN107918546B (zh) | 利用经掩码的全寄存器访问实现部分寄存器访问的处理器、方法和系统 | |
US10387148B2 (en) | Apparatus and method to reverse and permute bits in a mask register | |
JP2018504667A (ja) | ベクトルパックドタプル相互比較機能を提供する方法、装置、命令、およびロジック | |
JP2017509064A (ja) | マスクド結果要素に伝搬する対応アンマスクド結果要素にソース要素を記憶するプロセッサ、方法、システム、及び命令 | |
JP2014182796A (ja) | 書き込みマスク・レジスタの末尾の最下位マスキング・ビットを判定するためのシステム、装置、および方法 | |
EP2889755A2 (en) | Systems, apparatuses, and methods for expand and compress | |
JP2017534982A (ja) | 4d座標から4dのz曲線インデックスを計算するための機械レベル命令 | |
US10545757B2 (en) | Instruction for determining equality of all packed data elements in a source operand | |
JP5798650B2 (ja) | 短整数の乗算の数を減らすためのシステム、装置、および方法 | |
JP5753603B2 (ja) | データ要素内のビットをゼロ化するためのシステム、装置、および方法 | |
EP2889756A1 (en) | Systems, apparatuses, and methods for vector bit test |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150309 |
|
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: 20150324 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150422 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150522 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5753603 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 |
|
LAPS | Cancellation because of no payment of annual fees |