KR102448124B1 - 가상 주소들을 사용하여 액세스된 캐시 - Google Patents
가상 주소들을 사용하여 액세스된 캐시 Download PDFInfo
- Publication number
- KR102448124B1 KR102448124B1 KR1020177020817A KR20177020817A KR102448124B1 KR 102448124 B1 KR102448124 B1 KR 102448124B1 KR 1020177020817 A KR1020177020817 A KR 1020177020817A KR 20177020817 A KR20177020817 A KR 20177020817A KR 102448124 B1 KR102448124 B1 KR 102448124B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- virtual
- virtual address
- cache
- memory
- 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.)
- Active
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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
-
- 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/608—Details relating to cache mapping
-
- 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/68—Details of translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462096962P | 2014-12-26 | 2014-12-26 | |
| US62/096,962 | 2014-12-26 | ||
| US201462097342P | 2014-12-29 | 2014-12-29 | |
| US62/097,342 | 2014-12-29 | ||
| US14/867,926 | 2015-09-28 | ||
| US14/867,926 US10089240B2 (en) | 2014-12-26 | 2015-09-28 | Cache accessed using virtual addresses |
| PCT/US2015/064955 WO2016105961A1 (en) | 2014-12-26 | 2015-12-10 | Cache accessed using virtual addresses |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170100003A KR20170100003A (ko) | 2017-09-01 |
| KR102448124B1 true KR102448124B1 (ko) | 2022-09-28 |
Family
ID=56151409
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177020817A Active KR102448124B1 (ko) | 2014-12-26 | 2015-12-10 | 가상 주소들을 사용하여 액세스된 캐시 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10089240B2 (enExample) |
| EP (1) | EP3238074B1 (enExample) |
| JP (1) | JP6696987B2 (enExample) |
| KR (1) | KR102448124B1 (enExample) |
| CN (1) | CN107111455B (enExample) |
| WO (1) | WO2016105961A1 (enExample) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10089240B2 (en) * | 2014-12-26 | 2018-10-02 | Wisconsin Alumni Research Foundation | Cache accessed using virtual addresses |
| US10210088B2 (en) * | 2015-12-28 | 2019-02-19 | Nxp Usa, Inc. | Computing system with a cache invalidation unit, a cache invalidation unit and a method of operating a cache invalidation unit in a computing system |
| US9772943B1 (en) * | 2016-04-01 | 2017-09-26 | Cavium, Inc. | Managing synonyms in virtual-address caches |
| US20180173637A1 (en) * | 2016-12-21 | 2018-06-21 | Intel Corporation | Efficient memory aware cache management |
| US10606762B2 (en) | 2017-06-16 | 2020-03-31 | International Business Machines Corporation | Sharing virtual and real translations in a virtual cache |
| US10698836B2 (en) | 2017-06-16 | 2020-06-30 | International Business Machines Corporation | Translation support for a virtual cache |
| US10831664B2 (en) | 2017-06-16 | 2020-11-10 | International Business Machines Corporation | Cache structure using a logical directory |
| US10402337B2 (en) | 2017-08-03 | 2019-09-03 | Micron Technology, Inc. | Cache filter |
| US10324846B2 (en) | 2017-09-21 | 2019-06-18 | International Business Machines Corporation | Bits register for synonyms in a memory system |
| US10572256B2 (en) | 2017-10-06 | 2020-02-25 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
| US10606590B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Effective address based load store unit in out of order processors |
| US10394558B2 (en) | 2017-10-06 | 2019-08-27 | International Business Machines Corporation | Executing load-store operations without address translation hardware per load-store unit port |
| US10606591B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
| US10417002B2 (en) | 2017-10-06 | 2019-09-17 | International Business Machines Corporation | Hazard detection of out-of-order execution of load and store instructions in processors without using real addresses |
| US10534616B2 (en) | 2017-10-06 | 2020-01-14 | International Business Machines Corporation | Load-hit-load detection in an out-of-order processor |
| GB2579534B (en) * | 2017-10-06 | 2020-12-16 | Ibm | Load-store unit with partitioned reorder queues with single CAM port |
| US11175924B2 (en) * | 2017-10-06 | 2021-11-16 | International Business Machines Corporation | Load-store unit with partitioned reorder queues with single cam port |
| US11392508B2 (en) * | 2017-11-29 | 2022-07-19 | Advanced Micro Devices, Inc. | Lightweight address translation for page migration and duplication |
| GB2570691B (en) * | 2018-02-02 | 2020-09-09 | Advanced Risc Mach Ltd | Controlling guard tag checking in memory accesses |
| CN111124945B (zh) * | 2018-10-30 | 2023-09-22 | 伊姆西Ip控股有限责任公司 | 用于提供高速缓存服务的方法、设备和计算机可读介质 |
| US11010067B2 (en) | 2018-12-28 | 2021-05-18 | Intel Corporation | Defense against speculative side-channel analysis of a computer system |
| CN112579170B (zh) * | 2020-12-10 | 2022-11-08 | 海光信息技术股份有限公司 | 一种用于减少虚拟地址计算的处理器及其方法 |
| US11461247B1 (en) * | 2021-07-19 | 2022-10-04 | Arm Limited | Granule protection information compression |
| US12105634B2 (en) | 2021-09-27 | 2024-10-01 | Ati Technologies Ulc | Translation lookaside buffer entry allocation system and method |
| CN113934655B (zh) * | 2021-12-17 | 2022-03-11 | 北京微核芯科技有限公司 | 解决高速缓冲存储器地址二义性问题的方法和装置 |
| CN119719018A (zh) * | 2024-11-15 | 2025-03-28 | 北京航空航天大学 | 面向多类神经网络协同场景的张量感知片上缓存系统 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013058745A1 (en) * | 2011-10-18 | 2013-04-25 | Soft Machines, Inc. | Methods and systems for managing synonyms in virtually indexed physically tagged caches |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2839060B2 (ja) * | 1992-03-02 | 1998-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理システムおよびデータ処理方法 |
| JPH07287668A (ja) * | 1994-04-19 | 1995-10-31 | Hitachi Ltd | データ処理装置 |
| US6061774A (en) * | 1997-05-23 | 2000-05-09 | Compaq Computer Corporation | Limited virtual address aliasing and fast context switching with multi-set virtual cache without backmaps |
| US6751720B2 (en) | 2000-06-10 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Method and system for detecting and resolving virtual address synonyms in a two-level cache hierarchy |
| US7073044B2 (en) | 2001-03-30 | 2006-07-04 | Intel Corporation | Method and apparatus for sharing TLB entries |
| US20050055528A1 (en) * | 2002-12-12 | 2005-03-10 | International Business Machines Corporation | Data processing system having a physically addressed cache of disk memory |
| US20040117587A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Hardware managed virtual-to-physical address translation mechanism |
| US7017024B2 (en) * | 2002-12-12 | 2006-03-21 | International Business Machines Corporation | Data processing system having no system memory |
| US7213125B2 (en) * | 2004-07-31 | 2007-05-01 | Hewlett-Packard Development Company, L.P. | Method for patching virtually aliased pages by a virtual-machine monitor |
| CN100414518C (zh) * | 2004-11-24 | 2008-08-27 | 中国科学院计算技术研究所 | 改进的虚拟地址变换方法及其装置 |
| US20070101044A1 (en) * | 2005-10-27 | 2007-05-03 | Kurichiyath Sudheer | Virtually indexed cache system |
| US8307148B2 (en) | 2006-06-23 | 2012-11-06 | Microsoft Corporation | Flash management techniques |
| US7594079B2 (en) * | 2006-09-29 | 2009-09-22 | Mips Technologies, Inc. | Data cache virtual hint way prediction, and applications thereof |
| US9110830B2 (en) * | 2012-01-18 | 2015-08-18 | Qualcomm Incorporated | Determining cache hit/miss of aliased addresses in virtually-tagged cache(s), and related systems and methods |
| US8904068B2 (en) * | 2012-05-09 | 2014-12-02 | Nvidia Corporation | Virtual memory structure for coprocessors having memory allocation limitations |
| US10089240B2 (en) * | 2014-12-26 | 2018-10-02 | Wisconsin Alumni Research Foundation | Cache accessed using virtual addresses |
-
2015
- 2015-09-28 US US14/867,926 patent/US10089240B2/en active Active
- 2015-12-10 JP JP2017534307A patent/JP6696987B2/ja active Active
- 2015-12-10 KR KR1020177020817A patent/KR102448124B1/ko active Active
- 2015-12-10 WO PCT/US2015/064955 patent/WO2016105961A1/en not_active Ceased
- 2015-12-10 EP EP15874115.7A patent/EP3238074B1/en active Active
- 2015-12-10 CN CN201580070399.3A patent/CN107111455B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013058745A1 (en) * | 2011-10-18 | 2013-04-25 | Soft Machines, Inc. | Methods and systems for managing synonyms in virtually indexed physically tagged caches |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3238074A4 (en) | 2018-08-08 |
| JP2018504694A (ja) | 2018-02-15 |
| US10089240B2 (en) | 2018-10-02 |
| EP3238074A1 (en) | 2017-11-01 |
| EP3238074B1 (en) | 2019-11-27 |
| CN107111455A (zh) | 2017-08-29 |
| KR20170100003A (ko) | 2017-09-01 |
| JP6696987B2 (ja) | 2020-05-20 |
| WO2016105961A1 (en) | 2016-06-30 |
| CN107111455B (zh) | 2020-08-21 |
| US20160188486A1 (en) | 2016-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102448124B1 (ko) | 가상 주소들을 사용하여 액세스된 캐시 | |
| US8984254B2 (en) | Techniques for utilizing translation lookaside buffer entry numbers to improve processor performance | |
| US7941631B2 (en) | Providing metadata in a translation lookaside buffer (TLB) | |
| JP2018504694A5 (enExample) | ||
| US20040117588A1 (en) | Access request for a data processing system having no system memory | |
| US7805588B2 (en) | Caching memory attribute indicators with cached memory data field | |
| US6782453B2 (en) | Storing data in memory | |
| US20040117587A1 (en) | Hardware managed virtual-to-physical address translation mechanism | |
| US20160140042A1 (en) | Instruction cache translation management | |
| US12141076B2 (en) | Translation support for a virtual cache | |
| US9842058B2 (en) | Locking entries into translation lookaside buffers | |
| US10606762B2 (en) | Sharing virtual and real translations in a virtual cache | |
| US8688952B2 (en) | Arithmetic processing unit and control method for evicting an entry from a TLB to another TLB | |
| US20050055528A1 (en) | Data processing system having a physically addressed cache of disk memory | |
| US8015361B2 (en) | Memory-centric page table walker | |
| US7017024B2 (en) | Data processing system having no system memory | |
| US9639467B2 (en) | Environment-aware cache flushing mechanism | |
| US20190377686A1 (en) | Arithmetic processor, information processing apparatus, and control method of arithmetic processor | |
| US20040117590A1 (en) | Aliasing support for a data processing system having no system memory | |
| US20040117583A1 (en) | Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme | |
| Rao et al. | Implementation of Efficient Cache Architecture for Performance Improvement in Communication based Systems | |
| US20040117589A1 (en) | Interrupt mechanism for a data processing system having hardware managed paging of disk data | |
| KUMAR | Performance improvement by Software controlled Cache Architecture |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |