本书以32位处理器、32位汇编语言和32位个人微机系统为起点,从应用角度讲述了IA-32处理器的发展和微机的组成、处理器编程结构、常用指令及其汇编语言程序设计(32位Windows控制台环境和16位DOS环境)、存储系统、微机总线、输入输出接口及其应用技术,还特别介绍了高速缓冲存储器、指令流水线、多媒体指令、超标量、动态执行、多核等先进技术。
本书特点
●更新教学内容,体现32位主体。本书以32位教学内容为起点,硬件上以IA-32处理器和32位PC机为主体介绍工作原理,软件上以32位指令系统展开论述Windows控制台环境的汇编语言编程。
●强调工作原理,淡化技术细节。本书逻辑结构清晰,突出实践环节,强调基本概念和工作原理,而不过多表述实现细节。
●化解汇编难点,突出应用价值。本书从一开始就引出汇编语言的软件开发环境,将上机实践贯穿始终,方便读者通过汇编语言程序更好地理解硬件工作原理。
面向普通学生,降低入门要求。本书在编写过程中充分考虑到普通高等院校学生的实际知识水平,对重点和难点使用浅显生动的语言,循序渐进、深入浅出地进行详尽讲解。
●开办教学网站,提供辅助资源。为了更好地服务于广大师生和读者,作者开辟了“大学微机技术系列课程教学辅助网站”(http://www2.zzu.edu.cn/qwfw),提供电子课件、教学大纲、教材勘误、疑难解答、输入输出子程序库、示例源程序文件等辅助资源。
无
本书编写完成后,掩卷而思,禁不住回忆其出版历程。
20世纪80年代和90年代,国内“微机原理及应用”(或“微机原理及接口技术”)课程的教学内容以8位Z80微处理器和TP801单板机为主体。我们总结多年16位微机原理教学经验,整理教案,编写了以16位Intel 8086/8088微处理器和IBM PC系列机为主体的教材《微型计算机原理及接口技术》,并于1999年初出版。2001年,加入汇编语言和32位微处理器内容的《16/32位微机原理、汇编语言及接口技术》教材出版;2005年,对其进行修订形成第2版。随着微型计算机技术的飞速发展,迫切需要将教学内容再次提升至以32位为主体。以《32位微机原理、汇编语言及接口技术》为暂定书名,我们申报了普通高等教育“十一五”国家级规划教材,并获得批准。按照国家规划教材书目,本版教材定名为《微机原理与接口技术》。但作为我们编写的微机原理教材来说,这已经是第4个版本了。另外,为了体现以32位为主体的教学内容,我们使用了“基于IA32处理器和32位汇编语言”的副书名。
本书以IA32处理器和32位PC机为主体介绍32位微机原理、32位汇编语言和接口应用技术。全书共分10章。
第1章“微型计算机系统概述”。本章通过微处理器的发展尤其是Intel 80x86系列处理器的发展引出各种基本概念,从冯·诺伊曼计算机结构引出微型计算机硬件组成,以16位和32位PC机为例全面理解微机层次结构,通过熟悉Windows控制台环境了解微机软件系统。
第2章“处理器结构”。本章以8位CPU、16位8086、32位80386和Pentium为例展开讲述处理器功能结构,重点学习IA32处理器通用指令执行环境中的通用整数寄存器、存储器组织和数据寻址方式,并熟悉汇编语言的语句格式、程序框架和开发方法。
第3章“数据处理”。本章以数据在计算机中的表示介绍数制、数值编码和字符编码,以数据在汇编语言中的表达熟悉常量定义、变量应用以及常用伪指令,以数据在处理器中的处理展开论述IA32处理器数据传送和算术逻辑运算等基本指令,并通过示例程序掌握指令功能和编程应用。
第4章“汇编语言程序设计”。本章以程序结构为主线,先介绍基本的控制转移指令,然后引出分支程序结构、循环程序结构和子程序结构,同时结合数码转换、字符串处理、键盘输入和显示输出等大量示例程序,掌握汇编语言程序设计方法。最后,介绍汇编语言在编写32位Windows程序以及与C++混合编程方面的应用。
第5章“微机总线”。本章展开微机总线结构,介绍总线类型、数据传输、信号时序等总线基本技术,以16位8086和32位Pentium为例学习处理器引脚信号和操作时序,以16位ISA、32位PCI和USB总线为例学习系统总线和外设总线。
第6章“存储系统”。本章以存储层次结构中的主存储器、高速缓冲存储器为主体,学习各种半导体存储器的类型、特点、地址译码,介绍Cache的工作原理和组成结构。最后,说明IA32处理器支持操作系统进行存储管理的分段和分页机制。
第7章“输入输出接口”。本章在熟悉I/O接口的特点、编址和指令的基础上,结合I/O接口电路展开论述微机与外设进行无条件传送、查询传送、中断传送和DMA传送的原理,并详细介绍处理器的中断机制和编程方法。本章还引出了使用汇编语言编写16位DOS应用程序的方法。
第8章“常用接口技术”。本章综合已学知识,以应用为目的,熟悉定时控制、并行接口、串行通信和模拟系统的基本原理,掌握扬声器控制、打印机连接、键盘输入、数码管显示、异步串行通信和模拟系统的常用接口技术。
第9章“处理器性能提高技术”。本章以IA32处理器为例介绍高性能处理器运用的各种先进技术,涉及精简指令集计算机思想、指令流水线技术、浮点数据的编码格式及处理指令、多媒体指令及其特点。
第10章“并行处理技术”。本章展开论述利用并行性进一步提高处理器性能的各种处理技术,重点说明了IA32和Intel 64处理器所运用的超标量技术、动态执行技术、多线程技术、多核技术的含义和特点。
本书遵循我国“计算机科学与技术本科专业规范”等指导性文件,结合广大师生的反馈和我们的教学实践,删除了陈旧内容,精练了许多知识,实现了以32位为主体的教学思想,同时也在编排体例等多方面进行了改进。与同类教材相比,本书具有以下特色。
1更新教学内容,体现32位主体
本书不是将32位内容作为16位内容的补充,安排在各个章节最后或全书最后;而是直接以32位教学内容为起点,硬件上以IA32处理器和32位PC机为主体介绍工作原理,软件上以32位指令系统展开讲述Windows控制台环境的汇编语言编程。教材内容不仅摒弃了陈旧的8位和16位技术,而且还引出最新的32位和64位技术。例如,汇编语言的32位Windows编程、与Visual C++的混合编程,存储系统的Cache、存储管理,指令集结构的精简指令集计算机思想、浮点指令和多媒体指令,以及系统结构的指令流水线、超标量、动态执行、多线程、多核等技术。
2强调工作原理,淡化技术细节
微型计算机技术的突出特点是教学内容虽不深奥但较琐碎,既有共性的工作原理又有具体应用的技术方法。本书在编著过程中,强调基本概念和工作原理,不过多表述实现细节。例如,本教材以IA32处理器为例融合8位、16位和32位微机工作原理,而不是仅引出某个处理器的所有技术;选择32位基本指令进行重点学习而不是所有指令泛泛而谈;抓住处理器和总线的关键信号,没有详细展开所有引脚功能;重点说明存储器地址译码原理,不分析存储器芯片的连接细节;从应用角度解释系统结构特点,不以设计者观点论述技术实现。
3化解汇编难点,突出应用价值
汇编语言编程是本课程的一个难点,因为其指令繁多、规则凌乱,又涉及底层硬件原理。传统的教学顺序是:先数据编码、后指令系统、接着伪指令、最后展开程序设计,即在积累了大量指令和规则后才引出程序,往往又没有输入输出交互,编出的程序不知对错。本教材从第1章就引出汇编语言的软件开发环境。第2章介绍汇编语言的语句格式、源程序框架和开发方法,并利用简单易用的输入输出子程序编写具有显示结果的程序。第3章结合数据编码、常量定义和变量应用,自然地引出常用伪指令;然后通过阅读源程序、掌握常用处理器指令,逐渐编写特定要求的程序片段。第4章以程序结构为主线,从简单到复杂逐步编写具有实用价值的应用程序,最后展开讲述Windows编程和混合编程。后续章节结合I/O接口技术,介绍I/O指令和I/O程序、中断服务程序以及扬声器控制、键盘扫描码读取、异步串行通信程序,将上机实践贯穿始终,通过汇编语言程序更好地理解硬件工作原理。
4面向普通学生,降低入门要求
本书充分考虑到普通院校本、专科学生以及自学人员的实际知识水平,以清晰的逻辑结构由浅入深展开教学内容;尽量使用浅显生动的语言,不惜笔墨详尽讲解重点和难点知识。本书只要求读者具有计算机(文化)基础和高级语言的入门知识,掌握微机操作,不要求读者熟悉数字电路、计算机组成原理等先修内容。例如,本教材介绍了基本逻辑运算、门电路、锁存器、三态缓冲器和译码器等涉及硬件的知识,还补充有Windows控制台(及模拟MSDOS)环境的操作、MASM 615命令行开发方法等软件方面的内容。再如,本教材详细介绍了开发软件包的构成,精选了大量示例程序,并提供了作者编写的键盘输入和显示输出I/O子程序库,读者完全可以依据教材所述自主完成各个程序。另外,课程虽然涉及硬件接口,但本教材设计有在PC机上实现的实践环节,所以可以不用配置硬件实验平台而开设本课程(当然,如果能够结合硬件实验平台,效果会更加理想)。还有,每章最后都有总结,帮助读者领悟重点知识,并配合大量习题巩固所学。
5开办教学网站,提供辅助资源
本书努力从结构组织、内容编排和上机实践等多方面避免同类教材的不足,努力做到结构新颖、内容充实、知识先进,让广大读者有所收获,掌握一些实实在在的东西。为了更好地服务于广大师生和读者,编者开辟了“大学微机技术系列课程教学辅助网站”(http://www2zzueducn/qwfw)。该网站面向“微机原理及接口技术”和“汇编语言程序设计”课程,提供相关教学课件(电子教案)、教学大纲、教材勘误、疑难解答、输入输出子程序库、示例源程序文件等辅助资源,是本教材的动态延伸,欢迎大家访问。有关教材的疏漏和不当以及对相关教学问题的探讨,敬请广大师生和读者通过电子邮件(qianxiaojie@zzueducn)与编者交流。你们的支持是提高教材质量、催生新版教材的最大动力,也是对编者的最大鼓励。
钱晓捷主持本版教材的编写工作,并编写了第1、3、4、7~10章和附录,王义琴编写了第5章,范喆编写了第6章,张行进编写了第2章,马耀锋参与了前3章部分章节的编写。全书最后由钱晓捷统稿、配置编程开发环境、编写输入输出子程序库和验证示例程序。本书的编写还得到了陈涛、穆玲玲、关国利、张青、姚俊婷等人的帮助,衷心感谢他们,同时也感谢机械工业出版社华章分社的大力支持。
编者
2007年10月
钱晓捷:暂无
目录
前言
第1章微型计算机系统概述
11微型计算机的发展
111通用微处理器
112专用微处理器
113摩尔定律
12Intel 80x86系列处理器
12116位80x86处理器
122IA32处理器
123Intel 64处理器
13微型计算机的系统组成
131冯·诺伊曼计算机结构
132微型计算机的硬件系统
133PC微机结构
134计算机系统的层次结构
135微型计算机的软件系统
第1章总结
第1章习题
第2章处理器结构
21处理器的功能结构
211处理器的基本结构
2128086的功能结构
21380386的功能结构
214Pentium的功能结构
22寄存器
221通用寄存器
222标志寄存器
223专用寄存器
23存储器组织
231存储模型
232工作方式
233逻辑地址
24汇编语言基础
241指令代码格式
242语句格式
243源程序框架
244开发过程
25数据寻址方式
251立即数寻址方式
252寄存器寻址方式
253存储器寻址方式
254各种数据寻址方式总结
第2章总结
第2章习题
第3章数据处理
31数据表示
311数制
312数值的编码
313字符的编码
32常量表达
33变量应用
331变量定义
332变量属性
34数据传送类指令
341通用数据传送指令
342堆栈操作指令
343其他传送指令
35算术运算类指令
351加法指令
352减法指令
353乘除法等指令
36位操作类指令
361逻辑运算指令
362移位指令
37串操作类指令
371串传送指令
372串检测指令
38IA32指令系统
第3章总结
第3章习题
第4章汇编语言程序设计
41分支程序结构
411无条件转移指令
412条件转移指令
413单分支程序结构
414双分支程序结构
42循环程序结构
421循环指令
422计数控制循环
423条件控制循环
43子程序结构
431子程序指令
432子程序设计
433参数传递
434程序模块
44Windows应用程序编程
441操作系统函数调用
442控制台应用程序
443图形窗口应用程序
45与C++语言混合编程
451嵌入汇编
452模块连接
第4章总结
第4章习题
第5章微机总线
51总线技术
511总线类型
512总线的数据传输
513总线信号和总线时序
528086的引脚信号
521地址/数据信号
522读写控制信号
523其他控制信号
538086的总线时序
531写总线周期
532读总线周期
54Pentium处理器的引脚和时序
541引脚定义
542总线周期
55微机系统总线
551PC机总线的发展
552ISA总线
553PCI总线
554USB总线
第5章总结
第5章习题
第6章存储系统
61存储系统的层次结构
611技术指标
612层次结构
613局部性原理
62主存储器
621读写存储器
622只读存储器
623存储器地址译码
624主存空间分配
63高速缓冲存储器
631工作原理
632地址映射
633替换算法
634写入策略
63580486的L1 Cache
636Pentium的L1 Cache
64存储管理
641段式存储管理
642页式存储管理
第6章总结
第6章习题
第7章输入输出接口
71I/O接口概述
711I/O接口的典型结构
712I/O端口的编址
713输入输出指令
71416位DOS应用程序
72无条件传送和查询传送
721无条件传送
722查询传送
73中断控制系统
731中断传送
732IA32中断系统
733内部中断服务程序
734中断控制器
735外部中断服务程序
736驻留中断服务程序
74DMA传送
741DMA传送过程
742DMA控制器
第7章总结
第7章习题
第8章常用接口技术
81定时控制接口
8118253/8254定时器
812定时器的应用
82并行接口
821并行接口电路8255
822并行接口的应用
823键盘及其接口
824数码管及其接口
83异步串行通信接口
831异步串行通信格式
832异步串行接口标准
833异步串行通信程序
84模拟接口
841模拟输入输出系统
842D/A转换器
843A/D转换器
第8章总结
第8章习题
第9章处理器性能提高技术
91精简指令集计算机技术
911复杂指令集和精简指令集
912RISC技术的主要特点
92指令流水线技术
921指令流水线概述
92280486的指令流水线
93浮点数据处理单元
931实数编码
932浮点寄存器
933浮点指令及其编程
94多媒体指令
941MMX技术
942SSE技术
943SSE2技术
944SSE3技术
第9章总结
第9章习题
第10章并行处理技术
101超标量技术
1011并行性概念
1012Pentium的超标量指令
流水线
1013Pentium的动态分支预测
102动态执行技术
1021指令级并行
1022P6微结构
103同时多线程技术
1031Pentium 4的NetBurst
微结构
1032Pentium 4的超线程技术
104Intel 64技术
104164位方式的运行环境
104264位方式的指令
105多核技术
1051并行计算机结构分类
1052Intel Core微结构
1053Intel多核技术
第10章总结
第10章习题
附录输入输出子程序库
参考文献