admin 管理员组

文章数量: 887021


2024年2月26日发(作者:反函数与原函数图像的关系)

2O11年6月 郧阳师范高等专科学校学报 Journal of Yunyang Teachers College 第3l卷第3期 Jun.2O¨ V0I.3l NO.3 基于J ava Applet虚拟实验平台的设计与实现 曹大有 (郧阳师范高等专科学校 计算机科学系,湖北 丹江口442700) [摘 要]微机接口实验在高职计算机专业教学中对帮助学生理解计算机基本概念是非常重要.但传统的 配置有各种跳线的主机板实验环境使得学生在课堂的有限时间内很难达到预期目标.利用Java Applet设计 了基于Web方式的微机接口实验软件虚拟平台,实验平台有限地抽象了CPU、总线和相关接口芯片部件及 其运算过程,使学生能通过开放的网络环境中访问服务器而进行实验. [关键词]仿真;虚拟部件;微机接口;;r-编解释器 [doi]10.3969/j.issn.1008——6072.2011.03.026 [中圈分类号] FP311 [文献标识码]A [文章编号]1008--6072(2011)o3—0o9o—O3 l 引言 实验都以虚拟实验的方式得到了发展,在节约实 验设备、提供更直观形象观察环境等方面都取得 了很大的进步.同样通过计算机虚拟和仿真技术 来再现微型计算机运行原理和过程,并以web的 微型计算机技术发展迅速,在高职计算机专 业教育中,微机接口是一门重要的课程,它能帮助 学生理解计算机的基本构成和运行原理.然而微 机接口实验对学生来说一直比较困难.传统实验 室中一套实验设备包含实验主机板、接插件和一 台能编写、编译汇编程序并上载程序到主机板以 便运行的个人计算机,该环境要求学生能同时兼 顾4个方面细节[1]: ①看懂主机板构成,既分清CPU、总线、接 口芯片、外围设备; ②理解配套的计算机的作用、连接方式、交叉 编译环境等; 方式呈现出来,使实验环境不再受传统实验设备 数量和管理的限制,可以让学生有更自由的方式 在更灵活的时间管理下进行实验. 本文在结合仿真原理实现接口部件、芯片、总 线的虚拟的同时,也提出了整合汇编解释仿真器 而实现了基于web的Java Applet[2 实现,提供 了更方便的实验环境. 2 实验平台架构分析与设计 虽然微型计算机在架构和速度等方面发展迅 速,但其基本原理仍然没有大的改变,实验以 8086处理器机为蓝本,对CPU、总线和外围接口 ③懂得如何连接跳线来把外围接口芯片连接 到总线上和把必须的外部设备连接到接口芯片上; ④根据待做实验要求的功能,设计、编写、调 试和运行汇编程序来驱动接口芯片工作. 以上4个部分都非常重要,任何一环操作不 慎将导致无法完成实验.同时,受实验设备资源有 限和实验时间的限制,学生不能通过反复训练来 获得实验的最后成功.近年来通过使用计算机仿 真和虚拟技术,越来越多的科学和教学等方面的 等都进行了一系列的仿真设计,对计算机的各芯 片和外围必要设备如示波器等进行了建模;并在 虚拟实验平台中实现了一个能处理汇编语言的编 写和运行的部件,以便完成实验中所需要针对接 口而进行的汇编代码编写和调试的工作。设计采 用Java Applet来进行程序的编写,以便学生更方 便地在任何地方访问服务器进行实验,系统架构 [收稿日期]z011一O3一O9 [基金项目]湖北省教育科学“十一五”规划2009年度专项资助重点课题《网络环境下知识教学模式和学生在线学习模式 的研究》(2009A091) [作者简介]曹犬有(1964一)。男,湖北郧县人,郧阳师范高等专科学校计算机科学系副教授,硕士,主要从事软件工程、 数据库系统、计算机教育研究. ’。Y___。Y__ S。・_-‘Z‘-’・ X。・_—B—9 0 

曹大有:基于Java Applet虚拟实验平台的设计与实现 如图1所示. 圈1 虚拟平台系统架构图 系统由3层组成,分别为仿真层,通信层和操 作层.在仿真层中,大量的部件如CPU、总线、内 存、常用的接口芯片、以及一些基本的外围元件设 备和虚拟仪器都必须独立进行建模和仿真,从而 构建一个虚拟设备、虚拟芯片、虚拟元器件库.通 信层是虚拟实验平台的基础部分,该部分承担实 验平台在实验的各个阶段中不同对象之间的通信 和协作.简单来说该层有管理部件,管理操作和管 理部件通信等方面的能力. 2.1虚拟实验平台的各运行时设计 虚拟实验平台根据实验步骤的要求被设计成 4个阶段:硬件操作时、代码编辑时、系统初时和 系统运行时4个部分.硬件操作时在可视化界面 之上进行实验部件的选取,实验部件的位置布置、 实验部件的连接等.代码编辑时是在连接好虚拟 接口部件以后在界面上进行汇编代码的编写过程 状态,此状态下对具体的接口芯片和要实现的功 能进行代码设计.系统初使时对接口电路进行加 电操作.系统运行时是“加电”并调入了汇编程序 以后的过程,这时能通过虚拟仪器进行物理现象 的观察,如加接虚拟示波器,虚拟CRT和其它外 围虚拟部件来观察波形、显示文本输出、显示 LED灯光、播放声音等实验现象. 2.2虚拟部件设计 “虚拟部件”被独立设计成组件,这样可以方 便实验者自由选取、组合并完成一个新的实验.虚 拟部件在外观和内部逻辑两个方面都是独立的. 外观上的独立表示组件在虚拟平台上能显示自 己,并根据不同的运行时操作状态更新自己的外 观.本设计原型采用Java Swing组件实现,所有 可视虚拟部件均继承自java.Swing.JPanel类, 该类提供了自我显示机制和处理鼠标键盘事件的 能力和自定义事件的能力.如当实验平台处在硬 件操作时,为了准确定位部件的接线柱和引脚,部 件能处理鼠标移动到部件上时的事件,如高亮虚 拟部件引脚以方便用户的连线操作. 和外观显示及更新机制紧密相关的是虚拟部 件的内部逻辑设计,既仿真电子元件或电子模块 中的电原理抽象与设计.我们采用功能强大Java 语言来进行设计,容易自定义各种算法,完成各种 功能.需要指出的是,由于采用及时运算策略,未 使用预编译方式,芯片人口引脚信号被内部逻辑 运算后传给出口引脚,所以有时有延时较大的问 题.即微机接口中大量使用的集成数字模块的电 路逻辑虚拟采用事件触发(方法调用)的方式来依 次实现电信号的传输,故在速度上无法和现实中 电信号的光速传播特性. 图2 Ic中的与门电路及逻辑运算设计 图2示例一个数字集成模块中的一个与非门 的逻辑运算,当b引脚进入一个高电平时将会判 断a引脚的状态然后决定e的状态.下面是一个 与运算算法的例子,算法ANDLogie的3个参数 表示了运算的是哪一个具体的门单元、引脚是哪 一个、电平值至是多少.同时最后可调用fire()函 数来触发输出电平传递到接下来的与本元件连接 的运算单元的具体引脚. voidANDLogic(int unit,int inputPin,int value)( if(getUnit(unit).getAnotherPin(input— Pin).value==value)and value=PWL.HIGH—IMPEDANCE then getUnit(unit).getOutPinO.value=value; else getUnit(unit).getOutPin0.value—Convert (value); fire(getUnit(unit).getOutPinO,getUnit (x).getOutPin().value); ) 2.3虚拟部件之间的电信号传输 同上节芯片内部运算单元电平传递相同原 理,芯片问可通过总线对象进行电平的传输或通 过临时连线对象进行电信号的传输,表1是地址 总线A0上注册了所有的虚拟部件和具体引脚, 这样当有信号进行传输的时候,就可决定哪些芯 片会有事件触发而开始进行运算.同样,对于用户 临时连线,也有对应的表可以把连接到一条线上 的所有虚拟部件和引脚进行注册,引脚的注册在 YYS——ZXB 9 l 

曹大有:基于Java Applet虚拟实验平台的设计与实现 硬件操作过程中根据鼠标事件和虚拟部件感知自 定义事件完成. 表l 地址总线A0上注册的虚拟部件索引号、 引脚号、引脚类型 方式,把实验平台编译后的字节码文件和应用程 序中需要的图片等资源打包成一个文件,提高了 下载和装载速度. 运行速度是实验平台需要考虑的另外一个问 题,在仿真过程有大量的运算存在,信号在部件之 间的传输也需要大量新的线程和之间大量方法调 用.虚拟部件间和内部信号传递需要生成用众多 新的线程来处理逻辑运算和进行传递,加上操作 系统线程总存在多任务处理优先级原因,所以在 当地址总线发生发送一电平改变事件时(例 如事件fire(Bus.A0,PWL.HIGH)发生了,此时 地址总线A0为受动者),将有总线算法BUS. AO.fire()发生(此时AO为施动者)并依次调用 fire(IC.getlC(4).getPin(2),PWL.HIGH),fire 运行该实验中启动了其它应用程序,这使得CPU 短时间过忙,导致了标准方波的畸变.为同步显示 运行过程和状态,虚拟实验平台上汇编解释器的 代码的运行速度被设计成可调的和允许单步运行 的方式.需要指出的是在运行实验时过程中如果 (IC.getlC(6).getPin(1),PWL.HIGH)…以此 实验机器CPU变忙也会出现上述现象,这样可 能混淆学生的理解. 4结束语 来达到传送电平的目的.这样事实上一个信号传 递到一个新对象时就需要生成一个新的线程来处 理收到信号并继续向下传递和进行运算,这里采 用新线程的目的是防止一对多传输时每路信号有 平等的被调用的机会 防止方法被阻塞. 2.4汇编程序仿真解释器设计 我们实现了可嵌人Web页面的微型计算机 接口虚拟实验平台,使用开放的互联网环境代替 了受地点和时间限制的传统实验室环境,使学生 预习和体会实验变得更加容易,实验硬设备投资 和实验室管理成本大幅下降,也使实验过程和现 采用直接设计8086汇编语言解释器代替 CPU和指令系统.可把汇编代码进行解释后的寄 存器值和PSW等值直接显示给用户,在总线对 象上的信号也可由汇编解释器发出或反馈回汇编 象变得更加形象和直观,有助于学生理解.同时, 通过对实验平台的使用来看,该实验平台会受到 计算机线程非独占特性的影响,容易导致波形畸 变而误导学生.由于要完全实现对微型计算机的 解释器,包括中断信号和中断应答信号等.设计的 汇编解释器还包括基本的词法分析、语法分析,出 错处理等,各个模块协调工作,并在解释的结构下 通过虚拟的系统总线和虚拟部件进行通信,使用 的仍然是本文2.2和2.3节中虚拟部件之间的传 输方法.为方便学生观察实验现象,汇编虚拟部件 仿真和模拟还需要大得多的投入,所以我们应该 结合传统硬环境的微机接口实验室,帮助学生预 习和熟悉实验,提高实验的成功率. 实现了单步运行功能和调速运行功能. [参考文献] 3 实际运行 客户端机器上安装JRE插件.影响实验的一个问 题是实验在JRE上的装载速度,可以通过打包的 [ 妻三I三友・微型计算机接口技术[M]・北京:清华大学出版社, 在实验平台中我们采用IE浏览器.但需要在 [3]曹大有,京 蓑 釜 藏芝玉.技术‘卷 基础知识 M1 【编校:胡军福】 J 语言程序设计[M].北京:北京邮电大学 出版社,2009. On the Design and Realization of Lab Form Based on j ava Applet CAO Da—you (Department of Computer Science,Yunyang Teacherg College,Da ̄iangkou 442700,China) Abstract:Microcomputer Interfacing Experiment is very important in Computer Specialty teaching of higher voca— tional colleges tO help students grasp the basic concepts of computers,while traditional mainboard with all kinds of j ump— ers cafft enable students tO reach the prescribed targets in the limited time.Lab form of microcomputer interfacing experi— ment software based on Web and Java Applet,having abstracted CPU,bus and relevant interfacing chips and their opera tions,can make students perform the experiment through visiting server via open network. Key words:simulation;dummy;microcomputer interfacing;assembly interpreter ——YYSZXB O 9 厶 


本文标签: 实验 虚拟 部件 平台 进行