《计算机组成原理》课程设计报告——微程序设计
指导老师:肖铁军,赵蕙
学院:计算机学院
班级:信息安全1501
姓名:周里威
学号:3150604044
一、个人感想
这一个多星期的课设做下来真是收获超大,我强烈建议以后的课可以实验课理论课对半开,现在我们的实验课真是太少了,平时上课基本听不懂,没有实验课根本学不到什么。
我刚开始学习计算机组成原理这门课程的时候感觉,这课怎么这么难啊,什么也看不懂,什么也听不懂,除了介绍一些基本的概念的时候,都没听懂过课讲真,于是乎考试也是一脸懵逼,就挂了。。。。。。。。但是其实上课期间的实验课还是挺有意思的,能够让我稍微了解一点计算机组成原理的一丁点,但是并没有什么卵用,我还是对之啥也不懂,在这挂科加上啥也不懂之际,迎来了可亲可爱的课设。
课设第一天,我在老师在人没来齐就走了的情况下扯了半小时的蛋才开始问到大神,他说老师让我们自己瞎搞先。。。。。
我当时心里真是一万个What the hell 跑了出来,后来才了解原来这是老师的良苦用心,要是一开始就讲讲讲我也是啥也听不到,还不如先实际操作一下先,老师再讲,效果更好(但最好也要先告诉我们该干什么),于是在大神的帮助下,我开始看书上什么微指令,什么寻址方式,什么汇编指令等等东西,好在我还有之前实验的基础,才看了10分钟就看不下去了。。。。。。
于是在社霸们的神奇的搜寻下,一个牛逼学长的报告已经在群里传开了,于是我顺利的完成了第一天的任务,虽然是抄的,但是我知道只是抄是没用的,于是我就不厌其烦的叨扰大神,让他给我一点一点得讲了每一条指令,每一个数据通路运行图上各个部件是啥有啥用等等,虽然有些似懂非懂,但是我似乎领悟到了什么。
第二天开始,我感觉我每天都能学到很多新知识,经过4天的洗礼,我感觉我已经从啥也不懂的小白晋级为青铜圣斗士了,有时其他同学不懂的问题我也能回答一些了,就在我觉得我可以爆发小宇宙的时候,堆栈和中断横亘而来,给了我一个猝不及防的打击,前4天的任务我已经提前半天完成,可剩下的半天我却一点都整不出来,然而听说隔壁的大神已经开始写报告了。。。于是我开始方了,屁颠屁颠的跑去请教大神,于是我又自己加班跟着另一个班一起做,这么难的东西当然要多花时间才能搞定的啦,虽然到最后都没有完全搞定,但是堆栈,中断的基本原理和简单测试还是实现了,这让我感到一丝安慰,突然发现我的感想似乎写得有点长了。。。。。。
总结一下,实验是个好东西,课设真的很有趣。
二、项目任务
本项目的任务是针对第2章所述的OpenJUC-II教学机模型机,设计控制器的微程序,实现该模型机的指令系统。通过课程设计理解指令的执行过程,指令系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。
三、报告主体
报告我分为三个阶段来描述
1 熟悉寻址方式阶段;
2 了解算术,逻辑,移位,程序控制等基本常用指令阶段;
3 尝试堆栈与中断有关指令阶段;
1 熟悉寻址方式阶段
①阶段开始我当然是熟悉数据通路图上画了什么
AR:地址寄存器;DR:数据寄存器;IR:指令寄存器;PC:时钟信号;SP:栈顶指针寄存器;TR:临时寄存器;ALU:运算器;SHIFTER:移位器;A:暂存寄存器;
GRS:寄存器组;IB:总线;WD:写;RD:读;
PSW:程序状态标志位;XXoe:出口;XXce:入口。
②此阶段第二步是熟悉基本的微指令,取指令,取源操作数,取目的操作数,执行指令,保存数据。
以汇编指令MOV #0001H, 0033H 为测试
(1)取指令的微程序
(2)取源操作数微程序
(3)取目的操作数微程序
(4)执行阶段微程序
指令执行结果:把0001写入0033地址中。
(1)取指令的微程序配图
(2)取源操作数微程序配图
(3)取目的操作数微程序配图
(4)执行阶段微程序配图
前面使用了立即寻址以及直接寻址,以下为其他寻址方式的微程序。
(1)寄存器寻址
取源操作数阶段
取目的操作数阶段
(2)寄存器间接寻址
取源操作数阶段
取目的操作数阶段
(3)寄存器自增间接寻址
取源操作数阶段
取目的操作数阶段
(4)立即寻址
取源操作数阶段
取目的操作数阶段
(5)直接寻址
取源操作数阶段
取目的操作数阶段
(6)间接寻址
取源操作数阶段
取目的操作数阶段
(7)变址寻址
取源操作数阶段
取目的操作数阶段
(8)相对寻址
取源操作数阶段
取目的操作数阶段
2 了解算术,逻辑,移位,程序控制等基本常用指令阶段
部分指令配图MOV指令1
MOV指令2
ADD指令
CMP指令
SHR指令
INC指令
3 尝试堆栈与中断有关指令阶段1)堆栈
入栈PUSH
入栈配图1
入栈配图2
出栈POP
出栈配图1
出栈配图2
出栈配图3
测试汇编指令(如上图)
MOV #0051H, R2 PUSH R2
PUSH 0050H POP 0053H POP (R2)
CALL指令
RET指令
2)中断
基于互联网~+的计算机应用基础微课教学 发表时间:2019-12-04T16:59:10.893Z 来源:《学习与科普》2019年37期作者:张瑞平 [导读] 互联网时代的到来给教育行业带来了新的机遇。在这个时代,高校计算机基础教师应与时俱进,加强网络与课堂教学的整合,充分运用“互联网+微格课”的教学模式,减少学生学习的难度,提高他们学习计算机的兴趣,使之更加普及。 内蒙古医科大学内蒙古自治区 010059 摘要:互联网时代的到来给教育行业带来了新的机遇。在这个时代,高校计算机基础教师应与时俱进,加强网络与课堂教学的整合,充分运用“互联网+微格课”的教学模式,减少学生学习的难度,提高他们学习计算机的兴趣,使之更加普及。可以在轻松的学习氛围中丰富自己的计划。计算机知识,提高自己的计算机技能,进而为新时代培养应用型计算机人才。 关键词:互联网;计算机;应用基础;微课教学 1“互联网+”与教育融合的必要性 “互联网+”的概念最早出现于2012年。最初有关于“互联网+”的设想是通过多屏全网跨平台用户与不同行业产品以及服务进行结合,继而实现产业的升级与发展。在2015年全国人大会议上,李克强总理更是就“互联网+”的发展予以了明确的指导与定义。“互联网+”通过经济社会领域和互联网创新成果的充分结合,促进技术进步、提高生产效率和产业结构组织改革。作为时代发展的重要保证,新时期教育事业的发展肩负着新时期人才培养的重要责任。如何加强教育与“互联网+”的有机结合,是摆在所有教育工作者面前的紧迫问题。 2微课教学的优点 2.1课程的趣味性。由于微格课程的课程内容非常简练,具有很强的针对性,因此对于教师来说,课程设置无疑会降低相应的工作难度。与传统的综合所有知识点的课程相比,微课程主要是有选择地选择一部分知识点进行设计,使课程的整体参与性更强,课程本身更具趣味性,能够更好地展现给学生。对于学生的教学过程来说,有趣而高效的应用无疑会使教学工作更加有效,而付出的努力更少。这是因为在学生参与微课程学习的过程中,这种兴趣会演变成对学生注意力的提高,从而促进自主学习能力的培养和学习效率的提高,这不仅是对学生当前学习生活的有效支持,而且是对学生学习生活的有效支持。也是学生未来发展的宝贵财富。 2.2课程的可移动性。与传统的课堂设计相比,微课堂学习的另一个重要特征是它的移动性。课堂组织不仅可以在课堂上建立,而且可以在课堂外的环境中应用。课堂组织方式灵活多样,极大地提高了学生参与的积极性。同时,对于学生的自主学习过程,在网络环境下,学生可以借助相应的网络终端进行学习,可以为学生的回眸或复习提供方便。同时,这种移动便捷的学习模式为一些学习薄弱的学生提供了宝贵的机会,优化和改进了他们的知识库,进一步改善了学生在学习过程中的两极分化现象,帮助学生提高了整体水平。 2.3 课程的内容。相比于传统一个课时四十五分钟,微课的课时基本就保持在5~10 min左右。同时,与传统教学方法复杂的教学内容相比,微课堂讲解的知识点往往只集中在一两个方面。因此,一般来说,这种高度开放的课程更容易被学生接受。高职学生在课程学习中的集中度和参与度较低,这种碎片化的教学方法更适合高职学生的教学工作。在传统的计算机应用基础课程中,教师通过几个连续的操作来指导学生的实践。在学习过程中,学生不仅容易混淆动作,而且难以保证相关知识点的记忆。在微格课程的教学过程中,每一次教学都集中在一次操作上。这种教学方法不仅有助于加深学生的印象,而且提高了学生的实际操作水平。 3“互联网+”时代下计算机基础微课教学的应用 3.1应用微课提升课堂教学效率 在传统的计算机教学模式下,教师通常占据主导地位,而学生经常处于被动状态,师生之间缺少有效的互动,让课堂变得十分压抑,久而久之不仅降低了学生学习计算机基础的兴趣,也容易让他们产生学习疲劳,降低了课堂教学效率。基于互联网时代,微课程在计算机基础教学中的应用,打破了传统的课堂教学模式,增加了师生互动的机会,让学生在轻松的课堂氛围中学习计算机知识,培养自己的计算机实际操作能力。微型课堂在课堂教学中起着辅助作用。教师可以结合教学内容,巧妙地制作微课堂,并添加相应的问题情境,让学生积极思考,找到问题的正确答案,进而充分发挥微课堂的作用。比如在学习“进制转换”过程中,多数学生都没有清楚认识“二进制”的概念,经常采用死记硬背的学习方式对其计算方法进行学习,这种方式不利于他们对知识点的理解及记忆,再加上“二进制”比较抽象难懂,学生在学习过程中极可能产生挫败感,导致他们对计算机基础产生厌烦心理,失去学习的兴趣。在这种情况下,教师就可以根据“二进制”相关知识点合理制作微视频,可以选择用Flash动画形式将进制转换过程展示出来,通过微课来增强学生对这些概念的理解及掌握,进而提升课堂教学效率。 3.2 应用微课创新教学方法 在传统的计算机课堂教学当中,教师经常使用的是“板书为主,机房为辅”的教学方法,学生虽然掌握了计算机的理论知识,但是却不会对这些知识进行合理运用,影响了学生的全面发展,不符合素质教育中的有关要求。导致这种现象出现的重要原因就是教师缺乏对计算机实践操作和计算机理论知识的有效认识,没有分配好理论知识讲解和实践操作在计算机教学中的比例。在这种情形下,教师就应该结合社会市场需求,对课堂教学方法进行优化,充分应用微课教学,进而确保课堂教学质量。比如在学习“Word文档制作”时,教师可以结合这个章节的相关知识点合理进行选题,再根据学生对知识点的理解情况对教学内容进行合理设计。在对微课进行设计时,应该遵循下述两点原则:(1)利用微课引出新课题,对教学重点及教学难点进行简要概括,让学生对它们有个初步了解。(2)对知识点进行总结归纳,在这个过程中要注意知识点间的相互联系。对于Word文档制作而言,自动生成目录和调整保存格式都属于教学的难重点,因此,教师要通过微课对这些知识点进行细化。例如在讲解“自动生成目录”时,教师应向学生阐明本章的重要知识点是目录,然后根据相关知识安排自动生成步骤,如明确编辑区域,点击需要生成目录的部分,选择插入目录,修改样式并更新目录。在这一过程中,教师必须注意步骤的顺序,使学生能够按照微观的相关步骤在课堂上制作自己的word文档,这不仅丰富了学生的计算机理论知识,而且锻炼了他们的计算机操作能力。 3.3应用微课优化教学环节 在网络时代,微类资源具有很强的交互性色彩。在课堂教学中,教师应通过多种方式整合微格资源,建立微格资源库,充分利用网络,共享教学资源,实现学生、教师和学生的有效互动。及时在教学资源网络中增加新内容,确保课堂教学更加生动高效。例如,在学习
1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。
《面向对象程序设计》课程设计 课程代码:*****(采用现行5位数字的课程代码) 课程名称:面向对象程序设计课程设计 设计周数:1周 学分:0.5学分 课程类别:必修课 一、课程设计的目的与任务 面向对象程序设计课程设计是计算机科学与技术、网络工程、信息管理与信息系统等专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。通过课程设计,学生可以将本课程所学知识点融会贯通,举一反三,加深实践与理解,提高学生综合运用所学知识的能力;另一方面,在参与一系列子项目的实践过程中,能使学生获得相关项目管理和团队合作等众多方面的实践经验。其目的在于加深对面向对象程序设计理论和基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,使学生掌握基本的信息系统分析方法、设计方法和上机操作的各种技巧,对培养学生的逻辑思维能力、团队合作精神、创新能力、动手操作能力各方面素质有提供了良好的实践平台,为后续课程的学习打下一定的基础。 二、本课程设计的基本理论 本课程设计使用面向对象程序设计的方法解决实际问题,涵概了课程的所有重要知识点,如类与对象、继承与组合、虚函数与多态性等。 三、课程设计的形式与基本要求 形式:召开课程设计动员会,根据学生的学习水平和特长进行分组,每组选择指定课程设计的题目和内容。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成所选课题的设计,最后由指导教师进行验收及评定。 基本要求:要求学生做好预习,认真分析设计过程中涉及到的算法,并确定所选课题的功能模块,详细描述各模块的具体内容;用流程图描述实现算法,根据算法进行代码的编写,最后进行反复上机调试修改,直到输出正确结果为止。 认真写好课程设计报告,根据每组学生的分工,各自写出对解决问题的详细分析、模块功能、调试结果,最后将课程设计报告上交给指导教师。 四、课程设计的内容 选题一:员工管理信息系统 (1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄(必须计算得到)。
7. 什么叫系统的并行性?粗粒度并行和细粒度并行有何区别? 答:所谓并行性包含同时性和并发性。同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或多个事件在同一时间段发生。即在同一时刻或同一时间段内完成两个或两个以上性质相同或性质不同的功能,只要在时间上存在相互重叠,就存在并行性。 并行性又分为粗粒度并行和细粒度并行两类。粗粒度并行是指在多个处理机上分别运行多个进程,由多台处理机合作完成一个程序,一般用算法实现。细粒度并行是指在处理机的指令级和操作级的并行性。 8. 什么是指令流水?画出指令二级流水和四级流水的示意图,它们中哪个更能提高处理机速度,为什么? 答:指令流水是指将一条指令的执行过程分为n 个操作时间大致相等的阶段,每个阶段由一个独立的功能部件来完成,这样n 个部件就可以同时执行n 条指令的不同阶段,从而大大提高CPU 的吞吐率。 指令二级流水和四级流水示意图如下: IF ,ID EX ,WR IF ,ID EX ,WR IF ,ID EX ,WR 二级指令流水示意图四级指令流水示意图IF ID EX WR IF ID EX WR EX WR IF ID 四级流水更能提高处理机的速度。分析如下: 假设IF 、ID 、EX 、WR 每个阶段耗时为t ,则连续执行n 条指令 采用二级流水线时,耗时为:4t+(n-1)2t=(2n+2)t 采用四级流水线时,耗时为:4t+(n-1)t=(n+3)t
在n>1时,n+3<2n+2,可见四级流水线耗时比二级流水线耗时短,因此更能提高处理机速度。 17. 在中断系统中INTR、INT、EINT三个触发器各有何作用? 解:INTR——中断请求触发器,用来登记中断源发出的随机性中断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定的中断请求信号。 EINT——中断允许触发器,CPU中的中断总开关。当EINT=1时,表示允许中断(开中断),当EINT=0时,表示禁止中断(关中断)。其状态可由开、关中断等指令设置。 INT——中断标记触发器,控制器时序系统中周期状态分配电路的一部分,表示中断周期标记。当INT=1时,进入中断周期,执行中断隐指令的操作。 24. 现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D 顺序排列。若中断服务程序的执行时间为20μs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。解:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹图如下:
《计算机应用基础》微课制作经验谈 《计算机应用基础》课程是高职院校各专业学生必修的一门公共基础课,涉及面广、影响大,它是传授计算机基础知识和培养计算机应用能力的入门课程。为高职学生熟练应用计算机办公软件进行常用的办公事务处理提供保障,为后续课程学习提供知识储备,为学生工作就业奠定基础。因此,为学生提供优质高效灵活的教学服务是十分必要的。 1高职《计算机应用基础》微课设计的意义 高职学生普遍存在注意力集中时间短、学习碎片化现象。传统的课堂教学具有系统性优点,但结构化的课程体系与网络时代知识碎片化、学习碎片化、时间碎片化之间存在矛盾,因此,高职学生的课堂学习效率极其容易受影响,《计算机应用基础》这类实践性较强课程,许多院校的计算机应用基础课在教学方式上采用“理论+实训”、“一体化”教学,老师演示操作时,学生或因走神、或因为自己曾经学过而满不在乎,结果在某些操作细节疏忽了,导致后面的操作不会做,需要教师花费大量时间对学生课堂疏漏的知识点进行重复指导,这在课时有限的正常教学中往往很难周全。许多院校由于学生要参加计算机等级考试,教学内容上采用统一的教学内容,在教学方法上主要是结合等级考试内容进行案例教学,学生对知识的迁移能力较差,缺乏知识的应用能力,即
使考试通过,学生也难将知识灵活地运用到实际的学习、生活和工作中。因此,如何让学生通过自学、互助学习所需知识,弥补课堂缺陷很重要,许多学校通过校园网、精品课程对学生进行课外延伸教育,但这些课程通常需要较完整时间进行学习,许多高职学生无法坚持,造成资源的利用率较低,“微课”的诞生使得这个困惑了多年的问题得以解决。 “微课”是一种与传统课堂教学不同的教学设计,又有别于传统精品课程的教学课件,是在传统教学课例等资源类型基础上继承和发展起来的一种新型教学资源,由于其短小精悍、灵活高效的授课特点,在方便学生们的学联盟习的同时,也提高了教学的效率,确为教学一大利器。由于生源地域差别,基础起点不同,学生对《计算机应用基础》这门公共基础必修课,课程学习侧重点不同,在课堂上的诉求也不同。要在满足高职学生的学习愿望,必需为其提供丰富的教学内容、灵活多样的学习资源。因此,高职院校《计算机应用基础》微课的制作有着十分重要的意义。 2《计算机应用基础》微课教学的可行性 微课的含义 微课之所以称之为“微”,有两重含义,时间之“微”和传授知识量之“微”。 1)时间:“微课”的时长一般为几分钟左右,最短时长不受限,最长时长不宜超过10分钟,以讲清楚一两个独立完