JP5936152B2 - メモリアクセストレース方法 - Google Patents
メモリアクセストレース方法 Download PDFInfo
- Publication number
- JP5936152B2 JP5936152B2 JP2014102910A JP2014102910A JP5936152B2 JP 5936152 B2 JP5936152 B2 JP 5936152B2 JP 2014102910 A JP2014102910 A JP 2014102910A JP 2014102910 A JP2014102910 A JP 2014102910A JP 5936152 B2 JP5936152 B2 JP 5936152B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- command
- memory access
- cache coherency
- information
- 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
- 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 OR CALCULATING; 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 OR CALCULATING; 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
- G06F2212/2542—Non-uniform memory access [NUMA] architecture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/306—In system interconnect, e.g. between two buses
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
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)
- Debugging And Monitoring (AREA)
Description
(ii)特定されたキャッシュ・コヒーレンシ・コマンドをメモリアクセスのタイミングに最も近い(最新/最後の)タイミングで出力したCPUをそのメモリへアクセスするCPUとして特定する。
20 インターコネクト
30 プローブ
100 共有メモリ型マルチプロセッサシステム
Claims (7)
- 相互に通信可能な少なくとも2以上の演算装置を含み、前記演算装置の各々は、キャッシュを備えると共に対応するメモリに接続するシステムにおいて、前記メモリのいずれか1つへアクセスした演算装置を特定するための方法であって、
前記メモリのいずれか1つへのメモリアクセスをモニターするステップと、
前記演算装置間のキャッシュ・コヒーレンシ・コマンドをモニターするステップと、
前記メモリアクセスに関する情報と前記キャッシュ・コヒーレンシ・コマンドに関する情報とから前記メモリアクセスがモニターされた前記メモリのいずれか1つへアクセスした演算装置を特定するステップと、を含む方法。 - 前記メモリのいずれか1つへのメモリアクセスをモニターするステップは、前記メモリのいずれか1つに接続するメモリバスを介して前記メモリアクセスに関する情報を取得し、当該情報を保管するステップを含む、請求項1に記載の方法。
- 前記演算装置間のキャッシュ・コヒーレンシ・コマンドをモニターするステップは、
前記演算装置間のインターコネクトを介して前記キャッシュ・コヒーレンシ・コマンドをモニターし、前記キャッシュ・コヒーレンシ・コマンドに関する情報を保管するステップを含む、請求項1にまたは2に記載の方法。 - 前記メモリのいずれか1つへアクセスした演算装置を特定するステップは、
前記キャッシュ・コヒーレンシ・コマンドに関する情報の履歴の中から前記メモリアクセスに関する情報中のメモリアドレスと同じメモリアドレスを含む前記キャッシュ・コヒーレンシ・コマンドを特定するステップと、
特定された前記キャッシュ・コヒーレンシ・コマンドを前記メモリアクセスのタイミングに最も近いタイミングで出力した演算装置を前記メモリのいずれか1つへアクセスした演算装置として特定するステップと、を含む請求項3に記載の方法。 - 前記メモリアクセスに関する情報は、アクセスタイムと、コマンドの種類と、メモリアドレスとを含み、
前記キャッシュ・コヒーレンシ・コマンドに関する情報は、コマンド発生タイムと、コマンドの種類と、メモリアドレスと、コマンドを出力した演算装置のIDとを含む、請求項1〜4のいずれか1項に記載の方法。 - 相互にインターコネクトを介して通信可能な少なくとも2以上の演算装置を含み、前記演算装置の各々は、キャッシュを備えると共にメモリバスを介して対応するメモリに接続するシステムにおいて、前記メモリのいずれか1つである第1メモリへアクセスした演算装置を特定するための方法であって、
前記第1メモリに接続する前記メモリバスを介して前記第1メモリへのメモリアクセスをモニターするステップと、
前記演算装置間の前記インターコネクトを介してキャッシュ・コヒーレンシ・コマンドをモニターし、当該コマンドに関する情報を保管するステップと、
前記コマンドに関する情報の履歴の中から前記第1メモリへのメモリアクセスのメモリアドレスと同じメモリアドレスを含むコマンドを特定するステップと、
特定された前記コマンドを前記第1メモリへのメモリアクセスのタイミングに最も近いタイミングで出力した演算装置を前記第1メモリへアクセスした演算装置として特定する
ステップと、を含む方法。 - 請求項1〜6のいずれか1項の方法の各ステップを実行するためのコンピュータ・プログラム。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014102910A JP5936152B2 (ja) | 2014-05-17 | 2014-05-17 | メモリアクセストレース方法 |
| US14/700,808 US9940237B2 (en) | 2014-05-17 | 2015-04-30 | Identification of a computing device accessing a shared memory |
| US14/746,886 US9928175B2 (en) | 2014-05-17 | 2015-06-23 | Identification of a computing device accessing a shared memory |
| US15/704,551 US10241917B2 (en) | 2014-05-17 | 2017-09-14 | Identification of a computing device accessing a shared memory |
| US15/704,498 US10169237B2 (en) | 2014-05-17 | 2017-09-14 | Identification of a computing device accessing a shared memory |
| US16/246,583 US11163681B2 (en) | 2014-05-17 | 2019-01-14 | Identification of a computing device accessing a shared memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014102910A JP5936152B2 (ja) | 2014-05-17 | 2014-05-17 | メモリアクセストレース方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015219727A JP2015219727A (ja) | 2015-12-07 |
| JP5936152B2 true JP5936152B2 (ja) | 2016-06-15 |
Family
ID=54538624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014102910A Active JP5936152B2 (ja) | 2014-05-17 | 2014-05-17 | メモリアクセストレース方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (5) | US9940237B2 (ja) |
| JP (1) | JP5936152B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5936152B2 (ja) * | 2014-05-17 | 2016-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリアクセストレース方法 |
| US10713334B1 (en) | 2015-06-10 | 2020-07-14 | EMC IP Holding Company LLC | Data processing system with a scalable architecture over ethernet |
| US10515014B1 (en) * | 2015-06-10 | 2019-12-24 | EMC IP Holding Company LLC | Non-uniform memory access (NUMA) mechanism for accessing memory with cache coherence |
| US11010054B1 (en) | 2015-06-10 | 2021-05-18 | EMC IP Holding Company LLC | Exabyte-scale data processing system |
Family Cites Families (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0625984B2 (ja) * | 1990-02-20 | 1994-04-06 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | マルチプロセツサ・システム |
| US5265232A (en) * | 1991-04-03 | 1993-11-23 | International Business Machines Corporation | Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data |
| JP2819982B2 (ja) * | 1993-03-18 | 1998-11-05 | 株式会社日立製作所 | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
| JP3872118B2 (ja) * | 1995-03-20 | 2007-01-24 | 富士通株式会社 | キャッシュコヒーレンス装置 |
| JPH09311820A (ja) * | 1996-03-19 | 1997-12-02 | Hitachi Ltd | マルチプロセッサシステム |
| US5892970A (en) * | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient block copy operations |
| US6073225A (en) * | 1997-06-24 | 2000-06-06 | Intel Corporation | Method and apparatus for monitoring bus transactions based on cycle type and memory address range |
| US6065077A (en) | 1997-12-07 | 2000-05-16 | Hotrail, Inc. | Apparatus and method for a cache coherent shared memory multiprocessing system |
| US6457100B1 (en) * | 1999-09-15 | 2002-09-24 | International Business Machines Corporation | Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls |
| US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
| US6598128B1 (en) * | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
| JP2002032265A (ja) * | 2000-07-14 | 2002-01-31 | Hitachi Ltd | キャッシュ・アクセス制御方式およびデータ処理システム |
| US6711651B1 (en) * | 2000-09-05 | 2004-03-23 | International Business Machines Corporation | Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching |
| JP3732397B2 (ja) * | 2000-10-05 | 2006-01-05 | 株式会社日立製作所 | キャッシュシステム |
| US6631450B1 (en) * | 2000-10-26 | 2003-10-07 | International Business Machines Corporation | Symmetric multiprocessor address bus protocol with intra-cache line access information |
| US6799217B2 (en) | 2001-06-04 | 2004-09-28 | Fujitsu Limited | Shared memory multiprocessor expansion port for multi-node systems |
| US6877088B2 (en) * | 2001-08-08 | 2005-04-05 | Sun Microsystems, Inc. | Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition |
| KR100441712B1 (ko) | 2001-12-29 | 2004-07-27 | 엘지전자 주식회사 | 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법 |
| US20040022094A1 (en) * | 2002-02-25 | 2004-02-05 | Sivakumar Radhakrishnan | Cache usage for concurrent multiple streams |
| JP3931820B2 (ja) | 2003-03-11 | 2007-06-20 | トヨタ自動車株式会社 | 内燃機関および内燃機関の制御方法 |
| US7529893B2 (en) * | 2003-04-11 | 2009-05-05 | Sun Microsystems, Inc. | Multi-node system with split ownership and access right coherence mechanism |
| JP3764893B2 (ja) * | 2003-05-30 | 2006-04-12 | 富士通株式会社 | マルチプロセッサシステム |
| US7434008B2 (en) * | 2004-04-23 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | System and method for coherency filtering |
| EP1710703A1 (fr) * | 2005-04-04 | 2006-10-11 | Stmicroelectronics Sa | Cohérence de cache dans un système multiprocesseurs à mémoire partagée |
| JP2006318412A (ja) | 2005-05-16 | 2006-11-24 | Toshiba Corp | 半導体装置 |
| JP4806959B2 (ja) * | 2005-05-17 | 2011-11-02 | 株式会社日立製作所 | 主記憶共有型マルチプロセッサシステムの高性能化技術 |
| US9734086B2 (en) * | 2006-12-06 | 2017-08-15 | Sandisk Technologies Llc | Apparatus, system, and method for a device shared between multiple independent hosts |
| JP2008152665A (ja) * | 2006-12-19 | 2008-07-03 | Toshiba Corp | 半導体集積回路の動作解析方法 |
| US7793130B2 (en) | 2007-04-24 | 2010-09-07 | Taiwan Semiconductor Manufacturing Company, Ltd. | Mother/daughter switch design with self power-up control |
| US7904676B2 (en) * | 2007-04-30 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Method and system for achieving varying manners of memory access |
| JP4888272B2 (ja) * | 2007-07-30 | 2012-02-29 | 富士通セミコンダクター株式会社 | ソフトウェアのシミュレーション方法、ソフトウェアのシミュレーションのためのプログラム、及びソフトウェアのシミュレーション装置 |
| US7895400B2 (en) * | 2007-09-28 | 2011-02-22 | Oracle America, Inc. | Hybrid cache coherence using fine-grained hardware message passing |
| US20110004729A1 (en) | 2007-12-19 | 2011-01-06 | 3Leaf Systems, Inc. | Block Caching for Cache-Coherent Distributed Shared Memory |
| US9223677B2 (en) * | 2008-06-11 | 2015-12-29 | Arm Limited | Generation of trace data in a multi-processor system |
| US8176262B2 (en) * | 2009-01-12 | 2012-05-08 | Arm Limited | Handling of memory access requests to shared memory in a data processing apparatus |
| US8200908B2 (en) | 2009-02-06 | 2012-06-12 | Freescale Semiconductor, Inc. | Method for debugger initiated coherency transactions using a shared coherency manager |
| JP2010244327A (ja) * | 2009-04-07 | 2010-10-28 | Toshiba Corp | キャッシュシステム |
| JP2009193604A (ja) | 2009-06-02 | 2009-08-27 | Renesas Technology Corp | 半導体情報処理装置 |
| US8667225B2 (en) * | 2009-09-11 | 2014-03-04 | Advanced Micro Devices, Inc. | Store aware prefetching for a datastream |
| US8327077B2 (en) * | 2009-11-13 | 2012-12-04 | International Business Machines Corporation | Method and apparatus of parallel computing with simultaneously operating stream prefetching and list prefetching engines |
| US8375184B2 (en) * | 2009-11-30 | 2013-02-12 | Intel Corporation | Mirroring data between redundant storage controllers of a storage system |
| US20110153944A1 (en) * | 2009-12-22 | 2011-06-23 | Klaus Kursawe | Secure Cache Memory Architecture |
| US9129071B2 (en) * | 2012-10-24 | 2015-09-08 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
| US9720847B2 (en) * | 2013-07-17 | 2017-08-01 | Nxp Usa, Inc. | Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed |
| US9086974B2 (en) * | 2013-09-26 | 2015-07-21 | International Business Machines Corporation | Centralized management of high-contention cache lines in multi-processor computing environments |
| KR101730781B1 (ko) * | 2013-12-12 | 2017-04-26 | 인텔 코포레이션 | 경쟁 상태를 검출하는 기법 |
| JP5936152B2 (ja) | 2014-05-17 | 2016-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリアクセストレース方法 |
-
2014
- 2014-05-17 JP JP2014102910A patent/JP5936152B2/ja active Active
-
2015
- 2015-04-30 US US14/700,808 patent/US9940237B2/en not_active Expired - Fee Related
- 2015-06-23 US US14/746,886 patent/US9928175B2/en not_active Expired - Fee Related
-
2017
- 2017-09-14 US US15/704,551 patent/US10241917B2/en not_active Expired - Fee Related
- 2017-09-14 US US15/704,498 patent/US10169237B2/en not_active Expired - Fee Related
-
2019
- 2019-01-14 US US16/246,583 patent/US11163681B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015219727A (ja) | 2015-12-07 |
| US10169237B2 (en) | 2019-01-01 |
| US20190146921A1 (en) | 2019-05-16 |
| US20150331795A1 (en) | 2015-11-19 |
| US9928175B2 (en) | 2018-03-27 |
| US20180004665A1 (en) | 2018-01-04 |
| US11163681B2 (en) | 2021-11-02 |
| US9940237B2 (en) | 2018-04-10 |
| US20180004666A1 (en) | 2018-01-04 |
| US20150331797A1 (en) | 2015-11-19 |
| US10241917B2 (en) | 2019-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7613882B1 (en) | Fast invalidation for cache coherency in distributed shared memory system | |
| JP6417344B2 (ja) | 異なるキャッシュ・コヒーレンス・ドメインの間の情報共有技法 | |
| JP4566264B2 (ja) | 格納および予約命令を利用して関連アプリケーションと相互参照してキャッシュライン・ポーリングを行う方法、システム、装置、およびプログラム | |
| US20140236561A1 (en) | Efficient validation of coherency between processor cores and accelerators in computer systems | |
| CN101216781B (zh) | 一种多处理器系统、装置及方法 | |
| US11163681B2 (en) | Identification of a computing device accessing a shared memory | |
| JP5756554B2 (ja) | 半導体装置 | |
| JP2024501638A (ja) | パケットメタデータを用いたデータ配置 | |
| CN101676887B (zh) | 一种基于ahb总线结构的总线监听方法及装置 | |
| CN118964231A (zh) | 维护缓存一致性的方法及装置、过滤器、电子设备及介质 | |
| US20080109610A1 (en) | Selective snooping by snoop masters to locate updated data | |
| US20130159632A1 (en) | Memory sharing by processors | |
| KR20130095811A (ko) | 복합 멀티-코어 및 멀티-소켓 시스템의 디버깅 | |
| US9448937B1 (en) | Cache coherency | |
| JP5996828B2 (ja) | コヒーレントバスを介したセマフォ管理シーケンスのパフォーマンスを改善するための方法および装置 | |
| US7574566B2 (en) | System and method for efficient software cache coherence | |
| CN103488606B (zh) | 基于节点控制器的请求响应方法和装置 | |
| US20120159087A1 (en) | Ensuring Forward Progress of Token-Required Cache Operations In A Shared Cache | |
| US10489292B2 (en) | Ownership tracking updates across multiple simultaneous operations | |
| CN104969203A (zh) | 利用反射内存实现一致性 | |
| US8364906B2 (en) | Avoiding memory access latency by returning hit-modified when holding non-modified data | |
| CN121979660A (en) | Data processing method, device, processor chip and computer system | |
| CN107688545A (zh) | 高速缓存的一致性状态预置方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160112 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160115 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160121 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160218 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160304 |
|
| 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: 20160408 |
|
| RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20160408 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160428 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5936152 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |