【上海大学计算机组成原理实验报告】一、数据传送实验

本文主要是介绍【上海大学计算机组成原理实验报告】一、数据传送实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、实验目的

  1. 了解实验仪器数据总线的控制方式。
  2. 掌握数据传送的基本原理。
  3. 掌握各寄存器的结构、工作原理及其控制方法。

二、实验原理

根据实验指导书的相关内容,数据输入到寄存器的过程是先通过指令选择源和目标,再通过数据总线来传送数据,这其中涉及到选择寄存器、准备数据、确定指令、执行指令等过程。

三、实验内容

实验任务一:将58H写入A寄存器

(1) 实验步骤

  1. 关闭电源,用8位扁平线把J3和J1连接,而后用不同颜色的导线分别把K2和AEN、K1和EX0、K0和EX1连接。
  2. 将K15-K0全部置1,K23~K26全部置0,检查所有连线和电键位置无误。
  3. 注释仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。
  4. 设置实验箱进入手动模式。
  5. 设置K2K1K0=010,K23~K16=0101 1000。
  6. 注视R2及DBUS的发光管,按下STEP键,记录实验过程和现象。
  7. 放开STEP键,记录实验过程和现象。

(2) 实验现象

按下STEP键时,观察到CK灯灭,A旁的灯亮;放开STEP键时,观察到CK灯亮,A寄存器显示58。

(3) 实验结论

通过一系列正确的操作,我们成功地将数据58H写入到了A寄存器中。

实验任务二:将6BH写入W寄存器

(1) 实验步骤

  1. 将K2和WEN、K1和EX2、K0和EX3连接。
  2. 设置K2K1K0=010,K23~K16=0110 1011。
  3. 重复实验一的实验步骤,记录实验过程和现象。

(2) 实验现象

按下STEP键时,观察到CK灯灭,W旁的灯亮;放开STEP键时,观察到CK灯亮,W寄存器显示6B。

(3) 实验结论

通过一系列正确的操作,我们成功地将数据6BH写入到了W寄存器中。

实验任务三:将C3H写入R1寄存器

(1) 实验步骤

  1. 将K2和PWR、K1和SB、K0和SA连接。
  2. 设置K2K1K0=010,K23~K16=1100 0011。
  3. 重复实验一的实验步骤,记录实验过程和现象。

(2) 实验现象

按下STEP键时,观察到CK灯灭,R1旁的灯亮;放开STEP键时,观察到CK灯亮,R1寄存器显示C3。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(3) 实验结论

通过一系列正确的操作,我们成功地将数据C3H写入到了R1寄存器中。

四、建议

  1. 可以引入一些错误和异常情况,以便学会如何处理数据传送中的问题。
  2. 可以采用小组形式完成实验,促进团队合作和互助学习。

五、体会

  1. 数据的传送和存储计算机最基本且重要的操作之一。通过此次实验,为后续进行更复杂的实验打下了扎实基础。
  2. 寄存器在数字电路中的作用变得更加清晰。寄存器不仅仅是存储数据的地方,还涉及到时序控制、时钟信号的作用,以及如何与其他部分协同工作。
  3. 实验中可能遇到一些问题,例如时钟信号的不同步、数据格式错误等。通过观察和分析解决这些问题,可以进一步提高我们的实践能力。

六、思考题

如何将R2中的数据送至A寄存器中?

数据送入寄存器和寄存器输出到数据总线的控制信号分别对应数据的输入和输出阶段。当数据送入寄存器时,涉及到的关键信号是“写入”信号。当寄存器中的数据要输出到数据总线时,涉及到的关键信号是“使能”信号。写入信号和使能信号都是控制信号,但它们在不同的阶段起作用。

这篇关于【上海大学计算机组成原理实验报告】一、数据传送实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查