Wat is een schrijfbuffer?
In computerarchitectuur zijn er stukjes geheugen die buffers worden genoemd. Deze buffers zijn klein en bevatten informatie die snel toegankelijk moet zijn. Een schrijfbuffer, die zich bevindt in de cache van de centrale verwerkingseenheid (CPU), bevat informatie die vanuit de buffer naar het RAM-geheugengebied van de computer moet kunnen worden geschreven. De meeste gegevens uit de cache worden gelezen en niet geschreven, dus de schrijfbuffer is klein in vergelijking met het leesgedeelte van de cache. De schrijfbuffer kan slechts één schrijfverzoek tegelijk verwerken, dus er wordt slechts één stuk gegeven vrijgegeven wanneer een schrijfverzoek wordt ontvangen.
In geheugenarchitectuur, ongeacht of het geheugen afkomstig is van de CPU of RAM, is er een sectie die een cache wordt genoemd. Dit vertegenwoordigt een heel klein deel van het hele geheugen en het slaat eerder gelezen gegevens op zodat ze later kunnen worden hersteld. Door de informatie op te slaan, kan de computer deze veel sneller en gemakkelijker oproepen wanneer de gebruiker er weer toegang toe heeft.
Een schrijfbuffer, die exclusief wordt opgeslagen in de CPU-cache, slaat informatie op voor schrijven. Het verschil tussen een lees- en schrijfverzoek is hoe de informatie wordt verwerkt. In een leesverzoek wordt de informatie hersteld zoals deze is, zonder enige wijzigingen of berekeningen. Een schrijfverzoek is ingewikkelder, omdat de informatie moet worden gewijzigd of berekend voordat deze kan worden gebruikt.
De meeste verzoeken zijn leesverzoeken, zoals het oproepen van een statische website of het openen van een eerder opgeslagen document dat niet is gewijzigd. De schrijfbuffer helpt bij het organiseren van de gehele buffer. In plaats van alle lees- en schrijfverzoeken op één plaats te hebben, wat de cachesnelheid dramatisch kan verminderen, wordt de schrijfinformatie slechts in één sectie opgeslagen, zodat deze sectie uitsluitend op schrijfverzoeken kan werken. De rest van de cache blijft dan over om te werken aan de overheersende leesverzoeken.
In de schrijfbuffer kunnen verzoeken slechts één voor één worden afgehandeld. In plaats van de leessectie van de cache, die veel aanvragen tegelijk verwerkt, kan de schrijfsectie slechts informatie vrijgeven voor één aanvraag. Dit komt voornamelijk omdat schrijfverzoeken moeilijker zijn in te vullen, dus de cache moet zich concentreren op één taak.
Hoewel de buffer slechts één schrijfverzoek tegelijk kan invullen, beweegt deze nog steeds snel. Schrijfverzoeken hebben slechts een klein stukje informatie nodig om te werken en de gegevens worden binnen milliseconden opgeroepen. Hoewel ze langzamer zijn dan leesverzoeken, worden de schrijfverzoeken nog steeds met slechts een korte vertraging gevuld.