基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf

上传人:小小飞 文档编号:3581542 上传时间:2019-09-13 格式:PDF 页数:51 大小:1.63MB
返回 下载 相关 举报
基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf_第1页
第1页 / 共51页
基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf_第2页
第2页 / 共51页
基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf_第3页
第3页 / 共51页
基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf_第4页
第4页 / 共51页
基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf》由会员分享,可在线阅读,更多相关《基于路访问轨迹和路休眠的高速缓存低功耗研究.pdf(51页珍藏版)》请在三一文库上搜索。

1、浙江大学硕士学位论文 A b s t r a c t A b s t r a c t A si n t e g r a t e dc i r c u i tm a n u f a c t u r ep r o c e s se n t e r sd e e ps u b m i c r o na n de x t r ad e e p s u b m i c r o na g e ,t h ei n t e g r a t i o nl e v e ld o u b l e sc o n t i n u o u s l yw i t he v e r - i n c r e a s i n g

2、c h i p s p e e da n dp e r f o r m a n c e W r i 血t h en u m b e ro ft r a n s i s t o r so n ac h i pk e e p i n gb e i n gl a r g e r , t h ee n e r g yd i s s i p a t i o ni sg o i n gh i g h e r L o wp o w e ra n dh i g hp e r f o r m a n c ee m b e d d e d m i c r o p r o c e s s o rw i l lb e

3、am u s tf o rp o r t a b l ea n dm o b i l ed e v i c e si nf u t u r e Al o w - p o w e r i n s t r u c t i o nc a c h eb a s e do nw a y - a c c e s st r a c ka n da l o w p o w e rd a t ac a c h eb a s e do n w a y - d o z ea r ep r e s e n t e di nt h i sp a p e r Al o wp o w e rs e t - a s s o

4、c i a t ei n s t a m c t i o nc a c h eb a s e dO nw a y - a c c e s st r a c ki s p r o p o s e dt or e l i e ft h ee n e r g yc o n s u m p t i o no fi n s t r u c t i o nc a c h e R e d u n d a n tt a gc h e c k s a n da C C e S S e So fu n r e l a t e dd a t aa r ee l i m i n a t e db ye s t a b

5、 l i s h i n gw a y - a c c e s st r a c kr e c o r d i nm o d i f i e di n s t r u c t i o nc a c h ea n db r a n c ht a r g e tb u f f e r V a r i o u sw a y a c c e s st r a c k r e c o r dm a i n t a i n i n gs t r a t e g i e si sp r o p o s e dt or e d u c er e e s t a b l i s h m e n to ft r

6、a c kr e c o r d , w h i c hi m p r o v et h eu t i l i z a t i o no ft h e s er e c o r d s E x p e r i m e n t ss h o wt l l 她c o m p a r e dw i t h t r a d i t i o n a li n s t r u c t i o nc a c h e ,w a y a c c e s st r a c kc a c h ea c h i e v e sar e d u c t i o no fa c c e s s e s o f t a g

7、a n dd a t a , w h i c hi so n l y2 4 0 a n d2 6 8 0 o f t r a d i t i o n a li n s t r u c t i o nc a c h e A l o w - p o w e rd a t ac a c h eb a s e do nw a y - d o z ei sp r o p o s e d t or e l i e ft h ee n e r g y c o n s u m p t i o no fd a t ac a c h e U s eg a t e d - p o w e r - s o u r c

8、 et e c h n o l o g yt os w i t c ho f f l o n g - t e r mu n u t i l i z e dc a c h el i n e sa n dl e a k a g ee n e r g yo ft h e s ec a c h el i n e si ss a v e d M o r e o v e r , v a r i o u sa p p l i c a t i o n sa r es t u d i e df o ro p t i m u md o z et h r e s h o l d s T h e na c o n f

9、 i g u r a b l eg l o b a ld o z et h r e s h o l dr e g i s t e ri sp r o p o s e df o rm e e td i f f e r e n tt h r e s h o l d r e q u i r e m e n t s6 fd i f f e r e n ta p p l i c a t i o n s E x p e r i m e n t ss h o wt h a t ,i nb e s tc a s e s ,l e a k a g e e n e r g yo f d a t ac a c h

10、el i n e si so n l y9 13 o ft r a d i t i o n a ld a t ac a c h e n l i sr a t i o ,i nw o r s t c a s e s s t i l lr e m a i n s3 4 7 K e y w o r d s :E m b e d d e dM i c r o p r o c e s s o r ;L o w - P o w e r ;I n s t r u c t i o nC a c h e ;D a t aC a c h e ; B r a n c hT a r g e tB u f f e r

11、;W a y - A c c e s sT r a c k ;W a y - D o z e ;G a t e d P o w e r - S o u r c e 4 浙江大学硕士学位论文目录 目录 致谢2 摘要3 A b s t r a c t 4 图目录6 表目录7 第1 章绪论1 1 1 研究背景与意义1 1 2 论文的技术路线2 1 3 论文的研究基础3 1 4 论文研究内容和组织结构3 第2 章高速缓存概述5 2 1 高速缓存原理5 2 2 高速缓存的功耗分析7 2 3 高速缓存低功耗技术的研究现状9 第3 章路访问轨迹指令高速缓存低功耗技术研究1 3 3 1 基于路访问轨迹的指令高

12、速缓存低功耗方法1 4 3 1 1 基于路访问轨迹信息的低功耗策略1 4 3 1 2 路访问轨迹信息的维护1 5 3 1 3 实验结果与分析2 l 3 2 本章小结2 8 第4 章路休眠数据高速缓存低功耗研究2 9 4 1 基于路休眠的数据高速缓存低功耗策略2 9 4 1 1 路休眠低功耗策略3 0 4 1 2 实验结果与分析3 2 4 2 本章小结3 8 第5 章总结与展望3 9 5 1 论文研究工作总结3 9 5 2 今后工作展望4 0 参考文献4 l 作者简历4 7 S 图目录 图1 1 嵌入式系统结构1 图2 1 计算机系统的基本存储架构5 图2 2 处理器访存结构6 图3 1 跨行访

13、问路指针1 5 图3 2 转移访问路指针1 5 图3 3 不同的S W P 、T W P 维护策略的C a c h e 结构1 6 图3 4 不同的T W P 维护策略的B T B 结构1 7 图3 5 路访问轨迹指令高速缓存及转移目标缓存的工作流程1 7 图3 6 单缓存行访问时路轨迹信息的维护1 8 图3 7 多缓存行访问时路轨迹信息的维护1 9 图3 8 缓存行替换时路轨迹信息的维护2 0 图4 1 利用N M O S 电源门控集体管的静态随机访问存储器单元3 l 图4 2 路休眠缓存行的控制电路结构3 2 6 浙江大学硕士学位论文表目录 表目录 表3 11 K3 3 2 - c a c

14、 h e 的访问情况2 1 表3 22 K3 3 2 - c a c h e 的访问情况2 2 表3 34 K3 3 2 - c a c h e 的访问情况2 2 表3 41 K1 3 2 一c a c h e ,3 3 2 - c a c h e 的低功耗跨行访问比例2 3 表3 52 K1 3 2 - c a c h e ,3 3 2 - c a c h e 的低功耗跨行访问比例2 4 表3 64 K1 3 2 - c a c h e ,3 3 2 - c a c h e 的低功耗跨行访问比例2 4 表3 71 K3 1 1 - c a c h e ,3 2 1 - c a c h e ,

15、3 3 1 - c a c h e 和3 3 2 - c a c h e 低功耗转移访问2 5 表3 82 K3 1 1 - c a c h e ,3 2 1 - c a c h e ,3 3 1 - c a c h e 和3 3 2 - c a c h e 低功耗转移访问2 6 表3 94 K3 1 1 - c a c h e ,3 2 1 - c a c h e ,3 3 1 - c a c h e 和3 3 2 - c a c h e 低功耗转移访问2 7 表4 1 不同容量数据高速缓存下基准程序的数据访问缺失次数3 2 表4 2b c n t 的闲置阈值3 3 表4 3q u r t

