精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

Q4MP_gh_c472c21 ? 來源:strongerHuang ? 作者:strongerHuang ? 2021-01-21 09:45 ? 次閱讀

為什么有些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流水線技術是一種將指令分解為多步,并讓不同指令的各步操作重疊,從而實現幾條指令并行處理,以加速程序運行過程的技術。

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

0fe530da-57de-11eb-8b86-12bb97331649.jpg

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

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

---來自百度百科

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

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

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

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

1018fd0c-57de-11eb-8b86-12bb97331649.png

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

10548656-57de-11eb-8b86-12bb97331649.jpg

四、多級流水線優缺點

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

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

1.優點

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

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

2.缺點

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

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

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

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

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    6032

    文章

    44522

    瀏覽量

    633167
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10827

    瀏覽量

    211171
  • 代碼
    +關注

    關注

    30

    文章

    4752

    瀏覽量

    68360

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

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CPU主頻是什么意思

    CPU主頻,作為計算機處理器性能的一個重要指標,承載著豐富的技術內涵與實際應用價值。以下是對CPU主頻的詳細解析,包括其定義、用途、技術原理、影響因素以及在多個領域的實際應用。
    的頭像 發表于 09-26 15:50 ?1019次閱讀

    CPU時鐘周期與主頻的關系和區別

    CPU時鐘周期與主頻是計算機體系結構中兩個緊密相連且至關重要的概念,它們之間既存在關系又有所區別。以下將詳細闡述CPU時鐘周期與主頻的關系和區別。
    的頭像 發表于 09-26 15:46 ?1302次閱讀

    雙核cpu和單核cpu的區別

    雙核CPU與單核CPU在多個方面存在顯著差異,這些差異主要體現在處理能力、性能、運行效率、功耗以及適用場景等方面。 一、概念與結構 雙核CPU :指在一個處理器上集成兩個
    的頭像 發表于 09-24 16:17 ?2004次閱讀

    提高高開關頻率下更高負載的效率應用報告

    電子發燒友網站提供《提高高開關頻率下更高負載的效率應用報告.pdf》資料免費下載
    發表于 09-13 09:33 ?0次下載
    提高高開關頻率下<b class='flag-5'>更高</b>負載的<b class='flag-5'>效率</b>應用報告

    CPU主要參數有哪些

    CPU(Central Processing Unit,中央處理器)是計算機系統的核心部件,負責執行程序指令、處理數據和進行邏輯運算CPU的參數繁多,其中一些關鍵參數對于理解和選擇
    的頭像 發表于 09-10 11:51 ?1049次閱讀

    使用TPS25961獲得性能更高、空間更小、成本更低的保護功能

    電子發燒友網站提供《使用TPS25961獲得性能更高、空間更小、成本更低的保護功能.pdf》資料免費下載
    發表于 09-09 09:31 ?0次下載
    使用TPS25961獲得性能<b class='flag-5'>更高</b>、空間更小、成本<b class='flag-5'>更低</b>的保護功能

    有沒有參數和THS4521差不多,功耗更低的高速運放?

    有沒有參數和THS4521差不多,功耗更低的高速運放?
    發表于 09-06 06:07

    cpu運算器和控制器的作用是什么

    CPU運算器和控制器是計算機的核心組成部分,它們共同完成計算機的各種運算和控制任務。下面我們將詳細介紹運算器和控制器的作用。 運算器的作用
    的頭像 發表于 06-30 11:15 ?1842次閱讀

    cpu控制器負責什么運算

    、設計和實現等方面的內容。 CPU控制器的功能 CPU控制器是計算機系統中最重要的組件之一。它的主要功能包括: 1.1 指令執行:CPU控制器負責執行程序中的指令。這些指令包括算術運算
    的頭像 發表于 06-30 11:14 ?792次閱讀

    cpu控制器和運算器組成的部件有哪些

    CPU(中央處理器)是計算機的核心部件,負責執行程序指令和處理數據。CPU主要由控制器和運算器組成,這兩個部件共同完成計算機的運算任務。下面詳細介紹
    的頭像 發表于 06-30 11:01 ?1591次閱讀

    什么是cpu主頻和外頻,它們之間關系如何

    主頻主頻是指CPU內部的時鐘頻率,也被稱為時鐘速度或運行頻率。它決定了CPU的工作速度和處理器能夠完成的每秒操作數量。主頻越高,
    的頭像 發表于 02-03 16:50 ?3843次閱讀

    提高系統效率的幾個誤解解析

    中斷任務特別多的話,這個沒退出來,后面又接踵而至,一會兒系統就將崩潰了。如果任務數量多很頻繁的話,CPU的 很大精力都用在進出中斷的開銷上,系統效率極為低下,如果改用查詢方式反而可極大提高
    發表于 01-15 07:29

    一文了解CPU高速緩存

    CPU的核心功能包括數據運算和指令控制。CPU運算的數據和執行的指令全部存儲在CPU的寄存器中,這些數據和指令又都來自于
    的頭像 發表于 01-02 16:01 ?1506次閱讀
    一文了解<b class='flag-5'>CPU</b>高速緩存

    影響CPU性能的高低的因素是什么

    根據以上公式,可以反向推算出 CPU 的外頻。如 CPU 主頻為 3.2GHz,倍頻為 24 時,外頻為 3200MHz÷24=133MHz。
    發表于 12-08 12:19 ?2039次閱讀

    瑞芯微RK3568J如何“調節主頻”,實現功耗降低?一文教會您!

    ,在overdrive模式下處理器主頻可調節至更高芯片使用壽命會縮短。根據仿真結果,連續工作在1.8GHz@1.05V和105°C時,RK3568J芯片使用壽命會降至3年以下。 如需運行在高
    發表于 12-01 09:48