Newsletter

Encyclopedia

Results found for: cache
 

cache

(1) To store data locally in order to speed up subsequent retrievals. Pronounced "cash." See Web cache and browser cache.

(2) Reserved areas of memory in every computer that are used to speed up instruction execution, data retrieval and data updating. Pronounced "cash," they serve as staging areas, and their contents are constantly changing. There are two kinds: memory caches and disk caches.

First Kind: Memory Caches

A memory cache, or "CPU cache," is a memory bank that bridges main memory and the CPU. It is faster than main memory and allows instructions to be executed and data to be read and written at higher speed. Instructions and data are transferred from main memory to the cache in fixed blocks, known as cache "lines," using some kind of look-ahead algorithm. See cache line.

Temporal and Spatial (Time and Space)
Caches take advantage of "temporal locality," which means the same data item is often reused many times. They also benefit from "spatial locality," wherein the next instruction to be executed or the next data item to be processed is likely to be the next in line. The more often the same data item is processed or the more sequential the instructions or data, the greater the chance for a "cache hit." If the next item is not in the cache, a "cache miss" occurs, and the CPU has to go to main memory to retrieve it.

Level 1 and Level 2
A level 1 (L1) cache is a memory bank built into the CPU chip. A level 2 cache (L2) is a secondary staging area that feeds the L1 cache. Increasing the size of the L2 cache may speed up some applications but have no effect on others. L2 may be built into the CPU chip, reside on a separate chip in a multichip package module (see MCP) or be a separate bank of chips on the motherboard. Caches are typically static RAM (SRAM), while main memory is generally some variety of dynamic RAM (DRAM). See SRAM and DRAM.




L1 and L2 Caches
The whole idea is to keep staging more instructions and data in a high-speed memory closer to the CPU.




SWFCACH2.SWF

An Instruction Cache
This conceptual animation shows how a cache speeds up instruction fetching. Note how fast the instructions are copied from main memory to the L2 cache and then from the L2 cache to the CPU (actually the L1 cache in the CPU). If the faster static RAM (SRAM) were as inexpensive as dynamic RAM (DRAM), there would be no need for an L2 cache.




Second Kind: Disk Caches

A disk cache is a section of main memory or memory on the disk controller board that bridges the disk and the CPU. When the disk is read, a larger block of data is copied into the cache than is immediately required. If subsequent reads find the data already stored in the cache, there is no need to retrieve it from the disk, which is slower to access.

     If the cache is used for writing, data are queued up at high speed and then written to disk during idle machine cycles by the caching program. If the cache is built into the hardware, the disk controller figures out when to do it. See cache coherency, write back cache, write through cache, pipeline burst cache, lookaside cache, inline cache, backside cache and NV cache.




Disk Cache
Disk caches are usually just a part of main memory made up of common dynamic RAM (DRAM) chips, whereas memory caches (CPU caches) use higher-speed static RAM (SRAM) chips.





similar terms
Entries before cache
CableCARD
cabletext
Cabletron
cable TV
cable types
Entries after cache
cache coherency
cache file
cache hit
cache line
cache memory
 




Or get a random definition
techweb
copyright THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.

Copyright (©) 1981-2007 The Computer Language Company
Inc All rights reserved.
 Featured Jobs
Ascension Health seeking Solutions Development Analyst in St. Louis, MO

National Semiconductor seeking Principal IC Design Engineer in Santa Clara, CA

Taylor Guitars seeking Sr. Web Designer in El Cajon, CA

Covidien seeking Hardware Manager in Boulder, CO

Sierra Nevada seeking Software Engineer in Hagerstown, MD

More jobs on EETimesCareers
 Sponsor