国产精品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>

      用于跟蹤指令高速緩沖存儲器中的附加數據權限的方法和設備的制作方法

      文檔序號:6533693閱讀:206來源:國知局
      用于跟蹤指令高速緩沖存儲器中的附加數據權限的方法和設備的制作方法
      【專利摘要】本發(fā)明揭示用于維持指令高速緩沖存儲器的系統(tǒng)和方法,所述指令高速緩沖存儲器包含:擴展高速緩沖存儲行和所述擴展高速緩沖存儲行的主高速緩沖存儲行部分的頁屬性;以及至少對于一或多個預定義潛在跨頁指令位置,所述對應擴展高速緩沖存儲行的附加數據部分的額外頁屬性。此外,揭示用于處理從具有擴展高速緩沖存儲行的指令高速緩沖存儲器提取的跨頁指令的系統(tǒng)和方法。
      【專利說明】用于跟蹤指令高速緩沖存儲器中的附加數據權限的方法和設備
      [0001]優(yōu)先權主張
      [0002]本申請案主張2012年5月9日申請且標題為“用于跟蹤指令高速緩沖存儲器中的附加數據權限的方法及裝置(METHOD AND APPARATUS FOR TRACKING EXTRA DATAPERMISS1NS IN AN INSTRUCT1N CACHE) ”的第61/644,622號美國臨時專利申請案的優(yōu)先權,所述申請案以全文引用的方式并入本文中。

      【技術領域】
      [0003]本發(fā)明的技術大體上涉及用于處理器的指令高速緩沖存儲器。

      【背景技術】
      [0004]共同擁有且經轉讓的第7,337,272號美國專利尤其教示一種用于處理器的指令高速緩沖存儲器10,其中指令高速緩沖存儲器10包含擴展高速緩沖存儲行12-0到12-NUMEa,如圖1中所示。擴展高速緩沖存儲行12-0到12-NUMEa在本文中大體統(tǒng)稱為擴展高速緩沖存儲行12且個別地稱為擴展高速緩沖存儲行12。如所說明,擴展高速緩沖存儲行12中的每一者包含主高速緩沖存儲行部分14和附加數據部分16。主高速緩沖存儲行部分14存儲預定義數目個字(例如,16個字或64個字節(jié)),且操作以從存儲器行高速緩存指令數據。每一擴展高速緩沖存儲行12的附加數據部分16位于擴展高速緩沖存儲行12的末端,且為下一存儲器行的開始處的指令數據的副本,其還可為下一擴展高速緩沖存儲行12的開始的副本。因此,舉例而言,假定擴展高速緩沖存儲行12-0的主高速緩沖存儲行部分14從第一存儲器行高速緩沖存儲指令數據且擴展高速緩沖存儲行12-1的主高速緩沖存儲行部分14從緊隨第一存儲器行之后的第二存儲器行高速緩沖存儲指令數據。在此實例中,擴展高速緩沖存儲行12-0的附加數據部分16存儲擴展高速緩沖存儲行12-1的主高速緩沖存儲行部分14的開始處的指令數據的副本。值得注意的是,主高速緩沖存儲行部分14與擴展高速緩沖存儲行12的附加數據部分16可實施在相同物理資源(即,相同物理高速緩沖存儲器的部分)內或實施在單獨物理資源內。
      [0005]具有擴展高速緩沖存儲行12的指令高速緩沖存儲器10尤其有益于允許可變長度指令的處理器(例如,允許16位和32位指令兩者的處理器)。可變長度指令導致字不對準的指令(即,非字對準指令)。另外,可變長度指令導致在指令高速緩沖存儲器中跨越行邊界的指令,所述指令在本文中被稱為跨行指令(line-crossing instruct1n)。對于常規(guī)指令高速緩沖存儲器,從指令高速緩沖存儲器提取跨行指令需要兩個單獨非提取操作,即,從第一高速緩沖存儲行獲得指令的第一部分的第一提取和從第二高速緩沖存儲行獲得指令的第二部分的第二提取。相比之下,具有擴展高速緩沖存儲行12的指令高速緩沖存儲器10實現(xiàn)使用單個提取操作從單個擴展高速緩沖存儲行12提取跨行指令。
      [0006]作為一實例,考慮如下實施方案:指令可為16位指令或32位指令,且存儲器行且因而擴展高速緩沖存儲行的主高速緩沖存儲行部分14為16字(即,64字節(jié))。歸因于可變長度指令,將存在如下情境:32位指令的第一 16位駐留在一個存儲器行中,且32位指令的第二 16位駐留在下一存儲器行中。當將指令高速緩沖存儲于指令高速緩沖存儲器10中時,指令的前16位被高速緩沖存儲為擴展高速緩沖存儲行12中的一者的主高速緩沖存儲行部分14的最末16位,且32位指令的最末16位的副本被高速緩沖存儲于相同擴展高速緩沖存儲行12的附加數據部分16中。通過將32位指令的最末16位的副本存儲為擴展高速緩沖存儲行12的附加數據部分16中的附加數據,可使用對擴展高速緩沖存儲行12的單個提取而提取完整的32位指令。
      [0007]指令高速緩沖存儲器10的一個問題是跨頁指令可能橫跨存儲器的具有不同轉譯信息(例如,不同執(zhí)行權限)的兩個頁。更具體來說,指令高速緩沖存儲器10用以高速緩沖存儲駐留在組織成數個存儲器頁的存儲器中的指令數據。從一個存儲器頁中的最末行跨越到另一存儲器頁中的第一行的跨行指令在本文中被稱為跨頁指令。當跨頁指令被高速緩沖存儲于指令高速緩沖存儲器10中時,跨頁指令的第一部分高速緩沖存儲于擴展高速緩沖存儲行12中的一者的主高速緩沖存儲行部分14的末端處,且跨頁指令的最末部分的副本高速緩沖存儲為相同擴展高速緩沖存儲行12的附加數據部分16中的附加數據。結果,可使用從一個擴展高速緩沖存儲行12的單個提取從指令高速緩沖存儲器10提取跨頁指令。作為一實例,圖1說明第一部分(PCI(I))駐留在一個存儲器頁中的最末存儲器行的末端處且高速緩沖存儲于擴展高速緩沖存儲行12-X的主高速緩沖存儲行部分14的末端處,且第二部分(PCI (2))駐留在另一存儲器頁中的第一存儲器行的開始處且高速緩沖存儲于擴展高速緩沖存儲行12-(X+1)的主高速緩沖存儲行部分14的開始處的跨頁指令。所述跨頁指令的第二部分(PCI (2))的副本存儲為擴展高速緩沖存儲行12-X的附加數據部分16中的附加數據。由此,可接著通過提取擴展高速緩沖存儲行12-X而提取跨頁指令。
      [0008]處置跨頁指令時出現(xiàn)的一個問題是,從單個擴展高速緩沖存儲行12提取的跨頁指令可能具有駐留在具有某些頁屬性(例如,某些執(zhí)行權限)的一個存儲器頁中的第一部分與駐留在具有不同頁屬性(例如,不同執(zhí)行權限)的不同存儲器頁中的第二部分。舉例來說,高速緩沖存儲于擴展高速緩沖存儲行12-X中的跨頁指令的第一部分(PCI(I))可駐留在與第二部分(PCI (2))所駐留的存儲器頁具有不同執(zhí)行權限的存儲器頁中。因此,需要處理從具有擴展高速緩沖存儲行的指令高速緩沖存儲器獲得的跨頁指令的系統(tǒng)和方法。


      【發(fā)明內容】

      [0009]本發(fā)明揭示用于維持指令高速緩沖存儲器的系統(tǒng)和方法,所述指令高速緩沖存儲器包含:擴展高速緩沖存儲行和所述擴展高速緩沖存儲行的主高速緩沖存儲行部分的頁屬性;以及至少對于一或多個預定義潛在跨頁指令位置,所述對應擴展高速緩沖存儲行的附加數據部分的額外頁屬性。此外,揭示用于處理從具有擴展高速緩沖存儲行的指令高速緩沖存儲器提取的跨頁指令的系統(tǒng)和方法。
      [0010]在一個實施例中,處理器從指令高速緩沖存儲器中的單個擴展高速緩沖存儲行提取跨頁指令,其中所述跨頁指令的第一部分駐留在第一存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的主高速緩沖存儲行部分的末端處,且所述跨頁指令的第二部分駐留在第二存儲器頁中且高速緩沖存儲為所述擴展高速緩沖存儲行的附加數據部分中的附加數據。所述處理器檢測到基于與所述第二存儲器頁相關聯(lián)的一或多個頁屬性(例如,對于一或多個處理模式的執(zhí)行權限)而禁止所述跨頁指令執(zhí)行。在一個特定實施例中,如果所述第一存儲器頁的一或多個頁屬性(例如,對于一或多個處理模式的執(zhí)行權限)允許執(zhí)行且所述第二存儲器頁的所述一或多個頁屬性禁止執(zhí)行,那么所述處理器檢測到所述跨頁指令被禁止執(zhí)行。
      [0011]在一個實施例中,響應于檢測到所述跨頁指令被禁止執(zhí)行,所述處理器報告所述跨頁指令的執(zhí)行被禁止。
      [0012]在一個實施例中,處理器包含具有擴展高速緩沖存儲行的指令高速緩沖存儲器。當高速緩沖存儲第一存儲器頁中的最末存儲器行時,所述處理器高速緩沖存儲擴展高速緩沖存儲行的主高速緩沖存儲行部分中的最末存儲器行且在所述指令高速緩沖存儲器的資源中高速緩沖存儲所述第一存儲器頁的一或多個頁屬性。此外,所述處理器高速緩沖存儲駐留在第二或下一存儲器頁中的第一存儲器行的開始處的附加數據作為所述擴展高速緩沖存儲行的附加數據部分中的附加數據,且在所述指令高速緩沖存儲器的資源中高速緩沖存儲所述第二存儲器頁的一或多個頁屬性。
      [0013]在另一實施例中,處理器包含具有擴展高速緩沖存儲行的指令高速緩沖存儲器。當高速緩沖存儲第一存儲器頁中的最末存儲器行時,所述處理器高速緩沖存儲擴展高速緩沖存儲行的主高速緩沖存儲行部分中的所述存儲器行且在所述指令高速緩沖存儲器的資源中高速緩沖存儲所述第一存儲器頁的一或多個頁屬性。此外,所述處理器請求第二或下一存儲器頁的一或多個屬性。如果返回基于非權限的錯誤,那么所述處理器產生指示執(zhí)行不被準許的一或多個過載頁屬性,且高速緩沖存儲與所述擴展高速緩沖存儲行的附加數據部分相關聯(lián)的一或多個頁屬性。如果返回所述第二存儲器頁的一或多個頁屬性,那么所述處理器高速緩沖存儲駐留在所述第二存儲器頁中的第一存儲器行的開始處的附加數據作為所述擴展高速緩沖存儲行的附加數據部分中的附加數據,且在所述指令高速緩沖存儲器的資源中高速緩沖存儲所述第二存儲器頁的所述一或多個頁屬性。
      [0014]在另一實施例中,處理器包含具有擴展高速緩沖存儲行的指令高速緩沖存儲器。對于每一擴展高速緩沖存儲行,所述指令高速緩沖存儲器存儲高速緩沖存儲于所述擴展高速緩沖存儲行的主高速緩沖存儲行部分中的指令數據駐留于其中的存儲器頁的一或多個頁屬性。此外,對于每一個且僅每一個預定義為潛在跨頁指令位置的擴展高速緩沖存儲行,所述指令高速緩沖存儲器進一步存儲一或多個額外頁屬性。在一個實施例中,所述一或多個額外頁屬性為所述擴展高速緩沖存儲行的附加數據部分中所存儲的附加數據駐留于其中的存儲器頁的一或多個頁屬性。在另一實施例中,所述一或多個額外頁屬性為所述擴展高速緩沖存儲行的附加數據部分中所存儲的附加數據駐留于其中的存儲器頁的一或多個頁屬性或響應于非權限型錯誤而產生的一或多個過載頁屬性,所述非權限型錯誤是在嘗試獲得將存儲于所述擴展高速緩沖存儲行的所述附加數據部分中的附加數據原本將駐留于其中的存儲器頁的一或多個頁屬性時發(fā)生。

      【專利附圖】

      【附圖說明】
      [0015]圖1是用于處理器的指令高速緩沖存儲器的功能框圖,其中所述指令高速緩沖存儲器包含根據現(xiàn)有技術的擴展高速緩沖存儲行;
      [0016]圖2是根據本發(fā)明的一個實施例的用于處理器的指令高速緩沖存儲器的功能框圖,其中所述指令高速緩沖存儲器存儲主高速緩沖存儲行部分的頁屬性和擴展高速緩沖存儲行的附加數據部分,所述擴展高速緩沖存儲行潛在地包含跨頁指令;
      [0017]圖3是根據本發(fā)明的一個實施例的圖2的指令高速緩沖存儲器的框圖;
      [0018]圖4A是根據本發(fā)明的一個實施例的圖3的指令高速緩沖存儲器的擴展數據陣列的框圖;
      [0019]圖4B是根據本發(fā)明的一個實施例的圖3的指令高速緩沖存儲器的標簽陣列的框圖;
      [0020]圖4C是根據本發(fā)明的一個實施例的圖3的指令高速緩沖存儲器中的潛在跨頁指令位置的附加數據頁屬性的額外資源的框圖;
      [0021]圖5是根據本發(fā)明的一個實施例的說明處理器利用圖2和3的指令高速緩沖存儲器的操作的流程圖;
      [0022]圖6是根據本發(fā)明的一個實施例的說明填充圖2和3的指令高速緩沖存儲器的過程的流程圖;
      [0023]圖7說明根據本發(fā)明的一個實施例的包含提取、解碼和執(zhí)行邏輯的處理器,所述邏輯處理指令,包含從圖2和3的指令高速緩沖存儲器提取的跨頁指令;以及
      [0024]圖8是根據本發(fā)明的一個實施例的示范性基于處理器的系統(tǒng)的框圖,所述系統(tǒng)可包含圖2和3的指令高速緩沖存儲器。

      【具體實施方式】
      [0025]現(xiàn)參考各圖,描述本發(fā)明的若干示范性實施例。詞語“示范性”在本文中用于表示“充當實例、例子或說明”。本文中被描述為“示范性的”任何實施例不必須被理解為比其它實施例優(yōu)選或有利。
      [0026]本發(fā)明揭示用于維持指令高速緩沖存儲器的系統(tǒng)和方法,所述指令高速緩沖存儲器包含:擴展高速緩沖存儲行和所述擴展高速緩沖存儲行的主高速緩沖存儲行部分的頁屬性;以及至少對于一或多個預定義潛在跨頁指令位置,所述對應擴展高速緩沖存儲行的附加數據部分的額外頁屬性。此外,揭示用于處理從具有擴展高速緩沖存儲行的指令高速緩沖存儲器提取的跨頁指令的系統(tǒng)和方法。
      [0027]就此而言,圖2說明根據本發(fā)明的一個實施例的用于處理器的指令高速緩沖存儲器18。如所說明,指令高速緩沖存儲器18包含擴展高速緩沖存儲行20-0到20-ΝΕα(大體上在本文中統(tǒng)稱為擴展高速緩沖存儲行20且個別地稱為擴展高速緩沖存儲行20),其中擴展高速緩沖存儲行20的數目等于ΝΕα+1。擴展高速緩沖存儲行20中的每一者包含主高速緩沖存儲行部分22和附加數據部分24。此外,指令高速緩沖存儲器18包含對應擴展高速緩沖存儲行20-0到20-ΝΕα的主高速緩沖存儲行部分22的頁屬性26-0到26_ΝΕα(大體上在本文中統(tǒng)稱為頁屬性26且個別地稱為頁屬性26)以及指令高速緩沖存儲器18中的數個潛在跨頁指令位置(ΝΡΡα+1)的額外頁屬性28-0到28-ΝΡΡα(大體上在本文中統(tǒng)稱為額外頁屬性28且個別地稱為額外頁屬性28),其中潛在跨頁指令位置的數目大于或等于I。指令高速緩沖存儲器18優(yōu)選地從較高層級高速緩沖存儲器或主存儲器高速緩沖存儲可變長度指令的混合體(例如,16位與32位指令的混合體)。
      [0028]更具體來說,擴展高速緩沖存儲行20的主高速緩沖存儲行部分22從主存儲器的對應行高速緩沖存儲指令數據,其中所述主存儲器組織成數個存儲器頁。因此,高速緩沖存儲于擴展高速緩沖存儲行20中的一者的主高速緩沖存儲行部分22中的指令數據為來自存儲器頁中的一者中的存儲器行的指令數據。所述指令數據在本文中被稱為由指令高速緩沖存儲器18高速緩沖存儲但駐留在或主要存儲于主存儲器中。擴展高速緩沖存儲行20中的每一者的附加數據部分24存儲緊隨相同擴展高速緩沖存儲行20的主高速緩沖存儲行部分22中的指令數據的存儲器行之后的存儲器行的開始部分的副本。因此,擴展高速緩沖存儲行20中的一者的主高速緩沖存儲行部分22從一個存儲器行高速緩沖存儲指令數據,且所述擴展高速緩沖存儲行20的附加數據部分24從下一存儲器行的開始高速緩沖存儲附加數據。假定兩個連續(xù)存儲器行高速緩沖存儲于擴展高速緩沖存儲行20-0與20-1中,則擴展高速緩沖存儲行20-0的附加數據部分24存儲擴展高速緩沖存儲行20-1的主高速緩沖存儲行部分22的開始部分的副本。在一個例示性實施例中,擴展高速緩沖存儲行20的主高速緩沖存儲行部分22各自為64字節(jié)或各自為16字,且擴展高速緩沖存儲行20的附加數據部分24各自為16位或各自為二分之一字。
      [0029]頁屬性26為對應擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的存儲器頁的屬性。更具體來說,對于每一擴展高速緩沖存儲行20,擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的頁屬性26為高速緩沖存儲于主高速緩沖存儲行部分22中的指令數據駐留于其中的存儲器頁的一或多個頁屬性。因此,舉例來說,頁屬性26-0為從中獲得高速緩沖存儲于擴展高速緩沖存儲行20-0的主高速緩沖存儲行部分22中的指令數據的行的存儲器頁的屬性,所述存儲器頁在本文中被稱為指令數據駐留于其中的存儲器頁。頁屬性26優(yōu)選地包含對應存儲器頁的執(zhí)行權限,且在一個特定實施例中,為或包含用戶執(zhí)行權限(UX)和特許執(zhí)行權限(PX)。
      [0030]優(yōu)選地僅針對指令高速緩沖存儲器18中的預定義數目個潛在跨頁指令位置存儲額外頁屬性28。每一潛在跨頁指令為可存儲跨頁指令的擴展高速緩沖存儲行20中的一者,所述跨頁指令橫跨擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的末端且跨越到擴展高速緩沖存儲行20的附加數據部分24中。在一個示例性實施例中,存儲器頁的頁大小為4千字節(jié)(KB),且指令高速緩沖存儲器18為具有編號為組O到組63的64個組的N路組關聯(lián)式高速緩沖存儲器(N-way set associative cache)。由此,潛在跨頁指令位置對應于指令高速緩沖存儲器18的組63。換句話說,潛在跨頁指令位置見于存儲器的行63、127、191,255等處,所有這些行僅高速緩沖存儲于指令高速緩沖存儲器18的組63中。因此,僅指令高速緩沖存儲器18的組63含有潛在跨頁指令位置,且僅針對指令高速緩沖存儲器18的組63中的擴展高速緩沖存儲行20的附加數據部分24存儲額外頁屬性28。然而,注意,此僅為一個實例。潛在跨頁指令位置將取決于指令高速緩沖存儲器18的特定實施方案而變化。
      [0031]額外頁屬性28 —般來說是從中獲得對應擴展高速緩沖存儲行20的附加數據部分24的存儲器頁的頁屬性,所述存儲器頁在本文中被稱為那些擴展高速緩沖存儲行20的附加數據部分24中指令數據駐留于其中的存儲器頁。額外頁屬性28優(yōu)選地包含對應存儲器頁的執(zhí)行權限,且在一個特定實施例中,為或包含UX和PX。另外,如下文所論述,在一些實施例中,對應擴展高速緩沖存儲行20的附加數據部分24的UX和PX可能過載有響應于在嘗試填充附加數據部分24時所接收的非權限型錯誤(例如使用動態(tài)分頁時的頁轉譯錯誤)而指示在用戶模式和特許模式兩者中皆缺乏執(zhí)行權限的值。
      [0032]圖3說明根據本發(fā)明的一個實施例的圖2的指令高速緩沖存儲器18的框圖。如所說明,指令高速緩沖存儲器18包含控制器30、存儲擴展高速緩沖存儲行20的擴展數據陣列32、尤其存儲擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的頁屬性26的標簽陣列34,以及存儲為潛在跨頁指令位置的擴展高速緩沖存儲行20的附加數據部分24的頁屬性的額外資源36。如下文詳言論述,當從指令高速緩沖存儲器18提取指令時,將虛擬地址(VA)輸入到控制器30??刂破?0接著控制標簽陣列34擴展數據陣列32和額外資源36,使得指令高速緩沖存儲器18輸出在開始于所述虛擬地址處的地址存儲在指令高速緩沖存儲器18中的預定義量的指令數據(例如,4個字)、對應擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的頁屬性26,以及對應擴展高速緩沖存儲行20的附加數據部分24的額外頁屬性28 (如果對應擴展高速緩沖存儲行20為潛在跨頁指令位置)。
      [0033]在下文論述的示例性實施例中,指令高速緩沖存儲器18為具有M+1個組的N+1路組關聯(lián)式高速緩沖存儲器。在此示范性實施例中,控制器30接收虛擬地址,其中所述虛擬地址包含標簽、組和偏移。作為非限制性實例,虛擬地址可為32位虛擬地址,其中位O到5為偏移,位6到11為組,且位12到31為標簽。如所屬領域的技術人員將了解,20位標簽識別由虛擬地址尋址的存儲器的大約I百萬個4KB塊中的一者,6位組識別由虛擬地址尋址的存儲器的4KB中的存儲器行的64個組中的一者,且6位偏移識別由虛擬地址尋址的組中的64個字節(jié)中的一者。在接收到虛擬地址之后,控制器30即刻將標簽和組輸出到標簽陣列34,且將組和偏移輸出到擴展數據陣列32。此外,如果虛擬地址對應于潛在跨頁指令位置中的一者,那么控制器30將組或從所述組導出的適當控制信號輸出到額外資源36。如下文所論述,使用標簽和組,標簽陣列34輸出指令高速緩沖存儲器18的N+1路中存儲所尋址指令數據的一路,以及高速緩沖存儲于擴展數據陣列32的對應組和路中的擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的頁屬性26。接著使用來自虛擬地址的組和偏移以及由標簽陣列34輸出的路,擴展數據陣列32輸出由擴展數據陣列32對于所述虛擬地址高速緩沖存儲的指令數據。最后,如果虛擬地址對應于潛在跨頁指令位置中的一者,那么額外資源36輸出對應于所述潛在跨頁指令位置的擴展高速緩沖存儲行20的附加數據部分24的額外頁屬性28。
      [0034]圖4A到4C更詳細地說明根據本發(fā)明的一個實施例的圖3的擴展數據陣列32、標簽陣列34和額外資源36。在此實施例中,指令高速緩沖存儲器18為具有M+1個組的N+1路組關聯(lián)式高速緩沖存儲器。然而,指令高速緩沖存儲器18可替代地為直接映射式或全關聯(lián)式。如圖4A中所示,擴展數據陣列32存儲以每組N+1路組織成M+1組的數個擴展高速緩沖存儲行20。因此,對于每一組,擴展數據陣列32包含N+1個擴展高速緩沖存儲行20。如上文所論述,每一擴展高速緩沖存儲行20包含主高速緩沖存儲行部分22和附加數據部分24。注意,盡管在此實施例中,主高速緩沖存儲行部分22與擴展高速緩沖存儲行20的附加數據部分24實施于擴展數據陣列32中,但指令高速緩沖存儲器18不限于此。主高速緩沖存儲行部分22與附加數據部分24可替代地實施于單獨資源中。
      [0035]圖4B更詳細地說明根據本發(fā)明的一個實施例的圖3的標簽陣列34。如所說明,標簽陣列34存儲以每組N+1路組織成M+1組的數個標簽項。因此,對于每一組,標簽陣列34包含N+1個標簽項。每一標簽項包含擴展數據陣列32中的對應擴展高速緩沖存儲行20的標簽和頁屬性26。更具體來說,作為一實例,用于組O、路O的標簽項包含:(1)高速緩沖存儲于擴展高速緩沖存儲行20 (高速緩沖存儲于擴展數據陣列32中組O、路O處)的主高速緩沖存儲行部分22中的存儲器行的虛擬地址的標簽,及(2)高速緩沖存儲于組O、路O處的擴展高速緩沖存儲行20的主高速緩沖存儲行部分22中的存儲器行駐留于其中的存儲器頁的頁屬性26 (例如,UX和PX)。在操作中,當將來自虛擬地址的標簽和組輸入到標簽陣列34中時,將所述組中的標簽項中的標簽與來自虛擬地址的標簽進行比較。如果存在匹配,那么由標簽陣列34輸出匹配標簽項的路。使用由標簽陣列34輸出的路連同來自虛擬地址的組和偏移,可從擴展數據陣列32獲得所需指令數據。
      [0036]圖4C更詳細地說明根據本發(fā)明的一個實施例的圖3的額外資源36。如所說明,額外資源36存儲潛在跨頁指令位置的額外頁屬性28。在此特定實施例中,所有潛在跨頁指令位置位于組M中。舉例來說,如果存儲器頁中的每一者的大小為4KB或4KB的整數倍,組的數目(M+1)為64,其中所述組編號為組O到組M,且每一組包含N+1個64字節(jié)存儲器行,那么所有潛在跨頁位置出現(xiàn)于組63中。由此,在操作中,如果輸入到指令高速緩沖存儲器18的虛擬地址中的組為組63,那么由標簽陣列34輸出的路被輸入到額外資源36,額外資源36又輸出對于存儲于由標簽陣列34針對組M輸出的路中的擴展高速緩沖存儲行20所高速緩沖存儲的額外頁屬性(例如,UX和PX)。
      [0037]圖5說明根據本發(fā)明的一個實施例的處理器利用指令高速緩沖存儲器18的操作。首先,處理器在指令高速緩沖存儲器18的單個擴展高速緩沖存儲行20中高速緩沖存儲跨頁指令(步驟100)。如上文所論述,跨頁指令的第一部分駐留在一個存儲器頁中最末存儲器行的末端處且高速緩沖存儲于擴展高速緩沖存儲行20的主高速緩沖存儲行部分22中。跨頁指令的第二部分駐留在下一存儲器頁中的第一存儲器行的開始處??珥撝噶畹牡诙糠值母北靖咚倬彌_存儲為擴展高速緩沖存儲行20的附加數據部分24中的附加數據。值得注意的是,跨頁指令的第二部分可高速緩沖存儲于下一擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的開始處,且在此情況下,擴展高速緩沖存儲行20的附加數據部分24為下一擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的開始的副本。
      [0038]在高速緩沖存儲擴展高速緩沖存儲行20中的跨頁指令之后的某一時間,處理器從擴展高速緩沖存儲行20提取跨頁指令(步驟102)。處理器接著基于擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的頁屬性26以及擴展高速緩沖存儲行20的附加數據部分24的額外頁屬性28兩者確定是否準許跨頁指令執(zhí)行(步驟104)。更具體來說,在一個優(yōu)選實施例,頁屬性26為擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的UX和PX權限,且額外頁屬性28為擴展高速緩沖存儲行20的附加數據部分24的UX和PX權限。如果處理器當前正在用戶模式中操作,那么如果主高速緩沖存儲行部分22的UX和附加數據部分24的UX兩者皆被設定到指示對于用戶模式準許跨頁指令的執(zhí)行的值,處理器確定跨頁指令被準許執(zhí)行。否則,如果主高速緩沖存儲行部分22的UX或附加數據部分24的UX都被設定到指示對于用戶模式不準許執(zhí)行的值,那么處理器確定對于用戶模式不準許跨頁指令的執(zhí)行。類似地,如果處理器當前正在特許模式中操作,那么如果主高速緩沖存儲行部分22的PX和附加數據部分24的PX皆被設定到指示對于特許模式準許跨頁指令的執(zhí)行的值,處理器確定跨頁指令被準許執(zhí)行。否則,如果主高速緩沖存儲行部分22的PX或附加數據部分24的PX都被設定到指示對于特許模式不準許執(zhí)行的值,那么處理器確定對于特許模式不準許跨頁指令的執(zhí)行。
      [0039]如果跨頁指令被準許執(zhí)行,那么處理器執(zhí)行跨頁指令(步驟106)。如果跨頁指令不被準許執(zhí)行,那么處理器不執(zhí)行跨頁指令,且在一些實施例中,報告跨頁指令被禁止執(zhí)行(步驟108)。舉例來說,處理器可將預取中止(pre-fetch abort)報告給由處理器執(zhí)行的操作系統(tǒng)的異常處置器。
      [0040]圖6是說明根據本發(fā)明的一個實施例的用于高速緩沖存儲指令高速緩沖存儲器18的擴展高速緩沖存儲行20中的一者中的指令數據的流程圖。首先,指令高速緩沖存儲器18 (且在一個特定實施例中,指令高速緩沖存儲器18的控制器30)從較高層級高速緩沖存儲器或主存儲器請求在擴展高速緩沖存儲行20中的一者的主高速緩沖存儲行部分22中高速緩沖存儲指令數據行(步驟200)。值得注意的是,如果在請求在擴展高速緩沖存儲行20的主高速緩沖存儲行部分22中高速緩沖存儲指令數據行時存在錯誤,那么不高速緩沖存儲所述行,報告錯誤,且所述過程結束。假定不存在錯誤,則響應于對指令數據行的請求,指令高速緩沖存儲器18接收并緩沖所請求指令數據駐留于其中的存儲器頁的頁屬性26,對于圖6的論述,所述頁屬性26為所請求指令數據駐留于其中的存儲器頁的UX和PX權限(步驟202)。此外,指令高速緩沖存儲器18接收并緩沖所請求的指令數據行(步驟204)。[0041 ] 指令高速緩沖存儲器18 (且在一個特定實施例中,指令高速緩沖存儲器18的控制器30)請求在擴展高速緩沖存儲行20的附加數據部分24中高速緩沖存儲指令數據(步驟206)。舉例來說,如果附加數據部分24的大小為二分之一字,那么指令高速緩沖存儲器18從下一存儲器行請求指令數據的第一二分之一字。指令高速緩沖存儲器18確定在步驟200中請求的指令數據行駐留于其中的存儲器行是否為潛在跨頁指令位置(步驟208)。如果否,那么指令高速緩沖存儲器18接收并緩沖擴展高速緩沖存儲行20的附加數據部分24的所請求指令數據(步驟210)。
      [0042]返回到步驟208,如果步驟200中所請求的指令數據駐留于其中的存儲器行為潛在跨頁指令位置,那么指令高速緩沖存儲器18確定響應于步驟206中對擴展高速緩沖存儲行20的附加數據部分24的數據的請求而接收到錯誤(步驟212)。如果否,那么指令高速緩沖存儲器18接收并緩沖擴展高速緩沖存儲行20的附加數據部分24的額外頁屬性28,對于圖6的論述,所述額外頁屬性28為附加數據部分24的指令數據駐留于其中的存儲器頁的UX和PX權限(步驟214)。否則,如果響應于步驟206中對擴展高速緩沖存儲行20的附加數據部分24的數據的請求而返回錯誤,那么指令高速緩沖存儲器過載并緩沖擴展高速緩沖存儲行20的附加數據部分24的UX和PX權限(步驟216)。如本文所使用,過載的UX和PX權限為設定到指示在用戶模式中不準許執(zhí)行且在特許模式中不準許執(zhí)行的值的UX和PX權限。舉例來說,在一個特定實施例中,使用動態(tài)分頁來分配存儲器頁。在下一存儲器行駐留于其中的頁尚未分配的情況下,可能響應于步驟206中的請求而將頁轉譯錯誤返回到指令高速緩沖存儲器18。作為響應,因為不知道尚未分配的存儲器頁的實際UX和PX權限,因此指令高速緩沖存儲器18產生并緩沖擴展高速緩沖存儲行20的附加數據部分24的經過載UX和PX權限,其中再次,所述經過載UX和PX權限指示對于用戶模式不準許執(zhí)行且對于特許模式不準許執(zhí)行。
      [0043]此時,不管是從步驟210、214還是216進行,指令高速緩沖存儲器18用所緩沖的指令數據寫入擴展高速緩沖存儲行20中的所選者(步驟218)。更具體來說,指令高速緩沖存儲器18將步驟202中接收并緩沖的指令數據寫入到擴展高速緩沖存儲行20的主高速緩沖存儲行部分22。此外,如果在步驟214中對于附加數據部分24接收并緩沖指令數據,那么指令高速緩沖存儲器18將步驟214中接收并緩沖的指令數據寫入到擴展高速緩沖存儲行20的附加數據部分24。對于上文所描述的指令高速緩沖存儲器18的N+1路組關聯(lián)式實施例,指令數據被寫入到的擴展高速緩沖存儲行20為指令高速緩沖存儲器18中的擴展高速緩沖存儲行20的對應組中的N+1個擴展高速緩沖存儲行20中的一者。
      [0044]此外,指令高速緩沖存儲器18將對應標簽項寫入指令高速緩沖存儲器18的標簽陣列34中(步驟220)。更具體來說,對于上文所描述的指令高速緩沖存儲器18的N+1路組關聯(lián)式實施例,指令高速緩沖存儲器18將高速緩沖存儲于擴展高速緩沖存儲行20中的存儲器行的虛擬地址的標簽和擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的UX和PX權限寫入到用于適當組和路的標簽項。最后,如果所高速緩沖存儲的存儲器行為潛在跨頁指令位置,那么指令高速緩沖存儲器18將在步驟214中接收并緩沖或在步驟216中過載并緩沖的額外UX和PX權限寫入到額外資源36中的適當位置,所述額外資源36存儲為潛在跨頁指令位置的擴展高速緩沖存儲行20的附加數據部分24的額外頁屬性28(步驟222)。
      [0045]在圖6說明高速緩沖存儲指令高速緩沖存儲器18中的指令數據的過程的同時,圖7說明根據本發(fā)明的一個實施例的處理器的管線38,其操作以從指令高速緩沖存儲器18提取、解碼并執(zhí)行指令。最初,下一提取選擇邏輯40選擇要提取的下一指令的虛擬地址。值得注意的是,管線38能夠并行地處理多個指令。在一個特定實施例中,管線38中的每一級具有三個字(即,六個二分之一字)的寬度。在另一特定實施例中,當在支持可變長度指令的模式中操作時,管線38中的每一級具有三個字或兩個字的寬度。然而,注意,管線38的寬度可取決于特定實施方案而變化。一旦虛擬地址經選擇且由下一提取選擇邏輯40輸出,提取邏輯42即操作以從指令高速緩沖存儲器18提取在所述虛擬地址處開始的指令數據的預定義數目個字節(jié)。當從指令高速緩沖存儲器18提取指令數據時,指令高速緩沖存儲器18返回在所述虛擬地址處開始的指令數據的預定義數目個字節(jié)、對應擴展高速緩沖存儲行20的主高速緩沖存儲行部分22的頁屬性26,以及(如果使用)對應擴展高速緩沖存儲行20的附加數據部分24的額外頁屬性28。
      [0046]在此實施例中,解碼邏輯44處理指令數據以識別在此實例中稱為指令1到12的數個指令。注意,盡管此處展示三個指令,但管線38不限于此。在此特定實例中,解碼邏輯44確定指令1和Il不是跨頁指令,而指令12是跨頁指令。另外,頁屬性26和28為UX和PX權限。在此實施例中,解碼邏輯44檢測指令1到12是否被準許執(zhí)行。然而,應注意,用于檢測指令1到12是否被準許執(zhí)行的檢測邏輯可取決于特定實施方案而實施于提取邏輯42或解碼邏輯44中。更具體來說,解碼邏輯44檢查針對從中提取指令1到12的擴展高速緩沖存儲行20的主高速緩沖存儲行部分22所返回的UX和PX權限。在此實例中,基于處理器的當前執(zhí)行模式以及主高速緩沖存儲行部分22的UX和PX權限,解碼邏輯44確定指令1到Il被準許執(zhí)行,且由此,指令1和Il被標記為“好”。然而,對于跨頁指令12,解碼邏輯44還檢查對應擴展高速緩沖存儲行20的附加數據部分24的UX和PX權限。在此實例中,基于處理器的當前執(zhí)行模式以及附加數據部分24的UX和PX權限,解碼邏輯44確定跨頁指令12不被準許執(zhí)行,且由此給跨頁指令12標上旗標“壞”。以此方式,基于主高速緩沖存儲行部分22的UX和PX權限以及對應擴展高速緩沖存儲行20的附加數據部分24的UX和PX權限兩者做出關于跨頁指令是否被準許執(zhí)行的確定。
      [0047]解碼邏輯44將指令1和Il發(fā)布到執(zhí)行邏輯46以供執(zhí)行。然而,因為跨頁指令12被標上旗標“壞”,所以解碼邏輯44不將跨頁指令12發(fā)布到執(zhí)行邏輯46。確切地說,解碼邏輯44將跨頁指令12的虛擬地址輸出到重新提取寄存器48,且接著等待指令1和Il完成執(zhí)行。一旦指令1和Il已完成執(zhí)行而使得“壞”跨頁指令12為需要執(zhí)行的下一指令,解碼邏輯44就觸發(fā)管線38的清洗,且將“壞”跨頁指令12的虛擬地址從重新提取寄存器48輸出到無效化邏輯50和下一提取選擇邏輯40兩者。管線38的清洗是由可在解碼邏輯44內部或外部的適當邏輯執(zhí)行。無效化邏輯50接著無效化指令高速緩沖存儲器18中的對應擴展高速緩沖存儲行20,且下一提取選擇邏輯40將“壞”跨頁指令12的虛擬地址輸出到提取邏輯42。
      [0048]在無效化完成之后,提取邏輯42試圖從指令高速緩沖存儲器18重新提取跨頁指令。值得注意的是,現(xiàn)在跨頁指令為管線38中的最舊的指令。另外,管線38僅允許并行地處理來自相同擴展高速緩沖存儲行20的指令,因此無其它指令隨跨頁指令而經過管線38。當重新提取跨頁指令時,因為對應擴展高速緩沖存儲行20已被無效化,因此在指令高速緩沖存儲器18中存在未中(miss)。此高速緩沖存儲未中意味著“壞”跨頁指令已從指令高速緩沖存儲器18中的對應擴展高速緩沖存儲行20移除。因此,不同于僅無效化主高速緩沖存儲線的常見無效化操作,由無效化邏輯50執(zhí)行的無效化操作無效化主高速緩沖存儲行部分22與擴展高速緩沖存儲行20的附加數據部分24兩者。
      [0049]響應于指令高速緩沖存儲器18中的未中,從較高層級高速緩沖存儲或主存儲器提取跨頁指令。假定較高層級高速緩沖存儲器或主存儲器不了解與擴展高速緩沖存儲行20類似的擴展存儲器行,則重新提取跨頁指令包含請求來自對應存儲器行的末端的跨頁指令的第一部分以及來自下一存儲器行的開始的跨頁指令的第二部分兩者。當再次基于兩個對應存儲器頁的UX和PX權限或響應于提取跨頁指令的第二部分時的非權限型錯誤(例如,轉譯錯誤)而做出跨頁指令為“壞”的確定時,提取邏輯42或解碼邏輯44在適當的情況下將錯誤(即,權限錯誤或非權限型錯誤)報告給由處理器執(zhí)行的操作系統(tǒng)的異常處置器。如果存在基于非權限的錯誤類型,那么重新提取過程實際上獲得由跨頁指令的第二部分的先前經過載UX和PX權限表示的實際基于非權限的錯誤類型。具體來說,響應于嘗試提取跨頁指令的第二部分或更具體來說(在此實施例中)響應于請求對應存儲器頁的頁屬性而獲得基于非權限的錯誤類型。值得注意的是,僅在解碼邏輯44確定“壞”跨頁指令為管線38中的最舊指令時(即,當知道指令流不會從“壞”跨頁指令岔開時)才報告錯誤。一旦報告權限式錯誤或基于非權限的錯誤,則操作根據異常處置器的指示而繼續(xù)。舉例來說,異常處置器可校正錯誤,且接著引起指令數據(包含先前為“壞”的跨頁指令)的重新提取以及指令數據于指令高速緩沖存儲器18中的高速緩沖存儲。
      [0050]根據本文所揭示的實施例的用于跟蹤和利用指令高速緩沖存儲器18的擴展高速緩沖存儲行20的附加數據部分24的額外頁屬性28的系統(tǒng)和方法可提供于或集成到任何基于處理器的裝置中。實例包含(但不限于)機頂盒、娛樂單元、導航裝置、通信裝置、固定位置數據單元、移動位置數據單元、移動電話、蜂窩電話、計算機、便攜式計算機、桌上型計算機、個人數字助理(PDA)、監(jiān)視器、計算機監(jiān)視器、電視、調諧器、無線電、衛(wèi)星無線電、音樂播放器、數字音樂播放器、便攜型音樂播放器、數字視頻播放器、視頻播放器、數字視頻光盤(DVD)播放器和便攜型數字視頻播放器。
      [0051]就此而言,圖8說明可使用指令高速緩沖存儲器18的基于處理器的系統(tǒng)52的實例。在此實例中,基于處理器的系統(tǒng)52包含一個或多個處理器54,每一處理器包含一或多個處理核心56。處理器54可為主控裝置。處理器54具有耦合到處理器核心56以快速存取暫時存儲的數據的高速緩沖存儲器58,包含指令高速緩沖存儲器18。處理器54耦合到系統(tǒng)總線60,且可使包含在基于處理器的系統(tǒng)52中的主控裝置與從屬裝置互相耦合。眾所周知,處理器54通過經由系統(tǒng)總線60交換地址、控制和數據信息而與這些其它裝置通信。盡管圖8中未說明,但可提供多個系統(tǒng)總線60,其中每一系統(tǒng)總線60構成不同構造。
      [0052]其它主控和從屬裝置可連接到系統(tǒng)總線60。如圖8中所示,作為實例,這些裝置可包含存儲器系統(tǒng)62、一或多個輸入裝置64、一或多個輸出裝置66、一或多個網絡接口裝置68,和一或多個顯示器控制器70。輸入裝置64可包含任何類型的輸入裝置,包含但不限于輸入鍵、開關、話音處理器,等。輸出裝置66可包含任何類型的輸出裝置,包含但不限于音頻、視頻、其它視覺的指示器,等。網絡接口裝置68可為經配置以允許數據與網絡72間的交換的任何裝置。網絡72可為任何類型的網絡,包含但不限于有線或無線網絡、私人或公共網絡、局域網(LAN)、寬局域網(WLAN)和因特網。網絡接口裝置68可經配置以支持所需的任何類型的通信協(xié)議。存儲器系統(tǒng)62可包含一或多個存儲器單元74-0到74-N。
      [0053]處理器54還可經配置以經由系統(tǒng)總線60存取顯示器控制器70以控制發(fā)送到一或多個顯示器76的信息。顯示器控制器70將信息發(fā)送到顯示器76以待經由一或多個視頻處理器78顯示,所述視頻處理器78將待顯示的信息處理成適合于顯示器76的格式。顯示器76可包含任何類型的顯示器,包含但不限于陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器,等。
      [0054]所屬領域的技術人員將進一步了解,結合本文所揭示的實施例描述的多種說明性邏輯塊、模塊、電路和算法可以實施為電子硬件、存儲在存儲器或另一計算機可讀媒體中且通過處理器或其它處理裝置執(zhí)行的指令或兩者的組合。作為實例,本文所述的主控裝置和從屬裝置可用于任何電路、硬件組件、集成電路(IC)或IC芯片中。本文所揭示的存儲器可為任何類型和大小的存儲器,且可經配置以存儲所需的任何類型的信息。為清楚地說明此可互換性,上文已大體上關于其功能性而描述了各種說明性組件、塊、模塊、電路和步驟。如何實施此功能性取決于特定應用、設計選項和/或強加于整個系統(tǒng)的設計約束。所屬領域的技術人員可針對每一特定應用以不同方式來實施所描述的功能性,但所述實施方案決定不應被解釋為會導致脫離本發(fā)明的范圍。
      [0055]結合本文揭示的實施例描述的各種說明性功能元件、邏輯塊、模塊和電路可以通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或經設計以執(zhí)行本文所述的功能的其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件或其任何組合來實施或執(zhí)行。處理器可為微處理器,但在替代方案中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器還可實施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器的組合、結合DSP核心的一或多個微處理器,或任何其它此配置。
      [0056]本文所揭示的實施例可以體現(xiàn)在硬件和存儲在硬件中的指令中,并且舉例來說可駐留在隨機存取存儲器(RAM)、快閃存儲器、只讀存儲器(ROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、寄存器、硬盤、可移除式磁盤、CD-ROM或所屬領域中已知的任何其它形式的計算機可讀媒體中。示范性存儲媒體耦合到處理器,使得處理器可從存儲媒體讀取信息并將信息寫入到存儲媒體。在替代方案中,存儲媒體可與處理器成一體式。處理器及存儲媒體可駐留于ASIC中。ASIC可以駐留在遠端臺中。在替代方案中,處理器與存儲媒體可作為離散組件駐留在遠端臺、基站或服務器中。
      [0057]還應注意,描述本文中的示范性實施例中的任一者中描述的操作步驟是為了提供實例和論述。所描述的操作可以不同于所說明順序的大量不同順序執(zhí)行。另外,單個操作步驟中所描述的操作實際上可在數個不同步驟中執(zhí)行。另外,示范性實施例中所論述的一或多個操作步驟可進行組合。應理解,所屬領域的技術人員將容易明白,流程圖中所說明的操作步驟可以經受大量不同修改。所屬領域的技術人員還將理解,可使用各種不同技術和技法中的任一者來表不信息和信號。舉例來說,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示在以上描述中始終參考的數據、指令、命令、信息、信號、位、符號及碼片。
      [0058]本發(fā)明的先前描述經提供以使所屬領域的技術人員能夠制造或使用本發(fā)明。所屬領域的技術人員將容易了解對本發(fā)明的各種修改,且本文中界定的一般原理可應用于其它變化而不背離本發(fā)明的精神或范圍。因此,不希望本發(fā)明限于本文中描述的實例和設計,而是賦予其與本文中揭示的原理和新穎特征相一致的最廣范圍。
      【權利要求】
      1.一種操作包括指令高速緩沖存儲器的處理器的方法,所述指令高速緩沖存儲器包括擴展高速緩沖存儲行,其中每一擴展高速緩沖存儲行包括主高速緩沖存儲行部分和附加數據部分,所述方法包括: 從所述指令高速緩沖存儲器的單個擴展高速緩沖存儲行提取跨頁指令,其中所述跨頁指令的第一部分駐留在第一存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分中;以及 基于所述擴展高速緩沖存儲行的所述附加數據部分的一或多個存儲器頁屬性而檢測所述跨頁指令被禁止執(zhí)行。
      2.根據權利要求1所述的方法,其中檢測所述跨頁指令被禁止執(zhí)行包括基于所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的一或多個存儲器頁屬性以及所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性而檢測所述跨頁指令被禁止執(zhí)行。
      3.根據權利要求1所述的方法,其中所述跨頁指令的第二部分駐留在第二存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述附加數據部分中。
      4.根據權利要求1所述的方法,其進一步包括報告所述跨頁指令被禁止執(zhí)行。
      5.根據權利要求1所述的方法,其進一步包括在提取所述跨頁指令之前,將所述跨頁指令高速緩沖存儲于所述擴展高速緩沖存儲行中。
      6.根據權利要求5所述的方法,其進一步包括: 高速緩沖存儲與所述擴展高速緩沖存儲行相關聯(lián)的所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的一或多個存儲器頁屬性;以及 高速緩沖存儲與所述擴展高速緩沖存儲行相關聯(lián)的所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性。
      7.根據權利要求6所述的方法,其中所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的所述一或多個存儲器頁屬性包括所述第一存儲器頁的一或多個執(zhí)行權限。
      8.根據權利要求7所述的方法,其中: 所述跨頁指令的第二部分駐留在第二存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述附加數據部分中;且 所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性包括所述第二存儲器頁的執(zhí)行權限。
      9.根據權利要求8所述的方法,其中: 所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的所述一或多個執(zhí)行權限和所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個執(zhí)行權限各自包括多個執(zhí)行權限位,且所述多個執(zhí)行權限位中的每一執(zhí)行權限位表示對于多個處理模式中的對應一者是否準許執(zhí)行。
      10.根據權利要求7所述的方法,其中高速緩沖存儲所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性包括: 響應于請求所述跨頁指令的第二部分的一或多個存儲器頁屬性而獲得基于非權限的錯誤信息;以及 響應于獲得所述基于非權限的錯誤信息,將表示在一或多個執(zhí)行模式中的任一者中不準許執(zhí)行的一或多個經過載執(zhí)行權限高速緩沖存儲為所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個執(zhí)行權限。
      11.根據權利要求10所述的方法,其進一步包括響應于檢測到所述跨頁指令被禁止執(zhí)行而: 獲得由所述一或多個經過載執(zhí)行權限表示的錯誤類型;以及 報告所述錯誤類型。
      12.根據權利要求1所述的方法,其進一步包括: 將多個指令高速緩沖存儲于所述指令高速緩沖存儲器中,所述多個指令包括包含所述跨頁指令的一或多個跨頁指令;以及 對于所述指令高速緩沖存儲器中的每一個且僅每一個潛在跨頁指令位置,響應于將指令數據高速緩沖存儲于對應于所述潛在跨頁指令位置的擴展高速緩沖存儲行中,高速緩沖存儲所述擴展高速緩沖存儲行的主高速緩沖存儲行部分和所述擴展高速緩沖存儲行的附加數據部分兩者的一或多個存儲器頁屬性。
      13.根據權利要求1所述的方法,其進一步包括響應于檢測到所述跨頁指令被禁止執(zhí)行而無效化含有所述跨頁指令的所述擴展高速緩沖存儲行。
      14.一種處理器,其包括: 指令高速緩沖存儲器,其包括擴展高速緩沖存儲行,其中每一擴展高速緩沖存儲行包括主高速緩沖存儲行部分和附加數據部分; 提取邏輯,其經配置以從所述指令高速緩沖存儲器的單個擴展高速緩沖存儲行提取跨頁指令,其中所述跨頁指令的第一部分駐留在第一存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分中;以及 檢測邏輯,其經配置以基于所述擴展高速緩沖存儲行的所述附加數據部分的一或多個存儲器頁屬性而檢測所述跨頁指令被禁止執(zhí)行。
      15.根據權利要求14所述的處理器,其中所述檢測邏輯經配置以基于所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的一或多個存儲器頁屬性以及所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性而檢測所述跨頁指令被禁止執(zhí)行。
      16.根據權利要求14所述的處理器,其中所述跨頁指令的第二部分駐留在第二存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述附加數據部分中。
      17.根據權利要求14所述的處理器,其中所述處理器報告檢測到所述跨頁指令被禁止執(zhí)行。
      18.根據權利要求14所述的處理器,其中所述處理器進一步經配置以在提取所述跨頁指令之前,將所述跨頁指令高速緩沖存儲于所述擴展高速緩沖存儲行中。
      19.根據權利要求18所述的處理器,其中所述指令高速緩沖存儲器進一步經配置以進行以下操作: 高速緩沖存儲與所述擴展高速緩沖存儲行相關聯(lián)的所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的一或多個存儲器頁屬性;以及 高速緩沖存儲與所述擴展高速緩沖存儲行相關聯(lián)的所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性。
      20.根據權利要求19所述的處理器,其中所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的所述一或多個存儲器頁屬性包括所述第一存儲器頁的一或多個執(zhí)行權限。
      21.根據權利要求20所述的處理器,其中: 所述跨頁指令的第二部分駐留在第二存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述附加數據部分中;以及 所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性包括所述第二存儲器頁的執(zhí)行權限。
      22.根據權利要求21所述的處理器,其中: 所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的所述一或多個執(zhí)行權限和所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個執(zhí)行權限各自包括多個執(zhí)行權限位,且所述多個執(zhí)行權限位中的每一執(zhí)行權限位表示對于多個處理模式中的對應一者是否準許執(zhí)行。
      23.根據權利要求20所述的處理器,其中為了高速緩沖存儲所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個存儲器頁屬性,所述指令高速緩沖存儲器進一步經配置以進行以下操作: 響應于請求所述跨頁指令的第二部分的一或多個存儲器頁屬性而獲得基于非權限的錯誤信息;以及 響應于獲得所述基于非權限的錯誤信息,將表示在一或多個執(zhí)行模式中的任一者中不準許執(zhí)行的一或多個經過載執(zhí)行權限高速緩沖存儲為所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個執(zhí)行權限。
      24.根據權利要求23所述的處理器,其中響應于檢測到所述跨頁指令被禁止執(zhí)行,所述處理器進一步經配置以進行以下操作: 獲得由所述一或多個經過載執(zhí)行權限表示的錯誤類型;以及 報告所述錯誤類型。
      25.根據權利要求14所述的處理器,其中所述指令高速緩沖存儲器進一步經配置以進行以下操作: 將多個指令高速緩沖存儲于所述指令高速緩沖存儲器中,所述多個指令包括包含所述跨頁指令的一或多個跨頁指令;以及 對于所述指令高速緩沖存儲器中的每一個且僅每一個潛在跨頁指令位置,響應于將指令數據高速緩沖存儲于對應于所述潛在跨頁指令位置的擴展高速緩沖存儲行中,高速緩沖存儲所述擴展高速緩沖存儲行的主高速緩沖存儲行部分和所述擴展高速緩沖存儲行的附加數據部分兩者的一或多個存儲器頁屬性。
      26.根據權利要求14所述的處理器,其中所述處理器進一步經配置以響應于檢測到所述跨頁指令被禁止執(zhí)行而無效化含有所述跨頁指令的所述擴展高速緩沖存儲行。
      27.根據權利要求14所述的處理器,其集成到半導體裸片中。
      28.根據權利要求14所述的處理器,其中所述處理器包含于從由以下各者組成的群組中選出的裝置中:機頂盒、娛樂單元、導航裝置、通信裝置、固定位置數據單元、移動位置數據單元、移動電話、蜂窩電話、計算機、便攜式計算機、桌上型計算機、個人數字助理PDA、監(jiān)視器、計算機監(jiān)視器、電視、調諧器、無線電、衛(wèi)星無線電、音樂播放器、數字音樂播放器、便攜型音樂播放器、數字視頻播放器、視頻播放器、數字視頻光盤DVD播放器和便攜型數字視頻播放器。
      29.—種包括指令高速緩沖存儲器的處理器,所述指令高速緩沖存儲器包括擴展高速緩沖存儲行,其中每一擴展高速緩沖存儲行包括主高速緩沖存儲行部分和附加數據部分,所述處理器包括: 用于從所述指令高速緩沖存儲器的單個擴展高速緩沖存儲行提取跨頁指令的裝置,其中所述跨頁指令的第一部分駐留在第一存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分中;以及 用于基于所述擴展高速緩沖存儲行的所述附加數據部分的一或多個存儲器頁屬性而檢測所述跨頁指令被禁止執(zhí)行的裝置。
      30.一種存儲軟件的計算機可讀媒體,所述軟件用于命令包括指令高速緩沖存儲器的處理器進行以下操作,所述指令高速緩沖存儲器包括擴展高速緩沖存儲行,其中每一擴展高速緩沖存儲行包括主高速緩沖存儲行部分和附加數據部分, 從所述指令高速緩沖存儲器的單個擴展高速緩沖存儲行提取跨頁指令,其中所述跨頁指令的第一部分駐留在第一存儲器頁中且高速緩沖存儲于所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分中;以及 基于所述擴展高速緩沖存儲行的所述附加數據部分的一或多個存儲器頁屬性而檢測所述跨頁指令被禁止執(zhí)行。
      31.一種用于處理器的指令高速緩沖存儲器,其包括: 一或多個資源,其經配置以高速緩沖存儲: 多個擴展高速緩沖存儲行,所述多個擴展高速緩沖存儲行中的每一擴展高速緩沖存儲行包括主高速緩沖存儲行部分和附加數據部分; 所述多個擴展高速緩沖存儲行中的每一者的所述主高速緩沖存儲行部分的一或多個頁屬性;以及 對于所述多個擴展高速緩沖存儲行中的為潛在跨頁指令位置的每一擴展高速緩沖存儲行,為潛在跨頁指令位置的所述擴展高速緩沖存儲行的所述附加數據部分的一或多個額外頁屬性。
      32.根據權利要求31所述的指令高速緩沖存儲器,其中對于所述多個擴展高速緩沖存儲行中的為潛在跨頁指令位置的擴展高速緩沖存儲行,所述擴展高速緩沖存儲行的所述主高速緩沖存儲行部分的所述一或多個屬性為高速緩沖存儲于所述主高速緩沖存儲行部分中的指令數據駐留于其中的第一存儲器頁的一或多個執(zhí)行權限,且所述擴展高速緩沖存儲行的所述附加數據部分的所述一或多個額外屬性為一或多個額外執(zhí)行權限。
      33.根據權利要求32所述的指令高速緩沖存儲器,其中所述一或多個額外執(zhí)行權限為高速緩沖存儲于所述擴展高速緩沖存儲行的所述附加數據部分中的指令數據駐留于其中的第二存儲器頁的一或多個執(zhí)行權限。
      34.根據權利要求32所述的指令高速緩沖存儲器,其中所述一或多個額外執(zhí)行權限響應于在提取所述擴展高速緩沖存儲行的所述附加數據部分的指令數據時的非權限型錯誤而過載。
      35.根據權利要求31所述的指令高速緩沖存儲器,其中所述一或多個資源經配置以僅針對所述多個擴展高速緩沖存儲行中的為潛在跨頁指令位置的子組而高速緩沖存儲所述一或多個額外頁屬性。
      36.根據權利要求31所述的指令高速緩沖存儲器,其集成到半導體裸片中。
      37.根據權利要求31所述的指令高速緩沖存儲器,其中所述指令高速緩沖存儲器包含于從由以下各者組成的群組中選出的裝置中:機頂盒、娛樂單元、導航裝置、通信裝置、固定位置數據單元、移動位置數據單元、移動電話、蜂窩電話、計算機、便攜式計算機、桌上型計算機、個人數字助理PDA、監(jiān)視器、計算機監(jiān)視器、電視、調諧器、無線電、衛(wèi)星無線電、音樂播放器、數字音樂播放器、便攜型音樂播放器、數字視頻播放器、視頻播放器、數字視頻光盤DVD播放器和便攜型數字視頻播放器。
      38.一種用于處理器的指令高速緩沖存儲器,其包括: 一或多個用于高速緩沖存儲以下各者的裝置: 多個擴展高速緩沖存儲行,所述多個擴展高速緩沖存儲行中的每一擴展高速緩沖存儲行包括主高速緩沖存儲行部分和附加數據部分; 所述多個擴展高速緩沖存儲行中的每一者的所述主高速緩沖存儲行部分的一或多個頁屬性;以及 對于所述多個擴展高速緩沖存儲行中的為潛在跨頁指令位置的每一擴展高速緩沖存儲行,為潛在跨頁指令位置的所述擴展高速緩沖存儲行的所述附加數據部分的一或多個額外頁屬性。
      39.一種存儲軟件的計算機可讀媒體,所述軟件用于命令處理器進行以下操作: 維持指令高速緩沖存儲器的一或多個資源以高速緩沖存儲: 多個擴展高速緩沖存儲行,所述多個擴展高速緩沖存儲行中的每一擴展高速緩沖存儲行包括主高速緩沖存儲行部分和附加數據部分; 所述多個擴展高速緩沖存儲行中的每一者的所述主高速緩沖存儲行部分的一或多個頁屬性;以及 對于所述多個擴展高速緩沖存儲行中的為潛在跨頁指令位置的每一擴展高速緩沖存儲行,為潛在跨頁指令位置的所述擴展高速緩沖存儲行的所述附加數據部分的一或多個額外頁屬性。
      【文檔編號】G06F12/08GK104285215SQ201380022547
      【公開日】2015年1月14日 申請日期:2013年5月9日 優(yōu)先權日:2012年5月9日
      【發(fā)明者】萊斯利·馬克·德布魯因, 詹姆斯·諾里斯·迪芬德爾費爾, 邁克爾·斯科特·麥基爾文, 布萊恩·邁克爾·斯坦普爾 申請人:高通股份有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1