APP下载

软件模拟技术在计算机组成原理教学中的应用

2014-07-18魏乐赵秋云

电脑知识与技术 2014年13期
关键词:计算机组成原理工程教育教学改革

魏乐 赵秋云

摘要:针对现有计算机组成原理教学中存在的理论和实践脱节、教学效果不够明显的问题,将软件模拟技术引入计算机组成原理课程教学中,重点探讨了软件模拟技术在课程中的应用思路、应用范围和应用方法,建立了“““硬件原理为目标,软件模拟为手段,软硬结合,寓软于硬,相互促进”的计算机组成原理课程教学模式,从而进一步提高了课程教学质量、培养了学生的编程能力和解决实际问题的能力。

关键词:工程教育;教学改革;软件模拟;计算机组成原理;模拟程序

中图分类号:G642.0 文献标识码:A 文章编号:1009-3044(2014)13-3031-02

Application of Software Simulation Technology in Computer Composition Principles Teaching

WEI Le, ZHAO Qiu-yun

(Computer Science Department, Chengdu University of Information Technology, Chengdu 610225, China)

Abstract: In computer composition principles teaching, disconnection between theory and practice is universal, teaching result is unsatisfactory. To improve these problems, the software simulation technology is introduced to the teaching. This paper probes into the application design, the applicable scope and method of the technology. The paper also sets up a teaching model which takes hardware principles as teaching aims, the software simulation as teaching methods, combines the hardware an software, contains software in hardware, reinforces teaching mutually. Then, the teaching quality is improved and students ability of programming and practice is enhanced.

Key words: engineering education; teaching reform; software simulation; computer composition principles; simulation program

1 概述

计算机组成原理是计算机专业一门重要的专业基础必修课程,该课程以单机系统为研究对象,重点讲解计算机硬件系统的逻辑组成与工作机制,建立起计算机系统的整机概念[1],为培养学生对计算机硬件系统的分析、开发、使用与设计能力打下基础[2]。但从目前的实际效果来看,绝大多数高校并没有达到该课程的教学目标,教学中存在理论与实践脱节、学生“知其然,不知其所以然”等问题,尤其在工程教育的大背景下,传统计算机组成原理课程的教学模式与造就“适应现代社会人才需要的,具有工程专业能力、社会意识和创业、创新精神的工程师”[3]的工程教育目标更是渐行渐远,因此对计算机组成原理课程教学进行改革是必要。

自20世纪50年代仿真技术开始应用以来,利用强大的软件模拟技术来仿真硬件的工作过程,便成为当今国内外计算机领域研究的一个热点。在教学领域,于京生[4]等人将Multisim仿真软件引入模拟电子技术实验教学;张佩莉[5]等人将模拟教学软件引入电子商务教学中;陈军[6]将EWB仿真软引入模拟电子技术实验教学;虞飞华[7]等人将软件模拟技术引入计算机组成原理实验教学中。虽然软件模拟技术在许多课程中实施了应用,但具体到计算机组成原理课程中,依然存在一些问题:(1)现有软件模拟技术主要应用于构建计算机组成原理虚拟实验系统,缺乏从课程理论教学的角度对软件模拟技术在计算机组成原理课程教学中的应用思路、应用范围和应用方法的探讨;(2)现有研究不需要学生编写代码,不考虑学生的参与,在学生对计算机组成原理知识的理解上帮助不大,无法培养学生的编程能力和解决实际问题的能力。

基于此,我们在“做中学”和“基于项目的教育和学习”[8]的新型工程教育模式指导下,将软件模拟技术应用于计算机组成原理课程教学,对具体的应用思路、应用范围和应用方法进行了阐述,以便提高计算机组成原理课程的教学质量,促进学生动手能力的提高,为“卓越工程师”的培养添砖加瓦。

2 软件模拟技术在课程中的具体应用

2.1 应用思路

将软件模拟技术应用于计算机组成原理课程的教学中,实现“软硬结合,寓软于硬,相互促进”的目标,是一次新的探索。因此为保证预定目标的实现,需要首先确定教学方法改革的总体方案,并以此为纲,指导后续教学活动的开展;接着需要针对软件模拟技术的特点,梳理计算机组成原理课程知识点,以确定软件模拟技术的应用范围,同时编写对应的模拟程序;随后采用正确的方法,在课程教学中实施应用;最后对应用情况进行分析总结,并建立合理的评估反馈机制,以便于持续改进。也即是按照“方案设计→范围确定→模拟程序编写→教学应用→评估反馈→分析总结”的思路实施应用。

2.2 应用范围确定与模拟程序的编写endprint

在计算机组成原理课程中,并不是所有的知识点都适合采用软件模拟技术进行模拟,因此需要按照软件设计的思想,重新梳理计算机组成原理课程知识点,确定软件模拟技术在课程教学中的应用范围。经过整理,我们认为进位计数制转换、定点/浮点运算、中断过程、指令设计、ALU组成和微程序控制原理等知识适合采用软件模拟技术,具体知识点和相关描述如表1所示。

表1 软件模拟技术的应用范围

[章节\&知识点\&描述\&数的表示\&进位计数制转换\&模拟十进制、二进制、八进制、十六进制和二-十进制的相互换。\&机器数的表示\&模拟不同字长情况下真值和原码、反码、补码和移码的转换。\&校验码\&模拟奇偶校验码、海明校验码和CRC码的校验原理。\&运算方法与运算器\&定点数的四则运算\&模拟补码加减法、原码一位乘、补码一位乘、原码不恢复余数除法和补码不恢复余数除法的运算过程。\&浮点数的四则运算\&在定点数四则运算的基础上模拟浮点数四则运算的运算过程。\&进位链逻辑\&模拟并行进位链的传送过程。\&ALU功能\&模拟181芯片的功能,实现不同控制信号完成不同的操作。\&CPU子系统\&指令系统\&模拟指令操作码功能,实现不同寻址方式下的指令执行。\&微程序控制器\&模拟微指令格式的拟定、微程序的编写和微命令的产生。\&存储子系统\&存储芯片扩展\&模拟利用不同存储芯片构造存储器的过程,包括芯片选择、片选逻辑拟定和存储框图。\&高速缓冲存储器\&模拟高速缓冲存储器的工作过程,以动画的形式显示地址映射、地址变换、调度等过程。\&存储器读写\&模拟静态存储器的读写过程。\&输入输出子系统\&中断方式\&模拟计算机处理中断的过程,以动画的形式显示中断请求产生、中断请求传递、中断响应和中断处理全过程。\&]

在确定应用范围后即可开始模拟程序的编写,在编写过程中应该做到以下几点:

1) 尽量采用面向对象的思想,将部件特征抽象成属性,将部件的功能抽象成方法,形成一个一个的类,这样便于学有余力的学生在示例程序基础上构造一个模型机模拟程序;

2) 在编程实现工作机制的同时,要充分利用各种动画直观的反应工作机制;考虑到课程开设的时间,建议采用Java语言进行开发;

3) 模拟程序应该增加必要的注释,并配备程序流程图,便于开展教学和学生理解。

2.3 模拟程序在教学中的应用方法

为了使软件模拟技术在计算机组成原理课程教学中真正成为帮助学生理解硬件工作原理、培养学生编程能力和设计能力中发挥作用,我们以CDIO教学大纲为指导,进行了大胆创新,探索出一套行之有效的应用方法。

1) 设计合理的教学方法,将软件模拟的思想融入课堂教学。对于可以应用软件模拟技术的知识点,除了讲解原理之外,积极引导学生进行分析,师生共同设计程序流程图,帮助学生掌握具体工作过程,要求学生按照流程图开发模拟程序;同一知识点布置对应的作业,与模拟程序相配合,加深学生对知识点的掌握。同时,将已经设计好的程序在课堂上演示,利用动画直观的反应对应知识点,并为学生编写程序提供参考。

2) 实施分组教学,小组内形成既竞争又合作的关系。按照自愿结合、适当调整的原则,将学生分为若干组。对于简单的模拟程序,要求每名学生均独立完成,但允许相互交流,同时小组内部成员之间从功能完备性、界面友好性和代码规范性等方面进行相互评价;对于复杂的模拟程序,以小组为单位完成,在小组组长的协调下进行合理分工,小组之间开展程序互评。

3) 积极组织学生参与教学,突出“学”的主体地位。在授课中教师有目的的选择一些程序完成较好的同学或小组,在讲台上传授经验;选择完成较差的同学或小组,也上讲台讲解,在查找问题的同时,对其带来压力,以便后期的提高;特别是教师应该有意识地选择平时性格内向、不善交流的同学走上讲台,并对其进行鼓励,突出“人”的培养。

4) 将模拟程序融入课程考评,完善课程评价机制。将模拟程序作为作业的一部分进行考评,计入平时成绩;在期末考试中,部分知识的考评可以要求学生通过绘制流程图和编写模拟程序(此时仅考虑体现原理,不需考虑界面、动画)的方式进行。

5) 注重效果评估。对实施效果进行跟踪、分析,以评估实际效果与预期目标的切合程度,并根据评估结果总结特色,查找不足,以便进行改进。

3 结论

该文从提高教学质量、培养学生创新能力和解决实际问题能力的角度出发,将软件实现与硬件原理有机结合,从应用思路、应用范围、实施方法和效果评估机制等几个方面对软件模拟技术在计算机组成原理中的应用模式进行了探讨。在实际应用中取得了较好的效果,克服了现有计算机组成原理课程教学中存在的不足(课堂学生参与度不够、理论知识掌握不扎实、学生综合能力不强、理论与实践脱节),使计算机组成原理教学体现“基础性、综合性、创新性”的特点,充分调动了学生的学习热情。下一步我们的工作是实现一台模型机工作过程的模拟,开发计算机组成原理虚拟实验平台,并在教学中实施应用。

参考文献:

[1] 罗克露, 刘辉, 俸志刚, 等. 计算机组成原理(第2版)[M]. 北京:电子工业出版社, 2010.

[2] 赵秋云, 何嘉, 魏乐. 对《计算机组成原理》课程教学模式的探讨[J].电脑知识与技术, 2008,4(3): 693-694.

[3] 刘京锐,吴敏华,李志平.CDIO理念在计算机硬件实践课程教学改革中的应用[J].实验技术与管理,2011,28(7):154-156.

[4] 于京生, 陈永志, 康元元. Multisim仿真软件在模拟电子技术实验教学中的应用[J].石家庄学院学报,2011,13(6):46-50.

[5] 张佩莉, 方美琪. 电子商务模拟教学软件新模式的探索与实现——基于网络游戏的模拟社区[J]. 嘉兴学院学报, 2005, 17(S1):40-46.

[6] 陈军. EWB仿真软件在模拟电子技术教学实践中的探讨[J]. 牡丹江大学学报,2010,19(8):140-142.

[7] 虞飞华, 朱锡瑞, 郑韬.基于软件模拟的计算机组成原理实验教学研究与实验[J].中国教育信息化,2012,(3):69-71.

[8] 李春英,汤志康.CDIO模式下的软件工程课程设计实践[J].实验技术与管理,2011,28(6):173-178.endprint

在计算机组成原理课程中,并不是所有的知识点都适合采用软件模拟技术进行模拟,因此需要按照软件设计的思想,重新梳理计算机组成原理课程知识点,确定软件模拟技术在课程教学中的应用范围。经过整理,我们认为进位计数制转换、定点/浮点运算、中断过程、指令设计、ALU组成和微程序控制原理等知识适合采用软件模拟技术,具体知识点和相关描述如表1所示。

表1 软件模拟技术的应用范围

[章节\&知识点\&描述\&数的表示\&进位计数制转换\&模拟十进制、二进制、八进制、十六进制和二-十进制的相互换。\&机器数的表示\&模拟不同字长情况下真值和原码、反码、补码和移码的转换。\&校验码\&模拟奇偶校验码、海明校验码和CRC码的校验原理。\&运算方法与运算器\&定点数的四则运算\&模拟补码加减法、原码一位乘、补码一位乘、原码不恢复余数除法和补码不恢复余数除法的运算过程。\&浮点数的四则运算\&在定点数四则运算的基础上模拟浮点数四则运算的运算过程。\&进位链逻辑\&模拟并行进位链的传送过程。\&ALU功能\&模拟181芯片的功能,实现不同控制信号完成不同的操作。\&CPU子系统\&指令系统\&模拟指令操作码功能,实现不同寻址方式下的指令执行。\&微程序控制器\&模拟微指令格式的拟定、微程序的编写和微命令的产生。\&存储子系统\&存储芯片扩展\&模拟利用不同存储芯片构造存储器的过程,包括芯片选择、片选逻辑拟定和存储框图。\&高速缓冲存储器\&模拟高速缓冲存储器的工作过程,以动画的形式显示地址映射、地址变换、调度等过程。\&存储器读写\&模拟静态存储器的读写过程。\&输入输出子系统\&中断方式\&模拟计算机处理中断的过程,以动画的形式显示中断请求产生、中断请求传递、中断响应和中断处理全过程。\&]

在确定应用范围后即可开始模拟程序的编写,在编写过程中应该做到以下几点:

1) 尽量采用面向对象的思想,将部件特征抽象成属性,将部件的功能抽象成方法,形成一个一个的类,这样便于学有余力的学生在示例程序基础上构造一个模型机模拟程序;

2) 在编程实现工作机制的同时,要充分利用各种动画直观的反应工作机制;考虑到课程开设的时间,建议采用Java语言进行开发;

3) 模拟程序应该增加必要的注释,并配备程序流程图,便于开展教学和学生理解。

2.3 模拟程序在教学中的应用方法

为了使软件模拟技术在计算机组成原理课程教学中真正成为帮助学生理解硬件工作原理、培养学生编程能力和设计能力中发挥作用,我们以CDIO教学大纲为指导,进行了大胆创新,探索出一套行之有效的应用方法。

1) 设计合理的教学方法,将软件模拟的思想融入课堂教学。对于可以应用软件模拟技术的知识点,除了讲解原理之外,积极引导学生进行分析,师生共同设计程序流程图,帮助学生掌握具体工作过程,要求学生按照流程图开发模拟程序;同一知识点布置对应的作业,与模拟程序相配合,加深学生对知识点的掌握。同时,将已经设计好的程序在课堂上演示,利用动画直观的反应对应知识点,并为学生编写程序提供参考。

2) 实施分组教学,小组内形成既竞争又合作的关系。按照自愿结合、适当调整的原则,将学生分为若干组。对于简单的模拟程序,要求每名学生均独立完成,但允许相互交流,同时小组内部成员之间从功能完备性、界面友好性和代码规范性等方面进行相互评价;对于复杂的模拟程序,以小组为单位完成,在小组组长的协调下进行合理分工,小组之间开展程序互评。

3) 积极组织学生参与教学,突出“学”的主体地位。在授课中教师有目的的选择一些程序完成较好的同学或小组,在讲台上传授经验;选择完成较差的同学或小组,也上讲台讲解,在查找问题的同时,对其带来压力,以便后期的提高;特别是教师应该有意识地选择平时性格内向、不善交流的同学走上讲台,并对其进行鼓励,突出“人”的培养。

4) 将模拟程序融入课程考评,完善课程评价机制。将模拟程序作为作业的一部分进行考评,计入平时成绩;在期末考试中,部分知识的考评可以要求学生通过绘制流程图和编写模拟程序(此时仅考虑体现原理,不需考虑界面、动画)的方式进行。

5) 注重效果评估。对实施效果进行跟踪、分析,以评估实际效果与预期目标的切合程度,并根据评估结果总结特色,查找不足,以便进行改进。

3 结论

该文从提高教学质量、培养学生创新能力和解决实际问题能力的角度出发,将软件实现与硬件原理有机结合,从应用思路、应用范围、实施方法和效果评估机制等几个方面对软件模拟技术在计算机组成原理中的应用模式进行了探讨。在实际应用中取得了较好的效果,克服了现有计算机组成原理课程教学中存在的不足(课堂学生参与度不够、理论知识掌握不扎实、学生综合能力不强、理论与实践脱节),使计算机组成原理教学体现“基础性、综合性、创新性”的特点,充分调动了学生的学习热情。下一步我们的工作是实现一台模型机工作过程的模拟,开发计算机组成原理虚拟实验平台,并在教学中实施应用。

参考文献:

[1] 罗克露, 刘辉, 俸志刚, 等. 计算机组成原理(第2版)[M]. 北京:电子工业出版社, 2010.

[2] 赵秋云, 何嘉, 魏乐. 对《计算机组成原理》课程教学模式的探讨[J].电脑知识与技术, 2008,4(3): 693-694.

[3] 刘京锐,吴敏华,李志平.CDIO理念在计算机硬件实践课程教学改革中的应用[J].实验技术与管理,2011,28(7):154-156.

[4] 于京生, 陈永志, 康元元. Multisim仿真软件在模拟电子技术实验教学中的应用[J].石家庄学院学报,2011,13(6):46-50.

[5] 张佩莉, 方美琪. 电子商务模拟教学软件新模式的探索与实现——基于网络游戏的模拟社区[J]. 嘉兴学院学报, 2005, 17(S1):40-46.

[6] 陈军. EWB仿真软件在模拟电子技术教学实践中的探讨[J]. 牡丹江大学学报,2010,19(8):140-142.

[7] 虞飞华, 朱锡瑞, 郑韬.基于软件模拟的计算机组成原理实验教学研究与实验[J].中国教育信息化,2012,(3):69-71.

[8] 李春英,汤志康.CDIO模式下的软件工程课程设计实践[J].实验技术与管理,2011,28(6):173-178.endprint

在计算机组成原理课程中,并不是所有的知识点都适合采用软件模拟技术进行模拟,因此需要按照软件设计的思想,重新梳理计算机组成原理课程知识点,确定软件模拟技术在课程教学中的应用范围。经过整理,我们认为进位计数制转换、定点/浮点运算、中断过程、指令设计、ALU组成和微程序控制原理等知识适合采用软件模拟技术,具体知识点和相关描述如表1所示。

表1 软件模拟技术的应用范围

[章节\&知识点\&描述\&数的表示\&进位计数制转换\&模拟十进制、二进制、八进制、十六进制和二-十进制的相互换。\&机器数的表示\&模拟不同字长情况下真值和原码、反码、补码和移码的转换。\&校验码\&模拟奇偶校验码、海明校验码和CRC码的校验原理。\&运算方法与运算器\&定点数的四则运算\&模拟补码加减法、原码一位乘、补码一位乘、原码不恢复余数除法和补码不恢复余数除法的运算过程。\&浮点数的四则运算\&在定点数四则运算的基础上模拟浮点数四则运算的运算过程。\&进位链逻辑\&模拟并行进位链的传送过程。\&ALU功能\&模拟181芯片的功能,实现不同控制信号完成不同的操作。\&CPU子系统\&指令系统\&模拟指令操作码功能,实现不同寻址方式下的指令执行。\&微程序控制器\&模拟微指令格式的拟定、微程序的编写和微命令的产生。\&存储子系统\&存储芯片扩展\&模拟利用不同存储芯片构造存储器的过程,包括芯片选择、片选逻辑拟定和存储框图。\&高速缓冲存储器\&模拟高速缓冲存储器的工作过程,以动画的形式显示地址映射、地址变换、调度等过程。\&存储器读写\&模拟静态存储器的读写过程。\&输入输出子系统\&中断方式\&模拟计算机处理中断的过程,以动画的形式显示中断请求产生、中断请求传递、中断响应和中断处理全过程。\&]

在确定应用范围后即可开始模拟程序的编写,在编写过程中应该做到以下几点:

1) 尽量采用面向对象的思想,将部件特征抽象成属性,将部件的功能抽象成方法,形成一个一个的类,这样便于学有余力的学生在示例程序基础上构造一个模型机模拟程序;

2) 在编程实现工作机制的同时,要充分利用各种动画直观的反应工作机制;考虑到课程开设的时间,建议采用Java语言进行开发;

3) 模拟程序应该增加必要的注释,并配备程序流程图,便于开展教学和学生理解。

2.3 模拟程序在教学中的应用方法

为了使软件模拟技术在计算机组成原理课程教学中真正成为帮助学生理解硬件工作原理、培养学生编程能力和设计能力中发挥作用,我们以CDIO教学大纲为指导,进行了大胆创新,探索出一套行之有效的应用方法。

1) 设计合理的教学方法,将软件模拟的思想融入课堂教学。对于可以应用软件模拟技术的知识点,除了讲解原理之外,积极引导学生进行分析,师生共同设计程序流程图,帮助学生掌握具体工作过程,要求学生按照流程图开发模拟程序;同一知识点布置对应的作业,与模拟程序相配合,加深学生对知识点的掌握。同时,将已经设计好的程序在课堂上演示,利用动画直观的反应对应知识点,并为学生编写程序提供参考。

2) 实施分组教学,小组内形成既竞争又合作的关系。按照自愿结合、适当调整的原则,将学生分为若干组。对于简单的模拟程序,要求每名学生均独立完成,但允许相互交流,同时小组内部成员之间从功能完备性、界面友好性和代码规范性等方面进行相互评价;对于复杂的模拟程序,以小组为单位完成,在小组组长的协调下进行合理分工,小组之间开展程序互评。

3) 积极组织学生参与教学,突出“学”的主体地位。在授课中教师有目的的选择一些程序完成较好的同学或小组,在讲台上传授经验;选择完成较差的同学或小组,也上讲台讲解,在查找问题的同时,对其带来压力,以便后期的提高;特别是教师应该有意识地选择平时性格内向、不善交流的同学走上讲台,并对其进行鼓励,突出“人”的培养。

4) 将模拟程序融入课程考评,完善课程评价机制。将模拟程序作为作业的一部分进行考评,计入平时成绩;在期末考试中,部分知识的考评可以要求学生通过绘制流程图和编写模拟程序(此时仅考虑体现原理,不需考虑界面、动画)的方式进行。

5) 注重效果评估。对实施效果进行跟踪、分析,以评估实际效果与预期目标的切合程度,并根据评估结果总结特色,查找不足,以便进行改进。

3 结论

该文从提高教学质量、培养学生创新能力和解决实际问题能力的角度出发,将软件实现与硬件原理有机结合,从应用思路、应用范围、实施方法和效果评估机制等几个方面对软件模拟技术在计算机组成原理中的应用模式进行了探讨。在实际应用中取得了较好的效果,克服了现有计算机组成原理课程教学中存在的不足(课堂学生参与度不够、理论知识掌握不扎实、学生综合能力不强、理论与实践脱节),使计算机组成原理教学体现“基础性、综合性、创新性”的特点,充分调动了学生的学习热情。下一步我们的工作是实现一台模型机工作过程的模拟,开发计算机组成原理虚拟实验平台,并在教学中实施应用。

参考文献:

[1] 罗克露, 刘辉, 俸志刚, 等. 计算机组成原理(第2版)[M]. 北京:电子工业出版社, 2010.

[2] 赵秋云, 何嘉, 魏乐. 对《计算机组成原理》课程教学模式的探讨[J].电脑知识与技术, 2008,4(3): 693-694.

[3] 刘京锐,吴敏华,李志平.CDIO理念在计算机硬件实践课程教学改革中的应用[J].实验技术与管理,2011,28(7):154-156.

[4] 于京生, 陈永志, 康元元. Multisim仿真软件在模拟电子技术实验教学中的应用[J].石家庄学院学报,2011,13(6):46-50.

[5] 张佩莉, 方美琪. 电子商务模拟教学软件新模式的探索与实现——基于网络游戏的模拟社区[J]. 嘉兴学院学报, 2005, 17(S1):40-46.

[6] 陈军. EWB仿真软件在模拟电子技术教学实践中的探讨[J]. 牡丹江大学学报,2010,19(8):140-142.

[7] 虞飞华, 朱锡瑞, 郑韬.基于软件模拟的计算机组成原理实验教学研究与实验[J].中国教育信息化,2012,(3):69-71.

[8] 李春英,汤志康.CDIO模式下的软件工程课程设计实践[J].实验技术与管理,2011,28(6):173-178.endprint

猜你喜欢

计算机组成原理工程教育教学改革
基于CDIO理念的计算机类人才培养模式改革探索
法国高等工程教育的早期发展
面向计算机系统能力培养的计算机组成原理实验教学
用“工程思维”引领《计算机组成原理》课程教学
《计算机组成原理》课程建设的改革与探索