计算机组成原理实验三

时间:2024.4.14


_计算机_学院计算机科学与技术专业10(5)班______组、学号3210006075姓名  钟柳贤  协作者        教师评定            

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

一、实验目的:

1.熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处;学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

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

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

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

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

二、实验设备与器材:

TEC-XP+教学实验系统

仿真终端软件PCEC

三、实验说明和原理:

(1)内存储器原理

(2)扩展教学机的存储器空间

四、实验内容:

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

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

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

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

五、实验步骤:

1.检查FPGA下方的插针要按下列要求短接:标有“/MWR”“RD”的插针左边两个短接,标有“/MRD”“GND”的插针右边两个短接,标有ROMLCS和RAMLCS的插针短接。

2.RAM(6116)支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。RAM中的内容在断电后会消失,重新启动实验机后会发现内存单元的值发生了改变。

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

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

  E 2020↙

  屏幕将显示: 2020   内存单元原值:

  按如下形式键入:

  2020  原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:5555*

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

  D2020↙

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

  2222 3333 4444 5555

<3>断电后重新启动教学实验机,用D命令观察内存单元2020~2023的值。会发现原来置入到这几个内存单元的值已经改变,用户在使用RAM时,必须每次断电重新启动后都要重新输入程序或修改内存单元的值。

0000  FFF7  0000  FFFF

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

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

   A 2000↙

   屏幕将显示:2000:

   按如下形式键入:

   2000:MVRD R0,AAAA

   2002:MVRD R1,5555

   2004:AND R0,R1

   2005:RET

   2006:↙

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

   T 2000↙

   R0的值变为AAAAH,其余寄存器的值不变。

   R0=AAAA

   T↙

   R1的值变为5555H,其余寄存器的值不变。

   R0=AAAA  R1=5555

   T↙

   R0的值变为0000H,其余寄存器的值不变。

   R0=0000

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

   G 2000

 运行输入的程序。

 R0=0000  R1=5555

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

 R↙

 屏幕显示:

  R0=0000 R1=5555 R2=…

    RAM芯片可直接用A命令键入程序,但断电会丢失,要再次调适该程序必须重新输入,对那

    些较长的程序或经常用到的程序可通过交叉汇编,在上位机生成代码文件,每次家电启动

    后不用重新输入,只需通过PCEC16将代码文件传送给下位机即可。

3. 将扩展的ROM芯片(27或27系列的替代产品58C65芯片)插入标有“EXTROMH”和“EXTROMP”的自锁进插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯片插入方向不对,会导致芯片毁坏,然后锁紧插座。

4. 将扩展芯片右边的插针按下列方式短接:将EXTROMH芯片右上方的标有“WE”“ALL”的插针下面两个短接,将他右边标有“TEC”“/CS”“FPGA”的三个插座左边两个短接,标有XTROMLCS的插针短接,标有“TEC”“OE”“GND”“FPGA”的四个指针上边一排左边的两个短接。

5. 在第四部中用户可以将右侧标有“TEC”“/CS”“FPGA”的三个插针左边两个短接这表示扩展的ROM的内存地址是从4000H开始,可用空间是4000H~5FFFH,用户可在这个范围内输入程序或改变内存单元的值,也可以将这个插针断开,将标有/CS的圆孔针与标有MEM/CS的一排圆孔针中的任意一个用导线相连;注意连接的地址范围是多少,用户可用的地址空间就是多少。

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

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

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

8. EPROM试紫外线可擦除的电可改写的指读存储器芯片。在对EPROM进行重写前必须先擦除并判断,再通过编程进行编程。

 <1>将芯片0000~001F的内存单元的值置成01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A  1B  1C  1D  1E  1F

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

<3>用D命令看内存单元0000~001F的值。可以看到内存单元的值为:01FF 02FF 03FF 04FF~~1FFF。

<4>用E命令向芯片内存单元置值,再用D命令查看,会发现原来的指没有改变;用A命令向芯片所在的地址渐入程序,用U命令反汇编,会发现地址保持原来的值。该试验说明,EPOROM不能直接修改和编程,必须先擦除,再通过编程器编程。

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

0001  0002  0003  0004  0005  0006  0007  0008  0009  000A……001E  001F

9. AT28C64B的读写操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1毫秒。因此,需要编写一延迟子程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。

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

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

E   5000↙

屏幕将显示:  5000    内存单元原值:

按如下形式键入:

5000   原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)原值: 5050↙

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

  D  5000↙

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

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

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

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

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

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

(2000)MVRD R0,0000

        MVRD R2,0010          R2记录循环次数

        MVRD R3 5000          R3的内容为16为内存地址

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

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

        INC   R0               R0加1

        INC   R3               R3加1

DEC  R2                R2减1

