数字设计和计算机体系结构(原书第2版)
作者 : [美]戴维·莫尼·哈里斯(David Money Harris) 哈维玛德学院,莎拉 L.哈里斯(Sarah L. Harris) 哈维玛德学院 著
译者 : 陈俊颖 译
丛书名 : 计算机科学丛书
出版日期 : 2016-04-15
ISBN : 978-7-111-53451-8
定价 : 89.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 493
开本 : 16
原书名 : Digital Design and Computer Architecture,Second Edition
原出版社: Elsevier (Singapore) Pte Ltd
属性分类: 教材
包含CD :
绝版 :
图书特色

本书采用流行的教学法,从计算机组成和设计向下至更精细的层次,详细展示如何用SystemVerilog和VHDL构建MIPS微处理器。本书为学生提供了一个很好的机会,使他们可以在现代FPGA上进行大型的数字设计,既能增长学生的专业知识,又能启发学生运用所学知识去解决实际问题。
—— David A. Patterson 
加州大学伯克利分校,《计算机组成与设计》的作者之一

本书采用一种独特的现代数字设计方法,先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计实际的MIPS处理器。另外,在全书的实例中运用SystemVerilog和VHDL展示基于CAD的电路设计方法和技术。通过本书,读者能够构建自己的微处理器,并能够自顶向下地理解微处理器的工作原理。
第2版更新了关于微机上通用处理器以及几乎随处可见的微控制器中的I/O系统的内容,提供了多个实例来说明如何使用RS232、SPI、电机控制、中断、无线和模数转换器与外围设备交互。除了对全书内容进行更新和扩展外,新版在编程和代码例题中采用SystemVerilog(替代Verilog)与VHDL两种语言给出数字系统设计的实现。中文版还新增附录D“MIPS处理器的FPGA实现”,补充在实际开发板和软件开发环境上设计和实现计算机微处理器系统的相关内容。

第2版特色
介绍数字逻辑设计的基础知识,并通过设计实际的MIPS微处理器来加强逻辑概念。
在例题部分,分别用两种最流行的硬件描述语言(SystemVerilog和VHDL)给出相应数字系统设计的实现。
通过大量示例,加深读者对关键概念和技术的理解和记忆。
新增附录D“MIPS处理器的FPGA实现”,帮助读者使用主流工具和软件开发环境进行实际应用设计。


戴维·莫尼·哈里斯
(David Money Harris) 
哈维玛德学院工程系教授,拥有斯坦福大学电子工程博士学位,麻省理工学院电子工程与计算机科学硕士学位。他曾在Intel公司从事Itanium和Pentium II处理器的逻辑和电路设计,并担任Sun Microsystems、 惠普、 Evans & Sutherland和其他设计公司的顾问。他的兴趣包括教学、构建芯片、户外探索。他取得了12项专利,并且与人合著了三本芯片设计方面的教材。





莎拉 L. 哈里斯
(Sarah L. Harris) 
哈维玛德学院工程系助理教授,拥有斯坦福大学电子工程博士学位。她曾为惠普、圣地亚哥超算中心、Nvidia公司和微软亚洲研究院工作,擅长计算机体系结构设计和系统设计。


陈俊颖 
现任华南理工大学软件学院讲师,是广州市机器人软件及复杂信息处理重点实验室成员、华南理工大学智能软件与机器人科研团队成员。她于香港大学获得电机电子工程博士学位(获得全额奖学金资助),此前于浙江大学获得电子信息工程学士学位(获得优秀毕业生荣誉称号)。她目前主要从事医学超声成像算法性能研究、异构高性能实时计算、超级计算应用及性能分析、实时医学超声成像系统设计、医学超声图像识别算法研究等方面的科研及教学工作。此外,她是IEEE、ACM和中国计算机学会(CCF)会员,并于2012年1月获得IEEE-HKN国际学术荣誉学会永久会员。

图书前言

