计算机组成原理实验三四.docx

上传人:b****5 文档编号:30340524 上传时间:2023-08-13 格式:DOCX 页数:18 大小:512.09KB
下载 相关 举报
计算机组成原理实验三四.docx_第1页
第1页 / 共18页
计算机组成原理实验三四.docx_第2页
第2页 / 共18页
计算机组成原理实验三四.docx_第3页
第3页 / 共18页
计算机组成原理实验三四.docx_第4页
第4页 / 共18页
计算机组成原理实验三四.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

计算机组成原理实验三四.docx

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

计算机组成原理实验三四.docx

计算机组成原理实验三四

计算机学院学院计算机科学与技术专业班___组、学号

姓名协作者______________教师评定_______________

实验题目实验三存储器部件教学实验

一、实验目的:

1.熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。

学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

2.理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。

 

3.了解静态存储器系统使用的各种控制信号之间正常的时序关系。

 

4.了解如何通过读、写存储顺的指令实现对58C65 ROM芯片的读、写操作。

加深理解存储器部件在计算机整机系统中的作用。

 

二、实验设备与器材:

TEC-XP+教学实验系统和仿真终端软件PCEC。

三、实验说明和原理:

1、内存储器原理

内存储器是计算机中存放正在运行中的程序和相关数据的部件。

在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括唯读存储区和随读写存储区两部分,ROM存储区选用4片长度8位、容易8KB的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:

0-1777h用于第一组ROM,固化监控程序,2000-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量的教学实验。

地址总线的低13位送到ROM芯片的地址线引脚,用于选择芯片内的一个存储字。

用于实现存储字的高位字节的3个芯片的数据线引脚、实现低位字节的3个芯片的数据线引脚分别连接在一起接到数据总线的高、低位字节,是实现存储器数据读写的信息通路。

数据总线要通过一个双向三态门电路与CPU一侧的内部总线IB相连接,已完成存储器、接口电路和CPU之间的数据通讯。

2、扩展教学机的存储空间

四、实验内容:

1)要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和OE等控制信号的正确状态。

2)用监控程序的D、E命令对存储器进行读写操作,比较RAM(3116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在读写上的异同。

3)用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。

4)用监控程序的A命令编写一段程序,对扩展存储器EEPRM(28系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。

五、实验步骤:

1.检查FPGA下方的标有“/CE”的四组插针均是左边两个短接;

2.检查RAM(6116)上方的标有“/WE”的插针应是左边两个短接;

3.RAM(6116)支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。

RAM中的内容在断电后会消失,重新启动实验机后会发现内存单元的值发生了改变。

1>用E命令改变内存单元的值并用D命令观察结果。

<1>在命令行提示符状态下输入:

E2020↙

屏幕将显示:

2020内存单元原值:

按如下形式键入:

2020原值:

2222(空格)原值:

3333(空格)原值:

4444(空格)原值:

5555*

<2>在命令行提示符状态下输入:

D2020↙

屏幕将显示从2020内存单元开始的值,其中2020H~2023H的值为:

2222333344445555

问题:

断电后重新启动教学实验机,用D命令观察内存单元2020~2023的值。

会发现什么问题,为什么?

会发现原来置入到这几个内存单元的值已经改变,用户在使用RAM时,必须每次断电重新

启动后都要重新输入程序或修改内存单元的值。

0000FFF70000FFFF

2>用A命令输入一段程序,执行并观察结果。

在命令行提示符状态下输入:

A2000↙

屏幕将显示:

2000:

按如下形式键入:

2000:

MVRDR0,AAAA

2002:

MVRDR1,5555

2004:

ANDR0,R1

2005:

RET

2006:

采用单步和连续两种方式执行一段程序,查看结果,断电后发生什么情况?

答:

断电前,单步和连续结果一样;断电后,单步可以运行,但前后结果不一样,断电后,连续不可运行。

RAM芯片可直接用A命令键入程序,但断电会丢失,要再次调适该程序必须重新输入,对那些较长的程序或经常用到的程序可通过交叉汇编,在上位机生成代码文件,每次加电启动后不用重新输入,只需通过PCEC16将代码文件传送给下位机即可。

4.将扩展的ROM芯片插入标有“EXTROMH”和“EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。

如果芯片插入方向不对,会导致芯片烧毁,然后锁紧插座。

5.将扩展芯片下方的插针按下列方式短接:

将标有“/MWR”和“RD”的三个插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。

6.将扩展芯片上方标有EXTROMH和EXTROML的“/CS”信号用自锁紧线短接,然后短接到MEMDC138芯片的上方的标有“4000-5fff”地址单元。

注意:

标有/CS的圆孔针与标有MEM/CS的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。

7.将标有“DataBus15-8”和“DataBus7-0”的数据总线的指示灯下方的插针短接。

8.将标有“DataBus15-8”和“AdressBus7-0”的数据总线的指示灯下方的插针短接。

下面以2764A为例,进行扩展EPROM实验。

9.EPROM是紫外线可擦除的电可改写的只读存储器芯片。

在对EPROM进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。

<1>将芯片0000~001F的内存单元的值置成0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F

<2>将变成好的芯片插在扩展芯片的高位,低位不插,按上面的提示插好插针。

(1)用D命令看内存单元0000~001F的值。

可以看到内存单元的值为:

01FF02FF03FF04FF~~1FFF。

(2)用E命令向芯片内存单元置值,再用D命令查看,会发现原来的指没有改变;

(3)用A命令向芯片所在的地址渐入程序,用U命令反汇编,会发现地址保持原来的值。

该试验说明,EPOROM不能直接修改和编程,必须先擦除,再通过编程器编程。

(4)将教学其断电后重启,用D命令看内存单元的0000~001F的内容,会发现数值不变,EPROM的内容在断电后会保持。

000100020003000400050006000700080009000A……001E001F

10、AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1毫秒。

因此,需要编写一延迟程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。

1)用E命令改变内存单元的值并用D命令观察结果。

<1>在命令行提示符状态下输入:

E5000↙

屏幕将显示:

5000内存单元原值:

按如下形式键入:

1、原值:

2424(按空格)原值:

3636(按空格)原值:

4848(按空格)原值:

5050↙

<2>在命令行提示符状态下输入:

D5000↙

屏幕将显示5000H—507FH内容单元的值,从5000开始的连续四个内存单元的值依次为2424363648485050.

<3>断电后重新启动,用D命令观察看内存单元5000—5003的值,会发现这四个单元的值没有发生改变,说明EEPROM的内容断电后可保存。

2)AT28C64B存储器不能直接用A命令出入程序,单字节的指令可能会写进去,双字节指令的低位会出错(建议试一试),可将编写好的程序用编程器写入片内;也可以将程序放到RAM(6116)中,调用延时子程序,访问AT28C64B中的内存地址。

下面给出的程序,在5000H—500FH单元中依次写入数据000H、0001H、…00FH。

从2000H单元开始输入主程序:

(2000)MVRDR0,0000

MVRDR2,0010;R2记录循环次数

MVRDR3,5000;R3的内容为16为内存地址

(2006)STRR[R3],R0;将R0寄存器的内容放到R3给出的内存单元中

CALA2200;调用程序地址为2200的延时子程序

INCR0;R0加1

INCR3;R3加1

DECR2;R2减1

JRNZ2006;R2不为0跳转到2006H

RET

从2200H单元开始输入延时子程序:

PUSHR3

MVRDR3,FFFF

(2203)DECR3

JRNZ2203

POPR3

RET

运行主程序,在命令提示符下输入:

G2000↙。

程序执行结束后,在命令提示符下输入:

D5000↙;

可看到从5000H开始的内存单元的值变为

5000:

00000001000200030004000500060007

5008:

00080009000A000B000C000D000E000F

六、思考题:

1)为何能用E命令直接写AT28C64B的存储单元,而A命令则有时不正确;

答:

E命令是储存寄存器指令A时监控器指令,而E直接多个程序写入AT28C64B的存储单元,写入的速度快,A命令只能是一次写入执行一条程序,是延迟指令,所以用E命令直接写AT28C64B的存储单元,而A命令则有时不正确。

2)修改延时子程序,将其延时改短,可将延时子程序中R3的内容赋成00FF或0FFF等,再看运行结果。

答:

发现因为当写入双字节指令的低位时会出错,这也是不能用A命令而只能用E命令去写存储单元的原因。

七、实验心得:

通过本次实验,虽然对ROM芯片和RAM芯片在功能和使用方法和差异之处有了一定的了解,但对于我来说,在一些问题上还是没有办法解决;学习了用编程EEPROM芯片内写入一批数据的过程和方法。

在编程时,对于给的问题能产生深刻的思考,进一步了解了实验的目的,通过自身的思考,扩展了自己的思维能力,不管怎么说,自己有动手操作和对问题的思考,总是能给我带来不错的收获。

双字节指令的低位时会出错,这也是不能用A命令而只能用E命令去写存储单元的原因。

 