JRNZ 2006               R2不为0跳转到2006H

RET

PUSH   R3

MVRD  R3,    FFFF

(2203)  DEC   R3

        JRNZ  2203

        POP    R3

        RET

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

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

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

5000: 0000  0001  0002  0003  0004  0005  0006  0007

5008: 0008  0009  000A  000B  000C  000D  000E  000F

六、思考题:

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

答:AT28C64B存储器不能直接用A命令输入程序,单字节的指令可能会写进去,双字节指令的地位会出错。单元格格式应该与你要查找的单元格格式一致。

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

                                                     

七、实验心得:

    通过这次试验,加深了对存储器部件在计算机整体系统中作用的理解。


第二篇:计算机组成原理实验报告3 微程序控制器实验


实验三 微程序控制器实验

一.  实验目的与要求:

实验目的:

1.       理解时序产生器的原理,了解时钟和时序信号的波形;

2.       掌握微程序控制器的功能,组成知识;

3.       掌握微指令格式和各字段功能;

4.       掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程。

实验要求

1.       实验前,要求做好实验预习,并复习已经学过的控制信号的作用;

2.       按练习一要求完成测量波形的操作,画出TS1,TS2,TS3,TS4的波形,并测出所用的脉冲Ф周期。按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。

二.  实验方案:

按实验图在实验仪上接好线后,仔细检查无误后可接通电源。

1.       练习一:用联机软件的逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号的

方法如下:

(1)   TATE UNIT 中STOP开关置为“RUN”状态(向上拨),STEP开关置为 “EXEC”状态 (向上拨)。

(2) 将SWITCH UNIT 中右下角CLR开关置为“1”(向上拨)。

(3) 按动“START”按钮,即可产生连续脉冲。

(4)调试”菜单下的“显示逻辑示波器窗口,即可出现测量波形的画面。

(5)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的Ф插座,即可测出时钟Ф的波形。

(6)探头一端接实验仪左上角的CH2,另一端接STATE UNIT中的TS1插座,即可测出TS1的波形;

(7)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS2插座,即可测出TS2的波形。

(8)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS3插座,即可测出TS3的波形。

(9)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS4插座,即可测出TS4的波形。

2.       观察微程序控制器的工作原理:

①       关掉实验仪电源,拔掉前面测时序信号的接线;

②       编程写入E2PROM 2816

A.     将编程开关(MJ20)置为PROM(编程)状态;

B.      将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,SWITCH UNIT中CLR开关置为1状态;

C.     在右上角的SWITCH UNIT中UA5-UA0开关上置表3.2中某个要写的微地址;

D.     在MK24-MK1开关上置表3.2中要写的微地址后面的24位微代码,24位开关对应24位显示灯,开关置为1时灯亮,为0时灯灭;

E.      启动时序电路,即将微代码写入到E2PROM 2816的相应地址对应的单元中;

F.      重复C-E步骤,将表3.2的每一行写入E2PROM 2816。

③       校验

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

B.      保持STEP,STOP,CLR开关状态不变,将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,SWITCH UNIT中CLR开关置为1状态;

C.     在开关UA5-UA0上按表3.2置好要读的某个微地址;

D.     按动START键,启动时序电路,就能读出微代码,观察显示灯MD24-MD1的状态,检查读出的微代码是否与已经写入的相同,若不同,将开关置于PROM编程状态,重新执行;

E.      重复C-D步骤,将表3.2的每一行从E2PROM 2816读出来。

练习二:步运行五条机器指令。

1、   将编程开关置于“RUN”状态;

2、   实验仪的“STEP”及”STOP”开关保持原状,即STEP置为“STEP”状态,STOP置为”RUN”状态,“SWITCH UNIT”中CLR开关置为1状态;

3、   实验仪的“SW-BUS”置为0,左下方开关D5-D0置为“111111”,D7和D6开关任意,(置0或者1都可以)

4、   将清零开关CLR从高拔到低,再从低拔到高,即将开关CLR置1→0→1,可以发现后续微地址UA5-UA0灯变为000000,000000是微指令运行启始地址;

5、   接着按动一下“START”键,UA5-UA0灯会变为010000,这是在读00(八进制)条微指令,给出了下一条要读的微指令是10(八进制);

6、   在UA5-UA0灯变为010000时,可通过实验仪左下方开关D7-D0人为强置设置分支地址,将D5-D0置“111111”→“111100”→“111111”,可以发现UA5-UA0灯从010000变为010011,这表示下一个要读的微指令从010000修改为了010011;

7、   在UA5-UA0灯为010011时,也就是23(八进制)时,对微程序流程图,按动一下“START”键,UA5-UA0灯会变为000001,也就是01(八进制),表示读出了23条微指令,给出了下一条要读的是01条微指令;

