基于32位结构的微机原理教学方案

2009-08-31 07:45钱晓捷
计算机教育 2009年13期
关键词:接口技术微机原理

摘要:本文结合教学实践介绍了一个基于32位结构“微机原理”课程的教学方案,选择IA-32处理器、32位汇编语言作为课程的主体教学内容,也说明了进行接口硬件实验的实验系统特点,以及基于32位教学内容的取舍原则。

关键词:微机原理;教学方案;32位

中图分类号:G642文献标识码:B

“微机原理”是我国高等院校电子、自控、机电、计算机等电类专业的基础课。该课程包括本科、专科层次,有多种名称,但主体内容则是微型计算机基本工作原理、汇编语言及接口技术三大部分,并配置汇编语言软件上机和接口技术硬件实验的实践环节。从上世纪80年代开始,我国高等院校陆续以16位结构实施“微机原理”教学,主体内容是16位8086/8088处理器、DOS平台的16位汇编语言和16位IBM PC系列机接口技术。

随着微型计算机技术的飞速发展,越来越多的“微机原理”课程融入了32位教学内容,甚至直接以32位结构为主体。但是,如何基于32位结构、展开这三部分教学内容,以及如何将这三部分内容衔接贯穿整个课程却是一个需要解决好的问题。本文结合作者主编的教材和具体的教学实践,给出一个可行的教学方案。

1基于IA-32处理器

“微机原理”课程是围绕典型处理器(即中央处理单元CPU、微处理器)为核心展开其教学内容的。基于32位结构的“微机原理”课程中,选择什么处理器也就至关重要。通用微型计算机上使用过80386、80486、奔腾(Pentium)系列处理器,现在是酷睿(Core)系列处理器,似乎哪一种都不完全适合课程要求。事实上,我们没有必要考虑具体采用哪一种处理器,英特尔公司已经给出了名称,即英特尔32位结构(32-bit Intel Architecture)的处理器,简称IA-32处理器。

IA-32处理器是32位80x86结构处理器的总称。在侧重基本工作原理的“微机原理”课程中,我们应该更多地讲授32位结构处理器的共性内容,而不是某个具体处理器的个性特征。所以,基于32位结构的微机原理教学方案中,“IA-32处理器”是一个很自然的选择,也揭示了我们课程的重点:是共性的原理,不是技术细节。

教学内容中,我们可以介绍各代IA-32处理器,以便让学生了解处理器技术发展情况,也完全有必要给学生引出最新进展。但是,处理器的寄存器结构、存储器组织、引脚信号等都是基于IA-32处理器共性内容。尤其是处理器引脚信号,各代各款IA-32处理器都不相同,所以我们重点讲授数据总线、地址总线和基本读写控制总线的作用,给出有代表性的处理器(例如8086、Pentium)引脚,没有必要详细展开某个处理器所有的引脚信号。

2基于32位汇编语言

确立了32位结构的处理器,也就确立了32位的指令系统。在“汇编语言”部分的教学中,我们可以自然地讲解IA-32处理器的32位通用寄存器、常用32位指令及编程。然而,我们面临了一个操作系统平台的选择问题。

通用微型计算机主要采用32位Windows操作系统,但汇编程序(例如MASM等)却不能很好地支持Windows应用程序开发。另一方面,汇编程序没有标准函数(子程序)等资源,必须调用操作系统功能才能实现键盘输入和显示器输出。而Windows系统功能的调用是按照C/C++高级语言语法定义的,汇编语言很难调用,尤其对初学者来说是不可能掌握的。

好在Windows操作系统利用IA-32处理器的虚拟8086方式提供了模拟MS-DOS的环境(即COMMAND.COM程序),使得我们的实践环节可以仍然基于DOS平台、采用简单的DOS功能调用。虽然这只是一个16位平台,但是却可以实践32位通用指令编程,也可以与后续接口技术部分内容相互衔接。所以这种折中方式是一种可行的教学方案,尤其对于水平较低的普通本科、或者专科层次的学生来说是较好的选择。在作者主编的清华版《微型计算机原理及应用》教材、以及我们的成人教育学生就采用这个教学方案。

当然,能够在IA-32处理器保护方式实践32位汇编语言就更加理想。目前,我们可以采用32位Windows控制台(即CMD.EXE程序),它的使用与MS-DOS一样,但却是一个真正的32位操作系统平台。为了避免一开始就让学生熟悉难于掌握的Windows系统函数调用,我们可以事先编写一个实现基本键盘输入和显示器输出的子程序库。国内外不少32位汇编语言教材都采用了这个思路。更进一步,我们可以利用子程序库打造一个平台无关的、统一的、简单的调用方法,让学生避开繁琐的功能调用而轻松入门。这样也同时解决了接口技术部分又需要学习DOS系统调用的问题。在作者主编的机工版《微机原理与接口技术——基于IA-32处理器和32位汇编语言》教材、以及我们的统招本科学生就采用这个教学方案。

鉴于目前国内外汇编语言的教学现状,我们认为有必要建立一套系统I/O的统一调用规则,它的作用相当于高级语言的标准函数。这也是我们提出并实践着的“汇编语言多元化教学方案”中一个关键思路。

3基于32位PC机的接口实验

尽管微型计算机的软硬件平台都进入了32位环境,但是微机接口技术部分的教学内容并没有改变。一方面,这是因为基本的接口技术并没有改变。并行接口、定时接口、模拟接口等内容仍然基于传统的8位结构,在16位结构的“微机原理”课程中也是如此。另一方面,32位Windows操作系统限制应用程序进行直接的外设I/O操作,也使得这部分教学内容难有改变。

那么,在32位微机软硬件平台如何实践微机接口的硬件实验呢?目前,这个问题也有了比较满意的教学方案,例如清华大学的TPC通用微机接口实验系统、西安唐都的TD-PIT实验及开发系统等。我们学院的“微机原理及接口技术”课程配置清华大学的TPC-USB通用微机接口实验系统。该系统可以进行存储器读写、中断、8255、8253、ADC和DAC等验证性实验和综合实验,也支持开展课程设计。TPC-USB系统的硬件主体是一个实验台,它以USB接口形式连接主机。该系统同时提供一个基于Windows操作系统的集成开发软件,并模拟一个MS-DOS环境(不是Windows本身的DOS环境)进行硬件接口实验。我们开发的I/O子程序也可以在该系统中使用,很好地解决了32位Windows控制台和16位MS-DOS环境汇编语言的一致性问题。

4基于32位结构的教学内容取舍

基于32位结构的“微机原理”课程要在原16位结构教学内容的基础上进行适当取舍,删除过时的陈旧技术,保留核心的基本原理,增添最新的先进知识。

不管是早期基于8位Z80和TPC801单板机,或现在基于16位8086和IBM PC系列机,还是基于32位IA-32处理器和32位PC机,“微机原理”课程的教学目标没有根本改变,其反映基本工作原理的核心内容也应该继承。例如,微型计算机组成、寻址方式、常用指令、汇编语言程序设计、处理器引脚和时序、总线技术、存储器芯片、外设数据传送方式、常用接口芯片等都是必不可少的知识单元。虽然在具体的平台结构上,细节的教学内容会有所不同。

基于32位结构的“微机原理”课程,在教学内容的编排上应该直接以32位教学内容为起点,不宜将32位内容作为16位内容的补充,安排在各章最后或课程最后。硬件上,要以IA-32处理器和32位PC机为主体介绍微型机工作原理;软件上,要以32位指令系统展开汇编语言编程。这样,教学内容可以很自然地摒弃陈旧的8位和16位技术,也便于引出最新的32位、甚至64位技术。例如,汇编语言的32位Windows编程、与Visual C++的混合编程,高速缓冲存储器和存储管理,精简指令集计算机思想、浮点处理和多媒体指令,以及指令流水线、多线程、多核等技术。

在强调基本工作原理的基础上,需要在教学过程中淡化不必要的技术细节。例如,重点讲解存储器地址译码原理,不展开存储器芯片的连接细节。再如,抓住基本读写控制信号和基本读写总线周期,不详细介绍所有引脚功能和时序。特别需要关注的是汇编语言编程,指令繁多、规则凌乱是这部分内容的突出问题。我们只选择所有指令系统都具有的、核心的处理器指令,只引出所有汇编程序都支持的、基本的伪指令。我们通过程序片段(或对比高级语言)掌握常用数据处理指令,结合简单的程序框架、并通过程序结构学习控制转移指令和编程方法。这样,重点突出、课时减少,还能够满足实践环节的应用需求。

总之,基于32位结构进行“微机原理”课程的教学改革是必然的趋势。教学改革过程中也必然会遇到各种各样的问题。本文作者结合教学实践介绍了一个可行的教学方案,欢迎大家阅读我们的教材、也可以访问我们的教学网站(http://www2.zzu.edu.cn/qwfw),批评指正、探讨交流。

参考文献:

[1] 钱晓捷. 微机原理与接口技术——基于IA-32处理器和32位汇编语言[M].4版. 北京:机械工业出版社,2008.

[2] 钱晓捷. 微型计算机原理及应用[M]. 北京:清华大学出版社,2006.

[3] 穆玲玲,钱晓捷. 32位汇编语言程序设计[M]. 北京:电子工业出版社,2007.

[4] Kip R. Irvine. Intel汇编语言程序设计[M]. 4版. 温玉杰,等译.北京:电子工业出版社,2004.

[5] 钱晓捷. 汇编语言多元化教学方案初探[C]// 河南省计算机学会.计算机研究新进展(河南省计算机学会2008年学术年会论文集). 北京:电子工业出版社, 2008: 282-285.

[6] 唐祎玲,毛月东. 32位微机原理与接口技术实验教程[M]. 西安:西安电子科技大学出版社,2003.

[7] 马旭东. 32位环境下微机原理与接口实验教学改革探讨[J]. 电气电子教学学报,2006,28(4):5-9.

[8] 钱晓捷. 重新认识汇编语言[J]. 中国大学教学,2004(7):47-49.

猜你喜欢
接口技术微机原理
基于MOOC+SPOC+翻转课堂的“微机原理与接口技术”混合教学模式研究
以核心素养为导向的微机原理及应用教学探索
脑机接口技术可帮助人类克服残疾
荷塘区民办学校首试“微机派位”
浅析狭义相对论的建立及其原理
浅析狭义相对论的建立及其原理
基于高压制备液相的多维色谱技术在中药分离纯化中的应用
接口技术在机电一体化系统中的应用
检讨书
两个原理的区别及其应用