CN107250997B - 选择性翻译后援寄存器搜寻及页面错误 - Google Patents

选择性翻译后援寄存器搜寻及页面错误 Download PDF

Info

Publication number
CN107250997B
CN107250997B CN201680009906.7A CN201680009906A CN107250997B CN 107250997 B CN107250997 B CN 107250997B CN 201680009906 A CN201680009906 A CN 201680009906A CN 107250997 B CN107250997 B CN 107250997B
Authority
CN
China
Prior art keywords
power mode
local memory
virtual address
matching
translation
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
CN201680009906.7A
Other languages
English (en)
Other versions
CN107250997A (zh
Inventor
克里斯托弗·爱德华·科布
埃里希·詹姆士·普罗恩德克
屠嘉晋
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107250997A publication Critical patent/CN107250997A/zh
Application granted granted Critical
Publication of CN107250997B publication Critical patent/CN107250997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]
    • G06F2212/684TLB miss handling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种翻译后援缓冲器TLB存储翻译条目。所述翻译条目包含虚拟地址、物理地址及存储器本地/非本地旗标。当处理器处于低功率/本地存储器模式中时,接收虚拟地址。匹配翻译条目具有本地/非本地旗标。在所述本地/非本地旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部后,即刻产生超出存取范围存储器存取异常。

Description