16、的闲置闽值3 4 表4 4c r c 的闲置阈值3 4 表4 5e n g i n e 的闲置阈值3 4 表4 6p o c s a g 的闲置阈值3 5 表4 7u c b q s o r t 的闲置阈值3 5 表4 8a d p c m 的闲置阈值3 5 表4 9f i r 的闲置阈值3 6 表4 1 0d e s 的闲置阈值3 6 表4 1 1b l i t 的闲置阈值3 6 表4 1 2c o m p r e s s 的闲置阂值3 6 表4 1 3v 4 2 的闲置阈值3 7 7 浙江大学硕士学位论文 第1 章绪论 第l 章绪论 1 1 研究背景与意义 自第一台通用电子计算机研制成功以

17、来,计算机技术在多年来取得了令人瞩 目的发展。相比过去,如今的计算机具有更高的性能、更大的存储器和磁盘空间。 这一高速发展既得益于计算机实现技术的进步,同时也离不开计算机设计方法的 创新。嵌入式系统作为计算机应用领域中一个高速发展的分支,其发展前景日益 广阔。嵌入式系统的一般定义是以应用为中心,以计算机技术为基础,软硬件可 裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计 算机系统。一般而言,嵌入式系统可以分成四个部分:处理器、存储器、输入输 出和软件,其中软件包括应用软件和操作系统。嵌入式微处理器作为嵌入式系统 的核心,具备很强的实时多任务支持能力、存储区保护功能、可扩

18、展的结构和很 低的功耗【1 】。图1 1 所示的是一个典型嵌入式系统的结构框图。其中嵌入式处理 器通过总线来达到和各个I P 交互的行为。嵌入式处理器是整个嵌入式系统的核 心部件。 图1 1 嵌入式系统结构 随着集成电路工艺进入深亚微米和超深亚微米阶段,芯片的集成度不断增加, 1 浙江大学硕士学位论文第1 章绪论 时钟频率的不断提高,芯片的整体性能也随之提升。但由于单位面积上集成的晶 体管数量的持续增加,芯片的功耗也不断的攀升。依赖于电池供电的移动设备, 如手机、个人数字助理、平板电脑等,要尽量利用有限的电池容量,延长工作时 间,就必须采用低功耗的设计方案。另外由于单位面积的功耗持续上升,电路

19、的 散热和可靠性问题也逐渐凸显。当今嵌入式处理器的典型代表是A R M 系列处理 器,提高性能和降低功耗是目前A R M 系列处理器面临的主要挑战,性能和功耗 两个因素已经成为嵌入式处理器的重要设计指标f 2 】。 处理器运算速度的持续提高必然要求系统中存储器存取速度的相应提高,同 时日益复杂的程序需要更大的存储器容量。存储器容量的提高较为迅速,但读取 时间的提高却相对较慢,因而在速度上与处理器不匹配,影响整个系统的性能。 在两者之间加入高速缓冲存储器可以解决这个问题。随着容量的增加、速度的提 高,高速缓存的功耗在处理器整体功耗中所占的比重也越来越大,功耗越来越显 著。研究表明,S t r o

20、 n g A r mS A 1 1 0 中高速缓存的功耗占处理器总功耗的4 3 【3 】, P e n t i u mP r o 中高速缓存的功耗占处理器总功耗的3 3 f 4 l ,A l p h a2 1 2 6 4 中高速缓 存的功耗占处理器总功耗的1 6 【5 】。高速缓存的低功耗设计已成为处理器低功耗 设计的主要关注点之一。 1 - 2 论文的技术路线 随着嵌入式应用的日益普及,嵌入式处理器的功耗已成为重要的技术指标。 而其中高速缓存单元的功耗占整个嵌入式处理器总功耗的比重也越来越大。提高 高速缓存的功耗效率可以为高性能、低功耗嵌入式处理器的研究设计提供强有力 支持。本文的研究课题主

21、要围绕嵌入式处理器中的高速缓存单元的低功耗设计, 分析了现有嵌入式处理器中高速缓存单元的低功耗技术,分别针对指令高速缓存 和数据高速缓存提出了进一步优化方案。 高速缓存单元的功耗主要分为动态功耗和静态功耗。动态功耗包括标志位存 储器的访问、比较功耗和数据存储器的访问功耗。尤其在组相联高速缓存中,冗 余路的访问功耗占较大的比重,成为许多研究优化的核心问题。现有的低功耗策 2 浙江大学硕士学位论文第1 章绪论 略存在着对程序局部性依赖较强、性能损失严重和硬件开销大等问题。随着集成 电路工艺进入深亚微米和超深亚微米阶段,电源电压不断减小,为了保持高性能, 晶体管阈值电压随之降低,使得静态功耗不断攀升

