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

一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CPU中什么是分支預(yù)測

麥辣雞腿堡 ? 來源:軒哥談芯 ? 作者:義軒 ? 2023-11-29 17:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是分支預(yù)測

在超標(biāo)量的流水線架構(gòu)上,我們得知,CPU 在運(yùn)行指令的時(shí)候,會(huì)在一個(gè)時(shí)鐘上做多個(gè)操作,也就是涉及到調(diào)用前后相關(guān)的指令,比如我們?cè)谝粋€(gè)簡單的判斷語句中。

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

在執(zhí)行 if 語句的時(shí)候,一定會(huì)對(duì)判斷語句執(zhí)行結(jié)果后的下一條語句進(jìn)行取址和譯碼,那么在還沒有判斷結(jié)果之前應(yīng)該對(duì)哪一個(gè)語句進(jìn)行取址呢?這就是分支預(yù)測要解決的問題。

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19896

    瀏覽量

    235290
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367081
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217116
  • 預(yù)測
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    12504
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CPU分支預(yù)測對(duì)程序的影響

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

    Git命令之本地分支與遠(yuǎn)程分支關(guān)聯(lián)和解除

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

    如何統(tǒng)計(jì)蜂鳥E203的分支預(yù)測率?

    想請(qǐng)問大家如何統(tǒng)計(jì)蜂鳥E203的分支預(yù)測率,我嘗試在exu_commit模塊里統(tǒng)計(jì),但是發(fā)現(xiàn)預(yù)測率都有寫問題,想請(qǐng)教以下大家
    發(fā)表于 06-10 07:05

    嵌入式處理器動(dòng)態(tài)分支預(yù)測機(jī)制研究與設(shè)計(jì)

    嵌入式處理器動(dòng)態(tài)分支預(yù)測機(jī)制研究與設(shè)計(jì)針對(duì)嵌入式處理器的特定應(yīng)用環(huán)境,通過對(duì)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法的改進(jìn),結(jié)合定制的分支目標(biāo)緩沖,提出一種復(fù)合式動(dòng)態(tài)分支預(yù)
    發(fā)表于 10-06 09:53

    怎么顯示子vi的條件分支

    子vi 是條件結(jié)構(gòu)。如何在程序,顯示可選擇的條件分支,子vi怎么樣設(shè)置連線端
    發(fā)表于 10-18 10:33

    git merge后,原分支的內(nèi)容沒有出現(xiàn)在新的master分支。

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

    優(yōu)化技巧:提前if判斷幫助CPU分支預(yù)測

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

    安騰處理器多級(jí)分支預(yù)測機(jī)制

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

    什么是CPU分枝預(yù)測和推測執(zhí)行技術(shù)?

    什么是分枝預(yù)測和推測執(zhí)行技術(shù)?  分枝預(yù)測(branch prediction)和推測執(zhí)行(speculation execution)是CPU動(dòng)態(tài)執(zhí)行技術(shù)的主要內(nèi)容,
    發(fā)表于 02-04 10:47 ?866次閱讀

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

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

    EE-373:調(diào)整ADSP-BF70xBlackfin?處理器的動(dòng)態(tài)分支預(yù)測

    EE-373:調(diào)整ADSP-BF70xBlackfin?處理器的動(dòng)態(tài)分支預(yù)測
    發(fā)表于 05-26 13:34 ?7次下載
    EE-373:調(diào)整ADSP-BF70xBlackfin?處理器的動(dòng)態(tài)<b class='flag-5'>分支</b><b class='flag-5'>預(yù)測</b>器

    CPU分支預(yù)測對(duì)程序的影響

    CPU會(huì)有一個(gè)提前預(yù)測機(jī)制,比如前面的執(zhí)行結(jié)果都是true,那么下一次在判斷if的時(shí)候,就會(huì)默認(rèn)認(rèn)為是true來處理,讓下面的幾條指令提前進(jìn)入預(yù)裝。 當(dāng)然,這個(gè)判斷不會(huì)影響實(shí)際的結(jié)果輸出,這個(gè)判斷只是為了讓CPU并行執(zhí)行代碼。
    發(fā)表于 09-20 11:40 ?688次閱讀

    應(yīng)對(duì)分支預(yù)測有哪些優(yōu)化措施

    應(yīng)對(duì)分支預(yù)測有哪些優(yōu)化措施 下面再來看一下分支預(yù)測,這也是 ChatGPT 給出的一個(gè)簡易答案 // 不利于流水線的循環(huán)結(jié)構(gòu) for (int i = 0 ; i if (condit
    的頭像 發(fā)表于 11-29 17:32 ?747次閱讀

    如何幫助提高CPU分支跳轉(zhuǎn)的正確率

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

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

    據(jù)了解,Pathfinder技術(shù)利用了現(xiàn)代CPU分支預(yù)測機(jī)制,通過操控分支預(yù)測器的關(guān)鍵部分,實(shí)現(xiàn)對(duì)程序控制流歷史記錄的重構(gòu),并發(fā)動(dòng)高精度的
    的頭像 發(fā)表于 05-11 14:46 ?705次閱讀