8、   在UA5-UA0灯为000001时,按动一下START键,UA5-UA0灯会变为000010,表示读出了01条微指令,下一条要读出的是02条微指令;

9、   接着按动一下STRATOR键,读出02条微指令时,UA5-UA0灯显示为001000时,在当前条件下,可通过强置端SE1-SE6相接的D5-D0人为强置修改分支地址;

10、            执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了一条指令,同时也表示可以执行新的指令了;

11、            按照上述方法,把所有分支都执行一遍。

三.  实验结果和数据处理:

测量并画出时钟和时序信号波形,比较它们的相互关系。

波形图:

                 CPU 周期

 

Φ

TS1

TS2

TS3

 

TS4

时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的波形,比较时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的相互关系:时钟Ф脉冲的一个CPU周期的时间,是TS1、TS2、TS3、TS4脉冲的时间之和,即节拍脉冲把一个CPU周期划分成几个较小的时间间隔。

四.   实验结果分析:

分析ADD的每条微指令的指令格式和功能:

1)PC→AR;PC+1:①指令格式:

②功能:根据ABC字段发出的信号,WE=0,读取内存内容,将PC的内容送到地址寄存器中AR,程序计数器加1,做好取下一条机器指令的准备。

2)RAM→BUS;BUS→AR:①指令格式:

②功能:根据微地址03,RAM进行读操作,发出存数控制信号,把RAM的内容送到总线

上,再送到地址寄存器AR中,程序计数器加1,做好取下一条机器指令的准备。

3)RAM→BUS,BUS→DR2:①指令格式:

②功能:根据微地址04,RAM进行读操作,发出LDDR2信号,把RAM的内容送到数据总线上,再送到DR2寄存器中,程序计数器加1,做好取下一条机器指令的准备。

4)R0→DR1:

①指令格式:

②功能:根据微地址05,发出RS-B信号,把寄存器R0中的内容送到DR1寄存器中,程序计数器加1,做好取下一条机器指令的准备。

5)DR1+DR2→R0: ①指令格式:

②功能:根据微地址06,发出ALU-B信号,把DR1和DR2相加,结果放R0寄存器中,回到01微指令。

五.  写出掌握了的控制信号的作用:

J  WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。

J  当STEP开关为0时态,一旦按下启动键,运行触发器Cr一直处于1状态,因此时序TS1-TS4将周而复始地发送出去;当STEP为1时,一旦按下启动键,机器便处于单步运行状态,即此次只读一条指令,可以观察微指令的代码与当前微指令的执行结果。

J  S3,S2,S1,S0,M,Cn控制信号共同起到选择ALU进行哪种运算。

J  LOAD是PC加1信号,P(1)-P(4)是四个测试判别信号,其功能是根据机器指令及相应微代码进行译码,使微程序输入相应的微地址入口,从而实验微程序的顺序,分支,循环运行。

J  LDRi控制信号,其功能是根据机器指令来进行三个工作寄存器.R0,R1及R2的选择存入译码。

J  RS-B,RD-B,RI-B分别为源寄存器选通输出信号,目的寄存器选通输出信号及变址寄存器选通输出信号,其功能是根据机器指令来进行三个工作寄存器R0,R1,R2的选通输出译码。

.结论:

J  根据实验操作步骤,所得的实验结果与理论值一致。

.问题与讨论:

J  练习二的实验里在执行ADD指令时,在分支处强置修改分支地址,并且以后每次都强置修改,运行完以后,发现结果是错误的,检查步骤,与同学讨论,分析原因,原来是当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出。当微程序出现分支时,意味着微程序出现条件转移,这时,可通过SE6-SE1强制端去修改微地址寄存器的内容,并按改好的内容读出下一条微指令,然后继续往下执行。

.实验总结:

J  心得体会:通过该实验让我较好地掌握了微程序控制器的功能,组成知识,微指令格式和各字段功能,微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程,遇到问题,可以通过实验,分析,讨论,请教老师解决问题,基本达到学习的目的。

J  问题分析:在实验过程中遇到问题时,首先检查线路是否连接准确,然后再查看步骤,有无漏做或做错的步骤,分析可能出错的原因,与同学讨论,若仍无法解决,就请教老师,请指导老师查看指正。

.思考题:

J  本次实验共设计了几条指令?分别是什么指令?

