JP5133491B2 - 単一命令多数データ処理 - Google Patents

単一命令多数データ処理 Download PDF

Info

Publication number
JP5133491B2
JP5133491B2 JP2002533059A JP2002533059A JP5133491B2 JP 5133491 B2 JP5133491 B2 JP 5133491B2 JP 2002533059 A JP2002533059 A JP 2002533059A JP 2002533059 A JP2002533059 A JP 2002533059A JP 5133491 B2 JP5133491 B2 JP 5133491B2
Authority
JP
Japan
Prior art keywords
bit
data processing
data word
shift
processing apparatus
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
JP2002533059A
Other languages
English (en)
Japanese (ja)
Other versions
JP2004511039A5 (enExample
JP2004511039A (ja
Inventor
サイムズ、ドミニク、ヒューゴー
シール、デイヴィッド、ジェイムズ
Original Assignee
エイアールエム リミテッド
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 エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2004511039A publication Critical patent/JP2004511039A/ja
Publication of JP2004511039A5 publication Critical patent/JP2004511039A5/ja
Application granted granted Critical
Publication of JP5133491B2 publication Critical patent/JP5133491B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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)
JP2002533059A 2000-10-04 2001-08-21 単一命令多数データ処理 Expired - Lifetime JP5133491B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0024311A GB2367650B (en) 2000-10-04 2000-10-04 Single instruction multiple data processing
GB0024311.3 2000-10-04
PCT/GB2001/003744 WO2002029553A1 (en) 2000-10-04 2001-08-21 Single instruction multiple data processing

Publications (3)

Publication Number Publication Date
JP2004511039A JP2004511039A (ja) 2004-04-08
JP2004511039A5 JP2004511039A5 (enExample) 2012-11-22
JP5133491B2 true JP5133491B2 (ja) 2013-01-30

Family

ID=9900674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002533059A Expired - Lifetime JP5133491B2 (ja) 2000-10-04 2001-08-21 単一命令多数データ処理

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 에스케이텔레콤 주식회사 시프트 연산 장치 및 그의 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4785393A (en) * 1984-07-09 1988-11-15 Advanced Micro Devices, Inc. 32-Bit extended function arithmetic-logic unit on a single chip
EP0540150B1 (en) * 1991-10-29 1999-06-02 Advanced Micro Devices, Inc. Arithmetic logic unit
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 可変長レジスタ装置
US6338135B1 (en) * 1998-11-20 2002-01-08 Arm Limited Data processing system and method for performing an arithmetic 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
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
GB2367650B (en) 2004-10-27
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
JP5133491B2 (ja) 単一命令多数データ処理
JP3889069B2 (ja) プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良
JP4480997B2 (ja) Simd整数乗算上位丸めシフト
CN111433741B (zh) 数据处理设备和数据处理方法
JP4349265B2 (ja) プロセッサ
CN100538624C (zh) 用于处理数据的方法和设备
CN110914800B (zh) 基于寄存器的复数处理
US8195732B2 (en) Methods and apparatus for single stage Galois field operations
JP3723115B2 (ja) 単一命令多重データ処理
CN101981542B (zh) 多项式数据处理运算
US6338135B1 (en) Data processing system and method for performing an arithmetic operation on a plurality of signed data values
US20250130808A1 (en) Vector transformation in parallel with arithmetic operation
JP7186212B2 (ja) データ処理装置におけるベクトル・インタリーブ
JPS59160239A (ja) 情報処理装置
KR20020021078A (ko) 데이터 처리 시스템 및 복수의 부호 데이터 값의 산술연산 수행방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20121003

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

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

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5133491

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

EXPY Cancellation because of completion of term