编程下的计算机组成原理实验教学(共5209字).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《编程下的计算机组成原理实验教学(共5209字).doc》由会员分享,可在线阅读,更多相关《编程下的计算机组成原理实验教学(共5209字).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编程下的计算机组成原理实验教学(共5209字)摘要:该文分析了基于编程的计算机组成原理实验教学方法,介绍了字节顺序和数据对齐、存储器层次结构与局部性原理、整数的机器表示与运算、浮点数的表示与运算、DEBUG与机器指令、C语言程序的机器级表示等实验教学内容。实践表明,基于编程的实验教学对学生学习和掌握计算机组成原理十分有效。关键词:计算机组成原理;实验;教学;编程;C语言1引言计算机组成原理课程的主要目标是:(1)理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。(2)理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构
2、的基本知识和基本实现方法。(3)能够综合运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,对一些基本部件进行简单设计;并能对高级程序设计语言(如C语言)中的相关问题进行分析1。该课程实验教学是课程不可缺少的组成部分和重要环节,通过理论联系实际,可以加深理解和掌握计算机的组成原理,为计算机组成原理的具体应用打下基础,实验课与理论课相互作用才能实现课程的总体目标。5年多以前,我们采用一些专门的实验教学系统(实验箱)进行计算机组成原理实验,如:EL-JY-计算机组成原理实验系统。利用实验教学系统开设了运算器、移位运算、存储器读写和总线控制、总线控制、微程序控制
3、器原理、微程序设计、简单模型机组成原理等实验,对计算机组成原理的理论教学具有一定的帮助,但也存在不少问题,主要有:(1)通过插拔连线、拨动开关、编制微程序等操作步骤与实验系统进行交互完成验证性实验,学生普遍对操作过程有兴趣,但不少学生只关注操作过程,不注意学习背后的原理,不能很好地起到巩固理论教学内容的作用。(2)对于简单的实验,学生基本上能够顺利完成,但比较复杂的实验(如:简单模型机组成原理实验)却很少成功,打击了不少学生的学习积极性。没有Cache、浮点数的表示与运算等实验内容。(3)实验箱数量相对较少,学生人数较多,只能分成多个小组进行实验教学,而且实验箱有时会因故障得不到及时维修,给实
4、验教学带来很大影响。(4)实验箱教学系统与学生应用开发的环境差距很大,学生很难感受到计算机组成原理课程对实际计算机应用开发的作用。为了解决传统实验教学存在的问题,为了适应新时代的教学需要,激发学生的学习兴趣,从2015年起开始我们对计算机组成原理的实验内容和实验方式进行了改革,紧扣经典教材2,结合我们的实际情况,进行了基于编程的实验教学探索,基本思想是通过程序员的视角3,4,5来学习、理解、掌握计算机组成原理,在这几年的实践中对实验教学内容进行了不断修改、补充和完善。实践表明,基于编程的实验教学具有较好的教学效果,受到学生的肯定。下文将简要介绍基于编程的实验教学改革的最新内容。2基于编程的实验
5、教学内容2.1字节顺序和数据对齐数据在内存中的字节顺序一般包括两种:大端方式和小端方式2,3。大端方式是指数据的高字节存放在低地址,低字节存放高地址,也就是数据在内存中从高位字节开始存放。而小端方式则相反,数据的低字节存放在低地址,高字节存放在高地址,也就是数据在内存中从低位字节开始存放。数据的大端、小端方式存放顺序如图1中左图所示。内存中数据存放方式的验证可以通过调用图1中右图的C语言函数3,6来实现,将输出从地址start开始的len个字节的地址及该地址存放字节的十六进制值。数据对齐是指系统要求数据在内存中的起始地址值(边界)能被该数据所占字节数整除,如C语言中的short类型数据占2字节
6、,要求其起始地址能被2整除,int类型数据占4字节要求其起始地址能被4整除,等等。正是由于这个原因,当C语言结构类型数据中包含不同类型数据成员时,相邻成员之间地址不一定是连续的,可能存在“空隙”。数据边界对齐的验证可以通过调用图1中右图的C语言函数来实现。该实验通过编写、运行、调试C语言程序,帮助学生理解各种数据类型的数据在内存中的字节顺序(大端还是小端),理解各种数据类型的数据在内存中的边界对齐方式,并掌握结构数据内各成员在内存中地址之间的关系以及结构数据大小的正确计算方法(相邻成员之间地址不一定是连续的),从而加深对理论教材相关内容的理解,同时也可以对C语言相关内容的温习与深化。2.2存储
7、器层次结构与局部性原理现代计算机存储器采用金字塔层次结构。高速缓存(Cache)至关重要,可以利用Windows10任务管理器的性能选项卡(或CPU-Z软件)查看系统的缓存结构,如图2所示,如:L缓存、L2缓存、L3缓存容量及特性,如:一级数据缓存(大小32KBytes2,8-waysetassociative,64-bytelinesize)等。实验要求学生理解这些参数的含义,并分析L1缓存分为L1指令缓存和L1数据缓存的原因。这些问题在理论教材2,3,8中都有详细介绍(特别是Cache的工作原理)或说明。通过实际编程理解程序访问的局部性(时间和空间局部性)原理对系统性能的影响是本实验的主要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 计算机 组成 原理 实验教学 5209
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内