软件模拟计算机原理实验的改革探讨

2016-07-04 06:35:02于复兴于敬华
河北能源职业技术学院学报 2016年2期

于复兴,于敬华

(1.华北理工大学,河北 唐山 063009;2.河北能源职业技术学院,河北 唐山 063004)

软件模拟计算机原理实验的改革探讨

于复兴1,于敬华2

(1.华北理工大学,河北 唐山063009;2.河北能源职业技术学院,河北 唐山063004)

摘要:本文分析了计算机原理实验课程的设置现状,教学效果 ,结合我校作为普通二本院校实际特点,提出将过去的简单验证性试验改为软件模拟试验平台开发,减少学校硬件投入成本,提高学生对实验原理的深入理解以及学生的编程能力。

关键词:软件模拟;计算机原理;实验改革

一、引言

计算机原理是计算机专业的一门专业基础课程,也是计算机专业考研统考课程,该课程内容多,难度大,抽象,所以学生理解和掌握都比较困难。为了让学生更好地理解和掌握这门课程中的理论知识,一直以来这门课都配有相应的实验教学或课程设计教学,目的是让学生更好的理解并掌握抽象的理论知识,提高动手能力。

二、我校实验教学的设置现状

目前我校在计算机原理实验教学中使用的是清华TEC系列实验箱+实验单元板固定结构的实验平台。该实验平台是将计算机的各个组成部分使用单元板的形式做好,学生只需按要求连线、拨动相应输入或控制开关来完成实验,实验箱主要负责实验的输入输出。这种固定结构的实验平台可帮助学生理解计算机主要部件的工作原理,提高学生动手能力。但是在实际的使用过程中暴漏出一系列问题:学生拿到该实验的指导书后,一般都是先看实验任务和实验步骤,看完以后就急着去操作设备,然后填写实验报告,这些做完以后就感觉实验课的任务完成了。整个实验按照实验指导书操作不用思考即可完成。对于做这个实验的目的是什么,这个实验运用了哪些知识点?这些知识点的联系是什么?实验的操作步骤为什么是这样的?每一步操作步骤的具体含义是什么?多数学生都没有很好地去思考,没有真正完成实验任务。结果就是学生忙于书写格式复杂的实验报告应付学校的检查,浪费大量时间。

同时TEC实验系统还有以下缺陷:(1)升级费用高;(2)故障率高且维护困难;(3)无法进行微指令级的调试;(4)学生无法在课后自行进行实验;(5)功能不易扩充。并且实验内容都是验证性的,扩展性不强,学生的设计难以突破实验箱的限制。

三、实验教学改革

针对以上问题我们提出用软件模拟计算机原理实验的教学改革,该方法把TEC实验平台的实验用软件来模拟实现。根据计算机软硬件逻辑功能等效性原理,使用软件模拟硬件,完全可行。使用软件模拟,可以用很低的成本实现相同的硬件功能,并且软件本身没有故障,尤其可以根据学生的需要增加各种功能。从软件模拟的种种优势可以看到,软件模拟技术在教学中具有很高的实用价值。

实验教学改革要求学生参与实验平台的仿真建设,先开发软件平台,然后在自己的平台进行实验操作,做“设备”和使用设备层次是不一样的,此项目不仅加强学生对实验内容、原理的理解,还提高了学生的编程能力。因为学生必须对TEC系列机的基本结构了如指掌,如字长,机器指令,寻址方式等,才能动手开发,而开发此软件又用到了大量程序设计,面向对象知识,提高学生编程能力。

项目主要框架:

(1)设计运算器模块

(2)学生自己设计简单指令系统;

(3)学生自己设计简单模型机;

(4)输入指令,数据,显示指令执行动态过程;

(5)可视化输出检验结果验证。

考虑到学生水平的不一致,对系统设计提出三个层次要求即:初级完成(1)、(4)、(5)模块;中级完成(1)、(2)、(4)、(5)模块;高级完成(1)、(2)、(3)、(4)、(5)模块,学生可以根据自身情况选择完成。

四、具体实施内容

1. 设置软件平台的基本参数:字长16位,采用6位操作码,最多支持64条指令。寻址方式有寄存器寻址、寄存器间接、立即数、变址、相对和堆栈寻址。设置16位通用寄存器R0-R15。

2.设置运算器结构:设计实现8种运算,具体运算内容见表1,每一位的实际输入为两个输入端R和S。选择ALU的八种运算。可通过三位功能选择码I5、 I4、 I3实现。如表1所示。选择送入ALU的两个操作数据 R和S的组合关系。表上已标明,R从D和A中选择,S从A、B和Q中选择,并用I2、 I1、 I0三位操作数选择码控制二组多路选通门选取其一, 具体规定如表1所示。选择运算结果去处, 主要指通用寄存器组和Q寄存器实现, 以及总线信息Y的内容。这是通过 I8 、I7、 I6三位结果选择码来控制三组相应的选择门电路实现的, 具体规定如表1所示。

脱机运算器实验设置:用实验平台上的两个12位的微型开关SW2和SW1来向运算器提供全部的控制信号, 包括I8-I0, SST, A口地址、B口地址、SCi, SSH共24位。其具体安排如图1所示。数据通过D15-D0这16位开关输入。运算器指令要置程序状态寄存器中的位寄存器CVZN的值,平台界面上同过“灯”的颜色来区分。

图1 运算器开关图

I8-6I5-3I2-0000F→QFR+SAQ001无FS-RAB010F→BAR-S0Q011F→BFR∨S0B100F/2→BQ/2→QFR∧S0A101F/2→BFR∧SDA1102F→B2Q→QFRSDA1112F→BFRSDS寄存器结果选择Y输出选择运算功能选择RS

3.定义软件模型机指令格式 :最高6位是操作码,中间的两位,即9、8两位是条件码,只能把他用作条件转移指令的判断条件。这两位的值为00、01、10和11时,分别选择以处理机状态字中的C、Z、V和S的值作为判断条件。最低的8位有多种用法:

(1)用于给出输入输出指令端口地址。例如,已规定第一个串行口地址为40h和41h,第二个串行口地址为42h和43h。并行口、DMA口等都可以被分配几个合理的地址,以实现输入输出接口的各种实验。

(2)用于给出相对寻址的位移量,其范围是从-128到+127之间,因此相对地址应在当前指令地址向前向后总共256个字的范围之内。

(3)这8位被分为两个4位的字段,用于给出所用的通用寄存器编号。对双操作数指令,这里给出目的与源两个操作数所在的寄存器编号。对单操作数指令,只用源或目的中的一个操作数,此时,可能用到某一个4位字段,另一个4位字段不用。

图2 指令格式图

4.设计指令执行过程:执行一条指令,要经过取指令、分析指令、执行指令三个阶段,控制器要保证能按程序中设定的指令运行次序,自动地连续执行指令序列。为此,必须有一个能提供指令在内存中的地址的部件,即程序计数器(PC),每次指令的地址都从这里取出,并接收下条要执行的指令的地址;还要有一个能保存读来的指令内容的部件,通称指令寄存器(IR),以提供本指令执行的整个过程中要用到的指令本身的主要信息;控制器的第三个组成成分,是脉冲源、启停控制逻辑,实现时用固定时间间隔模拟脉冲源,它标记出每条指令的各执行步骤的相对次序关系;控制器的第四个组成部分是全部时序控制信号的产生部件,它依据指令内容、指令的执行步骤(时刻),以及其它条件信号,来形成并提供出当前各部件本时刻要用到的控制信号。计算机在这些信号控制下协同运行,产生预期的执行结果,也就是执行一条又一条的指令。

5.设计微指令:把指令执行时的基本未操作信号定义好,封装在控制存储器中(通过模拟实现),包括PC→AR、PC+1→PC、MEM→AR、MEM→Q、 MEM+Q→Q……当指令执行时能自动对指令进行分析,分解成不同的微操作,形成用一段微指令解释一条机器指令。此环节要求学生对指令的执行特别熟悉,才能用软件模拟出效果。

五、实施效果

实践证明:经过对我校11级计算机应用专业实施,此项实验教学改革对学生掌握计算机原理课程内容,提高编程能力大有裨益。本项目结合学校实际,从学生角度出发,改变以前按实验讲义照搬不思考的学习状态,施加压力,充分调动学生的学习兴趣,项目按照难度区分为三个层次,满足不同水平学生的设计要求,此过程的实施比起按照实验步骤操作印象深刻了许多。软件要想运行,必须要有清晰的实验原理知识和熟练的编程技巧,缺一不可,所以用软件模拟硬件实验既可以理解实验原理又可以提高编程能力。

本模拟机用软件方法模拟硬件系统,成功地实现了TEC实验平台功能,使得在该模拟机上做实验和在实验室里做实验效果完全一致,可以作为TEC实验课的辅助软件供学生在课后使用。学生既参与了软件平台的开发,提高了对实验原理的理解,又可以课后完成扩展性实验,没有硬件成本。可谓一举多得。

六、结论

传统的实验教学,教师通常会按照实验目的,实验内容,实验结果的顺序进行讲解然后演示,学生按照实验步骤的要求完成实验,然后记录实验数据,达不到实验目的,更谈不上创造性内容。

结合我校作为普通二本院校实际特点:硬件设施投入少,更新周期长,计算机专业学生毕业后几乎全部在软件领域就职,把以前的简单验证性试验改为软件模拟实验平台开发,减少学校硬件投入成本,提高学生对实验原理的深入理解,并且提高学生的编程能力,效果显著。

参考文献:

[1]马汉达,赵慧.计算机组成原理实验教学改革.计 算 机 教 育.2010年9月10日.第 17期.

[2]厉豪强. 宁波大红鹰学院.浅谈“计算机组成原理实验”教学质量的改进. 学术探讨

[3]胡敏,钱兴贤.计算机组成接口与通信实验指导

The Reform of Computer Principle Experiment Based on Software Simulation

YU Fu-Xing1,YU Jing-Hua2

(1. North China University of Science and Technology, Tangshan 063009, China;2. Hebei Energy Institute of Vocation and Technology, Tangshan 063004, China)

Abstract:This essay analyzes the current curriculum and teaching effects of the computer principle course, based on the basic features of the ordinary universities, like the author's school. Meanwhile, this essay puts forward the reform of hardware proven experiments into the development of software simulation test platform, so that we can reduce the hardware investment cost, as well as improve students' understandings of the experiment principles and their programming abilities.

Key words:software simulation; computer principle; experimental reform

收稿日期:2016-03-21

基金项目:华北理工大学教改项目:计算机原理综合性实验平台(Q1477-03)。

作者简介:于复兴(1979- ),男,硕士,华北理工大学信息工程学院讲师,研究方向:计算机辅助教学效果研究、计算机程序设计。

中图分类号:TP311.52

文献标识码:A

文章编号:1671-3974(2016)02-0078-03