TWI512474B - 電子系統及頻寬管理之方法 - Google Patents

電子系統及頻寬管理之方法 Download PDF

Info

Publication number
TWI512474B
TWI512474B TW102134358A TW102134358A TWI512474B TW I512474 B TWI512474 B TW I512474B TW 102134358 A TW102134358 A TW 102134358A TW 102134358 A TW102134358 A TW 102134358A TW I512474 B TWI512474 B TW I512474B
Authority
TW
Taiwan
Prior art keywords
memory
limiters
threshold
limit
agents
Prior art date
Application number
TW102134358A
Other languages
English (en)
Other versions
TW201416864A (zh
Inventor
Gurjeet S Saund
James B Keller
Manu Gulati
Sukalpa Biswas
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Publication of TW201416864A publication Critical patent/TW201416864A/zh
Application granted granted Critical
Publication of TWI512474B publication Critical patent/TWI512474B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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)
  • Power Sources (AREA)

Description

電子系統及頻寬管理之方法
本發明係關於電子系統,且特定而言,係關於攜帶型電子系統及在此等系統中自資源提供頻寬。
攜帶型電子裝置之計算能力及進階功能性持續增長,從而獲得先前不與此等裝置相關聯之豐富的使用者體驗。在攜帶型電子裝置中變得普遍之特徵包括串流高解析度視訊(例如,高清晰度(HD)視訊)、2維(2D)及3D空間中之進階圖形演現、用於網際網路瀏覽及其他線上通信之高速無線網路連接、進階遊戲及生產力應用程式、相片及視訊編輯及俘獲、多處理等。攜帶型電子裝置包括經設計以基於電池電源運行達長時間段(例如,數小時)之各種裝置。攜帶型電子裝置之實例包括智慧型手機、個人數位助理、諸如iPad® 之平板計算裝置、膝上型電腦及迷你筆記型電腦等。
隨著攜帶型電子裝置之特徵變得更進階,在效能與功率消耗之間需要複雜取捨。功率消耗既影響電池壽命且亦呈現與自相對較小裝置移除熱相關之熱挑戰。特定而言,與大量有需求組件對共用資源(諸如,主記憶體系統)的存取相關之取捨變得有問題。有需求組件可包括(例如)圖形處理單元(GPU)、其他處理器(諸如,中央處理單元(CPU))及各種微控制器以及其他嵌入式處理器、在裝置之顯示螢幕上顯示高清晰度影像之顯示控制器等。為了支援高效能,需要高頻寬記 憶體系統。然而,在高度利用之高頻寬記憶體系統中消耗之功率通常產生重大熱挑戰及電池壽命挑戰。此外,甚至效能可在高頻寬系統中受到影響。舉例而言,平均記憶體延時可隨著多個高頻寬組件競爭記憶體存取而增加。高頻寬組件亦可支配記憶體頻寬,從而防止低頻寬組件獲得充足存取。
在一些實施例中,一系統包括共用高頻寬資源(例如,記憶體系統)、經組態以與共用資源通信之多個代理(agent),及將多個代理耦接至共用資源之通信網狀架構。該通信網狀架構可裝備限制器,該等限制器經組態以基於關於共用高頻寬資源所量測之一或多個效能度量而限制各種代理之頻寬。舉例而言,效能度量可包括延時、未處理異動之數目、資源利用率等中之一或多者。限制器可基於效能度量動態地修改其限制組態,從而准許在存取共用高頻寬資源時之靈活性,同時減輕效能及/或功率影響。舉例而言,該組態可准許頻寬中之暫態峰值,其後接著為頻寬減少週期,從而允許伺服暫時高頻寬需要,同時限制熱/功率影響以及對其他代理之效能影響。
在一實施例中,該系統可包括用於效能度量之多個臨限值,且超過給定臨限值可導致通信網狀架構中之限制器之動態修改。在一些實施例中,亦可能存在實施於該系統中之滯後,以減少在組態之間轉變的頻率。
10‧‧‧積體電路(IC)
12‧‧‧外部記憶體
14‧‧‧記憶體控制器
16‧‧‧記憶體異動佇列
18‧‧‧頻寬管理控制器/頻寬管理單元
20‧‧‧臨限值暫存器
22‧‧‧通信網狀架構
24A‧‧‧限制器
24B‧‧‧限制器
24C‧‧‧限制器
24D‧‧‧限制器
26A‧‧‧限制器組態表(LC)
26B‧‧‧限制器組態表(LC)
26C‧‧‧限制器組態表(LC)
26D‧‧‧限制器組態表(LC)
28A‧‧‧代理
28B‧‧‧代理
28C‧‧‧代理
28D‧‧‧代理
28E‧‧‧代理
30‧‧‧處理器
32‧‧‧圖形處理單元(GPU)
34‧‧‧暫存器
150‧‧‧系統
154‧‧‧周邊裝置
156‧‧‧電源供應器
以下詳細描述參看現簡略描述之隨附圖式。
圖1為積體電路及外部記憶體之一實施例之方塊圖。
圖2為說明圖1中所展示的頻寬管理控制器之一實施例之操作的流程圖。
圖3為說明圖1中所展示的限制器之一實施例之操作的流程圖。
圖4為說明圖1中所展示的頻寬管理控制器之另一實施例之操作的流程圖。
圖5為說明實施例之頻寬管理之實例的表。
圖6為包括圖1中所展示之積體電路及記憶體之系統的一實施例的方塊圖。
雖然本發明易受各種修改之影響及易具有各種替代形式,但在圖式中藉由實例展示其特定實施例,且將在本文中對其進行詳細描述。然而應瞭解,該等圖式及對其之詳細描述並非意欲將本發明限於所揭示之特定形式,而正相反,本發明意欲涵蓋屬於附屬申請專利範圍所界定的本發明之精神及範疇內的所有修改、等效物或替代例。本文中所使用之標題僅為達成組織性目的,且不意欲用以限制此描述之範疇。如本申請案全篇中所使用之詞語「可」係在准許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)上使用。類似地,詞語「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行一或多個任務。在此等情況下,「經組態以」係對結構之廣泛敍述,其大體上意謂「具有在操作期間執行該一或多個任務之電路」。因而,單元/電路/組件可經組態以甚至在單元/電路/組件當前未接通時仍執行任務。一般而言,形成對應於「經組態以」之結構的電路可包括硬體電路及/或儲存可執行以實施操作之程式指令的記憶體。該記憶體可包括揮發性記憶體(諸如,靜態或動態隨機存取記憶體),及/或非揮發性記憶體(諸如,光碟或磁碟儲存器、快閃記憶體、可程式化唯讀記憶體等)。類似地,為了描述之便利起見,各種單元/電路/組件可被描述為執行一或多個任務。此等描述應解釋為包括片語「經組態以」。敍述經組態以執行一或多個任務之單元/電路/組件明確地不意欲援引35 U.S.C.§ 112第六段對於彼單元/電路/組件之解釋。
現轉向圖1,展示積體電路(IC)10及耦接至IC 10之記憶體12的一實施例之方塊圖。更特定而言,IC 10可包括耦接至記憶體12之記憶體控制器14。記憶體控制器14可包括一或多個異動佇列及/或其他緩衝器16、頻寬管理控制器18及一組臨限值暫存器20。頻寬管理控制器18耦接至臨限值暫存器20及記憶體異動佇列16。記憶體異動佇列16可經耦接以自通信網狀架構22(或更簡略而言,網狀架構22)接收記憶體異動,且將記憶體異動傳輸至記憶體12。頻寬管理控制器18亦可耦接至網狀架構22以傳達臨限值位準之指示,如下文更詳細論述。網狀架構22包括各種限制器電路(或更簡略而言,限制器),諸如圖1中之限制器24A至24D。每一限制器24A至24D可耦接至/包括限制器組態表(LC)26A至26D。網狀架構22耦接至各種代理,諸如圖1中之代理28A至28E。在所說明之實施例中,代理28A可為包括一或多個處理器30之CPU代理,且代理28B可為包括一或多個GPU 32之GPU代理。
頻寬管理控制器18可經組態以監視記憶體訊務(例如,記憶體異動)及累積記憶體系統之一或多個效能度量。基於該等效能度量,頻寬管理控制器18可經組態以將資訊傳達至網狀架構22,該網狀架構22可經組態以動態地調整一或多個網狀架構特性。鑒於由頻寬管理控制器18偵測之效能度量,經調整之特性可改良效能及/或減少記憶體系統中之功率消耗。
效能度量可藉由頻寬管理控制器18累積於各種暫存器34(或在各種實施例中為其他時控儲存裝置)中。可比較暫存器34中累積之效能度量與程式化於暫存器20中之臨限值,以判定哪些臨限值已被該等度量(若存在)超過。頻寬管理控制器18可經組態以廣播已被超過之臨限值(例如,針對每一度量一臨限值位準,其中該位準指示哪些臨限值已被超過)的指示。因此,在暫存器20中可能存在用於由頻寬管理控 制器18實施之每一度量之臨限值。在各種實施例中,每一度量可存在至少一臨限值,且每一度量可存在一個以上臨限值。
在一些實施例中,頻寬管理控制器18可在臨限值量測中實施滯後(在圖1中說明為暫存器20中之每一者中的「滯後」值)。滯後可降低臨限值位準改變之頻率,從而使IC 10對效能度量之改變作出反應的速率減慢。舉例而言,在一些狀況下,可能需要此減慢,此係因為改變網狀架構特性之中斷可能較不頻繁。此外,滯後可准許記憶體系統在高頻寬位準下操作相對較短時間段,同時將較長期操作限制於較低頻寬位準,以提供更可管理之熱性質及/或功率消耗。
可以任何所要方式量測滯後。舉例而言,滯後可為與對應臨限值之偏差,且在臨限值於頻寬管理控制器18轉變回至較低臨限值位準之前已被超過之後,度量可需要降至比臨限值低該偏差量。或者,滯後可為臨限值之百分比或可經程式化為低於該臨限值之第二臨限值。滯後亦可經量測為要求對應度量在頻寬管理控制器18判定臨限值已被超過之前超過臨限值所持續的時間量,及/或要求度量在頻寬管理控制器18判定臨限值不再被超過之前低於臨限值所持續的時間量。
藉由頻寬管理控制器18累積之效能度量可為量化在一段時間內之記憶體訊務之態樣的任何度量。舉例而言,效能度量可包括以下各者中之一或多者:記憶體異動之平均記憶體延時、記憶體頻寬之利用率、記憶體系統中之佇列(諸如,記憶體異動佇列16)之充滿度(或「佇列深度」)、異動計數、藉由可執行於嵌入式處理器/微控制器(未圖示)上之請求代理及/或韌體所提供的指示效能之資料/統計資料,等等。
記憶體延時可為在記憶體異動進展中之兩個所定義點之間消逝之時間量。舉例而言,記憶體延時可定義為在藉由代理28A至28E發佈記憶體異動與異動資料傳回至代理28A至28E(用於讀取)或將資料交 付至記憶體12(用於寫入)之間流逝的時間。或者,可使用其他點(例如,記憶體異動於記憶體控制器14中之到達及資料自記憶體控制器14之傳輸(用於讀取)或資料至記憶體12之交付(用於寫入))。平均記憶體延時接著可為在一段時間內之記憶體異動之平均延時。
記憶體頻寬利用率可為可用於記憶體12(在一段時間內)之用以交換資料之頻寬的百分比。該利用率愈高,則記憶體12中消耗之功率愈多。類似地,其他效能影響可隨著較高利用率而發生。舉例而言,高頻寬代理28A至28E可支配記憶體訊務,從而防止其他代理28A至28E取得足夠量之頻寬。此外,較高頻寬利用率可與對延時敏感代理之不利影響相關聯。因此,基於利用率修改網狀架構特性可為合乎需要的。類似地,佇列深度及異動計數可為指示記憶體系統效能之度量且可用於修改網狀架構特性。
網狀架構特性大體上可為網狀架構22之任何可組態參數,其影響經由網狀架構22之異動之傳輸,且因此影響對記憶體系統作出之頻寬需求。舉例而言,網狀架構特性可包括網狀架構之時脈頻率、網狀架構之寬度(例如,並行傳輸之資料位元/位元組之數目)、網狀架構(圖1中未圖示)中之各種佇列/緩衝器之有效深度、異動計數限制、異動速率限制、頻寬在代理之間的分散、代理所經歷之平均/最大延時,等等。網狀架構特性可作為參數來直接修改,或可間接藉由改變網狀架構中之其他參數而控制。
在所說明之實施例中,各種限制器24A至24D可為用於修改網狀架構22之特性之機制。其他實施例可實施其他機制(例如,修改網狀架構22中所使用之時脈之時脈頻率、修改資料傳送之寬度、降低資料傳送之速率等)。限制器24A至24D可為在網狀架構22內之各種點處包括之電路且可經組態以限制在彼點流經網狀架構22之記憶體異動。舉例而言,在圖1之實施例中,限制器24B可限制由代理28A所發佈之異 動;限制器24C可限制由代理28B所發佈之異動,且限制器24D可限制由代理28C、28D及28E所發佈之異動(總計)。限制器亦可為階層式的(例如,限制器24A可進一步限制來自限制器24B至24C之異動)。在階層式狀況下,階層中之限制器可應用不同限制(例如,異動限制,其後接著為速率限制)。或者,階層中之多個層級可應用相同限制。當限制器經耦接以自一個以上源接收異動(例如,限制器24D自代理28C至28E接收異動)時,可作為整體跨越該等代理而實施限制(例如,可能存在應用於自代理28C至28E發佈之異動集合之一限制)。或者,每一代理可確保有一部分限制且可共用剩餘限制。來自每一代理28A至28E之異動因此可流經至少一限制器24A至24D且可流經多個限制器。各種實施例可使用任何數目個限制器及任何組態之限制器。
可能存在多種限制器。舉例而言,異動限制可限制准許在給定時間點未處理之異動的數目。一旦達到異動限制,直至完成一未處理異動才發佈另一異動。另一類型之限制可為速率限制。藉由速率限制,在一段時間內發佈之異動之數目可限制為最大值。舉例而言,可藉由速率限制器在異動之間插入最小延遲。或者,速率限制器可具有數個信用額度(credit)以在給定時間窗內發佈,且一旦信用額度用盡,則速率限制器可防止在該窗中之額外異動發佈。在窗結束時,可再充填信用額度以用於下一窗。在另一實例中,限制器可包括用於異動之緩衝器,且可修改緩衝器之深度以限制異動流。可在各種實施例中實施任一組限制器。限制器可具有階層式、非階層式或部分階層式配置。
在一些實施例中,限制器24A至24D亦可基於異動類型、異動屬性或虛擬通道來實施。亦即,限制器可針對不同異動類型、不同異動屬性或不同虛擬通道實施不同限制。在一實施中,可將服務品質(QoS)屬性指派至每一異動且限制器可在QoS基礎上操作。
如前文所提及,每一限制器24A至24D可具有相關聯之限制組態表26A至26D。LC表26A至26D可程式化有在頻寬管理控制器18指示對應臨限值已被超過時實行之限制。在圖1中以分解圖展示LC表26D且LC表26D具有對應於每一臨限值位準之項目(例如,限制1至限制N分別對應於暫存器20中之臨限值1至臨限值N)。LC表26A至26D可由任何儲存電路(例如,觸發器、暫存器、記憶體陣列等)形成。
網狀架構22可為任何通信網狀架構。大體上,通信網狀架構可包括傳輸異動所經由之互連件(例如,傳輸媒體)及界定如何傳輸異動之協定。在一些狀況下,通信網狀架構亦可包括在異動源與目的地之間的電路。各種形式之通信網狀架構可包括共用匯流排、點對點互連、基於封包之通信、階層式互連等。
記憶體異動大體上可為導致資料移動至記憶體或自記憶體移動資料之任何通信。讀取記憶體異動可導致資料自記憶體移動至異動之源代理,且寫入記憶體異動可導致資料自源代理移動至記憶體。
代理大體上可包括經組態以在網狀架構22上通信之任何電路。舉例而言,代理28A包括處理器30,其可產生記憶體異動以提取指令以供執行及/或回應於指令執行而讀取及寫入由處理器30操縱之資料。代理28A亦可包括其他電路(例如,低於處理器之快取記憶體之一或多個快取記憶體層級、用於網狀架構22之介面單元等)。類似地,代理28B可包括GPU 32,其可產生記憶體異動以提取指令以供執行及/讀取及寫入標示圖形物件之資料。代理28B亦可包括其他電路,諸如以上針對代理28A所提及之快取記憶體及介面單元。代理28C至28E可為各種其他類型之代理(例如,周邊組件、周邊介面控制器、直接記憶體存取(DMA)控制器等)。
在圖1之實施例中,頻寬管理控制器18包括在記憶體控制器14中。在其他實施例中,頻寬管理控制器18可位於別處。此外,在一些 實施例中,形成頻寬控制器之電路可分散在IC 10上。亦應注意,儘管在此實施例中暫存器20經程式化有臨限值及滯後值,但其他實施例可將其他儲存器用於臨限值及/或滯後表。舉例而言,可使用其他時控儲存裝置(鎖存器、觸發器等)或記憶體陣列。
雖然圖1之實施例管理記憶體系統(例如,記憶體控制器14及記憶體12)中之記憶體頻寬,但其他實施例可管理任何共用資源之頻寬。大體上,共用資源可為藉由兩個或兩個以上代理28A至28E同時使用之任何資源。在此情況下,資源可為經組態以提供資料或接收資料之任何電路。舉例而言,資源可為記憶體、任何其他揮發性或非揮發性儲存裝置、經組態以在周邊介面上通信之周邊介面控制器、周邊組件等。
現轉向圖2,展示說明頻寬管理控制器18之一實施例之操作的流程圖。雖然為易於理解而以特定次序展示區塊,但可使用其他次序。區塊可在頻寬管理控制器18中藉由組合邏輯並行執行。可在多個時脈循環內對區塊、區塊之組合及/或作為整體之流程圖進行管線作業。頻寬管理控制器18可經組態以實施圖2中所展示之操作。
頻寬管理控制器18可經組態以記錄一或多個效能度量(區塊40)。每一效能度量可與當前臨限值位準相關聯,該當前臨限值位準可為傳達至限制器24A至24D之最新臨限值位準。亦即,限制器24A至24D當前可實行對應於當前臨限值位準之限制。當前臨限值位準可小於最低臨限值、在任何兩個臨限值之間或高於最高臨限值。若效能度量中之至少一者超過次高臨限值位準(與當前臨限值位準相比較)(決策區塊42,「是」分支),則頻寬管理控制器18可經組態以選擇次高臨限值及將選定臨限值位準傳達至限制器(區塊44)。可以任何方式執行該傳達。舉例而言,頻寬管理控制器18可經組態以直接用信號通知限制器,或可經組態以經由網狀架構22傳輸傳達。另一方面,若在包括考 慮到滯後之情況下效能度量已降至次低臨限值以下(判定區塊46,「是」分支),則頻寬管理控制器18可經組態以選擇次低臨限值位準及將選定位準傳達到限制器(方塊48)。
現轉向圖3,展示說明回應於新臨限值位準之限制器24A至24D之一實施例的操作的流程圖。雖然為易於理解而以特定次序展示區塊,但可使用其他次序。區塊可在限制器24A至24D中藉由組合邏輯並行執行。可在多個時脈循環內對區塊、區塊之組合及/或作為整體之流程圖進行管線作業。限制器24A至24D可經組態以實施圖3中所展示之操作。每一限制器24A至24可獨立地實施操作。
限制器24A至24D可經組態以自頻寬管理控制器18接收新臨限值位準之指示,且可經組態以自對應限制器組態表26A至26D讀取對應限制器設定(區塊50)。該指示可為至對應限制器組態表中之索引。限制器24A至24D可經組態以將當前限制動態地更新為自限制組態表26A至26D讀取之限制。在一些實施例中,若新限制為自當前限制之下降且異動之當前狀態超出新限制(決策區塊52,「是」分支),則限制器24A至24D可經組態以將該限制緩慢降低至新限制(區塊54)。亦即,替代立即調整至新限制(及當未處理異動等待降至新限制以下時,可能導致異動傳輸之不連續性),在限制器24A至24D轉變至新限制時,限制器24A至24D可准許一些異動發佈。若新限制並非降低或當前狀態不超出新限制(區塊52,「否」分支),則限制器24A至24D可轉變至新限制(區塊56)。在其他實施例中,甚至在新限制為降低且當前異動狀態超出該限制的狀況下,限制器仍可直接轉變至新限制。
現轉向圖4,展示說明頻寬管理控制器18之另一實施例之操作的流程圖。雖然為易於理解而以特定次序展示區塊,但可使用其他次序。區塊可在頻寬管理控制器18中藉由組合邏輯並行執行。可在多個時脈循環內對區塊、區塊之組合及/或作為整體之流程圖進行管線作 業。頻寬管理控制器18可經組態以實施圖4中所展示之操作。
在頻寬管理控制器18經組態以自一或多個指定代理28A至28E接受指示該等指定代理是否接收足夠頻寬之傳達的狀況下,除了圖2之實施例之外,可實施圖4之實施例。舉例而言,指定代理可包括即時代理,且即時代理可經組態以傳輸關於異動之QoS指示。即時QoS指示可包括綠色、黃色及紅色位準,其指示增加之緊急度。若QoS指示為黃色或紅色,則頻寬管理控制器18可經組態以將該等指示解釋為指示頻寬不足。類似地,若QoS指示為綠色,則頻寬管理控制器18可經組態以將該等指示解釋為指示頻寬充足。亦可提供頻帶外發信號,且其他代理可經組態以指示正接收不足頻寬。此外,在一些實施例中,網狀架構22可包括監視提供至各種代理之頻寬的電路,且在判定頻寬對於給定代理之需要而言不足的狀況下,網狀架構22可調整限制器以將更多頻寬提供至給定代理。
頻寬管理控制器18可經組態以自指定代理接收指示(區塊60)。若該指示指示所請求的用於指定代理之頻寬的增加(決策區塊62,「是」分支),則頻寬管理單元18可經組態以選擇次高臨限值位準(與當前臨限值位準相比較),且可經組態以將該次高臨限值位準傳達至除了作用於源自指定代理之異動的限制器以外的限制器24A至24D(區塊64)。若該指示指示頻寬充足或指示減少,且滿足針對指示之滯後要求(例如,位準、請求減少之時間量)(決策區塊66,「是」分支),則頻寬管理控制器18可經組態以選擇次低臨限值位準及將該位準傳達至限制器(區塊68)。又,傳達可至除了影響指定代理之異動之限制器以外的彼等限制器。
圖5為說明一實施例之可在例示性臨限值位準下強加之頻寬限制之一些實例的表。舉例而言,LC表26A至26D可程式化有基於圖5之表中之頻寬的限制。展示對來自GPU代理之異動之頻寬限制以及處理 器(CPU)限制及對即時代理之限制。所有項目以十億位元組/秒來表達。
GPU整體異動(指派至GPU異動之最低QoS屬性)在最低臨限值位準(位準1)下可為16GB/s,但在較高位準下可迅速降低。另一方面,GPU低延時異動(較高QoS屬性)可始終具有相同頻寬限制(但所期望頻寬顯著較低)。因此,圖5之表中之前兩個項目說明使用異動源及異動屬性兩者來控制限制之實例。
直至達到位準3才限制處理器頻寬,此舉可反映處理器記憶體存取對效能之重要性。因此,例如,處理器頻寬與GPU整體頻寬受到不同限制。類似地,在此實例中,即時記憶體頻寬僅在最高位準下受限,以避免可能在即時裝置未接收充足頻寬時發生之錯誤操作。
注意,圖5之表僅為例示性實施例的可如何限制頻寬之部分實例。臨限值位準之數目以及相對及絕對頻寬限制可在其他實施例中變化。
現轉向圖6,展示系統150之一實施例的方塊圖。在所說明之實施例中,系統150包括耦接至一或多個周邊裝置154及外部記憶體12(自圖1)之積體電路10(亦自圖1)之至少一例項。提供電源供應器156,其將供電電壓供應至積體電路10以及將一或多個供電電壓供應至記憶體12及/或周邊裝置154。在一些實施例中,可包括積體電路10之一個以上例項(且亦可包括一個以上外部記憶體12)。
取決於系統150之類型,周邊裝置154可包括任何所要電路。舉例而言,在一實施例中,系統150可為行動裝置(例如,個人數位助理(PDA)、智慧型手機等),且周邊裝置154可包括用於各種類型之無線通信(諸如,wifi、藍芽、蜂巢式、全球定位系統等)的裝置。周邊裝置154亦可包括額外儲存器,包括RAM儲存器、固態儲存器,或磁碟儲存器。周邊裝置154可包括使用者介面裝置,諸如顯示螢幕(包括觸 控顯示螢幕或多點觸控顯示螢幕)、鍵盤或其他輸入裝置、麥克風、揚聲器等。在其他實施例中,系統150可為任何類型之計算系統(例如,桌上型個人電腦、膝上型電腦、工作站、迷你筆記型電腦(net top)等)。
外部記憶體12可包括任何類型之記憶體。舉例而言,外部記憶體12可為SRAM、動態RAM(DRAM),諸如同步DRAM(SDRAM)、雙資料速率(DDR、DDR2、DDR3等)SDRAM、RAMBUS DRAM等。外部記憶體12可包括一或多個記憶體模組(記憶體裝置安裝至該等模組),諸如單列記憶體模組(SIMM)、雙列記憶體模組(DIMM)等。或者,外部記憶體12可包括在堆疊式晶片或堆疊式封裝實施中安裝於積體電路10上之一或多個記憶體裝置。
對於熟習此項技術者而言,一旦已完全瞭解上述揭示內容,無數變化及修改便將變得顯而易見。預期將以下申請專利範圍解釋為涵蓋所有此等變化及修改
10‧‧‧積體電路(IC)
12‧‧‧外部記憶體
14‧‧‧記憶體控制器
16‧‧‧記憶體異動佇列
18‧‧‧頻寬管理控制器/頻寬管理單元
20‧‧‧臨限值暫存器
22‧‧‧通信網狀架構
24A‧‧‧限制器
24B‧‧‧限制器
24C‧‧‧限制器
24D‧‧‧限制器
26A‧‧‧限制器組態表(LC)
26B‧‧‧限制器組態表(LC)
26C‧‧‧限制器組態表(LC)
26D‧‧‧限制器組態表(LC)
28A‧‧‧代理
28B‧‧‧代理
28C‧‧‧代理
28D‧‧‧代理
28E‧‧‧代理
30‧‧‧處理器
32‧‧‧圖形處理單元(GPU)
34‧‧‧暫存器

Claims (20)

  1. 一種電子系統,其包含:一頻寬管理控制器,其經組態以監視該系統內由一資源所接收之異動且回應於該監視而累積一或多個度量,且其中該頻寬管理控制器經組態以指示該一或多個度量中之一第一度量超過一或多個臨限值中之對應於該第一度量的一第一臨限值;複數個代理,其經組態以將該等異動傳輸至該資源;及一通信網狀架構,其耦接於該複數個代理與該資源之間,其中該通信網狀架構包含經組態以限制該通信網狀架構上來自該等複數個代理至該資源之異動傳輸之複數個限制器,且其中該複數個限制器經組態以回應於該第一度量超過該第一臨限值之該指示而動態地修改該異動傳輸上之一或多個限制。
  2. 如請求項1之系統,其中該複數個限制器中之每一者耦接至一表,該表具有針對該一或多個臨限值中之每一者之一項目,且其中該複數個限制器經組態以將該一或多個限制動態地修改為自該表之對應於該第一臨限值之一第一項目讀取的限制。
  3. 如請求項2之系統,其中該頻寬管理控制器經組態以偵測該第一度量超過該一或多個臨限值中之一第二臨限值,且其中該複數個限制器經組態以將該一或多個限制動態地修改為自該表之對應於該第二臨限值之一第二項目讀取的限制。
  4. 如請求項1之系統,其中該頻寬管理控制器經組態以在指示該第一度量已超過該第一臨限值與指示該第一度量已返回至低於該第一臨限值之間實施滯後。
  5. 如請求項1之系統,其中該資源為一主記憶體系統。
  6. 如請求項5之系統,其中該主記憶體系統包含一或多個動態隨機 存取記憶體裝置。
  7. 一種電子系統,其包含:一記憶體控制器,其經組態以累積對應於該記憶體控制器中所接收之記憶體異動之複數個度量以存取一記憶體,該記憶體控制器在使用期間耦接至該記憶體,其中該記憶體控制器經組態以比較該複數個度量中之每一度量與對應複數個臨限值且經組態以傳達該度量已超過該複數個臨限值中之一第一臨限值;複數個代理,其經組態以產生該等記憶體異動;及一通信網狀架構,其耦接於該複數個代理與該記憶體控制器之間,其中該通信網狀架構經組態以回應於來自該記憶體控制器指示該第一臨限值已經被超過之該傳達而動態地修改一或多個網狀架構特性以限制來自該等複數個代理至該記憶體控制器之異動傳輸。
  8. 如請求項7之系統,其中該複數個度量包含該記憶體之一利用率。
  9. 如請求項8之系統,其中該複數個度量包含一平均記憶體延時。
  10. 如請求項7之系統,其中該通信網狀架構包含經組態以控制記憶體異動傳輸之複數個限制器,其中來自該複數個代理中之每一者之記憶體異動通過該複數個限制器中之至少一者,且其中藉由該複數個限制器強加之限制為回應於來自該記憶體控制器之該傳達而修改之該等網狀架構特性。
  11. 如請求項10之系統,其中該記憶體控制器經進一步耦接以自該複數個代理中之一第一代理接收該第一代理正接收不足記憶體頻寬的一指示,且其中該記憶體控制器經組態以回應於來自該第一代理之該指示而傳達至該複數個限制器中之對應於該複數個代理中之其他代理的選定限制器,以修改該等選定限制器中 之該等限制。
  12. 如請求項10之系統,其中該複數個限制器中之每一者係用對應於該複數個臨限值中之每一者的一各別限制來程式化,且其中該複數個限制器中之每一者經組態以回應於來自該記憶體控制器之指示該複數個臨限值中之一對應臨限值已被超過的該傳達而將一當前限制動態地修改為該各別限制。
  13. 如請求項10之系統,其中該複數個限制器包含經組態以限制未處理異動之數目的異動限制器。
  14. 如請求項10之系統,其中該複數個限制器包含經組態以限制隨時間傳輸異動之一速率的速率限制器。
  15. 一種頻寬管理之方法,其包含:監視自複數個代理至一資源之異動,以判定該資源之至少一第一效能度量;判定該第一效能度量超過複數個臨限值中之一第一臨限值;及回應於判定該第一效能度量超過該第一臨限值而動態地重新組態限制來自複數個代理之該等異動的複數個限制器。
  16. 如請求項15之方法,其進一步包含:判定該第一效能度量超過複數個臨限值中之一第二臨限值;及回應於該第一效能度量超過該第二臨限值而動態地重新組態該複數個限制器。
  17. 如請求項15之方法,其進一步包含:判定該第一效能度量不再超過該第一臨限值;及回應於該第一效能度量不再超過該第一臨限值而動態地重新組態該複數個限制器。
  18. 如請求項17之方法,其中該判定該第一效能度量不再超過該第一臨限值係使用滯後來執行。
  19. 如請求項15之方法,其進一步包含用對應於該複數個臨限值中之每一者之限制來程式化該複數個限制器。
  20. 如請求項15之方法,其進一步包含用該複數個臨限值來程式化一頻寬管理控制器。
