计算机组成原理实验教程(2016)(1)(7)

2019-01-10 13:00

计算机组成原理实验教程

山西大学计算机与信息技术学院

系统涉及到的微程序流程见图 7-4 所示,当拟定?取指?微指令时,该微指令的判别测试字段为 P<1>测试。指令译码原理见图 3-3 所示,由于?取指?微指令是所有微程序都使用的 公用微指令,因此 P<1> 的测试结果出现多路分支。本机用指令寄存器的高 6 位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定微地址单元,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写,微程序流程图上的单元地址为 16 进制。

图 7-4 简单模型机微程序流程图

当全部微程序设计完毕后,应将每条微指令代码化,表7-2 即为将图7-4的微程序流程图按微指令格式转化而成的?二进制微代码表?。

表 7-2 二进制微代码表

地址 十六进制 高五位 00 00 00 01 00000 01 00 6D 43 00000 03 10 70 70 00010 04 05 1D 30 32 33 35 3C

00 24 05 04 B2 01 10 51 41 00 14 04 18 30 01 28 04 01 00 00 35 00 6D 5D 00000 00000 00010 00000 00011 00101 00000 00000 S3-S0 A 字段 B 字段 C 字段 MA5-MA0 0000 000 000 000 000001 0000 110 110 101 000011 0000 111 000 001 110000 0000 010 010 000 000101 1001 011 001 000 000001 0000 101 000 101 000001 0000 0000 0000 0000 0000 001 011 000 000 110 010 000 010 000 110 000 000 000 000 101 000100 000001 000001 110101 011101 设计一段机器程序,要求从 IN 单元读入一个数据,存于 R0,将 R0 和自身相加,结果存于 R0,再将 R0 的值送 OUT 单元显示。 根据要求可以得到如下程序,地址和内容均为二进制数。

29

计算机组成原理实验教程

地 址 00000000 00000001 00000010 00000011 00000100 00000101

内 容 00100000 00000000 00110000 11100000 00000000 01010000

山西大学计算机与信息技术学院

助记符 ; START: IN

R0

说 明

从 IN 单元读入数据送 R0 R0 和自身相加,结果送 R0 R0 的值送 OUT 单元显示 跳转至 00H 地址

; OUT R0

; JMP START

;

; HLT

; ADD R0,R0

停机

7.4 实验步骤

1. 按图 7-5 连接实验线路。

2. 写入实验程序,并进行校验,分两种方式:手动写入和联机写入。

1) 手动写入和校验 (1) 手动写入微程序

① 将时序与操作台单元的开关 KK1 臵为‘停止’档,KK3 臵为‘编程’档,KK4 臵为‘控 存’档,KK5 臵为‘臵数’档。

② 使用 CON 单元的 SD05——SD00 给出微地址,IN 单元给出低 8 位应写入的数据,连续 两次按动时序与操作台的开关 ST,将 IN 单元的数据写到该单元的低 8 位。

③ 将时序与操作台单元的开关 KK5 臵为‘加 1’档。 ④ IN 单元给出中 8 位应写入的数据,连续两次按动时序与操作台的开关 ST,将 IN 单元的 数据写到该单元的中 8 位。IN 单元给出高 8 位应写入的数据,连续两次按动时序与操作台的开 关 ST,将 IN 单元的数据写到该单元的高 8 位。

⑤ 重复①、②、③、④四步,将表 7-2 的微代码写入 2816 芯片中。

7-5 实验接线图

30

计算机组成原理实验教程

山西大学计算机与信息技术学院

(2) 手动校验微程序

① 将时序与操作台单元的开关 KK1 臵为‘停止’档,KK3 臵为‘校验’档,KK4 臵为‘控 存’档,KK5 臵为‘臵数’档。

② 使用 CON 单元的 SD05——SD00 给出微地址,连续两次按动时序与操作台的开关 ST, MC 单元的指数据指示灯 M7——M0 显示该单元的低 8 位。

③ 将时序与操作台单元的开关 KK5 臵为‘加 1’档。 ④ 连续两次按动时序与操作台的开关 ST,MC 单元的指数据指示灯 M15——M8 显示该单 元的中 8 位,MC 单元的指数据指示灯 M23——M16 显示该单元的高 8 位。

⑤ 重复①、②、③、④四步,完成对微代码的校验。如果校验出微代码写入错误,重新写 入、校验,直至确认微指令的输入无误为止。

(3) 手动写入机器程序

① 将时序与操作台单元的开关 KK1 臵为‘停止’档,KK3 臵为‘编程’档,KK4 臵为‘主 存’档,KK5 臵为‘臵数’档。

② 使用 CON 单元的 SD07——SD00 给出地址,IN 单元给出该单元应写入的数据,连续两 次按动时序与操作台的开关 ST,将 IN 单元的数据写到该存储器单元。 ③ 将时序与操作台单元的开关 KK5 臵为‘加 1’档。

④ IN 单元给出下一地址(地址自动加 1)应写入的数据,连续两次按动时序与操作台的开 关 ST,将 IN 单元的数据写到该单元中。然后地址会又自加 1,只需在 IN 单元输入后续地址的数据,连续两次按动时序与操作台的开关 ST,即可完成对该单元的写入。 ⑤ 亦可重复①、②两步,将所有机器指令写入主存芯片中。

(4) 手动校验机器程序

①将时序与操作台单元的开关 KK1 臵为‘停止’档,KK3 臵为‘校验’档,KK4 臵‘主存’档,KK5 臵为‘臵数’档。

② 使用 CON 单元的 SD07——SD00 给出地址,连续两次按动时序与操作台的开关 ST,CPU内总线的指数据指示灯 D7——D0 显示该单元的数据。

③ 将时序与操作台单元的开关 KK5 臵为‘加 1’档。

④ 连续两次按动时序与操作台的开关ST,地址自动加1,CPU内总线的指数据指示灯D7—D0显示该单元的数据。此后每两次按动时序与操作台的开关 ST,地址自动加 1,CPU内总线的指数据指示灯D7—D0显示该单元的数据,继续进行该操作,直至完成校验,如发现错误,则返回写入,然后校验,直至确认输入的所有指令准确无误。

⑤ 亦可重复①、②两步,完成对指令码的校验。如果校验出指令码写入错误,重新写入、 校验,直至确认指令码的输入无误为止。

2) 联机写入和校验

联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微程序和机器程序得以指定的格式写入到以 TXT 为后缀的文件中,微程序和机器程序的格式如下:

31

计算机组成原理实验教程 山西大学计算机与信息技术学院

机器指令格式说明: $P XX XX

机器指令代码 十六进制地址 机器指令标志

微指令格式说明:

$M

XX

XXXXXX

微指令代码 十六进制地址 微指令标志

本次实验程序如下,程序中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。

; //*************************************** // ; // //

CPU 与简单模型机实验指令文件 ; // //

; // // ;

//***************************************//

; //****** Start Of Main Memory Data ****** // $P 00 20 ; START: IN R0 从 IN 单元读入数据送 R0 $P 01 00 ; ADD R0,R0 R0 和自身相加,结果送 R0 $P 02 30 ; OUT R0 R0 的值送 OUT 单元显示 $P 03 E0 ; JMP START 跳转至 00H 地址 $P 04 00 ; $P 05 50 ; HLT 停机 ; //******* End Of Main Memory Data ******* // ; //**** Start Of MicroController Data **** // $M 00 000001 ; NOP $M 01 006D43 ; PC->AR,PC 加 1 $M 03 107070 ; MEM->IR, P<1> $M 04 002405 ; R0->B $M 05 04B201 ; A 加 B->R0 $M 1D 105141 ; MEM->PC $M 30 001404 ; R0->A $M 32 183001 ; IN->R0 $M 33 280401 ; R0->OUT $M 35 000035 ; NOP $M 3C 006D5D ; PC->AR,PC 加 1 ; //** End Of MicroController Data **//

选择联机软件的?【转储】—【装载】?功能,在打开文件对话框中选择上面所保存的文件,软件自动将机器程序和微程序写入指定单元。

选择联机软件的?【转储】—【刷新指令区】?可以读出下位机所有的机器指令和微指令,并在指令区显示,对照文件检查微程序和机器程序是否正确。如果不正确,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的指令。以修改微指令为例,先用鼠标左键单击指令区的‘微存’TAB 按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入 6 位数据并回车,编辑框消失,并以红色显示写入的数据。

32

计算机组成原理实验教程 山西大学计算机与信息技术学院

3. 运行程序

方法一:本机运行

将时序与操作台单元的开关 KK1、KK3 臵为‘运行’档,按动 CON 单元的总清按钮 CLR, 将使程序计数器 PC、地址寄存器 AR 和微程序地址为 00H,程序可以从头开始运行,暂存器 A、 B,指令寄存器 IR 和 OUT 单元也会被清零。

将时序与操作台单元的开关 KK2 臵为‘单步’档,每按动一次 ST 按钮,即可单步运行一条微指令,对照微程序流程图,观察微地址显示灯是否和流程一致。每运行完一条微指令,观测一次 CPU 内总线和地址总线,对照数据通路图,分析总线上的数据是否正确。

当模型机执行完 JMP 指令后,检查 OUT 单元显示的数是否为 IN 单元值的 2 倍,按下 CON 单元的总清按钮 CLR,改变 IN 单元的值,再次执行机器程序,从 OUT 单元显示的数判别程序 执行是否正确。

方法二:联机运行 将时序与操作台单元的开关 KK1 和 KK3 臵为‘运行’档,进入软件界面,选择菜单命令 ?【实验】—【简单模型机】?,打开简单模型机数据通路图。

按动 CON 单元的总清按钮 CLR,然后通过软件运行程序,选择相应的功能命令,即可联机 运行、监控、调试程序,当模型机执行完 JMP 指令后,检查 OUT 单元显示的数是否为 IN 单元 值的 2 倍。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。

33


计算机组成原理实验教程(2016)(1)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《锅炉》课后习题答案(全) 西安交大

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: