博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

我的小屋-----I love it

我的小天地,我的心灵之地
  ppzhang.cublog.cn

关于作者
姓名:ppzhang
职业:学生
年龄:20
位置:
个性介绍:
相互学习,相互交流,希望成为好朋友!
|| << >> ||
我的分类


计算机组成原理课程设计----基本模型机的设计与实现(三)

六、微程序流程及说明

以下是基本模型机和带移位运算的设计和实现的调试的基本步骤:

①连续运行

 A、将编程开关置为RUN(运行)状态,“STEP”置为“STEP ”,“STOP” 置为“RUN”。

B、使CLR101 ,微地址寄存器清零,程序计数器清零。按动START键,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。

C、停机后,可检查存数单元(0B)中的结果是否和理论值一致。

D、在联机运行程序时,进入DEBUG调试界面,使CLR101,序的首地址为00H,按相应功能键即可联机运行、调试程序。

②单步运行程序

1、运用联机软件的传送文件功能(F4)将该格式文件传入实验系统。

2、使编程开关处于“RUN”状态,STEP处于“STEP”状态,STOP处于(STOP)状态。

3、拨动总清开关CLR0>1),微地址清零,PC计数器清零,程序首地址为00H

4、按F6进入DEBUG界面,再按相应的功能键可以进入分步调试。

1基本模型机的设计和实现结果分析:

理论分析:输入的被减数为B8H184D)减数为8H8D),则两个数相加为:B8H-8H=B0H176D)。

实验结果:输出和为B0H,十进制数为176D

由上面可得理论分析和实验结果相吻合,故实验正确。

2带有移位基本模型机的设计和实现结果分析:

1从实验电路中装入第一个加数, 10H(0001000),并且从内存中读取另一个加数10H(00010000) 10H+10H=20H(00100000).2 将结果20H(00100000)进行RRC带进位的左移操作,OF=0,得结果为40H(010000000)3 将结果40H(00100000)进行RL左移,得结果为80H(10000000)

 

 

七、心得体会

(一)课设感受和体会:

1.基础知识和原理很重要

   我们试验指导书上给给出了基本模型机设计与实现,其中用到了加法指令。我们按照指导书把试验做出来了,但是不知道为什么是这样的。然而,老师要求我们改变其中的指令实现不一样的功能。我们小组就按照指导书并结合课本,另外,还有机房的联机软件,可以把数据的流向看的非常清楚。更有利于我们的理解。如果不了解这些指令,我们就无法去更深层次的去设计出其它的模型机。

2.认真听老师的讲解加上主动请教老师

  计算机组成原理是一些计算机底层的东西,有时自己看书很难明白。所以,我们要多问老师。老师讲解的时候,我们要做好笔记,我们遇到问题的时候,要主动请教老师。通过这样的交流,我们对计算机模型机设计与实现这个问题会有新的认识。把自己的想法和思路跟老师交流,看看自己计划的可行性。

3.多查资料和网络实现资源共享(图书馆和Internet

我查了其它高校的计算机学院的教学资源网站,也有相关的内容。我把这些资料下载下来,并本类打印了,以便参阅。为了做好这个课设,由于北区的图书资料比较少,就去了南区借了四本有关图书。其实,网上有很多这方面的资料。我去了(www.csdn.net)查到了很有用的资料,是一位网友上传上去的。网络让我们的资源实现共享,这样最大的受益者就是我们这些大学生了和一些研究者。通过网络还和一下网友交流了,自己的想法,并把自己的想法和思路和他们交流了一下。

4.实践是检验真理的唯一途径

有了思路,设计好了,把自己的设计通过指令输入联机软件中,看电路中数据的流向和最终的结果和理论是否相符,开始的时候不知道什么问题,得出的结果是错的。后来换了一台计算机之后,就正确了,经分析后,才知道,是联机的模型级出现了问题,导致指令不能正常执行。通过分析和设计后,让自己对计算机的内部构造和指令的执行有了更加深刻的认识。

还要多老师的指导,最终把问题解决。

(二)与众不同之处:

1.这两个模型机设计与实现中,先把数据通过“INPUT DEVICE ”输入送入至内存之中, 通过微程序控制器,取出相应的[16H]地址中的内容,再送往运算器,进行两个数的相加或相减。相加或相减可以通过改变相应的微程序代码而来变化。

相加只要在微地址为[06]的微程序改为:$ M06019A95

相减只要把以上微程序改为:   $ M06019A61

也可以把减数进行改变只要把[16H]地址的所对应的微程序改为:$ MP1608

2、在带移位运算的模型机的设计与实现中,

实验中有4条移位运算指令:RL(左环位)     RLC(带进位左环移) 

RR(右环移)   RRC(带进位右环移)

先把数据通过“INPUT DEVICE ”输入送入至内存之中, 通过微程序控制器,取出相应的[0DH]地址中的内容,再送往运算器,进行两数的相加。再进行带进位左环移。再输入其他的数据则可以进行其他方法的运算。

开始输入的数据为(R0)10H(十六进制),加数[16H]地址的内容为10H(十六进制);实验中得到两数相加的和为(R0)20H(十六进制);再进行带进位左环移可得到(R0)40H (十六进制);第二次输入的数据为:40H(十六进制);进行左环移得到的数据(R0)为:80H(十六进制)

理论值:

40H(十六进制)对应的二进制为:0100 0000,进行带进位的左环移如下图:

0

0100  0000

 

 

 


    (带进位的左环移)                      

可得理论值为:1000 0000 转换为十六进制为:80H

可见实验值与理论值一致。


八、参考文献

[1] 苏金明,周建斌.VB.NETVC#.NET开发交互式CAD系统[M]. 北京:电子工业出版社,2004

[2] 普悠玛.VB.NET程序设计示例导学[M]. 北京:科海电子出版社,2003

[3] CCT-IV 计算机组成原理实验指导书   启东计算机厂有限公司

[4] 胡越明 .《计算机组成与系统结构》  电子工业出版社

[5] 计算机组成原理                    科学出版社 白中英 主编

[6] 计算机组成原理实验指导及习题解答 甘肃教育出版社文哲蓉 苟平章

发表于: 2008-06-27,修改于: 2008-06-28 17:14,已浏览227次,有评论1条 推荐 投诉


网友评论
网友: 本站网友 时间:2008-09-02 11:54:55 IP地址:221.7.40.★
不错,继续加油

 发表评论