计算机结果与组成实验报告5.docx

上传人:b****5 文档编号:6241321 上传时间:2023-01-04 格式:DOCX 页数:46 大小:367.87KB
下载 相关 举报
计算机结果与组成实验报告5.docx_第1页
第1页 / 共46页
计算机结果与组成实验报告5.docx_第2页
第2页 / 共46页
计算机结果与组成实验报告5.docx_第3页
第3页 / 共46页
计算机结果与组成实验报告5.docx_第4页
第4页 / 共46页
计算机结果与组成实验报告5.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

计算机结果与组成实验报告5.docx

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

计算机结果与组成实验报告5.docx

计算机结果与组成实验报告5

 

大连理工大学

 

本科实验报告

 

课程名称:

计算机组成结构和原理

学院(系):

软件学院

专业:

软件工程

班级:

学号姓名:

学生姓名:

 

2010年4月27日

 

目录

试验项目列表……………………………………………………………………..

计算机部件实验…………………………………………………………………

实验目的………………………………………………………………………………………….

实验要求………………………………………………………………………………………….

实验原理…………………………………………………………………………………………

流程图……………………………………………………………………………………………..

实验步骤………………………………………………………………………………………….

实验结果与分析………………………………………………………………………………

实验体会与建议………………………………………………………………………………

8位微程序控制计算机预习报告……………………………………..

微程序工作计算机的基本原理……………………………………………………….

一位乘实验流程图……………………………………………………………………………

两位乘实验流程图…………………………………………………………………………

8位微程序控制计算机设计实验……………………………………..

实验目的……………………………………………………………………………………………

实验要求…………………………………………………………………………………………..

实验原理图……………………………………………………………………………………….

实验步骤(流程图)…………………………………………………………………………….

一位乘实现方法(ASM)及注释………………………………………………………….

一位乘实现方法(LST文件)…………………………………………………………

二位乘实现方法(ASM)及注释………………………………………………………….

二位乘实现方法(LST文件)………………………………………………………….

实验结果及分析………………………………………………………………………………

实验体会及建议……………………………………………………………………………..

附件一:

指令集文件(.DEF)……………………………………………

附件二:

微指令编码表………………………………………………………

附件三:

指令流程图………………………………………………………….

 

实验项目列表

序号

实验项目名称

学时

成绩

指导教师

预习

操作

结果

1

部件实验

12

2

一位数乘法程序实验

16

3

二位数乘法程序实验

8

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

总计

学分:

1.5

36

大连理工大学实验报告

学院(系):

软件学院专业:

软件工程班级:

实验时间:

1-3周实验室:

计算机组成硬件实验室实验台:

22_

指导教师签字:

成绩:

 

计算机部件实验

——存储器和总线传输实验

 

一.实验目的

1.了解总线的作用及数据传输的原理;

2.了解总线在计算机中的作用;

3.通过交换两个寄存器中的数据来了解寄存器和内存RAM,寄存器和寄存器之间数据的交换过程。

二.实验要求

将两个需要交换的数据分别写入373和374中进行储存,再使用RAM作为第三方介质来交换这两个数据。

三.实验原理

如在图

(1)中RAM采用XC2S150内部的RAM组件,它为512×8,有10位地址(A9~A0),8位数据,四根控制线:

CLK—时钟(MCLK),在有跳变时才执行。

行写入或改变读出内容;EN—允许MEN(S15,1有效);WE写入MWR(S16,1有效);RST复位(不用)。

由于该RAM的输出不为三态,故加入MOE(S23,1有效)作为三态控制。

DB为数据总线,接CI(7—0)。

244为三态门,用于从开关(S7-S0)输入数据到总线上,OE(S13,1有效)三态输出允许,373为三态输出的透明锁存器,GT(S11,1有效)为三态输出允许,374为带三态输出的寄存器,CK,(s10,打入脉冲)为时钟,OE(S9,1有效)三态输出允许。

377为8位寄存器,CK为时钟,EN(S8,1有效)时钟允许,377输出接8个LED(L7-L0)。

 

(1)

 

流程图如下:

四.实验步骤

实验准备阶段:

下载busv1.bit文件到XC2S150中,用VHDL硬件描述语言将所有

总线实验所需的实验器械的接口及内部逻辑原理描述并编译,然后烧录至

FD-MCES的FPGA芯片中,形成整个系统。

点击桌面的IMPACT,然后选择

configureDevices,选下一步,SlaveSerialMo,之后点击完成,选BUSV1.BIT,

打开该文件。

右击生成的CPU图标,再右击Programming,执行Programming

操作进行下载,烧制下载成功后提示ProgrammingSucceeded,下载完成。

实验执行阶段:

(1)拨10101000送244

拨S13,拨S0,S2,S4,此时指示灯S0,S2,S4亮

(2)将244中的内容送373中

拨S11(使373的锁存允许)并将S0,S2,S4,S11,S13拨回,并拨S12

观察指示灯S0,S2,S4是否亮,如是则数据已存入373中,拨回S12。

(3)拨10101010送374中

拨S13,拨S0,S2,S4,S6,相应的指示灯亮。

拨S10,并拨下

S13,S0,S2,S4,S6,S10,拨S9,则相应的指示灯亮,拨回S9。

(4)373中的内容送到RAM中

拨S12,S15,S16,拨回S12,S15。

(5)将374中的内容送到373中

拨S9,S11,拨回S9,S11。

(6)把RAM的数据传送到374中

拨S23,S10,拨回S23,S10

(7)分别观测373和374中的内容,确认数据是否已交换

拨S12,如指示灯S0,S2,S4,S6亮,则10101010已存入373中,

拨S8,则377中的相应指示灯亮;拨回S12,S8。

拨S9,如指示灯S0,S2,S4亮,则10101000已存入374中,

拨S8,则377中的相应指示灯亮;拨回S9,S8。

(8)此实验全部结束。

五、实验结果与分析

373和374中的数据交换。

(在373中对应的指示灯S0,S2,S4,S6亮,374中对应的指示灯S0,S2,S4亮)。

结果与预想的相同,完成了总线及寄存器数据的传输。

六、实验体会及建议

发现问题及解决方法:

(1)在刚开始做实验时,用RAM时没有将始能端一直打开,导致在373中读到的数据还是373中的,没能将374的数据交换过来.后来在老师的帮助下,发现了这一问题,得已解决.

(2)在做实验时,没有保持上拨开关和下拨开关的逆序,导致结果没出来,后来老师在讲解时,意识到了这一问题,将其解决了.

实验体会:

通过本次实验,我了解了FD-MCES试验箱上存储器上信号的控

制以及总线的作用,让我更加深刻地了解到数据传输的原理。

在实验过程中要求一定的动手能力.

实验建议:

在进行这次实验之前,老师详细地给我们讲解实验步骤,原理以

及怎样正确的使用控制信号。

但我希望还是老师能稍微点播一下,

然后由学生自己揣摩,自己去实践,去发现问题,解决问题,这样才能对

问题有更深的了解.对以后的发展有较大的帮助.

 

大连理工大学实验报告

学院(系):

软件学院专业:

软件工程班级:

实验时间:

4-5周实验室:

计算机组成硬件实验实验台:

22

指导教师签字:

成绩:

 

8位微程序控制计算机预习报告

------------流程设计

一、微程序控制计算机的工作原理:

微程序:

在常用逻辑控制器中,我们已经知道:

每条指令实际上是分解成一系列微操作序列。

因而指令的执行过程实际上就是相当于该条指令的微操作序列的执行过程。

如果我们把同一节拍内要执行的微操作作为一条“微指令”,则一条机器指令可看作由若干条微指令组成。

而与一条机器指令相对应的微指令组成的微指令序列就叫“微程序”。

微命令和微操作:

从微操作的角度出发,可以将计算机分成两大部分:

控制部分和执行部分。

例如控制器即控制部分,而运算器存储器及输入输出设备等相对于控制器而言即执行部分。

所谓微命令,即使有上述部分控制部分向执行部分发出最基本的控制信号。

而微操作即是上述执行部分收到微命令后所执行的最基本的操作。

微指令:

微指令就是若干微命令的组合。

通常将要在同一节拍内置行为操作所对应的微命令组合在一条微指令中。

二.实验流程图:

(1位乘)

 

 

三.实验流程图:

(2位乘)

 

 

大连理工大学实验报告

学院(系):

软件学院专业:

软件工程班级:

实验时间:

6-8周实验室:

