JP6381541B2 - データ処理システム中で命令を処理する方法、回路構成、集積回路デバイス、プログラム製品(リモート処理ノード中のアドレス変換データ構造を更新するための変換管理命令) - Google Patents
データ処理システム中で命令を処理する方法、回路構成、集積回路デバイス、プログラム製品(リモート処理ノード中のアドレス変換データ構造を更新するための変換管理命令) Download PDFInfo
- Publication number
- JP6381541B2 JP6381541B2 JP2015545651A JP2015545651A JP6381541B2 JP 6381541 B2 JP6381541 B2 JP 6381541B2 JP 2015545651 A JP2015545651 A JP 2015545651A JP 2015545651 A JP2015545651 A JP 2015545651A JP 6381541 B2 JP6381541 B2 JP 6381541B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- memory
- node
- instruction
- instructions
- 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; 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
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- 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
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- 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
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/301—In special purpose processing node, e.g. vector processor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
次に図面に目を向けるが、いくつかの図を通して、同じ番号は同じ部分を示す。図1に、本発明の実施形態によるデータ処理において有用な例示的なコンピュータ10を含む例示的な自動化されたコンピューティング機構を示す。図1のコンピュータ10は、少なくとも1つのコンピュータ・プロセッサ12または「CPU」、ならびにランダム・アクセス・メモリ14(RAM)を備え、RAM14は、高速メモリ・バス16およびバス・アダプタ18を介して、プロセッサ12に、かつコンピュータ10の他のコンポーネントに接続される。
アクセラレータ、コプロセッサ、中央処理装置(CPU、本明細書では汎用処理ノードとも呼ばれる)、および他のタイプの処理ノードは、機能的かつ安全な方式で共有メモリにアクセスするために、ページ・テーブル、トランスレーション・ルックアサイド・バッファ(TLB)、および有効−実アドレス変換テーブル(ERAT)などの、アドレス変換データ構造をしばしば必要とする。このため、これらのハードウェア・コンポーネントの多くは、変換エントリをキャッシュするのに必要なハードウェアを備えており、多くの状況では、このようなアドレス変換データ構造のソフトウェア管理をサポートすることが望ましい。すなわち、それにより、複数の処理ノードのうちの1つの処理ノード上のハイパーバイザまたは他の監視プログラムが、他のノード上のアドレス変換データ構造を管理することができる。
Claims (11)
- マルチノード・データ処理システム中で命令を処理する方法であって、前記マルチノード・データ処理システムが複数の処理ノードを含み、前記複数の処理ノードのうちの各処理ノードがアドレス変換データ構造を備え、前記方法が、
前記複数の処理ノードのうちの第1の処理ノード中で、書込みおよびプッシュ命令を含む変換管理命令を復号することであって、前記変換管理命令が、前記第1の処理ノードに対する命令セット中で定義されたものである、前記復号すること、および、
前記第1の処理ノード中で前記変換管理命令を復号するのに応答して、前記第1の処理ノード中の前記アドレス変換データ構造に対して、前記第1の処理ノード中の前記アドレス変換データ構造中のエントリにデータを書き込む第1の操作を実施し、前記複数の処理ノードのうちの第2の処理ノード中の前記アドレス変換データ構造に対して、前記データの少なくとも一部を前記第2の処理ノードにプッシュして、前記第2の処理ノード中の前記アドレス変換データ構造中のエントリに前記データを書き込む第2の操作を開始することを含む方法。 - 前記エントリの前記一部を前記第2の処理ノードにプッシュすることが、前記エントリが見つかった場合にのみ実施される、請求項1に記載の方法。
- 前記第2の操作を開始することが、前記複数の処理ノードの各々が結合された共有ネットワークを介してブロードキャスト・コマンドを通信して、前記複数の処理ノードのうちの前記第1の処理ノード以外の各処理ノードが前記ブロードキャスト・コマンドに応答して前記第2の操作を実施するようにすることを含む、請求項1に記載の方法。
- 前記変換管理命令が前記第2の処理ノードをターゲットとし、前記第2の操作を開始することが、前記複数の処理ノードの各々が結合された共有ネットワークを介して前記第2の処理ノードにコマンドを通信することを含む、請求項1に記載の方法。
- 各処理ノード中の前記アドレス変換データ構造が、有効−実変換(ERAT)テーブルを含む、請求項1に記載の方法。
- 各処理ノード中の前記アドレス変換データ構造が、変換ルックアサイド・バッファ(TLB)を含む、請求項1に記載の方法。
- 前記第2の処理ノードが汎用処理ノードを含む、請求項1に記載の方法。
- 前記第2の処理ノードが、アクセラレータとコプロセッサとからなるグループから選択された、請求項1に記載の方法。
- 前記変換管理命令がコプロセッサ開始命令を含み、前記第2の操作がさらに、前記コプロセッサ上でコプロセッサ・タスクを開始するように構成された、請求項8に記載の方法。
- コンピュータ・プログラムであって、請求項1〜9の何れか1項に記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラム。
- 請求項10に記載の前記コンピュータ・プログラムを、コンピュータ可読記録媒体に記録した、記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/709,681 US9170954B2 (en) | 2012-12-10 | 2012-12-10 | Translation management instructions for updating address translation data structures in remote processing nodes |
US13/709,681 | 2012-12-10 | ||
PCT/CN2013/087995 WO2014090087A1 (en) | 2012-12-10 | 2013-11-28 | Translation management instructions for updating address translation data structures in remote processing nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016503198A JP2016503198A (ja) | 2016-02-01 |
JP6381541B2 true JP6381541B2 (ja) | 2018-08-29 |
Family
ID=50882324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015545651A Active JP6381541B2 (ja) | 2012-12-10 | 2013-11-28 | データ処理システム中で命令を処理する方法、回路構成、集積回路デバイス、プログラム製品(リモート処理ノード中のアドレス変換データ構造を更新するための変換管理命令) |
Country Status (4)
Country | Link |
---|---|
US (2) | US9170954B2 (ja) |
JP (1) | JP6381541B2 (ja) |
CN (1) | CN104854568B (ja) |
WO (1) | WO2014090087A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10095765B1 (en) * | 2013-04-10 | 2018-10-09 | Marvell International Ltd. | Method and apparatus for a hardware-implemented AVL tree module |
US9742630B2 (en) * | 2014-09-22 | 2017-08-22 | Netspeed Systems | Configurable router for a network on chip (NoC) |
US9665505B2 (en) | 2014-11-14 | 2017-05-30 | Cavium, Inc. | Managing buffered communication between sockets |
US9870328B2 (en) * | 2014-11-14 | 2018-01-16 | Cavium, Inc. | Managing buffered communication between cores |
US10348563B2 (en) | 2015-02-18 | 2019-07-09 | Netspeed Systems, Inc. | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology |
GB2538055B (en) | 2015-04-28 | 2017-04-19 | Advanced Risc Mach Ltd | Data processing apparatus having a cache |
GB2538054B (en) * | 2015-04-28 | 2017-09-13 | Advanced Risc Mach Ltd | Data processing apparatus, controller, cache and method |
US10218580B2 (en) | 2015-06-18 | 2019-02-26 | Netspeed Systems | Generating physically aware network-on-chip design from a physical system-on-chip specification |
US9686191B2 (en) * | 2015-08-21 | 2017-06-20 | KnuEdge Incorporation | Performing read operations in network on a chip architecture |
US10942683B2 (en) | 2015-10-28 | 2021-03-09 | International Business Machines Corporation | Reducing page invalidation broadcasts |
US9898226B2 (en) | 2015-10-28 | 2018-02-20 | International Business Machines Corporation | Reducing page invalidation broadcasts in virtual storage management |
KR101936950B1 (ko) | 2016-02-15 | 2019-01-11 | 주식회사 맴레이 | 컴퓨팅 디바이스, 코프로세서와 비휘발성 메모리 사이의 데이터 이동 방법 및 이를 포함하는 프로그램 |
US9779028B1 (en) | 2016-04-01 | 2017-10-03 | Cavium, Inc. | Managing translation invalidation |
US10628329B2 (en) * | 2016-04-26 | 2020-04-21 | Nxp Usa, Inc. | Data processing system having a coherency interconnect |
US10599569B2 (en) | 2016-06-23 | 2020-03-24 | International Business Machines Corporation | Maintaining consistency between address translations in a data processing system |
US10452124B2 (en) | 2016-09-12 | 2019-10-22 | Netspeed Systems, Inc. | Systems and methods for facilitating low power on a network-on-chip |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
US10063496B2 (en) | 2017-01-10 | 2018-08-28 | Netspeed Systems Inc. | Buffer sizing of a NoC through machine learning |
US10469337B2 (en) | 2017-02-01 | 2019-11-05 | Netspeed Systems, Inc. | Cost management against requirements for the generation of a NoC |
US10970116B2 (en) | 2017-02-08 | 2021-04-06 | International Business Machines Corporation | Memory management applicable to distributed data structures |
US11082523B2 (en) * | 2017-02-09 | 2021-08-03 | International Business Machines Corporation | System, method and computer program product for a distributed virtual address space |
CN109978155A (zh) * | 2017-12-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
US11144457B2 (en) | 2018-02-22 | 2021-10-12 | Netspeed Systems, Inc. | Enhanced page locality in network-on-chip (NoC) architectures |
US10983910B2 (en) | 2018-02-22 | 2021-04-20 | Netspeed Systems, Inc. | Bandwidth weighting mechanism based network-on-chip (NoC) configuration |
US10547514B2 (en) | 2018-02-22 | 2020-01-28 | Netspeed Systems, Inc. | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation |
US11176302B2 (en) | 2018-02-23 | 2021-11-16 | Netspeed Systems, Inc. | System on chip (SoC) builder |
US11023377B2 (en) | 2018-02-23 | 2021-06-01 | Netspeed Systems, Inc. | Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA) |
US10846235B2 (en) | 2018-04-28 | 2020-11-24 | International Business Machines Corporation | Integrated circuit and data processing system supporting attachment of a real address-agnostic accelerator |
US10942853B2 (en) * | 2018-12-20 | 2021-03-09 | International Business Machines Corporation | System and method including broadcasting an address translation invalidation instruction with a return marker to indentify the location of data in a computing system having mutiple processors |
US11853231B2 (en) | 2021-06-24 | 2023-12-26 | Ati Technologies Ulc | Transmission of address translation type packets |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5463750A (en) * | 1993-11-02 | 1995-10-31 | Intergraph Corporation | Method and apparatus for translating virtual addresses in a data processing system having multiple instruction pipelines and separate TLB's |
US6490671B1 (en) | 1999-05-28 | 2002-12-03 | Oracle Corporation | System for efficiently maintaining translation lockaside buffer consistency in a multi-threaded, multi-processor virtual memory system |
JP3959914B2 (ja) | 1999-12-24 | 2007-08-15 | 株式会社日立製作所 | 主記憶共有型並列計算機及びそれに用いるノード制御装置 |
US6604185B1 (en) * | 2000-07-20 | 2003-08-05 | Silicon Graphics, Inc. | Distribution of address-translation-purge requests to multiple processors |
US6925547B2 (en) | 2000-12-14 | 2005-08-02 | Silicon Graphics, Inc. | Remote address translation in a multiprocessor system |
US7363462B2 (en) | 2003-04-04 | 2008-04-22 | Sun Microsystems, Inc. | Performing virtual to global address translation in processing subsystem |
US7617378B2 (en) | 2003-04-28 | 2009-11-10 | International Business Machines Corporation | Multiprocessor system with retry-less TLBI protocol |
US7490215B2 (en) * | 2004-12-22 | 2009-02-10 | Intel Corporation | Media memory system and method for providing concurrent memory access to a plurality of processors through separate translation table information |
US7774512B2 (en) | 2005-02-08 | 2010-08-10 | Sony Computer Entertainment Inc. | Methods and apparatus for hybrid DMA queue and DMA table |
US8249089B2 (en) | 2006-09-29 | 2012-08-21 | Intel Corporation | Methods for pushing address translations mappings to PCI express endpoints |
US7590817B2 (en) | 2006-10-17 | 2009-09-15 | International Business Machines Corporation | Communicating with an I/O device using a queue data structure and pre-translated addresses |
US7984337B2 (en) * | 2009-02-19 | 2011-07-19 | Freescale Semiconductor, Inc. | Address translation trace message generation for debug |
US20140101405A1 (en) * | 2012-10-05 | 2014-04-10 | Advanced Micro Devices, Inc. | Reducing cold tlb misses in a heterogeneous computing system |
-
2012
- 2012-12-10 US US13/709,681 patent/US9170954B2/en not_active Expired - Fee Related
-
2013
- 2013-03-12 US US13/795,466 patent/US9053049B2/en active Active
- 2013-11-28 JP JP2015545651A patent/JP6381541B2/ja active Active
- 2013-11-28 WO PCT/CN2013/087995 patent/WO2014090087A1/en active Application Filing
- 2013-11-28 CN CN201380064530.6A patent/CN104854568B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9053049B2 (en) | 2015-06-09 |
US9170954B2 (en) | 2015-10-27 |
CN104854568A (zh) | 2015-08-19 |
US20140164731A1 (en) | 2014-06-12 |
JP2016503198A (ja) | 2016-02-01 |
US20140164732A1 (en) | 2014-06-12 |
WO2014090087A1 (en) | 2014-06-19 |
CN104854568B (zh) | 2017-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6381541B2 (ja) | データ処理システム中で命令を処理する方法、回路構成、集積回路デバイス、プログラム製品(リモート処理ノード中のアドレス変換データ構造を更新するための変換管理命令) | |
US9244840B2 (en) | Cache swizzle with inline transposition | |
JP5764265B2 (ja) | 複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワークを利用する回路装置、集積回路デバイス、プログラム製品および方法(複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワーク) | |
US7890699B2 (en) | Processing unit incorporating L1 cache bypass | |
US10521234B2 (en) | Concurrent multiple instruction issued of non-pipelined instructions using non-pipelined operation resources in another processing core | |
US9513904B2 (en) | Computer processor employing cache memory with per-byte valid bits | |
US9678885B2 (en) | Regular expression memory region with integrated regular expression engine | |
US8719455B2 (en) | DMA-based acceleration of command push buffer between host and target devices | |
US9176885B2 (en) | Combined cache inject and lock operation | |
US9141545B2 (en) | Speculative read in a cache coherent microprocessor | |
US8423715B2 (en) | Memory management among levels of cache in a memory hierarchy | |
TWI470435B (zh) | 為本地與遠端實體記憶體間之共用虛擬記憶體提供硬體支援 | |
US7389389B2 (en) | System and method for limited fanout daisy chaining of cache invalidation requests in a shared-memory multiprocessor system | |
US8230179B2 (en) | Administering non-cacheable memory load instructions | |
US9274591B2 (en) | General purpose processing unit with low power digital signal processing (DSP) mode | |
US8892851B2 (en) | Changing opcode of subsequent instruction when same destination address is not used as source address by intervening instructions | |
GB2507759A (en) | Hierarchical cache with a first level data cache which can access a second level instruction cache or a third level unified cache | |
US10754791B2 (en) | Software translation prefetch instructions | |
US20110320740A1 (en) | Method for optimizing sequential data fetches in a computer system | |
WO2009119413A1 (ja) | キャッシュメモリ、情報処理装置およびキャッシュメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161101 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171017 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180530 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20180606 |
|
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: 20180710 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6381541 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |