ronic,
isn't it. Everybody has a memory, but nobody can explain how it works.
Memories in brains differ from computer memories. Most people finally understand
that. Brains learn, for one thing. You don't load them, they learn. They
forget, too, even when the power stays on. Information inside a human memory
fades away over a period of time. Not all information, though. Everybody
has -- well, memories. Fond or otherwise.
Computers find information inside their memories mostly
by addressing, sometimes by scanning, never by thinking. Brains work by
association, we think. Units of information are coupled together by invisible,
elastic bonds. There are dynamic processes at work, too. Circulating within
a baffling neuronic structure are electrochemical impulses linking one
idea to another -- by relevance or by common attribute or by whatever it
is that nourishes familiarity. Brains recall a memory by consciously stimulating
the content of the memory itself, or part of it. Stirring things up in
there somehow. The recalling process reinforces the content, selectively
preserving the memory.
-
Hence commercials and the marketing concept 'share-of-mind.'
Most memories are formulated from sensory information. Recollections,
too, are often stimulated from outside. Three sense organs (eye, ear, and
nose) are especially influential in accumulating memories and recalling
them.
-
A face, a song, a whiff can set off an avalanche of associations.
Thus, the invisible, elastic bonds transcend the boundaries
of the brain itself forming 'extrasomatic' (outside the body) links to
other brains. Individual thinking has little sovereignty. People depend
on Socialized Memory.
rains
work fast. We can recognize a face quicker than any computer. That will
probably be true until well into the 21st century. With all their 'megaflops,'
computers cannot process visual information fast enough to catch a fly
ball -- cannot even tell a left hand from a right hand at a glance. Computers
have an awful time recognize individual words embedded in continuous speech
-- especially accented speech, heard over a noisy telephone line -- in
realtime.
Our central nervous systems operate at a speed sufficient
to keep us out of most kinds of trouble. But, when it comes to capacity,
human memories, like everything else, are limited. Along comes writing,
which makes for extrasomatic storage of information. Reading puts it back
into a brain for processing. That takes time, though. Sometimes too much.
-
You can't expect your audience to be looking things up during
your comedy routine (see Cultured Laughter).
-
You can't be reading a flight manual while landing a plane.
-
Nor a rulebook while umpiring.
As a practical matter, some items of information have to
be kept handy within our brains. Others can be left outside in books. Or
in computers, come to think of it -- and now at far-away websites. Computers,
not surprisingly, have the same problem.
Only persons who have been living in a cave since the
middle of the Twentieth Century would not know that computers have various
kinds of memories. To describe three: First there is ROM, for read-only
memory. ROM contains information which was built into the machine at the
factory. ROM provides the computer primitive capabilities -- unchanging
procedures for interpreting the keyboard, for shaping the characters on
the screen, things like that. Human ROM, one might say, gave us two things...
-
the sucking instinct and
-
the fear of loud noises.
The
computer has a second kind of memory, called RAM, for random-access memory.
This is most commonly the working memory into which the machine can electronically
write variable data. Fast and transient, RAM is most like our own memory,
although, as has already been said, not much.
By the way, 'random' does not really mean 'without order'
here. It means that the access time for any item in memory is the same
as that for any other item, regardless of the order of accessing. A distinction
worth noting, as we shall see.
Finally, there are the disks: 'floppies' (an embarrassing
term that was first use to distinguish their flexible plastic media from
the earlier rigid devices) and 'hard' disks (an equally embarrassing term
that would be unnecessary had not someone coined 'floppy'). The typical
floppy holds a megabyte or two of information; a half a dozen of them would
hold the King James Version of the Bible; it takes hundreds to fill a typical
hard disk. Enter the CD-Rom with the ability to replace stacks of floppies.
Capacious indeed are disks -- but slow. Not as slow as
looking things up in a book, but hundreds of times slower than RAM or ROM.
hen
the word 'cache' was first applied to memory, it needed to be pronounced
in seven syllables: "cash, spelled c-a-c-h-e." The word was borrowed from
the French cacher, to hide, and means 'hiding place,' a term familiar
enough to explorers or pioneers for they used the word to describe the
storage of provisions in the wilderness. {SideBar}
Cache memory is a special form of high-speed memory. The
first cache memories appeared in the early sixties. That was back when
computers filled a room and were still called "giant brains." RAMs were
slow and expensive in those days. A RAM in the sixties comprised gazillions
of tiny Cheerio-shaped cores made out of iron strung together with hair-thin
copper wires, forming blocks the size of bricks. Core memories were slow,
and the bigger you made them the slower they operated. The cache memory
-- also called a 'cache buffer' -- made 'large core storage' operate faster.
Later cache technology was used to buffer disks, increasing their effective
speed.
The cache idea is based on an attribute of information
itself, whether stored in chips and floppies or in brains and books. At
any given instant, an item of information possesses a kind of 'vitality,'
which is based on the likelihood that it will soon be needed either for
computing or for thinking. Obviously, if an item in memory is about to
be used, you want it to be available fast. Its access time is more significant
than that of other items, which may not be needed for a long time.
-
A public figure reads his or her briefing documents just
before a press conference.
-
A pilot reviews the chart for an airport just before initiating
an approach for landing.
So too, in a computer, you would like to have the machine
automatically upgrade information into higher speed memory just before
it is needed. But how does a mindless machine figure out ahead of time
which items should be thus 'promoted'? In other words, what does a cache
do?
Computers, as mentioned earlier, don't make references
to memory in a 'random' order, despite the R in RAM. If they did, cache
buffering would not work. Instead, computers tend to access information
in blocks (items in a record) and repeatedly (loops). The
cache exploits both of these tendencies.
For example, whenever the machine shows an interest in
a given item by deliberately addressing it, the cache automatically promotes
that and adjacent items -- often associated information -- into a high-speed
form of memory.
A subsequent access is first directed
to the cache, where, more often than not, the needed item will be found
quickly. Only when the requisite information is not found in the cache,
does the access get re-directed to the slower form of memory.
Ah, you exclaim, but the cache will fill up!
True enough. As a practical matter, to be fast and cheap,
cache buffers cannot be large. With the cache full, the whole machine decelerates.
The pace is then set by the slowest memory devices, as accesses become
increasingly re-directed to them.
Something has to give. Information must be thrown out
of the cache ('demoted') to make room for newly accessed strings of items.
The mindless machine must be endowed with the ability to decide which items
to demote. What is the most 'reasonable' (to use a brain-like term) basis
for that decision?
Your intuition is probably telling the answer: Throw
out the information that has been accessed the longest time ago.
That's roughly what your own brain does. Thus, do repeatedly
accessed memories -- recollections -- stay fresh. Information not recalled
often enough gradually will fade into oblivion.
s
applied in web browsers, the 'cache' improves the apparent performance
of the Internet -- which is essentially a gigantic disk memory distributed
all over the world and accessed by a communications protocol.
The cache stores on your own hard drive a copy of each page and image as
you acquire them from various websites. If you click "Back", you
will get that same information not from the web but from your own memory
-- a whole lot faster. The cache software is smart enough to recognize
that what you are accessing is available locally. If you come back
to cached pages or images before they get shoved out of your computer's
memory, then you will enjoy the high performance that caches were invented
to provide.
| Nota bene: Websites have visitors, not residents.
New visitors to a given site will suffer the download delay that I like
to call 'network viscosity'. A short time later, when they come back,
visitors will reap the benefits the cache. Now, the people who design
or manage each website, naturally, come back again and again, each time
enjoying cache-supported performance. This may be an explanation for some
of the more viscous sites that sprinkle graphics and Java-jive all over
your screen -- the worst being pages bombarding you with 'banner ads',
which peremptorially fill up caches. Heck, the owners of those sites ('webmasters',
they call themselves) don't ever see just how stultifying those delays
can be to the first-time or infrequent visitor. Browsers provide commands
for emptying the cache, and I think every website manager needs to give
his or her own cache a good flushing every once in awhile. |
Lack of creativity in computer language bothers me a whole
lot, hence my habitual coining of neologisms, which seldom do more than
torment my readers. {Footnote}
Still, inventing a new word is easy compared to instigating public usage.
Better, it seems, to adopt a word that is already accepted -- preferably
from English (like 'memory') or another language (like 'cache').
Consider the expression 'least recently used.' It is not
the
same as 'oldest.' An item that is 'least recently used' may be neither
'least useful' nor 'least valuable.' And 'obsolete' misses the point altogether.
For 'least recently used', I found nothing that even came close. It's a
little bit like trying to find an English word for chutzpah.
Until a Japanese friend gave me mukashi.
But I was unable to stir up much interest in the term before
moving on to other work. I shall never have an opportunity to say something
like, "Performance of the cachecade memory depends greatly on the details
of its mukashi algorithm."
SideBar
One of my small contributions to cache technology, memorialized
in U.S. Patent No. 3,938,097, is a hierarchical cache. Groaner Alert: I
called it 'cachecade.' Hey, at least it was an attempt at inventive language.
{Return}
Footnote
Check What's Not in a Name?
for lamentations about the language of The Software Age. A related feature
article in S:TM led to a memoir Softword:
Provenance for the Word 'Software', which gives the ironic history
of what is arguably the most important word coined in a hundred years.
The sophisticated reader may want to review Software
Does Not Fail to become disabused of language-intensive
cyber-myths. {Return}
|