Methods and apparatus are disclosed for matching a string with multiple
lookups using a single associative memory, such as, but not limited to
binary and ternary content-addressable memories (CAMs). In one
implementation, an information string is partitioned into multiple
segments. A first lookup operation is performed on the associative memory
using the first segment to produce a first associative memory result,
which is used as input to a memory lookup operation to produce a first
result. The first result can be programmed to have any desired value or
length. This first result along with a second segment of the information
string is then used as input to the same associative memory to produce a
second associative memory result, which is typically used as input to a
memory lookup operation to produce a second result. This process can be
repeated for an arbitrary or predetermined number of times.
Methoden und Apparate werden für das Zusammenbringen einer Zeichenkette mit mehrfachen Nachschlagen mit einem einzelnen inhaltsadressierten assoziativen Speicher, wie freigegeben, aber begrenzt nicht auf die binären und dreifachen content-addressable Gedächtnisse (CAMs). In einer Implementierung wird eine Informationen Zeichenkette in mehrfache Segmente verteilt. Ein erster Nachschlagenbetrieb wird am inhaltsadressierten assoziativen Speicher mit dem ersten Segment, ein erstes Resultat des inhaltsadressierten assoziativen Speichers zu produzieren durchgeführt, das als Eingang zu einem Gedächtnisnachschlagenbetrieb verwendet wird, um ein erstes Resultat zu produzieren. Das erste Resultat kann programmiert werden, um jeden möglichen gewünschten Wert oder Länge zu haben. Dieses erste Resultat zusammen mit einem zweiten Segment der Informationen Zeichenkette wird dann als Eingang zum gleichen inhaltsadressierten assoziativen Speicher verwendet, um ein zweites Resultat des inhaltsadressierten assoziativen Speichers zu produzieren, das gewöhnlich als Eingang zu einem Gedächtnisnachschlagenbetrieb verwendet wird, um ein zweites Resultat zu produzieren. Dieser Prozeß kann für eine willkürliche oder vorbestimmte Anzahl von Zeiten wiederholt werden.