JP5635311B2 - リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル - Google Patents
リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル Download PDFInfo
- Publication number
- JP5635311B2 JP5635311B2 JP2010140714A JP2010140714A JP5635311B2 JP 5635311 B2 JP5635311 B2 JP 5635311B2 JP 2010140714 A JP2010140714 A JP 2010140714A JP 2010140714 A JP2010140714 A JP 2010140714A JP 5635311 B2 JP5635311 B2 JP 5635311B2
- Authority
- JP
- Japan
- Prior art keywords
- store
- item
- data
- miss
- access
- 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/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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/12—Replacement control
-
- 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
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Claims (17)
- 複数のアイテムを保存する記憶装置であって、
前記記憶装置は、同一のクロックサイクルで、各アイテムにアクセスするための第1アクセス要求および第2アクセス要求を受信するように構成され、
前記記憶装置は、
前記複数のアイテムのサブセットをそれぞれ保存する2つのストアを具備し、
前記第1アクセス要求は第1ストアに送信されるとともに、前記第2アクセス要求は第2ストアに送信され、
前記記憶装置は、
要求されたアイテムが前記アクセスされたストアに保存されていないというミスを検出するミス検出回路と、
アクセスがミスを起こしたアイテムを別のストアから読み出すアイテム読み出し回路と、
前記各ストアのアクセス履歴に従って、前記2つのストアの各々に上書きするアイテムを選択するアップデート回路と
を具備し、
前記アップデート回路は、前記ミス検出回路が前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするとともに、
前記アップデート回路は、前記ミス検出回路が前記第2ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートし、
前記アップデート回路は、前記ミスを起こした前記アクセスされたストアに対して他方の前記第1または第2ストアに前記ミスを起こした前記アイテムが保存されているか識別するように構成され、前記少なくとも1つの別の条件は、前記アイテムが前記他方の第1または第2ストアに保存されていないとの前記ミス検出回路による後続の検出であることを特徴とする記憶装置。 - 前記アップデート回路は、前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在していることの検出に応答して、前記他方の第1または第2ストアから前記アイテムを読み出すとともに、前記アップデート回路によって選択された前記アイテムを上書きすることによって、前記アイテムを前記ミスを起こした前記アクセスされたストアにコピーすることを特徴とする請求項1に記載の記憶装置。
- 前記アップデート回路は、前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在していることの検出に応答して、上書きする前記アイテムを選択するとともに、前記ストアのアイテムアクセスの履歴に従って前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択し、
前記アップデート回路は、前記別のストアから読み出された前記アイテムで前記選択されたアイテムを上書きするように構成されることを特徴とする請求項1に記載の記憶装置。 - 前記アップデート回路は、前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在していることの検出に応答して、前記他方の第1または第2ストアのいずれのアイテムも上書きせず、前記ストアのアイテムアクセスの履歴に従って前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択するとともに、前記選択されたアイテムを上書きすることを特徴とする請求項1に記載の記憶装置。
- 前記別のストアから読み出された前記アイテムは、関連するデータの属性を示す属性データを有し、
前記少なくとも1つの別の条件は、所定の値を有していない前記属性データを有し、
前記アップデート回路は、前記所定の値を有していない前記属性データに応答して、前記読み出されたアイテムで前記第2ストアおよび前記第1ストアをアップデートするとともに、前記所定の値を有している属性データに応答して、前記読み出されたアイテムで前記他方の第1または第2ストアをアップデートせずに、前記読み出されたアイテムで前記ミスを起こした前記アクセスされたストアをアップデートすることを特徴とする請求項1に記載の記憶装置。 - 前記第1アクセス要求は、保存要求であり、
前記第2アクセス要求は、ロード要求であり、
前記ミスを起こした前記アクセスされたストアは前記第1ストアを含むとともに、
前記所定の値は、前記値に関連する前記データが読み出し専用データであることを示す値であることを特徴とする請求項5に記載の記憶装置。 - 前記2つのストアは、2つのレベル1のキャッシュを具備し、
前記記憶装置は、前記別のストアをさらに具備するとともに、
前記別のストアは、レベル2のキャッシュを具備することを特徴とする請求項1に記載の記憶装置。 - 前記アップデート回路は、前記2つのストアの各々へのアクセス履歴を保存するバッファを具備するとともに、
前記アップデート回路は、最近アクセスされていない、上書きするアイテムを選択するように構成されることを特徴とする請求項1に記載の記憶装置。 - 前記アクセス要求は、仮想アドレスを使用して前記アイテムの記憶位置を識別するとともに、
前記2つのストアは、仮想アドレスから物理アドレスへの複数の変換をそれぞれ保存する複数のトランスレーション・ルックアサイド・バッファを具備することを特徴とする請求項1に記載の記憶装置。 - 前記記憶装置が、少なくとも1つの追加のストアを具備し、
前記記憶装置は、前記第1および第2アクセス要求と同様に、同一のクロックサイクルで少なくとも1つの追加のアクセス要求を受信するように構成されており、
前記少なくとも1つの追加のアクセス要求が、前記少なくとも1つの追加のストアに送信され、
前記アップデート回路は、前記少なくとも1つの追加のストアのアクセス履歴に従って、前記少なくとも1つの追加のストアを上書きするアイテムを選択するように構成され、
前記アップデート回路は、前記ミス検出回路が前記第1ストアへのアクセスにおける前記ミスを検出したことと、前記少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで全ての前記ストアをアップデートすることを特徴とする請求項1に記載の記憶装置。 - データを処理するプロセッサと、請求項1に記載の記憶装置とを具備するデータ処理装置であって、
前記プロセッサは、同一のクロックサイクル中にデータロード要求およびデータ保存要求を生成するように構成されることを特徴とするデータ処理装置。 - 前記データ処理装置は、前記別のストアを具備し
前記別のストアは、各アイテムに関連する属性データを保存するように構成されることを特徴とする請求項11に記載のデータ処理装置。 - 第1および第2ストアに保存されたアイテムをアップデートする方法であって、
同一のクロックサイクルで、前記第1ストア内の第1アイテムにアクセスするための第1アクセス要求と、第2ストア内の第2アイテムにアクセスするための第2アクセス要求とを受信するステップと、
要求されたアイテムが前記アクセスされたストアに保存されていないというミスをいずれのアクセス要求が起こしたか判定するステップと、
アクセスがミスを起こしたアイテムを別のストアから読み出すステップと、
前記各ストアのアクセス履歴に従って、前記2つのストアの各々に上書きするアイテムを選択するステップと、
前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするステップと、
前記第2ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするステップと、
前記ミスを検出した後に、前記ミスを起こした前記アイテムが他方の前記第1または第2ストアに保存されているかを識別するステップと
を具備し、
前記少なくとも1つの別の条件は、前記第1アイテムが前記他方の第1または第2ストアに保存されていないことの検出であることを特徴とする方法。 - 前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在することの検出に応答して、
前記他方の第1または第2ストアから前記アイテムを読み出すステップと、
アップデート回路によって選択された前記アイテムを上書きすることによって、前記アイテムを前記第1ストアにコピーするステップと
を具備することを特徴とする請求項13に記載の方法。 - 前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在することの検出に応答して、
上書きする前記アイテムを選択するステップと、
前記ストアのアイテムアクセスの履歴に従って、前記前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択するステップと、
前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするステップと
を具備することを特徴とする請求項13に記載の方法。 - 前記ミスを起こした前記アイテムが前記他方の第1または第2ストアに存在することの検出に応答して、
前記他方の第1または第2ストア内のいずれのアイテムも上書きしないステップと、
前記ストアのアイテムアクセスの履歴に従って、前記ミスを起こした前記アクセスされたストアに上書きするアイテムを選択するとともに、前記選択されたアイテムを前記アクセスされたストアに上書きするステップと
を具備することを特徴とする請求項13に記載の方法。 - 複数のアイテムを保存する記憶手段であって、
前記記憶手段は、同一のクロックサイクルで、各アイテムにアクセスするための第1アクセス要求および第2アクセス要求を受信するように構成され、
前記記憶手段は、
前記複数のアイテムのサブセットをそれぞれ保存する2つのストアを具備し、
前記第1アクセス要求は第1ストアに送信されるとともに、前記第2アクセス要求は第2ストアに送信され、
前記記憶手段は、
要求されたアイテムが前記アクセスされたストアに保存されていないというミスを検出するミス検出手段と、
アクセスがミスを起こしたアイテムを別のストアから読み出すためのアイテム読み出し手段と、
個々のストアのアクセス履歴に従って、前記2つのストアの各々に上書きするアイテムを選択するアップデート手段と
を具備し、
前記アップデート手段は、前記ミス検出手段が前記第1ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートするとともに、
前記アップデート手段は、前記ミス検出手段が前記第2ストアへのアクセスにおける前記ミスを検出したことと、少なくとも1つの別の条件とに応答して、前記選択されたアイテムを上書きすることによって、前記別のストアから読み出された前記アイテムで前記2つのストアの両方をアップデートし、
前記アップデート手段は、前記ミスを起こした前記アクセスされたストアに対して他方の前記第1または第2ストアに前記ミスを起こした前記アイテムが保存されているか識別するように構成され、前記少なくとも1つの別の条件は、前記アイテムが前記他方の第1または第2ストアに保存されていないとの前記ミス検出手段による後続の検出であることを特徴とする記憶手段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/457,812 | 2009-06-22 | ||
US12/457,812 US8255629B2 (en) | 2009-06-22 | 2009-06-22 | Method and apparatus with data storage protocols for maintaining consistencies in parallel translation lookaside buffers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011008783A JP2011008783A (ja) | 2011-01-13 |
JP5635311B2 true JP5635311B2 (ja) | 2014-12-03 |
Family
ID=42471623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010140714A Active JP5635311B2 (ja) | 2009-06-22 | 2010-06-21 | リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル |
Country Status (4)
Country | Link |
---|---|
US (1) | US8255629B2 (ja) |
JP (1) | JP5635311B2 (ja) |
CN (1) | CN101930344B (ja) |
GB (1) | GB2471372B (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012014140A2 (en) * | 2010-07-27 | 2012-02-02 | International Business Machines Corporation | Logical to physical address mapping in storage systems comprising solid state memory devices |
CN104331377B (zh) * | 2014-11-12 | 2018-06-26 | 浪潮(北京)电子信息产业有限公司 | 一种多核处理器***的目录缓存管理方法 |
WO2016121026A1 (ja) * | 2015-01-28 | 2016-08-04 | 株式会社日立製作所 | ストレージ装置、計算機システム、及び、方法 |
US11580031B2 (en) * | 2019-07-31 | 2023-02-14 | Intel Corporation | Hardware for split data translation lookaside buffers |
US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3015528B2 (ja) * | 1991-08-20 | 2000-03-06 | 株式会社東芝 | アドレス変換バッファ機構 |
US5440710A (en) * | 1994-03-08 | 1995-08-08 | Exponential Technology, Inc. | Emulation of segment bounds checking using paging with sub-page validity |
JPH08137756A (ja) * | 1994-11-07 | 1996-05-31 | Fuji Xerox Co Ltd | アドレス変換バッファ機構 |
US5737749A (en) | 1996-05-20 | 1998-04-07 | International Business Machines Corporation | Method and system for dynamically sharing cache capacity in a microprocessor |
KR100263910B1 (ko) | 1998-06-16 | 2000-09-01 | 윤종용 | 실리콘을 함유하는 감광성 폴리머 및 이를 포함하는 레지스트조성물 |
KR100486240B1 (ko) * | 1998-09-21 | 2005-06-08 | 삼성전자주식회사 | 분리된 캐쉬 메모리를 구비한 마이크로프로세서 및 메모리 액세스 방법 |
US6625714B1 (en) * | 1999-12-17 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | Parallel distributed function translation lookaside buffer |
KR100486259B1 (ko) | 2002-09-09 | 2005-05-03 | 삼성전자주식회사 | 컴퓨터 시스템의 동작 속도를 향상시키는 캐쉬 구조를 가지는 프로세서 및 캐쉬 관리 방법 |
US7117290B2 (en) * | 2003-09-03 | 2006-10-03 | Advanced Micro Devices, Inc. | MicroTLB and micro tag for reducing power in a processor |
GB2426082B (en) | 2005-05-09 | 2007-08-15 | Sony Comp Entertainment Europe | Memory caching in data processing |
US7552283B2 (en) | 2006-01-20 | 2009-06-23 | Qualcomm Incorporated | Efficient memory hierarchy management |
-
2009
- 2009-06-22 US US12/457,812 patent/US8255629B2/en active Active
-
2010
- 2010-06-14 GB GB1009937.2A patent/GB2471372B/en active Active
- 2010-06-21 JP JP2010140714A patent/JP5635311B2/ja active Active
- 2010-06-22 CN CN201010212478.2A patent/CN101930344B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101930344A (zh) | 2010-12-29 |
GB2471372A (en) | 2010-12-29 |
GB2471372B (en) | 2014-07-23 |
JP2011008783A (ja) | 2011-01-13 |
US8255629B2 (en) | 2012-08-28 |
CN101930344B (zh) | 2016-01-20 |
US20100325358A1 (en) | 2010-12-23 |
GB201009937D0 (en) | 2010-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6696987B2 (ja) | 仮想アドレスを使用してアクセスされるキャッシュ | |
JP3587591B2 (ja) | キャッシュ・ミスを制御する方法およびその計算機システム | |
US8195881B2 (en) | System, method and processor for accessing data after a translation lookaside buffer miss | |
US7472253B1 (en) | System and method for managing table lookaside buffer performance | |
CA2674868C (en) | Method and apparatus for setting cache policies in a processor | |
TWI381275B (zh) | 位址轉譯方法及裝置 | |
JP2018504694A5 (ja) | ||
US6711653B1 (en) | Flexible mechanism for enforcing coherency among caching structures | |
EP2416251B1 (en) | A method of managing computer memory, corresponding computer program product, and data storage device therefor | |
EP1622028B1 (en) | Cache memory and method for controlling cache memory | |
EP3072052A1 (en) | Memory unit and method | |
JP5635311B2 (ja) | リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル | |
JP2021534496A (ja) | 階層キャッシュシステムにおけるプリフェッチ管理 | |
US7549035B1 (en) | System and method for reference and modification tracking | |
US20140289469A1 (en) | Processor and control method of processor | |
JP2023179708A (ja) | 命令キャッシュにおけるプリフェッチの強制終了及び再開 | |
US7577791B2 (en) | Virtualized load buffers | |
US5926841A (en) | Segment descriptor cache for a processor | |
WO1997034229A9 (en) | Segment descriptor cache for a processor | |
US10268581B2 (en) | Cache hierarchy management | |
US7546439B1 (en) | System and method for managing copy-on-write faults and change-protection | |
CN111198827B (zh) | 页表预取方法及装置 | |
JPWO2013084315A1 (ja) | 演算処理装置、及び、演算処理装置の制御方法 | |
JPH0719229B2 (ja) | 記憶キー制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131217 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140317 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140415 |
|
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: 20140916 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5635311 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |