要理解指令流水線,先大概回顧一下CPU的內部結構:
圖a
圖b
由上面兩個圖我們知道,一條指令要被執行,需要通過一個電路把指令從存儲器中取出,放進CPU里面,再由CPU里面的另一個電路ALU去執行(圖b中的左邊部分)。也就是說,取指令和執行指令是由兩部分不同的電路完成的。
圖1
上圖是指令一條一條執行的過程。
圖2
圖2表示,當指令執行部件的某一部分電路空閑的時候,這個時候就可以采用流水線的方式。圖中的一個方框表示一個時間周期。
這一部分表示對于第一條指令來說,當進入第二個時間周期,它已經處于執行階段,ALU電路部分在工作,但是用于取指令的那部分電路空閑了,所以這部分取指令電路可以用于取出第二條指令,這就是指令流水線的基本原理。
圖3
這個和我們工廠的流水線是一樣的道理,流水線上不同的工人代表不同的電路部分。
上圖是一條指令需要六個不同的電路進行配合。
當采用流水線以后,會出現一些問題,比如,在寫后讀相關問題中,第二條指令開始工作的時候,R1的內容必須已經確定,否則就會出錯。對于這樣的問題,就要有相應的解決辦法。
由流水線產生了一些相應的技術:
上圖中的一個方格代表一個時鐘周期,在同一個時鐘周期里面,可以有4條或者3條指令同時并發執行。注意,是并發,而不是并行,意味著CPU還是一個,只不過是利用不同的時間片。
上圖中的一個時鐘周期被多條指令分開,也就是說,執行指令的某一個動作的某個電路部分,不必等這個時鐘周期結束,在同一個時鐘周期內,就可以執行另外一條指令。比如,假定圖3中的每個工人完成一個動作(檢查一個零件或者打一個螺絲)規定為1分鐘(時鐘周期),但在超流水線技術里面,這個工人10秒鐘就檢查完了一個零件,剩下的50秒就可以檢查另外的零件。
-
流水線
+關注
關注
0文章
120瀏覽量
25848 -
指令
+關注
關注
1文章
608瀏覽量
35759 -
cpu芯片
+關注
關注
0文章
46瀏覽量
13629
原文標題:指令流水線工作原理的簡單理解
文章出處:【微信號:電子技術控,微信公眾號:電子技術控】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論