GB2367650B - Single instruction multiple data processing - Google Patents

Single instruction multiple data processing

Info

Publication number
GB2367650B
GB2367650B GB0024311A GB0024311A GB2367650B GB 2367650 B GB2367650 B GB 2367650B GB 0024311 A GB0024311 A GB 0024311A GB 0024311 A GB0024311 A GB 0024311A GB 2367650 B GB2367650 B GB 2367650B
Authority
GB
United Kingdom
Prior art keywords
data processing
multiple data
single instruction
instruction multiple
processing
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
GB0024311A
Other languages
English (en)
Other versions
GB2367650A (en
GB0024311D0 (en
Inventor
Dominic Hugo Symes
David James Seal
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Priority to GB0024311A priority Critical patent/GB2367650B/en
Publication of GB0024311D0 publication Critical patent/GB0024311D0/en
Priority to GB0030533A priority patent/GB2367659A/en
Priority to EP01960902.3A priority patent/EP1323031B1/en
Priority to RU2002124769/09A priority patent/RU2279706C2/ru
Priority to CNB01810648XA priority patent/CN1196998C/zh
Priority to IL15139501A priority patent/IL151395A0/xx
Priority to PCT/GB2001/003744 priority patent/WO2002029553A1/en
Priority to KR1020037004621A priority patent/KR100880614B1/ko
Priority to JP2002533059A priority patent/JP5133491B2/ja
Priority to TW090121381A priority patent/TW548587B/zh
Priority to US09/941,790 priority patent/US6999985B2/en
Priority to US09/957,467 priority patent/US20020065860A1/en
Priority to MYPI20014440A priority patent/MY129332A/en
Publication of GB2367650A publication Critical patent/GB2367650A/en
Priority to IL151395A priority patent/IL151395A/en
Application granted granted Critical
Publication of GB2367650B publication Critical patent/GB2367650B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • 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/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/49931Modulo N reduction of final result

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
GB0024311A 2000-10-04 2000-10-04 Single instruction multiple data processing Expired - Lifetime GB2367650B (en)

Priority Applications (14)

Application Number Priority Date Filing Date Title
GB0024311A GB2367650B (en) 2000-10-04 2000-10-04 Single instruction multiple data processing
GB0030533A GB2367659A (en) 2000-10-04 2000-12-14 SIMD saturation instruction with variable bit length
JP2002533059A JP5133491B2 (ja) 2000-10-04 2001-08-21 単一命令多数データ処理
RU2002124769/09A RU2279706C2 (ru) 2000-10-04 2001-08-21 Обработка с использованием одного потока команд и множества потоков данных
CNB01810648XA CN1196998C (zh) 2000-10-04 2001-08-21 单指令多数据处理
IL15139501A IL151395A0 (en) 2000-10-04 2001-08-21 Single instruction multiple data processing
PCT/GB2001/003744 WO2002029553A1 (en) 2000-10-04 2001-08-21 Single instruction multiple data processing
KR1020037004621A KR100880614B1 (ko) 2000-10-04 2001-08-21 단일 명령어 다중 데이터 처리
EP01960902.3A EP1323031B1 (en) 2000-10-04 2001-08-21 Single instruction multiple data processing
TW090121381A TW548587B (en) 2000-10-04 2001-08-29 Apparatus and method for data processing and computer program product
US09/941,790 US6999985B2 (en) 2000-10-04 2001-08-30 Single instruction multiple data processing
US09/957,467 US20020065860A1 (en) 2000-10-04 2001-09-20 Data processing apparatus and method for saturating data values
MYPI20014440A MY129332A (en) 2000-10-04 2001-09-21 Single instruction multiple data processing
IL151395A IL151395A (en) 2000-10-04 2002-08-21 Single instruction multiple data processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0024311A GB2367650B (en) 2000-10-04 2000-10-04 Single instruction multiple data processing

Publications (3)

Publication Number Publication Date
GB0024311D0 GB0024311D0 (en) 2000-11-15
GB2367650A GB2367650A (en) 2002-04-10
GB2367650B true GB2367650B (en) 2004-10-27

Family

ID=9900674

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0024311A Expired - Lifetime GB2367650B (en) 2000-10-04 2000-10-04 Single instruction multiple data processing

Country Status (11)

Country Link
US (1) US6999985B2 (enExample)
EP (1) EP1323031B1 (enExample)
JP (1) JP5133491B2 (enExample)
KR (1) KR100880614B1 (enExample)
CN (1) CN1196998C (enExample)
GB (1) GB2367650B (enExample)
IL (2) IL151395A0 (enExample)
MY (1) MY129332A (enExample)
RU (1) RU2279706C2 (enExample)
TW (1) TW548587B (enExample)
WO (1) WO2002029553A1 (enExample)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114323A (ja) * 2001-10-04 2003-04-18 Bridgestone Corp 近赤外線吸収フィルム
JP3857614B2 (ja) * 2002-06-03 2006-12-13 松下電器産業株式会社 プロセッサ
US20030231660A1 (en) * 2002-06-14 2003-12-18 Bapiraju Vinnakota Bit-manipulation instructions for packet processing
US8082419B2 (en) 2004-03-30 2011-12-20 Intel Corporation Residual addition for video software techniques
US7584233B2 (en) * 2005-06-28 2009-09-01 Qualcomm Incorporated System and method of counting leading zeros and counting leading ones in a digital signal processor
US7840954B2 (en) * 2005-11-29 2010-11-23 International Business Machines Corporation Compilation for a SIMD RISC processor
US8290095B2 (en) * 2006-03-23 2012-10-16 Qualcomm Incorporated Viterbi pack instruction
US8493979B2 (en) * 2008-12-30 2013-07-23 Intel Corporation Single instruction processing of network packets
US8495341B2 (en) * 2010-02-17 2013-07-23 International Business Machines Corporation Instruction length based cracking for instruction of variable length storage operands
GB2481384B (en) * 2010-06-21 2018-10-10 Advanced Risc Mach Ltd Key allocation when tracing data processing systems
WO2012134321A1 (en) * 2011-03-30 2012-10-04 Intel Corporation Simd integer addition including mathematical operation on masks
WO2012137428A1 (ja) * 2011-04-08 2012-10-11 パナソニック株式会社 データ処理装置、及びデータ処理方法
US20130113809A1 (en) 2011-11-07 2013-05-09 Nvidia Corporation Technique for inter-procedural memory address space optimization in gpu computing compiler
CN103092571B (zh) * 2013-01-10 2016-06-22 浙江大学 支持多种数据类型的单指令多数据算术单元
US20190196787A1 (en) * 2017-12-21 2019-06-27 Intel Corporation Apparatus and method for right shifting packed quadwords and extracting packed doublewords
KR102182299B1 (ko) * 2019-07-24 2020-11-24 에스케이텔레콤 주식회사 시프트 연산 장치 및 그의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0171190A2 (en) * 1984-07-09 1986-02-12 Advanced Micro Devices, Inc. Extended-function arithmetic-logic unit
EP0540150A2 (en) * 1991-10-29 1993-05-05 Advanced Micro Devices, Inc. Improved arithmetic logic unit
GB2343969A (en) * 1998-11-20 2000-05-24 Advanced Risc Mach Ltd A data processing apparatus and method for performing an arithemtic operation on a plurality of signed data values

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673321A (en) * 1995-06-29 1997-09-30 Hewlett-Packard Company Efficient selection and mixing of multiple sub-word items packed into two or more computer words
US6237016B1 (en) * 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US5812140A (en) * 1996-09-05 1998-09-22 Adobe Systems Incorporated Efficient gray tile storage
US6061783A (en) * 1996-11-13 2000-05-09 Nortel Networks Corporation Method and apparatus for manipulation of bit fields directly in a memory source
US6081824A (en) * 1998-03-05 2000-06-27 Intel Corporation Method and apparatus for fast unsigned integral division
JPH11272546A (ja) * 1998-03-23 1999-10-08 Nec Corp 可変長レジスタ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0171190A2 (en) * 1984-07-09 1986-02-12 Advanced Micro Devices, Inc. Extended-function arithmetic-logic unit
EP0540150A2 (en) * 1991-10-29 1993-05-05 Advanced Micro Devices, Inc. Improved arithmetic logic unit
GB2343969A (en) * 1998-11-20 2000-05-24 Advanced Risc Mach Ltd A data processing apparatus and method for performing an arithemtic operation on a plurality of signed data values

Also Published As

Publication number Publication date
KR100880614B1 (ko) 2009-01-30
IL151395A0 (en) 2003-04-10
JP5133491B2 (ja) 2013-01-30
EP1323031A1 (en) 2003-07-02
IL151395A (en) 2009-09-01
US20020040378A1 (en) 2002-04-04
KR20030066631A (ko) 2003-08-09
TW548587B (en) 2003-08-21
RU2002124769A (ru) 2004-02-20
GB2367650A (en) 2002-04-10
WO2002029553A1 (en) 2002-04-11
CN1432151A (zh) 2003-07-23
CN1196998C (zh) 2005-04-13
MY129332A (en) 2007-03-30
RU2279706C2 (ru) 2006-07-10
GB0024311D0 (en) 2000-11-15
EP1323031B1 (en) 2018-11-14
JP2004511039A (ja) 2004-04-08
US6999985B2 (en) 2006-02-14

Similar Documents

Publication Publication Date Title
GB2376100B (en) Data processing using multiple instruction sets
GB2366011B (en) Data processing system
GB2384336B (en) Improved data processing
IL162346A0 (en) Processing data
GB2359154B (en) Data processing
GB2367650B (en) Single instruction multiple data processing
AU2002366404A8 (en) Data processing system
GB0319897D0 (en) Data processing
GB0025050D0 (en) Object oriented data processing
GB2370893B (en) Single instruction multiple data processing
GB0121110D0 (en) Processing data
GB0103472D0 (en) Data processing system
GB0022949D0 (en) Processing instruction words
GB0121108D0 (en) Processing data
GB0010082D0 (en) Data processing
GB2356718B (en) Data processing
GB2355618B (en) Data processing
GB2352381B (en) Processing graphical data
GB0116191D0 (en) Data processing
GB0019708D0 (en) Data processing system
GB0016272D0 (en) Data processing
GB9929329D0 (en) Data processing
GB9930147D0 (en) Data processing
GB9929327D0 (en) Data processing
GB9917705D0 (en) Data processing

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20201003