




已阅读5页,还剩62页未读, 继续免费阅读
(电路与系统专业论文)嵌入式处理器取指单元关键部件低功耗技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 低功耗是嵌入式处理器的主要研究方向,而取指单元包含大量存储器访问, 其功耗已经成为整个处理器功耗的重要组成部分。本文重点研究了嵌入式处理器 取指单元关键部件的低功耗技术这些创新技术的应用能够使嵌入式c p u 在保 持处理器性能的基础上,有效降低取指单元动态功耗本文的主要内容及创新点 包括: 1 、基于指令历史链接关系的路预测高速缓存低功耗技术本文提出了一种 基于分支目标缓存( b t b ) 复用和跳转历史链接关系表的两级跳转路预测架构, 以极低的硬件成本解决了分支目标指令所在行的冲突问题,提高了跳转预取路预 测的准确率,进而有效降低了指令c a c h e 的动态功耗 2 、基于循环体访问过滤的分支目标缓存低功耗技术。针对循环体内指令对 b t b 访问产生的冗余功耗问题,本文提出了一种循环体访问过滤机制,消除循 环体指令流中顺序指令对b t b 的无效访问;进一步提出了一种分支跟踪方法补 偿由于循环过滤机制对循环体中非循环类分支指令的错误过滤造成的性能损失 这两种技术在保障处理器性能的基础上降低了b t b 的动态功耗 本文提出的低功耗技术设计简单、硬件成本低,对嵌入式处理器取指单元低 功耗设计具有积极意义 关键词- 取指单元、低功耗、指令高速缓存、分支目标缓存、路预测、循环过滤、 分支跟踪 i i a b s t r a c t l o w 。p o w e ri st h ek e yr e s e a r c h i n ga s p e c tf o re m b e d d e dc p uw h i l et h ep o w e r c o n s u m e db yt h ei n s t r u c t i o nf e t c h i n gu n i tc o n t r i b u t e sag r e a td e a lt ot h et o t a lc p u s p o w e rd u et oi t sn u m e r o u sm e m o r ya c c e s s i nt h i st h e s i sw ep r o p o s e ds e v e r a l i n n o v a t i o n so nt h el o w p o w e rd e s i g no ft h em o s tp o w e r - h u n g r y c o m p o n e n t si n i n s t r u c t i o nf e t c h i n gu n i ta n da c h i e v e ds i g n i f i c a n tp o w e rr e d u c t i o nw h i l em a i n t a i n i n g c p u sp e r f o r m a n c e t h em a i nc o n t e n ta n di n n o v a t i o n so ft h et h e s i si n c l u d e : 1 i n s t r u c t i o nl i n kh i s t o r yb a s e dw a y p r e d i c t i o na l g o r i t h mf o rl o w - p o w e rc a c h e d e s i g n w ep r o p o s e dat w o - l e v e lb r a n c hw a yp r e d i c a t i o na r c h i t e c t u r ec o n s i s t e db ya r e u s e db t ba n do n eb r a n c hl i n kh i s t o r yt a b l et or e s o l v et h ep r o b l e mo fc a c h e l i n e c o n f l i c t s b yt h em e t h o d , w ei m p r o v e dt h ea c c u r a c yo fw a yp r e d i c t i o nf o rb r a n c h p r e - f e t c h i n ga n dr e d u c e dt h ed y i l a r n i cp o w e ro ft h ei n s t r u c t i o nc a c h ew h i l eo n l yc o s t l i t i l eh a r d w a r er e s o u r c e 2 h o pa c c e s sf i l t e r i n gb a s e dl o w p o w e rb r a n c ht a r g e tb u f f e r i no r d e rt or e d u c e t h ep o w e rd i s s i p a t i o no fb t b ,w ep r o p o s e dal o o pa c c e s sf i l t e r i n gm e c h a n i s mt o e l i m i n a t et h er e d u n d a n tb t b o p e r a t i o n f o r s e q u e n t i a li n s t r u c t i o n si nl o o p s f u r t h e r m o r e ,w ep r o p o s e dab r a n c ht r a c i n gm e t h o dt oc o m p e n s a t et h ep e r f o r m a n c e p e n a l t yd u et o t h eo v e r - f i l t e r i n go ft h ef i l t e r i n gm e c h a n i s mf o rt h o s en o n l o o p b r a n c h e s t h e s et w om e t h o d sa c h i e v e dm a g n i f i c e n tp o w e rr e d u c t i o nf o rt h eb t b w h i l eo n l yb r o u g h tl i t t l ep e r f o r m a n c el o s s t e c h n i q u e sp r o p o s e di nt h et h e s i sa r eb a s e do ns i m p l ea r c h i t e c t u r em o d i f i c a t i o n a n dl i t t l eh a r d w a r ec o s ta n dh a ss o m ep o s i t i v em e a n i n g st ot h el o w p o w e rd e s i g no f e m b e d d e dc p u s k e yw o r d s :i n s t r u c t i o nf e t c h i n gu n i t ,l o wp o w e r , i n s t r u c t i o nc a c h e ,b r a n c ht a r g e t b u f f e r , w a yp r e d i c t i o n ,l o o pf i l t e r i n g ,b r a n c ht r a c i n g i i i 致谢 时光飞梭,在求妯学习生活已历七载,即将完成硕士学历,离开母校踏入 社会,特此感谢母校为我创造的优良的学习环境,感谢超大所和信电系所有师长 朋友的热心关怀和帮助 回首往事,首先要感谢的是c s k y 的各位老师、师兄、同学和同事,在c s k y 的求学经历为我提供了丰富的科研项目经验和广阔的视野,培养了解决实际问题 的能力,也帮助我树立了积极向上的处世态度,将使我终生受益。 感谢严晓浪老师、葛海通老师多年来在c s k y 给我的关心和指导;感谢超 大所王维维老师、史峥老师、罗小华老师、张培勇老师等对我的帮助和教导;同 时感谢信电系所有教导过我的老师的辛勤付出。 特别要感谢的是研究生阶段直接给我指导和帮助的我的师兄孟建熠博 士和陈志坚博士孟师兄和陈师兄三年来对我悉心指引,帮助我打下了坚实的专 业基础、开阔我的视野,同时在生活上和为人处世上都给了我许多宝贵的人生经 验与师兄们共事的这段经历必将成为我人生的宝贵财富。 感谢在项目中一起成长、一起奋斗过的师兄弟们:杨军、丁永林、陈晨、王 荣华、刘畅、项晓燕、徐鸿明、傅可威、龚帅帅、张欣、沙子岩、刘磊、武淑丽、 梁静、鄢传卿、冷冰、曾宪恺、刘晓东、仇径、赵朝君、沈秀红等,这种融洽的 学习氛围将让我毕生难忘。 感谢我的父母及祖母的抚育之恩,父母之恩毕生难报! 最后感谢在我成长路上所有帮助和关怀过我的人,祝好人一生平安! 图目录 图1 1a r m 指令集架构发展历程3 图1 2 低功耗技术层次划分4 图1 3c s k yc p u 原型动态功耗分布5 图1 - 4 门控时钟电路原理及时序图6 图1 5 组合逻辑操作数隔离技术7 图i - 6 经典五级流水线结构示意图8 图1 7 两级指令c a c h e 系统1 0 图1 8m i p s7 4 k t mg s h a r e 分支预测器1 1 图i - 9 分支目标缓存原理示意图1 2 图1 1 0c s k y 主要嵌入式处理器产品。1 3 图1 1 1c s k yc p u 仿真验证平台一1 4 图2 1s u b - b a n k i n gc a c h e 架构示意图2 0 图2 2 分级访问c a c h e 架构示意图2 1 图2 3 指令c a c h e 标志压缩的基本方式2 2 图2 - 4 路预测c a c h e 的两种经典结构2 3 图2 5 顺序历史链接关系的创建与废除2 5 图2 - 6 复用b t b 的跳转历史链接表2 7 图2 7 基于b t b 复用和跳转历史链接表的两级跳转路预测架构2 7 图2 8 采用路预测高速缓存的取指单元结构示意图一2 9 图2 - 9 跳转历史链接关系废除对跳转路预测准确率的影响3 2 图3 1 分支目标缓存访问原理3 s 图3 2b a f 低功耗方案取指单元体系结构示意图3 7 图3 3b t b 部分标志比较方案3 9 图3 4 基本循环体指令流的三种形式4 0 图3 5 循环过滤器硬件结构4 2 图3 - 6 基于b t b 循环过滤访问的取指单元体系架构示意图4 3 图3 7 循环过滤器表项检测和回填过程4 4 v l 图3 8 分支踪迹表硬件结构4 5 图3 - 9 基于循环过滤器和分支踪迹表的取指单元体系架构示意图4 7 图3 1 0 分支踪迹表检测和回填过程4 8 图3 - 1 1 分支踪迹表表项数量与b t b 性能补偿的关系5 0 图3 1 2b t b 容量的分支跟踪补偿性能的影响5 1 图3 1 3 最优l f 和b t t 设计下b t b 功耗优化效率和性能损失分析5 2 v i i 表目录 表2 - 1p o w c r s t o n e 基准测试程序基本情况3 0 表2 2 基于历史链接关系指令c a c h e 路预测准确率3 1 表3 1p o w c r s t o n e 基准程序循环体指令比例基本信息4 1 表3 2 实验使用嵌入式处理器硬件参数4 9 表3 3 循环过滤迭代层数对b t b 功耗的影响4 9 v i i l 浙江大学硕士学位论文第一章绪论 1 绪论 集成电路作为当今信息化社会的消息载体,在最近几年得到了飞速的发展。 微处理器是集成电路的核心器件之一,近几年,随着以便携式移动设备为代表的 消费类电子的迅速普及,嵌入式徽处理器得到了前所未有的应用与发展。嵌入式 微处理器设计的核心是性能与功耗的平衡,设计低功耗要求下的高性能嵌入式微 处理器是当前处理器设计研究中的重点和难点。 本章首先简要介绍嵌入式处理器的研究背景与意义,接下来分析嵌入式处理 器低功耗技术的研究方法和现状,然后阐述本文低功耗技术研究的对象嵌入 式处理器集成取指单元的关键技术,接着介绍本文的研究基础3 2 位高性能 低功耗嵌入式处理器c s k y c p u ,最后给出本文的研究内容和组织结构 1 1 研究背景与意义 微处理器是集成电路发展史上最具有代表性的产品,也是构建当今信息化社 会的核心器件之一从i n t e l 推出第一款商用微处理器4 0 0 4 开始,微处理器一直 是摩尔定律的忠实维护者和推动者,即单位面积硅片上可容纳的晶体管的数量每 1 8 个月增加一倍,性能也增长一倍 根据应用领域的不同,微处理器一般可以划分为服务器处理器、桌面处理器 和嵌入式处理器三大类服务器处理器以i n t e lx 8 6 架构处理器和i b mp o w e r 架构处理器为典型代表,这类微处理器的设计关键是高效的吞吐率、良好的可扩 展性和可靠性桌面处理器则以i n t e l 和a m d 公司为主导,这类处理器通常面 向消费者的办公与生活需求,因此其设计关键是性价比的提高。嵌入式处理器应 用范围最为广泛,涵盖了从玩具、工业设计、家用电器、汽车电子、数码产品、 通信设备到航空航天、资源勘探等各个领域嵌入式处理器的代表产品是a r m 架构系列处理器,此外还有m i p s 架构、i b mp o w e r p c 架构、t e n s i l i c ax t e n s a 架构等多种处理器嵌入式处理器设计根据应用领域的不同有很大的区别,通 常的关键设计特性有系统响应的实时性、性能和功耗平衡性,较低的成本等 a r m 系列处理器是当今3 2 位高性能低功耗嵌入式处理器的主流产品,广泛应用 于主频从5 0 m h z 到2 5 g h z 之间的嵌入式系统之中在当前蓬勃发展的便携式 浙江大学硕士学位论文第一章绪论 手持设备领域,a r m 处理器更是占据着绝对主导的地位当前,a r m 处理器主 要包含a r m v 4 、a r m v 5 、a r m v 6 、a r m v 7 几个架构,如图1 1 所示a r m v 4 架构的典型产品是a r m 7 ,广泛应用于低端嵌入式领域,后在此基础上增加了 1 6 位指令子集t h u m b 技术,用于提高代码密度,进一步降低存储器成本。a r m y 5 架构的主要代表产品是a r m 9 ,属于中低端产品,它在a r m v 4 架构基础之上增 加了j a v a 加速技术j a z e l l e 和矢量浮点协处理器技术v f p v 2 。之后,2 0 0 1 年a r m 又推出了a r m v 6 架构处理器a r m l l ,该架构增加s i m d 技术用于加速音视频 编解码等媒体处理能力;增加t m s t z o n e 技术用于支持面向安全的应用;增加 t h u m b 一2 技术在提高代码密度的同时解决性能下降的问题。t h u m b 2 是一套1 6 位和3 2 位混合编码的高性能指令集,这种技术既可以使a r m v 6 架构处理器得 到t h u m b 技术带来的代码密度提升的优势,又可以使其性能接近于a r m 3 2 指 令集。a r m l l 在a r m 处理器产品线中处于中端位置2 0 0 5 年,a r m 进一步推 出了a r m v 7 架构,应用于c o r t e x 系列处理器中a r m v 7 架构包含三个子系列, 分别为a r m v 7 a 、a r m v 7 r 和a r m v 7 m ,其中a r m v 7 a 架构主要应用于高 端嵌入式产品中,例如智能手机、平板电脑等,其典型处理器型号是c o r t e x a 8 、 a 9 、a 1 5 以及a 5 、a 7 等;a r m v 7 r 架构主要应用于对实时性要求非常高的嵌 入式系统之中,其典型产品有c o r t e xr 4 、r 5 等;而a r m v 7 m 架构则主要应用 于中低端嵌入式领域,用于替代原有的a r m 7 、a r m 9 等较老的处理器产品,其 代表产品有c o r t e xm 0 、m 1 、m 3 和m 4 等。在a r m v 7 a & r 架构处理器中,a r m 增加了先进的单指令多数据技术( n e o n ) ,用于加速多媒体和信号处理算法, 其性能至少是a r m v 5 的3 倍,是a r m v 6s i m d 技术的2 倍;同时增加了更先 进的矢量浮点协处理器v f p v 3 v 4 技术,用于提升浮点运算能力另外,a 5 、a 9 、 a 1 5 均支持m p c o r e 多核技术 2 0 1 1 年1 0 月,a r m 公司又推出了适用于微服务器领域的6 4 位处理器架构 a r m v 8 ,使得a r m 处理器从传统的嵌入式领域发展到了服务器领域。a r m v 8 包含a a r c h 3 2 和a a r c h 6 4 两套指令集架构,其中a a r c h 3 2 指令集架构完全兼容 a r m v 7 ,而a a r c h 6 4 指令集架构是专为服务器设计的6 4 位处理器架构该架构 与i n t e lx 8 6 、i b mp o w e r 等传统的服务器处理器架构相比,在功耗方面具有巨 大的优势 浙江大学硕士学位论文第一章绪论 匦d 团巫刁 二至叵二 二互亟二 图1 - 1a r m 指令集架构发展历程 从a r m 处理器的发展过程中可以发现,当前高端嵌入式处理器与桌面处理 器、服务器处理器的界限变得越来越模糊例如c o r t e xa 1 5 处理器主频可以达 到2 5 g h z ,可扩展为双核或四核处理器,适用于智能手机和移动计算、数字家 庭娱乐、w e b 服务器和无线基础结构等高端领域由于桌面处理器、服务器处理 器与嵌入式处理器设计理念及对低功耗设计注重程度的不同,a r m 高端处理器 与i n t d 、a m d 、m m 等处理器相比,可以获得更高的性能和功耗比低功耗特 性是a r m 处理器在高端应用领域中最突出的竞争优势 较低的运行功耗是嵌入式处理器最重要的设计需求之一,特别对于智能手 机、平板电脑等电池供电的便携式产品而言,处理器的低功耗设计变得尤为重要。 在通常的嵌入式处理器设计中,性能与功耗是一对矛盾。在低功耗要求下设计高 性能的嵌入式处理器是当前嵌入式处理器设计的重点和难点 1 2 嵌入式处理器低功耗技术 c m o s 集成电路的功耗主要由三部分组成【1 1 ,如式1 1 所示。第一部分鼢 属于动态功耗,与c m o s 电路中电容的充放电过程相关,是c m o s 集成电路功 耗的最大来源;第二部分己州为短路功耗,产生于p m o s 、n m o s 晶体管同时 导通的瞬间;第三部分咒。是漏电功耗,与晶体管的物理特性相关短路功耗与 漏电功耗均属于静态功耗 浙江大学硕士学位论文第一章绪论 = + 只 州+ = a c l 厶+ ,”+ ( 1 1 ) 动态功耗是处理器完成某一任务所需消耗的功耗,与运行程序以及处理器的 实时运行状态相关,而静态功耗则与集成电路的基本物理特性相关。在9 0 r i m 工 艺之前,动态功耗占整个c m o s 电路功耗的绝大部分,但随着晶体管尺寸向纳 米级别演进,静态功耗比重不断上升 嵌入式处理器的低功耗技术可以划分为应用级、指令集架构级、微系统结构 级、寄存器传输级和物理级五个层次,如图1 2 所示通常低功耗技术面向的层 次越高,对处理器功耗的节省越明显 1 2 1 应用级低功耗技术 图1 - 2 低功耗技术层次划分 应用级低功耗技术是指结合嵌入式处理器的应用背景,通过设计专用的功能 部件,删除冗余的硬件电路,定制符合实际应用需求的高效处理器例如,对于 浮点运算,既可以通过软件模拟的方式,将浮点运算指令拆分成若干条整型指令 执行,也可以设计专门的浮点运算单元。对于大规模的浮点应用,后者相对于前 者既可以大大提高浮点运算的效率,又可以节省大量功耗同样的,对于加密需 求,可以设计专门的硬件加密单元,加速相关加密算法的运算;对于大规模数据 搬运,可以设计直接存储访问单元( d m a ) ,开辟专门的数据搬运通道等换句 话说,应用层低功耗技术是通过定制面向应用的、高效的功能部件,来提高功耗 的使用效率 4 浙江大学硕士学位论文第一章绪论 1 2 2 指令集架构级低功耗技术 指令集架构级低功耗技术是指在处理器指令集中设计专门的低功耗指令。例 如a r m 指令集中包含有低功耗指令w f i 和w f e ,处理器执行这些指令后将进 入低功耗状态,直到某些特定的中断或事件发生时,处理器才重新被唤醒。一些 处理器在指令集架构中甚至对不同程度的低功耗需求做了详细区分。例如c s k y v 2 指令集中定义了d o z e 、w a i t 、s t o p 三条低功耗指令,当w a i t 指令执行 时,c p u 时钟被关闭,外设一般仍可正常运行并可以产生中断;当d o z e 指令 执行时,c p u 和相应外设停止工作,哪些外设停止工作与实现有关;当s t o p 指令执行时,c p u 和大部分外设都停止工作【2 】。 1 2 3 微体系结构级低功耗设计 微体系结构级低功耗技术的主要思路是通过优化功能模块的体系结构,减少 模块的冗余开启和访问次数。嵌入式处理器各功能部件的功耗分布有很大差别, 图1 3 所示是c s k y 高性能低功耗嵌入式c p u 原型的动态功耗分布示意图,对 应的处理器配置为1 6 k b 指令高速缓存( i - c a c h e ) ,1 6 k b 数据高速缓存 ( d c a c h e ) ,5 1 2 表项分支目标缓存( b t b ) 。 ( a lc k 8 1 0 处理器功耗分布 3 。 ( bjc k 8 1 0 处理器各部件功耗分布 图1 3c s k yc p u 原型动态功耗分布 从图( a ) 数据可以看出,时钟树和存储器消耗功耗分别占了整个处理器功耗 的3 5 4 和3 9 7 ,而逻辑部分功耗之和仅为2 4 9 ,因此降低时钟树和存储器 的功耗对降低整个处理器的功耗具有重大意义。 图( b ) 进一步显示了处理器各功能单元消耗功耗的差异。在整个处理器中, 5 浙江大学硕士学位论文 第一章绪论 集成的取指单元( 包括指令c a c h e ) 消耗了约3 4 的动态功耗,即取指单元消耗 功耗占了整个处理器的1 3 以上因此,通过改进取指单元功耗敏感部件的微体 系结构,减少这些敏感部件的冗余开启和访问,对降低整个处理器的动态功耗具 有重要意义 1 2 4 寄存器传输级低功耗设计 寄存器传输级低功耗设计是指从处理器的逻辑设计层面出发,减少冗余的寄 存器充放电过程和电路翻转。常用的寄存器传输级低功耗设计方法有门控时钟技 术和操作数隔离技术 时钟信号是同步时序电路的全局控制信号,控制了电路中所有寄存器的充放 电过程。由于处理器的时钟树十分庞大,且时钟信号每个周期都会发生翻转,因 此时钟树消耗了大量的处理器动态功耗。时钟信号在寄存器的值需要更新时发生 翻转才有意义,门控时钟技术就是一种控制时钟信号翻转的技术门控时钟技术 一方面减少时钟信号的冗余翻转功耗,另一方面减少寄存器的冗余充放电功耗 门控时钟的电路原理和时序图如图l _ 4 所示 iiiiii ( 8 ) 门控时钟电路原理图 d kr r r r r r g l o b a l _ e n - j : : : l :l 卜- l 懈l e n j : :一一o i i 厂- r 广_ 、i i c l ke n j u ii 、l 鲥k iir 广 i; g c i k 一l l ( b ) 门控时钟时序图 图l _ 4 门控时钟电路原理及时序图 时钟树门控时钟的插入既要考虑门控的高效性,也要考虑门控时钟单元所消 耗的硬件资源,以及整个时钟树时延的平衡性。模块化门控时钟技术是一种比较 好的门控时钟插入方式这种方式将整个系统划分为若干抽象层次,例如芯片级、 时钟域级、口级、模块级、子模块级等,在模块内根据逻辑相同与否将寄存器 划分为若干寄存器群,每个寄存器群设置一个门控时钟单元,而寄存器群中所有 寄存器共用一个门控时钟这种技术既可以通过对每个寄存器群设置比较精确的 时钟使能信号从而提高门控的效率,又通过资源复用避免了门控时钟单元消耗太 6 浙江大学硕士学位论文第一章绪论 多的硬件资源,同时相同逻辑寄存器之间时钟时延的平衡性也比较好。 操作数隔离技术通常应用于复杂的组合逻辑电路,例如加法器、移位器等 由于组合逻辑的特性,一旦输入发生变化,组合逻辑中的电路节点就可能出现充 放电过程,从而消耗动态功耗图1 - 5 ( a ) 所示是一种常见的算术逻辑单元的模块 图,图中加法器、移位器和逻辑运算器均由组合逻辑构成。当操作数x 或操作 数y 发生改变时,由于组合电路的特性,无论当前是何种运算,加法器、移位 器和逻辑运算器都会发生翻转,从而消耗动态功耗。图1 5 ( b ) 是使用操作数隔离 技术之后的算术逻辑单元示意图。对与本运算部件无关的操作,操作数隔离技术 将输入固定为0 ,从而阻止该组合运算部件发生翻转。操作数隔离技术实现简单, 硬件资源消耗小,对降低组合逻辑动态功耗具有显著作用。 【a ) 操作数隔离前 1 2 5 物理级低功耗设计 图1 5 组合逻辑操作数隔高技术 ( b ) 操作数隔离后 随着深亚微米级别、甚至纳米级别集成电路制造工艺的不断推进,c m o s 电路静态功耗占整个集成电路功耗的比重不断增大,成为处理器低功耗的另一重 要制约因素。物理层低功耗技术充分考虑制造工艺特征和电路特性,利用改变物 理器件本身及优化布局布线等方法,降低c m o s 电路的静态功耗和动态功耗 目前常用的物理层低功耗设计技术包括多电源电压技术( m s v , m u l t i s u p p l y v o l t a g e ) 、多阈值电压技术( m m u l t i t h r e s h o l d v o l t a g e ) 、动态阈值电压技术、 门控电源技术和去耦电容插入技术掣3 1 7 浙江大学硕士学位论文 第一章绪论 1 3 嵌入式处理器取指单元关键技术 现代微处理器一般都采用流水化设计。流水线技术是利用执行指令所需的操 作之间的并行性,实现多条指令重叠执行的一种技术【4 1 。经典的5 级流水线结构 分为取值i f 、译码i d 、执行e x 、访存m e m 和写回w b ,如图1 - 6 所示 i f : i d : e x : m e m :w b 一卜 一( 。h j 一卜l v h 裟3i :7 v p ii r t c :吣 一卜 o l,o i d - m e m l 矿i i m e mr f 仁 jo p l1 - - -阽 i i l 叫 i m m h ii ii i l 图1 - 6 经典五级流水线结构示意图 为进一步提高处理器的整体性能,深流水、超标量、乱序执行等先进技术不 断引入到嵌入式处理器设计之中。这些技术的引入一方面大大提高了指令的并行 处理能力,另一方面使得取指单元取指能力不足的问题日益凸显取指单元已经 成为整个处理器性能提升的瓶颈 首先,深流水线技术通过加深流水线来提升处理器频率,但由于分支跳转指 令的实际方向和目标地址只有在流水线执行段才能得到,因此加深流水线使得分 支跳转指令之后的流水线空操作变多,分支跳转的延时变大,从而损害处理器单 位性能据统计,当流水线深度增加至7 8 级时,处理器平均吞吐率的下降达到 了3 0 t 5 】左右。 其次,取指单元通过系统总线从内存中获取指令,相对于处理器而言,系统 总线速度慢、延时大,无法满足处理器性能的需求,因此高性能嵌入式处理器一 般设计有大容量的指令高速缓存( i - c a c h e ) 但大容量c a c h e 访问需多个时钟周 期且消耗大量功耗设计高效节能的多级指令高速缓存系统已成为嵌入式处理器 设计的一个重点和难点 最后,现代主流嵌入式处理器一般采用1 6 位3 2 位混合编码的指令集架构, 8 浙江大学硕士学位论文第一章绪论 例如a r m v 6 、a r m v 7 、m i c r o m i p s 等,不同长度混合编码的指令集要求取指单 元能够处理非对齐取指问题,使得取指单元的设计复杂度进一步提高 因此,为满足现代高性能嵌入式处理器指令取指和发射方式的日益增长的复 杂度,在传统的流水化设计基础之上,架构设计师们逐渐趋向于设计集成的取指 单元【4 1 。集成的取指单元主要整合了以下几种功能: 1 ) 指令预取( p r e f e t c h i n g ) :为解决一个时钟周期多条指令的发射以及混编 指令系统带来的指令边界未对齐问题,取指单元需要提前进行指令的获取集成 的取指单元在功能上更加类似于一个“前进后出”的指令中转站。一方面,取指单 元通过指令预取获得一个个指令包,并按照指令边界从指令包中提取出完整的指 令按序存入指令中转站中;另一方面,中转站不断向下级解码和执行单元传送指 令为保证下级流水线充分高效的执行,减少不必要的停顿,指令中转站必须缓 存有足够的指令,而取指过程经常被分支跳转等打断,从而出现流水线空操作, 因此取指单元必须通过高效的指令预取来克服这一困难。 2 ) 指令高速缓存系统( i n s t r u c t i o nc a c h es y s t e m ) :指令高速缓存系统有效 减小了取指单元和指令存储器之间的访问延迟,已经成为高性能嵌入式处理器的 标准配置之一一个周期内取多条指令会引起一系列复杂的问题,例如跨越 c a c h e 行的取指,访问多路c a c h e 的取指等。集成的取指单元将指令预取和指令 高速缓存系统综合考虑,通过一些有效的预取方式规避这种复杂性。 3 ) 分支预测技术( b r a n c hp r e d i c t i o n ) :分支对取指过程有着重大的影响, 分支预测技术为指令预取提供较高准确率的分支方向和目标地址,从而减少在错 误路径上预取的概率高效的分支预测技术是当代嵌入式处理器设计的重要课 题【6 】【7 】【8 】将分支预测作为集成的取指单元的重要组成部分可以更合理的驱动指 令预取过程 本文的研究重点是集成取指单元性能和功耗敏感部件的低功耗技术。在深入 探讨取指单元关键部件低功耗技术之前,有必要先简单介绍下取指单元的两项关 键技术:多级高速缓存系统技术( m u l t i l e v e lc a c h es y s t e m ) 和分支预测技术 ( b r a n c hp r e d i c t i o n ) 浙江大学硕士学位论文第一章绪论 1 3 1 多级高速缓存技术 为弥补处理器与系统内存之间速度的差异,通常在处理器和系统内存之间设 计有指令高速缓存和数据高速缓存。c a c h e 的基本原理是利用指令和数据的时间 局部性和空问局部性,用于缓存频繁使用的指令和数据,加快指令和数据的获取。 随着嵌入式处理器性能需求的提高,c a c h e 的容量不断增大根据“越小的 硬件速度越快”的原则,大容量c a c h e 的访问延时变大,通常无法在一个处理器 时钟周期内完成访问。为兼顾速度和容量,设计多级高速缓存系统已成为现代处 理器的发展趋势之一 图1 7 显示了一种两级指令c a c h e 技术第一级i x ) c a c h e 直接映射,单周 期访问,虚拟索引物理标志( v i p t , v - l r t u a li n d e xp h y s i c a lt a g ) ;第二级l 1c a c h e 4 路组相联,两周期访问,物理索引物理标志( p 口t ,p h y s i c a li n d e xp h y s i c a lt a g ) 。 图1 7 两级指令c a c h e 系统 图1 7 所示两级指令高速缓存系统具有良好的扩展性,可以方便的扩展更高 层次的大容量c a c h e 另外,采用p i p t 设计的l 1c a c h e 可以按照一致性原则加 以扩展以支持多核处理器( m p c o r e ) 技术 1 3 2 分支预测技术 为解决深流水线技术导致的分支延时变大的问题,嵌入式处理器架构设计中 引入了分支预测技术分支预测技术通过在流水线前级提前进行分支方向和分支 目标地址的预测,实现分支指令的快速处理与目标指令的预取,从而有效减少程 1 0 浙江大学硕士学位论文第一章绪论 序流分支延时。 1 3 2 1 分支方向预测 分支方向预测分为静态预测和动态预测两类。最简单的静态预测方式是预测 分支总是转移,这种预测方式实现简单,但准确率低。对于s p e c 基准测试程序, 这种预测方式的错误率在5 9 9 之间波动【4 1 ,因此实际设计中很少使用。更高 级的静态预测机制根据分支指令类型的不同而有所区分例如对后向分支指令, 统计上这很可能是一条循环分支指令,除最后一次外,分支结果都为转移,因此 可以预测该分支转移面向低端嵌入式应用的c s k yc k 8 0 3 处理器即采用这种 基于分支指令类型的静态预测技术 相比于静态分支预测技术,动态分支预测技术可以获得更高的准确率,成为 现代高性能嵌入式处理器的主流分支预测技术高级动态分支预测技术通常基于 相关预测器。相关预测器的理论依据是当前分支的实际方向除了与分支本身的历 史信息相关外,还与之前i n 条分支的历史信息相关图1 8 所示是m i p s7 4 k t m 采用的g s h a r e 9 】分支预测器 图1 8m i p s7 4 k t mg s h a r e 分支预测器 g s h a r e 预测器采用3 个2 5 6 入口的分支历史表( b h t ,b r a n c hh i s t o r yt a b l e ) , 1 土 浙江大学硕士学位论文 第一章绪论 按照“少数服从多数”的原则预测本次分支方向。b h t 中每个基本预测器均为2 比特相关预测器,b h t 的索引由分支指令地址信息和全局分支历史信息经“异或” 运算得到。g s h a r e 分支预测器的预测准确率可以达到9 5 以上。 1 3 2 2 分支目标地址预测 取指单元通常使用分支目标缓冲器( b t b ,b r a n c ht a r g e tb u f f e r ) 来缓存最近 使用的分支指令及其目标地址。当分支指令地址命中b t b 时,取指单元从b t b 中取出对应表项的分支目标地址,作为下条指令的地址。由于b t b 容量有效, 对于低位索引地址相同的不同分支指令,b t b 会发生冲突缺失,为减轻b t b 冲 突缺失造成的性能,一般使用组相联b t b 。2 路组相联b t b 的工作原理如图1 8 所示: c u r r e r l tp c 图1 - 9 分支目标缓存原理示意图 t a r g e tp c 1 3 2 3 两级分支预测技术 现代高性能嵌入式处理器一般采用基于b t b 和b h t 的两级分支预测技术 例如,a r mc o r t e xa 8 处理器采用一个5 1 2 表项的b t b 和一个4 0 9 6 入1 2 的全局 历史缓存( g h b ) 第一级,由b t b 获得分支指令的预测目标地址;第二级,由 b h t 获得分支指令的预测分支方向若预测分支方向为不跳转,则下一周期顺 浙江大学硕士学位论文第一章绪论 序取指;若预测分支方向为跳转且b t b 命中,则下一周期加载从b t b 中获得的 预测目标地址;若预测分支方向为跳转但b t b 缺失,则由执行单元计算得到实 际分支地址,再发起取指,并将本次分支回填到相应的b t b 表项中 1 0 】 1 4 论文研究基础 本文的研究基础是浙江大学超大规模集成电路设计研究所和杭州中天微系 统公司联合研发的拥有自主知识产权的3 2 位高性能低功耗嵌入式处理器c s k y c p u 及其仿真验证平台 从2 0 0 4 年成功研发第一款嵌入式处理器c k 5 1 0 开始,经过7 年的发展过程, c s k y c p u 已经形成了频率覆盖范围从5 0 m h z 到1 g h z ,从低端到高端各嵌入 式应用领域的处理器产品。图1 1 0 示出了c s k y 的主要嵌入式处理器产品 图1 1 0c s k y 主要嵌入式处理器产品 1 3 浙江大学硕士学位论文第一章绪论 高性能和低功耗是c s k yc p u 研发过程中的两个关键技术课题。本文以处 理器取指单元为研究对象,在体系结构级对取指单元的功耗敏感部件进行低功耗 研究,是c s k y 高性能低功耗嵌入式c p u 研发过程中的关键技术之一。 c s k yc p u 仿真验证平台如图1 1 1 所示。仿真验证平台由激励产生、工具 链、测试平台和覆盖率统计四部分组成。 图1 - 1 1c s k y c p u 仿真验证平台 ( 1 ) 激励产生:c s k yc p u 采用随机验证和直接验证相结合的方法。随机 验证将约束输入到激励产生器中,根据预先提取的测试功能点产生测试用例;直 接验证用例则由验证工程师直接编写。 ( 2 ) 工具链:测试用例产生后,通过c s k y 工具链将测试用例转变成二进 制码输入到测试平台中。测试用例首先经过静态随机指令产生器s r i g 产生静态 测试代码,再经过c s k y 编译器、汇编器、连接器等工具生成二进制代码下载 到测试平台的存储器中。 ( 3 ) 测试平台:测试平台采用r t l 模型与i s a 黄金模型结果相比较的方式 判断r t l 设计的正确性。i s a 黄金模型是一个由高级语言编写的处理器指令集 仿真模型,用于作为r t l 模型的参照。 ( 4 ) 覆盖率分析:覆盖率的统计分为面向结果的统计和面向功能的统计。 1 4 浙江大学硕士学位论文 第一章绪论 面向结果的覆盖率统计信患由r t l 模型提供,主要是代码的覆盖率,包括行 ( 1 i n e ) 、逻辑节点翻转( t o g g l e ) - 条件( c o n d ) 、代码分支( b r a n c h ) 、有限状态 机( f s m ) 等的覆盖率。面向功能的统计信息由激励产生器提供,主要是统计测 试用例对测试功能点的覆盖情况。在较智能的测试环境中,功能测试覆盖率可以 反馈给激励产生器,用于指导测试用例的产生以提高覆盖率。 1 5 论文研究内容和组织结构 本文以c s k y c p u 为研究基础,以设计高性能低功耗嵌入式处理器为研究 背景,重点研究高性能嵌入式处理器取指单元中关键部件的低功耗设计。本文的 主要内容和创新点包括: ( 1 ) 基于指令历史链接信息的路预测高速缓存低功耗技术 针对指令高速缓存无关路冗余访问问题,本文提出了基于指令历史链接信息 的指令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 ) 基于循环体访问过滤的分支目标缓存低功耗技术 针对循环体中顺序指令对b t b 的冗余访问问题,本文提出了一种循环体访 问过滤机制用于消除循环体指令流中顺序指令对b t b 的无效访问,从而降低 b t b 功耗进一步地,本文提出了一种分支跟踪方法补偿循环体访问过滤机制 对循环体中非循环类分支指令的错误过滤导致的性能损失该技术在有效降低 b t b 功耗的同时,仅带来极小的性能损失 本文的组织结构如下: 第一章为绪论,首先论述了嵌入式处理器的研究背景和意义,介绍了当期嵌 入式处理器的发展方向;其次分析了嵌入式处理器低功耗问题以及各层次的主要 低功耗技术;接着简要介绍了本文的研究对象嵌入式处理器取指单元关键部 件的基本原理和核心技术;然后给出本文的研究基础和研究平台;最后概述了本 文的主要研究内容和创新点 第二章研究指令高速缓存低功耗技术首先扼要分析指令高速缓存的功耗问 1 s 浙江大学硕士学位论文第一章绪论 题;接着介绍当前国内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工地消防安全管理制度范文(4篇)
- 离职员工离职后知识产权保护及竞业限制合同模板
- 借款合同签订与合同违约责任及争议解决机制
- 离婚协议书:针对房产、车辆等财产分割的合同范本
- 医学检验师考题及答案
- 四年期住宅租赁合同范本附带租赁保证金条款
- 离婚财产分割协议书:房产、车辆、存款及债权
- 离婚房产分割补偿协议:保障未成年子女教育基金合同
- 能源行业离职员工技术秘密及商业机密保密协议
- 地质科研成果知识产权共享与地质勘探协议
- 《英国政党制度》课件
- 幽门螺杆菌检测报告
- 农业经理人(中级)技能理论考试复习题库(含答案)
- 义务教育阶段中小学学生转学申请表
- 高速公路工程电子招标标准施工招标文件(2022年试行版)
- 云南省临沧县富康河铜矿勘探项目环评报告
- 公司档案分类方案
- 茶学概论-第一章-茶的起源与传播(2学时)课件
- 网络空间安全导论-西北工业大学中国大学mooc课后章节答案期末考试题库2023年
- 宋小宝小品《碰瓷》完整台词
- 破产管理人考试题库及答案
评论
0/150
提交评论