JP6570873B2 - マルチプロセッサシステムのメインメモリ対する投機的クエリ - Google Patents
マルチプロセッサシステムのメインメモリ対する投機的クエリ Download PDFInfo
- Publication number
- JP6570873B2 JP6570873B2 JP2015099798A JP2015099798A JP6570873B2 JP 6570873 B2 JP6570873 B2 JP 6570873B2 JP 2015099798 A JP2015099798 A JP 2015099798A JP 2015099798 A JP2015099798 A JP 2015099798A JP 6570873 B2 JP6570873 B2 JP 6570873B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- module
- request
- main memory
- management module
- 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.)
- Expired - Fee Related
Links
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/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- 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
-
- 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
-
- 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/0817—Cache consistency protocols using directory methods
-
- 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/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- 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/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative control
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
本出願は、2014年5月27日出願の仏国特許出願第1454792号に基づく優先権を主張するものであり、こその内容は、参照により全体として本明細書に組み込まれる。
対象のデータがキャッシュされている(OK)ことをディレクトリが示している場合、投機的リクエストは工程306において却下される。
Claims (10)
- マルチプロセッサシステムにおいてデータにアクセスする方法であって、
前記マルチプロセッサシステムは、複数のプロセッサ、キャッシュメモリ管理モジュー
ル、メインメモリ及びメインメモリ管理モジュールを含み、各プロセッサは対応するキャ
ッシュメモリと関連付けられ、
前記方法は、
一のプロセッサがデータにアクセスするための最初のリクエストを、前記キャッシュメ
モリ管理モジュールによって受信する工程と、
前記データに関する少なくとも第1リクエストを、前記キャッシュメモリ管理モジュールによって、前記複数のプロセッサのうち前記一のプロセッサ以外のプロセッサのそれぞれに対応するキャッシュメモリに送信する第1送信工程と、
前記データに関する少なくとも第2リクエストを、前記キャッシュメモリ管理モジュー
ルによって、前記メインメモリ管理モジュールへと、前記第1送信工程と並行して送信す
る第2送信工程と、
前記メインメモリ管理モジュールによって、前記メインメモリへのクエリを開始するか
否かをチェックする工程と、
前記チェックする工程に従って、前記メインメモリ管理モジュールによって、前記メイ
ンメモリのクエリを行う又は行わない工程と、を備える方法。 - 前記データが前記メインメモリにおいて利用不可能である場合には、前記メインメモリ
管理モジュールによって、前記第2リクエストを却下する工程を更に備える、請求項1に
記載の方法。 - 前記データが、前記マルチプロセッサシステムの少なくとも一つのキャッシュメモリにおいて利用可能であると判断された場合には、前記メインメモリ管理モジュールによって、前記第2リクエ
ストが却下される、請求項1に記載の方法。 - 前記キャッシュメモリ管理モジュールは更に、前記第1リクエストに応じて、前記少な
くとも一つのキャッシュメモリから前記データを取得するのを待つ、請求項3に記載の方
法。 - 複数のプロセッサによる前記データへのアクセスの競合が検出された場合には、前記メ
インメモリ管理モジュールによって、前記第2リクエストが却下される、請求項2に記載
の方法。 - ディレクトリを使用したキャッシュメモリ管理が前記マルチプロセッサシステムに実装され、
前記チェックする工程は、キャッシュメモリ内のデータのステータスのディレクトリを
参照する工程を有する、請求項1に記載の方法。 - 前記キャッシュメモリ管理モジュールからの前記第2リクエストの確認を、前記メイン
メモリ管理モジュールによって受信する工程を更に備える、請求項1に記載の方法。 - 前記確認に応じて、前記メインメモリへのクエリを開始する工程を更に備える、請求項7に記載の方法。
- 前記確認に応じて、前記最初のリクエストに対する終了メッセージを、前記キャッシュ
メモリ管理モジュールへと送信する工程を更に備える、請求項7に記載の方法。 - マルチプロセッサシステムであって、
それぞれがキャッシュメモリと関連付けられた複数のプロセッサと、
キャッシュメモリ管理モジュールと、
メインメモリと、
メインメモリ管理モジュールと、を備え、
前記マルチプロセッサシステムにおいてデータにアクセスするために、
前記キャッシュメモリ管理モジュールは、一のプロセッサがデータにアクセスすること
に関する最初のリクエストを受信し、前記データに関する少なくとも第1リクエストを、
前記複数のプロセッサのうち前記一のプロセッサ以外のプロセッサのそれぞれに対応するキャッシュメモリに送信する第1送信工程と、前記データに関する少なくとも第2リクエストを、前記メインメモリ管理モジュールへと、前記第1送信工程と並行して送信する第2送信工程とを実行するように構成され、
前記メインメモリ管理モジュールは、前記メインメモリへのクエリをトリガするか又は
しないかのチェックを実行し、当該チェックに従って前記メインメモリへのクエリを行う
又は行わないように構成される、マルチプロセッサシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1454792 | 2014-05-27 | ||
FR1454792A FR3021773B1 (fr) | 2014-05-27 | 2014-05-27 | Interrogation speculative en memoire centrale d'un systeme multiprocesseur |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016015121A JP2016015121A (ja) | 2016-01-28 |
JP6570873B2 true JP6570873B2 (ja) | 2019-09-04 |
Family
ID=51225781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015099798A Expired - Fee Related JP6570873B2 (ja) | 2014-05-27 | 2015-05-15 | マルチプロセッサシステムのメインメモリ対する投機的クエリ |
Country Status (5)
Country | Link |
---|---|
US (1) | US9720850B2 (ja) |
EP (1) | EP2950217B1 (ja) |
JP (1) | JP6570873B2 (ja) |
BR (1) | BR102015011684A2 (ja) |
FR (1) | FR3021773B1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180054486A1 (en) * | 2009-10-29 | 2018-02-22 | International Business Machines Corporation | Speculative Requests |
CN116708571B (zh) * | 2023-07-22 | 2024-05-14 | 武汉船舶职业技术学院 | 一种基于5g通信的智能终端服务方法、系统及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02205963A (ja) * | 1989-01-27 | 1990-08-15 | Digital Equip Corp <Dec> | 読取中断処理 |
US5813030A (en) * | 1991-12-31 | 1998-09-22 | Compaq Computer Corp. | Cache memory system with simultaneous access of cache and main memories |
JPH06282528A (ja) * | 1993-01-29 | 1994-10-07 | Internatl Business Mach Corp <Ibm> | データ転送方法及びそのシステム |
US6338122B1 (en) * | 1998-12-15 | 2002-01-08 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively forwards a read request to a remote processing node |
JP3609656B2 (ja) * | 1999-07-30 | 2005-01-12 | 株式会社日立製作所 | コンピュータシステム |
JP3764015B2 (ja) * | 1999-12-13 | 2006-04-05 | 富士通株式会社 | メモリアクセス方法及びマルチプロセッサシステム |
US7234029B2 (en) * | 2000-12-28 | 2007-06-19 | Intel Corporation | Method and apparatus for reducing memory latency in a cache coherent multi-node architecture |
US6625707B2 (en) * | 2001-06-25 | 2003-09-23 | Intel Corporation | Speculative memory command preparation for low latency |
US6959364B2 (en) * | 2002-06-28 | 2005-10-25 | Intel Corporation | Partially inclusive snoop filter |
JP4673585B2 (ja) * | 2004-08-05 | 2011-04-20 | 富士通株式会社 | メモリシステム制御装置およびメモリシステム制御方法 |
JP4504134B2 (ja) * | 2004-08-16 | 2010-07-14 | 富士通株式会社 | システム制御装置、投機フェッチ方法および情報処理装置 |
US8010682B2 (en) * | 2004-12-28 | 2011-08-30 | International Business Machines Corporation | Early coherency indication for return data in shared memory architecture |
US7949830B2 (en) * | 2007-12-10 | 2011-05-24 | International Business Machines Corporation | System and method for handling data requests |
JP5163220B2 (ja) * | 2008-03-26 | 2013-03-13 | 富士通株式会社 | キャッシュ制御装置、情報処理装置 |
US8127106B2 (en) * | 2008-04-18 | 2012-02-28 | International Business Machines Corporation | Access speculation predictor with predictions based on a domain indicator of a cache line |
US20130046934A1 (en) * | 2011-08-15 | 2013-02-21 | Robert Nychka | System caching using heterogenous memories |
US9201796B2 (en) * | 2012-09-27 | 2015-12-01 | Apple Inc. | System cache with speculative read engine |
-
2014
- 2014-05-27 FR FR1454792A patent/FR3021773B1/fr not_active Expired - Fee Related
-
2015
- 2015-05-15 JP JP2015099798A patent/JP6570873B2/ja not_active Expired - Fee Related
- 2015-05-21 BR BR102015011684A patent/BR102015011684A2/pt not_active Application Discontinuation
- 2015-05-26 US US14/721,282 patent/US9720850B2/en active Active
- 2015-05-27 EP EP15169315.7A patent/EP2950217B1/fr active Active
Also Published As
Publication number | Publication date |
---|---|
EP2950217A1 (fr) | 2015-12-02 |
US20150347322A1 (en) | 2015-12-03 |
US9720850B2 (en) | 2017-08-01 |
BR102015011684A2 (pt) | 2015-12-29 |
JP2016015121A (ja) | 2016-01-28 |
FR3021773A1 (fr) | 2015-12-04 |
EP2950217B1 (fr) | 2022-05-04 |
FR3021773B1 (fr) | 2017-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812794B2 (en) | Resolving messaging deadlock in a distributed shared memory | |
US8762651B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
US7702743B1 (en) | Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes | |
TWI274998B (en) | Method for memory coherency, systems for supporting distributed cache coherency conflict resolution, method for resolving a writeback race conflict, and for resolving a race conflict for request for ownership of two substantially simultaneous requests | |
US8423736B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
CN107257957B (zh) | 至次级应用的应用高速缓存复制 | |
EP2676203B1 (en) | Broadcast protocol for a network of caches | |
EP4026005B1 (en) | Producer-to-consumer active direct cache transfers | |
EP2568379B1 (en) | Method for preventing node controller deadlock and node controller | |
KR20050074310A (ko) | 캐시 라인 소유권 이전 방법 및 장치 | |
JP6570873B2 (ja) | マルチプロセッサシステムのメインメモリ対する投機的クエリ | |
EP3788492B1 (en) | Separating completion and data responses for higher read throughput and lower link utilization in a data processing network | |
CN110083548B (zh) | 数据处理方法及相关网元、设备、系统 | |
US8560776B2 (en) | Method for expediting return of line exclusivity to a given processor in a symmetric multiprocessing data processing system | |
US9645927B2 (en) | Reduction of evictions in cache memory management directories | |
JP4335298B2 (ja) | スヌープ制御方法および情報処理装置 | |
JP2018129041A (ja) | スヌープリクエストに対する応答の転送 | |
JP5986307B2 (ja) | 部分的に順序付けされたネットワーク上におけるブロードキャストキャッシュコヒーレンス | |
CN112579479B (zh) | 在维护缓存一致性时维护事务次序的处理器及其方法 | |
JP6631317B2 (ja) | 演算処理装置、情報処理装置および情報処理装置の制御方法 | |
US20140068199A1 (en) | Processor and information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181002 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190115 |
|
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: 20190709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190807 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6570873 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |