深入理解计算机系统_script_alter__script_ - (EPUB全文下载)
文件大小:0.14 mb。
文件格式:epub 格式。
书籍内容:
出版者的话
译者序
前 言
第1章 计算机系统漫游1
1.1 信息就是位+上下文1
1.2 程序被其他程序翻译成不同的格式3
1.3 了解编译系统如何工作是大有益处的4
1.4 处理器读并解释存储在存储器中的指令5
1.4.1 系统的硬件组成5
1.4.2 运行hello程序7
1.5 高速缓存至关重要7
1.6 存储设备形成层次结构9
1.7 操作系统管理硬件10
1.7.1 进程11
1.7.2 线程12
1.7.3 虚拟存储器12
1.7.4 文件13
1.8 系统之间利用网络通信13
1.9 重要主题15
1.9.1 并发和并行15
1.9.2 计算机系统中抽象的重要性17
1.10 小结17
参考文献说明18
第一部分 程序结构和执行
第2章 信息的表示和处理20
2.1 信息存储22
2.1.1 十六进制表示法22
2.1.2 字25
2.1.3 数据大小25
2.1.4 寻址和字节顺序26
2.1.5 表示字符串31
2.1.6 表示代码31
2.1.7 布尔代数简介32
2.1.8 C语言中的位级运算34
2.1.9 C语言中的逻辑运算36
2.1.10 C语言中的移位运算36
2.2 整数表示38
2.2.1 整型数据类型38
2.2.2 无符号数的编码39
2.2.3 补码编码40
2.2.4 有符号数和无符号数之间的转换44
2.2.5 C语言中的有符号数与无符号数47
2.2.6 扩展一个数字的位表示49
2.2.7 截断数字51
2.2.8 关于有符号数与无符号数的建议52
2.3 整数运算54
2.3.1 无符号加法54
2.3.2 补码加法57
2.3.3 补码的非59
2.3.4 无符号乘法60
2.3.5 补码乘法60
2.3.6 乘以常数63
2.3.7 除以2的幂64
2.3.8 关于整数运算的最后思考67
2.4 浮点数67
2.4.1 二进制小数68
2.4.2 IEEE浮点表示70
2.4.3 数字示例71
2.4.4 舍入74
2.4.5 浮点运算76
2.4.6 C语言中的浮点数77
2.5 小结79
参考文献说明80
家庭作业80
练习题答案90
第3章 程序的机器级表示102
3.1 历史观点103
3.2 程序编码105
3.2.1 机器级代码106
3.2.2 代码示例107
3.2.3 关于格式的注解109
3.3 数据格式111
3.4 访问信息112
3.4.1 操作数指示符112
3.4.2 数据传送指令114
3.4.3 数据传送示例116
3.5 算术和逻辑操作118
3.5.1 加载有效地址118
3.5.2 一元操作和二元操作119
3.5.3 移位操作120
3.5.4 讨论120
3.5.5 特殊的算术操作122
3.6 控制123
3.6.1 条件码124
3.6.2 访问条件码125
3.6.3 跳转指令及其编码127
3.6.4 翻译条件分支129
3.6.5 循环132
3.6.6 条件传送指令139
3.6.7 switch语句144
3.7 过程149
3.7.1 栈帧结构149
3.7.2 转移控制150
3.7.3 寄存器使用惯例151
3.7.4 过程示例152
3.7.5 递归过程156
3.8 数组分配和访问158
3.8.1 基本原则158
3.8.2 指针运算159
3.8.3 嵌套的数组159
3.8.4 定长数组161
3.8.5 变长数组163
3.9 异质的数据结构164
3.9.1 结构164
3.9.2 联合167
3.9.3 数据对齐170
3.10 综合:理解指针172
3.11 应用:使用GDB调试器174
3.12 存储器的越界引用和缓冲区溢出175
3.13 x86-64:将IA32扩展到64位183
3.13.1 x86-64的历史和动因184
3.13.2 x86-64简介185
3.13.3 访问信息187
3.13.4 控制192
3.13.5 数据结构200
3.13.6 关于x86-64的总结性评论200
3.14 浮点程序的机器级表示201
3.15 小结201
参考文献说明202
家庭作业202
练习题答案212
第4章 处理器体系结构230
4.1 Y86指令集体系结构231
4.1.1 程序员可见的状态231
4.1.2 Y86指令232
4.1.3 指令编码233
4.1.4 Y86异常237
4.1.5 Y86程序237
4.1.6 一些Y86指令的详情241
4.2 逻辑设计和硬件控制语言HCL242
4.2.1 逻辑门243
4.2.2 组合电路和HCL布尔表达式243
4.2.3 字级的组合电路和HCL整数表达式245
4.2.4 集合关系248
4.2.5 存储器和时钟248
4.3 Y86的顺序实现250
4.3.1 将处理组织成阶段250
4.3.2 SEQ硬件结构258
4.3.3 SEQ的时序259
4.3.4 SEQ阶段的实现262
4.4 流水线的通用原理267
4.4.1 计算流水线268
4.4.2 流水线操作的详细说明269
4.4.3 流水线的局限性271
4.4.4 带反馈的流水线系统272
4.5 Y86的流水线实现273
4.5.1 SEQ+:重新安排计算阶段273
4.5.2 插入流水线寄存器276
4.5.3 对信号进行重新排列和标号277
4.5.4 预测下一个PC279
4.5.5 流水线冒险280
4.5.6 用暂停来避免数据冒险283
4.5.7 用转发来避免数据冒险285
4.5.8 加载/使用数据冒险288
4.5.9 异常处理289
4.5.10 PIPE各阶段的实现291
4.5.11 流水线控制逻辑297
4.5.12 性能分析305
4.5.13 未完成的工作306
4.6 小结308
参考文献说明309
家庭作业309
练习题答案314
第5章 优化程序性能324
5.1 优化编译器的能力和局限性325 ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 深入理解计算机系统_script_alter__script_ - (EPUB全文下载)