CN113767371B - 用于高性能向量处理的地址生成的方法 - Google Patents
用于高性能向量处理的地址生成的方法 Download PDFInfo
- Publication number
- CN113767371B CN113767371B CN202080032336.XA CN202080032336A CN113767371B CN 113767371 B CN113767371 B CN 113767371B CN 202080032336 A CN202080032336 A CN 202080032336A CN 113767371 B CN113767371 B CN 113767371B
- Authority
- CN
- China
- Prior art keywords
- vector
- binary data
- memory
- memory banks
- log
- 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
Links
Images
Classifications
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand 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)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/408,575 | 2019-05-10 | ||
| 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 (2)
| Publication Number | Publication Date |
|---|---|
| CN113767371A CN113767371A (zh) | 2021-12-07 |
| CN113767371B true CN113767371B (zh) | 2023-04-14 |
Family
ID=73045791
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202080032336.XA Active CN113767371B (zh) | 2019-05-10 | 2020-05-01 | 用于高性能向量处理的地址生成的方法 |
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)
| 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
| CN101645005A (zh) * | 2008-08-06 | 2010-02-10 | 中国人民解放军信息工程大学 | 基于多维可变描述表的处理器结构与指令系统表示方法 |
| CN103365631A (zh) * | 2012-04-05 | 2013-10-23 | 辉达公司 | 用于存储器访问的动态库模式寻址 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0769896B2 (ja) * | 1988-11-07 | 1995-07-31 | 富士通株式会社 | ベクトル処理システム |
| JP4240610B2 (ja) * | 1998-11-27 | 2009-03-18 | 株式会社日立製作所 | 計算機システム |
| US6604166B1 (en) | 1998-12-30 | 2003-08-05 | Silicon Automation Systems Limited | Memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array |
| US6453380B1 (en) * | 1999-01-23 | 2002-09-17 | International Business Machines Corporation | Address mapping for configurable memory system |
| 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 |
| US7793038B2 (en) | 2007-06-26 | 2010-09-07 | International Business Machines Corporation | System and method for programmable bank selection for banked memory subsystems |
| US9268691B2 (en) * | 2012-06-11 | 2016-02-23 | Intel Corporation | Fast mechanism for accessing 2n±1 interleaved memory system |
| US9705532B2 (en) | 2013-03-15 | 2017-07-11 | Arris Enterprises Llc | Parallel low-density parity check (LDPC) accumulation |
| US9582420B2 (en) * | 2015-03-18 | 2017-02-28 | International Business Machines Corporation | Programmable memory mapping scheme with interleave properties |
| CN104699465B (zh) | 2015-03-26 | 2017-05-24 | 中国人民解放军国防科学技术大学 | 向量处理器中支持simt的向量访存装置和控制方法 |
-
2019
- 2019-05-10 US US16/408,575 patent/US10996949B2/en active Active
-
2020
- 2020-05-01 CN CN202080032336.XA patent/CN113767371B/zh active Active
- 2020-05-01 JP JP2021566236A patent/JP7386901B2/ja active Active
- 2020-05-01 GB GB2117077.4A patent/GB2598250B/en active Active
- 2020-05-01 WO PCT/IB2020/054137 patent/WO2020229933A1/en not_active Ceased
- 2020-05-01 DE DE112020000748.0T patent/DE112020000748B4/de active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
| CN101645005A (zh) * | 2008-08-06 | 2010-02-10 | 中国人民解放军信息工程大学 | 基于多维可变描述表的处理器结构与指令系统表示方法 |
| CN103365631A (zh) * | 2012-04-05 | 2013-10-23 | 辉达公司 | 用于存储器访问的动态库模式寻址 |
Non-Patent Citations (1)
| Title |
|---|
| 一种高效的面向基2 FFT算法的SIMD并行存储结构;陈海燕等;《电子学报》;20160215(第02期);全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113767371A (zh) | 2021-12-07 |
| 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 |
| GB2598250B (en) | 2022-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113767371B (zh) | 用于高性能向量处理的地址生成的方法 | |
| KR20230078131A (ko) | 반복 배열 ntt를 이용한 동형 암호 연산 장치 및 방법 | |
| US20190034327A1 (en) | Accessing prologue and epilogue data | |
| US20200081744A1 (en) | Hardware environment and method of performing matrix multiplication in artificial intelligence applications | |
| CN110235099A (zh) | 用于处理输入操作数值的装置和方法 | |
| US10942889B2 (en) | Bit string accumulation in memory array periphery | |
| Khan et al. | Brain-inspired cognition in next-generation racetrack memories | |
| US20190377707A1 (en) | Bit-serial linear algebra processor | |
| JP7748789B2 (ja) | 畳み込みニューラル・ネットワーク実行のための活性化のメモリ・マッピング | |
| CN117573069A (zh) | Cordic算法芯片 | |
| US11941371B2 (en) | Bit string accumulation | |
| US10942890B2 (en) | Bit string accumulation in memory array periphery | |
| US11487699B2 (en) | Processing of universal number bit strings accumulated in memory array periphery | |
| CN113495716A (zh) | 假定张量处理 | |
| TWI901217B (zh) | 以記憶體內計算執行浮點乘積累加運算的電路及方法 | |
| KR102440692B1 (ko) | 메모리 어레이 주변부에서의 비트 스트링의 누산 | |
| US12574204B2 (en) | Highly-parallel hardware architecture for fully homomorphic encryption (FHE) and butterfly-like algorithms | |
| US20250306858A1 (en) | Matrix transpose unit of a semiconductor device and methods of manufacture thereof | |
| CN113536221B (zh) | 运算方法、处理器以及相关产品 | |
| KR102407166B1 (ko) | 호스트 기반 비트 스트링 변환 | |
| KR20250106241A (ko) | 컴퓨트-인-메모리 디바이스들 및 이를 작동하기 위한 방법들 | |
| Nejatollahi et al. | Cryptopim: In-memory acceleration for rlwe lattice-based cryptography | |
| CN116400885A (zh) | 用于密码学的大数硬件乘法的系统和方法 | |
| CN115878075A (zh) | 计算多个值中最小值或最大值的基于优先级编码器的技术 | |
| CN119830974A (zh) | 基于Tensor Core的图神经网络计算加速方法、系统、介质、电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |