硬件课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件课程设计(I)
实验报告
实验名称:复杂模型机设计实验
小组成员:912106840506 吴洁鑫 912106840509 谢莉
实验时间:2015.9.23~2015.9.24
复杂模型机设计实验
一、实验目的:
综合运用所学计算机组成原理知识,设计并实现较为完整的计算机。二、实验设备:
TD-CMA 实验系统一套,PC机一台,数据连接导线若干,电源。
三、实验原理:
1.数据格式
模型机规定采用定点补码表示法表示数据,字长为8位,8 位全用来表示数据(最高位不表示符号),数值表示范围是: 0≤X≤28-1。
2.指令设计
该复杂模型机设计包含算数运算类指令、控制类指令、数据传输类指令三大
类指令。
算数运算类有2条运算类指令: SUB和DEC。
控制转移类指令有 JMP、SHL和LOOPNE(Z)。
数据传送类指令有IN、OUT、MOV、XCHG。
3.指令格式
A、算术逻辑运算指令格式如下格式如下:
7 6 5 4 3 2 1 0
操作码RS RD
其中RS为源操作数寄存器,RD为目的操作数寄存器。并且规定了用两位二进制数来表示
R0、R1、R2、R3寄存器,规定其表示方式如下表所示:
B 、IN 和OUT 指令如下:
其中括号中的1 表示指令的第一字节,2 表示指令的第二字节, RS 为源寄存器,RD 为目的寄存器, I/O 端口号占用一个字节。 C 、访问指令及控制转移指令格式如下:
控制转移类指令 JMP 、SHL 和LOOPNE(Z)格式如下表所示。
其中M 为寻址模式,具体见表3-1所示,以R2 做为变址寄存器RI 。
表1寻址方式
寻址模式 M
有效地址 E
说 明 00 E = D 直接寻址 01 E = (D)
间接寻址
10 E = (RI) + D RI 变址寻址 11
E = (PC) + D 相对寻址
RS 或RD 对应的寄存器 00 R0 01 R1 10 R2 11
R3
7 6 5 4(1)
3 2(1) 1 0(1)
7 6 5 4 3 2 1
0(2)
操作码 RS RD I/O 端口号
7 6 5 4(1) 3 2(1) 1 0(1) 7 6 5 4 3 2 1 0(2) 操作码
M
RD
D
4.指令系统
本模型机共有 10 条基本指令,其中算术逻辑运算单元2条,分别为SUB、DEC.控制转移指令三条,分别为JMP、SHL和LOOPNE(Z).输入输出指令两条,分别为IN和OUT。数据传送类指令有IN、OUT、MOV、XCHG。下面列出了各条指令的汇编符号、指令执行的详细内容。
序号汇编符号指令格式功能说明
1 mov R3,6 0011 00 R3 6->R3
2 IN R1,[00] 0100 00 R1 端口0->R1
3 Mov R2,R1 0101 R1 R2 R1->R2
4 XCHG [20H],R2 0110 R2 00 内存[20h]和R2交换数据
5 DEC R2 0010 00 R2 R2-1->R2
6 LOOPNZ L2 0001 00 R2 当R2=0,循环5
7 SUB R3,[PC+15] 0000 00 R3 R3-[PC+15]->R3
8 SHL R1,1 0000 00 R1 R1循环左移一位
9 OUT [40H],R1 1000 R1 00 R1内容输出
10 JMP L1 1001 00 00 循环
四、总体设计
本模型机的数据通路框图如图1所示
图一:数据通路框图
图二:指令译码原理图
低四位进行测试,判断得到相应的寄存器号。如:涉及到寄存器R0,则可能在低两位或者低三、四位为0表示。该功能寄存器译码电路,在IR 单元的REG_DEC (GAL16V8)中实现。译码电路如图三所示。
图三:寄存器译码原理图
根据机器指令系统要求,设计确定微地址。微指令格式如下所示:
图四:微指令格式
五、实验步骤
1.按图5-3-6连接实验线路,仔细检查接线后打开实验箱电源。
2.写入实验程序,本设计采用联机写入方式。联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微程序和机器程序得以指定的格式写入到以TXT为后缀的文件中。选择联机软件的‚【转储】—【装载】‛功能,在打开文件对话框中选择上面所保存的文件,软件自动将机器程序和微程序写入指定单元。选择联机软件的‚【转储】—【刷新指令区】‛可以读出下位机所有的机器指令和微指令,并在指令区显示,对照文件检查微程序和机器程序是否正确,如果不正确,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的指令,以修改微指令为例,先用鼠标左键单击指令区的‘微存’TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。
3.运行程序,本次课程设计采用联机运行进入软件界面,选择菜单命令‚【实验】—【复杂模型机】‛,打复杂模型机实验数据通路图,选择相应的功能命令,即可联机运行、监控、调试程序。按动CON单元的总清按钮CLR,然后通过软件运行程序,当模型机执行完OUT指令后,检查OUT单元显示的数是否正确。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。
4.机器指令代码
$P 00 33
$P 01 06
$P 02 41
$P 03 00
$P 04 56
$P 05 62
$P 06 20
$P 07 22
$P 08 10
$P 09 07
$P 0A 03
$P 0B 15
$P 0C 71
$P 0D 84
$P 0E 40
$P 0F 90
$P 10 00
$M 33 006D47
$M 07 103001
$M 34 006D48
$M 08 183001
$M 35 003401
$M 36 006D50
$M 10 002611
$M 11 106012
$M 12 101013
$M 13 003214
$M 14 210301
$M 32 001615
$M 15 063201
$M 31 006D45
$M 05 0000C6
$M 06 105141
$M 16 000001
$M 30 006D60
$M 20 101061
$M 21 002C62