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ōu)缺點(diǎn)

嵌入式情報(bào)局 ? 來源:嵌入式情報(bào)局 ? 作者:嵌入式情報(bào)局 ? 2022-10-24 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為什么有些CPU的主頻更低,但運(yùn)算效率卻更高呢? 比如:51單片機(jī)30M主頻,STM32單片機(jī)20M主頻,執(zhí)行相同一段代碼可能主頻更低的STM32所花的時(shí)間更短。 這里就牽涉到CPU流水線的問題,本文圍繞CPU流水線描述相關(guān)內(nèi)容。

1、早期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)行的性能。

2、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í)行指令的操作。 ---來自百度百科

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

為什么說同主頻的51單片機(jī)相比STM32執(zhí)行效率低呢? 除了大家認(rèn)為的8位和32位寬度區(qū)別之外,還有一個(gè)就是51單片機(jī)不支持流水線(也可以理解為單流水線),而STM32支持流水線。 Cortex‐M3處理器使用一個(gè) 3 級(jí)流水線。流水線的 3 級(jí)分別是:取指、解碼和執(zhí)行, 如圖: cb8e5142-520d-11ed-a3b6-dac502259ad0.png ? 通過下面一張圖來對(duì)比單流水線和多級(jí)流水線,你就更能明白為什么51單片機(jī)執(zhí)行效率低了。 cba7f1ce-520d-11ed-a3b6-dac502259ad0.jpg

4、多級(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)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    20139

    瀏覽量

    246518
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11213

    瀏覽量

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

    關(guān)注

    0

    文章

    127

    瀏覽量

    27113

原文標(biāo)題:為什么CPU流水線能提高代碼執(zhí)行效率?

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    請(qǐng)教流水線型 AD 的優(yōu)缺點(diǎn)

     請(qǐng)教一下大家 流水線型 AD 的優(yōu)缺點(diǎn),還有應(yīng)用范圍。小弟只用過SAR型的,在選型的時(shí)候看到了 流水線型的這種AD,不知道和SAR型的相比有什么特點(diǎn),有什么不足。~先謝謝大家啦
    發(fā)表于 06-23 10:25

    FPGA中的流水線設(shè)計(jì)

    `流水線設(shè)計(jì)前言:本文從四部分對(duì)流水線設(shè)計(jì)進(jìn)行分析,具體如下:第一部分什么是流水線第二部分什么時(shí)候用流水線設(shè)計(jì)第三部分使用流水線
    發(fā)表于 10-26 14:38

    科普下CPU流水線的工作原理

    現(xiàn)在的CPU處理器一般都是超流水線工作,動(dòng)不動(dòng)就是10級(jí)以上流水線,超高主頻,這兩者之間有什么關(guān)系呢?今天就跟大家科普下CPU流水線的工作原
    發(fā)表于 12-15 06:17

    什么是流水線技術(shù)

    什么是流水線技術(shù) 流水線技術(shù)
    發(fā)表于 02-04 10:21 ?4273次閱讀

    CPU流水線的定義

    cpu流水線技術(shù)是一種將指令分解為多步,并讓不同指令的各步操作重疊,從而實(shí)現(xiàn)幾條指令并行處理,以加速程序運(yùn)行過程的技術(shù)。
    發(fā)表于 12-14 15:29 ?5079次閱讀

    電鍍流水線的PLC控制

    電鍍流水線的PLC控制電鍍流水線的PLC控制電鍍流水線的PLC控制
    發(fā)表于 02-17 17:13 ?36次下載

    自制CPU(三)流水線

    經(jīng)過上兩篇文章的閱讀,大家應(yīng)該清楚自己的CPU大致是如何處理數(shù)據(jù)的,而又是如何執(zhí)行指令的。我們現(xiàn)在來在簡(jiǎn)略的說一下流水線CPU的設(shè)計(jì)。(源碼在CSDN下載頁,請(qǐng)自?。?b class='flag-5'>流水線
    的頭像 發(fā)表于 07-16 09:20 ?6231次閱讀

    Verilog基本功之:流水線設(shè)計(jì)Pipeline Design

    第一部分什么是流水線 第二部分什么時(shí)候用流水線設(shè)計(jì) 第三部分使用流水線優(yōu)缺點(diǎn) 第四部分流水線加法器舉例 一. 什么是
    發(fā)表于 09-25 17:12 ?7667次閱讀

    FPGA之流水線練習(xí)5:設(shè)計(jì)思路

    流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5—6個(gè)不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5—6步后再由這些電路單元分別執(zhí)行,這樣就能實(shí)現(xiàn)在一個(gè)
    的頭像 發(fā)表于 11-29 07:06 ?3082次閱讀

    各種流水線特點(diǎn)及常見流水線設(shè)計(jì)方式

    按照流水線的輸送方式大體可以分為:皮帶流水裝配線、板鏈線、倍速鏈、插件線、網(wǎng)帶線、懸掛線及滾筒流水線這七類流水線。
    的頭像 發(fā)表于 07-05 11:12 ?8831次閱讀
    各種<b class='flag-5'>流水線</b>特點(diǎn)及常見<b class='flag-5'>流水線</b>設(shè)計(jì)方式

    如何選擇合適的LED生產(chǎn)流水線輸送方式

    LED生產(chǎn)流水線輸送形式分為平面直線傳輸流水線、各種角度平面轉(zhuǎn)彎傳輸流水線、斜面上傳流水線、斜面下傳流水線這四種輸送方式,企業(yè)也是可以根據(jù)L
    發(fā)表于 08-06 11:53 ?1331次閱讀

    嵌入式_流水線

    流水線一、定義流水線是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。各種部件同時(shí)處理是針對(duì)不同指令而言的,他們可同時(shí)為多條指令的不同部分進(jìn)行工作。? 把一個(gè)重復(fù)的過程分解為若干個(gè)子過程
    發(fā)表于 10-20 20:51 ?6次下載
    嵌入式_<b class='flag-5'>流水線</b>

    CPU流水線的問題

    1989 年推出的 i486 處理器引入了五級(jí)流水線。這時(shí),在 CPU 中不再僅運(yùn)行一條指令,每一級(jí)流水線在同一時(shí)刻都運(yùn)行著不同的指令。這個(gè)設(shè)計(jì)使得 i486 比同頻率的 386 處理器性能提升了不止一倍。
    的頭像 發(fā)表于 09-22 10:04 ?2791次閱讀

    什么是流水線 Jenkins的流水線詳解

    jenkins 有 2 種流水線分為聲明式流水線與腳本化流水線,腳本化流水線是 jenkins 舊版本使用的流水線腳本,新版本 Jenkin
    發(fā)表于 05-17 16:57 ?1491次閱讀

    RISC-V五級(jí)流水線CPU設(shè)計(jì)

    本文實(shí)現(xiàn)的CPU是一個(gè)五級(jí)流水線的精簡(jiǎn)版CPU(也叫PCPU,即pipeline),包括IF(取指令)、ID(解碼)、EX(執(zhí)行)、MEM(內(nèi)存操作)、WB(回寫)。
    的頭像 發(fā)表于 04-15 09:46 ?1322次閱讀
    RISC-V五級(jí)<b class='flag-5'>流水線</b><b class='flag-5'>CPU</b>設(shè)計(jì)