关联存储器可以被认为是一种存储单元, 其存储的数据可以通过数据本身的内容而不是通过地址或存储位置来标识以便访问。
关联内存通常称为内容可寻址内存(CAM)。
【计算机关联内存】在关联存储器上执行写操作时, 不会给该字任何地址或存储位置。存储器本身能够找到一个空的未使用位置来存储单词。
另一方面, 当要从关联存储器读取单词时, 指定单词的内容或单词的一部分。与指定内容匹配的单词由存储器定位并标记为可读。
下图显示了关联存储器的块表示。
文章图片
从框图中, 我们可以说一个关联存储器由一个存储器阵列和每个m个字(每个字n个位)的逻辑组成。
功能寄存器(如自变量寄存器A和密钥寄存器K)每个都有n位, 每个字对应一位。匹配寄存器M由m个位组成, 每个存储字一个。
将保留在存储器中的字与自变量寄存器的内容并行比较。
密钥寄存器(K)提供用于选择自变量词中特定字段或密钥的掩码。如果密钥寄存器包含全为1的二进制值, 则将整个参数与每个存储字进行比较。否则, 仅比较参数在键寄存器的相应位置中具有1的那些位。因此, 密钥提供了用于标识一条信息的掩码, 该信息指定了如何进行对存储器的引用。
下图可以表示存储器阵列与关联存储器中的外部寄存器之间的关系。
文章图片
内存阵列内存在的单元由带有两个下标的字母C标记。第一个下标给出了单词编号, 第二个下标给出了单词中的位位置。例如, 单元Cij是单词i中第j位的单元。
假设Kj = 1, 则将自变量寄存器中的Aj位与数组j列中的所有位进行比较。对所有j = 1、2、3 … … , n列执行此过程。
如果参数的所有未屏蔽位与字i中的位之间发生匹配, 则匹配寄存器中的对应位Mi设置为1。如果参数和字的一个或多个未屏蔽位不匹配, 则Mi为清除为0。