目前已经有很多优秀的数字逻辑设计书籍,也有一些很好的计算机体系结构教材(例如,Patterson和Hennessy撰写的经典教材),为什么还需要出版一本包含了数字逻辑设计和体系结构的书呢?本书的独特之处在于从计算机体系结构的视角来学习数字逻辑设计,内容从基本的二进制开始,直到引导学生完成MIPS处理器的设计。
多年来,我们曾在哈维玛德学院使用了多个版本的《Computer Organization and Design》(计算机组成与设计)(由Patterson和Hennessy撰写)。我们特别欣赏该书覆盖了MIPS处理器的体系结构和微体系结构,因为MIPS处理器是获得商业成功的体系结构,而且它也非常简单,可以在导论课程中向学生解释清楚,并可以由学生自主设计和实现。由于我们的课程没有预修课程,所以前半个学期需要介绍数字逻辑设计,而这部分没有被《Computer Organization and Design》所包含。其他大学也表示需要一本能包含数字电路设计和体系结构的教材。于是,我们着手开始准备这样一本包含了数字逻辑设计和体系结构的书。
我们相信设计处理器对于电子工程和计算机专业的学生是一个特殊而重要的经历。对外行而言,处理器内部的工作几乎像魔术一样,然而事实证明,如果详细解释,处理器的工作原理就非常易于理解。数字逻辑设计本身是一个令人激动的主题。汇编语言程序则揭示了处理器内部所用的语言。而微体系结构将两者联系在一起。
本书适合于在一个学期内完成教学的数字逻辑设计和计算体系结构入门课程,也可以用于两个学期的教学,以便用更多的时间来消化和理解书中所讲的知识并在实验室中进行实践。不需要任何预修内容也可以教授这个课程。本书一般在大学本科二年级或者三年级使用,也可以提供给聪明的一年级学生学习。
特点
本书有以下特点。
并列讲述SystemVerilog和VHDL语言
硬件描述语言(Hardware Description Language,HDL)是现代数字逻辑设计实践的中心,而设计者分成了SystemVerilog语言和VHDL语言两个阵营。在介绍了组合逻辑和时序逻辑设计后,本书紧接着就在第4章介绍硬件描述语言。硬件描述语言将在第5章和第7章用于设计更大的模块和整个处理器。然而,如果不讲授硬件描述语言,那么可以跳过第4章,而后续章节仍然可以继续使用。
本书的特色在于使用并列方式讲述SystemVerilog和VHDL,使读者可以快速地对比两种语言。第4章描述适用于这两种硬件描述语言的原则,而且并列给出了这两种语言的语法和实例。这种并列方法使得在教学中教师可以选择其中一种硬件描述语言来讲述,也可以让读者在专业实践中很快地从一种描述语言转到另一种描述语言。
经典的MIPS体系结构和微体系结构
第6章和第7章主要介绍MIPS体系结构。这部分内容主要改编自Patterson和Hennessy的论著。MIPS是一个理想的体系结构,因为每年有上百万实际产品投入使用,而且高效和易于学习。同时,世界各地上百所大学已经围绕MIPS体系结构开发了教学内容、实验和工具。
现实视角
第6、7、8章列举了Intel公司x86处理器系列的体系结构、微体系结构和存储器层次结构。第8章还介绍了Microchip PIC32微控制器的外部设备。这些章节揭示了书中所讲的概念如何应用到很多PC内部芯片和消费电子产品的设计中。
高级微体系结构概览
第7章介绍了现代高性能微体系结构的特征,包括分支预测、超标量、乱序执行操作、多线程和多核处理器。这些内容对于第一次上体系结构课程的学生比较容易理解,并说明了本书介绍的微体系结构原理是如何扩展到现代处理器的设计中的。
章末的习题和面试问题
学习数字设计的最佳方式是实践。每章的最后有很多习题来实际应用所讲述的内容。习题后面是同行向申请这个领域工作的学生提出的一些面试问题。这些问题可以让学生感受到面试过程中可能遇见的典型问题。习题答案可以通过本书的配套网站和教师网站获得。更详细的内容参见下文——在线补充资料。
在线补充资料
关于本书教辅资源,使用教材的教师需通过爱思唯尔的教材网站(wwwtextbookselseviercom)注册并通过审批后才能获取。具体方法如下:在wwwtextbookselseviercom教材网站查找到该书后,点击“instructor manual”便可申请查看该教师手册。有任何问题,请致电01085208853。——编辑注
补充材料可以通过textbookselseviercom/9780123944245获得。本书配套网站(对所有读者开放)包括了以下内容:
●奇数编号习题的答案。
●Altera和Synopsys公司专业版计算机辅助设计工具的链接。
●QtSpim(一般称为SPIM)的链接,一个MIPS模拟器。
●MIPS处理器的硬件描述语言(HDL)代码。
●Altera Quartus Ⅱ工具的提示。
●Microchip MPLAB IDE(集成开发环境)工具的提示。
●PPT格式的电子教案。
●课程示例和实验素材。
●勘误表。
教师网站(链接到本书配套网站,仅提供给在textbookselseviercom注册的使用者)包括:
●所有习题的答案。
●Altera和Synopsys公司专业版计算机辅助设计工具的链接(Synopsys公司为取得资格认证的大学提供Synplify Premier工具的50个许可证。更多Synopsys大学计划内容请参见本书教师网站)。
●JPG格式和PPT格式的书中插图。
关于在课程中使用Altera、Synopsys、Microchip和QtSpim工具的更详细的内容请参见下文。构建实验工具的细节也将在下面介绍。
如何使用课程中的软件工具
Altera Quartus II
Quartus Ⅱ Web Edition是QuartusTM Ⅱ FPGA设计工具的免费版本。基于此软件,学生可以使用原理图或者硬件描述语言(SystemVerilog或VHDL)完成数字逻辑设计。在完成设计后,学生可以使用Altera Quartus Ⅱ Web Edition中包含的ModelSimTMAltera Starter Edition工具模拟电路。Quartus Ⅱ Web Edition还包含支持SystemVerilog或者VHDL的内置逻辑综合工具。
Web Edition和Subscription Edition两个软件的区别在于,Web Edition仅支持Altera公司部分常用的FPGA器件。ModelSimAltera Starter Edition和ModelSim商业版的区别在于,Starter Edition降低了10000多行硬件描述语言代码的模拟速度。
Microchip MPLAB IDE
Microchip MPLAB IDE是用于PIC微控制器编程的工具,可免费下载。MPLAB将程序的编写、编译、模拟和调试集成到一个界面。它包括一个C编译器和调试器,允许学生开发C语言和汇编程序,编译它们,以及可选择地将它们编程到PIC微控制器。
可选工具:Synplify Premier和QtSpim
Synplify Premier和QtSpim是本课程资料的可选工具。
Synplify Premier产品是一个面向FPGA和CPLD设计的综合和调试环境。它包含HDL Analyst,一个独特的图形化HDL分析工具,自动生成可以回HDL源代码交叉探测的设计示意图。在学习和调试过程中这非常有用。
Synopsys公司为取得资格认证的大学提供SynplifyPremier工具的50个许可证。更多关于Synopsys大学计划内容或者Synopsys FPGA设计软件信息,请参见本书教师网站(textbookselseviercom/9780123944245)。
QtSpim(简称为SPIM)是一个可运行MIPS汇编代码的MIPS模拟器。学生可以在文本文件中输入MIPS汇编代码,通过QtSpim进行模拟。QtSpim显示指令、存储器和寄存器的值。用户手册和示例文件的链接可以通过本书配套网站(textbookselseviercom/9780123944245)访问。
实验
配套网站提供了从数字逻辑设计到计算机体系结构的一系列实验的链接。这些实验教学生如何使用Quartus Ⅱ工具来输入、模拟、综合和实现他们的设计。这些实验也包含了使用Microchip MPLAB IDE完成C语言和汇编语言编程的内容。
经过综合后,学生可以在Altera DE2开发和教育板上实现自己的设计。这个功能强大且具有价格优势的开发板可以通过wwwalteracom获得。该开发板包含可通过编程来实现学生设计的FPGA。我们提供的实验描述了如何使用Cyclone Ⅱ Web Edition在DE2开发板上实现一些设计。
为了运行这些实验,学生需要下载并安装Altera Quartus Ⅱ Web Edition和Microchip MPLAB IDE。教师也需要选择软件安装在实验室的机器上。这些实验包括如何在DE2开发板上实现项目的指导。这些实现步骤可以跳过,但是我们认为它有很大的价值。
我们在Windows平台上测试了所有的实验,当然这些工具也可以在Linux上使用。
错误
正如所有有经验的程序员所知道的,比较复杂的程序都毫无疑问存在潜在的错误。本书也不例外。我们花费了大量的精力查找和去除本书的错误。然而,错误仍然不可避免。我们将在本书的网站上维护和更新勘误表。
请将你发现的错误发送到ddcabugs@onehotlogiccom。第一个报告实质性错误而且在后续版本中采用了其修改意见的读者可以得到1美元的奖励!
致谢
首先,我们要感谢David Patterson和John Hennessy。他们在《Computer Organization and Design》(计算机组成与设计)一书中对MIPS微体系结构进行了开创性的介绍。我们多年以来讲授了该书的多个版本。感谢他们对这本书的慷慨支持,以及允许在他们的微体系结构上进行设计。
我们喜爱的卡通画作家Duane Bibby花费了很长时间和努力来说明数字电路设计中有趣的奇遇。我们也很感激Morgan Kaufamann公司的Nate McFadden、Todd Green、Danielle Miller、Robyn Day以及团队的其他同事,没有他们的热情支持,本书将无法面世。
我们要感谢Matthew Watkins为第7章“异构多处理器”一节撰稿。我们也感谢Chris Parks、Carl Pearson和Johnathan Chai为本书第2版测试代码和开发内容。
很多评阅人也对本书的质量给予了很大的帮助。他们包括: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以及一位匿名评阅人。
我们也非常感谢哈维玛德学院上这个课程的学生,他们对本书的草稿提供了有帮助的反馈。需要特别记住的是:Matt Weiner、Carl Walsh、Andrew Carter、Casey Schilling、Alice Clifton、Chris Acon和Stephen Brawner。
最后,但同样重要的是,我们要感谢家人的爱和支持。

