TWI498734B - 用於分配記憶體階層中之資料的方法及裝置 - Google Patents

用於分配記憶體階層中之資料的方法及裝置 Download PDF

Info

Publication number
TWI498734B
TWI498734B TW102132822A TW102132822A TWI498734B TW I498734 B TWI498734 B TW I498734B TW 102132822 A TW102132822 A TW 102132822A TW 102132822 A TW102132822 A TW 102132822A TW I498734 B TWI498734 B TW I498734B
Authority
TW
Taiwan
Prior art keywords
frame data
memory
cache
integer
display
Prior art date
Application number
TW102132822A
Other languages
English (en)
Other versions
TW201416860A (zh
Inventor
Brijesh Tripathi
Peter F Holland
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 TW201416860A publication Critical patent/TW201416860A/zh
Application granted granted Critical
Publication of TWI498734B publication Critical patent/TWI498734B/zh

Links

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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/455Image or video data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/123Frame memory handling using interleaving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

用於分配記憶體階層中之資料的方法及裝置
本發明係關於電子電路,且更特定言之,係關於有效地分配一記憶體階層中之資料。
與晶片上快取記憶體相比,計算系統中之較低層級記憶體(諸如,晶片外動態隨機存取記憶體(DRAM)及硬碟機)提供相對廉價之資料儲存。然而,當服務針對一或多個軟體應用程式之資料存取請求時,較低層級記憶體之存取時間可為相當長的且影響系統效能。
一種用以改良效能之方法涉及使用一或多個快取記憶體以減小資料存取延時。雖然使用快取記憶體可改良效能,但各種問題可降低快取記憶體效能之有效性。舉例而言,當太多區塊映射至同一集合時,在集合相關型或直接映射型快取記憶體內發生衝突或碰撞未命中。該等未命中導致在彼集合內丟棄一或多個區塊。因此,系統中之給定源之平均記憶體延時可歸因於該等未命中而降級。當兩個或兩個以上源使用快取記憶體以用於資料儲存時,此問題可變得更為糟糕。舉例而言,計算系統中之視訊子系統可包括多個視訊資料源。智慧型電話或平板電腦之設計可包括使用者介面層、攝影機及視訊源(諸如,媒體播放器)。此等源中之每一者可利用儲存於記憶體中之視訊資料。若此等源中之每一者嘗試將各別資料儲存於快取記憶體中,則衝突未命中與資料收回頻率兩者可增加且藉此導致總系統效能降低。 另外,功率消耗可歸因於此等收回而增加。另外,用以將所收回之資料發送至較低層級記憶體之替代演算法及佇列的邏輯可消耗額外功率。
鑒於以上內容,需要用於有效地分配記憶體階層中之資料的方法及機制。
預期用於有效地分配記憶體階層中之資料的系統及方法。在各種實施例中,半導體晶片包括記憶體控制器及顯示控制器。該記憶體控制器可控制對記憶體(諸如,位於半導體晶片外之外部記憶體)之存取。該記憶體控制器可連接至快取記憶體。該快取記憶體可儲存自記憶體讀取之資料(諸如,對應於圖框緩衝器之視訊圖框資料)。該顯示控制器可包括一或多個內部像素處理管線。該等管線中之每一者可能夠針對各別視訊源而處理自記憶體控制器接收之視訊資料。
一給定視訊圖框可由顯示控制器處理且呈現於一各別顯示螢幕上。在處理期間,顯示控制器內之控制邏輯可將多個記憶體存取請求與快取提示資訊一起發送至記憶體控制器。對於圖框緩衝器中之視訊圖框資料而言,該快取提示資訊可在以下兩種情況之間交替:(i)指示將回應於各別請求而讀取之圖框資料儲存於快取記憶體中,及(ii)指示不將回應於各別請求而讀取之圖框資料儲存於快取記憶體中。將在使快取提示資訊交替之前發送的連貫記憶體存取請求之數目可基於以下各者中之至少一者:當前產生記憶體存取請求之一或多個內部管線中之給定者、對快取記憶體之利用率、包含快取記憶體之系統之功率效能狀態,及能夠存取快取記憶體之當前正存取快取記憶體的位於顯示控制器外部之功能區塊之數目。
此等及其他實施例將在參考以下描述及圖式之後得到進一步瞭解。
100‧‧‧快取提示
110‧‧‧顯示器
120‧‧‧快取提示資訊
122‧‧‧快取提示資訊
124‧‧‧快取提示資訊
130‧‧‧提示資訊
200‧‧‧裝置
210‧‧‧記憶體介面
212a‧‧‧記憶體控制器
212b‧‧‧記憶體控制器
214a‧‧‧快取記憶體
214b‧‧‧快取記憶體
220a‧‧‧記憶體通道
220b‧‧‧記憶體通道
220c‧‧‧記憶體通道
220d‧‧‧記憶體通道
230‧‧‧網狀架構
232‧‧‧一致性控制器
234‧‧‧系統單晶片(SOC)切換匯流條
236‧‧‧I/O切換匯流條
240‧‧‧視訊圖形控制器
250a‧‧‧處理器
250d‧‧‧處理器
252‧‧‧快取記憶體
254‧‧‧匯流排介面單元(BIU)
260‧‧‧攝影機
262‧‧‧顯示控制器
264‧‧‧快閃控制器
266‧‧‧媒體控制器
270‧‧‧I/O介面埠
300‧‧‧顯示控制器
310‧‧‧顯示管線
312‧‧‧中斷介面控制器
314‧‧‧內部像素處理管線
320‧‧‧後處理邏輯
322‧‧‧後處理邏輯
330‧‧‧顯示介面
332‧‧‧顯示介面
340‧‧‧顯示管線
350‧‧‧互連介面
400‧‧‧像素處理管線
410a‧‧‧使用者介面(UI)像素處理管線
410d‧‧‧使用者介面(UI)像素處理管線
412‧‧‧提取單元
414‧‧‧快取提示
416‧‧‧行緩衝器
418‧‧‧水平及垂直計時器
420‧‧‧CRC邏輯
430a‧‧‧視訊像素處理管線
430f‧‧‧視訊像素處理管線
432‧‧‧提取單元
434‧‧‧快取提示
436‧‧‧抖動邏輯
438‧‧‧行緩衝器
440‧‧‧水平及垂直計時器
442‧‧‧CRC邏輯
450‧‧‧互連介面
460‧‧‧調合管線
500‧‧‧定用於給定圖框緩衝器之交替式快取提示資訊的方法
600‧‧‧用於將交替式快取提示資訊用於給定圖框緩衝器之方法
圖1為用於顯示螢幕之快取提示之一般化方塊圖。
圖2為能夠將快取提示資訊用於圖形資料之裝置之一般化方塊圖。
圖3為顯示控制器之一般化方塊圖。
圖4為像素處理管線之一般化方塊圖。
圖5為用於判定用於給定圖框緩衝器之交替式快取提示資訊的方法之一項實施例的一般化流程圖。
圖6為用於將交替式快取提示資訊用於給定圖框緩衝器之方法之一項實施例的一般化流程圖。
雖然本發明易受各種修改之影響且易具有各種替代形式,但在圖式中藉由實例展示了其特定實施例,且將在本文中對其進行詳細描述。然而,應理解,該等圖式及對其之詳細描述並不意欲將本發明限於所揭示的特定形式,而正相反,本發明意欲涵蓋屬於如由附加申請專利範圍所界定之本發明之精神及範疇內的所有修改、等效物及替代例。如貫穿本申請案所使用,詞「可」係在允許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)上使用。類似地,詞「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行一或多項任務。在此等情形中,「經組態以」係對結構之廣泛敍述,其通常意謂「具有在操作期間執行該一或多項任務之電路」。因而,單元/電路/組件可經組態以甚至在該單元/電路/組件當前未接通時仍執行任務。一般而言,形成對應於「經組態以」之結構的電路可包括硬體電路。類似地,出於描述之方便性,可將各種單元/電路/組件描述為執行一或多項任務。此等描述應解譯為包括片語「經組態以」。陳述經組態以執行一或多項任務之單元/電路/組件明確地意欲不援引35 U.S.C.§ 112第六段之對彼單元/電路/組件之解譯。
在以下描述中,闡述眾多特定細節以提供對本發明之透徹理解。然而,一般熟習此項技術者應認識到,可在無此等特定細節之情況下實踐本發明。在一些例子中,未詳細展示熟知之電路、結構及技術以避免混淆本發明。
參看圖1,展示用於顯示螢幕之快取提示100之一項實施例的一般化方塊圖。在各種實施例中,顯示器110為用於行動計算器件(諸如,智慧型電話或平板電腦)中之監視器。顯示器110可為薄膜電晶體液晶顯示器(TFT-LCD)面板。或者,顯示器110可為利用有機發光二極體(OLED)或其他合適技術之監視器。另外,顯示器110可為現代TV或其他類型之電腦監視器或顯示螢幕。
對於LCD及OLED顯示器而言,使用主動式矩陣結構,其利用薄膜電晶體背板來接通及切斷個別像素。該主動式矩陣結構包括多個列線及多個行線。當選擇一列線時,行線中之每一者連接至一列像素,其中單一電晶體可用以實施該像素。一列線可包括數百至一千以上個像素。可將與圖像資訊有關之電壓值施加至行線中之各別線。此後,可取消選擇所選擇之列線。之後,可選擇下一列線。
顯示螢幕110可基於每一列線內之像素的狀態來提供影像之輸出。對應於顯示螢幕110之視訊資料可儲存於用以將視訊資料儲存於圖框緩衝器中之記憶體(諸如,晶粒外同步動態隨機存取記憶體(SDRAM))中。圖框緩衝器可儲存對應顯示螢幕之資料,諸如視訊圖框(其可包括圖形或由圖形組成)。晶粒上快取記憶體亦可用以儲存視訊資料以減小記憶體存取之延時。
顯示螢幕110可包括若干列線,其中每一列線可包括視訊資訊之數百至一千以上個像素。可將給定列線之視訊資訊劃分成數個部分。 此處,將該等部分稱作行。可藉由多種因素來設定行之數目。一個因素可為記憶體通道之數目。可將每一行指派給一各別記憶體通道。資料儲存之均勻散佈可允許將更有效技術用於視訊編碼、點陣圖形等。另一因素可為資料塊或區段之給定大小(諸如,256或512個位元組)。可以循環方式自左向右將該等區段或行指派給記憶體通道。可挑選資料散佈之方法以允許將更有效技術用於視訊處理。
當影像正呈現於顯示螢幕110上時,可選擇最頂部列線(稱作列線0)。可存取列線0上之最左行的對應資料並將其發送至圖形處理單元(GPU)以供處理或演現。將所得經演現之資料發送至顯示螢幕110以呈現。可將一或多個記憶體存取請求發送至記憶體控制器以獲得對應視訊資料。舉例而言,最左行可具有256位元組之大小,但每一記憶體存取請求處置64個位元組。因此,可使用4個記憶體存取請求來獲得整個最左行。記憶體控制器可與記憶體通道中之給定者通信以自SDRAM獲得視訊資料。或者,記憶體控制器可存取快取記憶體以獲得對應視訊資料。該快取記憶體可提供比SDRAM低之延時的存取。
當記憶體控制器接收到針對視訊資料之記憶體存取請求時,記憶體控制器亦可接收到快取提示資訊。該快取提示資訊可指示將對應視訊資料儲存於晶粒上快取記憶體中。舉例而言,提示資訊130可向記憶體控制器指示建議快取記憶體資料儲存。或者,快取提示資訊可指示將對應資料儲存於晶粒外SDRAM而非晶粒上快取記憶體中。
顯示控制器內之控制邏輯可利用所建議之快取提示資訊120至124以判定是否針對給定記憶體存取請求而將提示資訊130發送至記憶體控制器。提示資訊130向記憶體控制器提供將對應視訊資料儲存於晶粒上快取記憶體中的建議。若顯示控制器內之控制邏輯未判定將發送提示資訊130,則顯示控制器可發送建議不快取對應視訊資料之提示資訊。下文提供所建議之提示資訊120至124以及參數N及M之其他 細節。
在各種實施例中,可針對顯示螢幕110上之給定方向來設定將包括指示將資料儲存於晶粒上快取記憶體中之提示資訊的連續記憶體存取請求之數目N。舉例而言,在對於顯示螢幕110上之x方向而言N等於2的情況下,在x方向上自左向右的兩個連續或連貫記憶體存取請求可與指示將資料儲存於晶粒上快取記憶體中之提示資訊相關聯。在一些實施例中,每一記憶體存取請求可與給定區段大小(諸如,64個位元組)相關聯。資訊120可說明將資料儲存於晶粒上快取記憶體中之建議,該資料與顯示螢幕110上之在x方向上自左向右之區域相關聯。
另外,可針對顯示螢幕110上之給定方向來設定將包括指示將不快取資料之提示資訊的連續記憶體存取請求之數目M。舉例而言,在對於顯示螢幕110上之x方向而言M等於3的情況下,在x方向上自左向右之三個連續或連貫記憶體存取請求可與指示將資料儲存於晶粒上快取記憶體外部之提示資訊相關聯。資訊124可說明將資料儲存於晶粒上快取記憶體外部之建議,其中該資料與顯示螢幕110上之區域相關聯。
在一些實施例中,參數M係在參數N之後設定。在一項實例中,N=2且M=3。因此,對於顯示螢幕110上之左向右水平(x軸)方向而言,兩個連續記憶體存取請求可與將對應視訊資料儲存於晶粒上快取記憶體中之建議相關聯。之後,三個連續記憶體存取請求可與不將對應視訊資料儲存於晶粒上快取記憶體中之建議相關聯。更確切而言,視訊資料可繼續儲存於晶粒外SDRAM中。該型樣可重複,此係因為接下來的兩個連續記憶體存取請求可與將對應視訊資料儲存於晶粒上快取記憶體中之建議相關聯。然而,在其他實施例中,參數N可在參數M之後設定。在另外其他實施例中,第三可程式化參數S可判定N及M參數中之哪一者係在另一者之後設定。
類似地,可針對顯示螢幕110上之y方向來設定將包括指示將資料儲存於晶粒上快取記憶體中之提示資訊的連續記憶體存取請求之數目N。舉例而言,在對於顯示螢幕110上之y方向而言N等於3的情況下,在y方向上自上而下之三個連續記憶體存取請求可與指示將資料儲存於晶粒上快取記憶體中之提示資訊相關聯。資訊122可說明將資料儲存於晶粒上快取記憶體中之建議,該資料與顯示螢幕110上之在y方向上自上而下之區域相關聯。
另外,可針對顯示螢幕110上之y方向來設定將包括指示將資料儲存於晶粒上快取記憶體外部之提示資訊的連續記憶體存取請求之數目M。舉例而言,在對於顯示螢幕110上之y方向而言M等於2的情況下,在y方向上自上而下之兩個連續記憶體存取請求可與指示不將資料儲存於晶粒上快取記憶體中之提示資訊相關聯。資訊124可說明將資料儲存於晶粒上快取記憶體外部之建議,該資料與顯示螢幕110上之區域相關聯。y方向或垂直方向亦可具有如較早關於水平方向所描述之相關聯之S參數。
應注意,在各種實施例中,當鄰近資料區塊出現在顯示螢幕上時,參數N及M可對應於該等資料區塊。在一些實施例中,此情形可對應於連貫讀取存取。舉例而言,若使用N=3來指示需要快取,則由N參數中之「3」所描述之連貫區塊可指代顯示器上之3個鄰近區塊一而不管對此等3個區塊之讀取存取自身是否為連貫的。在其他狀況下,該等參數可指代存取自身一而不管連貫讀取存取是否指代顯示器上之鄰近區塊。預期所有此等實施例。為易於論述,該等參數在此處將通常指代讀取存取自身且可假定連貫讀取通常指代顯示器上之鄰近區塊。然而,如上文所提到,本文中所描述之方法及機制並不意欲受此論述限制。
顯示控制器內之控制邏輯可使用資訊120至124來判定是否將提 示資訊130發送至記憶體控制器以指示建議對與記憶體存取請求相關聯之視訊資料的快取記憶體資料儲存。舉例而言,對於顯示螢幕110上之給定區段(諸如,64位元組區段)而言,若資訊120與資訊122兩者與該區段相關聯,則存在重疊。回應於判定此重疊,控制邏輯可將提示資訊130發送至記憶體控制器。
在讀取給定視訊圖框之視訊資料的同時使快取提示資訊交替可使圖框提取序列中之延時尖峰平坦且亦可減小峰值功率消耗尖峰。舉例而言,回應於判定將減小功率消耗,可將數目N設定為至少等於用以讀取顯示螢幕110之整個列線之圖框資料的記憶體存取請求之數目的值。此類型之設定可跨越顯示螢幕110而產生資訊130之條紋。回應於判定將減小記憶體存取延時,可將數目N及M設定為小於用以讀取各別顯示器之整個列線之圖框資料的記憶體存取請求之數目的各別值。此類型之設定可跨越顯示器110而產生資訊130之棋盤狀圖案。
繼續對顯示控制器內之控制邏輯的以上描述,控制邏輯可不判定上述重疊。若不存在重疊,則可將建議在晶粒上快取記憶體外部之資料儲存的提示資訊發送至記憶體控制器。可將x方向之資訊120抽象地視為藍色。可將y方向之資訊122抽象地視為黃色。可將x方向與y方向兩者之資訊124抽象地視為透明色。當對於顯示螢幕110上之給定區段而言資訊120及資訊122重疊時,產生綠色。當產生綠色時,可將提示資訊130發送至記憶體控制器。
可存取及處理緊接最頂部列線0內之最左行之第二行的資料。再次,在一些實施例中,行大小可大於記憶體存取大小。對於256個位元組之行大小而言,使用4個64位元組記憶體存取請求來獲得相關聯之視訊資料。可將所得經處理之資料發送至顯示螢幕110以呈現。再次,可將記憶體存取請求發送至記憶體控制器以獲得對應視訊資料。在發送記憶體存取請求之前,顯示控制器內之控制邏輯可自x方向及y 方向之所建議資訊120至124判定是否將與記憶體存取請求一起發送提示資訊130。
當已存取及處理最頂部列線0之視訊資料時,取消選擇列線0且選擇位於列線0下方之列線1。此後,針對列線1而重複關於列線0所描述之資料存取步驟。此後,針對列線2而重複該等步驟,等等,直至到達顯示螢幕110之底部為止。以此方式,用於待呈現於顯示螢幕110上之整個視訊圖框的快取提示資訊並非恆定。如所展示,顯示螢幕110上之棋盤形區域而非整個顯示螢幕110可與提示資訊130相關聯。
可針對x方向及y方向中之每一者來改變參數N及M。舉例而言,可設定參數N及M以建議第一列線使其相關聯之視訊資料儲存於晶粒上快取記憶體中,而第二列線使其相關聯之視訊資料儲存於晶粒上快取記憶體外部(諸如,儲存於晶粒外SDRAM中)。以此方式,跨越顯示螢幕110而產生與自顯示控制器發送至記憶體控制器之提示資訊130相關聯之區域的條紋而非棋盤形圖案。跨越顯示螢幕110而產生與提示資訊130相關聯之區域之條紋可降低總功率消耗。跨越顯示螢幕110而產生與提示資訊130相關聯之區域之棋盤形圖案可減小總存取延時。
參看圖2,展示說明裝置200之一項實施例之一般化方塊圖,該裝置200能夠將快取提示資訊用於圖形資料。裝置200包括多個功能區塊或單元。在一些實施例中,多個功能單元為諸如系統單晶片(SOC)之積體電路(IC)上的個別晶粒。在其他實施例中,多個功能單元為諸如多晶片模組(MCM)之封裝內的個別晶粒。在另外其他實施例中,多個功能單元為印刷電路板上之個別晶粒或晶片。多個功能區塊或單元可各自能夠存取共用記憶體。
在各種實施例中,裝置200為在單一半導體晶粒上包括多種類型之IC設計的SOC,其中每一IC設計提供單獨功能性。亦可將裝置200 上之IC設計稱作裝置200上之功能區塊。傳統上,該等類型之IC設計或功能區塊中之每一者可已製造於單獨矽晶圓上。在所說明之實施例中,裝置200包括多個IC設計;用於高階互連及晶片通信之網狀架構230、記憶體介面210及各種輸入/輸出(I/O)介面270。為易於說明,未展示時脈源(諸如,鎖相迴路(PLL))及至少用於功率管理之集中式控制區塊。
裝置200內之多個IC設計可包括各種類比、數位、混合信號及射頻(RF)區塊。舉例而言,裝置200可包括一或多個處理器250a至250d,該一或多個處理器250a至250d具有至少包括快取記憶體252之支援快取記憶體階層。在一些實施例中,快取記憶體252可為用於處理器250a至250d之共用層2(L2)快取記憶體。另外,多個IC設計可包括顯示控制器260、快閃記憶體控制器264及媒體控制器266。另外,多個IC設計可包括視訊圖形控制器240及與顯示器及攝影機子系統(諸如,攝影機260)之即時記憶體效能相關聯的一或多個處理區塊。
任何即時記憶體周邊處理區塊可包括影像調合器能力及其他攝影機影像處理能力,如此項技術中所熟知。裝置200可將與非即時記憶體效能相關聯之處理區塊(諸如,媒體控制器266)分組,以用於影像按比例調整、旋轉及色彩空間轉換、經編碼電影之加速視訊解碼、音訊處理等。單元260及266可包括類比及數位編碼器、解碼器及其他信號處理區塊。在其他實施例中,除所展示之區塊之外或代替所展示之區塊,裝置200可包括其他類型之處理區塊。
在各種實施例中,網狀架構230提供裝置200之頂層互連。舉例而言,對於裝置200內之各種請求者,可存在至快取記憶體一致性控制器232之連接。請求者可為裝置200上之多個IC設計中之一者。快取記憶體一致性控制器232可向多個IC設計提供共用記憶體(諸如,晶片外動態隨機存取記憶體(DRAM))中之給定資料區塊之一致資料值。一 致性控制器232可將快取記憶體一致性協定用於至及自記憶體介面210及在裝置200上之多個IC設計中之一或多個快取記憶體的記憶體存取。快取記憶體一致性協定之實例包括具有修改(M)、自有(O)、獨佔(E)、共用(S)及無效(I)狀態之MOESI協定。
在一些實施例中,可提供用於視訊圖形控制器240內之一或多個圖形處理單元(GPU)之至一致性控制器232的一個請求者連接、用於處理器核心250a至250d之一個請求者連接及用於裝置200上之多個IC設計中之剩餘者及I/O介面埠270的一個請求者連接。SOC切換匯流條(switchbar)234可用以聚合來自此等剩餘多個IC設計之訊務。
在各種實施例中,不同類型之訊務可獨立地流經網狀架構230。可藉由允許單一實體網狀架構匯流排包括數個覆疊虛擬通道或專用源及目的地緩衝器(每一者攜載不同類型之訊務)來實現獨立流。可在不同通道中之異動之間無相依性的情況下對每一通道獨立地進行流控制。
記憶體介面210可包括用於晶片外記憶體(諸如,SDRAM)之一或多個記憶體控制器及一或多個快取記憶體。該等快取記憶體可用以減少對記憶體頻寬及平均功率消耗之需求。在各種實施例中,記憶體介面210包括記憶體控制器212a至212b及快取記憶體214a至214b。在一些實施例中,可經由兩個對稱之匯流排類別(諸如,左匯流排類別及右匯流排類別)來投送匯流排訊務。因此,可使用兩個記憶體控制器212a至212b及兩個快取記憶體214a至214b。儘管展示了兩個記憶體控制器212a至212b及兩個快取記憶體214a至214b,但在各種其他實施例中,可使用單一記憶體控制器及單一快取記憶體。
如所展示,在一些實施例中,記憶體控制器212a至212b可能並非裝置200內之一致性點,此係因為記憶體控制器212a至212b與一致性控制器232分離。此分離可允許將相關聯之系統層級快取記憶體(諸 如,快取記憶體214a至214b)插入於至記憶體之路徑中。快取記憶體214a至214b可在邏輯上位於一致性控制器232與記憶體控制器212a至212b之間。另外,快取記憶體214a至214b可不參與快取記憶體一致性協定。在其他實施例中,記憶體介面210可包括基於目錄之一致性協定,該協定導致一致性點可位於記憶體介面210內。在此等實施例中,快取記憶體214a至214b可參與快取記憶體一致性協定。
可由裝置200上之多個IC設計中之每一者來使用快取記憶體214a至214b。快取記憶體214a至214b之分配策略可為可程式化的。亦可在同步RAM(SRAM)模式中使用快取記憶體214a至214b以用於系統開機及系統除錯。一或多個記憶體通道220a至220d可連接至記憶體介面210。
快取記憶體214a至214b可儲存一或多個區塊,該一或多個區塊中之每一者為儲存於系統記憶體中之對應位址處之資料的複本。如本文中所使用,「區塊」為儲存於相連記憶體位置中之位元組之集合,該等相連記憶體位置被視為用於一致性目的之單元,但快取記憶體214a至214b可不參與快取記憶體一致性協定。如本文中所使用,術語「快取區塊」、「區塊」、「快取行」及「行」係可互換的。區塊中之位元組之數目可根據設計選擇而變化,且可為任何大小。作為一實例,可使用64位元組之區塊。
記憶體通道220a至220d中之每一者可為至記憶體(諸如,SDRAM)之單獨介面。記憶體控制器212a至212b可包括用於將記憶體請求排入佇列之請求佇列。記憶體控制器212a至212b亦可包括用於支援用以介接至記憶體通道220a至220d之給定協定的邏輯。該協定可判定用於資訊傳送之值,諸如每時脈循環之資料傳送之數目、信號電壓位準、信號時序、信號及時脈相位及時脈頻率。協定實例包括DDR2(雙資料速率,版本2)SDRAM、DDR3 SDRAM、GDDR4(圖形 雙資料速率,版本4)SDRAM,及GDDR5(圖形雙資料速率,版本5)SDRAM。
在記憶體介面210及一致性控制器232之組合與裝置200之剩餘部分(包括多個IC設計以及切換匯流條234及236)之間的介面包括多個匯流排。非同步記憶體請求、回應、窺探、窺探回應及輸入/輸出(I/O)異動在此介面處依據時間關係為可見的。
顯示控制器262將所演現之圖形輸出資訊發送至一或多個顯示器件。可藉由顯示控制器262、藉由視訊圖形控制器240或藉由控制器262與240兩者來執行該資訊之演現。或者,顯示控制器262可將圖形輸出資訊發送至視訊圖形控制器240以輸出至一或多個顯示器件。該圖形輸出資訊可對應於圖框緩衝器,該等圖框緩衝器係經由至視訊圖形控制器240內之GPU之記憶體空間的記憶體映射來存取。該等記憶體映射可在位址轉譯器中儲存並更新。自儲存於晶粒外SDRAM或晶粒上快取記憶體214a至214b中之圖框緩衝器所讀取的視訊資料可至少包括螢幕上之每一像素的色彩值。
顯示控制器262可包括一或多個顯示管線。每一顯示管線可將所演現之圖形資訊發送至單獨顯示器。舉例而言,可使用位於包括裝置200之計算器件內部的顯示面板。另外,亦可至少支援網路連接之顯示器。顯示控制器262內之與單獨顯示螢幕相關聯之每一顯示管線可包括一或多個內部像素處理管線。簡短地提供對該等內部像素處理管線之進一步描述。
在一或多個顯示管線內之內部像素處理管線中之每一者可獨立地及同時地存取儲存於記憶體中之各別圖框緩衝器。儘管快取記憶體214a至214b可減小記憶體存取請求之平均延時,但存取各別圖框緩衝器之多個源可增加衝突未命中之數目且增加快取記憶體214a至214b中之資料收回頻率。快取提示資訊可在圖框緩衝器內交替,而非使給定 源之整個圖框緩衝器指派有共同快取提示資訊。舉例而言,可至少以源為基礎來使用較早所描述之參數N、M及S。
在各種實施例中,內部像素處理管線中之每一者可具有各別N、M及S參數。在其他實施例中,快取提示資訊之精細度可較不精細且針對包括該等內部像素處理管線之顯示管線中的每一者來設定。在此等狀況下,給定顯示管線之N、M及S參數可與該給定顯示管線內之一或多個內部像素處理管線中之每一者相關聯。可用於設定N、M及S參數之因素可包括:使用者利用率,諸如功率效能狀態;作用中源之數目;及所量測之快取記憶體利用率。
在一些實施例中,用於顯示控制器262之器件驅動程式可設定參數N、M及S。此等值可儲存於顯示控制器262內之組態暫存器中。在其他實施例中,軟體可將快取提示資訊提供至快取記憶體214a至214b之快取控制器。不管快取提示資訊以及N、M及S參數是儲存於顯示控制器262內抑或儲存於快取記憶體214a至214b之快取控制器內,該快取提示資訊均可包括諸如分配正常、分配棘手、解除分配、不分配等之資訊。
可回應於判定源具有重新使用其圖框緩衝器中之資料的高機率來使用分配正常資訊。舉例而言,顯示螢幕可為閒置的;瀏覽使用狀況預測在每秒30個圖框之視訊播放的每隔一個圖框期間無使用者互動之長久暫停,等等。顯示螢幕之再新率可為每秒60個圖框,因此使用者在瀏覽期間讀取搜尋結果可在顯示螢幕上引起對更新之長久暫停。在分配正常狀態下儲存於快取記憶體214a至214b中之快取資料區塊可藉由裝置200上之其他源而自快取記憶體214a至214b收回。分配棘手快取提示資訊可導致所儲存之資料歸因於由裝置200上之其他源進行的快取記憶體使用而免除收回。在一些實施例中,給定持續時間可與快取記憶體214a至214b中之快取區塊的分配棘手狀態相關聯。
可以整個圖框緩衝器為基礎在給定源內提供快取提示資訊。裝置200之全系統狀態(諸如,功率效能狀態)之知識可用以判定快取提示資訊。若一或多個內部像素處理管線包括用於提供快取提示資訊之機制,則可藉由控制邏輯將此資訊與N、M及S參數進行組合。該組合可產生快取提示資訊之中間結果以發送至記憶體控制器212a至212b。該中間結果可在某種基礎上具有比整個圖框緩衝器更精細之精細度。再次參看圖1,建議將視訊資料儲存於晶粒上快取記憶體中之快取提示資訊130可與條紋、棋盤狀形成物或顯示螢幕110之其他區域相關聯,而非與整個顯示螢幕110相關聯。對快取提示資訊130之陰影區域的選擇可基於效能及功率消耗取捨、全系統狀態、快取記憶體利用率等。
返回至圖2且繼續組合快取提示資訊之以上描述,中間結果可包括較早所描述之已列出之快取提示資訊中之一或多者,諸如分配正常等。記憶體控制器212a至212b可將控制邏輯中之中間結果與其他因素組合以產生最終結果。若記憶體控制器212a至212b中之控制邏輯判定相關聯之視訊資料將儲存於快取記憶體214a至214b而非晶粒外SDRAM中,則可將該最終結果發送至快取記憶體214a至214b之快取控制器。在提供將N、M及S參數用於設定快取提示資訊之方法的細節之前,提供對裝置200之其他組件的進一步描述。
處理器250a至250d中之每一者可包括快取記憶體子系統之一或多個核心及一或多個層級。每一核心可支援軟體處理程序之一或多個執行緒之無序執行且包括多級管線。處理器250a至250d中之每一者可包括用於根據預定義之通用指令集來執行指令的電路。舉例而言,可選擇PowerPC®指令集架構(ISA)。或者,可選擇ARM®、x86®、x86-64®、Alpha®、MIPS®、PA-RISC®、SPARC®或任何其他指令集架構。
通常,處理器250a至250d可包括快取記憶體之多個晶粒上層級(L1、L2、L3等)以用於存取資料及指令。若在晶粒上快取記憶體中或在晶粒外快取記憶體252中未發現所請求之區塊,則可產生針對未命中區塊之讀取請求並將該請求傳輸至記憶體介面210或傳輸至由快閃控制器264控制之晶粒上快閃記憶體(未圖示)。該快閃記憶體可為由快閃記憶體單元之陣列形成的非揮發性記憶體區塊。或者,記憶體250可包括其他非揮發性記憶體技術。匯流排介面單元(BIU)254可提供至少處理器250a至250d之記憶體存取請求及回應。
處理器250a至250d可與諸如以下各者之其他處理區塊共用經由記憶體介面210存取之晶片上快閃記憶體及晶片外DRAM:圖形處理單元(GPU)、特殊應用積體電路(ASIC),及其他類型之處理器核心。因此,典型SOC設計利用加速引擎或加速度計,以有效地協調記憶體存取且支援處理區塊與周邊器件之間的一致性異動。在包括多個處理器及處理區塊之SOC設計中,此等組件彼此通信以控制對共用資源之存取。網狀架構230中之一致性控制器232可管理記憶體一致性。
裝置200上之其他處理器核心可不包括處理器250a至250d之鏡射矽影像。此等其他處理區塊可具有不同於由處理器250a至250d使用之微架構的微架構。舉例而言,其他處理器可具有提供計算密集型任務之高指令輸送量的微架構,諸如單指令多資料(SIMD)核心。SIMD核心之實例包括圖形處理單元(GPU)、數位信號處理(DSP)核心或其他核心。舉例而言,視訊圖形控制器240可包括用於演現遊戲之圖形、使用者介面(UI)效應及其他應用程式之一或多個GPU。
裝置200可包括用於即時記憶體效能之處理區塊,諸如攝影機260及顯示控制器262,如較早所描述。另外,裝置200可包括用於非即時記憶體效能之用於影像按比例調整、旋轉及色彩空間轉換、經編碼電影之加速視訊解碼、音訊處理等之處理區塊。媒體控制器266為 一項實例。I/O介面埠270可包括此項技術中熟知之用於以下各者中之一或多者的介面:通用I/O(GPIO)、通用串列匯流排(USB)、通用非同步接收器/發射器(uART)、FireWire介面、乙太網路介面、類比轉數位轉換器(ADC)、DAC等。
現轉向圖3,展示顯示控制器300之一項實施例之一般化方塊圖。顯示控制器300包括一互連介面350以及兩個顯示管線310及340。儘管展示了兩個顯示管線,但顯示控制器300可包括另一數目個顯示管線。該等顯示管線中之每一者可與一單獨顯示螢幕相關聯。舉例而言,顯示管線310可將所演現之圖形資訊發送至內部顯示面板。顯示管線340可將所演現之圖形資訊發送至網路連接之顯示器。顯示螢幕之其他實例亦係可能的且係預期的。
互連介面350可包括用於在顯示管線310及340與高階網狀架構之間投送信號及封包的多工器及控制邏輯。該等顯示管線中之每一者可包括中斷介面控制器312。該中斷介面控制器312可包括用以擴展源或外部器件之數目以產生待向內部像素處理管線314呈現之中斷的邏輯。控制器312可提供編碼方案、用於儲存中斷向量位址之暫存器及用於檢查、啟用及應答中斷之控制邏輯。中斷之數目及選定協定可為可組態的。在一些實施例中,控制器312使用AMBA® AXI(進階可延伸介面)規格。
顯示控制器262內之每一顯示管線可包括一或多個內部像素處理管線314。該等內部像素處理管線314可包括用於處理及顯示使用者介面(UI)層之一或多個ARGB(α、紅、綠、藍)管線。該等內部像素處理管線314可包括用於處理及顯示諸如YUV內容之視訊內容的一或多個管線。在一些實施例中,該等內部像素處理管線314中之每一者包括用於在將圖形資訊作為輸出而發送至各別顯示器之前調合該資訊的調合電路。
層可指代呈現層。呈現層可由用以界定待向使用者呈現之一或多個影像的多個軟體組件組成。UI層可包括用於至少管理視覺佈局及樣式且組織瀏覽、搜尋及所顯示資料的組件。呈現層可與處理程序組件互動以用於配合使用者互動,且亦與商業或應用層及資料存取層互動以形成總體解決方案。然而,該等內部像素處理管線314處置該解決方案之UI層部分。
YUV內容為由三個單獨信號組成的一種類型之視訊信號。一個信號係用於明度或亮度。兩個其他信號係用於色度或色彩。YUV內容可替代傳統之複合視訊信號。呈DVD格式之MPEG-2編碼系統使用YUV內容。內部像素處理管線314處置YUV內容之演現。簡短地提供對內部像素處理管線之進一步描述。
在各種實施例中,內部像素處理管線314內之管線中的每一者可具有各別N、M及S參數。在其他實施例中,快取提示資訊之精細度可較不精細且針對顯示管線310及340中之每一者來設定。可用於設定SN、M及S參數之因素可包括使用者利用率,諸如功率效能狀態;作用中源之數目;及所量測之快取記憶體利用率。
顯示管線310可包括後處理邏輯320。可將後處理邏輯320用於色彩管理、環境自適應性像素(AAP)修改、動態背光控制(DPB)、面板γ校正及抖動。顯示介面330可處置用於與內部面板顯示器通信之協定。舉例而言,可使用行動產業處理器介面(MIPI)顯示器串列介面(DSI)規格。或者,可使用4-單工通道嵌入式顯示埠(eDP)規格。
顯示管線340可包括後處理邏輯322。可將後處理邏輯322用於支援使用5分接頭垂直、9分接頭水平、16相位濾波器達成之按比例調整。後處理邏輯322亦可支援色度子取樣、抖動處理,且使用ARGB888(α、紅、綠、藍)格式或YUV420格式寫回至記憶體中。顯示介面332可處置用於與網路連接之顯示器通信的協定。可使用直接記 憶體存取(DMA)介面。
現轉向圖4,展示在顯示管線內之像素處理管線400之一項實施例的一般化方塊圖。顯示控制器內之顯示管線中之每一者可包括像素處理管線400。該等管線400可包括使用者介面(UI)像素處理管線410a至410d及視訊像素處理管線430a至430f。
互連介面450可充當至相關聯之顯示管線內之其他區塊的主控及從屬介面。可發出讀取請求且可接收傳入資料。將管線410a至410d及管線430a至430f之輸出發送至調合管線460。該調合管線460可將給定像素處理管線之輸出與其他作用中像素處理管線之輸出調合。
UI管線410a至410d可用以向使用者呈現使用者介面之一或多個影像。提取單元412可發出針對視訊資料之讀取請求且接收回應。快取提示區塊414可包括用於UI管線410a至410d中之相關聯者的各別N、M及S參數。快取提示區塊414可包括用於儲存及更新N、M及S參數之可程式化組態暫存器。或者,快取提示區塊414可位於互連介面450內。在另外其他實施例中,N、M及S參數可儲存於像素處理管線400外部。在一些實施例中,可將N、M及S參數之單一集合用於所有管線410a至410d。在另外其他實施例中,可將N、M及S參數之單一集合用於所有管線410a至410d及管線430a至430f。
行緩衝器416可儲存對應於各別顯示螢幕之列線之傳入視訊資料。水平及垂直計時器418可維持在對應顯示器件之水平及垂直維度上的像素脈衝計數。垂直計時器可維持行計數且將當前行計數提供至比較器。垂直計時器亦可在到達行尾(EOL)時發送指示。
循環冗餘檢查(CRC)邏輯區塊420可在管線結尾執行驗證步驟。該驗證步驟可提供用於驗證視訊輸出之正確性的簡單機制。可在測試或驗證模式中使用此步驟以判定各別顯示管線在不必附接外部顯示器之情況下是否為操作的。可在重設或重新啟動時初始化CRC暫存器。 在一些實施例中,CRC暫存器為32位元暫存器。當被啟用時,進行CRC產生直至下次發生重設或重新啟動為止。可在任何時間讀取CRC暫存器但為保證CRC內容未被逐圖框地損毀,可在每當發生重新啟動時拍攝CRC暫存器之快照。可在產生下一圖框之簽名時讀取CRC快照暫存器之內容。
在視訊管線430a至430f內,區塊432、434、438、440及442可提供對應於針對UI管線內之區塊412、414、416、418及420之描述的功能性。提取單元432提取呈各種YcbCr格式之視訊圖框資料。抖動邏輯436將隨機雜訊(抖動)插入至樣本中。區塊440中之計時器及邏輯在垂直方向與水平方向兩者上對資料進行按比例調整。
現參看圖5,展示一種用於判定用於給定圖框緩衝器之交替式快取提示資訊的方法500之一項實施例的一般化流程圖。出於論述之目的,以順序次序來展示此實施例中之步驟。然而,在其他實施例中,一些步驟可以不同於所展示之次序的次序發生,可同時執行一些步驟,可將一些步驟與其他步驟組合,且一些步驟可不存在。
在區塊502中,藉由計算系統來處理一或多個軟體應用程式之指令。在一些實施例中,計算系統為嵌入式系統。可針對視訊資料儲存而將一或多個顯示螢幕中之給定顯示螢幕作為單一實體來處置。然而,在一些狀況下,可關於視訊資料儲存而將該給定顯示螢幕劃分成多個部分。舉例而言,展示於螢幕上之媒體播放器之邊界在相當長之時間內不改變,而視訊視窗部分可在不同時間點移動及凍結。該邊界可包括按鈕、色彩方案及在執行媒體播放器應用程式時不改變的紋理。類似地,繪圖應用程式、電腦遊戲等之邊界可包括具有在相當大量之時間內不改變之視覺特性的邊界。然而,內部視窗可包括在運動時間與閒置時間之間交替的圖形資訊。邊界之尺寸可為已知的。因此,可將整個顯示螢幕劃分成多個部分,諸如與邊界相關聯之部分及 與內部視窗相關聯之部分。
若判定一或多個顯示螢幕中之給定顯示螢幕將劃分成多個部分(條件區塊504),則在區塊506中,劃分該顯示螢幕。可基於當前執行之軟體應用程式以及相關聯之視覺邊界及內部視窗之尺寸來劃分顯示螢幕。在區塊508中,可選擇顯示螢幕中之多個部分中之給定部分。方法500之控制流程接著移至區塊510。若判定一或多個顯示螢幕中之給定顯示螢幕將不劃分成多個部分(條件區塊504),則方法500之控制流程移至區塊510。
在區塊510中,可設定將包括指示將資料儲存於晶粒上快取記憶體中之提示資訊的連續記憶體存取請求之數目N。如較早所描述,可針對顯示螢幕上之多個方向來設定數目或參數N。舉例而言,可針對左至右x方向(水平方向)來設定第一參數N。另外,可針對上至下y方向(垂直方向)來設定第二參數N。若劃分顯示螢幕,則可針對選定部分內之此等方向來設定此等參數。或者,若未劃分顯示螢幕,則可針對整個顯示螢幕之此等方向來設定此等參數。
在區塊512中,可設定將包括指示將資料儲存於晶粒上快取記憶體外部之提示資訊的連續記憶體存取請求之數目M。如較早所描述,可針對顯示螢幕上之多個方向(諸如,水平方向及垂直方向)來設定參數M。若劃分顯示螢幕,則可針對選定部分來設定多個參數。在一些實施例中,參數M係在參數N之後設定。然而,在其他實施例中,參數N可在參數M之後設定。在另外其他實施例中,第三可程式化參數S可判定N及N參數中之哪一者係在另一者之後設定。
在各種實施例中,可設定N、M及S參數之初始值。可藉由軟體(諸如,用於顯示控制器之器件驅動程式)將此等初始值寫入至組態暫存器中。可由顯示控制器內之硬體電路來讀取該等組態暫存器以用於判定待與相關聯之記憶體存取請求一起發送至記憶體控制器之快取提 示資訊的類型。可在應用程式執行於計算系統(諸如,嵌入式系統)上時改變該等參數。在其他實施例中,最初可未設定該等參數,但可在應用程式執行於計算系統上時改變該等參數。
用於顯示控制器之器件驅動程式可包括使用者模式組件與核心模式組件兩者。圖形硬體廠商可供應使用者模式圖形驅動程式及核心模式圖形驅動程式。作業系統(OS)可載入用於每一應用程式之使用者模式驅動程式的單獨複本。使用者模式圖形驅動程式可為藉由對應之應用程式設計介面(API)而載入OS圖形API中的動態連結程式庫(DLL)。或者,執行階段程式碼可用以安裝使用者模式圖形驅動程式。
在各種實施例中,對應圖形程式庫及驅動程式可判定N、M及S視訊資料快取提示資訊並將其自軟體應用程式傳遞至計算系統,諸如傳遞至顯示控制器內之組態暫存器。可用於設定N及M參數之因素可包括:使用者利用率,諸如功率效能狀態;用於各別視訊資料之作用中源之數目;及所量測之快取記憶體利用率。在一些狀況下,使用者模式圖形驅動程式可為對Direct3D及OpenGL軟體開發套件(SDK)之擴充。因此,可經由標準介面而使得能達成視訊資料快取提示資訊之判定及傳遞。
若未到達最後部分(條件區塊514),則方法500之控制流程返回至區塊508。否則,在區塊516中,當在記憶體存取期間根據N及M參數來使用快取提示資訊時,將所演現之視訊資料發送至顯示螢幕。
現參看圖6,展示一種用於將交替式快取提示資訊用於給定圖框緩衝器之方法600之一項實施例的一般化流程圖。出於論述之目的,以順序次序來展示此實施例中之步驟。然而,在其他實施例中,一些步驟可以不同於所展示之次序的次序發生,可同時執行一些步驟,可將一些步驟與其他步驟組合,且一些步驟可不存在。
在區塊602中,判定顯示螢幕之將使資料得到處理之當前部分。舉例而言,若螢幕將要再新,則該當前部分可為顯示螢幕之最頂部列線之最左資料區段。若處理業已開始,則當前部分可為顯示螢幕上之別處。在區塊604中,開始處理程序以自記憶體讀取給定圖框緩衝器之視訊資料。藉由圖形處理邏輯來處理或演現該視訊資料且將該視訊資料輸出至顯示螢幕。
在區塊606中,判定對應於給定部分內之資料之給定記憶體存取請求是否與將快取該資料之指示相關聯。舉例而言,當藉由控制邏輯加以組合時,水平方向與垂直方向兩者之先前所描述之參數N、M及S可指示自記憶體讀取之視訊資料將儲存於快取記憶體中。另外,參數N、M及S可與給定源(諸如,使用者介面層或YUV視訊內容源)相關聯。另外,參數N、M及S可與特定軟體應用程式相關聯。再次參看圖1,存在顯示螢幕110之藉由用於快取提示資訊130之陰影所標記的區域。此等區域為顯示螢幕110之建議對應視訊資料儲存於晶粒上快取記憶體中的部分。待發送至記憶體控制器之給定記憶體存取請求可與對應於顯示螢幕110之此等陰影區域的視訊資料相關聯。
返回至圖6中之方法600,若指示為針對給定記憶體存取請求而建議快取相關聯之視訊資料的來自控制邏輯之輸出(條件區塊608),則在區塊610中,可將該給定記憶體存取請求與將對應資料儲存於各別晶粒上快取記憶體中之快取提示資訊一起發送至記憶體控制器。若指示為不針對給定記憶體存取請求而建議快取相關聯之視訊資料的來自控制邏輯之輸出(條件區塊608),則在區塊612中,可將該給定記憶體存取請求與將對應資料儲存於各別晶粒上快取記憶體外部之快取提示資訊一起發送至記憶體控制器。
記憶體控制器接收該給定記憶體存取請求與相關聯之快取提示資訊兩者。然而,記憶體控制器可不遵循所接收之快取提示資訊。該 接收之快取提示資訊可充當對記憶體控制器之建議而非充當指示詞。可將所接收之快取提示資訊輸入至記憶體控制器內之控制邏輯且用以判定將相關聯之視訊資料儲存於何處。所接收之快取提示資訊可為用以做出判定之若干因素中之一者。
不管部分為整個顯示螢幕抑或整個顯示螢幕之一部分,均通常使用多個記憶體存取請求來存取該部分之對應視訊資料。若尚未到達該部分之最後記憶體存取請求(條件區塊614),則方法600之控制流程返回至區塊606。若已到達該部分之最後記憶體存取請求(條件區塊614)且若已到達該最後部分,則在區塊618中,接著完成當前影像在顯示螢幕上之呈現。可在下一圖框中呈現相同或新影像且可重複方法600之步驟。否則,方法600可返回至區塊604。
在各種實施例中,軟體應用程式之程式指令可用以實施先前所描述之方法及/或機制。該等程式指令可以高階程式設計語言(諸如,C)描述硬體之行為。或者,可使用硬體設計語言(HDL),諸如Verilog。可將該等程式指令儲存於電腦可讀儲存媒體上。眾多類型之儲存媒體係可用的。該儲存媒體可在使用期間由電腦存取以將程式指令及伴隨之資料提供至電腦以用於程式執行。在一些實施例中,合成工具讀取程式指令以便自合成程式庫產生包含閘清單之接線對照表。
儘管上文已相當詳細地描述了實施例,但熟習此項技術者一旦完全瞭解以上揭示內容便將明顯看出眾多變化及修改。預期將以下申請專利範圍解譯為涵蓋所有此等變化及修改。
100‧‧‧快取提示
110‧‧‧顯示器
120‧‧‧快取提示資訊
122‧‧‧快取提示資訊
124‧‧‧快取提示資訊
130‧‧‧提示資訊

Claims (13)

  1. 一種用於分配一記憶體階層中之資料的裝置,其包含:一記憶體控制器,其經組態以控制對一記憶體之存取;一快取記憶體,其經組態以儲存自該記憶體讀取之資料;及一顯示控制器;其中當產生圖框資料讀取請求時,該顯示控制器經組態以利用指示將如何產生該等圖框資料讀取請求中之兩者或兩者上之一序列的參數,其中該等圖框資料讀取請求中之至少一者經產生而具有指示將快取對應圖框資料之一快取提示,且該等圖框資料讀取請求中之至少一者經產生而具有指示將不快取對應圖框資料之一快取提示;其中該等參數包含至少第一整數N及第一整數M,其中N指示多少個順序圖框資料讀取請求將包括指示將快取對應圖框資料之一快取提示,且其中M指示在該N個讀取請求之後多少個順序圖框資料讀取請求將包括指示將不快取對應圖框資料之一快取提示。
  2. 如請求項1之裝置,其中該等順序圖框資料讀取請求對應於沿一顯示器之一x軸抑或一顯示器之一y軸的圖框資料。
  3. 如請求項1之裝置,其中該等順序圖框資料讀取請求對應於沿一顯示器之一x軸的圖框資料,且其中該等參數進一步至少包含第二整數N及M,其中該第二整數N及該第二整數M對應於該顯示器之一y軸,且該第二整數N指示沿該y軸多少個順序圖框資料讀取請求將包括指示將快取對應圖框資料之一快取提示,且其中該第二整數M指示沿該y軸在該N個讀取請求之後多少個順序圖框資料讀取請求將包括指示將不快取對應圖框資料之一快取提 示。
  4. 如請求項3之裝置,其中當針對給定資料之x軸圖框資料讀取請求與y軸圖框資料讀取請求兩者指示需要快取時,圖框資料得以快取。
  5. 如請求項2之裝置,其中回應於判定記憶體存取延時將減小,該第一整數N及該第一整數M經設定為小於用以讀取一各別顯示器之一完整列線之圖框資料的記憶體存取請求之一數目的各別值。
  6. 如請求項2之裝置,其中一或多個內部顯示管線包含以下各者中之至少一者:一使用者介面(UI)像素處理管線及一視訊像素處理管線。
  7. 如請求項6之裝置,其中該裝置進一步包含複數個功能區塊,每一功能區塊經組態以存取該快取記憶體,其中該第一整數N及該第一整數M進一步基於以下各者中之至少一者:該快取記憶體之利用率、半導體晶片之一功率效能狀態及當前正存取該快取記憶體之功能區塊之一數目。
  8. 如請求項2之裝置,其中該快取提示資訊進一步指示以下類型之快取區塊處置中之至少一者:分配正常、分配棘手、不分配及解除分配。
  9. 一種用於分配一記憶體階層中之資料的方法,其包含:儲存指示將如何產生兩個或兩個以上圖框資料讀取請求之一序列的參數;及利用該等參數以產生兩個或兩個以上圖框資料讀取請求之該序列,其中該等圖框資料讀取請求中之至少一者經產生而具有指示將快取對應圖框資料之一快取提示,且該等圖框資料讀取請求中之至少一者經產生而具有指示將不快取對應圖框資料取 之一快取提示;其中該等參數包含至少第一整數N及第一整數M,其中N指示多少個順序圖框資料讀取請求將包括指示將快取對應圖框資料之一快取提示,且其中M指示在該N個讀取請求之後多少個順序圖框資料讀取請求將包括指示將不快取對應圖框資料之一快取提示。
  10. 如請求項9之方法,其中該等順序圖框資料讀取請求對應於沿一顯示器之一x軸抑或一顯示器之一y軸的圖框資料。
  11. 如請求項9之方法,其中該等順序圖框資料讀取請求對應於沿一顯示器之一x軸的圖框資料,且其中該等參數進一步至少包含第二整數N及M,其中該第二整數N及該第二整數M對應於該顯示器之一y軸,且該第二整數N指示沿該y軸多少個順序圖框資料讀取請求將包括指示將快取對應圖框資料之一快取提示,且其中該第二整數M指示沿該y軸在該N個讀取請求之後多少個順序圖框資料讀取請求將包括指示將不快取對應圖框資料之一快取提示。
  12. 如請求項11之方法,其中當針對給定資料之x軸圖框資料讀取請求與y軸圖框資料讀取請求兩者指示需要快取時,圖框資料得以快取。
  13. 如請求項12之方法,其中該第一整數N及該第一整數M進一步基於以下各者中之至少一者:快取記憶體之利用率、包含該快取記憶體之一系統之一功率效能狀態及經組態以存取該快取記憶體之當前正存取該快取記憶體之功能區塊的一數目。
