计算机组成原理实验报告 基本模型机和复杂模型机的设计.docx

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

计算机组成原理实验报告 基本模型机和复杂模型机的设计.docx

《计算机组成原理实验报告 基本模型机和复杂模型机的设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告 基本模型机和复杂模型机的设计.docx(20页珍藏版)》请在冰点文库上搜索。

计算机组成原理实验报告 基本模型机和复杂模型机的设计.docx

计算机组成原理实验报告基本模型机和复杂模型机的设计

基本模型机设计

一.设计目的

1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台稍微复杂的模型计算机;

2.为其定义5条机器指令,并编写相应的微程序,具体上机调试掌握整机概念

二.设计内容

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

三.概要设计

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序.

存储器读操作:

拨动总清开关CLR后,控制台开关SWB,SWA为”00”时,按START微动开关,可对RAM连续手动读操作.

存储器写操作:

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

启动程序:

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

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

表3-1读写变化

SWB

SWA

控制台指令

0

0

1

0

1

1

读内存(KRD)

写内存(KWE)

启动程序(RP)

根据以上要素设计数据通路框图,如图3-1:

表3-2微代码的定义

微程序

24

23

22

21

20-

19

18

17

16

15

14

13

控制信号

S3

S2

S1

S0

M

CN

RD

M17

M16

A

12

11

10

9

8

7

6

5

4

3

2

1

B

P

uA5

uA4

uA3

uA2

uA1

uA0

表3-3A,B,P字段内容

A字段B字段P字段

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_G

0

0

1

P1

0

1

0

LDDR1

0

1

0

0

1

0

0

1

1

LDDR2

0

1

1

0

1

1

1

0

0

LDIR

1

0

0

1

0

0

P4

1

0

1

LOAD

1

0

1

ALU_G

1

0

1

1

1

0

LDAR

1

1

0

PC_G

1

1

0

LDPC

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

由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。

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

控制台操作为P4测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。

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

控制台

00

20

WRITE(01)READ(00)RUN(11)

212023

2422

01

3027

图3-2微程序流程图

表3-4二进制微代码表

微地址

S3~CN

RD

M17M16

A

B

P

uA5~uA0

00

000000

0

11

000

000

100

010000

01

000000

0

11

110

110

110

000010

02

000000

0

01

100

000

001

001000

03

000000

0

01

110

000

000

000100

04

000000

0

01

011

000

000

000101

05

000000

0

11

010

001

000

000110

06

100101

0

11

001

101

000

000001

07

000000

0

01

110

000

000

010110

10

000000

0

00

001

000

000

000001

11

000000

0

11

110

110

110

000011

12

000000

0

11

110

110

110

000111

13

000000

0

11

110

110

110

001110

14

000000

0

11

110

110

110

010110

15

000000

1

01

000

001

000

000001

16

000000

0

01

110

000

000

001111

17

000000

0

01

010

000

000

010101

20

000000

0

11

110

110

110

010010

21

000000

0

11

110

110

110

010100

22

000000

0

01

010

000

000

010111

23

000000

0

11

000

000

000

000001

24

000000

0

00

010

000

000

011000

25

000001

1

10

000

101

000

000001

26

000000

1

01

000

001

000

000001

27

000001

1

10

000

101

000

010000

30

000001

1

01

000

101

000

010001

四.详细设计

上图为本实验的连线图

五.测试数据及运行结果

正常测试数据(3组)及运行结果;

输入:

03结果:

04

输入:

02结果:

03

输入:

07结果:

08

六.调试情况,设计技巧及体会

经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。

虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。

在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。

本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。

作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。

由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。

七.参考文献

计算机组成原理实验指导书西安邮电学院计算机系邢高峰牛晓晨王劲松

计算机组成原理白中英科学出版社

八.附录:

源代码(电子版)

本实验采用5条指令实现加1操作,设计机器指令如下:

地址?

?

?

?

?

?

?

内容?

?

?

?

?

?

助记符?

?

?

?

?

?

?

?

?

?

?

?

?

?

说明 

00          00         IN                 ;输入开关数据→R0,采集数据

01          10         ADD[0AH]          ;R0+[0AH]→R0

02          0A                            ;地址

03          20         STA[0BH]        ; R0→[0BH]

04          0B                            ;地址

05          30         OUT[0BH]       ;[0BH] →BUS,输出显示

06          0B                            ;地址

07          40         JMP[08H]       ;00H—>pc

08          00                          ;地址

09

0A          01;自定

0B;求和结果

复杂模型机的设计

一.设计目的

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

2.在基本指令的基础上,进行扩充指令并编写相应的微程序,具体上机调试掌握整机概念

二.设计内容

设计一个必须包含IN、OUT、STA、ADD、JMP指令的复杂指令模型机,指令种类自己决定,至少包括5条。

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

三.概要设计

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序.

存储器读操作:

拨动总清开关CLR后,控制台开关SWB,SWA为”00”时,按START微动开关,可对RAM连续手动读操作.

存储器写操作:

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

启动程序:

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

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

表3-1读写变化

SWB

SWA

控制台指令

0

0

1

0

1

1

读内存(KRD)

写内存(KWE)

启动程序(RP)

根据以上要素设计数据通路框图,如下图所示:

微程序:

$M00018108

$M0101ED82

$M0200C050

$M0300A004

$M0400E0A0

$M0500E006

$M0600A007

$M0700E0A0

$M0801ED8A

$M0901ED8C

$M0A00A03B

$M0B018001

$M0C00203C

$M0D00A00E

$M0E01B60F

$M0F95EA25

$M1001ED83

$M1101ED85

$M1201ED8D

$M1301EDA6

$M173D9A01

$M1901A22A

$M1A01B22C

$M1B01A232

$M1C01A233

$M1D01A236

$M1E318237

$M1F318239

$M2205DB81

$M230180E4

$M2595AAA0

$M2600A027

$M2701BC28

$M2895EA29

$M2995AA0

$M2A01B42B

$M2B959B41

$M2C01A42D

$M2D65AB6E

$M2E0D9A01

$M2F01AA30

$M300D8171

$M31959B41

$M32019A01

$M3301B435

$M3405DB81

$M35B99B41

$M360D9A01

$M3919883A

$M3A019801

$M3B070A08

$M3C068A09

四.详细设计

1.实验的连线图

2.指令系统

本模型机共有16条基本指令,其中算术逻辑指令7条,访存指令和程序控制指令4条,输入输出指令2条,其它指令1条,表列出了各条指令的格式、汇编符号、指令功能。

助记符号

指令格式

功能

CLRrd

MOVrs,rd

ADCrs,rd

SBCrs,rd

INCrd

ANDrs,rd

COMrd

RRCrs,rd

RLCrs,rd

0111

00

rd

1000

rs

rd

1001

rs

rd

1010

rs

rd

1011

rd

1100

rs

rd

1101

rd

1110

rs

rd

1111

rs

rd

0→rd

rs→rd

rs+rd+cy→rd

rs-rd-cy→rd

rd+1→rd

rs∧rd→rd

→rd

rs→rd

rs←rd

LDAM,D,rd

STAM,D,rd

JMPM,D

BZCM,D

00

M

00

rd

D

00

M

01

rd

00

M

00

rd

D

00

M

00

rd

D

E→rs

rd→E

E→PC

当CY=1或Z=1,

E→PC

INaddr,rd

OUTaddr,rd

0100

01

rd

0101

01

rd

addr→rd

rd→addr

HALT

0100

01

rd

停机

五.测试数据及运行结果

输入值:

03和01

输出值:

0200030003FF00

六.调试情况,设计技巧及体会

1.调试步骤

(1)按图连接实验线路

(2)写入程序

1)手动写入

A.按如下步骤讲微代码写入微控器中的存储器2816中:

1将编程开关置为PROM(编程)状态。