TW102134358A 2012-09-24 2013-09-24 電子系統及頻寬管理之方法 TWI512474B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/625,416 US8848577B2 (en) 2012-09-24 2012-09-24 Bandwidth management

Publications (2)

Publication Number Publication Date
TW201416864A TW201416864A (zh) 2014-05-01
TWI512474B true TWI512474B (zh) 2015-12-11

Family

ID=49305141

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102134358A TWI512474B (zh) 2012-09-24 2013-09-24 電子系統及頻寬管理之方法

Country Status (3)

Country Link
US (1) US8848577B2 (zh)
TW (1) TWI512474B (zh)
WO (1) WO2014047239A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848577B2 (en) * 2012-09-24 2014-09-30 Apple Inc. Bandwidth management
US9588570B2 (en) * 2013-04-30 2017-03-07 Samsung Electronics Co., Ltd. Apparatus and method for adjusting bandwidth
US20150042641A1 (en) * 2013-08-12 2015-02-12 Travis T. Schluessler Techniques to automatically adjust 3d graphics application settings
US9971711B2 (en) * 2014-12-25 2018-05-15 Intel Corporation Tightly-coupled distributed uncore coherent fabric
US10156999B2 (en) 2016-03-28 2018-12-18 Seagate Technology Llc Dynamic bandwidth reporting for solid-state drives
JP6720824B2 (ja) * 2016-10-17 2020-07-08 コニカミノルタ株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
US9684461B1 (en) 2016-10-31 2017-06-20 International Business Machines Corporation Dynamically adjusting read data return sizes based on memory interface bus utilization
US9892066B1 (en) * 2016-10-31 2018-02-13 International Business Machines Corporation Dynamically adjusting read data return sizes based on interconnect bus utilization
TWI681362B (zh) * 2018-03-01 2020-01-01 瑞昱半導體股份有限公司 有限記憶體頻寬系統及其動態限制圖形處理器的記憶體頻寬的方法
CN110248238B (zh) * 2018-03-07 2021-12-28 瑞昱半导体股份有限公司 有限存储器频宽系统及其动态限制存储器频宽的方法
US20190324658A1 (en) * 2018-04-19 2019-10-24 Western Digital Technologies, Inc. Dynamic maximization of drive throughput while maintaining latency qos
US11209989B2 (en) 2019-09-25 2021-12-28 Western Digital Technologies, Inc. Zoned namespaces in solid-state drives
US11693472B2 (en) 2021-08-31 2023-07-04 Apple Inc. Multi-die power management in SoCs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200805076A (en) * 2006-07-12 2008-01-16 Via Tech Inc Method for link bandwidth management
US7483390B2 (en) * 2003-06-30 2009-01-27 Intel Corporation System and method for dynamically configuring and transitioning wired and wireless networks
US20120185062A1 (en) * 2011-01-18 2012-07-19 Saund Gurjeet S Fabric Limiter Circuits

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60314347T2 (de) 2002-09-30 2007-09-27 Matsushita Electric Industrial Co., Ltd., Kadoma Betriebsmittelverwaltungsgerät
US6871161B2 (en) 2003-04-04 2005-03-22 Avid Technology, Inc. Predicting performance of a set of video processing devices
JP2008515073A (ja) 2004-09-28 2008-05-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理システム及びメモリアービトレーションのための方法
US7243041B2 (en) 2004-09-30 2007-07-10 Intel Corporation GUID, PnPID, isochronous bandwidth based mechanism for achieving memory controller thermal throttling
US7765825B2 (en) 2005-12-16 2010-08-03 Intel Corporation Apparatus and method for thermal management of a memory device
GB2447688B (en) 2007-03-22 2011-05-18 Advanced Risc Mach Ltd A data processing apparatus and method for arbitrating between messages routed over a communication channel
JP5074820B2 (ja) 2007-05-22 2012-11-14 ルネサスエレクトロニクス株式会社 画像処理装置および画像処理方法
US7984250B2 (en) 2008-12-31 2011-07-19 Intel Corporation Dynamic updating of thresholds in accordance with operating conditons
US8510518B2 (en) 2010-06-22 2013-08-13 Advanced Micro Devices, Inc. Bandwidth adaptive memory compression
US9588888B2 (en) 2010-07-30 2017-03-07 Hewlett Packard Enterprise Development Lp Memory device and method for altering performance characteristic based on bandwidth demand
US8649286B2 (en) 2011-01-18 2014-02-11 Apple Inc. Quality of service (QoS)-related fabric control
US8861386B2 (en) * 2011-01-18 2014-10-14 Apple Inc. Write traffic shaper circuits
US8493863B2 (en) * 2011-01-18 2013-07-23 Apple Inc. Hierarchical fabric control circuits
US8848577B2 (en) * 2012-09-24 2014-09-30 Apple Inc. Bandwidth management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483390B2 (en) * 2003-06-30 2009-01-27 Intel Corporation System and method for dynamically configuring and transitioning wired and wireless networks
TW200805076A (en) * 2006-07-12 2008-01-16 Via Tech Inc Method for link bandwidth management
US20120185062A1 (en) * 2011-01-18 2012-07-19 Saund Gurjeet S Fabric Limiter Circuits

Also Published As

Publication number Publication date
TW201416864A (zh) 2014-05-01
WO2014047239A1 (en) 2014-03-27
US20140086070A1 (en) 2014-03-27
US8848577B2 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
TWI512474B (zh) 電子系統及頻寬管理之方法
JP6154071B2 (ja) アクティブなプロセッサに基づく動的電圧及び周波数管理
CN107466418B (zh) 用于多级别单元模式非易失性存储器的成本优化单级别单元模式非易失性存储器
US9229525B2 (en) Adaptive latency tolerance for power management of memory bus interfaces
CN110109527B (zh) 动态电压裕度恢复
CN107646106B (zh) 具有每个活动加权和多个节流下降阈值的功率管理电路
US11036412B2 (en) Dynamically changing between latency-focused read operation and bandwidth-focused read operation
TWI594115B (zh) 熱控制裝置及方法
US9727267B1 (en) Power management and monitoring for storage devices
RU2569104C2 (ru) УПРАВЛЕНИЕ СВЯЗНОЙ ИНФРАСТРУКТУРОЙ, СВЯЗАННОЕ С КАЧЕСТВОМ ОБСЛУЖИВАНИЯ (QoS)
US9396109B2 (en) Method and apparatus for DRAM spatial coalescing within a single channel
KR102553539B1 (ko) 고체 상태 드라이브에서 가비지 수집 리소스 할당을 적응시키는 메커니즘
JP6333971B2 (ja) ジェネリックホストベースのコントローラレイテンシ方法及び装置
US9990287B2 (en) Apparatus and method for memory-hierarchy aware producer-consumer instruction
US10095432B2 (en) Power management and monitoring for storage devices
US8493863B2 (en) Hierarchical fabric control circuits
CN108205478B (zh) 智能序列式小型计算机系统接口物理层功率管理
US20120185062A1 (en) Fabric Limiter Circuits
US8719506B2 (en) Push mechanism for quality of service (QoS) support in coherency port
JP2018511111A (ja) ビクティムキャッシュモードを向上させるためのプロセススケジューリング
US20220121594A1 (en) Soc architecture to reduce memory bandwidth bottlenecks and facilitate power management
US20220113967A1 (en) Accelerator fabric for discrete graphics
US8861386B2 (en) Write traffic shaper circuits
Malladi Energy proportional memory systems