A lényeg ott van, hogy a puffer ugye az átmeneti tároló, az érkezõ és kimenõ adatok számára.
Mivel a winyó mechanikusan mûködik, igy még mindig a leglassabb pontját jelenti szinte a rendszernek.
Ha viszont az irandó/olvasandó adat a cacheben tárolódik, onnan elektronikus úton jóval gyorsabban hozzáférhetõ.
Tehát pl érkezik a ~CPUtól egy kérés egy adatra, akkor ha az az adat a cacheben van, sokkal gyorsabban elérhetõ, mint hogyha a winyóról be kellene olvasni.
Ugyanigy irást is gyorsitja, virtuálisan, mert amikor a ~CPU kiadja az utasitást adat felirására, elküldi az adatot a vezérlõ, és a winyó már akkor visszajelezheti az irás megtörténtét, amikor az adat még csak a cacheben van. Eközben a CPU (~ a DMA, vezérlõ, IO stb) már tud foglalkozni egyéb feladatokkal is, a winyónak pedig marad "ideje" eltökörészni a felirással.
Logikusan következik tehát, hogy minél több adatnak van hely cacheben, annál jótékonyabb a hatása.
Ez viszont sokkal bonyolultabb cache rendezést kiván, FIFO,LRU stb szisztémákkal, ahhoz, hogy hatékonyan eldönthetõ legyen, éppen mi lehet bent a cacheben. Magyarán nem minden adat, nem minden méretû, és tipusu fog ugyanúgy részt kapni a cachebõl.
Éppen ezért nem igaz az, hogy a 8MB/2MB caches winyók egyenes arányban gyorsulnak a cache méretével.