ImageVerifierCode 换一换
格式:PPTX , 页数:24 ,大小:1.56MB ,
文档编号:3703989      下载积分:22 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3703989.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(CPU高效编程技术课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

CPU高效编程技术课件.pptx

1、微处理器的核心技术 流水线处理 运算器高速化 RISC和CISC 超标量执行 乱序执行 分支预测 缓存 多核心1了解处理器Nehalem E5620 长流水线=15级 X86指令解释为微指令后乱序执行 等待执行的微指令放在Reserveration Station 多个ALU运算单元并发、乱序执行 Reorder Buffer中实现串行化 Instruction RetirementPipeline 示例:4级和8级的流水线Intel的长流水线Front End读入x86指令,每个时钟周期16字节x86指令解析为微指令(op)微指令(op)缓存乱序执行-1寄存器重命名微指令进入保留站分配临时寄

2、存器发射指令各种运算Load/StoreEUEUEU乱序执行-2存入临时寄存器EU中计算结果Load/Store按指令顺序写出结果指令生效,真正写入内存和物理寄存器触发具有数据依赖的指令执行指令量化分析 取指令,每个16字节/cycle X86指令解析为微指令 简单指令3条/cycle 复杂指令1条/cycle 保留站到EU的Port,总共6个P0,P1,P5到ALU单元P2,P3,P4到Load/Store单元Instruction Retirement,4条op/cycleDependency Chain长度指令优化 长流水线=15级 Branch prediction miss性能损耗大

3、 减少Branch prediction miss率 减少/消除conditional branch Bit运算代替比较 Comvg指令代替比较 充分发挥Intel处理器乱序执行的能力 避免指令间存在long dependency chain 避免指令间隐性的依赖关系,例如对eflags的依赖CPU内部各部件访问速度10充分利用寄存器#define LZ4_COPYSTEP(s,d)A64(d)=A64(s);d+=8;s+=8;#define LZ4_COPYPACKET(s,d)LZ4_COPYSTEP(s,d)#define LZ4_WILDCOPY(s,d,e)do LZ4_COPYP

4、ACKET(s,d)while(d32)r=4;else r=0;val=32;if(!(val16)r+=2;val=8;else val=24;r+=(!val);return r;12并行执行*op+=*ref+;*op+=*ref+;*op+=*ref+;*op+=*ref+;13消除Conditional Branch 如何消除这个if语句if(a 31;r=(mask&c)|(mask&d);Bit运算版本2int mask=(a-b)31;r=d+mask&(c-d);cmovg版本r=(a b)?c:d;分支可能性提示#define likely(expr)expect(exp

5、r)!=0,1)#define unlikely(expr)expect(expr)!=0,0)while likely(ipmatchlimit-(STEPSIZE-1)15The Blocking Technique16The Blocking Technique/Increasing memory usage improves compression ratio/Reduced memory usage can improve speed,due to cache effect/Default value is 14,for 16KB,which nicely fits into Int

6、el x86 L1 cache#define MEMORY_USAGE 14#define HASH_LOG(MEMORY_USAGE-2)#define HASHTABLESIZE(1 HASH_LOG)struct refTablesHTYPE hashTableHASHTABLESIZE;17memchrmagic_bits=(unsigned long int)0 x7efefefe 32)|0 xfefefeff;/*Set up a longword,each of whose bytes is C.*/charmask=c|(c 8);charmask|=charmask 16;

7、charmask|=charmask=sizeof(longword)longword=*longword_ptr+charmask;if(longword+magic_bits)&magic_bits)!=0)18memchr续 const unsigned char*cp=(const unsigned char*)(longword_ptr-1);if(cp0=c)return(_ptr_t)cp;.if(cp7=c)return(_ptr_t)&cp7;n-=sizeof(longword);19False sharing20对齐cachelinetypedef union GFAll

8、ctr_t gfa;char align_gfaERTS_ALC_CACHE_LINE_ALIGN_SIZE(sizeof(GFAllctr_t);ErtsAllocatorState_t;char*states=erts_sys_alloc(0,+ERTS_CACHE_LINE_SIZE-1);states=(UWord)states)&ERTS_CACHE_LINE_MASK)?(char*)(UWord)states)&ERTS_CACHE_LINE_MASK)+ERTS_CACHE_LINE_SIZE):(char*)states);21perf listRAW HARDWARE EV

9、ENT DESCRIPTOR Even when an event is not available in a symbolic form within perf right now,it can be encoded in a per processor specific way.For instance For x86 CPUs NNN represents the raw register encoding with the layout of IA32_PERFEVTSELx MSRs(see Intel(R)64 and IA-32 Architectures Software De

10、velopers Manual Volume 3B:System Programming Guide Figure 30-1 Layout of IA32_PERFEVTSELx MSRs)or AMDs PerfEvtSeln(see AMD64 Architecture Programmers Manual Volume 2:System Programming,Page 344,Figure 13-7 Performance Event-Select Register(PerfEvtSeln).22致谢 部分图片和代码来自鸣嵩 treelink比赛分享23多谢大家!Questions?QQ:526275新浪微博:淘宝褚霸Gtalk:24

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|