没有合适的资源?快使用搜索试试~ 我知道了~
西电计算机组织与体系结构课程设计报告
需积分: 3 59 下载量 198 浏览量
2020-11-20
18:38:15
上传
评论 14
收藏 483KB DOCX 举报
温馨提示
试读
13页
定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。
资源详情
资源评论
资源推荐
本实验采用五条机器指令:
IN(输入)、ADD(二进制
加 法 ) 、 STA ( 存 数 ) 、
OUT(输出)、JMP(无条
件转移),其指令格式如下
计算机组织与体系结构课程设计
一.实验目的
1.深入理解基本模型计算机的功能、组成知识;
2.深入学习计算机各类典型指令的执行流程;
3.学习微程序控制器的设计过程和相关技术,掌握 LPM_ROM 的配置方法。
4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型
计算机。
5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微
程序的设计方法,学会编写二进制微指令代码表。
6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。
二.实验原理
1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过
程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路
的控制将由微过程控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的
一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
2.指令格式
(1)指令格式
采用寄存器直接寻址方式,其格式如下:
位
7654 32 10
功能
OP-CODE rs rd
其中,OP-CODE 为操作码,rs 为源寄存器,rd 为目的寄存器,并规定:
Rs 或 rd 选定的寄存器
00
01
10
R0
R1
R2
助记符 机器指令码 Addr 地址码 功能说明
IN
ADD addr
STA addr
OUT addr
JMP addr
0 0H
1 0H XX H
2 0H XX H
3 0H XX H
4 0H XX H
“INPUT”中的数据→R0
R0+[addr] ->R0
R0 -> [addr]
[addr] -> BUS
addr →PC
注:基本模型机无 R1,R2 寄存器,但实际电路中有 R1,R2 寄存器。
其中 IN 为单字长(8 位二进制),其余为双字长指令,XX H 为 addr 对应的十六进
制地址码。为了向 RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还
必须设计三个控制台操作微程序。
1、存储器读操作( KRD):下载实验程序后按总清除按键( CLR)后,控制台
SWA、
SWB 为“0 0”时,可对 RAM 连续手动读出操作。
2、存储器写操作(KWE):下载实验程序后按总清除按键(CLR)后,控制台
SWA、SWB 为“0 1”时,可对 RAM 连续手动写操作。
1. 启动程序(RP):下载实验程序后按总清除按键(CLR)后,控制台 SWA、
SWB 为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。
根据以上要求设计数据通路框图,如图 1-1 所示。
表 1-1 24 位微代码定义:
24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
S
3
S2 S1 S0 M Cn WE A9 A8 A B C uA5 uA4 uA3 uA2 uA1 uA0
表 1-2 A、B、C 各字段功能说明:
A 字段 B 字段 C 字段
15 14 13
选择
12 11 10
选择
9 8 7
选择
0 0 0 0 0 0 0 0 0
0 0 1 LDRi 0 0 1 RS-B 0 0 1
P(1)
0 1 0 LDDR1 0 1 0 0 1 0
0 1 1 LDDR2 0 1 1 0 1 1
1 0 0 LDIR 1 0 0 1 0 0
P(4)
1 0 1 LOAD 1 0 1 ALU-B 1 0 1 LDAR
1 1 0 LDAR 1 1 0 PC-B 1 1 0 LDPC
24 位微代码中各信号的功能
(1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。
(2) S3、S2、Sl、S0:由微程序控制器输出的 ALU 操作选择信号,以控制执行 16 种算
SWB SWA
控制台指令
0
0
1
0
1
1
读内存(KRD)
写内存(KWE)
启动程序(RP)
术操作或 16 种逻辑操作中的某一种操作。
(3) M:微程序控制输出的 ALU 操作方式选择信号端。M=0 执行算术操作;M=l 执
行逻辑操作。
(4) /Cn:微程序控制器输出的进位信号,/Cn=0 表示 ALU 运算时最低位有进位,/Cn
=1 则表示无进位。
(5) WE:微程序控制器输出的 RAM 控制信号。当/CE=0 时,如 WE=0 为存储器读;
如 WE=1 为存储器写。
(6) A9、A8——译码后产生 CS0、CS1、CS2 信号,分别作为 SW_B、RAM、LED 的选
通控制信号。
(7) A 字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见
表 6-1)。
(8) B 字段(12、11、10)——译码后产生与总线相连接的各单元的输出选通信号。
(9) C 字段(9、8、7) ——译码后产生分支判断测试信号 P(1)~P(4)和 LDPC 信号。
系统涉及到的微程序流程见图 1-2。当执行“取指令”微指令时,该微指令的判断测试字
段为 P(1)测试。由于“取指令”微指令是所有微程序都使用的公用微指令,因此 P(1)的测试结
果出现多路分支(见图 1-2 左图)。用指令寄存器的高 4 位(IR7-IR4)作为测试条件,出
现 5 路分支,占用 5 个固定地址单元。
控制台操作为 P(4)测试(见图 1-2 右图),它以控制台信号 SWB、SWA 作为测试条件,
出现了 3 路分支,占用 3 个固定微地址单元。当分支微地址单元固定后,剩下的其它地方
就可以一条微指令占用控制存储器的一个微地址单元,随意填写。注意:微程序流程图上
的微地址为 8 进制!
当全部微程序设计完毕后,应将每条微指令代码化,表 1-3 即为图 1-2 的微程序流程图
按微指令格式转化而成的“二进制微代码表”。
表 1-3 二进制微代码表
微地址 微指令
S 3 S 2 S 1 S 0 M C N W E A 9 A 8
A B C UA5—UA0
0 0 018110
0 0 0 0 0 0 0 1 1
000 000 100 010000
0 1 01ED82
0 0 0 0 0 0 0 1 1
110 110 110 000010
0 2 00C048
0 0 0 0 0 0 0 0 1
100 000 001 001000
0 3 00E004
0 0 0 0 0 0 0 0 1
110 000 000 000100
0 4 00B005
0 0 0 0 0 0 0 0 1
011 000 000 000101
0 5 01A206
0 0 0 0 0 0 0 1 1
010 001 000 000110
0 6 919A01
1 0 0 1 0 0 0 1 1
001 101 000 000001
剩余12页未读,继续阅读
编程小怀特
- 粉丝: 5
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0