微程序控制和设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告课程名称:计算机组成原理实验实验项目:微程序控制和设计姓名:舒鹏专业:网络工程班级:11-3学号:1104020321计算机科学与技术学院实验教学中心2013年6月24日成绩:哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告实验项目名称:微程序控制和设计一、实验目的综合运用所学计算机原理知识,设计微程序实现题目规定的指令。二、实验内容在做综合实验时,可以用COP2000计算机组成原理实验软件输入、修改程序,汇编成机器码并下载到实验仪上,由软件控制程序实现单指令执行、单微指令执行、全速执行,并可以在软件上观察指令或微指令执行过程中数据的走向、各控制信号的状态、各寄存器的值。COP2000软件的使用方法见第七章“COP2000集成开发环境使用”。也可以用实验仪自带的小键盘和显示屏来输入、修改程序,用键盘控制单指令或单微指令执行,用LED或用显示屏观察各寄存器的值。实验仪上的键盘使用方法见第六章“实验仪键盘使用”。在用微程序控制方式做综合实验时,在给实验仪通电前,拔掉实验仪上所有的手工连接的接线,再用8芯电缆连接J1和J2,控制方式开关拨到“微程序控制”方向。若想用COP2000软件控制组成原理实验仪,就要启动软件,并用快捷图标的“设置”功能打开设置窗口,选择实验仪连接的串行口,然后再按“连接COP2000实验仪”按钮接通到实验仪。微指令格式:模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。2)完成对R0,R1,R2,R3这四个寄存器的排序工作,按R0-R3降序排序。3)排序采用冒泡排序法,分别对于R0和R1,R1和R2,R2和R3,三个关系进行判断。若一个关系的前者小于后者,则通过stack寄存器交换两者的值,若前者大于后者,则继续进行下一个关系的大小判断。三个关系依次判断一遍之后,可以保证四个数的最小的数在R3中。再对于三个关系依次判断一遍之后,可以保证第二小的数在R2中,再对于三个关系依次判断一遍之后,可以保证第三小的数在R1中,此时最大的数就在R0中,排序完成。4)循环执行了三次,用一个数记住循环计数,这个数存在EM中。每次执行一次循环之后就减1,当循环计数为0时,程序结束。指令/微指令表:指令表哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告三、实验用设备仪器及材料COP2000实验仪、导线若干、系统计算机。四、实验原理在综合实验中,模型机作为一个整体来工作的,所有微程序的控制信号由微程序存储器uM输出,而不是由开关输出。在做综合实验之前,先用8芯电缆连接J1和J2,这样实验仪的监控系统会自动打开uM的输出允许,微程序的各控制信号就会接到各寄存器、运算器的控制端口。此综合实验使用的指令是模型机的缺省指令/微指令系统。六、实验结果分析实验1:数据传送实验/输入输出实验1.在COP2000软件中的源程序窗口输入下列程序哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告2.将程序另存为EX1.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器码、反汇编指令。程序地址机器码反汇编指令指令说明007C12MOVA,#12立即数12H送到累加器A027D12MOVA,RO将R0中的内容送到累加器A047E12MOVA,@R0将R0中的内容作为地址送到A067FMOVA,01H将地址01H中的内容送到A3.按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作。给出EX1.ASM程序跟踪结果。实验2:数据运算实验(加/减/与/或)1.在COP2000软件中的源程序窗口输入下列程序2.将程序另存为EX2.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器码、反汇编指令。程序地址机器码反汇编指令指令说明0021ADDCA,R1累加器A的值加上寄存器R1加进位0222SUBA,@R0累加器A的值减去R0地址中的值0423ANDA,#55H累加器A的值与立即数55H按位与0624ORA,02H累加器A的值与02H中的值按位或3.按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作。给出EX2.ASM程序跟踪结果。4.在了解数据运算的原理,可以加上一些数据传输指令给累加器A或寄存器R?赋值,再运算,并观察运算结果。练习:综合运用实验1与实验2的相关功能操作完成任务。MOVA,#12HMOVA,R0MOVA,@R0MOVA,01HINOUTENDADDCA,R1SUBA,@R0ANDA,#55HORA,02HEND哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告将立即数44H,77H,33H,55H分别送入寄存器R0,R1,R2,R3中,立即数11H送入累加器A中,并完成下面的运输操作:MOVR0,#44HMOVR1,#77HMOVR2,#33HMOVR3,#55HMOVA,#11HADDCA,R1SUBA,@R1ANDA,#55HORA,02HINOUTEND1)按快捷图标的F7,执行“单微指令运行”功能,观察执行下面每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作。给出EX2.ASM程序跟踪结果。ADDCA,R1SUBA,@R1ANDA,#55HORA,02H5)实现寄存器R0,R1,R2,R3的数据相加。MOVR0,#44HMOVR1,#77HMOVR2,#33HMOVR3,#55HMOVA,R1ADDA,R2ADDA,R3ADDA,R0INOUTEND试验二:对于存放在R0~R3中的数进行排序,有序的存回R0~R3。分析:哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告对待比较两个数采用减法比较大小,然后按照顺序存回。针对排序过程可采用不同排序方法,如:冒泡排序,快速排序等。并可以查看不同排序方法在实验仪器上的效率。这个实验过程涉及到数大小比较,数据存储,程序跳转控制,这些过程均能在COP2000计算机组成原理实验仪上完成。在数据结构中,我们学习了对数字排序的不同算法,并详细学习了算法复杂度。但是针对我们使用的计算机不能体会到不同算法在时间上的不同。此次试验能够具体体会算法之间在时间复杂度上的区别。有一定的实验意义。综上所述:本次试验目标至少做出一种排序方法,并在此基础之上比较各种排序方法的效率。试验代码为:MOVR0,#37HMOVR1,#17HMOVR2,#29HMOVR3,#41HMOVA,#03HMOV02H,ALOOP:MOVA,R0SUBA,R1JCS0M1:MOVA,R1SUBA,R2JCS1M1:MOVA,R2SUBA,R3JCS2M3:SUBA,#01HJCS3JMPLOOPS0:MOVA,R0PUSHR0MOVR1,A哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告POPR1DCYJMPM1S1:MOVA,R1PUSHR1MOVR2,APOPR2DCYJMPM2S2:MOVA,R2PUSHR2MOVR3,APOPR3DCYJMPM3S3:INOUTEND

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功