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

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

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

3天內不再提示

處理器功能單元組成與CPU的流水線的詳細解析

GReq_mcu168 ? 2017-12-23 10:48 ? 次閱讀

1989年推出的i486處理器引入了五級流水線。這時,在CPU中不再僅運行一條指令,每一級流水線在同一時刻都運行著不同的指令。這個設計使得i486比同頻率的386處理器性能提升了不止一倍。五級流水線中的取指階段將指令從指令緩存中取出(i486中的指令緩存為8KB);第二級為譯碼階段,將取出的指令翻譯為具體的功能操作;第三級為轉址階段,用來將內存地址和偏移進行轉換;第四級為執行階段,指令在該階段真正執行運算;第五級為退出階段,運算的結果被寫回寄存器或者內存。由于處理器同時運行了多條指令,大大提升了程序運行的性能。

處理器一般由如下功能單元組成:

取指單元

譯碼單元

執行單元

Load/store單元(load用于從內存中取數據,而STORE用于存數據到內存)

例外/中斷單元

電源管理單元

流水線通常由取指、譯碼、執行及Load/Store等單元組成。各單元按圖所示的幾個步驟循環重復自身工作。

流水線的含義:

與工廠生產線類似,將一件工作分成若干個固定的工序進行。

cpu流水線技術是一種將指令分解為多步,并讓不同指令的各步操作重疊,從而實現幾條指令并行處理,以加速程序運行過程的技術。指令的每步有各自獨立的電路來處理,每完成一步,就進到下一步,而前一步則處理后續指令。(原理和生產流水線一樣)

CPU指令流水線

根據之前描述的基礎,指令進入流水線,通過流水線處理,從流水線出來的過程,對于我們程序員來說,是比較直觀的。

I486擁有五級流水線。分別是:取指(Fetch),譯碼(D1, main decode),轉址(D2, translate),執行(EX, execute),寫回(WB)。某個指令可以在流水線的任何一級。

但是這樣的流水線有一個明顯的缺陷。對于下面的指令代碼,它們的功能是將兩個變量的內容進行交換。

1

2

3

XOR a, b

XOR b, a

XOR a, b

從8086直到386處理器都沒有流水線。處理器一次只能執行一條指令。再這樣的架構下,上面的代碼執行并不會存在問題。

但是i486處理器是首個擁有流水線的x86處理器,它執行上面的代碼會發生什么呢?當你一下去觀察很多指令在流水線中運行,你會覺得混亂,所以你需要回頭參考上面的圖。

1、第一步是第一條指令進入取指階段;

2、然后在第二步第一條指令進入譯碼階段,同時第二條指令進入取指階段;

3、第三步第一條指令進入轉址階段,第二條指令進入譯碼階段,第三條指令進入取指階段。

4、但是在第四步會出現問題,第一條指令會進入執行階段,而其他指令卻不能繼續向前移動。

5、第二條xor指令需要第一條xor指令計算的結果a,但是直到第一條指令執行完成才會寫回。

所以流水線的其他指令就會在當前流水級等待直到第一條指令的執行和寫回階段完成。第二條指令會等待第一條指令完成才能進入流水線下一級,同樣第三條指令也要等待第二條指令完成。

這個現象被稱為流水線阻塞或者流水線氣泡。

常用概念:

1、流水線級數:流水線的節拍數。

2、吞吐率:單位時間內流水線能處理的任務數量。

3、最大吞吐率:流水線達到不間斷流水的穩定狀態后可獲得的吞吐率。

4、加速比:流水方式的工作速度與等效的順序工作方式時間的比值。

流水線指標:

1、流水技術無助于減少單個任務的處理延遲(latency),但有助于提高整體工作負載的吞吐率

2、多個不同任務同時操作, 使用不同資源

3、潛在加速比= 流水線級數

4、流水線的速率受限于最慢的流水段

5、流水段的執行時間如果不均衡,那么加速比就會降低

6、開始填充流水線的時間和最后排放流水線的時間降低加速比

低功耗嵌入式領域的ARM7就是采用3級流水線結構。

處理器功能單元組成與CPU的流水線的詳細解析

超流水

超流水線技術是通過細化的流水,提高主頻。使得機器在一個周期內完成一個甚至多個操作,其實質是用空間換取時間。

超流水處理器是相對于基準處理器而言的,一般cpu的流水線是基本的指令預取,譯碼,執行和寫回結果四級。超流水線(superpiplined)是指某型CPU內部的流水線超過通常的5~6步以上,例如Pentium pro的流水線就長達14步。將流水線設計的步(級)數越多,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。這一點我們可以用日常事例來說明,比如有5個人接力傳送木頭(對應一個5級的流水線),超流水是說細化該流水過程,即由10個人接力(此時為10級流水),顯然完成全部任務的速度會快。相當于***的一句話:人多力量大(效率高)。

