Operations: Years John Von Neumann Shows Main in From Bus
Operations: Years John Von Neumann Shows Main in From Bus
Operations: Years John Von Neumann Shows Main in From Bus
proposed the concept of the stored-program computer in which both instructions and data are confined within the
boundaries of a stoi-age device called
memory. Today a computer architect is
faced with a bewildering variety of memory-types to choose from when implementing this concept in the hardware.
The most commonly used storage
device is called random-access memory
{RAM}.That is, the process of locating a
word within the storage array involves
giving its address. The time needed to
retrieve the word remains the same irrespective of the physical location of the
word in the array.
However, many data-processing
applications require searching items in
some data structure, such as a table,
stored in the memory. The established
procedure to search a table is: 1) to store
all the items where they can be accessed
in sequence; 2) choose a sequence of
addresses; 3 ) read the contents of memory at each address; and 4) compare the
information read with the item being
searched until a match occurs.
This is exorbitantly time-consuming if
the table is very large and/or the search
algorithm is relatively inefficient. This
time can be significantly reduced if the
stored data can be identified for access
by the content of the data itself rather
than by an address.
A memory unit accessed by content is
called an associative memory or contentaddressable memory (CAM). This type
of memory is accessed simultaneously
and in parallel on the basis of the data
content.
What is RAM?
Random-access memories are characterized by the fact that every location can
be accessed independently. Also, the
access time is constant for each word in
26
RAM operations
The two operations that a randomaccess memory can perform are the read
and write operations. The read signal
RAM types
Random-access memories can be
broadly classified into static and dynamic
memories based on their physical characteristics. In static random-access memories (SRAMs), the individual words,
once written, do not need to be further
addressed or manipulated to hold their
values. These devices are composed of
flip-flops that use a small current to
maintain their logic level. They are used
mostly for the CPU registers and other
high-speed storage devices such as
cache. In dynamic random-access memories (DRAMS),refresh circuits are used
to maintain the information in the memory over time.
IEEE POTENTIALS
Problemswith RAM
Todays computers rely on RAM.
Every accessed word must travel individually between the processing unit and the
memory through a communication medium, usually a shared bus. The simplicity
of this approach has ensured its success as evident by the
ubiquitous nature of
computers worldwide.
However, there are
some inherent drawbacks to a wordat-a-time, locationaddressed memory.
One major problem
of address-based memory is called the von Neumann bottleneck. That
is, the memory access
path becomes the limiting factor for system
performance and most
of the traffic is sending
information back and
forthjust to calculate the
effective address of the
necessary data word.
A second important
nature of the processing.
Each piece of information must be handled sequentially. This approach is particularly slow in search-and-compare
problems, where many items must be
inspected to determine the outcome. The
search time increases at the same rate as
the list size. The performance penalty
increases if a more complex comparison
is necessary while searching, such as correlating or sorting the data.
Techniques such as hashing and hardware execution pipelines attempt to d e viate the problems by reducing the search
time and overlapping the functions. Nevertheless, improvement using conventional methods is limited.
The serious disadvantages inherent in
random-access memories become more
obvious when multiple processing units
are introduced. Modem parallel-processing architectures, such as dataflow
machines, exploit parallelism to increase
their execution performance. Such parallel systems do not execute efficiently on
sequential memory. (Each data word can
only be accessed serially by its location in
a large sequential array.)
Why CAM?
Consider a table shown in Fig 2 ,
which is to be stored in a computers
memory. It consists of a list of records,
APRIUMAY 1997
What iS CAM?
CAM is defined as a collection of
storage elements, c d e d associative cells,
which are accessed in parallel on the
basis of data contents rather than by specific address or location. Each associative
cell has the hardware capability to store
and search its contents
against the data broadcasted by the control unit.
It then indicates a match
or mismatch by the state
of a flip-flop.
A typical associative
memory architecture is
shown in Fig. 3. The
essential components
of this associative
memory are:
Comparand register:
It contains the data to be
compared against the
contents of the memory
array.
Mask register: It is
used to mask off portions
of the data word@)which
do not participate in the
operations.
Memory array: provides storage and search
medium for data.
Word select register: It generates signals, based on input address lines, to
select the memory words which participate in the operations.
Responder and contention resolution
logic: Besides indicating success or failure of a search operation by settinghesetting of the flip-flop, it is also responsible
for resolving the contention if more than
one word matches the data in the comparand register. To provide this capability,
the cells of the memory are organized
such that each cell has a predecessor and
a successor. Using additional circuitry to
provide select f i t responder function,
the tag bit of any cell is m e d off whose
predecessor, or the predecessor of whose
27
CAM types
Associative memories have been classified into four categories: fully parallel,
bit-serial, word-serial,and block-oriented.
Fully parallel: In a fully parallel organization, the search capability is associated with every bit of the associative word.
Therefore the associative operation can
be performed along two dimensions
simultaneously.
Bit-serial: In this organization, the
memory is organized as a collection of
circular shift registers in which search
capability is associated with a designated
bit within each word.
Word-serial: In this class, the search
capability is associated with just a sin-
28
CAM operations
IEEE POTENTIALS
CAM applications
Associative processing has a natural
affinity for use in artificial intelligence
(AI) applications, and it has also been
successfully implemented for radar signal
Summary
No one kind of memory can be used
to supply all the memory needs within a
computer system. The deciding factors
in choosing a particular kind are usually
the cost and the nature of intended
application.
RAMS are fast, storage-efficient, and
secure. But they also are passive devices,
and require complex and large data structures to be broken down into small
pieces, thus losing intrinsic links. Moreover, RAMS lack the key feature of the
human memory, i.e., the ability to form
associations among memory items.
CAMs, on the other hand, are expensive but active devices. They allow paral-
1992
Lawrence Chisvin and R. James
Duckworth, Content-Addressable and
Associative Memory: Alternatives to the
Ubiquitous RAM,Computer,July 1989,
pp. 51-64
IEEE Computer, special issue on
Associative Processing, November 1994
issue
IEEE Micro, special issues on Associative Memories and Processors, Parts 1
and 2, June and December 1992 issues.
APRIUMAY 1997
29