《汇编语言与计算机系统组成 第2版》将“汇编语言程序设计”“计算机组成原理”及“计算机系统结构”有机地结合为一体。该书在保证必要的经典内容的同时,力求反映现代理论和先进技术,在理论与应用关系上以应用为主。该书共分4篇:第1篇为计算机系统组成基础,内容包括计算机系统概论、计算机中的信息表示。第2篇为计算机系统分层结构,内容包括微体系结构层——CPU的构成,以及指令系统层、汇编语言层。第3篇为存储系统与I/O系统,内容包括存储系统、I/O系统、I/O设备。第4篇为计算机系统部件设计。
《汇编语言与计算机系统组成 第2版》可作为高等学校计算机类、自动控制及电子技术应用类等专业的本科生、专科生教材,也可作为理工科电气信息类专业的本科生、专科生教材,还可作为从事相关专业的工程技术人员的参考书。为了方便教学,该书配有免费课件,欢迎选用该书作为教材的教师登录www.cmpdeu.com下载或发邮件到lxggu@163.com索取。
在2018年1月30日国家公布的《普通高等学校本科专业类教学质量国家标准》中,将计算机科学与技术、软件工程、网络空间信息安全等计算机类学科统称为计算学科,它是从电子科学与工程和数学发展来的。计算机类专业的主干学科是计算学科,相关学科有信息与通信工程、电子科学与技术。标准中明确计算机类专业的教学内容应包含电路与电子技术、计算机组成原理与计算机系统结构。
随着科学技术的不断发展,各学科在教学过程中都会将最新技术发展成果增加到教学体系之中。近年来计算机技术的飞速发展,必然导致与之相关学科的教学内容做较大幅度的调整。另外,考虑到以加强学生自主学习、提高学生创新能力为目的的素质教育的要求,必然要减少课堂教学时数。本书就是为适应这一形势发展而编写的。“汇编语言程序设计”“计算机组成原理”及“计算机系统结构”是计算机专业的主干课程。通过分析,这3门课程的关联度较高,为课程改革提供了先决条件。这3门课程有相互依赖的关系,因此独立开课时难免有内容重复现象。如果整合,则可节省大量的课时。我们将3门课程整合后形成一门课程——“汇编语言与计算机系统组成”。课程名称应体现3门课程的特征。在“汇编语言与计算机系统组成”课程名称中,“汇编语言程序设计”“计算机组成原理”的名称特征已明确体现,而“计算机系统结构”,国内某些院校叫“计算机体系结构”,在整合的课程中以“系统”二字体现。主要有两个含义:其一,在课程中体现计算机系统结构的概念,内容包含系统的总体及外特性,指令流水及存储层次;其二,课程内容较少涉及计算机网络。
由于该课程涵盖了计算机专业的3门主干课程的教学内容,因此整合绝不是简单地将3门课程合并起来,经过反复研讨,我们认为课程应该既要保证学科的基本知识(保证足够的知识储备,为学生更深入学习该学科提供基础),又要保证知识前后衔接,同时又要将最新的技术融入教学内容中。
本书的主要特点表现如下:
(1)本书是汇编语言程序设计、计算机组成原理及计算机系统结构3门课程的有机结合。学习汇编语言应理解计算机原理,而学习计算机组成原理应懂得汇编语言。3门课程分开教学,势必会造成一些教学内容的重复,不便于学生学习。将这3门课程有机整合后,可节省教学课时。
(2)将原“计算机系统结构”课程中的两项主要教学内容“流水技术”“存储层次结构”分散于本书第3章微体系结构层-CPU的构成、第6章存储系统中,避免了计算机组成原理及计算机系统结构课程内容的重复。这也方便了相关内容的教学。
(3)将汇编语言程序设计归于计算机系统分层结构中,体现原3门课程的紧密联系。在课程中增加计算机组成部件在大规模集成电路中实现的设计方法,使学生真正体会现代计算机部件的设计思想。计算机指令集的发展有CISC复杂指令集及RISC精简指令集两个方向,RISC指令集的实现采用组合逻辑电路,而现代组合逻辑电路的实现一般采用超大规模集成电路实现,因此在书中加入在FPGA实现计算机部件的内容。
本书内容结构采用4篇9章的方式:第1篇计算机系统组成基础,含第1、2章;第2篇计算机系统分层结构,含第3—5章;第3篇存储系统与I/O系统,含第6~8章;第4篇计算机系统部件设计,含第9章。
本书的参考教学时数为64~90学时,可根据各自学校的具体情况增删部分教学内容,安排教学时数。
本书第2版编写分工如下:李心广编写第1、2章,张晶编写第3、7、8章,潘智刚编写第4、5章,罗海涛编写第6、9章。由李心广负责全书的统稿、定稿。
计算机技术日新月异,教学改革任重道远,编著者的能力与这两方面所提出的要求相比还有很大差距。本书不妥之处在所难免,恳请读者批评指正,以便再版时修正。
李心广,博士,广东外语外贸大学语言工程与计算重点实验室主任、信息学院教授,广东外语外贸大学学术委员会委员。曾任广东外语外贸大学信息学院副院长、教务处副处长。主持国家自然科学基金“面向汉译英口语测试中自动评测方法的研究”、教育部人文社科项目”英语语音发音质量评价模型研究与应用”、广东省教改项目”国际化信息技术人才的培养模式与实践”等省部级以上科研与教学课题10多项。主持并参与编写教材10多部,其中《电路与电子技术基础第2版》《电路与电子技术基础学习指导与实验教程第2版》被评为“十二五”普通高等教育本科国家级规划教材。“以重点课程建设为核心,全面进行电子技术教育改革“获省级教学成果三等奖。发表论文100多篇,其中被SCI、EI收录40多篇。获得国家专利20多件、软件著作权30多项。“广州谋划战略性主导产业发展研究”获2011年度广州市社会科学研究课题招标成果奖二等奖,指导学生英语语音科技团队并于2014年获得首届“大学生小平科技创新团队”称号。
社会职务:中国计算机学会高级会员,CCF YOCSEF(中国计算机学会青年计算机科技论坛,CCF Young Computer Scientists & Engineers Forum)广州AC荣誉委员,中国高等学校电子教育学会副理事长,科技部科技咨询专家,广东省、江苏省、四川省、江西省、河北省等省科技咨询专家,2015年、2019年担任教育部”长江学者奖励计划”通信评审专家,2016年担任教育部科技奖励评审专家,2017年、2018年担任国家科技部国家重点研究计划项目评审专家。广东省数字政府改革建设专家委员会专家库成员。
前言
第1篇 计算机系统组成基础
第1章 计算机系统概论
1.1 计算机的基本概念
1.1.1 存储程序的工作方式
1.1.2 信息的数字化表示
1.1.3 计算机体系结构、组成与实现
1.2 计算机系统的硬件、软件组成
1.2.1 计算机硬件系统
1.2.2 计算机软件系统
1.3 层次结构模型
1.3.1 从语言功能角度划分层次结构
1.3.2 软硬件在逻辑上的等价
1.4 计算机的工作过程
1.4.1 处理问题的步骤
1.4.2 计算机的解题过程
1.5 微型计算机的主要技术指标
1.6 计算机的发展与应用
1.6.1 计算机的诞生
1.6.2 第一代计算机
1.6.3 第二代计算机
1.6.4 第三代计算机
1.6.5 第四代计算机
1.6.6 新一代计算机
1.6.7 我国计算机的发展
思考题与习题
第2章 计算机中的信息表示
2.1 无符号数和有符号数
2.1.1 无符号数
2.1.2 有符号数
2.2 数的定点表示和浮点表示
2.2.1 定点表示
2.2.2 浮点表示
2.2.3 定点数和浮点数的比较
2.2.4 举例
2.2.5IEEE 754
2.3 定点运算
2.3.1 移位运算
2.3.2 加法与减法运算
2.3.3 乘法运算
2.3.4 除法运算
2.4 浮点四则运算
2.4.1 浮点加减运算
2.4.2 浮点乘除运算
2.4.3 浮点运算所需的硬件配置
2.5 算术逻辑单元
2.5.1 ALU电路
2.5.2 快速进位链
2.6 字符的表示
2.6.1 ASCII码
2.6.2 Unicode编码
2.6.3 汉字编码简介
2.7 指令信息的表示
2.7.1 指令格式
2.7.2 常用的寻址方式
2.7.3 指令类型
2.8 校验技术
2.8.1 奇偶校验码
2.8.2 循环冗余校验码
思考题与习题
第2篇 计算机系统分层结构
第3章 微体系结构层-CPU的构成
3.1 CPU的组成和功能
3.1.1 CPU的组成
3.1.2 CPU的功能
3.1.3 指令的执行过程
3.2 CPU模型机的数据通路及指令流程分析
3.2.1 单总线结构
3.2.2 双总线结构
3.2.3 三总线结构
3.3 组合逻辑控制器原理
3.3.1 模型机的指令系统
3.3.2 模型机的时序系统与控制方式
3.3.3 模型机主要组成部分的门级设计及控制信号
3.3.4 指令流程及控制信号序列
3.3.5 组合逻辑控制器的设计步骤
3.4 微程序控制器原理
3.4.1 微程序控制的基本概念
3.4.2 微指令的编码方式
3.4.3 微程序控制器中的分支控制
3.4.4 微指令格式
3.4.5 模型机的微指令格式设计及微程序编写
3.5 精简指令系统计算机
3.5.1 RISC与CISC的概念
3.5.2 精简指令系统计算机的技术特点
3.6 指令流水技术
3.6.1 流水线的基本概念
3.6.2 DLX流水线
3.6.3 流水线的效率
3.6.4 流水线中的相关
思考题与习题
第4章 指令系统层
4.1 概述
4.2 80x86 CPU
4.2.1 8086/8088微处理器
4.2.2 80386微处理器
4.2.3 Pentium微处理器
4.2.4 PentiumⅣ微处理器
4.3 基本执行环境
4.3.1 操作模式
4.3.2 存储管理
4.3.3 80x86 CPU的寄存器结构
4.4 80x86 CPU的指令系统
4.4.1 80x86数据类型
4.4.2 80x86指令格式
4.4.3 80x86寻址方式
4.4.4 80x86 CPU指令的分类
思考题与习题
第5章 汇编语言层
5.1 概述
5.2 汇编语言语句类型及格式
5.2.1 语句类型
5.2.2 语句格式
5.3 80x86宏汇编伪指令
5.3.1 符号定义伪指令
5.3.2 数据定义伪指令
5.3.3 指令集选择伪指令
5.3.4 段结构伪指令
5.3.5 定位伪指令
5.3.6 过程定义伪指令
5.3.7 标题伪指令
5.3.8 结束伪指令
5.3.9 包含伪指令
5.3.10 简化段定义伪指令
5.4 宏指令
5.5 汇编语言程序的设计步骤
5.6 汇编语言程序设计的基本技术
5.6.1 顺序结构程序设计
5.6.2 分支结构程序设计
5.6.3 循环结构程序设计
5.6.4 子程序设计
5.6.5 系统功能的调用
5.6.6 直接访问内存和端口
思考题与习题
……
第3篇 存储系统与I/O系统
第4篇 计算机系统部件设计