购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

欢迎阅读本书。自第1版出版以来,我非常高兴收到了读者的大量反馈和建议。当然,我非常感激读者的所有反馈,特别是指出本书错误和遗漏的读者。

本书介绍了在现代处理器和计算机体系结构中使用的关键技术和组件,并针对具体需求,讨论了不同体系结构的决策如何影响计算机的配置优化。

现代计算机是一种复杂的设备。然而,当以层次化的方式来看时,每一级的复杂功能都很明晰。本书涵盖了众多主题,但只在有限的深度内对各个主题进行探讨。本书的目标是为现代计算设备进行一个简要明了的介绍,包括每一项重要技术和子系统,并阐释其与其他系统组件之间的关系。

本书包含自第1版出版以来出现的一些最新技术,并增加了计算机体系结构相关重要领域的新内容。新的章节包括网络安全、区块链和比特币挖矿,以及自动驾驶汽车计算体系结构等。

尽管计算系统的安全性一直非常重要,但是,最近不法黑客利用操作系统和应用程序的主要漏洞进行攻击,对世界各国造成了很大的负面影响。这些网络攻击凸显了计算机系统设计师将网络安全作为系统架构基本要素的必要性。

本书不会提供一个冗长的参考书单,如果读者想深入阅读,可以自行在互联网上查找相关内容。

互联网上聚集了大量的知识,如果读者能免于网上一些喧嚣言论的影响,就会发现互联网是一个巨大、凉爽、安静的图书馆。学会使用你最喜欢的搜索引擎的高级功能,同时,要学会从未知的观点中分辨出高质量的信息。如果读者对获得的信息有任何疑问,可以尝试检索多个信息来源。请重视信息的来源:如果要寻找有关Intel处理器的信息,请搜索Intel发布的文档。

阅读本书,读者将详细了解目前在广泛多样的数字系统中使用的计算机体系结构。读者还将了解当前体系结构技术的发展趋势,以及未来几年可能的一些突破性进展,这些突破或许会极大地影响计算系统结构的发展。

目标读者

本书适用于软件开发人员、计算机工程专业的学生、系统设计师、计算机科学专业人士、逆向工程师,以及希望了解各类现代计算机系统——从微型嵌入式设备到智能手机,再到仓储规模的云服务器群——的架构和设计原理的其他人员。读者还可探索这些技术在未来几年可能的发展方向。对计算机处理器的大体了解有益于阅读本书,但这并不是必需的。

本书内容

本书包含以下内容。

第1章首先介绍自动计算设备的简史,并描述了推动计算性能飞跃的重大技术进步。之后讨论摩尔定律,评估其在过去几十年中的适用性和对未来的影响。最后以6502微处理器为例,介绍计算机体系结构的基本概念。

第2章介绍作为开关元件的晶体管,并解释其在构造逻辑门中的应用。然后介绍如何通过组合简单的逻辑门来实现触发器和寄存器等。该章还将介绍时序逻辑的概念,时序逻辑是包含状态信息的逻辑,最后讨论使用时钟控制的数字电路。

第3章首先从概念上描述通用处理器。该章介绍指令集、寄存器集、指令加载、解码、执行和排序等概念,还将介绍内存加载和存储操作。随后介绍分支指令及其在循环和条件处理中的应用,最后介绍导致中断处理和I/O操作的一些实际因素。

第4章讨论包括多级缓存在内的计算机存储器及其与处理器的接口,还介绍包括中断处理、缓冲和专用I/O处理器在内的I/O需求。该章还将讨论包括键盘、鼠标、视频显示器和网络接口等I/O设备的一些特定需求,最后列举了这些元件在现代计算机应用中的描述性实例,包括智能移动设备、个人计算机、游戏系统、云服务器和专用机器学习系统。

第5章讨论计算机操作系统必须提供的高级服务的实现,包括磁盘I/O、网络通信和人机交互。该章将从处理器指令集和寄存器层面开始,介绍实现这些功能的软件层。最后介绍包括引导、多进程和多线程在内的操作系统功能。

第6章探索大多数用户往往不直接可见的计算领域,包括实时系统、数字信号处理和GPU处理。该章将讨论与每个计算领域相关的特定需求,并介绍实现这些功能的现代设备。

第7章深入研究包括冯·诺伊曼体系结构、哈佛体系结构和改进型哈佛体系结构在内的现代处理器体系结构。该章还讨论分页虚拟内存的实现,介绍计算机体系结构中内存管理功能的实现以及内存管理单元的功能。

第8章讨论许多实际计算机体系结构中的性能增强技术,这些技术的目标是使系统达到峰值执行速度。该章的主题是提高系统性能的重要技术,包括高速缓冲存储器的使用、指令流水线、指令级并行和单指令多数据(Single Instruction Multiple Data,SIMD)处理。

