Cache

related topics
{system, computer, user}
{math, number, function}
{work, book, publish}
{area, part, region}
{rate, high, increase}
{album, band, music}
{build, building, house}
{law, state, case}

In computer engineering, a cache (pronounced /ˈkæʃ/ kash in US and /keɪʃ/ kaysh in Aust/NZ) is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. If requested data is contained in the cache (cache hit), this request can be served by simply reading the cache, which is comparatively faster. Otherwise (cache miss), the data has to be recomputed or fetched from its original storage location, which is comparatively slower. Hence, the more requests can be served from the cache the faster the overall system performance is.

As opposed to a buffer, which is managed explicitly by a client[citation needed], a cache stores data transparently: This means that a client who is requesting data from a system is not aware that the cache exists, which is the origin of the name cache (from French "cacher", to conceal).

To be cost efficient and to enable an efficient use of data, caches are relatively small. Nevertheless, caches have proven themselves in many areas of computing because access patterns in typical computer applications have locality of reference. References exhibit temporal locality if data is requested again that has been recently requested already. References exhibit spatial locality if data is requested that is physically stored close to data that has been requested already.

Contents

Operation

Hardware implements cache as a block of memory for temporary storage of data likely to be used again. CPUs and hard drives frequently use a cache, as do web browsers and web servers.

A cache is made up of a pool of entries. Each entry has a datum (a nugget of data) - a copy of the same datum in some backing store. Each entry also has a tag, which specifies the identity of the datum in the backing store of which the entry is a copy.

Full article ▸

related documents
Packet radio
WYSIWYG
Simple Mail Transfer Protocol
Atmel AVR
Cray-1
Video
Graphical user interface
Process (computing)
E-mail client
Single-sideband modulation
Dvorak Simplified Keyboard
Grid computing
Interrupt
E-mail
Zilog Z80
Windows 95
Videotape
Microsoft Word
Visual display unit
Microsoft Windows
Simple Network Management Protocol
History of Mac OS
Multiplexing
Private branch exchange
Word processor
Webcam
Universal Disk Format
PlayStation
Rectifier
Digital Enhanced Cordless Telecommunications