数字设计和计算机体系结构(原书第2版·ARM版)
作者 : [美]莎拉·L. 哈里斯(Sarah L. Harris) 戴维·莫尼·哈里斯(David Money Harris) 著
译者 : 陈俊颖 等译
丛书名 : 计算机科学丛书
出版日期 : 2019-06-24
ISBN : 978-7-111-62925-2
定价 : 129.00元
教辅资源
扩展信息
语种 : 简体中文
页数 : 387
开本 : 16
原书名 : Digital Design and Computer Architecture, ARM Edition
原出版社: Elsevier (Singapore) Pte Ltd
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书采用ARM取代了早先使用MIPS作为核心处理器来介绍计算机组织和设计的基本概念,涵盖了数字逻辑设计的主要内容。本书以一种流行的方式介绍了从计算机组织和设计到更细节层次的内容,涵盖了数字逻辑设计的主要内容,并通过ARM微处理器的设计强化数字逻辑的概念。本书的典型特色是将数字逻辑和计算机体系结构融合,教学内容反映了当前数字电路设计的主流方法,并突出计算机体系结构的工程特点,书中的大量示例及习题也可以加强读者对基本概念和技术的理解和记忆。

图书特色

图书前言

本书的独特之处在于从计算机体系结构的角度呈现数字逻辑设计,从1和0开始,逐步引领读者了解微处理器的设计。
我们相信,构建微处理器是工程和计算机科学专业学生的特殊“仪式”。处理器的内部工作对于不熟悉的人来说似乎是神奇的,但经过仔细解释后,其实是直截了当的。数字设计本身就是一个强大而令人兴奋的主题。汇编语言编程揭示了处理器所使用的内部语言。微体系结构(简称为微结构)将它们链接在一起。
在这本日益流行的图书的前两个版本中,包括了由Patterson和Hennessy所撰写且被广泛使用的体系结构书籍中讨论的传统MIPS体系结构。作为最初的精简指令集计算体系结构之一,MIPS非常简洁,易于理解和构建。今天,MIPS仍然是一个重要的体系结构,在2013年被Imagination Technologies收购后,又被注入了新的活力。

