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

      用于取消對循環(huán)的數(shù)據(jù)預(yù)取請求的方法和設(shè)備的制造方法

      文檔序號:9355152閱讀:352來源:國知局
      用于取消對循環(huán)的數(shù)據(jù)預(yù)取請求的方法和設(shè)備的制造方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明大體上涉及處理系統(tǒng)的方面,且明確地說,涉及用于減少由數(shù)據(jù)預(yù)取引起的高速緩存污染的方法和設(shè)備。
      【背景技術(shù)】
      [0002]例如蜂窩式電話、膝上型計算機、個人數(shù)據(jù)助理(PDA)和其類似者的許多便攜式產(chǎn)品利用執(zhí)行例如通信和多媒體程序的程序的處理系統(tǒng)。用于這些產(chǎn)品的處理系統(tǒng)可包含多個處理器、包含用于存儲指令和數(shù)據(jù)的多階高速緩沖存儲器的復(fù)雜存儲器系統(tǒng)、控制器、例如通信接口的外圍裝置,和配置(例如)于單一芯片上的固定功能邏輯塊。同時,便攜式產(chǎn)品具有呈電池形式的有限能量源,所述電池常常為支持由處理系統(tǒng)進(jìn)行的高性能操作所需的。為了增加電池壽命,需要盡可能高效地執(zhí)行這些操作。許多個人計算機也經(jīng)開發(fā)而具有高效設(shè)計以在總能量消耗減少的情況下操作。
      [0003]為在執(zhí)行程序時提供高性能,可使用基于存儲器參考的空間區(qū)域性的概念且通常用以改善處理器性能的數(shù)據(jù)預(yù)取。通過從高速緩沖存儲器預(yù)取在接近已提取數(shù)據(jù)元素或通過步幅地址差量或間接指標(biāo)相關(guān)且可能用于未來存取中的地址處的多個數(shù)據(jù)元素,可減小高速緩存未命中率。高速緩存設(shè)計通常通過針對個別數(shù)據(jù)元素提取而提取數(shù)據(jù)的高速緩存行來實施一種形式的預(yù)取。硬件預(yù)取器可通過以推測方式預(yù)取數(shù)據(jù)的一或多個額外高速緩存行來擴充此操作,其中預(yù)取定址可基于順序、步幅或指標(biāo)信息而形成。用于存儲器密集型工作負(fù)載(例如,處理大數(shù)據(jù)陣列)的此硬件預(yù)取器操作可顯著減少存儲器延時。然而,數(shù)據(jù)預(yù)取并非不具有其缺點。例如,在用于處理數(shù)據(jù)陣列的軟件循環(huán)中,數(shù)據(jù)預(yù)取器電路預(yù)取待用于循環(huán)的未來反復(fù)中的數(shù)據(jù),所述未來反復(fù)包含循環(huán)的最后反復(fù)。然而,將不使用為循環(huán)的最后反復(fù)而預(yù)取的數(shù)據(jù),且由于在高速緩沖存儲器中存儲將不被使用的此數(shù)據(jù)而發(fā)生高速緩存污染。當(dāng)展開循環(huán)時,高速緩存污染問題會加重。

      【發(fā)明內(nèi)容】

      [0004]在本發(fā)明的若干方面當(dāng)中,本發(fā)明認(rèn)識到,提供用于預(yù)取的更高效方法和設(shè)備可改善處理器系統(tǒng)中的性能且降低其中的功率要求。為這些目的,本發(fā)明的一實施例提出一種用于取消預(yù)取請求的方法。基于程序流信息的評估來識別循環(huán)退出情形。響應(yīng)于識別到的循環(huán)退出情形而取消未決高速緩存預(yù)取請求。
      [0005]另一實施例提出一種用于取消預(yù)取請求的方法。根據(jù)被呼叫函數(shù)而以推測方式預(yù)取數(shù)據(jù)。響應(yīng)于從被呼叫函數(shù)的函數(shù)退出而取消未決數(shù)據(jù)預(yù)取請求。
      [0006]另一實施例提出一種用于取消預(yù)取請求的設(shè)備。循環(huán)數(shù)據(jù)地址監(jiān)視器經(jīng)配置以基于程序循環(huán)中的存儲器存取指令的重復(fù)執(zhí)行而確定數(shù)據(jù)存取步幅。數(shù)據(jù)預(yù)取邏輯經(jīng)配置以根據(jù)數(shù)據(jù)存取步幅而以推測方式發(fā)出預(yù)取請求。停止預(yù)取電路經(jīng)配置以響應(yīng)于識別到的循環(huán)退出而取消未決預(yù)取請求。
      [0007]另一實施例提出一種編碼有計算機可讀程序數(shù)據(jù)和代碼的計算機可讀非暫時性媒體。基于程序流信息的評估來識別循環(huán)退出情形。響應(yīng)于識別到的循環(huán)退出情形而取消未決高速緩存預(yù)取請求。
      [0008]另一實施例提出一種用于取消預(yù)取請求的設(shè)備。利用用于基于程序循環(huán)中的存儲器存取指令的重復(fù)執(zhí)行而確定數(shù)據(jù)存取步幅的裝置。利用用于根據(jù)數(shù)據(jù)存取步幅而以推測方式發(fā)出預(yù)取請求的裝置。也利用用于響應(yīng)于識別到的循環(huán)退出而取消未決預(yù)取請求的裝置。
      [0009]應(yīng)理解,對于所屬領(lǐng)域的技術(shù)人員來說,本發(fā)明的其它實施例將從以下詳細(xì)描述而變得容易顯而易見,在以下詳細(xì)描述中,以說明的方式來展示和描述本發(fā)明的各種實施例。應(yīng)認(rèn)識到,本發(fā)明能夠?qū)嵺`其它和不同實施例且其若干細(xì)節(jié)能夠在其它各方面加以修改,以上所有皆不脫離本發(fā)明的精神和范圍。因此,應(yīng)將圖式和詳細(xì)描述視為本質(zhì)上說明性而非限制性的。
      【附圖說明】
      [0010]借助于實例(且并非限制)來說明本發(fā)明的各種方面,在隨附圖式中,其中:
      [0011]圖1說明可有利地使用本發(fā)明的一實施例的示范性處理器系統(tǒng);
      [0012]圖2A說明用于在檢測到循環(huán)結(jié)束分支后即取消未決非必要數(shù)據(jù)預(yù)取請求的過程;和
      [0013]圖2B說明用于在檢測到函數(shù)返回后即取消未決非必要數(shù)據(jù)預(yù)取請求的過程;和
      [0014]圖3說明具有處理器復(fù)合體的便攜式裝置的特定實施例,所述處理器復(fù)合體經(jīng)配置以取消選定未決數(shù)據(jù)預(yù)取請求以減少高速緩存污染。
      【具體實施方式】
      [0015]下文結(jié)合隨附圖式所闡述的詳細(xì)描述希望作為對本發(fā)明的各種示范性實施例的描述,且不希望表示可實踐本發(fā)明的僅有實施例。所述詳細(xì)描述包含出于提供對本發(fā)明的透徹理解的目的的特定細(xì)節(jié)。然而,對于所屬領(lǐng)域的技術(shù)人員將顯而易見,本發(fā)明可在無這些特定細(xì)節(jié)的情況下實踐。在一些例子中,以框圖形式來展示眾所周知的結(jié)構(gòu)和組件,以便避免使本發(fā)明的概念模糊。
      [0016]圖1說明有利地使用本發(fā)明的一實施例的示范性處理器系統(tǒng)100。所述處理器系統(tǒng)100包含處理器110、高速緩沖存儲器系統(tǒng)112、系統(tǒng)存儲器114以及輸入和輸出(I/O)系統(tǒng)116。例如,高速緩沖存儲器系統(tǒng)112包括I階指令高速緩沖存儲器(Icache) 124、存儲器控制器126和I階數(shù)據(jù)高速緩沖存儲器(Dcache) 128。高速緩沖存儲器系統(tǒng)112也可包含2階統(tǒng)一高速緩沖存儲器(未圖示)或特定實施方案環(huán)境所需要的其它高速緩沖存儲器組件。系統(tǒng)存儲器114提供對未見于Icache 124或Dcache 128中的指令和數(shù)據(jù)的存取。注意到,高速緩沖存儲器系統(tǒng)112可與處理器110集成,且也可包含呈階層架構(gòu)組織形式的多階高速緩沖存儲器。I/O系統(tǒng)116包括與處理器110介接的多個I/O裝置,例如I/O裝置140 和 142。
      [0017]本發(fā)明的實施例可合適地用于具有條件分支指令的處理器中。例如,處理器110包括指令管線120、數(shù)據(jù)預(yù)取邏輯121、預(yù)測邏輯122和堆迭邏輯電路123。指令管線120由一系列級構(gòu)成,例如,提取和預(yù)取級130、解碼級131、指令發(fā)出級132、操作數(shù)提取級133、執(zhí)行級134(例如,用于執(zhí)行加載(Ld)和存儲(St)指令),和完成級135。所屬領(lǐng)域的技術(shù)人員將認(rèn)識到,取決于處理器的操作頻率和每一級中所需的操作的復(fù)雜性,指令管線120中的每一級130到135可包括數(shù)個額外管線級。例如,執(zhí)行級134可包含一或多個管線級,所述一或多個管線級對應(yīng)于一或多個指令執(zhí)行級電路,例如,加法器、乘法器、邏輯運算、加載和存儲操作、移位和旋轉(zhuǎn)操作,和具有更大或更小復(fù)雜性的其它功能電路。例如,當(dāng)執(zhí)行加載指令時,其向Dcache 128請求數(shù)據(jù),且如果所請求的數(shù)據(jù)不存在于Dcache中,那么將提取請求發(fā)出到下一階高速緩沖存儲器或系統(tǒng)存儲器。將此提取請求視為必要請求,這是因為在加載指令的狀況下所述請求直接響應(yīng)于指令的執(zhí)行。
      [0018]預(yù)取請求為響應(yīng)于例如對程序循環(huán)的檢測的程序流信息而產(chǎn)生的請求,所述程序循環(huán)在循環(huán)中具有一或多個加載指令且加載地址基于(例如)步幅。數(shù)據(jù)預(yù)取邏輯121利用可基于經(jīng)檢測循環(huán)的數(shù)個反復(fù)的此程序流信息,以在發(fā)出預(yù)取請求之前更準(zhǔn)確地識別加載指令的操作數(shù)地址的必要使用模式。當(dāng)檢測模式時,插入填充請求。處理器110可操作以通過使用與在處理器管線中追蹤的請求相關(guān)聯(lián)的額外旗標(biāo)來區(qū)分必要請求與預(yù)取請求。此旗標(biāo)也可隨請求傳播到每一未處理高速緩存行填充可識別為預(yù)取填充抑或必要填充的高速緩沖存儲器。管線級中的每一者可在不脫離本文中所描述的預(yù)取請求取消方法和設(shè)備的情況下具有變化的實施方案。
      [0019]為了最小化可能在程序所需的數(shù)據(jù)不在相關(guān)聯(lián)的I階Dcache 128中的情況下發(fā)生的延遲,提取和預(yù)取級130記錄與在經(jīng)檢測程序循環(huán)中執(zhí)行的一或多個存儲器存取指令相關(guān)聯(lián)的程序流信息。程序信息可包含來自解碼級131的如下指示:已接收加載指令,且在執(zhí)行之前用于加載指令的操作數(shù)地址信息可在管線級(例如,操作數(shù)提取級133或執(zhí)行級134)處可用。數(shù)據(jù)預(yù)取邏輯121在加載地址變得可用于檢測模式時監(jiān)視所述加載地址。在(例如)通過在循環(huán)的三個或三個以上反復(fù)期間監(jiān)視加載指令來確定具有可接受可信度的模式之后,在于循環(huán)中再次遇到加載指令時之前,發(fā)出對預(yù)期數(shù)據(jù)的預(yù)取請求。此推測性預(yù)取請求確保在執(zhí)行級134需要時,所需數(shù)據(jù)在I階Dcache中可用。加載和存儲執(zhí)行級134接著更有可能直接從I階Dcache存取所需數(shù)據(jù),而無須等待從存儲器階層架構(gòu)中的較高階層存取數(shù)據(jù)。
      [0020]數(shù)據(jù)預(yù)取邏輯121也可包含數(shù)據(jù)高速緩存循環(huán)數(shù)據(jù)地址監(jiān)視器以確定數(shù)據(jù)存取步幅。數(shù)據(jù)預(yù)取邏輯121接著以推測方式發(fā)出具有根據(jù)數(shù)據(jù)
      當(dāng)前第1頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1