实验(二):存储器实验

一、实验内容与目的

        实验要求:

        利用 CP226 实验仪上的 K16..K23 开关做为 DBUS 的数据,其它开关做为控制信号,实现主存储器 EM 的读写操作;利用 CP226 实验仪上的小键盘将程序输入主存储器 EM,实现程序的自动运行。

        实验目的:

        了解模型机中程序存储器 EM 的工作原理及控制方法;掌握模型机存储程序的基本原理以及模型机执行程序的过程。

二、实验步骤

2.1 实验一:主存储器 EM 读写实验

连接信号孔接入孔作用状态说明
1PCOE

实验者

自定义

连接到

16 个

拨动开关

K15~K0

的任何

一个

PC 输出地址使能低电平有效
2MAROE--MAR 输出地址使能低电平有效
3MARENMAR 写使能低电平有效
4EMEN存储器使能信号低电平有效
5EMRD存储器读信号低电平有效
6EMWR存储器写信号低电平有效
7X0寄存器输出选择见 2.4 表格
8X1寄存器输出选择
9X2寄存器输出选择
10AENA 寄存器写使能低电平有效

本模型机中,指令寻址时,由 PC 给出地址访问主存储器 EM,数据寻址时,由 MAR给出地址访问主存储器 EM,不允许 PC 和 MAR 同时输出地址。

(1)主存储器 EM 写入数据

存储器的写入数据的步骤描述如下:

第一步:将数据地址送 MAR,MAR 输出地址驱动地址总线指示内存写入单元。

第二步:存储器控制信号有效,包括使能信号和写信号。

第三步:将指定部件的数据输出至数据总线。

第四步:数据总线的数据写入地址总线指定的内存单元。

下面的操作将数据开关 K23~K16 送出的数据 55H 送入存储器的 10H 单元。

将地址 10H 写入 MAR

二进制开关 K23-K16 数据 10H,为MAR 送数据地址。

K23K22K21K20K19K18K17K16
00010000

置控制信号为(未给出的控制信号置为“1”):

X2X1X0MAREN
0000

按住 STEP 脉冲键,按键按下时,输入端口 IN 的红色选择指示灯亮,表明数据源端是 IN,主存地址寄存器 MAR 的黄色选择指示灯亮,表明选择 MAR 寄存器。放开 STEP 键,电路产生一个上升沿,数据地址 10H 被写入 MAR 寄存器。

注意:一次操作完成后,所有的控制信号复位至无效状态“1”。

将数据 55H 写入 EM[10H]

置控制信号为:

X2X1X0MAROEEMENEMWR
000000

二进制开关 K23-K16 数据 55H,通过输入端口 IN 送数据总线。

K23K22K21K20K19K18K17K16
01010101

按 STEP 键, 将数据 55H 写入 EM[10H]。此时 MAR 寄存器数码管显示 10H,主存储器 EM 的数码管显示 55H。当控制信号复位之后,主存储器 EM 的数码管显示 FFH,此时数据已经存入指定主存单元,由于没有地址和存储器的控制信号,数码管不再显示数据。

(2)主存储器 EM 读出数据

存储器的读出数据的步骤描述如下:

第一步:将数据地址送 MAR,MAR 输出地址驱动地址总线指示内存读出单元。

第二步:存储器控制信号有效,包括使能信号和读信号。

第三步:指定部件的数据作为数据的接收端。

第四步:内存数据读出到数据总线写入指定部件。

下面的操作将存储器的 10H 单元的数据 55H 读出送到累加器 A。

将地址 10H 写入 MAR

二进制开关 K23-K16 数据 10H,为MAR 送数据地址。

K23K22K21K20K19K18K17K16
00010000

置控制信号为(未给出的控制信号置为“1”):

X2X1X0MAREN
0000

按住 STEP 脉冲键,数据地址 10H 被写入 MAR 寄存器。

将 EM[10H]的数据 55H 读出到累加器 A

置控制信号为:

MAROEEMENEMRDAEN
0000

按住 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

四、实验总结

本次实验是一次非常有意义的实践学习,通过实验,我对计算机组成原理和计算机系统设计有了更深入的认识,同时也提高了自己的实践能力和问题解决能力。

在实验过程中,我首先需要正确连接实验仪器,设置控制信号,输入程序,进行读写操作和程序运行。这需要我认真阅读实验指导书,仔细理解实验要求和步骤,并按照要求逐步操作。在实验中,我发现一些问题,例如在设置控制信号时出现了错误,导致读写操作失败。通过仔细检查,我发现错误的原因,并及时予以纠正,最终成功完成实验。

通过实验,我深入了解了计算机系统的组成和工作原理,掌握了模型机存储程序的基本原理和控制方法,提高了计算机系统设计和编程能力。同时,我也意识到了实践操作的重要性,只有通过实践才能真正理解和掌握理论知识,只有不断实践才能提高自己的实践能力和问题解决能力。在实验中,我不仅需要按照指导书上的步骤进行实验,同时也需要理解实验的原理和意义,从而更好地掌握实验内容和方法。

最后,本次实验让我充分认识到了计算机系统的复杂性和重要性,了解到计算机系统中各个组成部分之间的相互作用和控制方法,也提高了我对计算机系统设计和编程的兴趣。我相信,在今后的学习和实践中,我会不断加强自己的能力,深入学习计算机系统的各个方面,探索计算机科学和技术的更多领域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/147541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gem5模拟器学习之旅——翻译自官网

文章目录 安装并使用gem5 模拟器支持的操作系统和环境依赖在 Ubuntu 22.04 启动(gem5 > v21.1)Docker获取代码用 SCons 构建用法首次构建 gem5gem5 二进制类型调试opt快速 常见错误错误的 gcc 版本Python 位于非默认位置未安装 M4 宏处理器Protobuf 3.12.3 问题 安装并使用g…

如何零基础自学AI人工智能

随着人工智能(AI)的快速发展,越来越多的有志之士被其强大的潜力所吸引,希望投身其中。然而,对于许多零基础的人来说,如何入门AI成了一个难题。本文将为你提供一份详尽的自学AI人工智能的攻略,帮…

Idea 创建 Spring 项目(保姆级)

描述信息 最近卷起来&#xff0c;系统学习Spring&#xff1b;俗话说&#xff1a;万事开头难&#xff1b;创建一个Spring项目在网上找了好久没有找到好的方式&#xff1b;摸索了半天产出如下文档。 在 Idea 中新建项目 填写信息如下 生成项目目录结构 pom添加依赖 <depende…

修改 jar 包中的源码方式

在我们开发的过程中&#xff0c;我们有时候想要修改jar中的代码&#xff0c;方便我们调试或或者作为生产代码打包上线&#xff0c;但是在IDEA中&#xff0c;jar包中的文件都是read-only&#xff08;只读模式&#xff09;。那如何我们才能去修改jar包中的源码呢&#xff1f; 1.…

Zabbix Proxy分布式监控

目录 Zabbix Proxy简介 实验环境 proxy端配置 1.安装仓库 2.安装zabbix-proxy 3.创建初始数据库 4.导入初始架构和数据&#xff0c;系统将提示您输入新创建的密码 5.编辑配置文件 /etc/zabbix/zabbix_proxy.conf&#xff0c;配置完成后要重启。 agent客户端配置 zabbix…

PostgreSQL 难搞的事系列 --- vacuum 的由来与PG16的命令的改进 (1)

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友…

Git配置代理:fatal: unable to access*** github Failure when receiving data from

~吐槽一下 github自从被微软收购以后&#xff0c;大多数情况没点科技上网都进不去了&#xff0c;还是怀念以前随时访问的时光。 我一直都是开着系统代理的&#xff0c;但是今天拉一个项目发现拉不下来了&#xff0c;报错&#xff1a; fatal: unable to access https://githu…

【Git学习二】时光回溯:git reset和git checkout命令详解

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;Git等软件工具技术的使用 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要…

关于Android音效播放,【备忘】

主要还是希望开箱即用。所以才有了这篇&#xff0c;也是备忘。 以下代码适合Android5.0版本以后 private SoundPool soundPool;//特效播放private Map<String,Integer> soundPoolMap;// Builder buildernew SoundPool.Builder();builder.setMaxStreams(4);///最大…

为什么Go是后端开发的未来

近年来&#xff0c;Go 编程语言的流行度迅速增加。Go 最初由 Google 开发&#xff0c;迅速成为后端开发中最受欢迎的语言之一&#xff0c;特别是在分布式系统和微服务的开发中。本文将讨论为什么 Go 是后端开发的未来。 Go 简介 Go&#xff0c;又称为 Golang&#xff0c;是由…

组合模式 rust和java的实现

文章目录 组合模式介绍实现javarsut 组合模式 组合模式&#xff08;Composite Pattern&#xff09;&#xff0c;又叫部分整体模式&#xff0c;是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象&#xff0c;用来表示部分以及整体层次。这种类型的设计…

探索亚马逊大语言模型:开启人工智能时代的语言创作新篇章

文章目录 前言一、大语言模型是什么&#xff1f;应用范围 二、Amazon Bedrock总结 前言 想必大家在ChatGPT的突然兴起&#xff0c;大家多多少少都会有各种各样的问题&#xff0c;比如&#xff1a;大语言模型和生成式AI有什么关系呢&#xff1f;大语言模型为什么这么火&#xf…

C++二分查找算法:查找和最小的 K 对数字

相关专题 二分查找相关题目 题目 给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v)&#xff0c;其中第一个元素来自 nums1&#xff0c;第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 示例 1:…

MFC 对话框

目录 一、对话款基本认识 二、对话框项目创建 三、控件操作 四、对话框创建和显示 模态对话框 非模态对话框 五、动态创建按钮 六、访问控件 控件添加控制变量 访问对话框 操作对话框 SendMessage() 七、对话框伸缩功能实现 八、对话框小项目-逃跑按钮 九、小项…

jQuery Ajax前后端数据交互

ajax是用来做前后端交互的&#xff0c;前端使用ajax去去发送一个请求&#xff0c;后端给其响应拿到数据&#xff0c;前端做些展示。 浏览器访问网站一个页面时&#xff0c; Web 服务器处理完后会以消息体方式返回浏览器&#xff0c;浏览器自动解析 HTML 内容。如果局部有新数…

python算法例15 合并数字

1. 问题描述 给出n个数&#xff0c;将这n个数合并成一个数&#xff0c;每次只能选择两个数a、b合并&#xff0c;合并需要消耗的能量为ab&#xff0c;输出将n个数合并成一个数后消耗的最小能量。 2. 问题示例 给出[1&#xff0c;2&#xff0c;3&#xff0c;4]&#xff0c;返回…

分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测

分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测 目录 分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现PSO…

C语言的由来与发展历程

C语言的起源可以追溯到上世纪70年代&#xff0c;由Dennis Ritchie在贝尔实验室开发出来。C语言的设计目标是提供一种简洁、高效、可移植的编程语言&#xff0c;以便于开发底层的系统软件。在那个时代&#xff0c;计算机技术正在迅速发展&#xff0c;出现了多种高级编程语言&…

python二分查找

什么是二分查找&#xff1a; 二分查找又称折半查找&#xff0c;优点是比较次数少&#xff0c;查找速度快&#xff0c;平均性能好&#xff1b;其缺点是要求待查表为有序表&#xff0c;且插入删除困难。因此&#xff0c;折半查找方法适用于不经常变动而查找频繁的有序列表。 首先…

APIcloud 【现已更名 用友开发中心】 iOS发版 应用程序请求用户同意访问相机和照片,但没有在目的字符串中充分说明相机和照片的使用。

iOS 审核时 提示 首次安装软件 获取相机 相册 提示信息 怎么修改 我们注意到你的应用程序请求用户同意访问相机和照片&#xff0c;但没有在目的字符串中充分说明相机和照片的使用。 为了解决这个问题&#xff0c;修改应用信息中的目的字符串是合适的。相机和照片的Plist文件&a…