【组成原理】计算机硬件设计——ALU

2bit 复用器

A B C D 为该元件的4个输入口,假设 输入口都是 4位,故 数据输入范围 是 0~ 16.

Sel是2位选择开关,可以标识 0,1,2,3,这样可以实现控制4个输入的选择。

元件外观:

二、加法器:

半加器:

A B为 一位输入,S 为结果输出 Cout是进位输出

二进制一位相加的逻辑实际上就是 异或的逻辑。

两数相同时,结果为0,两数相异时,结果为1,两数同为1时,产生进位。

所以,半加器的S结果,使用异或门,完成加法功能,使用与门,当A 和B 同时为1,产生进位。

1位全加器:

实现二进制中一位的加法操作,包括借位和进位

A,B 是要实现相加的两个数,他们的计算结果是 S,他们的进位结果是 第一个加法器的Cout,

在实际计算时,两数相加前,可能会有上一位的进位参与,如此电路中的Cin.

本质上 是(Cin ,A ,B )三个数进行相加运算,有以下几种情况 :

1,1,1

1,1,0

1,0,1

0,0,1

0,1,0

0,0,0

可以发现,没有出现重复进位的情况,累加的过程中,两种进位产生的情况(Cin ,S(A+B)) =(1,1),此时进位由第二个加法器产生。

(Cin ,S(A+B))=(1,0),若A,B都为1,则进位由第一个加法器产生,

故两种进位之间是 或 的逻辑关系

图例:情况1  (Cin ,S(A+B)) =(1,1)

图例:情况2 Cin ,S(A+B)) =(1,0)     

封装组件外观:

4位加法器

进位1 + 10+3  =14

溢出进位:

封装组件外观:

三、减法器

半减器

一位减法器

分析:

一位减法中,要区分 减数 和被减数,即有顺序性。其次,要考虑 【两种借位的情况】

1、当前计算位 是否不够减,向高位借位,在半减器中,表现为C

2、当前计算位,是否被上一位借位,表现为 一位减法器电路中的 Cin ,注意,它应该是一个 减数

真值表如下:

可以举例子用  (1,0,0 )— (0,1,1)测试上述电路,在连续发生两位借位的情况

在第二位计算时,低位向此位 借位,所以Cin =1, 本位被减数A为0,所以又向高位发起借位,所以C =1, 借位之后,A =1,B =1,所以结果 S =0.

即  输入 A=0,B =1,Cin =1 ,输出 S  =0, C =1

验证如下:

4bit减法器

锁存器和触发器

SR锁存器

结构:双与非门  或者 双或非门 

锁存器 的输出,只有一个是高电平的时候,才有意义。

当前状态,复位,和置为 都是 0,输出结果 都是高电平,这种情况下电路无意义

当置位开关 S 高电平时  :

此时 数据 被锁存在了 Q'中,按下复位R 开关,输出不会发生变化

同理:当置位开关先被按下,数据被锁存到Q中,按下S,电路输出不会改变

真值表:

总结 :Q,Q 皆为高电平时,电路无效,此时 S 和 R 都是低电平。

初始状态下,S 和 Q 应该都要上电,Q' Q 必然有一个是高电平的

En开关锁存器

En 开关打开,开始工作,初始状态下 S 和R 都是高电平。

带EN开关的 D锁存器

这个电路表明了锁存器的使用逻辑,置位 S 和复位 R 两者的使用 是互斥的(这里用了D 开关和一个非门,实现互斥),右边的基本SR锁存电路可以看到 S 和R 都是高电平,即 初始状态。

,其特性为:当en为高电平,Q和D的输入 保持一致;当en为低电平,Q保持之前状态不变,从而起到存储作用。

我们来看看 它的工作效果:

初始状态:

当Input 有数据到来时:

按钮被按下:

即使Input 电平消失,数据仍然存在。此时 在Input低电平的状态时,再次按下button,数据被擦除

问题:当en为1时,D的输入直接影响Q的输出,为了提高触发器的可靠性,增强抗 干扰能力,希望触发器的次态仅仅取决于en的下降沿(或上升沿)到来时的输入信号状态。D 触发器可以解决以上问题。

D锁存器尽管可以起到保存数据的作用,但是当en信号为1时,D输入和Q输出相当 于是联通的,此时如果D信号有波动,Q会跟随波动。我们希望能得到更稳定的输出Q, 不希望en高电平时Q随D波动,而是希望Q只在en信号由0变成1的一瞬间随D输入变 化,其他时间都保持不变。看下面的电路图

图中,有两个D锁存器,Q的值,不会受到 En开关的开启或关闭影响

En关闭时,D  =1,Q =0

En关闭时 D=0,Q =0

En开启时,D =0 Q=0

En开启时 D=1,Q =0

只有在En处于上升沿信号触发时,2号锁存器才放行,把D的数据存入 Q,分析如下:

我们把注意力集中在这一区域:

初始状态

D=1

当En 保持开启状态:

结论

由于En 无论 为1还是0,它始终保持2个锁存 一个导通,一个拦截。En =0,1锁存导通,En =1,2锁存导通,所以,当数据在第一个锁存器中被导通时,由于En =0,在第二个锁存器中必然被拦截,此时,当En =1的一瞬间,2号锁存器导通,数据放行,进入Q,此时 1号锁存器拦截后续数据,达到了将数据锁存的目的。这就是上升沿锁存器的工作原理。

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

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

相关文章

基于MFC实现的银行模拟系统

基于MFC实现的银行模拟系统 1.软硬件运行环境 1.1 项目研究背景与意义 为了能给学生熟悉银行业务系统提供真实的操作环境, 使学生在掌握理论知识的同时熟悉银行业务的实际操作过程,改变其知识结构,培养商业银行真正需要的实用人才,增强学生…

【LeetCode每日一题】——189.轮转数组

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时空频度】十【代码实现】十一【提交结果】 一【题目类别】 数组 二【题目难度】 中等 三【题目编号】 189.轮转数组 四【题目描述】 …

滑动窗口篇——如行云流水般的高效解法与智能之道(3)

