书签 分享 收藏 举报 版权申诉 / 24
上传文档赚钱

类型CPU高效编程技术课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:3703989
  • 上传时间:2022-10-06
  • 格式:PPTX
  • 页数:24
  • 大小:1.56MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《CPU高效编程技术课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    CPU 高效 编程 技术 课件
    资源描述:

    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

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:CPU高效编程技术课件.pptx
    链接地址:https://www.163wenku.com/p-3703989.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库