Schrijfbuffer - Write buffer
Een schrijfbuffer is een type gegevensbuffer dat wordt gebruikt in bepaalde CPU-cache- architecturen zoals Intel's x86 en AMD64. In multi-core systemen vernietigen schrijfbuffers sequentiële consistentie . Sommige softwaredisciplines, zoals C11's gegevensrace-vrijheid, zijn voldoende om een opeenvolgend consistent beeld van het geheugen terug te krijgen.
In een CPU-cache kan een schrijfbuffer worden gebruikt om gegevens vast te houden die van de cache naar het hoofdgeheugen of naar de volgende cache in de geheugenhiërarchie worden geschreven . Dit is een variant van write-through caching genaamd gebufferd write-through .
Door op deze manier een schrijfbuffer te gebruiken, wordt de cache vrijgemaakt voor het verwerken van leesverzoeken terwijl het schrijven plaatsvindt. Het is vooral handig voor zeer traag hoofdgeheugen, omdat daaropvolgende leesbewerkingen kunnen doorgaan zonder te wachten op lange wachttijd van het hoofdgeheugen. Wanneer de schrijfbuffer vol is (dwz alle bufferingangen zijn bezet), moeten volgende schrijfbewerkingen nog wachten totdat slots zijn vrijgemaakt. Daaropvolgende leesbewerkingen kunnen worden geserveerd vanuit de schrijfbuffer. Om deze blokkering verder te verminderen, kan een optimalisatie, genaamd schrijfbuffer samenvoegen, worden geïmplementeerd. Schrijfbuffer samenvoegen combineert schrijfbewerkingen met opeenvolgende bestemmingsadressen in één bufferinvoer. Anders zouden ze aparte ingangen bezetten, wat de kans op pijpleidingstoringen vergroot.
Een slachtofferbuffer is een soort schrijfbuffer die vuile verwijderde regels opslaat in terugschrijfcaches zodat ze naar het hoofdgeheugen worden teruggeschreven. Naast het reduceren van pipeline stall door niet te wachten op vuile lijnen te schrijven terug als een eenvoudige write buffer heeft, kan een slachtoffer buffer ook als een tijdelijke back-up opslag te geven wanneer de daaropvolgende cache toegangen tentoonstelling plaats , met het verzoek die onlangs verdreven lijnen, die nog steeds in het slachtoffer buffer.
De winkelbuffer werd uitgevonden door IBM tijdens Project ACS tussen 1964 en 1968, maar werd voor het eerst geïmplementeerd in commerciële producten in de jaren negentig.
Opmerkingen
| Dit computerartikel is een stomp . U kunt Wikipedia helpen door het uit te breiden . |
- ^ Owens, Scott, Susmit Sarkar en Peter Sewell. "Een beter x86-geheugenmodel: x86-TSO." Stelling bewijst in logica van hogere orde. Springer Berlin Heidelberg, 2009. 391-407.
- ^ Oberhauser, Jonas. "Een eenvoudiger reductie-theorema voor x86-TSO." Geverifieerde software: theorieën, tools en experimenten. Springer International Publishing, 2015. 142-164
- ^ https://dl.acm.org/ft_gateway.cfm?id=1283945&type=pdf