硬件课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档