在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

CPU流水線的問題

FPGA之家 ? 來源:strongerHuang ? 作者:strongerHuang ? 2022-09-22 10:04 ? 次閱讀

為什么有些CPU的主頻更低,但運算效率卻更高呢?

比如:51單片機30M主頻,STM32單片機20M主頻,執行相同一段代碼可能主頻更低的STM32所花的時間更短。

這里就牽涉到CPU流水線的問題,本文圍繞CPU流水線描述相關內容。

一、早期CPU流水線

1.流水線來源

流水線的概念來源于工業制造領域,以汽車裝配為例來解釋流水線的工作方式,假設裝配一輛汽車需要四個步驟:

1.沖壓:制作車身外殼和底盤等部件;

2.焊接:將沖壓成形后的各部件焊接成車身;

3.涂裝:將車身等主要部件清洗、化學處理、打磨、噴漆和烘干;

4.總裝:將各部件(包括發動機和向外采購的零部件)組裝成車;

汽車裝配需要沖壓、焊接、涂裝和總裝四個工人,最簡單的方法是一輛汽車依次經過上述四個步驟裝配完成之后,下一輛汽車才開始進行裝配,最早期的工業制造就是采用的這種原始的方式,即同一時刻只有一輛汽車在裝配。

不久之后人們發現,某個時段中一輛汽車在進行裝配時,其它三個工人都處于閑置狀態,顯然這是對資源的極大浪費,于是思考出能有效利用資源的新方法,即在第一輛汽車經過沖壓進入焊接工序的時候,立刻開始進行第二輛汽車的沖壓,而不是等到第一輛汽車經過全部四個工序后才開始,這樣在后續生產中就能夠保證四個工人一直處于運行狀態,不會造成人員的閑置。這樣的生產方式就好似流水川流不息,因此被稱為流水線。

2.CPU流水線

1989 年推出的 i486 處理器引入了五級流水線。這時,在 CPU 中不再僅運行一條指令,每一級流水線在同一時刻都運行著不同的指令。這個設計使得 i486 比同頻率的 386 處理器性能提升了不止一倍。

五級流水線中的取指階段將指令從指令緩存中取出(i486 中的指令緩存為 8KB);

第二級為譯碼階段,將取出的指令翻譯為具體的功能操作;

第三級為轉址階段,用來將內存地址和偏移進行轉換;

第四級為執行階段,指令在該階段真正執行運算;

第五級為退出階段,運算的結果被寫回寄存器或者內存。

由于處理器同時運行了多條指令,大大提升了程序運行的性能。

二、CPU流水線技術

CPU流水線技術是一種將指令分解為多步,并讓不同指令的各步操作重疊,從而實現幾條指令并行處理,以加速程序運行過程的技術。

指令的每步有各自獨立的電路來處理,每完成一步,就進到下一步,而前一步則處理后續指令。

a518bba0-3a17-11ed-9e49-dac502259ad0.jpg

采用流水線技術后,并沒有加速單條指令的執行,每條指令的操作步驟一個也不能少,只是多條指令的不同操作步驟同時執行,因而從總體上看加快了指令流速度,縮短了程序執行時間。

流水線技術是通過增加計算機硬件來實現的。它要求各功能段能互相獨立地工作,這就要增加硬件,相應地也加大了控制的復雜性。如果沒有互相獨立的操作部件,很可能會發生各種沖突。例如要能預取指令,就需增加指令的硬件電路,并把取來的指令存放到指令隊列緩沖器中,使微處理器能同時進行取指令和分析、執行指令的操作。

---來自百度百科

三、流水線與代碼執行效果

為什么說同主頻的51單片機相比STM32執行效率低呢?

除了大家認為的8位和32位寬度區別之外,還有一個就是51單片機不支持流水線(也可以理解為單流水線),而STM32支持流水線。

Cortex‐M3處理器使用一個 3 級流水線。流水線的 3 級分別是:取指、解碼和執行, 如圖:

