指令——流水線和吞吐率


解析:

(1)吞吐率有個公式:指令條數除以流水線時間
(2)流水線時間計算有個公式:一條指令所需時間+(指令條數-1)*時間最長的指令的一段
7+(8-1)*3

 
流水線:

流水線是指在程序執行時多條指令重疊進行操作的一種准並行處理實現技術。各種部件同時處理是針對不同指令而言的,它們可同時為多條指令的不同部分進行工作,以提高各部件的利用率和指令的平均執行速度。概念我們說那么多,我們現在深入去理解,光有概念都是一些比較抽象的東西,我們看圖:我們有三個步驟。


然后我們來看一下一般情況下我們的指令是一條一條的來處理,第一條指令處理完,再處理第二條,再處理第三條,這種順序來處理機器里邊的設備的利用情況是怎樣的呢?我們來看這圖:
 

若我們每個指令的執行時間是1ms,


那么三條指令執行完需要9ms的時間,我們還可以看得出來的是:取值這個設備只有在1ms,4ms,7ms的時候工作,第一條指令只有三分之一的時間進行工作,別的時間就空閑了,對於這樣子中間就產生了很多設備的空閑。所以我們引入了流水線。

用流水線所用的時間:


取值設備只要完成第一條指令的取值,就立即進入第二條指令的取值,第二條指令完成之后,就馬上執行第三條;分析這個操作也是一樣,我們看的出來,在5ms的時間就完成了。

當然我們也能觀察的出,單個指令的運行時間都是3ms。所以流水線對單條指令的執行是無效的。

流水線除了指令流水線,還有一種就是運算操作流水線,運算操作流水線就是計算機在執行各種運算操作時也可以應用流水線來提高運算速度,這是操作都是分階段運行的,所以我們用流水線來提高運算速度。
---------------------

 

來源:CSDN
原文:https://blog.csdn.net/yi_zz/article/details/7479912
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 

 掃個紅包吧!

 

Donate捐贈

如果我的文章幫助了你,可以贊賞我 1 元,讓我繼續寫出更好的內容)

   

  (微信)                                        (支付寶)

微信/支付寶 掃一掃

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM