摘要:目前《计算机组成原理》的实验内容存在与课程定位目标相悖的问题,一味追求实验内容的复杂性,而忽视了计算机组成原理实验教学的完整性和概念性。针对上述问题,本文对《计算机组成原理》的实验内容的改革问题进行了探讨。

关键词:计算机组成原理;教学实验改革

1实验教学存在的问题

《计算机组成原理》是计算机科学与技术的专业一门重要的基础课[1]。理解计算机组成原理会使学生能够更好地学习计算机科学的其他课程。本课程的目标是理解和掌握冯诺依曼结构机器的基本构成原理和基本观念,理解总线、接口、Cache和指令系统是如何决定计算机系统的性能。要求学生对计算机的五大部件有完整清晰的认识,了解硬件结构和对硬件具有一定的分析和设计能力。课程性质偏向于概念性。学生通过学习能够清楚地认识到硬件和软件在计算机系统中的地位和作用以及它们之间的相互依存关系。然而目前的计算机组成原理的实验教学内容混淆了课程性质,用专业课的实验要求取代了基础课的实验要求,一味追求实验内容的复杂性,比如让学生去设计流水技术,甚至解决竞争问题。学习计算机组成原理课程的学生还处于低年级阶段,并不具备计算机系统的完整知识和设计技能,让学生去解决实际的复杂问题,违反了基础与专业循序渐进的教学原则[2-3]。因此,本文针对上述问题,将《计算机组成原理》的实验教学的侧重点放在教学内容的完整实现上,循序渐进提升学生的硬件及软件设计能力,为后续相关课程的学习打下坚实的基础。目前很多院校为了培养学生综合能力,基于EDA技术,使用QuartusII软件进行计算机组成原理的实验[4]。QuartusII是Altera提供的FPGA/CPLD开发集成环境。该集成环境完全支持VHDL等硬件描述语言[4-5]。随着越来越多的高校使用FPGA方案来开展计算机组成原理实验,采用这种方案进行实验教学的弊端也逐渐呈现出来:(1)如果希望在计算机组成原理课程中开展FPGA设计实验,就必须在本课程前安排学习《VHDL/VerilogHDL语言程序设计》这门课,然而对计算机专业来说,这门课不宜安排在低年级。(2)FPGA使用硬件逻辑语言将电路进行描述并写进芯片,学生无法对计算机组成电路产生直观性的认识,因此它不适合做基础认识性实验。(3)FPGA的电路调试是非常困难的,而学生设计的程序是否正确,其调试又要靠硬件电路的正确性来保障。如果预先加入调试电路,给定调试程序,那么势必限制学生的设计,这样做实际就变成了验证性的实验。(4)学习计算机组成原理的学生还在低年级阶段,设计真正的CPU和计算机系统对大部分学生来说,是非常有难度的。因此,实验教学不是仅仅靠使用FPGA就能解决的。

2实验教学方案的设计

针对以上问题,本文采用FPGA与基础实验电路相结合的实验教学方式。首先通过基础实验电路来学习和掌握计算机组成和工作的基本原理。这些实验放在相应的理论内容结束之后的实验课中完成,作为计算机组成原理课堂教学的一个重要补充。在此基础上,使用FPGA实现各部件电路,并将FPGA实现的电路代入到基础电路平台中,取代平台上某个基础部件,以实现所设计的该部件电路的调试。各部件电路调试成功后,再将各局部电路连接成整机,完成整机的调试。这种采用FPGA与基础实验电路平台相结合的方法,是循序渐进提升学生设计模型计算机能力的最有利的方法。在实验中,要求学生设计一个具有少量指令(如5条)的8位模型计算机。软件上,学生需要设计所有的程序和微程序;硬件上,在电路结构开放的基础上,学生自己操作各信号线。该设计过程包括通过内部总线连接各功能单元模块构成数据通路,用微指令设计计算机指令系统。学生在该模型计算机设计过程中要经历总体结构方案设计、指令系统设计包括指令格式和寻址方式、控制器的选择、编写微程序等过程。还需详细说明部件中数据和控制信号的来源、去向、功能、时序。模型计算机设计完成后,学生将更加深刻地掌握模型计算机特别是CPU的基本工作原理。采用FPGA与基础实验电路相结合的实验教学方式使学生们对运算器、控制器、存储器以及输入输出各个模块的内部结构有了更深入的了解,锻炼了学生的实验动手能力,也培养了他们认真的科学态度和团队合作精神。比如有一组同学在刚做计算机组成原理实验的时候,由于粗心大意没有正确地设置开关和连好导线,导致存入的数据不正确。然后整组同学一起讨论避免连线出错的方法,最后通过在接线图上将已经连接好的部分作记号的方法来避免出错。改进的过程中不仅增进了同学之间的交流互动,还培养了认真做事的态度。在试验成绩评定方面,根据实验内容的难易程度,5个实验的分值比例分别设置为15%、15%、15%、15%和40%。为了积极提高学生的学习兴趣,还将硬件设计大赛与课程教学相结合,鼓励学生根据自己参赛的题目制定自己综合实验的内容。根据该方案进行实验改革以来,大部分同学纠正了以前厌学的态度,树立了学习的信心,动手能力与之前相比大幅提高。迟到早退的现象也消失了,学生能够主动参与实验并认真完成。在实验中通过认真思考,自行设计实验方案并记录分析数据,加深了对理论知识的理解。在掌握知识的同时,还增强了克服困难的信心。实验成果反馈如表1。

3结束语

计算机组成原理实验教学不应该一味追求实验内容的复杂性,应该侧重计算机模型的完整性和概念性。针对目前计算机组成原理实验教学中存在的问题,本文设计了FPGA与基础实验电路相结合的实验教学方式。该方案激发了学生的学习兴趣,增强学生开发复杂计算机系统的实践技能,提高了学生对多门核心专业课程融会贯通的能力,实现了培养学生综合能力的目的。

参考文献

[1]孙学梅.计算机组成原理课程教学改革探索.课程教育研究,2018(34):236

[2]刘向举.关于提高计算机专业核心专业课程教学效果的探讨—以计算机组成原理课程为例.计算机教育,2019(01):5-8

[3]工程教育专业认证标准(试行)(含通用标准和补充标,http://see.bit.edu.cn/upioadf

[4]罗苑堂.CPLD/FPGA常用模块与综合系统设计实例精讲.北京:电子工业出版社,2007

[5]吴继华,王诚.AlteraFPGA/CPLD设计(基础篇).北京:人民邮电出版社,2005

作者:吴旭 单位:广西大学计算机学院计科系

阅读次数:人次

计算机组成原理课内实验,【计算机基础论文】计算机组成原理课程实验教学改革(共2885字)...相关推荐

  1. 哪里可以学计算机优化编程,【计算机专业论文】计算机编程课程实践教学优化(共3825字)...

    摘要:目前,计算机编程类课程教学存在许多问题,比如程序实践教学环节薄弱.作业考察方式不合理.抄袭现象存在等.针对存在的问题,提出了基于在线On-lineJudge学习测评系统的计算机类编程课程教学实践 ...

  2. 计算机文化考试论文,计算机文化基础论文计算机能力论文

    计算机文化基础论文计算机能力论文 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机文化基础论文计算机能力论文:<计算机文化基 ...

  3. 计算机基础课程教学创新,计算机基础课程教学学生创新能力的培养-计算机基础论文-计算机论文(12页)-原创力文档...

    计算机基础课程教学学生创新能力的培养-计算机基础论文-计算机论文 --文章均为WORD文档,下载后可直接编辑使用亦可打印-- 摘要:作为高校教育中一门具有基础性的重要课程,计算机基础课程对于发展学生综 ...

  4. 计算机组装课教学要求,计算机组装与维护考试 [《计算机组装与调试》课程的教学改革]...

    摘要:本文从计算机组装与维护技术的重要性.实用性角度出发,针对该课程学生动手能力弱而课程本身操作性强的特点,对如何运用现代教学手段和方法,加强教学实践模式,运用灵活有效的教学方法,建立和完善专业技能考 ...

  5. 职校计算机课堂评课标准,中职学校计算机专业课堂教学评价(共2323字).doc

    中职学校计算机专业课堂教学评价(共2323字) 中职学校计算机专业课堂教学评价(共2323字) 随着计算机在日常生活和工作中越来越普及,社会对于计算机人才的需求越来越多,由此也带动了计算机课程在中职学 ...

  6. 计算机组装与维护课程课程介绍,有关计算机组装与维护课程的教学改革与实践...

    有关计算机组装与维护课程的教学改革与实践 在计算机组装与维护课程的教学过程中,笔者根据非计算机专业的特点以及对计算机的应用需求,对课堂教学.实训项目.考核方式等进行大胆改革,取得很好的教学效果. 明确 ...

  7. 三人英语计算机主题口语对话,计算机英语Web Quest主题教学思路(共3641字).doc

    计算机英语Web Quest主题教学思路(共3641字) 计算机英语Web Quest主题教学思路(共3641字) 计算机英语课程教学长期以来采用以教师为主的传统教学模式,教学方法多为讲授法,教学组织 ...

  8. 非计算机专业教学改革,非计算机专业计算机课程的教学改革.pdf

    非计算机专业计算机课程的教学改革.pdf 黑龙江教育(高教研究与评估) 2007年第12期 非计算机专业计算机课程的教学改革 刘亚锋 (陕西理工学院,陕西 汉中 723001) [摘 要]当前非计算机 ...

  9. 数学在c语言的作用,【程序设计论文】数学专业C语言程序设计课程教学探讨(共3174字)...

    [摘要]本科院校非计算机专业C语言课程的教学一直是个重点和难点问题,本文以数学专业为例,分析了造成C语言课程教学效果不好的几个重要因素,并在此基础上提出了一系列的教学改革措施,包括根据数学专业的特点调 ...

最新文章

  1. 解决java.lang.IllegalStateException: getOutputStream() has already been called for this response
  2. JSON对象和JSON 字符串之间的相互转换
  3. linux即时通讯软件下载,安信通linux版下载
  4. SQL2005备份集中的数据库备份与现有的数据库不同,错误号码:3154,解决方法...
  5. Ubuntu安装pycharm并且激活
  6. 6种java垃圾回收算法_被说烂了的Java垃圾回收算法,我带来了最“清新脱俗”的详细图解...
  7. 电脑应用程序错误怎么办_电脑Windows出错信息解析及解决方案
  8. flux服务器推消息,服务端主动推送数据,除了 WebSocket 你还能想到啥?
  9. Spring学习笔记(十三)
  10. R语言 数据整理(reshape2)
  11. 2021大厂Java面试真题(分布式 )
  12. 汇通达网络IPO取发行区间下限定价,多家投资方将出现账面亏损
  13. 因子分解机(FM) +场感知分解机 (FFM) 入门
  14. 编程界的修仙秘籍《JavaScript》百炼成仙第1章
  15. 计算机类公务员提升空间,本人在公务员省考裸考申论61分,在之后还有多大的提升空间?...
  16. win10锁屏壁纸路径
  17. springMVC原理,一看明了
  18. enovia之Spinner开发
  19. 强化学习策略梯度方法之: REINFORCE 算法(从原理到代码实现)
  20. Windows10 使用 Sony PHA-1 耳放

热门文章

  1. 人生是什么?感悟3:工作不是生活的全部
  2. IDC机房设备变更流程
  3. Tech Talk · 云技术有话聊 | 关键基础部件如何保障高可靠?
  4. 【惊】Spring源码的秘密|一起看看Spring启动时究竟做了什么惊天动地的事情?
  5. java第三方登录总结
  6. python 操作excel
  7. 在layui表格中显示图片
  8. 40.微信小程序(API--基础、路由、缓存、媒体)
  9. 鸿蒙系统在哪时间升级一次,华为鸿蒙系统升级时间表
  10. Shell的基础用法