TW201737093A - 用於記憶體管理單元之硬體管理的功率崩潰及時脈喚醒及分散式虛擬記憶體網路 - Google Patents

用於記憶體管理單元之硬體管理的功率崩潰及時脈喚醒及分散式虛擬記憶體網路 Download PDF

Info

Publication number
TW201737093A
TW201737093A TW106109847A TW106109847A TW201737093A TW 201737093 A TW201737093 A TW 201737093A TW 106109847 A TW106109847 A TW 106109847A TW 106109847 A TW106109847 A TW 106109847A TW 201737093 A TW201737093 A TW 201737093A
Authority
TW
Taiwan
Prior art keywords
dvm
target
network
targets
coupled
Prior art date
Application number
TW106109847A
Other languages
English (en)
Other versions
TWI698746B (zh
Inventor
傑森 愛德華 波戴瑪
克里斯多夫 丹尼斯 柏納德 愛芳尼
曼諾坎桑 索瑪桑達嵐
席納 迪納
保羅 克里斯多福 約翰 韋爾辛斯基
伯沙福 瑞加立克
史蒂芬 約翰 哈爾特
葛納桑 賈亞 普雷卡序 蘇伯曼尼安
米爾 雷姆庫瑪
迪普堤 雷珍 保爾
Original Assignee
高通公司
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 高通公司 filed Critical 高通公司
Publication of TW201737093A publication Critical patent/TW201737093A/zh
Application granted granted Critical
Publication of TWI698746B publication Critical patent/TWI698746B/zh

Links

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/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/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/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有限公司之進階微控制器匯流排架構(Advanced Microcontroller Bus Architecture;AMBA) 4進階可延伸介面(Advanced Extensible Interface;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操作;或其任何組合。 基於隨附圖式及詳細描述,與本文中所揭示之態樣及態樣相關聯的其他目標及優點對於熟習此項技術者而言將顯而易見。
本發明揭示用於與一分散式虛擬記憶體(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目標」(諸如SMMU 116)。 圖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中之SMMU 116的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)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟運用雷射以光學方式再生資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。 雖然前述揭示內容展示本發明之說明性態樣,但應注意,本文中可在不脫離如由所附申請專利範圍所界定的本發明之範疇的情況下作出各種改變及修改。無需以任何特定次序執行根據本文中所描述的本發明之態樣之方法請求項之功能、步驟及/或動作。此外,雖然可以單數形式描述或主張本發明之元件,但除非明確地陳述限於單數形式,否則涵蓋複數形式。
100‧‧‧基於處理器之系統
102‧‧‧中央處理單元(CPU)
104‧‧‧處理器
106‧‧‧快取記憶體
108‧‧‧中央處理單元(CPU)記憶體管理單元(MMU)
110‧‧‧系統匯流排
112‧‧‧記憶體系統
114A‧‧‧記憶體單元
114N‧‧‧記憶體單元
116‧‧‧系統記憶體管理單元(SMMU)
118‧‧‧記憶體控制器
120‧‧‧輸入裝置
122‧‧‧輸出裝置
124‧‧‧網路介面裝置
126‧‧‧顯示控制器
128‧‧‧網路
130‧‧‧顯示器
132‧‧‧視訊處理器
200‧‧‧系統
202‧‧‧分散式虛擬記憶體(DVM)啟動器
204‧‧‧分散式虛擬記憶體(DVM)網路
206A‧‧‧分散式虛擬記憶體(DVM)目標
206B‧‧‧分散式虛擬記憶體(DVM)目標
206N‧‧‧分散式虛擬記憶體(DVM)目標
310‧‧‧區塊
312‧‧‧區塊
314‧‧‧區塊
316‧‧‧區塊
322‧‧‧時脈及功率域
324‧‧‧時脈及功率域
326‧‧‧時脈及功率域
328‧‧‧時脈及功率域
400‧‧‧系統
402‧‧‧中央處理單元(CPU)子系統/分散式虛擬記憶體(DVM)啟動器
404‧‧‧分散式虛擬記憶體(DVM)網路
406‧‧‧分散式虛擬記憶體(DVM)目標
408‧‧‧功率控制器
410‧‧‧時脈管理器
412‧‧‧分散式虛擬記憶體(DVM)主控埠
414‧‧‧分散式虛擬記憶體(DVM)從屬埠
420‧‧‧功率崩潰管理器
424‧‧‧時脈橋接器
426‧‧‧分散式虛擬記憶體(DVM)斷接模組
428‧‧‧分散式虛擬記憶體(DVM)攔截器
432A‧‧‧時脈選擇器
432B‧‧‧時脈選擇器
434A‧‧‧時脈分頻器
434B‧‧‧時脈分頻器
440‧‧‧功率崩潰介面
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
510‧‧‧步驟
512‧‧‧步驟
514‧‧‧步驟
516‧‧‧步驟
518‧‧‧步驟
520‧‧‧步驟
522‧‧‧步驟
524‧‧‧步驟
602‧‧‧步驟
604‧‧‧步驟
606‧‧‧步驟
608‧‧‧步驟
610‧‧‧步驟
612‧‧‧步驟
614‧‧‧步驟
616‧‧‧步驟
618‧‧‧步驟
620‧‧‧步驟
622‧‧‧步驟
702‧‧‧步驟
704‧‧‧步驟
706‧‧‧步驟
708‧‧‧步驟
710‧‧‧步驟
712‧‧‧步驟
714‧‧‧步驟
716‧‧‧步驟
722‧‧‧步驟
724‧‧‧步驟
726‧‧‧步驟
728‧‧‧步驟
730‧‧‧步驟
732‧‧‧步驟
734‧‧‧步驟
736‧‧‧步驟
738‧‧‧步驟
740‧‧‧步驟
742‧‧‧步驟
744‧‧‧步驟
802‧‧‧步驟
804‧‧‧步驟
806‧‧‧步驟
812‧‧‧步驟
814‧‧‧步驟
816‧‧‧步驟
818‧‧‧步驟
由於參考以下詳細描述並結合隨附圖式進行考慮將更好地理解本發明之態樣及其許多伴隨優點,故將易於獲得對該等態樣及優點之較完整的瞭解,該等圖式係僅僅出於說明而非限制本發明予以呈現,且在該等圖式中: 圖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網路相關之功率及時脈域之全硬體管理之例示性流程。
100‧‧‧基於處理器之系統
102‧‧‧中央處理單元(CPU)
104‧‧‧處理器
106‧‧‧快取記憶體
108‧‧‧中央處理單元(CPU)記憶體管理單元(MMU)
110‧‧‧系統匯流排
112‧‧‧記憶體系統
114A‧‧‧記憶體單元
114N‧‧‧記憶體單元
116‧‧‧系統記憶體管理單元(SMMU)
118‧‧‧記憶體控制器
120‧‧‧輸入裝置
122‧‧‧輸出裝置
124‧‧‧網路介面裝置
126‧‧‧顯示控制器
128‧‧‧網路
130‧‧‧顯示器
132‧‧‧視訊處理器

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啟動器耦接至與該DVM網路之一時脈域及一功率域分離的一單獨時脈域及一單獨功率域。
  30. 如請求項27之設備,其中該複數個DVM目標耦接至與該DVM啟動器之一時脈域及一功率域及該DVM網路之一時脈域及一功率域分離的時脈域及功率域。
TW106109847A 2016-03-31 2017-03-24 用於記憶體管理單元之硬體管理的功率崩潰及時脈喚醒及分散式虛擬記憶體網路 TWI698746B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/086,054 2016-03-31
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

Publications (2)

Publication Number Publication Date
TW201737093A true TW201737093A (zh) 2017-10-16
TWI698746B TWI698746B (zh) 2020-07-11

Family

ID=58448615

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106109847A TWI698746B (zh) 2016-03-31 2017-03-24 用於記憶體管理單元之硬體管理的功率崩潰及時脈喚醒及分散式虛擬記憶體網路

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 华为技术有限公司 虚拟化系统以及虚拟化系统中内存一致性维护方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3696901B2 (ja) * 1994-07-19 2005-09-21 キヤノン株式会社 負荷分散方法
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
EP2652623B1 (en) * 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
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
KR101769693B1 (ko) 2012-12-18 2017-08-18 시놉시스 타이완 씨오., 엘티디. 로우 파워 디자인을 위한 계층적 파워 맵
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
US9747239B2 (en) * 2014-08-25 2017-08-29 Apple Inc. Transaction filter for on-chip communications network
GB2549239A (en) * 2014-11-13 2017-10-18 Advanced Risc Mach Ltd Context sensitive barriers in data processing

Also Published As

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

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
TWI502349B (zh) 在有虛擬標識的快取記憶體中判定別名位址之快取命中/未中及相關系統及方法
US10025711B2 (en) Hybrid write-through/write-back cache policy managers, and related systems and methods
TWI516933B (zh) 用於在本地代理者之記憶體鏡像及遷移之裝置及方法以及電腦可讀取媒體
US20130174224A1 (en) Information processing apparatus and unauthorized access prevention method
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
US20160371222A1 (en) COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
TW201807588A (zh) 動態地判定在以處理器為基礎的系統中之記憶體屬性
WO2012087894A2 (en) Debugging complex multi-core and multi-socket systems
US8495091B2 (en) Dynamically routing data responses directly to requesting processor core
US9916243B2 (en) Method and apparatus for performing a bus lock and translation lookaside buffer invalidation
KR20180075162A (ko) 전자 시스템 및 그 동작 방법
US20180285269A1 (en) Aggregating cache maintenance instructions in processor-based devices
JP6393013B1 (ja) リトライバスコヒーレンシプロトコルおよびインオーダーレスポンス非リトライバスコヒーレンシプロトコルを使用するプロセッサベースシステムにおけるデッドロックの回避
US8364906B2 (en) Avoiding memory access latency by returning hit-modified when holding non-modified data

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees