基于记录缓冲的低功耗指令Cache方案
DSP中指令Cache的低功耗设计

数 , 而降低指令 C ce 从 ah 的功耗 。此外在 L eB f r n i u e控制 器 中添加 了重装控制单 元 , 当指令 C ce 生缺失 时, ah发 能将 片外存储单
元 中的指令 直接 送给 C U, 而最 大限度地减 少由于 C ce 失所引起 C U取 指的延迟。经验证 , P 从 ah 缺 P 该设 计在降低功耗 的同时, 还
Ke r s Ca h ; n fe ;o p we ;e l e gn y wo d : c e Li e Bu r l w o r r f l n i e i
摘
要: 设计 了一种 低功耗指令 C ce 来减 少 C U对指令 C ce a : h P ah 之 &L eB fr n , P ah 的访 问次
t a e d sg al n t o l e u e t e p we o s mp in b t as mp o e t e i sr c i n Ca h e f r a c . h t t e i n C l o n y r d c h o r c n u t u lo i r v h n tu t c e p ro m n e h o o
Y NG io a g QU L n xa g Z NG h d nLo o r i sr c o c e d s n C mp tr En i e r g a d A p - A X a g n , i g in , HA S u a . w p we n tu t n Ca h ei . o u e g n e i n p H i g n
y Wha’ r ,t lo mii z s te Ca h s e at b a dn e l n ie t h ie Bu r muai eut s o r . t S mo e i as nmie h c e mis p n l y d i g rf le gn o te L n fe.i lt n r s l h w y i S o s
基于路访问轨迹的指令高速缓存低功耗策略

sr tg f o tae y o lw po r o s mp in e - so it i sr ci n a h b s d n we c n u to s ta s c ae n t to c c e a e o wa — c e s r c i prpo e u y a c s ta k s o s d. Re un a tc e k n c e s s o r lt d d t ra r ei i t d y e tbls i g a d ma n an n y d d nthi h c s a d a c s e fun ea e aa a ry a e l nae b sa ih n n i ti i பைடு நூலகம் wa — m
wih ta iina n t ci a h wa - c e sta k n t ci n c c e a h e e r a e ucin o c e s so a t r dto li sr t u on c c e, y a c s r c i sr to a h c iv s a g e tr d to fa c s e ftg u
传感器与微 系统 ( rnd cr n coyt eh o g s Ta sue dMi ss m T cn l i ) a r e oe
21 0 2年 第 3 1卷 第 9期
一种低功耗动态可重构cache方案

一种低功耗动态可重构cache方案
赵欢;苏小昆;李仁发
【期刊名称】《计算机应用》
【年(卷),期】2009(029)005
【摘要】嵌入式系统中,处理器功耗是十分受关注的,研究表明嵌入式系统中cache 存储器的功耗占处理器总功耗的30%~60%.为此提出一种低功耗动态可重构的cache方案Tournament cache,该cache方案通过在传统cache结构的基础上增加三个计数器和一个寄存器,在程序运行的过程中,根据计数器统计的结果动态调整cache的相联度,使得相联度在1、2或4路之间变化,以适应不同程序段的需要,从而降低系统的功耗.实验结果表明,此cache方案对比传统的四路组相联的cache能耗节省超过40%,而且性能的降低几乎可以忽略.
【总页数】4页(P1446-1448,1451)
【作者】赵欢;苏小昆;李仁发
【作者单位】湖南大学,计算机与通信学院,长沙,410082;湖南大学,计算机与通信学院,长沙,410082;湖南大学,计算机与通信学院,长沙,410082
【正文语种】中文
【中图分类】TP302
【相关文献】
1.一种低功耗动态可重构cache算法的研究 [J], 任小西;刘清
2.一种低功耗的动态可重构Cache设计 [J], 何勇;肖斌;陈章龙;涂时亮
3.嵌入式系统中低功耗动态可重构Cache的研究 [J], 刘楚;
4.一种改进的记录缓冲低功耗指令cache方案 [J], 马志强;季振洲;胡铭曾
5.用于低功耗的动态可重构cache结构 [J], 陈黎明;邹雪城;雷鑑铭;刘政林
因版权原因,仅展示原文概要,查看原文内容请购买。
基于对指令数据区分访问的混合cache低功耗策略

L w o rd sg tae y fru iid c c e o p we e in srtg o n fe a h b s d o iiin a c s fi sr to n aa a e n dvso c e so n tucin a d d t
W ANG L a g ,Z i n 。 HANG S e g b n AN Yo g la g h n . i g ,T n —in ,P o g fn AN Y n — g e
Absr c t a t: Thi p rp o o e e sr tg flw o rde i o i e a he b s d o nay i hepr s n t ds spa e r p s d a n w tae y o o p we sgn frunf d c c a e n a l zng t e e tmeho . i
在常规 混合 cce ah 结构上 增加 一标 限制 了处理 器每 次 访 问的路 数 , 而 从
达到低 功耗 的效 果。详 细 阐明 了该方法 的原理 和硬件 实现 , 并将 其 应 用到 自主研 发 的龙腾 c 2微 处 理 器上 。 实
意义 。C S电路 中功 耗包 括 动 态功 耗 和静 态 功耗 两 部分 。 MO 前者是 由漏 电流引起的 ; 后者是 由短 路电流和状态改变时充放 电引起的。对于按地址关 联 cc e动 态功 耗 占主体地 位。组 ah , 相连 cce因为每次访 问要从 cc e S A 中并 行地读出一 ah ah 的 R M 组 中的所有 路 , 但最后只有一路数据被使用 , 造成功耗损失 , 所
验结果 表 明 , 方 法不损耗 cce 能 , 该 ah 性 面积牺牲仅 14 % , .5 总功耗 降低 了 2 .% 。 31
基于程序段的可重构cache与处理器低能耗算法

t et t t nc i cm ua o m B . h grh a enrazdi e i —aa zr B m lt g u e u i eta o - p o pttnt e( ) T e o tm hs e l e t m pnl e. ys uan m r s m oh o l h i i l a i b e i nh S y i i n o
能耗 平均节 省 了4 .% , 9 1 而平均性 能损 失为 8 7 。 .% 关键词 :可 重构 高速 缓冲存储 器 ;动 态电压缩放 ; 自适应 算 法;运行程序 段 ;低 能耗
中图分 类号 : P0 T 33
文献标 志码 :A
文章编 号 :10 .65 20lc e u n y n e e yr n i g p o r m p a e, h lo t m s d a sae ma h n rg v r ig c c ea d d — ot e a d co k f q e c .I v r n n — r g a h s t e ag r h u e tt c i ef o en n a h n e a r u i o tr nn a h Ssz ,a ds t n r c s o ’ o a e a d co k fe u n yb a c lt g te r t f h oa f-h p a c s e mi i g c c e’ ie n et g p o e s r Sv h g n lc q e c y c lu ai ai o e ttlo c i c e s i r n h o t
彭蔓蔓 ,李仁发 ,彭 方 ,王宇明
( 南大 学 计 算机 与通信 学 院, 沙 408 ) 湖 长 10 2
摘 要 :运 用可重构 cce和动 态 电压 缩放技 术 , ah 为处理 器及 其 cc e提 出了一种 基 于程 序段 的 自适 应低 能耗 ah
基于预缓冲机制的低功耗指令Cache

能会有所下降。
() 3采用动态可重构技 术。动态可重构技术可以在程序运
图 1 顶缓 冲结构
缓冲数组包括标志缓冲 区和数据缓 冲区,两者都 由 3个 数据块组成 : 标志缓冲 区由预取标志缓冲(T ) F B 、当前标志缓
第3 8卷 第 1 期
Vo _8 13
・
计
算
机
工
程
21 0 2年 1月
J n a y 01 a u r 2 2
No 1 .
Co p e g n e i g m utrEn i e rn
开发研究与设计技术 ・
文 编号 1 3 8 o )— 28 0 章 : 0 - 2 2 2 1 o — 2 文献 识 A 0 4 ( 10 6 标 码:
Lo p we n t u to c s d o e i t fe e h n s w. o rI s r c i n Ca heBa e n Pr d c Bu f rM c a im
Ⅵ, ANG e ZHANG he g b n , ANG n - u Y, S n - ig W Da g h i
行的过程中动态地 调节硬件参数 ,但这种方法实现 起来较为
复杂 ,硬件 改动也 比较大 。
冲( T ) D ) 当前数据缓冲(DB 和备份数据缓冲( D ) F B、 C ) B B 组成 。 标 志缓冲 区和数据缓冲区是一一对应关系 ,所 以,两者在控 制部件 的控制下动作相同 ,为了说 明方便 ,本文 以数组缓冲 区为例 : D F B主要用来存放预测将来会 执行 的指令 , D C B主
一种基于Cache机制的低功耗Flash控制器设计

