緩存只是少量數據在內存中的拷貝,所以當CPU在緩存中尋找數據時,也會找不到(因為這些數據不是從內存拷貝到緩存的)。這個時候CPU還是會在內存中尋找數據,這樣會降低系統的速度,但是CPU會把這些數據復制到緩存中,這樣下次就不會從內存中檢索了。
緩存的三個功能:
1,向前看
當CPU指令控制硬盤開始讀取數據時,硬盤上的控制芯片將控制磁頭讀取正在讀入緩存的下壹個簇或多個簇中的數據。當需要讀取下壹個或多個簇中的數據時,硬盤不需要再次讀取數據,而是可以直接將緩存中的數據轉移到內存中。
2.寫
當硬盤收到寫數據的指令時,並不會立即將數據寫入磁盤,而是先暫存在緩存中,然後向系統發送“數據已寫入”信號。此時系統會認為數據已經寫入,繼續執行後面的工作,而硬盤在空閑時(不讀寫)會將緩存中的數據寫入磁盤。
雖然在壹定程度上提高了寫數據的性能,但是不可避免的帶來了安全隱患——當數據還在緩存中的時候,突然斷電了,那麽這些數據就會丟失。
硬盤廠商自然有解決這個問題的辦法:斷電時,磁頭會利用慣性把緩存中的數據寫到零磁道外的臨時存儲區,下次啟動時再把這些數據寫到目的地。
3.中間存儲器
有些數據會需要經常訪問,比如硬盤內部的緩存(壹種寄存器),緩存中會存儲壹些經常讀取的數據,再次讀取時可以直接從緩存中傳輸。緩存就像計算機的內存。從硬盤讀寫數據時,負責數據存儲、過賬等功能。