第9章重点介绍在处理器指令集级别实现的扩展,以提供超出一般数据处理需求之外的额外系统功能。该章介绍的扩展包括处理器的特权模式、浮点数运算、功耗管理和系统安全管理。

第10章研究包括x86、x64和ARM处理器在内的现代处理器设计中的体系结构和指令集特性。生产一系列处理器系列生产几十年之后便会面临需要保持代码向后兼容性这一挑战。对传统特性的支持需求往往会增加后一代处理器的复杂性。该章将研究处理器体系结构因支持传统特性需求而引起的一些问题。

第11章介绍令人兴奋的新RISC-V处理器体系结构及其指令集。RISC-V是一种完全开源、免费使用的精简指令集计算机体系结构规范。完整的指令集规范已经发布,目前已有一些该体系结构的硬件实现。对指令集进行多种扩展的规范开发工作正在进行。该章涵盖RISC-V体系结构的功能和可用变体,并介绍其指令集,还将讨论RISC-V体系结构在移动设备、个人计算机和服务器中的应用。

第12章介绍与处理器虚拟化相关的概念,并阐述虚拟化带来的好处。该章将介绍基于开源工具和操作系统的虚拟化实例,这些工具可以在通用计算机上执行各种计算机体系结构和操作系统的指令集精确表示。该章还将讨论虚拟化在开发和部署实际软件应用中带来的好处。

第13章结合前几章讨论的主题,将开发一种设计计算机系统的方法来满足用户的独特需求。该章将讨论一些具体的应用程序类别,包括移动设备、个人计算机、游戏系统、互联网搜索引擎和神经网络。

第14章重点介绍国家安全系统和金融交易处理等关键应用领域的安全需求。这些系统必须能够抵御各种网络安全攻击,包括恶意代码、隐蔽信道攻击和通过物理访问计算机硬件实施的攻击等。该章的主题包括网络安全威胁、加密技术、数字签名、安全硬件和软件设计。

当前,人们对加密货币兴趣的激增,主流金融机构和零售商对加密货币的接受度不断提高,这表明这一计算领域正在持续发展。本书增加了关于区块链和比特币挖矿计算需求的章节。

第15章介绍与区块链相关的概念,区块链是一种通过加密保护的公共分类账,记录着一系列交易。然后概述比特币挖矿的过程,它将交易附加到比特币区块链中,并以比特币的形式奖励那些完成这项任务的人。比特币的处理需要高性能的计算硬件,这在当代比特币挖矿计算机体系结构中得到了体现。

随着具备部分自动驾驶能力或完全自动驾驶能力的汽车的数量持续增长,需要强大、高性能的计算系统,以满足公共道路上自动驾驶汽车安全行驶的要求。

第16章介绍自动驾驶汽车处理体系结构所需的功能。该章首先讨论确保自动驾驶汽车及其乘客的安全,以及其他车辆、行人和静止物体安全的要求,然后讨论自动驾驶汽车在驾驶时接收的传感器类型和数据类型,并描述有效的车辆控制所需的处理类型。该章最后将介绍一个自动驾驶计算体系结构的例子。

第17章探讨计算机体系结构未来的道路。该章回顾计算机体系结构发展过程中的重大进步和当前趋势,并推断这些趋势可能的发展方向。该章将讨论可能改变计算机体系结构未来道路的潜在颠覆性技术。最后,该章将为计算机体系结构设计师的专业发展提出一些方法,帮助他们掌控能够适应未来的技能。

充分利用本书

本书每章的末尾都有一个习题集。为了充分利用本书,并且帮助读者巩固一些更有挑战性的概念,建议读者尝试解答所有习题。书中提供了所有习题的完整答案,读者也可以上网查阅:https://github.com/PacktPublishing/Modern-Computer-Architecture-and-Organization-Second-Edition。

如果代码示例和习题答案有更新,将会放在现有的GitHub存储库中。

下载示例代码与彩色图像

我们在GitHub上放置了本书的代码包:https://github.com/PacktPublishing/Modern-Computer-Architecture-and-Organization-Second-Edition。

我们还提供了一个PDF文件,其中包含书中使用的截图和彩色图像。读者可以访问https://static.packt-cdn.com/downloads/9781803234519_ColorImages.pdf下载。

排版约定

本书使用了以下排版约定。

代码体:表示文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter账户名。例如:“使用SBC指令执行减法运算会使6502汇编语言程序员新手更加困惑。”

代码块如下所示:

任何命令行输入和输出如下所示:

粗体 :表示新的术语、重要词汇,或读者在屏幕上看到的文字。例如:“因为有4个集合,所以物理地址中的 集合 字段减少到2位、 标签 字段增加到24位。”

警告或重要的说明像这样展现。 1ozRbdAB4NggXdZNVkr/j28/KhbwFAmyC0edc27UJ5ONW6A5rIKFW2hTN1i/SplQ

点击中间区域
呼出菜单
上一章
目录
下一章
×