Main storage
Main
storage is also called memory or internal memory (to distinguish from
external memory, such as hard drives). An older term is working storage.
Main
storage is fast (at least a thousand times faster than external storage, such
as hard drives). Main storage (with a few rare exceptions) is volatile, the
stored information being lost when power is turned off.
All
data and instructions (programs) must be loaded into main storage for the
computer processor.
RAM is Random Access Memory, and is the
basic kind of internal memory. RAM is called “random access” because the
processor or computer can access any
location in memory (as contrasted with sequential access devices, which must be
accessed in order). RAM has been made from reed relays, transistors, integrated
circuits, magnetic core, or anything that can hold and store binary values
(one/zero, plus/minus, open/close, positive/negative, high/low, etc.). Most
modern RAM is made from integrated circuits. At one time the most common kind
of memory in mainframes was magnetic core, so many older programmers will refer
to main memory as core memory even when the RAM is made from more modern
technology. Static RAM is called static because it will continue to hold
and store information even when power is removed. Magnetic core and reed relays
are examples of static memory. Dynamic RAM is called dynamic because it
loses all data when power is removed. Transistors and integrated circuits are
examples of dynamic memory. It is possible to have battery back up for devices
that are normally dynamic to turn them into static memory.
ROM is Read Only Memory (it is also
random access, but only for reads). ROM is typically used to store thigns that
will never change for the life of the computer, such as low level portions of
an operating system. Some processors (or variations within processor families)
might have RAM and/or ROM built into the same chip as the processor (normally
used for processors used in standalone devices, such as arcade video games,
ATMs, microwave ovens, car ignition systems, etc.). EPROM is Erasable
Programmable Read Only Memory, a special kind of ROM that can be erased and
reprogrammed with specialized equipment (but not by the processor it is
connected to). EPROMs allow makers of industrial devices (and other similar
equipment) to have the benefits of ROM, yet also allow for updating or
upgrading the software without having to buy new ROM and throw out the old (the
EPROMs are collected, erased and rewritten centrally, then placed back into the
machines).
Registers and flags are a special kind
of memory that exists inside a processor. Typically a processor will have
several internal registers that are much faster than main memory. These
registers usually have specialized capabilities for arithmetic, logic, and
other operations. Registers are usually fairly small (8, 16, 32, or 64 bits for
integer data, address, and control registers; 32, 64, 96, or 128 bits for
floating point registers). Some processors separate integer data and address
registers, while other processors have general purpose registers that can be
used for both data and address purposes. A processor will typically have one to
32 data or general purpose registers (processors with separate data and address
registers typically split the register set in half). Many processors have
special floating point registers (and some processors have general purpose
registers that can be used for either integer or floating point arithmetic).
Flags are single bit memory used for testing, comparison, and conditional
operations (especially conditional branching).
External
storage
External
storage is any
storage other than main memory. In modern times this is mostly hard drives and
removeable media (such as floppy disks, Zip disks, optical media, etc.). With
the advent of USB and FireWire hard drives, the line between permanent hard
drives and removeable media is blurred. Other kinds of external storage include
tape drives, drum drives, paper tape, and punched cards. Random access or indexed
access devices (such as hard drives, removeable media, and drum drives) provide
an extension of memory (although usually accessed through logical file
systems). Sequential access devices (such as tape drives, paper tape
punch/readers, or dumb terminals) provide for off-line storage of large amounts
of information (or back ups of data) and are often called I/O devices (for
input/output).