已阅读5页,还剩106页未读, 继续免费阅读
(计算机系统结构专业论文)微处理器性能分析模型的建立和研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着集成电路工艺的不断发展和应用的日益多样化,微处理器结构设计工作的复杂 度也越来越高。如何利用有限的设计时间和资源来高效地分析处理器性能是每个设计者 都要面临的问题。现有的基于结构级模拟器进行性能分析的方法所需时间过长且无法直 接反映影响处理器性能的瓶颈。为获得高性能或资源有效的设计方案,处理器设计者需 要在大量不同的处理器配置下运行多种工作负载,并在评估的过程中权衡各方面的设计 因素。这一过程周期长且成本和复杂度都很高。 针对超标量微处理器的结构特点,本文首先提出了适用于微基准程序的处理器简单 分析模型。这一模型基于理想上限公式,与微基准程序o o d s o n - m i c r o b e n c h 相结合,能 够更加有效地分析微处理器的流水线效率,发现性能瓶颈。 为了评估大数据集的基准程序,本文进一步提出了微处理器的性能分析模型 m a m o ( m i e r o p r o c e s s o ra i l a l 蛳c a lm o d e l ) 。这一模型主要包括指令窗口模型,功能部件 受限模型,分支误预测事件模型,指令和数据c a c h e 失效模型。m a m o 使用以上模型 计算出微处理器各个部件对程序c p i ( c y c l e sp e r n s m i c t i o n ) 的贡献,并进而估算出处理器 实际能够达到的性能。 在m a m o 中,指令窗口模型用于对处理器的乱序发射部分建模,这一模型可以根 据动态相关指令距离的统计信息快速计算处理器的理想性能;功能部件受限模型根据平 均指令延迟使用泊松分布为指令执行部分建模,可用于计算功能部件延迟和数目对处理 器i p c ( i m m m i o n sp e rc y c l e ) 的影响:延迟更新的分支预测器模型可以更加准确的计算 分支误预测率:c a c h e 模型可用于统计指令和数据c a c h e 的失效率;使用指令窗口模型 计算出的i w 特性曲线可用于分析各种失效事件的开销。本文使用基准模拟器对比校验 了m a m o 模型,对于s p e cc p u2 0 0 0 定点程序c p i 估算的平均误差约为8 5 3 。 本文使用m a m o 分析了龙芯2 号处理器的性能瓶颈,并与s i m g o d s o n 模拟器做了 进一步的校验。这一模型还可用于探索微处理器的设计空间,分析指令级并行性的变化 趋势,各种队列的有效长度以及功能部件的合理设置。 最后,本文使用基于理想上限的处理器模型分析比较了龙芯2 号和a l p h a 2 1 2 6 4 处理 器,并依此提出了功能部件动态反馈式分配策略等结构改进措施,使得微基准程序在龙 芯2 号上的平均性能提高了1 3 g o o ,s p e c 程序集的i p c 提高了2 8 8 。作为基于详细模 拟的处理器性能分析方法的补充,微处理器性能分析模型能够更加有效地分析处理器性 能瓶颈,探索设计空间,也将在龙芯处理器的结构优化工作中发挥重要作用。 关键词:超标量;微处理器:分析模型;性能分析;工作负载;微体系结构;m a m o ar e s e a r c ho i lm i c r o p r o c e s s o rp e r f o r m a n c ea n a l y t i c a lm o d e l m a k e ( c o m p u t e r a r d d t e c t u r e ) d i r e c t e db yh u a n g l i u s h e n g w i t ht h ed e v e l o p m e n to fi ct e c h n i c sa n dv a r i a t i o no fa p p l i c a t i o n s ,t h ec o m p l e x i t yo f m i c r o p r o c e s s o ra r c l l i t e c t l l d e s i g ni se v e l i n c r e a s i n g h o wt oa n a l y z et h em i c r o p r o c e s s o r p e r f o r m a n c ee f f i c i e n t l yw i t hl i m i t e dd e s i g np e r i o da n dr e s o u r c e si saq u e s t i o nf o re v e r y m i c r o p r o c e s s o r a r c h i t e c t t h e p e r f o r m a n c ea n a l y s i sm e t h o db a s e d o ns i m u l a t i o ni s t i m e - c o n s u m i n ga n ds h o r to fi n s i g h ti n t ot h ep e r f o r m a n c eb o t t l e n e c k a r c h i t e c t sh a v et o s i m u l a t em a n yk i n d so fw o r k l o a d sw i t hd i f f e r e n tm i c r o p r o c e s s o rc o n f i g u r a t i o n sa n dc o n s i d e r t h et t a d e o f fa m o n gv a r i o u sf a c t o r st oa t t a i nah i g hp e r f o r m a n c eo rc o s t - e f f e c t i v ed e s i g n t h i s m e t h o di sal o n g - p e r i o dp r o c e s sw i t hh i g hc o s ta n dc o m p l e x i t y a c c o r d i n gt ot h ea r c h i t e c t u r a lc h a r a c t e r so fs u p e r s c a l a rm i c r o p r o c e s s o r s , t h i st h e s i s p r o p o s e sas i m p l em i c r o p r o c e s s o ra n a l y t i c a lm o d e la p p l i c a b l et om i c r o b e n c h m a r k s 讹 m o d e li sb a s e do nt h ei d e a ll i m i tf o r m u l a s c o m b i n e d 、 d t l lt h eg o d s o n - m i e r o b e n e h , t h i sm o d e l c a nb eu s e dt oa n a l y z et h ep i p e l i n ee f f i c i e n c ya n dd i s c o v e rt h ep e r f o r m a n c eb o t t l e n e c ko f m i c r o p r o c e s s o r s t oe v a l u a t et h em i c r o p r o c e s s o rp e r f o r m a n c ew i t hn l a c r o b e n c h m a r k s ,t h i st h e s i sp r o p o s e s m a m o am o r ed e l i c a t em i c r o p r o c e s s o ra n a l y t i c a lm o d e l t h i sm o d e li n c l u d e si n s t r l 埘o n w i n d o wm o d a l , l i m i t e df u n c t i o n a lu n i tm o d e l 。b r a n c hm i s - p r e d i c t i o nm o d e l , i l 璐圩删伽a n d d a t ac a c h em i s sm o d e l m a m oc a nb eu s e dt o c o m p u t e t h er e a l p e r f o r m a n c eo f m i c r o p r o c e s s o r b a s e d0 1 1t h ec o n t r i b u t i o nt oc p i ( c y c l e sp e ri n s t n m i o n ) o fe a c h m i c r o p r o c e s s o rp a r tc o m p u t e db yt h ea b o v em o d e l s n 伦i n s t r u c t i o nw i n d o wm o d e lo fm a m 0c a nb eu s e dt om o d e lt h eo u t - o f - o r d e ri s s u e p a r to fi i l i 锄硼c e s s o r 1 h sm o d e lc a nc o m p u t et h ei d e a lp e r f o r m a n c eb a s e do nt h es t a t i s t i c s o fd y n a m i ci n s t r u c t i o nd e p e n d e n c yd i s t r i b u t i o n n l el i m i t e df u n c t i o n a l - u n i tm o d e lu s 鹤t h e a v e r a g eo p e r a t i o nl a t e n c ya n dt h ep o i s s o nd i s t r i b u t i o nt om o d e lt h ee x e c u t i o np a r t i tc a nb e u s e dt oc o m p u t et h ee f f e c to i li p c ( i n s t r u c t i o n sp e rc y c l e ) o ft h el a t e n c ya n dn t n n b e ro f f u n c t i o n a l u n i t s t h e l a t e - u p d a t e b r a n c h p r e d i c t o r m o d e lg a l l c o m p u t e t h eb r a n c h m i s p r e d i c t i o nr a t i om o r ea c c u r a t e l y 1 1 1 ec a c h em o d e lc a nh eu s e dt ot a k es t a t i s t i c so f t h ed a t a a n di n s t r u c t i o nc a c h em i s sr a t i o sa n da n a l y z et h ec a c h em i s sp e n a l t yb a s e do bt h ei w c h a r a c t e r i s t i cc o m p u t e db yt h ei n s t r u c t i o nw i n d o wm o d e l w eu s ead e t a i l e db a s es i m u l a t o rt o v a l i d a t em a m ow h i c hr e s u l t sa n8 5 3 e r r o ro na v e r a g ew h e np r e d i c t i n gc p io ft h es p e c c p u2 0 0 0i n tb e n c h m a r k s w ea n a l y z et h ep e r f o r m a n c eb o t t l e n e c ko ft h eg o d s o n - 2p r o c e s s o ru s i n gm a m oa n d v a l i d a t et h er e s u l tw i t ht h es i m - g o d s o ns i m u l a t o rf l m e r t i l i sm o d e l 啪a l s oh eu s e dt o e x p l o i tt h ed e s i g ns p a c eo f m i c r o p r o c e s s o r , a n a l y z et h ev a r y i n gt r e n do f l l pf 】n s l 删o nl e v e l l i i 微处理器性能分析模型的建证和研究: a b s t r a c t p a r a l l e l i s m ) a n dt h ee f f e c t i v el e n g t ho fw a i t i n gq u e u e sa s w e l la st h er a t i o n a le o n f i go f f i m c t i o n a lu n i t s f i n a l l y w ea n a l y z et h ep e r f o r m a n c eo fg o d s o n - 2a n da l p h a 2 1 2 6 4u s i r 培t h ei d e a l - l i m i t b a s e dm o d e la n dp r o p o s es o m ea r c h i t e c t u r ei m p r o v em e t h o d ss u c ha sd y n a m i cf e e d b a c km a p p o l i c yf o rf u n c t i o n a lu n i t s t h e s ei m p r o v e m e n t sr e s u l ta l l1 3 8 i n c r e a s ei np e r f o r m a n c e o f 血e m i c r o b e n c h m a r k sa n d2 8 8 i n c r e a s ei ni p co f t h es p e cc p u2 0 0 0 a sac o m p l e m e n to f t h e p e r f o r m a n c ea n a l y s i sm e t h o db a s e do nc y c l e a c c u r a t es i m u l a t i o n , m i c r o p r o c e s s o rp e r f o r m a n c e a n a l y t i c a lm o d e lc a nb eu s e dt oa n a l y z et h ep e r f o r m a n c eb o t t l e n e c ka n de x p l o i tt h ed e s i g n s p a c em o r ee m c i e n t l y t h i sm o d e lw i l lp l a ya l li m p o r t a n tr o l ei nt h ea r c h i t e c t u r a lo p t i m i z a t i o n p r o c e s so f t h eg o d s o ns e r i e sm i c r o p r o c e s s o r s k e y w o r d s :s u p e r s c a l a r , m i c r o p r o c e s s o r , a n a l y t i c a lm o d e l ,p e r r o m m c ee v a l u a t i o n , w o r k l o a d , m i c r o a r c h i t e c t u r e ,m a m o i v 图目录 图2 1e - b e n c h m a r k 代码示例。 图2 - 3m b e n c h m a r k 代码示例 图2 4 基于微基准程序和理想上限公式的性能分析流程 图3 1 指令窗口模型结构示意图 图3 2m i p s 指令集下- 0 2 优化选项s p e c i n tp a w o 统计。 图3 3m i p s 指令集下0 2 优化选项s p e c r pp a o 统计 图3 4 p l l a 指令集下s p e c i n tp a w z ) 统计 图3 5a l p h a 指令集下s p e c f pp a w - t ) 统计 图3 6m i p s 指令集下- 0 2 优化选项s p e c i n ti w 特性曲线 图3 7m i p s 指令集下- 0 2 优化选项s p e c f pi w 特性曲线 3 3 3 4 图3 8c o n 在c r c c 编译器不同编译优化选项下的相关指令距离统计信息3 5 图3 9t e s t 规模下c o n 程序i w 曲线的计算值与实际值比较 图3 1 0 乱序执行使得指令队列中磊能够被发射的概率降低 图3 1 1 指令窗口中指令矗滞留原因的分布 3 7 3 7 。3 8 图3 1 2 模型估算的i p c 与模拟得到的i p c 以及根据最长依赖链计算出的i p c 比较4 0 图3 1 3 指令窗口大小和动态相关距离对理想i p c 的影响( 理想i p c 等高图) 4 2 图3 1 4 理想i p c 与a 和1 3 之间的关系 图4 1 超标量处理器的分析模型结构图 图4 2s p e cc p u2 0 0 0 定点程序指令类型分布 图4 3s p e cc p u2 0 0 0 定点程序理想i p c 比较 4 3 4 5 4 7 图4 4s p e cc p u2 0 0 0 定点程序指令平均延迟4 8 图4 5s p e cc p u2 0 0 1 ) 定点程序考虑实际功能部件延迟的i p c 比较:4 9 徽处理器性能分析模型的建立和研究:图目录 图4 6 程序i p c 的p o i s s o n 分布a p c 翩g = 2 5 ,n f u - c i g s = 4 ) 图4 7g e e 程序i p c 的p o i s s o n 分布与实际分布比较。 图4 8m a y 程序i p c 的p o i s s o n 分布与实际分布比较 图4 9g a p 程序i p c 的p o i s s o n 分布与实际分布比较 5 0 5 1 5 l 图4 1 0s p e cc p u2 0 0 0 定点程序考虑功能部件数目及延迟的i p c 比较5 2 图4 1 1 简单分支预测器模型 图4 1 2 分支预测器延迟更新模型 图4 1 3s p e cc p u2 0 0 0 定点程序的分支转移误预测率比较 图4 1 4s p e cc p u2 0 0 0 定点程序的b t b 误预测率比较 图4 1 5s p e cc p u2 0 0 0 定点程序的r a g 误预测率比较。 图4 1 6 分支误预测时处理器i p c 的变化 图4 1 7s p e cc p u2 0 0 0 定点程序的分支误预测开销 图4 1 8s p e cc p u2 0 0 0 定点程序的指令c a c h e 失效率 图4 1 9 指令c a c h e 失效事件 图4 2 0s p e cc p u2 0 0 0 定点程序的指令c a c h e 失效开销5 9 图4 2 1s p e cc p u2 0 0 0 定点程序的数据c a c h e 失效率6 0 图4 2 2 数据c a c h e 失效事件 图4 2 3p e r l b m k 数据c a c h e 失效动态距离变化图6 2 图4 2 4s p e cc p u2 0 0 0 定点程序的连续失效访存分布函数而何6 3 图4 2 52 m 片上二级c a c h e 配置下的连续失效访存分布函数f d 【c u ( o 6 3 图4 2 6s p e cc p u2 0 0 0 定点程序的数据c a c h e 失效开销 图5 1 指令窗口模型计算的理想c p i 误差 图5 2 根据功能部件延迟和数目计算出的c p i 误差 图5 - 3 存在分支误预测事件时的c p i 误差 图5 4 存在指令c a c h e 失效事件时的c p i 误差 x 6 4 6 5 6 6 舄 弱 舛 弱 钌 鲐 弱 卯 徽赴理器性能分析模型的建立和研究:图目录 图5 5 存在数据c a c h e 失效事件时的c p i 误差。6 7 图5 6m a m o 计算出的s p e cc p u2 0 0 0 定点程序的c p i 构成6 8 图5 7 m a m o 计算出的s p e c c p u 2 0 0 0 定点程序的c p i 误差构成6 8 图6 1m a m o 计算出的龙芯2 号上s p e cc p u2 0 0 0 定点程序的c p i 构成7 2 图6 2m a m o 的c p i 误差构成 图6 3 理想c a c h e 的处理器i p c 与发射宽度和平均动态相关距离之间的关系7 4 图6 4 处理器实际i p c 与发射宽度和平均动态相关距离之间的关系7 4 图6 5 指令窗口大小为5 1 2 项,分支误预测率为2 时i p c 与a 和b 的关系7 5 图6 6 i p c 与数据c a c h e 失效率,a 和d 的关系 图6 7 指令窗口8 6 4 项时g c c 的理想i p c 变化情况 图6 8 指令窗口8 6 4 项时g c c 的受限i p c 变化情况 图6 9 指令窗口8 6 4 项时g e e 的i p c 变化情况 7 6 7 6 7 7 7 7 图6 1 0 指令窗口8 - - 6 0 项时增加4 项对g e ei p c 的提高百分比7 7 图6 i im i s s q 项数对g c c 程序的数据c a c h e 失效开销和i p c 的影响7 8 图6 1 2g e e 程序中连续数据c a c h e 失效数目的累积分布7 9 图6 1 3g c c 程序中连续数据c a c h e 失效数目的累积分布。7 9 图6 1 4g c c 程序的数据c a c h e 失效开销和i p c 随r o b 项数变化趋势7 9 图6 1 5 增加访存部件对s p e cc p u2 0 0 0 定点程序理想i p c 的提升8 0 图6 1 6 增加访存部件对s p e cc p u2 0 0 0 定点程序实际i p c 的提升8 1 图6 1 7 分簇式结构的平均加速比与功能部件平均延迟的额外增加量之间的关系8 l 图6 1 8 动态反馈式功能部件分配策略对s p e cc p u2 0 0 0 定点程序的性能提升。8 2 图7 1g o d s o n - m i c r o b e n c h 在龙芯2 号结构改进前后的i p c 比较8 6 图7 2 结构改进后g o d s o n - m i c r o b c n c h 的性能提高 图7 3c - c 核心循环的汇编代码( a ) a l p h a 体系结构o j ) m p s 体系结构。8 7 图7 4 动态反馈式功能部件分配策略实现结构图。 x i 微处理器性能分析模型的建立和研究:图目录 图7 5 动态反馈式分配策略对s p e cc p u 2 0 0 0 负载均衡程度的影响 图7 6 动态反馈式分配策略对s p e c2 0 0 0 程序口c 的影响 图7 7 理想情况下分配策略s p e cc p u 2 0 0 0i p c 的影响 图7 8 动态反馈式分配策略对e e m b ci p c 的影响 9 3 9 4 9 4 9 5 图7 9 性能优化对s p e cc p u 2 0 0 0i p c 的影响。9 6 表目录 表1 。l 微处理器性能模型的特点比较 表2 1 现代通用处理器微体系结构比较 表2 2g o d s o n - m i c r o b c n c h 理想上限分析公式 表4 1 基准模拟器配置 表4 2 基准模拟器中各种类型指令的延迟 表6 1 龙芯2 号处理器参数配置 表7 1s i r e - a l p h a 和i c t - g o d s o n 配置参数 表7 2g o d s o n - m i c r o b e n c h 的澳4 试及分析结果 表7 3c - c o 中s w i t c h 语句分支转移情况 表7 4 龙芯2 号模拟器参数配置一 2 1 3 1 8 4 6 4 7 8 3 8 4 8 9 9 3 中国科学技术大学学位学位论文相关声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究 工作所取得的成果。除已特别加以标注和致谢的地方外,论文中 不包含任何他人己经发表或撰写过的研究成果。与我一同工作的 同志对本研究所做的贡献均已在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权, 即:学校有权按有关规定向国家有关部门或机构送交论文的复 印件和电子版,允许论文被查阅或借阅,可以将学位论文编入有 关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文。 保密的学位论文在解密后也遵守此规定。 蔓叭0 、 作者虢乌尊 1 年 月;日 第一章引言 随着微处理器片上晶体管数目的增加和新生产工艺的采用,微体系结构的相关技术 也在不断的发展和完善。一方面,高性能微处理器的结构日趋复杂,其可行的设计空间 也随之不断增加;另一方面,目标工作负载也在不断地变化,不同类型的应用如科学计 算,数据挖掘,图形图像处理等对微处理器提出了不同方面的要求。现代通用微处理器 的设计已经成为一个团队所进行的高度系统化的过程。p e n f i u r n 4 的性能分析使用了来自 s p e cc p u 2 0 0 0 的5 5 0 组踪迹 s 自a g h a n 0 0 4 ,在结构级模拟器上完整运行一组r e f e r e n c e 规模的踪迹需要数十小时,而分析工作又需要性能调试、结构设计、程序分析、编译等 多个团队的协作进行,所以周期长且复杂度高。为快速评估不同的处理器结构和工作负 载对性能的影响,i n t e l 使用了l 0 0 0 台工作站作为i t a n i u m2 处理器的模拟池 【s h a r a n g p a n i 2 0 0 0 】,设计成本高且分析过程复杂。 现有的基于周期精确模拟器进行性能分析的方法田o s c l 9 9 9 所需时间过长且无法直 接反映影响处理器性能的瓶颈,量化微体系结构参数对性能的影响。目前在编写r t l 之 前龙芯性能的预评估主要使用模拟所有硬件行为的i c t - g o d s o n 模拟器和执行驱动的 s i m - g o d s o n 模拟器f 张福新2 0 0 5 。这一性能评估流程尚未成熟:一方面周期精确模拟的 速度太慢,且信号级的模拟器修改比较困难,不利于团队协作:另一方面对工作负载的 认识还不够,缺乏必要的程序行为分析工具。本文提出的微处理器的分析模型 m a m o ( m i c r o p r o c e s s o ra n a l 蜘c a lm o d e l ) 做为一个系统直观的性能分析平台,可以分离 程序和机器并行性以及微体系结构的各个部分对处理器性能的影响,缩短性能分析的时 间,量化微体系结构改进对性能的影响,从而优化处理器的结构设计。与基于模拟的性 能研究方法相比,性能分析模型可隧作为处理器性能评估和研究的另一种手段,用于发 现程序自身特性并揭示指令级并行所存在规律性的根本原因。同时分析模型也可以作为 验证模拟器性能分析结果,探索微体系结构和编译技术改进空间的工具。 1 1 微处理器的性能模型 微处理器的设计需要考虑性能、功耗、面积等多方面的因素,其中性能决定了微处 理器的运算能力及执行工作负载的效率,是微处理器设计的一个重要目标,也是衡量微 处理器设计水平的一个基本指标 微处理器的性能一般通过一组基准程序在处理器上的执行时间来衡量。由于在设计 阶段一般并不存在真实的微处理器或者r t l 及f p g a 模型,设计人员只能通过反映目标 处理器结构特征的模型来评估微处理器所自2 够达到的性能。本文将这种能够反映微处理 器结构特征的软件模型称为微处理器的性能模型。 与真实的微处理器相比,性能模型一般具有便于修改,执行可控的特点,且能够收 l 中国科学技术大学博士学位论文馓处理器性能分析模型的建立和研究 集用于性能分析的各种统计数据。所以微处理器的性能模型不仅可以用于在处理器的设 计阶段探索设计空间,还可以在微处理器的结构改进和性能分析阶段用于细致地分析影 响流水线效率的性能瓶颈和设计缺陷。应用程序和编译器的优化也可以通过对性能模型 执行过程的分析来完成。微处理器的性能模型可以按照其抽象程度分为如下三类: 信号级模型 这种性能模型使用串行执行的高级语言模拟了硬件实现的所有细节,在任何一个处 理器周期( 以下称为每拍) 都具有与真实硬件完全一致的行为,从而具有较高的准确度。 这种模型的设计和校验复杂度较低,但是由于各个模块之间的耦合程度高,功能模拟与 时序模拟相结合,所以灵活性不够且模拟速度很慢。龙芯2 号处理器的信号级模型 i c t - g o d s o n 的模拟速度仅为5 0 1 0 0 k 指令缈。 结构级模型 这种性能模型将功能模拟与时序模拟分离开,反映微处理器主要的结构特征。这种 模型按照功能模拟与时序模拟的耦合程度可以进一步分为踪迹驱动( t r a c e d r i v e n ) 模型和 执行驱动( e x e r t i o n - d r i v e n ) 模型。踪迹驱动模型中,时序模拟与功能模拟完全独立,由 功能模拟器生成的程序执行踪迹来控制模型的执行。执行驱动模型由功能模拟来控制时 序模型,两者同时进行。结构级模型由于具有较高的灵活性,所以广泛应用于学术研究 中。通过与真实处理器的校验,结构级模型也可达到较高的准确性,但其设计和校验相 对复杂。这种模型的模拟速度一般比信号级模型高一个数量级。为加快处理器性能分析 的过程,研究人员使用事件驱动( e v e n t - d r i v e n ) 和统计采样等方法来进一步提高结构级模 型的模拟速度。龙芯2 号处理器的结构级模拟器s i m - g o d s o n 使用了执行和事件驱动的 模式,模拟速度可达到5 0 0 k 指令缈。 分析模型 虽然信号和结构级模型可以统计出性能分析所需的数据,但却不能深入地揭示处理 器结构和程序特性的相互作用关系以及它们对性能的影响。微处理器的分析模型独立地 为处理器的各个部分建立分析模型,在忽略硬件实现细节的情况下考虑其对性能的影响, 从而能够量化地分析影响处理器性能的因素,且具有速度快、灵活性高的特点。目前分 析模型尚未得到广泛应用,这一方面是由于其构建非常复杂,需要对处理器的结构特征 有深刻的认识;另一方面在于抽象模型无法反映硬件细节,误差较大。 表1 1 列出了三种性能模型的特点比较。微处理器的结构设计和性能分析是一个复 杂的过程,需要结合各种性能模型来辅助完成。 表1 1 微处理器性能模型的特点比较 性能模型特点模拟速度灵活性准确度设计和验证复杂度 信号级模型 , 结构级模型 7 分析模型 2 第一章引言 1 1 1 信号级性能模型及相关优化技术 在微处理器设计的初期阶段,结构设计人员通常会为目标处理器编写信号级模拟器, 用于验证处理器功能的正确性并评估处理器性能。与r t l 相比,信号级模拟器具有统计 功能强,便于优化的特点。设计人员一般使用c 语言或s y s t e mc 语言来编写信号级模 拟器,并采用优化技术来加快模拟器的执行。下面我们介绍一些常用的信号级模拟器优 化技术f 张福新2 0 0 5 。 流水级逆序调用 在超标量处理器执行指令的过程中,数据依次通过各个流水级。由于寄存器的阻塞 赋值具有延时性,顺序调用各流水级将会需要额外的变量来保存寄存器本周期产生的新 值。当处理器周期改变时,必须将上一拍产生的寄存器的新值拷贝至原始变量,从而保 证本拍处理器的输出可以使用寄存器的原始值,新值则在下一拍才会被其他部分看到。 如果在处理器周期的主循环中逆序调用各个流水级,就可以减少对寄存器值的备份操作, 加快执行速度。 由于各个流水级之间的信号传递关系较为复杂,如f o r w a r d 信号及各种反馈信号, 逆序调用并不能完全消除寄存器拷贝,此时可以采用代码分区技术,将各个流水级的逻 辑按照输入信号的不同分类,不同类别的调用次序和调用次数都区别开来,从而进一步 减少寄存器拷贝。 消除寄存器拷贝 寄存器拷贝包括在每拍开始时将寄存器的原始值拷贝到新值和每拍结束时将寄存器 的新值拷贝到原始值两个操作。当各模块的逻辑满足如下两个条件时,将原始值拷贝到 新值的操作就可以被消除: 1 各模块的输入都来自于寄存器的原始值,不引用寄存器的新值,这可以在不恢 复寄存器新值的情况下也保证逻辑的正确性。 2 各模块中寄存器的赋值都不是有条件的,这可以保证在多次调用的过程中寄存 器的赋值不会取到某个中问状态的错误值。 逆序调用各个流水级可以消除大部分新值拷贝到原始值的操作。除此之外,还必须 在各个流水级中尽量保证寄存器的引用在赋值之前,这将进一步消除新值拷贝到原始值 的操作。 削减无效操作 在模拟器中我们可以根据结构设计的语义削减流水级中的无效操作,这些无效操作 代表了与硬件相对应的逻辑,在某些情况下并不需要被执行。比如总线空闲时与生成总 线信号逻辑相对应的语句可以被认为是无效操作,队列操作中与未选中项相关的逻辑也 可以被看作是无效操作。通过削减无效操作也可以提高模拟器的执行速度。 龙芯2 号的信号级模拟器i c t 圯_ a x l s o n 模拟了处理器内部各种硬件资源的逻辑功能和 连接关系,整个模拟器的逻辑行为和r t l 模型零延迟仿真逐拍一致【张福新2 0 0 5 。这一 中国科学技术大学博士学位论文- - - - - - - m 处理嚣性能分析模型的建立和研究 模拟器准确度高且具备数据收集和调试功能,但模拟速度较慢,在a m d 6 43 2 0 0 + 微机上 每秒能够模拟约5 0 1 0 0 k 个处理器周期。 现代通用处理器的结构设计和性能分析一般都需要信号级模型来辅助完成。i n t e l 公 司为其p e n f i u m4 处理器编写了踪迹驱动的性能模型 s i n g h a l 2 0 0 4 。其踪迹包括处理器体 系结构状态、系统内存和外部事件( 如i o 、中断、d m a ) ,被称为l i t ( l o n gi n s t r u c t i o n t r a c e s ) 。这一模型不仅实现了对处理器时序的模拟也模拟了指令流的执行,这可以辅 助设计人员验证处理器实现的正确性。 d e c 公司对于a l p h a 处理器的性能分析使用了基于a t o m s r i v a s t a v a a i n t p a i r i m k a r 的踪迹驱动性能模型,这一分析方法易于修改和调试,具有很强的灵活性且模拟速度更 快。a t o m 是一个目标程序修改工具,可用于在真实机器上收集程序执行踪迹。a i n t 通 过解释执行程序来获得踪迹,并可以使用信号级模拟器来指导生成猜测执行路径上的程 序踪迹。 p o w e r p c 处理器的性能评估使用了称为t u r a n d o t 的信号级模型 m o u d g i l l l 9 9 9 ,与 a l p h a 的性能模型相似,t u r a n d o t 可以由预先收集的踪迹驱动,也可以由其控制解释器 生成程序踪迹并驱动自身执行。为加快其执行速度,t u r a n d o t 的设计人员采用了很多优 化措施,包括流水级逆向调用,合并连续且不停滞的流水级,采样技术等。t u r a n d o t 在 2 0 0 m h z 的r s 6 0 0 0 工作站上能够达到约1 0 0 k 指令秒的模拟速度。 1 1 2 结构级性能模型介绍 学术界广泛使用s i m p l e s c a l a r 工具集 a u s t i n 2 0 0 2 来对处理器的微体系结构进行研究 和评估。s i m p l e s c a l a r 是一个用于在不同层次和方面构建微处理器模拟器的软件框架, 包括采用执行驱动方式的典型超标量处理器结构的详细模拟器;快速的功能模拟器;对 分支预测器进行评估的模拟器:对c a c h e 层次进行评估的模拟器。s i m p l e s c a l a r 工具集 还提供了一个机器定义框架,从而支持包括a l p h a 、p o w c r p c 、m p $ 、x 8 6 和a r m 在 内的指令集以及不同的体系结构,并提供了统计、调试、验证和可视化等辅助功能。 s i m p l e s c a l a rt 具集具有很好的灵活性和完善的功能,但由于其基于执行驱动的方 式,对微处理器进行逐拍的模拟,所以模拟速度受到了很大的限制。虽然研究人员使用 统计采样的s m a r t s 框架和选择模拟样本的s i m p o i n t 方法 s h e r w o o d 2 0 0 2 来加速模拟过 程,但对于大工作负载的模拟时间仍然较长,而对于不同配置下的性能分析结果则必须 通过反复模拟来获得。 s i m o s r o s e n b l u m l 9 9 5 是s t a n f o r d 大学开发的一个灵活的全系统模拟器架构。它不 仅模拟了微处理器,还模拟了计算机系统中的多种外设,包括内存、d m a 和中断控制 器、终端、网络接口、磁盘、f r a m eb u f f e r 以及鼠标键盘等。 s i m o s 支持多种处理器模型,包括指令集模拟器m i p s y 、超标量处理器的详细模 拟器m x s 和一个使用二进制翻译的模拟器e m b r a 。s i m o s 提供了灵活而又强大的控制 和统计功能,使用t c l 脚本来设置模拟器各个部件的参数,控制模拟器执行并收集性能 4 第一章引言 分析数据。另外,s i m o s 还提供了通过g d b 对其进行调试的接口。 使用s n 订o s 来分析处理器的性能必须使用对微体系结构进行模拟的m x s 或e m b r a 模拟器,但使用m x s 模拟器会影响模拟速度,使用e m b m 模拟器则必须在m i p s 机器 上运行。 1 1 3 性能分析模型介绍 为加快模拟速度,近年来研究人员提出了使用统计方法对工作负载进行分析并利用 这些统计信息( 包括指令类型分布、指令组合、指令问相关信息、分支预测率和c a c h e 命中率等)综合生成符号程序的建模方法 c a r l l 9 9 8 , e e c k h o u t 2 0 0 4 2 0 0 4 , n u s s b a u m 2 0 0 1 ,o s k i n 2 0 0 0 。这种符号程序在特定的模拟 器模型上执行并得到性能分析结果。由于这种合成的程序实际上是对工作负载的抽象, 所以它包含的信息精炼从而能在模拟器上得到很快的收敛。同时,这种方法也具有很高 的准确性。由e e c k o u t 等人 j r 2 0 0 4 改进后的h l s 模型,对s p e c 程序的平均i p c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木材销售协议书模板
- 新车买卖协议书样本
- 水利水电工程师考务培训试题及答案
- 2026-2031年中国弱视治疗仪行业市场发展现状及投资前景预测报告
- 食品生产计划考试题及答案
- 老年公寓老人生活监护人培训试题及答案
- 教育扶贫共建协议书
- 2026-2031年中国生态修复行业前景研究与市场需求预测报告
- 文章刊登协议书模板
- 人民银行考试题库及答案
- 中国建筑史-绘图题
- GB/T 9442-2010铸造用硅砂
- 溶胶-凝胶法:高均一性、高比表面积催化剂制备
- FZ/T 73009-2021山羊绒针织品
- 纤维化学与物理-第三章蛋白质纤维-蚕丝课件
- 医务处的管理职责课件
- 中医妇科学课件-妊娠病胎漏胎动不安
- 甾体及其苷类-2011课件
- 大健康数据课件
- 新北师大版七年级上册生物 第2单元 生物体的结构 教学课件
- 非物质文化遗产概论:第二章-非遗分类-第七节传统节日类遗产课件
评论
0/150
提交评论