KR101753900B1 - 스칼라 레지스터 데이터 값에 기초하는 벡터 레지스터 어드레싱 및 기능들 - Google Patents

스칼라 레지스터 데이터 값에 기초하는 벡터 레지스터 어드레싱 및 기능들 Download PDF

Info

Publication number
KR101753900B1
KR101753900B1 KR1020157025988A KR20157025988A KR101753900B1 KR 101753900 B1 KR101753900 B1 KR 101753900B1 KR 1020157025988 A KR1020157025988 A KR 1020157025988A KR 20157025988 A KR20157025988 A KR 20157025988A KR 101753900 B1 KR101753900 B1 KR 101753900B1
Authority
KR
South Korea
Prior art keywords
register
vector
processor
registers
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.)
Expired - Fee Related
Application number
KR1020157025988A
Other languages
English (en)
Korean (ko)
Other versions
KR20150122195A (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 KR20150122195A publication Critical patent/KR20150122195A/ko
Application granted granted Critical
Publication of KR101753900B1 publication Critical patent/KR101753900B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30098Register arrangements
    • G06F9/30105Register structure
    • 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/30018Bit or string 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/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/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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30163Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
KR1020157025988A 2013-02-26 2014-02-21 스칼라 레지스터 데이터 값에 기초하는 벡터 레지스터 어드레싱 및 기능들 Expired - Fee Related KR101753900B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/777,297 2013-02-26
US13/777,297 US9632781B2 (en) 2013-02-26 2013-02-26 Vector register addressing and functions based on a scalar register data value
PCT/US2014/017713 WO2014133895A2 (en) 2013-02-26 2014-02-21 Vector register addressing and functions based on a scalar register data value

Publications (2)

Publication Number Publication Date
KR20150122195A KR20150122195A (ko) 2015-10-30
KR101753900B1 true KR101753900B1 (ko) 2017-07-04

Family

ID=50272743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025988A Expired - Fee Related KR101753900B1 (ko) 2013-02-26 2014-02-21 스칼라 레지스터 데이터 값에 기초하는 벡터 레지스터 어드레싱 및 기능들

Country Status (6)

Country Link
US (1) US9632781B2 (enExample)
EP (1) EP2962187B1 (enExample)
JP (1) JP6293795B2 (enExample)
KR (1) KR101753900B1 (enExample)
CN (1) CN104981771B (enExample)
WO (1) WO2014133895A2 (enExample)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10001995B2 (en) 2015-06-02 2018-06-19 Intel Corporation Packed data alignment plus compute instructions, processors, methods, and systems
US20170177355A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Instruction and Logic for Permute Sequence
US11243958B2 (en) 2015-12-31 2022-02-08 Teradata Us, Inc. Implementing contract-based polymorphic and parallelizable SQL user-defined scalar and aggregate functions
US10762164B2 (en) 2016-01-20 2020-09-01 Cambricon Technologies Corporation Limited Vector and matrix computing device
CN111580863B (zh) * 2016-01-20 2024-05-03 中科寒武纪科技股份有限公司 一种向量运算装置及运算方法
US10296337B2 (en) * 2016-03-21 2019-05-21 International Business Machines Corporation Preventing premature reads from a general purpose register
GB2548600B (en) * 2016-03-23 2018-05-09 Advanced Risc Mach Ltd Vector predication instruction
CN107315718B (zh) * 2016-04-26 2020-08-21 中科寒武纪科技股份有限公司 一种用于执行向量内积运算的装置和方法
US20180217838A1 (en) * 2017-02-01 2018-08-02 Futurewei Technologies, Inc. Ultra lean vector processor
KR102343652B1 (ko) 2017-05-25 2021-12-24 삼성전자주식회사 벡터 프로세서의 서열 정렬 방법
CN114008604A (zh) * 2020-07-28 2022-02-01 深圳市汇顶科技股份有限公司 具有专用寄存器的risc处理器
CN114816769B (zh) * 2022-06-08 2025-11-14 中科南京智能技术研究院 一种向量处理器处理方法及系统
US12373210B2 (en) * 2022-12-02 2025-07-29 SiFive, Inc. Transfer buffer between a scalar pipeline and vector pipeline
CN119847945B (zh) * 2025-03-19 2025-06-06 极芯通讯技术(安吉)有限公司 向量寄存器装置、向量寄存器寻址方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163667A1 (en) 2001-10-31 2003-08-28 Alphamosaic Limited Vector processing system
JP2004519768A (ja) 2001-02-20 2004-07-02 エイアールエム リミテッド コプロセッサを使用したデータ処理
US20050125640A1 (en) 2003-12-09 2005-06-09 Arm Limited Data processing apparatus and method for moving data between registers and memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5922066A (en) 1997-02-24 1999-07-13 Samsung Electronics Co., Ltd. Multifunction data aligner in wide data width processor
US5933650A (en) * 1997-10-09 1999-08-03 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US7197625B1 (en) 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US7376812B1 (en) 2002-05-13 2008-05-20 Tensilica, Inc. Vector co-processor for configurable and extensible processor architecture
WO2004015563A1 (en) * 2002-08-09 2004-02-19 Intel Corporation Multimedia coprocessor control mechanism including alignment or broadcast instructions
US6986023B2 (en) * 2002-08-09 2006-01-10 Intel Corporation Conditional execution of coprocessor instruction based on main processor arithmetic flags
US7574409B2 (en) 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
US7620797B2 (en) 2006-11-01 2009-11-17 Apple Inc. Instructions for efficiently accessing unaligned vectors
US8255446B2 (en) * 2006-12-12 2012-08-28 Arm Limited Apparatus and method for performing rearrangement and arithmetic operations on data
GB2444744B (en) 2006-12-12 2011-05-25 Advanced Risc Mach Ltd Apparatus and method for performing re-arrangement operations on data
US7783860B2 (en) 2007-07-31 2010-08-24 International Business Machines Corporation Load misaligned vector with permute and mask insert
US20090172348A1 (en) * 2007-12-26 2009-07-02 Robert Cavin Methods, apparatus, and instructions for processing vector data
US10387151B2 (en) 2007-12-31 2019-08-20 Intel Corporation Processor and method for tracking progress of gathering/scattering data element pairs in different cache memory banks
US7865693B2 (en) 2008-10-14 2011-01-04 International Business Machines Corporation Aligning precision converted vector data using mask indicating offset relative to element boundary corresponding to precision type
US8607033B2 (en) 2010-09-03 2013-12-10 Lsi Corporation Sequentially packing mask selected bits from plural words in circularly coupled register pair for transferring filled register bits to memory
US8904153B2 (en) 2010-09-07 2014-12-02 International Business Machines Corporation Vector loads with multiple vector elements from a same cache line in a scattered load operation
US20120254589A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian System, apparatus, and method for aligning registers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004519768A (ja) 2001-02-20 2004-07-02 エイアールエム リミテッド コプロセッサを使用したデータ処理
US20030163667A1 (en) 2001-10-31 2003-08-28 Alphamosaic Limited Vector processing system
US20050125640A1 (en) 2003-12-09 2005-06-09 Arm Limited Data processing apparatus and method for moving data between registers and memory

Also Published As

Publication number Publication date
US20140244967A1 (en) 2014-08-28
KR20150122195A (ko) 2015-10-30
EP2962187A2 (en) 2016-01-06
CN104981771A (zh) 2015-10-14
CN104981771B (zh) 2018-05-04
US9632781B2 (en) 2017-04-25
EP2962187B1 (en) 2018-03-28
WO2014133895A3 (en) 2014-10-23
JP6293795B2 (ja) 2018-03-14
WO2014133895A2 (en) 2014-09-04
JP2016511470A (ja) 2016-04-14

Similar Documents

Publication Publication Date Title
KR101753900B1 (ko) 스칼라 레지스터 데이터 값에 기초하는 벡터 레지스터 어드레싱 및 기능들
US11714642B2 (en) Systems, methods, and apparatuses for tile store
US11645135B2 (en) Hardware apparatuses and methods for memory corruption detection
EP3588281B1 (en) Apparatus and method for a tensor permutation engine
US11221762B2 (en) Common platform for one-level memory architecture and two-level memory architecture
TWI574156B (zh) 具有獨立的使用者和監管者域的記憶體保護鑰結構
US11494078B2 (en) Translation lookaside buffer in memory
US9858140B2 (en) Memory corruption detection
CN104025020B (zh) 用于执行掩码位压缩的系统、装置以及方法
KR101839479B1 (ko) 더 넓은 레지스터에의 모드 의존형 부분 폭 로드 프로세서들, 방법들, 및 시스템들
GB2514882A (en) Instruction emulation processors, methods, and systems
EP3644179A2 (en) Apparatus and method for tile gather and tile scatter
US9959939B2 (en) Granular cache repair
CN107924442B (zh) 用于轻量级虚拟化上下文的方法和设备
US12135643B2 (en) Sequestered memory for selective storage of metadata corresponding to cached data
CN111752863A (zh) 用于专用地址映射的系统、设备和方法
US11360766B2 (en) System and method for processing large datasets

Legal Events

Date Code Title Description
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

PA0105 International application

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

PG1501 Laying open of application

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

A201 Request for examination
A302 Request for accelerated examination
P11-X000 Amendment of application requested

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

P13-X000 Application amended

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

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20210629

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20210629

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000