您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 代码优化:有效使用内存英文版(chm版)
  所属分类: 硬件开发
  开发工具:
  文件大小: 10mb
  下载次数: 0
  上传时间: 2008-09-21
  提 供 者: likef*****
 详细说明: 现在网上流行较多的是中文版,pdf的,不过很不清晰, 所以好不容易找了个英文版的,原汁原味. 本书系统深入地介绍了各种代码优化编程技术。全书分为4章。第1章集中介绍如何确定程序中消耗CPU时钟最多的热点代码,即有关所谓程序剖分技术,以及典型剖分工具的实用知识。第2、3章分别全面介绍RAM子系统与高速缓存子系统的代码优化知识。第4章主要介绍机器代码优化技术。各章在讨论基本原理的同时,详细给出了典型的代码实例,并对优化性能进行了定量的分析。   该书特别适合于作为应用程序员及系统程序员的学习与开发之用。同时,本书对在硬件方面的专业人员与技术工作者有一定的参考价值。 目录 第1章 程序剖分 1 1.1 剖分的目标与目的 2 1.1.1 总执行时间 2 1.1.2 执行时间的类型 5 1.1.3 处罚信息 7 1.1.4 调用次数 10 1.1.5 覆盖层次 11 1.2 微剖分的基本问题 12 1.2.1 流水作业或者吞吐量与等待时间 12 1.2.2 测不准 13 1.2.3 硬件优化 17 1.2.4 低分辨率 17 1.3 宏剖分的基本问题 18 1.3.1 运行时间的不一致性 18 1.3.2 二度运行问题 21 1.3.3 负面效应 22 1.3 .4 单台机器的代码优化问题 24 1.4 最新剖分软件概述 24 1.4.1 Intel VTune 25 1.4.2 AMD Code Analyst 26 1.4.3 Microsoft的profile.exe 27 1.5 开发自己的剖分软件 28 1.6 VTune实用剖分知识 28 1.6.1 第一步:删除printf函数 36 1.6.2 第二步:将strlen函数体移出循环 36 1.6.3 第三步:对齐数据 38 1.6.4 第四步:删除strlen函数 41 1.6.5 第五步:删除除法操作 42 1.6.6 第六步:删除性能监测代码 43 1.6.7 第七步:函数组合 43 1.6.8 第八步:减少内存访问操作的次数 44 1.6.9 第九步:把VTune当做私人教练 47 1.6.10 第十步:下结论 53 1.6.11 结果与预测 57 第2章 RAM子系统 59 2.1 RAM概述 59 2.2 RAM的层次结构 60 2.3 随机存取存储器 63 2.4 RAM的设计与工作原理 64 2.4.1 内核部分 64 2.4.2 传统DRAM(页面模式的DRAM) 66 2.4.3 DRAM的发展 68 2.4.4 快速页面模式的DRAM(FPM DRAM) 68 2.4.5 存储器时序 69 2.4.6 扩展数据输出DRAM(EDO DRAM) 70 2.4.7 突发式EDO DRAM(BEDO DRAM) 70 2.4.8 同步DRAM(SDRAM) 72 2.4.9 倍速SDRAM(DDR SDRAM)或者SDRAM II 73 2.4.10 直接Rambus DRAM(直接RDRAM) 73 2.4.11 不同存储器类型的比较 75 2.5 存储器与处理器之间的交互操作 76 2.5.1 计算全存取时间 81 2.6 DRAM物理地址到逻辑地址的映射 83 2.7 内存优化操作 84 2.7.1 建议 85 2.7.2 展开循环 86 2.7.3  消除数据相关性 91 2.7.4  数据并行处理 94 2.7.5  优化引用数据结构 96 2.7.6 减小数据结构的尺寸 100 2.7.7 DRAM板块上的数据分布策略 109 2.7.8 规划数据流 115 2.7.9 按字节、双字与四字进行内存处理 121 2.7.10 数据对齐 123 2.7.11 内存访问与计算的组合 132 2.7.12 读写操作的组合 135 2.7.13 只在必要时才访问内存 136 2.7.14 内置C内存处理函数的优化 137 2.7.15 内存处理函数的优化质量 150 2.7.16 C字符串库函数的优化 152 2.7.17 字符串处理函数的质量优化 156 2.7.18 块处理算法的优化 157 2.7.19 大型数组排序的优化 160 2.8 RAM测试问题 165 第3章 高速缓存子系统 168 3.1 SRAM的工作原理 168 3.1.1 历史概况 169 3.1.2 内核 169 3.1.3 触发器的设计 169 3.1.4 逻辑非元件(取反器)的设计 170 3.1.5 SRAM阵列的设计 171 3.1.6 封装接口的设计 172 3.1.7 读写时序图 173 3.1.8 静态存储器的类型 175 3.2 高速缓存的工作原理 175 3.2.1 起源 176 3.2.2 高速缓存的目标与任务 176 3.2.3 高速缓存的组织 179 3.3 高速缓存与存储器存取的优化 196 3.3.1 处理数据的尺寸对性能的影响 196 3.3.2 可执行代码的尺寸对性能的影响 209 3.3.3 数据对齐效率 213 3.3.4 数据在高速缓存板块上的分布 220 3.3.5 使用有限联合数目的高速缓存 226 3.3.6 二维数组的处理 231 3.3.7 写缓冲机制的详细说明 234 3.3.8 新一代x86处理器的高速缓存管理 250 3.3.9 预取机制的实际应用 256 3.3.10 内存拷贝内幕或者Pentium III与Pentium 4的新命令 275 第4章 机器优化 292 4.1 C/C++编译器的比较分析 292 4.1.1 常量表达式 294 4.1.2 代数表达式 296 4.1.3 算术运算 300 4.1.4 分支语句 302 4.1.5 switch运算符 304 4.1.6 循环 307 4.1.7 函数调用 311 4.1.8 变量分布 312 4.1.9 字符串初始化 312 4.1.10 死码 312 4.1.11 常量条件 313 4.1.12 确定优胜者 313 4.2 汇编器与编译器的对决 313 4.2.1 历史回顾——汇编语言使春天永驻 314 4.2.2 评价机器优化质量的指标 315 4.2.3 评价机器优化质量的方法 316 4.2.4 对主要编译器进行比较分析 317 4.2.5 测试结果的讨论 318 4.2.6 机器优化质量的示例 321 4.2.7 用汇编语言创建保护代码 325 4.2.8 用汇编语言编程是一种创造性活动 326 4.2.9 结束语 326 4.2.10 源代码 327 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: