JP2001507846A - ロックを伴うキャッシュ置換方法 - Google Patents

ロックを伴うキャッシュ置換方法

Info

Publication number
JP2001507846A
JP2001507846A JP52577499A JP52577499A JP2001507846A JP 2001507846 A JP2001507846 A JP 2001507846A JP 52577499 A JP52577499 A JP 52577499A JP 52577499 A JP52577499 A JP 52577499A JP 2001507846 A JP2001507846 A JP 2001507846A
Authority
JP
Japan
Prior art keywords
cache
memory
lock
cache memory
locked
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
Application number
JP52577499A
Other languages
English (en)
Japanese (ja)
Other versions
JP2001507846A5 (enExample
Inventor
エイノ ジェイコブス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2001507846A publication Critical patent/JP2001507846A/ja
Publication of JP2001507846A5 publication Critical patent/JP2001507846A5/ja
Pending legal-status Critical Current

Links

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/12—Replacement control
    • G06F12/121—Replacement control using replacement algorithms
    • G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/0893—Caches characterised by their organisation or structure
    • G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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/12—Replacement control
    • G06F12/121—Replacement control using replacement algorithms
    • G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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/12—Replacement control
    • G06F12/121—Replacement control using replacement algorithms
    • G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466—Key-lock mechanism
    • 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/1008—Correctness of operation, e.g. memory ordering
    • 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/1016—Performance improvement
    • 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/1041—Resource optimization
    • G06F2212/1044—Space efficiency improvement

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)
JP52577499A 1997-10-31 1998-09-24 ロックを伴うキャッシュ置換方法 Pending JP2001507846A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/961,965 1997-10-31
US08/961,965 US6047358A (en) 1997-10-31 1997-10-31 Computer system, cache memory and process for cache entry replacement with selective locking of elements in different ways and groups
PCT/IB1998/001484 WO1999023567A1 (en) 1997-10-31 1998-09-24 Cache replacement policy with locking

Publications (2)

Publication Number Publication Date
JP2001507846A true JP2001507846A (ja) 2001-06-12
JP2001507846A5 JP2001507846A5 (enExample) 2006-02-02

Family

ID=25505244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52577499A Pending JP2001507846A (ja) 1997-10-31 1998-09-24 ロックを伴うキャッシュ置換方法

Country Status (6)

