CN108780350B - 用于存储器管理单元及分布式虚拟存储器网络的硬件管理的功率崩溃及时钟唤醒 - Google Patents

用于存储器管理单元及分布式虚拟存储器网络的硬件管理的功率崩溃及时钟唤醒 Download PDF

Info

Publication number
CN108780350B
CN108780350B CN201780017460.7A CN201780017460A CN108780350B CN 108780350 B CN108780350 B CN 108780350B CN 201780017460 A CN201780017460 A CN 201780017460A CN 108780350 B CN108780350 B CN 108780350B
Authority
CN
China
Prior art keywords
dvm
target
network
targets
power
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
CN201780017460.7A
Other languages
English (en)
Other versions
CN108780350A (zh
Inventor
J·E·波达艾玛
C·D·B·阿瓦尼
M·索马孙达拉姆
S·德纳
P·C·J·维尔齐恩斯基
B·雷赫利克
S·J·哈尔特
J·P·苏布拉马尼亚姆·贾纳桑
M·拉姆库马尔
D·R·帕尔
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 CN108780350A publication Critical patent/CN108780350A/zh
Application granted granted Critical
Publication of CN108780350B publication Critical patent/CN108780350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • 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]
    • 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/683Invalidation
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开用于与分布式虚拟存储器DVM网络相关的功率及时钟域的全硬件管理的方法及系统。一个方面包含:将DVM操作从DVM启动器传输到DVM网络;由所述DVM网络将所述DVM操作广播到多个DVM目标;及基于所述DVM操作由所述DVM网络广播到所述多个DVM目标来执行包括以下操作的一或多个硬件优化:接通耦合到所述DVM网络或耦合到为所述DVM操作的目标的所述多个DVM目标中的DVM目标的时钟域;增加所述时钟域的频率;基于耦合到所述DVM目标的功率域被关断来接通所述功率域;或基于所述DVM目标被关断来终止到所述DVM目标的所述DVM操作。

Description

