0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

指令流水線的工作原理

我快閉嘴 ? 來源:電子技術(shù)控 ? 作者:電子技術(shù)控 ? 2022-08-31 11:39 ? 次閱讀

要理解指令流水線,先大概回顧一下CPU的內(nèi)部結(jié)構(gòu):

7b14cb64-2860-11ed-ba43-dac502259ad0.png

圖a

7b768160-2860-11ed-ba43-dac502259ad0.png

圖b

由上面兩個圖我們知道,一條指令要被執(zhí)行,需要通過一個電路把指令從存儲器中取出,放進CPU里面,再由CPU里面的另一個電路ALU去執(zhí)行(圖b中的左邊部分)。也就是說,取指令和執(zhí)行指令是由兩部分不同的電路完成的。

7b8b10a8-2860-11ed-ba43-dac502259ad0.png

圖1

上圖是指令一條一條執(zhí)行的過程。

7bcd964e-2860-11ed-ba43-dac502259ad0.png

圖2

圖2表示,當指令執(zhí)行部件的某一部分電路空閑的時候,這個時候就可以采用流水線的方式。圖中的一個方框表示一個時間周期。

7c16b13a-2860-11ed-ba43-dac502259ad0.png

這一部分表示對于第一條指令來說,當進入第二個時間周期,它已經(jīng)處于執(zhí)行階段,ALU電路部分在工作,但是用于取指令的那部分電路空閑了,所以這部分取指令電路可以用于取出第二條指令,這就是指令流水線的基本原理。

圖3

這個和我們工廠的流水線是一樣的道理,流水線上不同的工人代表不同的電路部分。

7d00623a-2860-11ed-ba43-dac502259ad0.png

上圖是一條指令需要六個不同的電路進行配合。

7d487e08-2860-11ed-ba43-dac502259ad0.png

當采用流水線以后,會出現(xiàn)一些問題,比如,在寫后讀相關(guān)問題中,第二條指令開始工作的時候,R1的內(nèi)容必須已經(jīng)確定,否則就會出錯。對于這樣的問題,就要有相應(yīng)的解決辦法。

由流水線產(chǎn)生了一些相應(yīng)的技術(shù):

7da5f920-2860-11ed-ba43-dac502259ad0.png

7de7489e-2860-11ed-ba43-dac502259ad0.png

上圖中的一個方格代表一個時鐘周期,在同一個時鐘周期里面,可以有4條或者3條指令同時并發(fā)執(zhí)行。注意,是并發(fā),而不是并行,意味著CPU還是一個,只不過是利用不同的時間片。

7e388880-2860-11ed-ba43-dac502259ad0.png

7e6c0728-2860-11ed-ba43-dac502259ad0.png

上圖中的一個時鐘周期被多條指令分開,也就是說,執(zhí)行指令的某一個動作的某個電路部分,不必等這個時鐘周期結(jié)束,在同一個時鐘周期內(nèi),就可以執(zhí)行另外一條指令。比如,假定圖3中的每個工人完成一個動作(檢查一個零件或者打一個螺絲)規(guī)定為1分鐘(時鐘周期),但在超流水線技術(shù)里面,這個工人10秒鐘就檢查完了一個零件,剩下的50秒就可以檢查另外的零件。

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

    關(guān)注

    0

    文章

    120

    瀏覽量

    25745
  • 指令
    +關(guān)注

    關(guān)注

    1

    文章

    607

    瀏覽量

    35716
  • cpu芯片
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    13614

原文標題:指令流水線工作原理的簡單理解

文章出處:【微信號:電子技術(shù)控,微信公眾號:電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    流水線指令及RISC

    本帖最后由 eehome 于 2013-1-5 09:44 編輯 流水線指令及RISC
    發(fā)表于 08-17 15:49

    流水線ADC的內(nèi)部結(jié)構(gòu)和工作原理是什么

    本文介紹了流水線ADC的內(nèi)部結(jié)構(gòu)和工作原理
    發(fā)表于 04-22 06:56

    ARM流水線有什么作用

    看到匯編中很多關(guān)于程序返回與中斷返回時處理地址都很特別,仔細想想原來是流水線作用的效果。所以,決定總結(jié)學(xué)習(xí)下ARM流水線。ARM7處理器采用3級流水線來增加處理器指令流的速度,能提供0
    發(fā)表于 07-16 06:53

    科普下CPU流水線工作原理

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

    現(xiàn)代RISC中的流水線技術(shù)

    流水線技術(shù)是提高系統(tǒng)吞吐率的一項強大的實現(xiàn)技術(shù),并且不需要大量重復(fù)設(shè)置硬件。20世界60年代早期的一些高端機器中第一次采用了流水線技術(shù)。第一個采用指令流水線的機器是IBM7030(又稱
    發(fā)表于 03-01 17:52

    周期精確的流水線仿真模型

    使用軟件仿真硬件流水線是很耗時又復(fù)雜的工作,仿真過程中由于流水線的沖突而導(dǎo)致運行速度緩慢。本文通過對嵌入式處理器的流水線, 指令集, 設(shè)備控
    發(fā)表于 12-31 11:30 ?9次下載

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

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

    YHFT-DX高性能DSP指令控制流水線設(shè)計與優(yōu)化

    摘要:YHFT-DX是國防科技大學(xué)設(shè)計的一款高性能定點DSP。論文設(shè)計并實現(xiàn)了YHFT-DX指令控制流水線,提出了在YHFT-DX超長指令字結(jié)構(gòu)中跨取指包邊界派發(fā)和指令預(yù)取的方法,有效
    發(fā)表于 02-28 15:22 ?36次下載

    電鍍流水線的PLC控制

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

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

    流水線工作方式就象工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理流水線,然后將一條X86
    的頭像 發(fā)表于 11-29 07:06 ?2593次閱讀

    FPGA之為什么要進行流水線的設(shè)計

    流水線又稱為裝配線,一種工業(yè)上的生產(chǎn)方式,指每一個生產(chǎn)單位只專注處理某一個片段的工作。以提高工作效率及產(chǎn)量;按照流水線的輸送方式大體可以分為:皮帶
    的頭像 發(fā)表于 11-28 07:04 ?3612次閱讀

    各種流水線特點及常見流水線設(shè)計方式

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

    嵌入式_流水線

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

    CPU流水線的問題

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

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

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