當(dāng)前位置:首頁 > 公眾號(hào)精選 > strongerHuang
[導(dǎo)讀]關(guān)注、星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容 素材來源:網(wǎng)絡(luò) 編輯整理:strongerHuang 為什么有些CPU的主頻更低,但運(yùn)算效率卻更高呢? 比如:51單片機(jī)30M主頻,STM32單片機(jī)20M主頻,執(zhí)行相同一段代碼可能主頻更低的STM32所花的時(shí)間更短。 這里就牽涉到CPU流水線的問題


關(guān)注、星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容

素材來源:網(wǎng)絡(luò)
編輯整理:strongerHuang


為什么有些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è)工人,最簡單的方法是一輛汽車依次經(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ù)指令。


采用流水線技術(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í)行, 如圖:


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


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

并非在所有情況下流水線技術(shù)都起作用??赡苡幸恍┤秉c(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ù)測,并且不同的程序之間的變化可能更大。


免責(zé)聲明:本文素材來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請(qǐng)與我聯(lián)系刪除。

????????????????  END   ????????????????
推薦閱讀:
精選匯總 | 目錄 | 搜索
EDA軟件兼容性哪家強(qiáng)?
國內(nèi)良心Linux桌面系統(tǒng),全新深度V20來了

關(guān) 微信公眾號(hào)『strongerHuang』,后臺(tái)回復(fù)“1024”查看更多內(nèi)容,回復(fù)“微信”添加我微信。


長按前往圖中包含的公眾號(hào)關(guān)注


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