iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
0

Cache只是copy,只是一個分身,所以不能跟本尊不同,如果不同就會出現coherency的問題,也就是caching雖然對系統很好,但是它會有coherency或者說consistency,也就是不一致性。

為什麼會產生這個問題呢?如果今天你對資料做修改,可是你修改到的資料只有最上層,可能只修改到cache,還沒有update到memory,這時候cache跟memory裡面的資料內容就會不一樣,其實在電腦系統運作中是可以不一樣的,因為會care的只有使用者,所以就算存的時候不一致,只要電腦系統上執行的程式能guarantee它看到的都是最上層的,大家看到的值都是一樣的,電腦仍然可以繼續運作,或者說使用者還是可以繼續執行他的program。

所以重點在於你如何讓使用者看到consistent的值,當然你不可能同時把所有的copy做修改,所以一定會有一些delay和一些技巧,只要你能guarantee program看到的值是一模一樣的,所以會有multi-core processor去處理cache coherency的問題,因為大家的L1 cache是不同的,但是L2、L3是相同的,所以怎麼把他變成一致的就是需要處理的問題。


上一篇
第十六天 Storage-7
下一篇
第十八天 Storage-9
系列文
30天~作業系統學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言