JP2020507848A - メモリシステムへの加速されたアクセスを提供するための方法及び機器 - Google Patents
メモリシステムへの加速されたアクセスを提供するための方法及び機器 Download PDFInfo
- Publication number
- JP2020507848A JP2020507848A JP2019540633A JP2019540633A JP2020507848A JP 2020507848 A JP2020507848 A JP 2020507848A JP 2019540633 A JP2019540633 A JP 2019540633A JP 2019540633 A JP2019540633 A JP 2019540633A JP 2020507848 A JP2020507848 A JP 2020507848A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- computer processor
- data
- memory access
- exception
- 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 73
- 230000004044 response Effects 0.000 claims 8
- 238000012545 processing Methods 0.000 description 38
- 238000004590 computer program Methods 0.000 description 30
- 230000003111 delayed effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Memory System (AREA)
Abstract
Description
[001] 本開示は、一般にコンピュータアーキテクチャの分野に関し、特にメモリシステムへの加速されたアクセスを提供するための方法及び機器に関する。
[002] メモリシステムは、ランダムアクセスメモリ(DRAM)及びキャッシュメモリ装置を含んでもよいが、コンピュータプロセッサによって、又は他の装置(例えば入力/出力(I/O)装置)によってアクセスできる一時記憶空間を提供する。メモリシステムは、データを格納するために用いることができ、次にデータは、コンピュータプロセッサ及び/又はI/O装置にフェッチすることができる。コンピュータプロセッサはまた、コンピュータプロセッサによって、又はI/O装置によって、処理の結果を後続の処理用にメモリシステムに格納することができる。DRAMは、適度なアクセス速度を提供するが、メモリアクセス待ち時間は、特に、コンピュータプロセッサが、メモリアクセスタスクを実行するために、自らの計算資源を用いる場合に、コンピュータプロセッサにとってボトルネックのままである。メモリアクセス待ち時間は、例えば、メモリアクセスタスクが完了するまで他の命令の処理が遅延される場合に、コンピュータプロセッサの性能をひどく低下させる可能性がある。
[003] 本開示の実施形態は、コンピュータシステムを提供する。コンピュータシステムは、データを格納するメモリシステムと、コンピュータプロセッサと、メモリアクセスエンジンと、を含む。メモリアクセスエンジンは、コンピュータプロセッサから計算プロセスの第1の命令を受信することであって、第1の命令が、メモリシステムからのデータにアクセスするためのものであることと、第1の命令に基づいて、メモリシステムからのデータの少なくとも部分を取得することと、データの少なくとも第1の部分の取得後に、コンピュータプロセッサが、計算プロセスの第2の命令を実行できるようにする指示をコンピュータプロセッサに送信することと、を行うように構成される。
[016] ここで、例示的な実施形態に対して詳細な参照が行われるが、それらの実施形態の例は、添付の図面に示されている。以下の説明は、添付の図面を参照し、そこでは、相異なる図面における同じ番号は、別段の表現がない限り、同じ又は同様の要素を表す。例示的な実施形態の以下の説明で明らかにされる実装形態は、本発明と一致する全ての実装形態を表すわけではない。代わりに、それらは、添付の特許請求の範囲において挙げられるような本発明に関係する態様と一致する機器及び方法の単なる例である。
現在の読み出しアドレス=仮想アドレス+残りページの数×4096+残りページオフセット (式1)
現在の書き込みアドレス=仮想アドレス+残りページの数×4096+残りページオフセット (式2)
Claims (20)
- コンピュータシステムであって、
データを格納するメモリシステムと、
コンピュータプロセッサと、
メモリアクセスエンジンであって、
前記コンピュータプロセッサから計算プロセスの第1の命令を受信することであって、前記第1の命令が、前記メモリシステムからの前記データにアクセスするためのものであることと、
前記第1の命令に基づいて、前記メモリシステムからの前記データの少なくとも部分を取得することと、
前記データの前記少なくとも第1の部分の前記取得後に、前記コンピュータプロセッサが、前記計算プロセスの第2の命令を実行できるようにする指示を前記コンピュータプロセッサに送信することと、
を行うように構成されるメモリアクセスエンジンと、
を含むコンピュータシステム。 - 前記メモリアクセスエンジンが、
前記第1の命令に関連する仮想アドレスを取得し、
前記仮想アドレスに基づいて、前記第1の命令に関連する物理アドレスを取得し、
前記物理アドレスの取得の結果に基づいて、前記第1の命令が、例外を引き起こすかどうかを判定し、
前記第1の命令が例外を引き起こすという判定に応じて、前記コンピュータプロセッサに前記例外を扱わせる指示を前記コンピュータプロセッサに送信するように更に構成される、請求項1に記載のコンピュータシステム。 - 前記第1の命令が例外を引き起こすかどうかの前記判定が、
前記物理アドレスに関連するページが存在するかどうかを判定し、
前記物理ページが存在しないという判定に応じて、前記第1の命令が例外を引き起こすと判定するように、前記メモリアクセスエンジンが更に構成されることを含む、請求項2に記載のコンピュータシステム。 - 前記第1の命令が例外を発生させるかどうかの前記判定が、
前記物理アドレス及び前記仮想アドレスの少なくとも1つに関連するページが、アクセス可能かどうかを判定し、
前記ページがアクセス可能ではないという判定に応じて、前記第1の命令が例外を引き起こすと判定するように、前記メモリアクセスエンジンが更に構成されることを含む、請求項2に記載のコンピュータシステム。 - 前記メモリシステムが、複数のキャッシュラインを備えたキャッシュを含み、前記第1の命令が例外を引き起こすかどうかの前記判定が、
前記第1の命令に関連するアドレスが、前記複数のキャッシュラインの1つと整列するかどうかを判定し、
前記アドレスが前記複数のキャッシュラインのどれとも整列しないという判定に応じて、前記第1の命令が例外を引き起こすと判定するように、前記メモリアクセスエンジンが更に構成されることを含む、請求項2に記載のコンピュータシステム。 - 前記メモリアクセスエンジンが、1つのキャッシュラインにおけるデータの前記少なくとも第1の部分を一度に取得するように更に構成される、請求項5に記載のコンピュータシステム。
- 前記指示が、まだアクセスされていない前記データの第2の部分のサイズ及び位置を示す情報を含む、請求項1に記載のコンピュータシステム。
- 前記第2の命令が、前記メモリアクセス命令に対するデータ依存性を有する、請求項1に記載のコンピュータシステム。
- コンピュータシステムであって、
第1のデータ及び第2のデータを格納するメモリシステムと、
第1のコア識別子に関連する第1のコンピュータプロセッサコア及び第2のコア識別子に関連する第2のコンピュータプロセッサコアを含むコンピュータプロセッサと、
メモリアクセスエンジンであって、
前記第1のコンピュータプロセッサコアから計算プロセスの第1の命令を受信することであって、前記第1の命令が、前記メモリシステムからの前記第1のデータにアクセスするためのものであることと、
前記第1の命令を前記第1のコア識別子と関連付けることと、
前記第1の命令に基づいて、前記メモリシステムからの前記データの少なくとも部分を取得することと、
前記データの前記少なくとも第1の部分の前記取得後に、前記第1のコンピュータプロセッサコアが、前記計算プロセスの第2の命令を実行できるようにするために、前記第1のコア識別子を含む指示を前記コンピュータプロセッサに送信することと、
を行うように構成されるメモリアクセスエンジンと、
を含むコンピュータシステム。 - 前記メモリアクセスエンジンが、
前記第1の命令に関連する仮想アドレスを取得し、
前記仮想アドレスに基づいて、前記第1の命令に関連する物理アドレスを取得し、
前記物理アドレスの取得の結果に基づいて、前記第1の命令が、例外を引き起こすかどうかを判定し、
前記第1の命令が例外を引き起こすという判定に応じて、前記第1のコンピュータプロセッサコアに前記例外を扱わせる指示を前記第1のコンピュータプロセッサコアに送信するように更に構成される、請求項9に記載のコンピュータシステム。 - 前記指示が、まだアクセスされていない前記データの第2の部分のサイズ及び位置を示す情報を含む、請求項9に記載のコンピュータシステム。
- 前記メモリアクセスエンジンがまた、
前記メモリシステムからの前記第2のデータにアクセスするために、前記第2のコンピュータプロセッサコアから前記計算プロセスの第3の命令を受信し、
前記第3の命令を前記第2のコア識別子と関連付けるように構成され、
前記指示が、前記第2のコア識別子と前記第3の命令の実行ステータスとを含み、且つ
前記指示に含まれる前記第2のコア識別子が、前記第3の命令の前記実行ステータスを前記第1のコンピュータプロセッサコアが無視できるようにする、請求項9に記載のコンピュータシステム。 - メモリアクセス方法であって、前記方法が、コンピュータプロセッサと、データを格納するメモリシステムと結合されたメモリアクセスエンジンによって実行され、前記方法が、
前記コンピュータプロセッサから計算プロセスの第1の命令を受信することであって、前記第1の命令が、前記メモリシステムからの前記データにアクセスするためのものであることと、
前記第1の命令に基づいて、前記メモリシステムからの前記データの少なくとも部分を取得することと、
前記データの前記少なくとも第1の部分の取得後に、前記コンピュータプロセッサが、前記計算プロセスの第2の命令を実行できるようにするために、前記コンピュータプロセッサに指示を送信することと、
を含むメモリアクセス方法。 - 前記第1の命令に関連する仮想アドレスを取得することと、
前記仮想アドレスに基づいて、前記第1の命令に関連する物理アドレスを取得することと、
前記物理アドレスの取得の結果に基づいて、前記第1の命令が、例外を引き起こすかどうかを判定することと、
前記第1の命令が例外を引き起こすという判定に応じて、前記コンピュータプロセッサに前記例外を扱わせる指示を前記コンピュータプロセッサに送信することと、
を更に含む、請求項13に記載の方法。 - 前記第1の命令が例外を引き起こすかどうかの前記判定が、
前記物理アドレスに関連するページが存在するかどうかを判定することと、
前記物理ページが存在しないという判定に応じて、前記第1の命令が、例外を引き起こすと判定することと、
を含む、請求項14に記載の方法。 - 前記第1の命令が例外を発生させるかどうかの判定が、
前記物理アドレス及び前記仮想アドレスの少なくとも1つに関連するページが、アクセス可能かどうかを判定することと、
前記ページがアクセス可能ではないという判定に応じて、前記第1の命令が例外を引き起こすと判定することと、
を含む、請求項14に記載の方法。 - 前記メモリシステムが、複数のキャッシュラインを備えたキャッシュを含み、前記第1の命令が、例外を引き起こすかどうかの判定が、
前記第1の命令に関連するアドレスが、前記複数のキャッシュラインの1つと整列するかどうかを判定することと、
前記アドレスが、前記複数のキャッシュラインのどれとも整列しないという判定に応じて、前記第1の命令が、例外を引き起こすと判定することと、
を含む、請求項14に記載の方法。 - 前記指示が、まだアクセスされていない前記データの第2の部分のサイズ及び位置を示す情報を含む、請求項13に記載の方法。
- メモリアクセス方法であって、前記方法が、第1のデータ及び第2のデータを格納するメモリシステムと結合され、且つ第1のコア識別子に関連する第1のコンピュータプロセッサコア及び第2のコア識別子に関連する第2のコンピュータプロセッサコアを含むコンピュータプロセッサと結合されたメモリアクセスエンジンによって実行され、前記方法が、
前記第1のコンピュータプロセッサコアから計算プロセスの第1の命令を受信することであって、前記第1の命令が、前記メモリシステムからの前記第1のデータにアクセスするためのものであることと、
前記第1の命令を前記第1のコア識別子と関連付けることと、
前記第1の命令に基づいて、前記メモリシステムからの前記第1のデータの少なくとも一部を取得することと、
前記第1のデータの前記少なくとも一部を取得した後で、前記第1のコンピュータプロセッサコアが、前記計算プロセスの第2の命令を実行できるようにするために、前記第1のコア識別子と前記第1の命令の実行ステータスとを含む指示を前記コンピュータプロセッサに送信することと、
を含むメモリアクセス方法。 - 前記第2のコンピュータプロセッサコアから前記計算プロセスの第3の命令を受信することであって、前記第3の命令が、前記メモリシステムからの前記第2のデータにアクセスするためのものであることと、
前記第3の命令を前記第2のコア識別子と関連付けることと、
を更に含み、
前記指示が、前記第2のコア識別子と前記第3の命令の実行ステータスとを含み、且つ
前記指示に含まれる前記第2のコア識別子が、前記第3の命令の前記実行ステータスを前記第1のコンピュータプロセッサコアが無視できるようにする、請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/430,331 | 2017-02-10 | ||
US15/430,331 US11086632B2 (en) | 2017-02-10 | 2017-02-10 | Method and apparatus for providing accelerated access to a memory system |
PCT/US2018/017673 WO2018148579A1 (en) | 2017-02-10 | 2018-02-09 | Method and apparatus for providing accelerated access to a memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020507848A true JP2020507848A (ja) | 2020-03-12 |
JP7097371B2 JP7097371B2 (ja) | 2022-07-07 |
Family
ID=63104606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019540633A Active JP7097371B2 (ja) | 2017-02-10 | 2018-02-09 | メモリシステムへの加速されたアクセスを提供するための方法及び機器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11086632B2 (ja) |
EP (1) | EP3580659A4 (ja) |
JP (1) | JP7097371B2 (ja) |
CN (1) | CN110291507B (ja) |
WO (1) | WO2018148579A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020140268A1 (en) * | 2019-01-04 | 2020-07-09 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Method and system for providing secure communications between a host system and a data processing accelerator |
GB2593513B (en) | 2020-03-25 | 2022-09-21 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
GB2593514B (en) * | 2020-03-25 | 2022-04-27 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
US11868238B2 (en) | 2020-06-18 | 2024-01-09 | Samsung Electronics Co., Ltd. | Method and apparatus for fuzz testing based on resource access feedback |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011048615A (ja) * | 2009-08-27 | 2011-03-10 | Renesas Electronics Corp | データプロセッサ |
US20120066474A1 (en) * | 2010-09-13 | 2012-03-15 | International Business Machines Corporation | Real Address Accessing in a Coprocessor Executing on Behalf of an Unprivileged Process |
US20140173203A1 (en) * | 2012-12-18 | 2014-06-19 | Andrew T. Forsyth | Block Memory Engine |
US9043559B2 (en) * | 2012-10-23 | 2015-05-26 | Oracle International Corporation | Block memory engine with memory corruption detection |
US20160357564A1 (en) * | 2015-06-03 | 2016-12-08 | Renesas Electronics America Inc. | Microcontroller simple memory relocation function |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941647B2 (en) * | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US7334076B2 (en) | 2005-03-08 | 2008-02-19 | Microsoft Corporation | Method and system for a guest physical address virtualization in a virtual machine environment |
US8683143B2 (en) | 2005-12-30 | 2014-03-25 | Intel Corporation | Unbounded transactional memory systems |
US20070260856A1 (en) * | 2006-05-05 | 2007-11-08 | Tran Thang M | Methods and apparatus to detect data dependencies in an instruction pipeline |
US9654505B2 (en) * | 2009-06-22 | 2017-05-16 | Citrix Systems, Inc. | Systems and methods for encoding the core identifier in the session identifier |
US8954697B2 (en) * | 2010-08-05 | 2015-02-10 | Red Hat, Inc. | Access to shared memory segments by multiple application processes |
US9009445B2 (en) | 2011-10-20 | 2015-04-14 | Apple Inc. | Memory management unit speculative hardware table walk scheme |
US9965279B2 (en) * | 2013-11-29 | 2018-05-08 | The Regents Of The University Of Michigan | Recording performance metrics to predict future execution of large instruction sequences on either high or low performance execution circuitry |
US20150277925A1 (en) * | 2014-04-01 | 2015-10-01 | The Regents Of The University Of Michigan | Data processing apparatus and method for executing a stream of instructions out of order with respect to original program order |
US10452561B2 (en) * | 2016-08-08 | 2019-10-22 | Raytheon Company | Central processing unit architecture and methods for high availability systems |
-
2017
- 2017-02-10 US US15/430,331 patent/US11086632B2/en active Active
-
2018
- 2018-02-09 CN CN201880011082.6A patent/CN110291507B/zh active Active
- 2018-02-09 JP JP2019540633A patent/JP7097371B2/ja active Active
- 2018-02-09 WO PCT/US2018/017673 patent/WO2018148579A1/en unknown
- 2018-02-09 EP EP18751406.2A patent/EP3580659A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011048615A (ja) * | 2009-08-27 | 2011-03-10 | Renesas Electronics Corp | データプロセッサ |
US20120066474A1 (en) * | 2010-09-13 | 2012-03-15 | International Business Machines Corporation | Real Address Accessing in a Coprocessor Executing on Behalf of an Unprivileged Process |
US9043559B2 (en) * | 2012-10-23 | 2015-05-26 | Oracle International Corporation | Block memory engine with memory corruption detection |
US20140173203A1 (en) * | 2012-12-18 | 2014-06-19 | Andrew T. Forsyth | Block Memory Engine |
US20160357564A1 (en) * | 2015-06-03 | 2016-12-08 | Renesas Electronics America Inc. | Microcontroller simple memory relocation function |
Also Published As
Publication number | Publication date |
---|---|
US11086632B2 (en) | 2021-08-10 |
EP3580659A4 (en) | 2020-02-19 |
US20180232238A1 (en) | 2018-08-16 |
CN110291507B (zh) | 2023-10-24 |
JP7097371B2 (ja) | 2022-07-07 |
CN110291507A (zh) | 2019-09-27 |
WO2018148579A1 (en) | 2018-08-16 |
EP3580659A1 (en) | 2019-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0097790B1 (en) | Apparatus for controlling storage access in a multilevel storage system | |
US8205067B2 (en) | Context switching and synchronization | |
JP7097371B2 (ja) | メモリシステムへの加速されたアクセスを提供するための方法及び機器 | |
US5490261A (en) | Interlock for controlling processor ownership of pipelined data for a store in cache | |
US7047320B2 (en) | Data processing system providing hardware acceleration of input/output (I/O) communication | |
US6088789A (en) | Prefetch instruction specifying destination functional unit and read/write access mode | |
US8255591B2 (en) | Method and system for managing cache injection in a multiprocessor system | |
US20040139304A1 (en) | High speed virtual instruction execution mechanism | |
WO1987005417A1 (en) | Instruction prefetch control apparatus | |
US6976148B2 (en) | Acceleration of input/output (I/O) communication through improved address translation | |
US20100131720A1 (en) | Management of ownership control and data movement in shared-memory systems | |
US8806135B1 (en) | Load store unit with load miss result buffer | |
US20060149940A1 (en) | Implementation to save and restore processor registers on a context switch | |
US20070174505A1 (en) | DMA access systems and methods | |
CN113900968B (zh) | 多副本非原子写的存储序同步操作实现方法与实现装置 | |
US20140281238A1 (en) | Systems and methods for accessing cache memory | |
US4991083A (en) | Method and system for extending address space for vector processing | |
JP4335300B2 (ja) | マルチプロセッサシステム、プロセッサ、およびキャッシュ制御方法 | |
JP4965638B2 (ja) | タスクの切り換えを制御するシステムおよび方法 | |
US20080301324A1 (en) | Processor device and instruction processing method | |
US7783842B2 (en) | Cache coherent I/O communication | |
GB2502858A (en) | A method of copying data from a first memory location and storing it in a cache line associated with a different memory location | |
US11550589B2 (en) | Inhibiting load instruction execution based on reserving a resource of a load and store queue but failing to reserve a resource of a store data queue | |
JP2815850B2 (ja) | データ処理ユニット | |
JPH02259945A (ja) | ストア処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220124 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220511 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7097371 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |