【上海大学计算机组成原理实验报告】六、内存系统实验

一、实验目的

  1. 学习内存访问机制。
  2. 理解代码和数据的分区存放原理和技术。

二、实验原理

  1. 根据实验指导书的相关内容,地址寄存器MAR用来存放要进行读或写的存储器EM的地址。其内容经数据总线DBUS写入,因此必须在数据总线上具有数据后,配合MAR允许写的信号MAREN,在时钟上升沿跳变时写入。

  2. 根据实验指导书的相关内容,当要向存储器EM读或写数据时,必须指明读、写EM哪个地址的内容。这个地址则由地址寄存器MAR或指令计数器PC通过地址总线ABUS给出。因此在地址寄存器MAR设置了地址后,配合MAR允许输出的信号MAROE,以及存储器EM被选通并允许写的时候,数据总线上的数据才会写到MAR指定的地址中。

  3. CP226是一款汇编语言程序集成开发环境,通过这款软件我们可以更方便地进行汇编语言程序的编制、运行和调制工作。

三、实验内容

实验任务一:手动方式把立即数33H写入内存D1H单元

(1)实验步骤

  1. 注释仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。

  2. Reset键初始化系统,并设置实验箱进入手动模式。

  3. 按照下表对实验箱线路进行连接:

连接 信号孔 接入孔 作用 有效电平
1 J2座 J3座 将K23-K16接入DBUS[7:0]
2 STEN K15 ST寄存器写允许 低电平有效
3 X2 K10 三位组合来译码选择将数据送到DBUS上的指定寄存器
4 X1 K9
5 X0 K8
6 IREN K6 IR,uPC写允许 低电平有效
7 PCOE K5 PC输出地址 低电平有效
8 MAROE K4 MAR输出地址 低电平有效
9 MAREN K3 MAR写允许 低电平有效
10 EMEN K2 存储器与数据总线相连 低电平有效
11 EMRD K1 存储器读允许 低电平有效
12 EMWR K0 存储器写允许 低电平有效
  1. 先在MAR中设置存储器地址。将MAREN设为允许写MAR,而后用开关K23~K16,设置数值为D1H,表示选择地址D1H,最后按下STEP键向DBUS中写入数据D1H

  2. 将数据写入EM中。将MAR设置为允许输出,并将EM设为允许写,而后用开关K23~K16,设置数值为33H后按STEP键向DBUS中写入数据33H

  3. 观察并记录实验现象。

(2)实验现象

MAR寄存器显示D1HEM寄存器显示33H

实验任务二:手动方式把D1H单元的内容读出,再送入ST单元

(1)实验步骤

  1. 保持实验任务一的接线,将K10-K8全部置1,使数据无法从K23-K16中输入。
  2. MAR设为允许输出,并将EM设为允许读,按下STEP键,观察ST寄存器内容变化。

(2)实验现象

ST寄存器显示33H

实验任务三:在CP226汇编语言程序集成开发环境下编写程序

通过调试和跟踪运行,将初始值05H赋予累加器A,每次减1,到0时,OUT寄存器输出FFH,期间注意观察数据走向及寄存器的输入输出状态。

(1)实验步骤

  1. 拔下实验箱上的接线,并将开关K23-K16全部置0,开关K15-K0全部置1,按下Reset键初始化系统。
  2. 打开电脑上的CP226软件,点击源程序编写如下代码:
  1. 将文件保存为.asm文件,并进行编译和下载。
  2. 通过单微指令运行文件,观察运行情况并记录实验结果。

(2)实验现象

初始情况下,累加器的值为05H,随着程序的运行递减,当递减到0时,OUT寄存器输出FFH

(3)实验结论

  1. 通过设置地址寄存器MAR,以及指明EM是读还是写,我们可以对MAR中的地址进行读入和写出。
  2. 通过一系列正确的设计,我们成功地通过CP226软件完成了"将初始值05H赋予累加器A,每次减1,到0时,OUT寄存器输出FFH"操作功能的实现。

四、建议

  1. 在从MAR寄存器中读数据时,要注意将控制X2X1X0的信号关闭,防止数据通过K23~K16输入。
  2. 在编写汇编代码时,要注意大小写,当前串行口连接无效时,可切换其他串行口进行实验。

五、体会

通过此次实验,我学会了如何通过手动的方式对指定地址单元的数据进行读入和写出,也学会了如何在汇编语言程序集成开发环境下编写程序,还加深了我对计算机内存系统的理解,为进行下一次实验打下了扎实基础。

六、思考题

既然有ORG微指令,为什么集成开发环境下载到实验箱的目标程序的第一条执行语句最好存放在0号地址?

答:因为程序是顺序执行的,如果第一条执行语句不存放在0号地址,在程序执行时,在存放第一条执行语句的地址的前面,可能还存有其他指令,进而可能导致程序运行出错。

相关推荐
rannn_1114 天前
【中北大学计网实验报告】|《计算机网络实验:从Packet Tracer入门到交换机配置》
计算机网络·实验报告·中北大学
其实防守也摸鱼4 天前
软件安全与漏洞--实验 软件安全需求分析
网络·安全·网络安全·需求分析·法律·实验·软件安全与漏洞
其实防守也摸鱼7 天前
计算机组成原理--5.输入/输出(I/O)系统
服务器·笔记·深度学习·计算机网络·知识图谱·工具·计算机组成原理
蛋白界小百灵8 天前
AID蛋白磷酸化位点功能验证:从体外激酶实验到B细胞CSR模型
学习·生物技术·实验
551只玄猫10 天前
【计算机网络 实验报告7】传输层两种协议的对比与TCP连接管理分析
网络·网络协议·计算机网络·课程设计·传输层·实验报告·tcp连接
551只玄猫13 天前
【计算机网络 实验报告5】IP层协议分析
网络·网络协议·计算机网络·课程设计·ip·实验报告
今天又在写代码14 天前
计算机组成与原理v2
计算机组成原理
551只玄猫16 天前
【计算机网络 实验报告2】网络常用命令与基本配置
网络·计算机网络·wireshark·课程设计·实验报告
551只玄猫16 天前
【计算机网络 实验报告3】集线器和交换机的工作原理
计算机网络·交换机·集线器·实验报告·可测和功能设计
551只玄猫17 天前
【软件工程 实验报告1】结构化分析与设计(一)需求分析
软件工程·课程设计·需求分析·数据流图·实验报告·结构化分析·结构化设计