GB2525262B - Sharing processing results between different processing lanes of a data processing apparatus - Google Patents

Sharing processing results between different processing lanes of a data processing apparatus Download PDF

Info

Publication number
GB2525262B
GB2525262B GB1414436.4A GB201414436A GB2525262B GB 2525262 B GB2525262 B GB 2525262B GB 201414436 A GB201414436 A GB 201414436A GB 2525262 B GB2525262 B GB 2525262B
Authority
GB
United Kingdom
Prior art keywords
processing
lanes
sharing
results
different
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.)
Active
Application number
GB1414436.4A
Other versions
GB2525262A (en
GB201414436D0 (en
Inventor
Sideris Isidoros
Croxford Daren
Burdass Andrew
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
Publication of GB201414436D0 publication Critical patent/GB201414436D0/en
Priority to US14/663,858 priority Critical patent/US10514928B2/en
Publication of GB2525262A publication Critical patent/GB2525262A/en
Application granted granted Critical
Publication of GB2525262B publication Critical patent/GB2525262B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • G06F9/3832Value prediction for operands; operand history buffers
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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/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; 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/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
    • 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/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Advance Control (AREA)
GB1414436.4A 2014-04-17 2014-08-14 Sharing processing results between different processing lanes of a data processing apparatus Active GB2525262B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/663,858 US10514928B2 (en) 2014-04-17 2015-03-20 Preventing duplicate execution by sharing a result between different processing lanes assigned micro-operations that generate the same result

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GR20140100223 2014-04-17

Publications (3)

Publication Number Publication Date
GB201414436D0 GB201414436D0 (en) 2014-10-01
GB2525262A GB2525262A (en) 2015-10-21
GB2525262B true GB2525262B (en) 2021-06-02

Family

ID=51662424

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1414436.4A Active GB2525262B (en) 2014-04-17 2014-08-14 Sharing processing results between different processing lanes of a data processing apparatus

Country Status (1)

Country Link
GB (1) GB2525262B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260898A (en) * 1992-03-13 1993-11-09 Sun Microsystems, Inc. Result cache for complex arithmetic units
US5845103A (en) * 1997-06-13 1998-12-01 Wisconsin Alumni Research Foundation Computer with dynamic instruction reuse
US20100180102A1 (en) * 2009-01-15 2010-07-15 Altair Semiconductors Enhancing processing efficiency in large instruction width processors
US20110047349A1 (en) * 2009-08-18 2011-02-24 Kabushiki Kaisha Toshiba Processor and processor control method
EP2115629B1 (en) * 2006-12-22 2014-06-18 Telefonaktiebolaget LM Ericsson (publ) Parallel processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260898A (en) * 1992-03-13 1993-11-09 Sun Microsystems, Inc. Result cache for complex arithmetic units
US5845103A (en) * 1997-06-13 1998-12-01 Wisconsin Alumni Research Foundation Computer with dynamic instruction reuse
EP2115629B1 (en) * 2006-12-22 2014-06-18 Telefonaktiebolaget LM Ericsson (publ) Parallel processor
US20100180102A1 (en) * 2009-01-15 2010-07-15 Altair Semiconductors Enhancing processing efficiency in large instruction width processors
US20110047349A1 (en) * 2009-08-18 2011-02-24 Kabushiki Kaisha Toshiba Processor and processor control method

Also Published As

Publication number Publication date
GB2525262A (en) 2015-10-21
GB201414436D0 (en) 2014-10-01

Similar Documents

Publication Publication Date Title
GB2520446B (en) Quorum-Based Data Processing
SG10201504721WA (en) Seismic data processing
GB201517896D0 (en) Data Processing Device
SG10201503996XA (en) Method for processing local information
SG10201504537YA (en) Processing apparatus
GB201416110D0 (en) Signal processing apparatus
SG10201505187TA (en) Processing apparatus
GB201521271D0 (en) Data processing
GB2530126B (en) Seismic Data Processing
GB2536472B (en) A method of processing display data
IL256717B (en) Data processing
GB201510552D0 (en) Data processing
GB2545248B (en) Data processing
TWI563445B (en) Data processing method
GB201403742D0 (en) Method for processing of restricted data
GB2525441B (en) Data Processing
GB2525371B (en) Tracing the operations of a data processing apparatus
GB2524247B (en) Control of data processing
GB201612132D0 (en) Data processing method
GB2539411B (en) Data processing
GB2539410B (en) Data processing
GB201417926D0 (en) Signal processing apparatus
GB2525262B (en) Sharing processing results between different processing lanes of a data processing apparatus
GB201407598D0 (en) Data processing for list selection
GB2527647B (en) Data processing