DE68917325T2 - Method and apparatus for writing interlocked variables to an integrated cache. - Google Patents

Method and apparatus for writing interlocked variables to an integrated cache.

Info

Publication number
DE68917325T2
DE68917325T2 DE68917325T DE68917325T DE68917325T2 DE 68917325 T2 DE68917325 T2 DE 68917325T2 DE 68917325 T DE68917325 T DE 68917325T DE 68917325 T DE68917325 T DE 68917325T DE 68917325 T2 DE68917325 T2 DE 68917325T2
Authority
DE
Germany
Prior art keywords
variables
interlock
methods
interlocked
writing
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 - Lifetime
Application number
DE68917325T
Other languages
German (de)
Other versions
DE68917325D1 (en
Inventor
Gigy Baror
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE68917325D1 publication Critical patent/DE68917325D1/en
Application granted granted Critical
Publication of DE68917325T2 publication Critical patent/DE68917325T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0837Cache consistency protocols with software control, e.g. non-cacheable data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7835Architectures of general purpose stored program computers comprising a single central processing unit without memory on more than one IC chip

Abstract

Methods and apparatus are disclosed for supporting the caching of interlock variables in cache memory units employed in multiprocessor and/or multitasking environments. The preferred embodiment of the invention includes methods and apparatus for selectively treating interlock variables as cachable or non-cachable. The disclosed methods and apparatus are suitable for supporting high speed data and instruction processing applications in both RISC and non-RISC architecture environments, can be integrated on a single chip and allows for better performance and utilization of the computer system bus structure since most of the interlock variable accesses are faster and do not appear on the memory bus (only in the cache).
DE68917325T 1988-01-20 1989-01-18 Method and apparatus for writing interlocked variables to an integrated cache. Expired - Lifetime DE68917325T2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/146,020 US5136691A (en) 1988-01-20 1988-01-20 Methods and apparatus for caching interlock variables in an integrated cache memory

Publications (2)

Publication Number Publication Date
DE68917325D1 DE68917325D1 (en) 1994-09-15
DE68917325T2 true DE68917325T2 (en) 1995-03-02

Family

ID=22515558

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68917325T Expired - Lifetime DE68917325T2 (en) 1988-01-20 1989-01-18 Method and apparatus for writing interlocked variables to an integrated cache.

Country Status (6)

Country Link
US (1) US5136691A (en)
EP (1) EP0325419B1 (en)
JP (1) JP3158161B2 (en)
AT (1) ATE109909T1 (en)
DE (1) DE68917325T2 (en)
ES (1) ES2057099T3 (en)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68926466T2 (en) * 1988-01-20 1996-10-17 Advanced Micro Devices Inc Integrated cache memory unit
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
ATE109910T1 (en) * 1988-01-20 1994-08-15 Advanced Micro Devices Inc ORGANIZATION OF AN INTEGRATED CACHE FOR FLEXIBLE APPLICATION TO SUPPORT MULTIPROCESSOR OPERATIONS.
US5553262B1 (en) * 1988-01-21 1999-07-06 Mitsubishi Electric Corp Memory apparatus and method capable of setting attribute of information to be cached
JP2665813B2 (en) * 1990-02-23 1997-10-22 三菱電機株式会社 Storage controller
DE69132495T2 (en) * 1990-03-16 2001-06-13 Texas Instruments Inc Distributed processing memory
US5838946A (en) * 1990-04-14 1998-11-17 Sun Microsystems, Inc. Method and apparatus for accomplishing processor read of selected information through a cache memory
JP2708943B2 (en) * 1990-08-08 1998-02-04 三菱電機株式会社 Cache memory controller
EP0855647A1 (en) * 1992-01-06 1998-07-29 Hitachi, Ltd. Computer for performing data fetch and data prefetch in parallel
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
US5809531A (en) * 1992-09-21 1998-09-15 Intel Corporation Computer system for executing programs using an internal cache without accessing external RAM
EP0601715A1 (en) * 1992-12-11 1994-06-15 National Semiconductor Corporation Bus of CPU core optimized for accessing on-chip memory devices
JP2500101B2 (en) * 1992-12-18 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション How to update the value of a shared variable
US5835934A (en) * 1993-10-12 1998-11-10 Texas Instruments Incorporated Method and apparatus of low power cache operation with a tag hit enablement
US5577226A (en) * 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes
USRE38514E1 (en) 1994-11-18 2004-05-11 Apple Computer, Inc. System for and method of efficiently controlling memory accesses in a multiprocessor computer system
US5895496A (en) * 1994-11-18 1999-04-20 Apple Computer, Inc. System for an method of efficiently controlling memory accesses in a multiprocessor computer system
US5623699A (en) * 1994-12-06 1997-04-22 Thunderwave, Inc. Read only linear stream based cache system
US6061731A (en) * 1994-12-06 2000-05-09 Thunderwave, Inc. Read only linear stream based cache system
US5761722A (en) * 1995-01-30 1998-06-02 Sun Microsystems, Inc. Method and apparatus for solving the stale data problem occurring in data access performed with data caches
US5890216A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Apparatus and method for decreasing the access time to non-cacheable address space in a computer system
US6131152A (en) * 1996-05-15 2000-10-10 Philips Electronics North America Corporation Planar cache layout and instruction stream therefor
US5915262A (en) * 1996-07-22 1999-06-22 Advanced Micro Devices, Inc. Cache system and method using tagged cache lines for matching cache strategy to I/O application
US5974507A (en) * 1997-04-14 1999-10-26 International Business Machines Corporation Optimizing a cache eviction mechanism by selectively introducing different levels of randomness into a replacement algorithm
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
US5978888A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation Hardware-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels
US6026470A (en) * 1997-04-14 2000-02-15 International Business Machines Corporation Software-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels
US6061762A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Apparatus and method for separately layering cache and architectural specific functions in different operational controllers
US6058456A (en) * 1997-04-14 2000-05-02 International Business Machines Corporation Software-managed programmable unified/split caching mechanism for instructions and data
US6098156A (en) * 1997-07-22 2000-08-01 International Business Machines Corporation Method and system for rapid line ownership transfer for multiprocessor updates
US6334173B1 (en) 1997-11-17 2001-12-25 Hyundai Electronics Industries Co. Ltd. Combined cache with main memory and a control method thereof
US6240490B1 (en) 1998-07-20 2001-05-29 International Business Machines Corporation Comprehensive multilevel cache preloading mechanism in a multiprocessing simulation environment
US6651088B1 (en) * 1999-07-20 2003-11-18 Hewlett-Packard Development Company, L.P. Method for reducing coherent misses in shared-memory multiprocessors utilizing lock-binding prefetchs
US6460124B1 (en) * 2000-10-20 2002-10-01 Wisconsin Alumni Research Foundation Method of using delays to speed processing of inferred critical program portions
GB2370131C (en) * 2000-12-12 2006-09-06 Advanced Risc Mach Ltd Exclusive access control to a processing resource
US7120762B2 (en) * 2001-10-19 2006-10-10 Wisconsin Alumni Research Foundation Concurrent execution of critical sections by eliding ownership of locks
US6839812B2 (en) * 2001-12-21 2005-01-04 Intel Corporation Method and system to cache metadata
US7340569B2 (en) * 2004-02-10 2008-03-04 Wisconsin Alumni Research Foundation Computer architecture providing transactional, lock-free execution of lock-based programs
US20060136608A1 (en) * 2004-12-22 2006-06-22 Gilbert Jeffrey D System and method for control registers accessed via private operations
US8230180B2 (en) * 2008-06-11 2012-07-24 Samsung Electronics Co., Ltd. Shared memory burst communications
US8839025B2 (en) * 2011-09-30 2014-09-16 Oracle International Corporation Systems and methods for retiring and unretiring cache lines
US9165088B2 (en) 2013-07-08 2015-10-20 Hewlett-Packard Development Company, L.P. Apparatus and method for multi-mode storage
CN106293637B (en) * 2015-05-28 2018-10-30 华为技术有限公司 Data are mobile, set data to invalid method, processor and system
GB2560336B (en) * 2017-03-07 2020-05-06 Imagination Tech Ltd Address generators for verifying integrated circuit hardware designs for cache memory

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761883A (en) * 1972-01-20 1973-09-25 Ibm Storage protect key array for a multiprocessing system
FR2344093A1 (en) * 1976-03-10 1977-10-07 Cii Coherent data transfer system for computer memories - is between hierarchy levels with various transfer speeds and uses test and set operating system
US4156906A (en) * 1977-11-22 1979-05-29 Honeywell Information Systems Inc. Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands
US4315312A (en) * 1979-12-19 1982-02-09 Ncr Corporation Cache memory having a variable data block size
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4437149A (en) * 1980-11-17 1984-03-13 International Business Machines Corporation Cache memory architecture with decoding
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
DE3138972A1 (en) * 1981-09-30 1983-04-14 Siemens AG, 1000 Berlin und 8000 München ONCHIP MICROPROCESSORCHACHE MEMORY SYSTEM AND METHOD FOR ITS OPERATION
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4506323A (en) * 1982-03-03 1985-03-19 Sperry Corporation Cache/disk file status indicator with data protection feature
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
US4616310A (en) * 1983-05-20 1986-10-07 International Business Machines Corporation Communicating random access memory
US4775955A (en) * 1985-10-30 1988-10-04 International Business Machines Corporation Cache coherence mechanism based on locking
JPS62145340A (en) * 1985-12-20 1987-06-29 Toshiba Corp Cache memory control system
US4811208A (en) * 1986-05-16 1989-03-07 Intel Corporation Stack frame cache on a microprocessor chip
US4811209A (en) * 1986-07-31 1989-03-07 Hewlett-Packard Company Cache memory with multiple valid bits for each data indication the validity within different contents
DE68926466T2 (en) * 1988-01-20 1996-10-17 Advanced Micro Devices Inc Integrated cache memory unit
ATE109910T1 (en) * 1988-01-20 1994-08-15 Advanced Micro Devices Inc ORGANIZATION OF AN INTEGRATED CACHE FOR FLEXIBLE APPLICATION TO SUPPORT MULTIPROCESSOR OPERATIONS.
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design

Also Published As

Publication number Publication date
ATE109909T1 (en) 1994-08-15
JPH01239637A (en) 1989-09-25
EP0325419A3 (en) 1991-01-02
EP0325419B1 (en) 1994-08-10
EP0325419A2 (en) 1989-07-26
JP3158161B2 (en) 2001-04-23
US5136691A (en) 1992-08-04
ES2057099T3 (en) 1994-10-16
DE68917325D1 (en) 1994-09-15

Similar Documents

Publication Publication Date Title
DE68917325D1 (en) Method and apparatus for writing interlocked variables to an integrated cache.
BR9504355A (en) Process of loading a protected memory zone from a data processing device and associated device
EP0343567A3 (en) Multi-processing system and cache apparatus for use in the same
ATE156278T1 (en) METHOD AND APPARATUS FOR ORDERING AND QUEUING MULTIPLE MEMORY ACCESS REQUESTS
DE68926094D1 (en) High speed computer graphics processing system
DE3882977T2 (en) METHOD AND ARRANGEMENT FOR IMPLEMENTING MULTI-LOCKING INDICATORS IN A MULTIPROCESSOR DATA PROCESSING SYSTEM.
BR8900358A (en) LOADING PROCESS AND SYSTEM (FROM PROGRAM) IN SYSTEM FOR DISTRIBUTED PROCESSING
DE3582962D1 (en) METHOD AND DEVICE FOR ACCESSING MEMORY IN MULTI-PROCESSOR SYSTEMS.
DE69110665D1 (en) METHOD AND ARRANGEMENT FOR ACCESS AND FALSE CONTROL IN COMPUTER SYSTEMS.
EP0261031A3 (en) Method and apparatus for error correction in a parallel processor data processing system
PL292368A1 (en) Method of associativelly parallel data processing and data processing system therefor
DE3855732D1 (en) Flexible concurrent information setup and method for data processing units
BR9904295A (en) Instrument for processing, incubator as well as module for washing test devices
ATE526630T1 (en) METHOD AND APPARATUS FOR PIPELINE PROCESSING ORDERED INPUT/OUTPUT TRANSACTIONS IN A CACHE COHERENT MULTIPROCESSOR SYSTEM
EP0358863A3 (en) Load/store with write-intent for write-back caches
DE602006012678D1 (en) METHOD AND DEVICE FOR MANAGING CACHE MEMORY ACCESS
KR900012279A (en) Apparatus and method for increasing operand utilization in data processing systems
DE69324967T2 (en) Cache miss prediction method and apparatus for a page-organized main memory in a data processing system
DE68925336D1 (en) Data processing device with cache memory
KR890702114A (en) Data processing system and built-in program controller device
DE69330768T2 (en) Method and device for operating a multiprocessor computer system with cache memories
EP0194024A3 (en) Apparatus and method for controlling access in a multi-cache data processing system
KR890017624A (en) Method and apparatus for processing text and / or graphics in computer graphics
BR8406089A (en) PROCESS TO CONTROL INTERMEDIATE MEMORY IN DATA PROCESSING DEVICE
DE69430973D1 (en) Information processing system with a cache memory and data prefetching device

Legal Events

Date Code Title Description
8364 No opposition during term of opposition