TWI698745B - 快取記憶體、用於操作快取記憶體之方法及其之非暫時性電腦可讀媒體 - Google Patents
快取記憶體、用於操作快取記憶體之方法及其之非暫時性電腦可讀媒體 Download PDFInfo
- Publication number
- TWI698745B TWI698745B TW105112179A TW105112179A TWI698745B TW I698745 B TWI698745 B TW I698745B TW 105112179 A TW105112179 A TW 105112179A TW 105112179 A TW105112179 A TW 105112179A TW I698745 B TWI698745 B TW I698745B
- Authority
- TW
- Taiwan
- Prior art keywords
- tag
- item
- memory
- cache
- array
- Prior art date
Links
Images
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/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/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/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- 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/60—Details of cache memory
- G06F2212/6032—Way prediction in set-associative cache
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
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)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/716,947 US9514061B1 (en) | 2015-05-20 | 2015-05-20 | Method and apparatus for cache tag compression |
| US14/716,947 | 2015-05-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201706853A TW201706853A (zh) | 2017-02-16 |
| TWI698745B true TWI698745B (zh) | 2020-07-11 |
Family
ID=55755783
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW105112179A TWI698745B (zh) | 2015-05-20 | 2016-04-19 | 快取記憶體、用於操作快取記憶體之方法及其之非暫時性電腦可讀媒體 |
Country Status (10)
| Country | Link |
|---|---|
| US (1) | US9514061B1 (enExample) |
| EP (1) | EP3298493B1 (enExample) |
| JP (1) | JP6724043B2 (enExample) |
| KR (1) | KR102138697B1 (enExample) |
| CN (1) | CN107735773B (enExample) |
| AU (1) | AU2016265131B2 (enExample) |
| ES (1) | ES2787002T3 (enExample) |
| HU (1) | HUE049200T2 (enExample) |
| TW (1) | TWI698745B (enExample) |
| WO (1) | WO2016186747A1 (enExample) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9996471B2 (en) * | 2016-06-28 | 2018-06-12 | Arm Limited | Cache with compressed data and tag |
| US10387305B2 (en) * | 2016-12-23 | 2019-08-20 | Intel Corporation | Techniques for compression memory coloring |
| US10061698B2 (en) * | 2017-01-31 | 2018-08-28 | Qualcomm Incorporated | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur |
| US10254961B2 (en) | 2017-02-21 | 2019-04-09 | International Business Machines Corporation | Dynamic load based memory tag management |
| US10229061B2 (en) | 2017-07-14 | 2019-03-12 | International Business Machines Corporation | Method and arrangement for saving cache power |
| GB2566469B (en) * | 2017-09-13 | 2021-03-24 | Advanced Risc Mach Ltd | Cache line statuses |
| US10831669B2 (en) | 2018-12-03 | 2020-11-10 | International Business Machines Corporation | Systems, methods and computer program products using multi-tag storage for efficient data compression in caches |
| US11720495B2 (en) * | 2019-05-24 | 2023-08-08 | Texas Instmments Incorporated | Multi-level cache security |
| US10983915B2 (en) * | 2019-08-19 | 2021-04-20 | Advanced Micro Devices, Inc. | Flexible dictionary sharing for compressed caches |
| US11436144B2 (en) * | 2020-04-10 | 2022-09-06 | Micron Technology, Inc. | Cache memory addressing |
| CN114201265B (zh) * | 2021-12-10 | 2025-09-02 | 北京奕斯伟计算技术股份有限公司 | 支持物理地址大于虚拟地址的虚拟内存管理方法及装置 |
| KR102781288B1 (ko) * | 2022-05-11 | 2025-03-14 | 서울시립대학교 산학협력단 | 명령어를 처리하는 방법 및 이를 위한 프로세서 모듈 |
| KR20250064407A (ko) | 2023-11-02 | 2025-05-09 | 대한민국(방위사업청장) | 안보심리지수 생성방법 및 그 시스템 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201346523A (zh) * | 2011-12-22 | 2013-11-16 | Intel Corp | 用於可靠度之內容感知快取 |
| US8627041B2 (en) * | 2009-10-09 | 2014-01-07 | Nvidia Corporation | Efficient line and page organization for compression status bit caching |
| US8838897B2 (en) * | 2011-06-29 | 2014-09-16 | New Jersey Institute Of Technology | Replicating tag entries for reliability enhancement in cache tag arrays |
| TW201504809A (zh) * | 2013-04-19 | 2015-02-01 | Apple Inc | 針對瀏覽應用程式最佳化之快取分配方法 |
| TW201516680A (zh) * | 2013-10-21 | 2015-05-01 | Univ Nat Sun Yat Sen | 可儲存除錯資料的處理器、其快取及控制方法 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9226660D0 (en) * | 1992-12-22 | 1993-02-17 | Assersohn Roy J B | Database system |
| JPH086857A (ja) * | 1994-06-17 | 1996-01-12 | Mitsubishi Electric Corp | キャッシュメモリ |
| US6122709A (en) * | 1997-12-19 | 2000-09-19 | Sun Microsystems, Inc. | Cache with reduced tag information storage |
| US6795897B2 (en) | 2002-05-15 | 2004-09-21 | International Business Machines Corporation | Selective memory controller access path for directory caching |
| US7162669B2 (en) | 2003-06-10 | 2007-01-09 | Hewlett-Packard Development Company, L.P. | Apparatus and method for compressing redundancy information for embedded memories, including cache memories, of integrated circuits |
| US7512750B2 (en) | 2003-12-31 | 2009-03-31 | Intel Corporation | Processor and memory controller capable of use in computing system that employs compressed cache lines' worth of information |
| US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
| US8806101B2 (en) * | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
| US8904111B2 (en) * | 2009-10-20 | 2014-12-02 | The University Of Electro-Communications | Cache memory with CAM and SRAM sub-tags and generation control |
| JP2012003314A (ja) * | 2010-06-14 | 2012-01-05 | Renesas Electronics Corp | キャッシュメモリ装置 |
| US9348762B2 (en) * | 2012-12-19 | 2016-05-24 | Nvidia Corporation | Technique for accessing content-addressable memory |
| US9183155B2 (en) * | 2013-09-26 | 2015-11-10 | Andes Technology Corporation | Microprocessor and method for using an instruction loop cache thereof |
-
2015
- 2015-05-20 US US14/716,947 patent/US9514061B1/en active Active
-
2016
- 2016-04-08 JP JP2017559370A patent/JP6724043B2/ja active Active
- 2016-04-08 AU AU2016265131A patent/AU2016265131B2/en active Active
- 2016-04-08 CN CN201680026963.6A patent/CN107735773B/zh active Active
- 2016-04-08 EP EP16717073.7A patent/EP3298493B1/en active Active
- 2016-04-08 KR KR1020177033433A patent/KR102138697B1/ko active Active
- 2016-04-08 HU HUE16717073A patent/HUE049200T2/hu unknown
- 2016-04-08 ES ES16717073T patent/ES2787002T3/es active Active
- 2016-04-08 WO PCT/US2016/026664 patent/WO2016186747A1/en not_active Ceased
- 2016-04-19 TW TW105112179A patent/TWI698745B/zh active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8627041B2 (en) * | 2009-10-09 | 2014-01-07 | Nvidia Corporation | Efficient line and page organization for compression status bit caching |
| US8838897B2 (en) * | 2011-06-29 | 2014-09-16 | New Jersey Institute Of Technology | Replicating tag entries for reliability enhancement in cache tag arrays |
| TW201346523A (zh) * | 2011-12-22 | 2013-11-16 | Intel Corp | 用於可靠度之內容感知快取 |
| TW201504809A (zh) * | 2013-04-19 | 2015-02-01 | Apple Inc | 針對瀏覽應用程式最佳化之快取分配方法 |
| TW201516680A (zh) * | 2013-10-21 | 2015-05-01 | Univ Nat Sun Yat Sen | 可儲存除錯資料的處理器、其快取及控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018519570A (ja) | 2018-07-19 |
| KR102138697B1 (ko) | 2020-07-28 |
| CN107735773A (zh) | 2018-02-23 |
| BR112017024623A2 (pt) | 2018-07-31 |
| US9514061B1 (en) | 2016-12-06 |
| JP6724043B2 (ja) | 2020-07-15 |
| HUE049200T2 (hu) | 2020-09-28 |
| TW201706853A (zh) | 2017-02-16 |
| WO2016186747A1 (en) | 2016-11-24 |
| AU2016265131A1 (en) | 2017-11-02 |
| EP3298493A1 (en) | 2018-03-28 |
| EP3298493B1 (en) | 2020-02-12 |
| CN107735773B (zh) | 2021-02-05 |
| AU2016265131B2 (en) | 2020-09-10 |
| KR20180008507A (ko) | 2018-01-24 |
| US20160342530A1 (en) | 2016-11-24 |
| ES2787002T3 (es) | 2020-10-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI698745B (zh) | 快取記憶體、用於操作快取記憶體之方法及其之非暫時性電腦可讀媒體 | |
| US7739477B2 (en) | Multiple page size address translation incorporating page size prediction | |
| CN104854568B (zh) | 用于更新远程处理节点中的地址转换数据结构的转换管理指令 | |
| US11341059B2 (en) | Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations | |
| CN109426624B (zh) | 用于高效利用地址转换缓存的装置和方法 | |
| KR20180099819A (ko) | 시스템 성능 향상을 위한 적응적 값 범위 프로파일링 | |
| US11403222B2 (en) | Cache structure using a logical directory | |
| KR102268601B1 (ko) | 데이터 포워딩을 위한 프로세서, 그것의 동작 방법 및 그것을 포함하는 시스템 | |
| US9323527B2 (en) | Performance of emerging applications in a virtualized environment using transient instruction streams | |
| KR20250151483A (ko) | 태그 보호 명령어 | |
| US20140115257A1 (en) | Prefetching using branch information from an instruction cache | |
| KR20220086590A (ko) | 스레드 저장에 대한 섀도우 래치 구성 레지스터 파일의 섀도우 래치 | |
| US11500638B1 (en) | Hardware compression and decompression engine | |
| CN113641403B (zh) | 微处理器和在微处理器中实现的方法 | |
| TW202536637A (zh) | 標籤非保留寫入操作 | |
| BR112017024623B1 (pt) | Método e equipamento para compressão de indicador de cache |