A content addressable memory (CAM) device. The CAM device is a synchronous
device that may perform all of the following operations all in one clock
cycle: (1) receive comparand data from a comparand bus; (2) receive an
instruction from an instruction bus instructing the CAM device to compare
the comparand data with a first group of CAM cells in a CAM array; (3)
perform the comparison of the comparand data with the first group of CAM
cells; (4) generate a match address for a location in the CAM array that
stores data matching the comparand data; (5) access data stored in a
second group of the CAM cells in the CAM array, wherein the second group
of CAM cells may store data associated with the matched location; and (6)
output to an output bus the match address, the data stored in the second
group of CAM cells, and/or status information corresponding to the matched
address or the second group of CAM cells. The status information may
include a match flag, multiple match flag, full flag, skip bit, empty bit,
or a device identification for the CAM device.