组成原理课程设计Word下载.docx

上传人:b****6 文档编号:20712383 上传时间:2023-01-25 格式:DOCX 页数:25 大小:554.62KB
下载 相关 举报
组成原理课程设计Word下载.docx_第1页
第1页 / 共25页
组成原理课程设计Word下载.docx_第2页
第2页 / 共25页
组成原理课程设计Word下载.docx_第3页
第3页 / 共25页
组成原理课程设计Word下载.docx_第4页
第4页 / 共25页
组成原理课程设计Word下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

组成原理课程设计Word下载.docx

《组成原理课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《组成原理课程设计Word下载.docx(25页珍藏版)》请在冰豆网上搜索。

组成原理课程设计Word下载.docx

5.掌握按照系统建议的微指令流程图,将每条微指令译成二进制代码。

6.熟悉用为过程控制模型机的数据通路。

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

8.学习设计与调试计算机的基本步骤及方法。

9.通过单步和连续运行程序,进一步熟悉机器指令与微指令之间的关系,并掌握手动和联机读/写程序的方法。

10.使学生较熟悉的应用电子线路CAD工具完成单片机系统的硬件设计任务:

培养学生分析、解决问题的能力:

提高学生的科技论文写作能力。

第二章移位模型机的设计

2.1.设计原理

在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微程序。

2.1.1主存储器的读写和运行

存储器读操作(KRD):

拨动总清开关CLR后,当控制台开关SWB,SWA置为“00”时,按START微动开关,可对RAM进行连续手动读出。

存储器写操作(KWE):

拨动总清开关CLR后,当控制台开关SWB,SWA置为“01”时,按START微动开关,可对RAM进行连续手动写入。

启动程序:

拨动总清开关CLR后,当控制台开关SWB,SWA置为“11”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。

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

SWB

SWA

控制台指令

读内存(KRD)

1

写内存(KWE)

启动程序(RP)

2.1.2指令寄存器介绍

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

当执行一条指令时,先把它从内存取到指令寄存器中,然后再对其进行译码、执行。

指令划分为操作码喝地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P

(1)],通过节拍脉冲T4的控制以便识别所要求的操作。

“指令译码器”(实验板上标有“INSDECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。

2.1.3输入输出设备

本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE);

另一种是数码块,它作为输出设备(OUTPUTDEVICE)。

例如:

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

输出时,将输出数据送到数据总线上,当写信息(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。

2.1.4移位运算指令

本实验在基本模型机的基础上搭接移位控制电路,实现移位控制运算。

实验机系统中增加设计4条移位运算指令

(1).左环移RL

(2).带进位左环移RLC

(3).右环移

(4).带进位右环移

直至令格式如下:

助记符操作码

RR01010000

RRC01100000

RL01110000

RLC10000000

说明:

RR是将R0寄存器的内容循环右移一位

RRC是将R0寄存器的内容带进位右移一位,它将R0寄存器最低位移入进位位,同时将进位位移至R0寄存器的最高位

RL是将R0寄存器的数据循环左移一位

RLC是将R0寄存器中的数据带进位循环左移一位

2.1.5指令设计

带移位运算的模型机的设计与实现指令

(1)IN输入“INPUTDEVICE”->

R0,

(2)ADD[0DH]R0+[0DH]->

R0,

(3)RLC带进位左移

(4)IN“INPUTDEVICE”->

(5)RRC带进位右移

(6)RL左环移

(7)STA[0EH]R0->

[0EH]

(8)OUT[0EH][0EH]->

BUS

(9)JMP[00H]00H->

PC

2.1.6带移位运算的模型机监控软件的设计

本模型机监控软件主要完成从输入设备读入数据,进行算术运算、移位运算后,将结果存入内存的某个单元,最后通过输出设备输出结果。

监控软件详细如下:

地址(二进制)内容(二进制)助记符说明

0000000000000000IN;

“输入开关量”->

R0

0000000100010000ADD[0DH];

 R0+[0DH]->

0000001000001101

0000001110000000RLC带进位左移

0000010000000000IN;

“输入开关量”->

0000010101100000RRC带进位右移

0000011001110000RL左环移

0000011100100000STA[0EH];

R0->

0000100000001110

0000100100110000OUT[0EH];

[0EH]->

0000101000001110

0000101101000000JMP00H00H->

0000110000000000

0000110101000000;

自定义数据

00001110;

结果存放单元

2.2功能设计

(1).根据实验原理设计数据通路框图,如图2-1所示。

图2-1数据通路框图

(2).根据机器指令画出对应的微程序流程图

本实验的微程序流程图见图2-2和2-3所示。

当拟定“取指”微指令时,该微指令的判别测试字段为P

(1)测试。

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

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

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

(3).根据微程序流程图设计微指令并转换成16进制代码文件

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

图2-1微程序流程图

图2-2微程序流程图

(4).微指令格式

微指令共长24位,其控制位顺序如下:

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

S3

S2

S1

S0

M

Cn

WE

B1

B0

A

B

C

6

5

4

3

2

Ua5

Ua4

Ua3

Ua2

Ua1

Ua0

其中UA5-UA0为6位的后续微地址,A、B、C三个译码字段,分别有三组译码控制电路产生各控制信号。

C字段中的P

(1)-P(4)是四个测试字位。

其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微程序地址入口,从而实现微程序的顺序、分支、循环运行。

I7-I2为指令寄存器的第7-2位输出,SE5-SE1为微控器单元微地址锁存器的强制端输出。

AR为算出运算是否影响进位及判零标志控制为,低电平有效。

B字段中的RSB、RDB、RIB分别为元寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的宣统译码。

I0-I4为指令寄存器的第0-4位,LDRI为打入工作寄存器信号的译码器使能控制位。

A字段B字段C字段

选择

LDRi

LDDR1

LDDR2

LDIR

LOAD

LDAR

RS-B

RD-B

RI-B

299-B

ALU-B

PC-B

P

(1)

P

(2)

P(3)

P(4)

AR

LDPC

将微程序流程图按微指令格式转化而成的“二进制微代码表”。

表2-4二进制微代码表

微地址

S3S2S1S0MCNWEA9A8

A

B

C

UA5…UA0

00

000000011

000

100

010000

01

110

110

000010

02

000000001

001

001000

03

000100

04

011

000101

05

010

000110

06

011000011

101

000001

07

001101

10

000000000

11

000011

12

000111

13

001110

14

010110

15

000000101

16

001111

17

010101

20

010010

21

010100

22

010111

23

24

011000

25

000001110

26

27

30

000001101

010001

(5).根据微程序流程图设计微程序并转化成十六进制文件格式(文件名C8JHE2),具体内容如下:

机器指令程序微指令程序

$P0110$P0C00$M00088105$M0A8CED05$M151D823

$P020D$P0D40$M0182ED05$M0B8CED05$M161F823

$P0380$M0250C004$M0C8CED05$M1721823

$P0400$M0304E004$M0D8CED05$M1823823

$P0560$M0405B004$M0E8CED05$M1923823

$P0670$M0506A205$M0F8CED05$M1A1BA0

$P0720$M06019A95$M108CED05$M1B010A

$P080E$M070FE004$M118CED05$M1C81D1

$P0930$M088AED05$M128CED05$M1D1E8825

$P0A0E$M098CED05$M138CED05$M1E019805

$P0B40$M098CED05$M148CED05$M1F20882D

(7).确定连线图,根据各部件的功能,确定好电路各个芯片的连接,如下:

2.3移位模型机设计的连线

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连EXJ3;

i.ALUBUS连EXJ3

j.ALUO1连BUS1;

k.EXJ1连BUS3;

l.ALUO2连BUS4.

(9).仔细查线无误后接通电源。

(10).写程序

方法一:

手动写入。

使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。

①使编程开关处于"

RUN”,STEP为“STEP”状态,STOP为“RUN”状态。

②拨动总清开关CLR(0→1),微地址寄存器清零,程序计数器清零,然后控制台SWB,SWA开关置为“01”,按动一次启动开关START,微地址显示灯显示“001001”,再按动一次START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。

若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为00H,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。

③写完程序后须进行校验。

拨动总清开关CLR(0→1)后,微地址清零。

PC程序计数器清零,然后使控制台开关SWB,SWA为“00”,按动启动START,微地址灯将显示“001000"

再按START,微地址灯显示为“001010”;

第3次按START,微地址灯显示为“001110”;

再按START后,此时输出单元的数码管显示为该首地址中的内容。

不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。

每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中显示。

方法二:

联机读/写程序。

使用软件中的F4_LOAD功能装入机器指令格式文件或F2_R/WPR功能逐条写入。

(4)运行程序。

①单步运行程序:

A.使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。

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

C.单步运行一条微指令,每按动一次START键,即单步运行一条微指令。

对照微程序流程图,观察微地址显示灯是否和流程一致。

D.当运行结束后,可检查存数单元(0EH)中的结果是否和理论值一致

②连续运行程序:

A.使STATEUNIT中的STEP开关置为“EXEC”状态,STOP开关置为“RUN”状态。

B.拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。

C.停机后,可检查存数单元(0EH)结果是否正确。

第三章移位模型机设计分析

3.1监控软件分析

地址(二进制)内容(二进制)助记符

0000000000000000IN;

从输入开关任意输入数据存于R0

0000000100010000ADD[0DH];

另一个加数是内存地址0DH中的内容

0000001000001101;

存放0DH的地址为00000010

0000001110000000RLC;

带进位左移

0000010000000000IN;

0000010101100000RRC;

带进位右移

0000011001110000RL;

左环移

0000011100100000STA[0EH];

将R0中的内容存放在地址为0EH的单元

0000100000001110;

存放0EH的地址为00001000

0000100100110000OUT[0EH];

将0EH中的内容在数码管上显示出来

0000101101000000JMP00H;

程序计数器PC的值跳转到0

0000110000000000

0000110101000000;

3.2微程序分析

M00 

088105

M01 

82ED05 

;

PC—>

AR,PC+1,取指令

M02 

50C004 

;

RAM->

BUS->

IR,分析指令

M03 

04E004 

AR,取操作数地址

M04 

05B004 

DR2,取操作数拨那个存放到DR2寄存器中

M05 

06A205 

R0->

DR1,将从输入端输入的数据存放到DR1寄存器中

M06019A95 

(DR2+DR1)->

R0,DR2和DR1中的内容相加,结果存放在R0

M07 

0FE004 

AR,获取R0中内容存放在主存中的单元地址

M08 

8AED05 

空操作

M09 

8CED05 

IN->

R009表示微程序入口地址

M0A 

0EA004 

PC->

AR,PC+1(0A是ADD微程序入口地址)

M0B 

018005 

AR,PC+1(0B是STA微程序入口地址)

M0C 

0D2004 

AR,PC+1(0C是OUT微程序入口地址)

M0D 

098A06 

AR,PC+1(0D是JUMP微程序入口地址)

M0E 

080A07 

AR,PC+1(0E是SUB微程序入口地址);

M0F 

018206 

R299,带进位左环移

M10 

011004 

M11 

83ED05 

M12 

87ED05 

M13 

99ED05 

 

BUS,BUS->

M14 

9CED05 

LED

M15 

1D8235 

M16 

1F8235 

RAM

M17 

218235 

M18 

238235 

DR2

M19 

1AE004 

DR1

M1A 

1BA004 

(DR2-DR1)->

M1B 

010A07 

OUT

M1C 

81D104 

M1D 

1E8825 

R299->

M1E 

019805 

左循

M1F 

20882D 

M20 

3.3机器指令分析 

1.输入(IN)

①将PC的值给AR,PC的值加1

②RAM的值通过总线(BUS)传给IR。

③将输入端(IN)的内容输入到R0。

(输入初始值0)

2.加法运算(ADD)作用:

让存储器中的值与输入的值相加

③将PC的值给AR,PC的值加1

④将RAM中的数值传给DR2,将R0的值传给DR1

⑤将DR1,DR2的数值传到ALU中相加,得到的结果存入R0中。

3.存数(STA)作用:

保护R0的值

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

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1