选择性翻译后援寄存器搜寻及页面错误
技术领域
本申请案大体上是关于翻译后援缓冲器(TLB)结构及管理。
背景技术
便携式计算装置,例如无线电话及个人数字助理(PDA),持续要求增大数据存储容量及处理速度。举例来说,无线电话可同时充当数字相机、多媒体档案播放器及便携式游戏播放器。与增大功能性及性能需求同时,可用电池容积正(例如)归因于较小便携式装置及/或容积由其它硬件占据而减小。
用于降低功率的一个已知技术为将计算装置配置为(例如)响应于明确指令而切换至本地存储器/低功率模式。在本地存储器/低功率模式中,可允许处理核心仅存取一组较低功率本地资源(例如,可紧密地耦合至所述处理核心的本地存储器),且选择其它低功率及/或基本装置资源,且不可存取非本地资源。
在本地存储器/低功率模式中,可使非本地资源中的一些或全部断电,或以其它方式将其置放于非操作状态下,从而提供电力节省。然而,必须在非本地资源可由处理器核心存取前执行通电序列。此外,必须禁止当在本地资源低功率模式中操作时存取非本地资源的尝试,此是因为那些资源可能是非操作性的。用于阻止此类存取的已知常规技术可具有成本及其它缺点。
举例来说,用于阻止当在本地存储器/低功率模式中操作时存取非本地资源的尝试的一个已知技术为当将切换至所述模式时使计算装置的翻译后援缓冲器(TLB)中指向非本地资源的全部条目失效。结果为,当在本地存储器/低功率模式中时存取非本地资源的任何尝试将引起“页面错误异常”,此是因为在TLB中不存在有效的映射条目。然而,使指向非本地资源的全部TLB条目失效可能需要大量处理功率及时间。而且,在唤醒至正常功率操作后,可能需要相当大数目个TLB遗漏及所得页面查核行程搜寻,直至TLB重新填入有效的外部存储器翻译条目。重复页面查核行程搜寻可承担相当大的功率及时间成本。
发明内容
本发明内容识别一些实例方面,且不为对所揭示目标物的穷尽性描述。特征包含于本发明内容还是从本发明内容忽略并不意图作为具有相对重要性的指示物。描述额外特征及方面,且所属领域的技术人员在阅读以下详细描述且在检视组成其一部分的图式后将明了所述特征及方面。
各方面可提供用于在可约束对本地存储器的存取的本地存储器/低功率模式与启用对(例如)远程存储器及其它资源的完整存取的正常功率模式之间切换的快速、低处理额外负荷的装置及方法(以及其它特征)。另外方面可提供(例如)切换至本地存储器/低功率模式而不需要翻译后援缓冲器条目的失效,及切换回至正常功率模式,及提供对应完整存取,而不需要再填充翻译后援缓冲器的TLB遗漏/页面查核行程。
根据一或多个所揭示方法方面的实例可提供对存储器的存取,且实例操作可包含在翻译后援缓冲器中存储多个翻译条目,且每一翻译条目可包括虚拟地址、物理地址及本地存储器旗标,且在一方面中,所述本地存储器旗标可指示所述物理地址是否在本地存储器外部。实例操作可进一步包含当处理器处于低功率模式中时,接收所产生虚拟地址,且在识别出具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目后,即接着,如果所述匹配翻译条目的所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部,则实例操作可包含产生超出存取范围存储器存取异常。
根据一或多个所揭示设备方面的实例可提供存取存储器,且可包含可经配置以存储多个翻译条目的翻译后援缓冲器(TLB),且每一翻译条目可包括虚拟地址、物理地址及本地存储器旗标,且在一方面中,所述本地存储器旗标可指示所述物理地址是否在本地存储器外部。根据一或多个方面的实例设备可经进一步配置以接收所产生虚拟地址,及识别具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目。根据一或多个方面的实例设备可进一步包含超出存取范围异常电路,所述超出存取范围异常电路可经配置以响应于所述匹配翻译条目的所述本地旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部而产生超出存取范围存储器存取异常。
根据一或多个其它所揭示设备方面的实例可提供对存储器的存取,且包含用于存储多个翻译条目的装置,多个翻译条目中的每一者可包括虚拟地址、物理地址及本地存储器旗标。在一方面中,所述本地存储器旗标可指示所述物理地址是否在本地存储器外部。根据其它设备方面的实例可包含用于当处理器在低功率模式中时接收所产生虚拟地址的装置,包含用于识别具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目的装置,且可包含用于在所述匹配翻译条目的所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部的情况下产生超出存取范围存储器存取异常的装置。
根据一或多个所揭示方面的非暂时性计算机可读媒体的实例可包括程序代码,所述程序代码当由处理器执行时可使得所述处理器在翻译后援缓冲器(TLB)中存储多个翻译条目,多个翻译条目中的每一者可包括虚拟地址、物理地址及本地存储器旗标。在根据一个方面的实例中,所述本地存储器旗标可指示所述物理地址是否在本地存储器外部。在根据一方面的实例中,当由处理器执行时,当处理器处于低功率模式中时,所述程序代码可使得所述处理器接收所产生虚拟地址,且在识别出具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目后,即接着,如果所述匹配翻译条目的所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部,则产生超出存取范围存储器存取异常。
附图说明
呈现附图以辅助各方面的描述,且根据各方面且展示各方面而为说明性实例单独提供附图,且附图并不为其限制。
图1为根据一或多个方面的一个实例可切换功率/存储器存取模式处理器的逻辑块示意图。
图2展示在根据一或多个方面的系统及方法中的一个本地低功率模式存储器存取程序中的实例操作的逻辑流程图。
图3展示在根据一或多个方面的系统及方法中的一个正常功率模式存储器存取程序中的实例操作的逻辑流程图。
图4展示根据一或多个方面的一个实例个人通信及计算装置的功能示意图。
具体实施方式
在以下描述及相关图式中揭示方面。在阅读本揭示后,并未脱离所揭示方面的范围的各种变更可变得显而易见。另外,在对某些实例申请案、实施及其相关操作的描述中,明确地或隐含地从所描述上下文识别个例,其中可采用已知的常规技术用于某些组件及动作。在这些情况下,可忽略对所采用常规技术的详细描述,以免混淆本发明的相关细节。
词语“示范性”在本文中用以意谓“充当实例、个例或说明”。本文中描述为“示范性”的相同的任何方面或实例配置未必应被解释为比其它方面或配置优选或有利。同样,相对于术语“本发明的方面”的对特征、优点或操作模式的论述并不暗示本发明的全部方面包含所论述特征、优点或操作模式。
本文所使用的术语仅是出于描述特定方面的目的,且并不意图限制本发明。如本文所使用,单数形式“一”及“所述”意图也包含复数形式,除非上下文另有明确指示。此外,如本文所用的术语“包括”及/或“包含”指定所陈述特征、整体、步骤、操作、组件及/或组件的存在,但不排除一或多个其它特征、整体、步骤、操作、组件、组件及/或其群组的存在或添加。
另外,就实例操作来说描述某些方面。应了解,除了在以其它方式描述之处之外,可通过特定电路(例如,特殊应用集成电路(ASIC)),通过由一或多个处理器执行的程序指令,或通过两者的组合执行此类操作。此外,可将特定电路(例如,ASIC)、处理器及由其中的一或多者执行的程序指令描述为“经配置以”执行所描述操作及动作的“逻辑”。另外,可认为本文中所描述的动作序列完全体现于任何形式的计算机可读存储媒体内,计算机可读存储媒体中已存储有相对应计算机指令的集合,计算机指令集合在被执行时将使得相关联的处理器执行本文中所描述的功能性。因此,可以数个不同形式体现各个方面,各个方面皆预期为在所主张的目标物的范围内。
图1展示根据一或多个方面的一个实例可切换功率/存储器存取模式处理器100的逻辑块示意图。
在一方面中,可切换功率/存储器存取模式处理器100可包含指令执行电路102,指令执行电路102可为(例如)ARMTM或其它类似架构微处理器核心,或能够执行计算机可执行指令的任何其它架构可编程状态机(图1中未展示)。用于指令执行电路102的计算机可执行指令可存储于存储器资源中,包含(例如)紧密地耦合至指令执行电路102的本地存储器104,及可经由(例如)总线108连接至指令执行电路102的远程存储器106。应了解,术语“本地”及“远程”在“本地存储器”104及“远程存储器”106的上下文中未必为对物理距离的描述词。举例来说,本地存储器104及远程存储器106可距指令执行电路102具有任何相对距离。在一方面中,本地存储器104可(例如)经由专用链接或总线(在图1中未具体展示)紧密地耦合至指令执行电路102。
继续参看图1,在一方面中,指令执行电路102可产生由翻译后援单元110翻译成实际物理地址的虚拟地址,用于存取(例如)本地存储器104、远程存储器106及其它非本地资源。翻译后援单元110可具有翻译后援缓冲器(TLB)112,翻译后援缓冲器112具有存储例如标记为150-1、1502……150-R(统称为“翻译条目150”)的可见实例的R个虚拟页面条目(以下称作“翻译条目”)的内容可寻址存储器(CAM)(在图1中未单独地展示)。每一翻译条目150可将虚拟页面(即,根据指令执行电路102虚拟寻址方案的页面)映射至物理页码。物理页码可对应于本地存储器104、远程存储器106或另一非本地资源。R个翻译条目150可为较大(图1中未展示)虚拟地址至物理地址(以下称作“虚拟至物理”)映射(在图1中未具体可见)的一部分。
TLB 112可经配置以使用由指令执行电路102(例如,Q位虚拟地址的P个位)产生的虚拟地址的至少一部分而存取其R个翻译条目150。TLB 112可具有CAM地址解码器(图中未展示),且可包含写入电路系统(图中未展示)以更新翻译条目150。可使用常规TLB技术实施CAM地址解码器及写入电路系统,常规TLB技术可补充有稍后更详细地描述的选择性启用。在一方面中,TLB 112可经配置以在其发现匹配其从指令执行电路102接收的虚拟地址(或所述虚拟地址的P位字段)的翻译条目150时指示“TLB命中事件”。在类似方面中,TLB 112可经配置以响应于未发现匹配翻译条目150而识别“TLB遗漏事件”。在另一方面中,TLB 112可经配置以与识别TLB遗漏事件结合而产生页面错误信号(在图1中缩写为“PF”)。
参看图1的代表性实例翻译条目的放大图,标记为“150-r”的翻译条目150可包含虚拟地址页码(VPN)字段1502、物理地址页码字段1504(以下称作“页面字段1504”,且在图1中缩写为“PGN”),且在一方面中包含本地存储器旗标字段1506。在一方面中,本地存储器旗标字段1506可保持具有一值的“本地旗标”(在图1中缩写为“LM”),所述值可在指示页面字段1504中的物理地址为在本地存储器104中的位置的第一值与指示所述物理地址为不在本地存储器104中的位置的第二值之间切换。出于描述的目的,逻辑“0”将被指派为本地存储器旗标的第一值,且逻辑“1”将被指派为本地存储器旗标的第二值。此指派是任意的,且不意图限制任何方面的范围。在稍后部分中更详细地描述与本地存储器旗标相关的实例特征及操作。
参看代表性翻译条目150-r,也可包含有效/非有效字段,例如实例“有效”字段1508。可根据已知、常规TLB有效/非有效栏技术设定且使用有效字段1508,且因此,忽略进一步详细描述。
参看图1,在一方面中,可切换功率/存储器存取模式处理器100可进一步包括寄存器,例如经指派或经配置以存储功率模式指示符的功率模式寄存器114(在图1中标记为缩写“PWR模式”。功率模式寄存器114可为(例如)翻译后援单元110的特征。功率模式指示符可具有一值,所述值可在指示可切换功率/存储器存取模式处理器100处于其正常功率模式中的第一值(例如,逻辑“0”)与指示可切换功率/存储器存取模式处理器100处于其低功率模式中的第二值(例如,逻辑“1”)之间切换。此指派是任意的,且不意图限制任何方面的范围。
继续参看图1,在一方面中,翻译后援单元110可包含低功率模式超出范围存取异常逻辑116,为简洁起见在本说明书中缩写为任意名称“LP存取异常逻辑116”。LP存取异常逻辑116可经配置以(例如,从本地存储器旗标字段1506)接收对应于TLB命中的所撷取翻译条目150的本地存储器旗标,且经配置以从功率模式寄存器114接收功率模式指示符。LP存取异常逻辑116可经配置以当可切换功率/存储器存取模式处理器100处于低功率模式中时,响应于TLB命中的指示物理地址在本地存储器外部的本地存储器旗标而产生低功率存取异常信号。
参看图1,所属领域的一般技术人员从阅读本发明将了解,LP存取异常逻辑116的特定实施可至少部分取决于指派至本地存储器旗标、功率模式指示符及低功率存取异常信号的所要极性的逻辑值。
作为一个说明,逻辑“1”可被指派为作用中低功率存取异常信号的值。上述至本地存储器旗标的值的实例指派为用以分别指示TLB命中的物理地址在本地存储器104内部及外部的逻辑“0”及逻辑“1”。上述至存储于中功率模式寄存器114中的功率模式指示符的值的实例指派为用以分别指示可切换功率/存储器存取模式处理器100处于其正常功率模式中及其低功率模式中的逻辑“0”及逻辑“1”。如在图1中可见,LP存取异常逻辑116可由此实施为与门(AND gate)。在稍后部分中进一步描述的处于其低功率模式中的可切换功率/存储器存取模式处理器100的实例操作中,具有在本地存储器外部的物理地址的TLB位将引起LP存取异常逻辑116的输入处的本地存储器旗标的逻辑“1”值与功率模式指示符的逻辑“1”值之间的同时发生(即,相互并行存在的间隔)。因此,LP存取异常逻辑116的实例实施的与运算将输出低功率存取异常信号的作用中(意谓逻辑“1”)值。
在一方面中,可切换功率/存储器存取模式处理器100可包含功率模式停用硬件页面查核器电路118。根据另一方面,功率模式停用硬件页面查核器电路118可经配置以接收TLB 112响应于TLB遗漏事件而产生的页面错误信号,且从功率模式寄存器114接收功率模式指示符。在一方面中,功率模式停用硬件页面查核器电路118可经配置以当其接收到处于指示低功率模式的值的功率模式指示符时自行停用,即相关于执行页面查核行程而变得不操作。参看图1,展示LP模式停用硬件页面查核器电路118的可见实例,所述可见实例具有任意地标记为“DE”的用于接收功率模式指示符的停用输入,且具有任意地标记为“PW”的用于接收页面错误信号的输入。逻辑“1”可被指派为功率模式指示符的指示低功率模式的值,如在本发明中先前所述。假定功率模式指示符的实例经指派值,LP模式停用硬件页面查核器电路118可经配置以响应于在其DE输入处接收到逻辑“1”而自行停用。
根据另一方面,功率模式停用硬件页面查核器电路118可经配置以响应于当启用时(例如,当接收在逻辑“0”处的功率模式指示符时)接收到页面错误信号而执行对先前所描述的较大(例如,全系统)虚拟至物理映射的硬件页面查核行程。功率模式停用硬件页面查核器电路118可实施为(例如)已知常规硬件页面查核器电路系统(未具体展示)与经配置以接收功率模式指示符的所添加停用逻辑(未具体展示)的组合。所属领域的技术人员可通过将这些人拥有的常规工程诀窍应用至本发明而实施常规硬件页面查核器电路系统与停用逻辑的此类组合,而无需过度实验。因而忽略进一步详细描述。
在一方面中,可切换功率/存储器存取模式处理器100或外部处理器或操作环境(图1中未展示)可经配置以通过调用特定异常处理程序(图中未展示)而响应于来自LP存取异常逻辑116的低功率存取异常信号。特定异常处理程序可任意地被称为“超出可允许存取范围异常处理程序”。超出可允许存取范围异常处理程序可经配置以当可切换功率/存储器存取模式处理器100处于低功率模式中时,提供从指令执行电路102存取非本地资源(例如,在本地存储器104外部的位置)的尝试而恢复由超出可允许存取范围异常处理程序执行的特定恢复操作可至少部分地为应用特定的,但可易于由所属领域的一般技术人员通过将这些人拥有的常规工程诀窍应用至本发明而实施,而无需过度实验。因而忽略进一步详细描述。
现将描述处于正常功率模式中的可切换功率/存储器存取模式处理器100的实例操作。在一个实例中,指令执行电路102可将虚拟地址发送至翻译后援单元110。所述虚拟地址可具有Q个位,如先前所描述。使用(例如)Q个位中的P个,TLB 112可搜寻其R个翻译条目150。如果发现匹配翻译条目,则产生TLB命中事件。匹配翻译条目的本地存储器旗标字段1506可具有本地存储器旗标,所述本地存储器旗标可处于指示页面字段1504的内容是否对应于本地存储器104的逻辑值(“0”或“1”)。然而,当可切换功率/存储器存取模式处理器100处于正常功率模式中时,功率模式寄存器114值为逻辑“0”,且LP存取异常逻辑116的逻辑与运算因而使得本地存储器旗标为逻辑“0”值。处于其正常功率模式中的可切换功率/存储器存取模式处理器100因而通过无关于本地存储器旗标值而产生完整物理地址(例如,经由在所撷取翻译条目150的页面字段1504上操作的偏移电路120),而响应TLB命中事件。
继续对实例正常功率模式操作的描述,如果TLB 112无法在R个翻译条目150中发现翻译条目,则产生TLB遗漏事件(在图1中未单独地展示)。作为响应,TLB 112将指示未发现匹配翻译条目的页面错误信号传送至功率模式停用硬件页面查核器电路118的PW输入。因为在DE输入处接收的功率模式指示符为逻辑“0”,故启用功率模式停用硬件页面查核器电路118。功率模式停用硬件页面查核器电路118因而通过执行具有分页表(图1中未展示)的硬件页面查核行程而响应于页面错误信号,所述分页表如先前所描述,具有完整的经更新虚拟至物理映射,以供指令执行电路102存取其全部存储器及其它资源。
由功率模式停用硬件页面查核器电路118执行的硬件页面查核行程可产生两个结果中的任一者。一个结果为在分页表中发现用于引起TLB遗漏事件的虚拟地址的虚拟至物理映射。另一可能结果为未发现任何虚拟至物理映射。如果发现虚拟至物理映射,则功率模式停用硬件页面查核器电路118可将其提供至翻译后援单元110用于更新TLB 112。TLB 112的更新可产生新翻译条目150,新翻译条目150除了常规TLB映射信息之外,也包括具有经设定以指示由硬件页面查核行程发现的物理地址在本地存储器104中还是不在本地存储器104中的本地存储器旗目标本地存储器旗标字段1506。因此,在一方面中,功率模式停用硬件页面查核器电路118、翻译后援单元110或其它逻辑(在图1中未单独地标记)中的一或多者可经配置以识别由功率模式停用硬件页面查核器电路118发现的虚拟至物理映射的物理地址字段在还是不在本地存储器104中。在另一方面中,翻译后援单元110及功率模式停用硬件页面查核器电路118中的一或多者可经配置以根据物理地址位置在还是不在本地存储器104中的识别而设定TLB 112中的新翻译条目的本地存储器旗标字段1506中的本地存储器旗标。
上述实例操作与处于其正常功率模式中的可切换功率/存储器存取模式处理器100相关联。现将描述可切换功率/存储器存取模式处理器100的实例低功率模式操作。可切换功率/存储器存取模式处理器100可经配置以(例如)响应于对外部所产生命令(在图1中未明确地可见)的接收而切换至低功率模式。与将切换至低功率模式相关联,功率模式寄存器114中的功率模式指示符可被设定为处于逻辑“1”。
一个实例低功率模式存取操作可以指令执行电路102将虚拟地址发送至翻译后援单元110而开始。如果翻译后援单元110发现匹配翻译条目150,则翻译后援单元110产生TLB命中事件(在图1中未具体展示)。假定发现匹配翻译条目,将首先描述实例操作。将在稍后部分中进一步描述在翻译后援单元未发现匹配翻译条目的情况下可执行的实例操作。当处于低功率模式中时,在LP存取异常逻辑116处接收来自功率模式寄存器114的功率模式指示符的逻辑“1”值,而非在处于正常功率模式中时所接收的逻辑“0”。所述逻辑“1”使得LP存取异常逻辑116的输出取决于匹配翻译条目150的本地存储器旗标字段1506中的本地旗标。因此,在低功率模式中,可切换功率/存储器存取模式处理器100响应于TLB命中事件的操作取决于匹配翻译条目150中的本地存储器旗标。如果本地存储器旗标指示页面字段1504中的物理页码处于本地存储器104中,则操作可如对于正常功率模式所述而继续,即,可产生物理地址且可存取本地存储器104。然而,如果本地存储器旗标识别出页面字段1504中的物理页码在本地存储器104外部,则LP存取异常逻辑116将输出作用中(在此实例中,逻辑“1”)低功率存取异常信号。在一方面中,作用中低功率存取异常信号可使得先前所描述的超出可允许存取范围异常处理程序被调用。
参看图1,在当处于低功率模式中时与TLB命中事件相关联的上述操作期间,功率模式停用硬件页面查核器电路118通过其DE输入接收到功率模式指示符的逻辑“1”值而被停用。在一方面中,可切换功率/存储器存取模式处理器100可包含经配置以在处于低功率模式中时响应于TLB遗漏事件而产生低功率模式TLB遗漏异常信号的逻辑。此类逻辑的一个实例实施可为逻辑“与”电路122,逻辑“与”电路122可经配置以执行功率模式指示符与从TLB 112输出的页面错误信号的逻辑“与”运算。处于低功率模式中时的TLB遗漏事件可在逻辑“与”电路122的输入处产生功率模式指示符与TLB 112的页面出错输出的同时发生(意谓相互同时存在的间隔)。逻辑“与”电路122可产生所得作用中(在此实例中,逻辑“1”)低功率模式TLB遗漏异常信号。
切换可切换功率/存储器存取模式处理器100可包含将功率模式寄存器114中的功率模式指示符设定为指示正常功率模式的值。当处于正常功率模式中时,操作可接着包含在TLB 112处接收另一虚拟地址、识别具有匹配所述另一虚拟地址的虚拟地址的另一匹配翻译150条目、存取存储器(例如,本地存储器104或远程存储器106),而不管本地存储器旗标为何。
图2展示根据一或多个方面的与切换至低功率(图2中缩写为“LP”)模式相关联的存储器存取过程中的实例操作的逻辑流程200。为方便起见,将参看图1的可切换功率/存储器存取模式处理器100而描述实例操作。应了解,此类描述不意图限制与图1的可切换功率/存储器存取模式处理器100或其架构相同的任何方面或实践。
参看图1及2,流程200中的操作可在202处开始,其中(例如)响应于外部指令(在图1及2中未明确地可见),可切换功率/存储器存取模式处理器100切换至低功率模式。在一方面中,202处的操作可包含将模式寄存器设定为指示至低功率模式的切换。举例来说,可将功率模式寄存器114中的功率模式指示符设定为逻辑“1”。与在202处切换至低功率模式结合,流程200可在204处停用硬件页面查核行程。参看图1,204处的停用操作可由功率模式停用硬件页面查核器电路118响应于在其DE输入处接收到逻辑“1”功率模式指示符而执行。
在206处,在翻译后援单元110处(例如)从指令执行电路102接收到虚拟地址后,流程200可接着继续进行至208,其中TLB 112可使用所接收虚拟地址搜寻其R个翻译条目150。如果208处的搜寻导致TLB命中(在决策块206处展示为“是”),则接着,如由决策块210所示,流程200可继续进行至决策块212,从决策块212,取决于匹配翻译条目150的本地存储器旗标字段1506中的本地存储器旗标而采取两个路径中的一者。参看图1,决策块212的操作可通过LP存取异常逻辑116对本地存储器旗标与来自功率模式寄存器114的本地存储器旗标及逻辑“1”功率模式指示符进行逻辑及运算(logical AND)而提供。出于此描述的目的,本地存储器旗标的所指派值对于本地存储器104中的匹配翻译条目的物理地址为逻辑“1”,且对于不在本地存储器104中的物理地址为逻辑“0”。使用所述指派,如果本地存储器旗标为逻辑“1”(即,匹配翻译条目150的物理地址在本地存储器104中),则流程200可从212的“是”分支继续进行至214,以(例如)使用匹配翻译条目150的页面字段1504产生完整物理地址。流程200可接着继续进行至216,且使用在214处产生的物理地址而存取本地存储器104,且接着在218处结束。当在206处接收到另一虚拟地址时,流程200可重复。
在上述所描述实例操作中,在208处对TLB 112的搜寻产生命中,从而引起从决策块210的“是”选路。参看图1及2,在另一实例中,在208处对TLB 112的搜寻可能未能产生命中,从而导致从决策块210的“否”选路。流程200接着可继续进行至220,且(例如)基于逻辑及电路122对来自所述TLB 112的页面错误及处于逻辑“1”的功率模式指示符的操作而产生低功率模式TLB遗漏异常信号。
参看图1及2,且再次查看决策块212,如果由TLB搜寻在208处发现的匹配翻译条目150的本地存储器旗标展示(例如,处于逻辑“0”的本地存储器旗标)在其页面字段1504中的物理地址不在本地存储器104中,则流程200可继续进行至222,且产生低功率存取异常信号(在块项222中缩写为“LXE”)。参看图1,222处的操作可包括LP存取异常逻辑116的及运算。流程200可接着继续进行至224,且(例如)调用先前所描述的超出存取范围异常处理程序。
图3展示根据一或多个方面的与切换至正常功率模式相关联的存储器存取程序中的实例操作的逻辑流程300。为方便起见,参看图1的可切换功率/存储器存取模式处理器100描述流程300中的实例操作。应了解,此类描述不意图限制与图1的可切换功率/存储器存取模式处理器100架构相同的任何方面或实践。
参看图1及3,流程300中的操作可在302处开始,其中(例如)响应于外部指令(在图1及3中未明确地可见),可切换功率/存储器存取模式处理器100切换至正常功率模式(在块项302中缩写为“NP”)。在一方面中,302处的操作可包含将功率模式寄存器114中的功率模式指示符设定为逻辑“0”。与在302处切换至正常功率模式结合,流程300可在304处启用功率模式停用硬件页面查核器电路118。参看图1,304处的启用操作可由功率模式停用硬件页面查核器电路118响应于在其DE输入处接收到逻辑“0”功率模式指示符而执行。流程300接着可等待直至由翻译后援单元110在306处(例如)从指令执行电路102接收到虚拟地址。
继续参看图1及3,在翻译后援单元110在306处接收到虚拟地址后,流程300即可继续进行至308,其中TLB 112可使用在306处所接收的虚拟地址而搜寻其R个翻译条目150。如果308处的搜寻导致TLB命中,即,发现匹配翻译条目150(在决策块310处展示为“是”),则流程300可继续进行至312,且使用(例如)匹配翻译条目150的页面字段1504而产生完整物理地址。流程300可接着继续进行至314,且使用在312处所产生的物理地址来存取其存储器资源,例如,远程存储器106及/或本地存储器104。在312处的存取之后,流程300可在314处结束,且当在306处接收到另一虚拟地址时,流程300可重复。
参看图1的LP存取异常逻辑116及图3,应了解,归因于LP存取异常逻辑116及与正常功率模式相关联的功率模式指示符的逻辑“0”值,匹配翻译条目150的本地存储器旗标字段1506中的本地存储器旗标与流程300不相关。应了解,相比于需要重复TLB遗漏及页面查核行程以重新填入TLB(如由使TLB中的全部非本地物理地址条目失效的常规技术所需要),此特征可在切换至正常功率模式操作后即刻为可切换功率/存储器存取模式处理器100提供不受限存储器存取。
参看图3,流程300中的操作的上述实例假定TLB命中源自于308处的搜寻。在另一实例中,参看图1及3,308处的搜寻可能未能发现TLB 112中的匹配翻译条目。作为响应,如由离开决策块310的“否”分支所示,流程300可继续进行至318,且执行对分页表(在图1中未明确地可见)的硬件页面查核行程。在318处执行的硬件页面查核行程可根据已知、常规硬件页面查核行程技术,且因此忽略进一步详细描述。流程300中的在318处的硬件页面查核行程之后的随后操作可取决于硬件页面查核行程是否发现虚拟至物理映射,如由决策块320所示。如果未发现虚拟至物理映射,则如由离开决策块320的“否”分支所示,流程300可继续进行至322且调用页面错误异常。322处的页面错误异常可响应于不成功硬件页面查核行程而根据已知常规页面错误技术,且因此,忽略进一步详细描述。
参看图1及如3,如果318处的硬件页面查核行程发现虚拟至物理映射(在图1中未明确地可见),则接着如由离开决策块320的“是”分支所示,流程300可继续进行至324且确定虚拟至物理映射的物理地址字段指向本地存储器(例如,本地存储器104)还是在本地存储器外部(例如,远程存储器106)。流程300可接着继续进行至326,且使用324处的所述确定用于以新翻译映射条目150更新TLB 112。可根据实例150-r格式化新翻译映射条目150,新翻译映射条目150在其VPN字段1502及页面字段1504中具有由318处的硬件页面查核行程发现的虚拟至物理映射,且在其本地存储器旗标字段1506中,具有设定为指示物理地址在本地存储器104中还是在本地存储器外部(例如,在远程存储器106中)的值(例如,逻辑“0”或“1”)的本地存储器旗标。流程300可接着继续进行至314,使用由318处的硬件页面查核行程发现的虚拟至物理映射存取存储器,且接着在316处结束。
图4说明可如本文所描述,经配置以支持或提供参看图1的处理器系统100所描述的功能及特征的个人通信及计算装置400的一个实例。参看图4,个人通信及计算装置400可包含系统总线402及耦合至所述系统总线402的一或多个CPU 404。CPU 404可包括(例如)一或多个处理器或CPU 406及一或多个高速缓存408。CPU 406可由(例如)一或多个可编程计算装置实施,例如(但不限于)一或多个ARM类型处理装置(在图4中未单独地可见)。CPU 406可能够作为主控装置执行。CPU 406可(例如)经由系统总线402互相耦合至各种主控及从属装置。根据常规通信协议,CPU 404可经由系统总线402通过交换地址、控制及数据信息而与这些其它装置通信。尽管在图4中未说明,但可提供多个系统总线402。在具有多个系统总线402的实例中,每一系统总线402可构成不同网状架构。
参看图4,CPU 404可将总线异动请求传达至存储器系统412的存储器控制器410(作为从属装置的一个实例)。参看图1及4,在一个方面中,CPU 404可对应于图1的指令执行电路102。CPU 404可经配置以包含实施本地存储器104、翻译后援单元110及功率模式停用硬件页面查核器电路118的电路系统(在图4中非明确地可见)及/或计算机可执行码(在图4中非明确地可见)。存储器系统412可实施远程存储器106或形成远程存储器106的一部分。应了解,各方面可包含将可从CPU 404物理上分离的某些存储器资源(在图4中未必可见)指定为“本地存储器”。同样,诸方面可包含将可物理上布置于可接近或可甚至在CPU 404中的一或多者内的区域(在图4中未必可见)内的某些存储器资源(在图4中未必可见)指定为“在本地存储器外部”或“远程存储器”。
参看图4,其它主控及从属装置的实例可包含一或多个输入装置414、一或多个输出装置416、一或多个网络接口装置418、及一或多个显示器控制器420。如果经采用,则输入装置414可包含任何类型的输入装置,包含但不限于输入键、开关、语音处理器及其类似者。如果被使用,则输出装置416可包含任何类型的输出装置,包含但不限于音频、视频、其它视觉指示器及其类似者。如果被使用,则网络接口装置418可为经配置以允许与网络422交换数据的任何类型的网络接口装置。网络422可为任何类型的网络,包含但不限于有线或无线网络、私人或公用网络、局域网络(LAN)、广域网(WLAN)及因特网。网络接口装置418可经配置以支持任一类型的所要通信协议。
继续参看图4,CPU 404还可经配置以经由系统总线402存取显示器控制器420,以将控制信息发送至一或多个显示器424。显示器控制器420可(例如)经由一或多个视频处理器426而将待显示的信息发送至显示器424。视频处理器426可将(例如)待显示的信息处理成适合于显示器424的格式。如果被使用,则显示器424可包含任何类型的显示器,例如,主动或被动液晶显示器(LCD)、电浆显示器及阴极射线管(CRT)。
前述所揭示装置及功能性可经设计且经配置成存储于计算机可读媒体上的计算机档案(例如,RTL、GDSII、GERBER等)。这些档案中的一些或全部可被提供至基于这些档案制造装置的制造处理程序。所得产品包含接着被切割成半导体晶粒且封装成半导体芯片的半导体晶圆。接着在上文所述的装置中采用所述芯片。
所属领域的技术人员将了解,可使用多种不同技艺及技术中的任一者来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合表示贯穿以上描述可能提及的数据、指令、命令、信息、信号、位、符号及芯片。
此外,所属领域的技术人员将了解,结合本文中所揭示的方面而描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,各种说明性组件、块、模块、电路及步骤已在上文大体按其功能性加以描述。此功能性实施为硬件还是软件取决于特定应用及强加于整个系统上的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但不应将这些实施决策解释为导致脱离本发明的范围。
结合本文中所揭示的方面描述的方法、序列及/或算法可以硬件、以由处理器执行的软件模块、或以两者的组合直接体现。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM,或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合至处理器,使得处理器可从存储媒体读取信息且将信息写入至存储媒体。在替代方案中,存储媒体可整合至处理器。
尽管前述揭示内容展示相同的说明性方面及实例实施,但应注意,本文中可做出各种改变及修改而无需脱离本发明的如由所附权利要求书定义的范围。不必以任何特定次序执行根据方法权利要求书的功能、步骤及/或动作。此外,尽管可以单数形式描述或主张本发明的组件,但除非明确地陈述对单数形式的限制,否则预期复数形式。

Claims (28)

1.一种用于存取存储器的方法,其包括:
在翻译后援缓冲器TLB中存储多个翻译条目,每一翻译条目包括虚拟地址、物理地址、本地存储器旗标,其中所述本地存储器旗标指示所述物理地址是否在本地存储器外部;及
当处理器处于低功率模式中时:
接收所产生虚拟地址,及
在识别出具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目后,接着,如果所述匹配翻译条目的所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部,则产生超出存取范围存储器存取异常,
其中所述本地存储器可以所述低功率模式及正常功率模式存取,且
其中为所述本地存储器外部的存储器的远程存储器不可以所述低功率模式存取且可以所述正常功率模式存取。
2.根据权利要求1所述的方法,其中在识别出所述匹配翻译条目时且在所述匹配翻译条目的所述本地存储器旗标指示所述物理地址不在所述本地存储器外部时,基于所述物理地址而存取所述本地存储器。
3.根据权利要求1所述的方法,其进一步包括在所述多个翻译条目当中无匹配翻译条目后,即刻产生页面错误信号。
4.根据权利要求3所述的方法,其中所述所产生虚拟地址为第一虚拟地址,其中所述方法进一步包括:
将所述处理器切换至正常功率模式;及
当所述处理器处于所述正常功率模式中时,
接收第二虚拟地址,
在识别出所述多个翻译条目中无一者具有匹配所述第二虚拟地址的虚拟地址后,即刻基于所述第二虚拟地址而执行硬件页面查核行程,及
在所述硬件页面查核行程发现匹配所述第二虚拟地址的虚拟地址至物理地址映射后,即刻以对应于所述第二虚拟地址的新翻译条目更新所述翻译后援缓冲器。
5.根据权利要求4所述的方法,其中更新所述翻译后援缓冲器包含将所述新翻译条目的所述本地存储器旗标设定为指示由所述虚拟地址至物理地址映射指示的所述物理地址在所述本地存储器外部还是非外部的值。
6.根据权利要求4所述的方法,其进一步包括与将所述处理器切换至所述正常功率模式结合而启用硬件页面查核器,且其中所述硬件页面查核器执行所述硬件页面查核行程。
7.根据权利要求4所述的方法,其进一步包括:
将所述处理器切换回至所述低功率模式;及
与将所述处理器切换至所述低功率模式结合而停用硬件页面查核器。
8.根据权利要求1所述的方法,其进一步包括:
将所述处理器从正常功率模式切换至所述低功率模式;及
与将所述处理器切换至所述低功率模式结合而将寄存器中的功率模式指示符设定为指示所述低功率模式的值。
9.根据权利要求8所述的方法,其中产生所述超出存取范围存储器存取异常是基于所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部与所述功率模式指示符处于指示所述低功率模式的所述值的同时发生。
10.根据权利要求9所述的方法,其进一步包括在所述多个翻译条目中无一者具有匹配所述所产生虚拟地址的虚拟地址后,即刻产生低功率模式TLB遗漏异常信号。
11.根据权利要求10所述的方法,其中产生所述低功率模式TLB遗漏异常信号包括:
响应于识别出所述多个翻译条目中无一者具有匹配所述所产生虚拟地址的虚拟地址,产生指示未发现匹配翻译条目的页面错误信号;及,
基于所述页面错误信号指示未发现匹配翻译条目与所述功率模式指示符处于指示所述低功率模式的所述值的同时发生,产生所述低功率模式TLB遗漏异常信号。
12.根据权利要求8所述的方法,其进一步包括:
将所述处理器从所述低功率模式切换至所述正常功率模式;
与将所述处理器切换至所述正常功率模式结合而将所述寄存器中的所述功率模式指示符设定为指示所述正常功率模式的值;及
当所述处理器处于所述正常功率模式中时,
接收另一虚拟地址,及
在识别出具有匹配所述另一虚拟地址的虚拟地址的另一匹配翻译条目后,即刻存取存储器而不管所述本地存储器旗标为何。
13.根据权利要求1所述的方法,其中,其本地存储器旗标指示所述物理地址在所述本地存储器外部的每一翻译条目不被失效。
14.一种用于存取存储器的设备,其包括:
翻译后援缓冲器TLB,其经配置以
存储多个翻译条目,每一翻译条目包括虚拟地址、物理地址及本地存储器旗标,其中所述本地存储器旗标指示所述物理地址是否在本地存储器外部,
在处理器处于低功率模式中时接收所产生虚拟地址,
识别具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目;及
超出存取范围异常电路,其经配置以响应于所述匹配翻译条目的所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部而产生超出存取范围存储器存取异常,
其中所述本地存储器可以所述低功率模式及正常功率模式存取,且
其中为所述本地存储器外部的存储器的远程存储器不可以所述低功率模式存取且可以所述正常功率模式存取。
15.根据权利要求14所述的设备,其进一步包括:
寄存器,其经配置以存储处于指示所述低功率模式的值的功率模式指示符,
其中所述超出存取范围异常电路经配置以基于所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部与所述功率模式指示符处于指示所述低功率模式的所述值的同时发生而产生所述超出存取范围存储器存取异常。
16.根据权利要求15所述的设备,其进一步包括经配置以响应于识别出无匹配翻译条目具有匹配所述所产生虚拟地址的虚拟地址而产生低功率模式TLB遗漏异常信号的电路系统。
17.根据权利要求15所述的设备,
其中所述翻译后援缓冲器经配置以响应于识别出无匹配翻译条目具有匹配所述所产生虚拟地址的虚拟地址而产生指示未发现匹配翻译条目的页面错误信号,且
其中所述设备进一步包括经配置以基于所述页面错误信号指示未发现匹配翻译条目与所述功率模式指示符处于指示所述低功率模式的所述值的同时发生而产生低功率模式TLB遗漏异常信号的电路系统。
18.根据权利要求14所述的设备,其进一步包括:
寄存器,其经配置以存储处于可在指示所述低功率模式的值与指示正常功率模式的值之间切换的值的功率模式指示符,
其中所述超出存取范围异常电路经配置以基于所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部与所述功率模式指示符处于指示所述低功率模式的所述值的同时发生而产生所述超出存取范围存储器存取异常。
19.根据权利要求18所述的设备,其中所述超出存取范围异常电路经进一步配置以响应于所述功率模式指示符处于指示所述正常功率模式的所述值而禁止产生所述超出存取范围存储器存取异常。
20.根据权利要求19所述的设备,
其中所述翻译后援缓冲器经配置以响应于识别出所述多个翻译条目中无一者具有匹配所述所产生虚拟地址的虚拟地址而产生指示未发现匹配翻译条目的页面错误信号,且
其中所述设备进一步包括
硬件页面查核器电路,其经配置以
接收所述功率模式指示符及所述页面错误信号,及
响应于所述页面错误信号指示未发现匹配翻译条目与所述功率模式指示符处于指示所述正常功率模式的所述值的同时发生而基于所述所产生虚拟地址执行硬件页面查核行程。
21.根据权利要求20所述的设备,其中所述硬件页面查核器电路经配置以响应于接收到处于指示所述低功率模式的所述值的所述功率模式指示符而被停用。
22.根据权利要求20所述的设备,
其中所述硬件页面查核行程经配置以响应于发现匹配所述所产生虚拟地址的虚拟地址至物理地址映射而为所述翻译后援缓冲器提供所述虚拟地址至物理地址映射,且
其中所述翻译后援缓冲器经配置而以对应于所述所产生虚拟地址的新翻译条目更新所述翻译后援缓冲器。
23.根据权利要求22所述的设备,其中翻译后援缓冲器经配置以包含将所述新翻译条目的所述本地存储器旗标设定为指示由所述虚拟地址至物理地址映射指示的所述物理地址在所述本地存储器外部还是非外部的值。
24.根据权利要求14所述的设备,其中,其本地存储器旗标指示所述物理地址在所述本地存储器外部的每一翻译条目不被失效。
25.一种用于存取存储器的设备,其包括:
用于存储多个翻译条目的装置,每一翻译条目包括虚拟地址、物理地址及本地存储器旗标,其中所述本地存储器旗标指示所述物理地址是否在本地存储器外部;
用于在处理器处于低功率模式中时接收所产生虚拟地址的装置;
用于识别具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目的装置;及
用于在所述匹配翻译条目的所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部的情况下产生超出存取范围存储器存取异常的装置,
其中所述本地存储器可以所述低功率模式及正常功率模式存取,且
其中为所述本地存储器外部的存储器的远程存储器不可以所述低功率模式存取且可以所述正常功率模式存取。
26.根据权利要求25所述的设备,其中,其本地存储器旗标指示所述物理地址在所述本地存储器外部的每一翻译条目不被失效。
27.一种包括代码的非暂时性计算机可读媒体,所述代码在由处理器执行时使得所述处理器:
在翻译后援缓冲器中存储多个翻译条目,每一翻译条目包括虚拟地址、物理地址及本地存储器旗标,其中所述本地存储器旗标指示所述物理地址是否在本地存储器外部;及
当处理器处于低功率模式中时,
接收所产生虚拟地址,及
在识别出具有匹配所述所产生虚拟地址的虚拟地址的匹配翻译条目后,即刻接着,
如果所述匹配翻译条目的所述本地存储器旗标指示所述匹配翻译条目的所述物理地址在所述本地存储器外部,则产生超出存取范围存储器存取异常,
其中所述本地存储器可以低功率模式及正常功率模式存取,且
其中为所述本地存储器外部的存储器的远程存储器不可以所述低功率模式存取且可以所述正常功率模式存取。
28.根据权利要求27所述的非暂时性计算机可读媒体,其中,其本地存储器旗标指示所述物理地址在所述本地存储器外部的每一翻译条目不被失效。
CN201680009906.7A 2015-02-20 2016-01-29 选择性翻译后援寄存器搜寻及页面错误 Active CN107250997B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/626,925 US9858201B2 (en) 2015-02-20 2015-02-20 Selective translation lookaside buffer search and page fault
US14/626,925 2015-02-20
PCT/US2016/015599 WO2016133674A1 (en) 2015-02-20 2016-01-29 Selective translation lookaside buffer search and page fault

Publications (2)

Publication Number Publication Date
CN107250997A CN107250997A (zh) 2017-10-13
CN107250997B true CN107250997B (zh) 2021-02-12

Family

ID=55346224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680009906.7A Active CN107250997B (zh) 2015-02-20 2016-01-29 选择性翻译后援寄存器搜寻及页面错误

Country Status (6)

Country Link
US (1) US9858201B2 (zh)
EP (1) EP3259671B1 (zh)
KR (1) KR101868389B1 (zh)
CN (1) CN107250997B (zh)
TW (1) TWI634417B (zh)
WO (1) WO2016133674A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9658793B2 (en) 2015-02-20 2017-05-23 Qualcomm Incorporated Adaptive mode translation lookaside buffer search and access fault
US10956332B2 (en) 2017-11-01 2021-03-23 Advanced Micro Devices, Inc. Retaining cache entries of a processor core during a powered-down state
CN108959125B (zh) * 2018-07-03 2021-08-06 中国人民解放军国防科技大学 一种支持数据快速获取的存储访问方法和装置
US11243891B2 (en) * 2018-09-25 2022-02-08 Ati Technologies Ulc External memory based translation lookaside buffer
CN109684236A (zh) * 2018-12-25 2019-04-26 广东浪潮大数据研究有限公司 一种数据写缓存控制方法、装置、电子设备和存储介质
US11301396B2 (en) * 2019-03-29 2022-04-12 Intel Corporation Technologies for accelerated data access and physical data security for edge devices
US11334496B2 (en) * 2019-12-06 2022-05-17 EMC IP Holding Company LLC Method and system for providing processor-addressable persistent memory to guest operating systems in a storage system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998021712A2 (en) * 1996-11-12 1998-05-22 Idea Corporation Method and apparatus utilizing a region based page table walk bit
US20040128574A1 (en) * 2002-12-31 2004-07-01 Franco Ricci Reducing integrated circuit power consumption
CN1627252A (zh) * 2004-01-16 2005-06-15 智权第一公司 微处理机与随机存取快取记忆体的快速弹出装置及其方法
US20110072234A1 (en) * 2009-09-18 2011-03-24 Chinya Gautham N Providing Hardware Support For Shared Virtual Memory Between Local And Remote Physical Memory
CN102971720A (zh) * 2010-07-06 2013-03-13 高通股份有限公司 管理翻译旁视缓冲器的系统和方法
US20140068225A1 (en) * 2007-11-07 2014-03-06 Qualcomm Incorporated Configurable translation lookaside buffer
TW201447574A (zh) * 2013-03-14 2014-12-16 Nvidia Corp 管理統一虛擬記憶體的分頁狀態目錄

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3012227A (en) 1956-09-26 1961-12-05 Ibm Signal storage system
US4200915A (en) 1978-04-05 1980-04-29 Allen-Bradley Company Program loader for programmable controller
EP0297931B1 (en) 1987-06-29 1995-12-13 Digital Equipment Corporation Bus adapter unit for digital data processing system
US5113511A (en) 1989-06-02 1992-05-12 Atari Corporation System for dynamically providing predicted high/slow speed accessing memory to a processing unit based on instructions
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5386563A (en) 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
US5996051A (en) 1997-04-14 1999-11-30 Advanced Micro Devices, Inc. Communication system which in a first mode supports concurrent memory acceses of a partitioned memory array and in a second mode supports non-concurrent memory accesses to the entire memory array
US6412056B1 (en) 1997-10-01 2002-06-25 Compac Information Technologies Group, Lp Extended translation lookaside buffer with fine-grain state bits
JPH11282746A (ja) 1998-03-03 1999-10-15 Internatl Business Mach Corp <Ibm> Dramアクセス方法およびdramコントロ−ラ
JP3922859B2 (ja) 1999-12-28 2007-05-30 株式会社リコー 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
EP1182570A3 (en) 2000-08-21 2004-08-04 Texas Instruments Incorporated TLB with resource ID field
EP1182568A3 (en) 2000-08-21 2004-07-21 Texas Instruments Incorporated TLB operation based on task-id
EP1182561B1 (en) 2000-08-21 2011-10-05 Texas Instruments France Cache with block prefetch and DMA
US6766433B2 (en) 2001-09-21 2004-07-20 Freescale Semiconductor, Inc. System having user programmable addressing modes and method therefor
US6799257B2 (en) 2002-02-21 2004-09-28 Intel Corporation Method and apparatus to control memory accesses
US7143203B1 (en) 2002-04-26 2006-11-28 Advanced Micro Devices, Inc. Storage device control responsive to operational characteristics of a system
US20040064655A1 (en) 2002-09-27 2004-04-01 Dominic Paulraj Memory access statistics tool
US7146469B2 (en) 2002-10-24 2006-12-05 Sony Corporation Method, apparatus, and system for improving memory access speed
JP4945053B2 (ja) 2003-03-18 2012-06-06 ルネサスエレクトロニクス株式会社 半導体装置、バスインターフェース装置、およびコンピュータシステム
RU2006101719A (ru) 2003-06-24 2007-07-27 Роберт Бош ГмбХ (DE) Способ переключения между по меньшей мере двумя режимами работы процессора, а также соответствующий процессор
US7412581B2 (en) 2003-10-28 2008-08-12 Renesas Technology America, Inc. Processor for virtual machines and method therefor
EP1736887A3 (fr) 2005-05-31 2009-04-22 Stmicroelectronics Sa Repertoire de pages memoire
KR100663864B1 (ko) * 2005-06-16 2007-01-03 엘지전자 주식회사 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법
US7958312B2 (en) 2005-11-15 2011-06-07 Oracle America, Inc. Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state
US7516274B2 (en) 2005-11-15 2009-04-07 Sun Microsystems, Inc. Power conservation via DRAM access reduction
US7653789B2 (en) 2006-02-01 2010-01-26 Sun Microsystems, Inc. Multiprocessor system that supports both coherent and non-coherent memory accesses
US7882307B1 (en) 2006-04-14 2011-02-01 Tilera Corporation Managing cache memory in a parallel processing environment
US20080147977A1 (en) 2006-07-28 2008-06-19 International Business Machines Corporation Design structure for autonomic mode switching for l2 cache speculative accesses based on l1 cache hit rate
WO2008122746A1 (en) 2007-04-10 2008-10-16 Cambridge Consultants Limited Data processing apparatus
US9244855B2 (en) 2007-12-31 2016-01-26 Intel Corporation Method, system, and apparatus for page sizing extension
US8639245B2 (en) 2009-06-08 2014-01-28 Qualcomm Incorporated Method and apparatus for updating rules governing the switching of virtual SIM service contracts
US8285936B2 (en) 2009-10-20 2012-10-09 The Regents Of The University Of Michigan Cache memory with power saving state
EP2545452B1 (en) 2010-03-08 2017-11-29 Hewlett-Packard Enterprise Development LP Data storage apparatus and methods
US8990602B2 (en) * 2010-12-21 2015-03-24 Intel Corporation Apparatus, method, and system for early deep sleep state exit of a processing element
KR20130002046A (ko) 2011-06-28 2013-01-07 삼성전자주식회사 멀티 코어를 포함하는 저장 장치의 전력 관리 방법
WO2013095559A1 (en) 2011-12-22 2013-06-27 Intel Corporation Power conservation by way of memory channel shutdown
US9075719B2 (en) 2012-02-10 2015-07-07 Hitachi, Ltd. Computer system and storage system
US9141560B2 (en) * 2012-06-29 2015-09-22 Intel Corporation Multi-level storage apparatus
US9069690B2 (en) * 2012-09-13 2015-06-30 Intel Corporation Concurrent page table walker control for TLB miss handling
JP5734492B1 (ja) 2014-05-08 2015-06-17 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11656874B2 (en) 2014-10-08 2023-05-23 Nxp Usa, Inc. Asymmetrical processor memory architecture
US9658793B2 (en) * 2015-02-20 2017-05-23 Qualcomm Incorporated Adaptive mode translation lookaside buffer search and access fault

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998021712A2 (en) * 1996-11-12 1998-05-22 Idea Corporation Method and apparatus utilizing a region based page table walk bit
US20040128574A1 (en) * 2002-12-31 2004-07-01 Franco Ricci Reducing integrated circuit power consumption
CN1627252A (zh) * 2004-01-16 2005-06-15 智权第一公司 微处理机与随机存取快取记忆体的快速弹出装置及其方法
US20140068225A1 (en) * 2007-11-07 2014-03-06 Qualcomm Incorporated Configurable translation lookaside buffer
US20110072234A1 (en) * 2009-09-18 2011-03-24 Chinya Gautham N Providing Hardware Support For Shared Virtual Memory Between Local And Remote Physical Memory
CN104123242A (zh) * 2009-09-18 2014-10-29 英特尔公司 为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持
CN102971720A (zh) * 2010-07-06 2013-03-13 高通股份有限公司 管理翻译旁视缓冲器的系统和方法
TW201447574A (zh) * 2013-03-14 2014-12-16 Nvidia Corp 管理統一虛擬記憶體的分頁狀態目錄

Also Published As

Publication number Publication date
US20160246731A1 (en) 2016-08-25
US9858201B2 (en) 2018-01-02
EP3259671A1 (en) 2017-12-27
KR20170120109A (ko) 2017-10-30
KR101868389B1 (ko) 2018-06-18
TW201643606A (zh) 2016-12-16
TWI634417B (zh) 2018-09-01
EP3259671B1 (en) 2018-10-31
WO2016133674A1 (en) 2016-08-25
CN107250997A (zh) 2017-10-13

Similar Documents

Publication Publication Date Title
CN107250997B (zh) 选择性翻译后援寄存器搜寻及页面错误
KR101750669B1 (ko) 멀티-코어 이종 시스템 변환 색인 버퍼 일관성
TWI531912B (zh) 具有用於多上下文計算引擎的轉譯後備緩衝之處理器、用於致能多執行緒以存取於處理器中之資源之系統和方法
TWI502349B (zh) 在有虛擬標識的快取記憶體中判定別名位址之快取命中/未中及相關系統及方法
CN107667355B (zh) 一种用于提供分区的转换高速缓存器的方法及其设备
US9489316B2 (en) Method and device implementing execute-only memory protection
CN115292214A (zh) 页表预测方法、存储访问操作方法、电子装置和电子设备
JP2013182356A (ja) 演算装置、情報処理装置および演算方法
US9086986B2 (en) Detection of conflicts between transactions and page shootdowns
US20230289295A1 (en) Virtual Memory Management Method and Apparatus Supporting Physical Addresses Larger Than Virtual Addresses
TW201447584A (zh) 用於在執行硬體表搜尋〈hwtw〉時在某些條件下防止對暫存器的內容的未經授權式存取的方法和裝置
US9454201B2 (en) Detecting access to powered down device
US20210406195A1 (en) Method and apparatus to enable a cache (devpic) to store process specific information inside devices that support address translation service (ats)
WO2013170080A1 (en) Method and apparatus for tracking extra data permissions in an instruction cache
EP3230875B1 (en) Adaptive memory access to local and non-local memories
CN105183668B (zh) 缓存刷新方法及装置
US20190004883A1 (en) Providing hardware-based translation lookaside buffer (tlb) conflict resolution in processor-based systems
US20180285269A1 (en) Aggregating cache maintenance instructions in processor-based devices
US20220004501A1 (en) Just-in-time synonym handling for a virtually-tagged cache
JP2024510127A (ja) ページ再マッピングおよびローテーションによるアドレス空間配置のランダム化エントロピーの増大
CN116249972A (zh) 一种内存保护方法及保护代理控制装置
BR112017025619B1 (pt) Aparelho que compreende uma unidade de gerenciamento de memória e método para fornecer caches de tradução particionados
JPH07105087A (ja) 情報処理システム

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