首页 > 范文大全 > 正文

面向计算机专业的递进式综合实验教学方案

开篇:润墨网以专业的文秘视角,为您筛选了一篇面向计算机专业的递进式综合实验教学方案范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:提出一种面向计算机专业的递进综合实验教学方案,阐述该实验方案设计思路和具体内容,提出递进式综合实验实现的平台。

关键词:计算机专业;实验教学;递进式综合实验

0.引言

计算机专业是一门技术性、实践性、应用性很强的学科。在注重理论的同时,也不能忽视实验教学。系统、科学的实验安排不仅能帮助学生加深对基础理论的认知,还能够让他们将学到的专业理论知识转化为实际应用能力,以达到理论和实践相结合的目的。高等院校在教学安排中越来越重视实验教学环节,加强实验教学力度,但实际效果不甚理想,还存在一些问题。例如:验证类实验所占比例大、难度小,学生只需根据实验指导书即可完成,无需了解原理,实验效果不佳;设计类实验任务不明确、指导力度不够,学生不知从何手下,难以深入完成;实验内容较为分散,不同课程之间缺少联系,都是以基于单个技术点、技术与技术之间相互割裂的实验为主,不利于学生理解实验的重要性和树立完整的计算机系统概念。

针对以上实验教学现状和问题,本文提出面向计算机专业的递进式综合实验教学方案,旨在帮助计算机专业学生设计和完成与每门专业课程相互联系的实验课程,巩固计算机专业基础知识的同时,熟悉理论知识的具体应用,提高解决工程问题的能力。

1.递进式综合实验设计的基本思路

该综合实验教学方案从设计数字逻辑器件出发,到实现基本的处理器,然后围绕设计的处理器编写或修改汇编器、高级语言编译器和简单的操作系统。实验伴随整个本科教学阶段,具体细化到每门专业课程,覆盖课程有数字逻辑、计算机组成原理、微机原理与接口技术、汇编程序设计、编译原理和操作系统。该综合实验方案的设计遵从以下两个原则:一是前后课程实验相互衔接,前导课程的实验结果要为后续课程实验所用。例如数字逻辑实验中设计的基本逻辑器件如寄存器、加法器、移位器、计数器等要被计算机组成原理实验用来构建完整的处理器,为后续课程计算机组成原理服务。二是以设计类实验为主,鼓励创新。设计类实验相比于验证类实验较难,但如果指导到位,学生更愿意投入时间去设计完成属于自己的实验成果。在完成设计类实验的同时,鼓励学生创新,将自己的想法融入到实验中。

2.递进式综合实验方案

2.1数字逻辑器件设计

数字逻辑电路是一门实践性较强的技术基础课,与其相伴随的实验内容为数字逻辑器件设计,包括组合逻辑器件设计和时序逻辑器件设计。基本的组合逻辑器件有编码器、译码器、数据选择器、加法器和数值比较器等;而要设计完成的时序逻辑部件有寄存器、移位器和计数器等。数字逻辑器件的设计通过两种方式完成:首先是在熟悉一种硬件辅助设计工具的基础上(如Xilinx公司的ISE),以电路图的方式作为输入,完成设计工作;然后在掌握一门硬件描述语言(如Verilog HDL)的前提下,采用硬件描述语言以可综合的方式描述器件,完成设计和验证工作,为后续实验打下基础。

作为递进式综合实验方案的硬件入门实验,数字逻辑器件设计实验归纳起来要完成以下实验任务:熟练使用硬件辅助设计工具,掌握一门硬件描述语言,完成各种组合逻辑和时序逻辑器件的设计及验证工作。

2.2汇编语言程序设计

汇编语言是一种面向具体体系架构的标记语言。鉴于MIPS32指令标准开源非常规整,在具体的教学安排中,围绕MIPS32体系架构讲解指令分类和格式、寻址方式以及汇编语言程序设计方法。具体实验围绕拟定的MIPS32指令子集,以MIPS模拟器为平台进行。实验内容为满足不同要求的汇编语言程序设计。例如,通过设计计算复杂数学表达式的程序帮助学生熟悉算术和逻辑运算指令;通过设计字符串比较程序来帮助学生熟悉条件转移指令和循环程序设计方法;运用子程序实现排序和检索程序,可帮助学生掌握模块化的程序设计思想。

作为递进式综合实验方案的软件入门实验,汇编语言程序设计需要完成的目标包括:熟悉MIPS32体系架构及相关模拟器的使用;运用所学的MIPS指令和汇编程序设计方法,编写汇编程序,并在模拟器中验证程序的正确性。该实验在帮助学生掌握基本程序设计方法的同时,让他们熟悉MIPS32体系架构,为后期实验的处理器设计及验证奠定基础。

2.3处理器部件设计及整合

伴随计算机组成原理课程的实验为MIPS32处理器部件设计及整合。该实验以汇编语言程序设计课程中熟悉的MIPS32体系架构为基础,围绕MIPS I指令集的特定子集,在数字逻辑实验所设计的逻辑器件基础上,采用硬件描述语言对处理器部件进行设计。需要完成的处理器为5级MIPS流水线处理器,让学生在理解设计思路的前提下,分别完成每级流水线及相关部件的设计,最后将5级流水线整合成一个完整的处理器,并在仿真软件中完成指令验证工作。

作为处理器设计实验,该实验需要完成的任务归纳起来有两点:一是完成各种处理器部件的设计;二是掌握处理器设计方法,将处理器部件和基本的数字逻辑器件整合成一个完整的处理器。鉴于实验内容较多,具体实验时可以将学生划分为若干个小组,每组成员协同完成实验。

2.4接口部件设计及系统集成

标准的计算机系统包括运算器、控制器、存储器、输入设备和输出设备。处理器由运算器和控制器构成。为了方便处理器与用户的交互,构建一个完整的硬件层面上的计算机系统,还需要设计间接或直接辅助输入输出数据的接口电路,包括总线模块、中断系统、定时器、串口、LCD和PS/2接口电路。总线模块设计只进行地址译码得到片选信号和片内地址选择信号;中断控制系统设计可以只考虑较少数量的中断源、较简单的中断优先级;PS/2接口电路用于连接PS/2鼠标键盘;而LCD接口电路用于连接标准LCD显示屏。在完成基本的接口部件设计后,将其与处理器整合到一块,构建一个完整的计算机硬件系统,然后采用具体的硬件辅助设计软件,将系统实现到具体的FPGA开发板上。

作为计算机硬件系统设计的最后实验,该实验需要完成的任务包括总线模块设计、中断系统设计以及基本的外设接口电路设计,最后整合成计算机硬件系统,并运用相关平台将其实现到具体的FGPA开发板上。

2.5编译器构建

编译原理课程理论性非常强。为了让编译原理更具体,围绕一个中心任务即设计面向前期实验的计算机硬件系统特定范围的C语言编译器,将大任务细化到编译器设计的每个过程:词法分析、语法分析、中间代码生成、目标代码生成、代码优化和符号表管理等。词法分析阶段设计特定范围C语言的词法分析器;语法分析阶段根据前阶段输出完成语法解析器;设计中间代码生成器生成源程序对应的中间语言代码;目标代码生成阶段按照目标机器的指令格式和寄存器定义,完成中间代码到目标代码的替换;符号表作为存放源程序中定义的所有符号信息的数据结构,需要良好的设计;代码优化部分负责对目标代码进行优化,提升代码效率。编译原理课程的设计难度较大,建议学生分组实施。

编译器构建的另一个方案是修改GCC面向MIPS体系结构部分的源码,使编译生成的指令落在已实现指令的范围内。这种实验方案不适用于编译原理课程,但对于提高学生的编程能力大有帮助,可以考虑让有兴趣的学生参与其中。

2.6操作系统实验设计

操作系统作为计算机专业的核心课程,包罗了各种计算机领域的奇思妙想。如果能通过实验将这些精彩想法具体化,将对学生理解操作系统精髓大有帮助。该部分实验是以前期实现的计算机硬件系统为平台,运用MIPS32汇编指令和可被编译的c语言,结合操作系统原理,设计一个简单的操作系统。该部分实验需要完成的基本目标为设计一个单道的字符界面操作系统,支持BIOS引导加载系统代码、封装数条系统调用以及实现简单文件系统,并且能够安装在学生设计的处理器上运行。

3.递进式综合实验实现平台

硬件实验基于仿真软件、FPGA设计软件和FPGA开发板实现。数字逻辑器件、处理器和接口部件先在仿真软件中完成逻辑验证,然后运用FPGA设计软件将其综合实现到FPGA芯片。结合FPGA开发板提供的设备,如点触开关、拨码开关、LCD显示屏、七段数码管和PS2接口等,学生完成最终的验证实验。本综合实验采用Xilinx公司的Virtex-5 XUPV5-LX1 10T开发板。板上的Virtex-5 XCV5-LX110T型号FPGA能提供丰富的编程资源满足实验要求。

基于仿真软件和硬件开发板,处理器的设计分6步走:第1步实现算术逻辑运算单元的设计及验证;第2步完成数据通路设计、指令扩展及验证;第3步为流水线相关性处理;第4步是中断功能实现;第5步是接口逻辑设计;第6步是系统仿真、综合、实现及测试。

软件实验基于硬件实验实现的处理器、面向MIPS指令集的编译器以及处理器模拟器来完成。处理器模拟器包含汇编功能,汇编器模拟器和编译器设计也属于软件实验的一部分。学生编写应用程序,运用已有的工具链完成程序验证,并将其装载到指令存储器中,完成在板验证。

汇编器运用C#语言,采用3次遍历对MIPS汇编程序进行解释。第1遍对源程序进行系统调用代码链接、格式规整;第2遍确定标签和指令地址;第3遍作逐条指令解释。模拟器是为展示MIPS五段流水线执行过程,主要分为指令分析模块、流水线控制及执行模块、寄存器模块、存储器模块和界面显示控制模块。流水线模拟器采用C#构建,也可实现为web版,免去安装,方便学生网上使用。交叉编译器面向C语言语法子集,能将简单C程序编译成MIPS处理器能识别的机器码。编译器运用词法分析器生成工具Lex和语法分析器生成工具Yacc构建。有了这一系列工具,学生能用支持的C语言子集编写C程序,并让其运行在MIPS处理器上;结合操作系统课程学到的知识,还可以编写基于字符界面的单任务操作系统。

4.结语

该递进式综合实验改革方案围绕一条主线展开,即从设计数字逻辑器件出发,到实现简单的MIPS32处理器,然后围绕设计的处理器编写或修改汇编器、高级语言编译器和简单的操作系统。目标是通过这种递进式的前后相互关联的系列实验,加深学生对计算机基本理论知识的理解,同时将验证为主的实验教学转向设计为主,加强实验指导力度,提升学生解决工程问题的能力,培养创新精神,增强就业能力。目前针对该递进式综合实验改革方案的探索仍在进行,已经完成了支持20条MIPS I指令的流水线处理器、汇编器、部分接口电路的设计,编译器正在完善,模拟器和简单操作系统仍在构思。