APP下载

硬件实验虚拟实验平台的建设

2020-04-10曹宇轩孔金祥陈正阳王星博

现代信息科技 2020年1期

曹宇轩 李 波 孔金祥 陈正阳 王星博

摘  要:随着计算机模拟现实能力增强,有越来越多事物可以在计算机上操作实现,而许多学科的实验器材损坏的速度都很快,学校进行维护和更换的开销都很巨大,所以文章就有了利用计算机模拟实验器材的逻辑,让学生在虚拟实验平台完成自己学科所需的实验要求的构想,该文章分为两个模块完成,即硬件模拟的实现和用户操作界面。文章首先阐述了研究目的,再阐明了设计思路与模块细节,还有国内外研究的现状和发展动态

关键词:模拟硬件;操作界面;硬件实验;虚拟实验平台

中图分类号:TP391.9      文献标识码:A 文章编号:2096-4706(2020)01-0084-03

Abstract:With the enhancement of the ability of computer simulation reality,more and more things can be operated and realized on the computer,and the speed of experimental equipment damage in many disciplines is very fast,and the cost of school maintenance and replacement is huge,so we have the logic of using computer simulation experimental equipment,so that students can complete their own subjects in the virtual experimental platform concept of test requirements is divided into two modules,namely,the realization of hardware simulation and user interface. This paper first introduces the purpose of the research,then expounds the design ideas and module details,as well as the current situation and development trend of the research at home and abroad

Keywords:simulation hardware;operation interface;hardware experiment;virtual experiment platform

1  研究目的

计算机技术的进步促使着人才涌入这个行业,这也使得行业对从业者的素质有着越来越高的要求,就目前市场而言,高端的软件研发人员还是相当匮乏,而许多传统行业研发人员的处境却越来越尴尬,因此快速提升学生编程能力、加深学生对计算机底层原理的理解,成为不少学校和教育机构的诉求之一。学习编程需要了解底层语言的实现,只有在对计算机的组成原理有一个较为深刻的认识之后,才能系统地对各种编程语言进行学习,学生的知识体系才能更加完善。“计算机组成原理”这门课程是学习其他课程的前提和基础,其本身具有承上启下的作用,也是从事计算机行业开发、设计、维护的基础。学生对这门课掌握得越好,在今后学习编程的道路中就能越轻松,处理相关编程难题时也就越得心应手。同时这门课程还在硬件和软件之间建立起一道桥梁,让软件通过接口的方式操作硬件,继而产生了许多基于硬件操作的实验。而市面上与此有关的实验设备却价值不菲,学校的实验设备年久失修。本文致力于搭建一个虚拟的硬件实验教学平台,将传统的硬件实验用计算机软件实现,从而摆脱实验设备易损坏的现状。

2  设计思路

(1)学生用户可以通过账号和密码登录本实验平台,平台会将学生的实验记录保存在服务器中,从而使学生用户更好地进行“计算机组成原理”的虚拟实验,同样也设计了教师用户界面,从而使教师可以更方便地管理学生的成绩。在数据存储方面,本平台选择Oracle数据库完成以上功能,并使用JDBC与平台相连。

(2)在学生电脑装有浏览器且能联网的情况下即可使用本软件,所以本文使用JSP设计页面还有电路的模拟,并在其中添加一些CSS3的样式来使操作界面更加美观,同时我们还将为虚拟实验平台架设专门的服务器,并申请公网ip,学生可以通过菜单来获取实验报告内容以及提交完成的作业,还可以通过菜单来保存、删除或新建实验,我们还考虑为学生录制教学视频,从而帮助学生更好地使用本平台,完成实验内容。

(3)本校“计算机组成原理”课程实验所需芯片有74LS181(运算器)、74LS244(三态门)、RAM6116(静态存储器由2片6116组成)、74LS374(触发器)、74LS245 (三态门)、EPROM2816(电可擦写储存器),所需基本元件有开关、灯、单脉冲控制器、连续脉冲器、以及与门、或门、非门、与非门、或非门、与或门和最基础的线路模拟。为在虚拟平台上模拟以上元器件,我们采用的基本思路是用CSS+HTML5页面来模拟图形化的操作界面,用JS腳本实现内部逻辑判断和是否与其他元器件相连,在学生完成连接并判断达到运行条件后,平台将会根据学生的后续操作给出运行结果。

实验平台的结构框架如图1所示。

3  芯片功能设计

本实验平台半导体芯片都采自Intel设计,具体引脚功能及分布如下。

3.1  运算器设计

整个运算器由算术逻辑单元、数据暂存器和输出用的三态门组成,算术逻辑单元由4片74LS181构成,74LS181一共有48个引脚,其中14个必要输入、25个地线、8个输出、1个电源。而2个16位数据暂存器由4片74LS273构成,74LS273一共有40个引脚,其中2个必要输入、8个普通输入、8个输出、21个地线、1个电源线。输出采用的是三态门74LS245,74LS245一共有40个引脚,其中9个必要输入、9个输出、20个地线、1个电源和1个其他类型的引脚。

3.2  存储器设计

半导体静态随机存储器由2片RAM6116组成,RAM 6116一共有48个引脚,其中10个必要输入、8个输入/输出、4个输入、21个地线、1个电源、4个其他类型引脚。

3.3  微程序控制器

微程序控制器由1片三态输出触发器74LS374、3片EEPROM2716c3、1片三态门74LS245组成,74LS374有40个引脚,其中10个必要输入、8个输出、21个地线、1个电源。EEPROM2716c3有80个引脚,其中8个必要输入、5个输入、24个输出、36个地线、7个其他引脚。74LS245在上面已经叙述过,不再赘述。

4  各个模块介绍

4.1  识别各芯片及实验原件模拟

本平台将每个元器件的阵脚设定为一个可连接的对象,再根据该元件类型判断连接是否正确,如果正确即可连接,否则不可相连,再将所有创建的元器件通路判断是否满足运行条件,如果满足运行条件,那么就更改元器件的图片,例如使灯泡处于发亮状态,具体实现方法是首先创建一个队列,从队头开始依次向下循环判断实验元器件的连接情况,之后一直遍历到队尾,如果实验器件摆放错误,那么将不会执行内部逻辑。

4.2  用户管理设计

采取Oracle数据库来存放用户信息,首先在数据库中设计用户表和增删改查等一系列存储过程,再把这些存储过程打包为程序包,最后将数据库与前端所创建的登录页面相连接,从而实现用户登录、用户注册、进行用户名密码修改等操作,这样的设计结构可以方便教师区分每个学生的实验完成进度。

4.3  功能、操作界面

菜单的实现采用CSS和HTML5语言,其中使用HTML5构造框架与其具体功能,CSS负责页面美化并实现二级菜单功能。首先消除HTML标签默认的内外边距,然后清除浮动,去掉默认a标签的下划线,设置鼠标滑过后的样式,先使二级菜单的内容隐藏,设定鼠标滑过一级菜单后显示的二级菜单,最后把样式加入菜单,即可完成一个二级菜单的设计。

工具栏的实现使用HTML,jQuery和jQuery UI图形库,首先使用HTML来构筑工具栏的外框,再使用jQuery UI库自带的图形函数来完成工具栏滑動的效果,之后使用SVG选择所需要的元器件,将图形拖拽出来,工具栏的每个标签背后都有一个JavaScript实现的JS脚本,所以每个元件都是现场绘制,内部逻辑已经在JS脚本里实现,就完成了工具栏的设计。

连接线是使用SVG来绘制的,只有鼠标放在元器件引脚上方时才可绘制连接线。获取两点(鼠标点击元器件引脚的坐标点与鼠标松开时另一个元器件引脚的坐标点)之后,根据特定的公式算出一些固定的折点,然后绘制。具体实现是将两点坐标分别设为(x1,y1),(x2,y2),随之获取((x2-x1)/2,y1),(x2,(y2-y1)/2)这两点,通过折线将两个元器件最终连接到一起。

至此,功能操作界面基本实现完成。各个模板介绍也已完成。

5  结  论

本项目遵循方便、节约资源、可拓展性强的原则,为学校和学生搭建一个随时随地可用的虚拟实验平台。和原先学校使用的笨重的、封装的实验器材相比,在计算机上实现的实验平台更加直观,更易于学生对照课本学习,而部署虚拟实验平台的费用也远低于原先购买器材的价格。和其他类似的虚拟实验平台相比,本平台更加美观,兼容性更强,学生的实验成果能以更加清晰的方式呈现在虚拟实验平台上。“计算机组成原理”这门课程的开展是为了使学生以宏观的思维来对待组织繁杂的计算机内部结构,所以学生如果在做实验的过程中能一目了然地看到一个结构简单的计算机内部组成的示意图,自然会极大地提高学习效率。未来会有越来越多的学校或组织采用类似的虚拟平台的方式对学员进行培养,虚拟实验平台在教育领域的优势会随着技术的发展而越发突显。

参考文献:

[1] 唐朔飞.计算机组成原理:第2版 [M].北京:高等教育出版社,2008.

[2] 唐朔飞.计算机组成原理——学习指导与习题解答:第2版 [M].北京:高等教育出版社,2012.

[3] 张珈珣,范立锋.HTML5+CSS3基础开发教程:第2版 [M].北京:中国人民邮电出版社,2017.

[4] 陈矗,任平红.Web编程基础——HTML、CSS、JavaScript [M].北京:清华大学出版社,2014.

[5] 孙风栋.Oracle11g数据库基础教程:第2版 [M].北京:电子工业出版社,2017.

作者简介:曹宇轩(2000.09-),男,汉族,吉林磐石人,本科在读,研究方向:软件工程。