淮海工学院组成原理实验四基本模型机的设计与实现.docx

上传人:b****5 文档编号:14945166 上传时间:2023-06-28 格式:DOCX 页数:17 大小:351.82KB
下载 相关 举报
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第1页
第1页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第2页
第2页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第3页
第3页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第4页
第4页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第5页
第5页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第6页
第6页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第7页
第7页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第8页
第8页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第9页
第9页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第10页
第10页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第11页
第11页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第12页
第12页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第13页
第13页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第14页
第14页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第15页
第15页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第16页
第16页 / 共17页
淮海工学院组成原理实验四基本模型机的设计与实现.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

淮海工学院组成原理实验四基本模型机的设计与实现.docx

《淮海工学院组成原理实验四基本模型机的设计与实现.docx》由会员分享,可在线阅读,更多相关《淮海工学院组成原理实验四基本模型机的设计与实现.docx(17页珍藏版)》请在冰点文库上搜索。

淮海工学院组成原理实验四基本模型机的设计与实现.docx

淮海工学院组成原理实验四基本模型机的设计与实现

 

淮海工学院

 

计算机工程学院

 

实验报告书

 

课程名《计算机组成原理》

 

题目:

基本模型机的设计与实现

 

班级:

 

学号:

 

姓名:

 

一、实验目的

1、在掌握部件单元电路实验的基础上,进一步将其组成系统以构造一台基本模

型实验计算机。

2、设计五条机器指令,并编写相应的微程序,具体上机调试,掌握整机软硬件

组成概念。

二、实验原理

部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在

微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

这里,实验计算

机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到

指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应

一个微程序。

⑴有关微控制器部分在前一实验中已详细介绍

⑵ 主存储器的读、写和运行

为了向主存储器 RAM 中装入程序或数据,并且检查写入是否正确以及能运行主

存储器中的程序,必须设计三个控制操作微程序。

·存储器读操作:

拨动总清开关后,置控制开关SWC、 SWA 为 “0 0”时,

按要求连线后,连续按 “启动运行 ”开关,可对主存储器 RAM 连续手动读操作。

·存储器写操作:

拨动总清开关后,置控制开关SWC、 SWA 为 “0 1”时,

按要求连线后,再按 “启动运行 ”开关,可对主存储器 RAM 进行连续手动写入。

·运行程序:

拨动总清开关后,置控制开关SWC、 SWA 为 “1 1”时,按要

求连线后,再按 “启动运行 ”开关,即可转入到第 01 号 “取址 ”微指令,启动程

序运行。

上述三条控制指令用两个开关SWC、 SWA 的状态来设置,其定义如下:

SWCSWA控制台指令

0

0

1

0

1

1

读内存

写内存

启动程序

 

⑶ 指令寄存器介绍

指令寄存器用来保存当前正在执行的一条指令。

当执行一条指令时,先把它从内

存取到缓冲寄存器中,然后再传送到指令寄存器。

指令划分为操作码和地址码字段,

由二进制构成,为了执行任何一条给定的指令,必须对操作码进行测试P

(1),通

过节拍脉冲 T4 的控制以便识别所要求的操作。

“指令译码器 ”根据指令中的操作

码进行译码,强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。

⑷ 输入 /输出设备

本系统有两种外部 I/O 设备,一种是二进制代码开关KD0~ KD7,它作为输

入设备 INPUT;另一种是数码显示块,它作为输出设备OUTPUT。

例如:

输入时,

二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信

息也不变。

输出时,将输出数据送到外部数据总线上,当写信号(W/R)有效时,

将数据打入输出锁存器,驱动数码块显示。

⑸ 设计指令

根据基本模型机的硬件设计五条机器指令:

外设输入指令IN、二进制加法指

令 ADD、存数指令 STA、输出到外设指令 OUT、无条件转移指令 JMP。

指令格

式如下:

助记符     机器指令码                 说   明

IN     0000 0000; “外部开关量输入 ”KD0~KD7 的开关状态

→R0

ADDaddr 0001  0000×××× ××××;   R0+[addr]→R0 

STAaddr0010  0000×××× ××××;R0→[addr]

OUTaddr0011 0000×××× ××××;[addr]→BUS

JMPaddr  0100 0000×××× ××××;[addr]→PC

说明:

指令 IN 为单字节指令,其余均为双字节指令,××××××××为 addr 对

应的主存储器二进制地址码。

⑹ 基本模型机监控软件的设计

本模型机监控软件主要完成从输入设备读入数据,进行简单算术运算后,将结果

存入内存的某个单元,最后通过输出设备输出结果。

监控软件详细如下:

地 址 内容  助记符      说 明

0000 0000   0000 0000  IN      ; “INPUT DEVICE”→R0

0000 0001   0001 0000  ADD[ 0AH]; R0+[ 0AH] →R0

0000 0010   0000 1010    

0000 0011   0010 0000  STA[ 0BH]; R0→[ 0BH]

0000 0100   0000 1011 

0000 0101   0011 0000  OUT[ 0BH]; [0BH] →BUS

0000 0110   0000 1011

0000 0111   0100 0000  JMP[ 00H] ; 00H→PC

0000 1000   0000 0000

0000 1001

0000 1010    0000 0001         ;自定义参加运算的数

0000 1011          ;求和结果存放单元

三、实验电路

1、实验连线图

a、跳线器 J1~ J12 全部拨在右边(自动工作方式);

b、跳线器 J16、 J18、 J23、 J24 全部拨在左边;

c、跳线器 J13~ J15、 J19、 J25 拨在右边;

d、跳线器 J20~ J22、 J26、 J27 连上短路片;

e、 UJ1 连 UJ2, JSE1 连 JSE2, SJ1 连 SJ2;

f、 MBUS 连 BUS2;

g、 REGBUS 连 BUS5;

h、 PCBUS 连 EXJ2;

i、 ALUBUS 连 EXJ3;

j、 ALUO1 连 BUS1;

k、 EXJ1 连 BUS3;

 

2、实验原理图

参见 图 3.7.1。

 

四、实验步骤

⑴根据机器指令画出对应的微程序流程图

本实验的微程序流程见图  3.7.2,当拟定 “取指 ”微指令时,该微指令的判别测

试字段为 P( 1)测试。

由于 “取指 ”微指令是所有微程序都使用的公用微指令,因

此 P( 1)的测试结果出现多路分支。

本机用指令寄存器的前4 位 I7~ I4 作为测

试条件,出现 5 路分支,占用 5 个固定微地址单元。

实验机控制操作为 P( 4)测试,它以控制开关SWC、 SWA 作为测试条件,

出现了 3 路分支,占用 3 个固定微地址单元。

当分支微地址单元固定后,剩下的其

它地方就可以一条微指令占用控存一个微地址单元随意填写。

注意:

微程序流程图上的单元地址为16 进制。

1根据微程序流程图设计微指令并转换成16 进制代码文件。

当全部微程序设计完毕后,应将每条微指令代码化,即按微指令格式将图3.7.2

微程序流程图转化成二进制微代码表,如表3.7.1 所示,再转换成 16 进制代码文

件。

 

监控程序的 16 进制文件格式(文件名C8JHE1):

程序:

$ P00 00        

$ P01 10        

$ P02 0A

$ P03 20

$ P04 0B

$ P05 30

$ P06 0B

$ P07 40        

$ P08 00      

$ P0A 01

微程序 :

$ M00 108105

$ M01 82ED05

$ M02 48C004   

$ M03 04E004       

$ M04 05B004

$ M05 06A205

$ M06 019A95

$ M07 0DE004

$ M08 011004

$ M09 83ED05

$ M0A 87ED05

$ M0B 8EED05

$ M0C 96ED05

$ M0D 018206

$ M0E 0FE004

$ M0F 15A004

$ M10 92ED05

$ M11 94ED05

$ M12 17A004

$ M13 018005

$ M14 182004

$ M15 010A07

$ M16 81D104

$ M17 100A07

$ M18 118A06

微地址

S3 S2 S1 S0 M CN WE B1 B0

A

B

C

UA5…UA0

0 0

0    0    0    0    0    1      0      1      1

000

000

1    00

010000

0 1

0    0    0    0    0    1      0      1      1

110

110

1    10

000010

0 2

0    0    0    0    0    1      0      0      1

100

000

0    01

001000

0 3

0    0    0    0    0    1      0      0      1

110

000

0    00

000100

0 4

0    0    0    0    0    1      0      0      1

011

000

0    00

000101

0 5

0    0    0    0    0    1      0      1      1

010

001

0    00

000110

0 6

1    0    0    1    0    1      0      1      1

001

101

0    00

000001

0 7

0    0    0    0    0    1      0      0      1

110

000

0    00

001101

0 8

0    0    0    0    0    1      0      0      0

001

000

0    00

000001

0 9

0    0    0    0    0    1      0      1      1

110

110

1    10

000011

0    A

0    0    0    0    0    1      0      1      1

110

110

1    10

000111

0 B

0    0    0    0    0    1      0      1      1

110

110

1    10

001110

0 C

0    0    0    0    0    1      0      1      1

110

110

1    10

010110

0 D

0    0    0    0    0    1      1      0      1

000

001

0    00

000001

0 E

0    0    0    0    0    1      0      0      1

110

000

0    00

001111

0 F

0    0    0    0    0    1      0      0      1

010

000

0    00

010101

1 0

0    0    0    0    0    1      0      1      1

110

110

1    10

010010

1 1

0    0    0    0    0    1      0      1      1

110

110

1    10

010100

1 2

0    0    0    0    0    1      0      0      1

010

000

0    00

010111

1 3

0    0    0    0    0    1      0      1      1

000

000

0    00

000001

1 4

0    0    0    0    0    1      0      0      0

010

000

0    00

011000

1 5

0    0    0    0    0    1      1      1      0

000

101

0    00

000001

1 6

0    0    0    0    0    1      0      0      1

101

000

1    10

000001

1    7

0    0    0    0    0    1      1      1      0

000

101

0    00

010000

1 8

0    0    0    0    0    1      1      0      1

000

101

0    00

010001

 

表 3.7.1 二进制微代码表

 

⑶读写程序

①手动方法写微程序参看实验六。

手动方法写代码程序(机器指令)步骤如下:

通过上一步将机器指令对应的微代码正确地写入E2ROM 2816 芯片后,再进

行机器指令程序的装入和检查。

A. 将 “编程开关 ”置 “运行 ”位置, “运行控制 ”开关置 “运行 ”位置,

“运行方式 ”开关置 “单步 ”位置。

B. 拨动总清开关( 0→1),微地址寄存器清零,程序计数器清零。

然后使控制

开关 SWC、 SWA 开关置为 “0 1”,按动一次 “启动运行 ”开关,微地址显示灯

LUA0~ LUA5 显示 “010001”,再按动一次 “启动运行 ”开关,微地址显示灯

LUA0~ LUA5 显示 “010100”,此时数据开关的内容置为要写入的机器指令,再按

动一次 “启动运行 ”开关,即完成该条指令的写入。

若仔细阅读微程序流程,就不

难发现,机器指令的首地址只要第一次给出即可,PC 会自动加 1,所以,每次按

动 “启动运行 ”开关,只有在微地址灯显示 “010100”时,才设置内容,直到所有

机器指令写完。

C. 写完程序后须进行检验。

拨动总清开关(0→1)后,微地址清零, PC 程序计

数器清零,然后使控制开关SWC、 SWA 为 “0 0”,按动 “启动运行 ”开关,微地

址灯将显示 “010000”,再按 “启动运行 ”开关,微地址灯显示为 “010010”,

第三次按 “启动运行 ”开关,微地址灯显示为 “010111”,此时总线数据显示灯

LZD0~ LZD7 显示为该首地址的内容,再按动一次 “启动运行 ”开关,微地址灯

显示为 “010000”, 2 位数码管即显示 RAM 中的程序。

不断按动 “启动运行 ”开

关,可检查后续单元内容。

注意:

每次仅在微地址灯显示为“010000”时, 2 位数码管显示的内容才是相

应地址中的机器指令内容。

 

② 联机读 /写微程序和机器指令

用联机软件的装载功能将  16 进制格式文件(文件名为 C8JHE1)装入实验系

统即可(详细操作见随机软件的README)。

 

⑷运行程序

① 单步运行程序

A. “编程开关 ”置 “运行 ”状态, “运行方式 ”开关置为 “单步 ”状态 ,“运

行控制 ”开关置为 “运行 ”状态。

B. 拨动总清开关 (0→1),微地址清零, PC 计数器清零,程序首地址为00H。

C. 按动 “启动运行 ”开关,即单步运行一条微指令。

对照微程序流程图,观察

微地址显示灯是否和流程一致。

②  连续运行程序

A. “编程开关 ”置 “运行 ”状态, “运行方式 ”开关置为 “连续 ”状态 ,“运

行控制 ”开关置为 “运行 ”状态。

B. 拨动总清开关,清微地址及PC 计数器,按动 “启动运行 ”开关,系统连

续运行程序。

如果要停止程序的运行,只需将“运行控制 ”开关置为 “停止 ”状

态,系统就停机。

C. 停机后,可检查存数单元 0BH 中的结果是否正确。

五、实验分析

1、当外部开关量输入 KD0~KD7 为 00000111,运行程序后检查存数单元 0BH 中的结果

是否正确 。

答:

据实验显示存数单元 0BH 的结果正确。

是 08

 

2、当外部开关量输入同上,若运行程序后希望存数单元  0BH 中的结果是 0FH,

则应该如何修改模型机 监控程序的 16 进制格式文件(文件名 C8JHE1)?

答:

模型机监控程序的 16 进制格式文件为  0E

 

六、思考题

1、结合图 3.7.2 微程序流程图,说明 ADD、STA、OUT、JMP 指令各是何种数据寻址方

式?

答:

ADD、STA、OUT 都是间接寻址方式;而 JMP 是直接寻址方式。

 

2、在手动方法写代码程序(机器指令)时,每次按动“启动运行”开关,为什么只有

在微地址灯显示“010100”时,才能设置内容,直到所有机器指令写完?

答:

机器指令的首地址只要第一次给出即可,PC 会自动加 1,所以每次按动“启动运

行”开关,只有在微地址灯显示“010100”时,才能设置内容,直到所有机器指令写完。

 

3、在手动方法写完程序后进行检验时,为什么每次仅在微地址灯显示为“010000”时,

2 位数码管显示的内容才是相应地址中的机器指令内容?

答:

当微地址等为 010000 时显示的才是首地址的内容,此时按动START 才会显

示后续的各个单元内容。

实验结果图

本小组所选运算:

F=(A+B)加(A*/B)

本组所选数据  :

 A=05  B=20

A+BA*/B结果

0000 01010000 01010010 0101

+ 0010 0000*1101 1111加 0000 0101

0010 01010000 01010010 1000 ->(2A)

代码就是把$M06 019A95 改成$M06 019A55

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2