New Member
|
引用:
Originally posted by Midgard
小弟有個疑問想請教
以小弟的所學在觀念裡面快取(cache)是用來儲存"經常重覆使用資料"的地方
先不討論快取的架構, 如果cpu要找一筆資料,一定會先從快取裡面尋找
如果找不到,再繼續往下一層尋找,直到找到資料為止
假設資料當時存在於快取當中,則cpu可以馬上從快去中提取資料,以提高效能
現在問題來了,在做影音轉檔或大檔案搬移這種工作時,大cache真的派的上用場嗎 ???
|
硬碟的快取架構通常是很簡單的, 而且用途和上面您所提的不太一樣. 硬碟的cache是碟片和介面的資料暫存區. 從主機來的資料透過介面先存在cache裡再寫入碟片.從碟片讀出的資料也是先放在cache再透過介面傳至主機.硬碟的cache都是DRAM,主要是價格因素.
大cache的確對大檔案的讀寫幫助有限.如果主機餵給硬碟的資料速度超過硬碟的寫入速度的話,在cache填滿之前可以是介面速度(在ata100 就是100MB),在cache填滿之後,就只能是硬碟的寫入速度了.在目前的7200轉硬碟通常最高不會超過40-50MB.要填滿8MB的cache是很容易的.況且硬碟的DRAM不只拿來當cache用.以2MB DRAM來說真正用於當cache的可能只有1.5以下.而且通常還要讀寫各分一半,也就是各約750KB.
8MB真正優於2MB的原因在現代的計算機環境檔案大小很容易超過750KB. 2MB的cache就真的不夠用了.
|