专家评论

本书以一种易于接受的方式介绍了从计算机组成和设计到更细节层次的教学内容,展现了如何使用VHDL和System Verilog语言设计MIPS处理器的技术细节。为学生提供在现代FPGA上实现大型数字系统设计的机会。书中提供的方法既向学生传授了知识又具有启发性。
——David APatterson,加利福尼亚大学伯克利分校

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

Harris的写作风格引人入胜,而且能提供很多知识。他们对材料的运用水平很高,通过大量的图来引导学生进入计算机工程领域。组合逻辑电路、微体系结构和存储器系统等内容处理得非常好。
——James PinterLucke,克莱蒙麦肯纳学院

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

Harris撰写了一部成功融合数字系统设计和计算机体系结构的教材。这是一本很受欢迎的教科书, 它介绍了很多数字系统设计的内容,同时详细解释了MIPS体系结构的细节。本人强烈推荐这本书。
——James EStine,Jr,俄克拉荷马州立大学

这是一本令人印象深刻的书。Harris将晶体管、电路、逻辑门、有限状态机、存储器、算术部件等微处理器设计中的所有重要元素完美地结合在一起,并最终引出计算机体系结构。这本书为理解如何完美地设计复杂系统提供了很好的指导。
——Jaeha Kim, Rambus公司

