前 言

        本教材第一版自2002年出版以来,得到了广大师生的热情肯定,有不少高校的教师和学生来电、来信与我们交流,申请电子课件。随着近几年微机系统的不断发展,新的技术层出不穷,新的微处理器架构不断涌现。另外,也有不少读者给我们来信或电话,希望能更多地介绍32位微机的相关知识,以便使本教材更贴近微机系统的现实。基于上述原因,以及当前微机新发展的需要,本教材编写组经过广泛调研,决定编写本教材的第二版。
        本版依然遵循第一版“立足于系统,面相应用;内容新;实用性强;适用面广”的编写原则。内容上在保留经典接口技术的基础上,做了较大的更新。首先本版以IA-32系列中的Pentium, Pentium 4以及酷睿®处理器为主,介绍了诸如动态执行技术、超线程技术,多核技术等当前微处理器所使用的新技术。其次,在微机结构方面,通过对Intel G965芯片组的介绍,引入现代微机的基本结构和主要接口技术。全书不仅引入了众多新的知识,同时也加强了IA-32微机在保护模式下的中断、内存管理等方面知识的介绍。与第一版相比,本版更加强化了硬件结构与系统软件之间的配合,除了保留Windows 2000/XP驱动程序编写方法外,还特别增加了与系统软件编写有关的任务切换、处理器模式转换、处理器初始化等内容,使得本教材不仅适用于偏硬专业的学生,也适合于偏软专业的学生,让他们更加深刻的领会系统软件与硬件结构之间的必然联系。
       与第一版相比,本版主要在以下方面做了调整。
       1)删除了部分内容。删除的内容有些是已经过时的,有些是由于篇幅所限制的原因。如8088,80268,80386与80486微处理器、虚拟设备驱动程序VxD编写、8251A、AC’97、ISA总线、PCMCIA总线等内容均在本版中被删除。
       2)增加了一些新的章节和新的技术。如引入了对Pentium 4以及酷睿®结构、PCI-Express总线、SATA总线、32位保护模式下存储访问、IA-32e模式、Intel G965芯片组、IA-32 BIOS的介绍、IA-32微处理器的管理与初始化以及任务管理等新的内容,并增加了IA-32处理器结构原理、80x86汇编语言程序设计、现代微机的存储系统三个新的章节。
       3)适当调整和增加了一些新的例题,使得本书例题更加丰富,便于读者更好的领会教材的内容。
       4)全书结构进行了调整,除了增加的三章外,将第一版中的第4、6章合并到新的第8章中,将原来的第7、8、9章合并到新的第9章中。但我们依然保持原有内容的完整性,并尽量保留了第一版中的有关例题。
       5)修正了第一版中的部分错误。尽管第一版在第三次印刷的时候已经修正了部分错误,但在实际使用过程中,还是发现一些叙述不太严密的地方,这次借再版的机会重新做了一次修正。
       6)统一了全书的信号表示方法。在本版中低电平有效的信号均采用信号名后加#的表示方法,如CS#, FRAME#等。
       7)为本书提供一个配套网站。作者在自己的网站(杨全胜网站)中为本教材特别开辟了一个专区,提供了一个大家互相交流的平台和本课程的一些扩展的资料。这些资料包括作者编写的《Windows驱动开发》(上、下和XP版)课件、《IA-32指令简表》以及为了方便大家使用这本教材而精心制作的配套电子课件等众多内容。读者可以通过该网站了解本教材以及微型机发展的最新资料,下载最新电子课件(通常我们每年会对本教材的电子课件进行一些必要更新)。
       本书内容丰富,实际教学中,可以根据教学目的和学时数选择有关章节讲解。对于学过“计算机组成原理”的读者,可以省去有关微机系统组成与性能指标、微机运算基础、微机工作原理、总线的概念、中断的概念等概念方面的内容。对于已经上过汇编语言的读者,可以省去第3章的内容。由于篇幅问题,所以本教材第3章的内容被高度浓缩,如果读者需要学习汇编语言方面的知识,可以参考光盘上第3章的电子课件,那里将提供更为详细的例题。以讲授硬件接口为主的专业,可以省去第10章的内容,第2章与第4章也可以做适当的删减。对于以教授PC机接口软件技术为主的课程,可以加讲汇编语言部分,并可在讲完中断后,先讲述第10章的内容,同时可以去掉8237和8255芯片的讲授内容,并可适当减少总线一章的内容。根据不同的专业,授课时间可以在48学时到72学时之间,建议汇编语言实验与接口实验均不得少于12学时。对于计算机专业的本科生,需要先修“数字逻辑电路”、“计算机组成原理”和“C语言程序设计”,最好能够先修“80x86汇编语言”;电类非计算机专业的本科生至少要先修“计算机硬件基础”,如果先修过“计算机组成原理”、“8088汇编语言”和“C语言程序设计”则更好;否则,至少需要用12~20学时左右的时间讲授第3章。
       参加本书编写的有多年在“微机原理”、“接口技术”、“微型机系统与接口技术”等课程教学和实验教学第一线的有经验的教师,也有多年从事微机体系结构研究的教师。本教材由杨全胜、胡友彬、王晓蔚、霍亮和吴强老师编写,杨全胜还负责全书统稿。
       本书在编写过程中得到了东南大学计算机科学与工程学院博导邢汉承教授的大力支持,并在百忙中主审了全书,提出了宝贵的意见。另外,东南大学计算机科学与工程学院副院长翟玉庆教授,成松林老师、系统结构教研室的朱怡健、王健、任国林、徐造林等老师对本书的编写都提出了宝贵意见。东南大学计算机科学与工程学院的袁昊、沈海嘉、曹硕,汤萍萍、邱栋、谢川和王远方同学参与了部分图表的绘制,在此表示诚挚的谢意。
       由于微机发展迅速,再加上作者水平有限,难免会有不足之处,殷切希望得到广大同仁和读者的批评指正。您可以通过Email和我们联系,地址是 yangqs@seu.edu.cn,您也可以通过作者的网站和我们联系。

