【机组】算术逻辑运算单元实验的解密与实战

news2024/10/5 19:10:32

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《机组 | 模块单元实验》
⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。

目录

🌺 一、 实验目的

🌼 二、 实验内容

🌻 三、 实验详情

实验1:不带进位位逻辑或运算实验

实验2:不带进位位加法运算实验

🍀 四、 实验步骤

实验1  不带进位位逻辑或运算实验

实验2  不带进位位加法运算实验

🌿 五、 实验结果

🌷 六、 实验体会

📝总结


🌺一、 实验目的

  1. 掌握简单运算器的数据传输方式;
  2. 掌握74LS181的功能与应用;
  3. 了解算术逻辑运算单元的运行过程。

🌼二、 实验内容

  1. 完成不带进位的位算术;
  2. 完成逻辑运算实验。

🌻三、 实验详情

实验1:不带进位位逻辑或运算实验

把ALU-IN(8芯的盒型插座)与右板上的二进制开关单元中J01插座相连(对应二进制开关H16~H23),把ALU-OUT(8芯的盒型插座)与数据总线上的DJ2相连。

把D1CK和D2CK用连线连到脉冲单元的PLS1上,把EDR1、EDR2、ALU-O、S0、S1、S2、S3、CN、M接入二进制开关(请按下表接线)。

控制信号

接入开关位号

D1CK

PLS1 

D2CK

PLS1 

EDR1

H8   

EDR2

H7   

ALU-O

H6   

CN

H5    

M

H4    

S3

H3    

S2

H2   

S1

H1   

S0

H0   

接线图示:

● 按启停单元中的运行按钮,使实验平台处于运行状态。

● 二进制开关H16~H23作为数据输入,置33H(对应开关如下表)。

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

1

1

0

0

1

1

33H

置各控制信号如下:

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

0

1

0

1

1

1

1

1

0

● 按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把33H打入DR1数据锁存器,通过逻辑笔或示波器来测量确定DR1寄存器(74LS374)的输出端,检验数据是否进入DR1中。置S3、S2、S1、S0、M为11101时,总线指示灯显示DRl中的数,而置成10010时总线指示灯显示DR2中的数。

● 二进制开关H16~H23作为数据输入,置55H(对应开关如下表)。

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

0

1

0

1

0

1

55H

置各控制信号如下:

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

1

0

0

1

1

1

1

1

0

● 按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿的脉冲,把55H打入DR2数据锁存器。

● 经过74LS181的计算,把运算结果(F=A或B)输出到数据总线上,数据总线上的LED显示灯IDB0~IDB7应该显示为77H。


实验2:不带进位位加法运算实验

● 二进制开关H16~H23作为数据输入,置33H(对应开关如下表)。

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

1

1

0

0

1

1

33H

置各控制信号如下:

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

0

1

0

1

0

1

0

0

1

● 按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把33H打入DR1数据锁存器,通过逻辑笔或示波器来测量确定DR1寄存器(74LS374)的输出端,检验数据是否进入DR1中。置S3、S2、S1、S0、M为11101时,总线指示灯显示DRl中的数,而置成10010时总线指示灯显示DR2中的数。

● 二进制开关H16~H23作为数据输入,置55H(对应开关如下表)。

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

0

1

0

1

0

1

55H

置各控制信号如下:

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

1

0

0

1

0

1

0

0

1

● 按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿,把55H打入DR2数据锁存器。

● 经过74LS181的计算,把运算结果(F=A加B)输出到数据总线上,数据总线上的LED显示灯IDB0~IDB7应该显示为88H。

实验思考

验证74LS181的算术运算和逻辑运算,在保持DR1=65H、DR2=A7H时,改变运算器的功能设置,观察运算器的输出,填写以下表格来进行分析和比较。

DR1

DR2

S3

S2

S1

S0

M=0 (算术运算)

M=1

逻辑运算

CN=1

CN=0

65

A7

0

0

0

0

F=

F=

F=

65

A7

0

0

0

1

F=

F=

F=

65

A7

0

0

1

0

F=

F=

F=

65

A7

0

0

1

1

F=

F=

F=

65

A7

0

1

0

0

F=

F=

F=

65

A7

0

1

0

1

F=

F=

F=

65

A7

0

1

1

0

F=

F=

F=

65

A7

0

1

1

1

F=

F=

F=

65

A7

1

0

0

0

F=

F=

F=

65

A7

1

0

0

1

F=

F=

F=

65

A7

1

0

1

0

F=

F=

F=

65

A7

1

0

1

1

F=

F=

F=

65

A7

1

1

0

0

F=

F=

F=

65

A7

1

1

0

1

F=

F=

F=

65

A7

1

1

1

0

F=

F=

F=

65

A7

1

1

1

1

F=

F=

F=

74LS181的逻辑

方式

M=1逻辑运算

M=0算术运算

S3 S2 S1 S0

逻辑运算

CN=1(无进位)

CN=0(有进位)

0000

F=/A

F=A

F=A加1

0001

F=/(A+B)

F=A+B

F=(A+B)加1

0010

F=/A B

F=A+/B

F=(A+/B)加1

0011

F=0

F=减1(2的补)

F=0

0100

F=/(AB)

F=A加A/B

F=A加A/B加1

0101

F=/B

F=(A+B)加A/B

F=(A+B)加A/B加1

0110

F=A⊕B

F=A减B减1

F=A减B

0111

F=A /B

F=A/B减1

F=A/B

1000

F=/A+B

F=A 加AB

F=A 加AB加 1

1001

F= /(A⊕B )

F=A加B

F=A加B加1

1010

F=B

F=(A+/B)加AB

F=(A+/B)加AB加1

1011

F=AB

F=AB减1

F=AB

1100

F=1

F=A加 A

F=A加 A 加1

1101

F=A+/B

F=(A+B) 加 A

F=(A+B) 加 A 加1

1110

F=A+B

F=(A+/B)加A

F=(A+/B)加A加1

1111

F=A

F=A减1

F=A


🍀四、 实验步骤

实验1  不带进位位逻辑或运算实验

(1)step1:把ALU-IN、ALU-OUT分别与二进制开关单元JO1和总线DJ2相连,并把D1CK和D2CK用连接线到脉冲单元的PLS1上,把  EDR1、EDR2、ALU-O、S0、S1、S2、S3、CN、M接入二进制开关,如表1。

表1

控制信号

接入开关位号

D1CK

                     PLS1                                                                    孔

D2CK

                     PLS1                                                                    孔

EDR1

                     H8                                                                         孔

EDR2

                     H7                                                                         孔

ALU-O

                     H6                                                                         孔

CN

                     H5                                                                         孔

M

                     H4                                                                         孔

S3

                     H3                                                                         孔

S2

                     H2                                                                         孔

S1

                     H1                                                                         孔

S0

                     H0                                                                         孔

(2)step2:按启动单元中的运行按钮,让实验机箱处于运作状态。

(3)step3:二进制开关H16至H23作为数据输入,置33H(对应开关如下表2)。

表2

H8

H7

H6

H5

H4

H3

H2

H1

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

1

1

0

0

1

1

33H

置各控制信号如下表3.

表3

H23

H23

H23

H23

H23

H23

H23

H23

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

0

1

0

1

1

1

1

1

0

(4)step4:按下PLS1脉冲按键,在D1CK产生上升沿,把33H打入DR1数据锁存器.

(5)step5:二进制开关H16至H23作为数据输入,置55H(对应开关如下表)。

表4

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

0

1

0

1

0

1

55H

置各控制信号如下表3.

表5

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

1

0

0

1

1

1

1

1

0

(6)step6:按下PLS1脉冲按键,在D1CK产生上升沿,把55H打入DR2数据锁存器.经过74LS181计算,运算结果在数据总线上的LED显示灯应该为77H。


实验2  不带进位位加法运算实验

(1)step1:二进制开关H16至H23作为数据输入,置33H(如下表)。

表6

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

1

1

0

0

1

1

33H

置各控制信号如下表7.

表7

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

0

1

0

1

0

1

0

0

1

