chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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ùn)算效率卻更高呢?

strongerHuang ? 來源:嵌入式專欄 ? 作者:strongerHuang ? 2022-06-24 09:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

比如:51單片機(jī)30M主頻,STM32單片機(jī)20M主頻,執(zhí)行相同一段代碼,主頻更低的STM32所花的時(shí)間卻更短。

這里就牽涉到CPU流水線的問題,本文圍繞CPU流水線描述相關(guān)內(nèi)容。

早期CPU流水線

1.流水線來源

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

1.沖壓:制作車身外殼和底盤等部件; 2.焊接:將沖壓成形后的各部件焊接成車身; 3.涂裝:將車身等主要部件清洗、化學(xué)處理、打磨、噴漆和烘干; 4.總裝:將各部件(包括發(fā)動(dòng)機(jī)和向外采購(gòu)的零部件)組裝成車;

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

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

2.CPU流水線

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

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

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

第三級(jí)為轉(zhuǎn)址階段,用來將內(nèi)存地址和偏移進(jìn)行轉(zhuǎn)換;

第四級(jí)為執(zhí)行階段,指令在該階段真正執(zhí)行運(yùn)算;

第五級(jí)為退出階段,運(yùn)算的結(jié)果被寫回寄存器或者內(nèi)存。

由于處理器同時(shí)運(yùn)行了多條指令,大大提升了程序運(yùn)行的性能。

CPU流水線技術(shù)

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

指令的每步有各自獨(dú)立的電路來處理,每完成一步,就進(jìn)到下一步,而前一步則處理后續(xù)指令。

877c6e6e-f356-11ec-ba43-dac502259ad0.jpg

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

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

流水線與代碼執(zhí)行效果

為什么說同主頻的51單片機(jī)相比STM32執(zhí)行效率低呢?

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

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

878eac3c-f356-11ec-ba43-dac502259ad0.png

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

879c9716-f356-11ec-ba43-dac502259ad0.jpg

多級(jí)流水線優(yōu)缺點(diǎn)

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

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

1.優(yōu)點(diǎn)

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

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

2.缺點(diǎn)

流水線處理器設(shè)計(jì)復(fù)雜度更高、生產(chǎn)成本更高;

流水線的處理器必須在數(shù)據(jù)路徑中添加額外觸發(fā)器。

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

審核編輯 :李倩

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

    關(guān)注

    68

    文章

    11218

    瀏覽量

    222970
  • 流水線
    +關(guān)注

    關(guān)注

    0

    文章

    127

    瀏覽量

    27120
  • 焊接
    +關(guān)注

    關(guān)注

    38

    文章

    3509

    瀏覽量

    62760

