0 ) { n = 5 ; } else { n = - 5 ; } 在執行 if 語句的時候,一定會對判斷語句執行結果后的下一條語句進行取址和譯碼,那么在還沒有判斷結果之前應該對哪一個語句進行取址呢?這就是分支預測要解決的問題。 簡單說,分支預測就像我們鐵路分叉口上的操作員,操作員在沒有" />

吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CPU中什么是分支預測

麥辣雞腿堡 ? 來源:軒哥談芯 ? 作者:義軒 ? 2023-11-29 17:22 ? 次閱讀

什么是分支預測

在超標量的流水線架構上,我們得知,CPU 在運行指令的時候,會在一個時鐘上做多個操作,也就是涉及到調用前后相關的指令,比如我們在一個簡單的判斷語句中。

if(n > 0){    n = 5;}else{    n = -5;}

在執行 if 語句的時候,一定會對判斷語句執行結果后的下一條語句進行取址和譯碼,那么在還沒有判斷結果之前應該對哪一個語句進行取址呢?這就是分支預測要解決的問題。

簡單說,分支預測就像我們鐵路分叉口上的操作員,操作員在沒有看到火車上面的轉向旗幟的情況下,到底應該往哪邊搬動扳手呢?

對于 CPU 來說,他做不到鐵路系統中的提前通信告知,因此他只能根據歷史來進行推測,提前做選擇,如果選擇錯了,咱就讓列車停下,倒回來,重新開。

因此,分支預測會出現預測失敗的情況,而失敗后的回滾操作非常占用時間,所以我們需要避免分支預測失敗概率過大,或者說是把具有分支預測失敗情況的判斷放到循環內部,讓失敗回滾多次循環。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19409

    瀏覽量

    231196
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17324

    瀏覽量

    352658
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10905

    瀏覽量

    213031
  • 預測
    +關注

    關注

    0

    文章

    38

    瀏覽量

    12390
