注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

x86汇编优化的参考文档  

2013-08-01 14:51:57|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
最近看网上的ppt,看到很多汇编级别的优化思路,不是很理解。
比如前面一篇文章的cityhash算法的优化,这些很多都涉及cpu指令流水线这种底层优化。还有“阿里技术嘉年华”的一个ppt
这些优化都需要对cpu架构的理解比较清楚才行,比如下面这些:
cpu decode的  4-1-1-1 解码模式, decode pipeline
cpu的6个port执行单元,可以并行执行3个算数运算,2个内存load,一个内存store
数据依赖导致指令延时执行
分支预测
MicroFusion Macro-Fusion Store Forwarding 等cpu指令加速技术

这种在“Intel? 64 and IA-32 Architectures Optimization Reference Manual.pdf” 这个Intel的手册里面 “PROCESSOR ARCHITECTURES”一章里面以Sandy Bridge为例 介绍的比较清楚的了。然后优化什么的介绍的比较清楚。之前也大概看了一下。但这种东西要认真看才行,每个细节都不能放过,只有清楚cpu的架构,才能真正的去优化这个汇编代码。

然后网上的资源的话,发现 Software optimization resources  http://www.agner.org/optimize/   这个还是很不错的,有的介绍写的比Intel手册容易理解一些。 像 “The microarchitecture of Intel, AMD and VIA CPUs: An optimization guide for assembly programmers and compiler makers”  “Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs” 等几个都可以看一下。 后面那个给出了每个cpu汇编指令的“耗时” 和 对cpu各个执行单元(port)的使用关系。





  评论这张
 
阅读(731)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017