JP2016511470A5 - - Google Patents

Download PDF

Info

Publication number
JP2016511470A5
JP2016511470A5 JP2015558998A JP2015558998A JP2016511470A5 JP 2016511470 A5 JP2016511470 A5 JP 2016511470A5 JP 2015558998 A JP2015558998 A JP 2015558998A JP 2015558998 A JP2015558998 A JP 2015558998A JP 2016511470 A5 JP2016511470 A5 JP 2016511470A5
Authority
JP
Japan
Prior art keywords
register
processor
vrf
vector
alignment
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.)
Granted
Application number
JP2015558998A
Other languages
English (en)
Other versions
JP6293795B2 (ja
JP2016511470A (ja
Filing date
Publication date
Priority claimed from US13/777,297 external-priority patent/US9632781B2/en
Application filed filed Critical
Publication of JP2016511470A publication Critical patent/JP2016511470A/ja
Publication of JP2016511470A5 publication Critical patent/JP2016511470A5/ja
Application granted granted Critical
Publication of JP6293795B2 publication Critical patent/JP6293795B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (23)

  1. ベクトルアライメント命令を実行するための方法であって、
    第1のプロセッサ上開始場所に、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内のレジスタからアクセスするステップと、
    前記第2のプロセッサ上で、ベクトルレジスタファイル(VRF)のレジスタ内の前記開始場所で始まる1組のデータ値を、前記VRFの標的レジスタに1組のアライメントされたデータ値として記憶されるようにアライメントするステップと、
    前記VRFの標的レジスタに前記アライメントされた1組のデータ値を記憶するステップとを含む方法。
  2. 前記スカラーレジスタファイルの前記レジスタ、および前記標的レジスタは前記ベクトルアライメント命令内で指定され、前記VRFの前記レジスタはベクトルユニット(Vu)ベースレジスタに記憶された値によって間接的に識別される、請求項1に記載の方法。
  3. スパンビットが、前記VRFの第1のレジスタ群のうちの第1のレジスタまたは前記VRFの第2のレジスタ群のうちの第2のレジスタを前記VRFの前記レジスタとして選択する、請求項1に記載の方法。
  4. 前記スパンビットは前記開始場所の最上位ビットである、請求項3に記載の方法。
  5. 前記第1のレジスタのうちの前記第1のレジスタは前記ベクトルアライメント命令のVuフィールドによって識別され、前記第1のレジスタのそれ以外のレジスタはレジスタの命令指定による順序付けに従って識別される、請求項3に記載の方法。
  6. 前記第1のプロセッサは汎用(GP)プロセッサであり前記第2のプロセッサは単一命令多重データ(SIMD)ベクトルプロセッサである、請求項1に記載の方法。
  7. 前記第1のプロセッサ上の演算に影響を及ぼすことなく開始場所のアクセスが発生可能なように、前記スカラーレジスタファイルの前記レジスタが、前記第2のプロセッサに割り当てられたデータポートを通じて共有される、請求項1に記載の方法。
  8. 前記第1のプロセッサ上で作成され、前記第1のプロセッサの前記スカラーレジスタファイル内の前記レジスタに記憶され、かつ前記第1のプロセッサと前記第2のプロセッサとの間で共有される値からスパンビットおよび前記開始場所にアクセスするステップ
    記第2のプロセッサ上で前記ベクトルレジスタファイル(VRF)の1組のレジスタ内の前記開始場所で始まる前記1組のデータ値を、前記VRFの標的レジスタの組前記1組のアライメントされたデータ値として記憶されるようにアライメントするステップであって、前記VRFの前記1組のレジスタは前記スパンビットに基づいて第1のレジスタセットまたは第2のレジスタセットとして選択される、アライメントするステップ
    さらに含む、請求項1に記載の方法。
  9. 前記第1のレジスタセットは、Vu識別されたレジスタで始まるリニアプラスワン順序付けにおける3つのレジスタからなる組であるとともに前記第2のレジスタセットは、Vu+k識別されたレジスタで始まるリニアプラスkプラスワン順序付けにおける3つのレジスタからなる組であり、かつkは前記アライメント命令によって1以上の整数となるように指定される、請求項8に記載の方法。
  10. 前記第1のレジスタセットは、Vu識別されたレジスタで始まるリニアプラスツー順序付けにおける3つのレジスタからなる組であるとともに前記第2のレジスタセットは、Vu+k識別されたレジスタで始まるリニアプラスkプラスツー順序付けにおける3つのレジスタからなる組であり、かつkは前記アライメント命令によって1以上の整数となるように指定される、請求項8に記載の方法。
  11. 前記第1のレジスタセットはVu、Vu+P1Vu+P2であり、前記第2のレジスタセットはVu+P1、Vu+P2Vu+P3であり、かつP1、P2P3はアクセス可能なVRFレジスタの範囲内に来るように前記アライメント命令によって指定された素数である、請求項8に記載の方法。
  12. ベクトルアライメントおよび演算命令を実行するための方法であって、
    第1のプロセッサ上で作成された開始場所に対して、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内のレジスタからアクセスするステップと、
    前記第2のプロセッサ上でベクトルレジスタファイル(VRF)のレジスタ内の前記開始場所で始まる1組のデータ値を、1組のアライメントされたデータ値が作成されるようにアライメントするステップと
    前記VRFの標的レジスタに記憶される結果を作成するために前記アライメントされたデータ値に対して前記ベクトルアライメントおよび演算命令に従って演算をするステップと、
    を含む方法。
  13. 前記第1のプロセッサ上の演算に影響を及ぼすことなく前記開始場所の前記アクセスが発生可能なように、前記スカラーレジスタファイル内の前記レジスタが、前記第2のプロセッサに割り当てられたデータポートを通じて共有される、請求項12に記載の方法。
  14. 前記スカラーレジスタファイル内の前記レジスタ、および前記標的レジスタは、前記ベクトルアライメントおよび演算命令において指定され、前記VRFの前記レジスタはベクトルユニット(Vu)ベースレジスタに記憶された値によって間接的に識別される、請求項12に記載の方法。
  15. ベクトルマスクアライメント命令を実行するための方法であって、
    第1のプロセッサ上で作成されたマスクおよび開始場所に対して、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内の第1のレジスタおよび第2のレジスタからアクセスするステップと、
    前記マスク内のイネーブルビットに従って前記第2のプロセッサ上でベクトルレジスタファイル(VRF)の1組のレジスタを識別するように前記マスクを適用するステップと、
    第2のプロセッサ上で前記VRFの前記識別された1組のレジスタ内の前記開始場所で始まる1組のデータ値を、前記VRFの標的レジスタの組に1組のアライメントされたデータ値として記憶されるようにアライメントするステップと、
    前記VRFの標的レジスタの組に前記アライメントされた1組のデータ値を記憶するステップと
    を含む方法。
  16. 前記第1のプロセッサ上の演算に影響を及ぼすことなく前記マスクおよび前記開始場所の前記アクセスが発生可能なように、前記第1のレジスタおよび前記第2のレジスタが、前記第2のプロセッサに割り当てられたデータポートを通じて共有される、請求項15に記載の方法。
  17. ベクトルアライメント命令を実行するための装置であって、
    1つまたは複数のレジスタ値を第2のプロセッサと共有するように構成された第1のプロセッサと関連付けされたスカラーレジスタファイルであって、前記1つまたは複数のレジスタ値はベクトルアライメント命令において指定されたRtアドレスに従って前記スカラーレジスタファイルからアクセスされる、スカラーレジスタファイルと、
    ベクトルレジスタファイル(VRF)の複数のレジスタ内の識別されたデータを、前記ベクトルアライメント命令、および前記1つまたは複数のレジスタ値から決定されたアライメント開始場所に従ってアライメントするように構成された前記第2のプロセッサ内のアライメント回路と、
    前記アライメント回路から前記アライメントされたデータを選択し、前記ベクトルアライメント命令によって指定されたアライメント記憶アドレスに従って、前記アライメントされたデータを前記ベクトルレジスタファイル内に記憶するように構成された記憶回路と、
    を備える装置。
  18. 前記開始場所は前記複数のレジスタの開始レジスタ内にある、請求項17に記載の装置。
  19. ダブルアライメント命令は、スパンコードの状態に従って前記VRFの第1のレジスタセットまたは第2のレジスタセットを識別するために、前記1つまたは複数のレジスタ値から選択された前記スパンコードを指定する、請求項17に記載の装置。
  20. マスクアライメント命令が、マスク内の1つまたは複数のイネーブルビットに従って、前記VRFから選択される1つまたは複数のレジスタ内に記憶されたデータのアライメントを識別するために、前記1つまたは複数のレジスタ値から選択されるマスクを指定する、請求項17に記載の装置。
  21. 前記第1のプロセッサ上の演算に影響を及ぼすことなく前記レジスタ値の前記アクセスが発生可能なように、前記第1のプロセッサ内の前記スカラーレジスタファイルからアクセスされる前記1つまたは複数のレジスタ値が、前記第2のプロセッサに割り当てられたデータポートを通じて共有される、請求項17に記載の装置。
  22. コンピュータ読取り可能なプログラムデータおよびコードによって符号化されたコンピュータ可読記憶媒体であって、前記プログラムデータおよびコードは実行時に、
    第1のプロセッサ上の開始場所に対して、前記第1のプロセッサと第2のプロセッサとの間で共有されたスカラーレジスタファイル内のレジスタからアクセスすること、
    第2のプロセッサ上でベクトルレジスタファイル(VRF)のレジスタ内の前記開始場所で始まる1組のデータ値を、前記VRF内の標的レジスタに1組のアライメントされたデータ値として記憶されるようにアライメントすること、および
    前記VRFの標的レジスタに前記アライメントされた1組のデータ値を記憶すること
    を行うように動作可能である、コンピュータ可読記憶媒体。
  23. ベクトルアライメント命令を実行するための装置であって、
    第1のプロセッサ内のスカラーレジスタファイルからアクセスされる1つまたは複数のレジスタ値を第2のプロセッサと共有するための手段であって、前記1つまたは複数のレジスタ値はベクトルアライメント命令において指定されたRtアドレスに従ってアクセスされ、前記共有されたレジスタ値のうちの1つから開始場所が決定される、共有するための手段と、
    前記ベクトルアライメント命令に従って、ベクトルレジスタファイル(VRF)の開始Vuレジスタ内の前記開始場所と前記VRFの最終Vuレジスタの終了場所との間で識別された前記第2のプロセッサ内のデータをアライメントするための手段と
    アライメント回路から前記アライメントされたデータを選択するとともに前記ベクトルアライメント命令によって指定されたアライメント記憶アドレスに従って前記アライメントされたデータを前記ベクトルレジスタファイル内に記憶するための手段
    を備える装置。
JP2015558998A 2013-02-26 2014-02-21 スカラーレジスタデータ値に基づいたベクトルレジスタアドレス指定および関数 Expired - Fee Related JP6293795B2 (ja)

Applications Claiming Priority (3)

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

Publications (3)

Publication Number Publication Date
JP2016511470A JP2016511470A (ja) 2016-04-14
JP2016511470A5 true JP2016511470A5 (ja) 2017-06-29
JP6293795B2 JP6293795B2 (ja) 2018-03-14

Family

ID=50272743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015558998A Expired - Fee Related JP6293795B2 (ja) 2013-02-26 2014-02-21 スカラーレジスタデータ値に基づいたベクトルレジスタアドレス指定および関数

Country Status (6)

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

Families Citing this family (11)

* 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
CN106990940B (zh) * 2016-01-20 2020-05-22 中科寒武纪科技股份有限公司 一种向量计算装置及运算方法
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
CN111651205B (zh) * 2016-04-26 2023-11-17 中科寒武纪科技股份有限公司 一种用于执行向量内积运算的装置和方法
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处理器

Family Cites Families (20)

* 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
GB2372848B (en) 2001-02-20 2004-10-27 Advanced Risc Mach Ltd Data processing using a coprocessor
GB2382673B (en) 2001-10-31 2005-10-26 Alphamosaic Ltd A vector processing system
US7376812B1 (en) 2002-05-13 2008-05-20 Tensilica, Inc. Vector co-processor for configurable and extensible processor architecture
US6986023B2 (en) * 2002-08-09 2006-01-10 Intel Corporation Conditional execution of coprocessor instruction based on main processor arithmetic flags
AU2003256870A1 (en) * 2002-08-09 2004-02-25 Intel Corporation Multimedia coprocessor control mechanism including alignment or broadcast instructions
GB2409066B (en) * 2003-12-09 2006-09-27 Advanced Risc Mach Ltd A data processing apparatus and method for moving data between registers and memory
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
GB2444744B (en) 2006-12-12 2011-05-25 Advanced Risc Mach Ltd Apparatus and method for performing re-arrangement operations on data
US8255446B2 (en) * 2006-12-12 2012-08-28 Arm Limited Apparatus and method for performing rearrangement and arithmetic 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

Similar Documents

Publication Publication Date Title
JP2016511470A5 (ja)
US10133570B2 (en) 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
JP2016526220A5 (ja)
JP2013175218A5 (ja)
JP2019504403A5 (ja)
JP2012194992A5 (ja) データ処理装置、プログラム、データ構造、データ処理システム、パケットデータ、記録媒体、記憶装置、データ処理方法、データ通信方法および命令セット
JP2017529591A5 (ja)
JP2015201216A5 (ja)
JP2016537726A5 (ja)
JP2014194770A5 (ja)
WO2014133895A3 (en) Vector register addressing and functions based on a scalar register data value
JP2017535842A5 (ja)
JP2016515265A5 (ja)
JP2015534169A5 (ja)
KR101787615B1 (ko) 단일 명령어에 응답하여 회전 및 xor을 수행하기 위한 시스템들, 장치들, 및 방법들
JP2015532748A5 (ja)
JP2016530631A (ja) ベクトルの算術的削減
JP2018505506A5 (ja)
JP2013536487A5 (ja)
WO2017185385A1 (zh) 一种用于执行向量合并运算的装置和方法
EP3343359A1 (en) Apparatus and method for processing sparse data
JP2013536486A5 (ja)
RU2015151125A (ru) Процессоры, способы и системы для осуществления доступа к набору регистров либо как к множеству малых регистров, либо как к объединенному большому регистру
JP2017532657A5 (ja)
US20180203692A1 (en) Vector arithmetic instruction