收藏 人收藏

    評論

    相關推薦

    CPU分支預測對程序的影響

    分支預測的英文名字是“Branch Prediction”,如果大家在Google上搜索這個關鍵字,可以看到關于分支預測的很多內容。不過,要搞清楚
    發表于 09-23 14:11 ?1173次閱讀

    Git命令之本地分支與遠程分支關聯和解除

    在實際的工作生活,往往需要將本地的分支和遠程分支關聯,這樣我們就可以使用git pull命令來更新拉取最新的代碼,并使用git push命令將自己本地的修改推送到遠程倉庫。但是如果此時你本地關聯
    的頭像 發表于 12-15 09:27 ?3400次閱讀
    Git命令之本地<b class='flag-5'>分支</b>與遠程<b class='flag-5'>分支</b>關聯和解除

    嵌入式處理器動態分支預測機制研究與設計

    嵌入式處理器動態分支預測機制研究與設計針對嵌入式處理器的特定應用環境,通過對傳統神經網絡算法的改進,結合定制的分支目標緩沖,提出一種復合式動態分支
    發表于 10-06 09:53

    怎么顯示子vi的條件分支

    子vi 是條件結構。如何在程序,顯示可選擇的條件分支,子vi怎么樣設置連線端
    發表于 10-18 10:33

    git merge后,原分支的內容沒有出現在新的master分支。

    我新建了一個rico分支,現在想把rico分支的內容合并到master分支,但是合并之后,我在rico分鐘中新建的文件夾,并沒有出現在master,這是為什么呢??rico
    發表于 03-12 00:48

    優化技巧:提前if判斷幫助CPU分支預測

    摘要: 在stackoverflow上有一個非常有名的問題:為什么處理有序數組要比非有序數組快?,可見分支預測對代碼運行效率有非常大的影響。要提高代碼執行效率,一個重要的原則就是盡量避免CPU
    發表于 06-13 16:27

    安騰處理器多級分支預測機制

    分支預測技術可消除分支指令之后損失的周期,防止流水線斷流。高比率的分支預測精確度是高性能微處理器性能的保證。本文詳細分析了安騰處理器(Ita
    發表于 08-21 12:11 ?12次下載

    什么是CPU分枝預測和推測執行技術?

    什么是分枝預測和推測執行技術?  分枝預測(branch prediction)和推測執行(speculation execution)是CPU動態執行技術的主要內容,
    發表于 02-04 10:47 ?832次閱讀

    Git分支,為何以及如何使用分支

    file.txt 之間的三個方塊展示每個分支所在的位置(或者說每個分支的最后一次提交的位置)。由于 myBranch 剛創建,提交狀態與 master 分支及其對應的記為 remo
    的頭像 發表于 06-11 11:08 ?4082次閱讀

    電纜分支箱安裝_電纜分支箱的應用

    你真的對電纜分支箱安裝都非常的了解了么?在安裝之前要準備什么、安裝要注意什么、安裝好之后又該如何驗收等等,筆者特別提醒大家電纜分支箱安裝好了才可以確保后期的穩定使用,下面就由生產廠家紅蘇電器為大家詳細介紹電纜分支箱安裝知識。
    發表于 12-24 16:43 ?3882次閱讀

    EE-373:調整ADSP-BF70xBlackfin?處理器的動態分支預測

    EE-373:調整ADSP-BF70xBlackfin?處理器的動態分支預測
    發表于 05-26 13:34 ?7次下載
    EE-373:調整ADSP-BF70xBlackfin?處理器的動態<b class='flag-5'>分支</b><b class='flag-5'>預測</b>器

    CPU分支預測對程序的影響

    CPU會有一個提前預測機制,比如前面的執行結果都是true,那么下一次在判斷if的時候,就會默認認為是true來處理,讓下面的幾條指令提前進入預裝。 當然,這個判斷不會影響實際的結果輸出,這個判斷只是為了讓CPU并行執行代碼。
    發表于 09-20 11:40 ?610次閱讀

    應對分支預測有哪些優化措施

    應對分支預測有哪些優化措施 下面再來看一下分支預測,這也是 ChatGPT 給出的一個簡易答案 // 不利于流水線的循環結構 for (int i = 0 ; i if (condit
    的頭像 發表于 11-29 17:32 ?520次閱讀

    如何幫助提高CPU分支跳轉的正確率

    我們還是先看一個例子: 看上面的兩個函數,它們都是calloc一個全零數組x(這里不能直接用數組賦值,否則編譯器會足夠聰明進行自動的優化),遍歷x的每個數,如果等于0,執行分支A,否則執行分支B
    的頭像 發表于 12-13 11:25 ?806次閱讀
    如何幫助提高<b class='flag-5'>CPU</b><b class='flag-5'>分支</b>跳轉的正確率

    英特爾CPU遭遇&quot;Pathfinder&quot;漏洞攻擊,用戶端JPEG圖像庫可竊取機密信息

    據了解,Pathfinder技術利用了現代CPU分支預測機制,通過操控分支預測器的關鍵部分,實現對程序控制流歷史記錄的重構,并發動高精度的
    的頭像 發表于 05-11 14:46 ?473次閱讀
    百家乐制胜软件| 百家乐官网欧洲赔率| 百家乐官网棋牌游戏正式版| 百家乐官网技巧看路| 百家乐官网游戏机博彩正网| 如何看百家乐官网的路纸| 百家乐官网娱乐城网站| 百家乐官网真人游戏投注网 | 百家乐官网认牌| HG百家乐官网大转轮| 包赢百家乐官网的玩法技巧和规则 | 新平| 莒南县| 网络百家乐官网破解器| 木星百家乐官网的玩法技巧和规则| 在线百家乐娱乐| 百家乐赌博大揭密| 大发888娱乐场下载 官方| 德州扑克计算器| 百家乐官网三多注码法| 模拟百家乐官网下载| 百家乐代打是真的吗| 百家乐技巧平注常赢法| 大发888 娱乐免费游戏| 百家乐| 百家乐官网赌场论坛| 博E百百家乐现金网| 威尼斯人娱乐场五星| 优博注册| 百家乐官网珠盘路| 免费百家乐官网分析工具| 可信百家乐的玩法技巧和规则| 顶级赌场手机版| 奔驰百家乐官网游戏| 宝马会百家乐官网的玩法技巧和规则| 永利高百家乐进不去| 大发888娱乐游戏--| 和林格尔县| 路单百家乐官网的玩法技巧和规则| 百家乐www| 足球比分网|