TW102132822A 2012-09-11 2013-09-11 用於分配記憶體階層中之資料的方法及裝置 TWI498734B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/610,633 US9035961B2 (en) 2012-09-11 2012-09-11 Display pipe alternate cache hint

Publications (2)

Publication Number Publication Date
TW201416860A TW201416860A (zh) 2014-05-01
TWI498734B true TWI498734B (zh) 2015-09-01

Family

ID=49253400

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102132822A TWI498734B (zh) 2012-09-11 2013-09-11 用於分配記憶體階層中之資料的方法及裝置

Country Status (3)

Country Link
US (1) US9035961B2 (zh)
TW (1) TWI498734B (zh)
WO (1) WO2014043063A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087393B2 (en) * 2013-03-07 2015-07-21 Apple Inc. Network display support in an integrated circuit
US9471955B2 (en) 2014-06-19 2016-10-18 Apple Inc. Multiple display pipelines driving a divided display
US9817776B2 (en) 2015-01-19 2017-11-14 Microsoft Technology Licensing, Llc Memory descriptor list caching and pipeline processing
WO2016191569A1 (en) * 2015-05-27 2016-12-01 Google Inc. Memory system architecture
US10540318B2 (en) * 2017-04-09 2020-01-21 Intel Corporation Graphics processing integrated circuit package

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200608198A (en) * 2004-05-03 2006-03-01 Microsoft Corp Non-volatile memory cache performance improvement
US20070079073A1 (en) * 2005-09-30 2007-04-05 Mark Rosenbluth Instruction-assisted cache management for efficient use of cache and memory
US20090132764A1 (en) * 2005-11-15 2009-05-21 Montalvo Systems, Inc. Power conservation via dram access

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256710B1 (en) 1995-04-28 2001-07-03 Apple Computer, Inc. Cache management during cache inhibited transactions for increasing cache efficiency
US5829025A (en) * 1996-12-17 1998-10-27 Intel Corporation Computer system and method of allocating cache memories in a multilevel cache hierarchy utilizing a locality hint within an instruction
US6643745B1 (en) * 1998-03-31 2003-11-04 Intel Corporation Method and apparatus for prefetching data into cache
US6460115B1 (en) * 1999-11-08 2002-10-01 International Business Machines Corporation System and method for prefetching data to multiple levels of cache including selectively using a software hint to override a hardware prefetch mechanism
US6721847B2 (en) * 2001-02-20 2004-04-13 Networks Associates Technology, Inc. Cache hints for computer file access
US8127088B2 (en) 2005-01-27 2012-02-28 Hewlett-Packard Development Company, L.P. Intelligent cache management
US7975107B2 (en) 2007-06-22 2011-07-05 Microsoft Corporation Processor cache management with software input via an intermediary
US20090106496A1 (en) 2007-10-19 2009-04-23 Patrick Knebel Updating cache bits using hint transaction signals
US8140771B2 (en) 2008-02-01 2012-03-20 International Business Machines Corporation Partial cache line storage-modifying operation based upon a hint
US8234478B1 (en) * 2008-10-22 2012-07-31 Nvidia Corporation Using a data cache array as a DRAM load/store buffer
US8244981B2 (en) 2009-07-10 2012-08-14 Apple Inc. Combined transparent/non-transparent cache

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200608198A (en) * 2004-05-03 2006-03-01 Microsoft Corp Non-volatile memory cache performance improvement
US20070079073A1 (en) * 2005-09-30 2007-04-05 Mark Rosenbluth Instruction-assisted cache management for efficient use of cache and memory
US20090132764A1 (en) * 2005-11-15 2009-05-21 Montalvo Systems, Inc. Power conservation via dram access

Also Published As

Publication number Publication date
US20140075117A1 (en) 2014-03-13
WO2014043063A1 (en) 2014-03-20
US9035961B2 (en) 2015-05-19
TW201416860A (zh) 2014-05-01

Similar Documents

Publication Publication Date Title
US8405668B2 (en) Streaming translation in display pipe
TWI528169B (zh) 在閒置顯示情況中之記憶體電力節省
US8949554B2 (en) Idle power control in multi-display systems
EP2946302B1 (en) Heterogeneous memory systems, and related methods and computer-readable media for supporting heterogeneous memory access requests in processor-based systems
TWI498734B (zh) 用於分配記憶體階層中之資料的方法及裝置
AU2012227210B2 (en) Inline image rotation
US10970223B2 (en) Cache drop feature to increase memory bandwidth and save power
JP2007042131A (ja) 縮小命令セット・コンピュータ・マイクロプロセッサーの構造
TW202024866A (zh) 飛行中適應性注視點顯像
US9811873B2 (en) Scaler circuit for generating various resolution images from single image and devices including the same
US20140085320A1 (en) Efficient processing of access requests for a shared resource
US20140089546A1 (en) Interrupt timestamping
US8711173B2 (en) Reproducible dither-noise injection
US8922571B2 (en) Display pipe request aggregation
TW201503098A (zh) 偵測閒置螢幕開啓之機構
US7337251B2 (en) Information processing device with priority-based bus arbitration
US9117299B2 (en) Inverse request aggregation
US9019291B2 (en) Multiple quality of service (QoS) thresholds or clock gating thresholds based on memory stress level
US8963938B2 (en) Modified quality of service (QoS) thresholds
US10102131B2 (en) Proactive power management for data storage devices to reduce access latency
US20140089604A1 (en) Bipolar collapsible fifo

Legal Events

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