TW201423403A - 共用資源的存取請求之有效率處理 - Google Patents
共用資源的存取請求之有效率處理 Download PDFInfo
- Publication number
- TW201423403A TW201423403A TW102135190A TW102135190A TW201423403A TW 201423403 A TW201423403 A TW 201423403A TW 102135190 A TW102135190 A TW 102135190A TW 102135190 A TW102135190 A TW 102135190A TW 201423403 A TW201423403 A TW 201423403A
- Authority
- TW
- Taiwan
- Prior art keywords
- requestor
- requester
- data
- response
- read request
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明揭示一種用於有效率地處理針對一共用資源之存取請求的系統及方法。一計算系統包括由多個請求者存取之一共用記憶體。控制邏輯判定兩個請求者設法存取該共用記憶體內之一相同資料區塊。回應於該判定,該兩個請求者中之一第一請求者代表該兩個請求者而將一讀取請求發送至該共用記憶體。防止該兩個請求者中之第二請求者發送一讀取請求。回應於偵測資料被傳回作為對由該第一請求者產生之該讀取請求的一回應,該第一請求者及該第二請求者兩者擷取該資料。回應於偵測該兩個請求者中之一給定請求者產生其不能夠繼續擷取該相同回應資料之一指示,該兩個請求者返回至產生分離的各別讀取請求。
Description
本發明係關於半導體晶片,且更特定而言,係關於有效率地處理針對共用資源之存取請求。
一半導體晶片可包括多個功能區塊或單元,該等功能區塊或單元各自能夠存取一共用記憶體。在一些實施例中,多個功能單元為諸如系統單晶片(system-on-a-chip,SOC)之積體電路(IC)上的個別晶粒。在其他實施例中,多個功能單元為諸如多晶片模組(multi-chip module,MCM)之封裝內的個別晶粒。在又其他實施例中,多個功能單元為印刷電路板上之個別晶粒或晶片。記憶體控制器可控制對共用記憶體之存取。
晶片上之多個功能單元為用於已發送至記憶體控制器之記憶體存取請求的來源。另外,一或多個功能單元可包括用於待發送至記憶體控制器之記憶體存取請求的多個來源。舉例而言,計算系統中之顯示子系統可包括用於圖形資料之多個來源。智慧型手機或平板電腦之設計可包括使用者介面層、攝影機,及諸如媒體播放器之視訊來源。此等來源中每一者可利用儲存於記憶體中之圖框資料。對應顯示控制器可包括用於此等來源之多個內部像素處理管線。
自多個來源中之一者發送的每一請求包括額外負擔處理及資訊
擷取處理兩者。來自晶片上之多個來源中之分離來源的大數目個請求可在記憶體子系統中引起瓶頸(bottleneck)。重複性額外負擔處理可縮減子系統效能。
另外,該等來源中之兩者或兩者以上(諸如,顯示管線)可利用儲存於同一圖框緩衝器中之資訊。一個顯示管線可讀取圖框、處理資訊,且將經處理圖形資訊發送至內部面板顯示器。另一顯示管線可讀取相同圖框以供近同時顯示、處理資訊,且將經處理圖形資訊發送至外部網路連接顯示器。儘管兩個顯示管線存取相同資訊,但針對相同資料請求區塊之記憶體讀取請求的數目加倍。額外負擔處理及功率消耗兩者增加。另外,若記憶體子系統利用快取記憶體,則相同經擷取資訊可儲存於快取記憶體中,且造成額外收回。
鑒於上文,需要用於有效率地處理對共用資源之請求的方法及機制。
涵蓋用於有效率地處理針對一共用資源之存取請求的系統及方法。在各種實施例中,一計算系統包括由多個請求者存取之一共用資源。在一些實施例中,該共用資源為一共用記憶體,且該等請求者為用於既處理圖形圖框資料又將該經處理資料發送至各別顯示器之顯示管線。控制邏輯可判定一條件,其中兩個請求者設法存取該共用記憶體內之一相同資料區塊。回應於偵測該條件,該兩個請求者可進入一給定操作模式。在該給定操作模式中,該兩個請求者中之一第一請求者可代表該兩個請求者而將一讀取請求發送至該共用記憶體。可防止該兩個請求者中之第二請求者發送一讀取請求。
控制邏輯可偵測資料被傳回作為對由該第一請求者產生之該讀取請求的一回應。回應於該偵測,該第一請求者及該第二請求者兩者擷取該資料。該第一請求者及該第二請求者可儲存該資料且稍後處理
或略過該資料。或者,該第一請求者及該第二請求者可立即開始處理該資料。在一些實施例中,該第一請求者在該經產生讀取請求中包括一共用識別符(ID)。該第一請求者及該第二請求者中每一者可至少部分地基於該共用ID而將經傳回資料識別為對該讀取請求之一回應。
在該第一請求者及該第二請求者內處置該經擷取資料之延時可不相等。該兩個請求者中之一給定請求者可產生其不能夠繼續擷取該相同回應資料之一指示。舉例而言,該給定請求者內之邏輯或電路系統可達到一容量條件。在一些實施例中,該邏輯為儲存經處理資料之一緩衝器,且該緩衝器達到一臨限值容量。回應於該指示,該兩個請求者可不繼續該給定操作模式,且產生分離的各別讀取請求。
在參考以下描述及圖式後,即將進一步瞭解此等及其他實施例。
100‧‧‧計算系統
110‧‧‧共用資源
112‧‧‧控制器
120a‧‧‧請求者
120b‧‧‧請求者
122a‧‧‧請求控制邏輯
122b‧‧‧請求控制邏輯
124a‧‧‧請求佇列及回應資料緩衝器
124b‧‧‧請求佇列及回應資料緩衝器
130‧‧‧回寫式緩衝器
140‧‧‧匯流排
142‧‧‧匯流排
500‧‧‧裝置
510‧‧‧記憶體介面
512‧‧‧記憶體控制器
514‧‧‧快取記憶體
530‧‧‧網狀架構
532‧‧‧快取連貫性控制器/連貫性控制器
534‧‧‧切換器
536‧‧‧切換器
540‧‧‧視訊圖形控制器
550a‧‧‧處理器
550d‧‧‧處理器
552‧‧‧快取記憶體
554‧‧‧匯流排介面單元(BIU)
560‧‧‧攝影機
562‧‧‧顯示控制器
564‧‧‧快閃記憶體控制器
566‧‧‧媒體控制器
570‧‧‧輸入/輸出(I/O)介面/輸入/輸出(I/O)介面埠
600‧‧‧顯示控制器
610‧‧‧顯示管線
612‧‧‧中斷介面控制器
614‧‧‧內部像素處理管線
620‧‧‧後處理邏輯
622‧‧‧後處理邏輯
630‧‧‧顯示介面
632‧‧‧顯示介面
634‧‧‧回寫式緩衝器
640‧‧‧顯示管線
650‧‧‧互連介面
圖1為在控制共用資源存取訊務之情況下的計算系統之一實施例的一般化方塊圖。
圖2為用於選擇用於處理針對共用資源之讀取請求之機制的方法之一實施例的一般化流程圖。
圖3為用於處理針對共用資源之存取請求的方法之一實施例的一般化流程圖。
圖4為用於處理針對共用資源之存取請求的方法之另一實施例的一般化流程圖。
圖5為能夠有效率地處理針對共用資源之存取請求的裝置之一實施例的一般化方塊圖。
圖6為顯示控制器之一實施例的一般化方塊圖。
雖然本發明容許各種修改及替代形式,但本發明之特定實施例係在圖式中作為實例而展示,且將在本文中予以詳細地描述。然而,
應理解,該等圖式及其詳細描述並不意欲將本發明限於所揭示之特定形式,而相反地,本發明意欲涵蓋屬於如由附加申請專利範圍界定的本發明之精神及範疇的所有修改、等效者及替代例。如貫穿本申請案所使用,詞語「可」係在准許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)上使用。相似地,詞語「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行一或若干任務。在此類上下文中,「經組態以」為對結構之廣泛敍述,該結構通常意謂「具有」在操作期間執行該或該等任務之「電路系統」。因而,即使當單元/電路/組件當前未接通時,單元/電路/組件亦可經組態以執行任務。一般而言,形成對應於「經組態以」之結構的電路系統可包括硬體電路。相似地,出於描述之便利起見,可將各種單元/電路/組件描述為執行一或若干任務。此類描述應被解譯為包括片語「經組態以」。敍述經組態以執行一或多個任務之單元/電路/組件並不明確地意欲援引35 U.S.C.§ 112第六段落的針對彼單元/電路/組件之解譯。
在以下描述中,闡述眾多特定細節以提供對本發明之透徹理解。然而,一般技術者應認識到,可能在無此等特定細節的情況下實踐本發明。在一些情況下,尚未詳細地展示熟知之電路、結構及技術以避免混淆本發明。
參看圖1,展示在控制共用資源存取訊務之情況下的計算系統100之一實施例的一般化方塊圖。如所展示,多個請求者120a至120b經由控制器112而存取共用資源110。儘管展示兩個請求者120a至120b,但可使用任何數目個多個請求者。在一些實施例中,共用資源110為共用記憶體,且控制器112為記憶體控制器。另外,共用記憶體
可包括快取階層之一或多個層級以縮減記憶體延時。在其他實例中,共用資源110可為複數算術單元(complex arithmetic unit)或網路交換網狀架構(network switching fabric)。資源及任何關聯控制器之其他實例係可能的且被涵蓋。控制器112可自諸如請求者120a至120b之多個來源接收存取共用資源110之請求。
計算系統100可包括混合式仲裁方案,其中控制器112包括集中式仲裁器,且請求者120a至120b中之一或多者包括分散式仲裁邏輯。舉例而言,請求者120a至120b中之一或多者可包括用於自由多個內部來源產生之多個請求選擇待置放於匯流排140上之給定請求的仲裁器。控制器112內之仲裁器可自請求者120a至120b接收之多個請求選擇待置放於匯流排142上之給定請求。仲裁邏輯可包括任何類型之請求訊務控制方案。舉例而言,可使用循環方案、最近最少使用方案、編碼優先權方案及其他方案。
請求者120a至120b中每一者可包括介面邏輯(未圖示)以連接至匯流排140。取決於匯流排140,給定協定可由介面邏輯使用。在一些實例中,匯流排140可為交換網狀架構。仲裁邏輯可用以將自請求者120a至120b產生之請求發送至匯流排140,且稍後由控制器112接收。針對該等請求之回應稍後可由控制器112發送,且由請求者120a至120b中之一或多者自匯流排140擷取。在一些實施例中,介面內之輪詢邏輯可用以自匯流排140擷取關聯回應資料。
在各種實施例中,系統100中之請求者120a至120b中每一者可儲存針對共用資源110之經產生請求。一請求佇列可用於該儲存。另外,請求者120a至120b可包括用於儲存對應回應資料之回應資料緩衝器。請求者120a至120b可分別使用請求佇列及回應資料緩衝器124a至124b以用於該儲存。儘管未圖示,但在一些實施例中,請求者120a至120b中每一者可包括處理邏輯以處理自匯流排140接收之回應資料。
可將經處理資料發送至計算系統100內之其他組件。舉例而言,請求者120a可將經處理資料發送至系統100內之其他邏輯區塊。取決於邏輯區塊之類型,請求者120a可使用用於發送經處理資料之協定。請求者120b可將經處理資料發送至回寫式緩衝器130。回寫式緩衝器130稍後可經由控制器112而將經處理資料發送至共用資源110。在一些實施例中,回寫式緩衝器130利用匯流排140以用於將經處理資料發送至共用資源110。在其他實施例中,回寫式緩衝器130利用與匯流排140分離之另一連接或匯流排以將經處理資料發送至共用資源110。
由請求者120a至120b中每一者產生之請求可設法存取資料區塊。資料區塊可為儲存於連續記憶體位置中之位元組的集合。資料區塊中之位元組的數目可根據設計選擇而變化,且可為任何大小。作為一實例,可使用64位元組區塊。資料區塊可為待運用經產生請求進行存取之資料的大小。在共用資源110用作共用記憶體之實施中,其中共用記憶體包括快取階層之一或多個層級,資料區塊大小可為與快取區塊相同之大小。快取區塊亦可被稱作快取行(cache line)。出於快取連貫性目的,快取行大小可為用作單位之資料位元組的數目。
在各種實施例中,請求者120a至120b中每一者設法存取對應於相同資料區塊之資料。請求者120a至120b可正存取多個相同資料區塊。舉例而言,可由請求者120a至120b中每一者在相對相似時段中存取一特定資料區域。在一實例中,請求者120a至120b為存取相同資料圖形圖框之顯示管線。其他實例係可能的且被涵蓋。再次,在一些實施中,共用資源110用作共用記憶體,其中共用記憶體包括快取階層之一或多個層級。在存取同一特定記憶體區域內之相同資料區塊時,請求者120a至120b中之一者可具有較大延時以用於處理或略過經接收資料區塊。
繼續以上實例,請求者120a至120b中之較快請求者可遠遠先於請
求者120a至120b中之另一請求者,且使在快取記憶體中替換該區域中較早之資料區塊,較慢請求者仍尚未讀取該等資料區塊。因此,來自請求者120a至120b中之較慢請求者的讀取請求存取共用記憶體,而非快取記憶體。延時及功率消耗兩者可歸因於此等類型之存取而增加。另外,對於特定區域內之給定資料區塊,將兩個讀取請求發送至控制器112,其增加系統100內之存取訊務。
回應於判定請求者120a至120b中每一者設法存取對應於相同資料區塊之資料,請求者120a至120b中之第一請求者可代表請求者120a至120b兩者而將讀取請求發送至控制器112。可防止請求者120a至120b中之第二請求者將讀取請求發送至控制器112。因此,發送至控制器112之讀取請求的數目縮減。另外,存取共用記憶體而非快取記憶體之讀取請求的數目可縮減。在一些實施例中,第二請求者根據由第一請求者代表兩個請求者而發送之請求的數目而調整請求信用額度之數目。
回應於偵測被傳回作為對由第一請求者產生之讀取請求之回應的資料,請求者120a至120b中每一者可自匯流排140讀取資料。請求者120a至120b中每一者可將資料儲存於回應資料緩衝器中。自匯流排140讀取資料且儲存資料或開始運用資料進行處理可被稱作擷取資料。在一些實施例中,請求者120a至120b中之第一請求者可在經產生讀取請求中包括識別符(ID)。請求者120a至120b中每一者可至少部分地基於ID而識別被傳回作為對讀取請求之回應的資料。請求者120a至120b中每一者可輪詢或窺探匯流排140,以便擷取回應資料。
用於請求者120a至120b之請求控制邏輯122a至122b可通信,以便判定該等請求者中每一者何時產生各別讀取請求、代表兩個請求者而產生讀取請求,且防止產生讀取請求或防止將經產生讀取請求發送至匯流排140。可由請求控制邏輯122a至122b中之一或多者偵測給定限
定條件以判定採取何些動作。
現在參看圖2,展示用於選擇用於處理針對共用資源之讀取請求之機制的方法200之一實施例的一般化流程圖。出於論述目的,以循序次序來展示此實施例中之步驟。然而,在其他實施例中,可以不同於所展示次序之次序發生一些步驟,可同時地執行一些步驟,可將一些步驟與其他步驟進行組合,且可不存在一些步驟。
在區塊202中,由計算系統處理一或多個軟體應用程式之指令。在此實例中,建立「鏡像(mirror)」模式,其中兩個顯示器將呈現相同資料。在各種實施例中,可藉由將預定值寫入至組態暫存器而實現建立此類模式。在其他實施例中,可以其他方式建立該模式。在一些實施例中,計算系統為嵌入式系統,諸如,系統單晶片。該系統可包括充當針對共用資源之請求者的多個功能單元。在各種實施例中,共用資源為共用記憶體。請求者可產生讀取請求以發送至共用資源。可將關聯回應資料傳回至請求者。在一些實施例中,請求者處理資料。請求者可在處理資料之前儲存資料。在區塊204中,多個請求者可將經處理資料呈現至其他功能單元或儲存佇列。
可出現某一限定條件,其中至少兩個請求者設法存取相同資料區塊。代替繼續當前操作模式,控制邏輯可針對兩個請求者而將操作模式改變至鏡像模式,如上文所論述。若偵測此類鏡像模式(條件區塊206),則在區塊208中,可將第一請求者之請求狀態機連接至第二請求者之請求狀態機(或以其他方式與第二請求者之請求狀態機通信)。舉例而言,第一狀態機及第二狀態機可以主從關係而操作,藉以,第二狀態機回應於由第一狀態機採取之動作。在其他實施例中,可利用其他邏輯以回應於第一狀態機而控制第二狀態機之狀態。用於耦接該等狀態機之各種方式係可能的且被涵蓋。在區塊210中,可由第一請求者產生至少一讀取請求,且代表第一請求者及第二請求者而
將至少一讀取請求發送至共用資源。在鏡像模式期間,該等狀態機中僅一者產生及輸送針對待由第一請求者及第二請求者兩者利用之資料的請求。在各種實施例中,由第一請求者產生之請求可包括其表示鏡像模式請求(例如,特定識別位元)之指示。在傳回經請求資料時,第二請求者可將該資料偵測為鏡像模式資料(例如,經由識別符),且獲得該資料以供利用。相似地,第一請求者獲得及利用經請求資料。以此方式,使用單一請求以獲得用於兩個請求者之資料。在區塊212中,第二請求者並不在處於鏡像模式時將針對相同資料之請求發送至共用資源。
現在參看圖3,展示用於處理針對共用資源之存取請求的方法300之一實施例的一般化流程圖。出於論述目的,以循序次序來展示此實施例中之步驟。然而,在其他實施例中,可以不同於所展示次序之次序發生一些步驟,可同時地執行一些步驟,可將一些步驟與其他步驟進行組合,且可不存在一些步驟。
在區塊302中,兩個請求者中之第一請求者代表兩個請求者而發送讀取請求。可將讀取請求發送至控制對共用資源(諸如,共用記憶體)之存取的控制器。兩個請求者可設法存取相同資料區塊。兩個請求者可已基於組態資料或其他者而進入操作模式。在一些實施例中,兩個請求者為存取相同圖框內之相同圖形資料的顯示管線。
若經傳回回應資料對應於讀取請求(條件區塊304),則在區塊306中,兩個請求者中每一者可擷取該回應資料。在一些實施例中,由第一請求者產生之讀取請求包括由第一請求者及第二請求者中每一者辨識之共用識別符(ID)。兩個請求者中每一者可至少部分地基於共用ID而識別被傳回作為對讀取請求之回應的資料。在一些實施例中,被傳回作為對讀取請求之回應的資料係經由匯流排而傳回。匯流排可由兩個請求者中每一者窺探。
歸因於不同延時,兩個請求者中之給定請求者可不能夠在鏡像模式中繼續。舉例而言,給定請求者內之邏輯或電路系統可達到容量臨限值。舉例而言,緩衝器可達到處於或接近全容量條件之容量臨限值。在達到容量臨限值後,即可產生指示當前操作模式應停止之指示。若兩個請求者中之一者被判定為不能夠在鏡像模式中繼續(條件區塊308),則在區塊310中,針對共用資源之讀取請求可返回至在兩個請求者之間予以分離地產生及處理。
現在參看圖4,展示用於處理針對共用資源之存取請求的方法400之另一實施例的一般化流程圖。出於論述目的,以循序次序來展示此實施例中之步驟。然而,在其他實施例中,可以不同於所展示次序之次序發生一些步驟,可同時地執行一些步驟,可將一些步驟與其他步驟進行組合,且可不存在一些步驟。
在區塊402中,判定存取相同資料區塊之兩個請求者中至少一請求者不能夠在鏡像模式中繼續。在區塊404中,可將判定之指示發送至兩個請求者中每一者。可停止亦可被稱作第一模式之當前鏡像操作模式。可開始亦可被稱作第二模式之不同操作模式。在區塊406中,可在第二模式中自兩個請求者中每一者發送分離的各別讀取請求。在各種實施例中,在進入兩個請求者產生請求之非鏡像模式之前,可臨時地暫時中止或抑制請求。在一些實施例中,兩個請求者中每一者在各別讀取請求中包括分離的不同識別符(ID)。
在一些實例中,在第二操作模式中操作之某一時間之後,兩個請求者可返回至第一模式。在一些實施例中,回應於判定第一請求者及第二請求者已到達對應於相同區塊(例如,給定圖框)之資料的末端,且另外,第一請求者及第二請求者中每一者皆設法存取相同區塊中之另外資料,第一請求者及第二請求者可轉變以在鏡像模式中操作。在其他實施例中,兩個請求者可未到達對應於相同區塊之資料的
末端,而仍設法存取相同區塊中之資料。兩個請求者可回應於偵測此條件而返回至在第一模式中操作。
若判定出重新進入鏡像模式(條件區塊408),則在區塊410中,可代表兩個請求者而自第一請求者發送讀取請求,同時防止第二請求者發送讀取請求。在各種實施例中,兩個請求者可為嵌入式系統中使用之顯示管線。下文提供另外細節。
參看圖5,展示說明能夠有效率地處理針對共用資源之存取請求的裝置500之一實施例的一般化方塊圖。裝置500包括多個功能區塊或單元。在一些實施例中,多個功能單元為諸如系統單晶片(SOC)之積體電路(IC)上的個別晶粒。在其他實施例中,多個功能單元為諸如多晶片模組(MCM)之封裝內的個別晶粒。在又其他實施例中,多個功能單元為印刷電路板上之個別晶粒或晶片。多個功能區塊或單元可各自能夠存取一共用記憶體。
在各種實施例中,裝置500為在單一半導體晶粒上包括多個類型之IC設計的SOC,其中每一IC設計提供一分離功能性。裝置500上之IC設計亦可被稱作裝置500上之功能區塊、功能單元或處理單元。傳統上,可已在分離矽晶圓上製造IC設計或功能單元之類型中每一者。在所說明實施例中,裝置500包括多個IC設計;用於高層級互連及晶片通信之網狀架構530、記憶體介面510,及各種輸入/輸出(I/O)介面570。出於說明簡易起見而未圖示諸如鎖相迴路(PLL)之時脈來源及至少用於功率管理之集中式控制區塊。
裝置500內之多個IC設計可包括各種類比、數位、混頻信號及射頻(RF)區塊。舉例而言,裝置500可包括一或多個處理器550a至550d,其具有至少包括快取記憶體552之支援快取階層。在一些實施例中,快取記憶體552可為用於處理器550a至550d之共用層級2(L2)快取記憶體。另外,多個IC設計可包括顯示控制器562、快閃記憶體控
制器564及媒體控制器566。另外,多個IC設計可包括視訊圖形控制器540,及用於顯示子系統及攝影機子系統的與即時記憶體執行相關聯之一或多個處理區塊,諸如,攝影機560。
任何即時記憶體周邊處理區塊可包括影像調合器能力,及如此項技術中所熟知之其他攝影機影像處理能力。裝置500可分組與非即時記憶體執行相關聯之處理區塊(諸如,媒體控制器566)以用於:影像按比例調整、旋轉及色彩空間轉換;用於經編碼電影之加速視訊解碼;音訊處理;等等。單元560及566可包括類比及數位編碼器、解碼器及其他信號處理區塊。在其他實施例中,裝置500可包括除了所展示區塊以外或代替所展示區塊的其他類型之處理區塊。
在各種實施例中,網狀架構530提供用於裝置500之最高層級互連。舉例而言,對於裝置500內之各種請求者,可存在至快取連貫性控制器532之連接。請求者可為裝置500上之多個IC設計中的一者。快取連貫性控制器532可將用於共用記憶體(諸如,晶片外動態隨機存取記憶體(DRAM))中之給定資料區塊的一致資料值提供至多個IC設計。連貫性控制器532可使用快取連貫性協定以用於至及自裝置500上之多個IC設計中之記憶體介面510及一或多個快取記憶體的記憶體存取。切換器534可用以彙集來自此等剩餘多個IC設計之訊務。
記憶體介面510可包括一或多個記憶體控制器512,及用於晶片外記憶體(諸如,同步DRAM(SDRAM))之一或多個快取記憶體514。該等快取記憶體可用以縮減對記憶體頻寬及平均功率消耗之需求。
快取記憶體514可儲存一或多個區塊,該一或多個區塊中每一者為儲存於系統記憶體中之對應位址處之資料的複本。如本文所使用,「區塊」為儲存於連續記憶體位置中之位元組的集合,該等位元組出於連貫性目的而被視為單位,但快取記憶體514a至514b可不參與快取連貫性協定。如本文所使用,術語「快取區塊」、「區塊」、「快取行」
及「行」為互換式。區塊中之位元組的數目可根據設計選擇而變化,且可為任何大小。作為一實例,可使用64位元組區塊。
記憶體控制器512亦可包括用於支援用以介接至記憶體通道之給定協定的邏輯。該協定可判定用於資訊傳送之值,諸如,每時脈循環的資料傳送之數目、信號電壓位準、信號時序、信號及時脈相位,及時脈頻率。協定實例包括DDR2(雙資料速率,版本2)SDRAM、DDR3SDRAM、GDDR4(圖形雙資料速率,版本4)SDRAM,及GDDR5(圖形雙資料速率,版本5)SDRAM。
記憶體介面510及連貫性控制器532之組合與裝置500之剩餘部分(其包括多個IC設計以及切換器534及536)之間的介面包括多個匯流排。在運用時間關係的情況下,可在此介面處見到非同步記憶體請求、回應、窺探、窺探回應及輸入/輸出(I/O)異動。
顯示控制器562發送被顯現至一或多個顯示器件之圖形輸出資訊。資訊之顯現可由顯示控制器562、由視訊圖形控制器540或由控制器562及540兩者執行。或者,顯示控制器562可將圖形輸出資訊發送至視訊圖形控制器540以輸出至一或多個顯示器件。圖形輸出資訊可對應於經由至視訊圖形控制器540內之GPU之記憶體空間之記憶體映射而存取的圖框緩衝器。可在位址轉譯器中儲存及更新記憶體映射。圖框資料可用於待呈現於顯示器上之影像。圖框資料可至少包括用於螢幕上之每一像素的色彩值。
顯示控制器562可包括一或多個顯示管線。每一顯示管線可將經顯現圖形資訊發送至一分離顯示器。舉例而言,可使用在包括裝置500之計算器件內部的顯示面板。另外,亦可支援網路連接顯示器。顯示控制器562內與分離顯示螢幕相關聯之每一顯示管線可包括一或多個內部像素處理管線。稍後提供內部像素處理管線之進一步描述。
一或多個顯示管線內之內部像素處理管線中每一者可獨立地且
同時地存取儲存於記憶體中之各別圖框緩衝器。儘管快取記憶體514可縮減記憶體存取請求之平均延時,但整個圖框緩衝器可不配合於任何快取記憶體514內。因此,另外存取晶粒外記憶體。
在一實例中,使用者希望在智慧型手機或平板電腦之內部面板顯示器及網路連接顯示器兩者上呈現相同影像。使用者可正使用該影像以用於呈現。顯示控制器562內之兩個顯示管線可用於內部面板顯示器及網路連接顯示器。兩個顯示管線可正存取相同圖形圖框。兩個顯示管線可各自將讀取請求發送至記憶體介面510,因此增加網狀架構530及記憶體介面510內之訊務。
另外,在存取相同圖框內之相同資料區塊時,兩個顯示管線中之一者可具有較大延時以用於處理經擷取資料區塊。兩個顯示管線中之較快顯示管線可遠遠先於該等顯示管線中之另一顯示管線,且使在快取記憶體中替換圖框中較早之資料區塊,較慢顯示管線仍尚未讀取該等資料區塊。因此,來自該等顯示管線中之較慢顯示管線的讀取請求存取晶粒外SDRAM,而非晶粒上快取記憶體。延時及功率消耗兩者可歸因於此等類型之存取而增加。回應於偵測兩個顯示管線設法存取相同圖框內之資料,兩個顯示管線可在先前所描述之第一操作模式中操作。在提供在第一模式中操作之顯示管線的細節之前,提供裝置500之其他組件的進一步描述。
處理器550a至550d中每一者可包括一或多個核心,及快取記憶體子系統之一或多個層級。每一核心可支援一軟體處理序之一或多個執行緒的無次序執行,且包括一多級管線。處理器550a至550d中每一者可包括用於執行根據預定義之一般用途指令集之指令的電路系統。舉例而言,可選擇ARM®、x86®、x86-64®、Alpha®、MIPS®、PA-RISC®、SPARC®或任何其他指令集架構。
通常,處理器550a至550d可包括用於存取資料及指令之快取記憶
體的多個晶粒上層級(L1、L2、L3等等)。若在晶粒上快取記憶體中或在晶粒外快取記憶體552中未找到經請求區塊,則可產生針對遺漏區塊之讀取請求,且將該讀取請求傳輸至記憶體介面510或傳輸至由快閃記憶體控制器564控制之晶粒上快閃記憶體(未圖示)。該快閃記憶體可為由快閃記憶體胞陣列形成之非揮發性記憶體區塊。或者,記憶體550可包括其他非揮發性記憶體技術。匯流排介面單元(BIU)554可提供至少針對處理器550a至550d之記憶體存取請求及回應。
裝置500上之其他處理器核心可不包括處理器550a至550d之鏡像式矽影像。此等其他處理區塊可具有不同於由處理器550a至550d使用之微架構的微架構。舉例而言,其他處理器可具有針對計算密集型任務而提供高指令輸送量之微架構,諸如,單指令多資料(SIMD)核心。SIMD核心之實例包括圖形處理單元(GPU)、數位信號處理(DSP)核心或其他者。舉例而言,視訊圖形控制器540可包括用於顯現用於遊戲、使用者介面(UI)效應及其他應用之圖形的一或多個GPU。
裝置500可包括用於即時記憶體執行之處理區塊,諸如,攝影機560及顯示控制器562,如較早所描述。另外,裝置500可包括用於非即時記憶體執行之處理區塊以用於:影像按比例調整、旋轉及色彩空間轉換;用於經編碼電影之加速視訊解碼;音訊處理;等等。媒體控制器566為一實例。I/O介面埠570可包括此項技術中針對以下各者中之一或多者而熟知的介面:一般用途I/O(GPIO)、通用串列匯流排(USB)、通用非同步接收器/傳輸器(uART)、FireWire介面、乙太網路介面、類比轉數位轉換器(ADC)、DAC等等。
現在轉至圖6,展示顯示控制器600之一實施例的一般化方塊圖。顯示控制器600包括互連介面650,及兩個顯示管線610及640。儘管展示兩個顯示管線,但顯示控制器600可包括另一數目個顯示管線。該等顯示管線中每一者可與一分離顯示螢幕相關聯。舉例而言,
顯示管線610可將經顯現圖形資訊發送至內部顯示面板。顯示管線640可將經顯現圖形資訊發送至網路連接顯示器。顯示螢幕之其他實例可亦係可能的且被涵蓋。
互連介面650可包括多工器及控制邏輯以用於在顯示管線610及640與最高層級網狀架構之間路由信號及封包。該等顯示管線中每一者可包括一中斷介面控制器612。中斷介面控制器612可包括用以擴展來源或外部器件之數目以產生待呈現至內部像素處理管線614之中斷的邏輯。控制器612可提供編碼方案、用於儲存中斷向量位址之暫存器,及用於檢查、啟用且應答中斷之控制邏輯。中斷之數目及選定協定可為可組態的。在一些實施例中,控制器612使用AMBA® AXI(進階可延伸介面)規格。顯示管線610及640內之控制器612中每一者可彼此通信。舉例而言,當在先前所描述之第一模式中操作時,控制器可交換包括於讀取請求中之ID、偵測何時進入及離開第一模式,且交換關於請求信用額度之資訊。
顯示控制器562內之每一顯示管線可包括一或多個內部像素處理管線614。內部像素處理管線614可包括用於處理及顯示使用者介面(UI)層之一或多個ARGB(阿爾法、紅色、綠色、藍色)管線。內部像素處理管線614可包括用於處理及顯示諸如YUV內容之視訊內容的一或多個管線。在一些實施例中,內部像素處理管線614中每一者包括用於在將圖形資訊作為輸出而發送至各別顯示器之前調合該資訊的調合電路系統。
層可指代呈現層。呈現層可由用以定義一或多個影像以呈現至使用者之多個軟體組件組成。UI層可包括至少用於管理視覺佈局及樣式且組織瀏覽、搜尋及經顯示資料之組件。呈現層可與用於編排使用者互動之處理序組件互動,且亦與商務層或應用程式層及資料存取層互動以形成整體解決方案。然而,內部像素處理管線614處置該解決
方案之UI層部分。
YUV內容為由三個分離信號組成之視訊信號類型。一個信號係用於明度或亮度。兩個其他信號係用於色度或色彩。YUV內容可替換傳統複合視訊信號。呈DVD格式之MPEG-2編碼系統使用YUV內容。內部像素處理管線614處置YUV內容之顯現。
顯示管線610可包括後處理邏輯620。後處理邏輯620可用於色彩管理、環境調適性像素(AAP)修改、動態背光控制(DPB)、面板伽瑪校正及遞色。顯示介面630可處置用於與內部面板顯示器通信之協定。舉例而言,可使用行動工業處理器介面(MIPI)顯示串列介面(DSI)規格。或者,可使用4單工通道嵌入式顯示埠(eDP)規格。
顯示管線640可包括後處理邏輯622。後處理邏輯622可用於使用5分接頭垂直、9分接頭水平之16相位濾波器來支援按比例調整。後處理邏輯622亦可使用ARGB888(阿爾法、紅色、綠色、藍色)格式或YUV420格式來支援色度次取樣、遞色及至記憶體中之回寫。顯示介面632可處置用於與網路連接顯示器通信之協定。可使用包括回寫式緩衝器634之直接記憶體存取(DMA)介面。
用於顯示管線640之延時可大於用於顯示管線610之延時。當在先前所描述之第一模式中操作時,顯示管線610可代表兩個管線610及640而將讀取請求發送至記憶體控制器。可將儲存於回寫式緩衝器634中之經處理資料傳回至記憶體介面以供儲存。在稍後時間,可進一步處理及/或編碼儲存於記憶體中之經處理資料以供傳輸至網路連接顯示器。回寫式緩衝器可在給定圖框之處理期間達到容量臨限值。該臨限值可為儲存於組態暫存器中之可程式化值。當達到臨限值時,可將指示發送至控制器612內之控制邏輯以停止在先前所描述之第一模式中的操作。在開始下一圖框後,即可再次使用第一模式。
在各種實施例中,可使用軟體應用程式之程式指令以實施先前
所描述之方法及/或機制。程式指令可以高階程式設計語言(諸如,C)來描述硬體之行為。或者,可使用硬體設計語言(HDL),諸如,Verilog。程式指令可儲存於電腦可讀儲存媒體上。眾多類型之儲存媒體係可用的。可由電腦在使用期間存取儲存媒體以將程式指令及隨附資料提供至電腦以用於程式執行。在一些實施例中,合成工具讀取程式指令,以便產生包含來自合成程式庫之閘清單的接線對照表。
儘管已相當詳細地描述以上實施例,但對於熟習此項技術者而言,一旦充分地瞭解以上揭示內容,眾多變化及修改就將變得顯而易見。希望將以下申請專利範圍解譯為涵蓋所有此類變化及修改。
Claims (20)
- 一種裝置,其包含:一記憶體控制器,其經組態以控制對一共用記憶體之存取;一第一請求者,其經組態以產生針對該記憶體中之資料的讀取請求;及一第二請求者,其經組態以產生針對該記憶體中之資料的讀取請求;且其中回應於偵測該第一請求者及該第二請求者兩者設法存取對應於一相同區塊之資料的一第一操作模式:該第一請求者經組態以發送針對該資料之一讀取請求;且該第二請求者被防止發送一讀取請求。
- 如請求項1之裝置,其中回應於偵測被傳回作為對由該第一請求者產生之該讀取請求之一回應的資料,該第一請求者及該第二請求者兩者經組態以擷取該資料。
- 如請求項2之裝置,其中由該第一請求者產生之該讀取請求包括一識別符(ID),且該第一請求者及該第二請求者至少部分地基於該ID而識別被傳回作為對該讀取請求之一回應的該資料。
- 如請求項3之裝置,其中被傳回作為對該讀取請求之一回應的該資料係經由一匯流排而傳回,該匯流排係由該第一請求者及該第二請求者兩者窺探。
- 如請求項1之裝置,其中該第一請求者經組態以產生針對對應於該相同區塊之額外資料的複數個讀取請求,且該第二請求者在一給定條件被偵測時被防止發送針對該額外資料之讀取請求。
- 如請求項5之裝置,其中該條件包括該第一請求者及該第二請求者兩者設法存取對應於一相同區塊之資料的一判定,且該第一 請求者及該第二請求者兩者皆尚未接收該第一模式應停止之一指示。
- 如請求項6之裝置,其中在該第一模式中之操作應停止的該指示包括對應於該第一請求者及該第二請求者中任一者或兩者之電路系統已達到或正接近一容量條件的一指示。
- 如請求項7之裝置,其中回應於停止在該第一模式中之操作,該第一請求者及該第二請求者在一第二模式中操作,藉以,該第二請求者產生針對對應於該相同區塊之該資料的讀取請求。
- 如請求項8之裝置,其中回應於判定該第一請求者及該第二請求者已達到對應於該相同區塊之資料的一末端,且該第一請求者及該第二請求者中每一者皆設法存取一相同區塊中之另外資料,該第一請求者及該第二請求者經組態以在該第一模式中操作。
- 如請求項9之裝置,其中該第二請求者經進一步組態以根據由該第一請求者發送之請求的一數目而調整請求信用額度之一數目。
- 如請求項9之裝置,其中該第一請求者對應於一第一顯示器件,該第二請求者對應於一第二顯示器件,且該資料區塊對應於圖框資料。
- 如請求項11之裝置,其中該裝置為一系統單晶片(SOC)。
- 一種方法,其包含:經由一記憶體控制器而控制對一共用記憶體之存取;對於一第一請求者而產生針對該共用記憶體中之資料的讀取請求;對於一第二請求者而產生針對該共用記憶體中之資料的讀取請求;且 其中回應於偵測該第一請求者及該第二請求者兩者設法存取對應於一相同區塊之資料的一第一操作模式:該第一請求者經組態以發送針對該資料之一讀取請求;且該第二請求者被防止發送一讀取請求。
- 如請求項13之方法,其中回應於偵測被傳回作為對由該第一請求者產生之該讀取請求之一回應的資料,該方法進一步包含在該第一請求者及該第二請求者兩者內擷取該資料。
- 如請求項14之方法,其進一步包含至少部分地基於包括於該讀取請求中之一識別符(ID)而識別被傳回作為對由該第一請求者產生之該讀取請求之一回應的該資料。
- 如請求項13之方法,其進一步包含在該第一請求者內針對對應於該相同區塊之額外資料而產生複數個讀取請求,且在一給定條件被偵測時防止該第二請求者發送針對該額外資料之讀取請求。
- 如請求項16之方法,其中該條件包括該第一請求者及該第二請求者兩者設法存取對應於一相同區塊之資料的一判定,且該第一請求者及該第二請求者兩者皆尚未接收該第一模式應停止之一指示。
- 一種包含程式指令之非暫時性電腦可讀儲存媒體,該等程式指令可操作以在一計算系統中有效率地處理針對一共用記憶體之存取請求,其中該等程式指令可執行以:經由一記憶體控制器而控制對該共用記憶體之存取;對於一第一請求者而產生針對該共用記憶體中之資料的讀取請求;對於一第二請求者而產生針對該共用記憶體中之資料的讀取請求;且 其中回應於偵測該第一請求者及該第二請求者兩者設法存取對應於一相同區塊之資料,在一第一模式中操作該第一請求者及該第二請求者,藉以:該第一請求者經組態以發送針對該資料之一讀取請求;且該第二請求者被防止發送一讀取請求。
- 如請求項18之儲存媒體,其中回應於偵測被傳回作為對由該第一請求者產生之該讀取請求之一回應的資料,該等程式指令經進一步組態以在該第一請求者及該第二請求者兩者內擷取該資料。
- 如請求項19之儲存媒體,其中該等程式指令進一步可執行以至少部分地基於包括於該讀取請求中之一識別符(ID)而識別被傳回作為對由該第一請求者產生之該讀取請求之一回應的該資料。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/629,049 US20140085320A1 (en) | 2012-09-27 | 2012-09-27 | Efficient processing of access requests for a shared resource |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201423403A true TW201423403A (zh) | 2014-06-16 |
Family
ID=49326864
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW102135190A TW201423403A (zh) | 2012-09-27 | 2013-09-27 | 共用資源的存取請求之有效率處理 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20140085320A1 (zh) |
| TW (1) | TW201423403A (zh) |
| WO (1) | WO2014052543A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI710910B (zh) * | 2016-03-03 | 2020-11-21 | 南韓商三星電子股份有限公司 | 使用同步化和非同步化記憶體裝置之適應性機制的混合記憶體、其方法及其儲存節點 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9619382B2 (en) * | 2013-08-19 | 2017-04-11 | Intel Corporation | Systems and methods for read request bypassing a last level cache that interfaces with an external fabric |
| US20160104263A1 (en) * | 2014-10-09 | 2016-04-14 | Media Tek Inc. | Method And Apparatus Of Latency Profiling Mechanism |
| KR102106541B1 (ko) * | 2015-03-18 | 2020-05-04 | 삼성전자주식회사 | 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템 |
| CN109413647B (zh) * | 2018-10-18 | 2022-08-05 | 深圳壹账通智能科技有限公司 | 数据共享方法、装置、电子设备以及计算机可读存储介质 |
| KR20230060767A (ko) * | 2021-10-28 | 2023-05-08 | 주식회사 엘엑스세미콘 | 디스플레이 패널 구동을 위한 영상데이터를 처리하는 디스플레이 프로세서 및 방법 |
| GB2626544B (en) * | 2023-01-24 | 2025-02-19 | Advanced Risc Mach Ltd | Shared resource access control |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5950229A (en) * | 1997-03-12 | 1999-09-07 | Micron Electronics, Inc. | System for accelerating memory bandwidth |
| US6026218A (en) * | 1997-06-11 | 2000-02-15 | Sun Microsystems, Inc. | Computer system employing a bus snooping multimedia subsystem for implementing video multicast transactions |
| JPH11168482A (ja) * | 1997-12-04 | 1999-06-22 | Nec Corp | 同報通信受信機能付きデータ受信装置 |
| US7200855B2 (en) * | 2001-05-24 | 2007-04-03 | Vixs Systems, Inc. | Method and apparatus of multiplexing a plurality of channels in a multimedia system |
| US7224691B1 (en) * | 2002-09-12 | 2007-05-29 | Juniper Networks, Inc. | Flow control systems and methods for multi-level buffering schemes |
| US7035986B2 (en) * | 2003-05-12 | 2006-04-25 | International Business Machines Corporation | System and method for simultaneous access of the same line in cache storage |
| US7151544B2 (en) * | 2003-05-16 | 2006-12-19 | Sun Microsystems, Inc. | Method for improving texture cache access by removing redundant requests |
| US20070038829A1 (en) * | 2005-08-11 | 2007-02-15 | Via Technologies, Inc. | Wait aware memory arbiter |
| US8248425B2 (en) * | 2009-09-16 | 2012-08-21 | Ncomputing Inc. | Optimization of memory bandwidth in a multi-display system |
| US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
| US9430410B2 (en) * | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
-
2012
- 2012-09-27 US US13/629,049 patent/US20140085320A1/en not_active Abandoned
-
2013
- 2013-09-26 WO PCT/US2013/061849 patent/WO2014052543A1/en not_active Ceased
- 2013-09-27 TW TW102135190A patent/TW201423403A/zh unknown
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI710910B (zh) * | 2016-03-03 | 2020-11-21 | 南韓商三星電子股份有限公司 | 使用同步化和非同步化記憶體裝置之適應性機制的混合記憶體、其方法及其儲存節點 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014052543A1 (en) | 2014-04-03 |
| US20140085320A1 (en) | 2014-03-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11188343B2 (en) | Apparatus, systems, and methods for low power computational imaging | |
| JP6078173B2 (ja) | アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器 | |
| US8994741B2 (en) | Streaming translation in display pipe | |
| US9727113B2 (en) | Low power computational imaging | |
| TW201423403A (zh) | 共用資源的存取請求之有效率處理 | |
| US9280471B2 (en) | Mechanism for sharing private caches in a SoC | |
| KR20230041593A (ko) | 프로그래밍가능한 인터리브 입도를 갖는 cxl 타입-2 디바이스들을 위한 확장가능한 주소 디코딩 체계 | |
| CN107077186B (zh) | 低功率计算成像 | |
| US11768689B2 (en) | Apparatus, systems, and methods for low power computational imaging | |
| CN103810124A (zh) | 用于数据传输的系统及方法 | |
| US20140181419A1 (en) | Credit lookahead mechanism | |
| US8922571B2 (en) | Display pipe request aggregation | |
| TW452696B (en) | Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller | |
| TWI498734B (zh) | 用於分配記憶體階層中之資料的方法及裝置 | |
| US10110927B2 (en) | Video processing mode switching | |
| US8963938B2 (en) | Modified quality of service (QoS) thresholds | |
| US9117299B2 (en) | Inverse request aggregation | |
| US9019291B2 (en) | Multiple quality of service (QoS) thresholds or clock gating thresholds based on memory stress level | |
| US10546558B2 (en) | Request aggregation with opportunism | |
| US9152588B2 (en) | Race-free level-sensitive interrupt delivery using fabric delivered interrupts | |
| US20250371183A1 (en) | System on a chip |