Wat is Geheugenconsistentiemodel (memory consistency model)?
Afspraak die vastlegt in welke volgorde lees- en schrijfacties van een core op meerdere adressen voor andere cores zichtbaar kunnen zijn. Voorbeelden zijn sequentiële consistentie, TSO van x86 en de zwakke modellen van ARM en RISC-V.
Japanse benaming: メモリ一貫性モデル
“Geheugenconsistentiemodel (memory consistency model)” komt voor in 4 oefenvragen uit 1 onderwerpen, bijv. Multicore en synchronisatie.
Vakgebied: Multicore en synchronisatie
Veelgestelde vragen
Wat is het verschil tussen cachecoherentie en geheugenconsistentie?
Coherentie zorgt ervoor dat alle cores schrijfacties naar één adres in dezelfde volgorde zien en uiteindelijk de laatste waarde lezen. Consistentie bepaalt in welke volgorde toegangen naar verschillende adressen door andere cores mogen worden waargenomen.
Waar staat TSO voor?
TSO staat voor total store order, het geheugenmodel van x86-processors. Het staat alleen toe dat een latere load naar een ander adres eerder wordt waargenomen dan een eerdere store, een effect van de store buffer.
Waarom hebben Arm- en RISC-V-programma's meer geheugenbarrières nodig dan x86-programma's?
Arm en RISC-V gebruiken zwakke geheugenmodellen die de meeste herordeningen van loads en stores naar verschillende adressen toestaan, dus ordening moet expliciet worden gevraagd. x86-TSO behoudt de meeste ordeningen al, zodat barrières alleen nodig zijn in gevallen zoals een store gevolgd door een load naar een ander adres.