用于存储器管理单元及分布式虚拟存储器网络的硬件管理的 功率崩溃及时钟唤醒
技术领域
本发明的方面涉及用于存储器管理单元(MMU)及分布式虚拟存储器(DVM)网络的硬件管理的功率崩溃及时钟唤醒,以及相关概念。
背景技术
“DVM网络”为经设计以将“DVM操作”从“DVM启动器”广播到DVM网络的所有“DVM目标”的系统单芯片(SoC)的硬件/软件架构内的广播网络。DVM网络负责合并来自DVM目标的响应且将单一统一响应呈现回到DVM启动器。DVM操作可包含到位于DVM目标处的翻译后备缓冲器(TLB)的TLB失效操作、用以确保先前DVM操作的完成的同步操作、到位于DVM目标处的指令高速缓存存储器的指令高速缓存存储器失效操作,及其它相关操作。
DVM网络使用基于来自ARM有限公司的高级微控制器总线架构(AdvancedMicrocontroller Bus Architecture;AMBA)4高级可延伸接口(Advanced ExtensibleInterface;AXI)一致性延伸(Coherency Extensions)(ACE)标准的协议。AMBA 4为用于SoC设计中的功能块的连接及管理的开放标准芯片上互连规格。所述标准规格仅描述用于DVM网络的“协议”且并不授权DVM网络的特定实施方案。
发明内容
以下内容呈现与本文中所公开的一或多个方面及/或数个方面相关的简化概述。因而,不应将以下概述视为与所有预期方面及/或方面相关的广泛概观,也不应认为以下概述识别与所有预期方面及/或方面相关的关键或决定性要素或描绘与任何特定方面及/或方面相关联的范围。因此,以下概述的唯一目的是以简化形式呈现关于与本文中所公开的机制相关的一或多个方面及/或方面的某些概念以先于下文所呈现的详细描述。
一种用于与分布式虚拟存储器(DVM)网络相关的功率及时钟域的全硬件管理的方法包含:将DVM操作从DVM启动器传输到DVM网络;由所述DVM网络将所述DVM操作广播到多个DVM目标;及基于所述DVM操作由所述DVM网络广播到所述多个DVM目标来执行包括以下操作的一或多个硬件功能:接通耦合到所述DVM网络或耦合到为所述DVM操作的目标的所述多个DVM目标中的DVM目标的时钟域;增加耦合到所述DVM网络或耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的所述时钟域的频率;基于耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的功率域被关断来接通所述功率域;基于为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标被关断来终止到所述DVM目标的所述DVM操作;或其任何组合。
一种用于与DVM网络相关的功率及时钟域的全硬件管理的设备包含:DVM启动器;多个DVM目标;DVM网络,其耦合到所述DVM启动器及所述多个DVM目标,其中所述DVM网络经配置以将DVM操作从所述DVM启动器广播到所述多个DVM目标,其中,基于所述DVM网络中的DVM操作被广播到所述多个DVM目标来进行以下操作:接通耦合到所述DVM网络或耦合到为所述DVM操作的目标的所述多个DVM目标中的DVM目标的时钟域;增加耦合到所述DVM网络或耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的所述时钟域的频率;基于耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的功率域被关断来接通所述功率域;基于为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标被关断来终止到所述DVM目标的所述DVM操作;或其任何组合。
一种用于与DVM网络相关的功率及时钟域的全硬件管理的设备包含:用于将DVM操作传输到DVM网络的装置;用于将所述DVM操作广播到多个DVM目标的装置;及用于基于所述DVM操作由所述DVM网络广播到所述多个DVM目标来执行包括以下操作的一或多个硬件功能的装置:接通耦合到所述DVM网络或耦合到为所述DVM操作的目标的所述多个DVM目标中的DVM目标的时钟域;增加耦合到所述DVM网络或耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的所述时钟域的频率;基于耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的功率域被关断来接通所述功率域;基于为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标被关断来终止到所述DVM目标的所述DVM操作;或其任何组合。
基于随附图式及详细描述,与本文中所公开的方面及方面相关联的其它目标及优点对于所属领域的技术人员而言来说将显而易见。
附图说明
由于参考以下详细描述并结合随附图式进行考虑将更好地理解本发明的方面及其许多伴随优点,故将易于获得对所述方面及优点的较完整的了解,所述图式是仅仅出于说明而非限制本发明予以呈现,且在所述图式中:
图1为根据本发明的至少一个方面的可包含多个系统存储器管理单元(SMMU)的示范性基于处理器的系统的框图。
图2说明根据本发明的至少一个方面的包含分布式虚拟存储器(DVM)启动器、DVM网络及DVM目标的示范性系统。
图3A说明根据本发明的至少一个方面的由图2的系统执行的示范性按虚拟地址TLB失效(TLB Invalidate by Virtual Address;TLBIVA)操作。
图3B说明根据本发明的至少一个方面的DVM启动器、DVM网络及DVM目标中的每一者都在单独时钟及功率域上的图2的系统。
图4说明根据本发明的至少一个方面的用于与DVM网络及DVM目标相关的功率及时钟域的全硬件管理的示范性系统。
图5说明根据本发明的至少一个方面的用于使图4的系统中的DVM目标进行功率崩溃的示范性流程。
图6说明根据本发明的至少一个方面的用于对图4的系统中的DVM目标通电的示范性流程。
图7A说明根据本发明的至少一个方面的用于图4的系统中的自动时钟唤醒的示范性流程。
图7B说明根据本发明的至少一个方面的用于图4的系统中的自动时钟唤醒的示范性流程。
图8说明根据本发明的至少一个方面的用于与DVM网络相关的功率及时钟域的全硬件管理的示范性流程。
具体实施方式
本发明公开用于与分布式虚拟存储器(DVM)网络相关的功率及时钟域的全硬件管理的方法及系统。一个方面包含:将DVM操作从DVM启动器传输到DVM网络;由所述DVM网络将所述DVM操作广播到多个DVM目标;及基于所述DVM操作由所述DVM网络广播到所述多个DVM目标来执行包括以下操作的一或多个硬件功能:接通耦合到所述DVM网络或耦合到为所述DVM操作的目标的所述多个DVM目标中的DVM目标的时钟域;增加耦合到所述DVM网络或耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的所述时钟域的频率;基于耦合到为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标的功率域被关断来接通所述功率域;或基于为所述DVM操作的所述目标的所述多个DVM目标中的所述DVM目标被关断来终止到所述DVM目标的所述DVM操作。
在有关于本发明的特定方面的以下描述及相关图式中公开本发明的此些及其它方面。可在不脱离本发明的范围的情况下设计出替代方面。另外,将不详细地描述或将省略本发明的熟知元件以免混淆本发明的相关细节。
词语“示范性”及/或“实例”在本文中用以意谓“充当实例、例子或说明”。本文中被描述为“示范性”及/或“实例”的任何方面未必被认作比其它方面优选或有利。同样地,术语“本发明的方面”并不要求本发明的所有方面都包含所论述的特征、优点或操作模式。
另外,在待由(例如)计算装置的元件执行的动作序列方面描述各种方面。将认识到,本文中所描述的各种动作可由特定电路(例如,专用集成电路(ASIC)、系统单芯片(SoC))、由一或多个处理器所执行的程序指令或由此两者的组合执行。另外,本文中所描述的此些动作序列可被视为完全地体现于存储有一组对应计算机指令的任何形式的计算机可读存储媒体内,所述计算机指令在执行后就将致使关联处理器执行本文中所描述的功能性。因此,本发明的各种方面可以数种不同形式予以体现,所述形式都已被涵盖于所主张主题的范围内。此外,对于本文中所描述的方面中的每一者,任何此些方面的对应形式可在本文中被描述为(例如)“经配置以”执行所描述的动作“的逻辑”。
通常,除非另有明确陈述,否则如贯穿本发明所使用的短语“经配置以……的逻辑”打算调用至少部分地运用硬件予以实施的方面,且并不打算映射到独立于硬件的仅软件实施。而且,将了解,各种块中的经配置逻辑或“经配置以……的逻辑”并不限于特定逻辑门或元件,而通常指执行本文中所描述的功能性(经由硬件或经由硬件与软件的组合)的能力。因此,如各种块中所说明的经配置逻辑或“经配置以……的逻辑”未必被实施为逻辑门或逻辑元件,而不管共享词语“逻辑”。根据对下文较详细地所描述的方面的检阅,各种块中的逻辑之间的其它交互或合作对于所属领域的一般技术人员而言将变得清楚。
根据本文中所公开的方面,提供与DVM网络相关的功率及时钟域的全硬件管理可提供于或集成到任何基于处理器的装置中。在无限制的情况下,实例包含机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、服务器、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器等等。
就此而言,图1说明根据本发明的至少一个方面的基于处理器的系统100的实例。在此实例中,基于处理器的系统100包含一或多个中央处理单元(CPU)102,其各自包含一或多个处理器104。CPU 102可具有耦合到处理器104以用于快速地存取暂时存储的数据的高速缓存存储器106。CPU 102进一步包含用于提供用于CPU存储器存取请求的地址翻译服务的CPU存储器管理单元(MMU)108。CPU 102可将事务请求传达到存储器系统112的存储器控制器118,存储器系统112提供存储器单元114A到114N。
CPU 102耦合到可相互耦合包含于基于处理器的系统100中的主控装置及从属装置的系统总线110(其包含DVM网络(未图示))。CPU 102通过在系统总线110上交换地址、控制及数据信息而与此些其它装置通信。在图1的实例中,SMMU 116耦合到系统总线110。其它主控装置及从属装置可经由SMMU 116而连接到系统总线110。如图1所说明,此些装置可包含(作为实例)一或多个输入装置120、一或多个输出装置122、一或多个网络接口装置124及一或多个显示控制器126。输入装置120可包含任何类型的输入装置,包含但不限于输入按键、开关、语音处理器等等。输出装置122可包含任何类型的输出装置,包含但不限于音频、视频,其它视觉指示器等等。网络接口装置124可为经配置以允许数据到及从网络128的交换的任何装置。网络128可为任何类型的网络,包含但不限于有线或无线网络、私用或公用网络、局域网(LAN)、广域网(WLAN)、因特网等等。网络接口装置124可经配置以支持任何类型的所要通信协议。
CPU 102也可经配置以在系统总线110上存取显示控制器126以控制发送到一或多个显示器130的信息。显示控制器126经由一或多个视频处理器132将信息发送到显示器130以供显示,视频处理器132将待显示信息处理成适合于显示器130的格式。显示器130可包含任何类型的显示器,包含但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器等等。
系统总线110包含将DVM启动器(例如,CPU 102)耦合到一或多个DVM目标(例如,SMMU 116)的DVM网络。DVM网络(系统总线110的部分)包含于SoC的硬件/软件架构内以将“DVM操作”从“DVM启动器”(例如CPU 102)广播到DVM网络的所有“DVM目标”(例如SMMU116)。
图2说明根据本发明的至少一个方面的包含DVM启动器202、DVM网络204及DVM目标206A到206N的示范性系统200。DVM网络204负责合并来自DVM目标206A到206N的响应且将单一统一响应呈现回到DVM启动器202。更具体言来说,DVM网络204等待来自DVM目标206A到206N的所有响应,将其组合(或“合并”)成单一响应,且将单一响应传回到DVM启动器202。DVM操作可包含到位于DVM目标处的TLB的翻译后备缓冲器(TLB)失效操作、用以确保先前DVM操作的完成的同步操作、到位于DVM目标处的指令高速缓存存储器的指令高速缓存存储器失效操作等等。
DVM网络(例如DVM网络204)可使用基于来自ARM有限公司的AMBA 4 ACE标准的协议。AMBA 4为用于SoC设计中的功能块的连接及管理的开放标准芯片上互连规格。所述标准规格仅描述用于DVM网络的“协议”且并不授权DVM网络的特定实施方案。举例来说,计时及功率崩溃以及许多其它实施细节超出标准规格的范围。
在一个方面中,DVM目标206A到206N可为SMMU。SMMU为包括从DVM网络(例如DVM网络204)接收DVM操作的TLB的DVM目标。当(例如)SMMU在DVM网络204上接收到TLB失效操作时,SMMU进行以下操作:1)将TLB失效应答传回到DVM网络204;及2)对TLB执行TLB失效(及任何高速缓存翻译)。当(例如)SMMU在DVM网络204上接收到同步操作时,SMMU进行以下操作:1)确保执行先前告示的TLB失效;及2)确保在传回“同步完成”之前已全域地观测到正使用旧/目标式TLB项目的客户端请求(例如,读取/写入/等等)。
图3A说明根据本发明的至少一个方面的由图2的系统200执行的示范性“按虚拟地址TLB失效”(TLBIVA)操作。DVM启动器202在DVM网络204上发布TLBIVA操作(被表示为块310)。DVM网络204将TLBIVA操作广播(被表示为块312)到所有DVM目标(即,DVM目标206A到206N)。每一DVM目标206A到206N应答TLBIVA操作的接收且将应答响应提供(被表示为块314)到DVM网络204。DVM网络204合并来自DVM目标的所有应答响应且将统一接收响应呈现(被表示为块316)回到DVM启动器202。
出于功率优化及/或性能原因,有时需要在单独时钟域及单独功率域上具有SMMU/DVM目标。图3B说明根据本发明的至少一个方面的DVM启动器202、DVM网络204及DVM目标206A到206N中的每一者都在单独时钟及功率域上的图2的系统200。在图3B的实例中,DVM启动器202在其自己的时钟及功率域322上,DVM网络204在其自己的时钟及功率域324上,DVM目标206A及206B在其自己的时钟及功率域326上,且DVM目标206N在其自己的时钟及功率域328上。DVM目标206A到206N可各自在单独时钟及功率域上,或所有DVM目标206A到206N可在同一时钟及功率域上,或不同群组的DVM目标206A到206N可在不同时钟及功率域上(如图3B所说明)。
如果时钟域及功率域受到软件管理/控制,那么将多个时钟域及多个功率域引入于DVM网络204内可对软件造成负担。在此些状况下,此时从CPU(例如图1中的CPU 102)发布TLB失效,及/或当使DVM目标206A到206N的DVM目标进行功率崩溃(即,断电)时DVM启动器202及DVM网络204必须受到软件管理。
在单一时钟及功率域上具有DVM网络204及所有DVM目标206A到206N会简化问题。然而,此可在(例如)DVM网络204及DVM目标206A到206N被强制在单一快速/缓慢时钟上操作的情况下导致不良的时延性能配置文件。其也可在(例如)DVM网络204及DVM目标206A到206N被“始终供电”的情况下导致不良的功率性能配置文件。
因此,本发明呈现用于与DVM网络(例如DVM网络204)及DVM目标(例如DVM目标206A到206N)相关的功率及时钟域的全硬件管理的机制。在一个方面中,所公开的硬件机制可进行以下操作:1)基于DVM网络204中的DVM操作的存在来接通相关时钟(且接着,当操作完成时,返回关断相关时钟);2)基于DVM网络204中的DVM操作的存在来加快相关时钟(且接着,当操作完成时,返回减慢相关时钟);及/或3)适当时自动地终止被广播到已进行功率崩溃的DVM目标206A到206N的DVM操作。任选地,可基于DVM网络204中的DVM操作的存在而对进行功率崩溃的DVM目标206A到206N“加电”。
上述点1及2确保低时延(归因于高性能DVM网络响应)。本发明的影响包含从在DVM目标206A到206N被断电之前必须对DVM网络204进行软件管理的负担释放软件,及从在DVM启动器202发布DVM操作(例如,TLB失效)之前必须对时钟进行软件管理的负担释放软件。
图4说明根据本发明的至少一个方面的用于与DVM网络及DVM目标相关的功率及时钟域的全硬件管理的示范性系统400。系统400包含充当DVM启动器的CPU子系统402,其可对应于图1中的CPU 102。CPU子系统/DVM启动器402经由CPU子系统/DVM启动器402处的DVM主控端口412及DVM网络404处的DVM从属端口414将命令/DVM操作发布到DVM网络404,其可为图1中的系统总线110的部分。DVM网络404将命令/DVM操作广播到可对应于图1中的SMMU116的DVM目标,例如DVM目标406(例如,SMMU)。
DVM拦截器428确保:除非所有下游目标DVM时钟都被接通,否则无DVM操作传递通过到DVM目标。DVM拦截器428包含用以停止任何DVM操作直到相关时钟被接通为止的逻辑。DVM拦截器428与负责接通被关断的与DVM操作相关的任何时钟的时钟管理器410通信。
当DVM目标(例如DVM目标406)进行功率崩溃时,DVM断接模块426与功率崩溃管理器420通信以确保DVM目标406的适当关机。功率崩溃管理器420与DVM目标406通信以确保DVM目标406的适当关机/功率崩溃。经由DVM断接模块426,功率崩溃管理器420与DVM网络404通信以确保DVM网络404将适当响应提供到DVM启动器,即,CPU子系统/DVM启动器402。功率崩溃管理器420也从用于功率崩溃接口440的寄存器读取“断电请求”且将“断电状态”写入到用于功率崩溃接口440的寄存器。
时钟桥接器424为允许两个单独时钟域之间的通信(在此状况下为DVM通信)的互连装置。举例来说,此处,DVM网络404在一个时钟域上,而DVM目标406在单独时钟域上,因此需要“时钟桥接器”以桥接两个时钟域。
CPU子系统/DVM启动器402可将动态时钟分频(dynamic clock divide;DCD)唤醒命令发布到时钟选择器432A及432B。当存在通过致使时钟分频器434A及434B被略过而进行的DVM活动时,时钟选择器432A及432B选择最快时钟。更具体来说,当DCD唤醒命令为“1”时,时钟选择器432A及432B致使耦合到时钟分频器434A及434B的多路复用器选择未分频时钟信号且将其发送到时钟管理器410。此致使对应时钟电路系统加快时钟。
时钟管理器410也可接收用以使给定时钟保持接通的投票,在图4中被表示为SoftwareClockONRequest(s)。只要存在用以使时钟保持接通的至少一个投票,那个时钟就将保持接通。
图5说明根据本发明的至少一个方面的用于使图4的系统400中的DVM目标(例如DVM目标406(例如,SMMU))进行功率崩溃(即,断电)的示范性流程。
在502处,功率崩溃管理器420从当前正被执行的软件接收用以使DVM目标406进行功率崩溃的请求。软件通过将“功率崩溃请求”写入于用于图4中的功率崩溃接口440的寄存器中来断言请求。替代地,代替软件触发DVM目标406的断电,来自图4中的CPU子系统/DVM启动器402或DVM网络404的信号可触发断电序列。此信号将指示当不存在致使DVM目标406被供电的其它活动时不准许DVM网络404中的未决DVM请求触发功率崩溃事件。功率崩溃管理器420将接收此信号且将其用作用以确定何时对DVM目标406断电的手段。即使当主电源“关断”时,DVM目标406的TLB内容仍将借助于保持电路或次级存储单元而被“保持”。
在504处,功率崩溃管理器420将DVMDisconnectRequest消息发布到DVM网络404以安全地将DVM目标406从DVM网络404断接。在506处,一旦DVM网络404接收到DVMDisconnectRequest消息,DVM网络404就安全地终止任何新DVM操作,使得新DVM操作不会到达DVM目标406。终止DVM操作会确保任何新DVM操作被应答/完成且确保DVM启动器(例如,CPU子系统402)接收到指示已终止事务被“正常地”(即,无错误地)应答/完成的有效非错误响应。
在508处,DVM网络404确保所有先前未决DVM操作由DVM目标406应答或完成。在510处,一旦所有未决DVM操作由DVM目标406应答或完成,DVM网络404就传回DVMDisconnectReady消息。
在512处,功率崩溃管理器420从DVM网络404接收DVMDisconnectReady消息。在514处,功率崩溃管理器420将SMMUPowerCollapseRequest消息发布到DVM目标406。
在516处,一旦DVM目标406接收到功率崩溃请求,DVM目标406就封锁任何新客户端请求(例如,来自CPU子系统/DVM启动器402的DVM操作)。在518处,DVM目标406等待直到任何未决活动完成(例如,所有未处理客户端请求完成,且所有未处理翻译表查核完成)为止。在520处,一旦DVM目标406中的所有未决活动完成,DVM目标406就传回SMMUPowerCollapseReady消息。
在522处,功率崩溃管理器420将PowerONControl=0消息发布到功率控制器408。一旦功率控制器408接收到PowerONControl=0消息,其就从DVM目标406及关联组件去除功率(借此使DVM目标406进行功率崩溃)。
在524处,功率崩溃管理器420传回指示功率已从DVM目标406被去除的功率状态信号。此状态可由软件经由用于功率崩溃接口440的寄存器而读取。
图6说明根据本发明的至少一个方面的用于对图4的系统400中的DVM目标(例如DVM目标406(例如,SMMU))通电的示范性流程。
在602处,功率崩溃管理器420从当前正被执行的软件接收用以对DVM目标406通电的请求。软件通过撤销断言用于功率崩溃接口440的寄存器中的“功率崩溃请求”来断言请求。替代地,代替软件触发DVM目标406的通电,来自DVM网络404的交握可触发通电序列。如果DVM操作是以DVM目标406为目标,那么将执行此交握。当DVM目标406被通电时,功率崩溃管理器420将从DVM网络404接收此通电请求且完成交握。
在604处,功率崩溃管理器420将PowerONControl=1消息发布到功率控制器408。在606处,功率崩溃管理器420等待直到DVM目标406被完全地通电为止。更具体来说,功率崩溃管理器420等待来自功率控制器408的通电状态指示符。一旦功率控制器408接收到PowerONControl=1消息,DVM目标406就将被通电。一旦功率复原到DVM目标406,功率控制器408就将复位消息发布到DVM目标406,且也将TLB复位消息发布到DVM目标406以确保TLB“无效”且不含有有效信息。应注意,对于上文参考602所描述的替代例可不执行此操作,这是因为TLB将含有有效信息。
在608处,功率崩溃管理器420通过撤销断言用于DVM目标406的SMMUPowerCollapseRequest消息来断言到DVM目标406的通电请求。
在610处,一旦DVM目标406接收到通电请求,DVM目标406就解除封锁任何客户端请求(例如,来自CPU子系统/DVM启动器402的DVM操作)。在612处,DVM目标406传回SMMUPowerCollapseReady=1消息以应答通电请求且指示其准备好后续功率崩溃。
在614处,功率崩溃管理器420通过撤销断言到DVM网络404的DVMDisconnectRequest消息来断言到DVM网络404的通电请求以将DVM目标406重新连接到DVM网络404。
在616处,一旦DVM网络404从功率崩溃管理器420接收到重新连接请求(即,DVMDisconnectRequest=0消息),DVM网络404就停止终止任何新DVM操作且将任何新DVM操作转递(如正常一样)到DVM目标406。在618处,DVM网络404将通电请求的应答传回到功率崩溃管理器420。
在620处,功率崩溃管理器420等待来自DVM网络404的应答。在622处,功率崩溃管理器420传回指示功率已施加到DVM目标406的功率状态信号。此状态可由软件经由用于功率崩溃接口440的寄存器而读取。
图7A说明根据本发明的至少一个方面的用于图4的系统400中的自动时钟唤醒的示范性流程。在702处,DVM启动器402在DVM网络404上广播DVM操作。本发明包含用以使DVM目标(例如DVM目标406)免于接收DVM操作的软件编程布建。因此,并非所有DVM目标都将接收“经广播”DVM操作。
在704处,DVM启动器402将DCDWakeUpRequest信号断言为存在未决DVM操作的“早期”指示。应注意,DCDWakeUPRequest信号为未决DVM请求的“早期”指示,这是因为所述信号是在DVM操作到达DVM目标406很久以前被断言。在706处,时钟选择器432A及/或432B接收DCDWakeUpRequest信号且通过切换到较快时钟频率源及/或选择非分频时钟信号以发送到时钟管理器410而作出响应。时钟管理器410使用此些较快/非分频时钟作为用于SMMU/DVM目标的时钟源。通过使用“较快”非分频时钟,DVM网络404及DVM目标能够较快地对在DVM网络404上广播的DVM操作作出响应。
在708处,时钟管理器410、DVM网络404及DVM目标406使用较快时钟。在710处,时钟管理器410、DVM网络404及DVM目标406接收及执行在702处广播的DVM操作。
在712处,DVM启动器402等待来自DVM网络404的响应。在714处,DVM启动器402确定是否存在任何新DVM操作。如果存在,那么流程返回到702。如果不存在,那么流程继续到716。在716处,DVM启动器402撤销断言DCDWakeUpRequest。当DCDWakeUpRequest信号被撤销断言时,可将DVM相关时钟切换回到分频时钟以用于节省电力。
图7B说明根据本发明的至少一个方面的用于图4的系统400中的自动时钟唤醒的示范性流程。在722处,在图4中的DVM网络404上广播DVM操作,如在图7A的702处一样。
在724处,CPU子系统/DVM启动器402将DCDWakeUpRequest信号断言为存在未决DVM操作的“早期”指示,如在图7A的704处一样。应注意,DCDWakeUPRequest信号为未决DVM请求的“早期”指示,这是因为所述信号是在DVM操作到达DVM目标406很久以前被断言。时钟选择器432A及/或432B接收DCDWakeUpRequest信号且通过选择非分频时钟以发送到时钟管理器410而作出响应。时钟管理器410使用此些非分频时钟作为用于SMMU/DVM目标的时钟源。通过使用“较快”非分频时钟,DVM网络404及DVM目标能够较快地对在DVM网络404上广播的DVM操作作出响应。
在726处,在DVM网络404上将另一DVM操作广播到所有(或一些)DVM目标。本发明包含用以使DVM目标(例如DVM目标406)免于接收DVM操作的软件编程布建。因此,并非所有DVM目标都将接收“经广播”DVM操作。
在728处,DVM拦截器428“拦截”DVM网络404的DVM主控端口412内部的DVM操作。在730处,DVM拦截器428封锁DVM操作直到DVM目标的时钟接通(被称作“双态触发”)为止。在732处,DVM拦截器428将DVMSMMUClockONRequest发布到时钟管理器410。
在734处,时钟管理器410将确保时钟门控元件被停用且确保与DVM网络组件及DVM目标相关的时钟接通。在736处,一旦与DVM网络组件及DVM目标相关的时钟接通,时钟管理器410就将DVMSMMUClockONReady响应传回到DVM拦截器428。
在738处,DVM拦截器428等待直到时钟管理器410传回DVMSMMUClockONReady响应为止。在740处,DVM拦截器428“解除封锁”DVM操作且允许DVM操作继续到DVM目标406(假定其不在进行功率崩溃的过程中)。只要DVM目标406主动地处理DVM操作(或任何其它操作),DVM目标就断言“SMMUIsActive”信号。当所有DVM响应已传回且DCDWakeUpRequest信号被撤销断言时,可将DVM相关时钟切换回到分频时钟以用于节省电力。
在742处,当所有DVM响应已传回且离开DVM网络404时,DVM拦截器428最终通过撤销断言请求信号DVMClockONRequest来停止请求接通时钟。此可(例如)在DVM拦截器428处不存在未决DVM请求时及在从最后DVM请求在DVM拦截器428处未决以来已经过一时间量(例如,固定数目个时钟循环)时完成。此时,在744处,如果无其它代理程序将使用时钟,那么时钟管理器410可决定关闭那些时钟(被称作“非双态触发”)。
图8说明根据本发明的至少一个方面的用于与DVM网络相关的功率及时钟域的全硬件管理的示范性流程。图8所说明的流程可由图4中的系统400执行。
在802处,DVM启动器(例如CPU子系统/DVM启动器402)将DVM操作传输到DVM网络(例如DVM网络404)。
在804处,DVM网络(例如DVM网络404)将DVM操作广播到多个DVM目标(例如DVM目标406)。
在806处,基于未决DVM操作由DVM网络广播到多个DVM目标来执行一或多个硬件功能。
举例来说,在812处,可接通耦合到DVM网络的时钟域(例如,时钟域324)或耦合到为DVM操作的目标的多个DVM目标中的DVM目标的时钟域(例如,时钟域326/328)。
替代地或另外,在814处,可增加耦合到DVM网络的时钟域(例如,时钟域324)或耦合到为DVM操作的目标的多个DVM目标中的DVM目标的时钟域(例如,时钟域326/328)的频率。
替代地或另外,在816处,基于耦合到为DVM操作的目标的多个DVM目标中的DVM目标的功率域被关断来接通所述功率域。
替代地或另外,在818处,基于为DVM操作的目标的多个DVM目标中的DVM目标被关断来终止到所述DVM目标的DVM操作。更具体来说,如果为DVM操作的目标的多个DVM目标中的DVM目标被关断,那么终止DVM操作。
如本文中所公开,硬件管理的功率崩溃存在许多益处。举例来说,功率管理软件可自由地使DVM目标进行功率崩溃,而不必与可正使用DVM网络的软件同步/协调。即使当以无功率的DVM目标为目标时,正在进行中的DVM操作仍“成功地”完成。另外,在一些方面中,DVM操作的发布将任选地在没有用以管理来自软件的功率的明确指令的情况下对DVM目标通电。
如本文中所公开,硬件管理的计时也存在许多益处。举例来说,TLB失效指令的发布将在没有用以管理来自软件的时钟的明确指令的情况下接通DVM网络及DVM目标上的关联时钟。另外,TLB失效指令的发布(例如)将在没有用以管理来自软件的时钟的明确指令的情况下加快DVM网络及DVM目标上的关联时钟。结果为不依赖于软件管理的较快DVM网络。
本发明的其它方面包含用以任选地且以编程方式使DVM目标免于参与DVM网络的布建。所述控制的可编程序性可从“有特殊权限”或“安全”软件进行软件读取/写入。其它方面包含用以在停用锁相回路(PLL)时自动地将时钟源切换到“始终存在”快速时钟的布建/设施。
所属领域的技术人员将了解,可使用多种不同技术及科技中的任一者来表示信息及信号。举例来说,可通过电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合来表示可贯穿以上描述所参考的数据、指令、命令、信息、信号、位、符号及芯片。
另外,所属领域的技术人员将了解,结合本文中所公开的方面所描述的各种说明性逻辑块、模块、电路及算法步骤可被实施为电子硬件、计算机软件,或此两者的组合。为了清楚地说明硬件与软件的此可互换性,各种说明性组件、块、模块、电路及步骤已在上文大体上在其功能性方面加以描述。将此功能性实施为硬件抑或软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用而以变化的方式来实施所描述的功能性,但不应将此些实施决策解译为造成脱离本发明的范围。
可运用经设计以执行本文中所描述的功能的一般用途处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所公开的方面所描述的各种说明性逻辑块、模块及电路。一般用途处理器可为微处理器,但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可被实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置。
结合本文中所公开的方面所描述的方法、序列及/或算法可直接体现于硬件中、由处理器执行的软件模块中或所述两者的组合中。软件模块可驻存于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移式磁盘、CD-ROM或所属领域中所知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代例中,存储媒体可与处理器成一体式。处理器及存储媒体可驻存于ASIC中。ASIC可驻存于用户终端机(例如,UE)中。在替代例中,处理器及存储媒体可作为离散组件而驻存于用户终端机中。
在一或多个示范性方面中,所描述的功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或程序代码而存储于计算机可读媒体上或经由计算机可读媒体进行传输。计算机可读媒体包含计算机存储媒体及通信媒体两者,通信媒体包含促进计算机程序从一处传送到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。作为实例而非限制,此些计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以携载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接被适当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光缆、双绞线、数字用户线(DSL)或例如红外线、无线电及微波的无线技术而从网站、服务器或其它远程源传输软件,那么同轴缆线、光缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘运用激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。
虽然前述公开内容展示本发明的说明性方面,但应注意,本文中可在不脱离如由所附权利要求书所界定的本发明的范围的情况下作出各种改变及修改。无需以任何特定次序执行根据本文中所描述的本发明的方面的方法权利要求的功能、步骤及/或动作。此外,虽然可以单数形式描述或要求本发明的元件,但除非明确地陈述限于单数形式,否则涵盖复数形式。

