展开全部

主编推荐语

从程序员的角度介绍计算机系统的基本原理及底层实现机制。

内容简介

本书从程序员的角度来详细说明计算机系统的本质概念,并展示这些概念如何影响应用程序的正确性与性能,强调在实际系统的操作中发现问题、分析问题和解决问题,特别注意引导学生建立“计算机系统”的概念,将程序代码的编写、编译及运行与机器内部特性紧密结合起来。

本书将讲解计算机系统中的底层实现过程,引导读者编写更高效的程序,成为更有效率的程序员——能够更有效的找出并消除程序中的bug,能够更好的进行程序性能调忧,并为以后的计算机类“系统级”课程,如编译原理、操作系统、网络原理等的学习打好基础。

目录

  • 版权信息
  • 前言
  • 第1章 概论
  • 1.1 计算机系统的基本功能和基本组成
  • 1.1.1 计算机系统的基本功能
  • 1.1.2 计算机硬件
  • 1.1.3 计算机软件
  • 1.2 程序的开发与执行过程
  • 1.2.1 从源程序到可执行程序
  • 1.2.2 可执行程序的执行过程
  • 1.2.3 程序中每条指令的执行
  • 1.3 计算机系统的层次结构
  • 小结
  • 第2章 二进制以及信息的组织与表示
  • 2.1 二进制及进制转换
  • 2.1.1 二进制的优势
  • 2.1.2 二进制与其他进制
  • 2.1.3 进制转换
  • 2.2 信息的组织与表示
  • 2.2.1 位、字节、字与双字
  • 2.2.2 数据与指令
  • 2.2.3 大小端
  • 小结
  • 习题
  • 第3章 最小系统与原型系统
  • 3.1 最小系统
  • 3.1.1 内存
  • 3.1.2 中央处理器
  • 3.1.3 最小系统示例
  • 3.2 原型系统
  • 小结
  • 习题
  • 第4章 ATT汇编语言
  • 4.1 机器指令、汇编语言与高级语言
  • 4.2 ATT汇编语言基础知识
  • 4.2.1 数据格式
  • 4.2.2 访问信息
  • 4.2.3 操作数与指示符
  • 4.2.4 数据传送指令
  • 4.2.5 算术与逻辑操作
  • 4.2.6 控制
  • 小结
  • 习题
  • 第5章 数的表示与处理
  • 5.1 整数的表示
  • 5.1.1 整型数据类型
  • 5.1.2 无符号数的编码
  • 5.1.3 补码编码
  • 5.1.4 有符号数与无符号数之间的转换
  • 5.1.5 扩展与截断
  • 5.2 整数的运算
  • 5.2.1 C语言中的相关整型运算
  • 5.2.2 无符号加法
  • 5.2.3 补码加法
  • 5.2.4 无符号乘法
  • 5.2.5 补码乘法
  • 5.2.6 除以2的幂
  • 5.3 浮点数
  • 5.3.1 二进制小数
  • 5.3.2 IEEE浮点表示法
  • 5.3.3 浮点运算
  • 小结
  • 习题
  • 第6章 程序的机器级表示
  • 6.1 控制
  • 6.1.1 条件码
  • 6.1.2 访问条件码
  • 6.1.3 跳转指令及其编码
  • 6.1.4 条件分支
  • 6.1.5 条件传送指令
  • 6.1.6 循环
  • 6.1.7 switch语句
  • 6.2 过程
  • 6.2.1 栈帧结构
  • 6.2.2 转移控制
  • 6.2.3 参数转移
  • 6.2.4 递归过程
  • 6.3 数组分配和访问
  • 6.3.1 基本原则
  • 6.3.2 多维数组
  • 6.4 其他数据结构
  • 6.4.1 结构
  • 6.4.2 联合
  • 6.5 存储器越界引用和缓冲区溢出
  • 小结
  • 习题
  • 第7章 链接
  • 7.1 不应忽略的链接
  • 7.2 编译系统中的链接器
  • 7.3 静态链接
  • 7.4 目标文件
  • 7.5 可重定位目标文件
  • 7.6 符号表和符号
  • 7.7 符号解析
  • 7.7.1 解析多重定义的符号
  • 7.7.2 链接静态库
  • 7.7.3 静态库解析引用的过程
  • 7.8 重定位
  • 7.8.1 重定位表项
  • 7.8.2 重定位符号引用
  • 7.9 共享库
  • 小结
  • 习题
  • 第8章 存储器层次结构
  • 8.1 存储技术
  • 8.1.1 存储器的分类
  • 8.1.2 半导体存储器
  • 8.1.3 主存储器
  • 8.1.4 磁盘存储器
  • 8.1.5 固态硬盘
  • 8.1.6 存储技术趋势
  • 8.2 局部性
  • 8.2.1 程序数据引用的局部性
  • 8.2.2 指令引用的局部性
  • 8.2.3 局部性小结
  • 8.3 存储器层次结构
  • 8.3.1 存储器层次结构中的缓存
  • 8.3.2 概念小结
  • 8.4 高速缓存
  • 8.4.1 高速缓存的组织结构
  • 8.4.2 存储器层次结构的四个问题
  • 8.4.3 直接映射高速缓存
  • 8.4.4 组相联高速缓存
  • 8.4.5 全相联高速缓存
  • 8.4.6 高速缓存中的写
  • 8.4.7 Intel Core i7高速缓存层次结构
  • 8.4.8 高速缓存的性能指标
  • 8.4.9 编写高速缓存友好的代码
  • 小结
  • 习题
  • 第9章 异常控制流
  • 9.1 异常
  • 9.1.1 异常处理
  • 9.1.2 异常分类
  • 9.2 进程
  • 9.3 进程控制
  • 9.3.1 获取进程标识符
  • 9.3.2 进程的创建
  • 9.3.3 进程的终止
  • 9.3.4 子进程回收
  • 9.3.5 加载并运行程序
  • 9.4 信号
  • 9.4.1 信号术语
  • 9.4.2 信号的发送
  • 9.4.3 信号的接收
  • 小结
  • 习题
  • 第10章 虚拟存储
  • 10.1 地址空间
  • 10.1.1 物理地址空间
  • 10.1.2 虚拟地址空间
  • 10.2 虚存的功能
  • 10.2.1 虚存的缓存功能
  • 10.2.2 虚存的存储管理功能
  • 10.2.3 虚存的存储保护功能
  • 10.3 从虚拟地址到物理地址
  • 10.3.1 高速缓存结合虚拟存储器
  • 10.3.2 快表
  • 10.3.3 多级页表
  • 10.3.4 重看寻址过程
  • 10.4 Linux的虚存系统
  • 10.5 存储器映射
  • 10.5.1 映射到共享对象
  • 10.5.2 回顾fork函数与execve函数
  • 10.5.3 mmap函数
  • 10.6 动态存储分配器
  • 小结
  • 习题
  • 第11章 程序优化
  • 11.1 计算机系统的功能与性能
  • 11.2 编译器优化代码
  • 11.3 程序性能的度量
  • 11.4 一个程序的进化过程
  • 11.4.1 函数combine1——待优化函数
  • 11.4.2 函数combine2——代码移动
  • 11.4.3 函数combine3——减少函数调用
  • 11.4.4 函数combine4——使用局部变量
  • 11.5 计算机体系结构与处理器
  • 11.5.1 处理器读取并解释存储在存储器中的指令
  • 11.5.2 指令流水线
  • 11.5.3 指令间的相关性
  • 11.5.4 理解现代处理器
  • 11.6 循环展开
  • 11.7 提高并行性
  • 11.7.1 K路并行
  • 11.7.2 重新结合变换
  • 11.8 理解存储器性能
  • 11.8.1 加载的性能
  • 11.8.2 存储的性能
  • 11.9 Amdahl定律与Gustafson定律
  • 小结
  • 习题
  • 附录 VSPM-CPU的设计
  • A.1 目的
  • A.2 基本任务
  • A.3 数据格式与指令系统
  • A.3.1 数据格式
  • A.3.2 指令格式
  • A.3.3 寻址方式
  • A.3.4 指令系统
  • A.4 VSPM-CPU结构
  • A.4.1 模块功能
  • A.4.2 控制信号
  • A.5 指令的执行
  • A.5.1 读取指令的过程
  • A.5.2 指令的执行过程
  • A.6 模型机的实现
  • A.7 模型机测试
  • A.7.1 基于Quartus II仿真验证指令执行的正确性
  • A.7.2 下载至FPGA板运行
  • 推荐阅读
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。