FR3091937B1 - Instruction de double chargement - Google Patents

Instruction de double chargement Download PDF

Info

Publication number
FR3091937B1
FR3091937B1 FR1906116A FR1906116A FR3091937B1 FR 3091937 B1 FR3091937 B1 FR 3091937B1 FR 1906116 A FR1906116 A FR 1906116A FR 1906116 A FR1906116 A FR 1906116A FR 3091937 B1 FR3091937 B1 FR 3091937B1
Authority
FR
France
Prior art keywords
instruction
execution unit
variable pitch
register
load 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.)
Active
Application number
FR1906116A
Other languages
English (en)
Other versions
FR3091937A1 (fr
Inventor
Alan Graham Alexander
Simon Christian Knowles
Mrudula Gore
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.)
Graphcore Ltd
Original Assignee
Graphcore 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 Graphcore Ltd filed Critical Graphcore Ltd
Publication of FR3091937A1 publication Critical patent/FR3091937A1/fr
Application granted granted Critical
Publication of FR3091937B1 publication Critical patent/FR3091937B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Neurology (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

INSTRUCTION DE DOUBLE CHARGEMENT Processeur comprenant une unité d’exécution, de la mémoire et un ou plusieurs bancs de registres. L’unité d’exécution est agencée pour exécuter des instances d’instructions de code machine provenant d’un jeu d’instructions. Les types d’instructions définis dans le jeu d’instructions comprennent une instruction de double chargement pour charger à partir de la mémoire dans au moins l’un desdits un ou plusieurs bancs de registres. L’unité d’exécution est agencée de manière à, lorsque l’instruction de chargement est exécutée, réaliser une première opération de chargement à progression à pas fixe, et une deuxième opération de chargement à progression à pas variable, le pas variable étant spécifié dans un registre de pas variable dans l’un desdits au moins un banc de registres. Figure pour l'abrégé : Fig. 5
FR1906116A 2019-01-22 2019-06-07 Instruction de double chargement Active FR3091937B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1900848.1A GB2580664B (en) 2019-01-22 2019-01-22 Double load instruction
GB1900848.1 2019-01-22

Publications (2)

Publication Number Publication Date
FR3091937A1 FR3091937A1 (fr) 2020-07-24
FR3091937B1 true FR3091937B1 (fr) 2021-12-24

Family

ID=65656024

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1906116A Active FR3091937B1 (fr) 2019-01-22 2019-06-07 Instruction de double chargement

Country Status (7)

Country Link
US (1) US11061679B2 (fr)
JP (1) JP6843187B2 (fr)
CN (1) CN111459548B (fr)
CA (1) CA3040894C (fr)
DE (1) DE102019112186A1 (fr)
FR (1) FR3091937B1 (fr)
GB (1) GB2580664B (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB202112803D0 (en) 2021-09-08 2021-10-20 Graphcore Ltd Processing device using variable stride pattern

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517038A (ja) 1998-05-27 2002-06-11 エイアールエム リミテッド 再循環レジスタファイル
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7275148B2 (en) * 2003-09-08 2007-09-25 Freescale Semiconductor, Inc. Data processing system using multiple addressing modes for SIMD operations and method thereof
US7487296B1 (en) * 2004-02-19 2009-02-03 Sun Microsystems, Inc. Multi-stride prefetcher with a recurring prefetch table
US8145877B2 (en) * 2008-03-31 2012-03-27 Xilinx, Inc. Address generation for quadratic permutation polynomial interleaving
US8458685B2 (en) * 2009-06-12 2013-06-04 Cray Inc. Vector atomic memory operation vector update system and method
US8850166B2 (en) 2010-02-18 2014-09-30 International Business Machines Corporation Load pair disjoint facility and instruction therefore
WO2013048369A1 (fr) * 2011-09-26 2013-04-04 Intel Corporation Instruction et logique pour fournir à une opération de charge/opération de stockage de vecteur une fonctionnalité de poussée
US10049061B2 (en) * 2012-11-12 2018-08-14 International Business Machines Corporation Active memory device gather, scatter, and filter
US9619229B2 (en) * 2012-12-27 2017-04-11 Intel Corporation Collapsing of multiple nested loops, methods and instructions
US9582422B2 (en) * 2014-12-24 2017-02-28 Intel Corporation Hardware prefetcher for indirect access patterns
US20160313995A1 (en) * 2015-04-24 2016-10-27 Optimum Semiconductor Technologies, Inc. Computer processor with indirect only branching
US9875214B2 (en) * 2015-07-31 2018-01-23 Arm Limited Apparatus and method for transferring a plurality of data structures between memory and a plurality of vector registers
US20170192783A1 (en) * 2015-12-30 2017-07-06 Elmoustapha Ould-Ahmed-Vall Systems, Apparatuses, and Methods for Stride Load
US20170192782A1 (en) * 2015-12-30 2017-07-06 Robert Valentine Systems, Apparatuses, and Methods for Aggregate Gather and Stride
US10108538B1 (en) 2017-07-31 2018-10-23 Google Llc Accessing prologue and epilogue data
US20190332924A1 (en) * 2018-04-27 2019-10-31 International Business Machines Corporation Central scheduler and instruction dispatcher for a neural inference processor
US10769070B2 (en) * 2018-09-25 2020-09-08 Arm Limited Multiple stride prefetching
GB2584268B (en) 2018-12-31 2021-06-30 Graphcore Ltd Load-Store Instruction

Also Published As

Publication number Publication date
GB2580664B (en) 2021-01-13
CN111459548A (zh) 2020-07-28
CN111459548B (zh) 2024-03-22
US11061679B2 (en) 2021-07-13
JP2020119490A (ja) 2020-08-06
DE102019112186A1 (de) 2020-07-23
US20200233670A1 (en) 2020-07-23
CA3040894C (fr) 2022-03-22
JP6843187B2 (ja) 2021-03-17
CA3040894A1 (fr) 2020-07-22
FR3091937A1 (fr) 2020-07-24
GB2580664A (en) 2020-07-29
GB201900848D0 (en) 2019-03-13

Similar Documents

Publication Publication Date Title
Appel Compiling with continuations
FR3091389B1 (fr) Bancs de registres dans un processeur à fils d’exécution multiples
JP2008530689A (ja) 効率的なデジタル信号処理に適用するデータプロセッサとその方法
US20130297918A1 (en) Apparatus for Predicate Calculation in Processor Instruction Set
JP2019197531A (ja) 連鎖タイル演算を実施するためのシステムおよび方法
FR3091937B1 (fr) Instruction de double chargement
US10824395B2 (en) Arithmetic processing device and control method for arithmetic processing device
US10474427B2 (en) Comparison of wide data types
KR890015121A (ko) 나눗셈연산장치
Li et al. Note on the convolution of harmonic mappings
TWI245220B (en) Processor and method for pre-fetching out-of-order instructions
FR3094513B1 (fr) Procédé d'authentification d'un processeur
Bajczi et al. Theta: Abstraction based techniques for verifying concurrency (competition contribution)
CN107357739A (zh) 一种数据内排序的方法与装置
Muoi et al. Super asymptotically nonexpansive actions of semitopological semigroups on Fréchet and locally convex spaces
Deorowicz et al. Whisper 2: indel-sensitive short read mapping
RU2004136510A (ru) Арифметический вычислитель
CN111158754A (zh) 一种平衡预测精度及时延的处理器分支预测方法和装置
FR3083350B1 (fr) Acces memoire de processeurs
JP2019028958A (ja) 設計書学習装置および設計書学習方法
CN106990939A (zh) 修改数据处理单元的行为
Pandey et al. Novel and Prevalent Techniques for Resolving Control Hazard
George JaGeo/Advanced_Jobflow_Tutorial: v. 0.1. 0
Van Hoey et al. Stack Alignment and Stack Frame
Burutarchanai et al. A stack-based processor for resource efficient embedded systems

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210521

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6