(2)step2:按下PLS1脉冲按键,在D2CK产生上升沿,把55H打入DR2数据锁存器. 经过74LS181计算,运算结果在数据总线上的LED显示灯应该为88H。


🌿五、 实验结果


🌷六、 实验体会

  1. 通过在74LS181进行逻辑或运算,掌握了逻辑门电路实现与二进制输入关联的过程,加深了74LS181逻辑或运算的理解。
  2. 通过在不带进位位逻辑或运算实验的基础上完成了不带进位位加法运算实验,在显示数值变化可通过数值的二进制符对应元素相加进而求解显示器数值变化的原因。

📝总结

计算机组成原理领域就像一片广袤而未被完全探索的技术海洋,邀请你勇敢踏足数字世界和计算机组成原理的神秘领域。这是一场结合创造力和技术挑战的学习之旅,从基础概念到硬件实现,逐步揭示更深层次的计算机结构、指令集架构和系统设计的奥秘。渴望挑战计算机组成原理的学习路径和掌握计算机硬件的技能?不妨点击下方链接,一同探讨更多数字技术的奇迹吧。我们推出了引领趋势的💻 计算机组成原理专栏:《机组 | 模块单元实验》,旨在深度探索计算机系统技术的实际应用和创新。🌐💡

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

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

相关文章

Java NIO (二)NIO Buffer类的重要方法