a53c6ba4-3a17-11ed-9e49-dac502259ad0.png

通過下面一張圖來對比單流水線和多級流水線,你就更能明白為什么51單片機執行效率低了。

a55d21dc-3a17-11ed-9e49-dac502259ad0.jpg

四、多級流水線優缺點

并非在所有情況下流水線技術都起作用。可能有一些缺點。如果一條指令流水線能夠在每一個時脈周期接納一條新的指令,被稱為完整流水線(fully pipelined)。因流水線中的指令需要延遲處理而要等待數個時脈周期,被稱為非完整流水線。

當一名程序員(或者組合者/編譯者)編寫組合代碼(或者匯編碼)時,他們會假定每個指令是循序運行的。而這個假設會使流水線無效。當此現象發生后程序會表現的不正常,而此現象就是危害。不過當前有提供幾種技術來解決這些危害像是轉發與延遲等。

1.優點

減少了處理器執行指令所需要的時脈周期,在通常情況下增加了指令的輸入頻率(issue-rate)。

一些集成電路,例如加法器或者乘法器,通過添加更多的環路使其工作得更快,如果以流水線替代,能相對地減少環路。

2.缺點

流水線處理器設計復雜度更高、生產成本更高;

流水線的處理器必須在數據路徑中添加額外觸發器。

非流水線處理器有固定指令位寬,流水線處理器的性能更難以預測,并且不同的程序之間的變化可能更大。

審核編輯 :李倩

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

    關注

    68

    文章

    10863

    瀏覽量

    211767
  • 流水線
    +關注

    關注

    0

    文章

    120

    瀏覽量

    25738
  • 工業制造
    +關注

    關注

    0

    文章

    404

    瀏覽量

    28062

原文標題:為什么CPU流水線會提高代碼執行效率?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    工業讀碼器解決方案在自動化流水線上掃描條碼的應用

    工業讀碼器解決方案在自動化流水線上的應用主要包括以下幾個方面:1、提高生產效率和準確性工業讀碼器嵌入在工業流水線中,無需人工掃描,大大提高了效率,節約了人力成本。讀碼效果穩定,準確率非常高,可以通過
    的頭像 發表于 11-20 16:28 ?203次閱讀
    工業讀碼器解決方案在自動化<b class='flag-5'>流水線</b>上掃描條碼的應用

    SMT流水線布局優化技巧

    在電子制造領域,SMT(表面貼裝技術)流水線的布局優化對于提高生產效率、降低成本和提升產品質量至關重要。一個合理的流水線布局可以減少物料搬運時間,提高設備利用率,減少人為錯誤,并且提高整體的生產
    的頭像 發表于 11-14 09:11 ?352次閱讀

    工業流水線的智能助手——智能計數,效率倍增

    在工業流水線中,每一個產品的計數都至關重要。迪卡爾ITMC-DSeries-x02系列物聯網測控終端,您的智能生產伙伴。
    的頭像 發表于 11-06 17:11 ?287次閱讀
    工業<b class='flag-5'>流水線</b>的智能助手——智能計數,效率倍增

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構分析」閱讀體驗】--了解算力芯片CPU

    本篇結合第1-5章,梳理了解學習CPU流水線、緩存硬件結構、計算單元、邏輯拓撲結構等知識點。 █本書開篇將了TOP500超級計算機。TOP500使用HPL基準測試來評估超級計算機的性能,這個基準測試
    發表于 10-20 12:03

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構分析」閱讀體驗】--全書概覽

    1章 從TOP500和MLPerf看算力芯片格局 1.1科學算力最前沿TOP500 1.2 AI算力新標準 第2章 高性能 CPU 流水線概覽 2.1什么是指令 2.2 流水線與MIPS 2.3
    發表于 10-15 22:08

    行云流水線 滿足你對工作流編排的一切幻想~skr

    流水線模型 眾所周知,DevOps流水線(DevOps pipeline)的本質是實現自動化工作流程,用于支持軟件開發、測試和部署的連續集成、交付和部署(CI/CD)實踐。它是DevOps方法論
    的頭像 發表于 08-05 13:42 ?280次閱讀

    ADS900高速流水線模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS900高速流水線模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-30 14:11 ?0次下載
    ADS900高速<b class='flag-5'>流水線</b>模數轉換器(ADC)數據表

    ADS930高速流水線模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS930高速流水線模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-30 14:10 ?0次下載
    ADS930高速<b class='flag-5'>流水線</b>模數轉換器(ADC)數據表

    ADS5421流水線式模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS5421流水線式模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-30 11:16 ?0次下載
    ADS5421<b class='flag-5'>流水線</b>式模數轉換器(ADC)數據表

    ADS5413 CMOS流水線模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS5413 CMOS流水線模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-29 13:21 ?0次下載
    ADS5413 CMOS<b class='flag-5'>流水線</b>模數轉換器(ADC)數據表

    ADS828流水線式CMOS模數轉換器數據表

    電子發燒友網站提供《ADS828流水線式CMOS模數轉換器數據表.pdf》資料免費下載
    發表于 07-23 09:17 ?0次下載
    ADS828<b class='flag-5'>流水線</b>式CMOS模數轉換器數據表

    固定式的掃碼器在SMT流水線中的使用

    新大陸固定式掃碼器作為一種高效的條碼掃描設備,廣泛應用于各個行業中,尤其是在SMT(表面貼裝技術)流水線中有重要的作用。以下是新大陸固定式掃碼器在SMT流水線中的具體使用情況。提高生產效率和質量
    的頭像 發表于 07-03 10:18 ?514次閱讀
    固定式的掃碼器在SMT<b class='flag-5'>流水線</b>中的使用

    RISC-V架構的多級流水線處理

    有的單核RISC-V MCU支持四級流水線,有的只支持三級流水線,是不是級數越多,帶來的開銷越大,功耗也越高呢?
    發表于 05-20 16:01

    具有3態輸出的多級流水線寄存器數據表

    電子發燒友網站提供《具有3態輸出的多級流水線寄存器數據表.pdf》資料免費下載
    發表于 05-16 09:39 ?0次下載
    具有3態輸出的多級<b class='flag-5'>流水線</b>寄存器數據表

    牽引機和挖掘機裝配流水線自動互鎖防呆系統無線通訊應用

    在挖掘機裝配工序中,液壓系統檢測、調試是其生產工藝中的重要環節。液壓檢測過程中需要操作鏟斗、斗桿、動臂動作,這一過程中流水線挖掘機因帶動偏移易發生安全事故及機械損傷故障等情況,需要采用牽引機鏈條牽引
    的頭像 發表于 02-26 08:52 ?369次閱讀
    牽引機和挖掘機裝配<b class='flag-5'>流水線</b>自動互鎖防呆系統無線通訊應用
    主站蜘蛛池模板: 五月天婷婷在线观看高清| 狠狠色综合网站久久久久久久| 成人亚洲电影| 天天干天天舔| 亚洲一二| 婷婷九月| 日韩一级在线视频| 5151四虎永久在线精品免费| 免费视频在线观看1| 天堂社区在线观看| 华人永久免费视频| 国产在线观看福利| 亚洲五月婷| 河南毛片| 51vv福利视频在线精品| 亚洲29p| 成人免费观看一区二区| 欧美人与zoxxxx另类9| 久久澡| 玖玖精品国产| 久久久久女人精品毛片| 一级aaa毛片| 天天碰人人| 六月婷婷综合| 特级a毛片| 久久精品免费观看视频| 国产精品bdsm在线调教| 色综合久久天天综合绕观看| china3p单男精品自拍| 久久是精品| 亚色成人| 在线观看高清视频| 免费精品99久久国产综合精品 | 香蕉视频国产在线观看| 国产午夜精品一区二区三区| 亚洲经典乱码在线播| ass嫩美女胴体| 男人视频网| 免费人成激情视频在线观看冫| 天天做天天操| 亚洲一区二区视频|