Abstract:
A Content Addressable Memory is a storage array designed to quickly find the location of a particular stored value. By comparing the input against the data in memory, a CAM determines if an input value matches one or more values stored in the array. If the comparison is done simul-taneously, the CAM is said to be performing at maximum efficiency. If a match exists, it is found in a single clock cycle.
Similar to a RAM, a CAM stores words in an array. The CAM write mode is comparable to a RAM, but the CAM read mode is different. In a RAM, the word in a specific location is read by the address. In a CAM, the data on the input is looking for a match. When a match is found, the output is the address in the array. The number of address lines limits a RAMs data size. In a typical example, a 10-bit bus ddresses 1024 locations of 8-bit data. A CAM does not have this limitation because it does not use an address bus to read a location. To find a match of an 8-bit value in 1024 locations, an 8-bit bus on
the input is required. When the data is found in the CAM, a match signal goes active. The output is the matching data address. Because a CAM does not need address lines to find data (read mode), the memory size can be easily expanded. The width is determined by the storage and comparator size.
Typical CAM applications
CAMs are used in telecommunications, networking, Ether-net, ATM switches, and diverse protocol applications. To determine the correct CAM implementation for a particular application, the following should be investigated.
• Word Size (width)
• Number of Words (depth)
• Match or Compare time (read)
• Significance of Write Speed
• Clock Frequency
• Masks and Outputs
Post a Comment