前面學習的哪些都是就是就是體系結構的一些基礎性或瞭解性知識,一般項目不會用到,但考試會出3幾分的題,當然也包括馬上要學習的最後一個部分——
流水線
很好理解,不講了。
算了,還是說說吧,萬一又不知道的呢。
把一個任務分成N個順序執行的子任務,不同的子任務由不同的部件執行,並且這些部件可以並行工作,同時,在某一時刻,某一個子任務只使用一個部件,最終為了達到任務的重疊執行,提高效率。
我反正已經說暈了,我們先說說具體裡面涉及的各種名詞,然後通過不同的板栗,來慢慢理解。
NO1、流水線週期,最耗時的階段就是,板栗:流水線執行100條指令,每條指令取指2ms,分析4ms,執行1ms。那麼週期就是4ms,你地明白?
NO2、計算執行時間,先自己想想,很容易想明白,一條指令的執行時間+(n-1)*週期,說明白地,第一個任務需要整個執行,對吧,省下的都並行了。明白不?給你個板栗,接住上面提到的條件。
一條指令執行時間:2+4+1=7
100條時間:7+(100-1)*4=403ms
當然在現實中,為了成本、複雜性等方面的考慮,流水線一般會將每個執行時間進行統一化處理,so,實際時間為4*3+(100-1)*4=408ms
好,有人問了,那考試的時候,我寫那個?………………………………………………………………記住了,上午都是選擇,看選項,一般是理論值,二班是實際值,一般沒有找二班。下午不出,不至於出個送分題,就算出了,~~~~~~~~~~~請仔細看題要求。
NO3、流水線吞吐率,其實挺好理解,單位時間流水線完成的任務數量。
n:任務數 TK完成所有任務的時間。
由此也引出一個最大吞吐量
k:流水線分段,比如1段(不分),2段、3段……
n趨近與無窮,so,k+n-1也趨近於無窮,(n問k+n-1:約嗎?k+n-1回答:約!)兩個就約去啦。所以最大吞吐率就是——1/流水線週期
NO4、流水線加速比,不敲不透,就像膜一樣,但看這個名詞,好像很高深的樣子,其實~~~~~~~~~~~~~~~~就是——不用流水線時間/用流水線時間。
我們再次分解
當n趨近於無窮時,最大加速比(又一個新詞)=k
k,我們前面提到過,就是流水線的分段數。
極限公式不寫了,沒什麼用。
最後,這一部分,考點也就在也幾個,一般是後兩個
好了,第一大部分計算機組成與體系結構,我們說完了,都是基本概念,基本項目用不到,也就是增加一些知識。
下次見。