22、。由于芯片上集成的晶体管数 量持续增长,静态功耗占整体功耗的比例也不断增高。如今静态功耗己成为总功 耗中的一个重要因烈副。按目前的发展趋势,预计在今后的三代处理器之内,芯 片的静态功耗就会与动态功耗相割7 】【剐。高速缓存的面积占总芯片面积的比例相 当高,而其静态功耗主要由高速缓存行中静态随机访问存储器的漏电流引起。所 以如何减少不动作的闲置高速缓存块则成为研究的重点。 本文将分析嵌入式处理器中指令和数据的访问特点,并以此出发重点研究效 率高、简单易实现的指令高速缓存和数据高速缓存低功耗优化方案。 1 3 论文的研究基础 本文的研究基于浙江大学和杭州中天微系统公司联合研制的C K 5 1 0

23、系列嵌 入式处理器及其设计平台。C K 5 1 0 是杭州中天微系统公司的第一代精简指令集嵌 入式处理器。本文的研究内容主要基于C K 5 1 0 处理器,并为其今后的设计研究提 供新的设计理论的支持。 1 4 论文研究内容和组织结构 本文的研究基础是杭州中天微系统公司的C K 5 1 0 嵌入式处理器及其设计平 台,重点围绕嵌入式处理器的高速缓存低功耗技术展开研究。本文的主要研究内 容和创新点包括一下内容: 1 基于路访问轨迹的指令高速缓存低功耗策略 通过分析对比现有的指令高速缓存低功耗方案,分析现有方案的优势和劣势, 针对指令高速缓存的连续访问特性,提出了一种基于路访问轨迹的指令高速缓存

24、低功耗策略。利用改进的指令高速缓存和转移目标缓存建立和维护运行时指令高 速缓存的路访问轨迹来减少指令高速缓存命中检测及无关路访问。进一步提出了 基于跨行访问前驱指针、转移前驱状态、转移前驱指针及转移目标索引的路访问 3 浙江大学硕士学位论文 第1 章绪论 轨迹信息维护策略用以降低信息重建的频度,从而更有效地利用已建立的路访问 轨迹信息,显著降低了指令高速缓存的功耗。 2 基于路休眠的数据高速缓存低功耗策略 基于现有的电路级门控开关管方案,针对数据高速缓存相对离散的访问特性, 提出了一种基于路休眠的数据高速缓存低功耗策略。该策略利用门控电源技术实 现对于数据高速缓存行的通断控制,有效消除高速缓存

25、内长期闲置的缓存行的静 态功耗。通过分析不同的应用行为,进一步提出全局可配的闲置阈值寄存器以适 应不同应用对于闲置阈值的不同要求,显著降低了数据高速缓存行的静态功耗。 本文的组织结构如下: 第一章为绪论,讨论了嵌入式处理器高速缓存单元低功耗技术的研究背景和 研究意义,在此基础上提出了优化现有高速缓存功耗的技术路线,明确了C K 5 1 0 嵌入式处理器及其平台为本文的研究基础,对本文的主要研究内容和创新点进行 了概括。 第二章介绍了处理器高速缓存的基本结构和原理,分析了高速缓存的设计指 标以及需要注意的问题,并在此基础上分析了高速缓存的单元的功耗组成。同时 就目前业界主流的高速缓存低功耗技术进

26、行了介绍和分析。 第三章分析了指令高速缓存的连续访问特性,提出了一种基于路访问轨迹的 指令高速缓存低功耗策略,利用改进的指令高速缓存和转移目标缓存建立和维护 运行时指令高速缓存的路访问轨迹来减少指令高速缓存命中检测及无关路访问, 明显降低了指令高速缓存的无关路访问。 第四章分析了数据高速缓存的相对离散的访问特性,提出了一种基于路休眠 的数据高速缓存低功耗策略,通过门控电源控制数据高速缓存行的通断,有效消 除高速缓存内长期闲置的缓存行的静态功耗,显著降低了数据高速缓存行的静态 功耗。 第五章对全文进行了总结,并展望了下一阶段的研究工作。 4 浙江大学硕士学位论文 第2 章高速缓存概述 第2 章高

