JP2018537800A5 - - Google Patents

Download PDF

Info

Publication number
JP2018537800A5
JP2018537800A5 JP2018543080A JP2018543080A JP2018537800A5 JP 2018537800 A5 JP2018537800 A5 JP 2018537800A5 JP 2018543080 A JP2018543080 A JP 2018543080A JP 2018543080 A JP2018543080 A JP 2018543080A JP 2018537800 A5 JP2018537800 A5 JP 2018537800A5
Authority
JP
Japan
Prior art keywords
instruction
transfer descriptor
transfer
memory device
processing
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
JP2018543080A
Other languages
English (en)
Other versions
JP6888019B2 (ja
JP2018537800A (ja
Filing date
Publication date
Priority claimed from US14/934,707 external-priority patent/US9977619B2/en
Application filed filed Critical
Publication of JP2018537800A publication Critical patent/JP2018537800A/ja
Publication of JP2018537800A5 publication Critical patent/JP2018537800A5/ja
Application granted granted Critical
Publication of JP6888019B2 publication Critical patent/JP6888019B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (15)

  1. 複数の命令のそれぞれが、(a)命令コード、(b)ソースタイプ、および(c)ソースアドレスを含む前記複数の命令を格納するメモリ装置を提供するステップと、
    前記メモリ装置に動作可能に接続された処理装置を提供するステップと、
    前記複数の命令のうちの第1の命令を前記メモリ装置から前記処理装置が取り出すステップと、
    前記処理装置およびメモリ制御システムのうちの少なくとも一方が、
    前記第1の命令の前記ソースタイプが転送記述子フラグであると判定し、
    前記第1の命令の前記ソースタイプが前記転送記述子フラグであると判定することに応じて、第1の中間結果を得るために転送バッファ内の前記第1の命令の前記ソースアドレスに格納された第1の転送記述子を実行し、
    前記第1の中間結果に対して前記第1の命令の前記命令コードを実行する、
    ことによって、前記第1の命令を処理するステップと、
    を含む、方法。
  2. 前記複数の命令のうちの第2命令を前記メモリ装置から前記処理装置が取り出すステップと、
    前記処理装置およびメモリ制御システムのうちの一方が、
    前記第2の命令の前記ソースタイプが転送記述子フラグではないと判定し、
    前記第2の命令の前記ソースタイプが転送記述子フラグではないと判定することに応じて、前記第2の命令の前記ソースアドレスに格納されたデータ値を要求し、及び
    前記データ値に対して前記第2の命令の前記命令コードを実行する、
    ことによって、前記第2の命令を処理するステップと、
    を更に含み、
    前記第2の命令の前記命令コードを実行することは、前記第1の命令の前記命令コードを実行することと同じの操作を実行することを含むように、前記第2の命令の前記命令コードは、前記第1の命令の前記命令コードと同一である、ことを特徴とする、請求項に記載の方法。
  3. 前記第1の中間結果に対して前記第1の命令の前記命令コードを実行することは、第1
    の結果値をもたらし、
    前記方法は、
    前記第1の命令のデスティネーションタイプが前記転送記述子フラグであると判定するステップと、
    前記第1の命令の前記デスティネーションタイプが前記転送記述子フラグであると判定することに応じて、前記転送バッファ内の前記第1の命令のデスティネーションアドレスに格納された第2の転送記述子を実行して、第2の中間結果を取得し、
    格納された前記第1の結果値を、前記メモリ装置内の前記第2の中間結果に対応するアドレスに格納する、
    ことを更に含む、
    ことを特徴とする請求項に記載の方法。
  4. 前記データ値に対して前記第2の命令の前記命令コードを実行することにより、第2の結果値がもたらされ、
    前記方法は、
    前記第2の命令の前記デスティネーションタイプが前記転送記述子フラグではないと判定し、
    前記第2の命令の前記デスティネーションタイプが前記転送記述子フラグではないと判定することに応じて、前記第2の結果値を前記第2の命令の前記デスティネーションアドレスにおいて前記メモリ装置に格納する、
    ことを更に含み、
    前記第1の転送記述子を実行するステップは、前記第1の転送記述子の状態を更新するステップを含み、及び
    前記第2の転送記述子を実行するステップは、前記第2の転送記述子の状態を更新するステップを含む、
    ことを特徴とする、請求項に記載の方法。
  5. 前記第1の転送記述子を実行するステップは、
    前記第1の転送記述子の前記状態に従って少なくとも1つの読み出しアドレスを識別し、及び
    前記メモリ装置内の前記少なくとも1つの読み出しアドレスから少なくとも1つの取り出されたデータ値を取り出す、ことを更に含み
    前記第1の中間結果は、前記少なくとも1つの取り出されたデータ値と、前記少なくとも1つの取り出されたデータ値から導出された値とのうちの少なくとも1つである、
    ことを特徴とする請求項に記載の方法。
  6. 前記第1の命令を処理するステップは、アプリケーションによってインスタンス化された実行の第1のスレッドを実行しながらプロセッサによって実行され、
    前記方法は、
    前記プロセッサによって、前記第1の転送記述子および前記第2の転送記述子のうちの少なくとも一方の状態を評価するステップと、
    前記第1の転送記述子の状態と前記第2の転送記述子の状態の少なくとも一方が閾値条件を満たすと判定するステップと、及び
    前記第1の転送記述子の前記状態および前記第2の転送記述子の前記状態のうちの少なくとも一方が前記閾値条件を満たすと判定することに応じて、実行の前記第1のスレッドの前記少なくとも1つ及び、前記アプリケーションによってインスタンス化された実行の別のスレッドのうちの少なくとも一方の実行をブロックするステップと、
    を更に含む、請求項に記載の方法。
  7. 前記転送バッファは、前記メモリ装置とは別のデバイスであり、
    前記第1の命令の前記ソースタイプが前記転送記述子フラグであると判定するステップと、
    前記第1の命令の前記ソースタイプが前記転送記述子フラグであると判定することに応じて、前記第1の中間結果を得るために前記転送バッファ内の前記第1の命令の前記ソースアドレスに格納された前記第1の転送記述子を実行するステップと、
    の両方が、前記処理装置と前記メモリ装置との間に介在する前記処理装置とは別の装置によって実行される、ことを特徴とする請求項に記載の方法。
  8. メモリ装置と、
    前記メモリ装置に動作可能に接続された処理装置であって、(a)命令コード、(b)ソースタイプ、及び(c)ソースアドレスを含む命令を処理するようにプログラムされた前記処理装置と、
    を含み、
    前記処理装置は、更に、
    前記メモリ装置から命令を取り出し、
    前記命令の前記ソースタイプを評価し、
    前記命令の前記ソースタイプが転送記述子フラグである場合、(i)転送バッファ内の前記ソースアドレスに対応するアドレスにおいて対応する転送記述子を取り出し、(ii)前記対応する転送記述子を実行して第1の中間結果を取得し、及び(iii)前記第1の中間結果に対して前記命令の前記命令コードを実行して結果値を取得する、
    のに有効であるように、前記処理装置により前記命令を処理すること、及び前記メモリ装置と前記処理装置との間に介在するメモリ制御システムにおいて前記命令を処理することの少なくとも一方を実行する、
    ようにさらにプログラムされる、ことを特徴とする、システム。
  9. 前記処理装置は、
    前記命令の前記ソースタイプが転送記述子フラグでない場合、(iv)前記命令の前記ソースアドレスにおいて前記メモリ装置に格納されたデータ値を取り出し、及び(v)前記命令の前記命令コードを、前記ソースアドレスにおいて前記メモリ装置に格納された前記データ値に対して実行するために有効であるように、
    前記処理装置により前記命令を処理することと、及び前記メモリ装置と前記処理装置との間に介在する前記メモリ制御システムにおいて前記命令の処理を呼び出すこととの少なくとも一方を実行するように、更にプログラムされることを特徴とする、請求項に記載のシステム。
  10. (a)前記ソースタイプにかかわらず、前記命令コードに応じて実行される操作が同じであるように、前記命令コードを実行するように前記処理装置がプログラムされることと、並びに、(b)前記メモリ制御システムにおいて前記命令を処理するように前記処理装置はプログラムされており、及び、前記メモリ制御システムは、前記ソースタイプにかかわらず前記命令コードに応じて実行される操作が同じであるように、プログラムされることと、のうちの少なくとも一方であること特徴とする請求項に記載のシステム。
  11. 前記処理装置は、
    前記命令のデスティネーションタイプを評価し、
    前記命令の前記デスティネーションタイプが前記転送記述子フラグである場合、(vi)前記命令のデスティネーションアドレスに対応するアドレスにおいて前記転送バッファに格納された第2の転送記述子を実行して、第2の中間結果を取得し、(vii)前記メモリ装置内の前記第2の中間結果に対応するアドレスに前記結果値を格納する、
    ために有効であるように、
    前記処理装置により前記命令を処理することと、前記メモリ装置と前記処理装置との間
    に介在する前記メモリ制御システムにおいて前記命令の処理を呼び出すことと、の少なくとも一方を実行するように、更にプログラムされることを特徴とする、請求項10に記載のシステム。
  12. 前記処理装置は、
    前記命令の前記デスティネーションタイプが前記転送記述子フラグでない場合、前記結果値を前記命令の前記デスティネーションアドレスにおいて前記メモリ装置に格納するために有効であるように、
    前記処理装置により前記命令の処理することと、前記メモリ装置と前記処理装置との間に介在する前記メモリ制御システムにおいて前記命令の処理を呼び出すこととの少なくとも一方を実行するように、更にプログラムされ
    1の転送記述子は、前記第1の転送記述子の状態を更新するのに有効な実行可能コードを含み、及び
    前記第2の転送記述子は、前記第2の転送記述子の状態を更新するのに有効な実行可能コードを含む、ことを特徴とする請求項11に記載のシステム。
  13. 前記第1の転送記述子は、
    前記第1の転送記述子の前記状態に従って少なくとも1つの読み出しアドレスを識別し、及び
    前記メモリ装置内の前記少なくとも1つの読み出しアドレスから少なくとも1つの取り出されたデータ値を取り出し、及び
    前記取り出されたデータの少なくとも1つとして、前記少なくとも1つの取り出されたデータ値に関しての関数を評価することによって、前記第1の中間結果を計算する、
    ために有効な実行可能コードを含む、請求項12に記載のシステム。
  14. 前記処理装置は、
    前記第1の転送記述子と前記第2の転送記述子の少なくとも一方の前記状態を評価し、
    前記第1の転送記述子および前記第2の転送記述子の前記少なくとも一方の前記状態が閾値条件を満たす場合、前記処理装置によって実行される実行の少なくとも1つのスレッドの実行をブロックする、
    ように更にプログラムされる、ことを特徴とする、請求項12に記載のシステム
  15. 前記転送バッファは、前記メモリ装置とは別のデバイスである、請求項に記載のシステム
JP2018543080A 2015-11-06 2016-11-08 メモリアクセスコマンドの転送記述子 Active JP6888019B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/934,707 US9977619B2 (en) 2015-11-06 2015-11-06 Transfer descriptor for memory access commands
PCT/US2016/060995 WO2017079769A1 (en) 2015-11-06 2016-11-08 Transfer descriptor for memory access commands

Publications (3)

Publication Number Publication Date
JP2018537800A JP2018537800A (ja) 2018-12-20
JP2018537800A5 true JP2018537800A5 (ja) 2019-12-19
JP6888019B2 JP6888019B2 (ja) 2021-06-16

Family

ID=58663110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018543080A Active JP6888019B2 (ja) 2015-11-06 2016-11-08 メモリアクセスコマンドの転送記述子

Country Status (6)

Country Link
US (1) US9977619B2 (ja)
EP (1) EP3398075B1 (ja)
JP (1) JP6888019B2 (ja)
KR (1) KR102632382B1 (ja)
CN (1) CN108292277B (ja)
WO (1) WO2017079769A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258491B (zh) * 2018-11-30 2021-10-15 北京忆芯科技有限公司 降低读命令处理延迟的方法与装置
CN112347186B (zh) * 2019-08-09 2023-02-28 安徽寒武纪信息科技有限公司 数据同步方法及装置以及相关产品
CN111782267B (zh) * 2019-04-04 2022-12-09 安徽寒武纪信息科技有限公司 数据处理方法及装置以及相关产品
CN111782577B (zh) * 2019-04-04 2023-03-24 安徽寒武纪信息科技有限公司 数据处理装置及方法以及相关产品
CN111831329B (zh) * 2019-04-19 2022-12-09 安徽寒武纪信息科技有限公司 数据处理方法及装置以及相关产品
CN111831337B (zh) * 2019-04-19 2022-11-29 安徽寒武纪信息科技有限公司 数据同步方法及装置以及相关产品
US11243699B2 (en) * 2019-05-22 2022-02-08 Micron Technology, Inc. System using a restricted operation mode memory indicator
CN110457232A (zh) * 2019-07-31 2019-11-15 联想(北京)有限公司 数据处理方法、装置、计算设备及介质
US11221776B2 (en) * 2019-12-30 2022-01-11 Micron Technology, Inc. Metadata indication for a memory device
US11385820B2 (en) * 2020-03-04 2022-07-12 Micron Technology, Inc. Command batching for a memory sub-system
CN117992123B (zh) * 2024-04-02 2024-07-05 摩尔线程智能科技(北京)有限责任公司 指令执行方法、装置、电子设备、存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3739352A (en) 1971-06-28 1973-06-12 Burroughs Corp Variable word width processor control
US5761740A (en) 1995-11-30 1998-06-02 Unisys Corporation Method of and apparatus for rapidly loading addressing registers
US5941959A (en) 1995-12-20 1999-08-24 Tandem Computers Incorporated System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building
US5961639A (en) 1996-12-16 1999-10-05 International Business Machines Corporation Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution
US6115761A (en) 1997-05-30 2000-09-05 Lsi Logic Corporation First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
US6145016A (en) 1998-09-03 2000-11-07 Advanced Micro Devices, Inc. System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer
US6434649B1 (en) 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6754732B1 (en) * 2001-08-03 2004-06-22 Intervoice Limited Partnership System and method for efficient data transfer management
US7363467B2 (en) 2002-01-03 2008-04-22 Intel Corporation Dependence-chain processing using trace descriptors having dependency descriptors
JP4696199B2 (ja) 2003-05-15 2011-06-08 エスティー‐エリクソン、ソシエテ、アノニム 転送ディスクリプタ用メモリを備えるusbホストコントローラ
JP4340519B2 (ja) * 2003-11-04 2009-10-07 富士通株式会社 情報処理端末
US7293121B2 (en) 2004-02-25 2007-11-06 Analog Devices, Inc. DMA controller utilizing flexible DMA descriptors
US7496695B2 (en) 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
US8683143B2 (en) * 2005-12-30 2014-03-25 Intel Corporation Unbounded transactional memory systems
US20090119460A1 (en) * 2007-11-07 2009-05-07 Infineon Technologies Ag Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space
US7877524B1 (en) * 2007-11-23 2011-01-25 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
JP5287301B2 (ja) 2009-01-30 2013-09-11 富士通株式会社 ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法
US8549182B2 (en) * 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US9552206B2 (en) 2010-11-18 2017-01-24 Texas Instruments Incorporated Integrated circuit with control node circuitry and processing circuitry
US9436629B2 (en) * 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US8959554B2 (en) * 2012-04-25 2015-02-17 Samsung Electronics Co., Ltd Apparatus and method for transmitting and receiving signaling information in a digital broadcasting system
US20140181427A1 (en) * 2012-12-21 2014-06-26 Advanced Micro Devices, Inc. Compound Memory Operations in a Logic Layer of a Stacked Memory
CN103593437A (zh) * 2013-11-14 2014-02-19 浪潮电子信息产业股份有限公司 一种基于dma的数据压缩芯片结构及其实现方法

Similar Documents

Publication Publication Date Title
JP2018537800A5 (ja)
EP3451162B1 (en) Device and method for use in executing matrix multiplication operations
FI3779681T3 (fi) Kiihdytin harvan-tiheän matriisin kertomista varten
RU2014118857A (ru) Команда векторного типа для поиска неравнозначного элемента
JP2015535999A5 (ja)
RU2016126975A (ru) Связанное с выбранными архитектурными функциями администрирование обработки
RU2012148582A (ru) Команда для загрузки данных до заданной границы памяти, указанной командой
JP2018533130A5 (ja)
JP2015522196A5 (ja)
JP2014194770A5 (ja)
JP2012079357A5 (ja)
TW200849091A (en) Universal branch identifier for invalidation of speculative instructions
RU2016127444A (ru) Восстановление контекста потока в многопоточной компьютерной системе
JP2016515265A5 (ja)
JP2015133126A5 (ja)
JP2016505972A5 (ja)
US20230273797A1 (en) Processor with adaptive pipeline length
JP2020038648A5 (ja)
WO2019236294A1 (en) Storing incidental branch predictions to reduce latency of misprediction recovery
JP2016507096A5 (ja)
TW201433979A (zh) 在提前執行中資料的選擇性污染
JP2014132490A5 (ja)
JP2016531335A5 (ja)
KR102455675B1 (ko) 하위 호환성을 위한 cpuid 스푸핑
TWI733746B (zh) 在運行時最佳化指令的處理器、由處理器在運行時最佳化指令的方法及非暫態機器可讀媒體