答: 本次实验共设计了五条指令,分别是IN (输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。

J  S3,S2,S1,S0,M,Cn控制信号共同起到什么作用?

答: S3,S2,S1,S0,M,Cn控制信号共同起到选择ALU进行哪种运算。

J  写出WE控制信号的功能。

答: WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。

J  A.B.C字段主要能译出什么信号?分别写出来。

: A字段中,主要是寄存器的打入信号,B字段中主要是寄存器的输出信号,C字段中,主要是测试信号。

J  UA5-UA0是当前微地址还是后继微地址?

答: UA5-UA0是当前后继微地址。

J  06微指令功能是什么?06微指令S3,S2,S1,S0.M.CN的值为“100101”代表什么运算?A字段“001”和B字段“101”分别选中哪个控制信号,信号的功能分别是什么?06微指令中UA5-UA0中“000001”代表什么含义?

答:06微指令功能是将DR1寄存器中的内容和DR2寄存器中的内容相加,结果放R0寄存器中;

06微指令S3,S2,S1,S0,M,Cn的值为“100101”代表A加B运算;

A字段“001”是选中LDRi控制信号,其功能是根据机器指令来进行三个工作寄存器.R0,R1及R2的选择存入译码,而LDRi在本实验中即为LDR0,表示对寄存器R0的选择存入;

B字段“101”选中ALU-B控制信号,ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上;

06微指令中UA5-UA0中“000001”代表后续微地址01。

更多相关推荐:
计算机组成原理心得

学习计算机组成原理的感受专业:电商一班姓名:菅月梅学号:12061101011大学的课程不像中学那样死板,我们有了更多去实践的机会。大学毕竟是学习的地方,是汲取知识的地方,同样也需要我们的努力,也需要我们适当的…

计算机组成原理心得

学习计算机组成原理的心得体会学习了一个学期的《计算机组成原理》这门课程。在郄君老师给我们讲《计算机组成原理》这门课程的学期了,我们对于计算机都有了更深的认识和了解。计算机技术是世界上发展最快的科学技术之一,产品…

计算机组成原理心得

学习《计算机组成原理》感悟学习这门课已经有一段时间,刚开始学习《计算机组成原理》的时候,一头雾水,什么都不了解,以前也没有接触过。所以上课的时候有好多东西都听不懂,越学越没有信心,越学越差,甚至有时都想放弃。可…

计算机组成原理课程设计心得

计算机组成原理课程设计心得计科1004计算机组成原理课程设计是在我们上完计算机组成原理课之后的硬件实践课程,是把组成原理课上的理论知识与实践相结合的过程。通过课程设计进一步加深对理论知识的理解和对计算机的工作过…

计算机组成原理实验报告1

计算机组成原理实验报告1姓名学号教师时间地点机位实验名称数据传送实验一实验目的1理解自然语言形式命令的人工译码过程2学习系统部件和数据总线间传送数据的操作二实验原理寄存器的作用是用于保存数据的CP226实验仪用...

《计算机组成原理》学习心得

学习心得刚经过大一上那轻松的课程到大一下后课程突然加多了大一上听了许多人讲学计算机是有多么多么好一上王老师的课就觉得还真是不容易学好的专业而且也觉得我们女生学又比男生吃亏因为很多计算机相关的职位只招男生可见我心...

计算机组成原理实验报告-杨睿

THunion教学实验计算机系统实验报告学院信息学院姓名杨睿班级计算机1101B学号20xx080332117指导老师李天工北京联合大学教务处编印实验一THunion教学实验计算机认识实验一实验目的1熟悉THu...

安尧-20xx434158-计算机组成原理8位加法器实验报告

河北大学计算机组成原理实验报告学院计算机科学与技术学院年级20xx专业网络工程学号姓名安尧实验日期20xx1022实验地点c1228指导教师左丽娜实验项目8位行波进位加法器成绩一实验目的1理解加法器的原理2掌握...

计算机组成原理实验报告3-数据输出实验 移位门实验

23数据输出实验移位门实验一实验要求利用CPTH实验仪的开关做为控制信号将指定寄存器的内容读到数据总线DBUS上二实验目的1了解模型机中多寄存器接数据总线的实现原理2了解运算器中移位功能的实现方法三实验电路CP...

计算机组成原理实验报告模版 (2)

计算机组成原理实验报告学院专业姓名学号日期实验当天实验内容本实验的目的是什么实现什么功能实验步骤标明主要的步骤写下实现的过程然后把源代码截图实验结果把运行后的结果截图实验心得例如从这个实验学到了些什么知识发现了...

计算机组成原理实验报告 电子科技大学

计算机专业类课程实验报告课程名称计算机组成原理学院专业计算机科学与工程计算机科学与技术学生姓名学号20xx0600指导教师吴晓华日期20xx年11月30日实验报告实验一一实验名称ALU设计实验二实验内容和目的1...

计算机组成原理实验报告

计算机组成原理课程设计实验报告学院计算机科学与工程学院专业计算机科学与技术班级计算机学号姓名聂帅评分3班110501031420xx年06月07日实验一实验名称验证74LS181运算和逻辑功能实验目的1掌握算数...

计算机组成原理实验心得(19篇)