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

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

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

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

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

淮海工学院

计算机工程学院

实验报告书

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

题目:

基本模型机的设计与实现

班级:

学号:

姓名:

一、实验目的

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

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

二、实验原理

部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

这里,实验计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

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

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

为了向主存储器RAM中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。

·存储器读操作:

拨动总清开关后,置控制开关SWC、SWA为“00”时,按要求连线后,连续按“启动运行”开关,可对主存储器RAM连续手动读操作。

·存储器写操作:

拨动总清开关后,置控制开关SWC、SWA为“01”时,按要求连线后,再按“启动运行”开关,可对主存储器RAM进行连续手动写入。

·运行程序:

拨动总清开关后,置控制开关SWC、SWA为“11”时,按要求连线后,再按“启动运行”开关,即可转入到第01号“取址”微指令,启动程序运行。

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

SWC

SWA

控制台指令

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。

W/R

CS2

CS1

CS0

SWB

CE

输入设备

数据总线

ALUB

S3

S2

S1

S0

M

CN

DR1(74273)

DR2(74273)

LDDR1

LDDR2

R0(74374)

R0B

LDR0

IR(74273)

LDIR

时序

微控器

PC(74161)

LDPC

LDAD

PCB

AR(74273)

LDAR

地址总线

W/R

CE

CE

LEDB

W/R

CE

输出设备

CPU

图3.7.1数据通路框图

ALU

RAM

四、实验步骤

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

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

(1)测试。

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

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

本机用指令寄存器的前4位I7~I4作为测试条件,出现5路分支,占用5个固定微地址单元。

实验机控制操作为P(4)测试,它以控制开关SWC、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。

当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。

注意:

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

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

当全部微程序设计完毕后,应将每条微指令代码化,即按微指令格式将图3.7.2微程序流程图转化成二进制微代码表,如表3.7.1所示,再转换成16进制代码文件。

运行微程序

图3.7.2微程序流程图

OUT

PC→AR

0B

PC+1

RAM→BUS

0E

BUS→AR

RAM→BUS

0F

BUS→DR1

DR1→LED

15

01

JMP

PC→AR

0C

PC+1

RAM→BUS

16

BUS→PC

01

ADD

PC→AR

09

PC+1

RAM→BUS

03

BUS→AR

04

RAM→BUS

BUS→DR2

05

RO→DR1

06

(DR1)+(DR2)

01

→RO

SW→R0

08

IN

01

01

PC→AR

PC+1

02

RAM→BUS

BUS→IR

P

(1)

08

STA

PC→AR

0A

PC+1

RAM→BUS

07

BUS→AR

RO→BUS

0D

BUS→RAM

01

控制器

00

十六进制微地址

P(4)

10

(SWCSWA)

KRD(00)

RP(11)

13

01

PC→AR

PC+1

10

RAM→BUS

BUS→DR1

12

DR1→LED

17

KWE(01)

DR1→RAM

18

PC→AR

PC+1

11

(SW)→BUS

BUS→DR1

14

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

程序:

$P0000        

$P0110        

$P020A

$P0320

$P040B

$P0530

$P060B

$P0740        

$P0800      

$P0A01

微程序:

$M00108105

$M0182ED05

$M0248C004   

$M0304E004       

$M0405B004

$M0506A205

$M06019A95

$M070DE004

$M08011004

$M0983ED05

$M0A87ED05

$M0B8EED05

$M0C96ED05

$M0D018206

$M0E0FE004

$M0F15A004

$M1092ED05

$M1194ED05

$M1217A004

$M13018005

$M14182004

$M15010A07

$M1681D104

$M17100A07

$M18118A06

微地址

S3S2S1S0MCNWEB1B0

A

B

C

UA5…UA0

0 0

000001011

000

000

100

010000

0 1

000001011

110

110

110

000010

0 2

000001001

100

000

001

001000

0 3

000001001

110

000

000

000100

0 4

000001001

011

000

000

000101

0 5

000001011

010

001

000

000110

0 6

100101011

001

101

000

000001

0 7

000001001

110

000

000

001101

0 8

000001000

001

000

000

000001

0 9

000001011

110

110

110

000011

0A

000001011

110

110

110

000111

0 B

000001011

110

110

110

001110

0 C

000001011

110

110

110

010110

0 D

000001101

000

001

000

000001

0 E

000001001

110

000

000

001111

0 F

000001001

010

000

000

010101

1 0

000001011

110

110

110

010010

1 1

000001011

110

110

110

010100

1 2

000001001

010

000

000

010111

1 3

000001011

000

000

000

000001

1 4

000001000

010

000

000

011000

1 5

000001110

000

101

000

000001

1 6

000001001

101

000

110

000001

17

000001110

000

101

000

010000

1 8

000001101

000

101

000

010001

表3.7.1二进制微代码表

⑶读写程序

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

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

通过上一步将机器指令对应的微代码正确地写入E2ROM2816芯片后,再进行机器指令程序的装入和检查。

A.将“编程开关”置“运行”位置,“运行控制”开关置“运行”位置,“运行方式”开关置“单步”位置。

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

然后使控制开关SWC、SWA开关置为“01”,按动一次“启动运行”开关,微地址显示灯LUA0~LUA5显示“010001”,再按动一次“启动运行”开关,微地址显示灯LUA0~LUA5显示“010100”,此时数据开关的内容置为要写入的机器指令,再按动一次“启动运行”开关,即完成该条指令的写入。

若仔细阅读微程序流程,就不难发现,机器指令的首地址只要第一次给出即可,PC会自动加1,所以,每次按动“启动运行”开关,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。

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

拨动总清开关(0→1)后,微地址清零,PC程序计数器清零,然后使控制开关SWC、SWA为“00”,按动“启动运行”开关,微地址灯将显示“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=05B=20

A+BA*/B结果

000001010000010100100101

+00100000*11011111加00000101

001001010000010100101000->(2A)

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

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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