CAM内容寻址存储器

    CAM是一种特殊的存储器。所谓CAM,即内容寻址存储器。CAM存储器在其每个存储单元都包含了一个内嵌的比较逻辑,写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。概括地讲,RAM是一个根据地址读、写数据的存储单元,而CAMRAM恰恰相反,它返回的是与端口数据内容相匹配的地址。CAM的应用也比较广泛,比如在路由器中的地址交换表,CPUCache控制器(Tag阵列)等。

CAM(Content <wbr>Addressable <wbr>Memory)介绍

 

CAM工作原理:

CAM(Content <wbr>Addressable <wbr>Memory)介绍

    一次典型的CAM查找操作过程为:首先,CAM接收外部的查找命令并把查找数据存储到比较寄存器中,比较寄存器和掩码寄存器的内容来共同组成系统的一个查找字(search word),这些查找字广播到每一组相关联字中,每一组相关联字都有一个匹配链(matchline),匹配链指示查找字与存储字是否一致(匹配或不匹配),匹配链把结果反馈到优先译码器中,优先译码器产生一个二进制的匹配位置定位和一个匹配命中信号。
由于在CAM存储器中可能存在多个字的同时匹配,因而使用了一个优先译码器而不是简单的译码器。当有多个字同时匹配时,优先译码器选择最高优先权的匹配地址映射到匹配结果,在CAM中低地址字具有高优先权。


 

匹配炼工作原理:

CAM(Content <wbr>Addressable <wbr>Memory)介绍

 

Ø  The search-data word is loaded into the search-data register.

Ø  All match-lines are pre-charged to high (temporary match state).

Ø  Search line drivers broadcast the search word onto the differential search lines.

Ø  Each CAM core compares its stored bit against the bit on the corresponding search-lines.

Ø  Match words that have at least one missing bit, discharge to ground.


 

CAMCache控制其中的应用

 

CAM在Cache控制其中的应用

    CPU对Cache的搜索叫做Tag search,即通过Cache中的CAM(Content Addressed Memory)对希望得到的Tag数据进行搜索。CAM是一种存储芯器,延迟很低。

    CPU与Cache之间交换数据是以字为单位的,而Cache与内存之间交换数据是以块为单位的,并且在Cache中,是以若干字组成的块为基本单位的。一般情况下,CPU需要某个数据的时候,它会把所需数据的地址通过地址总线发出,一份发到与内存中,一份发到与Cache匹配的相联存储器(CAM)中,CAM通过分析对比地址,来确定所要的数据是否在Cache中,如果在,则以字为单位把CPU所需要的数据传送给CPU,如果不在,则 CPU在内存中寻找到该数据,然后通过数据总线传送给CPU,并且把该数据所在的块传送到Cache中。

    CAM使用一组比较器,以比较输入的标签地址和存储在每一个有效cache行中的cache-tag。访问地址的tag部分被作为CAM的输入,输入标签同时与所有cache标签相比较。如果有一个匹配,那么数据就由cache存储器提供;如果没有匹配,存储器控制器就会产生一个失效(miss)信号。




  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值