在过去的20年中,ARM体系结构由于其高效和丰富的生态系统而大受欢迎。这段时间出货了超过500亿个ARM处理器,并且全球超过75%的人都在使用带有ARM处理器的产品。在撰写本书时,几乎所有在售的手机和平板电脑都包含一个或多个ARM处理器。有报道预测数百亿的ARM处理器将很快控制物联网。许多公司正在构建高性能ARM系统,以在服务器市场挑战Intel。由于其商业重要性和学生的兴趣,我们撰写了本书的ARM版本。
在教学上,MIPS和ARM版本的学习目标是相同的。ARM体系结构具有许多功能,包括寻址模式和条件执行,这些功能有助于提高效率,但增加了少量的复杂性。它与MIPS的微体系结构也非常相似,而条件执行和程序计数器是它们最大的差异。关于I/O的章节提供了大量使用Raspberry Pi的示例。Raspberry Pi是一种非常流行的基于ARM的嵌入式Linux单板计算机。
只要市场依然有需求,我们就希望能够同时提供MIPS和ARM两个版本。
特点
并列讲述SystemVerilog和VHDL语言
硬件描述语言(Hardware Description Language,HDL)是现代数字设计实践的中心,而设计者分成了SystemVerilog语言和VHDL语言两个阵营。在介绍组合逻辑和时序逻辑设计后,本书紧接着就在第4章中介绍硬件描述语言,并将在第5章和第7章用其来设计处理器的模块和整个处理器。然而,如果不讲授硬件描述语言,第4章可以跳过去,不影响后续章节。
本书的特色在于使用并列的方式讲述SystemVerilog语言和VHDL语言,使得读者可以快速对比两种语言。第4章描述了适用于这两种硬件描述语言的原则,而且并列给出了这两种语言的语法和实例。这种并列方法使得教师可以选择其中一种硬件描述语言讲述,同时,读者在专业实践中也可以很快从一种描述语言转到另一种描述语言。
ARM体系结构和微体系结构
第6章和第7章首次深入介绍了ARM体系结构和微体系结构。ARM是一种理想的体系结构,因为它是一种每年应用于数百万种产品中的真实体系结构,但又十分精简且易于学习。此外,由于其在商业和业余爱好者世界中的流行,已有多种ARM体系结构的模拟和开发工具。在本书中,所有与ARM技术相关的材料均经ARM Limited许可复制。
现实世界视角
除了讨论ARM体系结构的现实世界视角外,第6章还介绍了英特尔x86处理器的体系结构,以提供另一种视角。第9章(在线补充资料)还描述了Raspberry Pi单板计算机环境中的外围设备,这是一个非常流行的基于ARM的平台。这些现实世界视角的章节展示了该章中的概念与许多PC和消费电子产品中的芯片之间的关系。
高级微体系结构概览
第7章介绍了现代高性能微结构的特征,包括分支预测、超标量、乱序执行、多线程和多核处理器。这些内容对于第一次上体系结构课程的学生比较易于理解,展示了本书中的微结构原理是如何扩展到现代处理器设计中的。
章末的习题和面试问题
学习数字设计的最佳方式是实践。每章末尾都有很多习题用于实践所讲述的内容。习题后面是一组由这个领域工业界的同事向申请工作的学生提出的面试问题。这些问题可以让学生感受到面试过程中可能遇到的典型问题类型。习题的答案可以通过本书的配套网站和教师支持网站获得。
在线补充资料
补充资料可以通过booksite.elsevier.com/9780128000564获得。这个对所有读者开放的配套网站包括以下内容:
奇数编号习题的答案;
Altera公司专业级计算机辅助设计工具的链接;
链接到Keil的ARM微控制器开发套件(MDK-ARM),这是一个用于编译、汇编和模拟ARM处理器的C和汇编代码的工具;
ARM处理器的硬件描述语言(HDL)代码;
关于Altera Quartus Ⅱ工具的提示;
PPT格式的电子教案;
简单的课程和实验素材;
勘误表。
教师网站包括:
所有习题的答案;
链接到Altera的专业级计算机辅助设计(CAD)工具;
PDF格式和PPT格式的书中插图。
在线资料提供了在课程中使用Altera、Raspberry Pi和MDK-ARM工具的指南,同时也提供了关于构建实验的详细资料。
如何在课程中使用软件工具
Altera Quartus Ⅱ
Quartus Ⅱ Web Edition是专业级Quartu Ⅱ FPGA设计工具的免费版本。基于此软件,学生可以使用原理图或者硬件描述语言(SystemVerilog或VHDL)完成数字逻辑设计。在完成设计后,学生可以使用Altera Quartus Ⅱ Web Edition中包含的ModelSim-Altera Starter Edition模拟电路。Quartus Ⅱ Web Edition中还包含用于综合SystemVerilog或者VHDL程序的内置工具。
Web Edition和Subscription Edition两个软件的差异在于,Web Edition仅支持Altera公司部分常用FPGA器件。ModelSim-Altera Starter Edition和ModelSim商业版的区别在于,Starter Edition降低了超过10 000行的硬件描述语言代码的模拟速度。
Keil的ARM微控制器开发套件(MDK-ARM)
Keil的MDK-ARM是一个为ARM处理器开发代码的工具,可以免费下载。MDK-ARM包括一个商业ARM C编译器,以及一个允许学生编写C和汇编程序,然后编译并模拟它们的模拟器。
实验
配套网站提供了从数字逻辑设计到计算机体系结构的一系列实验的链接。这些实验教授学生如何使用Quartus Ⅱ工具来输入、模拟、综合和实现他们的设计。这些实验也包含了使用MDK-ARM 和Raspberry Pi开发工具完成C语言和汇编语言编程的内容。
经过综合后,学生可以在Altera DE2(或DE2-115)开发教育板上实现自己的设计。这个功能强大而且具有价格优势的开发板可以通过www.altera.com获得。该开发板包含可通过编程来实现学生设计的FPGA。我们提供的实验描述了如何使用Quartus Ⅱ Web Edition在DE2开发板上实现一些设计。
为了运行这些实验,学生需要下载并安装Altera Quartus Ⅱ Web Edition和MDK-ARM(或Raspberry Pi)工具。教师也需要选择软件并安装在实验室的机器上。这些实验包括了如何在DE2开发板上实现项目的指导。这些实现步骤可以跳过,但是我们认为它有很大的价值。
我们在Windows平台上测试了所有的实验,当然这些工具也可以在Linux上使用。
错误反馈
正如所有经验丰富的程序员所知,比较复杂的程序都毫无疑问地有潜在错误。这本书也不例外。我们花费了大量的精力查找和去除本书的错误。然而,错误仍然不可避免。我们将在本书的网站上维护和更新勘误表。
请将你发现的错误发送到ddcabugs@gmail.com。第一个报告实质性错误而且在后续版本中被采用的读者可以得到1美元的奖励!
致谢
感谢Nate McFadden、Joe Hayton、Punithavathy Govindaradjane以及Morgan Kaufmann团队的其他成员所做的辛勤工作。
感谢Matthew Watkins,他提供了第7章中关于异构多处理器的部分。非常感谢Joshua Vasquez的工作,他开发了第9章中Raspberry Pi的代码。还要感谢Josef Spjut和Ruye Wang,他们对资料进行了测试。
众多评审人员大大改进了这本书。他们是:Boyang Wang,John Barr,Jack V. Briner,Andrew C. Brown,Carl Baumgaertner,A. Utku Diril,Jim Frenzel,Jaeha Kim,Phillip King,James Pinter-Lucke,Amir Roth,Z. Jerry Shi,James E. Stine,Luke Teyssier,Peiyi Zhao,Zach Dodds,Nathaniel Guy,Aswin Krishna,Volnei Pedroni,Karl Wang,Ricardo Jasinski,Josef Spjut,J鰎gen Lien,Sameer Sharma,John Nestor,Syed Manzoor,James Hoe,Srinivasa Vemuru, K. Joseph Hass,Jayantha Herath,Robert Mullins,Bruno Quoitin,Subramaniam Ganesan,Braden Phillips,John Oliver,Yahswant K. Malaiya,Mohammad Awedh,Zachary Kurmas,Donald Hung,以及一位匿名审稿人。感谢Khaled Benkrid及其在ARM的同事仔细审阅了ARM相关材料。
非常感谢哈维玛德学院和UNLV的学生,他们提供了有关本书草稿的有用反馈。特别值得一提的是Clinton Barnes、Matt Weiner、Carl Walsh、Andrew Carter、Casey Schilling、Alice Clifton、Chris Acon和Stephen Brawner。
最后,但同样重要的是,感谢家人的爱和支持。

专家评论

本书真的太棒了,是全心全意为计算机教学而打造的,并且清楚地表明了两位作者对教学和教育的热爱和热情。读完这本书的学生将在毕业后多年仍感谢他们。写作风格,清晰度,详细图表,信息流程,主题复杂性的逐渐增加,各章节中的精彩例子,章节末尾的习题,简洁明了的解释,有用的现实世界的例子,对每个主题的所有方面的涵盖—所有这些事情都做得很好。如果本书刚好是你的课堂教材,相信你一定会享受这门课,学到真东西,并且在毕业多年后依然受用。
—Mehdi Hatamian,Broadcom公司高级副总裁

两位作者基于他们的畅销书《Digital Design and Computer Architecture》创造了ARM版本,完成得非常出色。重定向到ARM是一项具有挑战性的任务,但作者在保持其清晰透彻的演示风格以及出色的文字质量的同时成功完成了这项工作。我相信这个新版本将受到学生和专业人士的欢迎。
—Donald Hung,圣何塞州立大学

在我作为教授的10年间审阅和使用过的所有教科书中,本书是仅有的两本毫无疑问值得购买的教科书(另一本是《Computer Organization and Design》)。它的写作清晰简洁,图表易于理解,用作运行示例的CPU足够复杂以在实际中应用,但又足够简单,可以让学生彻底理解。
—Zachary Kurmas,大谷州立大学

本书为传统的教学内容提供了新的视角。很多教科书看上去像繁杂的灌木丛,作者在这 本书中将“枯枝”去除,同时保留了最基本的内容,并把这些内容放到了现代环境中。正 因为如此,他们提供的教材可以激发学生为未来的挑战设计解决方案的兴趣。
—Jim Frenzel,爱达荷大学

两位作者的写作风格令人愉快,内容丰富。他们对资料的处理水平很高,可以通过大量有用的图表向学生介绍计算机工程。他们对组合电路、微结构和存储器系统处理得尤其好。
—James Pinter-Lucke,克莱蒙特麦肯纳学院

这本书非常清晰而且易于理解。习题的设计非常好,同时也提供了很多现实案例。书中避免了许多其他教材中冗长而令人费解的解释。可以看出,作者花费了很多时间和努力来提高本书的可读性。我强烈推荐这本书。
—Peiyi Zhao,查普曼大学

上架指导

计算机体系结构

封底文字

本书真的太棒了,是全心全意为计算机教学而打造的。如果它刚好是你的课堂教材,相信你一定会享受这门课,学到真东西,并且在毕业多年后依然受用。
—— Mehdi Hatamian,Broadcom公司高级副总裁

搭载ARM处理器的智能手机、平板电脑等各类电子设备不断丰富着我们的日常生活,同时,ARM也对计算机体系结构的发展影响深远。本书采用一种独特的现代数字设计方法,首先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本概念为基础,逐步进入核心内容——ARM处理器的设计。书中实例丰富,易于实践,通过阅读本书,读者将学会构建自己的微处理器,并能够自顶向下地理解微处理器的工作原理。

ARM版特色
·全面介绍数字逻辑设计的基础知识,并通过ARM微处理器的设计来强化逻辑概念。
·在例题部分,分别用两种流行的硬件描述语言SystemVerilog和VHDL给出相应数字系统设计的实现。
·配套网站(booksite.elsevier.com/9780128000564/)和华章网站(www.hzbook.com)提供更多丰富资源,包括关于I/O系统的附加章节和实验资料。

作者简介

[美]莎拉·L. 哈里斯(Sarah L. Harris) 戴维·莫尼·哈里斯(David Money Harris) 著:---作者简介---
莎拉·L. 哈里斯(Sarah L. Harris) 内华达大学电子与计算机工程系副教授,拥有斯坦福大学电子工程博士学位。她曾在惠普、圣地亚哥超算中心、英伟达公司和微软亚洲研究院工作,擅长计算机体系结构设计和系统设计。

戴维·莫尼·哈里斯(David Money Harris) 哈维玛德学院工程系教授,拥有斯坦福大学电子工程博士学位。他曾在英特尔公司从事Itanium和Pentium II处理器的逻辑和电路设计,并曾担任Sun Microsystems、惠普、Evans & Sutherland等设计公司的顾问,获得了12项专利。

---译者简介---
陈俊颖  华南理工大学软件学院副教授,香港大学博士、浙江大学学士,教育部大数据与机器人智能粤港澳联合实验室、华南理工大学智能软件与机器人科研团队成员,主要从事高性能计算和智能图像处理方面的科研及教学工作。

译者序

