JP7419293B2 - 命令実行方法、装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム - Google Patents
命令実行方法、装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム Download PDFInfo
- Publication number
- JP7419293B2 JP7419293B2 JP2021089687A JP2021089687A JP7419293B2 JP 7419293 B2 JP7419293 B2 JP 7419293B2 JP 2021089687 A JP2021089687 A JP 2021089687A JP 2021089687 A JP2021089687 A JP 2021089687A JP 7419293 B2 JP7419293 B2 JP 7419293B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- memory
- execution
- instructions
- memory instruction
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
Description
Claims (11)
- 命令実行方法であって、
メモリ命令及び非メモリ命令を含む命令シーケンスを順次実行することと、
第1メモリ命令の実行完了が必要であることを、前記命令シーケンス内の前記第1メモリ命令の後にある、次のメモリ命令である第2メモリ命令の実行を開始する前に決定することと、
前記第1メモリ命令の実行サイクルにおいて、前記第2メモリ命令を実行せずに、前記第1メモリ命令と前記第2メモリ命令の間の非メモリ命令を実行することと、を含み、
前記決定することは、
前記命令シーケンスに含まれる中止命令を実行するとき、前記中止命令に対応するメモリ命令を前記第1メモリ命令として決定することと、
ソフトウェアによって、前記第1メモリ命令の実行完了が必要であることを、前記第2メモリ命令の実行を開始する前に決定することを含む、
命令実行方法。 - さらに、前記命令シーケンスを実行するためのハードウェアによって、前記第1メモリ命令と前記第2メモリ命令のタイプに基づいて、前記第1メモリ命令の実行完了が必要であることを、前記第2メモリ命令の実行を開始する前に決定することを含む、
請求項1に記載の命令実行方法。 - 前記決定することは、
前記第1メモリ命令の実行完了が必要であることを、前記第1メモリ命令を実行するときに決定することを含む、
請求項2に記載の命令実行方法。 - 前記第1メモリ命令の前記実行完了に応じて、前記第2メモリ命令の実行を開始する、
請求項1に記載の命令実行方法。 - 命令の実行装置であって、
メモリ命令及び非メモリ命令を含む命令シーケンスを順次実行するように構成される命令シーケンス実行モジュールと、
第1メモリ命令の実行完了が必要であることを、前記命令シーケンス内の前記第1メモリ命令の後にある、次のメモリ命令である第2メモリ命令の実行を開始する前に決定するように構成される実行決定モジュールと、
前記第1メモリ命令の実行サイクルにおいて、前記第2メモリ命令を実行せずに、前記第1メモリ命令と前記第2メモリ命令の間の非メモリ命令を実行するように構成される非メモリ命令実行モジュールと、を備え、
前記実行決定モジュールは、
前記命令シーケンスに含まれる中止命令を実行するとき、前記中止命令に対応するメモリ命令を前記第1メモリ命令として決定するように構成される第1メモリ命令決定モジュールと、
ソフトウェアによって、前記第1メモリ命令の実行完了が必要であることを、前記第2メモリ命令の実行を開始する前に決定するように構成される第3実行決定モジュールと、を備える、
命令の実行装置。 - 前記実行決定モジュールは、
前記命令シーケンスを実行するためのハードウェアによって、前記第1メモリ命令と前記第2メモリ命令のタイプに基づいて、前記第1メモリ命令の実行完了が必要であることを、前記第2メモリ命令の実行を開始する前に決定するように構成される第2実行決定モジュールをさらに備える、
請求項5に記載の命令の実行装置。 - 前記実行決定モジュールは、
前記第1メモリ命令の実行完了が必要であることを、第1メモリ命令を実行するときに決定するように構成される第1実行決定モジュールをさらに備える、
請求項6に記載の命令の実行装置。 - 前記第1メモリ命令の前記実行完了に応じて、前記第2メモリ命令の実行を開始するように構成される第2メモリ命令実行モジュールをさらに備える、
請求項5に記載の命令の実行装置。 - 電子デバイスであって、
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサにより実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに、請求項1~4のいずれか一項に記載の命令実行方法を実行させる、
電子デバイス。 - コンピュータに請求項1~4のいずれか一項に記載の命令実行方法を実行させるコンピュータ命令を記憶するための非一時的なコンピュータ可読記憶媒体。
- コンピュータにおいて、プロセッサにより実行されると、請求項1~4のいずれか一項に記載の命令実行方法を実現することを特徴とするプログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010699439.3A CN111857825B (zh) | 2020-07-20 | 2020-07-20 | 指令执行方法、装置、电子设备、存储介质和程序产品 |
| CN202010699439.3 | 2020-07-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021144730A JP2021144730A (ja) | 2021-09-24 |
| JP7419293B2 true 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) | EP3819758B1 (ja) |
| JP (1) | JP7419293B2 (ja) |
| KR (1) | KR102543951B1 (ja) |
| CN (1) | CN111857825B (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3122747B1 (fr) * | 2021-05-07 | 2023-03-31 | Commissariat Energie Atomique | Procede d’execution d’une fonction, securise par desynchronisation temporelle |
| KR102767977B1 (ko) * | 2021-11-02 | 2025-02-14 | 리벨리온 주식회사 | 인공지능 코어, 인공지능 코어 시스템 및 인공지능 코어 시스템의 로드/스토어 방법 |
| CN115225477B (zh) * | 2022-07-19 | 2023-12-01 | 北京天融信网络安全技术有限公司 | 机框式设备的配置维护方法、装置、电子设备和存储介质 |
| CN115903617B (zh) * | 2022-12-20 | 2025-09-30 | 海尔优家智能科技(北京)有限公司 | 场景设备控制方法和装置、存储介质及电子装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009119021A1 (ja) | 2008-03-28 | 2009-10-01 | パナソニック株式会社 | 命令実行制御方法、命令フォーマット、及びプロセッサ |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07302200A (ja) * | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
| US5651124A (en) | 1995-02-14 | 1997-07-22 | Hal Computer Systems, Inc. | Processor structure and method for aggressively scheduling long latency instructions including load/store instructions while maintaining 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的处理器体系结构及指令执行方法 |
| US9535695B2 (en) * | 2013-01-25 | 2017-01-03 | Apple Inc. | Completing load and store instructions in a weakly-ordered memory model |
| US9658961B2 (en) * | 2014-06-27 | 2017-05-23 | International Business Machines Corporation | Speculation control for improving transaction success rate, and instruction therefor |
| US10073784B2 (en) * | 2014-06-27 | 2018-09-11 | International Business Machines Corporation | Memory performance when speculation control is enabled, 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 |
| US10572376B2 (en) * | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
| 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/CN111857825B/zh active Active
-
2021
- 2021-03-23 EP EP21164336.6A patent/EP3819758B1/en active Active
- 2021-03-24 KR KR1020210038060A patent/KR102543951B1/ko active Active
- 2021-03-24 US US17/210,616 patent/US11748108B2/en active Active
- 2021-05-28 JP JP2021089687A patent/JP7419293B2/ja active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009119021A1 (ja) | 2008-03-28 | 2009-10-01 | パナソニック株式会社 | 命令実行制御方法、命令フォーマット、及びプロセッサ |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102543951B1 (ko) | 2023-06-14 |
| EP3819758B1 (en) | 2025-10-29 |
| EP3819758A3 (en) | 2021-11-03 |
| CN111857825B (zh) | 2024-10-29 |
| CN111857825A (zh) | 2020-10-30 |
| US20210271482A1 (en) | 2021-09-02 |
| US11748108B2 (en) | 2023-09-05 |
| EP3819758A2 (en) | 2021-05-12 |
| JP2021144730A (ja) | 2021-09-24 |
| KR20210049725A (ko) | 2021-05-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7419293B2 (ja) | 命令実行方法、装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム | |
| EP3851979B1 (en) | Method and apparatus for traversing graph database, device and storage medium | |
| JP7170094B2 (ja) | オペレーター併合方法、装置、電子デバイス、記憶媒体及びコンピュータプログラム | |
| KR20210114853A (ko) | 모델 파라미터를 업데이트하는 방법 및 장치 | |
| CN112214416B (zh) | 调试小程序的方法、装置、电子设备和存储介质 | |
| CN111506401B (zh) | 自动驾驶仿真任务调度方法、装置、电子设备及存储介质 | |
| CN112286656B (zh) | 小程序模拟方法、装置、电子设备和计算机可读存储介质 | |
| CN111475262A (zh) | 区块链中事务请求处理方法、装置、设备和介质 | |
| CN113722647A (zh) | 显示信息的方法和装置 | |
| CN111813407A (zh) | 游戏开发方法、游戏运行方法、装置和电子设备 | |
| EP3872630A2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
| CN113805854A (zh) | 基于Linux系统的应用层Hook实现方法、系统、装置及存储介质 | |
| US11784946B2 (en) | Method for improving data flow and access for a neural network processor | |
| KR102818571B1 (ko) | 딥 러닝 훈련 임무를 위한 프로세서 메모리 최적화 방법 및 장치 | |
| JP7393404B2 (ja) | コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム | |
| CN112306413B (zh) | 用于访问内存的方法、装置、设备以及存储介质 | |
| CN110851187B (zh) | 显存处理方法、装置、设备和介质 | |
| US9489246B2 (en) | Method and device for determining parallelism of tasks of a program | |
| CN116107927A (zh) | 数据处理装置、数据处理方法和电子设备 | |
| JP7403586B2 (ja) | 演算子の生成方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
| CN115396081B (zh) | 信号传输方法、装置、存储介质及电子设备 | |
| CN120045189A (zh) | 代码处理方法、装置、电子设备和存储介质 | |
| CN117255100A (zh) | 一种数据同步方法、装置、电子设备及可读存储介质 | |
| CN119987906A (zh) | 一种有限状态机生成方法、装置、电子设备及存储介质 | |
| JP2024129010A (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 |