计算机学院学院计算机科学与技术专业班___组、学号

姓名协作者______________教师评定_______________

实验题目实验四组合逻辑控制器部件教学实验

一、实验目的:

通过看懂教学计算中已经设计好并正常运行的几条典型指令的功能、格式和执行流程,然后自己设计几条指令的功能、格式、和执行流程,并在教学计算机上实现、调试正确。

其最终要达到的目的是:

 

●深入理解计算机控制器的功能、组成知识。

●深入地学习计算机各类典型指令的执行流程。

 

●指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念。

●学习组合逻辑控制器的设计过程和相关技术

二、实验设备与器材:

TEC-XP+教学实验系统和仿真终端软件PCEC。

三、实验说明和原理:

控制器设计是学习计算机总体组成和设计的最重要部分。

要在TEC-XP16教学计算机完成这项实验,必须清楚地懂得:

1)TEC-XP+教学机的组合逻辑控制器主要由MACH器件组成。

2)TEC-XP+教学机上已实现了29条基本指令。

3)应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行有扩展指令的程序。

4)要明白TEC-XP+教学机支持的指令格式及指令执行流程分组情况;理解TEC-XP+教学机中已经设计好并正常运行的各类指令的功能、格式和执行流程、也包括控制器设计的实现中的具体路线的控制信号的组成。

5)要明确自己要实现的指令功能、格式、执行流程设计中必须遵从的约束条件。

为了完成自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的内容,具体过程包括:

1)确定指令格式和功能,要受到教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致。

2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的值,应参照已实现指令的处理办法来完成,特别注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能地与原用节拍的状态保持一致和相近。

3)在指令流程表中真写每一个控制信号的状态值,基本上是个查表填数的过程,应特别仔细,并有意识地体会这些信号的控制作用。

4)在给出来mach的源文件中添加扩展指令的控制信号的逻辑表达式,编译适配后下载到MACH器件中。

5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。

四、实验内容:

1)完成控制器部件的教学实验,主要内容是由学生自己设计几条指令的功能、格式和执行流程,并在教学机上实现、调试正确。

2)首先是看懂TEC-XP教学机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令的功能、格式和执行流程。

3)设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。

4)单条运行指令。

查看指令的功能、格式和执行流程。

5)用监控程序的A、E命令编写一段小程序,观察运行结果。

五、实验步骤:

1.接通教学机电源。

2.将教学机左下方的6个拨动开关置为111100.

3.按一下“RESET”按键。

4.通过16位的数据开关SWH、SWL置入16位的指令操作码。

5.在单步方式下,通过指示灯观察各类型基本指令的节拍。

(1)选择基本指令的A组指令中的ADD指令,观察其节拍流程:

1)置拨动开关SW=0000000000000001;

2)按RESET按键;节拍指示灯T3~T0显示1000;

3)按START按键;节拍指示灯T3~T0显示0000;

4)按START按键;节拍指示灯T3~T0显示0010;

5)按START按键;节拍指示灯T3~T0显示0011;

(2)选择基本指令的B指令中的PUSH指令,观察其节拍流程:

1)置拨动开关SW=1000010100000000;

2)按RESET按键;节拍指示灯T3~T0显示1000;

3)按START按键;节拍指示灯T3~T0显示0000;

4)按START按键;节拍指示灯T3~T0显示0010;

5)按START按键;节拍指示灯T3~T0显示0110;

6)按START按键;节拍指示灯T3~T0显示0100;

(3)选择基本指令的D组指令中的CALA指令,观察其节拍流程:

1)置拨动开关SW=1100011000000000;

2)按RESET按键;节拍指示灯T3~T0显示1000;

3)按START按键;节拍指示灯T3~T0显示0000;

4)按START按键;节拍指示灯T3~T0显示0010;

5)按START按键;节拍指示灯T3~T0显示0110;

6)按START按键;节拍指示灯T3~T0显示0100;

7)按START按键;节拍指示灯T3~T0显示0111;

8)按START按键;节拍指示灯T3~T0显示0101;

6.单步方式下,通过指示灯观察各类基本指令的控制信号。

(1)选择指令的A组指令中的SHR指令,观察其执行过程中控制信号的变化,分析其作用。

节拍

指令

编码

/MIO

REQ

/WE

A

B

Sci

SSH

I8-6

I5-3

I2-0

SST

DC1

DC2

1000

1

0

0

0101

0101

01

0

011

001

001

000

000

111

0000

1

0

0

0101

0101

01

0

010

000

011

000

000