数字逻辑设计、计算机体系结构、嵌入式系统和片上系统设计等课程是计算机系统课程的主体。本书巧妙地将数字设计和ARM体系结构融合在一起,既明确了数字设计作为ARM体系结构的基础知识,也帮助读者了解了ARM体系结构课程如何运用数字设计课程中的关键知识。本书各章节间衔接连贯,自然而然地引导读者从最基本的0和1一直深入到ARM微处理器的构建。通过这本书,完全没有计算机系统和软硬件知识的学生,也能从零开始循序渐进地掌握设计ARM微处理器以及编写相应软硬件程序的基本原理和方法。
“层次化、模块化、规整化”三大计算机软硬件的通用设计原则贯穿本书始终。通过对设计思想的学习,读者能建立起良好的工程设计思路,为将来设计大规模的复杂软硬件系统打下良好的基础。同时,本书内容紧密贴近领域新动态,涉及的相关数据、编程语言、软件工具、硬件结构等都紧跟行业发展。通过本书的学习,能增强读者使用主流工具和开发环境进行实际应用设计的能力。
本书不仅内容丰富充实,文字通俗流畅,而且叙述风趣幽默,并配有大量示例和习题,有助于读者理解和掌握数字设计和ARM体系结构的相关知识。本书不仅适用于相关专业课程的教学,也适合作为相关工程技术人员的参考书籍。
本书主要由华南理工大学陈俊颖翻译、校对及定稿,付懿轩、庄仁鑫和邢正颖参与了部分翻译工作。本书由广东省自然科学基金项目(编号:2016A030310412)资助完成。在本书翻译过程中,华南理工大学的陈虎(第1版译者)给予了大力的支持与帮助,机械工业出版社的曲熠、朱秀英等编辑提出了宝贵的意见并付出了辛勤的劳动,在此对他们表示衷心的感谢!
在本书翻译过程中,译者力求准确无误地表达原文意思,尽可能使文字流畅易懂。但是受水平和时间所限,难免有疏漏和错误之处,恳请广大读者不吝指正。
最后,特别感谢我的家人一直以来对我无私的关爱和支持。

陈俊颖
2019年3月12日

图书目录

