日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

超标量体系结构_CPU体系结构以及指令流水原理

發布時間:2025/3/19 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超标量体系结构_CPU体系结构以及指令流水原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

計算機CPU的體系結構

什么是cpu指令流水

指令流水線(英語:Instruction pipeline)是為了讓計算機和其它數字電子設備能夠加速指令的通過速度(單位時間內被運行的指令數量)而設計的技術。

流水線在處理器的內部被組織成層級,各個層級的流水線能半獨立地單獨運作。每一個層級都被管理并且鏈接到一條“鏈”,因而每個層級的輸出被送到其它層級直至任務完成。 處理器的這種組織方式能使總體的處理時間顯著縮短。

未流水線的架構產生的效率低,因為有些CPU的模塊在其他模塊運行時是閑置的。流水線雖并不會完全消除CPU的閑置時間,但是能夠讓這些模塊并發運作而大幅提升程序運行的效率。

但并不是所有的指令都是獨立的。在一條簡單的流水線中,完成一個指令可能需要5層。如右圖所示,要在最佳性能下運算,當第一個指令被運行時,這個流水線需要運行隨后4條獨立的指令。如果隨后4條指令依賴于第一條指令的輸出,流水線控制邏輯必須插入延遲時脈周期到流水線內,直到依賴被解除。而轉發技術能顯著減少延時。憑借多個層,雖然流水線在理論上能提高性能,優勝于無流水線的內核(假設時脈也因應層的數量按比例增加),但事實上,許多腳本設計中并不會考慮到理想的運行。

指令流水的原理

為簡單起見,把指令的處理過程分為取指令和執行指令兩個階段,在不采用指令流水技術的計算機里,取指令和執行指令是周而復始地重復出現,各條指令按順序串行執行著,如下如所示:

取指令1 -->> 執行指令1 -->> 取指令2 -->> 執行指令2 -->> 取指令3 -->> 執行指令3 -->> ......

上述流程中,取指令操作可由指令部件完成,執行指令的操作可由執行部件完成。進一步分析發現,這種順序執行雖然控制簡單,但執行中各部件的利用率不高,如指令部件在工作時,執行部件基本空閑,而執行部件工作時,指令部件基本空閑。

其實,當一條指令在執行階段,我們完全可以利用這段時間取下一條指令,這樣就使取下一條指令的操作和執行當前指令的操作同時進行,這樣就達到兩條不同的指令可以重疊的被CPU處理,這就是指令的二級流水。如下圖所示:

為了進一步提高處理速度,可將指令的處理過程分解為更細的子階段,如下:

(1)取指FI

從存儲器取出一條指令并暫時存入指令部件的緩存區

(2)指令譯碼DI

確定操作性質和操作數地址的形成方式

(3)計算操作數地址CO

計算操作數的有效地址,涉及寄存器間接尋址、間接尋址、變址、基址、相對尋址等各種地址計算方式

(4)取操作數FO

從存儲器中取操作數

(5)執行指令EI

執行指令所需的操作,并將結果存于目的位置(寄存器中)

(6)寫操作數WO

將結果存入寄存器

為了方便起見,假設上述各段的時間都是相等的,于是采用指令流水技術后,可形成指令六級流水時序,如下圖:

指令流水的多種優化技術

流水線技術是計算機系統結構產生了重大革新,為了進一步發展,處理采用好的指令調度算法、重新組織指令執行順序、減低相關帶來的干擾以及優化編譯外,還可開發流水線中的多發技術,設法在一個時鐘周期(機器CPU主頻的倒數)內,產生更多條指令的結果。常見的多發技術有超標量(Super Scalar)技術、超流水線技術和超長指令字技術。假設處理一條指令分4個階段,分別為取指FI、譯碼ID、執行EX和回寫WR。下圖是三種多發技術與普通的四級流水線的比較:

流水線是將組合邏輯分割成多個小塊,因為每段的關鍵路徑變短了,所以能提高系統主頻。同時能讓任務以類似并行方式處理,提高硬件模塊的利用率,提高系統頻率,提高吞吐量(throughput)

為什么CPU流水線設計的級越長,完成一條指令的速度就越快?

答:流水線級越長,一條指令執行速度反而更慢了,因為要插入寄存器分割組合邏輯,而寄存器讀寫也需要時間。流水線提高的是系統吞吐量,也就是單位時間內處理的指令條數

那為什么一條指令執行速度更慢,而單位時間內處理的指令條數增多呢? 因為 流水線能同時處理多條指令,類似并行形式。如下圖,五條指令在同時處理。

cpu流水的本質

以空間換取時間(吞吐量)

優缺點

優點

  • 減少了處理器執行指令所需要的時脈周期,在通常情況下增加了指令的輸入頻率(issue-rate)。
  • 一些集成電路(combinational circuits),例如加法器(adders)或者乘法器(multipliers),通過添加更多的環路(circuitry)使其工作得更快。如果以流水線替代,能相對地減少環路。
  • 缺點

  • 非流水線的處理器每次(at a time)只運行一個指令。防止分支延時(事實上,每個分支都會產生延時)和串行指令被并行運行產生的問題。設計比較簡單和較低生產成本。
  • 在運行相同的指令時,非流水線處理器的指令傳輸延遲時間(The instruction latency)比流水線處理器明顯較短。這是因為流水線的處理器必須在數據路徑(data path)中添加額外觸發器(flip-flops)。
  • 非流水線處理器有固定指令位寬(a stable instruction bandwidth)。流水線處理器的性能更難以預測,并且不同的程序之間的變化(vary)可能更大。
  • 總結

    以上是生活随笔為你收集整理的超标量体系结构_CPU体系结构以及指令流水原理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。