内容寻址存储器与匹配线
Content-Addressable Memory and Matchlines
用搜索字并行比较已存条目,区分逐位匹配、查询掩码、存储X及匹配后的结果接口。
速览
约 1 分钟CAM不是按行号直接读取,而是先找哪些行符合内容条件;比较本身和命中结果怎么使用需要分别设计。
系统理解
约 2 分钟CAM在存储节点旁增加比较电路,并将位结果合并成行匹配。预充高失配放电结构使大量不命中行也会消耗能量。查询掩码作用于本次搜索,TCAM的X保存在具体条目中;二者不能互换。由匹配线驱动关联RAM还必须满足有效性和电气时序。
在数字逻辑与SRAM存储基础上学习按内容选择,区别于普通随机地址存储概览。
关键参数
| 参数 | 单位 | 含义 |
|---|---|---|
| 行数与字宽 | — | 分别决定匹配向量长度和单行比较范围 |
| 掩码极性与有效性 | — | 规定参与比较的位和可用行 |
| 匹配线时序 | — | 区分预充、评估、结果稳定与关联RAM选通 |
常见误区
- 不命中多就表示搜索能量低。
- 查询掩码就是每行独立存储的X。
- 编码地址0一定表示第0行命中。
工程深入
12 条结论 · 1 道例题用于标签查询、关联载荷访问和搜索接口评审,连接存储阵列与选择逻辑。
匹配语义
屏蔽比较只要求参与位相等
在定义掩码位为1表示参与比较时,单行匹配条件是所有参与位的搜索位和存储位相同;被屏蔽的位对本次匹配为真。掩码极性属于接口约定,必须先定义再代入。12
- W
- 比较字位宽,单位 1
- dj、qj
- 本行存储位与搜索位,单位 1
- mj
- 1参与、0忽略的查询掩码位,单位 1
成立条件 dj为本行存储位,qj为搜索位;mj=1参与、mj=0忽略。;只给出逻辑匹配,不含有效位、优先级或电气判定时间。
例题:动手算一次教学假设,可复算
4位CAM保存1010、1011、0010,搜索字1010,掩码1110(1参与)。哪些行匹配?
已知
- 按从高位到低位书写二进制字。
- 最低位被忽略,全部三行均有效。
步骤
- 1010⊕1010=0000;0000∧1110=0000,第0行没有参与位不一致。
- 1010⊕1011=0001;0001∧1110=0000,第1行只在被忽略的最低位不同。
- 1010⊕0010=1000;1000∧1110=1000,第2行最高位不一致。
查询掩码可能使不同存储字在同次搜索中同时命中。
不能外推到 教学位模式,不指定优先级编码,也不保证特定电路一次搜索的耗时。
匹配线电路
结果与三态边界
多行匹配需要显式规定结果处理
掩码或重复条目可能产生多行匹配。若接口只返回一个地址,必须定义优先级并同时提供命中有效性;一个编码地址本身不能区分第0行命中与完全未命中。2
成立条件 教材示例采用最高地址优先,但其他实现可以另定规则。;优先级选择不等于自动执行最长前缀匹配。
TCAM的X是存储条目的无关状态
三态CAM可在每个条目位存放0、1或无关X,从而使该位对两种搜索值都匹配。教材的一种实现用两个状态位编码这三个逻辑状态,第四种编码不能未经定义就赋予新的业务含义。1
成立条件 图12.72示例A/B为10匹配0、01匹配1、00匹配两者。;这不是普通三值电压逻辑,也不规定所有TCAM采用相同内部编码。
接口与实现
预充匹配线不能未经选通直接作为RAM字线
动态匹配线最初可能全部为高,随后失配行才下降;若直接驱动关联RAM,会在判定前错误选中多行。可在匹配线稳定后选通字线,并在下一次预充前撤销选通,时序须覆盖设计角。1
成立条件 限定预充高、评估下降及要求单调上升字线的组合。;不把示意反相器链当作已经签核的跨角延时。
出处
2 本教材 · 21 处引用- 1
CMOS超大规模集成电路设计(第4版)
- 第 12 章 §12.6–12.7;;PDF pp.896–898,第 457–459 页 支持:CAM以比较内容选择匹配行;存储节点与比较电路承担不同任务;屏蔽比较只要求参与位相等;任一参与位不符就足以否定整行;并行搜索改变依赖却不消除资源代价;大量失配行也可能消耗搜索能量;不命中表示没有有效匹配而不是搜索字全零;CAM可以保存标签而由关联RAM保存载荷
- 第 12 章 §12.6–12.7;;PDF pp.898,第 459 页 支持:TCAM的X是存储条目的无关状态;预充匹配线不能未经选通直接作为RAM字线
- 第 12 章 §12.6–12.7;;PDF pp.897–898,第 458–459 页 支持:查询掩码与条目内存储X的作用范围不同
- 2
数字集成电路:电路、系统与设计(第2版)
- 第 12 章 §12.1.2、12.2.4;;PDF pp.488、517–518,第 466、495–496 页 支持:CAM以比较内容选择匹配行;存储节点与比较电路承担不同任务;屏蔽比较只要求参与位相等;任一参与位不符就足以否定整行;并行搜索改变依赖却不消除资源代价;大量失配行也可能消耗搜索能量;不命中表示没有有效匹配而不是搜索字全零;CAM可以保存标签而由关联RAM保存载荷
- 第 12 章 §12.1.2、12.2.4;;PDF pp.488,第 466 页 支持:多行匹配需要显式规定结果处理;查询掩码与条目内存储X的作用范围不同
本页结论均已对照来源核对,其中 3 条目前只有一个来源,尚未经过同行专家审阅。发现不准确的地方,请告诉我们。
报告这一页的问题