|
Computer MemoryBy Duane Gustavus, UNIX Research AnalystPart of the difficulty of understanding any new body of knowledge is mastering new terminology. In the "Information Age" access to information is being trivialized, but access is not understanding. "It's all Greek to me!" is rarely a lament about foreign language skills. Context is EverythingThis problem is often exacerbated by the "over-loading" of word definitions -- the use of the same word to mean entirely different things in different contexts. Now this is not a problem peculiar to computer technology. When a young woman "drops" her beau, we assume it is his spirits that will fall, but that is because the context is all too familiar to us. When a computer "drops" a bit, it is not quite so obvious what is in danger of falling (though we suspect it is not an occasion for celebration). A very broad cross-section of the population has recently become exposed to the arcana of computer technology. Some usages, like the word "bug" to denote a malfunction, have already become common parlance. Familiar words remain, however, which might confuse the unwary due to their altered meaning in computer contexts. Perhaps I can thing the fog a bit by pointing out some of them. Memory is as good a place to start as any. The fact that computers store information, rather than old clothes that no longer fit, is probably why they have memories instead of closets, but the crucial concept here is storage. The context of human memory that we all experience on a personal basis can be very misleading when applied to computers. Nobody seems to think of books as having memory, but of course information storage is quintessential "bookness", and probably a better context for the meaning of memory when applied to computers. Volatile and Non-volatileComputer memory may take many physical forms which are usefully differentiated by the permanence of the information storage. Assuming a modicum of care in shelving them, the information stored in a book is not expected to change; in computer lingo this kind of storage is called non-volatile. My grandmother's house had light switches that were two push buttons, both black, but the on button was inlaid with a mother-of-pearl dot. My grandma had non-volatile memory in her light switches and used a light bulb on the ceiling to display the state of the switch. Even if a thunder storm deprived the display devices of power, the light switches "remembered" how things were supposed to be, and the light would come back on when the storm passed and power was resumed. If the validity of the information is dependent on keeping the power turned on, the memory is referred to as volatile. Webster's fourth definition for volatile is perfect: changeable. Your computer's RAM (random access memory) is volatile, while its ROM (read only memory) is non-volatile. Several decades after my discovery of Grandma's cool light switches, I cannot help but notice when the storm passes and the lights come back on, my VCR's clock seems always to think it's 12:00. Volatile memory I suspect. When you turn your computer back on after the storm passes, you no doubt expect it will take a short while to "boot-up". The BIOS (or ROM) inside your computer is non-volatile, and embedded in that memory is the information required to restore the RAM (which forgot everything when deprived of power) to a useful state for operating your computer. While this transfer of information from non-volatile to volatile memory is taking place, your computer is said to be "booting". My VCR clock is incapable of booting itself and requires tortuous (and generally ill documented) manual intervention to restore its function as a clock. There is, of course, commerce between these to types of memory; devices which store information despite being deprived of power, but which can nonetheless change the information if properly manipulated. The disk family (including floppy, hard disk and of late certain CD products) is representative of this phenomenon. As a matter of fact, in most contemporary computers the information about how to "boot" is comprised of instructions to transfer a useful computer state from some disk storage device into RAM. In this mode of operation, the disk serves as non-volatile memory. When you saved your data to floppy before the electrical storm hit (you did backup didn't you), the disk served as a volatile memory device, changing its previous contents to store the latest state of your data. You may take me to task because the term floppy disk seems deliberate obfuscation: it is a small square plastic device that is quite rigid. The component of the floppy that stores information in a magnetic pattern is, however, a thin acetate disk that spins inside the plastic case you handle. Deprived of the support of the case, the disk actually does flop about quite a bit. It was originally referred to as a flexible disk, but whoever makes these decisions felt floppy had more appeal. If you're an iMac user you may safely disregard this entire paragraph. What is that stored stuff?So now we know that computer "memory" is comprised of a group of information storage devices which vary in the permanence of storage, as well as cost, speed and physical properties. As luck and current technology would have it, the most volatile storage devices (RAM) are also the fastest, which makes up for the fact that they forget so easily when deprived of power. Dare we ask exactly what is stored in these devices? Information of course, but can we hope to understand the "stuff" of information in a computer? Sure, given that the required resolution of information is not overly ambitious. To effectively press my case about the inequitable distribution of jelly beans with my older brother, it was necessary to expound at some length on the concept of quantity. This involves assigning numbers to items which, while they could be represented by words like "You have five while I only have three!", is so common that numbers have been assigned special symbols like 5 or 3 to use in place of the words. As we all learned in school while not paying much attention, these symbols have unique properties that words don't have. That is why your English teachers wouldn't accept "5" for "five", and why you cannot misspell 90 even though you can "ninty" (and incidentally why I rarely made A+ on my themes). Quantity requires no translation; nobody cares much what words you use as long as you divide the jelly beans equally. If you were looking for a language-neutral representation for information in a computer memory, numbers would seem to be a good candidate. Computers store information as numbers. This concept is probably not epiphanous for you, but with computers, the slick part comes in the choice of the symbols which represent the number. The tried-and-true 0123456789 symbol set has gotten us
to the moon and beyond, but not because of their
appearance (let's remember that the Russians managed to
keep Mir in space for over a decade with a 7 that had a
slash through it). If the quantity is something separate
from its representation, then almost any symbol set would
do as long as the symbols are distinguishable from each
other and used in a consistent manner. You could even say
my grandma's light bulb represented a zero when it was
off and a one when it was on, and that you weren't
playing with the light switches you were counting
(somehow I don't think that It's all in the code ...It is not news to you, I'm sure, that computers are facile with numbers, but how can this facility be employed to represent something besides numbers? No doubt cereal boxes have always come with things in them besides cereal (the fun ones anyway). I suspect that in Battle Creek Michigan there is still a warehouse full of magic decoder rings patiently waiting for the tides of fashion to recall them to the fingers of a new generation. The strings of numbers which my decoder ring revealed as anti-climactic messages from Kellog's marketing division were proof that more than quantity could be represented with numbers. In this case the quantity represented the displacement of the pointer around my ring. Decoding (converting the numbers to a message) involved moving the pointer by the desired quantity and seeing what letter it then pointed to. You will have already seen the problem with this idea. When numbers are to represent some information other than quantity, that information is not inherent in the number but rather in the design of the code. Thus it is sadly improbable that my decoder ring will unravel ET communications unless the human condition is considerably more catholic than I presumed. If computer information consists entirely of stored numbers, some of which can be properly understood only within a context other than quantity, how does one make sense of all those gazillions of switches? Well, my brother and I depended on Tony the Tiger to manage all that kind of detail; governments tend to prefer standards organizations. If you have ever received email that looked like the portion of the monkey's typing that wasn't Shakespeare, you and your correspondent need to exchange decoder rings. And before you start complaining about why everyone can't use the same code as Microsoft, let me point out that the "American Standard Code for Information Interchange" has existed since 1966 (Bill was still working on his first million). You have probably seen it mentioned as ASCII, pronounced "askee" in that most American of penchants for speaking abbreviations as if they were words. If it is useful to have one ring to bind them all, surely ASCII should be it. Charge On, Charge OffHopefully you now have a better context for understanding the word memory as applied to computers. OK, OK; about the gazillion switches. For anything like that number of switches to fit in the box on your desk, they would have to be microscopic. They are, of course, and if the word transistor brings to mind little battery-powered radios, you're almost as old as I am. Even though it's a bit pedantic to describe transistors now, many of the parts in your computer are constructed from clumps of them, so I'll hazard a few sentences to placate the over-achievers in the crowd. As you know, most things will conduct electricity; metals and water quite readily, but ceramic and cows with more difficulty (I shall pass over the occasion of my delight in finding out about the cows). In the fifties (that's 1950's for those fair readers for whom Y2K lurks in the background of every date) some smart folks figured out how to make a semi-conductor, which is just what the word says. Essentially, it's a tiny chip of crystalline looking material with three wires attached that will conduct electricity through two of the wires when the third has a charge on it, but won't when the third wire has no charge. Charge on; no charge off (sound familiar?). The important difference between it and my Grandma's light switch is that no mechanical motion is involved when turning a transistor on or off, so it can be done very quickly (but without the satisfying click). That's why, when you peer inside your computer to see what the memory looks like, you will only see little black plastic rectangles stuck to a fiberglass board with geometric doodles of metal lines all over it. No clicks, no whir (except the cooling fan), not any sign of activity at all. Immensely unimpressive. |