计组课程设计模板.doc
- 文档编号:4866497
- 上传时间:2023-05-07
- 格式:DOC
- 页数:8
- 大小:206KB
计组课程设计模板.doc
《计组课程设计模板.doc》由会员分享,可在线阅读,更多相关《计组课程设计模板.doc(8页珍藏版)》请在冰点文库上搜索。
《计算机组成原理与系统结构》课程设计
实
验
报
告
课题:
班级:
姓名:
完成日期:
一、课程设计步骤:
1.确定设计目标:
经综合考虑各类功能的模型机实现的难易程度,以及自身的知识水平,我们小组决定选定课题为“求解两数的最大公约数”。
当向模型机输入两个数之后,经过计算输入这两个数的最大公约数。
2.确定指令系统
(1)数据格式
模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:
7
6543210
符号
尾数
其中,第7位为符号位,数值的表示范围是:
。
(2)指令格式
模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
①算术逻辑指令
设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
RS
RD
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
RS或RD
选定的寄存器
00
01
10
R0
R1
R2
②I/O指令
输入(1N)和输入(OUT)指令采用单字节指令,其格式如下:
7654
32
10
OP-CODE
addr
RD
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“INPUTDEVICE”中的数码块作为输入设备。
③访问指令及转移指令
模型机设计两条访问指令,即存数(STA)、取数(LDA),两条颛臾指令,即无条件转移(JMP)、结果为零或有进位转移(BZC),指令格式如下:
76
54
32
10
00
M
OP-CODE
RD
D
其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式
有效地址E
说明
00
01
10
11
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
本模式机规定变址寄存器RI指定为寄存器R2
④停机指令
停机指令格式如下:
7654
32
10
OP-CODE
00
00
MALT指令,用于实现停机操作。
(3)指令系统
在这次课程设计中,我们为实现模型机求解两个数的最大公约数功能,主要用到MOV、SBC、CMP(新设计指令)、JMP、BZC、IN、OUT、HALT八条机器指令,其助记符、功能和具体指令格式如下:
助记符
指令格式
功能
MOVRS,RD
SBCRS,RD
CMPRS,RD
1000
RS
RD
1010
RS
RD
1100
RS
RD
RS→RD
RS-RD-CY→RD
RS-RD
JMPM,D
BZCM,D
00
M
10
00
D
00
M
11
00
D
E→PC
当CY=1或Z=1
E→PC
INaddr,RD
0100
01
RD
(addr)→RD
OUTaddr,RD
0101
10
RD
RD→(addr)
HALT
0110
00
00
停机
3.总体结构和数据通路
数据通路框图参见附录1所示:
4.微程序流程图
微程序流程图参见附录2所示:
二、课程设计总结:
通过这次课程设计,了解和掌握了模型机的硬件结构以及关于微程序的设计。
实验初期无从下手,通过对实验教材中7.2复杂模型机设计实验的练习,熟悉了实验环境和实验设备,同时也在实验摸索过程中对我们小组需要设计的课题有了初步的构想。
课程中,在陈老师的指导下,我们将课程设计分解为一步一步的小目标,并逐个完成,最终实现模型机的最终功能。
此次课程设计,需要我们自己去编写汇编指令,然后将汇编指令转化为机器指令,帮助我们复习和巩固了《汇编语言》和《计算机组成原理与系统结构》中的理论知识,同时将微程序的设计带到了实验中来,而不是之前抽象的考卷中的内容。
在这次实验过程中,我们遇到了诸多问题。
例如:
实验前期我们了解甚少,不知如何下手,在向老师请教和小组成员之间互相讨论之后,情况变得明朗;实践中,我们对于SBC指令的功能R1-R2-CY->R2,希望可以对其产生变更,希望最终结果送到R1寄存器,这样就可以省去许多步骤提高效率,遗憾的是在最终上机运行时出现了错误,被迫改回原来的指令格式,通过增加步骤确保最终结果的正确性;实验最后,调试运行阶段,通过数据通路图显示我们自己设计的CMP指令已经测试成功,但是却没有得到最终的正确结果,而是在BZC指令跳转时出现了异常,第二天我们又回到实验室换了一台机箱后,实验最终得以成功,我们设计的模型机实现了求解两个数最大公约数的功能。
三、小组成员各自的任务和完成情况:
在进行课程设计初期,确定了主题之后,我们一起讨论接下来为实现模型机功能所需要采用的具体的实现方法。
在课程设计过程中,
马拉多纳同学负责完成了汇编伪指令的设计,数据格式的设计,平时任务提交的书写以及微程序流程图的设计等工作;
梅西同学负责完成了汇编伪指令到汇编指令的改写,总体结构、数据通路的设计,机器码$P的编写等工作;
跳水王C罗同学负责完成了指令格式的设计,实验中机箱的接线工作,微程序$M的编写以及实验报告的撰写工作。
在课程设计后期,我们又一起进行后期的调试工作,及时发现错误所在,并在讨论后为第二天的调试工作制定了两种方案,最终我们修正了错误,实现了我们最初所要设计的模型机的功能---求解两个数的最大公约数。
附录:
附录一:
数据通路图
附录二:
微程序流程图
附录三:
机器码及微程序:
程序助记符
$P0044IN01,R0
$P0145IN01,R1
$P02C1CMPR0,R1
$P030CBZC00,0A
$P040A
$P0586MOVR1,R2
$P06A1SBCR0,R1
$P0788MOVR2,R0
$P0808JMP00,02
$P0902
$P0A82MOVR0,R2
$P0B84MOVR1,R0
$P0C89MOVR2,R1
$P0DC1CMPR0,R1
$P0E0CBZC00,12
$P0F12
$P1008JMP00,05
$P1105
$P1258OUT10,00
$P1360HALT
微程序
$M00018108
$M0101ED82
$M0200C050
$M0300A004
$M0400E0A0
$M0500E006
$M0600A007
$M0700E0A0
$M0801ED8A
$M0901ED8C
$M0A00A03B
$M0B018001
$M0C00203C
$M0D00A00E
$M0E01B60F
$M0F95EA25
$M1001ED83
$M1101ED85
$M1201ED8D
$M1301EDA6
$M14001001
$M15030401
$M16018016
$M173D9A01
$M18019201
$M1901A22A
$M1A01B22C
$M1B01A232
$M1C01B233
$M1D01A236
$M1E318237
$M1F318239
$M20009001
$M21028401
$M2205DB81
$M230180E4
$M24018001
$M2595AAA0
$M2600A027
$M2701BC28
$M2895EA29
$M2995AAA0
$M2A01B42B
$M2B959B41
$M2C01A42D
$M2D65AB6E
$M2E0D9A01
$M2F01AA30
$M300D8171
$M31959B41
$M32019A01
$M3301A435
$M3405DB81
$M3561AB41
$M360D9A01
$M37298838
$M38019801
$M3919883A
$M3A019801
$M3B070A08
$M3C068A09
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 模板