27、速缓存概述 2 1 高速缓存原理 程序对存储器容量和运算速度的期望是无限的,而存储器的容量和访问速度 往往是相互制约的。同时处理器运算速度与存储器访问速度的巨大差距也限制了 整个计算机系统的运算速度。为了使指令和数据的访问速度适应处理器的处理速 度,一种较为经济、有效的方法就是利用局部性原理采用一定的存储器层次结构, 如图2 1 。程序的局部性原理认为程序经常会重复使用它最近使用过的指令和数 据,程序花费9 0 的执行时间来执行1 0 的代码。程序存在两种类型的局部性: 时间局部性和空间局部性。时间局部性是指最近访问过的内容很可能即将被再次 使用;空间局部性原理是指地址邻近的内容可能在一定时间

28、内被连续使用。处理 器总是通过总线请求访问外部存储器,需要较长的访问周期。由于越小的存储器 其速度越快,只要使用一个较小并且较快的高速缓存来存储最近使用的指令或数 据,便可以使计算机系统的性能得到较大的提升。另外指令和数据一般具有不同 的局部性特性,为了提高存储访问的带宽同时降低两者的相互影响并简化总线, 具体的硬件实现中一般采用改进哈佛结构,即一级缓存采用分离的指令高速缓存 和数据高速缓存,二级缓存为指令和数据共用的统一缓存。 S i z e :5 0 0b y l s 培e d :2 5 0O s 6 4K B I 悠 1G B 1 0 0r l s 11 1 3 1 0m s 图2 1

29、计算机系统的基本存储架构 高速缓存主要由缓存行组成,如图2 2 。包括标志位和数据块。标志位存储 S 浙江大学硕士学位论文 第2 章高速缓存概述 指令或数据地址的高位用以匹配访问的命中,数据块则储存实际数据。根据映射 方式的不同,高速缓存访问时将地址的高位单路或多路地比较标志位,匹配时访 问命中;如不匹配则高速缓存访问缺失,处理器通过总线访问片外存储器,将外 部读取的数据填入高速缓存。 图2 2 处理器访存结构 高速缓存中的数据块与主存之中的数据块的对应关系由两者间的映射方式 决定。映射方式一般有直接映射、组相连和全相连三种。另外也有一些特殊的方 式,比如伪组相连、二路偏斜组相连【9 1 等。

30、 最简单的映射方式是直接映射。存储器的低位地址唯一地确定了用于存放存 储器数据块的高速缓存组。任意一个存储器中的数据块只能放在高速缓存中的一 个固定的位置上。因而每次高速缓存访问只需进行一次标志位比较,电路简单, 访问速度较快。但频繁访问的存储器内容如果映射到高速缓存的同一位置会产生 冲突或颠簸。因此直接映射方式的缺失率较高。 全相联映射方式中存储器的任意一块数据都可以放到高速缓存的任意一行 上。采用这种映射方式的高速缓存命中率较高,可以大量避免冲突现象。不过它 需要同时对所有块的标志位进行访问和匹配,一般用相联存储器实现,因此访问 速度较慢。另外还需要采用一定的替换算法,增加了硬件复杂度。

31、组相联映射是直接映射方式和全相联映射方式的折中,它将高速缓存和存储 6 浙江大学硕士学位论文 第2 章高速缓存概述 器各分成若干大小相同的组,每组内所包含的每一个缓存行为一路。存储器组内 一个数据块可以映射到高速缓存对应组内的任一路上,实际上是组内的全相联方 案。它兼有直接映射和全相联映射两种方案的优点。结构相对比较简单,命中率 相对较高。和全相联高速缓存相比,组相联高速缓存显著减少了访问匹配路的数 量。同时由于相联度一般较低,其替换算法也比较简单。和直接映射高速缓存相 比,组相联高速缓存的命中率明显提高,冲突减少。 当高速缓存访问发生缺失时,其中一路缓存行将会被替换。直接映射高速缓 无需考虑

