KR20240159595A - 스케일링 가능한 벡터 명령어 세트 아키텍처를 위한 서브벡터 지원 명령어 - Google Patents

스케일링 가능한 벡터 명령어 세트 아키텍처를 위한 서브벡터 지원 명령어 Download PDF

Info

Publication number
KR20240159595A
KR20240159595A KR1020247033147A KR20247033147A KR20240159595A KR 20240159595 A KR20240159595 A KR 20240159595A KR 1020247033147 A KR1020247033147 A KR 1020247033147A KR 20247033147 A KR20247033147 A KR 20247033147A KR 20240159595 A KR20240159595 A KR 20240159595A
Authority
KR
South Korea
Prior art keywords
subvector
vector
instruction
support
predicate
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.)
Pending
Application number
KR1020247033147A
Other languages
English (en)
Korean (ko)
Inventor
알레한드로 마르티네즈 비센테
펭 선
Original Assignee
에이알엠 리미티드
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 에이알엠 리미티드 filed Critical 에이알엠 리미티드
Publication of KR20240159595A publication Critical patent/KR20240159595A/ko
Pending legal-status Critical Current

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/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/3001—Arithmetic instructions
    • 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/30003—Arrangements for executing specific machine instructions
    • G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043—LOAD or STORE instructions; Clear instruction
    • 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/30098—Register arrangements
    • G06F9/30105—Register structure
    • G06F9/30109—Register structure having multiple operands in a single register
    • 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887—Concurrent 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]
    • 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887—Concurrent 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/38873—Iterative single instructions for multiple data lanes [SIMD]
    • 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887—Concurrent 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/38873—Iterative single instructions for multiple data lanes [SIMD]
    • G06F9/38875—Iterative 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)
KR1020247033147A 2022-03-11 2022-12-15 스케일링 가능한 벡터 명령어 세트 아키텍처를 위한 서브벡터 지원 명령어 Pending KR20240159595A (ko)

Applications Claiming Priority (3)

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
PCT/GB2022/053244 WO2023170373A1 (en) 2022-03-11 2022-12-15 Sub-vector-supporting instruction for scalable vector instruction set architecture

Publications (1)

Publication Number Publication Date
KR20240159595A true KR20240159595A (ko) 2024-11-05

Family

ID=81254804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247033147A Pending KR20240159595A (ko) 2022-03-11 2022-12-15 스케일링 가능한 벡터 명령어 세트 아키텍처를 위한 서브벡터 지원 명령어

Country Status (9)

Country Link
US (1) US20250156184A1 (cg-RX-API-DMAC7.html)
EP (1) EP4490612A1 (cg-RX-API-DMAC7.html)
JP (1) JP2025507837A (cg-RX-API-DMAC7.html)
KR (1) KR20240159595A (cg-RX-API-DMAC7.html)
CN (1) CN118829969A (cg-RX-API-DMAC7.html)
GB (1) GB2616601B (cg-RX-API-DMAC7.html)
IL (1) IL314882A (cg-RX-API-DMAC7.html)
TW (1) TW202403546A (cg-RX-API-DMAC7.html)
WO (1) WO2023170373A1 (cg-RX-API-DMAC7.html)

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
GB202203431D0 (en) 2022-04-27
IL314882A (en) 2024-10-01
WO2023170373A1 (en) 2023-09-14
TW202403546A (zh) 2024-01-16
GB2616601B (en) 2024-05-08
GB2616601A (en) 2023-09-20
CN118829969A (zh) 2024-10-22
JP2025507837A (ja) 2025-03-21
EP4490612A1 (en) 2025-01-15
US20250156184A1 (en) 2025-05-15

Similar Documents

Publication Publication Date Title
TWI883234B (zh) 用於資料傳輸指令之暫存器定址資訊
US8010953B2 (en) Method for compiling scalar code for a single instruction multiple data (SIMD) execution engine
US7065631B2 (en) Software controllable register map
US20250156182A1 (en) Technique for performing memory access operations
Clark et al. Liquid SIMD: Abstracting SIMD hardware using lightweight dynamic mapping
US12277420B2 (en) Masked-vector-comparison instruction
US20250156184A1 (en) Sub-vector-supporting instruction for scalable vector instruction set architecture
JP7863564B2 (ja) メモリコピーサイズ判定命令及びデータ転送命令
JP7799703B2 (ja) ケイパビリティを使用してメモリへのアクセスを制約するための技法
TW202514358A (zh) 加寬向量載入指令
Wang MTX in 32-bit Protected Mode
Simpson et al. The IBM RT PC ROMP Processor And Memory Management Unit Arc
HK1180804B (en) Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
HK1180804A1 (zh) 用於阻止虛擬處理器的多功能指令的指令功能的功能虛擬化工具

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13 Application amended

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P13-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000