KR102561619B1 - 인접 메모리 어드레스에서의 데이터 저장 - Google Patents

인접 메모리 어드레스에서의 데이터 저장 Download PDF

Info

Publication number
KR102561619B1
KR102561619B1 KR1020197007881A KR20197007881A KR102561619B1 KR 102561619 B1 KR102561619 B1 KR 102561619B1 KR 1020197007881 A KR1020197007881 A KR 1020197007881A KR 20197007881 A KR20197007881 A KR 20197007881A KR 102561619 B1 KR102561619 B1 KR 102561619B1
Authority
KR
South Korea
Prior art keywords
data
offset
memory
valid
vector
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
KR1020197007881A
Other languages
English (en)
Korean (ko)
Other versions
KR20190056365A (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 KR20190056365A publication Critical patent/KR20190056365A/ko
Application granted granted Critical
Publication of KR102561619B1 publication Critical patent/KR102561619B1/ko
Active 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/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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • H03M7/6023Parallelization

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)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Communication Control (AREA)
KR1020197007881A 2016-09-22 2017-07-27 인접 메모리 어드레스에서의 데이터 저장 Active KR102561619B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/273,366 2016-09-22
US15/273,366 US10162752B2 (en) 2016-09-22 2016-09-22 Data storage at contiguous memory addresses
PCT/US2017/044227 WO2018057115A1 (en) 2016-09-22 2017-07-27 Data storage at contiguous memory addresses

Publications (2)

Publication Number Publication Date
KR20190056365A KR20190056365A (ko) 2019-05-24
KR102561619B1 true KR102561619B1 (ko) 2023-07-28

Family

ID=59558510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197007881A Active KR102561619B1 (ko) 2016-09-22 2017-07-27 인접 메모리 어드레스에서의 데이터 저장

Country Status (8)

Country Link
US (1) US10162752B2 (enExample)
EP (1) EP3516774B1 (enExample)
JP (1) JP6985377B2 (enExample)
KR (1) KR102561619B1 (enExample)
CN (1) CN109690956B (enExample)
CA (1) CA3033960A1 (enExample)
ES (1) ES2967320T3 (enExample)
WO (1) WO2018057115A1 (enExample)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158757B (zh) * 2019-12-31 2021-11-30 中昊芯英(杭州)科技有限公司 并行存取装置和方法以及芯片
US11281554B2 (en) * 2020-03-17 2022-03-22 Samsung Electronics Co., Ltd. System and method for in-memory computation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130024654A1 (en) * 2011-07-20 2013-01-24 Gove Darryl J Vector operations for compressing selected vector elements
US20140013077A1 (en) * 2011-12-08 2014-01-09 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0731669B2 (ja) * 1986-04-04 1995-04-10 株式会社日立製作所 ベクトル・プロセツサ
JP2000022707A (ja) 1998-07-03 2000-01-21 Fujitsu Ltd データ伝送方法、およびデータ伝送システム
EP1267580A3 (en) 2001-05-28 2009-06-03 Panasonic Corporation Data transfer device
US7889765B2 (en) 2005-11-30 2011-02-15 Time Warner Cable Inc. Apparatus and methods for utilizing variable rate program streams in a network
WO2008127458A2 (en) 2006-12-06 2008-10-23 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a shared, front-end, distributed raid
JP5262177B2 (ja) * 2008-02-22 2013-08-14 富士通株式会社 ベクトル積の並列処理方法
US9792117B2 (en) * 2011-12-08 2017-10-17 Oracle International Corporation Loading values from a value vector into subregisters of a single instruction multiple data register
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
CN107729018A (zh) * 2012-09-28 2018-02-23 英特尔公司 循环向量化方法和设备
US9268571B2 (en) * 2012-10-18 2016-02-23 Qualcomm Incorporated Selective coupling of an address line to an element bank of a vector register file
US9606961B2 (en) * 2012-10-30 2017-03-28 Intel Corporation Instruction and logic to provide vector compress and rotate functionality
US11113054B2 (en) * 2013-09-10 2021-09-07 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression
US10133570B2 (en) * 2014-09-19 2018-11-20 Intel Corporation Processors, methods, systems, and instructions to select and consolidate active data elements in a register under mask into a least significant portion of result, and to indicate a number of data elements consolidated
US9697176B2 (en) * 2014-11-14 2017-07-04 Advanced Micro Devices, Inc. Efficient sparse matrix-vector multiplication on parallel processors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130024654A1 (en) * 2011-07-20 2013-01-24 Gove Darryl J Vector operations for compressing selected vector elements
US20140013077A1 (en) * 2011-12-08 2014-01-09 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors

Also Published As

Publication number Publication date
CN109690956A (zh) 2019-04-26
ES2967320T3 (es) 2024-04-29
EP3516774B1 (en) 2023-11-29
US10162752B2 (en) 2018-12-25
WO2018057115A1 (en) 2018-03-29
KR20190056365A (ko) 2019-05-24
EP3516774A1 (en) 2019-07-31
US20180081803A1 (en) 2018-03-22
CN109690956B (zh) 2024-02-13
CA3033960A1 (en) 2018-03-29
BR112019005612A2 (pt) 2019-10-08
JP2019530091A (ja) 2019-10-17
JP6985377B2 (ja) 2021-12-22

Similar Documents

Publication Publication Date Title
US9639369B2 (en) Split register file for operands of different sizes
CN111651205B (zh) 一种用于执行向量内积运算的装置和方法
EP3033670B1 (en) Vector accumulation method and apparatus
KR101697548B1 (ko) Fifo 로드 명령
CN111651203B (zh) 一种用于执行向量四则运算的装置和方法
TWI803634B (zh) 子向量數值之加載及複製之處理器、操作一處理器之方法、處理設備及包含指令的非暫時性電腦可讀媒體
EP3948791B1 (en) General purpose register and wave slot allocation in graphics processing
KR102561619B1 (ko) 인접 메모리 어드레스에서의 데이터 저장
US8843730B2 (en) Executing instruction packet with multiple instructions with same destination by performing logical operation on results of instructions and storing the result to the destination
US10706316B2 (en) System and method of feature descriptor processing
KR102092049B1 (ko) Simd 슬라이딩 윈도우 연산
US20170046168A1 (en) Scalable single-instruction-multiple-data instructions
CN111857822B (zh) 一种运算装置及其操作方法
WO2022191859A1 (en) Vector processing using vector-specific data type
BR112019005612B1 (pt) Armazenamento de dados em endereços de memória contíguos

Legal Events

Date Code Title Description
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
PA0201 Request for examination

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

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

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

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