Country Link
US (1) US6047358A (enExample)
EP (1) EP0950223B1 (enExample)
JP (1) JP2001507846A (enExample)
KR (1) KR100637610B1 (enExample)
DE (1) DE69840960D1 (enExample)
WO (1) WO1999023567A1 (enExample)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044341A (ja) * 2003-07-24 2005-02-17 Samsung Electronics Co Ltd 書き込み防止可能なバッファメモリを有するメモリ装置及びそれを含む情報処理システム
JP2006338371A (ja) * 2005-06-02 2006-12-14 Toshiba Corp メモリシステム

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW439380B (en) * 1995-10-09 2001-06-07 Hitachi Ltd Terminal apparatus
US6490654B2 (en) * 1998-07-31 2002-12-03 Hewlett-Packard Company Method and apparatus for replacing cache lines in a cache memory
US6483516B1 (en) 1998-10-09 2002-11-19 National Semiconductor Corporation Hierarchical texture cache
US6591347B2 (en) * 1998-10-09 2003-07-08 National Semiconductor Corporation Dynamic replacement technique in a shared cache
US6801207B1 (en) 1998-10-09 2004-10-05 Advanced Micro Devices, Inc. Multimedia processor employing a shared CPU-graphics cache
US6542967B1 (en) * 1999-04-12 2003-04-01 Novell, Inc. Cache object store
US6560677B1 (en) * 1999-05-04 2003-05-06 International Business Machines Corporation Methods, cache memories, systems and computer program products for storing transient, normal, and locked entries in an associative cache memory
US6425058B1 (en) 1999-09-07 2002-07-23 International Business Machines Corporation Cache management mechanism to enable information-type dependent cache policies
US6434669B1 (en) * 1999-09-07 2002-08-13 International Business Machines Corporation Method of cache management to dynamically update information-type dependent cache policies
US6629207B1 (en) * 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US7000078B1 (en) * 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US6421761B1 (en) 1999-11-09 2002-07-16 International Business Machines Corporation Partitioned cache and management method for selectively caching data by type
US6405287B1 (en) * 1999-11-17 2002-06-11 Hewlett-Packard Company Cache line replacement using cache status to bias way selection
EP1111511B1 (en) * 1999-12-06 2017-09-27 Texas Instruments France Cache with multiple fill modes
JP4603753B2 (ja) * 2000-02-01 2010-12-22 シラス ロジック、インコーポレイテッド キャッシュされた情報を安全にする方法および回路
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
JP2002055879A (ja) * 2000-08-11 2002-02-20 Univ Hiroshima マルチポートキャッシュメモリ
US6598124B1 (en) 2000-09-29 2003-07-22 Sun Microsystems, Inc. System and method for identifying streaming-data
US6668307B1 (en) 2000-09-29 2003-12-23 Sun Microsystems, Inc. System and method for a software controlled cache
GB2368150B (en) * 2000-10-17 2005-03-30 Advanced Risc Mach Ltd Management of caches in a data processing apparatus
US6988167B2 (en) * 2001-02-08 2006-01-17 Analog Devices, Inc. Cache system with DMA capabilities and method for operating same
US20020108021A1 (en) * 2001-02-08 2002-08-08 Syed Moinul I. High performance cache and method for operating same
US6748495B2 (en) * 2001-05-15 2004-06-08 Broadcom Corporation Random generator
KR100395758B1 (ko) * 2001-06-21 2003-08-21 삼성전자주식회사 새로운 블럭 교체 스킴을 채용한 캐쉬 메모리
US6986003B1 (en) 2001-08-09 2006-01-10 Unisys Corporation Method for processing communal locks
US6922744B1 (en) * 2001-08-09 2005-07-26 Unisys Corporation Communal lock processing system for multiprocessor computer system
US6823426B2 (en) * 2001-12-20 2004-11-23 Intel Corporation System and method of data replacement in cache ways
US7073030B2 (en) * 2002-05-22 2006-07-04 International Business Machines Corporation Method and apparatus providing non level one information caching using prefetch to increase a hit ratio
US6816952B1 (en) 2002-05-31 2004-11-09 Unisys Corporation Lock management system and method for use in a data processing system
US6912623B2 (en) * 2002-06-04 2005-06-28 Sandbridge Technologies, Inc. Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US6901483B2 (en) * 2002-10-24 2005-05-31 International Business Machines Corporation Prioritizing and locking removed and subsequently reloaded cache lines
GB0400569D0 (en) * 2004-01-12 2004-02-11 Lightfoot Solutions Ltd System & methodology for identifying statistically signifcant events in monitored process
US9268831B2 (en) * 2004-01-12 2016-02-23 Lightfoot Solutions Group Limited System and method for extracting user selected data from a database
US7321954B2 (en) * 2004-08-11 2008-01-22 International Business Machines Corporation Method for software controllable dynamically lockable cache line replacement system
KR100617875B1 (ko) 2004-10-28 2006-09-13 장성태 다중 캐쉬 구조의 다중 프로세서 시스템 및 그 원격캐쉬의 교체 방법
WO2007049284A1 (en) * 2005-10-25 2007-05-03 Hewlett-Packard Development Company Memory access control
US7523260B2 (en) 2005-12-22 2009-04-21 International Business Machines Corporation Propagating data using mirrored lock caches
US7461210B1 (en) * 2006-04-14 2008-12-02 Tilera Corporation Managing set associative cache memory according to entry type
US20080147989A1 (en) * 2006-12-14 2008-06-19 Arm Limited Lockdown control of a multi-way set associative cache memory
US8438003B2 (en) * 2007-04-12 2013-05-07 Cadence Design Systems, Inc. Methods for improved simulation of integrated circuit designs
US8060880B2 (en) * 2007-05-04 2011-11-15 Microsoft Corporation System using backward inter-procedural analysis for determining alternative coarser grained lock when finer grained locks exceeding threshold
US8180969B2 (en) * 2008-01-15 2012-05-15 Freescale Semiconductor, Inc. Cache using pseudo least recently used (PLRU) cache replacement with locking
US20100057926A1 (en) * 2008-08-28 2010-03-04 Sycamore Networks, Inc. Digital custom data content injection mechanism for a content delivery network
US9208104B2 (en) 2008-08-28 2015-12-08 Citrix Systems, Inc. Content replacement and refresh policy implementation for a content distribution network
US8271610B2 (en) 2008-08-28 2012-09-18 Sycamore Networks, Inc. Distributed content caching solution for a mobile wireless network
KR101355892B1 (ko) * 2013-01-15 2014-01-28 한밭대학교 산학협력단 실시간 단일 메모리 동시 입출력을 위한 영상데이터 처리방법
JP6209689B2 (ja) * 2014-12-14 2017-10-04 ヴィア アライアンス セミコンダクター カンパニー リミテッド モードに応じてウェイの全部又はサブセットに選択的に割り当てるように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ
EP3066571B1 (en) 2014-12-14 2018-06-13 VIA Alliance Semiconductor Co., Ltd. Cache memory budgeted by ways on memory access type
JP6207765B2 (ja) 2014-12-14 2017-10-04 ヴィア アライアンス セミコンダクター カンパニー リミテッド モードに応じてセットの1つ又は複数を選択的に選択するように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ
WO2016097806A1 (en) * 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Fully associative cache memory budgeted by memory access type
EP3066572B1 (en) * 2014-12-14 2020-02-19 VIA Alliance Semiconductor Co., Ltd. Cache memory budgeted by chunks based on memory access type
US9811468B2 (en) * 2014-12-14 2017-11-07 Via Alliance Semiconductor Co., Ltd. Set associative cache memory with heterogeneous replacement policy
US9652398B2 (en) * 2014-12-14 2017-05-16 Via Alliance Semiconductor Co., Ltd. Cache replacement policy that considers memory access type
JP6218971B2 (ja) 2014-12-14 2017-10-25 ヴィア アライアンス セミコンダクター カンパニー リミテッド アドレス・タグ・ビットに基づく動的キャッシュ置換ウェイ選択
US9396120B2 (en) 2014-12-23 2016-07-19 Intel Corporation Adjustable over-restrictive cache locking limit for improved overall performance
US9594689B2 (en) * 2015-02-09 2017-03-14 International Business Machines Corporation Designated cache data backup during system operation
US10657069B2 (en) 2017-05-15 2020-05-19 Seagate Technology Llc Fine-grained cache operations on data volumes

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
US5185878A (en) * 1988-01-20 1993-02-09 Advanced Micro Device, Inc. Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
US4977498A (en) * 1988-04-01 1990-12-11 Digital Equipment Corporation Data processing system having a data memory interlock coherency scheme
US5537574A (en) * 1990-12-14 1996-07-16 International Business Machines Corporation Sysplex shared data coherency method
US5353425A (en) * 1992-04-29 1994-10-04 Sun Microsystems, Inc. Methods and apparatus for implementing a pseudo-LRU cache memory replacement scheme with a locking feature
DE69327633T2 (de) * 1992-11-13 2000-08-10 National Semiconductor Corp., Richardson Mikroprozessor mit Adressbereichkonfigurationsystem und Verfahren zur Steuerung von Speichersystemoperationen mittels Adressbereichen
US5493667A (en) * 1993-02-09 1996-02-20 Intel Corporation Apparatus and method for an instruction cache locking scheme
JP3499252B2 (ja) * 1993-03-19 2004-02-23 株式会社ルネサステクノロジ コンパイル装置及びデータ処理装置
GB9307359D0 (en) * 1993-04-08 1993-06-02 Int Computers Ltd Cache replacement mechanism
US5584014A (en) * 1994-12-20 1996-12-10 Sun Microsystems, Inc. Apparatus and method to preserve data in a set associative memory device
US5694567A (en) * 1995-02-09 1997-12-02 Integrated Device Technology, Inc. Direct-mapped cache with cache locking allowing expanded contiguous memory storage by swapping one or more tag bits with one or more index bits
GB2311880A (en) * 1996-04-03 1997-10-08 Advanced Risc Mach Ltd Partitioned cache memory
US5913224A (en) * 1997-02-26 1999-06-15 Advanced Micro Devices, Inc. Programmable cache including a non-lockable data way and a lockable data way configured to lock real-time data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044341A (ja) * 2003-07-24 2005-02-17 Samsung Electronics Co Ltd 書き込み防止可能なバッファメモリを有するメモリ装置及びそれを含む情報処理システム
JP2006338371A (ja) * 2005-06-02 2006-12-14 Toshiba Corp メモリシステム

Also Published As

Publication number Publication date
EP0950223A1 (en) 1999-10-20
US6047358A (en) 2000-04-04
KR20000069836A (ko) 2000-11-25
WO1999023567A1 (en) 1999-05-14
EP0950223B1 (en) 2009-07-08
DE69840960D1 (de) 2009-08-20
KR100637610B1 (ko) 2006-10-24

Similar Documents

Publication Publication Date Title
US6047358A (en) Computer system, cache memory and process for cache entry replacement with selective locking of elements in different ways and groups
US6339813B1 (en) Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US5537573A (en) Cache system and method for prefetching of data
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US6192458B1 (en) High performance cache directory addressing scheme for variable cache sizes utilizing associativity
US6542965B2 (en) Cache line replacement using cable status to bias way selection
US5752261A (en) Method and apparatus for detecting thrashing in a cache memory
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
US6185658B1 (en) Cache with enhanced victim selection using the coherency states of cache lines
US20040215887A1 (en) Cache allocation mechanism for saving elected unworthy member via substitute victimization and imputed worthiness of substitute victim member
KR100327934B1 (ko) 가변 캐시 크기를 위한 개선된 캐시 디렉토리 어드레싱 메카니즘
JPH0575134B2 (enExample)
US6438655B1 (en) Method and memory cache for cache locking on bank-by-bank basis
US20110082981A1 (en) Multiprocessing circuit with cache circuits that allow writing to not previously loaded cache lines
US6950909B2 (en) System and method for reducing contention in a multi-sectored cache
US12174738B2 (en) Circuitry and method
US6715040B2 (en) Performance improvement of a write instruction of a non-inclusive hierarchical cache memory unit
US5953747A (en) Apparatus and method for serialized set prediction
US5287482A (en) Input/output cache
US5471602A (en) System and method of scoreboarding individual cache line segments
US6202128B1 (en) Method and system for pre-fetch cache interrogation using snoop port
US6434670B1 (en) Method and apparatus for efficiently managing caches with non-power-of-two congruence classes
US6338124B1 (en) Multiprocessor system bus with system controller explicitly updating snooper LRU information

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050922

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080805

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090821

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091119

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110310

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110322

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110518

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110518