《计算机组成原理》实验报告.docx

上传人:b****6 文档编号:8259276 上传时间:2023-01-30 格式:DOCX 页数:22 大小:862.98KB
下载 相关 举报
《计算机组成原理》实验报告.docx_第1页
第1页 / 共22页
《计算机组成原理》实验报告.docx_第2页
第2页 / 共22页
《计算机组成原理》实验报告.docx_第3页
第3页 / 共22页
《计算机组成原理》实验报告.docx_第4页
第4页 / 共22页
《计算机组成原理》实验报告.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

《计算机组成原理》实验报告.docx

《《计算机组成原理》实验报告.docx》由会员分享,可在线阅读,更多相关《《计算机组成原理》实验报告.docx(22页珍藏版)》请在冰豆网上搜索。

《计算机组成原理》实验报告.docx

《计算机组成原理》实验报告

目录

一、课程设计目的1

二、课程设计题目1

1、设计一个微程序控制器1

2、设计一个具有带进位加法和立即数寻址方式的模型机1

三、实验设备仪器2

四、微程序控制器2

1、设计目标2

2、实验步骤2

3、运行调试2

五、设计一个具有加法功能和直接寻址方式的模型机4

1、设计目标4

2、指令格式4

3、准备知识4

4、设计微指令5

六、设计一个具有带进位加法和立即数寻址方式的模型机9

1、问题描述9

2、设计目标9

3、指令格式9

4、准备知识10

5、设计微指令12

6、建立联机操作文件16

7、连接实验线路17

8、运行与调试17

七、实验心得与总结19

参考资料19

 

一、课程设计目的

通过这次课程设计,掌握计算机的基本组成原理,熟悉整套的实验设备系统,并对计算机的各部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有深入的了解。

提高动手能力,实现理论与实践相结合。

二、课程设计题目

1、设计一个微程序控制器

(1)设计内容

设计一个微控制器,使得装载的微程序顺序执行,并有跳转功能。

(2)设计要求

装载的微程序能按照流程图正确执行,并能强制地址转换跳出循环,跳到另一个微程序地址,能在地址总线上显示每一步的微程序地址。

2、设计一个具有带进位加法和立即数寻址方式的模型机

(1)设计内容

设计一台模型计算机,实现下列指令系统,并通过给定的工作程序验证下述指令系统。

(2)设计要求

本模型机能够实现IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移)指令系统,并能在数据总线和地址总线上显示正确的数值。

三、实验设备仪器

硬件环境为PC-386以上微机,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验台。

软件环境采用WINDOWS操作系统,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验软件,ispDesignEXPERT实验软件。

四、微程序控制器

1、设计目标

装载的微程序能按照流程图正确执行,并能强制地址转换跳出循环,跳到另一个微程序地址,能在地址总线上显示每一步的微程序地址。

能在单步执行的过程中,对微程序的运行进行控制,从而实现在不同的微程序入口的跳转。

2、实验步骤

(1)按下面所示连接实验线路,仔细检查无误后,接通电源。

(2)进行微程序的装载。

(3)装载成功后,将程序计数器清零,然后将MICRO-CONTROLLER单元的编程开关设置为RUN,将STATE单元的“STEP”和“STOP”分别设置为“STEP”和“RUN”。

(4)将原来接到MA5~MA0的数据线接到SE1~SE6上面。

(5)按动“START”,使得其单步运行。

3、运行调试

(1)通过微程序流程图,查看他们之间的跳转

(2)使用说明

要强置地址时,只要将当前微指令的下一条指令的地址和要调到的地址值进行同或运算,便得出要在SWITCH单元的CN~S3中输入的数据。

(3)测试数据和结果

1.不强制微地址时,则在微地址00→20→22→27→20不断循环。

2.当微地址跳到27时(此时UA0~UA5中显示010111),在SWITCH的CN~S3单元中输入111100,按动START开关,微地址跳到了23,成功地跳出循环,实现跳转。

3.再按动START开关,则微地址在01→02→10→01不断循环。

4.在UA0~UA5显示001000时(即10),在SWITCH的CN~S3单元中输入111110时跳到微地址11,输入为111101时跳到12,输入为111100时跳到13。

5.实验结果正确,实验完成。

五、设计一个具有加法功能和直接寻址方式的模型机

1、设计目标

设计一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,

在设计完本程序后,所设计模型机能够完成从一个外设输入一个数到指定的寄存器中,另外输入立即数并将其存入另一个、寄存器中,两数进行进位相加并将结果保存到第一个寄存器,输出结果,并显示。

另外,实现无条件跳转至开始。

2、指令格式

助记符号

机器指令码

功能

IN

00000000

“InputDEVICE”中的开关状态->R0

ADDaddr

00010000XXXXXXXX

R0+[addr]->R0

STAaddr

00100000XXXXXXXX

R0->[addr]

OUTaddr

00110000XXXXXXXX

[addr]->LED

JMPaddr

01000000XXXXXXXX

addr->PC

3、准备知识

(1)微指令格式

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

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

P

(1)

0

1

0

LDDR1

0

1

0

RD-B

0

1

0

P

(2)

0

1

1

LDDR2

0

1

1

RI-B

0

1

1

P(3)

1

0

0

LDIR

1

0

0

299-B

1

0

0

P(4)

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

表中uA0~uA5为6位的下一条微指令的地址,A、B、C为3个译码字段,分别由三个控制位译码出多位。

C字段中的P

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

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

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

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

B字段中的RS-B、R0-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令进行三个工作寄存器R0、R1及R2的选通译码,其原理图如图3所示,图中I0~I3为指令积存器的第0~3位,LDRi为打入工作寄存器信号的译码器使能控制位。

(2)微程序控制电路

4、设计微指令

电路连接图

(1)画出微程序流程图

(2)设计微指令

(3)微程序代码

根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:

(3)工作程序的设计

将题目设计的模型机的指令用汇编语言描述其具体结构为:

地址

内容

助记符

说明

00000000

00000000

IN

Input->R0

00000001

00010000

ADD[0AH]

R0+[0AH]->R0

00000010

00001010

00000011

00100000

STA[0BH]

R0->[0BH]

00000100

00001011

00000101

00110000

OUT[0BH]

[0BH]->LED

00000110

00001011

00000111

01000000

JMP01H

01H->PC

00001000

00000001

00001001

00001010

00000001

自定义

00001011

求和结果

工作程序代码为:

$P0000

$P0110

$P020A

$P0320

$P040B

$P0530

$P060B

$P0740

$P0801

$P0A01

(4)根据数据通路图写出指令实现信号

助记符

信号

IN

PC→AR,PC+1

LDPC,PC-B,LDAR

RAM→BUS,BUS→IR

W/R,CE,LDIR

INPUT→BUS

SW-B,LDRi

ADD

PC→AR,PC+1

LDPC,PC-B,LDAR

RAM→BUS,BUS→IR

W/R,CE,LDIR

PC→AR,PC+1

LDPC,PC-B,LDAR

RAM→BUS,BUS→DR2

W/R,CE,LDDR2

R0→DR1

LDRi.LDDR1

(DR1)+(DR2)→R0

S3-S0,M,Cn,ALU-B

STA

PC→AR,PC+1

LDPC,PC-B,LDAR

RAM→BUS,BUS→AR

W/R,CE,LDAR

R0→BUS,BUS→RAM

LDRi,W/R,CE

OUT

PC→AR,PC+1

LDPC,PC-B,LDAR

RAM→BUS,BUS→AR

W/R,CE,LDAR

RAM→BUS,BUS→DR1

W/R,CE,LDDR1

DR1→LED

ALU-B,LED-B,W/R

JMP

PC→AR,PC+1

LDPC,PC-B,LDAR

RAM→BUS,BUS→PC

W/R,CE,LDPC

(5)程序运行结果

显示正确的结果。

六、设计一个具有带进位加法和立即数寻址方式的模型机

1、问题描述

本题目设计的是一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。

2、设计目标

在设计完本程序后,所设计模型机能够完成从一个外设输入一个数到指定的寄存器中,另外输入立即数并将其存入另一个、寄存器中,两数进行进位相加并将结果保存到第一个寄存器,输出结果,并显示。

另外,实现无条件跳转至开始。

3、指令格式

助记符号

机器指令码

功能

IN

00000000

Input->R0

ADCImm

11100000XXXXXXXX

R0+Imm+CY->R0

STAaddr

00100000XXXXXXXX

R0->[addr]

OUTaddr

00110000XXXXXXXX

[addr]->LED

JMPaddr

01000000XXXXXXXX

[addr]->PC

4、准备知识

(6)微指令格式

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

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

P

(1)

0

1

0

LDDR1

0

1

0

RD-B

0

1

0

P

(2)

0

1

1

LDDR2

0

1

1

RI-B

0

1

1

P(3)

1

0

0

LDIR

1

0

0

299-B

1

0

0

P(4)

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

表中uA0~uA5为6位的下一条微指令的地址,A、B、C为3个译码字段,分别由三个控制位译码出多位。

C字段中的P

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

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

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

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

B字段中的RS-B、R0-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令进行三个工作寄存器R0、R1及R2的选通译码,其原理图如图3所示,图中I0~I3为指令积存器的第0~3位,LDRi为打入工作寄存器信号的译码器使能控制位。

(2)指令译码电路

(3)寄存器译码电路

寄存器译码

微程序控制电路

5、设计微指令

(1)画出微程序流程图

 

(2)设计微指令

微地址

S3

S2

S1

S0

M

CN

WE

A9

A8

A

B

C

