MY162612A - Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus - Google Patents

Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus

Info

Publication number
MY162612A
MY162612A MYPI2012700814A MYPI2012700814A MY162612A MY 162612 A MY162612 A MY 162612A MY PI2012700814 A MYPI2012700814 A MY PI2012700814A MY PI2012700814 A MYPI2012700814 A MY PI2012700814A MY 162612 A MY162612 A MY 162612A
Authority
MY
Malaysia
Prior art keywords
access
local cache
local
access operation
shared
Prior art date
Application number
MYPI2012700814A
Inventor
Frederic Claude Marie Piry
Louis-Marie Vincent Mouton
Luca Scalabrino
Original Assignee
Advanced Risc Mach Ltd
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 Risc Mach Ltd filed Critical Advanced Risc Mach Ltd
Publication of MY162612A publication Critical patent/MY162612A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

An apparatus and method are provided for handling access operations issued to local cache structures (310, 330, and 350) within a data processing apparatus. The data processing apparatus comprises a plurality of processing units (10, 40) each having a local cache structure (310) associated therewith. Shared access coordination circuitry (370) is also provided for coordinating the handling of shared access operations issued to any of the local cache structures (310, 330, 350). For a shared access operation, the access control circuitry associated with the local cache structure (310) to which that shared access operation is issued will perform a local access operation to that local cache structure (310), and in addition will issue a shared access signal to the shared access coordination circuitry (370). For a local access operation, the access control circuitry would normally perform a local access operation on the associated local cache structure (310), and not notify the shared access coordination circuitry (370). However, if an access operation extension value is set, then the access control circuitry treats such a local access operation as a shared access operation. Such an approach ensures correction operation even after an operating system (92) and/or an application program are migrated from one processing unit (10) to another.
MYPI2012700814A 2010-06-16 2011-05-11 Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus MY162612A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1010114.5A GB2481232A (en) 2010-06-16 2010-06-16 Cache for a multiprocessor system which can treat a local access operation as a shared access operation

Publications (1)

Publication Number Publication Date
MY162612A true MY162612A (en) 2017-06-30

Family

ID=42471761

Family Applications (1)

Application Number Title Priority Date Filing Date
MYPI2012700814A MY162612A (en) 2010-06-16 2011-05-11 Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus

Country Status (10)

Country Link
US (1) US8706965B2 (en)
EP (1) EP2583182B1 (en)
JP (1) JP5543022B2 (en)
KR (1) KR101677900B1 (en)
CN (1) CN102971718B (en)
GB (1) GB2481232A (en)
IL (1) IL222671A (en)
MY (1) MY162612A (en)
TW (1) TWI493349B (en)
WO (1) WO2011158012A1 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291455B (en) * 2011-08-10 2014-02-19 华为技术有限公司 Distributed cluster processing system and message processing method thereof
US20130117744A1 (en) * 2011-11-03 2013-05-09 Ocz Technology Group, Inc. Methods and apparatus for providing hypervisor-level acceleration and virtualization services
US9141529B2 (en) * 2012-08-14 2015-09-22 OCZ Storage Solutions Inc. Methods and apparatus for providing acceleration of virtual machines in virtual environments
US10452300B2 (en) * 2013-09-30 2019-10-22 Nec Corporation Storage system, node apparatus, cache control method and program
JP6369069B2 (en) * 2014-03-17 2018-08-08 日本電気株式会社 Information processing apparatus, information processing method, and information processing program
GB2539433B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
GB2539429B (en) 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
GB2539428B (en) * 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539435B8 (en) * 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
KR102428563B1 (en) 2015-09-30 2022-08-03 삼성전자주식회사 Coherent interconnect for managing snoop operation and data processing apparatus including the same
US10241913B2 (en) * 2016-01-20 2019-03-26 International Business Machines Corporation Operating local caches for a shared storage device
US10157139B2 (en) * 2016-09-19 2018-12-18 Qualcomm Incorporated Asynchronous cache operations
US10339058B2 (en) * 2017-05-16 2019-07-02 Qualcomm Incorporated Automatic cache coherency for page table data
US10353826B2 (en) * 2017-07-14 2019-07-16 Arm Limited Method and apparatus for fast context cloning in a data processing system
US11210222B2 (en) * 2018-01-23 2021-12-28 Vmware, Inc. Non-unified cache coherency maintenance for virtual machines
US12111768B2 (en) * 2019-02-14 2024-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for controlling memory handling
US11489940B2 (en) * 2021-01-28 2022-11-01 Arm Limited Data processing systems
US11914524B2 (en) * 2022-03-01 2024-02-27 Qualcomm Incorporated Latency management in synchronization events
US12197340B2 (en) * 2022-11-01 2025-01-14 Arm Limited Apparatus and method for cache invalidation
US12197329B2 (en) * 2022-12-09 2025-01-14 Advanced Micro Devices, Inc. Range-based cache flushing
US20260044344A1 (en) * 2024-08-09 2026-02-12 Arm Limited Technique for controlling stashing of data

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215168A (en) * 1990-12-13 1992-08-05 Nec Corp Computer system
JPH0816470A (en) * 1994-07-04 1996-01-19 Hitachi Ltd Parallel computer
US6088771A (en) * 1997-10-24 2000-07-11 Digital Equipment Corporation Mechanism for reducing latency of memory barrier operations on a multiprocessor system
US6636950B1 (en) * 1998-12-17 2003-10-21 Massachusetts Institute Of Technology Computer architecture for shared memory access
US6766424B1 (en) * 1999-02-09 2004-07-20 Hewlett-Packard Development Company, L.P. Computer architecture with dynamic sub-page placement
US6996812B2 (en) * 2001-06-18 2006-02-07 International Business Machines Corporation Software implementation of synchronous memory barriers
US6615322B2 (en) * 2001-06-21 2003-09-02 International Business Machines Corporation Two-stage request protocol for accessing remote memory data in a NUMA data processing system
US7469321B2 (en) * 2003-06-25 2008-12-23 International Business Machines Corporation Software process migration between coherency regions without cache purges
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7653789B2 (en) * 2006-02-01 2010-01-26 Sun Microsystems, Inc. Multiprocessor system that supports both coherent and non-coherent memory accesses
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
GB2442984B (en) * 2006-10-17 2011-04-06 Advanced Risc Mach Ltd Handling of write access requests to shared memory in a data processing apparatus
US8407451B2 (en) * 2007-02-06 2013-03-26 International Business Machines Corporation Method and apparatus for enabling resource allocation identification at the instruction level in a processor system
TWI435213B (en) * 2007-03-28 2014-04-21 Ibm Method, system and computer-readable medium for balancing access to physical system resources & dynamically tuning a scheduler for determining dispatch scheduling among multiple logical partitions in virtualized data processing environment
US7769957B2 (en) * 2007-06-22 2010-08-03 Mips Technologies, Inc. Preventing writeback race in multiple core processors
JP5104588B2 (en) * 2007-10-18 2012-12-19 富士通株式会社 Migration program and virtual machine management device
JP2009193385A (en) * 2008-02-15 2009-08-27 Nec Corp Computer system
US8429353B2 (en) * 2008-05-20 2013-04-23 Oracle America, Inc. Distributed home-node hub
JPWO2010038301A1 (en) * 2008-10-02 2012-02-23 富士通株式会社 Memory access method and information processing apparatus
US20100161922A1 (en) * 2008-12-19 2010-06-24 Richard William Sharp Systems and methods for facilitating migration of virtual machines among a plurality of physical machines
US8458688B2 (en) * 2009-12-28 2013-06-04 International Business Machines Corporation Virtual machine maintenance with mapped snapshots

