前言
提起编写微型计算机系统原理及应用(简称微机原理)这本教材,有一个故事与读者分享。从这个故事中,读者也能够深刻思考很多问题。众所周知,目前国内高校给学生讲授微机原理和接口技术课程时,采用的仍然是美国Intel(中文称英特尔)公司20世纪80年代的8086微处理器芯片,自该处理器诞生距今已经40多年了,虽然是x86架构中的经典之作,但是已经远远落后于微处理器技术的发展潮流,国内高校对该课程进行教学改革的呼声日益高涨,但是始终没有找到合适的替代平台。在几年前,作者曾经联系过英特尔中国大学计划的负责人,希望英特尔公司提供相关的教学资源,以便重新编写一本基于英特尔x86架构的微机原理教材,但是由于知识产权等诸多因素,最终未能实现这个愿望。
作者久闻龙芯中科技术股份有限公司(简称龙芯)已经量产了商业化的国产处理器芯片,并且广泛用于国内很多领域。由于国际局势的发展,作者也听说新一届教育部电子信息类专业教学指导委员会希望将国产芯片引入国内本科电子信息类专业课程教学中。因此,作者想进一步评估将龙芯国产处理器芯片引入微机原理课程教学中的可行性,但是一直未能联系到龙芯大学计划的负责人。
很多事情都是在希望即将破灭的时候迎来转机。在2020年10月,经过业界朋友的牵线,有幸结识了龙芯中科技术股份有限公司大学计划负责人叶骐宁经理,作者提出把龙芯处理器引入到微机原理相关课程教学的想法,并且希望龙芯能够推荐一款性能不是太高、结构不是太复杂,并且能够运行像Linux这样复杂操作系统的处理器芯片,经过探讨和谨慎的选择,双方同意将龙芯公司早期的龙芯1B处理器作为微机原理课程的教学平台,虽然这款处理器性能不算优秀,但是“麻雀虽小,五脏俱全”,内部结构不但简单且包含现代处理器的所有要素,而且能够运行像Linux这样的复杂操作系统,用于微机原理相关课程的教学和实训已经足够,这也是本书最终选用龙芯1B处理器作为授课平台的重要原因。对于教学而言,简单的就是最好的,因为能够将计算机系统的原理真正讲清楚。
经过双方后续的沟通和交流,又共同申请和获批了教育部2021年的“产学合作,协同育人”中基于龙芯1B处理器的微机原理课程建设的项目。至此,正式开启了微机原理课程建设的序幕。
经过龙芯技术团队和龙芯第三方软件工具设计团队的共同支持,完成了课程教材的编写和配套案例的设计,以及其他教学资源的开发。应该说,该教材涵盖了一个完整计算机系统应该包含的硬件和软件知识,是产学融合,协同育人的重要成果,将对未来国内微机原理相关课程的教学改革提供新的思路。
本书共11章,以处理器指令架构、中央处理器单元、汇编语言程序设计、C语言程序设计,以及外设驱动和控制为主线,本着由纯硬件、纯软件到软件和硬件融合的思路,由浅入深、由易到难的原则,编排教材内容和组织架构,主要内容包括微型计算机系统导论,数值的表示和运算,存储器的分类和原理,软件开发工具的下载、安装和应用,指令集架构,中央处理单元的架构,协处理器的架构,汇编语言的程序设计和实现,中断与异常的原理和实现,C语言的程序设计和分析,以及异步串口原理和通信的实现。
作者的研究生罗显志前期查阅和整理了MIPS指令集和相关的技术文档资料,这些资料用于本书第5~8章的内容,对他的这些研究工作在此表示感谢。
教材的高质量完成得益于产学深度融合和协作,感谢龙芯中科技术股份有限公司和苏州市天晟软件科技有限公司的大力支持与帮助,使得国内高等学校电子信息类专业的学生能系统地学习计算机的硬件和软件知识,并且所学的内容又能和产业界接轨。
为了更好地帮助大家学习,书中所有设计实例源代码请读者登录华信教育资源网(http://www.hxedu.com.cn)免费注册后再进行下载。书中教师教学所需要的教学资源(教学课件、教学大纲等)和配套硬件开发板的购买事宜请联系本书作者(hb@gpnewtech.com)。
作者
2022年6月于北京