GB2598250B - Address generation for high-performance vector processing - Google Patents

Address generation for high-performance vector processing Download PDF

Info

Publication number
GB2598250B
GB2598250B GB2117077.4A GB202117077A GB2598250B GB 2598250 B GB2598250 B GB 2598250B GB 202117077 A GB202117077 A GB 202117077A GB 2598250 B GB2598250 B GB 2598250B
Authority
GB
United Kingdom
Prior art keywords
address generation
vector processing
performance vector
performance
processing
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
GB2117077.4A
Other languages
English (en)
Other versions
GB2598250A (en
GB202117077D0 (en
Inventor
Van Lunteren Jan
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of GB202117077D0 publication Critical patent/GB202117077D0/en
Publication of GB2598250A publication Critical patent/GB2598250A/en
Application granted granted Critical
Publication of GB2598250B publication Critical patent/GB2598250B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/30029Logical and Boolean instructions, e.g. XOR, NOT
    • 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
    • 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 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/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Memory System (AREA)
GB2117077.4A 2019-05-10 2020-05-01 Address generation for high-performance vector processing Active GB2598250B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/408,575 US10996949B2 (en) 2019-05-10 2019-05-10 Address generation for high-performance vector processing
PCT/IB2020/054137 WO2020229933A1 (en) 2019-05-10 2020-05-01 Address generation for high-performance vector processing

Publications (3)

Publication Number Publication Date
GB202117077D0 GB202117077D0 (en) 2022-01-12
GB2598250A GB2598250A (en) 2022-02-23
GB2598250B true GB2598250B (en) 2022-07-06

Family

ID=73045791

Family Applications (1)

Application Number Title Priority Date Filing Date
GB2117077.4A Active GB2598250B (en) 2019-05-10 2020-05-01 Address generation for high-performance vector processing

Country Status (6)

Country Link
US (1) US10996949B2 (https=)
JP (1) JP7386901B2 (https=)
CN (1) CN113767371B (https=)
DE (1) DE112020000748B4 (https=)
GB (1) GB2598250B (https=)
WO (1) WO2020229933A1 (https=)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201907382D0 (en) * 2019-05-24 2019-07-10 Univ Southampton Computer-implemented method for creating encoded data for use in a cognitive computing system, as well as cognitive processing unit and cognitive computing
US11435941B1 (en) * 2020-06-24 2022-09-06 Amazon Technologies, Inc. Matrix transpose hardware acceleration
US11636569B1 (en) * 2020-09-23 2023-04-25 Amazon Technologies, Inc. Matrix transpose hardware acceleration
US20220129270A1 (en) * 2020-10-23 2022-04-28 Marvell Asia Pte Ltd Method and system for topk operation
CN114327639B (zh) * 2021-12-29 2025-07-22 深圳鲲云信息科技有限公司 基于数据流架构的加速器、加速器的数据存取方法及设备
CN115422098B (zh) * 2022-02-15 2023-08-29 摩尔线程智能科技(北京)有限责任公司 基于扩展页表的gpu访存自适应优化方法及装置
FR3133459B1 (fr) * 2022-03-11 2024-03-22 Commissariat Energie Atomique Générateur d’adresses pour un calculateur à architecture de type « instruction unique, données multiples »
JP2023154162A (ja) * 2022-04-06 2023-10-19 国立大学法人九州工業大学 演算処理装置
CN115148272B (zh) * 2022-06-30 2025-05-16 长鑫存储技术有限公司 存储器地址确定方法与电子设备
CN116089323A (zh) * 2023-02-24 2023-05-09 北京信而泰科技股份有限公司 表项生成方法及装置
CN116910770B (zh) * 2023-09-13 2023-12-19 中国海洋大学 一种基于密度的固件基址识别系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1016970A2 (en) * 1998-12-30 2000-07-05 Silicon Automation Systems PVT. Ltd A memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array
US7793038B2 (en) * 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
CN104699465A (zh) * 2015-03-26 2015-06-10 中国人民解放军国防科学技术大学 向量处理器中支持simt的向量访存装置和控制方法
US9705532B2 (en) * 2013-03-15 2017-07-11 Arris Enterprises Llc Parallel low-density parity check (LDPC) accumulation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769896B2 (ja) * 1988-11-07 1995-07-31 富士通株式会社 ベクトル処理システム
US5276902A (en) * 1988-11-07 1994-01-04 Fujitsu Limited Memory access system for vector data processed or to be processed by a vector processor
JP4240610B2 (ja) * 1998-11-27 2009-03-18 株式会社日立製作所 計算機システム
US6453380B1 (en) * 1999-01-23 2002-09-17 International Business Machines Corporation Address mapping for configurable memory system
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US6430672B1 (en) * 2000-07-17 2002-08-06 International Business Machines Corporation Method for performing address mapping using two lookup tables
CN101069211A (zh) 2004-11-23 2007-11-07 高效存储技术公司 分页存储器及其智能存储器区段的交错寻址的多次缩略的方法和装置
US7398362B1 (en) * 2005-12-09 2008-07-08 Advanced Micro Devices, Inc. Programmable interleaving in multiple-bank memories
US8397010B1 (en) * 2007-04-16 2013-03-12 Juniper Networks, Inc. Convenient, flexible, and efficient management of memory space and bandwidth
CN101645005A (zh) * 2008-08-06 2010-02-10 中国人民解放军信息工程大学 基于多维可变描述表的处理器结构与指令系统表示方法
US9262174B2 (en) * 2012-04-05 2016-02-16 Nvidia Corporation Dynamic bank mode addressing for memory access
US9268691B2 (en) * 2012-06-11 2016-02-23 Intel Corporation Fast mechanism for accessing 2n±1 interleaved memory system
US9582420B2 (en) * 2015-03-18 2017-02-28 International Business Machines Corporation Programmable memory mapping scheme with interleave properties

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1016970A2 (en) * 1998-12-30 2000-07-05 Silicon Automation Systems PVT. Ltd A memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array
US7793038B2 (en) * 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US9705532B2 (en) * 2013-03-15 2017-07-11 Arris Enterprises Llc Parallel low-density parity check (LDPC) accumulation
CN104699465A (zh) * 2015-03-26 2015-06-10 中国人民解放军国防科学技术大学 向量处理器中支持simt的向量访存装置和控制方法

Also Published As

Publication number Publication date
CN113767371A (zh) 2021-12-07
CN113767371B (zh) 2023-04-14
GB2598250A (en) 2022-02-23
US20200356367A1 (en) 2020-11-12
WO2020229933A1 (en) 2020-11-19
GB202117077D0 (en) 2022-01-12
JP2022531786A (ja) 2022-07-11
DE112020000748T5 (de) 2021-10-28
US10996949B2 (en) 2021-05-04
DE112020000748B4 (de) 2022-11-17
JP7386901B2 (ja) 2023-11-27

Similar Documents

Publication Publication Date Title
GB2598250B (en) Address generation for high-performance vector processing
GB2560400B (en) Vector processing unit
GB2573543B (en) Graphics Processing
GB2578320B (en) Graphics processing
SG11201912567RA (en) Plasma processing apparatus
GB201710093D0 (en) Audio distance estimation for spatial audio processing
EP3141134A3 (de) Schiebetrommel der tabak verarbeitenden industrie
SG11201912569UA (en) Plasma processing apparatus
EP3642706A4 (en) HIGH SPEED PROCESSORS
GB201802716D0 (en) Gas processing
GB2571271B (en) Graphics processing
SG11201912566WA (en) Plasma processing apparatus
GB201707953D0 (en) Spatial audio processing
SG11201912655XA (en) Plasma processing apparatus
SG11201912564VA (en) Plasma processing apparatus
IL257387B (en) Time-adaptive processing
GB2590774B (en) Vector
GB201706476D0 (en) Spatial audio processing
SG10201913764UA (en) Processing apparatus
GB2597708B (en) Vector processing
GB2578507B (en) Graphics processing
SG10202102486UA (en) Processing payments
GB201709804D0 (en) Spatial audio processing
GB201913974D0 (en) Vector
SG11201704732PA (en) Vector processing for segmentation hash values calculation

Legal Events

Date Code Title Description
746 Register noted 'licences of right' (sect. 46/1977)

Effective date: 20220727