>
首页 » 业界动态 » 一种高速低功耗内容寻址存储器的设计

一种高速低功耗内容寻址存储器的设计

作者:顾沧海,韩益锋,巫建明,闵 昊  时间:2006-10-06 00:49  来源:
摘 要: 提出了一种适用于TLB 的低功耗内容寻址存储器电路,该电路用两级比较的方法实现TLB 的查找功能。 由功耗模型的分析得到低功耗CAM 的最优设计参数,通过减小电压摆幅的办法进一步降低功耗。 电路在0.18μm 1P6M 标准CMOS 工艺上实现,仿真结果表明64 路TLB 的最大比较延迟为0.983 ns ,功耗为4.59μW/bit 。

关键词: 半导体技术; 内容寻址寄存器; 低功耗; 快表

引言

内容寻址存储器(content addressable memory ,CAM) 是一种可以根据输入数据而不是地址来快速访问的存储器。 CAM 的这种内建的硬件快速查找功能使它得到了广泛的应用:处理器的快表( tanslation lookaside buffer ,TLB) 、人工智能、图像处理(图案识别) 、数据库和网络(局域网路由地址转换)等。 在这些应用领域中采用CAM 电路能够节省面积、提高速度、并且降低功耗。 尽管如此,用大量CAM 电路实现查找功能时还是消耗了很大的能量,例如在STRON GARM 处理器(针对低功耗设计的处理器) 中,TLB 的功耗就占了整个功耗的17 % 。 本文对CAM 的功耗进行了分析,提出了一种针对TLB 设计的新CAM 电路结构,并且提出了在满足速度的前提下采用两级CAM 实现TLB 的查找功能的新方法,大大降低了CAM 功耗。

CAM 单元设计

传统型CAM

图1  传统CAM 单元

图1 是传统CAM 单元的电路,M1~M4 , T1 , T2是标准的六管SRAM 单元。 CM1 ,CM2 实现异或逻辑,完成位线上的数据与存储数据的比较功能,当二者数据不相等时节点N 为高电平,Match 线通过MD 管放电;当二者数据相等时,节点N 为低电平,MD 管截止,Match 线无放电通路,维持原来的高电平。 传统CAM的一个主要功耗源是位线电平的频繁转换。 由于Match线在每个比较周期前都要预充到高电平,如果此时位线BL 和BLN 中有一根线为高电平,就有可能使MD管导通,导致预充无法完成。 因此,在预充时位线BL 和BLN 都要放电到低电平;在执行比较时,BL 和BLN 的电平必须是相反的,有一半的位线要被充到高电平;又由于位线要驱动很多管子,写入时需要较大的电压摆幅,负载电容也很大,进一步增加了位线电平的转换功耗。

图2  改进型CAM 单元

改进型CAM
根据以上的分析,本文提出了一种新的改进型CAM 单元,其电路如图2 所示。 把MD 管子源端接到一个可控端V in ,当Match 线预充电时V in为高阻态,此时无论位线是什么电平都不会使Match 线通过MD 管放电,这样就省去了传统型CAM 预充电时的位线电平转换功耗。 一旦进入数据比较阶段,可控端就可以改变为低电平,此时就等价于图1 的传统型CAM 电路。

两级CAM
为了提高TLB 的命中率,一般TLB 都是采用全相联的结构,即每次进行地址转换时每一路CAM 单元都要执行比较操作, 对于本文的64 路TLB 来说就有1344 个CAM 单元同时进行比较,而每次最多只有一路有效即其他CAM 单元的比较只是为了找出这有效的一路。 如果每次地址转换时能大量减少比较的CAM 单元数,那么就能大大减小功耗。一种把TLB 分块的办法来减少每次比较的CAM 单元数,但是这样会降低TLB 的命中率,是以牺牲一部分性能来降低功耗的。 本文提出一种不降低TLB 命中率而降低比较功耗的两级CAM 结构,如图3 所示。 每一路TLB都分为两级,只有当第1 级比较命中后才开始第2 级的比较;如果第1 级不命中则不需要进行第2 级比较,省下了第2 级比较的功耗。 虽然这会降低CAM 的比较速度,但是仿真表明本文采用的两级比较结构只比一级的结构慢95 ps ,这在TLB 的应用中基本可以忽略。

图3  两级CAM

CAM 功耗分析和优化

