內存一致性是指當一個處理器試圖查看某個內存扇區時計算機中出現的一個問題。這個問題只出現在多核系統上,或者有多個中央處理器(CPU)的計算機上。當多個處理器查看同一個內存扇區時,其中一個處理器更新了該扇區,另一個可...
內存一致性是指當一個處理器試圖查看某個內存扇區時計算機中出現的一個問題。這個問題只出現在多核系統上,或者有多個中央處理器(CPU)的計算機上。當多個處理器查看同一個內存扇區時,其中一個處理器更新了該扇區,另一個可能保留舊版本的計算機內存。要解決此問題,使用一致性規則來確保處理器不訪問同一內存,或確保它們之間的更新一致。有幾種不同的一致性模型,所以程序員和計算機開發人員必須知道所使用的確切模型。婦女與計算機倒立時,內存一致性問題只發生在至少使用兩個CPU的計算機上,因為它們是如何訪問內存的。當一個CPU訪問一個內存扇區時,它能夠在沒有任何內存的情況下獲取、使用和更改內存沖突,因為沒有其他硬件競爭內存。如果使用兩個CPU,則兩個CPU可能會占用相同的內存扇區。雖然兩個CPU共享內存沒有問題,但如果一個CPU更新內存,則會出現問題。這會使第二個CPU的內存過期,如果不檢查,則可能會導致整個計算機有兩個獨立且相互沖突的計算機內存版本。有一些編程模式專門用于糾正內存一致性,這可能是一個主要問題。它們統稱為內存一致性規則,有許多版本。總體而言,每個版本都告訴多個CPU如何正確地共享計算機內存,而不會導致內存一致性問題。這可以通過在一個版本更改時更新兩個版本的內存或阻止CPU同時訪問同一內存來完成雖然使用一致性規則有助于避免內存一致性問題,但由此產生的另一個問題是:每個一致性集都有不同的編程和不同的規則,因此,編寫直接處理CPU的程序或編寫代碼的程序員必須為精確的一致性規則定制編碼。如果不是這樣,然后,這可能會覆蓋一致性,或者在程序員的編碼和一致性規則之間引起重大沖突,計算機可能會停止工作
-
發表于 2020-08-07 07:31
- 閱讀 ( 987 )
- 分類:電腦網絡