Claims (30)

1.一种用于与分布式虚拟存储器DVM网络相关的功率域及时钟域的全硬件管理的方法,其包括:
将DVM操作从DVM启动器传输到DVM网络;
由所述DVM网络将所述DVM操作广播到多个DVM目标;及
基于所述DVM操作由所述DVM网络广播到所述多个DVM目标来执行包括以下操作的一或多个硬件功能:
接通耦合到所述DVM网络或耦合到所述多个DVM目标中的作为所述DVM操作的目标的DVM目标的时钟域,
增加耦合到所述DVM网络或耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的所述时钟域的频率,
基于耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的功率域被关断来接通所述功率域,
基于所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标被关断来终止对所述DVM目标的所述DVM操作,或
其任何组合。
2.根据权利要求1所述的方法,其中接通耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的所述时钟域包括:
由所述DVM启动器断言对耦合到所述DVM目标的所述时钟域的唤醒请求;
在耦合到所述DVM目标的所述时钟域被关断时由所述DVM网络封锁所述DVM操作;
接通耦合到所述DVM目标的所述时钟域;及
基于耦合到所述DVM目标的所述时钟域被接通来解除封锁所述DVM操作且由所述DVM网络将所述DVM操作传输到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标。
3.根据权利要求1所述的方法,其中增加耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的所述时钟域的所述频率包括:
由所述DVM启动器断言对耦合到所述DVM目标的所述时钟域的唤醒请求;
由耦合到所述DVM启动器的时钟选择器单元选择耦合到所述DVM目标的所述时钟域的非分频版本;及
基于耦合到所述DVM目标的所述时钟域的所述非分频版本被选择而由所述DVM网络将所述DVM操作传输到作为所述DVM操作的所述目标的所述DVM目标。
4.根据权利要求1所述的方法,其中接通耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的所述功率域包括:
由耦合到所述DVM网络的功率崩溃管理器将通电请求发布到耦合到作为所述DVM操作的所述目标的所述DVM目标的所述功率域;
由所述功率崩溃管理器将通电请求发布到作为所述DVM操作的所述目标的所述DVM目标;
由作为所述DVM操作的所述目标的所述DVM目标基于从所述功率崩溃管理器接收的所述通电请求来解除封锁来自所述DVM网络的DVM操作;
由作为所述DVM操作的所述目标的所述DVM目标重新连接到所述DVM网络;及
由所述DVM网络将所述DVM操作传输到作为所述DVM操作的所述目标的所述DVM目标。
5.根据权利要求4所述的方法,其中将所述通电请求发布到作为所述DVM操作的所述目标的所述DVM目标是基于由所述功率崩溃管理器从耦合到所述DVM目标的所述功率域接收到指示耦合到所述DVM目标的所述功率域被接通的响应。
6.根据权利要求4所述的方法,其进一步包括:
接收用以对作为所述DVM操作的所述目标的所述DVM目标通电的请求,其中所述请求是从正由所述DVM启动器执行的软件接收的;及
将指示耦合到所述DVM目标的所述功率域被接通的功率状态信号发送到所述软件。
7.根据权利要求1所述的方法,其中基于所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标被关断来终止对所述DVM目标的所述DVM操作包括:
从DVM断接模块接收用以终止后续DVM操作的命令。
8.根据权利要求1所述的方法,其中基于所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标被关断来终止对所述DVM目标的所述DVM操作包括:
由所述DVM网络终止所述DVM操作;及
由所述DVM网络产生对所述DVM操作的响应。
9.根据权利要求1所述的方法,其中所述多个DVM目标包括一或多个存储器管理单元。
10.根据权利要求1所述的方法,其中所述DVM启动器包括处理器。
11.根据权利要求1所述的方法,其中所述DVM操作包括翻译后备缓冲器TLB失效操作、同步操作,或其任何组合。
12.根据权利要求1所述的方法,其中所述DVM启动器耦合到与所述DVM网络的时钟域及功率域分离的单独时钟域及单独功率域。
13.根据权利要求1所述的方法,其中所述多个DVM目标耦合到与所述DVM启动器的时钟域及功率域及所述DVM网络的时钟域及功率域分离的时钟域及功率域。
14.根据权利要求1所述的方法,其中所述多个DVM目标中的每一者耦合到与所述多个DVM目标中的剩余者分离的单独时钟域及单独功率域。
15.根据权利要求1所述的方法,其中所述多个DVM目标耦合到单一时钟域及功率域。
16.一种用于与分布式虚拟存储器DVM网络相关的功率域及时钟域的全硬件管理的设备,其包括:
DVM启动器;
多个DVM目标;
DVM网络,其耦合到所述DVM启动器及所述多个DVM目标,其中所述DVM网络经配置以将DVM操作从所述DVM启动器广播到所述多个DVM目标,
其中,基于所述DVM网络中的DVM操作被广播到所述多个DVM目标来进行以下操作:
接通耦合到所述DVM网络或耦合到所述多个DVM目标中的作为所述DVM操作的目标的DVM目标的时钟域,
增加耦合到所述DVM网络或耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的所述时钟域的频率,
基于耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的功率域被关断来接通所述功率域,
基于所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标被关断来终止对所述DVM目标的所述DVM操作,或
其任何组合。
17.根据权利要求16所述的设备,其中所述多个DVM目标包括一或多个存储器管理单元。
18.根据权利要求17所述的设备,其中所述一或多个存储器管理单元各自包括翻译后备缓冲器TLB。
19.根据权利要求16所述的设备,其中所述DVM启动器包括处理器。
20.根据权利要求16所述的设备,其中所述DVM操作包括TLB失效操作、同步操作,或其任何组合。
21.根据权利要求16所述的设备,其中所述DVM启动器耦合到与所述DVM网络的时钟域及功率域分离的单独时钟域及单独功率域。
22.根据权利要求16所述的设备,其中所述多个DVM目标耦合到与所述DVM启动器的时钟域及功率域及所述DVM网络的时钟域及功率域分离的时钟域及功率域。
23.根据权利要求16所述的设备,其中所述多个DVM目标中的每一者耦合到与所述多个DVM目标中的剩余者分离的单独时钟域及单独功率域。
24.根据权利要求16所述的设备,其中所述多个DVM目标耦合到单一时钟域及功率域。
25.根据权利要求16所述的设备,其中所述DVM网络将来自所述多个DVM目标的响应合并成经合并响应且向所述DVM启动器报告所述经合并响应。
26.根据权利要求16所述的设备,其中基于对所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的所述DVM操作被终止,所述DVM网络代表所述DVM目标而对所述DVM启动器作出响应。
27.一种用于与分布式虚拟存储器DVM网络相关的功率域及时钟域的全硬件管理的设备,其包括:
用于将DVM操作传输到DVM网络的装置;
用于将所述DVM操作广播到多个DVM目标的装置;及
用于基于所述DVM操作由所述DVM网络广播到所述多个DVM目标来执行包括以下操作的一或多个硬件功能的装置:
接通耦合到所述DVM网络或耦合到所述多个DVM目标中的作为所述DVM操作的目标的DVM目标的时钟域,
增加耦合到所述DVM网络或耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的所述时钟域的频率,
基于耦合到所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标的功率域被关断来接通所述功率域,
基于所述多个DVM目标中的作为所述DVM操作的所述目标的所述DVM目标被关断来终止对所述DVM目标的所述DVM操作,或
其任何组合。
28.根据权利要求27所述的设备,其中所述多个DVM目标包括一或多个存储器管理单元。
29.根据权利要求27所述的设备,其中用于传输的所述装置耦合到与所述DVM网络的时钟域及功率域分离的单独时钟域及单独功率域。
30.根据权利要求27所述的设备,其中所述多个DVM目标耦合到与用于传输的所述装置的时钟域及功率域及所述DVM网络的时钟域及功率域分离的时钟域及功率域。
CN201780017460.7A 2016-03-31 2017-03-13 用于存储器管理单元及分布式虚拟存储器网络的硬件管理的功率崩溃及时钟唤醒 Active CN108780350B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/086,054 US10386904B2 (en) 2016-03-31 2016-03-31 Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks
US15/086,054 2016-03-31
PCT/US2017/022158 WO2017172342A1 (en) 2016-03-31 2017-03-13 Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks

Publications (2)

Publication Number Publication Date
CN108780350A CN108780350A (zh) 2018-11-09
CN108780350B true CN108780350B (zh) 2021-08-06

Family

ID=58448615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780017460.7A Active CN108780350B (zh) 2016-03-31 2017-03-13 用于存储器管理单元及分布式虚拟存储器网络的硬件管理的功率崩溃及时钟唤醒

Country Status (9)

Country Link
US (2) US10386904B2 (zh)
EP (1) EP3436895B1 (zh)
JP (1) JP6640374B2 (zh)
KR (1) KR102048399B1 (zh)
CN (1) CN108780350B (zh)
BR (1) BR112018070131A2 (zh)
CA (1) CA3015929A1 (zh)
TW (1) TWI698746B (zh)
WO (1) WO2017172342A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910799B2 (en) * 2016-04-04 2018-03-06 Qualcomm Incorporated Interconnect distributed virtual memory (DVM) message preemptive responding
US10719452B2 (en) * 2018-06-22 2020-07-21 Xilinx, Inc. Hardware-based virtual-to-physical address translation for programmable logic masters in a system on chip
US10983851B1 (en) * 2019-12-04 2021-04-20 Cirrus Logic, Inc. Protecting against memory corruption and system freeze during power state transitions in a multi-power domain system
WO2022227093A1 (zh) * 2021-04-30 2022-11-03 华为技术有限公司 虚拟化系统以及虚拟化系统中内存一致性维护方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692192A (en) * 1994-07-19 1997-11-25 Canon Kabushiki Kaisha Load distribution method and system for distributed threaded task operation in network information processing apparatuses with virtual shared memory
CN103262054A (zh) * 2010-12-13 2013-08-21 弗森-艾奥公司 用于自动提交存储器的装置、系统和方法
US20160055110A1 (en) * 2014-08-25 2016-02-25 Apple Inc. Transaction Filter for On-Chip Communications Network

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884100A (en) 1996-06-06 1999-03-16 Sun Microsystems, Inc. Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US6889254B1 (en) * 1999-03-30 2005-05-03 International Business Machines Corporation Scalable merge technique for information retrieval across a distributed network
FR2808904A1 (fr) * 2000-05-12 2001-11-16 Ibm Systeme d'acces a des memoires redondantes
US6990594B2 (en) * 2001-05-02 2006-01-24 Portalplayer, Inc. Dynamic power management of devices in computer system by selecting clock generator output based on a current state and programmable policies
US7725742B2 (en) * 2006-08-15 2010-05-25 Mitac International Corp. Remote monitor module for power initialization of computer system
US7853928B2 (en) * 2007-04-19 2010-12-14 International Business Machines Corporation Creating a physical trace from a virtual trace
US8775839B2 (en) 2008-02-08 2014-07-08 Texas Instruments Incorporated Global hardware supervised power transition management circuits, processes and systems
US8732700B2 (en) * 2008-12-18 2014-05-20 Vmware, Inc. Virtualization system with a remote proxy
US8244978B2 (en) 2010-02-17 2012-08-14 Advanced Micro Devices, Inc. IOMMU architected TLB support
US9177615B2 (en) * 2011-07-06 2015-11-03 Qualcomm Technologies, Inc. Power disconnect unit for use in data transport topology of network on chip design having asynchronous clock domain adapter sender and receiver each at a separate power domain
US9916257B2 (en) 2011-07-26 2018-03-13 Intel Corporation Method and apparatus for TLB shoot-down in a heterogeneous computing system supporting shared virtual memory
US9298621B2 (en) 2011-11-04 2016-03-29 Hewlett Packard Enterprise Development Lp Managing chip multi-processors through virtual domains
US9378150B2 (en) 2012-02-28 2016-06-28 Apple Inc. Memory management unit with prefetch ability
JP6236589B2 (ja) 2012-12-18 2017-11-29 シノプシス、インコーポレーテッド 低電力設計のための階層的電源マップ
US9330026B2 (en) * 2013-03-05 2016-05-03 Qualcomm Incorporated Method and apparatus for preventing unauthorized access to contents of a register under certain conditions when performing a hardware table walk (HWTW)
US9015400B2 (en) * 2013-03-05 2015-04-21 Qualcomm Incorporated Methods and systems for reducing the amount of time and computing resources that are required to perform a hardware table walk (HWTW)
US9411745B2 (en) * 2013-10-04 2016-08-09 Qualcomm Incorporated Multi-core heterogeneous system translation lookaside buffer coherency
US9619387B2 (en) * 2014-02-21 2017-04-11 Arm Limited Invalidating stored address translations
GB2549239A (en) * 2014-11-13 2017-10-18 Advanced Risc Mach Ltd Context sensitive barriers in data processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692192A (en) * 1994-07-19 1997-11-25 Canon Kabushiki Kaisha Load distribution method and system for distributed threaded task operation in network information processing apparatuses with virtual shared memory
CN103262054A (zh) * 2010-12-13 2013-08-21 弗森-艾奥公司 用于自动提交存储器的装置、系统和方法
US20160055110A1 (en) * 2014-08-25 2016-02-25 Apple Inc. Transaction Filter for On-Chip Communications Network

