国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于任務(wù)的執(zhí)行階段動態(tài)調(diào)整高速緩存分區(qū)大小的方法和設(shè)備的制作方法

      文檔序號:6454123閱讀:150來源:國知局
      專利名稱:基于任務(wù)的執(zhí)行階段動態(tài)調(diào)整高速緩存分區(qū)大小的方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及包括高速緩存存儲器的數(shù)據(jù)處理系統(tǒng),更具體 地,涉及在多處理器中針對應(yīng)用任務(wù)對高速緩存存儲器進行動態(tài)分區(qū)。
      背景技術(shù)
      高速緩存分區(qū)是多任務(wù)系統(tǒng)中眾所周知的技術(shù),其通過減小資源 干擾來實現(xiàn)更加可預(yù)測的高速緩存性能。在包括多處理器的數(shù)據(jù)處理 系統(tǒng)中,在多個進程或任務(wù)之間共享高速緩存存儲器。高速緩存存儲 器被分為不同的部分以用于不同的應(yīng)用任務(wù)。有利的是將高速緩存分 為多個部分,其中每個部分被分配給各類進程,而不是各類進程共享 整個高速緩存存儲器。在將高速緩存存儲器分為多個部分時,產(chǎn)生了 如何確定不同應(yīng)用任務(wù)的高速緩存分區(qū)的大小以及何時調(diào)整該高速緩 存分區(qū)的大小的問題。
      Henk Muller等的美國專利申請2002/0002657 Al公開了一種對系 統(tǒng)中的高速緩存存儲器進行操作的方法,在該系統(tǒng)中,處理器能夠執(zhí) 行多個進程。這樣的技術(shù)將高速緩存分為許多小分區(qū),而不是便用一 個單片數(shù)據(jù)高速緩存,在單片數(shù)據(jù)高速緩存中,對不同數(shù)據(jù)對象的訪 問可能彼此干擾。在這種情況下,典型地,編譯器知道高速緩存的架 構(gòu)并為任務(wù)分配高速緩存分區(qū)。這樣的技術(shù)在任務(wù)的整個執(zhí)行持續(xù)時 間內(nèi)為任務(wù)保留了的所分的高速緩存部分。因此,靜態(tài)的分區(qū)技術(shù)通 常導(dǎo)致對高速緩存的次優(yōu)使用或?qū)Ω咚倬彺娣謪^(qū)的保留不足。
      由Edward Suh等在"Analytical Cache Models with applications to cache partitioning"中提出的動態(tài)分區(qū)技術(shù)試圖通過動態(tài)調(diào)整分區(qū)大小 來避免上述靜態(tài)分區(qū)的缺點。這樣的技術(shù)沒有考慮如各個任務(wù)的分階 段執(zhí)行之類的程序特性。例如,多媒體應(yīng)用的執(zhí)行行為通常屬于重復(fù) 行為(階段),該重復(fù)行為(階段)可以具有不同的高速緩存使用特性。
      可以通過在程序階段邊界(phase boundary)處確定分區(qū)大小來實現(xiàn)有 效的高速緩存使用。
      Timothy等描述了可以精確地識別和預(yù)測程序行為的階段[參考文 獻2: "Discovering and exploiting program phase", Timothy Sherwood et al]。這些階段中的程序(任務(wù))行為具有不同的資源使用特性并可以 使用性能度量來量化。這種度量的一個示例是[參考文獻2]中描述的基 本塊矢量(basic block vector) [BBV]。
      當前的高速緩存分區(qū)技術(shù)為應(yīng)用任務(wù)在其整個執(zhí)行持續(xù)時間內(nèi)保 留了高速緩存存儲器的分區(qū)部分。但是,媒體處理任務(wù)具有彼此不同 的執(zhí)行階段,對高速緩存的需求在這些階段的每一個中發(fā)生變化。在 多任務(wù)實時系統(tǒng)中,由于高優(yōu)先級的應(yīng)用任務(wù)的到來,會切換應(yīng)用任 務(wù)。由于中斷而切換應(yīng)用任務(wù)也是常見的。這樣的任務(wù)切換可以在當 前執(zhí)行的任務(wù)的不同執(zhí)行階段發(fā)生。當前的高速緩存分區(qū)技術(shù)不能解 決這個高速緩存的變化需求的問題。
      因此,存在這樣一種未被滿足的需要,即根據(jù)執(zhí)行階段來動態(tài)地 調(diào)整多處理器中針對每個任務(wù)分配的高速緩存分區(qū)的大小,使得在任 何給定的時間,只分配最少量的高速緩存空間。對這個問題的解決方 案將確保對于即將到來的任務(wù)(切換進來的中斷任務(wù)或高優(yōu)先級任務(wù)) 有足夠的(或更優(yōu)的)高速緩存空間可用。

      發(fā)明內(nèi)容
      本發(fā)明提出了一種多處理器中針對每個應(yīng)用任務(wù)動態(tài)高速緩存分 區(qū)的方法和系統(tǒng)。提供了基于應(yīng)用任務(wù)的執(zhí)行階段來動態(tài)地調(diào)整高速 緩存分區(qū)大小的方法。根據(jù)當前任務(wù)的執(zhí)行階段來動態(tài)地調(diào)整高速緩 存分區(qū)的大小,從而避免對整個高速緩存的不必要的保留,因此實現(xiàn) 了高速緩存的有效利用。
      在多任務(wù)處理共享高速緩存/存儲器的多處理器中,通常認為分區(qū) 是一種實現(xiàn)存儲器子系統(tǒng)的可預(yù)測性能的機制。在文獻中已有多種分 區(qū)方案,如路線分區(qū)(Way Partitioning)(列高速緩存(Column Caching)、集合分區(qū)(Set Partitioning)等。流應(yīng)用采用具有不同階段
      的執(zhí)行模式,所述不同階段具有不同的持續(xù)時間。本發(fā)明的目的是利 用關(guān)于多媒體應(yīng)用任務(wù)的不同執(zhí)行階段的信息,從而基于在執(zhí)行階段 期間的需求來自調(diào)整分區(qū)大小??梢砸栽S多方式來識別應(yīng)用任務(wù)(程 序)的執(zhí)行階段 一個示例是通過監(jiān)控工作集合的改變以及其他方法 [參考文獻2]。應(yīng)用任務(wù)的執(zhí)行階段被定義為在應(yīng)用任務(wù)的執(zhí)行中具有
      相似行為的間隔的集合,而應(yīng)用任務(wù)的工作集合被定義為在特定執(zhí)行 階段處應(yīng)用任務(wù)的高速緩存分區(qū)需求。
      本發(fā)明的一個方面提供了基于應(yīng)用任務(wù)的執(zhí)行階段來動態(tài)調(diào)整高 速緩存分區(qū)大小的方法。以表格形式來標識和更新應(yīng)用任務(wù)的執(zhí)行階 段。在執(zhí)行任務(wù)的特定情況期間調(diào)整高速緩存分區(qū)的大小,使得在任 何給定的時間點,為任務(wù)分配必要且足量的高速緩存空間。該高速緩 存分區(qū)大小是根據(jù)任務(wù)執(zhí)行期間任務(wù)的工作集合需求來確定的,動態(tài) 或靜態(tài)地監(jiān)控所述任務(wù)的工作集合需求。
      本發(fā)明的另一方面提供了一種用于在多處理器中針對應(yīng)用任務(wù)動 態(tài)調(diào)整高速緩存分區(qū)大小的計算機系統(tǒng)。所述系統(tǒng)包括任務(wù)階段監(jiān)控 器,用于監(jiān)控應(yīng)用任務(wù)的工作集合的變化,可以動態(tài)地監(jiān)控工作集合 的變化或可以靜態(tài)地收集信息并將其存儲在所述任務(wù)階段監(jiān)控器中。 在任務(wù)階段表中存儲任務(wù)的階段信息。所述任務(wù)階段表包含階段以及 在切換任務(wù)時分配的高速緩存分區(qū)(這是在相應(yīng)階段處應(yīng)用任務(wù)的工 作集合)。
      所述系統(tǒng)也包括高速緩存分配控制器,用于在新的應(yīng)用任務(wù)中斷 當前執(zhí)行的任務(wù)時分配最大高速緩存大小。在新的應(yīng)用任務(wù)中斷當前 執(zhí)行的任務(wù)時,所述高速緩存分配控制器查看新的應(yīng)用任務(wù)的工作集 合需求,并通過為所述新任務(wù)分配最大可能的高速緩存大小來對所述 高速緩存進行分區(qū)。根據(jù)所述新應(yīng)用任務(wù)的階段來進行高速緩存存儲 器的分配。
      本發(fā)明的一個目的是設(shè)計一種用于動態(tài)地管理正在計算機系統(tǒng)上 執(zhí)行的多個進程之間的高速緩存分區(qū)的方法和裝置。
      本發(fā)明的另一個目的是通過避免在應(yīng)用任務(wù)執(zhí)行的整個持續(xù)時間 期間為正在執(zhí)行的應(yīng)用任務(wù)不必要地保留高速緩存分區(qū),來提高高速
      緩存的利用率。
      本發(fā)明的另一個目的是增大將中斷任務(wù)的工作集合的更多部分映 射到高速緩存上的概率。因此,當較高優(yōu)先級任務(wù)或中斷發(fā)生時,將 有更多高速緩存可用于分配給中斷任務(wù)。


      本發(fā)明的上述概括不是旨在描述本發(fā)明的每個公開實施例。以下 的附圖和詳細描述提供了本發(fā)明的其他方面。
      圖1示出了在多處理器中針對應(yīng)用任務(wù)動態(tài)調(diào)整高速緩存分區(qū)大 小的方法的實施例。
      圖2是示出了應(yīng)用任務(wù)的工作集合變化的圖示。
      圖3是示出了針對應(yīng)用任務(wù)動態(tài)調(diào)整高速緩存分區(qū)大小的系統(tǒng)實
      施例的架構(gòu)的框圖。
      圖4示出了用于存儲應(yīng)用任務(wù)的信息的任務(wù)階段表。 圖5是示出了兩個應(yīng)用任務(wù)(Tl和T2)的高速緩存需求的示例 的簡單圖示。
      圖6示出了當新的應(yīng)用任務(wù)T3中斷當前執(zhí)行的應(yīng)用任務(wù)(Tl和 T2)時圖5所示示例的高速緩存分區(qū)情況。
      具體實施例方式
      以下結(jié)合附圖,詳細描述本發(fā)明的上述和其他特征、方面和優(yōu)點。 附圖包括6幅圖。
      圖1示意了在多處理器中針對應(yīng)用任務(wù)動態(tài)調(diào)整高速緩存分區(qū)大 小的方法的實施例。通過使用應(yīng)用任務(wù)的基本塊矢量(BBV)度量或 工作集合,標識每個應(yīng)用任務(wù)的執(zhí)行階段101。以表格的形式來存儲 應(yīng)用任務(wù)的階段信息和工作集合102。接著,根據(jù)應(yīng)用任務(wù)的執(zhí)行階 段,利用該階段信息來動態(tài)配置高速緩存分區(qū)。
      根據(jù)所提出的發(fā)明,在應(yīng)用任務(wù)執(zhí)行的特定情況期間調(diào)整高速緩 存分區(qū)的大小,使得在任何給定的時間點,為應(yīng)用任務(wù)分配必要且足 量的高速緩存空間。該高速緩存分區(qū)大小是根據(jù)任務(wù)執(zhí)行期間的任務(wù)
      的工作集合需求來確定的??梢詣討B(tài)或靜態(tài)地監(jiān)控所述任務(wù)的工作集 合需求。通過避免在應(yīng)用任務(wù)的整個執(zhí)行持續(xù)時間為應(yīng)用任務(wù)冗余地 保留高速緩存分區(qū),提高了總體高速緩存利用率。
      圖2示出了描述應(yīng)用任務(wù)的工作集合變化的圖201。在圖2中示 出了在任務(wù)的執(zhí)行時間段"T"期間的應(yīng)用任務(wù)的工作集合W (t)的 變化。應(yīng)用任務(wù)的工作集合在其執(zhí)行時間段T期間發(fā)生變化。相應(yīng)地 存在與工作集合W1、 W2和W3相對應(yīng)的不同階段P1、 P2和P3。根 據(jù)如調(diào)度量(schedule quantum)、中斷、輸入/輸出緩沖器的數(shù)據(jù)/空間 可用性等系統(tǒng)條件,可以在應(yīng)用任務(wù)執(zhí)行的任何階段切換應(yīng)用任務(wù)。 如果在應(yīng)用任務(wù)執(zhí)行時間段T期間為應(yīng)用任務(wù)分配的高速緩存分區(qū)是 恒定的(如現(xiàn)有技術(shù)),則這將導(dǎo)致高速緩存分區(qū)的冗余分塊。
      例如,如果為應(yīng)用任務(wù)分配的高速緩存分區(qū)等于Wl (字節(jié))的 分區(qū),而且如果該應(yīng)用任務(wù)在P3 (與W3相對應(yīng))切換,則不必要地 為該應(yīng)用任務(wù)分塊了高速緩存空間Wl-W3。
      圖3是示出了用于針對應(yīng)用任務(wù)動態(tài)調(diào)整高速緩存分區(qū)大小的系 統(tǒng)實施例的架構(gòu)的框圖。任務(wù)階段監(jiān)控器301監(jiān)控應(yīng)用任務(wù)的工作集 合變化。可以動態(tài)地監(jiān)控所述工作集合變化,或者靜態(tài)地收集信息。 在任務(wù)階段表302中存儲階段信息。任務(wù)階段表302包含階段以及在 切換應(yīng)用任務(wù)時分配的高速緩存分區(qū)(這是在相應(yīng)階段處應(yīng)用任務(wù)的 工作集合)。
      在新的應(yīng)用任務(wù)中斷當前執(zhí)行的任務(wù)時,高速緩存分配控制器 303査看新的應(yīng)用任務(wù)的工作集合需求,并根據(jù)新的應(yīng)用任務(wù)的階段, 通過為新的任務(wù)分配最大可能的高速緩存大小來進行高速緩存分區(qū)。
      圖4示出了用于存儲應(yīng)用任務(wù)的信息401的任務(wù)階段表302。任 務(wù)階段表302包括每個應(yīng)用任務(wù)的單獨的任務(wù)ID、應(yīng)用任務(wù)的階段信 息以及在任務(wù)切換時為每個應(yīng)用任務(wù)分配的高速緩存分區(qū)大小。對三 個連續(xù)的應(yīng)用任務(wù)T1、 T2和T3,應(yīng)用任務(wù)的階段信息分別被標記為 Pi (Tl)、 P2 (T2)禾卩P3 (T3), Pl、 P2、 P3是三個任務(wù)的三個不同 階段。同樣,在任務(wù)切換時為每個應(yīng)用任務(wù)分配的高速緩存分區(qū)大小 被標記為Wl、 W2和W3。圖5是示出了兩個應(yīng)用任務(wù)的高速緩存要求的示例501的簡單圖
      示。如圖5所示,考慮兩個應(yīng)用任務(wù)T1和T2的高速緩存需求。假定 總的高速緩存大小是20行。應(yīng)用任務(wù)運行在多任務(wù)模式下,從一個任 務(wù)切換至另一個任務(wù)。在一段時間之后,假定執(zhí)行產(chǎn)生了具有在階段 P2 (Tl)的任務(wù)T1以及在階段P3 (T2)的任務(wù)T2的高速緩存。被 占用的總的高速緩存是7+4=11行,剩余9行空閑。
      圖6示出了當新的應(yīng)用任務(wù)T3中斷當前執(zhí)行的應(yīng)用任務(wù)時示例 601的兩種情況下的高速緩存分區(qū)情況。在圖5中,考慮這樣一種情 形,即新的應(yīng)用任務(wù)T3 (中斷任務(wù))在階段P1 (T3)到達,其工作 集合需求為8行。在情況l 602所示的傳統(tǒng)模式的高速緩存分區(qū)中, 基于最大高速緩存需求來分配高速緩存大小,即在整個執(zhí)行持續(xù)時間 中,為任務(wù)T1分配7行,為任務(wù)T2分配8行。這將消耗15行,直 到任務(wù)Tl和任務(wù)T2完成其執(zhí)行為止。
      在情況2 603中,可以為任務(wù)T3分配高速緩存,剩余1行空閑。 如果任務(wù)Tl、 T2處于其執(zhí)行的其他某個階段處,情況1 601和情況2 602中的分配將更有戲劇性。例如,如果任務(wù)Tl和T2分別處于階段 Pl (Tl)和P1 (T2),當任務(wù)T3到達時,丁3有20- (2+4) =14行可 用。因此,對于情況2,即使任務(wù)T3的工作集合更多(最大14),也 有空閑行可用于該中斷應(yīng)用任務(wù)。
      在針對音頻、視頻和移動應(yīng)用的片上系統(tǒng)(SoC)中,本發(fā)明可 實現(xiàn)其工業(yè)應(yīng)用。本發(fā)明通過避免在應(yīng)用任務(wù)執(zhí)行的整個持續(xù)時間期 間為正在執(zhí)行的應(yīng)用任務(wù)不必要地保留高速緩存分區(qū),來提高高速緩 存的利用率。因此可以實現(xiàn)高速緩存存儲器的有效利用。
      權(quán)利要求
      1. 一種針對多個應(yīng)用任務(wù)動態(tài)地調(diào)整多處理器中的高速緩存分區(qū)的大小的方法,其中,所述多處理器能夠執(zhí)行所述多個應(yīng)用任務(wù),所述多處理器包括主存儲器和高速緩存存儲器,所述高速緩存存儲器包括高速緩存分區(qū)的集合,所述方法包括以下步驟標識和監(jiān)控所述多個應(yīng)用任務(wù)的執(zhí)行階段;維護和更新關(guān)于當前應(yīng)用任務(wù)的執(zhí)行階段和工作集合的信息;以及根據(jù)所述當前應(yīng)用任務(wù)的執(zhí)行階段,動態(tài)地配置所述高速緩存分區(qū),從而避免在任務(wù)執(zhí)行的整個持續(xù)時間上為執(zhí)行任務(wù)冗余地保留高速緩存分區(qū)。
      2. 如權(quán)利要求l所述的方法,其中,所述應(yīng)用任務(wù)包括指令序列。
      3. 如權(quán)利要求l所述的方法,其中,所述應(yīng)用任務(wù)的執(zhí)行階段包括在所述應(yīng)用任務(wù)執(zhí)行中的具有相似行為的間隔的集合。
      4. 如權(quán)利要求l所述的方法,其中,所述應(yīng)用任務(wù)的工作集合包括在特定執(zhí)行階段處所述應(yīng)用任務(wù)的高速緩存分區(qū)需求。
      5. 如權(quán)利要求l所述的方法,其中,靜態(tài)地進行對所述執(zhí)行任務(wù) 的執(zhí)行階段的監(jiān)控,以及根據(jù)執(zhí)行期間所述應(yīng)用任務(wù)的工作集合需求 來確定高速緩存分區(qū)大小。
      6. 如權(quán)利要求l所述的方法,其中,動態(tài)地進行對所述執(zhí)行任務(wù) 的執(zhí)行階段的監(jiān)控,以及根據(jù)執(zhí)行期間所述應(yīng)用任務(wù)的工作集合需求 來確定高速緩存分區(qū)大小。
      7. 如權(quán)利要求l所述的方法,其中,當出現(xiàn)較高優(yōu)先級任務(wù)時, 有足夠的高速緩存分區(qū)可用于分配給所述高優(yōu)先級任務(wù),從而將所述 較高優(yōu)先級任務(wù)的工作集合的充足的部分映射到所述高速緩存上。
      8. 如權(quán)利要求l所述的方法,其中,為每個應(yīng)用任務(wù)分配的高速 緩存分區(qū)根據(jù)執(zhí)行階段而變化,從而在任何給定的時間,只分配最優(yōu) 量的高速緩存空間。
      9. 一種針對個應(yīng)用任務(wù)動態(tài)地調(diào)整多處理器中的高速緩存分區(qū) 的大小的系統(tǒng),其中,所述多處理器能夠執(zhí)行所述多個應(yīng)用任務(wù),所 述多處理器包括主存儲器和高速緩存存儲器,所述高速緩存存儲器包 括高速緩存分區(qū)的集合,所述系統(tǒng)包括任務(wù)階段監(jiān)控器,用于監(jiān)控應(yīng)用任務(wù)的工作集合的變化;存儲器,用于存儲來自所述任務(wù)階段監(jiān)控器的關(guān)于應(yīng)用任務(wù)的階段信息;以及高速緩存分配控制器,用于在新的應(yīng)用任務(wù)中斷當前執(zhí)行的應(yīng)用 任務(wù)時,分配最大高速緩存大小。
      10. 如權(quán)利要求9所述的系統(tǒng),其中,所述存儲器包括任務(wù)階段表,所述任務(wù)階段表包括應(yīng)用任務(wù)的階段信息以及在切換任務(wù)時為每個應(yīng) 用任務(wù)分配的高速緩存分區(qū)大小,其中,為每個應(yīng)用任務(wù)分配的高速 緩存分區(qū)大小包括在相應(yīng)階段處任務(wù)的工作集合。
      11. 如權(quán)利要求9所述的系統(tǒng),其中,所述任務(wù)階段監(jiān)控器靜態(tài)地 監(jiān)控工作集合的變化,并將其存儲在任務(wù)階段表中。
      12. 如權(quán)利要求9所述的系統(tǒng),其中,所述任務(wù)階段監(jiān)控器動態(tài)地 監(jiān)控工作集合的變化,并將其存儲在所述存儲器中。
      13. 如權(quán)利要求9所述的系統(tǒng),其中,所述應(yīng)用任務(wù)包括指令序列。
      全文摘要
      本發(fā)明提出了用于在多處理器中針對應(yīng)用任務(wù)的高速緩存動態(tài)分區(qū)的方法和系統(tǒng)。提供了基于應(yīng)用任務(wù)的執(zhí)行階段來動態(tài)調(diào)整高速緩存分區(qū)大小的方法。以表格形式來標識和更新應(yīng)用任務(wù)的執(zhí)行階段。在執(zhí)行任務(wù)的特定情況期間調(diào)整高速緩存分區(qū)的大小,使得在任何給定的時間點,為任務(wù)分配必要且足量的高速緩存空間。該高速緩存分區(qū)大小是根據(jù)任務(wù)執(zhí)行期間的任務(wù)的工作集合需求來確定的,動態(tài)或靜態(tài)地監(jiān)控所述任務(wù)的工作集合需求。根據(jù)任務(wù)的執(zhí)行階段來動態(tài)調(diào)整高速緩存分區(qū)的大小,以避免不必要地保留整個高速緩存,因此實現(xiàn)了高速緩存的有效利用。
      文檔編號G06F12/08GK101395586SQ200780007357
      公開日2009年3月25日 申請日期2007年2月24日 優(yōu)先權(quán)日2006年3月2日
      發(fā)明者斯里拉姆·克里斯蘭, 畢尤·托馬斯, 米林德·馬諾哈爾·庫爾卡尼, 薩拿斯·卡拉帕姆 申請人:Nxp股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1