基于预测缓存的低功耗TLB快速访问机制
- 格式:pdf
- 大小:364.06 KB
- 文档页数:4
TLB的作⽤及⼯作过程下⾯内容摘⾃《步步惊芯——软核处理器内部设计分析》⼀书页表⼀般都⾮常⼤,⽽且存放在内存中,所以处理器引⼊MMU后,读取指令、数据须要訪问两次内存:⾸先通过查询页表得到物理地址,然后訪问该物理地址读取指令、数据。
为了降低由于MMU导致的处理器性能下降。
引⼊了TLB,TLB是Translation Lookaside Buffer的简称,可翻译为“地址转换后援缓冲器”,也可简称为“快表”。
简单地说,TLB就是页表的Cache,当中存储了当前最可能被訪问到的页表项。
其内容是部分页表项的⼀个副本。
仅仅有在TLB⽆法完毕地址翻译任务时,才会到内存中查询页表,这样就降低了页表查询导致的处理器性能下降。
TLB中的项由两部分组成:标识和数据。
标识中存放的是虚地址的⼀部分,⽽数据部分中存放物理页号、存储保护信息以及其它⼀些辅助信息。
虚地址与TLB中项的映射⽅式有三种:全关联⽅式、直接映射⽅式、分组关联⽅式。
OR1200处理器中实现的是直接映射⽅式。
所以本书仅仅对直接映射⽅式作介绍。
直接映射⽅式是指每个虚拟地址仅仅能映射到TLB中唯⼀的⼀个表项。
如果内存页⼤⼩是8KB,TLB中有64项。
採⽤直接映射⽅式时的TLB变换原理如图10.4所看到的。
由于页⼤⼩是8KB,所以虚拟地址的0-12bit作为页内地址偏移。
TLB表有64项,所以虚拟地址的13-18bit作为TLB表项的索引。
假如虚拟地址的13-18bit是1,那么就会查询TLB的第1项,从中取出标识,与虚拟地址的19-31位作⽐較,如果相等。
表⽰TLB命中,反之,表⽰TLB失靶。
TLB失靶时,能够由硬件将须要的页表项载⼊⼊TLB,也可由软件载⼊,详细取决于处理器设计。
OR1200没有提供硬件载⼊页表项的功能,仅仅能由软件实现。
TLB命中时,此时翻译得到的物理地址就是TLB第1项中的标识(即物理地址13-31位)与虚拟地址0-12bit的结合。
国防科技大学学报第28卷第5期J OUR NAL OF NA TIONA L UNIVERSI TY OF DEFENSE TECHNO LO GY Vol.28No.52006文章编号:1001-2486(2006)05-0084-06一种低功耗预比较TLB结构X侯进永,邢座程(国防科技大学计算机学院,湖南长沙410073)摘要:介绍了一种低功耗TLB结构。
这种结构的思想是基于程序局部性原理,结合Block Buffering[1]技术,并对CAM结构进行改造,提出一种预比较TLB结构,实现低功耗的TLB。
并且采用Si mplescalar3.0模拟该TLB结构和几种传统的TLB结构的失效率。
通过改进的C ACTI3[2]模拟结果显示:提出的TLB结构比FA-TLB 平均功耗@延迟降低约85%,比Micro-TLB降低80%,比Victim-TLB降低66%,比Bank-TLB降低66%以上。
从而,所提出的TLB结构可以达到降低功耗的目的。
关键词:TLB;低功耗;CAM;block buffer中图分类号:TP333196文献标识码:BA Precomparison TLB Structure for Low PowerHOU Jin-yong,XING Zuo-cheng(College of Co mputer,National Univ.of Defense Technol ogy,Changsha410073,China)Abstract:A structure of TLB for low power is introduced.The idea of the prop osed TLB is based on the spatial locality,which is the result of combini ng with the block buffering technology and adjustment of the CAM structure.All of these make the TLB for low power.Wi th Si mple Scalar3.0,a simulation of the proposed TLB and some traditi onal TLB structures were made to observe the miss ratio.The simulation results from the modi fied C AC T I3show that the proposed TLB structure can reduce power*delay about85%, 80%,66%,and66%,compared wi th a FA-TLB,a micro-TLB,a victim-TLB,and a bank-TLB.Therefore the p roposed TLB can achieve low power.Key words:TLB;low power;CAM;block bufferTLB(translation look-aside buffer)是微处理器中用来做虚地址到物理地址转换的快速Buffer[3]。
基于预测缓存的低功耗TLB快速访问机制武淑丽;孟建熠;王荣华;严晓浪;葛海通【期刊名称】《计算机应用研究》【年(卷),期】2011(28)8【摘要】基于存储器访问局部性原理,提出了一种基于预测缓存的低功耗转换旁置缓冲器(TLB)快速访问机制.该机制采用单端口静态随机存储器(SRAM)代替传统的内容寻址存储器(CAM)结构,通过匹配搜索实现全相连TLB的快速访问,在两级TLB 之间设计可配置的访问预测缓存,用于动态预测第二级TLB访问顺序,减少第二级TLB搜索匹配的延时,并有效降低第二级TLB访问功耗.采用该机制明显降低了TLB 的缺失代价,当第一级TLB缺失时访问第二级TLB的平均访问延时接近1个时钟周期,约为原有平均访问延时的20%,增加的面积开销仅为原内存管理单元的1.81%左右,具有低成本、低功耗的特征.%This paper proposed a fast and low power TLB access mechanism with prediction buffer based on memory access locality principle, and designed a two-level TLB structure implemented by SARM instead of CAM to achieve fast access of the full associated TLB. Between the two levels of the introduced TLB, an independent and hardware configurable prediction buffer was designed to dynamically predict the access sequences of the second level TLB, which could reduce its access penalty when the first level TLB missed and significantly reduce the dynamic power consumption with little control logic. Experiment shows that compared with the traditional two-level TLB structure, the average access cycles of the second level TLB are about 20% of thetraditional one, with only 1.81% area increment, which support low power and low cost embedded application.【总页数】4页(P2964-2966,2996)【作者】武淑丽;孟建熠;王荣华;严晓浪;葛海通【作者单位】浙江大学超大规模集成电路设计研究所,杭州310027;浙江大学超大规模集成电路设计研究所,杭州310027;浙江大学超大规模集成电路设计研究所,杭州310027;浙江大学超大规模集成电路设计研究所,杭州310027;浙江大学超大规模集成电路设计研究所,杭州310027【正文语种】中文【中图分类】TP393.08【相关文献】1.基于邻行链接访问的低功耗指令高速缓存 [J], 项晓燕;陈志坚;孟建熠;严晓浪2.基于路访问轨迹的指令高速缓存低功耗策略 [J], 冷冰;严晓浪;孟建熠;葛海通3.基于SVM访问预测机制的Web缓存数据库级替换策略 [J], 杨瑞君;祝可;程燕4.基于流量预测的低功耗有损网络节点缓存系统设计 [J], 任立胜;陈红红;郭艳光5.基于预测模型和缓存替换策略的网络资源访问研究 [J], 程龙泉因版权原因,仅展示原文概要,查看原文内容请购买。
计算机组成原理tlb
TLB是翻译后备缓冲器的缩写,是一种硬件缓存,用于存储最近使用的页表项。
它的作用是通过减少对主存储器的访问次数,提高程序的执行效率。
当CPU需要访问某个虚拟地址时,它首先在TLB中查找对应的物理地址,如果查找成功,则直接访问物理地址,否则CPU 将从主存储器中取出页表项,并将其存储到TLB中。
这个过程称为TLB缺失,会导致额外的访问延迟。
实现TLB的方式有两种,一种是直接映射,另一种是关联映射。
直接映射将虚拟地址的一部分作为标记,用于标识不同的页面,而物理地址的一部分则与标记相同。
这种方式简单易实现,但容易导致TLB缺失率较高。
关联映射则使用哈希表或其他数据结构,将虚拟地址与物理地址进行映射。
这种方式可以有效降低TLB缺失率,但需要更复杂的硬件支持。
总之,TLB是计算机组成原理中的重要概念之一,它在提高计算机性能方面起着至关重要的作用。
了解TLB的实现方式和使用方法,可以帮助我们更好地理解计算机系统的工作原理。
- 1 -。
消除低重用块和预测访问间隔的Cache管理策略Cache是计算机架构中重要的一部分,它用于提高系统运行速度。
在Cache中,数据被存储在固定大小的块中。
当CPU需要访问内存中的数据时,Cache会首先查找缓存中是否有该数据,如果有就直接返回给CPU,从而避免了从内存中读取的时间延迟。
然而,只有有限的Cache空间用于存储数据,因此Cache管理策略变得至关重要。
本篇文章将介绍消除低重复块和预测访问间隔的Cache管理策略。
消除低重用块现代计算机程序在执行期间会访问很多数据块,但很少有数据块被反复访问。
因为这些低重用块浪费Cache的空间,可以采用“缓存替换”策略来消除它们。
该策略使用一种称为LRU(最近最少使用)的算法,LRU将访问最少的块排在最前面,这样可以在Cache空间达到极限时优先替换它们。
但是,LRU 还有一个缺点,即对于最近很少使用但以后可能被频繁使用的块不太友好。
预测访问间隔为了解决LRU算法的限制,需要另一种机制,称为“预测访问间隔”。
预测访问间隔是一种基于统计分析的技术,它考虑了访问块之间的相对时间和块的位置,并且预测重访问的概率。
如果预测访问间隔大,则认为该块不会很快再次访问,因此可以将其替换。
然而,一旦块被访问,访问属性的统计信息将被更新,从而改变它们的优先级。
综上所述,消除低重用块和预测访问间隔是Cache管理策略的两种常见机制。
这两种机制解决了LRU算法的限制,提高了Cache的高效利用率。
然而,这些策略需要依靠访问统计数据,这可能会带来额外的开销。
因此,在实际应用中,需要根据系统的需求和硬件限制选择适当的策略。
2022年成都理工大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、下列关于索引表的叙述,()是正确的。
A.索引表每个记录的索引项可以有多个B.对索引文件存取时,必须先查找索引表C.索引表中含有索引文件的数据及其物理地址D.建立索引表的目的之一是为减少存储空间2、在现代操作系统中,文件系统都有效地解决了重名(即允许不同用户的文件可以具有相同的文件名)问题。
系统是通过()来实现这一功能的。
A.重名翻译结构B.建立索引表C.树形目录结构D.建立指针3、采用资源剥夺法可以解除死锁,还可以采用()方法解除死锁。
A.执行并行操作B.撤销进程C.拒绝分配新资源D.修改信号量4、若每个作业只能建立“一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用():为了实现人机交,应采用():为了使短作业、长作业,和交互作业用户都满意,应采用()。
I.FCFS调度算法II.短作业优先调度算法,III.时间片轮转调度算法IV.多级反馈队列调度算法V.基于优先级的剥夺调度算法A. II、V、I,IVB. I、V、III、IVC. I、II、IV、IIID.II、V、III、IV5、若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是()。
I.若该文件的数据不在内存中,则该进程进入睡眠等待状态II.请求rcad系统调用会导致CPU从用户态切换到核心态III.read系统调用的参数应包含文件的名称A.仅I、IIB. 仅I、IIIC.仅II、IIID. I、II和III6、产生内存抖动的主要原因是()A.内存空间太小B.CPU运行速度太慢C.CPU调度算法不合理D.页面置换算法不合理7、在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是()。
A.可变分配,全局置换B.可变分配,局部置换C.固定分配,全局置换D.固定分配,局部置换8、处理外部中断时,应该山操作系统保存的是()A.程序计数器(PC)的内容B.通用寄存器的内容C.快表(TLB)中的内容D.Cache中的内容9、 OS通常为用户提供4种使用接口,它们是终端命令、图标菜单、系统调用和()A.计算机高级指令B.宏命令C.类似DOS的批命令文件或UNIX的shell文件D.汇编语言10、下面设备中属于共享设备的是()。
收稿日期:2010-12-13;修回日期:2011-03-02基金项目:国家“863”高科技研究发展计划资助项目(2004AA1Z1020)作者简介:武淑丽(1987-),女,河南周口人,硕士,主要研究方向为数字IC 前端设计和验证(fadeaway1000@163.com );孟建熠(1982-),男,博士后,主要研究方向为高性能低功耗嵌入式处理器的设计与研究;王荣华(1985-),男,博士研究生,主要研究方向为嵌入式处理器的设计以及验证;严晓浪(1947-),男,教授,博导,主要研究方向为超大规模集成电路设计、VLSI 设计自动化;葛海通(1972-),男,高级工程师,主要研究方向为嵌入式处理器设计与验证.基于预测缓存的低功耗TLB 快速访问机制*武淑丽,孟建熠,王荣华,严晓浪,葛海通(浙江大学超大规模集成电路设计研究所,杭州310027)摘要:基于存储器访问局部性原理,提出了一种基于预测缓存的低功耗转换旁置缓冲器(TLB )快速访问机制。
该机制采用单端口静态随机存储器(SRAM )代替传统的内容寻址存储器(CAM )结构,通过匹配搜索实现全相连TLB 的快速访问,在两级TLB 之间设计可配置的访问预测缓存,用于动态预测第二级TLB 访问顺序,减少第二级TLB 搜索匹配的延时,并有效降低第二级TLB 访问功耗。
采用该机制明显降低了TLB 的缺失代价,当第一级TLB 缺失时访问第二级TLB 的平均访问延时接近1个时钟周期,约为原有平均访问延时的20%,增加的面积开销仅为原内存管理单元的1.81%左右,具有低成本、低功耗的特征。
关键词:内存管理单元;两级转换旁置缓冲器;内容寻址存储器;静态随机存储器;预测缓存;快速访问;低功耗中图分类号:TP393.08文献标志码:A文章编号:1001-3695(2011)08-2964-03doi :10.3969/j.issn.1001-3695.2011.08.045Fast and low power TLB access mechanism with prediction bufferWU Shu-li ,MENG Jian-yi ,WANG Rong-hua ,YAN Xiao-lang ,GE Hai-tong(Institute of VLSI Design ,Zhejiang University ,Hangzhou 310027,China )Abstract :This paper proposed a fast and low power TLB access mechanism with prediction buffer based on memory access lo-cality principle ,and designed a two-level TLB structure implemented by SARM instead of CAM to achieve fast access of the full associated TLB.Between the two levels of the introduced TLB ,an independent and hardware configurable prediction buff-er was designed to dynamically predict the access sequences of the second level TLB ,which could reduce its access penalty when the first level TLB missed and significantly reduce the dynamic power consumption with little control logic.Experiment shows that compared with the traditional two-level TLB structure ,the average access cycles of the second level TLB are about20%of the traditional one ,with only 1.81%area increment ,which support low power and low cost embedded application.Key words :MMU ;two-level TLB ;CAM ;SRAM ;prediction buffer ;fast access ;low-power0引言当前的高端嵌入式处理器均在片内集成了内存管理单元(MMU ),它是支持虚拟处理器的核心部件,实现虚拟地址到物理地址的映射、存储访问权限的控制以及地址属性的设置等功能。
其中,转换旁置缓冲器(translation look-aside buffer ,TLB )是MMU 的核心部件,完成虚拟地址到物理地址的实时转换。
目前的TLB 架构主要基于内容寻址存储器(content addressable memory ,CAM ),其基本原理是对输入内容与存储单元中的每个表项进行并行比较获得匹配信息,在一定程度上提升了TLB 表项匹配速度。
CAM 的缺点是:它是定制的,因此其工艺跃迁性差,设计和维护的成本高,并且大量数据的并行比较所产生的功耗是十分明显的。
如文献[1]TLB 耗能约占缓存总功耗的20% 25%,而在Strong ARM [2]和Hitachi SH-3这两款嵌入式处理器中,TLB 耗能分别占总功耗的17%和15%[3]之多。
目前常见的措施是在CAM 结构的前提下,通过优化TLB 访问机制,实现性能提升、功耗降低的目的。
如Banked TLB [4,5]提出将整个TLB 分成几路相联的块,通过部分信息比较获得当前访问的TLB 区块,但是该机制的TLB 页面缺失率较高,空间使用率低,会引起较大的性能损失。
支持多种页面大小的TLB[6,7],通过在硬件上支持两种或多种页面大小来获得高性能,但是该方法需要额外的硬件资源来创建大页TLB ,增加了较大的硬件开销。
当前实际工程中,嵌入式处理器常采用分层结构的TLB 访问机制,这是因为嵌入式应用具有较强局部性特征,在面向嵌入式应用的MMU 设计中可通过挖掘数据访问局部性的方法,将最频繁访问的页面集中在若干的TLB 内,实现了TLB 性能的提升和CAM 地址比较转换功耗的降低,如Victim-TLB [8]和Filter-TLB [9,10]等。
在两级TLB 访问机制中,第一级TLB 表项较少,查询速度很快,第二级表项多,查询速度较慢。
由于程序访问的空间特性,第一级TLB 能够完成绝大部分地址转换工作,避免了对第二级TLB 存储器的频繁访问,不仅节约了匹配时间,同时显著降低了第二级TLB 的动态功耗[11]。
但是当第一级TLB 发生缺失时,则需多个时钟周期访问第二级TLB ,性能和功耗损失严重。
第二级TLB 访问延时和功耗成为两级TLB 架构功耗的重要组成部分。
本文提出的低功耗TLB 快速访问机制是分层结构的,第二级TLB 基于普通单端口SRAM ,使用SRAM 可避免CAM 的成本和功耗问题,并且可增加TLB 工艺跃迁的灵活性。
第28卷第8期2011年8月计算机应用研究Application Research of Computers Vol.28No.8Aug.20111基于预测缓存的快速搜索机制基于SRAM 的两级TLB 架构通常通过搜索匹配实现全相连的TLB ,其动态功耗与访问延时成正比[12]。
当对第二级TLB 进行访问时,需要对每个TLB 表项进行匹配比较,这容易造成较大的访问延时和较高的访问功耗。
显然,减少第二级TLB 访问表项的比较次数可以有效地降低TLB 的访问延时和访问功耗。
本文提出的基于预测缓存的TLB 快速访问机制基本原理是在第一级TLB (u -TLB )与第二级TLB (j -TLB )之间设计有限宽度的预测缓存,动态记录和调整j -TLB 表项的历史访问信息,并通过首先访问预测结果指向的j -TLB 表项的方式,达到节省j -TLB 表项的访问比较次数的目的,从而降低功耗。
其机制的基本硬件结构如图1所示。
在改进后的两级TLB 分层结构中,当u -TLB 缺失需要访问j -TLB 时,首先访问预测缓存,并从预测缓存中获得相应的索引信息,直接索引j -TLB 的表项。
通过充分利用程序对存储器访问的局部性原理,本方法能够有效减少对j -TLB 表项的访问次数,降低j -TLB 表项的平均访问延时。
图2是处理器访问TLB 实现虚拟地址到物理地址映射的流程。
a )当u -TLB 命中,可直接实现虚拟地址到物理地址的映射。
b )当u -TLB 缺失,则首先访问预测缓存,根据缓存的访问信息预测j -TLB 访问索引。
利用预测索引读取对应j -TLB 表项进行匹配,若匹配成功,则完成地址映射,无须遍历查找j -TLB ;若匹配不成功,预测缓存则按照传统两级TLB 机制遍历查找整个j -TLB 表项。
c )当遍历查找整个j -TLB 后仍然没有发现目标TLB 表项,则产生TLB 页面缺失异常请求,从片外载入TLB 映射信息。
2预测缓存设计空间分析图3是本文提出预测缓存的基本结构。
其中k 、m 、n 是预测缓存的三个主要设计参数,k 表示预测缓存项的深度,m 表示虚拟地址宽度,n 表示第二级TLB 索引的宽度。
vld 是1bit 有效位,标志该表项是否有效,可见预测缓存中每个表项的宽度是m +n +1位。
pIndex 是j-TLB 表项地址的索引信息,其宽度n 是由j-TLB 表项个数(2n )所决定的。
假如pVPN 命中,则根据该信息直接索引到对应的j-TLB 表项。
k 是预测缓存的深度,在理想情况下,k 值越大(<2n 的情况下),参与预测比较的表项地址越多,即命中率越高,j-TLB 平均参与比较的表项就越少。
pVPN 是低m 位的虚拟地址信息,用来实现虚拟地址的比较,之所以选取低位比较,也是根据程序的空间局部性原理,程序执行访问的页面在较短时间内是比较靠近的,即VPN 的高位相同或者相近,而低位的区别比较大,因此选择低位就能更准确地预测相应的TLB 表项。
在不考虑其他因素的理想情况下,当m (m <2n的情况下)增加1,预测缓存的命中率就增加了一倍。
因此,不同预测缓存的参数配置会带来不同的预测结果,而设计预测缓存的考虑就集中在m 、k 的取值上,尽量达到性能和硬件开销的双赢。