處理器功能單元組成與CPU的流水線的詳細解析超標量

超標量是指在CPU中有一條以上的流水線,并且每時鐘周期內可以完成一條以上的指令,這種設計就叫超標量技術。 其實質是以空間換取時間。

CPU架構是指在一顆處理器內核中實行了指令級并行的一類并行運算。這種技術能夠在相同的CPU主頻下實現更高的CPU吞吐率(throughput)。

處理器功能單元組成與CPU的流水線的詳細解析


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

    關注

    68

    文章

    19165

    瀏覽量

    229130
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10825

    瀏覽量

    211151
  • 流水線
    +關注

    關注

    0

    文章

    120

    瀏覽量

    25621

原文標題:CPU的流水線

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA中的流水線設計

    設計的算法,如第一條中表述的流水線設計就是將組合邏輯系統地分割,并在各個部分(分級)之間插入寄存,并暫存中間數據的方法。針對處理器中的流水線結構。比如,比如 5—6 個不同
    發表于 10-26 14:38

    ARM架構系列中的流水線設計

    什么是ARM流水線流水線(Pipelining)是 RISC(精簡指令集)處理器用來執行指令的機制,通過獲取指令來加速執行,而其他指令同時被解碼和執行。這反過來又允許內存系統和處理器
    發表于 04-11 17:23

    現代RISC中的流水線技術

    作Stretch計算機)。后來的CDC 6600同時采用了流水線和多功能部件。到了20世紀80年代,流水線技術成為RISC處理器設計方法中最基本的技術之一。RISC設計方法的大部分技術
    發表于 03-01 17:52

    流水線結構的高效SAR快視成像處理器

    流水線結構的高效SAR快視成像處理器
    發表于 05-08 17:16 ?23次下載

    流水線操作,應用處理器,應用處理器的結構和原理是什么?

    流水線操作,應用處理器,應用處理器的結構和原理是什么? 與哈佛結構相關,DSP芯片廣泛采用流水線以減少指令執行時間.從而增強
    發表于 03-26 15:03 ?1225次閱讀

    CPU流水線的定義

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

    一種針對可重構處理器流水線簡化編程的設計范式

    一種針對可重構處理器流水線簡化編程的設計范式_周君宇
    發表于 01-07 21:39 ?0次下載

    DSP設計中的流水線數據相關問題解析

    在航空微電子中心的某預研項目中,需要開發設計某32位浮點通用數字信號處理器(DSP)。本系統控制通路部分的設計采用超級哈佛及五級流水線結構。本文分析了該流水線的設計過程,并對遇到的數據相關問題提出
    發表于 10-23 10:35 ?0次下載
    DSP設計中的<b class='flag-5'>流水線</b>數據相關問題<b class='flag-5'>解析</b>

    處理器系列之CPU流水線科普

    1989年推出的i486處理器引入了五級流水線。這時,在CPU中不再僅運行一條指令,每一級流水線在同一時刻都運行著不同的指令。這個設計使得i486比同頻率的386
    發表于 01-26 01:18 ?4099次閱讀
    <b class='flag-5'>處理器</b>系列之<b class='flag-5'>CPU</b><b class='flag-5'>流水線</b>科普

    一文讀懂處理器流水線

    本文將討論處理器的一個重要的基礎知識:流水線。熟悉計算機體系結構的讀者一定知道,言及處理器微架構,幾乎必談其流水線處理器
    發表于 04-08 08:16 ?2.3w次閱讀
    一文讀懂<b class='flag-5'>處理器</b><b class='flag-5'>流水線</b>

    自制CPU(三)流水線

    經過上兩篇文章的閱讀,大家應該清楚自己的CPU大致是如何處理數據的,而又是如何執行指令的。我們現在來在簡略的說一下流水線CPU的設計。(源碼在CSDN下載頁,請自取)
    的頭像 發表于 07-16 09:20 ?5696次閱讀

    FPGA之流水線練習5:設計思路

    流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理
    的頭像 發表于 11-29 07:06 ?2564次閱讀

    CPU流水線的問題

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

    CPU流水線優缺點

    為什么有些CPU的主頻更低,但運算效率卻更高呢? 比如:51單片機30M主頻,STM32單片機20M主頻,執行相同一段代碼可能主頻更低的STM32所花的時間更短。 這里就牽涉到CPU流水線的問題,本文圍繞
    的頭像 發表于 10-24 14:34 ?4127次閱讀

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

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