JP2008511882A - 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 - Google Patents
一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 Download PDFInfo
- Publication number
- JP2008511882A JP2008511882A JP2007528617A JP2007528617A JP2008511882A JP 2008511882 A JP2008511882 A JP 2008511882A JP 2007528617 A JP2007528617 A JP 2007528617A JP 2007528617 A JP2007528617 A JP 2007528617A JP 2008511882 A JP2008511882 A JP 2008511882A
- Authority
- JP
- Japan
- Prior art keywords
- data
- virtual address
- stored
- task identifier
- cache
- 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.)
- Pending
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]
- 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/1063—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 virtually addressed
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
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)
Abstract
Description
本発明の他の実施形態に従って、タスク識別子以外の或る一定のフィールド、属性又はビットは、データが複数のタスク間で共用されることを指示する。MMU300が上記指示を仮想アドレス・キャッシュに与え、そしてそのタスク識別子をより遅くに与えないことが都合良い。
Claims (13)
- 仮想アドレス、タスク識別子、及び当該仮想アドレス及びタスク識別子と関連したデータを格納するよう適合されたメモリと、
前記メモリと結合された比較器であって、受け取られた仮想アドレス及び受け取られたタスク識別子と関連したデータが、当該受け取られた仮想アドレスの少なくとも1部分が或る一定の格納された仮想アドレスの少なくとも対応する部分に等しい場合及び次の判定基準、即ち、(i)前記受け取られたタスク識別子が格納されたタスク識別子に等しいこと、及び(ii)前記の或る一定の格納された仮想アドレスと関連した格納されたタスク識別子が前記データが複数のタスク間で共用されることを指示することのうちの少なくとも1つが満たされる場合前記メモリに格納されることを決定するよう適合された前記比較器と
を備える仮想アドレス・キャッシュ。 - 前記比較器が、前記の決定を単一の読み出しサイクルの一部分内で与えるよう適合されている請求項1記載の仮想アドレス・キャッシュ。
- 制御信号をメモリ制御器から受け取り、且つそれに応答して、格納されたタスク識別子を、前記仮想アドレスと関連したデータが複数のタスク間で共用されていることを指示する一意のタスク識別子へ変えるよう更に適合されている請求項1記載の仮想アドレス・キャッシュ。
- 前記格納されたタスク識別子が、データが前記の格納されたタスク識別子の一部分が事前定義された値を有する場合複数のタスク間で共用されることを指示する請求項1記載の仮想アドレス・キャッシュ。
- 1グループのタスクからの少なくとも1つのタスクと関連したデータを格納するよう適合された請求項1記載の仮想アドレス・キャッシュ。
- 前記複数のタスクが、前記1グループのタスクの全てを備える請求項5記載の仮想アドレス・キャッシュ。
- 前記1グループのタスクが、複数のタスク・サブグループを備え、
少なくとも1つのタスク識別子が、少なくとも1つの対応のサブグループと関連している
請求項5記載の仮想アドレス・キャッシュ。 - 仮想アドレス・キャッシュに格納されたデータを共用する方法であって、
仮想アドレス、及びデータをアドレッシングするためのタスク識別子を受け取るステップと、
前記データが、前記の受け取られた仮想アドレスの少なくとも1部分と前記メモリに格納されたデータと関連したアドレスの少なくとも1部分との比較に基づいて、及び次の判定基準、即ち、(i)前記の受け取られたタスク識別子が格納されたタスク識別子に等しいこと及び(ii)或る一定の格納された仮想アドレスと関連した格納されたタスク識別子が前記データが複数のタスク間で共用されることを指示することのうちの少なくとも1つを満たすことに基づいてメモリに格納されるかどうかについて決定するステップと
を備える方法。 - 決定する前記ステップが、読み出しサイクルの一部分内で完了される請求項8記載の方法。
- 制御信号をメモリ制御器から受け取り、且つそれに応答して、格納されたタスク識別子を、前記仮想アドレスと関連したデータが複数のタスク間で共用されることを指示する一意のタスク識別子へ変えるステップを更に備える請求項8記載の方法。
- 前記格納されたタスク識別子が、データが前記の格納されたタスク識別子の一部分が事前定義された値を有する場合複数のタスク間で共用されることを指示する請求項8記載の方法。
- 少なくとも1つのタスク識別子が、データが1グループのタスク間で共用されることを指示指示する請求項8記載の方法。
- 前記1グループのタスクが、複数のタスク・サブグループを備え、
少なくとも1つのタスク識別子が、少なくとも1つの対応のサブグループと関連している
請求項12記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2004/011075 WO2006024323A1 (en) | 2004-08-31 | 2004-08-31 | A virtual address cache and method for sharing data using a unique task identifier |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008511882A true JP2008511882A (ja) | 2008-04-17 |
Family
ID=34959391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007528617A Pending JP2008511882A (ja) | 2004-08-31 | 2004-08-31 | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7865691B2 (ja) |
EP (1) | EP1789883B1 (ja) |
JP (1) | JP2008511882A (ja) |
KR (1) | KR101102260B1 (ja) |
AT (1) | ATE536587T1 (ja) |
WO (1) | WO2006024323A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
US8631203B2 (en) * | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
JP2010079765A (ja) * | 2008-09-29 | 2010-04-08 | Renesas Technology Corp | 情報処理装置 |
US20150149446A1 (en) * | 2012-07-27 | 2015-05-28 | Freescale Semiconductor, Inc. | Circuitry for a computing system and computing system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01108650A (ja) * | 1987-10-02 | 1989-04-25 | Sun Microsyst Inc | ワークステーシヨン |
JPH03235143A (ja) * | 1990-02-13 | 1991-10-21 | Sanyo Electric Co Ltd | キャッシュメモリ制御装置 |
US20020065980A1 (en) * | 2000-08-21 | 2002-05-30 | Serge Lasserre | Fast hardware looping mechanism for cache cleaning and flushing of cache entries corresponding to a qualifier field |
EP1215582A1 (en) * | 2000-12-15 | 2002-06-19 | Texas Instruments Incorporated | Cache memory access system and method |
US20030196048A1 (en) * | 2000-04-28 | 2003-10-16 | Mcallister Curtis R. | Share masks and alias for directory coherency |
US6779085B2 (en) * | 2000-08-21 | 2004-08-17 | Texas Instruments Incorporated | TLB operation based on task-ID |
JP2006505834A (ja) * | 2002-03-22 | 2006-02-16 | インテル コーポレイション | キャッシュメモリにおけるコンテクスト識別子の使用 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0442474B1 (en) | 1990-02-13 | 1997-07-23 | Sanyo Electric Co., Ltd. | Apparatus and method for controlling cache memory |
EP1215583A1 (en) | 2000-12-15 | 2002-06-19 | Texas Instruments Incorporated | Cache with tag entries having additional qualifier fields |
-
2004
- 2004-08-31 KR KR1020077006994A patent/KR101102260B1/ko active IP Right Grant
- 2004-08-31 EP EP04822269A patent/EP1789883B1/en not_active Expired - Lifetime
- 2004-08-31 JP JP2007528617A patent/JP2008511882A/ja active Pending
- 2004-08-31 US US11/574,474 patent/US7865691B2/en active Active
- 2004-08-31 WO PCT/EP2004/011075 patent/WO2006024323A1/en active Application Filing
- 2004-08-31 AT AT04822269T patent/ATE536587T1/de active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01108650A (ja) * | 1987-10-02 | 1989-04-25 | Sun Microsyst Inc | ワークステーシヨン |
JPH03235143A (ja) * | 1990-02-13 | 1991-10-21 | Sanyo Electric Co Ltd | キャッシュメモリ制御装置 |
US20030196048A1 (en) * | 2000-04-28 | 2003-10-16 | Mcallister Curtis R. | Share masks and alias for directory coherency |
US20020065980A1 (en) * | 2000-08-21 | 2002-05-30 | Serge Lasserre | Fast hardware looping mechanism for cache cleaning and flushing of cache entries corresponding to a qualifier field |
US6779085B2 (en) * | 2000-08-21 | 2004-08-17 | Texas Instruments Incorporated | TLB operation based on task-ID |
EP1215582A1 (en) * | 2000-12-15 | 2002-06-19 | Texas Instruments Incorporated | Cache memory access system and method |
JP2006505834A (ja) * | 2002-03-22 | 2006-02-16 | インテル コーポレイション | キャッシュメモリにおけるコンテクスト識別子の使用 |
Also Published As
Publication number | Publication date |
---|---|
WO2006024323A1 (en) | 2006-03-09 |
EP1789883B1 (en) | 2011-12-07 |
ATE536587T1 (de) | 2011-12-15 |
KR101102260B1 (ko) | 2012-01-03 |
US20070294504A1 (en) | 2007-12-20 |
EP1789883A1 (en) | 2007-05-30 |
US7865691B2 (en) | 2011-01-04 |
KR20070049677A (ko) | 2007-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417915B2 (en) | Alias management within a virtually indexed and physically tagged cache memory | |
US8185692B2 (en) | Unified cache structure that facilitates accessing translation table entries | |
US5479627A (en) | Virtual address to physical address translation cache that supports multiple page sizes | |
US6647466B2 (en) | Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy | |
JP2554449B2 (ja) | キャッシュ・メモリを有するデータ処理システム | |
US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
US6874077B2 (en) | Parallel distributed function translation lookaside buffer | |
US11775445B2 (en) | Translation support for a virtual cache | |
US10810134B2 (en) | Sharing virtual and real translations in a virtual cache | |
JPH08235052A (ja) | ディレクトリ内にアドレス・タグを記憶するためのシステムおよび方法 | |
JPH08227380A (ja) | データ処理システム | |
WO2024066195A1 (zh) | 缓存管理方法及装置、缓存装置、电子装置和介质 | |
US5897651A (en) | Information handling system including a direct access set associative cache and method for accessing same | |
EP4409418A1 (en) | Re-reference interval prediction (rrip) with pseudo-lru supplemental age information | |
JP2008512758A (ja) | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 | |
JPH0695972A (ja) | ディジタルコンピュータシステム | |
JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
WO2006040689A1 (en) | Implementation and management of moveable buffers in cache system | |
US20140013054A1 (en) | Storing data structures in cache | |
WO2002027498A2 (en) | System and method for identifying and managing streaming-data | |
CN110362509B (zh) | 统一地址转换方法与统一地址空间 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110221 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111202 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120423 |