Hvad er en skrivebuffer?
I computerarkitektur er der hukommelsesstykker kendt som buffere. Disse buffere er små og indeholder oplysninger, der skal være hurtigt tilgængelige. En skrivebuffer, der opbevares i cachen til centrale behandlingsenhed (CPU), indeholder information, der skal kunne skrives fra bufferen til RAM-området (random access memory (RAM)) på computeren. De fleste data fra cachen læses og skrives ikke, så skrivebufferen er lille sammenlignet med læseafsnittet i cachen. Skrivebufferen kan kun håndtere en skriveanmodning ad gangen, så der frigøres kun et stykke nulpunkt, når en skriveanmodning modtages.
I hukommelsesarkitektur, uanset om hukommelsen kommer fra CPU eller RAM, er der et afsnit kaldet en cache. Dette repræsenterer et meget lille stykke af hele hukommelsen, og den gemmer tidligere læste data, så de kan gendannes senere. Ved at gemme informationen vil computeren være i stand til at huske dem meget hurtigere og lettere, når brugeren får adgang til dem igen.
En skrivebuffer, der udelukkende er gemt i CPU-cachen, gemmer information til skrivning. Forskellen mellem en læse- og skriveanmodning er, hvordan informationen håndteres. I en læseanmodning gendannes informationen som den er uden ændringer eller beregninger. En skriveanmodning er mere kompliceret, fordi oplysningerne skal ændres eller beregnes, før de kan bruges.
De fleste af anmodningerne er læseanmodninger, såsom at huske et statisk websted eller åbne et tidligere gemt dokument, der ikke er ændret. Skrivebufferen hjælper med at organisere hele bufferen. I stedet for at have alle læse- og skriveforespørgsler et sted, hvilket dramatisk kan reducere cachehastigheden, gemmes skriveoplysningerne kun i et afsnit, så dette afsnit udelukkende kan arbejde på skriveanmodninger. Resten af cachen overlades derefter til at arbejde på de overvejende læseanmodninger.
I skrivebufferen kan anmodninger kun håndteres én ad gangen. I stedet for det læste afsnit i cachen, der håndterer mange anmodninger på én gang, kan skrivesektionen kun frigive oplysninger til en anmodning. Dette skyldes primært, at skriveanmodninger er vanskeligere at udfylde, så cachen er nødt til at koncentrere sig om den ene opgave.
Mens bufferen kun kan udfylde en skriveanmodning ad gangen, bevæger den sig stadig hurtigt. Skriveanmodninger behøver kun et lille stykke information for at arbejde, og dataene huskes inden for millisekunder. Selvom de er langsommere end læseanmodninger, er skriveanmodningerne stadig fyldt med kun en kort tidsforsinkelse.