• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    高效混合預(yù)測(cè)策略的設(shè)計(jì)

    2024-11-04 00:00:00方昕宇周日貴龔鳴清

    摘 要:現(xiàn)有的分支預(yù)測(cè)模型無法完全準(zhǔn)確預(yù)測(cè)處理器中各種指令的行為,導(dǎo)致處理效率受限。為此提出了兩種混合預(yù)測(cè)解決方案,旨在結(jié)合多種分支預(yù)測(cè)模型,以提高預(yù)測(cè)的準(zhǔn)確性和處理器的執(zhí)行效率。將TAGE(tagged geometric history length)分支預(yù)測(cè)模型與BATAGE(Bayesian tagged geometric history length)分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果轉(zhuǎn)交Hybrid模型。在預(yù)測(cè)階段中,Hybrid模型會(huì)根據(jù)TAGE和BATAGE的歷史表現(xiàn)去選擇表現(xiàn)最佳分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果。而在更新階段中,Hybrid模型會(huì)根據(jù)設(shè)計(jì)的混合預(yù)測(cè)策略對(duì)需要更新條目的飽和計(jì)數(shù)器進(jìn)行更新。在CBP(championship branch prediction)軟件仿真平臺(tái)提供的440個(gè)測(cè)試程序上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明:與多種最新主流分支預(yù)測(cè)模型相比,兩種混合預(yù)測(cè)解決方案的預(yù)測(cè)錯(cuò)誤率均低于它們。該研究為預(yù)測(cè)所有指令模式行為問題提供了有效解決方案。在實(shí)際CPU的分支指令預(yù)測(cè),該研究提供了一些實(shí)用價(jià)值。

    關(guān)鍵詞:TAGE;BATAGE;分支預(yù)測(cè);混合預(yù)測(cè)

    中圖分類號(hào):TP332 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-3695(2024)09-028-2766-07

    doi:10.19734/j.issn.1001-3695.2023.12.0641

    Design of efficient hybrid predicting strategies

    Fang Xinyu1,Zhou Rigui1,Gong Mingqing2

    (1.College of Information Engineering,Shanghai Maritime University,Shanghai 201306,China;2.Hangzhou Today’s Headlines Technology Co.,Ltd.,Hangzhou 311100,China)

    Abstract:The existing branch prediction models can’t predict the behaviors of various instructions in the processor accurately,which leads to the limitation of processing efficiency.Therefore,this paper proposd two hybrid prediction solutions,which aimed to combine multiple branch prediction models to improve prediction accuracy and processor execution efficiency.This paper transferred the prediction results of TAGE branch prediction model and BATAGE branch prediction model to the Hybrid model.In the prediction phase,the Hybrid model selected the prediction results of the best-performing branch prediction model based on the historical performance of TAGE and BATAGE.In the update phase,the Hybrid model updated the saturation counter of the entries that needed to be updated according to the designed hybrid prediction strategy.Experiments on 440 test programs provided by the CBP software simulation platform show that the prediction error rates of both hybrid prediction solutions are lower than those of many of the latest mainstream branch prediction models.This study provides an effective solution to the problem of predicting all command mode behaviors.In the branch instruction prediction of real CPU,this research provides some practical value.

    Key words:TAGE;BATAGE;branch prediction;hybrid prediction

    0 引言

    分支預(yù)測(cè)是計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域中的一個(gè)重要研究主題,尤其是在高性能處理器設(shè)計(jì)方面。現(xiàn)代中央處理器[1]都廣泛采用分支預(yù)測(cè)技術(shù)[2],其主要目的是預(yù)測(cè)程序中的控制流路徑,以減少由于分支指令引起的處理器流水線中的延遲和中斷。在分支預(yù)測(cè)的研究中,最常見的挑戰(zhàn)包括減少條件分支指令的錯(cuò)誤預(yù)測(cè)來提高預(yù)測(cè)準(zhǔn)確性。然而,目前的分支預(yù)測(cè)模型都無法精準(zhǔn)預(yù)測(cè)所有類型的條件分支指令。針對(duì)這個(gè)問題,國(guó)內(nèi)外研究人員在過去十幾年作出諸多貢獻(xiàn):在處理器設(shè)計(jì)的早期階段,簡(jiǎn)單的靜態(tài)預(yù)測(cè)策略得到了廣泛應(yīng)用。隨著計(jì)算需求加深,動(dòng)態(tài)預(yù)測(cè)技術(shù)[3]逐漸成為主流,如二級(jí)自適應(yīng)訓(xùn)練分支預(yù)測(cè)模型(Bimodal[4],Gshare[5])、高精度條件分支預(yù)測(cè)模型TAGE[6]及其優(yōu)化模型[7~9]、以及結(jié)合多個(gè)分支預(yù)測(cè)模型的混合預(yù)測(cè)模型[10]。此外,還有嘗試?yán)蒙窠?jīng)網(wǎng)絡(luò)模型[11]來捕捉更復(fù)雜的分支行為。在實(shí)際應(yīng)用上,學(xué)術(shù)界[12,13]在Sonic Boom開源IP核中應(yīng)用了分支預(yù)測(cè)模型,工業(yè)界[14,15]在具體產(chǎn)品也中也應(yīng)用了分支預(yù)測(cè)技術(shù)。

    為了盡可能預(yù)測(cè)大多數(shù)條件分支指令,主要方案包括基于傳統(tǒng)TAGE分支預(yù)測(cè)模型的優(yōu)化;引入具有強(qiáng)大學(xué)習(xí)能力的網(wǎng)絡(luò)模型[16,17];組合不同預(yù)測(cè)模型的混合預(yù)測(cè)[18],能夠利用各個(gè)預(yù)測(cè)模型特點(diǎn),提升預(yù)測(cè)精度并適應(yīng)各種分支指令行為。本文旨在結(jié)合兩種分支預(yù)測(cè)模型并且設(shè)計(jì)混合預(yù)測(cè)策略,以提高預(yù)測(cè)準(zhǔn)確性,適應(yīng)更多應(yīng)用測(cè)試場(chǎng)景。最新提出的混合預(yù)測(cè)模型采用BATAGE與無偏差神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型相結(jié)合[19],雖然提高了預(yù)測(cè)準(zhǔn)確度,但是需要較長(zhǎng)時(shí)間訓(xùn)練模型才能達(dá)到理想效果。

    本文將TAGE與BATAGE[20]分支預(yù)測(cè)模型相結(jié)合,并且設(shè)計(jì)混合預(yù)測(cè)策略來提高預(yù)測(cè)準(zhǔn)確性。如何得到最終預(yù)測(cè)結(jié)果是需要考慮的問題。所以,本文設(shè)計(jì)適應(yīng)性增減策略和權(quán)重策略兩種混合預(yù)測(cè)策略方案。通過利用兩種分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果和混合預(yù)測(cè)策略,得出最終預(yù)測(cè)結(jié)果?;旌项A(yù)測(cè)策略采用單獨(dú)載體接受TAGE和BATAGE的預(yù)測(cè)結(jié)果,這里稱為Hybrid預(yù)測(cè)模型,其本身為標(biāo)記預(yù)測(cè)表。在混合預(yù)測(cè)策略中,適應(yīng)性增減策略考慮全部歷史信息模式行為對(duì)當(dāng)前決策的影響;而權(quán)重策略更加注重考慮近期歷史信息模式行為對(duì)當(dāng)前決策的影響,削弱早期歷史信息模式行為的影響。在預(yù)測(cè)方面上,兩種混合預(yù)測(cè)策略都是選擇歷史表現(xiàn)最好預(yù)測(cè)模型的預(yù)測(cè)結(jié)果。在更新方面上,適應(yīng)性增減策略是在需要更新的條目上自增或自減;權(quán)重策略是在需要更新的條目上采用指數(shù)平滑法。

    1 預(yù)測(cè)模型及預(yù)測(cè)模型架構(gòu)介紹

    1.1 TAGE分支預(yù)測(cè)模型

    TAGE分支預(yù)測(cè)模型結(jié)構(gòu)如圖1所示,由一張基礎(chǔ)預(yù)測(cè)表和四張標(biāo)記預(yù)測(cè)表組成,分別用T0,T1,T2,T3,T4表示?;A(chǔ)預(yù)測(cè)表由多項(xiàng)條目組成,每項(xiàng)條目是用于預(yù)測(cè)的飽和計(jì)數(shù)器,標(biāo)記預(yù)測(cè)表的每項(xiàng)條目由標(biāo)簽(tag)、預(yù)測(cè)位(pred)和評(píng)估置信度(u)三部分組成?;A(chǔ)預(yù)測(cè)表和標(biāo)記預(yù)測(cè)表的條目組成如圖2和3所示。

    在TAGE分支預(yù)測(cè)模型中,每張標(biāo)記預(yù)測(cè)表需要不同長(zhǎng)度的分支歷史信息來匹配條目的標(biāo)簽,其所需長(zhǎng)度遵循

    L(i)=(int)(αi-1×L(i)+0.5)(1)

    其中:1≤i≤M,M表示標(biāo)記預(yù)測(cè)表的數(shù)量。基礎(chǔ)預(yù)測(cè)表用PC(program counter)來索引和匹配條目,匹配到條目所對(duì)應(yīng)的飽和計(jì)數(shù)器負(fù)責(zé)提供預(yù)測(cè)結(jié)果。另外,標(biāo)記預(yù)測(cè)表將PC與不同長(zhǎng)度的歷史信息進(jìn)行哈希運(yùn)算來完成標(biāo)簽匹配。若標(biāo)簽匹配成功,表明某張標(biāo)記預(yù)測(cè)表命中,最終預(yù)測(cè)結(jié)果源自于成功匹配到所需最長(zhǎng)歷史信息的標(biāo)記預(yù)測(cè)表。若所有標(biāo)記預(yù)測(cè)表的標(biāo)簽都未能命中,則采用基礎(chǔ)預(yù)測(cè)表的預(yù)測(cè)結(jié)果作為最終預(yù)測(cè)結(jié)果。

    TAGE分支預(yù)測(cè)模型的更新策略主要針對(duì)更新條目的pred和u字段進(jìn)行調(diào)整。這里引入provider和altpred的概念,分別表示匹配最長(zhǎng)和次長(zhǎng)歷史信息預(yù)測(cè)表。u字段會(huì)根據(jù)是否準(zhǔn)確預(yù)測(cè)進(jìn)行調(diào)整:當(dāng)provider和altpred不同時(shí),它會(huì)遞減,否則會(huì)遞增。在文獻(xiàn)[6]中,每256K分支指令都會(huì)定期重置u。對(duì)于provider,若TAGE分支預(yù)測(cè)模型預(yù)測(cè)準(zhǔn)確,則更新provider的pred字段。相反,如果TAGE分支預(yù)測(cè)模型預(yù)測(cè)不正確并且provider不是所需最長(zhǎng)歷史信息的預(yù)測(cè)表,則不僅更新provider的pred字段,而且在比provider所需歷史信息更長(zhǎng)的預(yù)測(cè)表中分配新條目。新分配條目需要初始化:u字段初始化為0,pred字段初始化為weak correct。

    1.2 BATAGE分支預(yù)測(cè)模型

    BATAGE與TAGE分支預(yù)測(cè)模型結(jié)構(gòu)相同,同樣也是由基礎(chǔ)預(yù)測(cè)表和標(biāo)記預(yù)測(cè)表組成。BATAGE與TAGE分支預(yù)測(cè)模型結(jié)構(gòu)不同主要在于引入貝葉斯置信度評(píng)估機(jī)制和條目分配受控分配機(jī)制替代原有TAGE的預(yù)測(cè)和更新機(jī)制,下面詳細(xì)介紹BATAGE與TAGE分支預(yù)測(cè)模型結(jié)構(gòu)的不同之處。

    BATAGE條目組成:基礎(chǔ)預(yù)測(cè)表T0條目組成如圖2所示,由飽和計(jì)數(shù)器位所組成;標(biāo)記預(yù)測(cè)表從T1到T4條目組成如圖4所示,tag表示標(biāo)簽用于匹配,n1與n0記錄條件分支指令的跳轉(zhuǎn)和未跳轉(zhuǎn)次數(shù)。BATAGE分支預(yù)測(cè)模型會(huì)通過n1與n0字段計(jì)算當(dāng)前條目的錯(cuò)誤預(yù)測(cè)率并且選擇最終預(yù)測(cè)結(jié)果。

    貝葉斯置信度評(píng)估機(jī)制應(yīng)用在分支預(yù)測(cè)階段,在BATAGE分支預(yù)測(cè)模型的預(yù)測(cè)階段:

    a)在基礎(chǔ)預(yù)測(cè)表中,預(yù)測(cè)結(jié)果直接通過分支指令的PC值索引基礎(chǔ)預(yù)測(cè)表中的條目獲得。

    b)在標(biāo)記預(yù)測(cè)表中,通過條件分支指令的PC值與分支歷史信息進(jìn)行哈希運(yùn)算,其結(jié)果去匹配標(biāo)記預(yù)測(cè)表的標(biāo)簽,其中不同的標(biāo)記預(yù)測(cè)表所需歷史信息長(zhǎng)度也是不同的。另外,BATAGE[20]分支預(yù)測(cè)模型所描述的貝葉斯置信度評(píng)估機(jī)制利用n0和n1字段來計(jì)算當(dāng)前錯(cuò)誤預(yù)測(cè)率qi。若錯(cuò)誤預(yù)測(cè)率越低,則置信度越高。

    c)若標(biāo)記預(yù)測(cè)表都沒有匹配成功,則采用基礎(chǔ)預(yù)測(cè)表結(jié)果。反之,根據(jù)每張預(yù)測(cè)表得到的錯(cuò)誤預(yù)測(cè)率qi,選取結(jié)果qi最小對(duì)應(yīng)標(biāo)記預(yù)測(cè)表的預(yù)測(cè)結(jié)果;若qi存在相等的情況,此時(shí)根據(jù)匹配成功的標(biāo)記預(yù)測(cè)表所對(duì)應(yīng)歷史信息長(zhǎng)度情況,選擇歷史信息長(zhǎng)度最長(zhǎng)對(duì)應(yīng)標(biāo)記預(yù)測(cè)表的預(yù)測(cè)結(jié)果。

    條目分配受控分配機(jī)制應(yīng)用在分支預(yù)測(cè)錯(cuò)誤階段,為每個(gè)錯(cuò)誤預(yù)測(cè)的預(yù)測(cè)表都分配新條目不是最佳策略,過度分配會(huì)導(dǎo)致許多預(yù)測(cè)表的條目通過貝葉斯置信度評(píng)估機(jī)制,導(dǎo)致預(yù)測(cè)不夠準(zhǔn)確,進(jìn)而導(dǎo)致分支預(yù)測(cè)模型缺乏足夠多歷史信息來提供準(zhǔn)確預(yù)測(cè)。

    其中心思想是比較NHC(中置信度/低置信度)的條目數(shù)量和MHC(適度高置信度)的條目數(shù)量,其中MHC介于特定范圍內(nèi)(文獻(xiàn)[20]中為0.17~1/3)。監(jiān)控MHC與NHC條目比例來調(diào)整分配概率,若其比例大于設(shè)定閾值,則增加分配概率,反之,減少分配概率。

    1.3 分支預(yù)測(cè)模型缺陷

    TAGE分支預(yù)測(cè)模型廣泛應(yīng)用于現(xiàn)代微處理器,以提高指令流水線處理效率。該模型采用非標(biāo)記預(yù)測(cè)表加標(biāo)記預(yù)測(cè)表的多表架構(gòu),每張標(biāo)記預(yù)測(cè)表的哈希運(yùn)算需要不同長(zhǎng)度的歷史信息,這能夠捕獲廣泛的程序行為模式。通過在表中利用不同長(zhǎng)度的歷史信息,TAGE分支預(yù)測(cè)模型可以與分支指令行為最佳地保持一致。除基礎(chǔ)預(yù)測(cè)表外,每個(gè)預(yù)測(cè)表?xiàng)l目都帶有標(biāo)簽,這有助于區(qū)分所需不同長(zhǎng)度的分支歷史信息,以減少預(yù)測(cè)沖突和不準(zhǔn)確。TAGE分支預(yù)測(cè)模型歷史長(zhǎng)度的幾何級(jí)數(shù)確保了從短期到長(zhǎng)期分支歷史信息的覆蓋,增強(qiáng)了預(yù)測(cè)的靈活性和準(zhǔn)確性。

    TAGE分支預(yù)測(cè)模型的流程如圖5所示。盡管TAGE分支模型因高精度和適應(yīng)性而受到青睞,但是存在一個(gè)稱為冷計(jì)數(shù)器的問題:其中弱偏差分支指令需要大量訓(xùn)練,飽和計(jì)數(shù)器才能實(shí)現(xiàn)最佳預(yù)測(cè)能力。若跳轉(zhuǎn)概率越大,那么計(jì)算錯(cuò)誤概率趨于穩(wěn)定的次數(shù)越多。

    BATAGE分支預(yù)測(cè)模型以TAGE分支預(yù)測(cè)模型為基礎(chǔ),在不改變核心結(jié)構(gòu)的情況下引入了多項(xiàng)關(guān)鍵修改。這些修改包括:a)標(biāo)記預(yù)測(cè)表的條目新穎組合,用跳轉(zhuǎn)發(fā)生次數(shù)(n1)和非跳躍發(fā)生次數(shù)(n0)的計(jì)數(shù)器替換原始預(yù)測(cè)(pred)和評(píng)估置信度(u)位;b)采用貝葉斯置信估計(jì)機(jī)制進(jìn)行預(yù)測(cè),而不是TAGE分支預(yù)測(cè)模型選擇最長(zhǎng)匹配歷史信息對(duì)應(yīng)預(yù)測(cè)表的預(yù)測(cè)結(jié)果;c)針對(duì)錯(cuò)誤分配情況,創(chuàng)新受控條目分配機(jī)制,用于評(píng)估條目分配的必要性。基于以上三點(diǎn),這些修改使BATAGE模型能夠有效緩解冷計(jì)數(shù)器問題。

    雖然引入貝葉斯置信度估計(jì)和受控條目分配機(jī)制緩解了冷計(jì)數(shù)器問題,但它還是存在某些限制:雖然這些機(jī)制賦予BATAGE分支預(yù)測(cè)模型對(duì)復(fù)雜分支指令行為的卓越預(yù)測(cè)能力,但比TAGE分支預(yù)測(cè)模型更加復(fù)雜。BATAGE分支預(yù)測(cè)模型具體流程如圖6所示。從圖6可知,預(yù)測(cè)階段不再是選取成功匹配到最長(zhǎng)歷史信息標(biāo)記預(yù)測(cè)表的預(yù)測(cè)結(jié)果,而是先選取錯(cuò)誤預(yù)測(cè)率最小條目標(biāo)記預(yù)測(cè)表的預(yù)測(cè)結(jié)果。若存在相等的情況,再從中選取成功匹配到最長(zhǎng)歷史信息標(biāo)記預(yù)測(cè)表的預(yù)測(cè)結(jié)果;更新階段不再是直接分配新條目,而需要判斷是否再分配新條目的可能性。雖然增強(qiáng)了弱偏差指令的預(yù)測(cè)準(zhǔn)確性,但是在某些應(yīng)用測(cè)試場(chǎng)景其預(yù)測(cè)準(zhǔn)確性可能并不總是優(yōu)于TAGE,這一發(fā)現(xiàn)將在3.3節(jié)BATAGE與TAGE分支預(yù)測(cè)模型對(duì)比實(shí)驗(yàn)中得到進(jìn)一步驗(yàn)證。

    1.4 現(xiàn)有的預(yù)測(cè)模型結(jié)構(gòu)

    本文指令主要分成條件分支指令和其他類型指令。對(duì)于其他類型指令,它們只需要目標(biāo)預(yù)測(cè)地址。然而對(duì)于條件分支指令,不僅需要提供預(yù)測(cè)目標(biāo)地址,而且還需要提供條件分支指令的預(yù)測(cè)方向。如圖7所示,BATAGE分支預(yù)測(cè)模型負(fù)責(zé)提供條件分支指令預(yù)測(cè)方向,BTB(branch target buffer)模塊則提供所有指令的目標(biāo)預(yù)測(cè)地址,RAS(return address stack)模塊專門處理返回指令的目標(biāo)預(yù)測(cè)地址。

    從圖7可知,如果指令是條件分支指令,此時(shí)BTB模塊與BATAGE分支預(yù)測(cè)模型會(huì)負(fù)責(zé)提供目標(biāo)預(yù)測(cè)地址和目標(biāo)預(yù)測(cè)方向。BATAGE分支預(yù)測(cè)模型將不同長(zhǎng)度的分支歷史信息與獲取的PC值進(jìn)行哈希運(yùn)算。然后,在BATAGE分支預(yù)測(cè)模型的預(yù)測(cè)機(jī)制下,確定條件分支指令的預(yù)測(cè)方向。另外,獲取的PC需要掃描BTB模塊的tag表以查找匹配項(xiàng)。若tag表存在匹配項(xiàng),那么對(duì)應(yīng)targ表的條目提供目標(biāo)預(yù)測(cè)地址。如果指令是其他類型指令,那么目標(biāo)預(yù)測(cè)地址由BTB和RAS模塊提供。對(duì)其他類型指令進(jìn)一步細(xì)分,當(dāng)指令為無條件跳轉(zhuǎn)指令,那么jmp表會(huì)提供目標(biāo)預(yù)測(cè)地址;當(dāng)指令為返回指令,那么ret表提供RAS模塊的訪問地址,RAS模塊提供返回指令的目標(biāo)預(yù)測(cè)地址。由于現(xiàn)代處理器為超標(biāo)量處理器,所以獲取的PC為一組連續(xù)指令,bidx表用于標(biāo)識(shí)一系列連續(xù)指令中,哪一條指令負(fù)責(zé)引發(fā)控制流的預(yù)測(cè)。

    BATAGE單一分支預(yù)測(cè)模型無法完全準(zhǔn)確預(yù)測(cè)各種指令行為,為實(shí)現(xiàn)分支預(yù)測(cè)模型能夠在更多的應(yīng)用測(cè)試場(chǎng)景中展現(xiàn)良好的預(yù)測(cè)效果,一般流行的方案是采用混合預(yù)測(cè)技術(shù):將兩種或者多種分支預(yù)測(cè)模型結(jié)合進(jìn)行預(yù)測(cè),多項(xiàng)預(yù)測(cè)結(jié)果根據(jù)某種策略選擇最終預(yù)測(cè)結(jié)果。具體解決方案主要分兩種:將網(wǎng)絡(luò)相關(guān)預(yù)測(cè)模型與傳統(tǒng)分支預(yù)測(cè)模型集成[21],其中網(wǎng)絡(luò)模型的算法需要大量的訓(xùn)練才能實(shí)現(xiàn)最佳性能,這是采用網(wǎng)絡(luò)模型的弱勢(shì)之處;將傳統(tǒng)主流的分支預(yù)測(cè)模型進(jìn)行結(jié)合預(yù)測(cè),目的在于減少訓(xùn)練時(shí)間。本文采用后者方案,鑒于TAGE分支預(yù)測(cè)模型的高效簡(jiǎn)單性特點(diǎn),以及BATAGE分支預(yù)測(cè)模型能夠緩解冷計(jì)數(shù)器問題的優(yōu)勢(shì),本文提出了一種結(jié)合TAGE和BATAGE分支預(yù)測(cè)模型兩者優(yōu)勢(shì)的混合預(yù)測(cè)方法,并且設(shè)計(jì)相應(yīng)的混合預(yù)測(cè)策略來提升分支預(yù)測(cè)模型在不同應(yīng)用場(chǎng)景的預(yù)測(cè)效果。

    2 優(yōu)化的預(yù)測(cè)模型結(jié)構(gòu)及混合預(yù)測(cè)策略

    2.1 改進(jìn)的預(yù)測(cè)模型結(jié)構(gòu)

    為解決BATAGE分支預(yù)測(cè)模型在適應(yīng)多樣化應(yīng)用測(cè)試場(chǎng)景的局限性,本文在現(xiàn)有預(yù)測(cè)模型結(jié)構(gòu)基礎(chǔ)上進(jìn)行優(yōu)化,具體如圖8所示。與現(xiàn)有預(yù)測(cè)模型結(jié)構(gòu)相比,不同之處在于增加了TAGE分支預(yù)測(cè)模型和名為Hybrid的預(yù)測(cè)模型,Hybrid預(yù)測(cè)模型本身為一張標(biāo)記預(yù)測(cè)表,其條目組成如圖9所示,其中tag負(fù)責(zé)索引匹配,count_tage和count_batage字段分別表示TAGE與BATAGE分支預(yù)測(cè)模型預(yù)測(cè)條件分支指令的效用評(píng)分。

    在優(yōu)化的預(yù)測(cè)模型結(jié)構(gòu)中,對(duì)于條件分支指令,TAGE和BATAGE分支預(yù)測(cè)模型會(huì)將不同長(zhǎng)度分支歷史信息和PC進(jìn)行哈希運(yùn)算,所得結(jié)果在這兩種分支預(yù)測(cè)模型同時(shí)進(jìn)行索引匹配,它們的預(yù)測(cè)結(jié)果轉(zhuǎn)交Hybrid預(yù)測(cè)模型,Hybrid預(yù)測(cè)模型會(huì)根據(jù)混合預(yù)測(cè)策略選擇對(duì)應(yīng)分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果。其余方面與原有預(yù)測(cè)模型結(jié)構(gòu)做法一致。對(duì)于其他類型分支指令,與原有的預(yù)測(cè)模型結(jié)構(gòu)采取相同措施。

    在下面的程序段中,一個(gè)名為function的函數(shù)接收四個(gè)整型參數(shù)a、b、c、d。該函數(shù)主要執(zhí)行一個(gè)條件循環(huán),循環(huán)中的加法操作是否執(zhí)行取決于變量d的狀態(tài),這直接影響到程序執(zhí)行效率。這是因?yàn)榧臃ú僮鞯膱?zhí)行依賴于if語句前變量d的值,而循環(huán)的持續(xù)性則依賴于變量a逐步遞減至零。如果這類具有指令依賴性的程序較為少見,可以采用簡(jiǎn)單的混合預(yù)測(cè)策略進(jìn)行處理。相反,如果這類程序較為常見,則需要采取考慮指令依賴性影響的相應(yīng)混合預(yù)測(cè)策略。針對(duì)指令依賴性問題,已有一些解決方法[22~24]。鑒于此,本文設(shè)計(jì)了適應(yīng)性增減策略和權(quán)重策略兩種混合預(yù)測(cè)策略,這兩種策略將基于TAGE和BATAGE的歷史表現(xiàn)來評(píng)估并選擇最準(zhǔn)確的預(yù)測(cè)結(jié)果。具體的指令依賴性示例程序如下:

    int function(int a,int b,int c,int d){

    c=a;

    a=0;

    do{

    d=d & 1;

    if(d !=0){

    a=a+c;

    }

    a=a/2;

    c=c * 2;

    }while(a !=0)

    }

    2.2 適應(yīng)性增減策略

    適應(yīng)性增減策略以其簡(jiǎn)單性和直觀性為特點(diǎn),有利于實(shí)施和理解,比較適合處理指令依賴性的程序較為少見的情況。在TAGE和BATAGE固有的分支預(yù)測(cè)模型中,保持簡(jiǎn)單而有效地選擇機(jī)制來提高預(yù)測(cè)準(zhǔn)確性,同時(shí)降低實(shí)施的復(fù)雜性。該策略整合了所有的歷史信息來評(píng)估TAGE和BATAGE分支預(yù)測(cè)模型的預(yù)測(cè)能力。

    在優(yōu)化的預(yù)測(cè)模型結(jié)構(gòu)中,Hybrid預(yù)測(cè)模型接收來自BATAGE和TAGE分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果。Hybrid預(yù)測(cè)模型需要當(dāng)前指令PC去匹配預(yù)測(cè)表的標(biāo)簽。如果沒有成功匹配,Hybrid預(yù)測(cè)模型默認(rèn)選擇TAGE分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果。如果匹配成功并且count_tage值比count_batage值大,則TAGE分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果具有更加可靠性;否則,采用BATAGE分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果。適應(yīng)性增減策略預(yù)測(cè)算法的偽代碼如算法1所示。

    算法1 適應(yīng)性增減策略預(yù)測(cè)算法

    輸入:程序計(jì)數(shù)器PC和分支歷史信息history。

    輸出:最終預(yù)測(cè)結(jié)果Rfinal。

    a)初始化 由PC和history獲取TAGE預(yù)測(cè)結(jié)果RTAGE和BATAGE預(yù)測(cè)結(jié)果RBATAGE。

    b)將PC和history進(jìn)行哈希運(yùn)算得出索引index

    c)while t<NUMSIZE do //NUMSIZE為預(yù)測(cè)表最大條目數(shù)

    由index找到Hybrid預(yù)測(cè)模型對(duì)應(yīng)條目hybridEntry;

    t←t+1;

    end while

    d)if hybridEntry.tag≠(PC & 0x3F)then /*若不能成功匹配,PC取低位與標(biāo)簽作匹配*/

    Rfinal←RTAGE;

    返回Rfinal;

    end if

    e)if hybridEntry.count_tage<hybridEntry.count_batage then

    Rfinal←RBATAGE;

    返回Rfinal;

    else

    Rfinal←RTAGE;

    返回Rfinal;

    end if

    指令執(zhí)行后需要更新預(yù)測(cè)模型的條目。TAGE和BATAGE分支預(yù)測(cè)模型根據(jù)各自的算法進(jìn)行更新。Hybrid預(yù)測(cè)模型也會(huì)更新其預(yù)測(cè)表的條目:如果最終預(yù)測(cè)結(jié)果與實(shí)際執(zhí)行結(jié)果相同,此時(shí)會(huì)根據(jù)預(yù)測(cè)階段所選分支預(yù)測(cè)模型,條目中對(duì)應(yīng)的飽和計(jì)數(shù)器(count_batage或者count_tage字段)自增。相反,則會(huì)發(fā)生類似的自減過程。適應(yīng)性增減策略的更新算法如算法2所示。

    算法2 適應(yīng)性增減策略更新算法

    輸入:實(shí)際執(zhí)行結(jié)果resolveDir,最終預(yù)測(cè)結(jié)果preDir和實(shí)際選擇分支預(yù)測(cè)模型tageOrBatage。

    輸出:更新條目hybridEntry。

    a)初始化 根據(jù)PC和分支歷史信息history使用哈希運(yùn)算得出索引index

    b)while t<NUMSIZE do //NUMSIZE為預(yù)測(cè)表最大條目數(shù)

    由index找到Hybrid預(yù)測(cè)模型對(duì)應(yīng)條目hybridEntry;

    t←t+1;

    end while

    c)if resolveDir=preDir then //若實(shí)際結(jié)果與預(yù)測(cè)結(jié)果相同

    if tageOrBatage=0 then //若此時(shí)選擇TAGE分支模型

    hybridEntry.count_tage自增;

    else //若此時(shí)選擇BATAGE分支模型

    hybridEntry.count_batage自增;

    end if

    else //若實(shí)際結(jié)果與預(yù)測(cè)結(jié)果不相同

    if tageOrBatage=0 then //若此時(shí)選擇TAGE分支模型

    hybridEntry.count_tage自減;

    else //若此時(shí)選擇BATAGE分支模型

    hybridEntry.count_batage自減;

    end if

    end if

    返回hybridEntry;

    在適應(yīng)性增減策略中,主要分為預(yù)測(cè)算法和更新算法。假設(shè)Hybrid預(yù)測(cè)模型的標(biāo)記預(yù)測(cè)表最大條目數(shù)為N。在預(yù)測(cè)算法中,步驟a)初始化的時(shí)間復(fù)雜度為O(1),步驟b)根據(jù)哈希運(yùn)算得到的索引時(shí)間復(fù)雜度為O(1),步驟c)根據(jù)索引查找對(duì)應(yīng)條目的時(shí)間復(fù)雜度為O(N),步驟d)和e)判斷成功或者失敗匹配情況的時(shí)間復(fù)雜度為O(1),經(jīng)過分析可得到適應(yīng)性增減策略預(yù)測(cè)算法的時(shí)間復(fù)雜度為O(N);在更新算法中,步驟a)初始化計(jì)算的索引時(shí)間復(fù)雜度為O(1),步驟b)根據(jù)索引查找對(duì)應(yīng)條目的時(shí)間復(fù)雜度為O(N),步驟c)更新條目的時(shí)間復(fù)雜度為O(1),經(jīng)過分析可得適應(yīng)性增減策略更新算法的時(shí)間復(fù)雜度為O(N)。

    2.3 權(quán)重策略

    權(quán)重策略選擇最終預(yù)測(cè)結(jié)果基于的前提:最近預(yù)測(cè)結(jié)果比早期預(yù)測(cè)結(jié)果更有價(jià)值。對(duì)于指令依賴性程序,該策略有助于快速適應(yīng)最近指令模式行為,并減少早期指令模式行為的影響。適應(yīng)性增減策略整合了全部歷史信息,而權(quán)重策略則強(qiáng)調(diào)即時(shí)性。這種方法特別是在指令模式行為突然轉(zhuǎn)變的情況下,能夠提供良好預(yù)測(cè)能力。

    值得注意的是,權(quán)重策略采用一次指數(shù)平滑法更新Hybrid預(yù)測(cè)模型的條目。一次指數(shù)平滑法是時(shí)間序列分析和預(yù)測(cè)所使用的方法。其核心公式為

    St=(1-α)×Yt+α×St-1(2)

    其中:St為當(dāng)前時(shí)間的預(yù)測(cè)值;St-1為上次時(shí)間的預(yù)測(cè)值;Yt是當(dāng)前時(shí)間的實(shí)際觀測(cè)值;α為平滑因子,取值為在0~1。這里采用一次指數(shù)平滑法的原因是其計(jì)算簡(jiǎn)單的特點(diǎn),并且能夠減少對(duì)硬件資源需求,更加適應(yīng)中央處理器的高頻操作,所以二次和三次指數(shù)平滑法不適合用于權(quán)重混合預(yù)測(cè)策略。

    指數(shù)平滑在時(shí)間序列分析中的有效性使得它可以用于分支預(yù)測(cè),作為指令模式行為的加權(quán)評(píng)價(jià)方法。在這種情況下,各個(gè)變量的含義與原來不同:St表示Hybrid預(yù)測(cè)模型中標(biāo)記預(yù)測(cè)表的飽和計(jì)數(shù)器更新值;Yt表示Hybrid的預(yù)測(cè)結(jié)果和實(shí)際結(jié)果的一致性,若Hybrid的預(yù)測(cè)結(jié)果和實(shí)際結(jié)果一致,則Yt為1,反之為-1;St-1表示Hybrid預(yù)測(cè)模型中條目的飽和計(jì)數(shù)器最近一次更新值;α作為衰減因子,調(diào)節(jié)最近與早期歷史信息的影響,衰減因子采用0.01、0.50和0.99,由式(2)可知系數(shù)越小越側(cè)重最近指令模式行為。

    權(quán)重策略預(yù)測(cè)算法與適應(yīng)性增減策略是相同的,具體如算法1所示。在權(quán)重策略更新算法中,如算法3所示,Hybrid預(yù)測(cè)模型也會(huì)更新其預(yù)測(cè)表的條目:如果最終預(yù)測(cè)結(jié)果與實(shí)際執(zhí)行結(jié)果相同,此時(shí)會(huì)根據(jù)預(yù)測(cè)階段所選分支預(yù)測(cè)模型,條目中對(duì)應(yīng)的飽和計(jì)數(shù)器(count_batage或者count_tage字段)會(huì)基于式(2)進(jìn)行更新。相反,則會(huì)發(fā)生類似的更新過程。

    算法3 權(quán)重策略更新算法

    輸入:實(shí)際執(zhí)行結(jié)果resolveDir,最終預(yù)測(cè)結(jié)果preDir和實(shí)際選擇分支預(yù)測(cè)模型tageOrBatage。

    輸出:更新條目hybridEntry。

    a)初始化 根據(jù)PC和分支歷史信息history使用哈希運(yùn)算得出索引index

    b)while t<NUMSIZE do //NUMSIZE為預(yù)測(cè)表最大條目數(shù)

    由index找到Hybrid預(yù)測(cè)模型對(duì)應(yīng)條目hybridEntry;

    t←t+1;

    end while

    c)if resolveDir=preDir then //若實(shí)際結(jié)果與預(yù)測(cè)結(jié)果相同

    if tageOrBatage=0 then //若此時(shí)選擇TAGE分支模型

    hybridEntry.Count_tage基于式(2)進(jìn)行更新;

    else //若此時(shí)選擇BATAGE分支模型

    hybridEntry.Count_batage基于式(2)進(jìn)行更新;

    end if

    else //若實(shí)際結(jié)果與預(yù)測(cè)結(jié)果不相同

    if tageOrBatage=0 then //若此時(shí)選擇TAGE分支模型

    hybridEntry.count_tage基于式(2)進(jìn)行更新;

    else //若此時(shí)選擇BATAGE分支模型

    hybridEntry.count_batage基于式(2)進(jìn)行更新;

    end if

    end if

    返回hybridEntry;

    在權(quán)重策略中,主要分為預(yù)測(cè)算法和更新算法。假設(shè)Hybrid預(yù)測(cè)模型的標(biāo)記預(yù)測(cè)表最大條目數(shù)為N。在預(yù)測(cè)算法中,它與適應(yīng)性增減策略的預(yù)測(cè)算法相同,所以權(quán)重策略預(yù)測(cè)算法的時(shí)間復(fù)雜度為O(N);在更新算法中,步驟a)初始化計(jì)算索引的時(shí)間復(fù)雜度為O(1),步驟b)根據(jù)索引查找對(duì)應(yīng)條目的時(shí)間復(fù)雜度為O(N),步驟c)更新條目的時(shí)間復(fù)雜度為O(1),經(jīng)過分析可得權(quán)重策略更新算法的時(shí)間復(fù)雜度為O(N)。

    3 仿真實(shí)驗(yàn)及結(jié)果分析

    3.1 分支預(yù)測(cè)模型參數(shù)設(shè)置

    本文測(cè)試對(duì)象為TAGE、TAGE-SC-L、BATAGE、multi-perceptron[25]和混合預(yù)測(cè)模型。預(yù)測(cè)模型的預(yù)測(cè)準(zhǔn)確性與其配置參數(shù)緊密相關(guān)??偞笮? Kb量限制并且上下浮動(dòng)在0.5 Kb以內(nèi),確保各種預(yù)測(cè)模型能夠在指定的大小范圍進(jìn)行預(yù)測(cè),從而提供更均衡和穩(wěn)定的預(yù)測(cè)表現(xiàn)。這種參數(shù)配置旨在保持測(cè)試的相對(duì)公平性。各種預(yù)測(cè)模型的大小如表1所示。

    在TAGE分支預(yù)測(cè)模型中,基礎(chǔ)預(yù)測(cè)表項(xiàng)數(shù)16,每項(xiàng)為2 bit飽和計(jì)數(shù)器,大小0.003 9 Kb;標(biāo)記預(yù)測(cè)表為4張表(每張表項(xiàng)數(shù)4 096),其中每項(xiàng)由2 bit置信度、3 bit飽和計(jì)數(shù)器和11 bit標(biāo)簽組成,大小8 Kb。

    在TAGE-SC-L分支預(yù)測(cè)模型中,TAGE基礎(chǔ)預(yù)測(cè)表項(xiàng)數(shù)為128,每項(xiàng)為3 bit飽和計(jì)數(shù)器,大小為0.046 9 Kb。標(biāo)記預(yù)測(cè)表為4張表(每張表項(xiàng)數(shù)1 024),每項(xiàng)由2 bit置信度、3 bit飽和計(jì)數(shù)器和10 bit標(biāo)簽組成,大小7.500 0 Kb。循環(huán)預(yù)測(cè)表(LOOP)項(xiàng)數(shù)為8,每項(xiàng)占38 bit,其中記錄迭代次數(shù)占10 bit,評(píng)估置信度占4 bit,記錄當(dāng)前迭代次數(shù)占10 bit,標(biāo)簽占10 bit,當(dāng)前條目的年齡占4 bit,總共大小為0.037 1 Kb。校正器(SC)由存儲(chǔ)偏置值的偏置表,記錄迭代次數(shù)的表,基于分支寬度預(yù)測(cè)表,基于全局歷史表和基于局部歷史表組成,每張表項(xiàng)數(shù)為128,其中每項(xiàng)為3 bit飽和計(jì)數(shù)器,大小為0.234 4 Kb。

    在multi-perceptron分支預(yù)測(cè)模型中,其中特征權(quán)重大小為1.270 6 Kb,特征權(quán)重表以外表所占大小為6.698 7 Kb。

    在BATAGE分支預(yù)測(cè)模型中,基礎(chǔ)預(yù)測(cè)表項(xiàng)數(shù)8,每項(xiàng)為3 bit飽和計(jì)數(shù)器,總計(jì)0.002 9 KBit。標(biāo)記預(yù)測(cè)表為4張表(每張表項(xiàng)數(shù)1 024),其中每項(xiàng)由2個(gè)3 bit飽和計(jì)數(shù)器和10位標(biāo)簽組成,大小8 KBit。

    在混合預(yù)測(cè)模型中,TAGE基礎(chǔ)預(yù)測(cè)表項(xiàng)數(shù)為1 024,每項(xiàng)為2 bit飽和計(jì)數(shù)器,大小0.25 Kb。標(biāo)記預(yù)測(cè)表為4張表(每張表項(xiàng)數(shù)2 048),每項(xiàng)由2 bit置信度、3 bit飽和計(jì)數(shù)器和10 bit標(biāo)簽組成,大小3.75 Kb。BATAGE基礎(chǔ)預(yù)測(cè)表項(xiàng)數(shù)128,每項(xiàng)為3 bit飽和計(jì)數(shù)器組成,大小0.046 8 Kb。標(biāo)記預(yù)測(cè)表為4張表(每張表項(xiàng)數(shù)256),每項(xiàng)由6 bit飽和計(jì)數(shù)器和10 bit標(biāo)簽組成,大小2 Kb。Hybrid預(yù)測(cè)模型由1張標(biāo)記預(yù)測(cè)表組成,項(xiàng)數(shù)1 024,每項(xiàng)由10 bit標(biāo)簽和2個(gè)3 bit飽和計(jì)數(shù)器組成,大小2 Kb。

    3.2 仿真平臺(tái)及數(shù)據(jù)集

    本文采用CBP軟件仿真平臺(tái)進(jìn)行實(shí)驗(yàn),該平臺(tái)是分支預(yù)測(cè)競(jìng)賽中使用的分支預(yù)測(cè)模型性能評(píng)估框架,可以測(cè)得理想情況下的錯(cuò)誤預(yù)測(cè)率。設(shè)計(jì)的分支預(yù)測(cè)模型性能評(píng)估框架主要調(diào)用預(yù)測(cè)算法函數(shù)和更新算法函數(shù)兩個(gè)不同的函數(shù)接口。為了測(cè)試分支預(yù)測(cè)模型的精準(zhǔn)度,該過程將每個(gè)測(cè)試程序轉(zhuǎn)換為指令并且調(diào)用預(yù)測(cè)算法函數(shù)進(jìn)行預(yù)測(cè)。預(yù)測(cè)完成之后,調(diào)用性能評(píng)估框架的更新函數(shù),利用實(shí)際執(zhí)行結(jié)果與預(yù)測(cè)結(jié)果是否一致對(duì)分支預(yù)測(cè)模型預(yù)測(cè)表進(jìn)行更新。此時(shí)一條分支指令已經(jīng)預(yù)測(cè)完成,需要預(yù)測(cè)下一條分支指令,重復(fù)此過程。

    本文采用的性能指標(biāo)為MPKI,它表示平均每一千條指令中錯(cuò)誤預(yù)測(cè)分支指令方向的條數(shù)。所以,該性能指標(biāo)越低越好?;旌夏P驮诜种ьA(yù)測(cè)方面相對(duì)于其他主流分支預(yù)測(cè)模型的性能增強(qiáng)通過式(3)定量表達(dá)。

    P=MPKI預(yù)測(cè)模型-MPKI混合模型MPKI預(yù)測(cè)模型(3)

    本文使用CBP軟件仿真平臺(tái)所提供的440個(gè)測(cè)試程序進(jìn)行實(shí)驗(yàn),仿真實(shí)驗(yàn)數(shù)據(jù)結(jié)果為MPKI。應(yīng)用場(chǎng)景主要分為L(zhǎng)ONG_SERVER、LONG_MOBILE、SHORT_SERVER、SHORT_MOBILE四個(gè)種類。其中LONG_SERVER測(cè)試應(yīng)用場(chǎng)景有8個(gè)測(cè)試程序,LONG_MOBILE測(cè)試應(yīng)用場(chǎng)景有32個(gè)測(cè)試程序,SHORT_SERVER測(cè)試應(yīng)用場(chǎng)景有293個(gè)測(cè)試程序,SHORT_MOBILE測(cè)試應(yīng)用場(chǎng)景有107個(gè)測(cè)試程序。在每種測(cè)試應(yīng)用場(chǎng)景中,測(cè)試程序最大和最小條件分支指令數(shù)情況如表2所示。

    本文進(jìn)行兩部分實(shí)驗(yàn):

    第一組實(shí)驗(yàn)為BATAGE與TAGE驗(yàn)證對(duì)比:按照上述440個(gè)測(cè)試程序劃分測(cè)試應(yīng)用場(chǎng)景進(jìn)行測(cè)試,驗(yàn)證BATAGE的MPKI力是否都比TAGE的MPKI值要低。

    第二組實(shí)驗(yàn)為混合預(yù)測(cè)模型與最新主流分支預(yù)測(cè)模型進(jìn)行橫向比較:TAGE、TAGE-SC-L、BATAGE、multi-perceptron與混合模型進(jìn)行對(duì)比實(shí)驗(yàn),將混合分支預(yù)測(cè)模型得到的總體MPKI和各種測(cè)試應(yīng)用場(chǎng)景的總體MPKI與這些主流分支預(yù)測(cè)模型進(jìn)行比較。

    3.3 BATAGE與TAGE驗(yàn)證對(duì)比

    在驗(yàn)證對(duì)比實(shí)驗(yàn)中,在總體MPKI方面上,BATAGE比TAGE性能優(yōu)于7.833%,BATAGE與TAGE分支預(yù)測(cè)模型的總體MPKI如表3所示。

    圖10可知,在四類測(cè)試應(yīng)用場(chǎng)景中:LONG_MOBILE與SHORT_MOBILE的測(cè)試結(jié)果反映為TAGE的總體MPKI比BATAGE低。其中在LONG_MOBILE測(cè)試集種類中,TAGE的總體MPKI為2.779,BATAGE的總體MPKI為3.549;在SHORT_MOBILE測(cè)試集種類中,TAGE的MPKI為3.614,BATAGE的MPKI為3.804。所以上述結(jié)果表明:在有些測(cè)試應(yīng)用場(chǎng)景中,BATAGE的預(yù)測(cè)能力不如TAGE。此時(shí)需要采用混合預(yù)測(cè)方式來提升預(yù)測(cè)精度,對(duì)于總體MPKI與各種測(cè)試應(yīng)用場(chǎng)景的總體MPKI,在3.4節(jié)將會(huì)進(jìn)一步詳細(xì)展示。

    3.4 仿真結(jié)果分析

    本節(jié)在BATAGE不能適應(yīng)所有測(cè)試應(yīng)用場(chǎng)景的基礎(chǔ)上,進(jìn)一步橫向比較混合模型與最新主流分支預(yù)測(cè)模型。在仿真結(jié)果上,展示混合模型與各個(gè)分支預(yù)測(cè)模型的總體MPKI與各個(gè)應(yīng)用測(cè)試應(yīng)用場(chǎng)景下的MPKI值,以及測(cè)試最佳MPKI與最差MPKI,性能結(jié)果提升由式(3)得出。具體各種預(yù)測(cè)模型的MPKI值如表4所示。根據(jù)結(jié)果可知,混合模型(權(quán)重策略,α=0.01)的MPKI為5.961,其值低于各個(gè)最新主流分支預(yù)測(cè)模型的MPKI。與較優(yōu)秀的TAGE-SC-L分支預(yù)測(cè)模型相比,混合模型(權(quán)重策略,α=0.01)預(yù)測(cè)準(zhǔn)確性提升3.06%。

    從表5、6可知:在LONG_SERVER測(cè)試應(yīng)用場(chǎng)景中,混合模型(權(quán)重策略,α=0.99)表現(xiàn)最佳,其MPKI為5.024,相較于表現(xiàn)最佳的TAGE-SC-L分支預(yù)測(cè)模型提升了7.85%;在LONG_MOBILE測(cè)試應(yīng)用場(chǎng)景中,混合模型(權(quán)重策略,α=0.50,0.01)表現(xiàn)最佳,相較于表現(xiàn)最佳的multi-perceptron分支預(yù)測(cè)模型提升僅為2.98%;在SHORT_SERVER測(cè)試應(yīng)用場(chǎng)景中,混合模型(適應(yīng)性增減策略)表現(xiàn)最佳,其MPKI為7.444,相較于表現(xiàn)最佳的BATAGE分支預(yù)測(cè)模型提升了2.08%;在SHORT_MOBILE測(cè)試應(yīng)用場(chǎng)景中,混合模型(權(quán)重策略,α=0.50)表現(xiàn)最佳,其MPKI為3.082,相較于表現(xiàn)最佳的multi-perceptron分支預(yù)測(cè)模型提升了9.94%。在最佳MPKI與最差MPKI的情況中:各種預(yù)測(cè)模型的最佳MPKI都一樣;各種預(yù)測(cè)模型的最差MPKI,表現(xiàn)最佳的BATAGE分支預(yù)測(cè)模型比混合預(yù)測(cè)模型具有更為穩(wěn)健的預(yù)測(cè)能力。

    從仿真實(shí)驗(yàn)結(jié)果可知:觀察總體MPKI和各種測(cè)試應(yīng)用場(chǎng)景的總體MPKI,混合預(yù)測(cè)模型的預(yù)測(cè)能力優(yōu)于最新主流的分支預(yù)測(cè)模型。這一改進(jìn)歸因于混合預(yù)測(cè)模型能夠融合兩種分支預(yù)測(cè)模型的優(yōu)勢(shì),有效利用它們?cè)诓煌瑴y(cè)試應(yīng)用場(chǎng)景的優(yōu)勢(shì),從考慮指令依賴性角度設(shè)計(jì)兩種不同的混合預(yù)測(cè)策略來提高條件分支指令預(yù)測(cè)的準(zhǔn)確性。

    4 結(jié)束語

    在分支預(yù)測(cè)中,往往存在分支預(yù)測(cè)模型不能準(zhǔn)確預(yù)測(cè)某種應(yīng)用場(chǎng)景的問題。針對(duì)該情況,本文提出兩種不同的混合預(yù)測(cè)策略方案來緩解該問題。將BATAGE與TAGE分支預(yù)測(cè)模型的預(yù)測(cè)結(jié)果轉(zhuǎn)交Hybrid預(yù)測(cè)模型,Hybrid通過混合預(yù)測(cè)策略得出最終預(yù)測(cè)結(jié)果。本文首先驗(yàn)證BATAGE的總體MPKI力是否都比TAGE的總體MPKI值要低,然后對(duì)混合模型與最新主流分支預(yù)測(cè)模型從總體MPKI、各種測(cè)試應(yīng)用場(chǎng)景的總體MPKI、最佳與最差MPKI三個(gè)方面進(jìn)行橫向比較。本文實(shí)驗(yàn)結(jié)果表明:除了最佳MPKI和最差MPKI方面,混合預(yù)測(cè)模型表現(xiàn)比各種主流分支預(yù)測(cè)模型要好。未來將利用神經(jīng)網(wǎng)絡(luò)相關(guān)模型的優(yōu)越學(xué)習(xí)能力,在盡量不增大訓(xùn)練時(shí)間的情況下,將BATAGE預(yù)測(cè)模型與神經(jīng)網(wǎng)絡(luò)模型相結(jié)合來提升預(yù)測(cè)準(zhǔn)確度。

    參考文獻(xiàn):

    [1]Smith J E,Sohi G S.The microarchitecture of superscalar processors[J].Proceedings of the IEEE,1995,83(12):1609-1624.

    [2]Healy I,Giordano P,Elmannai W.Branch prediction in CPU pipeli-ning[C]//Proc of the 14th Annual Ubiquitous Computing,Electronics & Mobile Communication Conference.Piscataway,NJ:IEEE Press,2023:364-368.

    [3]Mittal S.A survey of techniques for dynamic branch prediction[J].Concurrency and Computation:Practice and Experience,2019,31(1):e4666.

    [4]Smith J E.A study of branch prediction strategies[C]//Proc of the 8th Annual Symposium on Computer Architecture.1981:135-148.

    [5]McFarling S.Combining branch predictors,Technical Report TN-36[R].[S.l.]:Digital Western Research Laboratory,1993.

    [6]Seznec A,Michaud P.A case for(partially)TAGGED GE-OMETRIC history length branch prediction[J].The Journal of Instruction-Level Parallelism,2006,8:23.

    [7]Seznec A.TAGE-SC-L branch predictors again[C]//Proc of the 5th JILP Workshop on Computer Architecture Competitions:Championship Branch Prediction.2016.

    [8]Seznec A.A 256 kbits L-TAGE branch predictor[J].Journal of Instruction-Level Parallelism Special Issue:The Second Championship Branch Prediction Competition,2007,9:1-6.

    [9]Seznec A.A 64 Kbytes ISL-TAGE branch predictor[C]//Proc of the 2nd JILP Workshop on Computer Architecture Competitions:Championship Branch Prediction.2011.

    [10]李正平,高楊.一種改進(jìn)型TAGE分支預(yù)測(cè)器的實(shí)現(xiàn)[J].遼寧工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2020,40(1):1-4.(Li Zhengping,Gao Yang.Implementation of improved TAGE branch predictor[J].Journal of Liaoning University of Technology:Natural Science Edition,2020,40(1):1-4.)

    [11]Villon L A Q,Susskind Z,Bacellar A T L,et al.A conditional branch predictor based on weightless neural networks[J].Neurocomputing,2023,555:126637.

    [12]Zhao J,Korpan B,Gonzalez A,et al.SonicBoom:the 3rd generation Berkeley out-of-order machine[C]//Proc of the 4th Workshop on Computer Architecture Research with RISC-V.2020:1-7.

    [13]Zhao J,Gonzalez A,Amid A,et al.CODRA:a framework for evaluating compositions of hardware branch predictors[C]//Proc of the 22nd IEEE International Symposium on Performance Analysis of Systems and Software.Piscataway,NJ:IEEE Press,2021:310-320.

    [14]Suggs D,Subramony M,Bouvier D.The AMD “zen 2” processor[J].IEEE Micro,2020,40(2):45-52.

    [15]Evers M,Barnes L,Clark M.The AMD next-generation“zen 3”core[J].IEEE Micro,2022,42(3):7-12.

    [16]Jiménez D A,Lin C.Dynamic branch prediction with perceptrons[C]//Proc of the 7th HPCA International Symposium on High-Performance Computer Architecture.Piscataway,NJ:IEEE Press,2001:197-206.

    [17]Zangeneh S,Pruett S,Lym S,et al.BranchNet:a convolutional neural network to predict hard-to-predict branches[C]//Proc of the 53rd Annual IEEE/ACM International Symposium on Microarchitecture.Piscataway,NJ:IEEE Press,2020:118-130.

    [18]Al-Khalid A S,Omran S S.Hybrid branch prediction for pipelined MIPS processor[J].Journal of Electrical and Computer Engine-ering,2020,10(4):3476.

    [19]Dang N M,Cao Haixuan,Tran L.BATAGE-BFNP:a high-performance hybrid branch predictor with data-dependent branches speculative pre-execution for RISC-V processors[J].Arabian Journal for Science and Engineering,2023,48(8):10299-10312.

    [20]Michaud P.An alternative TAGE-like conditional branch predictor[J].ACM Trans on Architecture and Code Optimization,2018,15(3):1-23.

    [21]陳智勇,廉海濤,吳星星.一種改進(jìn)的神經(jīng)網(wǎng)絡(luò)分支預(yù)測(cè)技術(shù)[J].微電子學(xué)與計(jì)算機(jī),2014,31(11):152-155.(Chen Zhiyong,Lian Haitao,Wu Xingxing.An improved branch prediction based on the neural network[J].Microelectronics & Computer,2014,31(11):152-155.)

    [22]Pruett S,Patt Y.Branch runahead:an alternative to branch prediction for impossible to predict branches[C]//Proc of the 54th Annual IEEE/ACM International Symposium on Microarchitecture.2021:804-815.

    [23]Khan T A,Ugur M,Nathella K,et al.Whisper:profile-guided branch misprediction elimination for data center applications[C]//Proc of the 55th IEEE/ACM International Symposium on Microarchitecture.Piscataway,NJ:IEEE Press,2022:19-34.

    [24]Villon P S M.Maintaining high performance in the presence of impossible-to-predict branches[D].Austin:The University of Texas at Austin,2022.

    [25]Jiménez D A.Multiperspective perceptron predictor[C]//Proc of the 5th JILP Workshop on Computer Architecture Competitions:Championship Branch Prediction.2016.

    收稿日期:2023-12-25

    修回日期:2024-03-18

    基金項(xiàng)目:國(guó)家重點(diǎn)研發(fā)計(jì)劃資助項(xiàng)目(2021YFF0601200,2021YFF0601204)

    作者簡(jiǎn)介:方昕宇(1996—),男,湖北黃岡人,碩士,CCF會(huì)員,主要研究方向?yàn)橛?jì)算機(jī)體系結(jié)構(gòu);周日貴(1973—),男(通信作者),江西南昌人,教授,博導(dǎo),博士,主要研究方向?yàn)橹悄苄畔⑻幚?、智能信息相關(guān)軟硬件系統(tǒng)的開發(fā)(rgzhou@shmtu.edu.cn);龔鳴清(1994—),男,湖北黃岡人,碩士,主要研究方向?yàn)楦咝阅苡?jì)算.

    特级一级黄色大片| 91大片在线观看| 一区二区三区国产精品乱码| 日韩欧美 国产精品| 91麻豆精品激情在线观看国产| 搡老妇女老女人老熟妇| aaaaa片日本免费| xxx96com| 免费在线观看影片大全网站| 亚洲精品色激情综合| 在线观看美女被高潮喷水网站 | 桃色一区二区三区在线观看| 一本综合久久免费| 一级a爱片免费观看的视频| 黄色视频,在线免费观看| 好男人在线观看高清免费视频| 欧美中文综合在线视频| 小说图片视频综合网站| 国产精品一及| 久久天躁狠狠躁夜夜2o2o| 成人亚洲精品av一区二区| 久久精品亚洲精品国产色婷小说| 97人妻精品一区二区三区麻豆| 色综合站精品国产| 国产日本99.免费观看| 一级毛片精品| 亚洲精品一区av在线观看| 欧美性猛交黑人性爽| tocl精华| 天堂av国产一区二区熟女人妻 | 男女视频在线观看网站免费 | 国产91精品成人一区二区三区| cao死你这个sao货| 精品久久久久久成人av| 在线a可以看的网站| 亚洲片人在线观看| 久久亚洲真实| 两个人看的免费小视频| 黄色 视频免费看| 欧美黄色片欧美黄色片| 操出白浆在线播放| 日日摸夜夜添夜夜添小说| 精品国产超薄肉色丝袜足j| 免费电影在线观看免费观看| 久久久国产成人免费| 免费在线观看日本一区| 麻豆久久精品国产亚洲av| 男女床上黄色一级片免费看| 午夜老司机福利片| 特级一级黄色大片| 18禁观看日本| 丝袜美腿诱惑在线| 欧美日韩亚洲国产一区二区在线观看| 国语自产精品视频在线第100页| 一a级毛片在线观看| 亚洲七黄色美女视频| 老司机午夜福利在线观看视频| 熟妇人妻久久中文字幕3abv| 亚洲片人在线观看| 欧美乱妇无乱码| 中文字幕最新亚洲高清| 99久久久亚洲精品蜜臀av| 一二三四社区在线视频社区8| 久久天躁狠狠躁夜夜2o2o| 99久久国产精品久久久| 午夜老司机福利片| 国产三级黄色录像| 最近视频中文字幕2019在线8| 欧美黑人巨大hd| 毛片女人毛片| 欧美色欧美亚洲另类二区| 久久久久精品国产欧美久久久| 中文字幕高清在线视频| 又黄又粗又硬又大视频| 两个人的视频大全免费| 黄色女人牲交| 十八禁网站免费在线| 丝袜美腿诱惑在线| 亚洲精品久久国产高清桃花| 欧美日韩一级在线毛片| 亚洲欧美精品综合久久99| 国产探花在线观看一区二区| 国产精品一区二区三区四区免费观看 | 国产1区2区3区精品| 久久国产精品影院| 亚洲成人精品中文字幕电影| 亚洲熟妇熟女久久| 亚洲黑人精品在线| 99久久国产精品久久久| xxx96com| 国产视频一区二区在线看| 巨乳人妻的诱惑在线观看| 19禁男女啪啪无遮挡网站| 亚洲男人天堂网一区| 成人国产一区最新在线观看| www日本黄色视频网| videosex国产| 亚洲成人久久爱视频| 国产精品电影一区二区三区| 国产一区二区三区视频了| 欧美黑人欧美精品刺激| 丝袜人妻中文字幕| 午夜成年电影在线免费观看| 国语自产精品视频在线第100页| 亚洲 国产 在线| 国产精品久久久av美女十八| 亚洲人成77777在线视频| 操出白浆在线播放| 日韩大尺度精品在线看网址| 欧美三级亚洲精品| 黄片小视频在线播放| 免费看十八禁软件| 国产激情久久老熟女| 日韩精品中文字幕看吧| 99re在线观看精品视频| 18禁美女被吸乳视频| 精华霜和精华液先用哪个| 天堂动漫精品| 国产欧美日韩一区二区精品| 国产久久久一区二区三区| 国产精品亚洲美女久久久| 日韩免费av在线播放| 国产成年人精品一区二区| a级毛片在线看网站| 国产成人影院久久av| 国产成人av教育| 成人精品一区二区免费| 男人舔女人的私密视频| av天堂在线播放| 亚洲 国产 在线| ponron亚洲| 人妻夜夜爽99麻豆av| 亚洲成人中文字幕在线播放| 床上黄色一级片| 啪啪无遮挡十八禁网站| 亚洲欧美一区二区三区黑人| 国产69精品久久久久777片 | 欧美另类亚洲清纯唯美| 好看av亚洲va欧美ⅴa在| 成人av一区二区三区在线看| 亚洲国产欧洲综合997久久,| 国产真实乱freesex| 日日夜夜操网爽| 999久久久精品免费观看国产| 免费av毛片视频| 18美女黄网站色大片免费观看| 中文字幕最新亚洲高清| 变态另类成人亚洲欧美熟女| 一区福利在线观看| 国产一区二区三区在线臀色熟女| bbb黄色大片| 黄色a级毛片大全视频| 亚洲人成网站在线播放欧美日韩| 国产主播在线观看一区二区| 黄色视频,在线免费观看| 国产熟女午夜一区二区三区| 中文在线观看免费www的网站 | 丝袜美腿诱惑在线| 日本撒尿小便嘘嘘汇集6| 黑人操中国人逼视频| 午夜福利在线在线| 欧美日韩中文字幕国产精品一区二区三区| 真人一进一出gif抽搐免费| 精品久久久久久久久久久久久| 熟妇人妻久久中文字幕3abv| 女人高潮潮喷娇喘18禁视频| 国产精品久久久久久精品电影| 国内毛片毛片毛片毛片毛片| 最新在线观看一区二区三区| 国内精品久久久久久久电影| 色综合婷婷激情| 久久久久久人人人人人| 岛国视频午夜一区免费看| 精品欧美国产一区二区三| 精品国内亚洲2022精品成人| 国语自产精品视频在线第100页| 啦啦啦免费观看视频1| av视频在线观看入口| 在线看三级毛片| 中文资源天堂在线| 日本免费一区二区三区高清不卡| 国产午夜精品久久久久久| 亚洲一卡2卡3卡4卡5卡精品中文| 久久午夜综合久久蜜桃| 国产精品98久久久久久宅男小说| 国产精品影院久久| 99在线人妻在线中文字幕| 99精品久久久久人妻精品| 日韩大尺度精品在线看网址| 久久婷婷成人综合色麻豆| 19禁男女啪啪无遮挡网站| 亚洲色图 男人天堂 中文字幕| 久久九九热精品免费| 成人国语在线视频| 男男h啪啪无遮挡| 天天一区二区日本电影三级| 一级黄色大片毛片| 亚洲熟女毛片儿| 精品电影一区二区在线| 久久人人精品亚洲av| 亚洲国产看品久久| 18禁国产床啪视频网站| 一夜夜www| 国产熟女午夜一区二区三区| 精品久久久久久久久久免费视频| 在线观看www视频免费| 国产精品一及| 一级片免费观看大全| 日本三级黄在线观看| 亚洲欧美精品综合一区二区三区| 少妇人妻一区二区三区视频| 国产一区二区在线观看日韩 | 精品久久久久久久久久久久久| 欧美激情久久久久久爽电影| 久久亚洲精品不卡| www.www免费av| 国产aⅴ精品一区二区三区波| 国产乱人伦免费视频| 99热只有精品国产| 别揉我奶头~嗯~啊~动态视频| 免费一级毛片在线播放高清视频| 精品人妻1区二区| 欧美在线一区亚洲| 国产精品久久电影中文字幕| 国产精品一区二区三区四区免费观看 | 啦啦啦免费观看视频1| cao死你这个sao货| 九色国产91popny在线| ponron亚洲| 国产精品av久久久久免费| 中出人妻视频一区二区| 婷婷精品国产亚洲av| 精品久久久久久成人av| 国产精品一区二区精品视频观看| 久久这里只有精品中国| 久久久久九九精品影院| 国产1区2区3区精品| 美女大奶头视频| 欧美成人一区二区免费高清观看 | 看黄色毛片网站| 美女免费视频网站| 最近最新免费中文字幕在线| 亚洲av成人精品一区久久| 国产精品影院久久| 日本a在线网址| 黄色丝袜av网址大全| 午夜视频精品福利| 极品教师在线免费播放| 18禁黄网站禁片午夜丰满| 国产1区2区3区精品| 91字幕亚洲| 琪琪午夜伦伦电影理论片6080| 老司机午夜十八禁免费视频| 国产亚洲精品一区二区www| 啦啦啦免费观看视频1| 麻豆av在线久日| 日本一本二区三区精品| 天天躁夜夜躁狠狠躁躁| 男女之事视频高清在线观看| 国产成人啪精品午夜网站| 日本黄色视频三级网站网址| 哪里可以看免费的av片| 免费在线观看成人毛片| 女人爽到高潮嗷嗷叫在线视频| 啦啦啦免费观看视频1| 久久天躁狠狠躁夜夜2o2o| 淫妇啪啪啪对白视频| 午夜福利高清视频| 成在线人永久免费视频| 亚洲欧美精品综合久久99| 国产乱人伦免费视频| 亚洲精品粉嫩美女一区| 99热这里只有是精品50| 国产精品一及| 亚洲欧洲精品一区二区精品久久久| 亚洲欧美日韩无卡精品| 很黄的视频免费| 国产99白浆流出| 老鸭窝网址在线观看| 国产精品亚洲美女久久久| 19禁男女啪啪无遮挡网站| 天堂影院成人在线观看| 久久婷婷人人爽人人干人人爱| 国产69精品久久久久777片 | 99国产综合亚洲精品| 欧美最黄视频在线播放免费| 亚洲熟妇中文字幕五十中出| 国产成人啪精品午夜网站| 亚洲自拍偷在线| 可以在线观看的亚洲视频| 国产亚洲精品久久久久久毛片| av视频在线观看入口| 久久久久免费精品人妻一区二区| 亚洲中文av在线| 久久国产精品人妻蜜桃| 午夜免费观看网址| 精品久久久久久久久久久久久| 美女午夜性视频免费| 久久久久性生活片| av天堂在线播放| av福利片在线| 成人av一区二区三区在线看| 久9热在线精品视频| 久久香蕉精品热| 老鸭窝网址在线观看| 免费在线观看视频国产中文字幕亚洲| 国产精品爽爽va在线观看网站| 日韩大尺度精品在线看网址| 天堂动漫精品| 啦啦啦观看免费观看视频高清| 一进一出好大好爽视频| 成人18禁在线播放| 男女做爰动态图高潮gif福利片| 首页视频小说图片口味搜索| 日韩成人在线观看一区二区三区| xxxwww97欧美| 人人妻人人澡欧美一区二区| bbb黄色大片| 一区二区三区高清视频在线| 麻豆国产av国片精品| 欧美成人午夜精品| 又大又爽又粗| 国产亚洲精品久久久久久毛片| 99久久无色码亚洲精品果冻| 日韩精品中文字幕看吧| 亚洲国产精品成人综合色| 欧美性长视频在线观看| а√天堂www在线а√下载| 亚洲国产日韩欧美精品在线观看 | 国产高清视频在线观看网站| 91老司机精品| 十八禁网站免费在线| 91大片在线观看| 精品国产美女av久久久久小说| 国产成人啪精品午夜网站| 美女午夜性视频免费| 狂野欧美激情性xxxx| 欧美日本亚洲视频在线播放| 国产精品亚洲av一区麻豆| 波多野结衣高清无吗| 18禁黄网站禁片午夜丰满| 国产精品综合久久久久久久免费| 久久久国产成人免费| 一区二区三区激情视频| 国模一区二区三区四区视频 | 一a级毛片在线观看| 91麻豆av在线| 久久精品夜夜夜夜夜久久蜜豆 | 日本五十路高清| 午夜老司机福利片| 免费看a级黄色片| 国产日本99.免费观看| 日韩欧美国产一区二区入口| 国产日本99.免费观看| 99国产极品粉嫩在线观看| 三级毛片av免费| 伊人久久大香线蕉亚洲五| 操出白浆在线播放| 婷婷精品国产亚洲av在线| 精品无人区乱码1区二区| 波多野结衣高清无吗| 非洲黑人性xxxx精品又粗又长| 欧美+亚洲+日韩+国产| 国产成人av教育| www.自偷自拍.com| 国产日本99.免费观看| 精品人妻1区二区| av片东京热男人的天堂| 国产在线观看jvid| 欧洲精品卡2卡3卡4卡5卡区| 国产91精品成人一区二区三区| 日韩欧美国产在线观看| 亚洲男人天堂网一区| 精品久久久久久久久久免费视频| 久久久水蜜桃国产精品网| 日韩大尺度精品在线看网址| 视频区欧美日本亚洲| 天堂av国产一区二区熟女人妻 | 少妇的丰满在线观看| 亚洲成人久久性| 中亚洲国语对白在线视频| 在线十欧美十亚洲十日本专区| 亚洲中文av在线| 成人18禁高潮啪啪吃奶动态图| 亚洲片人在线观看| 成年免费大片在线观看| 亚洲专区中文字幕在线| 男人的好看免费观看在线视频 | 母亲3免费完整高清在线观看| 天堂av国产一区二区熟女人妻 | aaaaa片日本免费| 亚洲全国av大片| 后天国语完整版免费观看| 小说图片视频综合网站| 最近最新中文字幕大全免费视频| 好看av亚洲va欧美ⅴa在| 久久久久久久午夜电影| 国产在线精品亚洲第一网站| 久久精品国产亚洲av香蕉五月| 女人被狂操c到高潮| 日韩欧美免费精品| 国产av一区在线观看免费| 亚洲成人精品中文字幕电影| 真人一进一出gif抽搐免费| 免费无遮挡裸体视频| 中文字幕熟女人妻在线| 色尼玛亚洲综合影院| 2021天堂中文幕一二区在线观| 国产精华一区二区三区| 757午夜福利合集在线观看| 亚洲国产欧美人成| 精品久久久久久久久久久久久| 国产三级在线视频| 香蕉国产在线看| 成人国产综合亚洲| 久久久久久大精品| 久久久久久久久免费视频了| 美女免费视频网站| 99热6这里只有精品| 全区人妻精品视频| 最近视频中文字幕2019在线8| 好看av亚洲va欧美ⅴa在| 精品国产乱码久久久久久男人| 欧美激情久久久久久爽电影| 亚洲精品久久国产高清桃花| 日韩欧美 国产精品| 99热6这里只有精品| 日韩成人在线观看一区二区三区| svipshipincom国产片| 欧美黄色片欧美黄色片| 男男h啪啪无遮挡| 在线观看美女被高潮喷水网站 | 舔av片在线| 亚洲欧美日韩东京热| 欧美黑人巨大hd| 亚洲 欧美 日韩 在线 免费| 三级毛片av免费| 亚洲成人精品中文字幕电影| www.熟女人妻精品国产| 长腿黑丝高跟| 搡老熟女国产l中国老女人| 成人午夜高清在线视频| 亚洲国产高清在线一区二区三| 精品熟女少妇八av免费久了| 亚洲乱码一区二区免费版| 亚洲欧美精品综合久久99| 精品国产美女av久久久久小说| 欧美一级a爱片免费观看看 | 久久久精品大字幕| 亚洲精品色激情综合| 看片在线看免费视频| 亚洲国产欧美人成| 成人高潮视频无遮挡免费网站| 国产精品 国内视频| 不卡一级毛片| 日本撒尿小便嘘嘘汇集6| 国产一区二区在线观看日韩 | 香蕉国产在线看| 男人舔奶头视频| 中出人妻视频一区二区| 丰满人妻一区二区三区视频av | 97超级碰碰碰精品色视频在线观看| 中文字幕人成人乱码亚洲影| 亚洲人成网站高清观看| 黄色视频,在线免费观看| 老司机在亚洲福利影院| 久久久国产成人免费| 亚洲乱码一区二区免费版| 日韩欧美在线二视频| 亚洲av成人av| 老司机深夜福利视频在线观看| 中亚洲国语对白在线视频| 每晚都被弄得嗷嗷叫到高潮| 女人被狂操c到高潮| 国产精品久久久久久精品电影| 亚洲 欧美一区二区三区| 国产精品av久久久久免费| 国产精品98久久久久久宅男小说| 别揉我奶头~嗯~啊~动态视频| 亚洲自拍偷在线| 伦理电影免费视频| www.999成人在线观看| 亚洲国产欧美网| 欧美在线一区亚洲| 日韩欧美 国产精品| 性欧美人与动物交配| 国产蜜桃级精品一区二区三区| 欧美最黄视频在线播放免费| 日本a在线网址| 亚洲 欧美 日韩 在线 免费| av片东京热男人的天堂| 午夜免费观看网址| 亚洲成av人片在线播放无| 色播亚洲综合网| 人妻夜夜爽99麻豆av| 成人国语在线视频| 免费在线观看完整版高清| 91在线观看av| www.www免费av| 此物有八面人人有两片| 久久伊人香网站| АⅤ资源中文在线天堂| 老司机深夜福利视频在线观看| 嫁个100分男人电影在线观看| 此物有八面人人有两片| 国产精品永久免费网站| 淫秽高清视频在线观看| 久热爱精品视频在线9| 亚洲人与动物交配视频| 一区福利在线观看| 免费一级毛片在线播放高清视频| 免费人成视频x8x8入口观看| 老司机靠b影院| 久久久久国产一级毛片高清牌| 亚洲精品色激情综合| 国产97色在线日韩免费| 午夜福利在线在线| 国产av一区在线观看免费| 视频区欧美日本亚洲| 免费无遮挡裸体视频| 日韩有码中文字幕| 午夜a级毛片| 丁香六月欧美| 国产精品 国内视频| 午夜福利高清视频| 午夜成年电影在线免费观看| videosex国产| 麻豆成人av在线观看| 免费在线观看亚洲国产| 免费av毛片视频| 9191精品国产免费久久| 国产成人影院久久av| 精品人妻1区二区| 一本精品99久久精品77| 99国产综合亚洲精品| 全区人妻精品视频| 女人被狂操c到高潮| 欧美黑人欧美精品刺激| 亚洲欧美日韩东京热| 99在线视频只有这里精品首页| www日本黄色视频网| 亚洲 欧美一区二区三区| 99国产精品一区二区蜜桃av| ponron亚洲| 亚洲国产精品久久男人天堂| 露出奶头的视频| 国产亚洲av高清不卡| 两人在一起打扑克的视频| 免费在线观看完整版高清| 亚洲专区字幕在线| 亚洲欧美日韩高清专用| 男女下面进入的视频免费午夜| 亚洲精品av麻豆狂野| 欧美黑人巨大hd| 国产精品久久久久久亚洲av鲁大| 亚洲天堂国产精品一区在线| 日韩欧美免费精品| 我的老师免费观看完整版| 成熟少妇高潮喷水视频| 色综合站精品国产| 国产亚洲av高清不卡| 亚洲免费av在线视频| 99精品欧美一区二区三区四区| 欧美 亚洲 国产 日韩一| tocl精华| 亚洲片人在线观看| 黑人操中国人逼视频| 亚洲一码二码三码区别大吗| 全区人妻精品视频| 热99re8久久精品国产| 麻豆成人av在线观看| 精品久久久久久,| 中出人妻视频一区二区| 久久精品aⅴ一区二区三区四区| 高清在线国产一区| 天堂动漫精品| 亚洲av片天天在线观看| 国产成人精品久久二区二区91| 久久香蕉精品热| 香蕉国产在线看| 午夜视频精品福利| 国产97色在线日韩免费| 少妇人妻一区二区三区视频| 免费看日本二区| 在线永久观看黄色视频| 成人欧美大片| а√天堂www在线а√下载| 亚洲成av人片在线播放无| 狠狠狠狠99中文字幕| 国产精品亚洲一级av第二区| 亚洲色图 男人天堂 中文字幕| 又粗又爽又猛毛片免费看| av片东京热男人的天堂| 日本 av在线| 日韩大尺度精品在线看网址| 黄色视频,在线免费观看| 午夜激情av网站| 香蕉国产在线看| 好男人电影高清在线观看| 国产区一区二久久| 国产高清激情床上av| 啦啦啦观看免费观看视频高清| 最近视频中文字幕2019在线8| 国产欧美日韩精品亚洲av| 波多野结衣巨乳人妻| 午夜亚洲福利在线播放| 麻豆成人av在线观看| 久99久视频精品免费| 午夜福利欧美成人| 国产99久久九九免费精品| 精品免费久久久久久久清纯| 日本黄色视频三级网站网址| 99久久国产精品久久久| 日韩 欧美 亚洲 中文字幕| 国产精品一区二区免费欧美|