1 allocate()方法 在使用Buffer实例前,我们需要先获取Buffer子类的实例对象,并且分配内存空间。需要获取一个Buffer实例对象时,并不是使用子类的构造器来创建,而是调用子类的allocate()方法。 public class AllocateTest {static…

3.goLand基础语法

目录 概述语法for常量与变量数组切片 slice切片问题问题1问题2 Make 和 New结构体和指针结构体标签 结束 概述 从 java 转来学 go &#xff0c;在此记录&#xff0c;方便以后翻阅。 语法 for package mainimport "fmt"func main() {for i : 0; i < 3; i {fmt.…

关于java的封装

关于java的封装 我们在前面的文章中&#xff0c;了解到了类和对象的知识&#xff0c;以及做了创建对象的时候对内存的分析&#xff0c;我们本篇文章来了解一下面向对象的三大基本特征之一&#xff0c;封装&#x1f600;。 一、初识封装 封装就好比&#xff0c;我们把一些物品…

如何在 Python3 中使用变量

介绍 变量是一个重要的编程概念&#xff0c;值得掌握。它们本质上是在程序中用于表示值的符号。 本教程将涵盖一些变量基础知识&#xff0c;以及如何在您创建的 Python 3 程序中最好地使用它们。 理解变量 从技术角度来说&#xff0c;变量是将存储位置分配给与符号名称或标…

YOLOv8改进 | 主干篇 | 低照度增强网络PE-YOLO改进主干(改进暗光条件下的物体检测模型)

一、本文介绍 本文给大家带来的改进机制是低照度图像增强网络PE-YOLO中的PENet,PENet通过拉普拉斯金字塔将图像分解成多个分辨率的组件,增强图像细节和低频信息。它包括一个细节处理模块(DPM),用于通过上下文分支和边缘分支增强图像细节,以及一个低频增强滤波器(LEF),…

<软考高项备考>《论文专题 - 71 风险管理(3)》

3 过程2-识别风险 3.1 问题 4W1H过程做什么是识别单个项目风险以及整体项目风险的来源&#xff0c;并记录风险特征的过程。作用:1、记录现有的单个项目风险&#xff0c;以及整体项目风险的来源:2、汇总相关信息&#xff0c;以便项目团队能够恰当地应对已识别的风险。为什么做…

重温经典struts1之DispatchAction完成一个Action中编写多个方法接收页面的增删改查请求

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 之前我们学习的Action类中&#xff0c;编写一个方法&#xff0c;重写父类的execute方法&#xff0c;接收页面发来的请求&#xff0c;而且&#xff0c;一个action中只能…

Jetson AGX Orin安装archiconda、Pytorch

想在Jetson AGX Orin创建一个虚拟环境&#xff0c;然后安装pytorch&#xff0c;过程中遇到了很多的坑&#xff0c;这篇文章主要用于记录过程~因为Orin本身是Arm架构&#xff0c;X86架构可以装Anaconda&#xff0c;对于ARM要装archiconda。 1.安装archiconda 1.1确定操作系统架…

FlinkSQL【分组聚合-多维分析-性能调优】应用实例分析

FlinkSQL处理如下实时数据需求&#xff1a; 实时聚合不同 类型/账号/发布时间 的各个指标数据&#xff0c;比如&#xff1a;初始化/初始化后删除/初始化后取消/推送/成功/失败 的指标数据。要求实时产出指标数据&#xff0c;数据源是mysql cdc binlog数据。 代码实例 --SET t…

【GCC】6 接收端实现:周期构造RTCP反馈包

基于m98代码。GCC涉及的代码,可能位于:webrtc/modules/remote_bitrate_estimator webrtc/modules/congestion_controller webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc webrtc 之 RemoteEstimatorProxy 对 remote_bitrate_estimator 的 RemoteEstimato…

java注释详解

1、Java 中的注释详解 概括&#xff1a;注释是增加一些说明&#xff0c;在编译后&#xff0c;注释会被抹掉&#xff0c;不起任何租用&#xff0c;只在书写代码的时候&#xff0c;对代码进行的一个说明 不管是那种编程语言&#xff0c; 代码的注释都是必备的语法功能&#xff…

初识 Elasticsearch 应用知识,一文读懂 Elasticsearch 知识文集(5)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

GitLab Runner 实现项目 CI/CD 发布

Gitlab Runner简介 Gitlab实现CICD的方式有很多&#xff0c;比如通过Jenkins&#xff0c;通过Gitlab Runner等&#xff0c;今天主要介绍后者。Gitlab在安装的时候&#xff0c;就默认包含了Gitlab CI的能力&#xff0c;但是该能力只是用于协调作业&#xff0c;并不能真的去执行…

Vulnhub-tr0ll-1

一、信息收集 端口收集 PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.2 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rwxrwxrwx 1 1000 0 8068 Aug 09 2014 lol.pcap [NSE: writeable] | ftp-syst: | STAT: | FTP …

STM32F103标准外设库——GPIO 输入、输出 (五)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

Qt第二周周二作业

代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();void paintEvent(…

苹果MAC怎么清理内存?苹果MAC清理内存的方法

很多使用苹果电脑的用户都喜欢在同时运行多个软件&#xff0c;不过这样会导致在运行一些大型软件的时候出现不必要的卡顿现象&#xff0c;这时候我们就可以去清理下内存&#xff0c;不过很多人可能并不知道正确的清内存方式&#xff0c;下面就和小编一起来看看吧。 苹果MAC清理…

微信小程序防止截屏录屏

一、使用css添加水印 使用微信小程序原生的view和css给屏幕添加水印这样可以防止用户将小程序内的隐私数据进行截图或者录屏分享导致信息泄露&#xff0c;给小程序添加一个水印浮层。这样即使被截图或者拍照&#xff0c;也能轻松地确定泄露的源头。效果图如下&#xff1a; 代码…

从云计算到物联网:虚拟化技术的演变与嵌入式系统的融合

文章目录 一、硬件性能提升&#xff1a;摩尔定律与嵌入式虚拟化二、CPU多核技术&#xff1a;为嵌入式虚拟化提供支持三、业务负载整合&#xff1a;嵌入式虚拟化的核心需求四、降低硬件成本&#xff1a;虚拟化技术的经济效益五、软件重用与移植&#xff1a;虚拟化技术的优势六、…

计算机网络-甘晴void学习笔记

计算机网络 计科210X 甘晴void 202108010XXX 文章目录 计算机网络期中复习1计算机网络和因特网1.1 因特网1.2 网络边缘1.3 网络核心1.4 分组交换的时延/丢包和吞吐量1.5 协议层次与服务模型 2 应用层原理2.1 应用层协议原理2.2 Web和Http2.3 因特网中的电子邮件2.4 DNS&#x…