智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

CPU的分支預測器是如何工作的?(配圖解)

來源:網絡

點擊:2201

A+ A-

所屬頻道:新聞中心

關鍵詞:CPU,微結構,緩存

      在CPU中的分支預測器是具體在哪個位置?形態大概是怎樣的?它是怎么起到作用的?如果預測失敗它又是怎樣繞過已經失敗的預測從而增加重新預測的成功率的?小編綜合收集的資料一一回答這些問題。

      1.位置:分支預測器位于整個CPU核心流水線的差不多最前端部分,也就是靠近一級指令緩存的位置。從指令緩存里面讀取指令時,需要由分支預測器來判斷從哪里讀取。

      2.形態:分支預測器主要由兩個大塊組成(教科書上有可能不是這樣分),其中一塊是歷史記錄表,記錄以往執行過的分支指令的偏向情況,幫助未來的預測,本質上也是一塊高速緩存。另一塊是預測器的邏輯部分,這一部分用來維護記錄表,依據記錄表里面的記錄情況預測將來的分支走向。

      3.預測方法舉例。比如說有一條分支指令,執行了十幾次都是跳轉,那么預測器就會判斷,將來碰到這條指令時,它仍舊會跳轉。當這條指令的預測結果連續兩次出錯的時候,預測器就會調整自己的預測結果,改為判斷它不跳轉。這一預測方法是現今仍在沿用的2-bit計數器陣列,源于前CDC公司的JamesSmith(現為WISC-Madison的榮譽教授)在上世紀80年代初左右的發明,實測結果表明它的預測準確率基本上能到80%甚至90%上下。

      4.后記:到了九十年代初期,這個圈子里一個叫做YalePatt的大牌教授引領了幾乎十年的分支預測研究浪潮,他們做的預測器比JamesSmith的先進很多,被稱為自適應預測,可以捕捉住更多的分支歷史模式。(在Patt手下做預測的那個博士生Tse-YuYeh后來參加一個學術會議,Intel的人看到了他們做的東西,直接把人給挖走了,那個預測器用在了P6微結構里面,后來Tse-YuYeh離開Intel到了PASemi,現在好像是在Apple的CPU設計團隊。)

      后來又有很多人加入進來做分支預測的研究,做出了關聯性分支預測、返回棧預測等等非常棒的預測器,現在的分支預測器結構通常是競標賽式的復合分支預測器,比如當關聯性分支預測器的近期準確率比較高時,優先采用它,如果有其他預測器的近期準確率更高,就放棄它。后來的研究越來越精細,針對分支預測做了很多很多的調優,比如說如何在有限的空間里面盡可能減少大量分支指令對歷史記錄表的爭搶、嘗試對分支指令進行分類,每一類使用專門的預測器進行預測等等,現在的分支預測器非常強大,面對各種各樣的程序,預測準確率都能非常堅挺地保持在95%以上。

      微結構上的推測執行技術有很多種,分支預測引領的控制流相關的推測執行可能是其中最成功的一種。

      附:分支預測圖解,從簡單到最復雜的:

      1.

    CPU的分支預測器是如何工作的?(配圖解)

      這個是最簡單的分支預測,根據當前指令的地址,放進PHT中,根據右邊的這張狀態機,來確定是跳轉還是不跳轉。優勢:簡單,具有相當的準確性。

      2.

    CPU的分支預測器是如何工作的?(配圖解)

      兩級預測

      這個預測機構比較復雜,擁有兩級分支,相比之前的方法,加入了BHT,可以根據指令地址,記錄一部分歷史記錄,然后再放進PHT中,決定跳轉還是不跳轉。優點在于可以記錄下某一些跳轉的關系,加強聯系。

      3.

    CPU的分支預測器是如何工作的?(配圖解)

      混合預測,集合了上面兩個的優點,加上自己設定的選擇器。

      可以方便的看到,基本上所有的預測機制都是通過以往的歷史記錄來加強或者削弱跳轉關系。第一種方法很直接,用一個狀態機來描述了整個機制。第二個方法甚至在第一個的基礎上記錄了N多個跳轉的記錄。

      判斷出是否跳轉之后,CPU需要知道跳轉到哪里,因為不是每次跳轉的位置都是一樣的。所以在預測的基礎上又加上了BTB整個東西,這個東西記錄了之前跳轉的地址,因此CPU可以不計算跳轉的地址,直接預先load指令,如果出錯的話,將會刷新BTB,并且flush所有指令,重新load。

      BTB的結構如下:

    CPU的分支預測器是如何工作的?(配圖解)

      BTB的工作方式如下:

    CPU的分支預測器是如何工作的?(配圖解)

      那么如果將這些所有的東西結合到CPU的流水線上,將會變成如下的流程:

    CPU的分支預測器是如何工作的?(配圖解)

     

    (審核編輯: Doris)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 河南反渗透设备,河南纯净水设备,河南软化水设备,郑州EDI超纯水设备,郑州水处理设备厂家_河南江宇环保科技有限公司 | 小程序开发,网站建设,APP开发,商城系统开发,社区团购系统开发,区块链溯源,互联网资质办理-软多信息技术有限公司_河南软多信息技术有限公司 | 阻抗分析仪 阻抗测试仪 介电常数测试仪 充电枪测试仪-苏州腾斯凯电子科技有限公司 | 上海物业管理_写字楼物业管理_厂房物业管理_上海企福物业管理有限公司 | 华药药业集团|华药修医师|修医师浸膏|河南华药药业有限公司 | 济南晨阳科技有限公司-锅巴生产设备-夹心米果设备-膨化食品机械 集装箱零配件_不锈钢丝绳厂家_镀锌铁链条_合页非标件定制_上海英鑫多实业有限公司 | 托盘缠绕机|全自动缠绕机|悬臂缠绕机-上海晏陵智能设备有限公司 托辊|滚筒|聚氨酯托辊|缓冲托辊|尼龙托琨|衡水良龙输送机械有限公司 | 移动CRM软件_SaaS CRM_crm管理软件系统_crm客户关系管理系统_销售管理软件-上海企能软件科技有限公司 | 消防水电施工,消防水电安装,消防水电施工公司,消防水电改造-亿杰北京消防工程公司 | 中科盛世酒窖 - 酒窖设计_酒窖工程_酒窖空调设备_恒温酒柜定制_私人别墅家庭酒窖_不锈钢红酒柜_实木雪茄柜 | 思为网络_成都百度优化快照排名-成都网站建设优化_成都网页设计_成都SEO公司 | 深圳市佳顺优印印刷有限公司,佳顺优印,画册印刷,海报印刷,封套印刷,手提袋印刷,包装盒印刷,彩盒印刷,无碳纸印刷,不干胶印刷,信封印刷,便笺印刷,笔记本印刷,台历印刷,挂历印刷,国际会展中心附近印刷厂,宝安印刷厂,宝安教材印刷厂 | 深圳社区邦家政公司-保姆_月嫂_育儿嫂 _早教育婴师_家政钟点工_家政培训_家政加盟- 社区邦优质生活服务 专业、标准化、便捷、安心,一站式家庭服务平台,服务专业有保障 ! | 兰舍硅藻泥 -- 深圳硅藻泥|深圳兰舍硅藻泥|深圳硅藻泥品牌|深圳硅藻泥价格|深圳硅藻泥厂家|深圳硅藻泥施工| | 行星式球磨机-实验室球磨仪[东方天净]小型高能研磨筛分仪直销厂家 | 压力蒸汽灭菌器_脉动真空灭菌器_环氧乙烷灭菌器_等离子灭菌器_广州市科洋 | 石膏砂浆生产线_特种砂浆生产线_轻质抹灰石膏设备-青岛环港重工科技有限公司 | 长春试验机-长春凯新试验仪器_试验机研发生产 专注试验机_首页 | 液体粉末包装机_颗粒粉剂自动包装机-上海巧慈自动化设备有限公司 | 石家庄驾校之家_石家庄驾校哪个好_石家庄驾校报名-石家庄万晟网络驾驶资讯 | 溶气气浮机_一体化净水设备_污水处理设备_mbr一体化污水处理设备-明基环保 | 郑州试驾场地_双超专业汽车试驾场地_郑州双超文化传播有限公司官方网站 | 深山工作室提供网络投票系统|微信公众号投票|微信公众号小程序|抖音小程序|百度小程序|微信公众号开发|企业网站建设 | 热门网页游戏平台_页游排行榜_新开网页游戏开服表_599游戏 | 无锡新源润不锈钢官网|304不锈钢平板|316L冷轧宽幅|2米卷分条开平 | 学汽修-汽修培训-郑州万通汽车学校[官网]| 银泰洁净--净化工程总承包,20年精耕细作,专为净化而来_银泰洁净--净化工程总承包,20年精耕细作,专为净化而来 | 湖北高新技术企业认定申报|武汉高企认定代办|武汉项目申报首选 - 湖北创优企科技服务有限公司 | 中国建材信息总网-中国建材行业权威的信息资讯平台 | 上海办公家具_高端实木办公家具_现代智能办公家具定制厂-上海迈亚家具有限公司 | 河南豫冀锅炉容器制造有限公司 | 南京叉车|电瓶叉车|电动叉车|电动堆高车|电动搬运车-南京诺嘉机械 | 机锋网-畅享科技品质生活,尽在机锋网 | 商用车之家——观点有态度 热点不缺席 靠谱的商用车门户网站 | 咪咕体育直播,咪咕直播,CCTV5直播,体育直播,高清直播,腾讯体育直播,篮球直播,足球直播 | 内蒙古国际门窗幕墙展览会 | 山东装卸登车桥_液压装卸升降平台_固定|移动登车桥_山东牛斗重工厂家 | 亿企商贸-亿万企业的商务贸易平台-B2B企业产品发布供求信息平台,一带一路中国企业及产品展示平台,免费企业智能自助建站网络营销推广平台,打造B2B企业黄页产品信息发布推广专业综合电子商务平台! | 河北太尚园林-太尚雕塑厂家_石雕_不锈钢雕塑厂家_铸铜雕塑_雕塑设计定制 | 纸带过滤机,磁性分离器,排屑器-烟台通赫机床辅机有限公司 | 全自动灌装机械设备-迈驰粉末/颗粒/液体/膏体灌装机械设备流水线生产厂家 |