




已阅读5页,还剩51页未读, 继续免费阅读
(计算机系统结构专业论文)基于tournament+caching的低功耗动态可重构cache研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
皋丁t o i l r n a m e n tc a c h i n g 的低功耗动态可蕈构c a c h e 研究 摘要 在当代计算机系统中,处理器的速度远远高于存储器的速度。c a c h e 技术是 提高数据访问性能的经典技术,在计算机系统的性能优化中发挥了重要的作用, 但c a c h e 同时也占据了计算机系统的大部分功耗。研究高性能和低功耗的c a c h e , 对于计算机系统,特别是嵌入式系统,有重要意义。 本文主要从动态可重构的角度研究嵌入式系统中c a c h e 低功耗技术,分析了 已有的高性能低功耗c a c h e 技术的不足,重点介绍了一种动态可重构c a c h e 设计 技术t o u m a m e n tc a c h i n g ,在此基础上提出了两种低功耗动态可重构c a c h e 模型。 第一种是适用于l 1i c a c h e 的不定路数变化的竞争c a c h e ,该c a c h e 模型对 t o u m a m e n tc a c h i n g 的调度策略进行了优化,并且在c a c h e 的运行过程中相联度 能够在1 ,2 或4 路之间变化,能够更快的适应程序运行时c a c h e 最优参数配置的 需要,从而进一步降低c a c h e 的功耗。 第二种是适用于l 2c a c h e 的快速自适应竞争c a c h e ,该c a c h e 模型基于l 2 c a c h e 容量大,功耗消耗多的特点,并且结合不定路数变化的竞争c a c h e 的优点, 相对传统组相联的l 2c a c h e ,能够明显降低功耗。 本文采用体系结构建模仿真工具s i m p l e s c a l a r 和、t t c h 搭建仿真平台,并在 其中嵌入本文所提出的两种动态可重构c a c h e 模型,然后在a r m 指令集上,对 m i b e n c h 的b e n c h m a r k 标准测试程序进行仿真。实验结果表明,相对t o u r n a m e c a c h i n g ,不定路数变化的竞争c a c h e 能够进一步降低2 0 的功耗,而延迟只增加 了o 6 ;相对传统组相联的l 2c a c h e ,快速自适应竞争c a c h e 能够平均降低将近 5 0 的功耗,而延迟只增加了o 5 7 。 关键词:低功耗;动态可重构;c a c h e ;不定路数变化;快速自适应 i i 硕上学位论文 a bs t r a c t i nm o d e r nc o m p u t e rs y s t e ma r c h i t e c t u r e ,c p u ss p e e di sm u c hf a s t e rt h a nt h e m e m o r y c a c h ei sac l a s s i c a lt e c h n i q u ef o rs p e e du pt h ed a t aa c c e s s i tc a nb r i d g eg a p b e t w e e nh i g h s p e e dp r o c e s s o r sa n dl o w - s p e e dm a i nm e m o r y i th a sa p p l i e di nm a n y a s p e c t so fc o n l p u t e rt e c h n i q u e ,b u th i g hp e r f o m a n c ec a c h ed i s s i p a t e s s i g n i f i c a n t e n e r g y o fc p u t h er e s e a r c ho fh i g hp e r f | o m a n c ea n dl o wp o w e rc a c h eh a s s i g n i f i c a n tm e a n sf o rt h ec o m p u t e rs y s t e m ,e s p e c i a l l yf o rt h ee m b e d d e ds y s t e m t h et h e s i sm a k e sad e e pi n v e s t i g a t i o ni n t oc a c h el o w - p o w e rt e c h n o l o g yo f e m b e d d e ds y s t e mf r o mt h ep e r s p e c t i v eo fd y n a m i c l yr e c o n f ;i g u r a b l e ,f o l l o w e db y a n a l y z i n gt h es h o r t c o m i n g so fe x i s t i n gc a c h et e c h n o l o g yo fh i g hp e r f o 彻a n c ea n d l o wp o w e r ,a n dt h e nf o c u s e so nt o u m a m e n tc a c h i n g ,ac a c h ed e s i g nt e c h n o l o g yo f d y n a m i c l yr e c o n l :i g u r a b l e o nt h i sb a s i s ,w ep r o p o s et w oc a c h e m o d e lo fl o wp o w e r d y n a m i c l yr e c o n 行g u r a b l e i n d e f i n i t e 、a yc h a n g i n gc a c h ew i t ht o u r n a m e n tc a c h i n gi s f i r s tp r o p o s e df o r l 1i c a c h e ,t h ec a c h em o d eo p t i m i z e dt h es c h e d u l i n gs t r a t e g yo ft b u m a m e n tc a c h i n g a n dc a nc h a n g et h ea s s o c i a t ed e g r e eo fc a c h eb e t w e e n1 ,2o r4w h e nt h ec a c h ei s r u n n i n g ,i t c a nf a s t l ya d a p tt ot h eo p t i m a lc a c h ep a r a m e t e r sn e e d so fp r o g r a m r u n t i m e ,s oi tc a nf u r t h e rr e d u c et h ep o w e rc o n s u m p t i o no f c a c h e t h eo t h e rc a c h e m o d e li sf a s ta d a p t i v ec a c h ew i t ht i o u r n a m e n tc a c h i n gf o rl 2 c a c h e t h ec a c h em o d e lb a s e do nt h ef e a t u r e so fl a r g e rc a p a c i t ya n dm o r ep o w e r c o n s u m p t i o no fl 2c a c 瓜ea n dc o m b i n a t e dt h ea d v a n t a g e so fi n d e f i n i t ew a y c h a n g i n g c a c h e ,c o n l p a r i n gt ot r a d i t i o n a ls e t a s s o c i a t ec a c h e ,i tc a ns i g n i f i c a n t l y r e d u c et h e p o w e rc o n s u m p t i o no fc a c h e i nt h i st h e s i s ,w eb u i l tas i m u l a t i o np l a t f o r i i lu s i n gs i m u l a t i o nt o o l so fw r a t t c ha n d e m b e d d e di nt h ed y n a m i c l yr e c o n 矗g u r a b l ec a c h em o d e l i nt h ea r m i n s t r u c t i o ns e t , s i m u l a t e dt h eb e n c h m a r ko fm i b e n c h t h ee x p e r i m e n t a lr e s u l t ss h o wt h a tc o m p a r i n g t ot b u r n a m ec a c h i n g ,i n d e f i n i t ew a yc h a n g i n gc a c h ew i t h7 r b u r n a m e n tc a c h i n gc a n 如r t h e rr e d u c e2 0p e r c e n to fa v e r a g ep o w e rc o n s u m p t i o n ,w h i l 9t h ed e l a yi so n l ya n i n c r e a s eo f0 6 a n dc o m p a r i n gt ot r a d i t i o n a ls e t - a s s o c i a t ec a c h e ,t h ef a s ta d a p t i v e c a c h ew i t ht o u r n a m e n tc a c h i n gc a nn e a r l yr e d u c e5 0p e r c e n to fa v e r a g ep o w e r c o n s u m p t i o n ,w h i l et h ed e l a yi so n l ya ni n c r e a s eo f o 5 7 1 1 1 基于t o u r n a m e n tc a c h i n g 的低功耗动态可莺构c a c h e 研究 k e yw o r d s : l o w e rp o w e r ; d y n a m i c i yr e c o n f i g u r a b i e ;c a c h e ; i n f i n i t ew a y c h a n g i n g ;f a s ta d a p t i v e i v 硕十学位论文 插图索引 图1 1 传统c a c h e v i c t i mc a c h e f i l t e rc a c h e 存储系统对比图2 图1 2 基于预测的f i l t e rc a c h e 的结构图【6 1 3 图1 3 两级f i l t e rc a c h e 访问流程图【7 】4 图3 1 传统组相联c a c h e 结构图1 7 图3 2t o u m a m e n tc a c h i n g 状态图18 图3 3i w c tc a c h e 状态图21 图3 4s 模式下c a c h e 替换事例2 2 图4 1f a tc a c h e 状态图2 5 图5 1s i m p l e s c a l a r 工具集的组成2 9 图5 2s i m p l e s c a l a r 的软件架构2 9 图5 3 动态可重构c a c h e 的仿真环境3 l 图5 4 参考系统的构成3 5 图5 5s i m o u t o r d e r 命令行参数变化3 6 图5 6 基于归一化能耗延迟积的t o u r n a m e n tl e n g t h 的效果3 7 图5 7 基于归一化能耗延迟积的a c c e s sb e t w e e nt o u r n a m e n t s 的效果3 7 图5 8 基于归一化能耗延迟积的t o u m a m e n tl e n g t h 的效果3 7 图5 9t o u m a m e n tc a c h i n g 运行各测试程序的c p i 3 8 图5 1o1 w c tc a c h e 运行各测试程序的c p i 3 8 图5 1 1 归一化的延迟3 9 图5 1 2t o u r n a m e n tc a c h i n g 运行各测试程序的平均访问能耗3 9 图5 1 3i w c tc a c h e 运行各测试程序的平均访问能耗3 9 图5 1 4 归一化的能耗4 0 图5 1 5 传统l 2c a c h e 运行各测试程序的c p i 4 0 图5 1 6f a tc a c h e 运行各测试程序的c p i 4 l 图5 17 归一化的延迟4 1 图5 1 8 传统的l 2c a c h e 运行各测试程序的平均访问能耗4 1 图5 1 9f a tc a c h e 运行各测试程序的平均访问能耗4 2 图5 2 0 归一化的能耗4 2 v i i 基于t o u r na l i l e n tc a c h i n g 的低功耗动态n j 重构c a c h e 研究 附表索引 表3 1t o u r n a m e n tc a c h i n g 计数器的工作状况1 8 表3 2i w c tc a c h e 计数器的工作状况2 2 表3 31 w c tc a c h e 的常量说明2 2 表4 1f a tc a c h e 的常量说明2 6 表4 2f a tc a c h e 计数器的工作状况2 6 表5 1e e m b c 性能测试基准程序3 3 表5 2m i b e n c h 的组成3 4 v u i 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取 得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献 的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法 律后果由本人承担。 作者签名:苟,、- j 九 日期:岬年 多月夕日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被 查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入 有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编 本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“”) 日期: 日期: 弘印9 | 年 ,月夕 日 引月夕日 硕_ 十学位论文 1 1 研究背景和意义 第1 章绪论 电子工艺的发展很大程度地提高了处理器的集成度和速度,但也使得功耗急 剧增加,功耗增加必然导致发热量增大,芯片稳定性降低,这给芯片的设计和封 装带来了很大的麻烦。另外,在广泛应用的移动设备中,过高的功耗损失会影响 电池的使用寿命。作为现代处理器重要组成部分的c a c h e 因容量大、速度快、访 问频繁,成为处理器芯片功耗的主要来源。在现代的c p u 中,c a c h e 的功耗约占 处理器总功耗的3 0 6 0 【1 1 。因此,通过设计低功耗c a c h e 可有效降低c p u 整体 功耗,这对于依靠电池供电的嵌入式系统显得尤为重要。 在现代计算机系统中,c a c h e 解决了高速处理器和低速主存之间的匹配问题, 显著地提高了系统性能。现在,c a c h e 已成为微处理器芯片不可缺少的组成部分, 是广大用户衡量系统性能优劣的重要指标之一。在半导体工艺水平还没有进入深 亚微米阶段,集成电路芯片集成度还不是很高的时候,集成电路设计者们在设计 中遇到的最大约束是系统的工作速度要求和芯片的最小面积要求,然后是可靠性 和测试问题,往往在设计成功后才考虑芯片如何散热的问题,功耗很少被当作一 个设计指标来系统地考虑。随着半导体工业的迅速发展,集成电路工艺水平进入 深亚微米乃至超深亚微米阶段,在2 0 世纪9 0 年代随着集成电路的工作速度和芯 片集成度的不断提高,集成电路芯片的功耗已经在很多设计领域成为了首要关注 的问题。随着c a c h e 容量的不断增长,c a c h e 在整个c p u 功耗中所占的比例越来 越大。在a l p h a2 1 2 6 4c p u 中,c a c h e 总共消耗了1 6 的总能量,在s t r o n ga r m s a l l o 处理器中,c a c h e 的功耗已经占到了整个处理器功耗的4 3 【2 1 。 高功耗首先带来的是供电时间的问题,嵌入式系统由于受系统尺寸和重量的 限制,其供电能力的增长有限,远远跟不上系统耗电量的增加。其次是集成电路 芯片的散热问题。集成电路系统消耗的能量绝大部分转化为热量散发出来,如果 芯片产生的热量不能及时有效地散发,就会导致芯片温度上升,影响电路的正常 工作。采用低功耗技术一方面可以减少芯片产生的热量,延长供电时间及降低电 路失效的可能性,另一方面也可以降低对芯片封装的要求,从而节省芯片的封装 成本。 研究高性能低功耗c a c h e 存储器是当前s o c 体系结构研究的重要方向之一。 在当前的高性能低功耗c a c h e 的研究中,动态可重构技术是新兴的研究热点,它 可以根据不同的任务情况,动态的调整c a c h e 的相联度和大小,以适应不同应用 的需求。 荩十t o u r n a m e n tc a c h i n g 的低功耗动态可霞构c a c h e 研究 1 2 高性能低功耗c a c h e 的相关研究 1 2 1c a c h e 体系结构及查询方法优化 为了达到高性能和低功耗的目的,提出了很多查询方法和体系结构的改进方 法。v i c t i mc a c h e 和f i l t e rc a c h e 是两种体系结构优化的c a c h e 。v i c t i mc a c h e 【3 】 m a i nm e m o d , 山 c a c h e 1 r c p u m a i l lm e m o 秽 上 v i c t i mc a c h e j c a c h e 山 c p u m a i l lm e m o w 0 c a c h e j f 订t e r c a c h e 上 c p u a ) 传统c a c h eb ) v i c t i mc a c h ec ) f i l t e rc a c h e 图1 1 传统c a c h e v i c t i mc a c h e f i l t e rc a c h e 存储系统对比图 是个小的全相联c a c h e 。它位于直接映象c a c h e ( 主c a c h e ) 和主存之间。v i c t i m c a c h e 中存放由于失效而被替换的那些块( 即v i c t i m ) 。访问过程中,如果主c a c h e 失效时,则访问v i c t i mc a c h e ,如果v i c t i mc a c h e 能命中,数据从v i c t i mc a c h e 中传送到主c a c h e ,主c a c h e 中替换出的块被移入c t i mc a c h e 。如果v i c t i mc a c h e 失效,则访问下一级存储器,将块直接传给主c a c h e 。同时主c a c h e 中替换出来 的块被放在v i c t i mc a c h e 中。j o u p p i 发现含4 项的v i c t i mc a c h e 能使一个4 k b 直 接映象数据c a c h e 的冲突失效减少2 0 9 0 【3 】。由于c t i mc a c h e 每次命中就伴 随一次v i c t i mc a c h e 和主c a c h e 的数据交换。为了排除这种频繁的操作,a n n e x c a c h e 增加了一个优先级位p ,结合有效位v 和比较命中信号t ,它可以过滤数 据让其绕过主c a c h e 而直接发送给c p u 【4 1 。 f i l t e rc a c h e 【5 】位于主c a c h e 与c p u 之间。它与传统c a c h e 的基本结构相同, 访问模式也相同。当c p u 读取一个指令时,首先访问f i l t e rc a c h e ,若命中,则 从f i l t e rc a c h e 中读取。只有当访问f i l t e rc a c h e 不命中时,才会访问c a c h e 。加 入的f i l t e rc a c h e 由于比c a c h e 更小,c p u 访问它更快,所以可以提高c p u 频率。 如果命中,可以在一定程度上提高性能并且节省能耗。但由于f i l t e rc a c h e 更小, 命中率更低,如果失效会使系统的性能下降和功耗增加。总之,f i l t e rc a c h e 的加 入,使得访问较大容量的c a c h e 的次数减少,因此可以从整体上降低系统的功耗。 实验结果表明功耗下降了5 8 ,但性能也损失了2 1 【5 】。由于传统的f i l t e rc a c h e 方法的主要问题是失效率较高,一旦f i l t e rc a c h e 不命中,就会导致性能和功耗的 2 硕f :学位论文 代价。为了解决这个问题,文献 6 提出了基于预测的f i l t e rc a c h e 方法。它能预 测下一条指令是否在f i l t e rc a c h e 中,如果不在,就直接访问指令c a c h e ,同时将 对应的块装到f i l t e rc a c h e 中。如果预测正确,就会降低由于访问f i l t e rc a c h e 不 命中而再转去访问指令c a c h e 带来的开销;缺点是如果预测失误,能量消耗将会 增加。它的结构图如图1 2 : 图1 。2 基于预测的f i l t e rc a c h e 的结构图 6 】 基于预测的f i l t e rc a c h e 能量之所以节省是由于重复执行小循环中的指令。对 于在小循环中的连续两次取指,它们的地址相差很小;也就是说,它们的标识字 段很可能相同,因此可以通过比较当前取指地址和预测的下一次取指地址得到标 识来预测下一次取指是否命中。而它的具体实现,需要在原有的c a c h e 结构上增 加了三个硬件:一个n p 表( n e x t a d d r e s sp r e d i c t i o nt a b l e ) ,每个项目四位,项数 和f i l t e rc a c h e 的块数相同。一个l a s t 1 i n e 寄存器,用于存放上一次访问的f i l t e r c a c h e 的块号。一个用于比较当前取指地址的t a g 与对应的n p 表项的值是否匹配 的比较器。通过这三个硬件来判断现在是否处于循环体中,若是在循环体中,则 访问f i l t e rc a c h e ,反之则访问指令c a c h e 。并且会随时更新f i l t e rc a c h e 中的数据。 两级f i l t e rc a c h e 是f i l t e rc a c h e 的另一种改进形式【7 】。它分为两级结构。其 中第一级f i l t e rc a c h e 是一个块的缓冲器( s i n 9 1 eb l o c kb u f f e r ) ,第二级f i l t e rc a c h e 是哨兵标识( s e n t r yt a g ) 。哨兵标识包含标识的部分位,对这几位标识进行预先比 较,可以排除标识不匹配的c a c h e 块,从而避免了能量消耗。它的工作流程如图 1 3 所示:当c p u 给出的访问地址同时发送给l 1f i l t e rc a c h e 和l 2f i l t e rc a c h e 基于t o u r n a m e n tc a c h i n g 的低功耗动态可蓖构c a c h e 研究 后,l 1f i l t e rc a c h e 检查是否包含c p u 所需的数据,译码器译码和哨兵位的比较 也同时完成。如果l lf i l t e rc a c h e 快速命中,则c p u 从中读取数据, l 2f i l t e r c a c h e 中的剩余操作将不再执行;如果l 1f i l t e rc a c h e 失效,则执行l 2f i l t e rc a c h e 的后续操作;如果哨兵位不匹配,则可以提前报告c a c h e 失效,如果有一个以上 的符合,那么则访问这些块,并且比较剩余的标志位,若匹配,则c a c h e 命中, 否则报告失效。 访问地址 c a c h em i s sc a c h eh i t f a s th i t 图1 3 两级f i l t e rc a c h e 访问流程图【7 】 路预测法是较早提出的基于查询的c a c h e 优化方法【8 1 。传统组相联c a c h e 中, t a g 的比较和数据的读取是并行同步的。数据读出的同时,也得到了t a g 的比较结 果,然后选择正确的数据读出或者报告缺失,但能量消耗比较大,如果是4 路, 则有3 个c a c h e 块的读是无用的。一般的p h a s e dc a c h e 是先用一个时钟周期进行 t a g 位的比较i9 1 ,选出正确的块以后再读取,这样的话减少了能量的无谓消耗,但 是也增加了访问的时间。而路预测法是利用程序的局部性原理,通过一个m r u 表来记录每个组中最近最多使用的路,从而对下一次访问的组中的块作出预测。 当c p u 给出一个c a c h e 地址时,先访问该组中m r u 记录的那一路,若不命中则 并发访问剩下的块。从而节省了c a c h e 的功耗。但是如果预测不命中,则会增加 访问的时间。路预测法是一种比较经典的c a c h e 结构,在路预测中,预测的准确 性成了性能和功耗的关键,因此很多学者都给出了基于路预测改进的方法。 z h i c h u nz h u 提出的访问模式预测是一种将路预测和p h a s e dc a c h e 结合在一 起的模型 1 0 】。由于路预测的方案中预测率的好坏直接决定了其性能和功耗,而不 同的应用程序中,预测的准确率也不尽相同。因此模式预测就是再加一个预测器 来预测当前运行的程序是否适合路预测法。若当前的指令适合路预测,则使用路 4 硕上学位论文 预测法来访问c a c h e ,反之则采用分步访问的方法。m i c h a e ld p o w e l l 提出了一种 使用路预测和可选择直接映象相结合的方法来降低片上c a c h e 的功耗【1 1 1 。经过他 的分析和研究,路预测方法在指令c a c h e 中有着不错的效果,但是在数据c a c h e 中,由于程序局部性特征不是很明显,因此在数据c a c h e 中路预测的效果没有可 选择直接映象方法的效果好。可选择直接映象是将大部分的数据采用直接映象而 将一部分有冲突的数据采用组相联【l2 1 。而组相联的那部分中t a g 阵列部分采用的 是组相联,而d a t a 部分是直接映象,因此它的d a t a 部分是可以直接读取而不需要 进行多路选择的。这两个部分是串行工作的,即读取t a g 部分以后再到d a t a 阵列 中读取。在收到c p u 给出的地址后,直接映象部分和组相联的部分是并行工作的。 而在组相联的t a g 读取时,还是采用路预测的方法。 路中断c a c h e ( w a y - h a l t i n gc a c h e ) 【1 3 】是在一个组中尽可能的排除错误的路,最 后再访问那些没有被排除的路。路中断c a c h e 的核心思想是将标志符中的后几个 位提前进行比较,由于后几位的随机性较大,当比较3 位的时候,可以排除6 7 左右的错误路,而比较4 位的时候,可以排除7 2 左右的错误路。c p u 给出地址 后,同时传送到部分位比较器和译码器,两个元件的工作是并行的。当译码结束 后,该组的提前比较也结束。再将该组比较后不符合这几位的路都中断,只访问 符合的路,因此大大的节省了能量的消耗,同时没有造成性能的损失。只是由于 必须在译码结束前就开始比较,因此不能得到相应的组号,只能同时比较所有 c a c h e 组中的路,会增加不少元件,相对节省的能耗,还是可以接受的。 部分地址匹配( p a n i a la d d r e s sm a t c h i n g ) c a c h e 【1 4 】也是一种基于查询的c a c h e 优化方法,它将c a c h e 的标识部分划分为两个存储器数组:m d ( 主存地址目录) 和p a d ( 部分地址目录) 。p a d 包含地址标识信息的部分位,而m d 包含除p a d 中部分位的完全的地址标识信息。首先,由p a d 给出的标识比较结果用于路选择。 使用m d 的完全标识比较也同时运行,但它只用于确认p a d 比较的结果。由于 部分地址目录比较的数据少而使用简单的比较器,所以减少了平均访存时间,提 高了性能。传统的组相联c a c h e 根据索引驱动相应组中的所有块( 如果是4 路组相 联c a c h e ,相应组中就有4 块) ,然后敏感放大器会放大所有块的标识部分和数据 部分位线信息,再通过比较器来决定是否命中。部分比较( p a n i a lc o m p a r i s o n ) c a c h e 采用部分位比较思想,提出将数据部分的位线信号延迟等待到标识部分比 较结果出来之后再由敏感放大器放大【l5 1 。也就是说只有标识命中的那一路信号才 被敏感放大器放大,从而节省大量的能耗。为了缩短敏感放大器等待标识比较结 果的时间,在c a c h e 结构中又加入了一个小的标识阵列,它只包含了原标识中的 最后几位,并由一个比较器单独进行比较,比较结果作为数据部分敏感放大器的 使能信号。同时剩下的其他几位标识符仍然按照传统方式放大比较,它们比较的 结果仍然作为最后选择输出的依据。由于同一组中两个不同的标识地址中至少有 5 基于t o u r n a m e n tc a c h i n g 的低功耗动态可重构c a c h e 研究 一位是不相同的。差异位( d i f f e r e n c eb i t ) c a c h e 通过差异位的比较结果来选择相应 的路【1 6 】。差异位的位置和值保存在差异存储器中。差异位虽然能用来选择相应的 路,但不能验证命中或者失效。但是能否最终命中,仍然需要标识部分的比较结 果来决定。 如果说路预测c a c h e 是在一个组中预测正确的块,那么路中断c a c h e 则是在 一个组中尽早精确地排除错误的块【1 7 】。路中断c a c h e 与传统的4 路组相联c a c h e 相比,在结构上将标识阵列分为暂停标识阵列( h a l tt a ga r r a y ) 和标识阵列( t a g a r r a y ) 。前者用于存储每个标识的低4 位,后者用于存储剩余的标识位。暂停标 识阵列能够在组索引译码的同时并行与目标地址的低4 位进行比较,并且暂停标 识阵列比较过程不会比组索引译码慢,也就不会延长关键路径而带来性能损耗。 组索引译码的输出结果必须和暂停标识阵列比较结果做与非运算。换句话说,只 有当标识的低4 位匹配时,c a c h e 才能继续存取数据阵列。如果暂停标识阵列不 匹配,后续的标识阵列和数据阵列的存取操作将会中断。显然这种方式能够在有 效地节省能耗的同时不会对命中率产生影响。 1 2 2c a c h e 的低功耗可重构技术 虽然近几年对可重构研究比较多,但大都还没有形成阶段性的成果,需要更 多的研究和分析,包括对c a c h e 功耗和整个处理器系统加外围总线和片外存储器 的功耗建模,对程序特性的仿真分析和对可重构算法的研究。 对于c a c h e 的重构,可以分为三种:一种是通过仿真为每个程序确定优化的 c a c h e 结构参数;第二种则是为每个程序指定大小的指令片断找到优化的c a c h e 结构参数,这两种可重构算法称为静态重构算法;最后一种则是在一个程序运行 的不同阶段,根据程序对系统资源的要求,动态监控程序运行状态,自动选择功 耗最低的c a c h e 结构,这种可重构算法被称为动态可重构算法。静态可重构算法 相对于动态可重构算法来说,优点在于简单,易于实现,缺点则在于需要预先了 解程序的阶段运行特性才能选取优化的结构,从而限制了其实用性。因此,动态 可重构算法更接近实际情况,具有较广的应用价值。 动态可重构技术研究主要有两类:调整相联度和调整容量的方法【l8 1 。相联度 很大程度上影响着c a c h e 的能耗。例如,在一次访存过程中,直接映象c a c h e 消 耗的能量比传统4 路组相联c a c h e 消耗的能量小得多。这是因为它只需要访问1 个标识和1 个数据阵列,而不是4 个标识和4 个数据阵列。在相同的容量下,一 次访问直接映象c a c h e 的能耗仅占相应4 路组相联c a c h e 能耗的3 0 【1 9 】。但是直 接映象c a c h e 拥有高失效率,这导致更多能量消耗在与下级存储设备的数据交换 中,也就是说,从平均访存能耗的角度来看,4 路组相联c a c h e 要优于直接映象 c a c h e 。因此,调节可重构c a c h e 的参数以适应特定应用的需要可以降低6 2 的 平均存储器访问能耗【2 0 1 。 6 硕卜学位论文 路连接( w a v c o n c a t e n a t i o n ) c a c h e 是一种可重构c a c h e 【2 1 1 ,可以根据不同的 任务情况,动态的调整c a c h e 的相联度( 2 路,4 路或者为直接映象) 来满足应用的 需要以节省能耗。它在结构上添加了一个构造电路,同时将解码器后面的第一个 反向器替换成与非门。构造电路由r e g o 和r e 9 1 ( 两个1 位寄存器) ,再加上处理 器产生的物理地址中的两位组成,它可以产生c o ,c 1 ,c 2 ,c 3 四个信号。当r e g o 和r e 9 1 值都为1 时,此时为4 路组相联c a c h e ;当r e g o 和r e g l 值都为o 时,为 直接映相c a c h e ;其他情况,为2 路组组相联c a c h e 。从时间和面积代价角度考虑, 构造电路只有四个或门和四个与门,面积很小可以忽略不计。而在关键路径上, 则通过增大晶体管的大小来获得更快的速度,从而弥补性能代价。另外,路连接 c a c h e 与路关闭( w a y s h u t d o w n ) 技术结合使用,可以进一步地减少静态功耗。 处理器执行程序可以分成控制类和数据处理类,静态方式在程序执行之前根 据程序特点,处理器首先向组选择寄存器写入相应的控制字来完成映射组的选择。 动态调节方式则是在程序执行过程中,通过判断命中次数来动态分配映射组或者 组内的数据块。文献 2 2 】提出一种静态可控功耗的数据c a c h e 设计方案,它通过 静态调节组映射策略,根据应用程序的自身特点调节数据c a c h e 的容量大小,并 且给出了一种合理的伪l r u 替换算法,在保证高性能的同时降低了能量损耗。 c a c h e 系统的设计应该在运行各种不同的应用程序时均有较好的性能,但事 实上各种程序表现出不同的特点。比如压缩解压缩算法程序需要的指冷比较少, 却要处理大量的数据;相反,一些编译程序需要执行的指令非常多,但是数据量 较少。对于同一容量和结构的c a c h e ,可能造成某种c a c h e 失效率非常高,但同 时另外一种c a c h e 却部分闲置未用。 滑动c a c h e 方案可以随着不同程序的需求,将一种c a c h e 的闲置未用部分给 另外一个需要增大容量的c a c h e 使用,而不是简单地关闭这些部分【2 3 1 。它包含指 令c a c h e 块( i c a c h e ) 、数据c a c h e 块( d c a c h e ) 和滑动c a c h e 块( s c a c h e ) 三个部分。 滑动c a c h e 可以综合考虑程序对指令c a c h e 和数据c a c h e 的实时需要,进而通过 仲裁机制动态决定s c a c h e 是用来扩充i c a c h e 的容量,还是用来扩充d c a c h e 的 容量,或者是休眠。这种方法不但降低了c a c h e 的动态功耗和静态功耗,而且性 能也有所提高。 c p u 动态电压和c a c h e 动态可重构两者结合的方法可以减少整个系统的功耗 【2 4 1 。它根据当前的任务量的大小,在不影响完成时间的前提下,通过动态的调整 c p u 的电压,来控制c p u 的运算速度,同时动态的关闭一些c a c h e 组,从而调 整正在工作的c a c h e 容量大小。 1 2 3 其他c a c h e 优化方法 文献 2 5 中提出了一种动态c a c h e 压缩策略,动态调节c a c h e 压缩的代价和 利益,利用l 1 和l 2 两级c a c h e ,其中l 1c a c h e 中存放压缩代码,l 2c a c h e 根据 7 幕于t o u r na i l l e n tc a c h i n g 的低功耗动态町重构c a c h e 研究 配备的全局计数器来判断存放的是压缩或非压缩代码,这种c a c h e 结构能有效提 高性能和降低功耗。 虚拟c a c h e ( v i r t u a l a d d r e s s ) 直接用处理器给出的虚拟地址进行c a c h e 的匹 配命中,从而可省去存储器管理部件的地址转换时间【2 们。当c a c h e 不命中时,仍 需进行地址转换。直接用虚拟地址访问c a c h e ,在命中时可以省去虚实地址转换 的时间,然而,一般在设计时并非都采用虚拟c a c h e 。这是因为每当系统进行进 程切换时,由于新进程的虚拟地址( 有可能与原进程的相同) 所指向的物理空间与 原进程的不同,即同一虚拟地址会指向不同的物理地址。同样,也会产生同一物 理地址有不同的虚拟地址来访问,它们可能会导致同一数据在虚拟c a c h e 中有不 同的副本,则当其中一个被修改再使用另一个数据就会产生出错。采用进程标识 p i d 也可以很方便解决同义的问题。例如,在设计a r m 架构嵌入式处理器时, 把协处理器的某个3 2 位寄存器作为p i d 寄存器,其中 3 1 :2 5 ) 作为p i d 标识符字 段,与地址标识t a g 一起访问c a c h e ,其余下的2 5 位 2 4 :o ) 则作为页着色( p a n e c o l o r i n g ) 来处理同义问题,在操作系统配合下,使同义地址的最后2 5 位地址相同, 这样在c a c h e 中不可能出现一个c a c h e 行有重复物理地址的情况。 文献 2 7 】为了减少以地址偏移为主要寻址方式的精简指令处理器中数据 c a c h e 的功耗,提出一种利用基地址相关的低功耗数据c a c h e 设计方案。它充分 利用读写指令相对于基地址的关联性来减少对c a c h e 的数据存储器和标识存储器 的访问次数。通过采用两个数据结构来保存组选择信息:一个与通用寄存器一一 对应的有效位表用来保证基地址仍然维持在原c a c h e 行;一个组选择信息表用来 记录最近的c a c h e 访问的组选择信息,减少了比较代价,节省了能耗。 从现有的研究成果看,关于c a c h e 的低
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025药师真题及答案
- 节约节能试卷及答案
- 《电梯结构与原理》期末考试卷1
- 水泥理论试题及答案
- 2025年广州初中英语试卷及答案
- 中小学校长教师交流轮岗实施方案
- 数字化转型背景下2025年食品饮料行业电商运营与营销策略优化报告
- 桥梁建设跨年工程方案(3篇)
- 酒店工程-解决方案(3篇)
- 2025年度房屋买卖合同范本
- 引进新药申请表
- 浙江省医疗机构制剂许可证换发证检查标准
- 《上消化道出血诊疗指南》讲稿
- 公路工程危险性较大方案编制要点及模板
- 项目投资专项审计报告
- 寻乌一中电子画册课件
- 2021新高考语文Ⅰ卷现代文阅读Ⅱ小说《石门阵》赏析及试题详细解析
- 人力资源管理专业人才需求分析报告
- 河北省基础教育教学成果奖申请书
- 【课件】 体量与力量-雕塑的美感 课件-2022-2023学年高中美术人美版(2019)美术鉴赏
- 万玮:《班主任兵法》
评论
0/150
提交评论