前言: 上篇我们介绍了滑动窗口的进阶练习,本篇难度继续升级,同样结合具体题目,帮助大家进一步掌握和运用滑动窗口。 一. 找到字符串中所有字母异位词 题目链接:438. 找到字符串中所有字母异位词 - 力扣(L…

uniapp首页样式,实现菜单导航结构

实现菜单导航结构 1.导入字体图标库需要的文件 2.修改引用路径iconfont.css 3.导入到App.vue中 <style>import url(./static/font/iconfont.css); </style>导航区域代码 VUE代码 <template><view class"home"><!-- 导航区域 --><…

Rust SQLx CLI 同步迁移数据库

上文我们介绍了SQLx及SQLite&#xff0c;并介绍了如何使用代码同步迁移数据库。本文介绍Sqlx cli 命令行工具&#xff0c;介绍如何安装、使用&#xff0c;利用其提供的命令实现数据表同步迁移。Java生态中有flyway, sqlx cli 功能类似&#xff0c;利用命令行工具可以和其他语言…

【天地图】HTML页面实现车辆轨迹、起始点标记和轨迹打点的完整功能

目录 一、功能演示 二、完整代码 三、参考文档 一、功能演示 运行以后完整的效果如下&#xff1a; 点击开始&#xff0c;小车会沿着轨迹进行移动&#xff0c;点击轨迹点会显示经纬度和时间&#xff1a; 二、完整代码 废话不多说&#xff0c;直接给完整代码&#xff0c;替换…

鸿蒙学习自由流转与分布式运行环境-价值与架构定义(1)

文章目录 价值与架构定义1、价值2、架构定义 随着个人设备数量越来越多&#xff0c;跨多个设备间的交互将成为常态。基于传统 OS 开发跨设备交互的应用程序时&#xff0c;需要解决设备发现、设备认证、设备连接、数据同步等技术难题&#xff0c;不但开发成本高&#xff0c;还存…

如何启动 Docker 服务:全面指南

如何启动 Docker 服务:全面指南 一、Linux 系统(以 Ubuntu 为例)二、Windows 系统(以 Docker Desktop 为例)三、macOS 系统(以 Docker Desktop for Mac 为例)四、故障排查五、总结Docker,作为一种轻量级的虚拟化技术,已经成为开发者和运维人员不可或缺的工具。它允许用…

Mac启动服务慢问题解决,InetAddress.getLocalHost().getHostAddress()慢问题。

项目启动5分钟&#xff0c;很明显有问题。像网上其他的提高jvm参数就不说了&#xff0c;应该不是这个问题&#xff0c;也就快一点。 首先找到自己的电脑名称&#xff08;用命令行也行&#xff0c;只要能找到自己电脑名称就行&#xff0c;这里直接在共享里看&#xff09;。 复制…

实时美颜直播APP开发指南:美颜sdk与美颜api的应用实践

本篇文章&#xff0c;小编将探讨如何在直播APP中实现实时美颜功能&#xff0c;重点介绍美颜sdk与api的应用实践。 一、什么是实时美颜技术&#xff1f; 实时美颜技术&#xff0c;通常通过图像处理算法&#xff0c;基于主播或用户的实时视频流&#xff0c;进行面部特征的优化。…

【纯原生js】原生实现h5落地页面中的单选组件按钮及功能

h5端的按钮系统自带的一般都很丑&#xff0c;需要我们进行二次美化&#xff0c;比如单选按钮复选框之类的&#xff0c;那怎么对其进行html和css的改造&#xff1f; 实现效果 实现代码 <section id"tags"><h2>给景区添加标题</h2><label><…

win10系统安装docker-desktop

1、开启Hyper-v ———————————————— Hyper-V 是微软提供的一种虚拟化技术&#xff0c;它允许你在同一台物理计算机上运行多个独立的操作系统实例。这种技术主要用于开发、测试、以及服务器虚拟化等领域。 —————————————————————— &#…

阿里云人工智能平台(PAI)免费使用教程

文章目录 注册新建实例交互式建模(DSW)注册 注册阿里云账号进行支付宝验证 新建实例 选择资源信息和环境信息,填写实例名称 资源类型需要选择公共资源,才能使用资源包进行抵扣。目前每月送250计算时。1 * NVIDIA A10 8 vCPU 30 GiB 1 * 24 GiB1 * NVIDIA V100 8 vCPU 32 Gi…

TongRDS分布式内存数据缓存中间件

命令 优势 支持高达10亿级的数据缓冲&#xff0c;内存优化管理&#xff0c;避免GC性能劣化。 高并发系统设计&#xff0c;可充分利用多CPU资源实现并行处理。 数据采用key-value多索引方式存储&#xff0c;字段类型和长度可配置。 支持多台服务并行运行&#xff0c;服务之间可互…

即时通讯| IM+RTC在AI技术加持下的社交体验

即时通讯作为互联网的重要应用之一&#xff0c;见证了中国互联网30年发展的辉煌历程。 它从最初的文字交流&#xff0c;发展到如今的语音、视频通话&#xff0c;甚至是虚拟现实社交&#xff0c;已经渗透到生活的社交、娱乐、商务等方方面面&#xff0c;成为现代社会不可或缺的一…

Redis(5):哨兵

一、作用和架构 1. 作用 在介绍哨兵之前&#xff0c;首先从宏观角度回顾一下Redis实现高可用相关的技术。它们包括&#xff1a;持久化、复制、哨兵和集群&#xff0c;其主要作用和解决的问题是&#xff1a; 1&#xff09;持久化&#xff1a;持久化是最简单的高可用方法(有时甚…

Linux -初识 与基础指令1

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【Linux】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 文章目录 &#x1f4da; 前言&#x1f5a5;️ 初识&#x1f510; 登录 root用户&#x1f465; 两种用户➕ 添加用户&#x1f9d1;‍&#x1f4bb; 登录 普通用户⚙️ 常见…

【娱乐项目】基于批处理脚本与JavaScript渲染视频列表的Web页面

Demo介绍 一个简单的视频播放器应用&#xff0c;其中包含了视频列表和一个视频播放区域。用户可以通过点击视频列表中的项来选择并播放相应的视频&#xff0c;播放器会自动播放每个视频并在播放完毕后切换到下一个视频。本项目旨在通过自动化脚本和动态网页渲染&#xff0c;帮助…

k8s集成skywalking

如果能科学上网的话&#xff0c;安装应该不难&#xff0c;如果有问题可以给我留言 本篇文章我将给大家介绍“分布式链路追踪”的内容&#xff0c;对于目前大部分采用微服务架构的公司来说&#xff0c;分布式链路追踪都是必备的&#xff0c;无论它是传统微服务体系亦或是新一代…

使用Native AOT发布C# dll 提供给C++调用

Native AOT&#xff0c;即提前本地编译&#xff08;Ahead-Of-Time Compilation&#xff09;&#xff0c;是一种将托管代码&#xff08;如 C#&#xff09;编译为本机可执行文件的技术&#xff0c;无需在运行时进行任何代码生成。 &#xff08;Native AOT 优缺点截图摘自张善友博…