如果问20世纪最伟大的发明是什么?那么计算机无疑是答案之一。在现代社会中,计算机已经作为一个主要的数据计算与信息处理工具被应用到各行各业中,已经作为一个必要的商品进入到千家万户。如果问什么样的计算机最多?那么微机无疑是大多数用户的首选。事实上,个人家庭或者日常办公使用的计算机大多数都是微机(或者习惯于称为电脑)。如果我想再进一步问一个问题: “你知道电脑是如何工作的吗?”可能大多数用户会说不知道。对于一般的用户而言,这的确不是一个问题,因为他们购买一台电脑和购买一台电视机或冰箱没什么两样,只要会简单使用就好了。然而,对于计算机专业的学生来说,可能这样的问题就需要认真思考了。假如你大学毕业后还对普遍使用的微机的工作原理不清楚,那么你不应该算是一个合格的计算机专业的毕业生。不可回避,现在的大学教育越来越“软化”了,许多计算机专业毕业的学生在硬件基础方面十分薄弱,由于缺乏对计算机工作机理的本质认识,已经丧失了计算机专业学生具有的优势。简单地说,计算机编程不是计算机专业学生的“专利”,在如今的信息社会里,其他专业都在扩展计算机的编程技术到它们的专业培养中,一些相关的专业(如信息系统、计算数学等)可能在软件能力的培养上一点也不比计算机专业差。因此,对于计算机专业学生的培养问题需要教育工作者认真去思考。
我们一直在抱怨目前计算机专业学生培养中的“重软轻硬”情况,这种情况一度被认为是“市场需求”导致的。但事实并非如此,现在具有计算机硬件和软件综合能力的毕业生在市场上是“稀有人才”,是很受市场欢迎的。因此,作为计算机教育工作者,可能需要我们重新从自身去寻找问题。我们认为,硬件课程教学的理念和内容上的落后对于加重这种“重软轻硬”现象具有不可推卸的责任。一方面,大多数学校的“微机原理”相关的课程内容陈旧,跟我们目前使用的微机硬件结构相差太远,直接导致学生的学习兴趣的下降。例如,许多学校只讲Intel 8086微处理器。其实,讲解8086的基本原理本身没有错,但是不加扩展、不和现代微机的结构进行对接就可能带来严重的问题。另一方面,普遍迫于课时紧张的压力,硬件课程的课时一再压缩、缺乏系统性。例如,有的学校为了在有限课时内保证内容的先进性,干脆就直接讲解Pentium处理器(没有将8086和80x86作为基础)。这种做法也是值得商榷的。我们在教学实践中,也尝试过类似的办法,其中暴露的主要问题是学生的接受难度增大、知识学习不系统等。这样的两种截然不同的态度应该说都不是理想的解决办法。也许,我们需要转变一下教与学的观念。我们认为,可以尝试去打破几十年惯用的知识灌输型教学方式,研究对应的知识探索性方式,将微机系统的原理和技术放在一个历史发展坐标上去演绎,力求将知识的演变过程重现给学生,力求将微机的进步看做是一系列的技术创新演变的结果。这样,我们就可以精选出关键的微机系统对应的技术点来连贯课程内容,而不去过多地拘泥于技术细节。因此,在有限的课时内,能提高课程的技术含量、知识浓度,也可以激发学生的学习积极性和创造性。当然,这对于教师和教材来说,提出了更多挑战性问题。教师要有一个相对广的知识面,对微机系统的发展有一个较全面的认识;对于计算机这样的应用性很强的学科来讲,教师要能正确地把握技术的发展方向,能提出符合技术发展的问题,在课堂上引导学生思考和解决问题。教材的内容体系要相对完整,符合微机系统的发展过程和趋势;教材应该有利于学生自学,可以用于学生课后扩展知识和提供足够高的参考价值。
基于上面的理念,本书力求追寻微机技术发展的历史,增量式地论述微机发展所依附的主要设计原理与创新技术,选择具有里程碑意义的产品进行详细剖析。从主要内容上看,本书涵盖16位、32位以及多核微机系统的关键技术,内容本身的知识含量和先进性毋庸置疑。从编写的思路上看,本书按照技术发展历程进行相关原理与技术的讲述,追求体系的完整性,力求内容多而不乱,紧密联系最新的微机发展技术,使读者真正了解微机技术的演变过程,掌握具有通用性的设计原理和技术。作为长期从事相关课程教学的一线教师,作者期望该书成为计算机以及相关专业的理想教材。因此,在编制过程中充分考虑了不同学校在学生基础、课程安排以及教师能力上的差异,力求各章节内容相对独立,便于教师根据课时或学生情况进行裁减。我们相信,本书不仅是一本理想的计算机本科生教材,也可以作为研究生教材使用。此外,一些企业或公司的技术人员也会对这样的书籍感兴趣,因为本书提供了可读性很强的原理归纳和浓缩的技术资料,可以用于他们的实际工程实践和知识扩展上。
本书共分5章和4个附录。第1章“绪论”,主要阐述微机系统的发展以及必要的基础性名词与结构解释,并且从读者的角度说明了本书使用中应该注意的问题。第2章“微处理器与相关技术”,以微处理器发展历程为索引,阐述微处理器设计的基本原理与依附的技术,并且选择Intel 8086、80386、Pentium和双核微处理器进行剖析,对通用的设计原理和技术进行详细的讲解。第3章“微机存储系统”,以微机存储系统的需求为索引,阐述多级存储系统对应的技术问题与解决方法,对内存的设计与管理技术进行了详细的阐述,选择Cache、虚拟存储等现代存储技术进行解释。第4章“微机的总线及接口技术”,从总线的应用需求和发展历程出发,剖析微机主板的体系结构及其关键技术,对微机系统常见的外设接口进行必要的解释。第5章“微机的指令系统与寻址方式”,以Intel系列微处理器的指令系统发展为范例,讲述微机指令系统以及寻址方式对应的通用性原理,剖析Intel系列微处理器的指令系统的不断扩展过程和解决问题的方法。后面的附录A~D,是Intel系列微处理器的指令系统对应的技术资料,供读者在工程使用中或者学习中查阅。它们在组织上仍然坚持“增量式”学习思想,从8086、80x86到Pentium处理器逐步展开,摒弃不必要的冗余内容,为读者提供一个浓缩的、具有很高使用价值的技术文档。本书由毛国君进行内容选择和组织设计,毛国君编写第1~3章,方娟编写第4章和第5章,最后由毛国君统稿完成。
特别感谢北京工业大学本科教学督导组成员的教授们,他们在本书的编写过程中给出了许多有价值的建议。感谢北京工业大学进行相关教学的易小琳、朱文军、鲁鹏程等教师,他们在教学中的许多讨论为本书的编写提供了技术素材。感谢北京工业大学参加过相关课程学习的各类学生,他们的许多意见使本书的针对性和可读性得到加强。感谢参加本书最后文字润色的研究生(王欣、徐花芬等),他们的工作提高了本书的内容编排质量。同时第一作者也感谢其他作者及其家人,我们的合作是愉快的,你们家人的支持是保证本书顺利出版的必要前提,相信通过我们出色而卓有成效的工作将为读者提供一本有价值的专业书。
编 者2008年7月