这是一本写得非常好的书,不仅适用于第一次学习这些领域的年轻工程师,而且可以为有经验的工程师提供参考。本人强烈推荐这本书。
——AUtku Diril,Nvidia公司

上架指导

计算机\硬件

封底文字

本书采用流行的教学法,从计算机组成和设计向下至更精细的层次,详细展示如何用SystemVerilog和VHDL构建MIPS微处理器。本书为学生提供了一个很好的机会,使他们可以在现代FPGA上进行大型的数字设计,既能增长学生的专业知识,又能启发学生运用所学知识去解决实际问题。
  ——David A. Patterson,加州大学伯克利分校,《计算机组成与设计》的作者之一

   本书基于作者丰富的教学和实践经验,以幽默的写作风格展示了最新的数字设计技术。书中采用一种独特的现代数字设计方法,先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计实际的MIPS处理器。另外,在全书的实例中运用SystemVerilog和VHDL展示基于CAD的电路设计方法和技术。通过本书,读者能够构建自己的微处理器,并能够自顶向下地理解微处理器的工作原理。
  第2版更新了关于微机上通用处理器以及几乎随处可见的微控制器中的I/O系统的内容,提供了多个实例来说明如何使用RS232、SPI、电机控制、中断、无线和模数转换器与外围设备交互。除了对全书内容进行更新和扩展外,新版在编程和代码例题中采用SystemVerilog(替代Verilog)与VHDL两种语言给出数字系统设计的实现。第2版还提供了更多的习题和一个新的关于C语言编程的附录,以加强编程与处理器体系结构之间的联系。

