JP2018537800A5 - - Google Patents
Download PDFInfo
- 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
Links
- 230000000875 corresponding Effects 0.000 claims 6
- 230000004044 response Effects 0.000 claims 6
- 210000003284 Horns Anatomy 0.000 claims 1
- 230000000903 blocking Effects 0.000 claims 1
Claims (15)
- 複数の命令のそれぞれが、(a)命令コード、(b)ソースタイプ、および(c)ソースアドレスを含む前記複数の命令を格納するメモリ装置を提供するステップと、
前記メモリ装置に動作可能に接続された処理装置を提供するステップと、
前記複数の命令のうちの第1の命令を前記メモリ装置から前記処理装置が取り出すステップと、
前記処理装置およびメモリ制御システムのうちの少なくとも一方が、
前記第1の命令の前記ソースタイプが転送記述子フラグであると判定し、
前記第1の命令の前記ソースタイプが前記転送記述子フラグであると判定することに応じて、第1の中間結果を得るために転送バッファ内の前記第1の命令の前記ソースアドレスに格納された第1の転送記述子を実行し、
前記第1の中間結果に対して前記第1の命令の前記命令コードを実行する、
ことによって、前記第1の命令を処理するステップと、
を含む、方法。 - 前記複数の命令のうちの第2の命令を前記メモリ装置から前記処理装置が取り出すステップと、
前記処理装置およびメモリ制御システムのうちの一方が、
前記第2の命令の前記ソースタイプが転送記述子フラグではないと判定し、
前記第2の命令の前記ソースタイプが転送記述子フラグではないと判定することに応じて、前記第2の命令の前記ソースアドレスに格納されたデータ値を要求し、及び
前記データ値に対して前記第2の命令の前記命令コードを実行する、
ことによって、前記第2の命令を処理するステップと、
を更に含み、
前記第2の命令の前記命令コードを実行することは、前記第1の命令の前記命令コードを実行することと同じの操作を実行することを含むように、前記第2の命令の前記命令コードは、前記第1の命令の前記命令コードと同一である、ことを特徴とする、請求項1に記載の方法。 - 前記第1の中間結果に対して前記第1の命令の前記命令コードを実行することは、第1
の結果値をもたらし、
前記方法は、
前記第1の命令のデスティネーションタイプが前記転送記述子フラグであると判定するステップと、
前記第1の命令の前記デスティネーションタイプが前記転送記述子フラグであると判定することに応じて、前記転送バッファ内の前記第1の命令のデスティネーションアドレスに格納された第2の転送記述子を実行して、第2の中間結果を取得し、
格納された前記第1の結果値を、前記メモリ装置内の前記第2の中間結果に対応するアドレスに格納する、
ことを更に含む、
ことを特徴とする請求項2に記載の方法。 - 前記データ値に対して前記第2の命令の前記命令コードを実行することにより、第2の結果値がもたらされ、
前記方法は、
前記第2の命令の前記デスティネーションタイプが前記転送記述子フラグではないと判定し、
前記第2の命令の前記デスティネーションタイプが前記転送記述子フラグではないと判定することに応じて、前記第2の結果値を前記第2の命令の前記デスティネーションアドレスにおいて前記メモリ装置に格納する、
ことを更に含み、
前記第1の転送記述子を実行するステップは、前記第1の転送記述子の状態を更新するステップを含み、及び
前記第2の転送記述子を実行するステップは、前記第2の転送記述子の状態を更新するステップを含む、
ことを特徴とする、請求項3に記載の方法。 - 前記第1の転送記述子を実行するステップは、
前記第1の転送記述子の前記状態に従って少なくとも1つの読み出しアドレスを識別し、及び
前記メモリ装置内の前記少なくとも1つの読み出しアドレスから少なくとも1つの取り出されたデータ値を取り出す、ことを更に含み
前記第1の中間結果は、前記少なくとも1つの取り出されたデータ値と、前記少なくとも1つの取り出されたデータ値から導出された値とのうちの少なくとも1つである、
ことを特徴とする請求項4に記載の方法。 - 前記第1の命令を処理するステップは、アプリケーションによってインスタンス化された実行の第1のスレッドを実行しながらプロセッサによって実行され、
前記方法は、
前記プロセッサによって、前記第1の転送記述子および前記第2の転送記述子のうちの少なくとも一方の状態を評価するステップと、
前記第1の転送記述子の状態と前記第2の転送記述子の状態の少なくとも一方が閾値条件を満たすと判定するステップと、及び
前記第1の転送記述子の前記状態および前記第2の転送記述子の前記状態のうちの少なくとも一方が前記閾値条件を満たすと判定することに応じて、実行の前記第1のスレッドの前記少なくとも1つ及び、前記アプリケーションによってインスタンス化された実行の別のスレッドのうちの少なくとも一方の実行をブロックするステップと、
を更に含む、請求項4に記載の方法。 - 前記転送バッファは、前記メモリ装置とは別のデバイスであり、
前記第1の命令の前記ソースタイプが前記転送記述子フラグであると判定するステップと、
前記第1の命令の前記ソースタイプが前記転送記述子フラグであると判定することに応じて、前記第1の中間結果を得るために前記転送バッファ内の前記第1の命令の前記ソースアドレスに格納された前記第1の転送記述子を実行するステップと、
の両方が、前記処理装置と前記メモリ装置との間に介在する前記処理装置とは別の装置によって実行される、ことを特徴とする請求項1に記載の方法。 - メモリ装置と、
前記メモリ装置に動作可能に接続された処理装置であって、(a)命令コード、(b)ソースタイプ、及び(c)ソースアドレスを含む命令を処理するようにプログラムされた前記処理装置と、
を含み、
前記処理装置は、更に、
前記メモリ装置から命令を取り出し、
前記命令の前記ソースタイプを評価し、
前記命令の前記ソースタイプが転送記述子フラグである場合、(i)転送バッファ内の前記ソースアドレスに対応するアドレスにおいて対応する転送記述子を取り出し、(ii)前記対応する転送記述子を実行して第1の中間結果を取得し、及び(iii)前記第1の中間結果に対して前記命令の前記命令コードを実行して結果値を取得する、
のに有効であるように、前記処理装置により前記命令を処理すること、及び前記メモリ装置と前記処理装置との間に介在するメモリ制御システムにおいて前記命令を処理することの少なくとも一方を実行する、
ようにさらにプログラムされる、ことを特徴とする、システム。 - 前記処理装置は、
前記命令の前記ソースタイプが転送記述子フラグでない場合、(iv)前記命令の前記ソースアドレスにおいて前記メモリ装置に格納されたデータ値を取り出し、及び(v)前記命令の前記命令コードを、前記ソースアドレスにおいて前記メモリ装置に格納された前記データ値に対して実行するために有効であるように、
前記処理装置により前記命令を処理することと、及び前記メモリ装置と前記処理装置との間に介在する前記メモリ制御システムにおいて前記命令の処理を呼び出すこととの少なくとも一方を実行するように、更にプログラムされることを特徴とする、請求項8に記載のシステム。 - (a)前記ソースタイプにかかわらず、前記命令コードに応じて実行される操作が同じであるように、前記命令コードを実行するように前記処理装置がプログラムされることと、並びに、(b)前記メモリ制御システムにおいて前記命令を処理するように前記処理装置はプログラムされており、及び、前記メモリ制御システムは、前記ソースタイプにかかわらず前記命令コードに応じて実行される操作が同じであるように、プログラムされることと、のうちの少なくとも一方であること特徴とする請求項9に記載のシステム。
- 前記処理装置は、
前記命令のデスティネーションタイプを評価し、
前記命令の前記デスティネーションタイプが前記転送記述子フラグである場合、(vi)前記命令のデスティネーションアドレスに対応するアドレスにおいて前記転送バッファに格納された第2の転送記述子を実行して、第2の中間結果を取得し、(vii)前記メモリ装置内の前記第2の中間結果に対応するアドレスに前記結果値を格納する、
ために有効であるように、
前記処理装置により前記命令を処理することと、前記メモリ装置と前記処理装置との間
に介在する前記メモリ制御システムにおいて前記命令の処理を呼び出すことと、の少なくとも一方を実行するように、更にプログラムされることを特徴とする、請求項10に記載のシステム。 - 前記処理装置は、
前記命令の前記デスティネーションタイプが前記転送記述子フラグでない場合、前記結果値を前記命令の前記デスティネーションアドレスにおいて前記メモリ装置に格納するために有効であるように、
前記処理装置により前記命令の処理することと、前記メモリ装置と前記処理装置との間に介在する前記メモリ制御システムにおいて前記命令の処理を呼び出すこととの少なくとも一方を実行するように、更にプログラムされ、
第1の転送記述子は、前記第1の転送記述子の状態を更新するのに有効な実行可能コードを含み、及び
前記第2の転送記述子は、前記第2の転送記述子の状態を更新するのに有効な実行可能コードを含む、ことを特徴とする請求項11に記載のシステム。 - 前記第1の転送記述子は、
前記第1の転送記述子の前記状態に従って少なくとも1つの読み出しアドレスを識別し、及び
前記メモリ装置内の前記少なくとも1つの読み出しアドレスから少なくとも1つの取り出されたデータ値を取り出し、及び
前記取り出されたデータの少なくとも1つとして、前記少なくとも1つの取り出されたデータ値に関しての関数を評価することによって、前記第1の中間結果を計算する、
ために有効な実行可能コードを含む、請求項12に記載のシステム。 - 前記処理装置は、
前記第1の転送記述子と前記第2の転送記述子の少なくとも一方の前記状態を評価し、
前記第1の転送記述子および前記第2の転送記述子の前記少なくとも一方の前記状態が閾値条件を満たす場合、前記処理装置によって実行される実行の少なくとも1つのスレッドの実行をブロックする、
ように更にプログラムされる、ことを特徴とする、請求項12に記載のシステム。 - 前記転送バッファは、前記メモリ装置とは別のデバイスである、請求項8に記載のシステム。
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)
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)
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的数据压缩芯片结构及其实现方法 |
-
2015
- 2015-11-06 US US14/934,707 patent/US9977619B2/en active Active
-
2016
- 2016-11-08 WO PCT/US2016/060995 patent/WO2017079769A1/en active Application Filing
- 2016-11-08 CN CN201680070312.7A patent/CN108292277B/zh active Active
- 2016-11-08 JP JP2018543080A patent/JP6888019B2/ja active Active
- 2016-11-08 KR KR1020187013674A patent/KR102632382B1/ko active IP Right Grant
- 2016-11-08 EP EP16863185.1A patent/EP3398075B1/en active Active
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) | 在運行時最佳化指令的處理器、由處理器在運行時最佳化指令的方法及非暫態機器可讀媒體 |