计算机组成硬件实验室实验台:

22

指导教师签字:

成绩:

 

8位微程序控制计算机设计实验

----一位,二位乘的汇编实现

 

一.实验目的

了解微程序控制计算机的基本工作原理及实验方法,了解指令系统和CPU结构,掌握微程序控制方法及程序设计的方法.

 

二.实验要求

1.建立指令集文件及微程序文件

2.编写一位乘法和二位乘法程序并调试生成最终结果

三.实验原理图

 

 

五.实验步骤(流程图)

六.一位乘实现方法(ASM)及注释

ORG0

STRT:

JKBSTRT;判断键盘是否有键按下

LDA8001H

MOVR7,A;将A中数据放入R7中

L1:

JKBL1

LDA8001H

MOVR6,A

MOVA,#4

STA8002H;将4写入8002里面

L2:

JPBL2;判断打印机是否打印完

MOVA,#0AH

STA8002H

L3:

JPBL3

MOVA,#10H

ADDA,R7;将R7,和A中数据进行累加

STA8002H

L4:

JPBL4

MOVA,#9;将9写入8002里面

STA8002H

L5:

JPBL5

MOVA,#0AH;将A写入8002里面

STA8002H

L6:

JPBL6

MOVA,#10H

ADDA,R6;将R6,和A中数据进行累加

STA8002H

L7:

JPBL7

MOVA,#3;将3写入8002里面

STA8002H

L8:

JPBL8

MOVA,#0AH;将A写入8002里面

STA8002H

L9:

MOVA,#0

MOVR5,A;将R5置0

MOVR4,A

MOVA,#01H

MOVR0,A

MOVA,#10

MOVR1,A;将A中数据放入R1中

L10:

MOVA,R6

SUBA,R0;将R6和R0中数据进行相减

MOVR6,A

JCL11;不满足条件就跳到L11

MOVA,R5

ADDA,R7;将R5和R7中数据进行累加

MOVR5,A

JMPL10

L11:

MOVA,R5

SUBA,R1;将R5和R1数据进行相减

JCL12;满足继续进行,不满足跳到L12

MOVR5,A

MOVA,R4

ADDA,R0;将R0和A中数据进行累加

MOVR4,A

JMPL11

L12:

MOVA,R4;将R4数据放入A中

SUBA,R0;将R0和R4中数据进行累加

JCL13

JMPL14

L13:

;判断有没有十位

JPBL13

MOVA,#10H

ADDA,R5;将R5和A中数据进行累加

STA8002H

JMPOVER

L14:

;用来打印个位

JPBL14

MOVA,R5

STA8002H

L15:

;用来打印十位

JPBL15

MOVA,#10H

ADDA,R4

STA8002H

OVER:

JMPSTRT;跳到开头重新开始

七.一位乘实现方法(LST文件)

10000ORG0

20000STRT:

30000600000JKBSTRT

40003408001LDA8001H

500060FMOVR7,A

60007L1:

70007600007JKBL1

8000A408001LDA8001H

9000D0EMOVR6,A

10000E3004MOVA,#4

110010488002STA8002H

120013L2:

130013680013JPBL2

140016300AMOVA,#0AH

150018488002STA8002H

16001BL3:

17001B68001BJPBL3

18001E3010MOVA,#10H

19002027ADDA,R7

200021488002STA8002H

210024L4:

220024680024JPBL4

2300273009MOVA,#9

240029488002STA8002H

25002CL5:

26002C68002CJPBL5

27002F300AMOVA,#0AH

280031488002STA8002H

290034L6:

300034680034JPBL6

3100373010MOVA,#10H

32003926ADDA,R6

33003A488002STA8002H

34003DL7:

35003D68003DJPBL7

3600403003MOVA,#3

370042488002STA8002H

380045L8:

390045680045JPBL8

400048300AMOVA,#0AH

41004A488002STA8002H

42004DL9:

43004D3000MOVA,#0

44004F0DMOVR5,A

4500500CMOVR4,A

4600513001MOVA,#01H

47005308MOVR0,A

480054300AMOVA,#10

49005609MOVR1,A

500057L10:

51005706MOVA,R6

52005828SUBA,R0

5300590EMOVR6,A

54005A500063JCL11

55005D05MOVA,R5