Also Published As

Publication number Publication date
TWI493349B (en) 2015-07-21
EP2583182B1 (en) 2014-11-19
IL222671A (en) 2015-11-30
GB201010114D0 (en) 2010-07-21
CN102971718B (en) 2015-12-16
GB2481232A (en) 2011-12-21
US8706965B2 (en) 2014-04-22
EP2583182A1 (en) 2013-04-24
US20110314224A1 (en) 2011-12-22
CN102971718A (en) 2013-03-13
KR101677900B1 (en) 2016-11-21
KR20130114606A (en) 2013-10-17
JP5543022B2 (en) 2014-07-09
JP2013528879A (en) 2013-07-11
IL222671A0 (en) 2012-12-31
WO2011158012A1 (en) 2011-12-22
TW201211777A (en) 2012-03-16

Similar Documents

Publication Publication Date Title
MY162612A (en) Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus
GB2513789A (en) System and method to reduce memory usage by optimally placing VMS in a virtualized data center
IN2015DN02742A (en)
GB2526731A (en) A method and apparatus for interrupt handling
GB2466580A (en) Data processing apparatus and method of processing data
WO2015120243A8 (en) Application execution control utilizing ensemble machine learning for discernment
GB2493311A (en) Centalized control of database applications
CL2014002695A1 (en) Method comprising receiving status data from the device from a mobile device, determining one or more potential defects related to the mobile device, providing the device with information regarding one or more potential defects related to the device; apparatus; computer program product; system
GB2456775B (en) Apparatus and method for performing permutation operations on data
GB2493679A (en) Managing write operations to an extent of tracks migrated between storage devices
IN2014CN02111A (en)
MY176323A (en) Address generation in a data processing apparatus
WO2011068614A3 (en) Controller device coprocessor architecture
TW200614002A (en) Method and apparatus for autonomic test case feedback using hardware assistance for code coverage
GB2483608A (en) System and method for processing large amounts of transactional data
EP3644179A3 (en) Apparatus and method for tile gather and tile scatter
SG10201908436RA (en) System and method for managing expense processing data based on blockchain and computer program for the same
GB201217396D0 (en) System and method for geospatial partitioning of a geographical region
AU2016280854A8 (en) A control apparatus and method for controlling a medical system, a portable device, an arrangement, and a computer program product
GB2488242A (en) A method, system and computer program for deciding whether to install a first application within one of a plurality of candidate environments
GB2559691A (en) Concurrent bulk processing of tree-based data structures
WO2013186430A3 (en) Method, apparatus, and computer program product for fast context switching of application specific processors
GB202216277D0 (en) A computer system and a computer implemented method for processing gaming data
GB201303858D0 (en) System Updates
GB201108769D0 (en) Processing pipeline control