Wat is Store buffer?

Kleine buffer waarin een core schrijfacties tijdelijk verzamelt. Het kan naar de volgende instructie gaan zonder te wachten op de voltooiing van het schrijven, maar voor andere cores lijkt het schrijven vertraagd.

Japanse benaming: ストアバッファ

“Store buffer” komt voor in 3 oefenvragen uit 1 onderwerpen, bijv. Multicore en synchronisatie.

Vakgebied: Multicore en synchronisatie

Nu oefenen: vragen over Store buffer

Wat legt een geheugenconsistentiemodel vast?

  1. ADe grootte van de cacheregel en het aantal sets
  2. BHet type transistors dat voor het DRAM-hoofdgeheugen wordt gebruikt
  3. CIn welke volgorde de lees- en schrijfacties van een core naar meerdere adressen voor andere cores zichtbaar kunnen zijn
Antwoord en toelichting tonen

Antwoord: C. In welke volgorde de lees- en schrijfacties van een core naar meerdere adressen voor andere cores zichtbaar kunnen zijn

Voor betere prestaties kan een CPU de volgorde van geheugenbewerkingen wijzigen, bijvoorbeeld door schrijfacties in een store buffer te verzamelen of lezen voor te trekken. Binnen één core is dit zo gemaakt dat het resultaat niet verandert, maar voor andere cores kan de volgorde verwisseld lijken. Het geheugenconsistentiemodel legt vast welke verwisselingen kunnen optreden en is de afspraak waarmee programmeurs correcte synchronisatie kunnen schrijven.

Welke eigenschap van het geheugenconsistentiemodel van x86 (TSO, Total Store Order) is juist?

  1. AHet is het zwakste model dat verwisseling van alle combinaties van lezen en schrijven toestaat
  2. BHet is gewoon sequentiële consistentie, die geen enkele verwisseling toestaat
  3. CHet is een relatief sterk model dat alleen toestaat dat een leesactie van een ander adres na een schrijfactie eerder zichtbaar wordt dan die schrijfactie
Antwoord en toelichting tonen

Antwoord: C. Het is een relatief sterk model dat alleen toestaat dat een leesactie van een ander adres na een schrijfactie eerder zichtbaar wordt dan die schrijfactie

Bij TSO blijven de volgorde van schrijfacties onderling, van leesacties onderling en van een schrijfactie na een leesactie behouden, en kan alleen een leesactie van een ander adres na een schrijfactie die inhalen. Dit is een model dat de aanwezigheid van de store buffer rechtstreeks weergeeft. Veel programma's werken binnen dit bereik intuïtief, dus bij x86 zijn barrières in relatief weinig situaties nodig.

“Store buffer” in de toelichting

Vragen met “Store buffer” (3)

  1. Wat legt een geheugenconsistentiemodel vast?
  2. De bovenstaande twee threads worden tegelijk op verschillende cores uitgevoerd (er is geen herordening door de compiler). Welke uitkomst treedt niet op bij sequentiële consistentie, maar kan wel optreden bij echte CPU's zoals x86?
  3. Welke eigenschap van het geheugenconsistentiemodel van x86 (TSO, Total Store Order) is juist?

Verwante termen

Geheugenconsistentiemodel (memory consistency model) Sequentiële consistentie (sequential consistency) Geheugenbarrière (memory barrier) TSO (total store order) Numerieke apertuur (NA) ABA-probleem Acquire-release Atomaire instructie Barrièresynchronisatie Compare-and-swap

Naar de woordenlijst