Cache中TLB的设计及优化 Cache中TLB的设计及优化

Cache中TLB的设计及优化

  • 期刊名字:苏州大学学报(自然科学版)
  • 文件大小:267kb
  • 论文作者:孙宏,薛骏,凌青
  • 作者单位:东南大学
  • 更新时间:2020-09-30
  • 下载次数:
论文简介

第21卷第1期苏州大学学报(自然科学版)Vol.21 No.12005年1月JOURNAL OF SUZHOU UNIVERSITY( NATURAL SCIENCE EDITION)Jan. 2005文章编号:000-2073( 2005 )01-0037-06 .Cache中TLB的设计及优化孙宏薜骏凌青(东南大学国家专用集成电路系统工程技术研究中心江苏南京210096)摘要当今微处理器的设计中为了加快虛拟地址向物理地址转换的速度通常使用地址转换后备缓冲器TLH translation lokaside buffer来加快地址转化的速度.本论文基于逆向设计提出了一种可行的TLB结构,可完成地址转换的功能并从硬件上支持了不同大小的页表格式.此外通过引入DVS技术将TLB存储单元中的漏电功耗减少90%以上.关键词Cache TLB地址转化功耗DVS中图分类号:TP368.1文献标识码:A .0引言TLB是一个用于页表匹配的高速缓存1].TLB里保存了虚拟页号及其对应的物理页号虛拟地址的高位用于在TLB内进行查找输出相对应的物理页号,与虚拟地址的低位(偏移量)--起组成物理地址输出.TLB的使用能极大地加速虚拟地址向物理地址转换的时间2].本文将给出实现TLB功能的存储单元电路,判决及位长变换电路,以及数据的输出流向.完成TLB电路结构的设计后本文使用DVS技术对TLB的静态功耗进行优化.随着工艺线宽的缩小,CMOS工艺中的静态功耗将大幅提高使用DVS技术能大幅降低静态功耗.而且由于供电压降低动态功耗也将得到大幅抑制本文仅研究静态功耗).1 TLB 的电路设计本文所设计的TLB结构34如图1所示CAM阵列保存用于比对的虚拟页号,SRAM1保存页长为20位的大页物理地址SRAM2保存页长为16位的小页地址,当CAM阵列中的某个表项与进行比对的虚拟页号相同时,该表项所对应的SRAM阵列输出相应的物理页号并发出命中信号.总体而言本次设计所完成的TLB将包含64个表项从硬件上支持16位或20位的页面.中国煤化工MYHCNMHG收稿日期2004-09- 02基金项目国家自然科学基金资助项目( 60176018)作者简孙云( 1981 - )男江苏太仓人东南大学无线电工程系毕业现在英国York大学从事容错系统方面的研究.38苏州大学学报(自然科学版)第21卷位线8-供电压式tCAMSRAMISRAM2M6口17|阵列1上T7T⊥5。⊥4输入驱动输入驱动 ][输入驱动匹配值梦。ME45↑地址标签命中读/写数据亍图1 TLB 的结构图2 CAM 单元的结构1.1 存储单元电路设计需要设计的存储单元有CAMs和SRAM两部分CAM阵列保存虚拟页号与虛拟地址进行比对其单元结构如图2所示.当结点1的信号与结点4的内部信号进行比对时先把匹配信号线.上拉至高电平若信号相同则匹配信号线保持高电平若信号不同则下拉为低电平. CAM单元的优点在于当把几个不同单元的匹配信号相连就能进行多位比较把不同单元的位线输入信号相连能够并行地进行比对.本文中每--列CAM单元前4位的匹配信号线连在-起将其输出为匹配信号1 ;后16位的匹配信号线连在一起将其输出为匹配信号2其中匹配信号2将始终参与比对结果的输出.而通过选择匹配信号1的有效与否可以选择用于比对的虚拟页号是20位还是16位.SRAM阵列用来储存物理页号,当TLB命中时输出其存储的物理地址;当TLB未命中时,0,SRAM中的某个表项需要与对应的CAM一起更新其中的内容.在本次设计中,对SRAM单元采用双港口设计[6]对SRAM的读/写由两根字线分别控制.1.2 判决及位长变换电路的实现位长变换电路的实现是通过控制CAM单元中8叶士且6hond2 Lima匹配信号1的有效与否实现的,而判决电路就是能输出信号表示CAM中匹配与否.$设计时需要注意的一个问题是匹配信号线在电\比对前必须全部上拉为高电平,而此时不能将其用于判决,否则将会使SRAM中多根字线同时导通,bWa导致逻辑出错.因此必须在CAM比对完后才能对↓SRAM中的字线进行操作.根据以上要求所设计的判决及位长变换电路中国煤化工换电路如图3所示.图3中的m、m2信号是CAM阵列给出的匹配信号其.JYHCNMH G表示不匹配;b 是位长控制信号当b=1时m1信号无效,当b=0时,m1信号有效a及a1、a2 信号是来自MMU(存储器管理单元)的控制信号用于控制判决过程的正确进行. Wa信号为SRAM中控制读操作的字线命中信号( hit )是比对结果的输半俦晨.第1期孙宏薛骏凌青Cache中TLB的设计及优化39在TLB的64个表项中,每个表项的m\、m2及Wa信号均不相同而控制信号aa小\2、b信号则均连在-起,由MMU进行控制;每个表项的f结点均连在一起整个TLB只有一个hit信号.在导出Cadence中如图3所示电路的网表文件后,在 Hspice中对其进行仿真获得如图4所示时序图:VVQhit)ξV(m)10300~50t/ms图4 TLB 时序仿真由图4可见仿真结果完全符合设计电路时所作分析.hit 与m、m2、b满足以下关系:hit=m;(b+m1 )1.3 TLB数据的输出流向当处于小页模式时虚拟地址中有20位参与比对传输门TG1、TG2关闭,TG3导通SRAM2的20位输出输入到写缓冲的高20位作为物理页号而虚拟地址的低12位输入到写缓冲的低12位,作为偏移量,两者-起组成物理地址.当处于大页模式时,虚拟地址中仅有16 位参与比对传输门TG1、TG2导通,TG3关闭SRAM的16位输出输入到写缓冲的高16位作为物理页号虚拟地址的[15:12通过TG1后与虚拟地址的低12位-起输入到写缓冲的低16位,作为16位的偏移量.具体的数据流向如图5所示.C虚拟地址16 151211430CAM TAG物理地址3写缓冲;?命中SRAMI16位t +F2]PAI5:01DATA[1S:0]SRAM2→3→“20位DATA[19:16]20位图5 TLB 的数据中国煤化工MHCNMHG2性能优化一 低功耗设计本文使禺DYS技术减少TLB的静态功耗.DVS技术的核心思想是为每根Cache线设置两个不同的供l0苏州大学学报(自然科学版)第21卷电压,一个为正常的供电压,而另-个则作为睡眠电压.在大部分时间内,Cache中大部分的表项处于睡眠状态而当对Cache进行读写操作时再将供电压.上拉为正常电压(否则会破坏内部存储的信号).本文将对CAM阵列和SRAM阵列分别进行优化.2.1 关于CAM阵列的优化设计由于CAM单元在比对时并不与外部信号直接连接,因此在低电压下进行比对不会破坏单元存储的内部信号所以可以直接降低CAM单元中导向器对的供电压.由导向器结构可知当供电压缩小到1.5Vr时仍可以保存所存储的信息但是需要注意的是使匹配信号线降为低电平所需要的时间不能过长,否则将严重影响系统速度甚至造成功能错误.而匹配信号线在内容匹配的时候,他需要能保持高电平.根据一般嵌 入式Cache的特征假设其匹配信号线的正常供电压为3.3V频率为60MHz则我们所设置的睡眠电压必须满足:当所存储的信息与外部信息不匹配时使匹配信号线上的电压在15ns内下降至1. 5V以下方可视为合格.匹配信号线下拉的速度与实际电路中匹配信号线的寄生电容有关寄生电容越大下拉速度越慢而寄生电容越小则保持高电平的能力会降低.--般而言,匹配信号线上通常只有0.001pF数量级的寄生电容.为了增强电路的鲁棒性确保电路在最坏情况下正常工作在仿真比对结果为不匹配考查匹配信号线下拉速度时使用的寄生电容定义为0.1pF而在仿真比对结果为匹配考查匹配信号线保持高电平能力时使用的寄生电容为0.001pF.仿真结果表明在睡眠电压为0.6V的情况下电路性能依然良好.图6为睡眠电压为0.6V时的仿真结果.用于仿真的模型为图2所示的CAM单元所使用的工艺库是新加坡CharteredSemi-conductor Manufacturing的0.25um的工艺库.由图6可见当存储的信息与外部比对的信息相同时,匹配信号在20ns的时间内仍然保持了3.24V以上的高电压不会造成逻辑错误.网0-113.3V3s.-0.2V4)-0.4V间331V7)3:2121620~t/as图6在睡眠电压为0. 6V中国煤化工由图7可见当存储的信息与外部比对信息不相同时内降到了1. 1V在6nsYHCNMHG的时间内降到了接近于0.对导向器对管进行了优化前后的静态功耗测定在优化前使用3.3V的供电压时漏电功耗为2.19x10- "w.在使用优化后将供电压降低到1.1V后漏电功耗为7.25x 10 - 13w.可见优化后的漏电功耗仅为优化前的乃方数据第1期孙宏薛骏凌青Cache中TLB的设计及优化t113.373.3--6.7V(2)V间ξ -0.2V4)-0.41V(5)V6)V7)2410~1214t/ns图7 在睡眠电压为0. 6V下的性能(未命中)2.2关于SRAM阵列的优化设计由于仅当表项匹配或者需要写入新内容时SRAM阵列才打开NMOS管,与外部发生电源线联系其余时间NMOS管均关断.因此,可以考J正常电压-门虑在平时将SRAM单元的内部供电压置为睡眠7休眠电压工 5SRAM厂七丁状态而仅当表项匹配,需要将存储的信息读出或者需要更新表项内容将信息写入SRAM休眠倌号Wb单元时才将内部供电压上拉至正常模式并且W保持在此高电平模式.每隔若干个时钟周期一般为2000周期)将所有的SRAM的供电压均图8双港口SRAM使用的DVS电路置为睡眠状态.这样,根据程序的局部性原理,在大部分时间内只有少数表项工作在正常状态,而大多数表项则在大部分时间内工作在睡眠状态.在本次设计中考虑使用字线Wa和字线Wb对SRAM的供电压进行选择.当比对匹配,需要读出信息或者是字线Wb为高电平需要写入信息时才将SRAM的供电压置为正常模式,否则就将其置为睡眠状态.为实现.上述功能所作电路图如图8及图9所示.设置休眠T]休眠信号0]休眠信号1 .....i 休眠信号63中国煤化工MH.CNMHGWb0-4[ Wa0H [Wb1-+”Wa1- PWb63-- [Wa63Hh古↓图9控制电路42苏州大学学报(自然科学版)第21卷在如图8所示DVS电路中当休眠信号为高电平时通过组合电路将把休眠电压传送给SRAM的电源线,处于低功耗状态当休眠信号为低电平时,该电路把正常电压传给SRAM的电源线,SRAM将处于正常工作模式.该休眠信号为边沿触发.当处于低功耗状态时字线将无法选通,以防止低功耗时字线选通后对内部逻辑的破坏.由于唤醒电路是Wa与Wb的或逻辑,因此将唤醒电路的控制电路设计成如图9所示当输入Wa或Wb为高电平时将把输出休眠信号下拉至0.在如图9所示的控制电路中当设置休眠信号为低电平时其控制的N管关断,从而使Wa、Wb信号无效防止短路淇控制的P管导通将每个表项的休眠信号均置为高电平,从而使每个表项均进入低功耗的睡眠状态.当设置休眠信号为高电平时其控制的P管关断,N管导通每个表项的休眠信号均由该表项的Wa、Wb信号控制根据Wa和Wb的值决定是继续保持睡眠状态还是将其转到正常工作模式.在睡眠电压的设置方面,--般把睡眠电压设置成1.5VT即可.由于程序的局部性原理在大部分时间内大部分表项将处于睡眠状态,因此可以预测DVS技术在SRAM中的运用也将取得良好的优化效果.3总结及展望TLB在地址转换过程中发挥着极其重要的作用本次设计给出了实现TLB的电路结构验证了其结果的正确性.在下一步的设计当中,可以考虑进一步考查TLB与MMU的关系通过TLB内部的硬件结构实现逻辑功能进-步加快地址转换速度.本次设计中对漏电功耗的优化将漏电功耗降低到一个很低的比例事实上源电压的降低对动态功耗也有很大的抑制在今后的工作中也可以对这方面进行深入考查.参考文献:[1] William Sallings.,计算机组织与结构一性 能设讯[ M]北京电子工业出版社2001.[2]孟静. 操作系统教程-原理和实例分析M]北京高等教育出版社, 2001.[3] RABAEY J M.数字集成电路设计透视M]北京清华大学出版社, 1998.[4] FURBER S. ARM SoC体系结构[ M ]北京北京航空航天大学出版社,2002.[5]黄正瑾.计算机结构与逻辑设讯[ M]北京高等教育出版社,2001.[6] 李伟华. VLSI设计基础M]北京电子工业出版社, 2002.Design and optimize of the TLB in CacheSUN Hong XUE Jun ,LING Qing( National ASIC System Engineering Research Center , Southeast Univ. , Nanjing 210096 , China )中国煤化工Abstract :In nowadays' microprocessor design , the TLB is wi.MYHCNMH Gtranslation speed fromvirtual address to physical address. Based on the adverse design , an applicable TLB structure supporting the dif-ferent page sizes besides the address translation is proposed. In addition ,a DVS technology is used reducing theleakage power in the TLB' s memory cells by 90% .Key word5方数据;TLB address translation ipower :DVS(责任编辑周建兰)

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。