![]()
内容推荐 卓越的代码需要利用现代编程语言的先进特性来实现软件功能。但软件最终都要运行在计算机上,无论它是采用哪种编程语言编写的。因此,卓越的软件代码也要充分地利用计算机中的各种资源,将计算机的性能发挥到极致。现代编程语言将这些知识隐藏了起来,容易被我们忽视。 因此,《编程卓越之道》系列的第一卷《深入理解计算机》将重点放在软件执行背后的计算机底层上,深入浅出地介绍了计算机体系结构的方方面面,帮助我们理解如何才能写出在计算机上高效运行的代码。本书具体内容包括:数字、字符串及复合数据结构在计算机中的表示形式,以及如何在内存层次结构中访问这些数据;基本的二进制运算、位运算、布尔逻辑,以及如何设计完成运算的中央处理器指令集;输入/输出、大容量存储等丰富多彩的外设,以及把这些外设和计算机相连进行通信的各种总线技术。 本书适合软/硬件开发人员及系统程序员、移动及嵌入式设备开发者、体系结构设计人员,以及高校计算机相关专业师生。 作者简介 兰德尔海德(Randall Hyde),著有《汇编语言艺术》和《编程卓越之道》第一卷、第二卷、第三卷(均由No Starch出版社出版),以及Using 6502 Assembly Language和P-Source(均由Datamost出版社出版),合著有Microsoft Macro Assembler 6.0 Bible(由TheWaite Group出版社出版)。过去40年,Hyde 作为嵌入式软/硬件工程师,为核反应堆、交通控制系统及其他消费电子设备开发过仪表工具。他还在加州州立理工大学波莫纳分校和加州大学河滨分校教授计算机科学这门课。 目录 1 编写卓越代码须知 1.1 《编程卓越之道》系列 1.2 本书涵盖的主题 1.3 阅读本书的前提 1.4 卓越代码的特征 1.5 本书要求的环境 1.6 额外建议 1.7 更多信息 2 数字表示 2.1 什么是数字 2.2 计数系统 2.2.1 十进制位值计数系统 2.2.2 底数(基数) 2.2.3 二进制计数系统 2.2.4 十六进制计数系统 2.2.5 八进制计数系统 2.3 数字/字符串转换 2.4 内部数字表示形式 2.4.1 位 2.4.2 位串 2.5 有符号和无符号数 2.6 二进制数的属性 2.7 符号扩展、零扩展和收缩 2.8 饱和操作 2.9 二进制编码的十进制表示 2.10 定点表示形式 2.11 比例数字格式 2.12 有理数表示形式 2.13 更多信息 3 二进制算术运算和位运算 3.1 二进制和十六进制数字的算术运算 3.1.1 二进制加法 3.1.2 二进制减法 3.1.3 二进制乘法 3.1.4 二进制除法 3.2 位的逻辑运算 3.3 二进制数值和位串的逻辑运算 3.4 有用的位运算 3.4.1 使用AND运算判断位串中的一位 3.4.2 使用AND运算判断多个位为零或非零 3.4.3 比较二进制字符串中的多个位 3.4.4 使用AND运算创建模n计数器 3.5 移位和旋转 3.6 位字段和打包数据 3.7 数据的打包和解包 3.8 更多信息 4 浮点表示形式 5 字符表示形式 6 内存结构和访问 7 复合数据类型与内存对象 8 布尔逻辑与数字设计 9 CPU体系结构 10 指令集体系结构 11 内存体系结构与组织 12 输入与输出 13 计算机外设总线 14 大容量存储设备与文件系统 15 丰富多彩的输入/输出设备 后记:运用底层语言思想,编写高级语言代码 |