JPH10509819A - インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング - Google Patents

インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング

Info

Publication number
JPH10509819A
JPH10509819A JP8513403A JP51340396A JPH10509819A JP H10509819 A JPH10509819 A JP H10509819A JP 8513403 A JP8513403 A JP 8513403A JP 51340396 A JP51340396 A JP 51340396A JP H10509819 A JPH10509819 A JP H10509819A
Authority
JP
Japan
Prior art keywords
cache
data
tag
array
address
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.)
Ceased
Application number
JP8513403A
Other languages
English (en)
Japanese (ja)
Inventor
ケネス シー イェーガー
Original Assignee
シリコン グラフィックス インク.
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 シリコン グラフィックス インク. filed Critical シリコン グラフィックス インク.
Publication of JPH10509819A publication Critical patent/JPH10509819A/ja
Ceased legal-status Critical Current

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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/0864Addressing 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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
JP8513403A 1994-10-14 1995-10-13 インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング Ceased JPH10509819A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US32412494A 1994-10-14 1994-10-14
US08/324,124 1994-10-14
PCT/US1995/013241 WO1996012229A1 (en) 1994-10-14 1995-10-13 Indexing and multiplexing of interleaved cache memory arrays

Publications (1)

Publication Number Publication Date
JPH10509819A true JPH10509819A (ja) 1998-09-22

Family

ID=23262186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8513403A Ceased JPH10509819A (ja) 1994-10-14 1995-10-13 インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング

Country Status (4)

Country Link
US (1) US6594728B1 (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html)
EP (2) EP0803095A1 (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html)
JP (1) JPH10509819A (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html)
WO (1) WO1996012229A1 (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732242A (en) * 1995-03-24 1998-03-24 Silicon Graphics, Inc. Consistently specifying way destinations through prefetching hints
JP3289661B2 (ja) 1997-11-07 2002-06-10 日本電気株式会社 キャッシュメモリシステム
US6118940A (en) * 1997-11-25 2000-09-12 International Business Machines Corp. Method and apparatus for benchmarking byte code sequences
US6574711B2 (en) * 1999-12-27 2003-06-03 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit
US20020108021A1 (en) * 2001-02-08 2002-08-08 Syed Moinul I. High performance cache and method for operating same
US6988167B2 (en) * 2001-02-08 2006-01-17 Analog Devices, Inc. Cache system with DMA capabilities and method for operating same
US7409703B2 (en) * 2001-04-05 2008-08-05 The Directv Group, Inc. Method and system for efficient storage of data in a set top box
JP2003099250A (ja) * 2001-09-20 2003-04-04 Oki Electric Ind Co Ltd レジスタ読み出し回路及びマイクロプロセッサ
US6862670B2 (en) * 2001-10-23 2005-03-01 Ip-First, Llc Tagged address stack and microprocessor using same
US6944713B2 (en) * 2002-06-18 2005-09-13 Intel Corporation Low power set associative cache
US7117315B2 (en) * 2002-06-27 2006-10-03 Fujitsu Limited Method and apparatus for creating a load module and a computer product thereof
US6931489B2 (en) * 2002-08-12 2005-08-16 Hewlett-Packard Development Company, L.P. Apparatus and methods for sharing cache among processors
US6986001B2 (en) * 2002-10-21 2006-01-10 Silicon Graphics, Inc. System and method for hierarchical approximation of least recently used replacement algorithms within a cache organized as two or more super-ways of memory blocks
US6973557B2 (en) * 2003-02-04 2005-12-06 Sun Microsystems, Inc. Apparatus and method for dual access to a banked and pipelined data cache memory unit
US20060083174A1 (en) * 2004-10-04 2006-04-20 Texas Instruments Inc. Collision avoidance manager, method of avoiding a memory collision and a turbo decoder employing the same
US7466647B2 (en) * 2005-02-09 2008-12-16 International Business Machines Corporation Efficient muxing scheme to allow for bypass and array access
US20070044003A1 (en) * 2005-08-04 2007-02-22 Jack Doweck Method and apparatus of detecting and correcting soft error
US7711934B2 (en) * 2005-10-31 2010-05-04 Mips Technologies, Inc. Processor core and method for managing branch misprediction in an out-of-order processor pipeline
US7734901B2 (en) * 2005-10-31 2010-06-08 Mips Technologies, Inc. Processor core and method for managing program counter redirection in an out-of-order processor pipeline
US20070204139A1 (en) 2006-02-28 2007-08-30 Mips Technologies, Inc. Compact linked-list-based multi-threaded instruction graduation buffer
US7721071B2 (en) * 2006-02-28 2010-05-18 Mips Technologies, Inc. System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor
US7689772B2 (en) * 2006-05-04 2010-03-30 Intel Corporation Power-performance modulation in caches using a smart least recently used scheme
US20080016326A1 (en) 2006-07-14 2008-01-17 Mips Technologies, Inc. Latest producer tracking in an out-of-order processor, and applications thereof
US7370178B1 (en) 2006-07-14 2008-05-06 Mips Technologies, Inc. Method for latest producer tracking in an out-of-order processor, and applications thereof
US7650465B2 (en) 2006-08-18 2010-01-19 Mips Technologies, Inc. Micro tag array having way selection bits for reducing data cache access power
US7657708B2 (en) * 2006-08-18 2010-02-02 Mips Technologies, Inc. Methods for reducing data cache access power in a processor using way selection bits
US7647475B2 (en) * 2006-09-06 2010-01-12 Mips Technologies, Inc. System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue
US8032734B2 (en) * 2006-09-06 2011-10-04 Mips Technologies, Inc. Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor
US8078846B2 (en) 2006-09-29 2011-12-13 Mips Technologies, Inc. Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
US7594079B2 (en) * 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US20080082793A1 (en) * 2006-09-29 2008-04-03 Mips Technologies, Inc. Detection and prevention of write-after-write hazards, and applications thereof
US7707358B2 (en) * 2006-11-20 2010-04-27 Infineon Technologies Ag Dual access for single port cache
US7827356B2 (en) * 2007-09-10 2010-11-02 Qualcomm Incorporated System and method of using an N-way cache
US8131941B2 (en) * 2007-09-21 2012-03-06 Mips Technologies, Inc. Support for multiple coherence domains
US20090089510A1 (en) 2007-09-28 2009-04-02 Mips Technologies, Inc. Speculative read in a cache coherent microprocessor
US8392663B2 (en) * 2007-12-12 2013-03-05 Mips Technologies, Inc. Coherent instruction cache utilizing cache-op execution resources
US8250305B2 (en) * 2008-03-19 2012-08-21 International Business Machines Corporation Method, system and computer program product for data buffers partitioned from a cache array
US8806145B2 (en) * 2008-11-07 2014-08-12 Oracle America, Inc. Methods and apparatuses for improving speculation success in processors
US8898401B2 (en) * 2008-11-07 2014-11-25 Oracle America, Inc. Methods and apparatuses for improving speculation success in processors
US8935595B2 (en) 2010-03-12 2015-01-13 Lsi Corporation LDPC erasure decoding for flash memories
US9104583B2 (en) 2010-06-24 2015-08-11 International Business Machines Corporation On demand allocation of cache buffer slots
WO2012061048A1 (en) 2010-11-04 2012-05-10 Rambus Inc. Techniques for storing data and tags in different memory arrays
CN103348330B (zh) 2010-12-01 2017-05-24 希捷科技有限公司 采用独立硅元件的动态较高级冗余模式管理
WO2012099937A2 (en) * 2011-01-18 2012-07-26 Lsi Corporation Higher-level redundancy information computation
US9727414B2 (en) 2010-12-01 2017-08-08 Seagate Technology Llc Fractional redundant array of silicon independent elements
US8719663B2 (en) 2010-12-12 2014-05-06 Lsi Corporation Cross-decoding for non-volatile storage
WO2012103373A2 (en) * 2011-01-27 2012-08-02 Soft Machines, Inc. Variable caching structure for managing physical storage
WO2012103245A2 (en) 2011-01-27 2012-08-02 Soft Machines Inc. Guest instruction block with near branching and far branching sequence construction to native instruction block
WO2012103253A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Multilevel conversion table cache for translating guest instructions to native instructions
WO2012103367A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Guest to native block address mappings and management of native code storage
WO2012103359A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Hardware acceleration components for translating guest instructions to native instructions
EP2668565B1 (en) 2011-01-27 2019-11-06 Intel Corporation Guest instruction to native instruction range based mapping using a conversion look aside buffer of a processor
US9075727B2 (en) * 2012-06-14 2015-07-07 International Business Machines Corporation Reducing penalties for cache accessing operations
US8856431B2 (en) 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
EP2972798B1 (en) 2013-03-15 2020-06-17 Intel Corporation Method and apparatus for guest return address stack emulation supporting speculation
WO2014151652A1 (en) 2013-03-15 2014-09-25 Soft Machines Inc Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor
US9934152B1 (en) * 2015-02-17 2018-04-03 Marvell International Ltd. Method and apparatus to use hardware alias detection and management in a virtually indexed physically tagged cache
TWI514148B (zh) * 2015-03-16 2015-12-21 Univ Nat Sun Yat Sen 快取記憶體
US10180906B2 (en) * 2016-07-26 2019-01-15 Samsung Electronics Co., Ltd. HBM with in-memory cache manager
GB2560336B (en) * 2017-03-07 2020-05-06 Imagination Tech Ltd Address generators for verifying integrated circuit hardware designs for cache memory
US10372452B2 (en) * 2017-03-14 2019-08-06 Samsung Electronics Co., Ltd. Memory load to load fusing

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3967247A (en) 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4381541A (en) 1980-08-28 1983-04-26 Sperry Corporation Buffer memory referencing system for two data words
US4616310A (en) * 1983-05-20 1986-10-07 International Business Machines Corporation Communicating random access memory
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4953073A (en) 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
US5212780A (en) * 1988-05-09 1993-05-18 Microchip Technology Incorporated System for single cycle transfer of unmodified data to a next sequentially higher address in a semiconductor memory
US5027270A (en) 1988-10-11 1991-06-25 Mips Computer Systems, Inc. Processor controlled interface with instruction streaming
US5063533A (en) * 1989-04-10 1991-11-05 Motorola, Inc. Reconfigurable deinterleaver/interleaver for block oriented data
US5307477A (en) 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
GB2246001B (en) * 1990-04-11 1994-06-15 Digital Equipment Corp Array architecture for high speed cache memory
US5386533A (en) * 1990-11-21 1995-01-31 Texas Instruments Incorporated Method and apparatus for maintaining variable data in a non-volatile electronic memory device
US5479630A (en) 1991-04-03 1995-12-26 Silicon Graphics Inc. Hybrid cache having physical-cache and virtual-cache characteristics and method for accessing same
US5289584A (en) * 1991-06-21 1994-02-22 Compaq Computer Corp. Memory system with FIFO data input
US5388072A (en) * 1992-04-10 1995-02-07 International Business Machines Corporation Bit line switch array for electronic computer memory
US5568442A (en) 1993-05-17 1996-10-22 Silicon Graphics, Inc. RISC processor having improved instruction fetching capability and utilizing address bit predecoding for a segmented cache memory
US5870574A (en) 1993-04-12 1999-02-09 Silicon Graphics, Inc. System and method for fetching multiple groups of instructions from an instruction cache in a RISC processor system for execution during separate cycles
US5442748A (en) * 1993-10-29 1995-08-15 Sun Microsystems, Inc. Architecture of output switching circuitry for frame buffer
US5740402A (en) 1993-12-15 1998-04-14 Silicon Graphics, Inc. Conflict resolution in interleaved memory systems with multiple parallel accesses
US5604909A (en) 1993-12-15 1997-02-18 Silicon Graphics Computer Systems, Inc. Apparatus for processing instructions in a computing system
US5510934A (en) 1993-12-15 1996-04-23 Silicon Graphics, Inc. Memory system including local and global caches for storing floating point and integer data
US5572704A (en) 1993-12-15 1996-11-05 Silicon Graphics, Inc. System and method for controlling split-level caches in a multi-processor system including data loss and deadlock prevention schemes
US5805855A (en) * 1994-10-05 1998-09-08 International Business Machines Corporation Data cache array having multiple content addressable fields per cache line
US5946710A (en) * 1996-11-14 1999-08-31 Unisys Corporation Selectable two-way, four-way double cache interleave scheme

Also Published As

Publication number Publication date
EP1278125A2 (en) 2003-01-22
EP0803095A1 (en) 1997-10-29
EP0803095A4 (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html) 1997-10-29
US6594728B1 (en) 2003-07-15
WO1996012229A1 (en) 1996-04-25

Similar Documents

Publication Publication Date Title
US6594728B1 (en) Cache memory with dual-way arrays and multiplexed parallel output
EP0734553B1 (en) Split level cache
US6804799B2 (en) Using type bits to track storage of ECC and predecode bits in a level two cache
US6138209A (en) Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof
US5611071A (en) Split replacement cycles for sectored cache lines in a 64-bit microprocessor interfaced to a 32-bit bus architecture
US10268586B2 (en) Processor with programmable prefetcher operable to generate at least one prefetch address based on load requests
US7389402B2 (en) Microprocessor including a configurable translation lookaside buffer
US5752274A (en) Address translation unit employing a victim TLB
US5423014A (en) Instruction fetch unit with early instruction fetch mechanism
US5835949A (en) Method of identifying and self-modifying code
WO1996012227A1 (en) An address queue capable of tracking memory dependencies
US6539457B1 (en) Cache address conflict mechanism without store buffers
JPH08263373A (ja) キャッシュにおけるスヌーピング装置および方法
US10970077B2 (en) Processor with multiple load queues including a queue to manage ordering and a queue to manage replay
US6557078B1 (en) Cache chain structure to implement high bandwidth low latency cache memory subsystem
TWI235916B (en) Multilevel cache structure and method using multiple issue algorithm with over subscription avoidance for high bandwidth cache pipeline
US6507892B1 (en) L1 cache memory
US6546453B1 (en) Proprammable DRAM address mapping mechanism
US6032241A (en) Fast RAM for use in an address translation circuit and method of operation
US8108621B2 (en) Data cache with modified bit array
US5905999A (en) Cache sub-array arbitration
JPH0574103B2 (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html)
US7251710B1 (en) Cache memory subsystem including a fixed latency R/W pipeline
JP2001043133A (ja) マルチプロセッサ・システムにおいてライトスルー・ストア・オペレーションでキャッシュ・コヒーレンシを維持するための方法およびシステム
JPH08263371A (ja) キャッシュにおいてコピーバック・アドレスを生成する装置および方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20060529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060711