Multicore en synchronisatie
Wat is juist over zwakke geheugenconsistentiemodellen zoals die van ARM en RISC-V (RVWMO)?
- AZe staan veel verwisselingen van lees- en schrijfacties naar verschillende adressen toe, en op plaatsen waar volgorde nodig is voegt het programma barrières e.d. in
- BZe staan geen enkele verwisseling toe, dus barrière-instructies bestaan niet
- CZe garanderen zelfs niet de volgorde van lees- en schrijfacties naar hetzelfde adres
Antwoord en toelichting tonen
Antwoord: A. Ze staan veel verwisselingen van lees- en schrijfacties naar verschillende adressen toe, en op plaatsen waar volgorde nodig is voegt het programma barrières e.d. in
Bij zwakke modellen mag de hardware lees- en schrijfacties naar verschillende adressen zonder afhankelijkheden vrij verwisselen. Dat maakt de schakeling eenvoudiger en verhoogt gemakkelijk de efficiëntie van prestaties en vermogen, maar bij het uitwisselen van gegevens met andere cores moet de volgorde expliciet worden gemaakt met fence-instructies of lees- en schrijfinstructies met acquire- en release-betekenis. In hogere programmeertalen zorgt de compiler bij gebruik van atomaire variabelen voor de passende instructies.