32、替换策略,组相连和全相连高速缓存则需要从多个缓存条目中选择一个 进行替换。主要的替换算法有三种,分别为随机算法、先进先出算法和最近最少 使用算法f 1 0 】。随机替换算法一般使用随机数产生电路产生随机数,在多个缓存行 之中随机选择一路进行替换,硬件实现较为简单。先进先出算法选择最先进入高 速缓存的缓存行进行替换。最近最少使用算法选择最近最少被访问的缓存行进行 替换,它识别访问频繁的数据路,因此会有较少的冲突率,不过用于记录历史访 问信息记录的硬件较为复杂。 另外对高速缓存进行的写操作会引起缓存的一致性问题。写操作会改变高速 缓存的数据,因此必须保证高速缓存数据与下一级存储数据的一致性。将最新

33、结 果回写到下一级存储的写策略一般有两种,直写法和回写法。直写法是在写高速 缓存的同时,更新下一级存储中相应的数据块。这种方法能够实时保证数据的一 致性,策略简单。但更新下一级存储的操作一般较慢,影响处理器的性能。回写 法是当被修改过的缓存行将要被替换时再更新下一级存储中相应的数据块。该方 法被普遍采用。 2 2 高速缓存的功耗分析 高速缓存的功耗一般分为为静态功耗和动态功耗两个组成部分。 足= B + 易 ( 2 1 ) 其中,最为高速缓存总功耗,B 为静态功耗,昂为动态功耗。 静态功耗来源于电路的漏电流,与供电电压和漏电流成正比。 7 浙江大学硕士学位论文第2 章高速缓存概述 耗。 B =

34、 K 五 ( 2 2 ) 其中,B 为静态功耗,珞为供电电压,t 为漏电流。 动态功耗来自高速缓存访问,又可分为高速缓存命中时的功耗和缺失时的功 昂= 只。+ x 乞。 R 。+ 也船= 1 ( 2 3 ) ( 2 4 ) 其中,昂为动态功耗,如,为高速缓存命中率,昂,为高速缓存命中时的功 耗,如。为高速缓存缺失率,为高速缓存缺失时的功耗。 高速缓存命中时的功耗包括地址转译部件的功耗、控制逻辑的功耗、访问标 志域的功耗和访问数据块的功耗。高速缓存缺失时的功耗包括了高速缓存命中时 的功耗和缓存行替换产生的功耗。 最n = 鼻乙妇+ ,+ 另垤+ f 乙。 ( 2 5 ) = J r ( 2 6

35、) 其中,E 。为高速缓存命中时的功耗,砒圯为地址转译部件的功耗,圪删 为控制逻辑的功耗,为访问标志域的功耗,为访问数据块的功耗, 为高速缓存缺失时的功耗,只,。为缓存行替换产生的功耗。 由上述分析可得出,降低静态功耗可以降低供电电压和减小漏电流:减少动 态功耗可以提高高速缓存的命中率、减少对标志位和数据块地访问。而高速缓存 访问中并行得到的数据在匹配命中时才有效,同时组相联高速缓存中的并行访问 中最多只有一路数据有效,其余的访问均为冗余访问。随着C M O S 工艺技术的提 高,深亚微米条件下静态功耗与动态功耗相比变得越来越不可忽视。高速缓存中 的数据使用受到程序行为的影响,往往也会出现数据

36、闲置于高速缓存中而长时间 不被访问的情况,这也会增加高速缓存冗余的静态功耗。 8 浙江大学硕士学位论文第2 章高速缓存概述 2 - 3 高速缓存低功耗技术的研究现状 目前业界的高速缓存低功耗技术很多,基本上分为两类。一类从电路级进行 低功耗设计。目前有多电压、多高速缓存等等。另一类从高速缓存结构角度入手。 减少高速缓存存储的数据路和标志位可以减少等效电容充放电的总数,因而可以 有效地降低高速缓存动态功耗。C M O S 工艺技术的提高使得深亚微米条件下的静 态功耗与动态功耗相比变得越来越不容忽视,而电路级和晶体管级的优化方案也 正在起着促进结构级高速缓存静态功耗技术发展的作用。 采用小容量片上

