数字逻辑与计算机组成
基本信息
- 作者: 袁春风 武港山 吴海军 余子濠
- 丛书名: 计算机类专业系统能力培养系列教材
- 出版社:机械工业出版社
- ISBN:9787111665557
- 上架时间:2020-10-13
- 出版日期:2020 年9月
- 开本:16开
- 页码:376
- 版次:1-1
- 所属分类:计算机 > 计算机控制与仿真 > 电路设计
教材 > 计算机教材 > 本科/研究生 > 计算机控制仿真

编辑推荐
数字逻辑电路与计算机组成融会贯通之作
从门电路、基本元件、功能部件到微架构循序渐进阐述硬件设计原理
以新兴开放指令集架构RISC-V为模型机
通过大量图示并结合Verilog语言清晰阐述电路设计思路
内容简介
作译者
从门电路、基本元件、功能部件到微架构循序渐进阐述硬件设计原理
以新兴开放指令集架构RISC-V为模型机
通过大量图示并结合Verilog语言清晰阐述电路设计思路
目录
第1章 二进制编码1
1.1 计算机系统概述1
1.1.1 冯·诺依曼结构计算机1
1.1.2 程序的表示与执行3
1.1.3 计算机系统抽象层5
1.2 二进制数的表示6
1.2.1 计算机的外部信息和内部数据6
1.2.2 进位计数制7
1.2.3 二进制数与其他计数制数之间的转换8
1.3 数值型数据的编码表示11
1.3.1 定点数的编码11
1.3.2 整数的表示16
1.3.3 浮点数的表示18
1.3.4 十进制数的二进制编码表示21
1.4 非数值型数据的编码表示22
1.4.1 逻辑值的表示22
1.4.2 西文字符的表示22
1.4.3 汉字的表示24
1.5 数据的宽度和存储24
前言
本教材的内容主要涵盖计算机系统层次结构中从数字逻辑电路到ISA之间的抽象层,自底向上依次为数字逻辑电路层、功能部件/RTL层、微体系结构层和ISA层。因此,本教材主要介绍数字逻辑电路、计算机组成和ISA涉及的相关概念、理论和技术内容。本教材将以新兴开放指令集体系结构RISC-V为模型机,着重介绍数字逻辑电路、整数和浮点数运算、指令系统、中央处理器、存储器和输入/输出等方面的设计思路和具体结构。
1.为什么要将“数字逻辑电路”和“计算机组成原理”合并
传统课程体系中,“数字逻辑电路”和“计算机组成原理”是两门密切相关但独立开设的课程,通常,“数字逻辑电路”是“计算机组成原理”的先导课。实际上,这两门课程涉及的内容在计算机系统层次结构中关联的抽象层是交叉重叠的,它们之间重复的知识点比较多,例如,两门课程都包含信息的二进制表示、各类功能部件的设计、基本存储元件和存储器模块等内容。将两门课程合并成一门课程,并将有些内容整合到 “计算机系统基础”等相关课程中,除了可以用更短的学时达到更高的学习目标外,还特别有利于将数字逻辑电路和计算机组成相关的知识融会贯通,从而更加有利于深刻理解计算机系统的硬件设计与实现原理。
2.为什么采用RISC-V指令集体系结构作为模型机
涉及计算机组成的教材都需要针对特定的指令集体系结构进行叙述。经过几十年的发展,先后出现了几十种不同的指令集体系结构,但真正被广泛使用的不多,知名的有Intel x86、Sun公司的SPARC、MIPS、ARM、IBM公司的Power等,其中,Intel x86系列处理器在PC和服务器市场占有主导地位,而ARM架构在移动手持设备与嵌入式领域占绝对优势。但是,这两种架构比较复杂,不太适合用作处理器设计相关教材的模型机。有些教材将复杂架构简化后用作模型机,例如,计算机系统方面的著名教材《深入理解计算机系统》(Computer Systems: A Programmer’s Perspective,Randal E. Bryant和David R. O’Hallaron合著)将Intel x86简化为规整、简洁的Y86,作为处理器设计的模型机。目前国内外与计算机组成相关的教材多采用优雅的MIPS架构作为模型机。不过,两位计算机体系结构宗师、图灵奖得主David A. Patterson和John L. Hennessy合著的教材《计算机组成与设计:硬件/软件接口》(Computer Organization and Design: The Hardware/Software Interface)除了有MIPS架构版本外,也有ARM架构和RISC-V架构版本。
本教材将会介绍指令系统和中央处理器等的设计思路和具体结构,因而也必须以一个具体的指令集架构为模型机来讲解。选择RISC-V作为本教材的模型机,主要从以下几个方面来考虑。
首先,RISC-V作为一个新兴的开放指令集架构,以开放共赢为基本原则,不属于某一家商业公司独有,而是由一个统一的非营利组织作为主导者和核心规则制定者,任何公司和个人都可以永久免费使用其架构,无须向商业公司支付高昂的授权费,也不存在受制于人和无法自主可控的隐忧。
其次,RISC-V遵循“大道至简”的设计哲学,通过模块化和可扩展的方式,既保持基础指令集的稳定,也保证扩展指令集的灵活配置,因此,RISC-V指令集具有模块化的特点和非常好的稳定性与可扩展性,在简洁性、实现成本、功耗、性能和程序代码量等各方面都有较显著的优势。从最简单的小面积、低功耗的嵌入式微控制器,到功能强大的服务器都可以基于RISC-V指令集架构进行开发,同时,也非常容易在RISC-V通用架构基础上实现专用领域加速器,这也是RISC-V架构相比ARM和x86等主流商业架构的最大优点之一。
RISC-V所具有的开放、简单、易扩展等特性,加上RISC-V的设计者—加州大学伯克利分校团队配套推出的开源芯片及芯片敏捷开发方式,使得基于RISC-V架构的芯片开发门槛大大降低,吸引了越来越多的个人和企业加入RISC-V生态系统的开发队伍,业界也非常需要一些具备RISC-V基础的从业者。
虽然从原理上来说采用MIPS和RISC-V作为模型机没有多少区别,但是,RISC-V的基本指令集的小型浓缩化、功能指令集的模块化、代码长度的可缩性、访存指令的简洁与灵活性、过程调用的简洁性、特权模式的可组合性、异常/中断处理的简洁和灵活性以及无分支延迟槽等很多特性,都使得采用RISC-V架构进行教学更适合清晰阐述上层软件与指令集架构之间、指令集架构与底层微架构之间的密切关系。同时,目前国内出版的计算机组成与系统结构相关教材中,基于RISC-V架构编写的教材比较少,因此从指令集架构的多样性,以及方便读者针对不同架构进行相互参考和对比学习的角度来说,也非常有必要编写基于RISC-V架构的计算机组成方面的教材。
特别是我们从国外一流大学计算机组成与系统结构相关课程网站了解到,加州大学伯克利分校、麻省理工学院和卡内基·梅隆大学等名校从2019年春季学期开始,都采用RISC-V架构作为模型机进行教学或CPU设计实验,这从另一个方面说明了RISC-V指令集架构作为教学模型机的优越性。
3.写作思路和内容组织
本教材结合相应课程在计算机系统能力培养目标中的定位以及课程内容在整个计算机系统层次结构中的位置,在内容组织方面采用了以下写作思路:教材内容按“信息的二进制表示→数字逻辑电路→硬件描述语言→功能部件→指令集体系结构→微体系结构”的顺序进行组织。我们的想法是:通过冯·诺依曼结构的基本思想可以很自然地引入二进制编码表示;基于二进制编码和布尔代数就可展开对数字逻辑电路的介绍;有了组合逻辑电路和时序逻辑电路基础,就可很好地理解硬件描述语言(HDL)和FPGA设计;接下来,可以方便地利用HDL进行加法器、乘法器、通用寄存器组等功能部件的设计。这些内容为理解CPU、存储器和输入/输出三大微体系结构核心模块相关内容打下了坚实基础。同时,CPU设计必须要有一个指令集体系结构为实现目标,因而在介绍CPU设计之前必须先介绍指令集体系结构。
4.各章主要内容及教学建议
本书共有10章,各章主要内容如下。
第1章(信息的二进制编码)主要介绍计算机系统抽象层以及相关抽象层之间的关系,从而给出本课程教学内容在整个计算机系统中的位置,同时从冯·诺依曼结构的基本思想入手,简要介绍通用计算机的基本组成和工作方式,进而展开对各类数据在计算机内部的二进制编码表示的介绍,包括无符号整数和带符号整数的表示、IEEE 754浮点数标准、西文字符和汉字的编码表示、数据的宽度单位、大端/小端存放顺序等。
在本章教学过程的最开始,强化计算机系统抽象层及其与课程内容的关系,可以起到导学作用,有利于学生理解课程各知识单元之间的关联。对于各类数据的二进制编码表示,在“计算机系统基础”等课程中也有介绍。若本课程先于其他相关课程开设,则这部分内容应详细介绍;若在其他相关课程后开设本课程,则只要简要回顾一下相关内容即可。
第2章(数字逻辑基础)主要内容包括逻辑门和数字抽象、布尔代数、逻辑关系描述、逻辑函数的化简和变换。
这部分属于数字逻辑电路的基础内容,对学生认识和理解数字逻辑电路以及计算机系统硬件设计具有非常重要的作用,因此,对于这部分内容的讲解必不可少。由于这部分内容概念较多,概念之间容易混淆,教学过程中应引导学生正确理解基本概念而不是死记硬背。
媒体评论
本书与时俱进地选择开放的RISC-V指令集架构作为模型机,顺应国际一流大学在计算机组成相关课程教学与CPU实验设计方面的发展趋势,丰富了国内教材在指令集架构方面的多样性,并且有助于读者进行对比学习。
本书特色
·融合“数字逻辑电路”和“计算机组成原理”。合并传统课程体系中原本独立但又密切相关的两门课程,旨在用更短的学时达到更高的学习目标,使相关知识融会贯通,更利于读者深刻理解计算机系统的硬件设计与实现原理。
·采用RISC-V指令集架构作为模型机。新兴的RISC-V指令集具备开放、简洁、易于扩展等优势,在教学上可清晰呈现上层软件与指令集架构之间、指令集架构与底层架构之间的关系,为读者进阶RISC-V生态系统的芯片开发打好基础。
·满足不同课程和不同课时的教学需求。面向不同的先导课程及后续课程设置,提供有针对性的教学建议,构建完整的知识框架。此外,还提供CPU设计的实现方案及丰富的习题,相关内容可作为基于FPGA和硬件描述语言的CPU设计实验的参考。