编 者
2007年5月于东南大学

第一版 前 言

        随着微机价格的逐年下降,微机迅速在各个领域得到广泛应用,因而掌握微机系统知识及接口技术就显得尤为重要。同时,微处理器、微机接口,以及微机操作平台方面,新的技术也在不断涌现,因此无论是工程技术人员还是大专院校学生,都应该对微机新技术有所了解。
        在微机接口技术及微机原理的教学当中,我们还感觉到,学生不仅应该掌握原理,更要学会应用,一定要做到理论与实际相结合。另外,接口技术的学习不仅仅是硬件上的设计与分析,还应该包括接口软件的编写。随着微机操作系统平台由DOS向Windows的转变,掌握新的操作系统平台的接口软件编写也是微机接口设计者应该具备的能力。
        目前,我国微机原理与接口技术方面的教材已经不少,它们对于人才的培养发挥了积极的作用。但近几年来,由于微机系统的迅速发展,大部分教材的内容已不能满足人才培养的需要。也就是说,用原有的教材培养出来的毕业生已不能适应用人单位的需求。鉴于此,不少同仁在教材内容的改革方面进行了不少尝试:有的在原有教材的基础上添加一些新的知识介绍,但这类教材总体上大部分知识仍较陈旧,新知识与老知识之间缺乏连贯性;有的是全新编写,这类教材知识很新,但由于完全抛弃了原来此类教材的写作结构,而且过多地涉及处理器内部而削弱了接口方面的介绍,所以影响了教师对此类教材的选用。我们认为,微机原理与接口技术的课程教材,既要内容更新,也要注意重点还是应放在接口设计与应用上。为此,根据我们多年的教学实践,在教材内容的改革上也进行了大胆的尝试,编写了本书。本书具有以下一些特点。
       (1)立足于系统,面向应用。本书首先从系统的角度,介绍了微机的基本结构和发展的特点,以及现代微机中占重要地位的总线的概念,让读者一开始就对微机系统有个全面的了解,之后的各个章节描述微机各种接口的具体内容。
       (2)内容新。全书以现代微机的主流CPU(Pentium II/III CPU)和主流芯片组(Intel 815EP)为切入点,较全面地介绍了现代微机的原理与接口技术。其中包含了PCI总线,USB总线,IEEE1394,Pentium的中断,APIC,AC’97等新的技术。同时,对传统接口的新发展也进行了讨论,比如从现代微机的Super I/O(SIO)多功能芯片出发,讨论了传统的串行口、并行口和键盘接口的新发展,这包括对异步通信适配器PC16750、增强型并行端口EPP和增强功能端口ECP等的介绍。
       (3)实用性强。本书和其他同类教材的最大不同点在于接口软件的介绍上,我们将接口软件的编写从传统的实模式下的MS-DOS平台上升到保护模式下的Windows 9x/2000的平台上,对于当前微机的主流应用领域具有很强的针对性和实用性。
       (4)适用面广。全书给出了不少应用的例子和各种接口的电气和物理特性,甚至还给出了一些主要扩展卡的尺寸,不仅可以作为大专院校学生的教材,对工程技术人员也很有参考价值。
        (5)本书在信号线的描述上充分考虑到与国际芯片厂商的信号线命名方法一致,对于Pentium级微机系统以前的各信号和传统芯片引脚信号,我们采用信号线上加横线的办法表示低电平有效,如 等;对于Pentium级以上的微机系统中的各信号,以及新型总线等的信号线,采用信号名后加#的办法表示低电平有效,如SMI#等。
        本书内容丰富,实际教学中,可以根据教学目的和学时数选择有关章节讲解。对于学过“计算机组成原理”的读者,可以省去有关微处理器、总线的概念、中断的概念等概念方面的内容。对于以教授PC机接口软件技术为主的课程,可以加讲汇编语言部分,并可在讲完中断后,先讲述第10章的内容,同时可以去掉8251和8255芯片的讲授内容,并可适当减少总线一章的内容。根据不同的专业,授课时间可以在48学时到64学时之间。对于计算机专业的本科生,需要先修“数字逻辑电路”、“计算机组成原理”、“8088汇编语言”和“C语言程序设计”;电类非计算机专业的本科生至少要先修“计算机硬件基础”,如果先修过“计算机组成原理”、“8088汇编语言”和“C语言程序设计”则更好;否则,至少需要用12~20学时左右的时间讲授附录A部分。
        参加本书编写的有多年在“微机原理”、“接口技术”等课程教学和实验教学第一线的有经验的教师,也有多年从事微机体系结构研究的教师。全书由杨全胜组织编写,负责全书内容的修改和最终定稿,并编写了部分章节。参加本书各章节编写的还有胡友彬、王晓蔚、霍亮、吴强和陶东辉。
        本书在编写过程中得到了东南大学计算机科学与工程系樊开文教授的大力支持,并在百忙中主审了全书,提出了宝贵的意见。另外,东南大学计算机科学与工程系主任董逸生教授,系统结构教研室的朱怡健副教授、王健副教授及任国林老师、徐造林老师,解放军理工大学气象学院气象电子信息工程系刘承光主任对本书的编写都提出了宝贵意见,在此表示诚挚的谢意。
        由于微机发展迅速,再加上作者水平有限,难免会有不足之处,殷切希望得到广大同仁和读者的批评指正。

编 者