【计算机组成原理实验】——运算器组成实验

计组TEC4实验——运算器组成实验

1. 实验目的

(1)掌握算术逻辑运算加、减、乘、与的工作原理。

(2) 熟悉简单运算器的数据传送通路。

(3) 验证实验台运算器的8位加、减、与、直通功能。

(4) 验证实验台的4位乘4位功能。

(5) 按给定数据,完成几种指定的算术和逻辑运算。

2. 实验平台

TEC-4计算机组成原理实验系统

8 位计算机模型实验系统,采用了数据总线和指令总线双总线机制

3. 实验准备——接线

在这里插入图片描述

4. 实验内容 1

  • 将 01010101B 置入 DR1

  • 将 10101010B 置入 DR2

在这里插入图片描述

  • 进行直通运算

    在这里插入图片描述

  • 进行加法运算DR1+DR2=11111111B

    在这里插入图片描述

5. 实验内容2

  • DRl=01100011B,DR2=10110100B

在这里插入图片描述

  • 正确选择S2、S1、S0,依次进行加、减、与、直通,乘实验

    +

    在这里插入图片描述

    -

    在这里插入图片描述

    *

    在这里插入图片描述

    &

在这里插入图片描述

直通

在这里插入图片描述

  • 对结果(数据和进位)进行分析

在这里插入图片描述

6. 实验内容3

  • 将A、B中的内容互换。

  • DRl=01100011B,DR2=10110100B则交换后为DRl=10110100B;DR2=01100011B

    实验思路

    首先由ALU求出A+B,放入DR2中,此时DR1和DR2分别存放B和A+B;接着用ALU求出(A+B)-B=A,放入DR1中,此时DR1和DR2分别存放A和A+B;最后用ALU求出(A+B)-A=B,放入DR2中,此时DR1和DR2分别存放A和B,交换完成。

    实验过程截图

    1. 将A+B 放入 DR2 中

    在这里插入图片描述

  1. 求出(A+B)-B=A,放入DR1中

在这里插入图片描述

  1. 求出(A+B)-A=B,放入DR2中

在这里插入图片描述

如图所示,交换完成!

7. 回答问题

  1. 在实验中, 在置数给DR1时,SW_BUS#若为高,会出现什麽现象?

    • 答:数据可能不会被写入到DR1中,因为写使能信号未被激活。
  2. 在给DR2置数时,应注意什麽问题?

    • 答:应确保DR2的写使能信号有效(如SW_BUS#为低电平),并且输入的数据正确无误,同时注意时序,不要在时钟边沿到来之前改变数据或控制信号。
  3. DR2\ DR1哪个是A,哪个是B?

    • 答:A是DR2,B是DR1。
  4. 在给寄存器置数时,M1=0是否可以?

    • 答:M1用于选择DR1的数据输入源。M1=1时,DR1选择D1—A1作为数据输入端;M1=0时,DR1选择D0—A0作为数据输入端。M2用于选择DR2的数据输入源。M2=1时,DR2选择D1—A1作为数据输入端;M2=0时,DR2选择D0—A0作为数据输入端。因此我认为应该是OK的。
  5. 请说明如何控制ALU完成不同地运算?

    • 答:控制ALU完成不同运算,通过一组控制信号**(S2、S1、S0)**实现。这些信号决定了ALU内部逻辑电路的配置,以执行加法、减法、逻辑与、逻辑或、逻辑异或、直通或者乘法等运算。根据实验文档中的操作,选择正确的控制信号组合,即可使ALU执行所需的运算。
  6. 在置数阶段,若ALU_BUS=1,而SW_BUS#=0则会出现什麽问题?

    • 答:在置数阶段,ALU_BUS=1表示数据总线上有数据,而SW_BUS#=0意味着写入寄存器的控制信号无效,这样会导致虽然数据总线上有数据,但是数据无法被正确写入到寄存器中,因为写入操作没有被激活
  1. 这些控制信号如何产生的?(人充当控制器)信号有时序吗?
    • 答:实验中,控制信号是由人通过开关手动设置的。有时序,且这些信号的时序非常重要,必须按照特定的顺序和时钟周期给出,以确保数据处理的正确性和时序逻辑的正确执行。
  1. 什么是数据通路?

    • 答:数据通路是指在计算机或数字系统中,数据从一个组件传输到另一个组件的路径。它包括寄存器、算术逻辑单元(ALU)、多路复用器、解复用器、各种逻辑门等,这些组件协同工作,实现数据的流动和处理。
  2. 操作控制的顺序影响结果吗〉为什么?

    • 答:当然会,因为不同的控制序列会激活不同的运算逻辑,导致不同的数据处理流程和结果。
  3. 如果要求设计出8位的算术逻辑运算单元,请说出最简单的思路。

    • 答:如图:

      在这里插入图片描述

可以使用两个ALU,以便处理进位。
图片来源:CSDN博客:运算器实验——8位算术逻辑运算实验


实验结束,本文收录于计算机组成原理专栏下
点赞关注收藏,获取更多干货~

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

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

相关文章

SerDes介绍以及原语使用介绍(4)ISERDESE2原语仿真

文章目录 前言一、iserdese2_module模块二、oserdese2_module模块三、顶层模块四、仿真结果分析 前言 上文详细介绍了ISERDESE2原语的使用,本文根据仿真对ISERDESE2原语的使用进一步加深印象。在仿真时,与OSERDESE进行回环。 一、iserdese2_module模块…

昇思MindSpore学习笔记4--数据集 Dataset

昇思MindSpore学习笔记4--数据集 Dataset 摘要: 昇思MindSpore数据集Dataset的加载、数据集常见操作和自定义数据集方法。 一、数据集 Dataset概念 MindSpore数据引擎基于Pipeline 数据预处理相关模块: 数据集Dataset加载原始数据,支持文本…

移动端H5应用,使用了postcss-px-to-viewport插件,750设计稿兼容Vant框架

目前在搞一个移动端的H5项目,使用的是Vue3Vant框架。设计稿是750的,而且使用了postcss-px-to-viewport。所以发现使用Vant框架的时候,发现有点问题,好像缩小了,后来百度了一下,是需要设置portcss.config.js…

vue components

vue components intro 组件是带有名称的可复用实例。 因为组件是可复用的组件实例,所以它们与根实例接收相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。 组成 props: 组件的attributes,可以传任意类型…

大创项目推荐 题目:基于机器视觉的图像矫正 (以车牌识别为例) - 图像畸变校正

文章目录 0 简介1 思路简介1.1 车牌定位1.2 畸变校正 2 代码实现2.1 车牌定位2.1.1 通过颜色特征选定可疑区域2.1.2 寻找车牌外围轮廓2.1.3 车牌区域定位 2.2 畸变校正2.2.1 畸变后车牌顶点定位2.2.2 校正 7 最后 0 简介 🔥 优质竞赛项目系列,今天要分享…

题目的起名

整个经济社会描绘为无数个交织的方程组。机场航班的起降时间、物流的路径规划、金属冶炼的原料配比、工厂店铺的选址……”而这些方程组的价值在于,“为了实现经济学最简单而又最权威的目标——对稀缺资源进行最佳利用,必须快速求出这些方程组的最优解。…

Leetcode3192. 使二进制数组全部等于 1 的最少操作次数 II

Every day a Leetcode 题目来源:3192. 使二进制数组全部等于 1 的最少操作次数 II 解法1:遍历 由于 nums[i] 会被其左侧元素的操作影响,所以我们先从最左边的 nums[0] 开始思考。 分类讨论: 如果 nums[0]1,无需反…

debian 安装mongodb

安装所需工具 apt install gnupg curl 添加公钥 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 添加源 echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt…

amis-editor 注册自定义组件

建议先将amis文档从头到尾,仔细看一遍。 参考:amis - 低代码前端框架 amis 的渲染过程是将 json 转成对应的 React 组件。先通过 json 的 type 找到对应的 Component,然后把其他属性作为 props 传递过去完成渲染。 import * as React from …

Linux开发讲课17--- 在shell脚本中,如何将一个命令存储在一个变量中

问: 将一个命令保存到一个变量中,以便稍后再使用(不是命令的输出,而是命令本身)。 有一个简单的脚本如下: command"ls"; echo "Command: $command"; #Output is: Command: ls b$com…

c++ 给定一个非常巨大的数组,如何找到它的中值

快速选择算法&#xff08;最优解&#xff09; #include <iostream> #include <vector> #include <algorithm>using namespace std;class Solution { private:// 快速选择算法中的分区函数int partition(vector<int>& nums, int left, int right)…

逆向学习汇编篇:参数传递与返回地址的使用

本节课在线学习视频&#xff08;网盘地址&#xff0c;保存后即可免费观看&#xff09;&#xff1a; ​​https://pan.quark.cn/s/b5b046015da2​​ 在汇编语言中&#xff0c;函数调用和参数传递是编程的基础组成部分。了解如何在汇编中传递参数以及如何处理返回地址对于逆向工…

LeetCode 78. 子集

更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡&#xff0c;更多解法等你一起来参与哦&#xff01; LeetCode 78. 子集&#xff0c;难度中等。 迭代 解题思路&#xff1a; 初始化结果集 result&#xff0c;其中包含一个空集 []&#xff1b;遍历数…

flex讲解

随着前端技术的不断发展和更新&#xff0c;flex布局成为前端布局的主流。但是仍然有很多前端新手搞不懂flex到底怎么用&#xff01;&#xff01;&#xff01;今天我们就来好好讲讲flex布局 老规矩先上定义 什么是flex布局 布局的传统解决方案&#xff0c;基于盒状模型&#x…

郑州高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

随着制造业的转型升级&#xff0c;智能化、信息化已成为制造业发展的必然趋势。数字孪生技术作为智能制造领域的关键技术之一&#xff0c;它通过构建与实体系统相对应的虚拟模型&#xff0c;实现对实体系统的实时监测、预测和优化&#xff0c;为制造业的智能化、信息化提供了强…

LitelDE安装---附带每一步截图以及测试

LiteIDE LiteIDE 是一款专为Go语言开发而设计的开源、跨平台、轻量级集成开发环境&#xff08;IDE&#xff09;&#xff0c;基于 Qt 开发&#xff08;一个跨平台的 C 框架&#xff09;&#xff0c;支持 Windows、Linux 和 Mac OS X 平台。LiteIDE 的第一个版本发布于 2011 年 …

PTA-线性表实验(JAVA)

题目1&#xff1a;Josephus环的问题及算法 【实验内容】 编程实现如下功能&#xff1a; 题意说明&#xff1a;古代某法官要判决n个犯人的死刑&#xff0c;他有一条荒唐的法律&#xff0c;将犯人站成一个圆圈&#xff0c;从第start个犯人开始数起&#xff0c;每数到第distance的…

【Spring Boot AOP通知顺序】

文章目录 一、Spring Boot AOP简介二、通知顺序1. 通知类型及其顺序示例代码 2. 控制通知顺序示例代码 一、Spring Boot AOP简介 AOP&#xff08;Aspect-Oriented Programming&#xff0c;面向切面编程&#xff09;是对OOP&#xff08;Object-Oriented Programming&#xff0c…

使用Dockerfile构建镜像 使用docker-compose 一键部署IM项目

本文讲解&#xff1a;使用Dockerfile构建镜像 & 使用docker-compose 一键部署IM项目。 im项目地址&#xff1a;xzll-im &#xff0c;欢迎志同道合的开发者 一起 维护&#xff0c;学习&#xff0c;欢迎star &#x1f604; 1、Dockerfile编写与镜像构建&容器运行 Dockerf…

Spring Boot中使用Thymeleaf进行页面渲染

Spring Boot中使用Thymeleaf进行页面渲染 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Spring Boot应用中使用Thymeleaf模板引擎进行页面…