基本模型机实验

  • 格式:pdf
  • 大小:86.33 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基本模型机实验

实验目的:

理解微程序结构CU设计方法

理解机器指令与微程序之间的关系

掌握简单模型机CU的设计方法。

实验原理:

1.基本模型机使用的实验台模块

基本模型机应包括计算机系统的五大部件,相应地,在使用实验台构造模型机时,涉及到以下模块,必须完成其数据线(扁缆)和各种控制信号线的连接。

运算器模块– ALU;

指令部件模块、时序启停控制模块、微程序模块- 这些模块合在一起,相当于计算机系统中的CU;

存储器模块- 可存储机器指令,用于验证模型机的运行情况;

输入模块– 通过开关输入二进制数据;

输出模块– 通过LED显示从数据总线上输出的八位数据。

2.基本模型机制持的指令系统

实验台支持的基本模型机实验中,模型机支持的指令集包括五条指令,其机器指令形式如下:

助记符机器指令格式操作

IN R0,SW 0010 0000 将输入模块开关输入值送入寄存器R0 ADD R0,[addr] 0100 0000 xxxxxxxx 双字节指令,第二字节为访存操作数

的地址。

STA [addr],R0 0110 0000 xxxxxxxx 同上。将R0寄存器的值存入地址addr

对应的内存单元中。

OUT[addr],LED 1000 0000 xxxxxxxx 同上。将内存地址addr对应单元的内

容输出到输出模块,由LED显示。

JMP addr 1010 0000 xxxxxxxx 同上。给PC赋值addr,控制程序跳

转到addr处执行。

3.微程序设计

基本模型机中实现CU控制的微程序共有6段,分别是取指周期微程序,和五条机器指令各自的执行周期微程序。其结构如下图所示:

其中,需要说明的是条件P(1),这个测试出现在取指周期结束时,系统需要根据机器指令的操作码字段(机器指令的前三位)进行散转,分别转入相应的执行周期微程序中执行。

系统采用的微指令定义格式为

23位

微操作控制字段采用直接控制过直接控制产生,3位长的一控制信号在微命令中的下标与式为:

3位

6位

接控制和字段直接控制相结合的方法,其中20个微控制长的一个字段译码后产生8个微控制信号(未全部定义下标与含义对应关系如下图所示:

微控制信号通

部定义),各微

C

B

A

AR

未用PX3

A9

A8

31

30

29

28

272625

24

CE

LOAD

CN

M

S0

S1

S2

S3

23

22

21

20

19

18

17

16

LDPC

13

LDIR

12

LDDR2

11

LDDR1

10

LDR0

9

WE

8

PX2

15

LDAR

14

UA0UA1UA2UA3UA4UA5

31302928272625

24

PX1

SW-B

基本模型机的微程序清单:

微地址 32位长度的微指令 M00 00 00 00 80 M01 20 00 60 40 M02 00 80 10 12 M03 00 80 40 20 M04 00 80 08 A0 M05 80 00 04 60 M06 40 29 02 80 M07 00 80 40 68 M08 00 00 00 80 M09 00 00 02 81 M0A 20 00 60 C0 M0B 20 00 60 E0 M0C 20 00 60 C8 M0D 20 00 60 A8 M0E 20 00 60 E8 M0F 20 00 60 98 M10 00 40 20 89 M11 20 00 60 48 M12 00 80 01 89 M13 00 80 40 28 M14 03 80 00 80 M15 00 C0 20 80 M16 80 80 01 80 4. 实验方法

按下数字‘1’后,在按下[装载]键,将基本模型机的微程序转载到实验台的微程序

模块之控制存储器中。 键入数字‘00’,控制PC 的值等于0,从该地址开始执行机器指令,每按下一次单步,观察微程序模块中二进制开关单元和下地址的显示情况,对比微程序清单,观察是否正确。

在联机状态下,打开mxj1.abs ,这个文件是基本模型机的机器指令及对应微指令代码文件,点击[装载]图标进行装载,而后点击工具栏的“单步运行微指令”,“单步运行

程序”指令,观察微指令,以及机器指令的运行情况是否正确。