Digital computers must convert the information that the user enters into them (e.g., from documents, graphics, videos, or sound) into digital data. These data are really a series of 1s and 0s. Each 1 or 0 is called a binary digit (bit ). The determination of whether a bit is a 0 (off) or a 1 (on) is made by the electronics in the computer hardware. Some computers make this determination by the polarity of magnetized material, while others determine the status of a bit by whether or not electricity is flowing along a circuit. Using these binary digits and a coding scheme such as ASCII or EBCDIC , eight bits are grouped into a byte with each byte representing one character (e.g., letter, punctuation mark, or number). These bytes are sent from one area of the computer to another and stored in various areas of the computer.
In order for data to be processed by a computer, they must first be stored in main computer storage. Over the years, different memory devices have been used to store data (as 1s and 0s) in main computer storage. One of the first devices for storing data was the vacuum tube. Vacuum tubes were lightbulb-sized electronic tubes with glowing filaments. Although they worked, vacuum tubes generated a tremendous amount of heat, used a large amount of electric power, and were delicate, bulky, unreliable, and expensive.
In the early 1950s, Jay W. Forrester and his group at Massachusetts Institute of Technology (MIT) developed magnetic core storage, which replaced vacuum tubes and was the most popular device for storing data in main computer storage for two decades. Magnetic cores consisted of small ring-shaped pieces of metal that could be polarized or magnetized in either of two directions to represent a 1 or a 0.
Invented in 1948, transistors become the memory device of choice by the 1960s. Transistors can be thought of as tiny electrically operated switches that can alternate between "on" and "off" many millions of times per second.
Integrated circuits (IC) are entire collections of electrical circuits etched onto very thin slices of silicon. (Silicon is a natural element found in sand that is purified.) A single integrated circuit is less than a quarter-inch square and is often called a "chip" or "microchip." Integrated circuits are housed within ceramic containers of various types including single in-line memory module (SIMM), dual in-line pin (DIP), dual in-line memory module (DIMM), pin-grid array (PGA), or single edge contact (SEC).
At the start of the twenty-first century, integrated circuit-based semiconductor memory was the primary memory device used for main computer storage. Semiconductor memory is an integrated circuit made up of millions of tiny transistors printed on small chips of silicon. Data that were stored in magnetic core memory could be accessed in microseconds, but data stored in semiconductor memory are accessed even more quickly, in nanoseconds . The use of semiconductor memory devices has increased the speed and decreased the price of main computer storage. The disadvantage to using some semiconductor memory devices is that they are volatile ; that is, whenever the current no longer flows to the device, the stored data are lost. Magnetic cores did not have this problem.
There are several different categories of semiconductor memory, including: RAM, SRAM, DRAM, ROM, PROM, EPROM, and EAPROM. Each type of memory is characterized by the technology it uses to hold the data and the type of data it stores.
Random Access Memory (RAM)
Random Access Memory (RAM) is used when program instructions or data are temporarily stored in the computer before and after they are processed. RAM is also called primary storage or main computer storage. RAM is very important to computer systems. When the computer starts, the operating system is loaded from storage into RAM, and when the user opens an application software package, the instructions for it are also loaded into RAM. As someone uses that software to write a letter to his mother, for example, the characters he types are held in RAM until he tells the software to perform some action such as print the document. RAM is the kind of memory referred to when computers are said to be 64 MB (pronounced 64 meg or megabyte) computers. Having enough RAM is important since it affects how quickly the user can perform certain tasks. In some cases, the user will not be able to use certain software programs if he does not have enough RAM.
Random Access Memory can be static or dynamic . In static random-access memory (SRAM), a small current is used to maintain the stored data values without further manipulation while the power is on. CMOS memory (complementary metal oxide semiconductor), pronounced "SEE moss," is a type of SRAM that is used to hold data concerning someone's computer configuration. The most common type of device used for main memory is a paired transistor and capacitor, which holds an electric charge. Because capacitors slowly lose their charges, they must be recharged about every 4 milliseconds. This type of memory is called dynamic random access memory (DRAM). DRAM is cheaper, but slower, than SRAM.
One major problem with RAM is that it is volatile. That is, its contents will be lost when the computer's power is lost. Thus, other means of permanently storing data and instructions must be used, including other types of memory such as ROM and external storage devices such as magnetic tapes, magnetic disks, CD-ROMs (compact disc-read only memory), and DVDs (digital versatile discs).
Read-Only Memory (ROM)
ROM, or read-only memory, is a type of semiconductor memory that is permanent and cannot be erased. The Central Processing Unit (CPU) can read data stored in ROM, but cannot write to ROM. With ROM, the data are recorded when the memory is manufactured. The data are activated when the computer is turned on. ROM is normally used to store data and programs, such as language interpreters (BASIC), display controllers, or the storage of manufacturer-specific micro codes such as Basic Input Output System (BIOS). Unlike RAM, ROM is not volatile.
PROM, or programmable read-only memory, is a subclass of ROM. Like ROM, it can be read, but it cannot be altered. PROM differs from ROM in that the stored data are not recorded when the chip is manufactured. Rather, the data to be stored in PROM are recorded by the manufacturer of the computer using special high-current devices to burn fuses on the devices. Thus, PROM is programmed once and the manufacturer of the computer can use this memory device to control a specific product. PROM is non-volatile.
EPROM, or erasable programmable read-only memory, is a special kind of PROM. EPROM allows the user to erase the data stored in this memory device by using special ultraviolet devices and then reprogram it. An example of where EPROM is used is in the field of robotics . Because a robot may have to be re-programmed on a routine basis, an EPROM memory device is used.
Another type of PROM is called electrically alterable programmable read-only memory (EAPROM). This type of memory can be changed by the computer using special high-current operations. Programming these devices repeatedly (more than 1,000 times) tends to destroy them, so they are used to hold data that rarely changes.
Managing Memory for Data Retrieval
The type and quantity of memory available in a computer system is important, and so is the user's ability to store and retrieve data. The management of memory is a very significant function of a computer's operating system. A part of the operating system called the Memory Manager controls how programs access memory to store necessary instructions and data before and after processing by the CPU. When a program needs to use RAM, the Memory Manager checks for an unused portion and allocates it. The Memory Manager tracks which portions of memory are being used and by whom. One major task of the Memory Manager is to protect the portion of RAM that contains the operating system. It cannot be altered or deleted. The Memory Manager also "deallocates" memory when a program is finished.
There have been many schemes developed to allow the operating system to allocate and manage memory. Early computer systems were single-user and had simple algorithms . As computer systems and operating systems have become more sophisticated, the memory management schemes have had to become more sophisticated, too. One of the latest schemes allows programs or data files that are larger than the available memory space to be brought into memory in segments. This is called virtual memory. Using virtual memory is slower than if the entire program was small enough to be stored in RAM in one piece.
The cost of memory has decreased rapidly and the speed of memory has increased quickly since the days of the vacuum tube. These trends are expected to continue, partly due to the fact that integrated circuits are packing more and more technology into a very small space. The decrease in memory cost allows programmers to use more and more memory for our favorite application programs while the increasing speed of memory makes these programs run faster and faster.
see also Assembly Language and Architecture; Central Processing Unit; Operating Systems; Storage Devices.
Charles R. Woratschek and Terri L. Lenox
Baron, Robert J., and Lee Higbie. Computer Architecture. Reading, MA: Addison Wesley Publishing Company, 1992.
Flynn, Ida, and Ann McIver McHoes. Understanding Operating Systems, 3rd ed. Boston: PWS Publishing Company, 2000.
Parsons, June Jamrich, and Dan Oja. New Perspectives on Computer Concepts, 4th ed. Cambridge, MA: Course Technology, Inc., 2000.
Shelly, Gary B., and Thomas J. Cashman. Introduction to Computers and Data Processing. Fullerton, CA: Anaheim Publishing Company, 1980.