出版者的话
赞誉
译者序
前言
第1章 二进制1
1.1 课程计划1
1.2 管理复杂性的艺术1
1.2.1 抽象1
1.2.2 约束2
1.2.3 三条原则3
1.3 数字抽象3
1.4 数字系统4
1.4.1 十进制数4
1.4.2 二进制数5
1.4.3 十六进制数6
1.4.4 字节、半字节和字7
1.4.5 二进制加法8
1.4.6 有符号的二进制数8
1.5 逻辑门10
1.5.1 非门11
1.5.2 缓冲11
1.5.3 与门11
1.5.4 或门11
1.5.5 其他二输入逻辑门12
1.5.6 多输入门12
1.6 数字抽象之下13
1.6.1 电源电压13
1.6.2 逻辑电平13
1.6.3 噪声容限14
1.6.4 直流电压传输特性14
1.6.5 静态约束15
*1.7 CMOS晶体管16
1.7.1 半导体16
1.7.2 二极管17
1.7.3 电容17
1.7.4 nMOS和pMOS晶体管17
1.7.5 CMOS非门19
1.7.6 其他CMOS逻辑门19
1.7.7 传输门21
1.7.8 类nMOS逻辑21
*1.8 功耗22
1.9 总结和展望22
习题23
面试问题29
第2章 组合逻辑设计30
2.1 引言30
2.2 布尔表达式32
2.2.1 术语32
2.2.2 与或式32
2.2.3 或与式33
2.3 布尔代数34
2.3.1 公理34
2.3.2 单变量定理35
2.3.3 多变量定理36
2.3.4 定理的统一证明方法37
2.3.5 等式化简37
2.4 从逻辑到门38
2.5 多级组合逻辑40
2.5.1 减少硬件40
2.5.2 推气泡41
2.6 X和Z43
2.6.1 非法值X43
2.6.2 浮空Z43
2.7 卡诺图44
2.7.1 画圈的原理45
2.7.2 卡诺图化简逻辑45
2.7.3 无关项48
2.7.4 小结49
2.8 组合逻辑模块49
2.8.1 多路选择器49
2.8.2 译码器52
2.9 时序52
2.9.1 传输延迟和最小延迟53
2.9.2 毛刺55
2.10 总结57
习题57
面试问题62
第3章 时序逻辑设计63
3.1 引言63
3.2 锁存器和触发器63
3.2.1 SR锁存器64
3.2.2 D锁存器65
3.2.3 D触发器66
3.2.4 寄存器67
3.2.5 带使能端的触发器67
3.2.6 带复位功能的触发器67
*3.2.7 晶体管级的锁存器和触发器的设计68
3.2.8 小结68
3.3 同步逻辑设计69
3.3.1 一些有问题的电路70
3.3.2 同步时序电路71
3.3.3 同步和异步电路72
3.4 有限状态机72
3.4.1 有限状态机设计实例73
3.4.2 状态编码77
3.4.3 Moore型状态机和Mealy型状态机79
3.4.4 状态机的分解82
3.4.5 由电路图导出状态机83
3.4.6 小结86
3.5 时序逻辑电路的时序86
3.5.1 动态约束87
3.5.2 系统时序87
*3.5.3 时钟偏移91
3.5.4 亚稳态92
3.5.5 同步器93
*3.5.6 分辨时间的推导95
3.6 并行97
3.7 总结99
习题100
面试问题105
第4章 硬件描述语言107
4.1 引言107
4.1.1 模块107
4.1.2 硬件描述语言的起源108
4.1.3 模拟和综合109
4.2 组合逻辑110
4.2.1 位运算符110
4.2.2 注释和空格112
4.2.3 缩减运算符112
4.2.4 条件赋值112
4.2.5 内部变量114
4.2.6 优先级115
4.2.7 数字116
4.2.8 Z和X117
4.2.9 位混合118
4.2.10 延迟118
4.3 结构建模119
4.4 时序逻辑122
4.4.1 寄存器122
4.4.2 带复位功能的寄存器123
4.4.3 带使能端的寄存器124
4.4.4 多寄存器124
4.4.5 锁存器125
4.5 更多组合逻辑126
4.5.1 case语句127
4.5.2 if语句129
4.5.3 带有无关项的真值表130
4.5.4 阻塞式和非阻塞式赋值131
4.6 有限状态机134
*4.7 数据类型137
4.7.1 SystemVerilog137
4.7.2 VHDL138
*4.8 参数化模块140
4.9 测试程序142
4.10 总结145
习题145
面试问题152
第5章 常见数字模块153
5.1 引言153
5.2 算术电路153
5.2.1 加法153
5.2.2 减法158
5.2.3 比较器159
5.2.4 算术逻辑单元160
5.2.5 移位器和循环移位器162
*5.2.6 乘法162
*5.2.7 除法164
5.2.8 拓展阅读164
5.3 数制系统165
5.3.1 定点数系统165
*5.3.2 浮点数系统166
5.4 时序电路模块169
5.4.1 计数器169
5.4.2 移位寄存器169
5.5 存储器阵列171
5.5.1 概述171
5.5.2 动态随机访问存储器173
5.5.3 静态随机访问存储器174
5.5.4 面积和延迟174
5.5.5 寄存器文件174
5.5.6 只读存储器175
5.5.7 使用存储器阵列的逻辑176
5.5.8 存储器HDL176
5.6 逻辑阵列178
5.6.1 可编程逻辑阵列178
5.6.2 现场可编程逻辑门阵列179
*5.6.3 阵列实现182
5.7 总结183
习题184
面试问题190
第6章 体系结构191
6.1 引言191
6.2 汇编语言192
6.2.1 指令192
6.2.2 操作数:寄存器、存储器和常数193
6.3 编程196
6.3.1 数据处理指令196
6.3.2 条件标志198
6.3.3 分支200
6.3.4 条件语句201
6.3.5 循环202
6.3.6 存储器204
6.3.7 函数调用207
6.4 机器语言215
6.4.1 数据处理指令215
6.4.2 存储器指令218
6.4.3 分支指令219
6.4.4 寻址模式220
6.4.5 解释机器语言代码220
6.4.6 程序存储221
*6.5 编译、汇编与加载222
6.5.1 内存映射222
6.5.2 编译223
6.5.3 汇编224
6.5.4 链接225
6.5.5 加载226
*6.6 其他主题227
6.6.1 加载文字227
6.6.2 NOP227
6.6.3 异常228
6.7 ARM体系结构的演变230
6.7.1 Thumb指令集230
6.7.2 DSP指令231
6.7.3 浮点指令234
6.7.4 节能和安全指令235
6.7.5 SIMD指令235
6.7.6 64位体系结构236
6.8 另一个视角:x86体系结构236
6.8.1 x86寄存器237
6.8.2 x86操作数238
6.8.3 状态标志239
6.8.4 x86指令集239
6.8.5 x86指令编码241
6.8.6 x86的其他特性242
6.8.7 整体情况242
6.9 总结242
习题243
面试问题251
第7章 微结构253
7.1 引言253
7.1.1 体系结构状态和指令集253
7.1.2 设计过程253
7.1.3 微结构255
7.2 性能分析255
7.3 单周期处理器256
7.3.1 单周期数据通路256
7.3.2 单周期控制261
7.3.3 更多指令264
7.3.4 性能分析266
7.4 多周期处理器267
7.4.1 多周期数据通路268
7.4.2 多周期控制273
7.4.3 性能分析279
7.5 流水线处理器281
7.5.1 流水线数据通路283
7.5.2 流水线控制284
7.5.3 冲突285
7.5.4 性能分析293
*7.6 硬件描述语言表示293
7.6.1 单周期处理器294
7.6.2 通用模块298
7.6.3 测试程序300
*7.7 高级微结构303
7.7.1 深流水线303
7.7.2 微操作304
7.7.3 分支预测305
7.7.4 超标量处理器306
7.7.5 乱序处理器308
7.7.6 寄存器重命名309
7.7.7 多线程310
7.7.8 多处理器311
*7.8 现实世界视角:ARM微结构的演变312
7.9 总结317
习题318
面试问题322
第8章 存储器系统323
8.1 引言323
8.2 存储器系统性能分析326
8.3 高速缓存327
8.3.1 高速缓存中存放的数据327
8.3.2 高速缓存中的数据查找327
8.3.3 数据的替换334
*8.3.4 高级高速缓存设计334
*8.3.5 ARM处理器中高速缓存的发展337
8.4 虚拟存储器338
8.4.1 地址转换339
8.4.2 页表340
8.4.3 转换后备缓冲341
8.4.4 存储器保护342
*8.4.5 替换策略342
*8.4.6 多级页表343
8.5 总结344
结语344
习题345
面试问题350
索引351
在线章节
第9章 I/O系统
附录A 数字系统实现
附录B ARM指令
附录C C语言编程

教学资源推荐
作者: 孙德文 章鸣嬛 编著
作者: 袁春风 余子濠 编著
作者: (美)David A. Patterson加州大学伯克利分校John L. Hennessy 著斯坦福大学
作者: [美]埃夫﹒恩格兰德(Irv Englander) 著
参考读物推荐
作者: [土耳其] 卡格特·古尔图克(Cagatay Gurturk)著
作者: (美)普赖斯·普里切特、唐纳德·鲁滨逊、拉塞尔·克拉克森
作者: 陆平 赵培 左奇 等编著