基于歷史長(zhǎng)度自適應(yīng)的分支預(yù)測(cè)方法
發(fā)布時(shí)間:2020-08-18 10:48
【摘要】:通過(guò)研究處理器動(dòng)態(tài)分支預(yù)測(cè)器中預(yù)測(cè)效率與分支歷史長(zhǎng)度的關(guān)系,針對(duì)程序中各分支指令存在不同最優(yōu)歷史長(zhǎng)度的規(guī)律,提出一種搜索各分支指令最佳歷史長(zhǎng)度的分支預(yù)測(cè)方法.該方法通過(guò)實(shí)時(shí)監(jiān)測(cè)分支指令的預(yù)測(cè)準(zhǔn)確率,在分支預(yù)測(cè)表硬件資源不變的情況下動(dòng)態(tài)調(diào)整預(yù)測(cè)器的歷史長(zhǎng)度,以適應(yīng)程序的動(dòng)態(tài)運(yùn)行特征.實(shí)驗(yàn)結(jié)果表明,在相同硬件資源下,文中方法相對(duì)于Gshare預(yù)測(cè)器錯(cuò)誤率降低15.8%,相對(duì)于Bi-mode預(yù)測(cè)器預(yù)測(cè)錯(cuò)誤率降低10.3%.
【圖文】:
不相同,可見(jiàn)預(yù)測(cè)器需要?jiǎng)討B(tài)逡逑30^0邋|j邋j邋I邋I邋|丨_邋!邐適應(yīng)不同程序的不同特性才能獲得最優(yōu)預(yù)測(cè)效率.逡逑20.0邋|丨.I邋I邋I丨邋|邋|邐3)本文方法逡逑100邋!|邋I邋1邋|邋;邋|邐基于上述分析,針對(duì)程序中不同分支對(duì)歷史逡逑2邋4邋6邋8邋10邋12邋14邋16邋18邐長(zhǎng)度需求的不同,本文提出歷史長(zhǎng)度動(dòng)態(tài)自適應(yīng)逡逑歷史長(zhǎng)度邐的兩級(jí)分支預(yù)測(cè)方法.其核心思想為:根據(jù)程序中逡逑">95%;邋=80% ̄95%;邐不同分支指令對(duì)歷史長(zhǎng)度的需求按組對(duì)分支指令逡逑圖2理想分支預(yù)測(cè),各歷史長(zhǎng)度下預(yù)測(cè)率區(qū)間邐進(jìn)行實(shí)時(shí)監(jiān)測(cè),根據(jù)分支指令預(yù)測(cè)錯(cuò)誤率動(dòng)態(tài)調(diào)逡逑整分支指令所使用的歷史長(zhǎng)度,為各分支指令選逡逑進(jìn)一步,本文分析了邋Gshare預(yù)測(cè)器歷史長(zhǎng)度邐取最優(yōu)歷史長(zhǎng)度;進(jìn)一步,當(dāng)分支指令之間發(fā)生逡逑與預(yù)測(cè)率的關(guān)系.圖3所示為Gshare預(yù)測(cè)器固定分邐破壞性別名時(shí),通過(guò)自動(dòng)調(diào)整分支歷史長(zhǎng)度避開(kāi)逡逑支模式表項(xiàng)數(shù)量為16邋K時(shí),不同全局歷史長(zhǎng)度下邐與其他指令之間的別名,從而提升整體預(yù)測(cè)精度.逡逑^12邐-13邋?邋?逡逑?■邋11邋■邋?邋?邐#邋12邋-邋氣逡逑m邐g邋11邋-邋w邋^逡逑M邋10邐M邋in逡逑m邐腠邋io.逡逑9邋L__,_,_,__._._.__■■_■_■-邐9L_.__._■_■_■ ̄ ̄-逡逑2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14邐2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14逡逑歷史長(zhǎng)度邐歷史長(zhǎng)度逡逑a邋cjpeg程序邐b邋tblook程序逡逑8.2邐10邋?逡逑I邋8邐s邋8逡逑g邋?邐g邋7逡逑M邋1A邐M逡逑
歷史逡逑2邋4邋6邋8邋10邋12邋14邋16邋18邐長(zhǎng)度需求的不同,本文提出歷史長(zhǎng)度動(dòng)態(tài)自適應(yīng)逡逑歷史長(zhǎng)度邐的兩級(jí)分支預(yù)測(cè)方法.其核心思想為:根據(jù)程序中逡逑">95%;邋=80% ̄95%;邐不同分支指令對(duì)歷史長(zhǎng)度的需求按組對(duì)分支指令逡逑圖2理想分支預(yù)測(cè),各歷史長(zhǎng)度下預(yù)測(cè)率區(qū)間邐進(jìn)行實(shí)時(shí)監(jiān)測(cè),根據(jù)分支指令預(yù)測(cè)錯(cuò)誤率動(dòng)態(tài)調(diào)逡逑整分支指令所使用的歷史長(zhǎng)度,為各分支指令選逡逑進(jìn)一步,本文分析了邋Gshare預(yù)測(cè)器歷史長(zhǎng)度邐取最優(yōu)歷史長(zhǎng)度;進(jìn)一步,當(dāng)分支指令之間發(fā)生逡逑與預(yù)測(cè)率的關(guān)系.圖3所示為Gshare預(yù)測(cè)器固定分邐破壞性別名時(shí),通過(guò)自動(dòng)調(diào)整分支歷史長(zhǎng)度避開(kāi)逡逑支模式表項(xiàng)數(shù)量為16邋K時(shí),不同全局歷史長(zhǎng)度下邐與其他指令之間的別名,從而提升整體預(yù)測(cè)精度.逡逑^12邐-13邋?邋?逡逑?■邋11邋■邋?邋?邐#邋12邋-邋氣逡逑m邐g邋11邋-邋w邋^逡逑M邋10邐M邋in逡逑m邐腠邋io.逡逑9邋L__,_,_,__._._.__■■_■_■-邐9L_.__._■_■_■ ̄ ̄-逡逑2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14邐2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14逡逑歷史長(zhǎng)度邐歷史長(zhǎng)度逡逑a邋cjpeg程序邐b邋tblook程序逡逑8.2邐10邋?逡逑I邋8邐s邋8逡逑g邋?邐g邋7逡逑M邋1A邐M逡逑m邐m邋6邋.逡逑7邋Q邋邐i邐i邐i邐‘邋‘邐I邐i邐i邐i邐i邐i邐i邐i邐邐5邋 ̄i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐逡逑2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14邐2邋3邋4邋5邋6邋7邋8邋9
768邐計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào)邐第27卷逡逑誤率是否小于上一歷史長(zhǎng)度錯(cuò)誤率(算法1中第⑧邐其他實(shí)驗(yàn)參數(shù)為128?jìng)(gè)分支錯(cuò)誤監(jiān)測(cè)表項(xiàng)、10%的逡逑行),如果小于,則繼續(xù)減小歷史長(zhǎng)度,反之則增邐錯(cuò)誤閾值、歷史長(zhǎng)度收斂步長(zhǎng)2位(每次調(diào)整2位逡逑加歷史長(zhǎng)度.收斂方向的實(shí)現(xiàn)如圖5所示,使用最邐歷史長(zhǎng)度).圖6a顯示分支監(jiān)測(cè)窗口大小從128擴(kuò)逡逑近收斂方向與錯(cuò)誤次數(shù)和最近錯(cuò)誤次數(shù)的大于關(guān)邐大到512,分支預(yù)測(cè)錯(cuò)誤率下降較為明顯(約為逡逑系求異或即可得到.最后,還需更新如下內(nèi)容以開(kāi)邐0.5%),到512個(gè)表項(xiàng)時(shí)預(yù)測(cè)效果基本達(dá)到飽和,逡逑始下一次監(jiān)測(cè):將錯(cuò)誤統(tǒng)計(jì)表中的值更新到最近歷邐鑒于硬件成本與分支預(yù)測(cè)效率,本文選取128?jìng)(gè)表逡逑史錯(cuò)誤次數(shù)表中;將訪問(wèn)次數(shù)表中的訪問(wèn)次數(shù)清0;邐項(xiàng)作為監(jiān)測(cè)窗口大。种уe(cuò)誤閾值大小同樣影逡逑將錯(cuò)誤統(tǒng)計(jì)表的值清0.通過(guò)這種方式實(shí)現(xiàn)分支歷邐響本實(shí)驗(yàn)的抗干擾能力,圖6b所示為不同錯(cuò)誤閾逡逑史表中的歷史長(zhǎng)度修改功能,并作用于該分支以邐值下的分支錯(cuò)誤率變化,其他實(shí)驗(yàn)參數(shù)為128?jìng)(gè)分逡逑后的訪問(wèn).邐支錯(cuò)誤監(jiān)測(cè)表項(xiàng)、128?jìng)(gè)分支訪問(wèn)窗口、歷史長(zhǎng)度逡逑收斂步長(zhǎng)為2.實(shí)驗(yàn)發(fā)現(xiàn),較小的錯(cuò)誤閾值下實(shí)驗(yàn)逡逑3邋實(shí)驗(yàn)與分析邐效果并不理想,較小的錯(cuò)誤閾值抗干擾能力較弱,逡逑增大錯(cuò)誤閾值雖然預(yù)測(cè)錯(cuò)誤率略有反復(fù),但仍呈逡逑本文以國(guó)產(chǎn)32位高性能嵌入式處理器CK810[18]邐現(xiàn)下降的趨勢(shì),當(dāng)錯(cuò)誤閾值設(shè)為13%時(shí),預(yù)測(cè)精度逡逑為實(shí)驗(yàn)平臺(tái),以國(guó)際主流的嵌入式基準(zhǔn)測(cè)試程序邐較優(yōu).錯(cuò)誤監(jiān)測(cè)表數(shù)量確定本文方法的監(jiān)測(cè)粒度,逡逑EEMBC為測(cè)試對(duì)象,表1所示為測(cè)試基準(zhǔn)程序簡(jiǎn)邐影響其自適應(yīng)特性.圖6c所示為不同錯(cuò)誤監(jiān)測(cè)表逡逑介.本文分別選取1
【圖文】:
不相同,可見(jiàn)預(yù)測(cè)器需要?jiǎng)討B(tài)逡逑30^0邋|j邋j邋I邋I邋|丨_邋!邐適應(yīng)不同程序的不同特性才能獲得最優(yōu)預(yù)測(cè)效率.逡逑20.0邋|丨.I邋I邋I丨邋|邋|邐3)本文方法逡逑100邋!|邋I邋1邋|邋;邋|邐基于上述分析,針對(duì)程序中不同分支對(duì)歷史逡逑2邋4邋6邋8邋10邋12邋14邋16邋18邐長(zhǎng)度需求的不同,本文提出歷史長(zhǎng)度動(dòng)態(tài)自適應(yīng)逡逑歷史長(zhǎng)度邐的兩級(jí)分支預(yù)測(cè)方法.其核心思想為:根據(jù)程序中逡逑">95%;邋=80% ̄95%;邐不同分支指令對(duì)歷史長(zhǎng)度的需求按組對(duì)分支指令逡逑圖2理想分支預(yù)測(cè),各歷史長(zhǎng)度下預(yù)測(cè)率區(qū)間邐進(jìn)行實(shí)時(shí)監(jiān)測(cè),根據(jù)分支指令預(yù)測(cè)錯(cuò)誤率動(dòng)態(tài)調(diào)逡逑整分支指令所使用的歷史長(zhǎng)度,為各分支指令選逡逑進(jìn)一步,本文分析了邋Gshare預(yù)測(cè)器歷史長(zhǎng)度邐取最優(yōu)歷史長(zhǎng)度;進(jìn)一步,當(dāng)分支指令之間發(fā)生逡逑與預(yù)測(cè)率的關(guān)系.圖3所示為Gshare預(yù)測(cè)器固定分邐破壞性別名時(shí),通過(guò)自動(dòng)調(diào)整分支歷史長(zhǎng)度避開(kāi)逡逑支模式表項(xiàng)數(shù)量為16邋K時(shí),不同全局歷史長(zhǎng)度下邐與其他指令之間的別名,從而提升整體預(yù)測(cè)精度.逡逑^12邐-13邋?邋?逡逑?■邋11邋■邋?邋?邐#邋12邋-邋氣逡逑m邐g邋11邋-邋w邋^逡逑M邋10邐M邋in逡逑m邐腠邋io.逡逑9邋L__,_,_,__._._.__■■_■_■-邐9L_.__._■_■_■ ̄ ̄-逡逑2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14邐2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14逡逑歷史長(zhǎng)度邐歷史長(zhǎng)度逡逑a邋cjpeg程序邐b邋tblook程序逡逑8.2邐10邋?逡逑I邋8邐s邋8逡逑g邋?邐g邋7逡逑M邋1A邐M逡逑
歷史逡逑2邋4邋6邋8邋10邋12邋14邋16邋18邐長(zhǎng)度需求的不同,本文提出歷史長(zhǎng)度動(dòng)態(tài)自適應(yīng)逡逑歷史長(zhǎng)度邐的兩級(jí)分支預(yù)測(cè)方法.其核心思想為:根據(jù)程序中逡逑">95%;邋=80% ̄95%;邐不同分支指令對(duì)歷史長(zhǎng)度的需求按組對(duì)分支指令逡逑圖2理想分支預(yù)測(cè),各歷史長(zhǎng)度下預(yù)測(cè)率區(qū)間邐進(jìn)行實(shí)時(shí)監(jiān)測(cè),根據(jù)分支指令預(yù)測(cè)錯(cuò)誤率動(dòng)態(tài)調(diào)逡逑整分支指令所使用的歷史長(zhǎng)度,為各分支指令選逡逑進(jìn)一步,本文分析了邋Gshare預(yù)測(cè)器歷史長(zhǎng)度邐取最優(yōu)歷史長(zhǎng)度;進(jìn)一步,當(dāng)分支指令之間發(fā)生逡逑與預(yù)測(cè)率的關(guān)系.圖3所示為Gshare預(yù)測(cè)器固定分邐破壞性別名時(shí),通過(guò)自動(dòng)調(diào)整分支歷史長(zhǎng)度避開(kāi)逡逑支模式表項(xiàng)數(shù)量為16邋K時(shí),不同全局歷史長(zhǎng)度下邐與其他指令之間的別名,從而提升整體預(yù)測(cè)精度.逡逑^12邐-13邋?邋?逡逑?■邋11邋■邋?邋?邐#邋12邋-邋氣逡逑m邐g邋11邋-邋w邋^逡逑M邋10邐M邋in逡逑m邐腠邋io.逡逑9邋L__,_,_,__._._.__■■_■_■-邐9L_.__._■_■_■ ̄ ̄-逡逑2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14邐2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14逡逑歷史長(zhǎng)度邐歷史長(zhǎng)度逡逑a邋cjpeg程序邐b邋tblook程序逡逑8.2邐10邋?逡逑I邋8邐s邋8逡逑g邋?邐g邋7逡逑M邋1A邐M逡逑m邐m邋6邋.逡逑7邋Q邋邐i邐i邐i邐‘邋‘邐I邐i邐i邐i邐i邐i邐i邐i邐邐5邋 ̄i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐i邐逡逑2邋3邋4邋5邋6邋7邋8邋9邋10邋11邋12邋13邋14邐2邋3邋4邋5邋6邋7邋8邋9
768邐計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào)邐第27卷逡逑誤率是否小于上一歷史長(zhǎng)度錯(cuò)誤率(算法1中第⑧邐其他實(shí)驗(yàn)參數(shù)為128?jìng)(gè)分支錯(cuò)誤監(jiān)測(cè)表項(xiàng)、10%的逡逑行),如果小于,則繼續(xù)減小歷史長(zhǎng)度,反之則增邐錯(cuò)誤閾值、歷史長(zhǎng)度收斂步長(zhǎng)2位(每次調(diào)整2位逡逑加歷史長(zhǎng)度.收斂方向的實(shí)現(xiàn)如圖5所示,使用最邐歷史長(zhǎng)度).圖6a顯示分支監(jiān)測(cè)窗口大小從128擴(kuò)逡逑近收斂方向與錯(cuò)誤次數(shù)和最近錯(cuò)誤次數(shù)的大于關(guān)邐大到512,分支預(yù)測(cè)錯(cuò)誤率下降較為明顯(約為逡逑系求異或即可得到.最后,還需更新如下內(nèi)容以開(kāi)邐0.5%),到512個(gè)表項(xiàng)時(shí)預(yù)測(cè)效果基本達(dá)到飽和,逡逑始下一次監(jiān)測(cè):將錯(cuò)誤統(tǒng)計(jì)表中的值更新到最近歷邐鑒于硬件成本與分支預(yù)測(cè)效率,本文選取128?jìng)(gè)表逡逑史錯(cuò)誤次數(shù)表中;將訪問(wèn)次數(shù)表中的訪問(wèn)次數(shù)清0;邐項(xiàng)作為監(jiān)測(cè)窗口大。种уe(cuò)誤閾值大小同樣影逡逑將錯(cuò)誤統(tǒng)計(jì)表的值清0.通過(guò)這種方式實(shí)現(xiàn)分支歷邐響本實(shí)驗(yàn)的抗干擾能力,圖6b所示為不同錯(cuò)誤閾逡逑史表中的歷史長(zhǎng)度修改功能,并作用于該分支以邐值下的分支錯(cuò)誤率變化,其他實(shí)驗(yàn)參數(shù)為128?jìng)(gè)分逡逑后的訪問(wèn).邐支錯(cuò)誤監(jiān)測(cè)表項(xiàng)、128?jìng)(gè)分支訪問(wèn)窗口、歷史長(zhǎng)度逡逑收斂步長(zhǎng)為2.實(shí)驗(yàn)發(fā)現(xiàn),較小的錯(cuò)誤閾值下實(shí)驗(yàn)逡逑3邋實(shí)驗(yàn)與分析邐效果并不理想,較小的錯(cuò)誤閾值抗干擾能力較弱,逡逑增大錯(cuò)誤閾值雖然預(yù)測(cè)錯(cuò)誤率略有反復(fù),但仍呈逡逑本文以國(guó)產(chǎn)32位高性能嵌入式處理器CK810[18]邐現(xiàn)下降的趨勢(shì),當(dāng)錯(cuò)誤閾值設(shè)為13%時(shí),預(yù)測(cè)精度逡逑為實(shí)驗(yàn)平臺(tái),以國(guó)際主流的嵌入式基準(zhǔn)測(cè)試程序邐較優(yōu).錯(cuò)誤監(jiān)測(cè)表數(shù)量確定本文方法的監(jiān)測(cè)粒度,逡逑EEMBC為測(cè)試對(duì)象,表1所示為測(cè)試基準(zhǔn)程序簡(jiǎn)邐影響其自適應(yīng)特性.圖6c所示為不同錯(cuò)誤監(jiān)測(cè)表逡逑介.本文分別選取1
【參考文獻(xiàn)】
相關(guān)期刊論文 前2條
1 茍鵬飛;王詩(shī)博;楊兵;喻明艷;;改進(jìn)的基于O-GEHL預(yù)測(cè)技術(shù)的EDGE塊預(yù)測(cè)器[J];電子科技大學(xué)學(xué)報(bào);2012年02期
2 陳晨;陳志堅(jiān);孟建熠;嚴(yán)曉浪;;基于預(yù)測(cè)極性動(dòng)態(tài)變換的分支預(yù)測(cè)框架研究[J];電子與信息學(xué)報(bào);2013年04期
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 陳晨;陳志堅(jiān);孟建熠;嚴(yán)曉浪;;基于預(yù)測(cè)極性動(dòng)態(tài)變換的分支預(yù)測(cè)框架研究[J];電子與信息學(xué)報(bào);2013年04期
2 焦永,陳躍躍;復(fù)合分支預(yù)測(cè)中選擇算法的研究[J];計(jì)算機(jī)應(yīng)用研究;2005年04期
3 肖澤強(qiáng);;動(dòng)態(tài)分支預(yù)測(cè)技術(shù)分析與量化研究[J];信息技術(shù);2011年03期
4 靳文兵;石峰;左琦;張楊;;提前分支預(yù)測(cè)結(jié)構(gòu)及算法研究[J];計(jì)算機(jī)研究與發(fā)展;2013年10期
5 馬鵬;方曉e
本文編號(hào):2796128
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2796128.html
最近更新
教材專著