56005E27ADDA,R7

57005F0DMOVR5,A

580060580057JMPL10

590063L11:

60006305MOVA,R5

61006429SUBA,R1

62006550006FJCL12

6300680DMOVR5,A

64006904MOVA,R4

65006A20ADDA,R0

66006B0CMOVR4,A

67006C580063JMPL11

68006FL12:

69006F04MOVA,R4

70007028SUBA,R0

710071500077JCL13

720074580083JMPL14

730077L13:

740077680077JPBL13

75007A3010MOVA,#10H

76007C25ADDA,R5

77007D488002STA8002H

780080580093JMPOVER

790083L14:

800083680083JPBL14

81008605MOVA,R5

820087488002STA8002H

83008AL15:

84008A68008AJPBL15

85008D3010MOVA,#10H

86008F24ADDA,R4

870090488002STA8002H

880093OVER:

890093580000JMPSTRT

八.二位乘实现方法(ASM)及注释

ORG0

STRT:

JKBSTRT;判断键盘是否有键按下

LDA8001H

MOVR7,A;将A中数据放入R7中

L1:

JKBL1

LDA8001H

MOVR6,A

MOVA,#4

STA8002H;将4写入8002里面

L2:

JPBL2;判断打印机是否打印完

MOVA,#0AH

STA8002H

L3:

JPBL3

MOVA,#10H

ADDA,R7;将R7,和A中数据进行累加

STA8002H

L4:

JPBL4

MOVA,#9;将9写入8002里面

STA8002H

L5:

JPBL5

MOVA,#0AH;将A写入8002里面

STA8002H

L6:

JPBL6

MOVA,#10H

ADDA,R6;将R6,和A中数据进行累加

STA8002H

L7:

JPBL7

MOVA,#3;将3写入8002里面

STA8002H

L8:

JPBL8

MOVA,#0AH;将A写入8002里面

STA8002H

 

L9:

JPBL9

MOVA,R5

STA8002H

L10:

JPBL10

MOVA,#10H

ADDA,R4

STA8002H

L11:

JPBL11

MOVA,#0AH

STA8002H

L12:

JPBL12

MOVA,#0AH

STA8002H

L13:

;将r1,r2,r3清零

MOVA,#0

MOVR0,A

MOVR1,A

MOVR2,A

MOVR3,A

MOVA,#01H

MOVR0,A

L14:

;乘数低位乘被乘数

MOVA,R5

SUBA,R0

MOVR5,A

JCL15

MOVA,R3

ADDA,R7

MOVR3,A

MOVA,R2

ADDA,R6

MOVR2,A

JMPL14

L15:

;将R5存1,用来提高速度

MOVR5,#01H

MOVR0,#0

L16:

;乘数高位乘被乘数

MOVA,R4

SUBA,R5

MOVR4,A

JCL17

MOVA,R2

ADDA,R7

MOVR2,A

MOVA,R1

ADDA,R6

MOVR1,A

JMPL16

L17:

MOVR4,#10

MOVA,R3

SUBA,R4

JCL18

MOVR3,A

MOVA,R2

ADDA,R5

MOVR2,A

JMPL17

L18:

MOVA,R2;R2循环减10,R1循环加1

SUBA,R4

JCL19

MOVR2,A

MOVA,R1

ADDA,R5

MOVR1,A

JMPL18

L19:

;R1循环减10,R0循环加1

MOVA,R1

SUBA,R4

JCL20

MOVR1,A

MOVA,R0

ADDA,R5

MOVR0,A

JMPL19

L20:

MOVA,R0

SUBA,R5

JCL21;在没有千位情况下判断百位

JMPL29

L21:

;在有千位情况下的处理程序

MOVA,R1

SUBA,R5

JCL22;在没有百位情况下判断十位

JMPL26;在有百位情况下的处理程序

L22:

MOVA,R2

SUBA,R5

JCL23;没有十位输出个位

JMPL24

L23:

;有十位的处理程序

JPBL23;仅打印个位并换行

MOVA,#10H

ADDA,R3

STA8002H

JMPOUT

L24:

;重新开始程序

JPBL24;十位处理程序

MOVA,R3

STA8002H

L25:

JPBL25

MOVA,#10H

ADD

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

当前位置:首页 > 高等教育 > 经济学

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

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