37、高速缓存的方案可以降低等效电容,起到减小动态功耗的作 用。过滤高速缓存就是在一级高速缓存和处理器之间增加一个小容量的高速缓存。 程序执行中,该小容量高速缓存提供小的重复率高的循环指令访问。因为这样的 重复率高的循环在嵌入式应用中一般会占据大部分的执行时间。与此同时可以设 法减少一级高速缓存的访问进而降低功耗。一般来说,一级高速缓存比小容量的 过滤高速缓存的电容和漏电流大【1 1 1 【1 2 1 。不过过滤高速缓存容量较小,缺失率较 高,一般在2 8 左右。 文献【1 3 1 介绍了一种基于解码的过滤高速缓存。处理器使用其中存储的译码后 的指令,因此其命中时就不用从指令高速缓存中取指,也不用译

38、码,从而降低功 耗。它与前者主要的不同是,当过滤高速缓存缺失时,缺失行被直接被回填,随 即进行访问;而基于解码的过滤高速缓存缺失后,因为指令译码的要求,缺失行 不会直接回填,所以指令的空间局部性不能被有效利用。于是后者进一步提出一 个并行的行缓冲器来提高基于解码的过滤高速缓存的对于指令的空间局部性的 利用率。为了有效利用高速缓存容量,将指令分为可缓存和不可缓存两种类型, 只允许译码宽度小的指令进入高速缓存。所以同时又采用了矢量高速缓存的结构 使两种类型的指令可以存储在同一条高速缓存的矢量中。文献【1 4 】中又进一步将其 应用到宽发射的超标量处理器中的并行结构。文献【1 5 1 提出了一个多级

39、的过滤高速 缓存方案。在一级过滤高速缓存中的块缓冲器可以有效利用代码的时间局部性, 这样可以减少冗余的高速缓存访问。而二级过滤高速缓存采用标志位来标识一级 高速缓存缺失引起的冗余路操作。多级的过滤高速缓存使可能命中的路才会被访 9 浙江大学硕士学位论文第2 章高速缓存概述 问,从而降低功耗。该方案不需要软件的支持,同时高速缓存的访问延时也相对 固定。文献f 1 6 】提出一种新的预测方案,它根据过滤高速缓存的缺失情况的历史进 行预测。因为过滤高速缓存依靠的是反复执行的小循环,一旦程序的局部性不好, 性能便会下降。文献【1 7 1 提出了一种动态控制过滤高速缓存的开通与关断的策略, 减少了性能损

40、失。文献1 1 8 1 进一步提出一个低功耗的单周期模式预测器,该方案通 过优化的硬件结构降低其操作延时和功耗。 零级高速缓存【1 9 】是位于处理器和一级高速缓存之间的一个小容量的高速缓 存,其中存储了频繁访问的代码,从而减少了一级高速缓存的访问次数,进而降 低了功耗。分支预测的结果被用来决定程序块是否应该进入零级高速缓存中。但 它的缺点是串行的访问会引比起较大的高速缓存缺失率。文献1 2 0 1 分析了零级高速 缓存的缺失情况,提出了一种预测器。如果预测到零级高速缓存访问时发生缺失, 则会直接访问一级高速缓存。热点高速缓存【2 1 1 则是另一种零级高速缓存,热点 高速缓存可以动态识别访问

41、频繁的代码段,然后将这些指令其存储到零级高速缓 存中,普通指令仍然存储于一级高速缓存,同时设置一个控制器负责调度指令的 存储位置。 文献【2 2 】提出了一种扩展的组相联高速缓存,即增加输出的行缓冲器,这样可 以更有效地利用程序的局部性。因为当前将要被访问的高速缓存行有很大的概率 是之前访问中用到的行,这样一来就不用访问一级高速缓存。这个方案同时减少 了数据路和标志位的访问,降低了功耗。不过行缓冲器的缺失会造成访问一级高 速缓存的额外访问周期,从而引起性能下降。文献【2 3 】提出了一种基于预测的行缓 冲方案,它利用分支预测器来预测访问目标是行缓冲器或是一级高速缓存,在一 定程度上降低了缺失率

