微程序控制和设计知识分享.docx

上传人:b****8 文档编号:29072190 上传时间:2023-07-20 格式:DOCX 页数:11 大小:168.22KB
下载 相关 举报
微程序控制和设计知识分享.docx_第1页
第1页 / 共11页
微程序控制和设计知识分享.docx_第2页
第2页 / 共11页
微程序控制和设计知识分享.docx_第3页
第3页 / 共11页
微程序控制和设计知识分享.docx_第4页
第4页 / 共11页
微程序控制和设计知识分享.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

微程序控制和设计知识分享.docx

《微程序控制和设计知识分享.docx》由会员分享,可在线阅读,更多相关《微程序控制和设计知识分享.docx(11页珍藏版)》请在冰豆网上搜索。

微程序控制和设计知识分享.docx

微程序控制和设计知识分享

 

微程序控制和设计

成绩:

实验报告

课程名称:

计算机组成原理实验

实验项目:

微程序控制和设计

姓名:

舒鹏

专业:

网络工程

班级:

11-3

学号:

1104020321

计算机科学与技术学院

实验教学中心

2013年6月24日

实验项目名称:

微程序控制和设计

1、实验目的

综合运用所学计算机原理知识,设计微程序实现题目规定的指令。

2、实验内容

在做综合实验时,可以用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时,程序结束。

指令/微指令表:

指令表

3、实验用设备仪器及材料

COP2000实验仪、导线若干、系统计算机。

4、实验原理

在综合实验中,模型机作为一个整体来工作的,所有微程序的控制信号由微程序存储器uM输出,而不是由开关输出。

在做综合实验之前,先用8芯电缆连接J1和J2,这样实验仪的监控系统会自动打开uM的输出允许,微程序的各控制信号就会接到各寄存器、运算器的控制端口。

此综合实验使用的指令是模型机的缺省指令/微指令系统。

 

6、实验结果分析

实验1:

数据传送实验/输入输出实验

1.在COP2000软件中的源程序窗口输入下列程序

 

MOVA,#12H

MOVA,R0

MOVA,@R0

MOVA,01H

IN

OUT

END

2.将程序另存为EX1.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器码、反汇编指令。

程序地址

机器码

反汇编指令

指令说明

00

7C12

MOVA,#12

立即数12H送到累加器A

02

7D12

MOVA,RO

将R0中的内容送到累加器A

04

7E12

MOVA,@R0

将R0中的内容作为地址送到A

06

7F

MOVA,01H

将地址01H中的内容送到A

3.按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作。

给出EX1.ASM程序跟踪结果。

实验2:

数据运算实验(加/减/与/或)

1.在COP2000软件中的源程序窗口输入下列程序

ADDCA,R1

SUBA,@R0

ANDA,#55H

ORA,02H

END

2.将程序另存为EX2.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器码、反汇编指令。

程序地址

机器码

反汇编指令

指令说明

00

21

ADDCA,R1

累加器A的值加上寄存器R1加进位

02

22

SUBA,@R0

累加器A的值减去R0地址中的值

04

23

ANDA,#55H

累加器A的值与立即数55H按位与

06

24

ORA,02H

累加器A的值与02H中的值按位或

3.按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作。

给出EX2.ASM程序跟踪结果。

4.在了解数据运算的原理,可以加上一些数据传输指令给累加器A或寄存器R?

赋值,再运算,并观察运算结果。

练习:

综合运用实验1与实验2的相关功能操作完成任务。

将立即数44H,77H,33H,55H分别送入寄存器R0,R1,R2,R3中,立即数11H送入累加器A中,并完成下面的运输操作:

MOVR0,#44H

MOVR1,#77H

MOVR2,#33H

MOVR3,#55H

MOVA,#11H

ADDCA,R1

SUBA,@R1

ANDA,#55H

ORA,02H

IN

OUT

END

1)按快捷图标的F7,执行“单微指令运行”功能,观察执行下面每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作。

给出EX2.ASM程序跟踪结果。

ADDCA,R1

SUBA,@R1

ANDA,#55H

ORA,02H

5)实现寄存器R0,R1,R2,R3的数据相加。

MOVR0,#44H

MOVR1,#77H

MOVR2,#33H

MOVR3,#55H

MOVA,R1

ADDA,R2

ADDA,R3

ADDA,R0

IN

OUT

END

试验二:

对于存放在R0~R3中的数进行排序,有序的存回R0~R3。

分析:

对待比较两个数采用减法比较大小,然后按照顺序存回。

针对排序过程可采用不同排序方法,如:

冒泡排序,快速排序等。

并可以查看不同排序方法在实验仪器上的效率。

这个实验过程涉及到数大小比较,数据存储,程序跳转控制,这些过程均能在COP2000计算机组成原理实验仪上完成。

在数据结构中,我们学习了对数字排序的不同算法,并详细学习了算法复杂度。

但是针对我们使用的计算机不能体会到不同算法在时间上的不同。

此次试验能够具体体会算法之间在时间复杂度上的区别。

有一定的实验意义。

综上所述:

本次试验目标至少做出一种排序方法,并在此基础之上比较各种排序方法的效率。

试验代码为:

MOVR0,#37H

MOVR1,#17H

MOVR2,#29H

MOVR3,#41H

MOVA,#03H

MOV02H,A

LOOP:

MOVA,R0

SUBA,R1

JCS0

M1:

MOVA,R1

SUBA,R2

JCS1

M1:

MOVA,R2

SUBA,R3

JCS2

M3:

SUBA,#01H

JCS3

JMPLOOP

S0:

MOVA,R0

PUSHR0

MOVR1,A

POPR1

DCY

JMPM1

S1:

MOVA,R1

PUSHR1

MOVR2,A

POPR2

DCY

JMPM2

 

S2:

MOVA,R2

PUSHR2

MOVR3,A

POPR3

DCY

JMPM3

S3:

IN

OUT

END

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1