LT3532921T - Slankiojo kablelio vektorinio palyginimo komanda su pasirenkamomis parinktimis - Google Patents

Slankiojo kablelio vektorinio palyginimo komanda su pasirenkamomis parinktimis

Info

Publication number
LT3532921T
LT3532921T LTEP17791010.6T LT17791010T LT3532921T LT 3532921 T LT3532921 T LT 3532921T LT 17791010 T LT17791010 T LT 17791010T LT 3532921 T LT3532921 T LT 3532921T
Authority
LT
Lithuania
Prior art keywords
floating point
selectable options
point vector
comparison instruction
vector comparison
Prior art date
Application number
LTEP17791010.6T
Other languages
English (en)
Inventor
Jonathan Bradbury
Eric Schwarz
Silvia Mueller
Michael Gschwind
Brett Olsson
Original Assignee
International Business Machines Corporation
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 International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of LT3532921T publication Critical patent/LT3532921T/lt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/49926Division by zero
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49957Implementation of IEEE-754 Standard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30029Logical and Boolean instructions, e.g. XOR, NOT

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (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)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
LTEP17791010.6T 2016-10-27 2017-10-17 Slankiojo kablelio vektorinio palyginimo komanda su pasirenkamomis parinktimis LT3532921T (lt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/335,914 US9785435B1 (en) 2016-10-27 2016-10-27 Floating point instruction with selectable comparison attributes
PCT/EP2017/076493 WO2018077671A1 (en) 2016-10-27 2017-10-17 Floating point vector comparison instruction with selectable options

Publications (1)

Publication Number Publication Date
LT3532921T true LT3532921T (lt) 2021-04-12

Family

ID=59982134

Family Applications (1)

Application Number Title Priority Date Filing Date
LTEP17791010.6T LT3532921T (lt) 2016-10-27 2017-10-17 Slankiojo kablelio vektorinio palyginimo komanda su pasirenkamomis parinktimis

Country Status (13)

Country Link
US (1) US9785435B1 (lt)
EP (1) EP3532921B1 (lt)
JP (1) JP6916874B2 (lt)
KR (1) KR102202149B1 (lt)
CN (1) CN109891387B (lt)
DK (1) DK3532921T3 (lt)
LT (1) LT3532921T (lt)
PT (1) PT3532921T (lt)
RU (1) RU2729452C1 (lt)
SI (1) SI3532921T1 (lt)
TW (1) TWI656477B (lt)
WO (1) WO2018077671A1 (lt)
ZA (1) ZA201903112B (lt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI693550B (zh) * 2018-12-06 2020-05-11 中華電信股份有限公司 支援虛擬機多磁碟架構的備份方法
US11023205B2 (en) * 2019-02-15 2021-06-01 International Business Machines Corporation Negative zero control in instruction execution
GB2605568B (en) * 2021-03-23 2023-05-17 Imagination Tech Ltd Performing operations using floating point values
US11797270B2 (en) * 2021-06-17 2023-10-24 International Business Machines Corporation Single function to perform multiple operations with distinct operation parameter validation
US20230072105A1 (en) * 2021-08-31 2023-03-09 Intel Corporation Bfloat16 comparison instructions
US20230060146A1 (en) * 2021-08-31 2023-03-02 Intel Corporation Bfloat16 classification and manipulation instructions
EP4318225A1 (en) * 2022-08-03 2024-02-07 Intel Corporation 8-bit floating point classification and manipulation instructions

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4683546A (en) * 1984-01-03 1987-07-28 Motorola, Inc. Floating point condition code generation
JPH0338724A (ja) * 1989-07-06 1991-02-19 Fujitsu Ltd 複数の浮動小数点形式の演算を行う情報処理装置
US5696709A (en) * 1995-03-31 1997-12-09 International Business Machines Corporation Program controlled rounding modes
US6085208A (en) * 1997-10-23 2000-07-04 Advanced Micro Devices, Inc. Leading one prediction unit for normalizing close path subtraction results within a floating point arithmetic unit
US6298367B1 (en) 1998-04-06 2001-10-02 Advanced Micro Devices, Inc. Floating point addition pipeline including extreme value, comparison and accumulate functions
US6408376B1 (en) * 1999-10-25 2002-06-18 Intel Corporation Method and apparatus for instruction set architecture to perform primary and shadow digital signal processing sub-instructions simultaneously
US6844880B1 (en) * 1999-12-06 2005-01-18 Nvidia Corporation System, method and computer program product for an improved programmable vertex processing model with instruction set
US7228324B2 (en) * 2001-05-25 2007-06-05 Sun Microsystems, Inc. Circuit for selectively providing maximum or minimum of a pair of floating point operands
US7529912B2 (en) * 2002-02-12 2009-05-05 Via Technologies, Inc. Apparatus and method for instruction-level specification of floating point format
US7219337B2 (en) * 2003-03-06 2007-05-15 Northrop Grumman Corporation Direct instructions rendering emulation computer technique
US8051118B2 (en) * 2007-04-26 2011-11-01 International Business Machines Corporation Composition of decimal floating point data
US8327120B2 (en) * 2007-12-29 2012-12-04 Intel Corporation Instructions with floating point control override
US9335993B2 (en) * 2011-12-29 2016-05-10 International Business Machines Corporation Convert from zoned format to decimal floating point format
US9588762B2 (en) * 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9411589B2 (en) * 2012-12-11 2016-08-09 International Business Machines Corporation Branch-free condition evaluation
US9715385B2 (en) * 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
RU2609745C2 (ru) * 2014-05-28 2017-02-02 Общество с ограниченной ответственностью "ПАВЛИН Технологии" Способ осуществления операции скалярного умножения произвольного вектора на загружаемый в устройство векторный коэффициент и опционального сложения со скалярным коэффициентом
US9916130B2 (en) 2014-11-03 2018-03-13 Arm Limited Apparatus and method for vector processing

Also Published As

Publication number Publication date
EP3532921B1 (en) 2021-02-24
WO2018077671A1 (en) 2018-05-03
TW201820119A (zh) 2018-06-01
SI3532921T1 (sl) 2021-04-30
JP2020504345A (ja) 2020-02-06
KR102202149B1 (ko) 2021-01-14
JP6916874B2 (ja) 2021-08-11
RU2729452C1 (ru) 2020-08-06
TWI656477B (zh) 2019-04-11
ZA201903112B (en) 2021-04-28
PT3532921T (pt) 2021-03-30
EP3532921A1 (en) 2019-09-04
KR20190061056A (ko) 2019-06-04
CN109891387B (zh) 2023-03-21
US9785435B1 (en) 2017-10-10
DK3532921T3 (da) 2021-03-29
CN109891387A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
GB2549809C (en) Vector
IL264683B (en) Vector multiplication instruction
ZA201903112B (en) Floating point vector comparison instruction with selectable options
GB201403684D0 (en) Vector
GB201614093D0 (en) Vector
GB201717299D0 (en) Instruction set
GB201509578D0 (en) Vectors
IL261311B (en) Vector validation instruction
IL257899B (en) Vector load instruction
IL256663B (en) Vector Arithmetic Instruction
IL251968A0 (en) floating vessel
HK1252709A1 (zh) 水上摩托艇
AP00949S1 (en) Impeller
IL274178A (en) Add-with-carry vector instruction
IL256440B (en) Array operand bit size control
IL267038B (en) instruction generates a vector
IL256403B (en) Array length query directive
GB201705927D0 (en) Vector
GB2539068B (en) Impeller
GB2555374B (en) Impeller
GB201604571D0 (en) Impeller
GB201620042D0 (en) Floating vessel
GB201608163D0 (en) Vector
GB201609978D0 (en) Expression vector