200900931 九、發明說明: 交互參照之相關申請案 本發明係以2007年3月6日提出之日本專利申 2其縣齡縣權日鲜,姐轉考㈣方式併入 【發明所屬之技術領域】
f V ^明係有關於記憶體存取控制系統、記憶體存取控制方 。明確而言,本發明係有關於用以控制處理,例如 料山己憶體類型之多核處理器中之記憶體存取組成之資 程式。㈤禮的記憶體存取系統、記憶體存取控制方法、及其 【先前技術】 預先ί:多出J高,作處理所需之資料 本專利八π八^1、驟體中。此糸統已被廣泛使用(見日 號(“St)t2GG6_41898 號(專觀41)及 *屬-78264 >^二例而5,揭示於專利資料1中之資料預先讀出系统是用以 是頁先讀出之熟知系統(見圖15)',變動補償 圖15 移動影像之圖框間預測裝置之位元流之處理。 方塊圖。在if”圖框間預測之裝置壓、縮之位元流之方法的 之資訊在輸入的位元1001根據儲存於位元流中 模式、看化失奴=机上只靶預疋長度的解碼,並供應關於編碼 單元1002。多、罝化正交轉換係數等者之所得之資訊至反量化 至變解碼器_亦供應參考圖片及變動向量之資訊 刻時70聰。反魏單元1GG2根騎供狀量化正交轉 5 200900931 換係數實劍定的反魏,並供應產生的正辑 =變換ϋ麵。反正錢換器_在正交轉換係= 貝實m 的反正交轉換,並供應產生的差動影像資訊至加法器1〇〇6。 曰,言之’變動補償單元1004根據所供應之參考圖片及變動向 =之貧訊利用儲存於圖框記憶體祕中之參考圖片實施預定 動補償,並供應產生的預測影像資訊至加法器聰。加 ^相正交變換器刪供應的魏、及觀_償單元觀 t應之預湖影像域,並供魅生的解碼影像資訊至圖框記憶 。圖框§己憶體聰儲存由加法器1〇〇6供應的解碼影像^ ,疋數目的片段,並將其供應至鶴補償單元刪,且 序亦輸出解碼的影像至外部。 于 、s私大致上,言丄因為儲存解碼影像的影像記憶體之尺寸極大, 卜书在具有嚴格資源限制之系統(例如載入系統)之快取記憶 很少能夠容納影像記憶體。 〜 因此,當解碼影像被寫入圖框記憶體中時,或是當參考圖片 If考日守,經常會導致快取錯誤,如此則會有礙高速解碼。為了 $決此問題’專利資料丨揭示在存取圖框記憶體之前先讀出儲 存於快取記憶體巾之相對應之:#料,藉此增加解碼速度。 專利資料2所揭示之資料預先讀出系統之特徵如下:包 =實施資料减讀出之線程、分析來源碼及插人啟動資料預先 3線程之處理至最佳位置之裝置、及㈣程式之較佳執行順序 次树取記憶體制度之單元。此祕意輯纟分析資料編譯時之 貝^,、、在適當位置插人產生雜預先讀出線程之處理、及在執 II ί里測程式之較佳執_序及快取記憶體細絲實施最佳操 处理’藉此決定是否要實施㈣預先讀丨。 ,、 Ϊ專利資料1中之資料預先讀出方法中,每次需要相對應之 赠%,就實施相對小容量之資_先讀出。 目比之下’在專利資料2之資料航讀出方法中,以與主要 、’、王,、、、關之資料預先讀出之專麟程實施資料預先讀出。此種差 6 200900931 異在多核處理器系統中特別具有顯著意義。 平扞處理器系統(圖14中之參考編號100)可同時 ^订實㈣數個線程、並利㈣料預先讀出線程實 f =會干擾主要線程之執行流,使用㈣預 === 有效地實施資料預先讀出。更進-步,若意欲資S先ί出 立:ϊ不需要預先的資料預恤處理,可利 用夕出之處理器獨立於主要線程而更有效地實施。 從上财_顯可看出,在解碼壓縮的雜影像 Α理且平行實辦,會造成空轉的處理器。參照 議序;度 =且=單之處理在大塊單元中不互- 後,=由成之 =之:於此圖框之處理轉幕:時=處 出出並固定於快取記憶體卜則可由空轉的處理器 置。上範例中之多核處理器系、統1〇〇之硬體配 置在圖14中,多核處理器系統1〇〇包含 ,配 U3...;藉由記憶體控制器12〇控制之 η雜2、 及快取記憶體m需要之主記憶體⑽存知作之〖夬取咖體130; 及分控制_ 湖及170分別#參考號碼 :=取記憶體130 “ 140亦以未顯不之醜排連接於記憶體控制器⑽。_ 4體 200900931 的儲存’但主記憶體⑽為大容量 取之儲存裝置,其能g睥儲广有小谷κ,但是能夠以高速存 體控制器120在各個處理命令及資料。記憶 取控制、且在快取記丨 憶體⑽之間實施記憶體存 取控制。處理器m Γ112 圮憶體140之間實施記憶體存 體130、或是主記憶體140中之亍儲存於快取記憶 若將利用複數個線程執行寫;;之^、作 :呈式,仍可藉由不同的處理器ί行‘i程儘:j程巧相同 然而,疋ί記憶體140而共用資料。 第-—而言涉及不同問題。 核處理$之—己,卜1 f,處理大部分是由共享記憶體類型之多 讀出處理)的情況中,若處理(例如資料預先 理相容性劣化。 力釭作處理會被干擾,使處 欠在揭示於專利資料2之方法中,在圖14所干之處琿哭n9由 3^讀咖212增權預先^ ί ^預先頃出(以下簡稱為「平行執行處理」)在另 5 彳^彳^1^辭行執行處理231是獨立操作的, ^^,11 m ΑΤΐ2Ϊί^1〇°' ^211^212^ 器同日ί實航憶體存取,則在圖14所示之記憶體控制 體130及主記憶體140之間的匯流 】: ,體f取的競爭。_而言,既然資料預二 r;預先頃出處理器232計係實施記憶體存取,則會輕易造成與$ 200900931 一處理器之記憶體存取競 之記憶體存取被干擾之缺 平行執行處理器况 Μ之處理相容性劣化。 献職由實施資料預先讀出處理 低存取ii,篇置一間隔而降 取競爭。因此,可先^間隔越來越長,則會減少存 時間。然而,換言^ ^丁^器攻執行平行處理之所須 處理之所須時間增加。科預先項出處理器232執行之預先讀出 231二須隔改變時,平行執行處理器 處理器233之所須時間^令^出232、或是資料預先讀出 表示平行執行處理哭231 在圖Π中,斜向下的線2001 料預先讀出處理器‘間’且斜向上的線2002表示資 則可決定最佳231之所須時間之平衡點·3, 妙工科預先讀出間隔。 ;>" 不忐輕易找到資料預先讀出間卩s 9 ΑΑ f 了將描f原因作為第二個&⑻疋最佳化的點2003。 化以降低記以控:J料預先讀出處理為最佳 及記憶體存取時序之靜熊分^達=,/、此以編譯程式時的資料流 劇烈,且更存^序取決於輸人條件改變十分 但是記憶體存取時序4統中,即使輸人資料相同, 理之線2〇01並不總序是並相不 。可由圖17中表示平行執行處 每次都會改變。因此,雜\ /\了解,如此則意味著最佳點2003 先讀出,如此料致如式編譯時以靜態分析控制資料預 且不能避免存取競爭。更進4 ==先=;析 200900931 叙糸統中分析資料流。 ㈣办像之解碼)而明顯改 【發明内容】 存取:標憶;存取控制系统、記憶體 ^且成的資料預先讀出處理)有部分由記憶體 ί多的降低競爭,藉此有效的體存 夕核處理器中各個處理器之處理相容性。、旱记憶體類型 達到此例示性目標,根據本發明之-例-卜 ,體之存取之系統丄===處理中之快取 程適用於依平行=、ϊί====隔’資料預先讀出ϊ 流。 可㈣之千仃處理之輸入值而改變的資料 實施iff本㈣於影像解碼之情对,根據本㈣之-例-地 器處理工作時,用统ί當共旱記憶體類型之多核處理 之系統,此工作預fi出處理之快取記憶體之存取 資訊儲存至記線程’預先讀出把解石馬的影像 線長,平行於對應位址 =二十^執仃 償產生之預^換所產生之差動信號、及由變動補 其控制資料包含資料預先讀出控制器, 、埒預先》貝出處理線程適用於依平行執行線程中之平行處理 10 200900931 之輸入值而改變的資料流。 式或為硬體之情況,但本發明可建構為程 用以性實施態樣之記憶體存取控制程式係 線處理之間的間隔’資料預先“ 流,在共享記,隨麵平仃處理之輸人值而改變的資料 制資料贱讀出處理之“===理工作時’此控制系統控 實施執行程式之平核、及平行於龍預先讀出處理 性實之情況中’根據本發明之另—例示 系統之電腦在政“‘j私式係用以使組成記憶體存取控制 之間的間隔的功能,資料出線知之資料預先讀出處理 之平行處理之=值㈣用於依平行執行線程中 線程,用以預先讀出把解碼的^包含資料預先讀出 體之對應位址之資料、及平存至記憶體之圖框記憶 址,把解碼的影像資訊儲存至私組^行於預先讀出對應位 像而形成。 動讀、及由變動補償所產生之預測影 取控制方法為:實施例之-記憶體存 存取的方法,此I作包含實之快取記憶體之 程、及平行於資料預先 °貝出之貝料預先讀出線 ,控制資料預先讀出線程中的二^^^·線程。此方法係 寅料預先如輕義雜平行―===== 200900931 而改變之資料流。 理之情&中,例如大3是在實施記憶體存取頸處 體存取組成之資料預先=處;;己==咖 憶體競爭而造成之處理相容性體存取之處理器之間的記 之所須時間。如此職進有效的記憶衡各辦時平行處理 【實施方式】 以下,將參照關詳細描述本伽 如圖1所示,根據本翻之 實關。 用以控制資料預先讀出處理處理工作時, 統,此工作包含實施資料箱春雄…' 之存取之控制系 平行於資料_讀出處理實施^ g 線程、及 先讀出控制器22,控制6含以下基本配置:資料預 唄出線孝王、及平行於資料先山=里·^貧科預先 線程),資料預先讀出控制器處理之平行執行 預先讀出處理之間的間出線程中的資料 根據本發明之例示性實二直而改變之資料流。 處理器實施記憶體存取頸處理,例如pg;:H、體類型之多核 數個處理器之間平行存取記憶體造成之記憶以 12 200900931 處理相容性劣化,以便平衡即時的分別平行處理之所須時間。藉 此,由於複數個處理器實施記憶體存取競爭造成之處理相容性^ 化可被有效控制,如此則能實現有效的記憶體存取之效應。 (第一例示性實施例) 〜 例 以下將根據明確範例更進一步地描述本發明之一例示性實施 π。作為第一例示性實施例,其中,首先描述可預測平行處理= 所須時間、及資料預先讀出處理之間的間隔可被控制的範例。 如圖1。所示,在多核處理器系統101中,例如共享記憶體 型之,理^ 2處理肋實施資料預先讀出之#料預先讀出線程、 且共旱δ己憶體類型之處理器1處理平行執行線程。在此種況 當處理^、2...、η存取快取記憶體13〇以便處理工作時(此工 貝料預先讀出線程、及平行執行線程),需要控制資料預先 讀出處理之快取記憶體13〇之存取。 、 出處示ίΓί例為控制資料預先讀 含η個處理器i ^器系統包 器120、快取記憶體13〇,苴中存 ;己憶體控制 控制、及主記髓14G。儲存之操作係由記㈣控制器⑽ ==41=之匯流: 儘管:tii _體_器i20。 之儲存裝置。'丄有體二〇 f 之儲存裝置,其能暫時儲在幸= 里但疋此以咼速存取 的記憶體存取、及快取呓σ ) 2、3...及快取記憶體130之間 存取。各個處理器丨、2、及主記憶體140之間的記憶體 .…、、、執行儲存於快取記憶體130或是主 13 200900931 §己憶體140中之命令之可操作裝置。 2 1 執行讀中;= 執行於資料預先讀出處理之平行線程ί ΐίί由處理器、 讀出處理及資料預先讀出控 配置為硬體,則射處理^ 2實施:細^ 處理益2 2Α包含資料預先讀出處理器21、 斜 釦之處理系統 第一例示性實施例之平行執行 ,q。碩出控制器22。在 理、及用以預測平行執行處理實Ϊ平行執行處 置為硬體時,其中處理器】每 批時處理。富處理器1配 平行執行處理器U及所須程之處理系統1A包含 間預測單ί 11實施平行處理,且所須時 根據由所須時間預測單 <貝村頃出控制器22 線1 呈之Ϊ制參數,於使料預先讀出 y料預先讀出處成為最小、 f理器21根據由資料贱讀出控ί者’ #_先讀出 料預先讀出。由處理系統1Α :22決疋之控制參數實施資 須時間的資料通過内部間預測單元12所預測之所 料預先讀出控制器22。1 (早凡·傳送至處理系統Μ之資 _有效^^ 之記憶體存取控制功能 ,之所須時間,财可能有效處理,時實施之平行 双爭造成的處理相容性劣化免由於處理器之間之記憶體 更進-步,既顯料預先讀:了有效的記憶體存取。 盗1之平行執行處理器u基於^制益22猎由設置於另-處理 貝科處理之所須時間之預測值而設 14 200900931 定資料預先讀出處理器21之資料預先靖屮 之時序),立則可更有效地減少了出間隔(實施記憶體存取 應注意者為,若儲存於主記憶體14〇中之 置)而使其可被複數個線程執 ^日、:呈嫂 各個線程可通過快取記十咅俨n 5 &千仃執仃。更進一步, 為與稍後將描憶體140共享資料。此 向# & # 1一及弟二例不性貫施例為相同情況。 資1 ° 皁兀2〇0係用以儲存快取記憔體130中之通产 ί二,憶體控制器控制讀出及寫人快體之f施 且控制線程之間(處理器之間)的資訊傳送⑽體之實施, 處理系統2A在處理器2之上啟動,卢 之上啟動,藉此可分別實施預定的資Ϊ處i。糸、級在處理器1 所須時間預測單元12利用在 入至處理之輸入值來預測平行執行 1理哭^理益11執行之前輸 預測值予内部線程通信單处°。11之所須時間,並提供 體快取記憶體m或是主記憶 之所須時間(預測值;至以專J處,統1A中之資料處理 2〇〇暫時儲存從所須時間預測單元12輪二上預、=陳:通信單元 直到此糊值被資__出控㈣糊值,並保有此值 之平行執行處理器u之預測值出線程通信單元200中 處理器21中之資料預先讀出i理值決定資料預 置各個資料預先讀出出控制之控制係為了設 21之操作結束時間不I :以使貝料預先讀出處理器 心-又置讀預先讀出間隔之原因 :、υ時間。 性。因此,藉由指定最佳的憶體存取競 預先頃出處理之控制參數 ^ 土》貝出間隔作為資料 1 文地只施貧料預先讀出處理。參 200900931 之參數實施資料預先钱 貝^預先喟出控制器22決定 取記憶體m。在此t ’Λ粒記_14G之資料至快 先讀出之情況之建其_ _令予資料預 構中,必須利用ΐ;斗存ίίί專用印令予資料預先讀出處理之建 (”二實施資料預先讀出。 第-;例示性實施例之整體操作。 利用輸入域_ ητ< S 11操作之前,所辦間侧單元12 所須時間,並輪行^器11所需要之 間預測步驟) 1至處理糸統2A。(步驟SKU,所須時 v 驟,:;;=驟接=的所須時崎 處理基於制_難蚊龍預先讀出 隔設定步驟t出祕之間的間隔(步驟S1G3,資料預先讀出間 制參ΐΐ動出控制器22根據在步驟S1G3伙定之控 讀出操作Hit出ί理器21,以使其根據設定的資料預先 係利=;=出5專用命令之建構中,資料預先讀出 ρ "而實施。換言之,若無準備資料預先讀出之專 200900931 用用資料存取命令明骑施資 3步驟_之内容直啦成資料預先讀出(步^)。 既。已配置例示性實施例使處理系統1A巾設有^ )。 測皁^ 12,則可預先預測由平行執行&寺預 料預丄at -資韻之資咖先讀域^且資適用於 之輸入值而改變。心卜,1斷者和了執仃處理器11 制記憶體存取競爭Γ n只際上且有效地避免或是壓 成為之操作t,分別步ί之元件可形 示性實施例相同之操作效用。χ 配置’可實現與第-例 (第二例示性實施例) 接者’將描述應用根據本發明之盆由_^士3 & a 範,,旱碼作為本發明之第二例雜控制系統之 存,制系統建構為'系統,其能夠ί;享:==之f意體 ,藉由存取快取記憶體來處理工作時,控制;料預弈處 中之快取記憶體之存取,此 ^ ϋ貝枓預先讀出處理 储存解碼=====«输健而實施之 由變動補償產生的以正父轉換產生的差動信號、及 讀出控制器,其能夠控存^制系統具有資料預先 行處理之輸入值而改^私適用於依平行執行線程中之平 碼移_伽中用以解 法之手段編碼。在第-二移賴片係由圖框間預測方 在弟—例不性貫施例中,變動補償單元5M亦作 17 200900931 為第一例示性實施例中之資料預先讀出 資料預先讀出目標相當於用於儲存^應位址之 圖框記憶體515 (對應於圖15中之⑽像J訊之 密碼解碼器511 (對應於圖15中之_)相5第一;二;二气 例中之平行執行處理器11。影像資邙 = 彳不性只施 有由反正交變換器513 (對應於圖15中_^ ^^訊g其中 像、及由變動補償單元(對應於圖 ==3)所^生的差動影 更進-步,在圖4中,可變長度產Λ的預測影像。 512相當於第—例雜實施财之預測單元 f =弟—例示性實施例之資料預先讀出控制器22之^^ 項出控制器,且資料預先讀出控制器( 貝=預先 元512輸入預測的所須時間之資料, 一,里)之所須時間係有關於輸入位元流之位元 解以======碼器M1實施之 ^2ΪΓ(™4! 度執行線ά測 及模型公式以從輸入位元長 18 200900931 t之變長度密碼解碼器511 (相當於圖2 f器21實施之資料預先讀 動。出= ,實施由反正交變換器== 、立及由加法益516執行之加總處理。 八宝意者為,對於變動補償及反正交轉換而言,在一圖框中 理’以便實施平行载人分怖處理。更明確而言,可變長二 ΐ ίS3 Γ峰馬處理係由圖”之處理系統1 A實二 瑰】!!預先5買出處理器21對於圖框記憶體515之資料預先讀出虛 理係處理系統1Α之系統(亦即,處理系統^^處 本預先讀㈣皆實施之間隔設置方法,插入迴圈 f體為ΝΟΡ命令之测,且控制實施倾 , = 個週期而無其他任何#作之命令。迴圈之週期數目 係為设定資料預先讀出間隔之參數。 ’ 可㈣性實施例’村能可以有效地壓制或是避免在
可解碼之間之記憶體競爭造成之處理她性劣化,並 了促使有效的記憶體存取之資料預先讀出。 I 接著,將根據圖7描述第二例示性實施例之操作。 變石密碼解碼所_間預測單元522預測將由可 至可變長度密碼解竭器521之輸入值。應注意者^, ίίΐίΓ (^sm' 理個共享纖體之實财變紐鹤解碼處理的處 可變長度密碼㈣器521之解碼處理之所須時ί 測值)至處理系統2Α (步驟S112,所須時間麵值接收步 在共享記憶體類型之多核處理器系統中(圖i中之1〇1),此 19 200900931 =不是必須知道的。處理器上之線程操作中之相 、 早,『處:統寫 部線程通信單元中之解碼時儲存於内 出之控制參數之資料預先讀出間隔頁予 及NQP迴圈之週_域為二#二型中^預先讀出 §史定為「週期之最大個數,且其中 、 最小參數值 Γ =變長度密碼解碼所須_」、(步驟時^不會超 定步驟)。 貝科預先頃出間隔設 儘管因為資料存取之競爭隨著 讀出所須時間超出可變長度密碼解^所論=減=若資料預先 圖片之必須處理時間會變長。 、、B 用以解石馬移動 接著,藉由決定之參數,資料預先靖。 先讀出。在其中備有資料預先讀出之實施資料預 先讀出係利用專用命令而實施。換言 建,中,資料預 :專用命令之建構中’需要明確實;資料身,先讀出 中,利用資料存取命令,例如讀出命此種情況 憶體位址之存取,且:#_魅記 "卩;實施對於記 中(步驟S114)。 ‘,、體4〇儲存至快取記憶體130 在未備有資料預先讀出之專用命人 命令之外的實際資料亦通過連接記L作為除了存取 及快取記憶體13G之匯流排(圖丨(圖1中之120)、 ⑹中會輕易導致競爭。因此, 乂而傳送,在匯流排 憶體存取競爭之效應。 ^達成例示性實施例中減少記 節^步驟SU4之内容朗資料贱讀出結束為止(步驟 利用此方式,當賴糾_8 22之記憶體存取控制功 20 200900931 月b在藉由資料預先讀出處理器次 作、且在另-處理器!中之由平之_貝枓預先讀出處理有效操 之所須時間可即時如上述平衡干^器η實施之平行處理 理器之間之記憶體存造的地壓制或是避免處 示性=;ί實現有效的記.====劣化。因此’例 之操作内i可配置例二以之操作描述中,各個步驟 置’可實現盥第々丨-叫^ >吏電知實施此等操作。利用此配 例她鴨作朗。 轉處理器之監控另一處理器、且 作為第三例示性實施例。、1先喝出處理之間的間隔之範例 如圖8所示,在木於明夕笛_ 2 出控制器22包含另—處;^實施例中,資料預先讀 預先讀出線程之處理的處理器 =早70 23 ’f可監控除了實施資料 先讀出控制器22藉由比較由# 、处理盗之處理狀態。資料預 器之處理狀態、及t實空單;^監控的處理 ,來控制資料預先讀‘出的^處理之處理器的處 預先讀出控制H22具有的咖。更進-步,資料 數,且重新設定相者於由另一、卢先,出處理之初始值之控制參 處理狀態 之ii/it由另—處理器監控單元23監控的處^ ▲控單元23可政批ώ声裡金 处里态▲控單元23,另一處理器 資料處理之進二工更進%、,、資亍執行處理器11執行的 處理器監控單元23於ψ _^枓預先躓出控制器22根據從另一 之有關進度執行處理器11實施之資料處理 料預先讀出處理之間$間=:由貝科預先讀出處理器21實施之資 應注意者為,資料預先讀出控制器22係用以重新設定資料預 21 200900931 貝出處理之間的間隔,若由資料預先讀屮ν _ 處理係在由平行執行處 貝=頁先:買出處理斋21實施之資料 得較長;若由資料預ί讀^ 處理之*,則使間隔變 執行處理器11實施之資料产 只靶之貧料處理係在由平行 第二办丨_ M·银a 、科处理之後,則使間隔變得較短。 •所須時間預測單元12),且之^員時間之預測(未設置 中之處理之另-處理器監控具有用以監控另一處理器 在圖8所示之例示性實施例中,者 ΐ行處理單元丨1傳魏理之現錢 單元提供至内部線程通信 處理進,至資料預先讀出控制器22。、處理進度,且提供讀出 所須: 示性實施财,資料預^出==2決預定=參數,但在第三例 初始設定。換言之,在第一例示性^員^、$疋:控制參數作為 出處理器21開始操作之前就維持控制^袁,儘管在資料預先讀 ^示性實施例中,控制參數係在資^/先決定者,但在第三 且古換句話說’在第三例示性實猶f中,資^^度士而重新設定。 狀控制參數作為她值,且ϋίΓί制器22 之處理進度麵設定控制參^處理器監 更進—步,當資料予頁先讀出控制哭22 1霄施之資料處理之進度時,資料預要由平行執行處理器 出處理器21同時實施^器22亦需要由資 先3貝出控制器22比較有關這兩種 進度。然後,資料預 預先讀出處理器實施之資料處理係在由平片^ 心王裔U實施之 22 200900931 資料處理之前,則資料預先讀出控 ϊ二進度比最佳奴還要快,所讀料預先處i里 H制參數,以便延長簡絲讀出_。比較之^ — ί 器22決定資米^:^ =理在f面’則資料預先讀出控制 預先頃出控制器22重新設定控制來數二戶5以#枓 - 資料預先讀出處理哭” /資枓預先讀出間隔。 / 重新設定控制參數之資訊。出f概22作為用以 有者相同。 胃,、他配置則與第-例不性實施例所具 (^三例示性實施例之操作) 作。接著,將根據圖9顯示之流程圖描述第三例示性實施例之操 之資^先讀出處理⑽ 由所須時_測單元12 中’係根據 實施例中’預先給定、料參數’但在第 (步驟咖,先出’料祕設定之初始值 接著,步.出間隔初始值設定步驟)。 理#由-欠』丨乂 乂驟S2〇i中決定的控制表數,資祖猫庄咱 理係由資料預先 數’貝科預先讀出處 資料並儲存於快取記憶體,21貫細’且從主記憶體⑽榻取對應 步驟)。 ’ 尹(v驟S202,資料預先讀出處理 ♦施之ί料=以決$資料預先讀出處理器21 項出處理器21實施 ^ 理完成,則由資料預先 若由資料預弁接二光二出處理就結束(步驟S203)。 ,另一處理器監控ΐ元之,先讀出處理尚未完成, 並提供讀出之處理進度至資貝出千二執行處理器η之處理進度, 貝枓預先頃出控制器22 (S204)。 23 200900931 及資料預先另處理器監控單元23、 度、及資料預先讀出卢 '、、仃執行處理器11之處理進 處理控制器22比較此進益度,後’資料預先讀出 之資料處理先於由平 右由=預先料處理H以實施 =ϊΓ22重新設定“ 料預 且右由貝料預先讀出處理哭2=貝枓預先颉出間隔, 處理,則資料預先讀出由重平‘%處 間監二在丄二頁先讀出處理之各個預定時 (並也壓制資料預先讀出線程2Β之費用)。控早70 23之費用 哭”如"^述’既然第三例示性實施例包含用以臣,单n 器11之處理進度之另—處理器 ,執行處理 及資料預先讀出控制器22,以^=( 81 8中之參考標號23)、 處理器2!之進度,藉此調整資料$ 預先讀出 可能可以控制資料預先讀出處理,出處f之^的間隔,則有 序:資料流及存取時序會因騎行執^貢料流及存取時 隨著區域偏向處理、及處理中之延17 之干擾因子而 處,11之進度、及資料預先讀出處理器據=執行 預先讀出間隔為最佳值。 進度,凋整貧料 換口之,如此配置第三例示性實施例,以6 一 理器11所實施之資料處理進度、及由資料預先:出^^執行處 施之處理進度,且根據狀態重新設抒料預先“二21實 3貝才*u及存取4序會因為平行執行處理 ^ 隨者區域偏向處理、及處理中之延遲而改變。藉而 24 200900931 實施例具有能夠有效減少記憶體存取競爭 應注意者為,第三例示性實施例可配,‘搞〜、 驟之程式,以使電腦實施此等步驟。 了執行内容為分別步 與第一例示性實施例相同之操作效用。、& 以此配置,仍能達到 (第四例示性實施例) 接著,描述應用第三例示性實施例 為第四例示性實施例。第四例示性實解碼處理之範例作 理配置包含圖8所示之另— 23係用以監控另一處理器(亦 _^%里斋·1^工早兀 (r 4» 在從另一處理器監控單元a接收資睡 :,以係用以 ==間隔的控制參數。'此等實施態:s先 ,刪單元522所獲取之預測值而決定,口二= 先讀出間隔之控㈣訊係在資料預先讀出控制 初始設定。應注意者為,在初始設定中之資料 ,先j間隔可為〇 ’且可在由資料預先讀出控制器22實施之資 ΐΞ處理之中做出調整(步驟s2n,資_先讀㈣隔初 始值3又疋步驟)。 ^ :f料預先讀出處理實施數次。在第四例示性實施例中, 次數設定為能夠在巨大區塊之水平方向實施-條_資料預先讀 出處!f的數目。大致上而言,移動影像之解碼處理係在巨大區塊 之二單元中實施。上述之可變長度密碼解碼器521實施之解碼處 =實際上,在巨大區塊單元中實施,所以在巨大區塊單元中實施 資料預先讀出處理客觀上是合理的(步驟S212,資料預先讀出步 嫌、0 25 200900931 —實施一條巨大區塊線之資料預先讀出處理的原因是:若要對 每個巨大區塊皆實施監控,則控制的費用會很大。另一原因是: 像素資料之小塊並未在巨大區塊中連續,且資料之小塊只在資料 小塊是在巨大區塊線中時’才會連續固定於記憶體中。因此,讀 出至快取線是有效率的。 然後’決定由資料預先讀出處理器21實施之預先讀出處理是 否完成。若已完成,則由資料預先處理器21實施之預先讀出處理 就結束(步驟S213)。
士然後’在實施一條巨大區塊線之資料預先讀出之後,資料預 先讀出線程2B之資料預先讀出控制器22需要由可變長度密碼 碼器521實施之資料處理的進度(步驟S2M)。 此時,若由可變長度密碼解碼器521實施之處理並未完成一 條巨大區塊線之處理,則決定由資料預先讀出處理器21實施之 料處,先於最倾定,所崎長:#料預先讀出_,以延遲資料 處理^ 21之進度。對比之下,若可變長度密碼解碼器521 $超出-條^大區塊線之處理,則蚊由資料預先讀出處理器 以佳設定’所以驗賊預先讀出間隔, 先處理1121實施之f料處理(步驟咖預 器定碼解碼 ^直重複,制㈣&實施之m (第五例示性實施例) 接著,將描述根據平行處理所須之卿時間 之處理狀縣決定資料預先讀Φ處理 :理器 五例示性實施例。 j扪間隔的乾例,作為第 26 200900931 時間’且資料預先讀出批岳丨丨哭”七人 監控除了實施資料預先^出^程^^ 監控單元23,其 處理狀態。資料預先讀出_制 ^里$之外的處理器之 監控的處理監控單元23 讀出線程之處理之處理哭處 1 i心、實施資料預先 的所須時間測單元12 _ Γ 程之處理狀態重新設定控制參數。物里為實知的平行執行線 中,處理祕示’在第五例示性實施例 12預測的平行執行處理根據由所須時間預測單元 先讀 23,其監控22包含另一處理器監控單元 施之資料處理,病毒_於1度之= 如平理器u)實 變地設定資料二 揭示為具有町配置:除了 2C包含另一處理器監控^生只施射之配置之外,處理系統 處理。更進一步,新加入’另1理器實施之資料 置。應注意者為,平行執行處理 27 200900931 程通信單元即時提供如上述之有關於處理器2之進 單元2。。= 隔提供至内部線程通信 態至資料預先讀出控制器^資 = 里先t度 ' 且=賣出之處理狀 =性實施例_之方式決㈣料預先與第一例 為初始奴:根據縣讀出之資料、 :之控制參數作 值。在第五例示性實施例巾、 ,仃處理器' 11之預測 之處理進度重新設定控^數 ====元23提供 資料預先讀岭理$ 21實_^—的情況。 度號碼至資料預先讀出控制器22^實=^現 二例示性實施例所具有者相同。 t施&樣係 (第五例示性實施例之操作) ^著’將根據圖I2來描述第五例示性實施例之敕 應注思者為,圖12所示之由步驟S3 J ς體^乍。 亦即,藉由所須時間預測單元12及資料預先t的操作, ϊί 實施例中所獲取之預測值來決灯^預 預先讀出控制器22之協同操作相同(圖3中 一更進一步,由步驟S304到幻〇7表示的操 巧不性實施例中,藉由資料預先讀出處理器2卜另二二里f$ =23:及資料預先讀出控制器22重新設定控制參數 知作’係與第二例示性實施例中之藉由各個單元犯人勺刀別 之協同操作(圖9中之步驟S202到S205)相同。 、及21 測二之 j行處理器1丨之處理進度、或是由監㈣料預先讀 之處理進度來重新設定資料預先讀出控制參數數次。因=里^^ 28 200900931 取決於輸入值之變異的資料預先讀出、近端偏向 =f、及貝料、机、或是隨著因為平行執行處理器η之干擾而產生 、处^延ϊ之存取時序,因此可以有效地減少記憶體存取競爭。 應注,者為,在上述之第五例示性實施例之操作描述中, =驟容可被程式化,以便使電腦實施此等操作。以此 -置,y達成與第一例示性實施例相同之操作效用。 (第六例示性實施例) 理之ίΐΐΐϊ述應用本發明之第五例示性實施例於影響解碼處 所示Ϊ第2 ΐΐ雜實施例。第六例示性實施例之配置與圖4 0單元FlT具施例相同’且加入圖11所示之另一處理器監 二L圖所示之另一處理器監控單元23監控圖4中之相 ^ ^ 丁執行處理器11之可變長度密碼解碼器521之 :例^實於:控、?果重新設定控制參數。此實施態樣與第 制失數/ I在此情財,監赠魏度及重新設定控 ,ίί 第四例不性實施例相同之配置及步驟實施。 用在ΐ二f示性實施μ中’可變長度密碼解碼器、521係利 =但是在ί六例示性實 之資料預先讀出處理器21在資料預先讀施施例中所通 變長述第六例示性實施例之操作。首先,可 ί 變ί度密碼解碼之所須時間。應 位元長之模型’藉由使用輸入位元流之 ,驟=度貫崎撕此测,如第-例示性實補巾 驟可、k長度密碼解碼所須時間預測步驟)。 心貝時間預測值’並根據資料預先讀 29 200900931 H mp迴圈反覆次數之間的關係決定作為初p定 =T,隔之控㈣如第-例示性貧:中: 束由)編先讀出處理器21實施之;出先;理二 更進—步,如第四例示性實施例中之情 =Si=;6r且 1變長度密觸== 先讀出間隔參數。^之,若由果’重新設定資料預 密碼出處理之監控、及由可變長度 數之重新設定合重複$二二之監控、及貢料預先讀出間隔參 理完成為止%重喊到由讀縣讀出處_ 2丨實施之資料處 之另=監===第四例示性實施例 目標。 ^之存取日一。藉此,可以可靠地達成本發明之 在北士a上述之例示性實施例具有以下效用。 體存取芯處理器中之第-效用是:儘管記憶 样曰在實知§己憶體存取處理時造成,例如大部分由記憶 30 200900931 體存取組成之資料預先讀 處理器中由競爭造成之處 =可=避免或是壓制各個 取。 碰魏’以實現有效的記憶體存 競爭理之所須時間、及會因為減少存取 適用於及:理為最佳 ’以減少動態 人值、近端偏向處理、由“二處理之平行處理之輸 、體存職爭。 田讀因子造成之處觀勒改變的記憶 輪入值決佳的讀出處理之平行執行處理之 =讀出處理:藉行 ===來決定最佳的資 時間預測單元,蜂入例中’平行執行處理器設有所須 由所須時間預測單元預測所1 j予f先處理控制器可根據 資料:先 之資料處理之所須日^ C ΐ根據由平行執行處理器預測 出間隔時(實施記憶先資料預先讀 更進-步,作Am ω·ΐ; 了有效的減少存取競爭。 包含另—處理器監控單元,先讀出控制器可 處;;及具有預先讀出間隔;;=tl 實ϊ之資料 且可以在—處理器中直接得到進度時,即使在資然 31 200900931 度可變地設定資料預先讀 料處理超前由平:執;=号产處理器實施之資 預先,間隔二Γ;用】; ^後由平行“處理ΪΪ施先實施之資料處理落 先讀出間隔使其縮短。 地則可用以重新設定資料預 更進一步,作為第十例 須時随解元,其·由平行2細處麵設有所 須時間,且資料預先浐屮批岳 I处里110只她之貧料處理之所 平行執行處理器實施根據由所須時間預測單元預測的 其監控由平行執行處理器實施處理器監控單元, ,之資訊,且資料預先讀出控制定有關進 制器,根據由平行執杆卢早兀、及貧料預先讀出控 設定資料預先讀出控制“二ί:巧2當且:變地 =體存取競爭,此二者之;==化 器透:口實=,本發明可使-處理器及另-處理 係透過内部線程通^單^實^且處理益之間的資訊傳送及接收 讀出快取記彳咅體 <:°以错由傳迗圮憶體控制器寫入及 再更進1之;;ί第,,,之間的她^ …、弟十一例不性貫施例,本發明可使記憶體 32 200900931 以 ㈣統設定為影像解瑪系統,#料預先讀 储存解碼的影像資訊之圖框記鍾之對應位址,巧目 ==:變:K密碼解碼,且所須時間預測單元根= 入之位兀流之位兀長度預測可變長度密碼解碼之所須時間。 ί 訊定步:為第十五例示性實施例,在預先讀出間隔重新 驟中,Υ設如容’若資料預先讀出處理超前由平行執行 f ϋΐ施之,處理’重新設定資料預先讀出間隔以使其延 二’ ί貢料預先讀出處理落後由平行執行處理器實施之資料處 ’則重新設定資料預先讀出間隔以使其縮短。 取為第十六例示性實施例’亦能夠應用記憶體存 透過反影像解碼處理所產生之影像資訊之 ί址,並设定平行執行處理於可變長度密碼解碼處理。 進一步,作為第十七例示性實施例,亦能夠應用記憶體存 =制方法於影像解碼方法,體定龍預先讀出之目標為用於 铽^解碼的影像資訊之圖框記憶體之對應位址,其中加入藉由反 二交,,所產生之差動影像、及藉由變動補償所產生之預^影 像’設定平行執行處理於可變長度密碼解碼處理,且在所須時間 f測步驟中,根據將輸入之位元流之位元長度預測可變長度密碼 解碼處理之所須時間。 更進一步,作為第十八例示性實施例,亦能夠應用記憶體存 =控制程式於影像解碼程式,在程式中設定資料預先讀出之目標 為,以儲存解碼影像之圖框記憶體之對應位址’其中加入藉由反 正交轉換所產生之差動影像、及藉由變動補償產生的預測影像, 33 200900931 設^平行執行處理於可變長度密碼解碼處理, 兀變長ΐ密ΐ解碼處理之獅^ ,,士二=貫%例中描述資料預先讀出處理之記憶體存取 =====限於資料預先讀出之情況。本發明亦可用於 制。更進—步'ιίΐϊί ί 理之記憶體存取控 中之雷夕核處理器糸、、先1〇1已例示性顯示為本發明 it 5 »«I,
士 SMT ( Simultaneous Multithreading,同時多 線程A 如謝一線程同時執行之系統中,有如在單一處理器(例 線程處理))中執行 521 描、Ϊ中’已例示性顯示藉由可變長度密碼解碼器 線性預、、則别/巩之位凡長度實施預測解碼處理之所須時間之 預if此種預測系統。更進-步,儘^ 處理,但本發明並可變長度密碼解碼處ί, 種形式及細節的變更 請專利範t,本技藝者當可知,可在不脫離由申 括加_u”…疋義之本無明之精神及範圍之θ,對本發明作出各 【圖式簡單說明】 示本發明之第_例示性實施例之方塊圖。 ^為,口巧實=之操作之流程圖。 之第二例示性實施例之方塊圖。例不性實施例之明麵例 圖5為顯示輸入位元流之位元長度、及解碼可變長度的密螞 34 200900931 解碼器之所須時間 圖6為顯示揭,、^係之圖表。 可變長度密碼解^資示性實施例之狀態圖,其中 行處理,接著平疒、'八預先碩出處理係利用兩個線程功能上平 反正交轉換分割^處理係由藉由-圖框中之變動補償及 圖8為顯示例之操作之流程圖。 圖9為顯矛搞_ =弟二例示性實施例之方塊圖。 圖。⑽崎不於圖8中之第三例示性實施例之操作之流程 f 例之為第三例摊實關之例雑朗之第四實施 ;本發明之第五例示性實施例之方塊圖。 圖。為*,、、頁示揭示於圖11之第五例示性實施例之操作之流程 性實例*性實關之例雑應用之第六例示 方塊ΐ1。4麵林細狀共享記舰_之㈣—器系統之 ^ 15為顯,先前移動影像解碼之範例之方塊圖。 之先14巾之部分之記,_取控制器 之間㈣隔、及平行執行處理之所須時間 【主要元件符號說明】 1 ··處理器 2 :處理器 11 :平行執行處理器 12 :所須時間預測單元 35 200900931 21 :資料預先讀出處理器 22 :資料預先讀出控制器 23 ··另一處理器監控單元 100 :多核處理器系統 111 :處理器 112 :處理器 - 113 :處理器 120:記憶體控制器 130 :快取記憶體 r 140 :主記憶體 f 151 :匯流排 152 :匯流排 153 :匯流排 160 :匯流排 170 :匯流排 200 :内部線程通信單元 211 :線程 212 :線程 213 :單元 231:平行執行處理器 232 :資料預先讀出處理器 233 :資料預先讀出處理器 511 :可變長度密碼解碼器 512 :可變長度密碼解碼所須時間預測單元 . 513 :反正交變換器 514 :變動補償單元 — 515 :圖框記憶體 516 :加法器 521 :可變長度密碼解碼器 36 200900931 522 :可變長度密碼解碼所須時間預測單元 1001 :可變長度密碼解碼器 1002 :反量化單元 1003 ··反正交變換器 1004 :變動補償單元 1005 :圖框記憶體 1006:加法器 2001 :線 ' 2002 :線 2003 :平衡點
37