本书是“十二五”普通高等教育本科国家级规划教材。本书曾是电子部“九五”规划教材和教育部“十一五”国家级规划教材。目前版本将传统教学计划中的两门主干课程《计算机组成原理》与《汇编语言程序设计》有机地组织成一门课程,其目的是围绕机器指令级(指令系统层)及与此紧密相关的微操作级(微体系结构层)和汇编语言级(层),更好地体现软硬结合的思想,将计算机内部工作机制与编程求解问题结合起来。书中将输入/输出(I/O)系统作为《计算机组成原理》与《汇编语言程序设计》的结合点,既包含硬件接口设计,又包含I/O驱动程序等软件设计,体现了两部分的紧密关联和目前汇编语言程序设计的主要应用场合。本次修编时,对各章内容进行了修订,以便更好地与现代计算机技术相吻合,但仍在基本结构、主要内容和风格上保持了原书的特点。
本书主要涵盖了ACM/IEEE-CS中的“AR计算机组织与体系结构”这一知识体中的5个核心知识单元:
AR2数据的机器级表示
AR3汇编机器组织
AR4存储系统组织和结构
AR6功能组织
本书还涉及汇编语言层的PF程序设计基础知识领域中的一个核心知识单元——PF1程序设计基本结构。因此,本书适用于“计算机学科教学计划”推荐的16门核心课程中的《计算机组成基础》课程。
多年来,我们跟踪分析了国外经典教材与国内优秀教材,这些教材一般可分为两种体系:“分层体系”和“功能部件组成体系”。本书的框架体系采用这两种体系相结合的方案,从三个层次(微体系结构层、指令系统层和汇编语言层)和三大子系统(CPU、存储系统、输入/输出系统及其互连)出发建立整机概念。本书第2篇按照微体系结构层、指令系统层和汇编语言层三个层次,讨论计算机系统的组成,从而在CPU级建立整机概念。然后,通过第3篇存储系统与输入/输出系统的学习,从而在系统级上建立整机概念。
全书由基础知识、计算机系统分层结构、存储系统和输入/输出系统3篇共7章组成。其编写顺序体现了下述的教学思路:
第1篇包括第1、2章,介绍计算机系统组成的基本概念和信息表示。
第1章仍然强调计算机的两个重要基本概念:信息数字化、存储程序工作方式。在介绍计算机系统的硬件、软件组成之后,引入了现代计算机的一种分层结构模型,它自下而上分为5层:微体系结构层、指令系统层、操作系统层、汇编语言层和面向问题的语言层,本书第2篇内容就是根据其中的三层来组织的。第1章还对计算机的工作过程、特点、性能指标和发展史等做了介绍。
第2章讲述数据信息和指令信息的表示,包括带符号数、小数点及字符的表示方法,以及指令格式、寻址方式和指令类型,并介绍了Pentium与SPARC的指令格式。
第2篇包括第3、4、5章,分别从微体系结构层、指令系统层和汇编语言层深入讨论计算机系统的组成和工作机制。
第3章微体系结构层,将CPU作为整体来讨论,弱化运算方法与运算器。主要以一个教学模型机为例,从寄存器级描述CPU的内部逻辑组成,在指令流程和微操作两个层次上分析CPU的工作原理。根据当前计算机的发展趋势,更强调组合逻辑控制方式,对微程序控制方式只做一般原理性介绍,并以UltraSPARC CPU为典型例子,说明RISC的微体系结构及其指令系统。
第4章以80x86 CPU为背景讨论指令系统层。并将80x86、Pentium系列CPU的微体系结构做了类比,用归纳和概括的方式介绍该系列CPU的寻址方式和指令系统。这一章作为第3章与第5章的桥梁,由CPU模型过渡到实际机器80x86,并为学习汇编语言奠定了相关基础。
第5章汇编语言层,以 80x86、Pentium系列CPU为背景,精练地阐述了汇编语言的基础知识、伪指令与宏指令、汇编语言程序设计基本技术。
第3篇包括第6、7章,讨论存储系统和输入/输出(I/O)系统。
第6章首先简介了各种存储器存储信息的基本原理,芯片级主存储器的逻辑设计方法。按三级存储体系:高速缓存Cache、主存、外存分别介绍其工作原理,并从物理层与虚拟层这两个层次讨论存储系统的组织。特别是,本章在分别介绍主存储器、Cache和虚拟存储器时,都是以Pentium为实例进一步分析相应的工作机制。本章还引入了高级DRAM、磁盘冗余阵列RAID、并行存储技术等。
第7章介绍输入/输出系统。采用硬软结合的方式,既讨论硬件接口与I/O设备的逻辑组成及工作原理,也介绍软件调用方法与相应的I/O程序设计。详细阐述了I/O接口的主要控制方式:直接程序控制方式、程序中断方式和DMA方式。系统介绍了总线分类、标准、时序以及实例。简介了常用I/O设备:键盘、鼠标器、打印机和液晶显示器工作原理,并以键盘为例分析其驱动程序的设计。引入了典型外设接口ATA接口和SCSI接口。
由于篇幅所限,与本书有关的一些辅助资料将以网上电子文档方式提供给读者,欢迎免费下载(http://www.hxedu.com.cn)。网上辅助资料包括:80x86指令系统一览表,伪操作与操作符表,中断向量地址一览表,DOS系统功能调用(INT 21H),BIOS功能调用等。
本课程的参考教学时数约为70~90学时,全书内容可能比教学时数所允许的份量稍多一些,可供选取或让学生自学,部分实例可随技术发展而更新。本书为教师免费提供电子教案,欢迎到华信教育资源网http://www.hxedu.com.cn注册下载。
本书由徐洁主编并负责全书的统稿。徐洁编写第1、2章;鲁珂编写第3、4章;叶娅兰编写第5、6、7章。重庆大学袁开榜教授担任主审,他认真仔细地审阅了全稿,提出了许多宝贵的修改意见。教材的辅助资料和电子文档由邓亮和于颖制作。本书编辑童占梅老师热情、专业和细致的工作态度保证了教材的编辑质量和水平。教材的编写还得到了北京航空航天大学杨文龙教授、电子科技大学龚天富教授的热情指导和帮助。在编写过程中,我们还得到了电子科技大学计算机学院领导和老师的热情支持。在此,谨向所有给予我们支持和帮助的同志表示衷心的感谢。
书中还会存在错误与不足之处,恳请读者与同行给予批评指正。
主 编
于成都?电子科技大学计算机学院