Also Published As

Publication number Publication date
EP3436895B1 (en) 2023-08-02
JP2019517052A (ja) 2019-06-20
CN108780350A (zh) 2018-11-09
WO2017172342A1 (en) 2017-10-05
EP3436895C0 (en) 2023-08-02
JP6640374B2 (ja) 2020-02-05
US20170285705A1 (en) 2017-10-05
CA3015929A1 (en) 2017-10-05
TW201737093A (zh) 2017-10-16
TWI698746B (zh) 2020-07-11
BR112018070131A2 (pt) 2019-02-05
KR102048399B1 (ko) 2020-01-09
US10386904B2 (en) 2019-08-20
KR20180125978A (ko) 2018-11-26
EP3436895A1 (en) 2019-02-06
US20190324512A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
US20190324512A1 (en) Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks
EP2805245B1 (en) Determining cache hit/miss of aliased addresses in virtually-tagged cache(s), and related systems and methods
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
US20230009095A1 (en) Data transmission method and apparatus, and related assembly
AU2016284002A1 (en) Coherency driven enhancements to a peripheral component interconnect (PCI) express (PCIe) transaction layer
JP2016515262A (ja) 命令処理回路における冗長同期バリアの削除と、関連プロセッサシステム、方法、およびコンピュータ可読媒体
TW201807588A (zh) 動態地判定在以處理器為基礎的系統中之記憶體屬性
EP3152668A1 (en) Command trapping in an input/output virtualization (iov) host controller (hc) (iov-hc) of a flash-memory-based storage device
WO2017014914A1 (en) Address translation and data pre-fetch in a cache memory system
US20130304993A1 (en) Method and Apparatus for Tracking Extra Data Permissions in an Instruction Cache
US5918025A (en) Method and apparatus for converting a five wire arbitration/buffer management protocol into a two wire protocol
US10156887B2 (en) Cache memory clock generation circuits for reducing power consumption and read errors in cache memory
KR20180075162A (ko) 전자 시스템 및 그 동작 방법
US6377581B1 (en) Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks
WO2018187313A1 (en) Aggregating cache maintenance instructions in processor-based devices
US20240320160A1 (en) Filtering remote data synchronization barrier (dsb) instruction execution in processor-based devices
US8364906B2 (en) Avoiding memory access latency by returning hit-modified when holding non-modified data
JP6393013B1 (ja) リトライバスコヒーレンシプロトコルおよびインオーダーレスポンス非リトライバスコヒーレンシプロトコルを使用するプロセッサベースシステムにおけるデッドロックの回避
JPH0962576A (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