本书主要介绍了计算机的基本组成和工作原理。全书共分9章, 分别介绍计算机的基本特性、布尔代数与算数逻辑、数据表示、运算方法和运算器、指令系统、存储系统、控制器、外围设备、输入输出系统和计算机技术的展望。本书整体结构清晰, 内容充实, 概念清楚, 重点突出, 深入浅出。为了方便学生理解掌握所学知识, 本书还列举丰富的实例加以说明。本书在写作过程中注重内容的先进性、实用性, 特别强调基础知识、基本原理和基本技能。
		
	
	      计算机科学技术的发展日新月异,其内涵也发生着重要转变。计算机影响人类的生产方式、认知方式和社会生活方式。它不仅是与数学、物理、化学、天文、地理、生物平行的一门学科,而且是一门推动各学科进一步向前发展的学科。“计算学科”作为新的基础技术学科,从狭义工具论向“计算思维(Computation Thinking)”转变,它强调一切皆可计算。从物理世界到社会模拟、人类各种智能活动,都可以被认为是计算的某种形式的体现。运用计算机科学的基本概念和平台,通过建立物理模型,在计算机上模拟、分析、求解、处理,进行各种科学研究活动。 
	      作为计算机科学的载体和硬件基础,计算机组织、计算机组成原理这类课程是不可逾越的。想得心应手地应用它,就要认识、了解它的思维方法,这可能会对你有启发。对于一些工科院校、文科院校、理科院校的学生来说,学习一些计算机课程是有意义的。计算机课程不要求太多,关键课程不缺即可。选择一本合适的教材,对学习来说很重要。内容太多的教材可能重点不够突出,课时安排不下;太浅的教材有些内容学不到,也不是最好的选择。 
	      作为教材,首先要把课程中最重要的内容,如基本概念、基本方法、基本原理讲清楚。越是基本的内容越是具有普遍意义,是可以举一反三的。其次,内容要跟上技术发展的步伐,要努力缩小教材与产品的差距。第三,内容要有一定深度,面向应用型教育的计算机教材也是大学教材,与中专教材不同,不是越简单越好。第四,教材要有系统性,要按照事物发展规律由浅入深、由近及远地叙述。第五,教材内容要联系实际,计算机组成原理是一门计算机硬件基础课程,讲述计算机主要部件的具体组成和工作原理,只有通过典型事例才容易说明问题。本教材就是基于以上思想编写的。 
	       作者1959年从清华大学计算机专业毕业留校后,长期从事计算机专业的教学和科研工作,先后主讲计算机原理、计算机组织与结构、并行和分布处理系统等课程,积累了一定的教学经验。2002年,作者有机会参与高等职业教育的教学工作,深感编写一本好教材的迫切,在清华大学出版社的大力支持下,2003年编写出版了《计算机组成原理》一书。这是一本面向普通高等教育,包括高等职业教育和成人教育的计算机原理教材,也是一本引导广大计算机爱好者步入计算机应用领域的计算机基础教材。为了培养学生的动手能力,加强实践教学环节,清华大学计算机系计算机组成原理实验室的老师们专门为本课程研制了EC2003教学实验系统。2004年10月出版了该书的配套实验指导书——《计算机组成原理实验指导》。2005年4月又出版了《计算机组成原理例题分析与习题解答》。三本教材密切配合,提供了一种教学理论联系实际,训练动手能力,掌握分析方法的良好学习环境,受到读者欢迎。该套教材于2006年被评为“北京高等教育精品教材”。 
	       本教材的第1版主要是面向高职高专院校编写的,由于教材内容充实、重点突出、联系实际,很多应用型本科院校也希望选用,因此,第2版改版采纳了一些应用型本科院校的意见,结合计算机发展的新进展,对第1版内容进行了补充修改,对于不同类型、不同层次、不同要求的学校,书中提供一些可以选学的内容(目录中带*号的章节)。本书第2版被教育部评定为“普通高等教育‘十一五’国家级规划教材”。 
	       本书在使用中得到大家厚爱,收到一些建议。如软件工程专业老师反映,本课程是该专业唯一一门与硬件相关的专业知识课程,重点让学生了解一个完整的计算机硬件系统结构、计算机的构成部件、各部件的作用和工作原理,以及一个程序在计算机中的运行过程,同时介绍一些新型计算机结构。由于没有开设独立的“数字电路”课程,建议教材适当补充布尔代数和门电路的相关基础知识。为了满足有关专业需求,本书第3版增加“布尔代数与逻辑电路”一章。并在指令系统汇编语言一节后增加汇编语言程序设计与上机调试等有关内容。对其他章节也做了部分补充,希望能有积极的意义。为了方便教学,重庆工程学院的老师们专为本书编制了课件,特此表示感谢。 
	       本教材以面向应用型人才培养为特色,适合应用型本科和高职高专院校教学需要。由于计算机组成原理课程对学习计算机专业知识具有承上启下、承前启后的作用,本教材也可作为从事计算机应用开发人员的自学用书或培训教材。书中难免存在不足和疏漏之处,敬请指正。 
	       谢树煜2017年3月于清华园计算机组成原理(第3版) 
	
 
	第1章绪论1 
	1.1计算机的基本特性1 
	1.1.1二进制数据2 
	1.1.2存储程序2 
	1.1.3逻辑运算2 
	1.1.4高速电子开关电路2 
	1.1.5数字编码技术2 
	1.2计算机的基本组成3 
	1.2.1基本组成原理3 
	1.2.2CPU、主机与输入输出设备5 
	1.2.3存储器6 
	1.2.4总线6 
	1.3计算机系统7 
	1.3.1计算机系统组成7 
	1.3.2计算机层次结构8 
	1.4计算机分类8 
	1.5计算机发展简史10 
	1.6微处理器发展的启示11 
	1.7计算机的应用13 
	1.7.1科学计算、工程设计13 
	1.7.2数据处理13 
	1.7.3实时控制13 
	1.7.4辅助设计14 
	1.7.5人工智能14 
	习题14 
	*第2章布尔代数与逻辑电路15 
	2.1布尔代数基本逻辑运算15 
	2.1.1“与”逻辑15 
	2.1.2“或”逻辑16 
	2.1.3“非”逻辑16 
	2.2布尔代数的基本公式16 
	2.2.1基本公式16 
	2.2.2三个重要规则17 
	2.3逻辑函数及其表示方法18 
	2.3.1逻辑函数18 
	2.3.2逻辑函数表示法18 
	2.3.3逻辑函数化简19 
	2.4基本逻辑电路20 
	2.4.1门电路21 
	2.4.2触发器22 
	2.5基本逻辑部件24 
	2.5.1寄存器24 
	2.5.2计数器25 
	2.5.3译码器26 
	2.5.4多路数据选择器27 
	习题28 
	计算机组成原理(第3版) 目录 第3章数据表示30 
	3.1计数制30 
	3.1.1十进制计数制30 
	3.1.2二进制计数制31 
	*3.1.3R进制计数制31 
	*3.1.4在计算机中为什么采用二进制数32 
	3.2不同数制间数据的转换33 
	3.2.1十进制整数转换为二进制整数33 
	3.2.2十进制小数转换为二进制小数34 
	3.2.3二进制数转换为十进制数35 
	*3.2.4任意两种进制数间的转换35 
	3.3十进制数据编码36 
	3.3.1有权码方案37 
	*3.3.2无权码方案38 
	3.4字符编码39 
	3.4.1ASCII字符编码39 
	3.4.2EBCDIC码40 
	3.4.3字符串40 
	3.5汉字编码41 
	3.5.1汉字输入码41 
	3.5.2国标码与内码42 
	3.5.3汉字输出码44 
	3.6机器数及其编码45 
	3.6.1定点小数编码46 
	3.6.2定点整数编码49 
	3.6.3浮点数编码51 
	3.7数据校验码53 
	3.7.1奇偶校验码54 
	*3.7.2海明校验码55 
	*3.7.3循环冗余校验码57 
	习题60 
	第4章运算方法与运算器62 
	4.1定点加减法运算62 
	4.1.1补码加减法运算63 
	4.1.2溢出的产生及判别64 
	4.1.3全加器与加法装置65 
	4.2定点乘法运算70 
	4.2.1一位原码乘法70 
	*4.2.2两位原码乘法72 
	4.3定点除法运算75 
	4.3.1原码恢复余数除法75 
	4.3.2加减交替法除法78 
	4.4逻辑运算80 
	4.4.1逻辑乘法81 
	4.4.2逻辑加法81 
	4.4.3求反操作81 
	4.4.4异或运算82 
	4.5位片结构定点运算器82 
	4.5.1位片运算器电路Am 290183 
	*4.5.2先行进位电路Am 290286 
	*4.5.3多片Am 2901组成的位片结构运算器87 
	4.6浮点加减法运算89 
	4.6.1运算规则及算法89 
	4.6.2浮点加减法运算流程91 
	4.6.3浮点加减法装置及流水线结构运算器93 
	4.7浮点乘除法运算94 
	4.7.1浮点乘法94 
	*4.7.2浮点除法96 
	习题98 
	第5章指令系统100 
	5.1指令格式100 
	5.1.1指令字101 
	5.1.2指令操作码及其扩展技术103 
	5.1.3地址码与数据字长104 
	5.2寻址方式105 
	5.2.1存储器寻址方式105 
	5.2.2寄存器寻址方式108 
	5.2.3立即数寻址方式110 
	5.2.4堆栈寻址方式110 
	5.3指令类型112 
	5.3.1按操作数据类型分类112 
	5.3.2按指令功能分类113 
	5.4小型机指令系统举例114 
	5.4.1PDP11计算机简介114 
	5.4.2单操作数指令114 
	5.4.3双操作数指令117 
	*5.5大型机指令系统举例118 
	5.5.1IBM 360/370计算机简介118 
	5.5.2指令格式119 
	5.5.3指令举例121 
	5.6微型机指令系统举例122 
	5.6.1IBM PC计算机及Pentium Ⅳ处理器简介122 
	5.6.2Intel 8086指令格式123 
	5.6.3Intel 8086指令的寻址方式125 
	5.6.48086 指令系统127 
	5.7机器语言与汇编语言128 
	5.7.1Intel 8086汇编标记与运算符128 
	5.7.2汇编语句129 
	*5.8汇编语言程序设计和上机调试130 
	5.8.1一般程序的设计步骤130 
	5.8.2汇编语言程序的调试与运行131 
	5.9精简指令系统计算机132 
	5.9.1MIPS指令格式133 
	5.9.2MIPS指令分类134 
	习题136 
	第6章存储系统138 
	6.1存储器的基本特性138 
	6.1.1主存储器的特性138 
	6.1.2辅助存储器的特性139 
	6.1.3主存储器的主要技术指标139 
	6.2半导体存储器的基本记忆单元140 
	6.2.1随机存储器的记忆单元140 
	6.2.2只读存储器的记忆单元142 
	6.2.3闪速存储器144 
	6.3主存储器的组成和工作原理144 
	6.3.1主存储器概述144 
	6.3.2RAM集成电路145 
	6.3.3半导体存储器的组成147 
	6.3.4存储器控制149 
	*6.3.5存储器读写时序151 
	6.4高速存储器152 
	*6.4.1新型RAM芯片技术153 
	6.4.2并行存储结构154 
	6.4.3高速缓冲存储器及分级存储体系155 
	6.5高速缓冲存储器156 
	6.5.1高速缓冲存储器工作原理156 
	*6.5.2高速缓冲存储器组织157 
	6.6虚拟存储器161 
	6.6.1基本原理161 
	6.6.2页式虚拟存储器162 
	*6.6.3段式虚拟存储器163 
	*6.6.4段页式虚拟存储器165 
	6.7存储保护165 
	6.7.1存储区保护165 
	6.7.2访问方式保护 167 
	习题167 
	第7章控制器169 
	7.1指令执行过程169 
	7.2控制器的功能和组成170 
	7.2.1控制器的功能170 
	7.2.2控制器的基本组成171 
	7.3处理器总线及数据通路176 
	7.3.1ALU为中心的数据通路177 
	7.3.2单内总线CPU结构177 
	7.4组合逻辑控制器179 
	7.4.1组合逻辑控制器的特征179 
	*7.4.2组合逻辑控制器设计原理179 
	*7.4.3可编程序逻辑阵列控制器183 
	7.5微程序控制器184 
	7.5.1微程序设计的基本原理184 
	7.5.2微指令方案187 
	*7.5.3微程序设计的基本问题189 
	*7.6微程序的顺序控制191 
	7.6.1后继微地址的增量方式191 
	7.6.2后继微地址的断定方式192 
	7.6.3顺序控制部件Am 2910193 
	*7.7微程序设计举例197 
	7.7.1指令流程图197 
	7.7.2微程序控制器逻辑图197 
	7.7.3微程序编码198 
	7.8指令流水线结构199 
	习题201 
	第8章外围设备203 
	8.1外围设备的种类和特性203 
	8.1.1外围设备的分类203 
	8.1.2外围设备工作的特性204 
	8.2常用输入设备205 
	8.2.1键盘206 
	8.2.2鼠标207 
	8.2.3扫描仪208 
	8.3显示设备209 
	8.3.1显示设备的分类和基本概念209 
	8.3.2字符显示器211 
	8.4打印装置214 
	841点阵式打印机214 
	8.4.2激光打印机215 
	8.4.3喷墨打印机216 
	8.4.4汉字的显示与打印217 
	8.5磁表面外存储器218 
	8.5.1存储原理和记录方式218 
	8.5.2磁盘存储器223 
	*8.5.3软磁盘存储器228 
	*8.5.4磁带存储器233 
	*8.5.5磁盘阵列236 
	8.6光盘存储器237 
	8.7固态盘239 
	8.7.1固态盘的分类及特点239 
	*8.7.2基本结构240 
	*8.8通信设备240 
	8.8.1调制解调器240 
	8.8.2模/数与数/模转换装置241 
	习题243 
	第9章输入输出系统与控制245 
	9.1系统总线245 
	9.1.1系统总线结构245 
	9.1.2总线控制方式247 
	9.1.3总线通信方式249 
	9.2微机总线250 
	9.2.1S100总线251 
	9.2.2STD总线251 
	9.2.3IBM PC总线251 
	9.2.4ISA总线251 
	9.2.5EISA总线252 
	9.2.6RS232C总线253 
	9.2.7IEEE488总线254 
	9.2.8IDE磁盘接口255 
	*9.2.9SCSI总线255 
	9.2.10PCI总线257 
	*9.2.11串行总线USB258 
	9.3基本I/O接口组成和工作原理261 
	9.3.1设备选择电路261 
	9.3.2数据缓冲寄存器262 
	9.3.3设备工作状态262 
	9.3.4传输中断的请求与屏蔽263 
	9.4输入输出控制方式264 
	9.4.1程序查询方式264 
	9.4.2程序中断方式265 
	9.4.3直接存储器访问方式266 
	*9.4.4输入输出处理机方式267 
	9.5中断系统269 
	9.5.1为什么要设置中断269 
	9.5.2CPU响应中断的条件271 
	9.5.3中断周期272 
	9.5.4优先排队器及编码电路273 
	9.5.5中断处理过程276 
	9.5.6中断级及中断嵌套277 
	9.6DMA控制方式279 
	9.6.1DMA基本概念279 
	9.6.2DMA的工作方式280 
	9.6.3DMA控制器的组成280 
	9.6.4DMA数据传送过程281 
	*9.6.5通用DMA接口Intel 8257282 
	9.7通用并行接口286 
	9.7.1分类286 
	9.7.2基本的并行接口电路287 
	*9.7.3可编程序并行接口288 
	9.8串行通信与通用串行接口293 
	9.8.1串行通信方式294 
	*9.8.2可编程序串行接口294 
	习题300 
	第10章计算机发展展望302 
	10.1计算机发展史上的重大事件302 
	10.2中国计算机事业发展中重大事件306 
	*10.3并行处理技术进展308 
	10.3.1超标量处理机308 
	10.3.2超流水线处理机309 
	10.3.3大规模并行处理系统MPP311 
	*10.4智能计算机进展311 
	10.4.1数据流计算机312 
	10.4.2数据库机与知识库机313 
	10.5分布式计算机系统与机群系统313 
	10.5.1分布式计算机系统313 
	10.5.2计算机支持的协同工作314 
	10.5.3机群系统(Cluster)314 
	10.6计算机网络315 
	10.7多媒体计算机315 
	参考文献316