UA5….UA0

00

0

0

0

0

0

0

0

1

1

000

000

000

000001

01

0

0

0

0

0

0

0

1

1

110

110

110

000010

02

0

0

0

0

0

0

0

0

1

100

000

001

001000

03

0

0

0

0

0

0

0

0

1

011

000

000

000100

04

0

0

0

0

0

0

0

1

1

010

001

000

000101

05

1

0

0

1

0

1

0

1

1

001

101

101

000001

06

0

0

0

0

0

0

0

0

1

110

000

000

000111

07

0

0

0

0

0

0

1

0

1

000

001

000

000001

08

0

0

0

0

0

0

0

0

0

001

000

000

000001

0E

0

0

0

0

0

0

0

1

1

110

110

110

000011

0A

0

0

0

0

0

0

0

1

1

110

110

110

000110

0B

0

0

0

0

0

0

0

1

1

110

110

110

011000

0C

0

0

0

0

0

0

0

1

1

110

110

110

001101

0D

0

0

0

0

0

0

0

0

1

101

000

110

000001

18

0

0

0

0

0

0

0

0

1

110

000

000

001111

0F

0

0

0

0

0

0

0

0

1

010

000

000

010101

15

0

0

0

0

0

1

1

1

0

000

101

000

000001

(3)微程序代码

根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:

$M00018001

$M0101ED82

$M0200C048

$M0300B004

$M0401A205

$M05959B41

$M0600E007

$M07028201

$M08001001

$M0E01ED83

$M0A01ED86

$M0B01ED98

$M0C01ED8D

$M0D00D181

$M1800E00F

$M0F00A015

$M15070A01

 

(4)工作程序的设计

将题目设计的模型机的指令用汇编语言描述其具体结构为:

地址

内容

助记符

说明

00000000

00000000

IN

Input->R0

00000001

11100000

ADCImm

R0+Imm+cy->R0

00000010

00001010

00000011

00100000

STA[0BH]

R0->[0BH]

00000100

00001011

00000101

00110000

OUT[0BH]

[0BH]->LED

00000110

00001011

00000111

01000000

JMP

Addr->PC

00001000

00000001

工作程序代码为:

$P0000

$P01E0

$P020A

$P0320

$P040B

$P0530

$P060B

$P0740

$P0801

(5)指令实现信号

助记符

信号

IN

PC->AR,PC+1

LDPC,PC-B,LDAR

RAM->BUS,BUS->IR

W/R,CE,LDIR

INPUT->BUS

SW-B,LDRi

ADC

PC->AR,PC+1

LDPC,PC-B,LDAR

RAM->BUS,BUS->DR2

W/R,CE,LDDR2

R0->DR1

LDRi.LDDR1

(DR1)+(DR2)+cy->R0

S3-S0,M,Cn,ALU-B

STA

PC->AR,PC+1

LDPC,PC-B,LDAR

RAM->BUS,BUS->AR

W/R,CE,LDAR

R0->BUS,BUS->RAM

LDRi,W/R,CE

OUT

PC->AR,PC+1

LDPC,PC-B,LDAR

RAM->BUS,BUS->AR

W/R,CE,LDAR

RAM->BUS,BUS->DR1

W/R,CE,LDDR1

DR1->LED

ALU-B,LED-B,W/R

JMP

PC->AR,PC+1

LDPC,PC-B,LDAR

RAM->BUS,BUS->PC

W/R,CE,LDPC

(6)程序运行结果

输入01H,经运行后LED显示为0B,实验成功。

6、建立联机操作文件

为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:

a、测试用的工作程序排在文件的前面,每个内存地址及代码占一行;

b、微指令代码排在文件的后面,每个微地址及微指令代码占一行;

7、连接实验线路

复杂模型机系统连线图

8、运行与调试

(1)系统与PC机联机

实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通信电缆分别插在实验系统及PC机的串口,即可实现系统与PC机的联机操作。

(2)下载工作程序和微程序

使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。

其中,自带电线的实验箱用NCMP53软件,启动软件后使用F4[装载]进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择[转储]/[装载]进行下载。

(3)运行

数据通路结构框图

七、实验心得与总结

上学期学过计算机组成原理课,虽然已经对计算机的运行有了初步的认识,但是还只能是基于理论还不能真实的感受到计算机的工作流程。

经过组成原理程序设计这门课,不仅增强了我的动手能力(这正是大学课程所需的),而且从中我学得了课本上学不到的东西,比如细心的操作和问题的解决。

通过这门课,我对计算机的硬件是如何通过调用微程序运作的、如何设计程序让计算机进行运算等操作有了进一步的了解。

也许这还不够,但是上这门课真正的开阔了我的视野!

参考资料

(1)《计算机组成原理》课本

(2)《计算机组成原理》实验指导书

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

当前位置:首页 > 求职职场 > 职业规划

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

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