JP2021144730A - 命令実行方法、装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム - Google Patents
命令実行方法、装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム Download PDFInfo
- Publication number
- JP2021144730A JP2021144730A JP2021089687A JP2021089687A JP2021144730A JP 2021144730 A JP2021144730 A JP 2021144730A JP 2021089687 A JP2021089687 A JP 2021089687A JP 2021089687 A JP2021089687 A JP 2021089687A JP 2021144730 A JP2021144730 A JP 2021144730A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- memory
- execution
- memory instruction
- executing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000015654 memory Effects 0.000 claims abstract description 292
- 230000004044 response Effects 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 230000000694 effects Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000009419 refurbishment Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1621—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
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)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Retry When Errors Occur (AREA)
Abstract
Description
Claims (17)
- 命令実行方法であって
メモリ命令及び非メモリ命令を含む命令シーケンスを順次実行することと、
前記命令シーケンス内の第1メモリ命令の後にある、次のメモリ命令である第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定することと、
前記第1メモリ命令を実行する周期期間において、前記第2メモリ命令を実行せずに、前記第1メモリ命令と前記第2メモリ命令の間の非メモリ命令を実行することと、を含む、
命令実行方法。 - 前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定することは、
第1メモリ命令を実行するとき、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定することを含む、
請求項1に記載の命令実行方法。 - 前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定することは、
前記第1メモリ命令と前記第2メモリ命令のタイプに基づいて、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定することを含む、
請求項1に記載の命令実行方法。 - 前記命令シーケンスを実行するためのハードウェアによって、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定する、
請求項3に記載の命令実行方法。 - 前記命令シーケンスには、中止命令が含まれており、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定することは、
前記中止命令を実行するとき、前記中止命令の対応するメモリ命令を前記第1メモリ命令として決定することと、
前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定することを含む、
請求項1に記載の命令実行方法。 - ソフトウェアによって、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定する、
請求項5に記載の命令実行方法。 - 前記第1メモリ命令の前記実行完了に応じて、前記第2メモリ命令の実行を開始する、
請求項1に記載の命令実行方法。 - 命令の実行装置であって、
メモリ命令及び非メモリ命令を含む命令シーケンスを順次実行するように構成される命令シーケンス実行モジュールと、
前記命令シーケンス内の第1メモリ命令の後にある、次のメモリ命令である第2メモリ命令の実行を開始する前に、前記第1メモリ命令の実行完了を必要であることを決定するように構成される実行決定モジュールと、
前記第1メモリ命令を実行する周期期間において、前記第2メモリ命令を実行せずに、前記第1メモリ命令と前記第2メモリ命令の間の非メモリ命令を実行するように構成される非メモリ命令実行モジュールと、を備える、
命令の実行装置。 - 前記実行決定モジュールは、
第1メモリ命令を実行するとき、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定するように構成される第1実行決定モジュールを備える、
請求項8に記載の命令の実行装置。 - 前記実行決定モジュールは、
前記第1メモリ命令と前記第2メモリ命令のタイプに基づいて、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定するように構成される第2実行決定モジュールを備える、
請求項8に記載の命令の実行装置。 - 前記第2実行決定モジュールは、前記命令シーケンスを実行するためのハードウェアによって、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定するように構成される、
請求項10に記載の命令の実行装置。 - 前記命令シーケンスには、中止命令が含まれており、前記実行決定モジュールは、
前記中止命令を実行するとき、前記中止命令の対応するメモリ命令を前記第1メモリ命令として決定するように構成される第1メモリ命令決定モジュールと、
前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定するように構成される第3実行決定モジュールと、を備える、
請求項8に記載の命令の実行装置。 - 前記第3実行決定モジュールは、ソフトウェアによって、前記第2メモリ命令の実行を開始する前に前記第1メモリ命令の実行完了を必要であることを決定するように構成される、
請求項12に記載の命令の実行装置。 - 前記第1メモリ命令の前記実行完了に応じて、前記第2メモリ命令の実行を開始するように構成される第2メモリ命令実行モジュールをさらに備える、
請求項8に記載の命令の実行装置。 - 電子デバイスであって、
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサにより実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに、請求項1〜7のいずれか一項に記載の命令実行方法を実行させる、
電子デバイス。 - コンピュータに請求項1〜7のいずれか一項に記載の命令実行方法を実行させるコンピュータ命令を記憶するための非一時的なコンピュータ可読記憶媒体。
- コンピュータにおいて、プロセッサにより実行されると、請求項1〜7のいずれか一項に記載の命令実行方法を実現することを特徴とするプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699439.3 | 2020-07-20 | ||
CN202010699439.3A CN111857825A (zh) | 2020-07-20 | 2020-07-20 | 指令执行方法、装置、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021144730A true JP2021144730A (ja) | 2021-09-24 |
JP7419293B2 JP7419293B2 (ja) | 2024-01-22 |
Family
ID=73000630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021089687A Active JP7419293B2 (ja) | 2020-07-20 | 2021-05-28 | 命令実行方法、装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11748108B2 (ja) |
EP (1) | EP3819758A3 (ja) |
JP (1) | JP7419293B2 (ja) |
KR (1) | KR102543951B1 (ja) |
CN (1) | CN111857825A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225477A (zh) * | 2022-07-19 | 2022-10-21 | 北京天融信网络安全技术有限公司 | 机框式设备的配置维护方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119021A1 (ja) * | 2008-03-28 | 2009-10-01 | パナソニック株式会社 | 命令実行制御方法、命令フォーマット、及びプロセッサ |
US20140215190A1 (en) * | 2013-01-25 | 2014-07-31 | Apple Inc. | Completing load and store instructions in a weakly-ordered memory model |
US20180188997A1 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | Memory ordering in acceleration hardware |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07302200A (ja) | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
US5659721A (en) | 1995-02-14 | 1997-08-19 | Hal Computer Systems, Inc. | Processor structure and method for checkpointing instructions to maintain precise state |
US6463522B1 (en) * | 1997-12-16 | 2002-10-08 | Intel Corporation | Memory system for ordering load and store instructions in a processor that performs multithread execution |
US6871273B1 (en) * | 2000-06-22 | 2005-03-22 | International Business Machines Corporation | Processor and method of executing a load instruction that dynamically bifurcate a load instruction into separately executable prefetch and register operations |
JP2002251283A (ja) | 2001-02-22 | 2002-09-06 | Mitsubishi Electric Corp | メモリ管理機構及びメモリ管理方法 |
CN101770357B (zh) | 2008-12-31 | 2014-10-22 | 世意法(北京)半导体研发有限责任公司 | 减少处理器中的指令冲突 |
CN102420820B (zh) | 2011-11-28 | 2016-06-08 | 杭州华三通信技术有限公司 | 一种集群系统中的隔离方法和装置 |
CN102799418B (zh) * | 2012-08-07 | 2014-10-08 | 清华大学 | 融合了顺序和vliw的处理器体系结构及指令执行方法 |
US10073784B2 (en) * | 2014-06-27 | 2018-09-11 | International Business Machines Corporation | Memory performance when speculation control is enabled, and instruction therefor |
US9658961B2 (en) * | 2014-06-27 | 2017-05-23 | International Business Machines Corporation | Speculation control for improving transaction success rate, and instruction therefor |
US10489158B2 (en) | 2014-09-26 | 2019-11-26 | Intel Corporation | Processors, methods, systems, and instructions to selectively fence only persistent storage of given data relative to subsequent stores |
US10474467B2 (en) * | 2015-08-12 | 2019-11-12 | International Business Machines Corporation | Processor instruction sequence translation |
CN107786374B (zh) | 2017-10-19 | 2021-02-05 | 苏州浪潮智能科技有限公司 | 一种Oracle集群文件系统及其实现fence的方法 |
US11175916B2 (en) | 2017-12-19 | 2021-11-16 | Advanced Micro Devices, Inc. | System and method for a lightweight fencing operation |
US10866805B2 (en) | 2018-01-03 | 2020-12-15 | Arm Limited | Speculation barrier instruction |
CN108984319B (zh) | 2018-06-25 | 2021-10-15 | 广州视源电子科技股份有限公司 | 解决操作指令冲突的方法、装置、计算机设备和存储介质 |
CN109450670B (zh) | 2018-10-19 | 2022-04-01 | 杭州东方通信软件技术有限公司 | 一种人工智能模式下的指令冲突判断方法及其系统 |
-
2020
- 2020-07-20 CN CN202010699439.3A patent/CN111857825A/zh active Pending
-
2021
- 2021-03-23 EP EP21164336.6A patent/EP3819758A3/en active Pending
- 2021-03-24 KR KR1020210038060A patent/KR102543951B1/ko active IP Right Grant
- 2021-03-24 US US17/210,616 patent/US11748108B2/en active Active
- 2021-05-28 JP JP2021089687A patent/JP7419293B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119021A1 (ja) * | 2008-03-28 | 2009-10-01 | パナソニック株式会社 | 命令実行制御方法、命令フォーマット、及びプロセッサ |
US20140215190A1 (en) * | 2013-01-25 | 2014-07-31 | Apple Inc. | Completing load and store instructions in a weakly-ordered memory model |
US20180188997A1 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | Memory ordering in acceleration hardware |
Non-Patent Citations (1)
Title |
---|
池井 満, IA−64プロセッサ基本講座, vol. 第1版, JPN6022024910, 25 August 2000 (2000-08-25), pages 77 - 79, ISSN: 0004952940 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225477A (zh) * | 2022-07-19 | 2022-10-21 | 北京天融信网络安全技术有限公司 | 机框式设备的配置维护方法、装置、电子设备和存储介质 |
CN115225477B (zh) * | 2022-07-19 | 2023-12-01 | 北京天融信网络安全技术有限公司 | 机框式设备的配置维护方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3819758A3 (en) | 2021-11-03 |
KR20210049725A (ko) | 2021-05-06 |
EP3819758A2 (en) | 2021-05-12 |
CN111857825A (zh) | 2020-10-30 |
KR102543951B1 (ko) | 2023-06-14 |
US20210271482A1 (en) | 2021-09-02 |
JP7419293B2 (ja) | 2024-01-22 |
US11748108B2 (en) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9977663B2 (en) | Technologies for optimizing sparse matrix code with field-programmable gate arrays | |
JP7282823B2 (ja) | メモリアクセスリクエストスケジューリング方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム | |
US8938712B2 (en) | Cross-platform virtual machine and method | |
US10223094B2 (en) | Initializing a system on a chip | |
JP7170094B2 (ja) | オペレーター併合方法、装置、電子デバイス、記憶媒体及びコンピュータプログラム | |
KR20210092689A (ko) | 그래프 데이터베이스의 순회 방법, 장치, 설비 및 저장매체 | |
US11784946B2 (en) | Method for improving data flow and access for a neural network processor | |
JP7419293B2 (ja) | 命令実行方法、装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム | |
CN113204412A (zh) | 用于任务调度的方法、电子设备和计算机存储介质 | |
US20220075639A1 (en) | Executing an application with multiple processors | |
JP6293910B2 (ja) | 動的言語でのインラインキャッシュのためのハードウェアアクセラレーション | |
JP2017509950A (ja) | 動的言語でのインラインキャッシュのためのハードウェアアクセラレーション | |
JP7265618B2 (ja) | 深層学習トレーニングタスクに向けたプロセッサメモリを最適化するための方法及び装置 | |
CN111273934B (zh) | 页面更新的方法及装置 | |
US9710235B2 (en) | Generating software code | |
US9489246B2 (en) | Method and device for determining parallelism of tasks of a program | |
CN111813407A (zh) | 游戏开发方法、游戏运行方法、装置和电子设备 | |
CN110851187B (zh) | 显存处理方法、装置、设备和介质 | |
CN110879744B (zh) | 利用多线程执行计算图的方法和系统 | |
JP7393404B2 (ja) | コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム | |
CN117255100A (zh) | 一种数据同步方法、装置、电子设备及可读存储介质 | |
JP2021157805A (ja) | テキスト予測方法、装置、機器及び記憶媒体 | |
CN104331302A (zh) | 一种应用更新方法、移动终端和通信系统 | |
CN117827693A (zh) | 可编程逻辑控制器地址的批量访问方法及装置 | |
JP2012113518A (ja) | コンパイラ装置、コード生成方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210528 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20211018 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20220201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220617 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220914 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221226 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20230414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7419293 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |