- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基干Web虚拟仿真器在《计算机体系结构》本科教学中应用
基于Web的虚拟仿真器在《计算机体系结构》本科教学中的应用 摘要:针对计算机本科主干专业课《计算机体系结构》教学中存在的困难和挑战,在分析对比了国内外同类模拟器优缺点的基础上,整合设计了一套基于Web模式的体系统结构教学模拟器。这套模拟器覆盖的知识点全面深入,简单易用,在教学实践中发挥了很好的作用
关键词:计算机体系结构;本科教学;模拟器
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)42-0179-03
一、引言
计算机体系结构是计算机本科专业的一门重要的专业基础课,是一门从架构的角度学习、领会计算机系统的必修课程。这门课在计算机专业知识体系中有承上启下的衔接地位,能够把计算机组成原理、操作系统、编译原理、汇编语言等课程中所学的软硬件知识有机地结合起来,有利于建立起计算机系统设计的完整概念
然而这门课程的教和学的过程中都存在不少困难,很多理论原理用传统的教学法难以让学生有效地理解。怎样将体系结构课程中那些抽象难懂的主题以生动清晰的方式展现在学生面前,让学生可以与这些主题中的流程动态交互的方式来学习,是这门课程教学中的一个挑战。虚拟仿真器(即模拟器)就成为解决这一挑战的有力工具。在国外著名大学的教学中都借助了这样的手段,诞生了许多这样的模拟器工具[1,2]
这些国外常用的模拟器在教学中应用时还存在不少问题,其中比较突出的是:有的与教材内容的匹配度不够高;有的操作复杂,运行结果不宜理解,缺乏相应的动画效果;有的则过于简化,覆盖的功能集太小等。这些不足已成为模拟器真正提高教学质量的绊脚石
在国内设计的模拟器中,同济大学的张晨曦教授开发的一套体系结构模拟器算是国内同类模拟器中的佼佼者[3]。然而在我们的教学使用中也发现它虽简单易用,原理展示清晰,但是仍不能满足我们的教学需求。比如,其中的MIPSsim模拟器不能在64位系统上运行,在MIPS指令集的支持上受限,对浮点L.D和S.D指令支持不好等。其中的Cache模拟器没有清晰展示原理细节,只适合性能分析实验。这套模拟器尚缺少超标量、多线程、虚拟存储、SIMD、输入输出等方面的支持。还有就是只能在windows平台使用,带来了使用上的限制
二、基于Web的体系结构模拟器整合设计
从头设计全套的体系结构模拟器是要花费大量的人力物力的。我们考虑的原则是:尽量整合国内外的优秀模拟器技术,并且容易获取、容易使用,不受使用平台的限制。用Web技术整合现有优秀的模拟器,只需一个浏览器,不需事先安装,不论什么平台都可访问使用,而且还可以方便我们对每个学生使用情况进行监控。我们在校内建立了一个教学模拟器的服务器网站(校内IP是172.23.204.31)。里面整合了国外著名大学使用的一些Web模式的体系结构教学用模拟器。图1是该计算机体系结构教学模拟器主页
由于包含的模拟器数量较多,下文简单描述其中的几个。图2是基于Web的MIPS模拟器,能够演示MIPS五段流水线中用到的各个数据通路部件,特别是冲突检测单元和定向单元。模拟器中不仅列出了每条指令的类型(I型、R型或J型等)和二进制格式(指令的各个字段),还把MIPS指令的执行过程与流水线的处理、控制和数据通路设计结合在一起
图3是一个简单的流水线模拟器,以时钟周期图的方式演示了5段流水线的冲突问题及其解决方案,主要是针对数据冲突的解决方法(指令调度和定向技术)。图4是侧重动态调度技术的流水线模拟器,不仅可以演示静态调度,还可以对比演示常用的动态调度技术,比如记分牌算法(Scoreboarding)和Tomasulo算法
图5是针对动态分支预测技术的模拟器,可以演示分支历史表(1位或2位)技术和关联预测(2*2)技术。图6是向量机模拟器,可以动态展示向量机的执行过程以及冲突检测,并可以对向量机中的链接技术(Chaining)做对比分析教学
三、应用示例
本节以图3所示的简单流水线模拟器为例,分析一下该模拟器的使用。在图1所示的模拟器主页页面选择Pipelining(w amp; w/o forwarding),便进入到该流水线模拟器界面。先在界面左上角的指令执行周期设置窗口中设置长周期指令的执行时间(该执行时间是5段流水线中EX段的时间),比如分别设置浮点加减、浮点乘法、浮点除法和整数除法的执行时间为2、4、6和2个时钟周期,如图7所示。除了这4类指令之外,其他所有指令的执行时间都默认是1个周期
通过右上角的添加窗口添加几条要执行的指令,比如,依次添加以下4条指令,添加后的结果如图8所示,分别为浮点加载指令、浮点加法指令、浮点加法指令和浮点存储指令。指令添加完后,潜在的冲突窗口就给出了这几条指令之间的潜在的冲突分析,如图9所示。指令0和1之
原创力文档


文档评论(0)