CN1196998C - 单指令多数据处理 - Google Patents

单指令多数据处理 Download PDF

Info

Publication number
CN1196998C
CN1196998C CNB01810648XA CN01810648A CN1196998C CN 1196998 C CN1196998 C CN 1196998C CN B01810648X A CNB01810648X A CN B01810648XA CN 01810648 A CN01810648 A CN 01810648A CN 1196998 C CN1196998 C CN 1196998C
Authority
CN
China
Prior art keywords
multidigit
data word
equipment
instruction
bit
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
CNB01810648XA
Other languages
English (en)
Chinese (zh)
Other versions
CN1432151A (zh
Inventor
D·H·赛姆斯
D·J·西尔
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
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 filed Critical ARM Ltd
Publication of CN1432151A publication Critical patent/CN1432151A/zh
Application granted granted Critical
Publication of CN1196998C publication Critical patent/CN1196998C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/50—Adding; Subtracting
    • G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/3001—Arithmetic instructions
    • G06F9/30014—Arithmetic instructions with variable precision
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804—Details
    • G06F2207/3808—Details concerning the type of numbers or the way they are handled
    • G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49931—Modulo 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)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
CNB01810648XA 2000-10-04 2001-08-21 单指令多数据处理 Expired - Lifetime CN1196998C (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN1432151A CN1432151A (zh) 2003-07-23
CN1196998C true CN1196998C (zh) 2005-04-13

Family

ID=9900674

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01810648XA Expired - Lifetime CN1196998C (zh) 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 (17)

* 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
CN103460178B (zh) * 2011-03-30 2017-05-31 英特尔公司 包括掩码上的数学操作的simd整数加法
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 에스케이텔레콤 주식회사 시프트 연산 장치 및 그의 동작 방법
US20260219887A1 (en) * 2025-01-30 2026-07-30 Arm Limited Arithmetic combination operation

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
ATE180907T1 (de) * 1991-10-29 1999-06-15 Advanced Micro Devices Inc Arithmetik-logik-einheit
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 可変長レジスタ装置
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
GB2367650A (en) 2002-04-10
KR20030066631A (ko) 2003-08-09
US6999985B2 (en) 2006-02-14
JP2004511039A (ja) 2004-04-08
GB0024311D0 (en) 2000-11-15
CN1432151A (zh) 2003-07-23
GB2367650B (en) 2004-10-27
KR100880614B1 (ko) 2009-01-30
JP5133491B2 (ja) 2013-01-30
TW548587B (en) 2003-08-21
WO2002029553A1 (en) 2002-04-11
RU2002124769A (ru) 2004-02-20
MY129332A (en) 2007-03-30
US20020040378A1 (en) 2002-04-04
RU2279706C2 (ru) 2006-07-10
IL151395A0 (en) 2003-04-10
EP1323031A1 (en) 2003-07-02
EP1323031B1 (en) 2018-11-14
IL151395A (en) 2009-09-01

Similar Documents

Publication Publication Date Title
Peleg et al. Intel MMX for multimedia PCs
JP3958662B2 (ja) プロセッサ
JP3750820B2 (ja) パック・データの乗加算演算を実行する装置
US5696954A (en) Three input arithmetic logic unit with shifting means at one input forming a sum/difference of two inputs logically anded with a third input logically ored with the sum/difference logically anded with an inverse of the third input
CN1432151A (zh) 单指令多数据处理
JP3739403B2 (ja) プロセッサのカスタム動作のための方法及び装置
RU2275677C2 (ru) Способ, устройство и команда для выполнения знаковой операции умножения
US20080141004A1 (en) Apparatus and method for performing re-arrangement operations on data
US20020026570A1 (en) SIMD operation system capable of designating plural registers
JP5853177B2 (ja) データ処理装置、及びデータ処理方法
US7558816B2 (en) Methods and apparatus for performing pixel average operations
JP3723115B2 (ja) 単一命令多重データ処理
CN101981542A (zh) 多项式数据处理运算
US11768685B2 (en) Processing device with vector transformation execution
US20100115232A1 (en) Large integer support in vector operations
JP2000322235A (ja) 情報処理装置
JP2002536763A (ja) 命令セット構造の比較拡張を有するプロセッサ
Senthilvelan et al. Flexible arithmetic and logic unit for multimedia processing
JP2003084972A (ja) 条件付減算命令の実行速度を改善し、命令が正しく実行されるオペランドの範囲を拡大する方法
Nia et al. Multimedia extensions for DLX processor
Chen et al. Digital signal processing on MMX technology
Perri et al. Fully-synthesizable reconfigurable multiplier for high-performance multimedia processors
Jeong et al. A universal shifter with packed data formats
GB2367659A (en) SIMD saturation instruction with variable bit length

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20050413