011

0010

0

0

1

0000

0000

00

0

001

000

000

000

000

001

0011

SHR

00001001

1

0

0

0000

0001

00

0

101

000

011

101

000

000

(2)选择基本指令的B组指令中的JMPA指令,观察其执行过程中控制信号的变化,分析其作用。

节拍

指令

编码

/MIO

REQ

/WE

A

B

Sci

SSH

I8-6

I5-3

I2-0

SST

DC1

DC2

1000

1

0

0

0101

0101

01

0

011

001

001

000

000

111

0000

1

0

0

0101

0101

01

0

010

000

011

000

000

011

0010

0

0

1

0000

0000

00

0

001

000

000

000

000

001

0110

JMPA

1000

0000

1

0

0

0101

0101

01

0

010

000

011

000

000

011

0100

JMPA

1000

0000

0

0

1

0000

0101

00

0

011

000

111

000

000

000

(3)选择基本指令的D组指令中的CALA指令,观察其执行过程中控制信号的变化,分析其作用。

节拍

指令

编码

/MIO

REQ

/WE

A

B

Sci

SSH

I8-6

I5-3

I2-0

SST

DC1

DC2

1000

1

0

0

0101

0101

01

0

011

001

001

000

000

111

0000

1

0

0

0101

0101

01

0

010

000

011

000

000

011

0010

CALA

1100

1110

0

0

1

0000

0000

00

0

001

000

000

000

000

001

0110

CALA

1100

1110

1

0

0

0101

0101

01

0

010

000

011

000

000

011

0100

CALA

1100

1110

0

0

1

0000

0000

00

0

000

000

111

000

000

000

0111

CALA

1100

1110

1

0

0

0000

0100

00

0

011

001

011

000

000

011

0101

CALA

1100

1110

0

0

0

0101

0101

00

0

010

000

010

000

001

000

7.在以上几步实验的基础上,选择几条扩展指令,设计出扩展指令的节拍和每拍对应的控制信号。

单步方式下,通过指示灯观察各类扩展指令的节拍

(1)选择扩展指令的A组指令中的RCR指令,观察其节拍流程:

1)置拨动开关SW=0010101100010000;

2)按RESET按键;节拍指示灯T3~T0显示1000;

3)按START按键;节拍指示灯T3~T0显示0000;

4)按START按键;节拍指示灯T3~T0显示0010;

5)按START按键;节拍指示灯T3~T0显示0011;

(2)选择扩展指令的C级指令中的LDRA指令,观察其流程:

1)置拨动开关SW=1110010000000000;

2按RESET按键;节拍指示灯T3~T0显示1000;

3)按START按键;节拍指示灯T3~T0显示0000;

4)按START按键;节拍指示灯T3~T0显示0010;

5)按START按键;节拍指示灯T3~T0显示0110;

6)按START按键;节拍指示灯T3~T0显示0111;

7)按START按键;节拍指示灯T3~T0显示0101;

8.设计几条扩展指令的控制信号如下:

(1)选择扩展指令ADC、STC、JRS、LDRX和JMPR。

(2)根据设计的控制信号的表格用ABEL语言编写MACH的逻辑表达式。

(3)将编好的程序MACHC.JED下载到MACH芯片内

节拍

指令

编码

/MIO

REQ

/WE

A

B

Sci

SSH

I8-6

I5-3

I2-0

SST

DC1

DC2

1000

1

0

0

0101

0101

01

0

011

001

001

000

000

111

0000

1

0

0

0101

0101

01

0

010

000

011

000

000

011

0010

0

0

1

0000

0000

00

0

001

000

000

000

000

001

0011

ADC

00100000

1

0

0

SR

DR

10

0

011

000

001

001

000

000

JRS

01100100

1

0

0

0101

0101

00

0

0S1

000

101

000

010

000

STC

01101101

1

0

0

0000

0000

00

0

001

000

000

100

000

000

JMPR

01100000

1

0

0

SR

0101

00

0

011

000

100

000

000

000

0110

LDRX

11100101

1

0

0

0101

0101

01

0

010

000

011

000

000

011

STRX

11100110

1

0

0

0101

0101

01

0

010

000

011

000

000

011

0111

LDRX

11100101

0

0

1

SR

0000

00

0

001

000

101

000

000

011

STRX

11100101

0

0

1

0000

DR

00

0

011

000

111

000

000

000

0101

LDRX

11100110

0

0

0

0000

DR

00

0

001

000

011

000

001

000

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

当前位置:首页 > 求职职场 > 简历

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

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