TW202403546A - 用於可擴縮向量指令集架構的子向量支援指令 - Google Patents

用於可擴縮向量指令集架構的子向量支援指令 Download PDF

Info

Publication number
TW202403546A
TW202403546A TW112105151A TW112105151A TW202403546A TW 202403546 A TW202403546 A TW 202403546A TW 112105151 A TW112105151 A TW 112105151A TW 112105151 A TW112105151 A TW 112105151A TW 202403546 A TW202403546 A TW 202403546A
Authority
TW
Taiwan
Prior art keywords
vector
subvector
instruction
sub
instructions
Prior art date
Application number
TW112105151A
Other languages
English (en)
Chinese (zh)
Inventor
亞歷杭德羅 馬丁尼茲維森特
彭 孫
Original Assignee
英商Arm股份有限公司
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股份有限公司 filed Critical 英商Arm股份有限公司
Publication of TW202403546A publication Critical patent/TW202403546A/zh

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/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/3001Arithmetic instructions
    • 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/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 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/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register
    • 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/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]
    • G06F9/38873Iterative single instructions 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/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]
    • G06F9/38873Iterative single instructions for multiple data lanes [SIMD]
    • G06F9/38875Iterative single instructions for multiple data lanes [SIMD] for adaptable or variable architectural vector length

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
TW112105151A 2022-03-11 2023-02-14 用於可擴縮向量指令集架構的子向量支援指令 TW202403546A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2203431.8 2022-03-11
GB2203431.8A GB2616601B (en) 2022-03-11 2022-03-11 Sub-vector-supporting instruction for scalable vector instruction set architecture

Publications (1)

Publication Number Publication Date
TW202403546A true TW202403546A (zh) 2024-01-16

Family

ID=81254804

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112105151A TW202403546A (zh) 2022-03-11 2023-02-14 用於可擴縮向量指令集架構的子向量支援指令

Country Status (9)

Country Link
US (1) US20250156184A1 (https=)
EP (1) EP4490612A1 (https=)
JP (1) JP2025507837A (https=)
KR (1) KR20240159595A (https=)
CN (1) CN118829969A (https=)
GB (1) GB2616601B (https=)
IL (1) IL314882A (https=)
TW (1) TW202403546A (https=)
WO (1) WO2023170373A1 (https=)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4745547A (en) * 1985-06-17 1988-05-17 International Business Machines Corp. Vector processing
US9557995B2 (en) * 2014-02-07 2017-01-31 Arm Limited Data processing apparatus and method for performing segmented operations
EP3125108A1 (en) * 2015-07-31 2017-02-01 ARM Limited Vector processing using loops of dynamic vector length
GB2540939B (en) * 2015-07-31 2019-01-23 Advanced Risc Mach Ltd An apparatus and method for performing a splice operation
US10108581B1 (en) * 2017-04-03 2018-10-23 Google Llc Vector reduction processor

Also Published As

Publication number Publication date
US20250156184A1 (en) 2025-05-15
EP4490612A1 (en) 2025-01-15
JP2025507837A (ja) 2025-03-21
GB2616601B (en) 2024-05-08
WO2023170373A1 (en) 2023-09-14
GB202203431D0 (en) 2022-04-27
KR20240159595A (ko) 2024-11-05
CN118829969A (zh) 2024-10-22
IL314882A (en) 2024-10-01
GB2616601A (en) 2023-09-20

Similar Documents

Publication Publication Date Title
TWI883234B (zh) 用於資料傳輸指令之暫存器定址資訊
Reshadi et al. Instruction set compiled simulation: A technique for fast and flexible instruction set simulation
KR100230105B1 (ko) 간략화된 명령 세트 프로세서의 성능 개선 방법 및 그 프로세서 시스템
KR100218572B1 (ko) 고성능 프로세서의 번역버퍼에 대해 세분성 힌트를 이용하는 프로세서 동작 방법 및 장치
CN102792265B (zh) 基于机器状态的指令破解
US9495163B2 (en) Address generation in a data processing apparatus
US7065631B2 (en) Software controllable register map
US20110320773A1 (en) Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
Clark et al. Liquid SIMD: Abstracting SIMD hardware using lightweight dynamic mapping
CN116724291A (zh) 加载区块指令和存储区块指令
US12277420B2 (en) Masked-vector-comparison instruction
US20250156182A1 (en) Technique for performing memory access operations
TW202403546A (zh) 用於可擴縮向量指令集架構的子向量支援指令
JP2024503638A (ja) メモリコピーサイズ判定命令及びデータ転送命令
JP7799703B2 (ja) ケイパビリティを使用してメモリへのアクセスを制約するための技法
TW202514357A (zh) 縮窄向量儲存指令
Burcham An X86 emulator written using Java
HK1180804B (en) Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor