本教材将计算机有关硬件知识囊括在一门课程、一本教材中进行介绍,包括传统上“数字逻辑”、“计算机组成原理”、“汇编语言”、“微机原理及接口技术”等多门课程、多本教材的核心、基本知识。教材选择通用、流行的Intel 80x86系列处理器(以32位为起点)和32位个人微机为主要背景机,更加实用。
本教材特别适合非电类专业学生,或者没有数字逻辑或数字电路的有关专业学生(例如以软件开发技术,或者软件工程专业的软件学院),或者希望通过一门课程学习所有硬件知识的教学,或者进行硬件技术入门的技术人员、软件应用开发人员,或者高职高专计算机有关专业。
本书以IA-32处理器和32位个人计算机系统为实例,从软件开发、计算机系统应用的角度,论述了计算机硬件技术,包括IA-32处理器的发展和微机组成、数据表示、数字逻辑基础、处理器结构和指令系统、总线系统、存储系统、输入输出接口,还特别介绍了精简指令集计算机、高速缓冲存储器、存储管理、指令流水线、多媒体指令、超标量、动态执行、多线程、多核等提高处理器性能的先进技术。
综合计算机硬件技术核心内容。本书综合了目前计算机专业所有硬件技术课程的核心内容,各章结构以“计算机组成”为主体,结合“微机原理”实例,使学生通过实例理解原理。
面向软件开发和系统应用取舍内容。本书从应用角度解释系统结构特点,不以设计者观点论述技术实现。
以IA-32处理器和个人计算机为实例。本书以具有典型意义的Intel 32位处理器和桌面个人计算机为实例,使得学生在理解计算机工作原理的同时,熟悉广泛使用的计算机系统。
开辟教学网站,提供教辅资源。为了更好地服务于广大师生和读者,作者开辟了“大学微机技术系列课程教学辅助网站”(http://www2.zzu.edu.cn/qwfw),提供教学课件(电子教案)、例题源程序文件、配套汇编语言开发软件包等辅助资源。
计算机系统由硬件和软件组成,硬件是软件的物理基础,掌握计算机硬件技术,对软件开发和计算机系统应用具有重大支持作用。
在我国高等学校“计算机科学与技术本科专业规范”中,硬件技术属于“计算机体系结构和组织”知识领域。在目前我国高校计算机专业的本科教学计划中,硬件技术系列课程有:数字逻辑、计算机组成原理、汇编语言程序设计、微机原理及接口技术、计算机系统结构等。但是,对于以软件开发为主的软件工程方向和以系统应用为主的信息技术(网络工程)方向来说,既没有如此多的学时,也没有必要这样进行硬件技术教学。所以,“计算机科学与技术本科专业规范”对软件工程和信息技术方向推荐的教学计划中只有一门硬件技术核心课程,可以称之为“计算机组织与结构”,希望通过本课程让学生全面了解计算机硬件系统,熟悉计算机工作原理。非计算机本科专业,尤其是电子、机电等与计算机应用相关的专业也有类似的要求,一般将该课程称之为“计算机硬件技术基础”。专科、高职的计算机及相关专业也属于同样情况,往往开设一门“计算机组成原理”课程。
为此,遵循我国“计算机科学与技术本科专业规范”等指导性文件,参考非计算机专业本科“计算机硬件技术基础”教学要求,考虑计算机等专科专业的教学情况,结合实际教学,我们编写了本书。与同类教材相比,本书具有以下特点。
1综合计算机硬件技术核心内容
本书综合了目前计算机专业所有硬件技术课程的核心内容。各章结构以 “计算机组成”为主体,结合“微机原理”实例,包括系统组成、数据表示、指令系统、总线、存储系统、输入输出接口等教学内容,使学生通过实例理解原理。
本书的第3章是数字逻辑基础,用来弥补未单独开设“数字逻辑”课程的问题,为读者理解基本电路提供方便,使其适合软件工程、非电类等专业学生和普通软件开发人员。
“计算机系统结构”核心内容在本书的最后一章“处理器性能提高技术”中体现,其中包括性能评测、指令流水线、向量处理机等内容,还跟踪了计算机技术的最新发展,特别介绍了超标量、动态执行、多媒体指令、多线程、多核等先进技术。
2面向软件开发和系统应用取舍内容
本书不同于国内现有的“计算机组成原理”或“计算机组织与结构”教材,因为这些教材从计算机设计的角度展开,深入到电路实现技术,要求学生具有较强的数字逻辑知识。本书则从应用的角度解释系统结构特点,不以设计者观点论述技术实现。
例如,本书舍弃了运算方法和运算器电路、微程序控制器和硬布线控制器,只是简单介绍运算原理和微程序、硬布线技术的特点。另一方面,通过举例说明C语言的整数、字符、浮点数类型,有助于读者更好地理解数据表示、数据存储,也使得学生深刻体会硬件对软件的支持。使用高级语言程序实例的教学内容还有存储器地址、局部性原理等。
本书的许多教学内容都以应用为例,不仅仅是为了理解工作原理。例如,对于实数的浮点数编码,直接使用国际标准格式;对于精简指令集计算机,简单介绍MIPS处理器;超长指令字技术引出安腾处理器。
3以IA32处理器和个人计算机为实例
有别于宽泛的举例,本书以具有典型意义的IA32处理器和桌面个人计算机为实例,使得学生在理解计算机工作原理的同时,熟悉广泛使用的计算机系统。例如,寄存器结构、指令编码、寻址方式、常用指令等都以IA32处理器举例,由此自然引出汇编语言。
本书不同于目前国内的“计算机硬件技术基础”教材,因为它们实际上与“微机原理及接口技术”教材内容几乎完全相同,其中汇编语言和接口技术内容过深,但缺少计算机组成和结构方面的内容。为此,本书强调基本概念和工作原理,淡化技术实现细节。例如,重点学习32位基本指令而不是所有指令泛泛而谈;抓住处理器和总线的关键信号,而不详细展开所有引脚功能;重点说明存储器地址译码原理,而不分析存储器芯片的连接细节。
总之,本书从全新的视角,融合计算机组成原理、通用处理器实例和个人计算机应用,全面而系统地介绍了计算机硬件技术基础知识。全书共分9章。
第1章“计算机系统概述”。本章通过计算机的发展尤其是Intel 80x86系列处理器的发展引出各种基本概念,从冯·诺伊曼计算机结构引出计算机硬件组成,以个人计算机为例理解计算机层次结构和基本工作原理。
第2章“数据表示”。本章介绍计算机内部如何表达整数、字符、实数,即定点整数编码、字符ASCII码和浮点实数编码,并通过C语言基本数据类型的程序理解编码及其存储。
第3章“数字逻辑基础”。本章展开计算机的硬件实现技术,通过对数字电路和逻辑代数的认识说明常用门电路的原理和功能,通过编码器、译码器、触发器、寄存器等常用器件说明数字电路的设计、分析过程,最后通过可编程逻辑器件引出硬件描述语言和电子设计自动化。
第4章“处理器”。本章首先介绍处理器内部的控制器和运算器的基本组成,然后介绍8位处理器、16位8086、32位80386和Pentium的功能结构,接着展开IA32处理器寄存器、工作方式和存储模型用以体会处理器编程结构。
第5章“指令系统”。本章以IA32处理器指令系统为例,学习指令编码、各种寻址方式、常用指令功能,自然引出并熟悉汇编语言的语句格式、程序框架和开发方法,最后说明精简指令集技术的特点。
第6章“总线系统”。本章论述总线结构,介绍总线类型、数据传输、信号时序等总线基本技术,以16位8086和32位Pentium为例学习处理器引脚信号和操作时序,以16位ISA、32位PCI和USB总线为例学习系统总线和外设总线。
第7章“存储系统”。本章以存储层次结构中的主存储器、高速缓冲存储器为主体,学习各种半导体存储器的类型、特点、地址译码,介绍高速缓冲存储器的工作原理和组成结构。最后,说明IA32处理器支持操作系统进行存储管理的分段和分页机制。
第8章“输入输出接口”。本章在熟悉I/O接口的特点、编址和指令的基础上,结合I/O接口电路论述微机与外设进行无条件传送、查询传送、中断传送和DMA传送的原理,并简单介绍常用的定时控制接口、并行接口、异步串行通信接口和模拟接口。
第9章“处理器性能提高技术”。本章以并行处理技术为逻辑主线、以IA32处理器为例介绍高性能处理器所运用的各种先进技术,包括指令级并行的指令流水线、超标量、动态执行,数据级并行的向量处理机和多媒体指令,线程级并行的多线程和多核技术。
本书在编写过程中,充分考虑到普通院校本、专科学生以及自学人员的实际知识水平,以清晰的逻辑结构循序渐进地展开教学内容;尽量使用浅显生动的语言,不惜笔墨详尽讲解重点和难点知识;每章最后都进行总结,帮助读者领悟重点知识,并通过大量习题巩固所学。本书不要求读者熟悉数字逻辑等内容,只要具有计算机(文化)基础和高级语言的入门知识,就可以学习本书内容。
作为普通本科生课程的教材,全面讲授本书各章内容需要68~72学时;如果只讲授各章主要内容,也可以安排51~54学时。此外,还可以配合第2章等安排C/C++语言编程、第5章等安排汇编语言编程的实践环节。各章授课学时数可参考下表。对于专科生课程的教学,可以根据学生的实际水平和接受能力,适当降低要求或者增加辅导学时。而对于程度较高的学生,主讲教师也可以考虑采用精讲形式,减少课堂教学时数。
章号 全面讲授本书各章内容建议 讲授各章主要内容建议
学时(总学时68) 学时(总学时51)
1 6 6
2 10 8
3 10 8
4 6 4
5 8 6
6 4 4
7 10 7
8 8 6
9 6 2
为了更好地服务于广大师生和读者,编者开辟了“大学微机技术系列课程教学辅助网站”(http://www2zzueducn/qwfw)。该网站是本书的动态延伸,提供本书的教学课件(电子教案)、例题源程序文件、配套汇编语言开发软件包等辅助资源,欢迎大家访问。有关教材的疏漏和不当以及对相关教学问题的探讨,广大师生和读者可以通过电子邮件(qianxiaojie@zzueducn)或者教辅网站的论坛与编者交流。
本书由钱晓捷主编,其中杨镇江编写了第3章初稿,马琦参与了第2章的编写工作,其余各章均由钱晓捷编写。本书的编写还得到了石磊、卢红星、李正民、关国利、程楠、张青等人的支持,衷心感谢他们,同时也感谢机械工业出版社华章分社一直以来的大力支持。
编者
2009年10月
计算机\硬件
本书以IA-32处理器和32位个人计算机系统为实例,从软件开发、计算机系统应用的角度,展开论述了计算机硬件技术,包括IA-32处理器的发展和微机组成、数据表示、数字逻辑基础、处理器结构和指令系统、微机总线、存储系统、输入输出接口,还特别介绍了精简指令集计算机、高速缓冲存储器、存储管理、指令流水线、多媒体指令、超标量、动态执行、超线程、多核等提高处理器性能的先进技术。
本书特点
综合计算机硬件技术核心内容。本书综合了目前计算机专业所有硬件技术课程的核心内容。各章结构以“计算机组成”为主体,结合“微机原理”实例,使学生通过实例理解原理。
面向软件开发和系统应用取舍内容。本书从应用角度解释系统结构特点,不以设计者观点论述技术实现。
以IA-32处理器和个人计算机为实例。本书以具有典型意义的Intel 32位处理器和桌面个人计算机为实例,使得学生在理解计算机工作原理的同时,熟悉广泛使用的计算机系统。
开辟教学网站,提供教辅资源。为了更好地服务于广大师生和读者,作者开辟了“大学微机技术系列课程教学辅助网站”(http://www2.zzu.edu.cn/qwfw),提供教学课件(电子教案)、例题源程序文件、配套汇编语言开发软件包等辅助资源。
前言
第1章计算机系统概述
11计算机的发展
111计算机的发展概况
112微型计算机的发展
12Intel 80x86系列处理器
12116位80x86处理器
122IA232处理器
123Intel 64处理器
13计算机系统组成
131冯·诺伊曼计算机结构
132微型计算机的硬件系统
133PC微机结构
134计算机系统的层次结构
135计算机的软件系统
第1章总结
第1章习题
第2章数据表示
21数制
211二进制和十六进制
212数制之间的转换
22整数编码
221定点整数格式
222有符号整数编码
23字符编码
231BCD
232ASCII
233Unicode
24实数编码
241浮点数据格式
242浮点数的舍入控制
25校验编码
251奇偶校验码
252海明码
253循环冗余码
第2章总结
第2章习题
第3章数字逻辑基础
31逻辑代数
311逻辑关系
312逻辑代数的运算规则
313逻辑函数的形式、转换及化简
32逻辑门电路
321门电路实现
322集成电路
323三态门
33组合逻辑电路
331编码器
332译码器
333加法器
34时序逻辑电路
341触发器
342寄存器
343计数器
35可编程逻辑器件
351PLD器件
352电子设计自动化
第3章总结
第3章习题
第4章处理器
41处理器组成
411控制器
412运算器
42处理器结构
421处理器的基本结构
4228086的功能结构
42380386的功能结构
424Pentium的功能结构
43寄存器
431通用寄存器
432标志寄存器
433专用寄存器
44存储器组织
441存储模型
442工作方式
443逻辑地址
第4章总结
第4章习题
第5章指令系统
51指令格式
511指令编码
512IA32指令格式
52寻址方式
521数据寻址
522指令寻址
523堆栈及堆栈寻址
53通用指令及其功能
531数据传送类指令
532算术运算类指令
533位操作类指令
534控制转移类指令
54汇编语言基础
541语句格式
542源程序框架
543开发过程
55精简指令集计算机技术
551复杂指令集和精简指令集
552RISC技术的主要特点
553MIPS处理器
第5章总结
第5章习题
第6章总线系统
61总线技术
611总线类型
612总线的数据传输
613总线信号和总线时序
628086的引脚信号
621地址/数据信号
622读写控制信号
623其他控制信号
638086的总线时序
631写总线周期
632读总线周期
64Pentium处理器的引脚和时序
641引脚定义
642总线周期
65微机系统总线
651PC机总线的发展
652ISA总线
653PCI总线
654USB总线
第6章总结
第6章习题
第7章存储系统
71存储系统的层次结构
711技术指标
712层次结构
713局部性原理
72主存储器
721读写存储器
722只读存储器
723存储器地址译码
724主存空间分配
73高速缓冲存储器
731工作原理
732地址映射
733替换算法
734写入策略
73580486的L1 Cache
736Pentium的L1 Cache
74存储管理
741段式存储管理
742页式存储管理
第7章总结
第7章习题
第8章输入输出接口
81I/O接口概述
811I/O接口的典型结构
812I/O端口的编址
813输入输出指令
82外设数据传送方式
821无条件传送
822查询传送
823中断传送
824中断控制系统
825DMA传送
83常用输入输出接口
831定时控制接口
832并行接口
833异步串行通信接口
834模拟接口
第8章总结
第8章习题
第9章处理器性能提高技术
91并行处理技术
911并行性概念
912并行计算机结构分类
913计算机性能评测
92指令级并行
921指令流水线技术
922超标量技术
923动态执行技术
924超长指令字技术
93数据级并行
931向量处理机
932多媒体指令
94线程级并行
941同时多线程技术
942单芯片多处理器技术
第9章总结
第9章习题
参考文献