緩存行原理-ag真人国际官网
1. 什麼是cpu的緩存
cpu緩存的概念
cpu緩存是位於cpu與內存之間的臨時數據交換器,它的容量比內存小的多但是交換速度卻比內存要快得多。cpu緩存一般直接跟cpu晶元集成或位於主板匯流排互連的獨立晶元上。
為了簡化與內存之間的通信,高速緩存控制器是針對數據塊,而不是位元組進行操作的。高速緩存其實就是一組稱之為緩存行(cache line)的固定大小的數據塊組成的,典型的一行是64位元組。
3. cpu緩存的意義
cpu往往需要重復處理相同的數據、重復執行相同的指令,如果這部分數據、指令cpu能在cpu緩存中找到,cpu就不需要從內存或硬碟中再讀取數據、指令,從而減少了整機的響應時間。所以,緩存的意義滿足以下兩種局部性原理:
時間局部性(temporal locality):如果一個信息項正在被訪問,那麼在近期它很可能還會被再次訪問。
空間局部性(spatial locality):如果一個存儲器的位置被引用,那麼將來他附近的位置也會被引用。
2. 緩存的工作原理
緩存的工作原理是當cpu要讀取一個數據時,首先從cpu緩存中查找,找到就立即讀取並送給cpu處理;沒有找到,就從速率相對較慢的內存中讀取並送給cpu處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。正是這樣的讀取機制使cpu讀取緩存的命中率非常高(大多數cpu可達90%左右),也就是說cpu下一次要讀取的數據90%都在cpu緩存中,只有大約10%需要從內存讀取。這大大節省了cpu直接讀取內存的時間,也使cpu讀取數據時基本無需等待。總的來說,cpu讀取數據的順序是先緩存後內存。
ram(random-access memory)和rom(read-only memory)相對的,ram是掉電以後,其中的信息就消失那一種,rom在掉電以後信息也不會消失那一種。ram又分兩種,一種是靜態ram,sram(static ram);一種是動態ram,dram(dynamic ram)。前者的存儲速率要比後者快得多,使用的內存一般都是動態ram。為了增加系統的速率,把緩存擴大就行了,擴的越大,緩存的數據越多,系統就越快了,緩存通常都是靜態ram,速率是非常的快, 但是靜態ram集成度低(存儲相同的數據,靜態ram的體積是動態ram的6倍), 價格高(同容量的靜態ram是動態ram的四倍), 由此可見,擴大靜態ram作為緩存是一個非常愚蠢的行為, 但是為了提高系統的性能和速率,必須要擴大緩存, 這樣就有了一個折中的方法,不擴大原來的靜態ram緩存,而是增加一些高速動態ram做為緩存, 這些高速動態ram速率要比常規動態ram快,但比原來的靜態ram緩存慢, 把原來的靜態ram緩存叫一級緩存,而把後來增加的動態ram叫二級緩存。