增加二級緩存,提高CPU性能
作者:佚名 來源:本站 時間:2018-07-08 點擊:82次
每次說到CPU,都會談到它的二級緩存容量。為什么說增加二級緩存容量就可以提高CPU的性能呢?
我們知道緩存工作的原則,就是“引用的局部性”,這可以分為時間局部性和空間局部性。空間局部性是指CPU在某一時刻需要某個數據,那么很可能下一步就需要其附近的數據;時間局部性是指當某個數據被訪問過一次之后,過不了多久時間就會被再一次訪問。對于應用程序而言,不管是指令流還是數據流都會出現引用的局部性現象。
舉個簡單的例子,比如我們在播放DVD影片的時候,DVD數據由一系列字節組成,這個時候CPU會依次從頭處理到尾地調用DVD數據,如果CPU這次讀取DVD數據為1分30秒,那么下次讀取的時候就會從1分31秒開始,因此這種情況下有序排列的數據都是依次被讀入CPU進行處理。從數據上來看,對于Word一類的應用程序通常都有著較好的空間局部性。用戶在使用中不會一次打開7、8個文檔,不諱在其中某一個文檔中打上幾個詞就換一個。大多數用戶都是打開一兩個文檔,然后就是長時間對它們進行處理而不會做其他事情。這樣在內存中的數據都會集中在一個區域中,也就可以被CPU集中處理。
從程序代碼上來考慮,設計者通常也會盡量避免出現程序的跳躍和分支,讓CPU可以不中斷地處理大塊連續數據。游戲、模擬和多媒體處理程序通常都是這方面的代表,以小段代碼連續處理大塊數據。不過在辦公運用程序中,情況就不一樣了。改動字體,改變格式,保存文檔,都需要程序代碼不同部分起作用,而用到的指令通常都不會在一個連續的區域中。于是CPU就不得不在內存中不斷跳來跳去尋找需要的代碼。這也就意味著對于辦公程序而言,需要較大的緩存來讀入大多數經常使用的代碼,把它們放在一個連續的區域中。如果緩存不夠,就需要緩存中的數據,而如果緩存足夠大的話,所有的代碼都可以放入,也就可以獲得最高的效率。同理,高端的數據應用以及游戲應用則需要更高容量的緩存。
- 上一篇: Windows 7系統虛擬XP模式能停止惡意
- 下一篇: 確保系統安全 Windows7系統的十大禁忌