一、实验内容与目的
实验要求:
利用 CP226 实验仪上的 K16..K23 开关做为 DBUS 的数据,其它开关做为控制信号,实现主存储器 EM 的读写操作;利用 CP226 实验仪上的小键盘将程序输入主存储器 EM,实现程序的自动运行。
实验目的:
了解模型机中程序存储器 EM 的工作原理及控制方法;掌握模型机存储程序的基本原理以及模型机执行程序的过程。
二、实验步骤
2.1 实验一:主存储器 EM 读写实验
连接 | 信号孔 | 接入孔 | 作用 | 状态说明 |
---|---|---|---|---|
1 | PCOE | 实验者 自定义 连接到 16 个 拨动开关 K15~K0 的任何 一个 | PC 输出地址使能 | 低电平有效 |
2 | MAROE | -- | MAR 输出地址使能 | 低电平有效 |
3 | MAREN | MAR 写使能 | 低电平有效 | |
4 | EMEN | 存储器使能信号 | 低电平有效 | |
5 | EMRD | 存储器读信号 | 低电平有效 | |
6 | EMWR | 存储器写信号 | 低电平有效 | |
7 | X0 | 寄存器输出选择 | 见 2.4 表格 | |
8 | X1 | 寄存器输出选择 | ||
9 | X2 | 寄存器输出选择 | ||
10 | AEN | A 寄存器写使能 | 低电平有效 |
本模型机中,指令寻址时,由 PC 给出地址访问主存储器 EM,数据寻址时,由 MAR给出地址访问主存储器 EM,不允许 PC 和 MAR 同时输出地址。
(1)主存储器 EM 写入数据
存储器的写入数据的步骤描述如下:
第一步:将数据地址送 MAR,MAR 输出地址驱动地址总线指示内存写入单元。
第二步:存储器控制信号有效,包括使能信号和写信号。
第三步:将指定部件的数据输出至数据总线。
第四步:数据总线的数据写入地址总线指定的内存单元。
下面的操作将数据开关 K23~K16 送出的数据 55H 送入存储器的 10H 单元。
将地址 10H 写入 MAR
二进制开关 K23-K16 数据 10H,为MAR 送数据地址。
K23 | K22 | K21 | K20 | K19 | K18 | K17 | K16 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
置控制信号为(未给出的控制信号置为“1”):
X2 | X1 | X0 | MAREN |
---|---|---|---|
0 | 0 | 0 | 0 |
按住 STEP 脉冲键,按键按下时,输入端口 IN 的红色选择指示灯亮,表明数据源端是 IN,主存地址寄存器 MAR 的黄色选择指示灯亮,表明选择 MAR 寄存器。放开 STEP 键,电路产生一个上升沿,数据地址 10H 被写入 MAR 寄存器。
注意:一次操作完成后,所有的控制信号复位至无效状态“1”。
将数据 55H 写入 EM[10H]
置控制信号为:
X2 | X1 | X0 | MAROE | EMEN | EMWR |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
二进制开关 K23-K16 数据 55H,通过输入端口 IN 送数据总线。
K23 | K22 | K21 | K20 | K19 | K18 | K17 | K16 |
---|---|---|---|---|---|---|---|
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
按 STEP 键, 将数据 55H 写入 EM[10H]。此时 MAR 寄存器数码管显示 10H,主存储器 EM 的数码管显示 55H。当控制信号复位之后,主存储器 EM 的数码管显示 FFH,此时数据已经存入指定主存单元,由于没有地址和存储器的控制信号,数码管不再显示数据。
(2)主存储器 EM 读出数据
存储器的读出数据的步骤描述如下:
第一步:将数据地址送 MAR,MAR 输出地址驱动地址总线指示内存读出单元。
第二步:存储器控制信号有效,包括使能信号和读信号。
第三步:指定部件的数据作为数据的接收端。
第四步:内存数据读出到数据总线写入指定部件。
下面的操作将存储器的 10H 单元的数据 55H 读出送到累加器 A。
将地址 10H 写入 MAR
二进制开关 K23-K16 数据 10H,为MAR 送数据地址。
K23 | K22 | K21 | K20 | K19 | K18 | K17 | K16 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
置控制信号为(未给出的控制信号置为“1”):
X2 | X1 | X0 | MAREN |
---|---|---|---|
0 | 0 | 0 | 0 |
按住 STEP 脉冲键,数据地址 10H 被写入 MAR 寄存器。
将 EM[10H]的数据 55H 读出到累加器 A
置控制信号为:
MAROE | EMEN | EMRD | AEN |
---|---|---|---|
0 | 0 | 0 | 0 |
按住 STEP 脉冲键,EM[10H]的数据 55H 读出到累加器 A。
实验习题
将两位实验者学号的最后两位写入分别主存储器 EM 的 10H 和 11H 单元,读出到 A寄存器和 W 寄存器(注意学号本身是 10 进制)。
三、实验过程分析
2.1 实验一
(1)主存储器 EM 写入数据
将地址 10H 写入 MAR,如图1所示。
图1 将地址 10H 写入 MAR
将数据 55H 写入 EM[10H] ,如图2、图3所示。
图2 数据 55H 写入 EM
图3 控制信号复位之后
(2)主存储器 EM 读出数据
将地址 10H 写入 MAR,如图4所示。
图4 将地址 10H 写入 MAR
将 EM[10H]的数据 55H 读出到累加器 A,如图5所示。
图5 读出到累加器 A
实验习题
将两位实验者学号的最后两位写入分别主存储器 EM 的 10H 和 11H 单元,读出到 A寄存器和 W 寄存器(注意学号本身是 10 进制),如图6所示。
图5 读出到累加器 A
四、实验总结
本次实验是一次非常有意义的实践学习,通过实验,我对计算机组成原理和计算机系统设计有了更深入的认识,同时也提高了自己的实践能力和问题解决能力。
在实验过程中,我首先需要正确连接实验仪器,设置控制信号,输入程序,进行读写操作和程序运行。这需要我认真阅读实验指导书,仔细理解实验要求和步骤,并按照要求逐步操作。在实验中,我发现一些问题,例如在设置控制信号时出现了错误,导致读写操作失败。通过仔细检查,我发现错误的原因,并及时予以纠正,最终成功完成实验。
通过实验,我深入了解了计算机系统的组成和工作原理,掌握了模型机存储程序的基本原理和控制方法,提高了计算机系统设计和编程能力。同时,我也意识到了实践操作的重要性,只有通过实践才能真正理解和掌握理论知识,只有不断实践才能提高自己的实践能力和问题解决能力。在实验中,我不仅需要按照指导书上的步骤进行实验,同时也需要理解实验的原理和意义,从而更好地掌握实验内容和方法。
最后,本次实验让我充分认识到了计算机系统的复杂性和重要性,了解到计算机系统中各个组成部分之间的相互作用和控制方法,也提高了我对计算机系统设计和编程的兴趣。我相信,在今后的学习和实践中,我会不断加强自己的能力,深入学习计算机系统的各个方面,探索计算机科学和技术的更多领域。