计算机系统方面毕业论文模板范文 跟案例教学法在计算机系统结构课程中的应用方面毕业论文题目范文

关于免费计算机系统论文范文在这里免费下载与阅读,为您的计算机系统相关论文写作提供资料。

案例教学法在计算机系统结构课程中的应用

摘 要:针对计算机系统结构课程概念多、知识点繁杂的特点,提出了CPU 设计案例教学法,并结合CPU 设计这个案例,探讨了将抽象的知识点溶入到具体的案例中进行教学的步骤和方法.

关键词:计算机系统结构;CPU 设计;案例教学;教学质量

0 前 言

计算机系统结构课程是计算机专业的一门核心专业课程,知识点较多——有指令集结构、流水线结构、指令静态调度、指令动态调度、cache存储、多核并行编程等主要知识点.在参考文献[1-2] 中,强调了动画教学和模拟器教学;动画教学需要教师课前制作好相关的动画,课程讲解中教师将PPT 和演示动画相结合教学;模拟器教学需要教师编写对应的模拟器软件,利用该软件,动态模拟和显示指令的执行过程.比较有名的模拟器软件有winDLX和DLXView.在参考文献[3]中,强调了并行算法编程的重要性,要求在学习计算机结构概念的同时,增强MPI 并行编程能力的训练.

通过近几年计算机系统结构课程的教学,笔者发现该课程存在以下问题:①课程概念较多,学生觉得内容抽象、枯燥难学;②课程学时少、教学知识点多,特别是与计算机系统结构有关的新技术和新结构更新很快,这些新知识也要添加到课程中;③综合性实验难度较大,难以在短时间内实现;④ verilog 硬件描述语言没有前序课程涉及,学生完全自学感觉费力,课设中要用到该部分知识.针对问题,吸收国内外计算机系统结构方面的先进教学理念,可以将先进教学方法和创新思想引入课堂.改变以往的灌输式、照本宣科式的教学模式,采用案例式教学为主,并和启发式教学、引导式教学和讨论式教学相结合,通过促进学生自主学习,提高教学效果.此外,紧跟国际计算机技术发展潮流,不断更新计算机系统结构课程内容,在有限的教学学时内协调好经典知识和先进技术的讲授关系,通过引入科技发展的新成果和前言知识,拓宽学生的视野.

1 案例教学法的具体实现

为了更好地调动学生学习的积极性,为了将抽象的理论和实践结合,可以在课程教学中,结合CPU 设计这个具体案例来讲解重要知识点.CPU 设计案例教学法分为3 步:第1 步,围绕着CPU 设计这个案例,通过提出问题来激发学生主动思考、自主学习;第2 步,通过理论知识点的引导式学习,给后续的CPU 具体设计打好铺垫;第3 步,课堂上给出CPU 设计的框架结构,通过设计作业让学生课后完成具体设计,以此来锻炼学生的动手能力、创新能力.

1.1 CPU 设计问题的提出

在课程教学中可以先用2 个学时补充verilog相关知识,然后给出任务:设计一个具有6 条指令的CPU.这6 条指令分别是Load 指令、Store指令、Mov 指令、Add 指令、Xor 指令和Bnz 指令,这6 条指令涵盖了访存指令、传送指令、算术与逻辑指令和分支指令,具有一定的代表性.假设这6 条指令的机器码已经给出(如图1 所示).

1.2 结合案例设计过程学习主要知识点

课程案例设计教学中将该任务分解成多个子任务.实现每个子任务前,先讲解理论知识点,然后用verilog 实现框架结构.围绕着每个子过程的设计,学生可以先提出问题,进行知识点学习.理论讲解以引导为主、自学为辅.教学中强调夯实基础,注重综合应用,减少重复.将学生由“被动实践”变为“主动实践”,学生的质疑力、观察力和协同力得到了培养和提高.

1.2.1 结合机器码的分段,学习I、R、J 类型指令格式

在讲解指令系统之前,首先抛出3 个问题让同学们思考.问题1 :图1 中的指令怎样分段.从而看出操作码和地址码部分?问题2 :怎样看出图1 地址码部分对应的操作数代表的是整数还是浮点数?问题3 :怎样知道地址码中对应的是内存地址还是寄存器编号?然后带着这3 个问题开始指令系统部分理论学习[4-5].最后给出上述3 个问题的答案.问题1 :在MIPS 指令集中,将机器码分为I、R、J 三种类型,在I 类型指令中将机器码分为4 段.在R 类型指令中将机器码分为6 段.在J 类型指令中将机器码分为2 段.问题2 :数据表示常见的有两种.其一是带标志符的数据表示,通过操作数的前几位指明数据是整数还是浮点数.另一种是通过不同的操作码来指明后面的操作数是整数还是浮点数.问题3 :通过操作码来指明地址码中对应的是内存地址还是寄存器编号.回答完问题后,再结合图1 中的机器码来介绍MIPS、arm 和X86 不同指令集的优缺点.

1.2.2 结合操作码的设计,学习流水线和流水线中状态机的设计(译码)

讲解指令流水线之前,首先提出2 个问题.问题1 :图1 中6 条指令怎样实现能使总执行时间最短?问题2 :如果这些指令的操作码已经知道,怎样设计指令译码器部分?带着这两个问题,开始流水线章节的理论学习,最后给出上述2 个问题的答案.问题1 :采用流水线技术能够加快多条指令的执行速度[6].问题2 :由于不同操作码对应的控制信号不同,可以用时序电路设计中常用到的状态机设计技术来实现.

1.2.3 结合操作码的设计,学习相关的检测机理在介绍流水线中“相关”理论知识点之前,首先提出一个问题,图1 中6 条指令中,如果出现后面指令需要用到前面指令的结果,怎样检测和处理?带着该问题学习指令相关的理论知识点,然后给出问题答案:在流水线的译码阶段,检测前后两条指令的地址码是否相同,如果相同就认为出现了数据相关.处理数据相关的办法很多,其中常用解决方法是:由“相关”检测电路发控制信号给多路开关从而使数据定向通路打开,或者使后一条指令暂停,或者通过编译器进行指令静态调度来消除数据相关.

1.2.4 结合地址码的设计,讲述访存阶段讲述流水线中访存阶段时,首先提出2 个问题.问题1 :如何在指令中指明寻址方式?问题2 :由于存储器地址的特殊性,如何在间接寻址中,计算出正确的绝对地址?介绍完寄存器寻址、立即数寻址、间接寻址等10 种寻址方式后,给出答案.问题1 :在指令系统中寻址方式可以通过操作码来指明,一般系统中只保留常用的几种寻址方式,从而使译码系统简化,提高性价比.问题2 :可以在流水线的执行阶段来实现绝对地址的计算,这样就可以不必额外添加进行绝对地址计算的运算器,但是需要增加多路开关来实现地址和数据的分时选择和计算.

1.2.5 结合运算器设计,讲述定向通路,并行操作(多操作部件的设计),超长指令字技术在讲述运算器的设计时,首先提出3 个问题.问题1 :图1 中6 条指令对应的运算器怎样实现性价比高?问题2 :如果有减法指令,怎样在加法器上设计?问题3 :如果要实现多条指令完全并行执行,运算器怎样设计?讲述完运算器的主要功能和结构特点等主要知识点后,给出上述问题的答案.问题1 :图1 中6 条指令对应的运算器应该采用复用技术,共用同一个运算器,通过多路开关控制运算器的输入,并且构成指令流水线,性价比更好.问题2 :对于减法指令,可以通过补码结构转换为加法,从而减少硬件成本.问题3:如果要实现多条指令完全并行执行,运算器就需要设置多个,例如设置整数运算器、浮点运算器、地址运算器等,利用硬件成本代价的增加来提高并行速度.

1.2.6 结合流水线指令阶段和写回阶段,讲述Tomasulo 算法和指令动态执行技术

在讲述指令动态执行技术时,首先提出2 个问题.问题1 :图1 中6 条指令能否顺序流出,乱序执行?怎样实现?问题2 :能否设计一个能实现100 条指令乱序的执行系统?如果能需要考虑哪些问题?讲述完Tomasulo 算法和指令保留站知识点后,给出问题的答案.问题1 :图1 中6 条指令能顺序流出,乱序执行,关键是要有多个保留站和多个执行部件,通过保留站消除指令之间的相关,通过多个执行部件的并行工作,实现了乱序执行.问题2 :要实现100 条指令的乱序执行,系统设计中就要求至少有100 个保留站,执行部件数量如果比较少,很难有好的并行性,并且100 条指令之间相关检测硬件结构非常复杂,总之,100 条指令的乱序执行理论上能实现,但是硬件成本高,系统性价比低.

围绕着CPU 设计提出对应的问题,只是为了激发学生们主动学习积极性,通过verilog 硬件描述语言来动手设计CPU,就可以将理论知识和实践结合,加深对相关知识点的理解和掌握,同时通过设计的完成,锻炼了学生们的动手能力和创新能力.设计过程以课堂引导为主,学生自主设计为辅.这样就与课内学时比较少的实际情况相吻合,同时给学生们课后作业留下了任务,达到了课内教学和课外训练的齐头并进.

1.3 案例教学中采用的软硬件环境和系统框架图

案例教学中采用的硬件是Xilinx virtex5 开发板,软件环境是ISE10.4.课程教学时将该设计任务分解成多个子任务,包括取指令部件的设计、译码部件的设计、运算器部件的设计、存储器部件的设计、写回部件的设计等,实现每个子任务前,先讲解理论知识点,然后用verilog 实现框架结构.这样就将理论知识点和动手设计结合起来,一边讲,一边练,一边讨论,激发了学生学习的兴趣.在设计环节主要是通过verilog硬件描述语言设计出对应的硬件结构[7, 2].对于五段指令流水线,可以先画出系统框图(如图2所示),

根据系统框图给出每个verilog 代码模块的输入与输出引脚.

案例设计中,需要设计时钟模块.时钟模块可以提供对主时钟信号的分频、倍频、移相等功能,给流水线电路提供对应的时钟信号(如图3所示).

在时钟模块中,输入信号有CLKIN_IN和复位信号RST_IN,输出信号为CLK0_OUT、CLK180_OUT 和锁频信号LOCKED_OUT.只有在输出时钟信号稳定的情况下, 锁频信号LOCKED_OUT 才变为有效的高电平,否则为低电平.图4

是时钟波形图.从图4 中可以看出,在锁频信号LOCKED_OUT 上升沿来临前,时钟信号CLK0_OUT、CLK180_OUT 的信号是不稳定的.在时钟信号稳定后, CLK0_OUT 信号的相位与CLKIN_IN 相位相同,CLK180_OUT 信号的相位与CLKIN_IN 相位相差180 度.

案例教学中,针对每个流水段先确定输入和输出引脚数目,然后设计输出和输入之间的逻辑结构.为了激发学生学习的积极性,上课时只给出系统框图和关键模块的设计,其它次要部分就作为设计作业,让学生课后完成,完成的作业要提交给老师评分.通过这种动手设计,学生能主动思考问题,积极给出设计结果,同时还会为下次课的学习积极准备,激发了学生求解未知知识的兴趣.教师也能通过学生的设计,收获颇多.

2 案例法教学效果

理论结合实践,采用案例教学法具有理解快、记忆效果好的特点.从实施的效果来看,学生上课积极性得到提高,实验完成质量稳步上升,学生自主学习和研究的热情高涨,培养了学生的设计能力和创新能力,达到了本课程要求的培养研究和应用兼重的复合型人才的目标.在学生教学评价中,学生反馈是“通过设计,全面认识了计算机系统”“设计过程就是一个非常好的理解和掌握过程”“看着我的设计作品,我有种成就感”等. 通过统计发现,采用案例教学法后,期末考试平均成绩得到了提升,成绩为“优秀”的人数也在上升.同样,采用案例教学法后,课程设计完成难度和优秀比例也得到了提升.

3 结 语

计算机技术的不断发展,推动着课程建设的不断改革和创新[8].笔者下一步的改革思路是:以自主设计的CPU 为核心,完善外设和操作系统、编译系统,从而形成一个完整的系统.方法是:采用FPGA 设计基于arm 指令集的CPU,在非易失性存储器flash 中装载linux 嵌入式操作系统.通过配置引导程序参数,使系统启动时能直接运行flash 存储器中存放的虚拟机和嵌入式应用程序.通过开发嵌入式驱动程序,让CPU可以接收输入外设传送过来的信号,也可以控制输出外设进行正确的工作.这种案例教学法对于学生全面理解课程知识点,加强动手能力和创新设计能力的培养有着积极的意义[9].

参考文献:

[1] 王志英, 张春元, 沈立, 等. 计算机体系结构[M]. 北京: 清华大学出版社, 2010.

[2] 沈立, 肖侬, 王志英. 计算机体系结构实验[M]. 北京: 清华大学出版社, 2010.

[3] 陈国良. 并行计算机体系结构[M]. 北京: 高等教育出版社, 2002.

[4] 张晨曦, 王志英, 沈立, 等. 计算机系统结构教程[M]. 北京: 清华大学出版社, 2009.

[5] 郑纬民, 汤志忠. 计算机系统结构[M]. 北京: 清华大学出版社, 2005.

[6] 张晨曦, 王志英, 刘依, 等.“计算机系统结构”课程内容体系的研究[J]. 计算机教育, 2009(20): 57-60.

[7] 张晨曦. 计算机体系结构实验教程[M]. 北京: 清华大学出版社, 2010.

[8] Hennessy J L, Patterson D A. Computer architecture: A quantitative approach[M]. 4th Ed. San Francisco:Morgan Kaufmann, 2007.

[9] 姜晶菲, 肖侬, 王志英, 等.“计算机体系结构”课程建设及改革思考[J]. 计算机教育, 2009(18): 3-5.

计算机系统论文范文结:

适合计算机系统论文写作的大学硕士及相关本科毕业论文,相关计算机系统开题报告范文和学术职称论文参考文献下载。

1、论文计算机

2、计算机应用毕业论文

3、计算机应用技术论文

4、论文查询系统

5、计算机科学和技术专业导论论文

6、计算机硕士论文