第2版特色
 介绍数字逻辑设计的基础知识,并通过设计实际的MIPS微处理器来加强逻辑概念。
 在例题部分,分别用两种最流行的硬件描述语言(SystemVerilog和VHDL)给出相应数字系统设计的实现。
 通过大量示例,帮助读者加深对关键概念和技术的理解和记忆。
 配套网站中提供了丰富的教辅资源,包括教学幻灯片、实验材料、奇数题答案、HDL文件,以及各种用于FPGA设计的CAD工具的下载链接等。

数字设计和计算机体系结构(英文版·第2版)
书号:978-7-111-44810-5
定价:129.00元

作者简介

[美]戴维·莫尼·哈里斯(David Money Harris) 哈维玛德学院,莎拉 L.哈里斯(Sarah L. Harris) 哈维玛德学院 著:戴维?莫尼?哈里斯(David Money Harris) 哈维玛德学院工程学教授,拥有斯坦福大学电子工程博士学位,麻省理工学院电子工程与计算机科学硕士学位。他曾在Intel公司从事Itanium和Pentium II处理器的逻辑和电路设计,并担任Sun Microsystems、 惠普、 Evans & Sutherland和其他设计公司的顾问。他的兴趣包括教学、构建芯片、户外探索。他取得了12项专利,并且与人合著了三本芯片设计方面的教材。
莎拉?L.哈里斯(Sarah L. Harris) 哈维玛德学院工程学副教授,拥有斯坦福大学电子工程博士学位。她曾为惠普、圣地亚哥超算中心和Nvidia公司工作,擅长计算机体系结构设计和系统设计。

译者简介

陈俊颖 译:暂无简介

译者序

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

译者
2016年1月6日

图书目录

出版者的话
译者序
本书赞誉
前言
第1章二进制1
11课程计划1
12控制复杂性的艺术1
121抽象1
122约束2
123三Y原则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其他两输入逻辑门11
156多输入门12
16数字抽象13
161电源电压13
162逻辑电平13
163噪声容限13
164直流电压传输特性14
165静态约束15
17CMOS晶体管*16
171半导体16
172二极管17
173电容17
174nMOS和pMOS晶体管17
175CMOS非门19
176其他CMOS逻辑门19
177传输门20
178类nMOS逻辑20
18功耗*21
19总结和展望22
习题22
面试问题28
第2章组合逻辑设计29
21引言29
22布尔表达式31
221术语31
222与或式31
223或与式32
23布尔代数33
231公理33
232单变量定理33
233多变量定理34
234定理的统一证明方法35
235等式化简36
24从逻辑到门37
25多级组合逻辑39
251减少硬件39
252推气泡40
26X和Z41
261非法值X41
262浮空值Z41
27卡诺图42
271画圈的原理43
272卡诺图化简逻辑44
273无关项46
274小结47
28组合逻辑模块47
281复用器47
282译码器50
29时序51
291传播延迟和最小延迟51
292毛刺54
210总结55
习题55
面试问题60
第3章时序逻辑设计61
31引言61
32锁存器和触发器61
321SR锁存器62
322D锁存器63
323D触发器64
324寄存器64
325带使能端的触发器65
326带复位功能的触发器65
327晶体管级锁存器和触发器的设计*66
328小结66
33同步逻辑设计67
331一些有问题的电路67
332同步时序电路68
333同步电路和异步电路70
34有限状态机70
341有限状态机设计实例70
342状态编码74
343Moore型状态机和Mealy型状态机76
344状态机的分解79
345由电路图导出状态机80
346有限状态机小结82
35时序逻辑的时序82
351动态约束83
352系统时序83
353时钟偏移*87
354亚稳态88
355同步器89
356分辨时间的推导*90
36并行92
37总结94
习题95
面试问题100
第4章硬件描述语言101
41引言101
411模块101
412硬件描述语言的起源101
413模拟和综合102
42组合逻辑104
421位运算符104
422注释和空白104
423缩位运算符106
424条件赋值106
425内部变量106
426优先级109
427数字109
428Z和X110
429位混合111
4210延迟112
43结构化建模113
44时序逻辑115
441寄存器115
442复位寄存器115
443带使能端的寄存器116
444多寄存器116
445锁存器119
45更多组合逻辑119
451case语句120
452if语句122
453带有无关项的真值表122
454阻塞赋值和非阻塞赋值124
46有限状态机127
47数据类型*130
471SystemVerilog130
472VHDL131
48参数化模块*133
49测试程序135
410总结138
习题138
面试问题145
第5章数字模块146
51引言146
52算术电路146
521加法146
522减法151
523比较器152
524算术逻辑单元153
525移位器和循环移位器154
526乘法*155
527除法*156
528补充阅读156
53数制157
531定点数157
532浮点数*157
54时序电路模块160
541计数器160
542移位寄存器160
55存储器阵列162
551概述162
552动态随机访问存储器164
553静态随机访问存储器165
554面积和延迟165
555寄存器文件165
556只读存储器165
557使用存储器阵列的逻辑167
558存储器HDL167
56逻辑阵列168
561可编程逻辑阵列169
562现场可编程逻辑门阵列169
563阵列实现*173
57总结174
习题174
面试问题180
第6章体系结构181
61引言181
62汇编语言182
621指令182
622操作数:寄存器、存储器和常数183
63机器语言187
631R类型指令187
632l类型指令188
633J类型指令189
634解释机器语言代码189
635存储程序189
64编程190
641算术/逻辑指令190
642分支193
643条件语句194
644循环195
645数组197
646函数调用200
65寻址方式206
66编译、汇编和装入208
661内存映射208
662转换成二进制代码和开始执行程序209
67其他主题*211
671伪指令211
672异常212
673有符号指令和无符号指令212
674浮点指令213
68从现实世界看:x86结构*214
681x86寄存器215
682x86操作数215
683状态标志216
684x86指令集216
685x86指令编码218
686x86的其他特性219
687小结219
69总结219
习题220
面试问题227
第7章微体系结构228
71引言228
711体系结构状态和指令集228
712设计过程229
713MIPS微体系结构230
72性能分析230
73单周期处理器231
731单周期数据路径231
732单周期控制235
733更多指令237
734性能分析239
74多周期处理器240
741多周期数据路径240
742多周期控制244
743更多指令252
744性能分析254
75流水线处理器255
751流水线数据路径257
752流水线控制258
753冲突258
754更多指令269
755性能分析269
76硬件描述语言表示*270
761单周期处理器270
762通用模块274
763基准测试程序276
77异常*279
78高级微体系结构*281
781深流水线282
782分支预测282
783超标量处理器284
784乱序处理器285
785寄存器重命名287
786单指令流多数据288
787多线程288
788同构多处理器289
789异构多处理器289
79从现实世界看:x86微体系结构*290
710总结295
习题296
面试问题300
第8章存储器和输入/输出系统301
81引言301
82存储器系统性能分析304
83高速缓存305
831高速缓存中存放的数据305
832高速缓存中的数据查找305
833数据的替换311
834高级高速缓存设计*312
835MIPS高速缓存的发展*314
84虚拟存储器315
841地址转换316
842页表317
843转换后备缓冲器318
844存储器保护319
845替换策略*319
846多级页表*319
85I/O简介321
86嵌入式I/O系统322
861PIC32MX675F512H微控制器322
862通用数字I/O326
863串行I/O328
864计时器336
865中断337
866模拟I/O339
867其他微控制器外设343
87PC I/O系统358
871USB359
872PCI和PCI Express360
873DDR3内存360
874网络360
875SATA361
876连接到PC361
88从现实世界看:x86存储器和I/O系统*363
881x86高速缓存系统363
882x86虚拟存储器364
883x86可编程I/O365
89总结365
后记365
习题365
面试问题371
附录A数字系统实现372
附录BMIPS指令396
附录CC语言编程400
附录DMIPS处理器的FPGA实现433
补充阅读452
索引454

教学资源推荐
作者: 周德仿 胡家宝 主编 陈建军 王莹 胡莹 参编
作者: 李平 杜涛 罗和平
作者: Ian McLoughlin (新加坡南洋理工大学)著
作者: [美] 爱德华·阿什福德·李(Edward Ashford Lee) 桑吉特·阿伦库马尔·塞希阿(Sanjit Arunkumar Seshia) 著
参考读物推荐
作者: NVIDIA 技术服务(北京)有限公司 著
作者: [丹麦]克劳斯·埃尔克(Klaus Elk) 著
作者: [美]阿诺德·S.伯格(Arnold S.Berger) 著