原文標(biāo)題:ARM流水線如何提高代碼執(zhí)行效率

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    那么龍芯CPU性能如何?

    龍芯系列CPU的最新動(dòng)態(tài) 以下是龍芯系列CPU的最新動(dòng)態(tài)(截至2025年10月): 龍芯CPU的性能如何? 以下是龍芯CPU性能的詳細(xì)分析,結(jié)合最新產(chǎn)品與技術(shù)動(dòng)態(tài): 一、桌面處理器性能
    的頭像 發(fā)表于 12-03 13:42 ?104次閱讀

    時(shí)鐘周期和指令周期的區(qū)別是什么

    時(shí)鐘周期: 是硬件的時(shí)間單位,由主頻直接決定。類似于音樂的節(jié)拍器,所有操作按此節(jié)奏同步。例如,72MHz 的 CPU 每秒完成 7200 萬次時(shí)鐘周期。 指令周期: 指令周期是軟件視角的耗時(shí)
    發(fā)表于 11-21 07:01

    為什么FPU在MCU中很重要

    的執(zhí)行時(shí)間(較少受軟件庫(kù)實(shí)現(xiàn)和中斷影響),這對(duì)實(shí)時(shí)控制系統(tǒng)很重要。 簡(jiǎn)化開發(fā): 開發(fā)者可以直接在代碼中使用 float 和 double 類型進(jìn)行數(shù)**算,編譯器會(huì)自動(dòng)生成 FPU 指令,無需調(diào)用復(fù)雜的軟件庫(kù)或手寫優(yōu)化匯編。開發(fā)效率更高
    發(fā)表于 11-18 07:05

    邁威選擇性波峰焊:更高效率+更優(yōu)品質(zhì)+更低成本

    自動(dòng)化焊錫機(jī)
    邁威機(jī)器人
    發(fā)布于 :2025年11月12日 11:50:50

    通過優(yōu)化代碼來提高M(jìn)CU運(yùn)行效率

    存中的地址按照其類型自然對(duì)齊,非對(duì)齊訪問在某些架構(gòu)上非常慢甚至?xí)?dǎo)致異常。 函數(shù)設(shè)計(jì) 減少函數(shù)調(diào)用深度。 參數(shù)盡量少,通常4個(gè)以內(nèi)可以通過寄存器傳遞,效率更高。
    發(fā)表于 11-12 08:21

    優(yōu)化boot4的乘法運(yùn)算周期

    優(yōu)化電路設(shè)計(jì):在電路設(shè)計(jì)中,優(yōu)化關(guān)鍵路徑和信號(hào)傳輸路線,使用更高速的邏輯單元和存儲(chǔ)器元件來降低延遲,從而縮短乘法器的運(yùn)算周期。 利用流水線技術(shù):使用流水線技術(shù)將乘法操作分成多個(gè)階段,使每個(gè)階段的操作
    發(fā)表于 10-21 13:17

    如何將更高的輸入電壓轉(zhuǎn)換為更低的輸出電壓

    在低電壓情形中,通常使用無變壓器的開關(guān)模式電源。但在某些應(yīng)用中,也可改為使用高壓降壓控制器等新型器件。高壓降壓控制器能夠?qū)崿F(xiàn)簡(jiǎn)潔的設(shè)計(jì),從而避免了使用變壓器所帶來的成本和難度。而且,高壓降壓控制器具備高功率轉(zhuǎn)換效率,支持高輸出電壓,并可用于從正電源生成高負(fù)電壓。
    的頭像 發(fā)表于 09-30 17:11 ?6328次閱讀
    如何將<b class='flag-5'>更高</b>的輸入電壓轉(zhuǎn)換為<b class='flag-5'>更低</b>的輸出電壓

    CPU里真的有黃金:看完秒懂

    在大家的印象中,黃金是珠寶、投資品和工業(yè)原料,很少有人知道,我們每天使用的電腦CPU里竟然也隱藏著這種貴金屬。那為什么芯片會(huì)用到黃金,一顆CPU中能有多少純金?不依靠專業(yè)設(shè)備能提取
    的頭像 發(fā)表于 08-30 15:41 ?1791次閱讀

    堅(jiān)持繼續(xù)布局32位MCU,進(jìn)一步完善產(chǎn)品陣容,96Mhz主頻CW32L012新品發(fā)布!

    CW32L012基于ARM? Cortex-M0+內(nèi)核,主頻高達(dá)96MHz,同時(shí)集成了CORDIC硬件單元、擴(kuò)展算術(shù)運(yùn)算單元(EAU),可以提供部分?jǐn)?shù)學(xué)函數(shù)、算術(shù)運(yùn)算的硬件加速,特別適用于電機(jī)控制、電源、計(jì)量、信號(hào)處理等應(yīng)用。
    的頭像 發(fā)表于 07-16 16:34 ?1025次閱讀
    堅(jiān)持繼續(xù)布局32位MCU,進(jìn)一步完善產(chǎn)品陣容,96Mhz<b class='flag-5'>主頻</b>CW32L012新品發(fā)布!

    單核CPU網(wǎng)關(guān)和雙核CPU網(wǎng)關(guān)有什么區(qū)別

    單核CPU網(wǎng)關(guān)與雙核CPU網(wǎng)關(guān)的核心區(qū)別在于處理能力、多任務(wù)效率、性能表現(xiàn)及適用場(chǎng)景,雙核CPU網(wǎng)關(guān)在多任務(wù)處理、復(fù)雜計(jì)算和響應(yīng)速度上具有顯著優(yōu)勢(shì),而單核
    的頭像 發(fā)表于 07-05 14:37 ?740次閱讀

    STM32多通道FFT運(yùn)算異常的原因?怎么解決?

    通道左右出現(xiàn)卡死; 懷疑為處理能力或內(nèi)存瓶頸導(dǎo)致。 五、請(qǐng)求支持 是否為MCU處理能力不足導(dǎo)致的預(yù)期行為? 若為資源瓶頸,是否建議使用更高主頻 / 更大RAM的芯片(如F7/H7)? 在
    發(fā)表于 06-19 06:27

    國(guó)產(chǎn)電腦CPU性能排行榜TOP7:CPU緩存/主頻/多核實(shí)測(cè)數(shù)據(jù)分析

    在科技飛速發(fā)展的今天,電腦CPU(中央處理器)無疑是計(jì)算機(jī)性能的核心部件。而長(zhǎng)久以來,國(guó)際品牌在這一領(lǐng)域占據(jù)著主導(dǎo)地位,給人一種國(guó)產(chǎn)CPU性能不行的刻板印象。然而,隨著技術(shù)的不斷進(jìn)步和研發(fā)投入的加大,國(guó)產(chǎn)電腦CPU性能已經(jīng)取得了
    的頭像 發(fā)表于 04-29 10:38 ?2382次閱讀
    國(guó)產(chǎn)電腦<b class='flag-5'>CPU</b>性能排行榜TOP7:<b class='flag-5'>CPU</b>緩存/<b class='flag-5'>主頻</b>/多核實(shí)測(cè)數(shù)據(jù)分析

    主頻和晶振頻率的關(guān)系

    主頻和晶振頻率共同影響設(shè)備的性能和穩(wěn)定性。今天凱擎小妹聊一下主頻,晶振頻率,以及兩者之間的關(guān)系。
    的頭像 發(fā)表于 03-11 17:48 ?1207次閱讀

    請(qǐng)問VisonFive2開發(fā)板如何將主頻設(shè)置為1GHz?

    查閱相關(guān)資料只說明最大支持1.5GHz主頻,新手入門請(qǐng)問如何將開發(fā)板主頻設(shè)置為我想要的1GHz 該類開發(fā)板可以設(shè)置主頻嗎,請(qǐng)大佬解答
    發(fā)表于 03-10 06:16

    請(qǐng)問有沒有跟ADS5404匹配的運(yùn)算放大器型號(hào)推薦?

    想使用ADS5404(ADS5402)自制一塊板卡,前端的2路采集信號(hào)輸入功率較小,想通過運(yùn)算放大,請(qǐng)問有沒有跟ADS5404匹配的運(yùn)算放大器型號(hào)推薦?
    發(fā)表于 12-11 07:18