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 PDF

Info

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
Application number
TW096122026A
Other languages
English (en)
Other versions
TWI341976B (en
Inventor
Jim Xu
Wen Chen
Liang Li
Original Assignee
Via Tech 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 Via Tech Inc filed Critical Via Tech Inc
Publication of TW200819987A publication Critical patent/TW200819987A/zh
Application granted granted Critical
Publication of TWI341976B publication Critical patent/TWI341976B/zh

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)

  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
TW096122026A 2006-06-20 2007-06-20 Systems and methods for performing a bank swizzle operation to reduce bank collisions TWI341976B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浙江大学 一种分级层次化组装式深度拼图集的快速绘制森林方法

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)