《计算机组成原理》课程设计_两个数的乘法运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机组成原理》课程设计报告课程设计题目:两个数的乘法运算
小组成员:
….
完成日期:第十一周
模型机设计实验
一、实验目的
综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。
其功能为:
输入两个数,进行两个正数(二进制4位)的乘法运算,输出结果。
二、实验内容
编写程序,运行程序,观察并记录运行结果。
三、实验仪器
1、ZY15CompSys12BB计算机组成原理及系统结构教学实验箱一台
2、排线若干
3、PC机一台
四、预备知识
1、数据格式
8位,其格式如下:
其中第7位为符号位,数值表示范围是:-1≤X<127。
2、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器、转移指令和停机指令。
(1)算术逻辑指令
规定:
算术逻辑指令的名称、功能和具体格式见表2—3。
(2)访存指令及转移指令
模型机设计2条访存指令,即存数(STA)、取数(LAD),2条转移指令,即无条件转移(
负均可)
本模型机规定变址寄存器RI指定为寄存器R2。
(3)I/O指令
其中,在IN 指令中,addr=01,选中“输入”中的开关组作为输入设备,在OUT指令中,addr=10时,表示选中“输出单元”中的数码块作为输出设备。
(4)停机指令
HALT指令,机器码为60H,用于实现停机操作。
3、指令系统
复杂模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
表2-3列出了各条指令的格式、汇编符号、指令功能。
我们依然采用复杂模型机指令系统中的部分指令。
五、实验的机器指令程序如下:
地址内容助记符说明
00 14 IN R0 ; 作计数器用,00000001→R0
01 15 IN R1 ; 输入X的值,0000xxxx→R1
02 05 STA R1 ; X→22H
03 22
04 15 IN R2 ; 输入Y→R2,0000xxxx→R2
05 06 STA R2 ; R2→23H
06 23
07 42 CLR R2 ; R2清零
08 06 STA R2 ; 存入结果R2→24H
09 24
0A 02 LAD R2 ; 提取[23H]→R2
0B 23
0C 6A RRC R2,R2 ; R2带进位右循环一位→R2 0D 06 STA R2 ; 循环结果→23H
0E 23
0F 02 LAD R2 ; 提取结果S,[24H]→R2
10 24
11 0C BZC [15H] ; 有进位跳转到15H
12 15
13 08 JMP [18H] ; 无条件跳转到[18H]
14 18
15 01 LAD R1 ; 提取X→R1
16 22
17 56 ADC R1,R2 ; R1+R2→R2
18 6A RRC R2,R2 ; R2带进位右循环一位→R2
19 06 STA R2 ; 循环结果→24H
1A 24
1B70 RLC R0,R0 ; R0带进位左循环一位→R0 1C 0C BZC [20H] ; 有进位跳转到20H
1D 20
1E 08 JMP [0AH] ; 无条件跳转到[0AH]
1F 0A
20 2A OUT R2 ; 输出R2中的结果
21 60 HATL ; 停机
22 XX
23 XX
24 XX
六、程序机器指令和微程序
以上程序的机器指令如下:
$P0014 $P0115 $P0205 $P0322
$P0416 $P0506 $P0623 $P0772
$P0806 $P0924 $P0A02 $P0B23
$P0C6A $P0D06 $P0E23 $P0F02
$P1024 $P110C $P1215 $P1308
$P1418 $P1501 $P1622 $P1756
$P186A $P1906 $P1A24 $P1B70
$P1C0C $P1D20 $P1E08 $P1F0A
$P202A $P2160
微程序如下
$M00018108 $M0101ED82 $M0200C050
$M0300A004 $M0400E098 $M0501B406
$M06959B41 $M07298838 $M0801ED8A
$M0901ED8C $M0A00A01E $M0B018001
$M0C00201F $M0D019801 $M0E19880F
$M0F019801 $M1001ED83 $M11001001
$M12030401 $M13018016 $M143D9A01
$M1501A205 $M16318207 $M1731820E
$M18009001 $M19028401 $M1A05DB81
$M1B0180DC $M1C018001 $M1D05DB8D
$M1E070A08 $M1F068A09
七、复杂模型机的数据通路框图
WE
图2-7复杂模型机数据通路框图
八、复杂模型机实验接线图
接到指令单元
接到开关单元
九、复杂模型机实验流程图
十、课程设计总结
1、成员总结体会
…
2、遇到的问题和解决的方法等
1)寄存器不够用。
本实验设计的是任意的两个四位二进制数相乘,需要一个寄存器做为计数器记录以为的次数,但是,输入的两个数和计算的结果也需要寄存器保存其值,这样就出现寄存器不够用的问题。
解决方法:我们把暂时不用的数据存储起来,不用占用寄存器,这样就解决了寄存器不够的
2)运行出现错误,程序一只循环在一个地方,没有出现输入状态。
但是把实验2.3的微程序能正确运行。
后来经过仔细检查发现,我们的微程序是在实验2.3的基础上修改的,但是,我们忘了修改指令系统表格中个指令的地址,导致程序的机器指令错误,由于最后一次实验已过,我们修改后没有去实验,但我们认为这次应该是正确的了。
3、小组成员各自的任务和完成情况(主要的任务)
……。