JP4921665B2 - プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み - Google Patents

プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み Download PDF

Info

Publication number
JP4921665B2
JP4921665B2 JP2001525517A JP2001525517A JP4921665B2 JP 4921665 B2 JP4921665 B2 JP 4921665B2 JP 2001525517 A JP2001525517 A JP 2001525517A JP 2001525517 A JP2001525517 A JP 2001525517A JP 4921665 B2 JP4921665 B2 JP 4921665B2
Authority
JP
Japan
Prior art keywords
data element
currently selected
data
packed
storage location
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.)
Expired - Lifetime
Application number
JP2001525517A
Other languages
English (en)
Japanese (ja)
Other versions
JP2003510682A5 (enExample
JP2003510682A (ja
Inventor
ドュロン,カロル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2003510682A publication Critical patent/JP2003510682A/ja
Publication of JP2003510682A5 publication Critical patent/JP2003510682A5/ja
Application granted granted Critical
Publication of JP4921665B2 publication Critical patent/JP4921665B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag

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)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
JP2001525517A 1999-09-20 2000-08-29 プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み Expired - Lifetime JP4921665B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/399,612 1999-09-20
US09/399,612 US6484255B1 (en) 1999-09-20 1999-09-20 Selective writing of data elements from packed data based upon a mask using predication
PCT/US2000/023721 WO2001022216A1 (en) 1999-09-20 2000-08-29 Selective writing of data elements from packed data based upon a mask using predication

Publications (3)

Publication Number Publication Date
JP2003510682A JP2003510682A (ja) 2003-03-18
JP2003510682A5 JP2003510682A5 (enExample) 2010-11-18
JP4921665B2 true JP4921665B2 (ja) 2012-04-25

Family

ID=23580223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001525517A Expired - Lifetime JP4921665B2 (ja) 1999-09-20 2000-08-29 プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み

Country Status (8)

Country Link
US (2) US6484255B1 (enExample)
JP (1) JP4921665B2 (enExample)
CN (1) CN100440138C (enExample)
AU (1) AU6945400A (enExample)
DE (1) DE10085391T1 (enExample)
GB (1) GB2371135B (enExample)
HK (1) HK1044202B (enExample)
WO (1) WO2001022216A1 (enExample)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484255B1 (en) 1999-09-20 2002-11-19 Intel Corporation Selective writing of data elements from packed data based upon a mask using predication
JP3964593B2 (ja) * 2000-02-24 2007-08-22 富士通株式会社 半導体記憶装置
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
US7861071B2 (en) * 2001-06-11 2010-12-28 Broadcom Corporation Conditional branch instruction capable of testing a plurality of indicators in a predicate register
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US20040054877A1 (en) * 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7818356B2 (en) 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
JP3773195B2 (ja) * 2002-10-25 2006-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリモジュール、情報処理装置、メモリモジュールに関する初期設定方法、並びにプログラム
US7275149B1 (en) * 2003-03-25 2007-09-25 Verisilicon Holdings (Cayman Islands) Co. Ltd. System and method for evaluating and efficiently executing conditional instructions
US7395531B2 (en) 2004-06-07 2008-07-01 International Business Machines Corporation Framework for efficient code generation using loop peeling for SIMD loop code with multiple misaligned statements
US7478377B2 (en) 2004-06-07 2009-01-13 International Business Machines Corporation SIMD code generation in the presence of optimized misaligned data reorganization
US7367026B2 (en) * 2004-06-07 2008-04-29 International Business Machines Corporation Framework for integrated intra- and inter-loop aggregation of contiguous memory accesses for SIMD vectorization
US7475392B2 (en) * 2004-06-07 2009-01-06 International Business Machines Corporation SIMD code generation for loops with mixed data lengths
US8549501B2 (en) 2004-06-07 2013-10-01 International Business Machines Corporation Framework for generating mixed-mode operations in loop-level simdization
US7386842B2 (en) * 2004-06-07 2008-06-10 International Business Machines Corporation Efficient data reorganization to satisfy data alignment constraints
US7480787B1 (en) * 2006-01-27 2009-01-20 Sun Microsystems, Inc. Method and structure for pipelining of SIMD conditional moves
US8156310B2 (en) * 2006-09-11 2012-04-10 International Business Machines Corporation Method and apparatus for data stream alignment support
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
US8006114B2 (en) * 2007-03-09 2011-08-23 Analog Devices, Inc. Software programmable timing architecture
US9529592B2 (en) 2007-12-27 2016-12-27 Intel Corporation Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation
US8078836B2 (en) 2007-12-30 2011-12-13 Intel Corporation Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits
JP5930558B2 (ja) * 2011-09-26 2016-06-08 インテル・コーポレーション ストライド機能及びマスク機能を有するベクトルロード及びベクトルストアを提供する命令及びロジック
US10203954B2 (en) * 2011-11-25 2019-02-12 Intel Corporation Instruction and logic to provide conversions between a mask register and a general purpose register or memory
CN107220027A (zh) * 2011-12-23 2017-09-29 英特尔公司 用于执行掩码位压缩的系统、装置以及方法
WO2013095642A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Systems, apparatuses, and methods for setting an output mask in a destination writemask register from a source write mask register using an input writemask and immediate
CN104185837B (zh) * 2011-12-23 2017-10-13 英特尔公司 在不同的粒度等级下广播数据值的指令执行单元
CN116414459A (zh) 2011-12-23 2023-07-11 英特尔公司 在不同的粒度水平下对数据值进行广播和掩码的指令执行
CN104025019B (zh) * 2011-12-23 2018-01-05 英特尔公司 用于执行双块绝对差求和的系统、装置和方法
CN104011652B (zh) * 2011-12-30 2017-10-27 英特尔公司 打包选择处理器、方法、系统和指令
US9218182B2 (en) * 2012-06-29 2015-12-22 Intel Corporation Systems, apparatuses, and methods for performing a shuffle and operation (shuffle-op)
US9304771B2 (en) * 2013-02-13 2016-04-05 International Business Machines Corporation Indirect instruction predication
US9990202B2 (en) * 2013-06-28 2018-06-05 Intel Corporation Packed data element predication processors, methods, systems, and instructions
US9612840B2 (en) * 2014-03-28 2017-04-04 Intel Corporation Method and apparatus for implementing a dynamic out-of-order processor pipeline
US10133570B2 (en) * 2014-09-19 2018-11-20 Intel Corporation Processors, methods, systems, and instructions to select and consolidate active data elements in a register under mask into a least significant portion of result, and to indicate a number of data elements consolidated
CN115904508B (zh) * 2023-01-06 2023-05-05 北京微核芯科技有限公司 乱序处理器中队列的队列项选择方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6059469A (ja) * 1983-09-09 1985-04-05 Nec Corp ベクトル処理装置
JPH02204861A (ja) * 1989-02-02 1990-08-14 Nec Corp ベクトルデータ処理装置
JPH09198231A (ja) * 1996-01-22 1997-07-31 Nec Corp 演算処理装置
JPH1153189A (ja) * 1997-07-31 1999-02-26 Toshiba Corp 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体
JP2002512398A (ja) * 1998-04-23 2002-04-23 インフィニオン テクノロジーズ ノース アメリカ コーポレイション パックデータ上でシフト演算を実行するための方法および装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4141005A (en) * 1976-11-11 1979-02-20 International Business Machines Corporation Data format converting apparatus for use in a digital data processor
US4217638A (en) * 1977-05-19 1980-08-12 Tokyo Shibaura Electric Co., Ltd. Data-processing apparatus and method
JPS59135548A (ja) 1983-01-22 1984-08-03 Toshiba Corp 演算装置
JPS6089274A (ja) * 1983-10-20 1985-05-20 Nec Corp ベクトルマスク制御システム
US5249266A (en) * 1985-10-22 1993-09-28 Texas Instruments Incorporated Data processing apparatus with self-emulation capability
US5423010A (en) * 1992-01-24 1995-06-06 C-Cube Microsystems Structure and method for packing and unpacking a stream of N-bit data to and from a stream of N-bit data words
JPH05250254A (ja) * 1992-03-04 1993-09-28 Nec Corp 記憶回路
US5467413A (en) * 1993-05-20 1995-11-14 Radius Inc. Method and apparatus for vector quantization for real-time playback on low cost personal computers
US5630075A (en) * 1993-12-30 1997-05-13 Intel Corporation Write combining buffer for sequentially addressed partial line operations originating from a single instruction
US5751982A (en) * 1995-03-31 1998-05-12 Apple Computer, Inc. Software emulation system with dynamic translation of emulated instructions for increased processing speed
US5680332A (en) 1995-10-30 1997-10-21 Motorola, Inc. Measurement of digital circuit simulation test coverage utilizing BDDs and state bins
US5784607A (en) * 1996-03-29 1998-07-21 Integrated Device Technology, Inc. Apparatus and method for exception handling during micro code string instructions
US5996066A (en) * 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
US5991531A (en) * 1997-02-24 1999-11-23 Samsung Electronics Co., Ltd. Scalable width vector processor architecture for efficient emulation
US6052769A (en) * 1998-03-31 2000-04-18 Intel Corporation Method and apparatus for moving select non-contiguous bytes of packed data in a single instruction
US6173393B1 (en) * 1998-03-31 2001-01-09 Intel Corporation System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data
US6067617A (en) 1998-04-07 2000-05-23 International Business Machines Corporation Specialized millicode instructions for packed decimal division
EP0967544B1 (en) 1998-06-25 2006-04-19 Texas Instruments Incorporated Digital signal processor for data having a large bit-length
US20020002666A1 (en) * 1998-10-12 2002-01-03 Carole Dulong Conditional operand selection using mask operations
US6484255B1 (en) * 1999-09-20 2002-11-19 Intel Corporation Selective writing of data elements from packed data based upon a mask using predication
US7480787B1 (en) * 2006-01-27 2009-01-20 Sun Microsystems, Inc. Method and structure for pipelining of SIMD conditional moves
US9529592B2 (en) * 2007-12-27 2016-12-27 Intel Corporation Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6059469A (ja) * 1983-09-09 1985-04-05 Nec Corp ベクトル処理装置
JPH02204861A (ja) * 1989-02-02 1990-08-14 Nec Corp ベクトルデータ処理装置
JPH09198231A (ja) * 1996-01-22 1997-07-31 Nec Corp 演算処理装置
JPH1153189A (ja) * 1997-07-31 1999-02-26 Toshiba Corp 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体
JP2002512398A (ja) * 1998-04-23 2002-04-23 インフィニオン テクノロジーズ ノース アメリカ コーポレイション パックデータ上でシフト演算を実行するための方法および装置

Also Published As

Publication number Publication date
US6484255B1 (en) 2002-11-19
GB0208629D0 (en) 2002-05-22
HK1044202A1 (en) 2002-10-11
DE10085391T1 (de) 2002-12-12
GB2371135A (en) 2002-07-17
AU6945400A (en) 2001-04-24
CN100440138C (zh) 2008-12-03
JP2003510682A (ja) 2003-03-18
GB2371135B (en) 2004-03-31
HK1044202B (zh) 2004-12-03
CN1391668A (zh) 2003-01-15
WO2001022216A1 (en) 2001-03-29
US20030046520A1 (en) 2003-03-06

Similar Documents

Publication Publication Date Title
JP4921665B2 (ja) プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
JP6408524B2 (ja) 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
US6356994B1 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
TWI270007B (en) Method and apparatus for shuffling data
TWI251750B (en) An apparatus and method for selectable hardware accelerators in a data driven architecture
TWI486810B (zh) 在狀態機晶格中之計數器操作
US20140129802A1 (en) Methods, apparatus, and instructions for processing vector data
JP4986431B2 (ja) プロセッサ
JP2016103280A (ja) 複数の試験ソースに対するor試験及びand試験機能を提供するために命令をフュージングする方法及び装置
JP2001202245A (ja) 改良式命令セットアーキテクチャを有するマイクロプロセッサ
CN101916180A (zh) Risc处理器中执行寄存器类型指令的方法和其系统
CN107003845B (zh) 用于在掩码寄存器和向量寄存器之间可变地扩展的方法和装置
JP5607832B2 (ja) 汎用論理演算の方法および装置
JP2015530674A (ja) コンフリクト検出を実行し、レジスタの複数のコンテンツを別のレジスタの複数のデータ要素位置にブロードキャストするための複数のシステム、複数の装置及び複数の方法
CN103718157B (zh) 使用掩码寄存器跳转的系统、装置和方法
CN116438512B (zh) 具有集成特定领域加速器的处理系统
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
JP3756409B2 (ja) データハザード検出システム
TWI733718B (zh) 用於獲得偶數和奇數資料元素的系統、裝置及方法
JP2014182796A (ja) 書き込みマスク・レジスタの末尾の最下位マスキング・ビットを判定するためのシステム、装置、および方法
US7047396B1 (en) Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
US6314505B1 (en) Processor and method for accessing rectangular areas in memory
JP3756411B2 (ja) データハザードを検出するシステム
US7757066B2 (en) System and method for executing variable latency load operations in a date processor

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100901

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111129

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: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120203

R150 Certificate of patent or registration of utility model

Ref document number: 4921665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

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

EXPY Cancellation because of completion of term