复杂模型机的设计的数据通路图完整版.docx

上传人:b****5 文档编号:8372616 上传时间:2023-01-30 格式:DOCX 页数:20 大小:297.03KB
下载 相关 举报
复杂模型机的设计的数据通路图完整版.docx_第1页
第1页 / 共20页
复杂模型机的设计的数据通路图完整版.docx_第2页
第2页 / 共20页
复杂模型机的设计的数据通路图完整版.docx_第3页
第3页 / 共20页
复杂模型机的设计的数据通路图完整版.docx_第4页
第4页 / 共20页
复杂模型机的设计的数据通路图完整版.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

复杂模型机的设计的数据通路图完整版.docx

《复杂模型机的设计的数据通路图完整版.docx》由会员分享,可在线阅读,更多相关《复杂模型机的设计的数据通路图完整版.docx(20页珍藏版)》请在冰豆网上搜索。

复杂模型机的设计的数据通路图完整版.docx

复杂模型机的设计的数据通路图完整版

计算机组成原理

课程设计实验报告

设计题目

复杂模型机的设计与实现

专业班级

计算机科学与技术1004

指导教师

日期

2013.01.10

开发小组成员

组员:

岂亚娟1008030415

杨娜1008030418

吴兴欢1008030401

刘甜1008030402

复杂模型机的设计与实现

一、课程设计目的

综合运用所学计算机原理实验知识,设计并实现较为完整的计算机。

二、设计要求

1、确定设计目标

参考实验指导书上复杂模型机设计的过程,运用其微指令格式,独立设计指令系统。

并用该指令系统中的指令编一完成简单运算的程序(有数据输入和输出的)。

并进行调试运行。

2、确定指令系统

确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。

3、总体结构与数据通路

总体结构设计包含确定各部件设置以及它们之间的数据通路结构。

在此基础上,就可以拟出各种信息传送路径,以及实现这些传送所需要的微命令。

对于部件设置,比如要确定运算器部件采用什么结构,控制器采用微程序控制。

综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,采用何种方案的内总线及外总线。

数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。

4、设计指令执行流程

数据通路确定后,就可以设计指令系统中每条指令的执行流程。

根据指令的复杂程度,每条指令所需要的机器周期数。

对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一个微指令中,哪些微操作不能安排在同一条微指令中。

5、确定微程序地址

根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。

6、根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码,写入到控制存储器中的相应单元中。

7、组装、调试

在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的运行正确。

当所有功能模块都调试正常后,进入总调试。

连接所有模块,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。

三、数据格式以及指令格式

1、数据格式

模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:

7

654321

符号

尾数

2、指令格式

模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器及转移指令和停机指令。

(1)算术逻辑指令

设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:

7654

32

10

OP-CODE

Rs

Rd

其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:

选中的寄存器(Rs或Rd)

R0

R1

R2

寄存器的编码

00

01

10

(2)访存指令及转移指令

模型机设计2条访问指令,即存数(STA)、取数(LDA)、2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。

其格式如下:

76

54

32

10

OP-CODE

M

OP-CODE

Rd

D

其中,OP-CODE为操作码,Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:

 

寻址方式

有效地址

说明

00

E=D

直接寻址

01

E=(D)

间接寻址

10

E=(RI)+D

RI变址寻址

11

E=(PC)+D

相对寻址

本模型机规定变址寄存器RI指定为寄存器R2。

(3)I/O指令

输入和输出指令采用单字节指令,其格式如下:

7654

32

10

OP-CODE

addr

RD

 

其中,addr=01时,表示选中“输入单元”中的开关组作为输入设备,addr=10时,表示选中“输出单元”中的数码块作为输出设备。

(4)停机指令

这类指令只有1条,即停机指令HALT,用于实现停机操作,指令格式如下:

7654

32

10

0110

00

00

3、指令系统

(1)本模型机共有16条基本指令。

其中,算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其他它指令1条。

表1列出了各条指令的格式、汇编符号、指令功能。

表1复杂模型机指令系统

序号

汇编符号

指令格式

功能说明

1

CLRRd

011100Rd

0→Rd

2

MOVRS,Rd

1000RSRd

RS→Rd

3

ADCRS,Rd

1001RSRd

RS+Rd+Cy→Rd

4

SBCRS,Rd

1010RSRd

RS-Rd-Cy→Rd

5

INCRd

1011--Rd

Rd+1→Rd

6

ANDRS,Rd

1100RSRd

RS∧Rd →Rd

7

COMRd

110100Rd

Rd →Rd

8

RRCRS,Rd

1110RSRd

RS带进位右循环一位,RS→Rd

9

RLCRS,Rd

1111RSRd

RS带进位左循环一位,RS→Rd

10

LDAM,D,Rd

00M00Rd,D

E→Rd

11

STAM,D,Rd

00M01Rd,D

Rd→E

12

JMPM,D

00M1000,D

E→PC

13

BZCM,D

00M1100,D

当CY=1或ZI=1时,E→PC

14

INaddr,Rd

010001Rd

addr→Rd

15

OUTaddr,Rd

010110Rd

Rd→addr

16

HALT

01100000

停机

(2)微指令格式

表2复杂模型机微指令结构图

微程序

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

控制信号

S3

S2

S1

S0

M

CN

WE

A9

A8

A

B

C

uA5

uA4

uA3

uA2

uA1

uA

0

A字段

B字段

C字段

15

14

13

控制信号

12

11

10

控制信号

9

8

7

控制信号

0

0

0

0

0

0

0

0

0

0

0

1

LDRI

0

0

1

RS_B

0

0

1

P1

0

1

0

LDDR1

0

1

0

RD_B

0

1

0

P2

0

1

1

LDDR2

0

1

1

RI_B

0

1

1

P3

1

0

0

LDIR

1

0

0

299_B

1

0

0

P4

1

0

1

LOAD

1

0

1

ALU_B

1

0

1

AR

1

1

0

LDAR

1

1

0

PC_B

1

1

0

LDPC

其中uA5~uA0为6位的后继微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。

C字段中的P1~P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。

具体来说,P1测试用于“取指令”微指令,它用下址低四位(uA3~uA0)与指令寄存器高四位(IR7~IR4)相或得到各路分支;P2测试用下址低2位(uA1~uA0)与指令寄存器的IR3IR2相或得到各路分支;P3测试用于条件转移,它用下址的uA4与(ZI+CY)相或得到各路分支;

P4测试用于控制台操作,它用下址低2位(uA1~uA0)与SWB、SWA相或得到各路分支。

在上述各测试下址中未用到的位均直接保留。

AR为算术运算是否影响进位及判零标志控制位,其为零有效。

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

三字段中的其他位类似与此,均是某芯片的选通信号,它们的功能都是根据机器指令来进行相应芯片的选通译码。

(3)微程序流程图

本模型机的数据通路如图1所示。

根据机器指令系统要求,设计微程序流程图及确定微地址,如图2所示.

工作时序波形图如图3所示

指令译码器及逻辑表达式如图4所示

寄存器译码器如图5所示

图3时序波形图

如图4指令译码器

SE1=I4•T4•P1+I2•T4•P2+P4•T4•SWA

SE2=I5•T4•P1+I3•T4•P2+P4•T4•SWB

SE3=I6•T4•P1

SE4=I7•T4•P1

SE5=P3•T4•(FC+FZ)

图5寄存器译码器

图1复杂模型机的设计的数据通路图

图2微程序流程图

 

微地址

S3~CN

WE

A9A8

A

B

C

uA5~uA0

00

000000

0

11

000

000

100

001000

01

000000

0

11

110

110

110

000010

02

000000

0

01

100

000

001

010000

20

000000

0

11

110

110

110

000011

03

000000

0

01

010

000

000

000100

04

000000

0

01

110

000

010

100000

40

000000

0

01

110

110

110

000101

05

000000

0

01

110

000

000

000110

06

000000

0

01

010

000

000

000111

07

000000

0

01

110

000

010

100000

22

000000

0

11

110

110

110

001101

15

000000

0

01

010

000

000

001110

16

100101

0

11

110

101

000

100101

45

100101

0

11

010

101

010

100000

23

000000

0

11

110

110

110

100110

46

000000

0

01

010

000

000

100111

47

000000

0

11

011

110

000

101000

50

100101

0

11

110

101

000

101001

51

100101

0

11

010

101

010

100000

24

000000

0

11

001

000

000

000001

25

000000

1

10

000

010

000

000001

26

000000

0

11

000

000

000

010110

27

001111

0

11

001

101

000

000001

30

000000

0

11

001

001

000

000001

31

000000

0

11

010

001

000

101010

52

000000

0

11

011

010

000

101011

53

100101

0

11

011

001

000

101100

32

000000

0

11

010

010

000

001101

54

000000

0

11

010

010

000

101101

55

011001

0

11

010

101

101

101110

56

000011

0

11

001

101

000

000001

62

000000

0

11

001

101

000

000001

34

000000

0

11

010

001

000

110011

63

000000

0

11

011

010

000

110101

65

101110

0

11

001

101

101

000001

41

000000

1

01

000

010

000

000001

42

000001

0

11

101

101

110

000001

43

000000

0

11

000

000

011

100100

44

000000

0

11

000

000

000

000001

64

000001

0

11

101

101

110

000001

11

000000

0

11

110

110

110

001100

14

000000

0

00

010

000

000

111100

74

000001

1

01

000

101

000

001001

10

000000

0

11

110

110

110

001010

12

000000

0

01

010

000

000

111011

73

000001

1

10

000

101

000

001000

13

000000

0

11

000

000

000

000001

35

000000

0

11

010

001

000

110110

37

001100

0

11

000

001

000

111001

36

001100

0

11

000

001

000

110111

66

000011

0

11

001

101

000

000001

67

001010

0

11

000

100

000

111000

70

000000

0

11

001

100

000

000001

71

000110

0

11

000

100

000

111010

72

000000

0

11

001

100

000

000001

图3实验线路图

 

(4)实验的接线图为:

图4实验接线图

 

四、实验步骤

1、按图3连接实验线路,仔细查线无误后,接通电源。

2、编程

A.将控制台单元的编程开关SP06设置为WRITE(编程)状态。

B.将控制台单元上的SP03置为STEP,SP04置为RUN状态。

C.用开关单元的二进制模拟开关设置微地址UA5~UA0。

 

D.在微控制器单元的开关LM24~LM01上设置微代码,24位开关对应24位显示灯,开关量为1时灯亮,开关量为0时灯灭。

E.按动START键,启动时序电路,即将微代码写入到28C16的相应地址单元中。

F.重复C~E步骤,将表3的微代码写入28C16中。

3、校验

A.将编程开关SP06设置为READ(校验)状态。

B.将实验板的SP03开关置为STEP状态,SP04开关置为RUN状态。

C.用二进制开关置好微地址μA5~μA0。

D.按动START键,启动时序电路,读出微代码.观察显示灯LM24~LM01的状态(灯亮为“1”,灭为“0”),检查读出的微代码是否与写入的相同。

如果不同,则将开关置于WRITE编程状态,重新执行

(2)即可

4、写程序/运行程序

A.将控制台单元上的SP03置为STEP状态,SP04置为RUN状态,SP05置为NORM状态,SP06置为RUN状态。

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

然后使开关单元的SWB、SWA开关设置为“01”,按动一次START,微地址显示灯显示“001001”,再按动一次START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。

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

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

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

PC程序计数器清零,然后使控制台开关SWB,SWA为“00”,按动启动START,微地址灯将显示“001000”;再按START,微地址灯显示为“001010”;第3次按START,微地址灯显示为“111011”;再按START后,此时输出单元的数码管显示为该首地址中的内容。

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

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

5、运行程序。

(1)单步运行程序

①使编程开关SP06处于RUN状态,SP03为STEP状态,SP04为RUN状态,SP05为NORM状态,开关单元的SWB,SWA为“11”。

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

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

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

④当运行结束后,可检查运行结果是否和理论值一致。

(2)连续运行程序

①使编程开关SP06处于RUN状态,SP03为RUN状态,SP04为RUN状态,SP05为NORM状态,开关单元的SWB,SWA为“11”。

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

③停机后,可检查运行结果是否和理论值一致。

提示:

1.联机运行能测试新功能,只限复杂模型机。

2.装在指令集微指令后就需运行(做其他可能会覆盖代码)。

3.需要有运行程序方法

4.SWA,SWB必须为11状态。

五、系统测试

实验程序如下:

采用机器指令:

IN,ADD,STA,OUT,JMP,LDA,RLC,BZC,HLAT,MOV,

COM,RRC,CLR,ADC,SBC

地址内容助记符说明

0044IN01,R0输入02

01BOINCR0

0281MOVR0,R1

0372CLRR2

05E4RLCR1,R2

0696RRCR1,R0

07A8ADCR1.R2

08D2SBCR2,R0

09C2ANDR0,R2

0A00LAD00,19,R0

0B19(19)=09

0C11LDA01,1A,R1

0D1A(1A)=20,(20)=03

0E22LDA10,1B,R2

0F1B(1B)=18

1058OUT10,R0

1108JMP60H

1260HALT停机

微程序

$M00018108

$M0101ED82

$M0200C050

$M0300A004

$M0400E0A0

$M0500E006

$M0600A007

$M0700E0A0

$M0801ED8A

$M0901ED8C

$M0A00A03B

$M0B018001

$M0C00203C

$M0D00A00E

$M0E01B60F

$M2205DB81

 

$M230180E4

$M24018001

$M2595AAA0

$M2600A027

$M2701BC28

$M2895EA29

$M2995AAA0

$M2A01B42B

$M2B959B41

$M2C01A42D

$M2D65AB6E

$M2E0D9A01

$M2F01AA30

$M0D00A00E

$M0E01B60F

$M0F95EA25

$M1001ED83

$M1101ED85

$M1201ED8D

$M1301EDA6

$M14001001

$M15030401

$M16018016

$M173D9A01

$M18019201

$M1901A22A

$M1A01B22C

$M1B01A232

$M1C01A233

$M1D01A236

$M1E318237

$M1F318239

$M20009001

$M21028401

$M2205DB81

$M230180E4

$M24018001

$M2595AAA0

$M2600A027

$M2701BC28

$M2895EA29

$M2995AAA0

$M2A01B42B

$M2B959B41

$M2C01A42D

$M2D65AB6E

$M2E0D9A01

$M2F01AA30

$M300D8171

$M31959B41

$M32019A01

$M3301B435

$M3405DB81

$M35B99B41

$M360D9A01

$M37298838

$M38019801

$M3919883A

$M3A019801

$M3B070A08

$M3C068A09

六、结束语

这次课程设计本来的要求是要花上两周的时间来设计及完成,如果要认认真真的完成者实验,在了对设计题目的理解和分析之上就要花很长的时间。

因为刚开始接触题目的时候比较茫然,不知道改如何下手,但是仔细的分析之后,对实验的基本要求还是有了一定的理解,本来这次的实验要很认真的完成的。

在设计过程中,我们是以四人一组搭档实验的,但是在试验的过程,一开始我们以为是按实验指导书的要求去做,觉得很简单,但是就是指导书的简单实验我们也犯下了一些小错误,是接线方面的小错误,好在改完后可以顺利的按照实验书上要求的运行。

通过本课程设计,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对微程序控制器的理解,进一步巩固所学的理论知识,并提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风和良好的工程素质,为今后的工作打下基础。

在以后的学习中,我们还应该不断的完善自己的知识体系结构,注意理论与实践的结合,学以致用。

开发的同时,和同学们之间的相互探讨也使我获益匪浅。

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

当前位置:首页 > 初中教育

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

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