2将实验板上“STATEUNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。

3用二进制模拟开关置微地址MA5—MA0。

4在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量置为“0”时灯亮,开关量为“1”时灯灭。

5启动时序电路(按动启动按钮“START”),即将微代码写入到2816的相应地址对应的单元中。

6重复①-⑤步骤,将所有的微代码写入2816中。

B.按如下步骤校验微代码

1将编程开关置为READ(校验)状态。

2将实验板上“STATEUNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。

3用二进制模拟开关置微地址MA5—MA0。

4启动时序电路(按动启动按钮“START”),读出微代码。

观察显示灯MD24-MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。

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

)即可。

C.按如下步骤使用KWE微程序进行机器指令程序的装入。

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

2拨动总清开关CLR(0→1→0),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“01”,并按动一次START,微地址显示灯显示“010001”。

3再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令。

再按动两次START键后,即完成该条指令的写入,并且微地址显示灯显示“010001”。

(注:

由KWE的流程图可知,该流程每执行一次,将向PC寄存器所指向的存储器单元中写入一个字节的数据,并且将PC加1。

4如果还需要向存储器中输入数据,则需重复重新执行

D.按如下步骤使用KRD微程序进行机器指令程序的检查。

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

2拨动总清开关CLR(0→1→0),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“00”,并按动一次启动开关START,微地址显示灯显示“010000”。

3再按动一次START,微地址灯显示“010010”,第三次按动STRAT,微地址灯显示为“010111”,再按动STRAT后此时输出单元的数码管显示为PC寄存器所指单元的内容。

(注:

由KRD的流程图可知,该流程每执行一次,将显示PC寄存器所指向的存储器单元中一个字节的数据,并且将PC加1。

4如果还需要检查存储器中其他单元的数据,则需重复重新执行

2)联机读/写程序

将微代码写入文本文件中,通过联机软件载入实验系统。

(3)运行程序

1)本机运行

A.单步运行程序

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

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

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

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

4当运行结束后,可检查存数单元(0BH)中的结果是否和理论计算结果一致。

B.连续运行程序

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

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

3按动START键,系统将连续运行程序,直至将STOP拨至“STOP”状态。

4当运行结束后,可检查存数单元(0BH)中的结果是否和理论计算结果一致。

2)联机运行

联机运行程序时,进入软件界面,装载机器指令及微指令后,运行即可。

2.对设计及调试过程的心得体会。

复杂模型机的设计与实现比简单模型机难得多,在设计过程中,我对计算机的大致组成以及运行原理有了进一步的了解,对实验流程也比较熟悉。

觉得做实验的时候必须一丝不苟,要善于排错,不能慌张。

再设计指令的时候要讲求合理,写出详细的微程序,设计初步完成后,要编写适当的程序进行测试,不断调试,从而成功的完成实验。

经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。

虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。

在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。

本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。

作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。

由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。

七.参考文献

计算机组成原理实验指导书西安邮电学院计算机系邢高峰牛晓晨王劲松

计算机组成原理白中英科学出版社

八.附录:

源代码(电子版)

本实验采用5条指令实现加1操作,设计机器指令如下:

地址       内容      助记符              

0001000100INR0

0101000101INR1

0201110010CLRR2

0301011010OUTR2

0411101010RRCR2,R2

0510100001SUCR0,R1

0601011001OUTR1

0701110010CLRR2

0811111010RLCR2,R2

0910001001MOVR2,R1

0A01011001OUTR1

0B10010001ADCR0,R1

0C01011001OUTR1

0D11000110ANDR1,R2

0E01011010OUTR2

0F00000100STAM,D,R0

1001000000

1100000010LDAM,D,R2

1201000000

1301011010OUTR2

1411011010COMR2

1501011010OUTR2

1610111010INCR2

1701011010OUTR2

1800001000JMPM,D

1900011111

1F01100000HALT

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

当前位置:首页 > 经管营销 > 经济市场

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

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