贾彦竹, 石 松,包新月,刘 升
(淮北师范大学 计算机科学与技术学院,安徽 淮北 235000)
计算机组成原理实验教学探索
贾彦竹, 石松,包新月,刘升
(淮北师范大学 计算机科学与技术学院,安徽 淮北 235000)
[摘要]通过分析国内计算机组成原理实验教学研究进展和国内几种典型的计算机组成原理实验平台的工作原理,剖析实验平台的特点和实验教学中的不足之处,对实验教学提出了切实可行的建议,对组成原理实验的发展趋势进行了展望。通过改进实验方式和提高实验教学的效果, 促进普通高校计算机组成原理实验教学的发展。
[关键词]计算机;组成原理;实验;高校
0引言
计算机组成原理课程是计算机专业一门专业基础课程,也是计算机专业全国考研统考课程。教学中的实验环节十分重要, 通过实验教学,帮助学生了解计算机各组成部分的工作原理,建立整机概念和计算机内部指令运行的动态过程和时空关系。
为更好的进行计算机组成原理实验教学,国内科教仪器厂已研制了多种计算机组成原理实验平台, 这些平台具有清晰的总线结构,通过FPGA结合单片机实现整机的控制,配有详细的实验项目和实验步骤等,基本上满足了实验教学的需要。但国内实验平台也存在着不少不足之处,如实验连线较多,注重实验结果,忽视了实验原理,而且实验内容和教材脱节,不能体现最新的计算机组成的原理和技术等。
国内对计算机实验教学的研究主要集中于基于FPGA和VHDL的计算机组成实验平台的设计和基于虚拟技术的计算机组成原理实验平台的研究和设计,以及通过改进实验教学内容、方法、实验考核和师资队伍建设等,进行计算机组成原理实验教学方面的研究。本文主要概述计算机组成原理实验的研究进展,讨论国内计算机组成原理实验平台的工作原理,分析实验平台的特点、不足和改进措施,并对计算机组成原理实验的发展方向进行展望。
1计算机组成原理实验教学研究进展
为了提高计算机组成原理实验的教学效果,国内学者做出了多方面的研究,与计算机组成原理实验教学有关的文献主要集中在以下几个方面:
1.1基于EDA技术的计算机组成实验平台的设计
采用 FPGA芯片、SRAM和其它外围芯片,根据不同的实验要求, 重新规划不同的实验控制逻辑,把实验逻辑下载到 FPGA片中构成自己的实验平台。由于FPGA芯片结合VHDL语言可以重复编程使用,增强了实验系统的功能,提高系统的灵活性和扩展性。文献1在FPGA上实现了微处理器的设计,采用微程序控制的方法,能够通过实验工具观察分析处理器工作时内部信息流动[1]。文献2-6提出并利用FPGA和VHDL语言,结合工程实际应用和现代硬件系统的设计方法,对组成原理实验中的主要器件进行逻辑设计,将现有的计算机组成原理实验课程的实验内容、实验方式、实验过程进行设置与优化[2-6]。文献7-8介绍了应用 EDA技术进行计算机组成原理实验改革的思路和方法,并在实验中使用 Verilog设计一个简易的计算机 ,并使用FPGA开发工具仿真和验证其设计[7-8]。文献9从技术和EDA、FPGA发展应用的角度,研究了目前计算机组成原理实验平台进行改造的必要性,并对JZYL-Ⅱ型实验平台进行了分析[9]。
1.2虚拟实验在计算机组成原理实验中的应用
和传统实验相比,虚拟实验可以不受时间和空间的限制,不用在实验室完成,不需要有实验仪器。对于计算机组成原理实验,虚拟实验方式有着巨大的优势,因为计算机组成原理实验不像数字电路等基础性实验那样简单;即使复杂的实验电路,也很难完全再现计算机的工作原理,但通过虚拟的方式却可以全面再现运算器、存储器等工作原理。文献10提出了一种积木式的虚拟实验模式,介绍了该方案的整体设想及实验安排[10]。文献11-14研究了基于Web的虚拟实验室实现方法。针对计算机组成原理实验教学的实际情况,在对虚拟实验室功能架构分析的基础上,从面向对象的角度出发研究了基于Web的计算机组成原理虚拟实验室的设计和实现过程[11-14]。文献15采用面向对象的仿真方法进行建模,应用离散事件系统仿真的基本理论和方法,使得虚拟环境的操作真实感强[15]。文献16针对实验教学的要求和现有虚拟实验室的不足,提出了“计算机组成原理虚拟实验室”的系统设计方案,进行了具体的研究和设计[16]。
1.3改进实验教学内容、方法和考核方式提高实验教学效果
通过分析当前我国高校计算机组成原理实验教学的现状,深入剖析其中存在的问题,提出几点切实可行的改进方法,以提高计算机组成原理实验的教学效果,推进我国高校普通计算机组成原理教学的发展[18]。通过改进实验教学内容、教学方法、实验考核、成绩评定和师资队伍建设等方面,进行计算机组成原理实验教学方面一些研究与探索[19,20]。
2国内计算机组成原理实验平台的性能比较
2.1国内计算机组成实验平台概况
计算机组成原理实验项目主要包括运算器实验、存储器实验、寄存器实验、总线控制实验、时序实验、控制器实验、模型机实验和输入输入系统实验。目前国内高校使用的计算机组成原理实验仪种类较多,代表性的有清华大学科教仪器厂生产的TEC系列实验仪、西安唐都科教仪器公司生产的TDN-CM+系列实验箱;还有早期的复旦大学科教仪器厂设计生产的计算机组成原理试验箱,以及武汉众友CPTH、江苏启东DVCC-C9JH和上海星研COP2018等计算机组成原理实验箱等。这些实验平台实现方式都是由单片机和FPGA实现整机的控制,结构和功能都不尽相同,但都能够完成以上这些实验项目,满足了计算机组成原理实验课程的基本要求,填补了计算机组成原理实验平台的空白。下面以清华大学科教仪器厂设计的TEC-8为主,结合其它几台典型的实验平台,分析国内主要实验平台结构原理和不足之处。
2.2国内主要计算机组成原理实验平台结构特点
和实际计算机的基本组成一样,计算机组成原理实验平台也是由运算器、控制器、存储器、时序电路、总线传输控制电路和简单的IO电路组成。清华大学科教仪器厂设计的TEC-8组成原理实验仪的框图示与图1,实验仪主要组成单元有ALU单元、寄存器、RAM、时序电路、总线控制和指令控制等。
实验仪的运算器由ALU单元和寄存器组成,TEC-8实验仪和TDN-CM++实验仪都使用两片74LS181组成ALU,实现8位的算逻运算。其它实验平台使用FPGA模拟8位ALU运算单元。运算器实验的目的就是了解运算器的组成,掌握运算器的工作原理,验证运算器的算术逻辑运算功能。另外TEC-8实验系统可以使用自带的逻辑笔测试节拍脉冲信号。寄存器用于向运算器提供A和B两个操作数,保存运算结果等。TEC-8实验仪由1 片 EPM7064芯片提供4个8位的寄存器R0~R3, 作为通用寄存器使用,如图1中的虚线内所示。其它实验仪使用74HC574等锁存器作为寄存器,武汉众友的CPTH实验仪还包括累加器A,工作寄存器W等。使用74LS181作为ALU和课本的知识一致,但结构复杂一些。
存储器和CPU一起组成主机。除了TEC-8实验系统的存储器由双端口静态随机存储器IDT7132组成外,其它实验仪的存储器都是由普通静态存储器实现,如6116、2114等。通过存储器的实验,了解存储器EM 的工作原理及控制方法,掌握半导体存储器存储和读出数据的过程。
实验仪的时序电路由时钟源、时序脉冲产生和译码电路、时序启停逻辑等组成,提供CPU周期所需的时序信号,用于读取并执行指令; TEC-8实验的时序电路有两片由2片GAL22V10实现,其它的实验仪由FPGA实现。掌握时序电路工作原理和分析方法,对深入的理解计算机的组成原理有很大的帮助。
控制器是计算机系统的核心部分,控制器的基本功能就是把机器指令转换为按照一定时序来控制机器各组成部件的工作信号,产生系列动作,完成指令所规定的操作。实验仪的控制器都是由单片机配合FPGA实现,主要侧重于微程序控制器实验,掌握微程序控制器的实现方法,尤其是微地址转移逻辑的实现原理。TEC-8的微指令可以实现模型机基本指令,采用的微指令字长40位,顺序字段11 位(判别字段P4~P0,后继微地址NμA5~NμA0),控制字段29 位,微命令采用直接控制方式。控制存储器由5片58C65组成,控存容量40K*8,微地址寄存器和地址转移逻辑都是由数字电路实现。TDN-CM+的微指令字长24位,不全是直接控制方式,加入了三个译码字段。其它几种实验仪都和TDN-CM+类似,使用混合的控制方式。
总线是一组能为多个部件共享的公共信息传输线路,决定计算机性能、功能、可扩展性和标准化程度等重要因素。实验仪的总线比较简单,只能实现简单的总线控制功能。TDN-CM+的总线控制实验设计了一个控制逻辑来实现总线仲裁功能,实际上是由VHDL 语言设计上述控制逻辑,并将生成的目标文件下载至 CPLD 芯片中;其它实验仪没有总线控制实验,TEC-8提供了数据通路实验。
2.3计算机组成原理实验平台性能比较
以上通过对典型的计算机组成原理实验的分析,对国内的计算机组成原理实验平台的功能和结构进行了讨论。可以看出,国内高校配置的计算机组成原理实验平台,满足了计算机组成原理课程实验教学的要求,提高了课程的学习质量和实践能力,是理论教学深化和补充。相比较而言,TEC-8实验平台设计功能完善,技术先进,如双端口内存和双端口寄存器的使用,但这些技术在普通计算机中却很少使用,实验仪硬件结构复杂,成本高,学生难于短时间理解实验的工作原理。其它几种实验平台中,TDN-CM+是74LS181结合FPGA实现运算器和控制器功能,其它平台都是用单片机和FPGA仿真运算器来实现控制器功能的,这些不同的设计方式使学生较难理解实验平台的工作原理,更不能反映实际计算机的工作原理。
计算机组成原理实验平台有运算器、控制器、存储器等组成,总线结构复杂。不同总线之间的连接每个实验平台采用的方式也不相同。如TEC-8、TDN-CM+和CPTH实验仪的总线连接使用开关和排线,使用较方便;COP2018的连线就相当麻烦,每次实验要连接多条线,纠错也很困难。除TEC-8外使用数码管显示外,实验平台都配备了液晶显示屏。还可以将实验仪和PC机通过串口或者USB口联机,使用联机软件操作。图2是COP2018实验仪随机的联机软件在选择“运算器实验”后,显示的数据通路图。可以看到,数据通路图可以实时反映运算器、存储器等的操作,包括节拍点位、控制信号对寄存器、运算器和存储器的影响,以及总线结构和数据的传输,给学生建立整机的观点。
3计算机组成原理实验平台在实验教学中的不足
3.1实验平台交互性和扩展性差,实验模式固定,影响学生创新能力
计算机组成原理实验教学配备的实验平台,提供了详细的实验项目设置、实验内容和实验步骤。实验平台的使用简化了教师的工作量,学生只要按照实验步骤连接好导线,输入控制信号,观察输出信号就完成了实验过程,验证了计算机组成原理的理论知识。这样学生就侧重于实验结果,而忽略了实验原理。另外由于计算机组成原理实验仪结构复杂,连线较多,总线包括地址总线ABUS、数据总线DBUS、指令总线IBUS,还有控制信号等,所以学生大部分时间都浪费在实验准备上,另外实验模式比较单一,实验项目固定,影响学生的创新能力,影响教学效果。
3.2实验平台和课本内容不一致,和实际的计算机技术脱节
计算机组成原理课本的一些重要的知识内容没有相关的实验,如Cache、动态存储器DRAM等,这些技术是实际的计算机系统重要的技术。另外计算机技术发展很快,实际的计算机系统比实验中的模型机复杂的多,多级总线、多核CPU、多级Cache、睿频加速和多种IO总线,这在实验平台上都没有得到体现。
4总结和展望
4.1总结
国内高校为计算机组成原理实验课程配置的计算机组成原理实验平台,基本满足了计算机组成原理课程实验教学的要求,提高了教学效果和学生实践能力,是理论教学深化和补充。但也存在着实验繁琐、和教材不配套等不足之处。
国内对计算机组成原理实验平台的研究主要集中在虚拟实验平台的建设和基于FPGA的实验平台的开发,以及计算机组成原理实验环节的改进。缺乏针对计算机组成原理实验教学的更为系统的、深入的理论研究。
随着国内高校对实验教学的重视和虚拟现实技术的发展,可以通过模拟的方式帮助用户建立计算机的整机概念,加深对计算机“时空”概念的理解和对计算机系统性能评测的应用,培养学生对计算机组成原理的整体分析和解决问题的能力。
4.2计算机组成原理实验建议和展望
4.2.1虚拟技术将再现计算机的组成原理和工作过程
随着虚拟现实技术的发展,虚拟现实技术为虚拟实验带来新的生机,特别是对于一些复杂的课程,如计算机组成原理课程的实验,应用3D数字化技术、高分辨率的显示技术、多传感器技术、多种交互技术,能够生成逼真的3D虚拟场景,再现计算机的总线结构、指令流、数据流、多核CPU、多级Cache、动态存储器等工作原理和工作过程,并能使学生与场景进行实时交互,感知和操作虚拟的实验对象,因而能够提供比现有实验装置更佳的性能和更好的教学效果。
4.2.2学生自主设计计算机系统成为现实
嵌入式系统的普及和大规模可编程集成电路的发展,特别是SOPC技术的出现和完善,学生可以使用可编程逻辑技术把整个系统放到一块硅片上,实现嵌入式系统的研究和电子信息处理。另外嵌入式计算机的模块化,学生可以买到CPU模块、存储器模块,以及IO接口模块,可以自主设计和拼装计算机,这样可以真正理解计算机组成原理。
4.2.3计算机组成原理实验方式将多样化
计算机技术的高速发展,不同的需求产生不同的计算机架构,集成度也是越来越高。如PC系列微机基于Intel微处理器的架构,Mac系列微机的架构,手机和平板的架构等。因此计算机组成原理课程也将随计算机技术的更新不断更新教学内容。不同的计算机组成方式需要不同的实验方式,通过模拟、仿真或者在实际架构上的计算机上实验,肯定会出现多种教学实验方法。
[参考文献]
[1]肖铁军, 刘芳. 基于FPGA的“计算机组成原理”模型机设计[J]. 电气电子教学学报, 2009, 31(2):81-82.
[2]方恺晴, 徐成, 石琳. 基于FPGA技术的"计算机组成原理"课程的实验教学[J]. 实验室研究与探索, 2004, 23(5):14-15.
[3]郭军. 基于FPGA与Verilog的计算机组成原理实践[M]. 北京:清华大学出版社, 2012.
[4]邵天增. 基于FPGA的计算机组成与结构实验系统的设计与实现[D]. 华东师范大学, 2010.
[5]胡科. 基于FPGA的VHDL计算机组成实验平台的设计与实现[D]. 华东师范大学, 2006.
[6]蒋伟杰. 基于FPGA的组成原理实验平台[D]. 福州大学, 2011.
[7]徐晨, 顾晖. 应用EDA技术改革计算机组成原理实验教学[J]. 电气电子教学学报, 2004, 26(5):66-69.
[8]王晓兰, 吴秀敏, 方运潭. JZYL-Ⅱ型计算机组成原理实验平台研制与开发[J]. 实验室研究与探索, 2009, 28(9):80-82.
[9]孙冰, 齐晓梅. VHDL在计算机组成原理实验中的应用研究[J]. 价值工程, 2011(27):110-111.
[10]王玉华, 黄硕之. 计算机组成原理课虚拟实验方案[J]. 实验技术与管理, 2005, 22(4):73-75.
[11]王建新, 张丽媛, 盛羽,等. 基于组件的计算机组成原理虚拟实验室的设计与实现[D]. 中南大学, 2008.
[12]郑耿忠. 计算机组成原理虚拟实验室的研究及实现[J]. 计算机系统应用, 2008(2):62-65.
[13]郝尚富, 张志强, 孙佰利. 计算机组成原理虚拟实验环境的设计及实现[J]. 计算机仿真, 2009, 26(11):320-323.
[14]宋淑彩, 周丽莉, 赵巍. 基于网络的计算机组成原理虚拟实验的设计与开发[J]. 微计算机信息, 2006, 22(5X):286-288.
[15]张雯雰, 肖娟, 刘华艳,等. 计算机组成原理虚拟实验系统的设计与实现[J]. 实验室研究与探索, 2014, 33(5):62-66.
[16]朱思峰, 李慧敏. 计算机组成原理虚拟实验室系统的设计及实现[J]. 科学技术与工程, 2006, 6(17):2684-2687.
[17]曹海燕. 计算机组成原理虚拟实验室的研究与设计[D]. 山东理工大学, 2008.
[18]任春明, 刘军. 计算机组成原理实验教学的思考与改进[J]. 实验技术与管理, 2006, 23(10):110-111.
[19]李民政, 陈智勇. 计算机组成原理教学改革的困境及其出路[J]. 计算机教育, 2011(24):40-44.
[20]王昊. 计算机组成原理教学改革与实践[J]. 辽宁工业大学学报:社会科学版, 2015(3):117-119.
The Exploration into Experimental Teaching of Principle of Computer Organization
JIA Yanzhu, SHI Song, BAO xinyue, LIU Sheng
(SchoolofComputerScienceandTechnology,HuaibeiNormalUniversity,Huaibei235000,China)
Abstract:Through the analysis of the research progress of computer composition principle experiment teaching and the typical experimental instruments for computer organization, the characteristics of the experimental instruments and the deficiencies of experiment teaching were analyzed. The advanced practical suggestions for the experimental teaching were proposed, and the development trend of the composition principle experiment was studied. Through improving the experiment method and the experiment teaching effect, the development of the teaching of computer composition principle in ordinary university will be promoted.
Key words:computer; principle of organization; experiment; university
[收稿日期]2016-01-17
[基金项目]安徽高校自然科学研究重点项目(No. KJ2014A225)
[第一作者简介]贾彦竹(1972-),女,山东菏泽人,淮北师范大学实验师,主要从事模糊数学和信号处理研究。
[中图分类号]TP391
[文献标识码]B
[文章编号]1674-2273(2016)03-0074-05