CN107111455B - 电子处理器架构以及缓存数据的方法 - Google Patents

电子处理器架构以及缓存数据的方法 Download PDF

Info

Publication number
CN107111455B
CN107111455B CN201580070399.3A CN201580070399A CN107111455B CN 107111455 B CN107111455 B CN 107111455B CN 201580070399 A CN201580070399 A CN 201580070399A CN 107111455 B CN107111455 B CN 107111455B
Authority
CN
China
Prior art keywords
address
virtual address
virtual
cache
given
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
Application number
CN201580070399.3A
Other languages
English (en)
Chinese (zh)
Other versions
CN107111455A (zh
Inventor
古林达尔·S·索希
亨吉希尔·允
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.)
Wisconsin Alumni Research Foundation
Original Assignee
Wisconsin Alumni Research Foundation
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 Wisconsin Alumni Research Foundation filed Critical Wisconsin Alumni Research Foundation
Publication of CN107111455A publication Critical patent/CN107111455A/zh
Application granted granted Critical
Publication of CN107111455B publication Critical patent/CN107111455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details 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)
CN201580070399.3A 2014-12-26 2015-12-10 电子处理器架构以及缓存数据的方法 Active CN107111455B (zh)

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
CN107111455A CN107111455A (zh) 2017-08-29
CN107111455B true CN107111455B (zh) 2020-08-21

Family

ID=56151409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580070399.3A Active CN107111455B (zh) 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)

* Cited by examiner, † Cited by third party
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
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
US10606762B2 (en) 2017-06-16 2020-03-31 International Business Machines Corporation Sharing virtual and real translations in a virtual cache
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
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
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
US10534616B2 (en) 2017-10-06 2020-01-14 International Business Machines Corporation Load-hit-load detection in an out-of-order processor
US11175924B2 (en) * 2017-10-06 2021-11-16 International Business Machines Corporation Load-store unit with partitioned reorder queues with single cam port
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
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
GB2579757B (en) * 2017-10-06 2020-11-18 Ibm 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
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668968A (en) * 1992-03-02 1997-09-16 International Business Machines Corporation Two-level virtual/real set associative cache system and method with improved synonym detection
CN1779662A (zh) * 2004-11-24 2006-05-31 中国科学院计算技术研究所 改进的虚拟地址变换方法及其装置
WO2013058745A1 (en) * 2011-10-18 2013-04-25 Soft Machines, Inc. Methods and systems for managing synonyms in virtually indexed physically tagged caches
CN103389944A (zh) * 2012-05-09 2013-11-13 辉达公司 用于具有存储器分配限制的协处理器的虚拟存储器结构

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US20050055528A1 (en) * 2002-12-12 2005-03-10 International Business Machines Corporation Data processing system having a physically addressed cache of disk 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
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
US10089240B2 (en) * 2014-12-26 2018-10-02 Wisconsin Alumni Research Foundation Cache accessed using virtual addresses

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668968A (en) * 1992-03-02 1997-09-16 International Business Machines Corporation Two-level virtual/real set associative cache system and method with improved synonym detection
CN1779662A (zh) * 2004-11-24 2006-05-31 中国科学院计算技术研究所 改进的虚拟地址变换方法及其装置
WO2013058745A1 (en) * 2011-10-18 2013-04-25 Soft Machines, Inc. Methods and systems for managing synonyms in virtually indexed physically tagged caches
CN103389944A (zh) * 2012-05-09 2013-11-13 辉达公司 用于具有存储器分配限制的协处理器的虚拟存储器结构

Also Published As

Publication number Publication date
EP3238074A1 (en) 2017-11-01
KR102448124B1 (ko) 2022-09-28
JP6696987B2 (ja) 2020-05-20
JP2018504694A (ja) 2018-02-15
EP3238074A4 (en) 2018-08-08
CN107111455A (zh) 2017-08-29
US20160188486A1 (en) 2016-06-30
US10089240B2 (en) 2018-10-02
KR20170100003A (ko) 2017-09-01
EP3238074B1 (en) 2019-11-27
WO2016105961A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
CN107111455B (zh) 电子处理器架构以及缓存数据的方法
US10474584B2 (en) Storing cache metadata separately from integrated circuit containing cache controller
JP2018504694A5 (enExample)
US7941631B2 (en) Providing metadata in a translation lookaside buffer (TLB)
KR101009220B1 (ko) 캐시된 메모리 데이터를 가진 메모리 속성 표시자의 캐시
US8185692B2 (en) Unified cache structure that facilitates accessing translation table entries
US6782453B2 (en) Storing data in memory
US20040117588A1 (en) Access request for a data processing system having no system memory
US20040117587A1 (en) Hardware managed virtual-to-physical address translation mechanism
US12141076B2 (en) Translation support for a virtual cache
US20160140042A1 (en) Instruction cache translation management
CN111858404A (zh) 缓存数据定位系统
CN109219804B (zh) 非易失内存访问方法、装置和系统
US9842058B2 (en) Locking entries into translation lookaside buffers
WO2015125971A1 (ja) キャッシュ存在情報を有する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
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
US20160103766A1 (en) Lookup of a data structure containing a mapping between a virtual address space and a physical address space
US20040117583A1 (en) Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme
US20040117589A1 (en) Interrupt mechanism for a data processing system having hardware managed paging of disk data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant