当前位置: 首页 > news >正文

计算机组成原理 双端口存储器原理实验

一、实验目的

1、了解双端口静态随机存储器IDT7132的工作特性及使用方法

2、了解半导体存储器怎样存储和读出数据

3、了解双端口存储器怎样并行读写,产生冲突的情况如何

二、实验任务

(1)按图7所示,将有关控制信号和和二进制开关对应接好,仔细复查一遍,然后接通电源。

(2)将数码开关SW0—SW7 (SW0是最低位)设置为00H, 将此数据作为地址置入AR1;然后重新设置二进制开关控制,将数码开关SW0—SW7上的数00H写入RAM第0号单元。依此方法,在存储器10H单元写入数据10H,20H 单元写入20H, 30H单元写入30H, 40H单元写入40H,共存入5个数据。使用双端口存储器的左端口,依次读出存储器第00H、10H、 20H、 30H、40H单元中的内容,观察上述各单元中的内容是否与该单元的地址号相同,记录数据。注意:总线上禁止两个以上部件同时向总线输出数据。当存储器进行读出操作时,必须关闭SW_ BUS 三态门!而当向AR1送入地址时,双端口存储器不能被选中。

(3)通过双端口存储器右端口(指令端口),依次把存储器第00H、10H、 20H、 30H、 40H 单元中的内容置入指令寄存器IR,观察结果是否与(2)相同,并记录数据。

(4)双端口存储器的并行读写和访问冲突测试。置CEL#=0且CER=1,使存储器左、右端口同时被选中。当AR1和AR2的地址不相同时,没有访问冲突;地址相同时,由于都是读出操作,也不冲突。如果左、右端口地址相同且一个进行读操作、另一个进行写操作,则发生冲突。要检测冲突,可以用示波器测试BUSYL和BUSYR插孔(分别是两个端口的“忙”信号输出)。BUSY 为0时不一定发生冲突,但发生冲突时,BUSY 一定为0。当某一个端口(无论是左端口还是右端口)的BUSY = 0时,对该端口的写操作被IDT7132忽略掉。

三、实验工具

     模拟程序

四、实验步骤及实验结果

1、仿真面板接线

2、令K0 (CEL#) =1,K1(LRW) = 1,K2 (CER) =0,K3(LDAR1) = 1,K4 (LDAR2) =0,K5 (SW_ BUS#)= 0,K6 (LDIR) = 0。将IR/DBUS开关拨到DBUS位置,将AR1/AR2开关拨到AR1位置。置SW7-SW0=00H, 按一次QD按钮,将00H写入AR1,绿色的地址指示灯应显示00H。

再令K3 (LDAR1)=0,K0(CEL#)=0,K1(LRW)=0,按一次QD按钮,则将00H数据写入存储器的00H单元。

依次重复进行,在存储器10H单元写入数据10H,20H 单元写入20H,30H 单元写入30H,40H 单.元写入40H,共存入5个数据。

最终在双端口RAM中得到:

      

3、令K0 (CEL#) = 1,K1(LRW) = 1, K2 (CER) =0,K3(LDAR1) =0,K4 (LDAR2) =1,K5 (SW_ BUS#)= 0,K6 (LDIR) =0。将IR/DBUS开关拨到IR位置,将AR1/AR2开关拨到AR2位置。置SW7-SW0 =00H,按一次QD按钮,将00H写入AR2,绿色的地址指示灯应显示00H。

令K4 (LDAR2)=0, K2 (CER)= 1, K6(LDIR) = 1,按一次QD按钮,则从右端口读出存储器的00H单元的数据,读出的数据写入指令寄存器IR, 显示在IR数据指示灯上,应为00H。

照此方法,可从右端口依次读出存储器单元10H、20H、 30H、 40H 的数据,写入指令寄存器IR。

读出10H数据写入IR:

读出20H数据写入IR:

读出30H数据写入IR:

读出40H数据写入IR:

4、令K0 (CEL#) =1, K1(LRW) = 1,K2 (CER) =0, K3(LDAR1) = 1,K4 (LDAR2) =0,K5 (SW_ BUS#)= 0,K6 (LDIR) = 0。将AR1/AR2开关拨到AR1位置。置SW7-SW0= 38H, 按一次QD按钮,将38H写入AR1,绿色的地址指示灯应显示38H。

令K3(LDAR1) =0,K4 (LDAR2) =1,K5 (SW_BUS#)=0,将AR1/AR2开关拨到AR2位置。置SW7-SW0=38H,按一次QD按钮,将38H写入AR2,绿色的地址指示灯,应显示38H。

由于这是模拟程序,没有示波器后面内容无法进行。

(令K2 (CER) = 1,K0 (CEL#) =1,用示波器探头测试BUSYL插孔,BUSYL 应为高电平。保持K2(CER)不变,将K2(CEL#)拨动到0位置,示波器上的BUSYL信号从高电平变为低电平;再将KO (CEL#)拨到1位置,BUSYL 信号从低电平变为高电平。先令K0 (CEL#) =0,K2 (CER) = 0,用示波器探头测试BUSYR插孔,BUSYR 应为高电平。保持K0 (CEL#)不变,将K2 (CER)拨动到1位置,示波器上的BUSYR信号也从高电平变为低电平;再将K2 (CER) 拨到0位置,BUSYL 信号也从低电平变为高电平。)

五、个人总结

个人理解是先给指定地址赋给特定的值,再由另一边指到某个地址,输出对应的值。简单理解为当只打开CEL#、LRW、LDAR1,可以通过SW0-SW7点击QD确定某个地址,把它们全部取消后,又可以通过SW0-SW7点击QD给该地址赋值。之后,只打开CEL#、LRW、LDAR2,可以通过SW0-SW7点击QD选择输出的地址,再取消LDAR2,打开CER和LDIR,点击QD,就可以获取那个地址存放的信息。

相关文章:

计算机组成原理 双端口存储器原理实验

一、实验目的 1、了解双端口静态随机存储器IDT7132的工作特性及使用方法 2、了解半导体存储器怎样存储和读出数据 3、了解双端口存储器怎样并行读写,产生冲突的情况如何 二、实验任务 (1)按图7所示,将有关控制信号和和二进制开关对应接好,…...

[音视频学习笔记]六、自制音视频播放器Part1 -新版本ffmpeg,Qt +VS2022,都什么年代了还在写传统播放器?

前言 参考了雷神的自制播放器项目,100行代码实现最简单的基于FFMPEGSDL的视频播放器(SDL1.x) 不过老版本的代码参考意义不大了,我现在准备使用Qt VS2022 FFmpeg59重写这部分代码,具体的代码仓库如下: …...

GPT-5可能会在今年夏天作为对ChatGPT的“实质性改进”而到来

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会

摘要:本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会,内容主要分为以下四部分: 1、Flink CDC 新仓库,新流程 2、Flink CDC 新定位,新玩法 3、Flin…...

部署单节点k8s并允许master节点调度pod

安装k8s 需要注意的是k8s1.24 已经弃用dockershim,现在使用docker需要cri-docker插件作为垫片,对接k8s的CRI。 硬件环境: 2c2g 主机环境: CentOS Linux release 7.9.2009 (Core) IP地址: 192.168.44.161 一、 主机配…...

Django日志(三)

内置TimedRotatingFileHandler 按时间自动切分的log文件,文件后缀 %Y-%m-%d_%H-%M-%S , 初始化参数: 注意 发送邮件的邮箱,开启SMTP服务 filename when=h 时间间隔类型,不区分大小写 S:秒 M:分钟 H:小时 D:天 W0-W6:星期几(0 = 星期一) midnight:如果atTime未指定,…...

【吾爱破解】Android初级题(二)的解题思路 _

拿到apk,我们模拟器打开看一下 好好,抽卡模拟器是吧😀 jadx反编译看一下源码 找到生成flag的地方,大概逻辑就是 java signatureArr getPackageManager().getPackageInfo(getPackageName(), 64).signaturesfor (int i 0; i &l…...

富格林:谨记可信计策安全做单

富格林悉知,现货黄金由于活跃的行情给投资者带来不少的盈利的机会,吸引着众多的投资者进场做单。但在黄金投资市场中一定要掌握可信的投资方法,提前布局好策略,这样才能增加安全获利的机会。不建议直接进入市场做单,因…...

【工具使用】mingw64编译完成运行可执行文件时出现乱码

一,问题现象: notepad设置的时UTF-8编码: mingw64命令行设置的编码格式为: 二,问题原因: 在执行的时候,windows下的编码格式是GBK 三,解决方法: 编译时&#xff0…...

WebSocket 使用示例,后台为nodejs

效果图 页面代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>WebSocket Client</title&g…...

【算法】力扣【树形DP】687. 最长同值路径

【算法】力扣【树形DP】687. 最长同值路径 687. 最长同值路径 文章目录 【算法】力扣【树形DP】687. 最长同值路径题目描述输入输出示例 题解思路代码描述 复杂度分析总结 题目描述 本题要求在给定的二叉树中寻找最长的同值路径&#xff0c;这个路径中的每个节点的值都相同。…...

S32DS用PE调试报错

1、问题&#xff1a; 在S32DS上用PE进行调试报错&#xff1a; Error while launching command: --version 2、解决方法 按下图操作 填入内容&#xff1a; ${cross_prefix}gdb${cross_suffix}...

Day02-DDLDMLDQL(定义,操作,查询)(联合查询,子查询,字符集和校对集,MySQL5.7乱码问题)

文章目录 Day02-DDL&DML和DQL学习目标1. SQL语言的组成2. DDL2.1 数据库结构2.2 表结构2.3 约束2.3.1 主键约束(重要)(1)特点(2) 添加主键(3)删除主键(了解) 2.3.2 自增约束(1)特点(2) 添加自增约束(3)删除自增约束(了解) 2.3.3 非空约束(1)添加非空约束(2) 删除非空约束 2…...

3D高斯泼溅的崛起

沉浸式媒体领域正在以前所未有的速度发展&#xff0c;其中 3D 高斯溅射成为一项关键突破。 这项技术在广泛的应用中看起来非常有前景&#xff0c;并且可能会彻底改变我们未来创建数字环境以及与数字环境交互的方式。 在本文中&#xff0c;我们将通过与摄影测量和 NeRF 等前辈进…...

基于python+vue家政服务系统flask-django-php-nodejs

相比于以前的传统手工管理方式&#xff0c;智能化的管理方式可以大幅降低家政公司的运营人员成本&#xff0c;实现了家政服务的标准化、制度化、程序化的管理&#xff0c;有效地防止了家政服务的随意管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能够及时、准确地…...

用户中心项目(登录 + 用户管理功能后端)

文章目录 1.登录功能-后端1.思路分析2.完成对用户名和密码的校验1.com/sun/usercenter/service/UserService.java 添加方法2.com/sun/usercenter/service/impl/UserServiceImpl.java 添加方法3.com/sun/usercenter/service/impl/UserServiceImpl.java 新增属性 3.记录用户的登录…...

嵌入式相机WEB,用C直接处理?

以前用HTTP连接相机的时候&#xff0c;以为是相机内部有一个类似tomcat之类的WEB服务器。收到相机命令后&#xff0c;通过链接库执行动作。 昨天想给相机增加一个时间显示&#xff0c;增加的项目一点就跳转到登录。 于是问了之前负责的&#xff0c;说是要后端改。再问嵌入式相…...

LeetCode_31_中等_下一个排列

文章目录 1. 题目2. 思路及代码实现详解&#xff08;Python&#xff09;2.1 两遍扫描 1. 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c; a r r [ 1 , 2 , 3 ] arr [1,2,3] arr[1,2,3] &#xff0c;以下这些都可以视作 a r r arr arr…...

huggingface的transformers训练gpt

目录 1.原理 2.安装 3.运行 ​编辑 4.数据集 ​编辑 4.代码 4.1 model init​编辑 forward&#xff1a; 总结&#xff1a; 关于loss和因果语言模型&#xff1a; ​编辑 交叉熵&#xff1a;​编辑 记录一下transformers库训练gpt的过程。 transformers/examples/…...

第六十一回 放冷箭燕青救主 劫法场石秀跳楼-编译安装飞桨paddlepaddle@openKylin+RISCV

卢俊义在水里被张顺抓住&#xff0c;用轿子抬到了梁山。宋江等人下马跪在地上迎接&#xff0c;请他坐第一把交椅。卢俊义宁死不从&#xff0c;大家只好说留他在山寨几天&#xff0c;先让李固带着马车货物回去。吴用对李固说&#xff0c;你的主人已经答应坐第二把交椅了&#xf…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...