GB2436499B - Evalutation unit for single instruction, multiple data execution engine flag registers - Google Patents

Evalutation unit for single instruction, multiple data execution engine flag registers

Info

Publication number
GB2436499B
GB2436499B GB0713878A GB0713878A GB2436499B GB 2436499 B GB2436499 B GB 2436499B GB 0713878 A GB0713878 A GB 0713878A GB 0713878 A GB0713878 A GB 0713878A GB 2436499 B GB2436499 B GB 2436499B
Authority
GB
United Kingdom
Prior art keywords
evalutation
unit
multiple data
execution engine
single instruction
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 - Fee Related
Application number
GB0713878A
Other languages
English (en)
Other versions
GB2436499A (en
GB0713878D0 (en
Inventor
Michael Dwyer
Hong Jiang
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 GB0713878D0 publication Critical patent/GB0713878D0/en
Publication of GB2436499A publication Critical patent/GB2436499A/en
Application granted granted Critical
Publication of GB2436499B publication Critical patent/GB2436499B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • 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/30094Condition code generation, e.g. Carry, Zero flag
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3888Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel

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)
  • Image Processing (AREA)
GB0713878A 2004-12-17 2005-12-15 Evalutation unit for single instruction, multiple data execution engine flag registers Expired - Fee Related GB2436499B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/015,778 US7219213B2 (en) 2004-12-17 2004-12-17 Flag bits evaluation for multiple vector SIMD channels execution
PCT/US2005/046321 WO2006066262A2 (en) 2004-12-17 2005-12-15 Evalutation unit for single instruction, multiple data execution engine flag registers

Publications (3)

Publication Number Publication Date
GB0713878D0 GB0713878D0 (en) 2007-08-29
GB2436499A GB2436499A (en) 2007-09-26
GB2436499B true GB2436499B (en) 2009-07-22

Family

ID=36123387

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0713878A Expired - Fee Related GB2436499B (en) 2004-12-17 2005-12-15 Evalutation unit for single instruction, multiple data execution engine flag registers

Country Status (8)

Country Link
US (1) US7219213B2 (enExample)
JP (1) JP4901754B2 (enExample)
KR (1) KR100958964B1 (enExample)
CN (1) CN100422979C (enExample)
DE (1) DE112005003130B4 (enExample)
GB (1) GB2436499B (enExample)
TW (1) TWI297853B (enExample)
WO (1) WO2006066262A2 (enExample)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071130A (ja) * 2006-09-14 2008-03-27 Ricoh Co Ltd Simd型マイクロプロセッサ
EP2478440A1 (en) * 2009-09-17 2012-07-25 Nokia Corp. Multi-channel cache memory
US8996845B2 (en) * 2009-12-22 2015-03-31 Intel Corporation Vector compare-and-exchange operation
US10318291B2 (en) 2011-11-30 2019-06-11 Intel Corporation Providing vector horizontal compare functionality within a vector register
WO2013081588A1 (en) 2011-11-30 2013-06-06 Intel Corporation Instruction and logic to provide vector horizontal compare functionality
US10255228B2 (en) * 2011-12-06 2019-04-09 Nvidia Corporation System and method for performing shaped memory access operations
US10042813B2 (en) * 2014-12-15 2018-08-07 Intel Corporation SIMD K-nearest-neighbors implementation
GB2536069B (en) * 2015-03-25 2017-08-30 Imagination Tech Ltd SIMD processing module
US20200341772A1 (en) * 2019-04-29 2020-10-29 DeGirum Corporation Efficient Architectures For Deep Learning Algorithms

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0682309A2 (en) * 1994-04-28 1995-11-15 International Business Machines Corporation Data processing system adapted for single instruction branching on multiple condition codes from plural processing elements
US5805875A (en) * 1996-09-13 1998-09-08 International Computer Science Institute Vector processing system with multi-operation, run-time configurable pipelines
JP2000047998A (ja) * 1998-07-31 2000-02-18 Ricoh Co Ltd Simd方式の演算器及び演算処理装置
US20020083311A1 (en) * 2000-12-27 2002-06-27 Paver Nigel C. Method and computer program for single instruction multiple data management
US20040068642A1 (en) * 2002-09-25 2004-04-08 Tetsuya Tanaka Processor executing SIMD instructions

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768803B2 (ja) * 1990-04-26 1998-06-25 株式会社東芝 並列演算処理装置
JP2793357B2 (ja) * 1990-11-20 1998-09-03 株式会社東芝 並列演算装置
JP2793342B2 (ja) * 1990-08-09 1998-09-03 株式会社東芝 演算処理装置
JP3442225B2 (ja) * 1996-07-11 2003-09-02 株式会社日立製作所 演算処理装置
GB2382886B (en) * 2001-10-31 2006-03-15 Alphamosaic Ltd Vector processing system
US6986023B2 (en) * 2002-08-09 2006-01-10 Intel Corporation Conditional execution of coprocessor instruction based on main processor arithmetic flags

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0682309A2 (en) * 1994-04-28 1995-11-15 International Business Machines Corporation Data processing system adapted for single instruction branching on multiple condition codes from plural processing elements
US5805875A (en) * 1996-09-13 1998-09-08 International Computer Science Institute Vector processing system with multi-operation, run-time configurable pipelines
JP2000047998A (ja) * 1998-07-31 2000-02-18 Ricoh Co Ltd Simd方式の演算器及び演算処理装置
US20020083311A1 (en) * 2000-12-27 2002-06-27 Paver Nigel C. Method and computer program for single instruction multiple data management
US20040068642A1 (en) * 2002-09-25 2004-04-08 Tetsuya Tanaka Processor executing SIMD instructions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN, Vol. 2000, No. 5, 14 September 2000; & JP 2000 047998 A (RICOH CO LTD), 18 February 2000, abstract. *

Also Published As

Publication number Publication date
CN100422979C (zh) 2008-10-01
JP2008524723A (ja) 2008-07-10
JP4901754B2 (ja) 2012-03-21
DE112005003130B4 (de) 2009-09-17
GB2436499A (en) 2007-09-26
US20060149924A1 (en) 2006-07-06
WO2006066262A3 (en) 2006-12-14
US7219213B2 (en) 2007-05-15
CN1790310A (zh) 2006-06-21
GB0713878D0 (en) 2007-08-29
DE112005003130T5 (de) 2007-11-22
TW200636573A (en) 2006-10-16
WO2006066262A2 (en) 2006-06-22
KR20070089208A (ko) 2007-08-30
TWI297853B (en) 2008-06-11
KR100958964B1 (ko) 2010-05-20

Similar Documents

Publication Publication Date Title
GB2424727B (en) Preparing instruction groups for a processor having a multiple issue ports
EP1938500A4 (en) UNIVERSAL GAME DOWNLOAD SYSTEM FOR A TRADITIONAL GAME MACHINE
EP2008185A4 (en) SYSTEM FOR RECONSTRUCTING DISPERSE DATA
GB2433146B (en) Looping instructions for a single instruction, multiple data execution engine
DE502006008209D1 (de) Abgasanlage
GB0520606D0 (en) Data transfer system
EP2013378A4 (en) EVACUATION SYSTEM
GB2423843B (en) Dual mode operating system for a computing device
IL233547A0 (en) A computer system for disseminating a notification of an instruction to grant validity
GB2436499B (en) Evalutation unit for single instruction, multiple data execution engine flag registers
GB0801976D0 (en) Computer system for resource management
GB0625281D0 (en) Computer cooling system
TWI317776B (en) Exhaust system for motorcycle
IL185613A0 (en) Stop waiting for source operand when conditional instruction will not execute
DE602006004669D1 (de) Abgassystem
GB0612673D0 (en) Computer system
GB0507124D0 (en) Data scheduling
DE602006005871D1 (de) Abgasanlage
FI20050766A0 (fi) Laitteisto tiedonsiirron järjestämiseksi
GB2433585B (en) Engine coolant system
ITTO20060729A1 (it) Impianto di scarico per motociclo.
GB0510350D0 (en) Data engine
GB0517067D0 (en) Computer system with register block
GB0615378D0 (en) Computer system
AU2006907232A0 (en) Tagging for SIMD instructions

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20181215