本书是将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。
和第2版相比,本版内容上的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下: ? 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。 ? 处理器体系结构修改为支持64位字和操作的设计。 ? 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。 ? 扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。 ? 增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。 ? 采用函数,更新了与协议无关和线程安全的网络编程。
兰德尔E.布莱恩特、大卫R.奥哈拉伦著,龚奕利、贺莲译的《深入理解计算机系统(原书第3版)/计算机科学丛书》从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书其12童,主要包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等内容。书中提供了大量的例子和练习题,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。 本书适合作为高等院校计算机及相关专业本科生、研究生的教材,也可供想要写出 快、 可靠程序的程序员及专业技术人员参考。