TW200819987A - Systems and methods for performing a bank swizzle operation to reduce bank collisions - Google Patents
Systems and methods for performing a bank swizzle operation to reduce bank collisions Download PDFInfo
- Publication number
- TW200819987A TW200819987A TW096122026A TW96122026A TW200819987A TW 200819987 A TW200819987 A TW 200819987A TW 096122026 A TW096122026 A TW 096122026A TW 96122026 A TW96122026 A TW 96122026A TW 200819987 A TW200819987 A TW 200819987A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- texture
- cache
- bank
- rti
- Prior art date
Links
Landscapes
- Image Generation (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
200819987 S3U06-0027I00-TW 24578twf.doc/e 九、發明說明: 【發明所屬之技術領域】 本發明是關於圖形處理, 管理的系統以及方法。 【先前技術】 且特別是關於用於圖形資料 如已知之先前技術,電腦圖形處理系統需處理大 料,其中包括紋理(texture)資料。紋理為具有—貝
c 座標空間的數位影像(通常為矩形的)。紋理之最小可定: 單元為紋理元素(texel),根據其位置而被指派一 & v)座標。在紋理映射(mapping)運算中,紋理被 圖解模型之表面來呈現模型以建立目的影像。在目的 中’紋理元素位於(X, y)座標系統中之特定座標處二紋 理映射之目的為在物件之表面上提供實際外觀。 紋理資料通常内存在系統記憶體十,系統記憶體為政 用資源。在許多電腦系統中,其他元件可能嘗試存取由圖 形處理线使狀㈣或湘翻之彳、舰鱗,此兩種 情形可能會導致®形處理系統之資料存取時間增加。此 外:請求來自系統記憶體之f料由於其他原因可能會用去 過里之°因此’存取系統記憶體可能會對圖形處理 統具有效能抑制效應。 μ 在現代電腦圖形中,紋理處理可包括許多不同類型之 紋理映射技術,包括立方映射(eubie、_映射 (mipmapping),以及各種異性(anis〇tr〇pic)映射。由於執 行紋理處輯需的算術从賴運軒分複似及大量, 4 200819987 S3U06-0027I00-TW 24578twf.doc/e 使得除了用於其他圖形處理運算的電路之外,紋理處理專 用電路之使用成為必要。因此,此等紋理處理專用電路可 包括顯著百分比之構成圖形處理單元的硬體閘(g at e)。 紋理映射在計算與記憶體存取上上須需付出昂貴的代 價。改良資料可存取性之一種技術為經由專用於儲存紋理 資料之紋理快取記憶體,在資料需要進行紋理處理之前, 將紋理資料自系統記憶體提供給紋理快取記憶體,藉此提 供圖形糸統所需的紋理資料,且減少對存取系統記憶體之 需要。此方式又可減少與記憶體延遲(latencyMg關之問 題。然而,由於可能偶爾出現記憶庫碰撞(bankc〇Uisi〇n) 或快取記憶體猛移(cache thrashing),即使使用紋理快取 。己體,3己憶體延遲仍繼續成為問題。因此,產業中存在 對紋理像碑(tile)資料於快取記憶體儲存中改良的需要。 【發明内容】
本發明之實施例提供用於儲存圖形資料的系統以及方 法。一實施例包括用於減少2、級(L2)快取記憶體内之記 憶庫碰撞的方法,其包含m儲翻形處理單元内執 行紋理過濾所需之紋理資料的外部記憶體讀取紋理資
將紋理資料分為記憶庫;對記憶庫執行記憶雜和操作 (bank swizzle operation );以及將資料之記憶庫寫入至Q 取記憶體。 1K 另-實施例包括用於處理圖形資料的電腦系統, 腦系統包含:外部記憶體’用以儲翻於圖形處理單元内 之紋理過濾的紋理資料;記憶賴和模組,肋 5 200819987 S3U06-0027I00-TW 24578twf.doc/e 憶體接收紋理資料,將紋理瞀姐 料之記憶庫執行記憶庫授和摔=刀為記憶庫,且對紋理資 憶體,其_至記憶庫攪和_記 用以儲存經擾和過之紋理資料。〃 、取義體可 碰』於減少u快取記憶體内之記憶庫 碰撞的方法,方法包含:-Το α Ο 此紋理資料用於圖形處理單、H己憶體,取紋理資料, 纹理資料時是否已出現記===過遽;確認在提取 :於L2快取記憶體内之至少 ^作以及在會㈣域庫錢日㈣記憶雜行記憶庫^ 统、圖式Μ實施方柄,本發明之其他系 見的_^ 及""處將對於熟f此項技術者為顯而易 藉由隨附申請專利範圍加在本發明之範嘴内,且 【實施方式】 在概括了本發明之各種觀點之 個二m —疋不思欲將本發明限制於本文所揭露之-或多 〜轭例1是意欲涵蓋包括在 本發明之精神以及料内之所有替二;=: 本1月所揭路之系統以及方法可用於有效地管理並組 6 200819987 S3U06-0027I00-TW 24578twf.doc/e Ο 織紋理㈣,讀(例如)紋理過濾n處料所需的任何 紋理貧料在圖形處理系統中可易於擷取。通常,自系統記 ^體接收料不同格式以及大小之紋理資料,若未考慮此 資料之大小或組成方式可能會導致紋理快取記憶體資源之 使1上較無效率。此種無效率的導因之一為在擷取紋理資 料時存在過多延遲。可理解地,擷取紋理像碑資料(textoe tiling data)之延遲導致在處理此資料中之延遲。在某些情 況下’此延遲可能藉由出現在快取記紐内之記憶庫相互 碰撞而引起。當試圖自具有相同索引且儲存在不同快取線 中之憶賴取f料時,則出航憶庫碰撞。給跋理資 料之定域性(lGealizedn輪),緊接地儲存在—起的記憶 庫將更可能在記憶體存取期間一起受到提取。 ^ 在作圖形處理時,紋理資料不必要一次一快取線地操 ,,而是在逐記憶庫之基礎上娜。因此,在記憶體存取 j曰可自飾給定快取義取記憶权任何組合。舉例而 體存取期間,可一起提取(快取線丨,記憶庫〇)、 、《2 σ己铖庫1)等。然而,若試圖同時擷取(快取 =己,以及(快取線2,記憶庫〇),則出現記憶 麻% ^具有相时引之兩個記鱗必須獨立地加以 故,^ Λ少一週期之延遲。因此,由於記憶庫碰撞之 而^週期來擷取記憶庫。用於執行記憶庫授和 相作之彡如及綠的實施财躲增加具有 =33且位於鄰近快取線中之記憶庫相互間的距離 來減少圮憶庫碰撞的可能性。 7 200819987 S3U06-0027I00-TW 24578twf.doc/e ,要蒼看圖6以及圖7,其朗具有相同索引 位於鄰近快取㈣之記'_之_距離。如圖6中所揭 示,快取線0,記憶庫〇)以及(快取線卜記憶庫0)】 1執行奸座素來制距離。對快取線 ί仃疏賴和㈣可有效地將鱗兩個記憶庫之間的 距離增加至新距離A,如同7由仏- ]的 -種丰m方、… 因此’本發明揭露 二、、 法可用於對紋理資料執行記情庫撥和接>Μτ Ο ij 以便減少記憶庫碰撞之可处极— "見孝知作 中提取資料耗費較少時脈二:射¥致在電腦圖形環境 /現參看圖卜其為電腦系統100之簡化方塊圖。電腦 糸統100包括CPU 102、系統記憶體1〇4以及圖 統110 〇 CPU 102勃耔夂4壬丄^ ^ 示 ί 包括確定產生圖形顯示 =貝。 =,硯祭點位置)。系統記憶體104儲存各 2料’ ^括諸如紋理資料⑽之圖形顯示資料。根據c p u 所確疋之貧訊以及儲存在系統記憶體1〇4中之資料, 圖形處,系統110產生用於顯示元件13〇(諸如,監視器) 的顯不貧料。紋理映㈣於將紐施加至物件,圖形處理 系統110再現3〇物件之紋理片,紋理片實質上經“堆疊” S以形成物件。—旦建立了 3D紋理,便將紋理施加給 件以形成影像,藉此物件變得紋理化。 士主CPU 102經由系統介面1〇8向圖形處理系統11〇提供 月求匕括對處理並顯示圖形資訊之請求。來自cpu 1〇2 之圖形請^由_處理系統11G接收,且提供給前端處 理益112。前端處驾112產生含有像素絲之像素流。 200819987 S3U06-0027I00-TW 24578twf.doc/e 刖端處理H 112所產生之像素座標的相關資訊經由纹理快 ϋ統114提供至紋理過濾器118。紋理快取系統114自 =端處理ϋ 112接收資訊且組織紋理資料,從崎資料儲 存在快取記憶體中。 、 紋理過渡118隨後藉由執行(例如)雙線性過遽、 二線性過濾或其組合來過濾資訊,且產生每 Ο ΐ料。除f知紋理過濾驗件(諸如線性_如及累加 ,k外’紋理過濾器118亦包括可程式化表過滤器( r)巧於結合其他紋理過組件來提供特定過遽操 紋理資料106為發送至圖框緩衝器12G 料的分量,其用於在顯示元件⑽上產生顯示取、、色心貝 紋理快取系統114可包括多個快取記憶體,包括(例 1級(L1)快取記憶體以及2級(L2)快 c; /間用於界疋以像素座標顯示之色彩資料。紋理資料 紋理過=^體刚流至紋理快取系統Μ,且隨後流至 2’其說明圖形處理系統内之紋理快取系統 ^二土 、、且件。應注思出於簡要之目的,省略了對於(由 ^習此項技術者)理解紋理資料管理單元非必要之某些级 。圖形處ί里系統11〇包括接收紋理資料1〇6之紋理快取 j 114。純在鋪發至快取記㈣㈣於儲存之前受 ? 114 谓:和模組210以及L2快取記憶體220。 9 200819987 S3U06-0027I00-TW 24578twf.doc/e 、纪憶庫攪和模組210獲取自外部記憶體接收之紋理資 料106,且在將紋理資料1〇6轉發至L2快取記憶體22〇以 作儲存之前對資料執行記憶庫攪和操作。 和操作是指重新映射記憶庫,以使儲存在具二同 兩個不同記憶庫中的紋理資料可同時得以擷取,而不用等 到下一週期。 、 立L2快取記憶體22〇耦接至記憶庫攪和模組21〇,且在 記憶庫攪和模組210已處理自外部記憶體接收之資料後儲 存紋理資料1〇6以用於未來擷取。參看圖3,其為一實施 例之L2快取記憶體組織格式的方塊圖。如以上所論述的, 紋理快取系統114可包括多個快取記憶體,包括(例如) L1快取記憶體以及L2快取記憶體,L2快取記憶體31〇可 包括夕個快取線320。每一條快取線320可進一步分為奇 數區塊330以及偶數區塊34〇,偶數區塊34〇用於處理來 自偶數管線之紋理資料,而奇數區塊330用於處理來自奇 數管線之紋理資料。在區塊33〇、34〇之每一者内,可將 L2快取記憶體進一步分為資料之記憶庫35〇。儘管所揭示 每一區塊包括八個記憶庫(記憶庫〇至記憶庫7),但熟習 此項技術者應暸解快取記憶體可分為不同數目之記憶庫。 通苇己丨思庫為紋理貢料得以提取之手段之一。應注意L2 快取記憶體310可含有多個L2快取線320,包括(例如) 64個、128個、256個,或512個快取線。此外,每— 快取線320可具有變化之寬度,包括(例如)128個、 個、512個、1024個或2048個位元之寬度。 200819987 S3UO6-OO27IO0-TW 24578twf.doc/e 現參看圖4,其繪示經由記憶庫攪和模組自外部記憶 體轉送紋理資料至L2快取記憶體的一實施例。儲存在外 部記憶體410中之紋理資料412在其最終儲存在L2快取 記憶體418中以用於未來擷取之前,會先轉發至記憶庫攪; 和模組414。記憶庫攪和模組414在逐記憶庫的基礎上處 理並重組自外部記憶體410接收的紋理資料412,且將資 料轉發至L2快取記憶體418。如圖4中所展示,L2快取 記憶體418可經再分為多個快取線416,快取線416可進 一步再分為多個記憶庫420。對於某些實施例,每一快取 線416之大小為1024位元,或1 Kb。此外,每一快取線 416可進一步再各自分為大小為128位元的八個記憶庫 420。在準備儲存在快取記憶體418中時,記憶庫攪和模組 414將自外部記憶體41〇接收之紋理資料412組織為獨立 的記憶庫以及快取線。一旦執行了記憶庫攪和操作,便將 紋理資料412轉發至L2快取記憶體418以用於儲存。 現參看圖5,其說明記憶庫攪和操作的一實施例。在 進行記憶庫攪和操作之前,將自外部記憶體接收之紋理資 料分為快取線(例如,快取線〇、快取線丨),再將每一快 取線進一步分為個別記憶庫51〇。對於所示之實施例而 3,每一快取線包含八個記憶庫51〇 (記憶庫Q至記憶庫 應注意通常可以各種方法來擷取紋理資料,包括在逐 记2庫之基礎上。對於在逐記憶庫之基礎上擷取紋理資料 的只鈿例而έ ’可在記憶體存取期間擷取任何給定快取線 内的任何讀、庫。於—實施例巾,記憶體存取可試圖提取 200819987 S3U06-0027I00-TW 24578twf.doc/e 以下記憶庫:(快取線 〇 ϋ 吕犀0)、(快取線〇,記憶庫 (快取線1 ’記憶庫7)以及(快取線i,記憶庫0)。對於 此實例’因為試圖存取具有相同㈣的兩個記憶庫((快取 線〇 ’記憶庫0)以及(快取線卜記憶庫〇)),所以出現 ,己憶庫磁。結果,在輯_間僅織㈣個記憶庫中 之-者丄因而需要額外週期來褐取剩餘記憶庫。通常 2紋=貝料本質上傾向於定域的,所錄可能會出現記 庫碰m㈣很可⑽存讀此鄰⑽存之記憶庫中: 圖5中揭不記憶庫授和操作之_實施例,其增加 樣編號記憶庫之_距離’以便減少記憶庫碰撞之 性。對於某些實施例,可在L2快取記憶冑23〇内執^
=操作。應Ϊ意因為在外部記憶體中實施擾和操作 =θ巧部§己|思體為共用資源而需要改變關於記憶體 子之所有极組’所以記憶庫擾和操作最好在L 行而不在外部記憶體中執行,否則將最终二 加硬體之整體複雜性。 、曰 Μ在t記憶賴和操作時可遵循各種映射機制或擾和 二f於某些實施例而言’記憶庫撥和操作可藉 Η用之映射機制重新路由(route) L2快 $ 内之特定記憶體位置(亦即,記憶庫)的指枝g 30 對於某些實_,映賴魏記 模1 · 記憶庫記憶庫4 慰担式· 記憶庫記憶庫5 吕己憶庫記憶庫6 12 200819987 S3U06-0027I00-TW 24578twf.doc/e 5己十思庫3〇記憶庫7 ;亦即’將待儲存在L2快取記憶體230内之記憶庫〇 與疏庫4中的貧料重新映射且調換,以及將記憶庫^中 =資料,憶庫5中之資料調換等。以上授和模式在圖5 加以㈣。應注意對於各種實施例而言,每隔—快取線 =而執仃雜、絲和操作以便達成具有相同索引數字之記 十思庫之間的最大距離。 Ο 通利用㊆憶庫授和操作可用以達au方向與V方 向上,最佳距離。詳言之,重點在於兩個方向u/o上 之距離在執行記憶庫攪和操作之後為相等量值。來看圖 6,其說明具有32 ΒΡΕ解析度之紋理資制4χ8佔據面積 (fbotprmt)。每一記憶庫内之圖素的數目為128位元/32 ΒΡΕ或每讀庫4紋理元素。如圖6中所見,將鄰近快 取!^例如,快取線0以及快取線υ中同樣編號記憶庫 歹’,纪憶庫〇)之間的距離指定為距離Α且等於4圖 旦執行記憶庫攪和操作,記憶庫之間的距離便增加, 減減少φ驗理資料之定域㈣發生記憶庫碰撞的可能 ^見參看圖7 ’其就明記憶庫攪和操作之後鄰近快取線 中之同樣編號記憶庫之間的距離上之增加。為說明之目 ^僅記憶庫0以及記憶庫4得以重新映射。—旦執行記 ,庫授和操作,記憶庫之間的距離便增加至新距離A。現 藉由以下表達式來簡單地計算新距離A之值: 新距離 A : ^](42 +42) =5.657 因此,位於鄰近快取線中具有相同索引的記憶庫之間 13 200819987 S3U06-0027I00-TW 24578twf.doc/e Ο
的距離為相隔5·657圖素。簡要參看圖8,其說明記憶庫 授和插作之前以及之後佔據面積的大小。佔攄面 映跨越四個快取線之具有32 B简析度之、==的〇 4佔據面積。為暸解兩個記憶庫之間的距離上之增加,在 此僅檢查兩個快取線。佔據面積820顯示來自佔據^積8ι〇 的兩個快取線。因此,佔據面積820之大小為4χ4記^、庫。 同樣編號s己憶庫之間的距離為4圖素(距離a),產生π 圖素之面積。佔據面積830反映經由記憶庫攪和操作所 2達成之有效佔據面積。佔據面積83〇之面積為(新距離A) 2,或5.6572。因此’歸因於記憶庫擾和操作之面 分比增加^: (μμμ4ιι^100% 4 、,如以上所見,歸因於記憶庫擾和操作之面積上的有效 增加為原始面積之百分之百。 、 參^圖9,錄示祕執行記憶賴和操作以減少記 十思庫㈣里之方法的-實施例之流程圖。在以下步驟中,可 透過執行記,It賴和操相增加鄰近快取射之同樣編 兄憶庫之間的距離’以便減少@形處理單元之L2快取= ,體内之記憶庫碰撞的可能性。方法開始於步驟91〇,自 外部記憶體接收紋理㈣[接著在步驟92G中,將咬理次 2為^記憶庫以準備儲存在快取記憶體中。隨後,i ::魏料發至U快取記憶如胁儲存。狹而 中,首先對自外部記舰所嫌找理資料執行 賴庫授和操作,再將紋理㈣於轉發至u快== 丁 200819987 S3U06-0027I00-TW 24578twf.doc/e 以作儲存之前,在逐記憶庫之美虑 步驟940中,將經重新映射之i理資料庫Lf〇。在 憶體内之適當記憶庫。於—實施例中寫至1記 憶庫0,快取線1)中所含有之 口二看圖5。(記 被寫入至L2快取記憶體内之以重新映射且現 樣’(快取線i,記憶庫二=丄’,)。同 映射且現被寫人1L2快取f :理貞料得以重新 強調對交替快取線執行步中之二、^)。應 便加大鄰近快取線中同樣編號記憶庫以 “碰=======減少 ::=:=:庫碰撞時:可進= ϋ L2快取記憶體之前將其分為記憶庫。隨彳I ίί在轉發至 料時,自L2快取記憶體提取資料(步j 紋理資 記憶庫碰撞(判定步驟_令之右偵測到 記憶庫碰撞的記憶庫執行記 1=)將=對涉及 :广的至少-者重新映射二 於-實施财,假定在給 體揭取紋理資料之以下記憶庫記憶 取線〇,記憶庫7)、(快取& J 、法。己丨思庫0)、(快 W取線卜雜庫5),以及(快取線 15 200819987 S3U06-0027I00-TW 24578tw£doc/e ==TT試圖同時自快取線0與快取線1 擷取疏庫G,所以出現記憶庫碰撞。因此 之一者,且需要額外週期“取涉 麵中之“厂條件),所以需對記憶庫 !:操作’以便減少另—記憶庫碰撞出現的可能性 讀論述之記憶庫攪和模式,將來自兩練取線中之一者 ^取^ G或快取線丨)的記憶庫G重新映射至記棟庫*。 =1需要相同紋理資料時,因為現在擷取以下妙庫. 工(,快=’記憶庫0)、(快取線〇,記憶庫7)、;快。取線 情庫;’記麟4),所以避免了記 外週期來擷取紋理資料之記憶庫。 不再而要名員 可在執行記憶賴和操作之方法的替代實施例中, 之資=操狀前執行分析,祕首先檢查待提取 Ο 操作而出現的,卜;下庫碰撞將由於記憶庫授和 憶庫搜和模^ 前職狀—者實施替代記 it實施例中’假定在給定週議間自l2快取記怜 =、、、文理資料之以下記憶庫:(快取線〇,記憶庫〇 ^ 鱗取。因為出現⑪憶庫碰撞(快取線G、記憶庫0 」、取線1 ’記憶庫G之間),所以通常對記憶庫中之一者 16 200819987 S3U06-0027I00-TW 24578twf.doc/e (例如,記憶庫0)執行記憶庫攪和操作,以便減少另一 記憶庫碰撞出現的可能性。若利用先前所論述之記憶庫攪 和模式,則來自兩個快取線中之一者(快取線0或快取線 1)的記憶庫0經重新映射至記憶庫4。因此,當需要相同 紋理資料時,因為現在擷取以下記憶庫··(快取線0,記憶 庫0)、(快取線0,記憶庫4)、(快取線1,記憶庫5)以 及(快取線1,記憶庫4),所以避免了記憶庫碰撞。然而, 請注意新記憶庫碰撞(快取線0 ’記憶庫4與快取線1 ’記 憶庫4之間)由於利用先前所描述之記憶庫攪和操作而產 生。因此,在另一實施例中,可執行“預攪和”分析來確 定另一個新的記憶庫碰撞是否會由於記憶庫攪和操作而產 生。若將出現新記憶庫碰撞,則實施另一記憶庫攪和模式 以避免隨後又記憶庫碰撞。於一實施例中,可代替利用以 下替代記憶庫攪和模式: 記憶庫記憶庫7 記憶庫記憶庫6 記憶庫記憶庫5 記憶庫3^>記憶庫4 返回參看以上實例,記憶庫因此將經重新映射至以下 記憶庫:(快取線〇,記憶庫〇)、(快取線〇,記憶庫4)、(快 取線1、記憶庫5),以及(快取線1,記憶庫3)。結果, 不出現隨後之記憶庫碰撞。 本發明之實施例可在硬體、軟體、韌體,或其組合中 實施。在某些實施例中,可藉由儲存於記憶體中且藉由適 17 200819987 S3UQ6-0027I00-TW 24578twf.doc/e 合之指令執行系統所執行的軟體或韌體中實施此方法以及 系統。於-實施财,若在硬财實施,則可藉由此項技 術中所熟知之以下技術之任何者歧合來實施綠以及系 統:-或多個離散邏輯電路,其具有邏輯間以用於在資料 知號上實施賴功能;特殊應用積體電路(ASIC),其具 有適當之組合邏輯閘;—或多個可程式閘陣列(pGA);場 可程式閘陣列(FPGA)等。 a
L 如熟習本發明之技術者所能瞭解的,流程圖中之任何 驟應理解為表示包括用於實施處理中之特定 驟之Γ或多個可執行指令的模組、程式碼之 肉又:L77骑代實施例包括在本發明之實施例的範疇 二;ΠΓ包含之功能性而以不同於所展示或所論: 1的:人序執行功能(包括實質上同喊逆序執行)。 矣沾士Ϊ巾包含驗實闕輯魏之可執行指令之有序列 ^的方法m奸在任何電腦可讀 ==指令執行系統、裝置或元件使 二 tr二;置或元件使用’本文中之系統諸如基於電腦 t糸1;含處理器之系統,或可自指令執行系統、裝Γ ίΓ ΐΓ域行齡的其他系統。纽讀之上下 文中,電腦可讀媒體”可為可含有、M左、、δ& 或傳送由指令執行系統、裝置或 播 系統、裝置或元件使用的程式之任何二 如’但不限於)電子、磁性;; *體线、裝置 '元件或傳播媒體。電腦可讀媒體之 18 200819987 S3U06-0027I00-TW 24578twf.doc/e ==,列表)將包括以下者:具有-或多個 播“子式)、攜帶型電腦磁片(磁性式)、隨 ^ 憶體(RAM)(電子式)、唯讀記憶體(ROM)(電 可擦可程式唯讀記憶體(咖0Μ或快閃記憶體) Ο u
Hf、絲齡(絲式),从攜㈣緊密光碟唯 ⑽fe體(CDR0M)(光學式)。注意期為程式可經由 二媒體之光學掃描而電子地俘獲,隨後經 i:二?: ’所以電腦可讀媒體甚至可為紙或另-適 口某體’在其上印有程式。此外,本揭露内容之範鳴包 括以在經㈣或軟體_、之舰巾具體化的賴模組 體化本發明之實施例的功能性。 •此外’賴如上所描述之實關僅為可能實施例之 貝例。在不背離本揭露内容之原_情況下可對以上所描 述之實施例進行許多變化以及修改。所有此等修改以及變 化在本文巾意欲包括在本揭露内容之範如且藉由以下 睛專利範圍保護。 舉例而5,基於本文所提供之描述,熟習此項技術者 ,瞭解實_包括驗減少U快取記憶體内之記憶庫碰 ,的方法,方法包含以下步驟:自用崎翻於圖形處理 單元内之紋理過;慮之紋理資料的外部記憶體讀取紋理資 料; 。將紋理資料分衫個記憶庫;對記憶庫執行記憶庫撥 和操作;以及將⑽之記憶庫寫人至L2快取記憶體。對 於某些實施_言’將紋理·分為多個記麟包含將紋 19 200819987 S3U06-0027I00-TW 24578twf.doc/e Ο ο 理資料組織成具有對應索引的連續記憶庫,其中記憶庫儲 存在至少一快取線中,且將記憶庫組織成快取線。對於其 他實施例而言,快取線各自的大小為1024位元且記憶庫之 大小為128位元,以致每快取線存在八個記憶庫。在某些 貝轭例中,在逐記憶庫的基礎上執行將紋理資料分為多個 記憶庫且將龍之記鱗寫人至L2快取記紐的步驟。 在某些實蘭巾’執行記憶絲和包含錢映射位於交替 快取線巾的記憶庫。在某些實關t,執行記憶庫擾和更 包含將位於鄰近快取線中之具有相时引的記憶庫以關於 彼此成具有45度之數值的角而置放。在某些實施例中,重 新映射包含以下步驟··將記憶剌與記憶庫4調換;將記 憶庫1與記憶庫5調換;將記憶庫2與記憶庫6調換;以 及將記憶庫3與記憶庫7調換。 另一只施例包括用於處理圖形的電腦系統,電统 包含外部記㈣,其㈣儲翻於_處理單元内之紋理 過濾的紋理資料;記憶賴和模組,其㈣ ^收紋理㈣,驗理資料分衫個記麟,以及對=資 料之義雜彳了記憶紐和操作;以及^絲 ,接至記憶庫齡模組,其中u快取、财二 =重新映射之紋理資料。對於某些實施例:言二Ϊ 干在某些貝w列中,-或多個快取線各 位兀。在某些實施例中’記憶庫之大小為卜 快取線存在人個記麟。在mm心纟兀以致母 示二貝她例中,記憶庫攪和模 20 200819987 S3U06-0027I00-TW 24578twf.doc/e
Ο 組進-步可用以對交替快取線内之記憶庫執行記憶庫授和 才木作。在某些實施例中,記憶庫攪和模組可用以僅在自 快取記憶體提取紐資料綱出現記憶輕撞時執行記憶 庫攪和操作。在某些實施例中,記憶庫攪和模組可用以^ 自外部記憶體接收紋理資料之後執行記憶庫攪和操作。在 某些實施财,記憶賴和模組基於以下映射機制來執行 記憶庫擾和操作:將記憶庫G與記憶庫4調換;將記憶庫 1與記憶庫5難;將記憶庫2與記憶庫6調換;以及將 記憶庫3與記憶庫7調換。 、 又一實施例包括用於減少L2快取記憶體内之記情 ^:自L2快取記憶體提取 、、文理-貝料,其中紋理資料用於圖形處理單元内之紋理過 濾;確定在提取紋理資料時是否出現記憶庫碰撞,盆中纹 ,資料被分為位於L2快取記憶體内之至少一快取^中的 多個記憶庫;以及在已出現記憶庫碰撞時怜劼? ;庫授和操作。對於某些實施例而言,執行記 ν驟包含根據交替快取線重新映射涉及記憶庫碰撞的記悚 庫。在某些實施例中,重新映射包含以下步驟:將圮情^ 0與記憶庫4調換;將記憶庫丨與記憶庫5調換;將ς情 庫2與記憶庫6調換;以及將記憶庫3與記憶庫7調換二 在某些實施例中,將紋理資料分為多個記憶庫,其己 庫儲存在至少—快取線中,其中快取線各自的大小為;〇二 二立兀,且纪憶庫之大小為128位元以致每快取線存在八個 。在某些實施例中’在逐記憶庫的基礎上執行將紋 理貝料分為多個記憶庫且將資料之記憶庫寫入至L2快取 200819987 S3U06-0027I00-TW 24578twf.doc/e 區的步驟。 【圖式簡單說明】 圖1為圖形處理器系統之實施例的方 圖2說明圖形處理系助之紋理快取系統之部分基本 組仔。 圖3為例L2快取記憶體_格式的方塊圖。 資料卜㈣㈣轉送紋理 圖5為記憶庫攪和操作的實施例。 圖6為具有32 ΒΡΕ之解;I:斤辩的时:p田次丄丨 面積。 解析度的、、文理_貝料之4x8佔據 憶庫授和操作之後鄰近快取線中同樣編號記 小。圖8為記憶錢和操作之前錢之後轉面積之大 示用於執行記憶庫攪和操 u 之方法的實施例流程圖。 夕^丨思庫娅才里 户夕^、二緣不用於執行記憶庫擾和操作以減少記产廑綠 才里之方法的另―實施例之流糊。 庫碰 【主要元件符號說明】 100 :電腦系統 102 104 106 108
CPU 系統記憶體 紋理資料 糸統介面 22 200819987 S3U06-0027I00-TW 24578twf.doc/e 110 ··圖形處理系統 112 ··前端處理器 114 :紋理快取系統 118 ··紋理過濾器 120 :圖框緩衝器 130 ··顯示元件 210 ··記憶庫攪和模組 220 : L2快取記憶體 Γ 230 : L2快取記憶體 310 : L2快取記憶體 320 :快取線 330 ··奇數區塊 340 :偶數區塊 350 :記憶庫 410 :外部記憶體 412 ··紋理資料 414 ··記憶庫攪和模組 I 416 :快取線 418 : L2快取記憶體/快取記憶體 420 :記憶庫 510 :記憶庫 810 :佔據面積 820 :佔據面積 830 :佔據面積 A :距離 23
Claims (1)
- 200819987 S3U06-0027I00-TW 24578twf.doc/e 十、申請專利範圍: 1·-種減少2級(L2)快取記憶體内之記憶庫碰撞的 方法,其包含: 自用以儲存用於-圖形處理單元内之紋理過渡操作 的紋理資料的一外部記憶體接收紋理資料; 將所述紋理資料分為複數個記憶庫; 對所述記憶庫執行記憶庫攪和操作;以及 將所述紋理資料之所述記憶庫 記憶體。 Ο ϋ 寫入至所述L2快取 所狀將所述紋 將所述紋理資料組織成具有對應索引的連續記憶 庫’其中所34記憶庫儲存在至少_快取財;以及 將所述記憶庫組織成快取線。 3.如申請專利範圍第2項所述之方法,其中所述快取 =自之大小&腿位元’且其中所述記憶庫之大小為 128位兀,以致每快取線存在八個記憶庫。 =申請專郷㈣丨項所述之妓,其中將所述紋 理貧料分域數個記解以及將所述紋 ,寫入至所述L2快取記憶體的步驟是在逐記 +憶庫斤;;= 上執行。 ▲ 5.如帽專利範圍第丨項所述之方法,其中執行所述 =憶雜和包含錄映射位於交替快取線巾的所述記憶 24 200819987 S3U06-0027I00-TW 24578twf.doc/e 6·如申請專利範圍第5項所述之方法,其中執4亍戶斤4 記憶庫攪和更包含將位於鄰近快取線中具有相同索引的記 憶庫以彼此成45度角而置放。 7·如申請專利範圍第5項所述之方法,其中重新映射 包含: 將記憶庫〇與記憶庫4調換; 將記憶庫1與記憶庫5調換;將記憶庫2與記憶庫6調換;以及 將記憶庫3與記憶庫7調換。 8·如申請專利範圍第7項所述之方法,其中重新映射 更包含: 分析待重新映射之所述記憶庫以確定新記憶庫碰撞 是否將由於重新映射所述記憶庫而出現;以及 利用不同之記憶庫攪和模式,以避免新記憶庫碰撞。 9· 一種處理圖形的電腦系統,其包含: 一外部記憶體,用以儲存用於一圖形處理單元内之 紋理過濾操作的紋理資料; f、、、°己丨思庫攪和模組,用以自所述外部記憶體接收紋 所姐理㈣分為複數個記憶庫,且執行記憶 見*作以4新映射所述紋理資料的所述記憶庫;以 及 25 200819987 S3U06-0027I00-TW 24578twf.doc/e 10·如申請專利範圍第9項所述之電腦系統,其中所述 紋理資料被分為多個記憶庫,其中所述記憶庫儲存在至少 一快取線中。 11·如申請專利範圍第1〇項所述之電腦系統,其中一 或多個快取線各自之大小為1024位元。 12·如申請專利範圍第1〇項所述之電腦系統,其中所 a u 述ΰ己丨思庫之大小為128位元,使每一快取線包含八個記憶 庫。 13·如申晴專利範圍第9項所述之電腦系統,其中所述 。己k庫攪和模組更用以對交替快取線内之記憶庫執行所述 記憶庫攪和操作。 14·如申請專利範圍第9項所述之電腦系統,其中所述 記憶庫攪和模組用以僅在當自所述L2快取記憶體提取紋 理資料出現纪憶庫碰撞時,執行所述記憶庫攪和操作。 ^ I5·如申请專利範圍第9項所述之電腦系統,其中所述 冗憶庫攪和模朗卩在自外部記憶體接收所述紋理資 後執行所述記憶庫攪和操作。 、 “ 16.如申睛專利範圍第9項所述m统,其中 =憶庫紗模組根據—映_職行所述記憶 作,所述映射機制包含·· 诛 將記憶庫0與記憶庫4調換; 將圮憶庫1與記憶庫5調換; 將記憶庫2與記憶庫6調換;以及 將記憶庫3與記憶庫7調換。 26 24578twf.doc/e 200819987 i>JUUD-uu27I00-TW π.如申請專職圍第16韻狀電腦 述記憶和模組可用以分析待執行之所述帥雜中所 出現,且其中所述記憶庫授和 憶庫攪和模式以避免新的記憶庫碰撞。 己 、18.-種減少2級(L2)快取記憶體内之記憶庫碰撞的 方法’其包含:自所述L2快取記憶體提取紋理資料,其中所述紋 理資料用於一圖形處理單元内的紋理過渡; , 確定在提取所述紋理資料時是否已出現記憶庫碰 才里,其中所述紋理資料分為位於所述L2快取記憶體内 之至少一快取線中的複數個記憶庫;以及 若出現所述記憶庫碰撞,則對所述記憶庫執行記憶 庫攪和操作。 19·如申請專利範圍第18項所述之方法,其中執行所 述記憶庫攪和包含根據交替快取線重新映射涉及所述記憶 庫碰撞的所述記憶庫。 20·如申請專利範圍第19項所述之方法,其中所述重 新映射包含: 將記憶庫〇與記憶庫4調換; 將記憶庫1與記憶庫5調換; 將記憶庫2與記憶庫6調換;以及 將記憶庫3與記憶庫7調換。 21·如申請專利範圍第20項所述之方法,其中所述重 27 200819987 i>juuo-uu27I00-TW 24578twf.do〇/e 新映射更包含: 分析待重新映射之所述記憶庫以確定新記憶庫碰撞 是否將由於重新映射所述記憶庫而出現,·以及 利用不同之記憶庫攪和模式以避免新的記憶庫碰 撞。 u 22·如申請專利範圍第18項所述之方法,其中所述紋 理資料分為多個記憶庫,其中所述記憶庫儲存在至少一快 取線中,其中: ' 所述快取線各自之大小為1024位元;且 所述ό己彳思庫之大小為128位元以致每快取線存在八 個記憶庫。 23·如申請專利範圍第18項所述之方法,其中所述紋 理資料在逐記憶庫的基礎上被分為複數個記憶庫。 28
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81505306P | 2006-06-20 | 2006-06-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200819987A true TW200819987A (en) | 2008-05-01 |
TWI341976B TWI341976B (en) | 2011-05-11 |
Family
ID=39022707
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096122072A TWI395152B (zh) | 2006-06-20 | 2007-06-20 | 繪圖處理單元及處理邊框顏色資訊之方法 |
TW096122024A TWI367455B (en) | 2006-06-20 | 2007-06-20 | Systems and methods for storing texture map data |
TW096122026A TWI341976B (en) | 2006-06-20 | 2007-06-20 | Systems and methods for performing a bank swizzle operation to reduce bank collisions |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096122072A TWI395152B (zh) | 2006-06-20 | 2007-06-20 | 繪圖處理單元及處理邊框顏色資訊之方法 |
TW096122024A TWI367455B (en) | 2006-06-20 | 2007-06-20 | Systems and methods for storing texture map data |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN101145239A (zh) |
TW (3) | TWI395152B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8368701B2 (en) * | 2008-11-06 | 2013-02-05 | Via Technologies, Inc. | Metaprocessor for GPU control and synchronization in a multiprocessor environment |
TWI474280B (zh) * | 2010-04-21 | 2015-02-21 | Via Tech Inc | 增進繪圖處理單元之總處理量的方法與系統 |
US9230517B2 (en) | 2012-05-31 | 2016-01-05 | Microsoft Technology Licensing, Llc | Virtual surface gutters |
DE102015115605A1 (de) * | 2014-09-16 | 2016-03-17 | Jeffrey A. Bolz | Techniken zur Weiterleitung von Abhängigkeiten in einer API |
CN106611401B (zh) | 2015-10-22 | 2020-12-25 | 阿里巴巴集团控股有限公司 | 一种在纹理内存中存储图像的方法及装置 |
CN112381715B (zh) * | 2020-11-16 | 2024-04-09 | 航天科工(北京)空间信息应用股份有限公司 | 海量遥感影像并行生成地图瓦片的方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765182A (en) * | 1995-04-13 | 1998-06-09 | Lsi Logic Corporation | Interleaving memory on separate boards |
US5828382A (en) * | 1996-08-02 | 1998-10-27 | Cirrus Logic, Inc. | Apparatus for dynamic XY tiled texture caching |
US6552723B1 (en) * | 1998-08-20 | 2003-04-22 | Apple Computer, Inc. | System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline |
US6300953B1 (en) * | 1998-10-15 | 2001-10-09 | Nvidia | Apparatus and method for grouping texture cache requests |
US6266733B1 (en) * | 1998-11-12 | 2001-07-24 | Terarecon, Inc | Two-level mini-block storage system for volume data sets |
US7050063B1 (en) * | 1999-02-11 | 2006-05-23 | Intel Corporation | 3-D rendering texture caching scheme |
US6650333B1 (en) * | 1999-06-09 | 2003-11-18 | 3Dlabs Inc., Ltd. | Multi-pool texture memory management |
US6825848B1 (en) * | 1999-09-17 | 2004-11-30 | S3 Graphics Co., Ltd. | Synchronized two-level graphics processing cache |
WO2003065308A2 (en) * | 2002-02-01 | 2003-08-07 | Koninklijke Philips Electronics N.V. | Stepless 3d texture mapping in computer graphics |
TWI249144B (en) * | 2003-02-21 | 2006-02-11 | Via Tech Inc | Single level MIP filtering algorithm for anisotropic texturing |
US7053904B1 (en) * | 2003-12-15 | 2006-05-30 | Nvidia Corporation | Position conflict detection and avoidance in a programmable graphics processor |
CN1273940C (zh) * | 2004-04-12 | 2006-09-06 | 浙江大学 | 一种分级层次化组装式深度拼图集的快速绘制森林方法 |
-
2007
- 2007-06-19 CN CNA2007101120142A patent/CN101145239A/zh active Pending
- 2007-06-20 TW TW096122072A patent/TWI395152B/zh active
- 2007-06-20 CN CN200710123324A patent/CN100578542C/zh active Active
- 2007-06-20 CN CN2007101233278A patent/CN101114376B/zh active Active
- 2007-06-20 TW TW096122024A patent/TWI367455B/zh active
- 2007-06-20 TW TW096122026A patent/TWI341976B/zh active
Also Published As
Publication number | Publication date |
---|---|
CN101114376B (zh) | 2010-06-23 |
TWI395152B (zh) | 2013-05-01 |
CN101114376A (zh) | 2008-01-30 |
CN101122997A (zh) | 2008-02-13 |
TWI341976B (en) | 2011-05-11 |
TWI367455B (en) | 2012-07-01 |
TW200809691A (en) | 2008-02-16 |
TW200821988A (en) | 2008-05-16 |
CN100578542C (zh) | 2010-01-06 |
CN101145239A (zh) | 2008-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7898551B2 (en) | Systems and methods for performing a bank swizzle operation to reduce bank collisions | |
TW200819987A (en) | Systems and methods for performing a bank swizzle operation to reduce bank collisions | |
JP2005092879A5 (zh) | ||
US7439983B2 (en) | Method and apparatus for de-indexing geometry | |
CN109542382B (zh) | 手写输入内容的显示方法、电子设备及计算机存储介质 | |
CN104571604B (zh) | 信息处理设备及方法 | |
JP2005293589A5 (zh) | ||
US20060250408A1 (en) | Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment | |
JP2012003753A5 (zh) | ||
US10198831B2 (en) | Method, apparatus and system for rendering virtual content | |
US20130346696A1 (en) | Method and apparatus for providing shared caches | |
CN107079139A (zh) | 没有物理触发的增强现实 | |
US20070248259A1 (en) | Apparatus for reconstructing multi-dimensional image data and a method thereof | |
US20170329768A1 (en) | Method and system for displaying recognized text according to a speed reading pattern | |
JP2006528811A5 (zh) | ||
US20080158250A1 (en) | Rendering multiple clear rectangles using a pre-rendered depth buffer | |
GB2555168A (en) | Using labels to track high-frequency offsets for patch-matching algorithms | |
JP2022529201A (ja) | 意味論的拡張人工現実体験 | |
US20150254043A1 (en) | Display property determination | |
EP2615578B1 (en) | Image drawing apparatus with a cache memory | |
JP6168872B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
KR102145288B1 (ko) | 광시야각 및 고해상도 스테레오그램 생성 장치 및 생성 방법 | |
US20080165208A1 (en) | 3-Dimensional graphic processing apparatus and operating method thereof | |
CN109089150A (zh) | 图像处理方法及电子设备 | |
JP2020500569A5 (zh) |