42、提高了性能。文献【2 4 】行复用缓冲器为每一个高速缓存设置 一个行缓冲器以降低直接映射高速缓存的访问功耗。 阶段高速缓存2 5 】采用分阶段的高速缓存访问。第一阶段是标签访问和比较, 第二阶段访问命中的数据路。不过降低访问功耗的同时增加了访问延迟。文献【2 6 1 提出了一个基于阶段标志位的高速缓存用以降低功耗。其标志位比较分两个阶段, 第一阶段中比较标志位的低位来定位数据,第二阶段访问标志位高位确认命中, 消除了一些冗余的标志比较。文献【2 7 1 提出了一种路选取的算法,在这种策略中只 】0 浙江大学硕士学位论文第2 章高速缓存概述 有一路数据可能命中。其中数据访问不依赖于标志位比较,无

43、需多路选择器。 路预测高速缓存2 8 1 在没有访问标志位之前预测被访问的数据路。预测正确时 访问延迟与相同容量的直接映射高速缓存相当。预测失败时,再次进行的标志位 比较会增加访问时间,功耗也会上升。路判定高速缓存2 9 1 使用路判定单元利用数 据访问的局部性。访问高速缓存前将地址传输到路判定单元,其中记录了地址访 问的历史信息。若路判定单元命中,则只需访问命中的一路标志位和数据路,否 则需要访问标志位。文酬3 伽提出了一个基于历史信息的路选取方案,它有一个历 史信息记录位所存上次访问的历史。文献【3 1 1 利用了行有效位来识别冗余的数据路, 改善了以往采用子块策略的路预测高速缓存的功耗。

44、文献【3 2 】提出了一个基于高速 缓存命中和缺失的预测策略,因此可以动态地进入适当的访问方式从而降低功耗。 文献1 3 3 】提出了一种基于历史信息的标志位高速缓存,它可以重复使用之前的标志 位比较结果,从而消除冗余路访问。 文献圳提出了一种改进的部分标志位比较策略。其中增加了一个与相应标志 位相关联的记录位,每个子存储器堆由片选信号控制。部分标志位匹配成功时使 能相应片选信号。文献3 5 1 提出了一种基于路中断的组相联高速缓存。其中所有标 志位低位存在一个中断标志堆中,中断标志与当前标签的比较和路位置信息翻译 可以并行执行。中断标志堆可以避免大量的无关路访问,从而降低功耗。文献【3 6

45、】 提出了一种利用编译器识别程序循环内有限标志位,并将其压缩的低功耗策略。 相似的,文献f 3 7 】的高速缓存中压缩的是指令,不仅提高了命中率,而且减少了访 问,从而降低了功耗。 文献3 8 1 利用编译器将循环子程序指令存入一个小容量的循环高速缓存,以减 少一级高速缓存的访问。文献【3 9 】中提出的循环高速缓存可以精确地指出下一条指 令命中循环高速缓存与否。但其需要一组特殊的分支指令,当这种分支指令跳转 成功时,此循环才会存入循环高速缓存中。 文献【4 0 】提出一个动态重构容量的高速缓存,根据程序运行动态调整高速缓存 容量,同时利用门控开关关断不工作的高速缓存,从而减少静态功耗。其利用

46、预 设的缓存缺失率来控制容量的重构。 综上所述,目前的高速缓存低功耗技术基本上是以高速缓存电路级和结构级 1 1 浙江大学硕士学位论文 第2 章高速缓存概述 的设计入手,挖掘新的降低高速缓存的动态功耗和静态功耗的优化方案。本文以 现有技术为基础,分别对指令高速缓存和数据高速缓存展开进一步的讨论。 浙江大学硕士学位论文第3 章路访问轨迹指令高速缓存低功耗技术研究 第3 章路访问轨迹指令高速缓存低功耗技术研究 现代嵌入式处理器基本上都采用流水线技术,指令执行被分为多个不同的执 行阶段,每个阶段执行不同的子任务。经典五级流水线将指令执行阶段划分为取 指、译码、执行、存储器访问和回写五个阶段。这样可以使多条指令并行执行, 大大提高了处理器的时钟频率和指令吞吐率。指令预取单元是流水线中的最前级, 它的主要工作是加快指令读取,对于整个处理器的性能

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育


经营许可证编号:宁ICP备18001539号-1