CAM功耗模型
CAM 的主要功耗可以分为3 个部分:评估功耗( Evaluation Power) 、输入转换功耗( Input TransitionPower) 和时钟功耗(Clocking Power) 。评估功耗是指消耗在Match 线上的功耗。 对于N 路m 位的TLB 来说,评估功耗可表示为: P1 =f N mCd V 2m ;其中, f 是工作频率, Cd 是MD 管的漏极电容, V m 是Match 线上的电压摆幅。 输入转换功耗是指由于位线电压的改变对位线上的电容充放电产生的功耗。 位线的负载电容主要是T1 , T2 ,CM1 ,CM2管的漏极电容(为4 Cd) ,当位线通过CM1 或CM2 给节点N 充放电时还要加上N 点的电容(为4 Cd + 2 Cd+ Cg) ,为了保证数据读出和写入的正确,位线上的电压摆幅应为V DD ,节点N 的电压摆幅为V N。 对随机输入,位线电平的改变概率是0.5 ,对节点N 的充放电概率也是0.5 ,因此输入转换功耗可以表示为: P2=0.5 f N m (4CdV 2DD + 0.5 (2 Cd+Cg) V2N) 。 时钟功耗是指通过时钟来控制比较时消耗的功耗。 在图3 中需要由时钟来控制V in端是低电平还是高阻态(图中MN1 ,MN2) ,负载电容就是栅电容。 因此时钟功耗为:P3 = f N ICgV2DD ,其中I 是与MN 管宽长比成正比的参数。

在图3 中,第1 级的评估功耗和输入转换功耗为

其中k 为第1 级的单元数,第2 级的评估功耗和输入转换功耗为

两级的时钟功耗为

I1 , I2 分别为第1 ,2 级的参数I 。 总功耗为。

CAM优化
从以上的分析可知,减小电压摆幅V m 和合理选择第1 级的单元数k 是降低TLB 功耗的有效办法。为了减小Match1 ,Match2 上的电压摆幅,采用图4 的预充电电路,通过NMOS 管MP 给Match1 ,Match2充电可以把摆幅减小为V m = V DD - V thMP ,在0.18μm/ 1.8 V 1P6M 工艺中,通过衬偏效应可使V m 下降为1.2 V。

图4  CAM 预充电路 图5  功耗曲线图

图6  CAM 仿真波形图

  在本设计中N = 64 , f = 400 MHz , m = 29 , Cd = 0.76 f F , Cg = 0.69 f F , V N = 1. 2 V。 根据管子面积取
I1 = 1 , I2 = 2 ,把(1) ~ (3) 式代入(4) 式,并代入各参数的值可得

其功耗与参数k 的曲线如图5 所示,当k = 4.18 时总功耗最小,因此可取第一级的CAM 单元数为4 ,第2 级单元数为25。

仿真结果

本设计采用0.18 μm 1P6M 标准CMOS 工艺实现,图6 是Hspice 的仿真波形图,图中给出了时钟和两路TLB 的信号,Match1_1 ,Match1 _2 ,Match_1 代表第1 路信号。 在第一个比较周期中,第2 路命中而第1 路不命中并且是由第1 路的Match1 信号使第1 路的Match 信号变低,此时第1路的Match2 线没有放电,比较延时为0.847 ns。 在第二个比较周期中,两路都不命中但第二路是由于Match2 信号使Match 信号变低,此时Match1 没有放电,因为这种情况需要进行两级比较,因此延时稍大,为0.983 ns。

表1  功耗比较

表1 比较了传统型CAM、改进型CAM、减小电压摆幅的改进型CAM 以及本文的两级CAM 四种电路的功耗指标,为了方便比较把功耗平均折算到每一个CAM 单元,所有的输入都是随机输入。 从表1 可以看出,传统CAM 由于位线电平的频繁转换,其功耗最高,省去预充电时位线电平转换的改进型CAM 能节省超过一半的功耗。 降低Match 线上的电压摆幅后每一单元又能节省2μw 的功耗。 而采用本文的两级比较结构后,对于随机输入大部分情况都只进行第一级比较,即每次比较的CAM单元数大大减少,因而功耗也就更低。本文从电路功耗分析入手,提出了一个适合TLB 的高速、低功耗CAM 电路,大大降低了电路的功耗,它是设计低功耗TLB 的核心电路。

相关推荐

u-blox助力AddMobile实现「连网建筑工地」服务

行业应用 2019-09-04

一种低功耗系统芯片的实现流程

系统芯片  低功耗  SoC  2011-03-22

互联网在创新中发展

互联网  IT  PC  低功耗  2011-01-25

Microchip将在中国举办第二届嵌入式设计研讨会

基于Freeze技术的低功耗设计

Flash  Freeze  低功耗  2010-08-26

用于便携式设备的低功耗MCU系统设计方法及应用

MCU  便携式  低功耗  2010-08-13
在线研讨会
焦点