基本运算器实验静态随机存储器实验

1.1 基本运算器实验

1. 实验记录

①运算结果

首先按照实验指导书进行连线,然后打开试验箱电源,把A,B两个数存到寄存器中,然后改变s3 s2 s1 s0 的值,产生脉冲,观察对应的数据总线上的值以及两个标志位。

对于实验结果,手动模拟,列出可能出现的结果:

运算类型

A

B

S3S2S1S0

结果

逻辑运算

65

A7

0 0 0 0

F=

65

FC=

X

FZ=

X

65

A7

0 0 0 1

F=

A7

FC=

X

FZ=

X

65

A7

0 0 1 0

F=

25

FC=

X

FZ=

0

65

A7

0 0 1 1

F=

E7

FC=

X

FZ=

0

65

A7

0 1 0 0

F=

9A

FC=

X

FZ=

0

移位运算

65

A7

0 1 0 1

F=

00

FC=

X

FZ=

1

65

A7

0 1 1 0

F=

80

FC=

X

FZ=

0

65

A7

0 1 1 1

F=

00

FC=

X

FZ=

1

65

A7

1 0 0 0

F=

CA

FC=

X

FZ=

0

算术运算

65

A7

1 0 0 1

F=

0C

FC=

1

FZ=

0

65

A7

1 0 1 0(Cn=0)

F=

0C

FC=

1

FZ=

0

65

A7

1 0 1 0(Cn=1)

F=

0D

FC=

1

FZ=

0

65

A7

1 0 1 1

F=

BE

FC=

1

FZ=

0

65

A7

1 1 0 0

F=

64

FC=

0

FZ=

0

65

A7

1 1 0 1

F=

66

FC=

0

FZ=

0

其中X表示该操作并不会影响标志位,所以标志位将维持上一次的值,并不发生改变。

进行上机实验,以下为上机实验数据结果:

在记录表中,标志位有两行。上边一行表示初始标志位,下边一行表示在执行过之后的标志位。

在测试中可以看到,对于某些不影响标志位的操作,标志位维持上一次的值。

②故障现象及排除经过

故障一:已经将试验箱与电脑相连,并且开机,但是电脑无法检索到实验箱。

解决方法:首先检查接线是否接触良好,然后对实验箱进行重启,复位操作,均无法正常连接。换同伴的电脑后连接正常。

故障二:计算之后,结果正常,但是标志位并没有发生变化。

解决方法:重新阅读实验指导课件,发现:

FC以及FZ是触发器的输出,仅仅当T2产生脉冲之后才会更新触发器的值

在更改s3 s2 s1 s0 的值之后,推动开关产生触发即可。

故障三:当s3 s2 s1 s0 = 0000时,即使A为0x00,数据总线显示正常,但是FC一直为1

故障如图:

解决办法:

查阅实验手册之后,发现s3 s2 s1 s0为0000时,该操作并不会影响标志位,标志位仍然保持上一次的值。

2. 思考题

1. 利用上述运算器能否实现大于8位二进制数的算术运算?如果能,需要采取什么样的措施?

答:可以计算大于8位的二进制算术运算。

对于算术运算,把需要进行运算的数据按照8位为一组进行分组,使用考虑输入进位的加法进行运算。从最低位的组开始运算。把这一组的 输出进位(FC) 输入到下一组的 Cn。

2. 给出一组数据,验证桶形移位器的功能。

采用PPT课件中的四位桶形移位器进行说明:

①如果要实现左移1位,就把对应对角线上的开关闭合,其他位置的开关断开。

如图:

②如果要实现循环右移1位,那么就把右移1位的开关打开,左移3位的开关打开。

实现效果如图:

输出结果为1010

所以桶形移位器的功能正确。

3. 收获及想法

收获:

通过这一次实验,使得我熟悉了计算机组成设计的实验箱的基本连线以及使用。在该实验中,我通过把算术逻辑单元(ALU)与控制模块进行连接,通过开关控制数据通路的输入,控制通路的输入,并且把算术逻辑单元的输出通过数据总线上的指示灯以及发两个标志位对应的指示灯进行展示,对其结果进行观察。

在不断地试错以及调试的过程中,我积累了许多宝贵的经验,对实验箱的一些常见问题可以独立进行解决。

在实验操作的过程中,我手动地进行了数据通路值的设置,控制通路控制信号的值的设置以及脉冲信号的手动生成,细致地体会到了在真实计算机工作中各个信号的协做交流,理解了时钟信号在控制节奏中所起的重要作用,并在数据的交换过程中初步了解了总线的作用。

想法:

可以将这一个实验以及下一个实验进行联系,把ALU运算的结果通过数据总线写入内存中,再通过下一次实验的读内存读出已经保存的结果。这样可以更好地增强计算机应用的能力。

1.2 静态随机存储器实验

1.实验记录

①运算结果

在进行实验的时候,首先按照实验指导报告进行连线。

然后把地址送到数据总线,再进行以及触发,把地址送到地址总线。之后,在数据总线上输入需要存储的数据,然后设置存储器为写,进行触发,数据被成功写入存储器。

需要读取数据时,把地址送到数据总线,再进行以及触发,把地址送到地址总线。把IOR置为1,选择存储器为输出,此时在地址总线上的值为存储器之前被存入的值。

按照上述步骤:

分别在地址0x01,0x02,0x03, 0x04, 0x05中存入数值0x01,0x02,0x03, 0x04, 0x05,

然后进行读操作读取5个地址,最终出现的值为所存入的值,存入值与读取值相同。

然后进行其他尝试,在地址0x01中重新写入值0x03,正常读出新值,旧值被覆盖。

②故障现象及排除经过

问题一:如图,在0x07中读出的数并不是我想要的结果。

解决方法:读取其他存储器的值,发现与之前存入的相同,证明仪器一切正常,回忆刚刚存过值的地址,发现并没有在0x07中存入数字,所以该地址下的值就是其默认的初始值0xFF。

问题二:在与电脑连接之后,先关闭电脑,再次使用实验箱的功能,发现无法正常操作,尝试其他操作,均不能正常正常操作。怀疑是由于关闭电脑导致实验板突然与电脑断开连接,导致实验板出现问题。

解决方法:按压实验板上的复位按键,然后再次按压右下角的清零按键,实验板可以正常进行存入以及读取,问题得以解决。

问题三:试验箱读取的值与存入的值不同,反而与in模块中的值相同

解决办法:对照下图,仔细核对控制通路的开关状态,发现IOR并未置1,将IOR置1,数据总线中的值立刻恢复正常。

       问题四:在连接排针的时候,发现一端(A)有三个排针,另一端(B)有四个排针连到一起,其中有三个需要连接,一个不需要连接。

       解决方法:选用4路信号的数据线。在A端连接数据线的三个口,在另一端通过颜色区分,确保连接的顺序一致,连接B端的四个口(其中的一个口虽然与数据线连接,但是在数据线的另一端悬空,相当于没有进行连接)

2. 思考题

1. 随机存储器和只读存储器的区别是什么,能否通过外加电路实现用随机存储器代替只读存储器?

    答:

只读存储器(ROM)仅仅可以对数据进行读取,不可以对其进行写入,其中的数据不会丢失,主要用于系统开机自检,各个部件初始化,基本的驱动程序存储等。

随机存储器(RAM)既可以读取数据,也可以写入数据,其与CPU直接交换数据,读取写入速度很快,但是一旦断电,其中的数据就会全部丢失。

可以,在外加电路中,需要保证为RAM持续供电,并且关闭RAM的写使能端,这样,RAM可以当做ROM使用。但是如果意外断点,其数据就会消失。

2. 动态随机存储器和静态随机存储器的区别是什么,与静态随机存储器相比,动态随机存储器在电路设计需要考虑什么问题?

答:

静态随机存储器是由双稳态触发器构成,只要持续供电,其中的数据不会消失。

动态随机存储器是由电容构成。由于电容会放电,所以如果不进行操作,那么过一段时间,数据就会消失。

在设计动态随机存储器的时候,每隔一段时间要进行刷新,使电容重新充电。

3. 收获及想法

收获:

静态随机存储器(SRAM)是计算机内存的一种,通过这一次实验,我了解了内存如何写入以及读取数据,有助于更好地系统理解计算机的组成。

同时,在这一次课上,涉及到了数据总线与地址总线,我明白了在计算机的内部,总线把计算机的各个部分连接在一起,各个部件之间可以使用总线来进行数据的传输。同时,数据总线上的内容可以被传输到地址总线,用于控制内存的读写。

对于实验过程中所出现的问题,我进行了参考报告册以及网上的资料,锻炼了我独立思考,解决问题的能力,使得我更好地应对接下来的实验。

想法:

可以借助实验箱中的寄存器,实现两个数字之间的交换,这样,就可以模拟程序在正式运行过程中的取数,存数操作,同时可以更加深入地理解总线在计算机内部的作用。

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

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

相关文章

机器学习分类模型

机器学习常见分类模型及特点 机器学习常见分类模型优缺点 决策树模型 决策树(Decision Tree)是一类常见的机器学习方法,可应用于分类与回归任务,这里主要讨论分类决策树。决策树是基于树结构来进行决策的。下图是使用决策树来决定…

分布式技术之分布式发布订阅通信

文章目录 什么是发布订阅?发布订阅的原理Kafka 发布订阅原理及工作机制 发布订阅的应用 什么是发布订阅? 发布订阅的三要素是生产者、消费者和消息中心,生产者负责产生数据放到消息中心,消费者向消息中心订阅自己感兴趣的消息&am…

【详解】KMP算法——每步配图让你打穿KMP

介绍 什么是KMP算法: KMP算法主要运用串的模式匹配中(简单来说就是在s串中找到一个与t串相等的子串,称为模式匹配)例如s为abcdef,t为bcd,那么就是在s中找到bcd,并返回其在s中的首下标&#xf…

(JAVA)-(网络编程)-初始网络编程

网络编程就是在通信协议下,不同的计算机上运行的程序,进行的数据传输。 讲的通俗一点,就是以前我们写的代码是单机版的,网络编程就是联机版的。 应用场景:即时通信,网游对战,金融证券&#xf…

arm day7

开关中断控制 main.c #include "key_it.h" #include "uart.h" void delay(int ms) {int i,j;for(i0;i<ms;i){for(j0;j<2000;j);} }int main() {key2_it_config();key1_it_config();key3_it_config();all_led_init();char buf[128];gets(buf); whil…

Android APK未签名提醒

最近新建了一个项目&#xff0c;在build.gradle中配置好了签名&#xff0c;在执行打包的时候打出的包显示已签名&#xff0c;但是在上传市场的时候提示未签名。于是排查了好久&#xff0c;发现在build.gradle中配置的minsdk 24&#xff0c;会导致不使用V1签名&#xff0c;于是我…

Kubernetes技术与架构-集群管理

Kubernetes技术与架构提供支撑工具支持集群的规划、安装、创建以及管理。 数字证书 用户可以使用easyrsa、openssl、cfssl工具生成数字证书&#xff0c;在kubernetes集群的api server中部署数字证书用于访问鉴权 资源管理 如上所示&#xff0c;定义一个服务类service用于负…

iptables防火墙(二)

目录 1、SNAT策略及应用 1.1、SNAT 策略概述 1.2、SNAT 策略的应用 2、DNAT 策略及应用 2.1、DNAT 策略概述 2.2、DNAT 策略的应用 3、规则的导出、导入 3.1、规则的备份及还原 3.2、使用 iptables 服务 4、使用防火墙脚本 4.1、防火墙脚本的构成 &#xf…

Python新姿势:用魔法方法玩转对象

文章目录 前言1\. 对象构建2\. 对象属性访问3\. 对象比较4\. 对象输出5\. 对象运算6\. 总结Python技术资源分享1、Python所有方向的学习路线2、学习软件3、入门学习视频4、实战案例5、清华编程大佬出品《漫画看学Python》6、Python副业兼职与全职路线 前言 Python中魔法方法&a…

百兆集成RJ45连接器电路设计原理

华强盛电子导读&#xff1a;HR911105A-H1159A01A-GY百兆网口带变压器原理 百兆集成RJ45连接器电路设计原理涉及到网络通信和电子工程领域。RJ45连接器是一种常见的网络连接器&#xff0c;广泛应用于以太网和其他网络通信中。 以下是百兆集成RJ45连接器电路设计的基本原理&…

冠赢互娱基于 OpenKrusieGame 实现游戏云原生架构升级

作者&#xff1a;力铭 关于冠赢互娱 冠赢互娱是一家集手游、网游、VR 游戏等研发、发行于一体的游戏公司&#xff0c;旗下官方正版授权的传奇类手游——《仙境传奇》系列深受广大玩家们的喜爱。基于多年 MMORPG 类型游戏的自研与运营经验&#xff0c;冠赢互娱正式推出了 2D M…

【数据结构】快速排序(4种方式实现)

前言&#xff1a;前面我们学习了几种相对比较简单的排序&#xff0c;今天我们要一起学习的是快速排序&#xff0c;我们将通过四种方式来模拟实现快排。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:数据结构 &#x1f448; &#x1f4a…

OpenCV(Python)基础—9小时入门版

OpenCV(Python)基础—9小时入门版 # # Author : Mikigo # Time : 2021/12/1 # 一、一句话简介 OpenCV (Open Source Computer Vision Library) 是用 C 语言编写&#xff0c;提供 Python、Java 等语言 API的一个开源计算机视觉库。 二、安装 1、Debian 系使用 apt 安装 O…

Innosetup 调用c# dll 和 c# dll的函数导出

目标需求&#xff0c;基于现在安装包脚本。需要在用户安装和卸载成功时。进行数据记录,所以需要调用c#dll 主要涉及到的知识点 需要理解脚本的文件使用机制脚本的文件dll加载&#xff0c;和dll的调用c# dll的制作&#xff0c;和工具的使用 下面具体介绍 脚本的文件dll加载&…

OSPF的DR与BDR-新版(16)

目录 整体拓扑 操作步骤 1.基本配置 1.1 配置R1的IP 1.2 配置R2的IP 1.3 配置R3的IP 1.4 配置R4的IP 1.5 检测R1与R4连通性 1.6 检测R1与R2连通性 1.7 检测R1与R3连通性 2.搭建基本的OSPF网络 2.1 配置R1 OSPF 2.2 配置R2 OSPF 2.3 配置R3 OSPF 2.4 配置R4 OSPF…

八皇后问题(C语言)

了解题意 在一个8x8的棋盘上放置8个皇后&#xff0c;使得任何两个皇后都不能处于同一行、同一列或同一斜线上。问有多少种方法可以放置这8个皇后&#xff1f; 解决这个问题的目标是找到所有符合要求的皇后摆放方式&#xff0c;通常使用回溯算法来求解。回溯算法会尝试所有可能…

数据结构之树 --- 二叉树 < 堆 >

目录 1. 树是什么&#xff1f; 1.1 树的表示 2. 二叉树 2.1 二叉树的概念 2.2 特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储结构 2.4.1 顺序存储 2.4.2 链式存储 3. 二叉树顺序结构的实现 <堆> 3.1 二叉树的顺序结构 ​编辑 3.2 堆的概念及结构 ​编辑…

Appium+python自动化(八)- 初识琵琶女Appium(千呼万唤始出来,犹抱琵琶半遮面)- 下(超详解)

简介 通过上一篇宏哥给各位小伙伴们的引荐&#xff0c;大家移动对这位美女有了深刻的认识&#xff0c;而且她那高超的技艺和婀娜的身姿久久地浮现在你的脑海里&#xff0c;是不是这样呢&#xff1f;&#xff1f;&#xff1f;不要害羞直接告诉宏哥&#xff1a;是&#xff0c;就对…

C单片机数据类型与格式化

C语言数据类型 关键字位数表示范围stdint关键字ST关键字举例unsigned char80 ~ 255uint8_tu8u8 data 128char8-128 ~ 127int8_ts8s8 temperature 25unsigned short160 ~ 65535uint16_tu16u16 counter 5000short16-32768 ~ 32767int16_ts16s16 position 32767unsigned int3…

基于YOLOv5+Deepsort 的PCB缺陷检测及计数系统

背景&#xff1a; PCB&#xff08;Printed Circuit Board&#xff0c;印刷电路板&#xff09;是电子产品中至关重要的组成部分&#xff0c;它承载着电子元器件并提供电气连接。在PCB制造过程中&#xff0c;由于工艺、材料或设备等因素的影响&#xff0c;可能会引入各种缺陷&am…