开发工具:
文件大小: 38mb
下载次数: 0
上传时间: 2010-10-10
详细说明: 目录回到顶部↑1 编写卓越代码须知. 1.1 编程卓越之道系列 1 1.2 本卷内容 3 1.3 本卷所做的假设 5 1.4 卓越代码的各项特征 6 1.5 本卷涉及的环境 7 1.6 获取更多信息 8 2 数值表示 2.1 什么是数 10 2.2 计数系统(Numbering System) 11 2.2.1 十进制位值计数系统 11 2.2.2 进制(基数) 12 2.2.3 二进制计数系统 13 2.2.4 十六进制计数系统 15 2.2.5 八进制(基数为8)计数系统 18 2.3 数/字符串转换 19 2.4 数的内部表示 21 2.4.1 位(bits) 21 2.4.2 位串 22 2.5 有符号数与无符号数 24 .2.6 二进制数一些有用的特性 25 2.7 符号扩展,零扩展,以及缩减 27 2.8 饱和操作(saturation) 30 2.9 二进制编码的十进制(BCD)表示法 31 2.10 定点表示法 33 2.11 比例数格式(scaled numeric formats) 35 2.12 有理数表示法 38 2.13 获取更多信息 38 3 二进制算术与位运算 3 .1 二进制数与十六进制数的算术运算 39 3.1.1 二进制加法 40 3.1.2 二进制减法 41 3.1.3 二进制乘法 42 3.1.4 二进制除法 43 3.2 位逻辑运算 46 3.3 二进制数和位串(bit string)的逻辑运算 47 3.4 有用的位运算 48 3.4.1 使用与运算检测位串的各个位 48 3.4.2 使用与运算来检测一组位是零/非零 49 3.4.3 比较一个位串中的一组位 49 3.4.4 使用逻辑与创建模-n计数器(Modulo-n Counters) 51 3.5 移位(Shift)与循环移位(Rotate) 52 3.6 位域与打包(packed)数据 55 3.7 打包与解包数据 60 3.8 获取更多信息 64 4 浮点表示法 4.1 浮点运算简介 66 4.2 IEEE浮点数格式 71 4.2.1 单精度浮点格式 72 4.2.2 双精度浮点格式 74 4.2.3 扩展精度浮点格式 74 4.3 规格化(normalization)与反向规格化(denormalized)数 75 4.4 舍入(rounding) 77 4.5 特殊的浮点数 78 4.6 浮点异常 79 4.7 浮点运算 80 4.7.1 浮点表示 80 4.7.2 浮点加法与减法 81 4.7.3 浮点乘法与除法 92 4.8 获取更多信息 100 5 字符表示法 5.1 字符数据 104 5.1.1 ASCII字符集 104 5.1.2 EBCDIC字符集 107 5.1.3 双字节字符集 108 5.1.4 Unicode字符集 109 5.2 字符串 110 5.2.1 字符串格式 111 5.2.2 字符串类型:静态,伪动态,以及动态字符串 116 5.2.3 字符串引用计数 117 5.2.4 Delphi/Kylix字符串 118 5.2.5 创建你自己的字符串格式 119 5.3 字符集合 119 5.3.1 字符集合的幂集表示法 120 5.3.2 字符集合的列表表示法 120 5.4 设计你自己的字符集 121 5.4.1 设计一种高效的字符集 122 5.4.2 为数字分组字符码 124 5.4.3 分组字母字符 124 5.4.4 比较字母字符 126 5.4.5 其他字符分组 128 5.5 获取更多信息 131 6 内存组织与访问 6.1 基本的系统组成部分 134 6.1.1 系统总线 134 6.1.2 地址总线 135 6.1.3 控制总线 136 6.2 内存物理组织 137 6.2.1 8 位地址总线 139 6.2.2 16位数据总线 140 6.2.3 32位数据总线 142 6.2.4 64位总线 143 6.2.5 在非80x86处理器上访问小数据单位 143 6.3 大端组织与小端组织 144 6.4 系统时钟 149 6.4.1 内存访问与系统时钟 151 6.4.2 等待状态 152 6.4.3 高速缓存内存 153 6.5 CPU内存访问 157 6.5.1 直接内存寻址模式 158 6.5.2 间接寻址模式 158 6.5.3 变址寻址模式 159 6.5.4 比例变址寻址模式 160 6.6 获取更多信息 160 7 复合数据类型与内存对象 7.1 指针类型 162 7.1.1 指针的实现 163 7.1.2 指针与动态内存分配 164 7.1.3 指针操作与指针运算 164 7.2 数组 169 7.2.1 数组声明 169 7.2.2 数组在内存中的表示 172 7.2.3 访问数组元素 173 7.2.4 多维数组 174 7.3 记录/结构 181 7.3.1 Pascal/Delphi中的记录 181 7.3.2 C/C++中的记录 182 7.3.3 HLA中的记录 182 7.3.4 记录的内存存储 183 7.4 判别式联合 185 7.4.1 C/C++中的联合 186 7.4.2 Pascal/Delphi/Kylix中的联合 186 7.4.3 HLA中的联合 187 7.4.4 联合的内存存储 187 7.4.5 联合的其他用途 188 7.5 获取更多信息 189 8 布尔逻辑与数字设计 8.1 布尔代数 192 8.1.1 布尔运算符 192 8.1.2 布尔代数的公理 192 8.1.3 布尔运算符优先级 194 8.2 布尔函数与真值表 194 8.3 函数号 197 8.4 布尔表达式的代数运算 198 8.5 标准型 199 8.5.1 最小项之和标准型与真值表 200 8.5.2 使用代数方法得到最小项之和标准型 202 8.5.3 最大项之积标准型 203 8.6 布尔函数化简 204 8.7 但是,这些和计算机又有什么关系呢? 212 8.7.1 电子线路与布尔函数的对应 213 8.7.2 组合电路 214 8.7.3 时序与钟控逻辑(Sequential and Clocked Logic) 220 8.8 获取更多信息 224 9 CPU体系结构 9.1 CPU设计基础 225 9.2 指令解码与执行:随机逻辑与微码 228 9.3 指令执行详解 229 9.3.1 mov指令 230 9.3.2 add指令 232 9.3.3 jnz指令 234 9.3.4 loop指令 234 9.4 并行——提高处理速度的关键 235 9.4.1 预取队列 238 9.4.2 妨碍预取队列性能的情况 242 9.4.3 流水线操作——重叠执行多条指令 243 9.4.4 指令高速缓存——提供访问内存的多条通路 247 9.4.5 流水线相关(pipeline hazards) 249 9.4.6 超标量运算——并行执行指令 251 9.4.7 乱序执行(Out-of-Order Execution) 253 9.4.8 寄存器重命名 253 9.4.9 甚长指令字(VLIW)体系结构 255 9.4.10 并行处理 255 9.4.11 多处理 257 9.5 获取更多信息 258 10 指令集体系结构 10.1 指令集设计的重要性 260 10.2指令设计基本目标 261 10.2.1 选择指令长度 263 10.2.2 规划未来 265 10.2.3 选择指令 266 10.2.4 给指令指派操作码 266 10.3 Y86假想处理器 267 10.3.1 Y86的限制 268 10.3.2 Y86指令 268 10.3.3 Y86的寻址模式 270 10.3.4 Y86指令编码 271 10.3.5 Y86指令编码举例 274 10.3.6 扩展Y86指令集 278 10.4 80x86指令编码 279 10.4.1 编码指令操作码 281 10.4.2 add指令编码的例子 287 10.4.3 编码立即操作数 291 10.4.4 8,16,与32位操作数编码 292 10.4.5 指令的替代编码(alternate encoding) 292 10.5 指令集设计对程序员的意义 293 10.6 获取更多信息 293 11 内存体系结构与组织 11.1 内存层次结构 295 11.2 内存层次结构是如何工作的 298 11.3 内存子系统的相对性能 300 11.4 高速缓存体系结构 302 11.4.1 直接映射高速缓存 303 11.4.2 全相联高速缓存 304 11.4.3 n路组相联高速缓存 304 11.4.4高速缓存方案与数据访问类型的匹配 305 11.4.5 缓存线替换策略 306 11.4.6 写数据到内存中 307 11.4.7 高速缓存使用与软件 308 11.5 虚存,保护,以及页面调度 309 11.6 颠簸 312 11.7 NUMA与外围设备 313 11.8 编写理解内存层次结构的软件 314 11.9 运行时内存组织 316 11.9.1 静态与动态对象,绑定,以及生命期 317 11.9.2 代码,只读,以及常量段 319 11.9.3 静态变量段 319.. 11.9.4 未初始化存储(BSS)段 319 11.9.5 栈段 320 11.9.6 堆段与动态内存分配 321 11.10 获取更多信息 328 12 输入与输出(I/O) 12.1 将CPU与外界相连 330 12.2 将端口连接到系统的其他方式 333 12.3 I/O机制 334 12.3.1 内存映射输入输出 334 12.3.2 输入输出与高速缓存 335 12.3.3 I/O映射输入/输出 335 12.3.4 直接内存访问(DMA) 336 12.4 输入输出速度等级 337 12.5 系统总线与数据传输率 338 12.5.1 PCI总线的性能 339 12.5.2 ISA总线的性能 340 12.5.3 AGP总线 341 12.6 缓冲 341 12.7 握手 342 12.8 I/O端口的超时 343 12.9 中断与轮询方式I/O 344 12.10 保护模式操作与设备驱动程序 345 12.10.1 设备驱动程序(Device Drivers) 346 12.10.2 与设备驱动程序以及“文件”通信 347 12.11 深入研究各种PC外设 347 12.12 键盘 348 12.13 标准PC并口 349 12.14 串口 351 12.15 磁盘驱动器 352 12.15.1 软盘驱动器 352 12.15.2 硬盘驱动器 352 12.15.3 RAID系统 358 12.15.4 Zip与其他光读软盘驱动器 359 12.15.5 光驱(optical drive) 359 12.15.6 CD-ROM,CD-R,CD-R/W,DVD,DVD-R, DVD-RAM与DVD-R/W驱动器 360 12.16 磁带驱动器 362 12.17 闪存 363 12.18 RAM盘与半导体盘 365 12.19 SCSI设备与控制器 367 12.20 IDE/ATA接口 372 12.21 大容量存储设备上的文件系统 374 12.21.1 使用空闲空间位图(bitmap)管理文件 377 12.21.2 文件分配表 378 12.21.3 块表文件组织 381 12.22 编写处理大容量存储设备上的数据的软件 385 12.22.1 文件访问性能 386 12.22.2 同步与异步I/O 387 12.22.3 I/O类型的影响 388 12.22.4 内存映射文件 389 12.23 通用串行总线(USB) 390 12.23.1 USB的设计 390 12.23.2 USB的性能 392 12.23.3 USB传输的类型 393 12.23.4 USB设备驱动程序 395 12.24 鼠标,触控板与其他指点设备 396 12.25 操纵杆与游戏控制器 397 12.26 声卡 399 12.26.1 音频接口外设如何产生声音 400 12.26.2 音频与MIDI文件格式 401 12.26.3 编程处理音频设备 403 12.27 获取更多信息 403... 运用底层语言思想 编写高级语言代码 A ASCII字符集 ///////////////////////////////////////// 目录回到顶部↑致谢 引言 第1章 以底层语言思考,用高级语言编程 1.1 关于编译器质量的误区 1.2 最好还是学学汇编语言 1.3 为何学习汇编语言并非绝对必要 1.4 以底层语言思考 1.5 编程用高级语言 1.6 假设条件 1.7 不特定于某种语言的方法 1.8 卓越代码的特征 1.9 本卷涉及的环境 1.10 获取更多信息 第2章 要不要学汇编语百 2.1 学习汇编语言的障碍 2.2 向《编程卓越之道》第二卷求援 2.3 向高层汇编器求援 2.4 HLA 2.5 以高级语言思考,用底层语言编程 2.6 汇编语言的编程范型——在底层思考 . 2.7 《汇编语言编程艺术》及其他资源 第3章 高级语言程序员应具备的80x86汇编知识 3.1 学一种汇编语言很好,能学几种更好 3.2 80x86汇编语言的语法 3.3 80x86基本架构 3.4 文字常量 3.5 汇编语言中的字面(符号)常量 3.6 80x86的寻址模式 3.7 汇编语言的数据声明 3.8 在汇编语言中指定操作数尺寸 3.9 80x86最简指令集 3.10 获取更多信息 第4章 高级语言程序员应具备的PowerPC汇编知识 第5章 编译器的操作与代码生成 第6章 分析编译器输出的工具 第7章 常量与高级语言 第8章 变量 第9章 数组 第10章 字符串 第11章 指针 第12章 记录、联合和类 第13章 算术与逻辑表达式 第14章 控制结构与程序判定 第15章 迭代控制结构 第16章 函数与过程 软件工程学 附录 80x86和PowerPC处理器家族的概要对比 网上附录 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.