了解“根本” 解讀帶寬與潛伏期,
二、現實中的恒定帶寬
在前面峰值帶寬的讨論中,系統總線被描繪成一個單向的傳送通道。不過,實際主存儲器和中央處理器之間的通道是可以進行互向數據傳輸的。那麼它們是怎麼工作的?
在某個時刻,隻能進行單向數據傳輸,當中央處理器發出數據請求的時,它必須先控制總線。一旦它控制了總線,它就可以發送請求并在完成此動作後馬上釋放控制權。當随機存貯器收到請求時,它着手尋找合适的數據并且為将它傳輸到中央處理器做準備:随機存貯器先發出控制總線請求,然後将需要的數據傳送回到中央處理器。
現在,我們先假定中央處理器發出控制總線的請求是瞬間得到同意(但現實并不是這樣的!),但中央處理器發出的數據請求到達随機存貯器仍需要花費一定的時間。而且随機存貯器也需要一定數量的時間才能滿足這個請求和将需要的數據傳送到中央處理器。所有花費的時間在系統中被稱為讀取潛伏期。簡而言之,讀取潛伏期是處理器在其之間的時間差在前端總線(FSB)上發出數據請求和當請求的數據在FSB上傳送回來。這讀取潛伏期是不一樣的,這取決于在不同的總線把中央處理器與随機存貯器的差異并且随機存貯器對請求作出響應的時間多少。
在圖表中,如果我們将系統的讀取潛伏期設為3個總線時鐘周期,那意味着中央處理器每發出一次數據請求時它必須等待3個周期的時間才能得到所需要的數據。如果中央處理器發出100次數據請求,那将意味着浪費了300個時鐘周期。這樣浪費了很多的性能。很顯然,如果系統象假設的這樣,那麼在每4個總線時鐘周期中能實際上能被有效利用的僅僅隻有一個時鐘周期(即1完整的周期+3個空閑周期=每4個周期隻有一個有效周期),那麼此時,實際系統僅僅隻擁有其1/4的峰值帶寬。
在考慮讀取潛伏期後,一個系統能完成的最大可能帶寬被被叫恒定帶寬。在上圖中,紅色标記的時鐘周期表示的是一組8字節中唯一的命中,而另外的三個周期就代表讀取潛伏。從這幅圖片上我們可以比較直觀的看出來有效時鐘周期隻有1/4。因為之前我們計算過頻率為100MHz的64bit總線的理論帶寬是800MB/s,那麼它的持續帶寬就是四分之一,相當于隻有200MB/s。
共9頁。912345678:共9頁。首頁上一頁123
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!