复杂模型机设计实验
专业:软件工程
班级:1000505
组员:
组员:
一、实验目的
综合运用所学计算机组成原理知识,设计并实现较为完整的计算机。
二、实验设备
PC机一台,TD-CMA实验系统一套。
三、实验原理
下面讲述一下模型计算机的数据格式及指令系统。
1.数据格式
模型机规定采用定点补码表示法表示数据,字长为8位,8位全用来表示数据(最高位不表示符号),数值表示范围是: 0≤X≤28-1。
2.指令设计
模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传送类指令。运算类指令包含三种运算,算术运算、逻辑运算和移位运算,设计有6条运算类指令,分别为:ADD、AND、INC、SUB、OR、RR,所有运算类指令都为单字节,寻址方式采用寄存器直接寻址。控制转移类指令有三条HLT、JMP、BZC,用以控制程序的分支和转移,其中HLT为单字节指令,JMP和BZC为双字节指令。数据传送类指令有IN、OUT、MOV、LDI、LAD、STA共6条,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存储器之间的数据交换,除MOV指令为单字节指令外,其余均为双字节指令。
3.指令格式
所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT和MOV)格式如下:
7654 | 32 | 10 |
OP-CODE | RS | RD |
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
RS或RD | 选定的寄存器 |
00 01 10 11 | R0 R1 R2 R3 |
IN和OUT的指令格式为:
7654(1) | 32(1) | 10(1) | 7—0(2) |
OP-CODE | RS | RD | P |
其中括号中的1表示指令的第一字节,2表示指令的第二字节,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,P为I/O端口号,占用一个字节。
系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI指令为立即寻址,LAD、STA、JMP和BZC指令均具备直接、间接、变址和相对寻址能力。
LDI的指令格式如下,第一字节同前一样,第二字节为立即数。
7654(1) | 32(1) | 10(1) | 7—0(2) |
OP-CODE | RS | RD | data |
LAD、STA、JMP和BZC指令格式如下。
7654(1) | 32(1) | 10(1) | 7—0(2) |
OP-CODE | M | RD | D |
其中M为寻址模式,具体见表5-3-2,以R2做为变址寄存器RI。
表5-3-2 寻址方式
寻址模式M | 有效地址E | 说 明 |
00 01 10 11 | E = D E =(D) E =(RI)+ D E =(PC)+ D | 直接寻址 间接寻址 RI变址寻址 相对寻址 |
4.指令系统
根据模型机所要完成的功能设计自己的指令系统。列出了各条指令的格式、汇编符号、指令功能。
四、总体设计
本模型机的数据通路框图如图5-3-2所示。
二进制转换十六进制算法图5-3-2 数据通路框图
和前面的实验相比,复杂模型机实验指令多,寻址方式多,只用一种测试已不能满足设计要求,为此指令译码电路需要重新设计。如图5-3-3所示在IR单元的INS_DEC中实现。
图5-3-3 指令译码原理图
本实验中要用到四个通用寄存器R3…R0,而对寄存器的选择是通过指令的低四位,为此还得设计一个寄存器译码电路,在IR单元的REG_DEC(GAL16V8)中实现,如图5-3-4所示。
图5-3-4 寄存器译码原理图
根据机器指令系统要求,设计微程序流程图及确定微地址,如图5-3-5所示。
按照系统建议的微指令格式,见表5-3-4,参照微指令流程图,将每条微指令代码化,译成二进制代码表,见表5-3-5,并将二进制代码表转换为联机操作时的十六进制格式文件。
表5-3-4 微指令格式
五、实验步骤
1. 按图5-3-6连接实验线路,仔细检查接线后打开实验箱电源。
2. 写入实验程序,本设计采用联机写入方式。
联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微程序和机器程序得以指定的格式写入到以TXT为后缀的文件中。
选择联机软件的“【转储】—【装载】”功能,在打开文件对话框中选择上面所保存的文件,软件自动将机器程序和微程序写入指定单元。
选择联机软件的“【转储】—【刷新指令区】”可以读出下位机所有的机器指令和微指令,并在指令区显示,对照文件检查微程序和机器程序是否正确,如果不正确,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的指令,以修改微指令为例,先用鼠标左键单击指令区的‘微存’TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红显示写入的数据。
3. 运行程序 ,本次课程设计采用联机运行
进入软件界面,选择菜单命令“【实验】—【复杂模型机】”,打复杂模型机实验数据通路图,选择相应的功能命令,即可联机运行、监控、调试程序。
按动CON单元的总清按钮CLR,然后通过软件运行程序,当模型机执行完OUT指令后,检查
OUT单元显示的数是否正确。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。
六、操作码设定
OP | CODE | 微地址 |
IN | 0000 | 30 |
OUT | 0001 | 31 |
ADD | 0010 | 32 |
AND | 0011 | 33 |
RCL | 0100 | 34 |
MOV | 0101 | 35 |
XLAT | 0110 | 36 |
NEG | 0111 | 37 |
XCHG | 1000 | 38 |
SUB | 1001 | 39 |
七、实验程序
1.机器程序
$P 00 01
$P 01 00
$P 02 56
$P 03 68
$P 04 01
$P 05 21
$P 06 14
$P 07 40
$P 08 4A
$P 09 9C
$P 0A 70
$P 0B 84
$P 0C 01
$P 0D 99
$P 0E BF
$P 0F F3
$P 10 7D
$P 11 30
$P 12 36
$P 13 80
$P 14 18
$P 15 FF
$P 16 7B
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论