Ask A Scientist©

Computer Science Archive


Cache Memory


name         SRIKANTH
status       other
age          20s

Question -
" WHAT IS MEANT BY CACHE MEMORY & WHAT IS THE INFLUENCE IT HAS GOT ON
SPEED OF COMPUTER ? "

Answer:
Eric Tolman
Computer Scientist

Computers operate at very high speeds.  Current CPU's operate at speeds of
400 million cycles per second or more.  What this means is, every 2.5
nanoseconds, the computer can execute a complete processing loop.  On modern
computers, this means usually executing one or two instructions.  This is
the speed you will see advertised on a computer--a Pentium III 400.

The problem is, while the computer can operate at this speed, it has to get
the program and data to execute from somewhere.

What happens is the program and data is loaded from the hard drive into RAM.
 From RAM it is loaded into cache RAM, and from there it is executed by the
CPU.

Hard drives are very slow compared to the CPU.  RAM is much faster than a
hard drive, but still 4-5 times slower than your CPU.  Also, RAM is erased
if the power goes off.  Cache RAM is extremely fast--it is capable of
delivering data at or near the speed of the CPU.

Cache RAM and normal RAM are very similar in the way they work.  Cache is
just extremly fast, and expensive.

That is why there is so very little of cache RAM available--it is expensive.
In order to reduce the cost of computers, hard drives are used to store huge
amounts of data because they are so cheap--some drives cost less than a
penny for a megabyte of storage.

RAM is much more expensive--about a dollar for a megabyte of storage.  This
is over 100 times more expensive than a hard drives.

Cache RAM is a lot more expensive than regular RAM--about $15-20 per
megabyte of storage.

In order to reduce the cost of computers, engineers have designed
controllers that load data and instructions from the hard drive when they
may be needed into RAM.  When they are not needed in RAM, something else is
loaded.  Then, as the computer runs, whatever is needed for that time is
loaded into cache.  When the controller does a pretty good job at predicting
what is needed, the computer will operate at close to its full speed.  When
the controllers don't do a good job, things will slow down while the CPU
waits for data to be loaded from the hard drive to RAM, and then into the
cache before it can continue.

Now, to anser your question, cache memory is where the computer gets the
program and data it needs to execute.  If the cache is slower than your CPU,
your computer will be slow.  But if it is faster, your computer won't speed
up.  So you want to make sure the cache is fast enough for your computer,
but getting faster cache memory is a waste of money.

Second, the amount of cache memory also affects the speed of your computer.
In general, the more cache, the faster your computer will go.  Most
computers have a fairly small limit on the amount of cache RAM possible.
Generally, make sure your computer has as much cache RAM as it can handle.

Hope this helps,
--Eric Tolman
=========================================================

A cache is a short-term storage place.  Main computer memory is way
slower than microprocessor chips, and they can spend most of their time
waiting to get a value from memory to operate on.  You could speed up
all memory, but this costs lots of money and power.  If you can only
afford to speed up a small fraction of the total memory, it's a good
idea to arrange for the computer to use the fast memory more often than
it uses the slow memory.  A memory cache is one way to do this.

Tim Mooney 
=========================================================




Back to Computers Ask A Scientist Index
NEWTON Homepage Ask A Question

NEWTON is an electronic community for Science, Math, and Computer Science K-12 Educators.
Argonne National Laboratory, Division of Educational Programs, Harold Myron, Ph.D., Division Director.