第23卷第1期西安邮电大学学报Vol. 23 No. 1 2018 年1 月JO U R N A LO FX I'A N U N IV ERSITY O FPO STSA N D TELEC O M M U N ICA TIO N S Jan. 2018d o i:10. 13682/j. iss n. 2095-6533. 2018. 01. 011一种基于C a c h e机制的低功耗F la s h控制器设计连汉丽、陈亚南、焦继业2,雷水艳2(1.西安邮电大学理学院,陕西西安710121; 2.西安邮电大学电子工程学院,陕西西安710121)摘要:为降低消费类电子产品中嵌入式F lash的读取功耗,设计了一种基于C ache机制的F lash控制器。
将Cache机制引入F lash控制器中,运用控制变量的方法,分析了容量、关联度和行长与Cache命中率、微控制器功耗的关系,给出了Cache相应的参数。
结果表明,容量选择1024字节、关联度和行长选择4字/1路模式时,Cache具有较高命中率,微控制器功耗的优化效果最为明显。
关键词:嵌入式Flash; C ache;低功耗;命中率中图分类号:TP3 文献标识码:A 文章编号:2095-6533(2018)01-0070-04A low power flash controller design based on cache mechanismLIAN Hanli1,CHEN Yanan1,JIAOJiye2,LEI Shuiyan2(1 School of Science;2 School of Electronic Engineering,Xi?an University of Posts and Telecommunications,Xi?an 710121)Abstract:In o rder to solve the problem of high pow er consum ption of em bedded F lash read inconsum er electron ics,a F lash controller based on Cache m echanism w as designed. Introducing aCache m echanism in F lash controller and U sin g the m ethod of controlling variables, effects of cap acity,correlation,and line-w ords on the Cache hit rate and m icrocontroller pow er consum ptionw ere studied and design the Cache param eters. T he results show that Cache h w hen the capacity is 1024 byte and the param eter of correlation and l 4w ords / 1w ay. U nder the sam e co n d ition s,the optim ization effect of the pow er consum ption ofthe m icrocontroller s also m ost obvious.Keyw ords:em bedded fla sh,cach e,low pow er co n su m p tion,htt rate近年来,随“智能社会”相关技术发展需求,微 控制器倍受关注[12]。
一种嵌入式设备低功耗混合Cache的实现方法

一种嵌入式设备低功耗混合Cache的实现方法专利名称:一种嵌入式设备低功耗混合Cache的实现方法技术领域:本发明涉及一种嵌入式设备缓冲存储器的处理方法,尤其是一种嵌入式设备低功耗混合Cache的实现方法,属于计算机存储器层次结构设计领域。
背景技术:目前,对于以电池供电的便携式嵌入式设备而言,降低其整体功耗具有越来越大的现实意义。
而在这些嵌入式设备中,Cache的功耗占整体功耗的40%左右,因此研究如何降低Cache的功耗成为嵌入式设备设计者普遍关注的问题。
嵌入式系统通常采用固定容量的指令Cache和数据Cache,但是不同程序对指令Cache和数据Cache的需求是不平衡的,从而导致某种Cache的容量不足而另一种Cache却有空闲。
而混合Cache却不存在这种问题,但混合Cache的容量一般都比较大,访问功耗也就比较大,降低了其普遍适用性。
针对混合Cache 的特点,前人提出一种低功耗分类访问方案,该方案通过增加一个类型指示位,将Cache的每一块动态化分为指令块和数据块,在访问过程中,只有类型匹配的块才被访问,从而可以过滤对不必要的存储体访问,节省了访问功耗。
但该方案不能满足程序运行时对Cache容量的动态需求。
申请号为 03116564. 8,200810156535. 2、200910096957. X 的中国专利申请分别公开了低功耗Cache实现的几种方法。
第一种方法只能面向指令Cache,该方法设立了索引标志寄存器,来保存行匹配和组选择结果,利用预测的方法和环形历史缓冲区来减少对索引标志寄存器的访问,实现对指令Cache降低功耗。
第二种方法是通过增加一个Cache控制器,实现了将频繁访问的数据拷贝到Cache中,而将引起预取时间局部下降的数据,直接从主存读出,同时根据历史记录,生成标记信息表(该表可以由软件修改),加载到Cache控制器中,控制其操作,从而降低Cache的功耗;第三种是基于程序需求改变Cache组相联度的方法,该方法主要修改了 Cache的组相联度,对于Cache的类型和有效性并未加以判断,且每组的组相联度必须相同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机研究与发展ISSN 1000-1239P CN 11-1777P T PJournal of Computer Research and Development 43(4):744~751,2006收稿日期:2005-02-01;修回日期:2005-06-22 基金项目:国家自然科学基金项目(60475012)基于记录缓冲的低功耗指令Cache 方案马志强 季振洲 胡铭曾(哈尔滨工业大学计算机科学与技术学院 哈尔滨 150001)(mzq@pact5181hit 1edu 1cn)A Low -Power Instruction Cache Design Based on Record BufferM a Zhiqiang,Ji Zhenzhou,and Hu Mingzeng(School of Comp uter Science and T echnology ,H ar bin I ns titute of T echnology ,H ar bin 150001)Abstract Most modern microprocessors employ on -chip caches to bridge the enormous speed disparities be -tw een the main memory and central processing unit (CPU ),but these caches consume a sig nificant fraction of total energ y dissipation,especially the pow er dissipated by instruction cache itself is often a significant part of the pow er dissipated by the entire on -chip caches 1Using buffer can filter most of instruction cache accesses and reduce it .s power consumption,but there arestill m any unnecessary data array accesses left,based on this idea 1In this paper,a low -pow er instruction cache called RBC is proposed 1With the record buffer and the modification on data array,RBC can filter most of the unnecessary cache activ ities,thus re -ducing energ y consumption significantly 1Ex periments on 10SPEC2000benchmarks show that,compared w ith conventional block buffering cache,24133%energy savings for instruction cache can be achieved,at the cost of only 6101%slow dow n and 3175%area overhead 1Key words low -power;instruction cache;buffer;CPU摘 要现代微处理器大多采用片上Cache 来缓解主存储器与中央处理器(CPU )之间速度的巨大差异,但Cache 也成为处理器功耗的主要来源,尤其是其中大部分功耗来自于指令Cache 1采用缓冲器可以过滤掉大部分的指令Cache 访问,从而降低功耗,但仍存在相当程度不必要的存储体访问,据此提出了一种基于记录缓冲的低功耗指令Cache 结构RBC 1通过记录缓冲器和对存储体的改造,RBC 能够过滤大部分不必要的存储体访问,有效地降低了Cache 的功耗1对10个SPEC2000标准测试程序的仿真结果表明,与传统基于缓冲器的Cache 结构相比,在仅牺牲6101%处理器性能和3175%面积的基础上,该方案可以节省24133%的指令Cache 功耗1关键词低功耗;指令Cache;缓冲器;CPU中图法分类号 T P3021 引 言随着集成工艺的发展,芯片的集成度和速度都得到极大的提高,由此带来的功耗问题也越来越突出1大量的能量消耗给封装、散热、供电及可靠性带来很大的麻烦,而且会降低移动设备中电池的使用寿命1现代的处理器大多采用片上Cache 来弥合主Cache访问也产生相当程度能量消耗,例如DEC 21164和Intel StrongARM-110分别有25%和43%的功耗来自于片上Cache[1,2]1因此,作为功耗的主要来源,Cache便成为降低整个处理器功耗的理想选择1近年来出现了很多结构级低功耗Cache技术1 Phased Cache[3]采用串行的访问方式,数据读取要等到Tag比较结束后方可进行,避免了不必要处存储体访问,但可能因增加访问周期而影响性能1Filter Cache[4]、L-cac he[5]、块缓冲(block buffering)[6]和多行缓冲器(multiple line buffer)[7]等在CPU与L1级Cache之间增加一级更小的L0级存储体,如果它能承担绝大部分L1级Cache访问,就可以有效降低其功耗,块缓冲方法在后面还会详细介绍1文献[7]还提出了另一种方法,它将Cache的存储体按照横向或纵向分为多个子块,只有数据所在的子块会被访问,减少了多余的活动量1可重构Cache则动态地调节硬件参数(如容量、块大小等),采用对不同应用选择不同策略的方法降低功耗[8,9]1还有一些基于压缩的低功耗技术,例如:FV-CACHE[10]和DZC-CACH E[11]用较少存储空间保存编码后的数据,一定程度上减少了Cache的访问量1通常指令Cache(I-Cache)的访问量较数据Cache(D-Cache)要大得多,所以I-Cache的功耗占据主要部分1本文针对I-Cache访问特点,提出一种基于记录缓冲的低功耗Cache结构RBC1利用记录缓冲跟踪程序的执行历史区分有效指令和无效指令,并且通过存储体改造过滤无效访问,RBC能够有效降低I-Cache的功耗12传统块缓冲C ache结构RBC是一种基于缓冲器的Cache设计方案,在介绍具体的结构前,我们首先来分析传统块缓冲Cache模型BBC1图1所示为传统BBC结构模型,其主要思想是:Cache块较大,对于大多数程序来说,指令流具有很好的时空局域性,连续的多次访问很可能命中同一块,如果在首次访问时将该块内容用缓冲器保存起来,接下来就不需要再访问存储体1因为访问缓冲器的功耗远小于访问存储体,整个Cache功耗便被节省下来1Fig11Block buffering cache1图1基于块缓冲的Cache结构缓冲命中率是评价缓冲器性能最重要的指标,代表了缓冲器过滤存储体访问的能力,它与缓冲块容量和数量息息相关1缓冲块容量太小不能有效的利用数据流的局域性,太大又会造成不必要的浪费,方便起见,通常与Cache块大小保持一致1较大数量的缓冲块能够提高命中率,但却增加了硬件的复杂度和缓冲器功耗1研究表明,对I-Cache来说,多缓冲块并不能明显提高缓冲命中率,所以本文选用单块缓冲,同时缓冲块大小与Cache块一致13RBC结构设计这部分将具体介绍RBC的原理、设计方案以及如何通过电路改造实现这一方案,最后讨论对访问延迟以及面积的影响1311RBC实现原理BBC通过缓冲器来降低Cache存储体访问量,从而来达到降低功耗的目的1但我们发现,在余下的存储体访问中仍然存在相当程度不必要的指令访问,我们称这种不需要访问的指令为无效指令,反之为有效指令,同时称对无效指令的访问为无效访问1接下来举例说明无效访问产生的原因1可以说无效访问是程序流中存在的转移指令造成的1例如图2所示的一段程序分别存储在Cac he的块A和块B,假设块大小为32B,每条指令4B,程序从地址0x00400000开始执行,当执行到0x00400008时,如果条件转移指令beq满足,程序跳转到地址0x00400034处,此时块A中位于地址0x0040000c 至0x0040001c间的指令便不会被执行,可视其为无效指令,块B中0x00400020至0x00400030间的指令也有类似情况1马志强等:基于记录缓冲的低功耗指令Cache方案Fig 12 Inv alid instruct ions in cache block access 1图2 Cache 块访问中的无效指令对Cache 存储体的访问是按整块进行的,读取块中无效指令会造成浪费1因程序中存在大量的转移指令,而且很难保证它们都位于块的结尾处,所以无效访问在I -Cache 中大量存在,浪费就变得相当可观1如果能消减这些无效访问,便可以有效降低I-Cache 的功耗1312 设计方案要消减无效访问,首先需要区分有效指令和无效指令1本文提出一种基于访问历史的方法,即通过缓冲器记录那些曾经执行过的指令,并认为这些指令是有效指令,其余则为无效指令1这就要求缓冲器具有记录功能,我们称有记录访问历史功能的缓冲器为记录缓冲器(record buffer)1当缓冲失效时,若将这些记录信息写入Cache 块中,待再次访问该块时便可利用这些历史信息过滤无效访问1这种基于历史记录的判断方法会出现错误,即访问到因之前未被访问而标记为无效的指令1错误判断可分为两类:第1类命中缓冲器中无效指令;第2类命中Cache 块中无效指令1第1类误判相当错误过滤引起的缓冲失效,只需要从存储体中读取相应剩余数据;而遇到第2类误判时,指令因被屏蔽而不能读出,需要再一次读取剩余数据1连续访问两次存储体,会对Cache 的性能产生一定影响1因为指令转移的倾向性,前次被认为无效的指令以后也几乎不会被访问到,所以这种判断方法的正确率很高,性能损失可以控制在可以接受的范围内1313 电路改造接下来我们将详细阐述RBC 是如何通过电路改造来实现这一方案的131311 基准Cache 结构本文研究只针对L1级I -Cache,我们选择单块缓冲的BBC 作为基准Cache,并实现了RBC 模型1参考目前比较流行的处理器,Cache 参数配置如下:容量16KB,块大小32B,指令长度32b,显然,每块能容纳8条指令,采用4路组相联结构,访问延迟为1个时钟周期,与CPU 间的总线宽度为32b 131312 记录缓冲如前所述,记录缓冲器应该具有记录被访问指令的能力1如图3所示,我们为每条指令扩展了一个记录位(record bit)和一个有效位(valid bit)1Fig 13 Structure of the recor der buffer 1图3 记录缓冲块结构有效位用来指示对应指令是否有效,1表示有效,0表示无效1当缓冲数据来自下一级存储体时,所有有效位为1;当缓冲数据来自于Cache 存储体时,有效位来自相应Cache 块中的记录位,存储体中的记录位将在下一节介绍1记录位用来记录对应指令是否被访问过,每次缓冲替换后所有记录位置0,以后被访问指令相对应记录位置1,这个过程用来发现无效指令1当缓冲失效时,记录位的信息如果与以前的不同,则需要写回存储体1方法很简单,只需根据缓冲数据的来源和与有效位的比较就可做出正确的判断131313 存储体的改造在Cache 存储体中我们同样为每条指令增加一个记录位,该位采用标准SRAM 单元存储,用来控制对应指令的存储单元是否允许访问11表示有效指令允许访问,0表示无效指令拒绝访问1与文献[11]中方法类似,本文同样采用控制字线(word line)的方式决定指令存储单元是否可以被访问,图4所示为改造后的Cache 存储体电路结构,通过读写控制电路,记录位利用指令字线I WL 控制对指令存储单元的访问1当R W EN 始终为低时,只有记录位为1才能够打开I WL ,否则对指令存储单元的访问将被拒绝,这样被标记为无效的指令便不会被访问,同时不影响有效指令的访问;当R W EN 为高时,I WL 不受记录位控制,指令存储单元的访问则不受限制1正常情况下R W EN 始终为低,无效指令将被过滤掉,只有当需要写入数据,或者命中缓冲中无效指令而重载整个块时,R W EN 在控制逻辑的作用下为高,强制访问整个块1F ig 14 Data ar ray modification 1(a)Conventional SRAM cell for recorder bit;(b)Control log ic;and (c)M od-ified SRAM cell for RBC instructions 1图4 存储体电路改造1(a)用于记录位的传统SRAM 存储单元;(b)控制电路;(c)改造后的指令存储31314 输出放大器的改造与文献[11]采用的方法不同,本文对输出放大器的改造是通过控制指令信号线ISEN SE 来完成1如图5所示,在记录位输出放大器的控制下,I SENSE 决定是否触发指令单元的信号放大器1当访问无效指令时,ISEN SE 无效,指令单元信号放大器不会做出任何响应,我们不关心输出数据的内容;当访问有效指令时,I SENSE 随主信号线SENSE 变化,不会影响正常访问1但是,记录位需要写入缓冲,用来指示对应指令是否有效,因此其输出放大器由主信号SENSE 控制1F ig 15 Sense amplifier modification 1(a)Conventional sense amplifier for recor der bit;(b)Control logic;and (c)Mo dified sense amplifier for RBC instructions 1图5 输出放大器电路改造1(a)用于记录位的传统输出放大器;(b)控制电路;(c)改造后的指令输出放大器314 RBC 整体结构经过改造后RBC 的整体结构如图6所示1图中以灰色标出经过改造的部件1与传统基于缓冲器的Cache 结构不同是,缓冲T ag 比较时,需要判断有效位的状态,如果有效位为0,会发出Reload 信号给R W EN 重新读取剩下的数据1对RBC 的访问过程如图7所示,与传统BBC 相比,主要增加了指令有效位检测,用来检查是否出现错误的判断,若出现需是再次读取原Cache 块中的剩余数据1747马志强等:基于记录缓冲的低功耗指令Cache 方案Fig16Cache architecture of RBC1图6RBC整体结构F ig17Access flo w in RBC1图7R BC访问过程315访问延迟及面积开销改造后的存储体访问会增加7%的数据访问延迟,但实际情况下,T ag通路往往在Cache访问延迟中占据主导地位,而且通过改变存储体大小和组织方式能够使损失降低到可以忽略的程度[11]1对指令有效性判断只须操作一位,非常简单,所以延迟也很小,另外可以与T ag比较同时进行,延迟将被隐藏1因此,有效位检查并不会影响Cache的访问延迟,该结构对访问延迟几乎没有影响1面积上的开销主要来自于存储体所增加的记录位存储单元以及相应的控制电路,增加的记录位输出放大器和缓冲块记录位因为数量有限,增加的面积可以忽略不计1存储体中每32b增加一个记录位,面积增加为1P32,相应的控制电路门数量与记录位相当,同样以一个记录位1P32的开销计算,这样存储体增加的面积为1P16=6125%1我们采用CACT I310[12]评估容量为16KB的不同组织Cache 结构,其中存储体约占总面积的60%,总面积大约增加3175%,显然面积上的牺牲也是很小的14实验与仿真411仿真环境本文采用SimpleScalar[13]作为实验的仿真平台1如前所述,我们采用BBC作为基准Cache,并且实现了BBC和RBC模块,替换原有的L1级I-Cache1平台的其他参数配置如表1所示:Table1Configuration of the Simulated Processor表1仿真平台配置参数表Parameter ValueBranch predictor2084-entry Bimodal PredictorIssue w idth4Decode w idth4Function units4IALU,1IM UL,2M EM PORT,4FALU,1FM U LDL1Cache16KBs,32B blocks,4-way mapped,LRU,latency1cycleDL2Cache256KBs,64B blocks,4-way mapped,LRU,latency6cyclesM emory Ideal,latency182cycles748计算机研究与发展2006,43(4)412标准测试程序(benchmark)本文选择了10个典型SPEC2000标准测试程序进行仿真,其中包括6个整数类型和4个浮点类型测试程序1编译器采用gcc-21712,输入数据文件均来自测试数据集(test data set),所有的仿真程序都执行到结束,运行统计信息见表21Table2Benchmark Program s表2标准测试程序Category Benchmark Inst1CountData Count Load StoreCINT2000gcc1597466178410421201232897468gz i p2571400355555883631245783685mcf2007916404433575233180161parser3242985034849523548373240564vortex935213739729116831962086490535vpr1694109902396532352122349824 CFP2000ammp54408780381639844267540130474art1769758191410618323145462709equak e1368981607368355340123699168mes a2976133660555093175303580876413错误判断率与缓冲命中率本文提出了一种基于执行历史的方法来区分指令的有效性,误判率(误判次数与访问次数的比值)的高低便成为一个值得关注的问题1图8所示为统计得到所有应用程序的误判率,进一步将其分为第1类误判(MP1)和第2类误判(MP2)1可以发现第1类误判率很低,平均只有0150%,因此,对缓冲性能影响不大1我们更关心第2类误判,因为它将会影响Cache的性能,虽然个别程序第2类误判率偏高,如mcf为6104%,parser为5168%及equake为5127%,但其余都低于5%,平均3187%,第2类误判率也在可承受范围内1总的误判率平均只有不足5%,即95%以上的判断都是正确的,显然判断准确率很高,该方法是可行的1缓冲命中率(缓冲器命中次数与访问次数的比值)是评价缓冲器性能的重要指标,该值越大表示过滤掉的Cache访问越多1图9所示为BBC和RBC 两种结构下缓冲命中率对比,在Cache结构固定的情况下,两种结构的缓冲命中率差别不大,所有程序都达到或接近80%,平均79187%和79137%,说明单缓冲结构很适用于I-Cache设计1由于第1类误判影响,RBC缓冲命中率会有所降低,但降低的程度与第1类误判率相当1因此,记录缓冲几乎不会对缓冲器性能造成影响1F ig18M iss prediction rates in RBC1图8RBC中的错误判断Fig19Buffer hit rates in BBC and RBC1图9BBC与RBC的缓冲命中率另外,RBC只是针对I-Cache优化方案,对程序数据类型并不敏感1从图8和图9给出的指标看,本方案既适用于整数类型程序,也适用于浮点类型程序1414功耗分析存储访问体功耗大致与被访问数据量成正比,可通过访问指令数来分析无效过滤对功耗的影响1为此,我们跟踪了所有的存储体访问,从而得到两种结构下被访指令数量总和A,则相对BBC,RBC的指令节省效率为(A BBC-A RBC)P A BBC,最终的实验结果如图10所示1显然,RBC可以有效降低存储体访问量,最差的情况可节省29112%(vpr),基本都达到和超过30%,有些程序甚至超过40%(parser 为43127%和art为49139%),平均可减少36117%1去掉访问标记位增加的1P32,平均可节省33105%存储体访问1我们用CACT I[12]得到Cache不同部件的功耗,选用的工艺为0118L m,电压117V,本文只考虑标准结构的功耗问题,不采用CACT I默认的优化策略1实验测得缓冲器的访问功耗P buf=0102847nJ,存储体访问功耗P mem=1103578nJ,除此之外的访问控制功耗P cont rol=0123454nJ1BBC的Cache访问功耗749马志强等:基于记录缓冲的低功耗指令Cache方案F ig 110 Reduct ion rates on data ar ray accesses 1图10 存储体访问节省效率可计算为P BBC =P buf +(1-R buf )(P mem +P c o ntrol ),其中R buf 为缓冲命中率,计算可得P BB C =0129295nJ,存储体访问功耗占其中的73161%1RBC 平均可以减少33105%的存储体访问,则节省功耗73161%@33105%=24133%1415 对性能的影响如前所述,遇到第2类误判时需要一个额外的存储体访问周期,会影响到系统的性能1图11所示即为两种结构下IPC 对比情况,对照图8可以发现,第2类误判率较高的,性能影响也较大,最坏的情况IPC 降低9106%(parser),而对一些程序几乎没有影响,如:ammp 和art 1因此,RBC 会一定程度降低系统的性能(平均6101%),但相对于功耗的减少量,性能下降的程度是可以接受的1F ig 111 Perfo rmance (IPC)deg radation 1图11 对性能(I PC)的影响5 结 论缓冲器可以有效降低I -Cache 的访问量,但在余下的访问中仍然存在相当程度的不必要存储体访问1据此,本文提出一种基于记录缓冲的低功耗指令Cache 结构RBC 1通过修改缓冲器使其具有记录和发现无效指令的功能,并且通过存储体改造过滤无效存储体访问,RBC 能够有效地降低I -Cache 功耗1采用SimpleScalar 运行10个SPEC2000标准测试程序的结果表明,相对同参数的BBC,RBC 能够降低33105%的存储体访问量,平均节省功耗24133%1虽然这种结构在面积和性能上会造成一定的损失,但与节省的功耗相比,这样的牺牲是可以接受的1参考文献1J 1H 1Edmondson,P 1I 1Rubi nfeld,et al 1Internal organization of the Alpha 21164,a 300-M Hz 64-bit quad -i ssue CM OS RIS C microprocessor 1Digital Tech 1J 1,1995,7(1):119~1352J 1M ontenaro,et al 1A 160M Hz 32b 015W CM OS RISC micro -processor 1Int 1Solid -State Circuits Conf 1,San Francisco,CA,19963A 1Hasegaw a,I 1Kaw asaki,K 1Yamada,e t al 1SH 3:H i gh code density,low pow er 1IEEE M icro,1995,15(6):11~194J 1Kin,M 1Gupta,W 1H 1M angione -S mith 1The filter cache:An energy efficient memory structure 1T he 30th Int .l M icroarch-i tecture Symp,Los Alamitos,CA,19975N 1Bellas,I 1N 1Hajj,C 1D 1Polychronopoulos,et al 1Architec -tural and com piler techniques for energy reduction in high -perfor -mance microproces sors 1IE EE T rans 1VLSI Syst 1,2000,8(3):317~3266C 1L 1Su,A 1M 1Despain 1Cache design for energy efficiency 1The 28th Int .l System Sciences Conf 1,Haw aii,19957K 1Ghose,M 1B 1Kamble 1Reduci ng pow er in superscalar proces -s or caches using subbanking,multiple line buffers an d bit -line seg -mentati on 1Int .l Symp 1Low Pow er Electronics and Desi gn,San Diego,Californ i a,19998D 1H 1Albon esi 1Selective CACHE w ays:On demand cach e re -s ource allocation 1IEEE P ACM Int .l Symposium on M icroarchitec -ture (M ICRO -32),Haifa,Israel,19999P 1Ranganathan,S 1Adve,N 1Jouppi 1Reconfigurable caches and th eir application to media processing 1Int .l Symposium on Com -puter Arch i tecture (IACA)1Vancouver,BC,Canada,200010J 1Yang,R 1Gupta 1Energy efficient frequent value data cache de -si gn 1Int 1Symp 1M icroarchitecture,Istanbul,Turkey,200211L 1Villa,M 1Zhang,K 1Asanovi c 1Dynamic zero compression for cache en ergy reduction 1IEEE P ACM Int .l Symposi um on M icroar -chitecture (M ICRO -33),M onterey,California,200012P 1Shivakumar,N 1P 1Jouppi 1CACT I 310:An integrated cache timing ,pow er,and area model 1http:P P ww P techre -ports P Compaq -DEC P WRL -2001-2.html,200113D 1Burge,T 1Austin 1The simplescalar tool set,version 2101U -niv 1of Wisconsi n,Tech 1Rep 1:CS -T R -97-1342,1997750计算机研究与发展 2006,43(4)M a Zhiqiang ,born in 19771Received his B 1A .s and M 1A .s 1degr ees in t he School of Computing Science and T echnology ,Harbin Institute of T echnology ,Heilongjiang in 2000and 2002respectively 1Since 2002,he has been a P h 1D 1candidate in t he School of Computing Sc-i ence and T echnolog y,Harbin Inst itute o f T echnology 1His cur -rent research interests are low -power system and computer ar -chitectur e 1马志强,1977年生,博士研究生,主要研究方向为低功耗系统和计算机体系结构1Ji Zhenzhou ,born in 19651P rofessor and doctor supervisor of Harbin Institute of T echnolog y 1His curr ent research interests include computer architecture,parallel pro -cessing and neuron netw ork 1季振洲,1965年生,教授,博士生导师,主要研究方向为计算机体系结构、并行处理技术和神经计算机网络技术1Hu Mingzeng ,bor n in 19351Professor and doctor super visor of Harbin Institute of T echno logy 1His current research interests include computer architecture,par allel com -puting and netw ork security 1胡铭曾,1935年生,教授,博士生导师,主要研究方向为计算机系统结构、并行计算和网络安全1Research BackgroundA ll modern microprocessors incorporate one or tw o levels of on -chip caches to bridge the enor mous speed dispar ities between the main memory and the central processing unit (CPU )1T o allow fast pipeline clock frequencies to be used,t hese caches are implement -ed using arrays of densely packed static RAM cells 1T he device count for these caches are often a sig nificant fraction of the total tr an -si stor budget for the entire chip,and thus they are a significant source of power dissipation 1In this paper,w e introduced a low -po wer instruction cache called RBC 1T he key idea behind RBC is that,for the instr uctions enter ing the I -cache during the pr ogram ex ecution,part of them are never or r ar ely accessed,techniques called reorder buffer in iden -tify ing these instr uctions though hardw ar e method are dev eloped,and then circuit modificatio ns ar e made in the data ar ray to filter most of the necessar y data accesses 1T he simulatio n r esult shows that the cache act ivities and energy can be saved efficiently by our proposed method 1Our w ork is suppor ted by the National N atural Science Foundatio n of China (60475012)1751马志强等:基于记录缓冲的低功耗指令Cache 方案。