加法器

框架,首先介绍原理,然后引入一位加法器最后再引入多位加法器最后引入带符号的加法器

这一节涉及到的硬件电路的知识理解就好,实在看不懂就跳过,但是封装以后的功能必须看懂。

这是一个一般的加法过程涉及到的必要元素图中已经给出,加数与被加数的本位以及相加以后的本为和,低位的进位和高位的进位

主要就是上面这五部分,首先对于加数与被加数的本位以及低位的进位是输入的内容我们不需要管

接下来我们看本为和,因为二进制加法满二进一的特性使得我们可以采用异或来算本位和。。可以采用 下面的电路来实现

对于向高位的进位来说需要考虑的元素就比较多了。需要考虑加数被加数低位的进位这三个因素,同时结合二进制数的加法规则来看。

高位的进位有以下图片的情形,图片中采用了或运算来求值,或运算的法则全0为0

第一部分采用与运算当两个都为1时才为1

第二部分先用AB异或(同0异1)再与地位进位相与

满足任意一部分进位为1

电路表示如下图

最后结合一下电路图

再封装一下

需要记住一下逻辑表达式

把n 个一位全加器串接起来,就可进行两个n bit数的相加。

但是由于可知每一位的高位进位都依赖于低位的信号产出这就使得需要等待低位的运算结束才能进行高位的运算,这样的操作我们理解为串行操作,与之对应的时并行操作(需要CLA部件)。并行的加法器稍后讲解。

这里需要知道串行的加法器速率较慢

下图是并行进位的加法器

多出的CLA部件可以并行的计算出高位的进位但是电路较为复杂。一般就扩展到4位。

接下来我们的目光放到带标志位的加法器

为什么要带标志位?一般带哪些标志位?

首先解释为什么要带标志位?带标志位可以很快的得出此次加法的相关信息例如是否溢出是否借位运算结果的正负性。

一般带下面四个标志位

of溢出    1溢出0未溢出

sf符号标志   1负0正

zf零标志位  1为零 0不为零

cf无符号溢出  1溢出 0 未溢出

接下来介绍一下这几个常见标志位的运算逻辑表达式

有关于OF CF后面会详细讲解,这里解释一下sf它只需要取计算的最高位即可 zf需要采用或非电路,当全部为都为0时或电路输出0然后再非就输出1此时zf=1表示运算结果为0.

接下来介绍一下并位加法器

前面介绍过本为和采用异或来计算

而高位的进位采用AB先与,或上AB异或与上低位进位,这里包括了进位的两种情况,本位都为1相加后需要进位,以及AB其中一个为1但是低位进位为1相加后也要进位。或者当AB都为0时不进位。

这里时串行进位加法器,我们可以采用一个电器电路CLA一下得出所有的进位然后直接就可以进行并行的加法计算

具体的逻辑推导如下

注意这里的每一个算术表达式都需要一个电路来实现,所以说就不太方便进行更深层次的套娃因为这样会非常耗费硬件。对应计算机成本也更高。

一般最多采取4为的CLA加法器。

算术逻辑单元ALU

主要了解其功能,

其实ALU更像是一个集合体加一个多路选择器

他这里里面所包含的操作一般都有其对印的电路或者代替电路,就比如前面所说的加法器

就如图所示它封装了好多功能在里面对外只暴露出少量的引脚。

其中最重要的一个考点就是多路选择器的位数,他需要曼满足对应的操作类型。

再有就是前面提到的几个常见的标志位

OF有符号溢出位  1表示溢出 

SF正负标志位 1表示负

ZF零标志位 1表示结果为0  采用了或非门

CF 无符号溢出位 1表示溢出

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

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

相关文章

设计模式实战:自定义SpringIOC(亲手实践)

上一篇:设计模式实战:自定义SpringIOC(理论分析) 自定义SpringIOC(亲手实践) 上一篇文章,我们介绍了SpringIOC容器的核心组件及其作用,下面我们来动手仿写一个SpringIOC容器&#…

力扣面试150(42/150)

7.28 20. 有效的括号 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一…

基于黑马教程——微服务架构解析(二):雪崩防护+分布式事务

之前的两篇文章我们介绍了微服务的基础概念及其服务间通信机制。本篇将深入探讨微服务的核心保障:服务保护与分布式事务。一、微服务保护问题描述: 在一个购物车的微服务中,倘若某一项服务(服务A)同一时刻访问的数据十…

LeetCode: 429 N叉树的层序遍历

题目描述给定一个 N 叉树,返回其节点值的层序遍历(即从左到右,逐层访问每一层的所有节点)。示例输入格式(层序序列化):输入示意:1/ | \3 2 4/ \5 6输出:[[1], [3,2,4…

使用phpstudy极简快速安装mysql

使用 phpStudy 极简快速安装 MySQL 的完整指南: 一、phpStudy 简介 phpStudy 是一款 Windows 平台下的 PHP 环境集成包,包含: Apache/Nginx PHP 5.x-7.x MySQL 5.5-8.0 phpMyAdmin 二、安装步骤 1. 下载安装包 访问官网下载&#xf…

git lfs使用

apt install git lfs 或者下载二进制文件加到环境变量 https://github.com/git-lfs/git-lfs/releases git lfs install git lfs clone huggingface文件路径 如果访问不了hugggingface.co用hf-mirror.com替代,国内下载速度还是挺快的 先按照pip install modelscope m…

6、CentOS 9 安装 Docker

🐳 CentOS 9 安装 Docker 最全图文教程(含镜像源优化与常见问题解决)标签:CentOS 9、Docker、容器技术、开发环境、国内镜像源 适合读者:后端开发、运维工程师、Linux 初学者📌 前言 在 CentOS 9 上安装 Do…

SystemV消息队列揭秘:原理与实战

目录 一、消息队列的基本原理 1、基本概念 2、基本原理 3、消息类型的关键作用 4、重要特性总结 5、生命周期管理 6、典型应用场景 二、System V 消息队列的内核数据结构 1、消息队列的管理结构 msqid_ds(消息队列标识符结构) 关键字段解析 2…

5 分钟上手 Firecrawl

文章目录Firecrawl 是什么?本地部署验证mcp安装palyground🔥 5 分钟上手 FirecrawlFirecrawl 是什么? 一句话: 开源版的 “最强网页爬虫 清洗引擎” • 自动把任意网页 → 结构化 Markdown / JSON • 支持递归整站抓取、JS 渲染…

算法训练营day31 贪心算法⑤56. 合并区间、738.单调递增的数字 、968.监控二叉树

贪心算法的最后一篇博客!前面两道题都是比较简单的思路,重点理解一下最后一道题即可。有一说一,进入到贪心算法这一章节之后,我的博客里和代码注释里的内容明显少了很多,因为很多贪心的题目我觉得不需要很复杂的文字说…

Jenkins流水线部署+webhook2.0

文章目录1. 环境2. 用到的插件3. 流水线部署脚本1. 环境 Centos7Jenkins2.5.0JDKopen17阿里云仓库 注意:这个版本兼容需要特别注意,要不然会很麻烦 2. 用到的插件 Generic Webhook Trigger 3. 流水线部署脚本 兼容钩子部署(webhook&…

IDM下载失败排查

网络连接问题排查检查网络连接是否稳定,确保能够正常访问互联网 测试其他下载工具或浏览器是否能够正常下载 尝试关闭防火墙或杀毒软件,排除安全软件拦截的可能性代理和VPN设置检查确认IDM的代理设置是否正确,是否与系统代理一致 检查是否使用…

Anaconda安装时的几个操作

一、安装Anaconda 其实Anaconda的安装比较简单,点击next就好了。在安装中需要注意以下两点: 1、选择安装路径 在安装时,路径最好选择非C盘,且路径中不要出现中文,以免后期运行代码时出现不必要的错误。 我安装时&…

网易易盾、腾讯ACE等主流10款游戏反外挂系统对比

本文将深入对比10款游戏反外挂系统:1.网易易盾;2.Ricochet Anti‑Cheat;3.BattlEye;4.几维安全手游智能反外挂系统;5.伏魔AI反外挂;6.Riot Vanguard;7.Xigncode3;8.盛大GPK&#xff…

wpa_supplicant-2.10交叉编译

参考文章:https://blog.csdn.net/weixin_45783574/article/details/145810790 1、Openssl交叉编译 1.1 下载openssl-1.1.1t.tar.gz 下载网址: https://openssl-library.org/source/old/1.1.1/index.html1.2 编译 sudo tar xvf openssl-1.1.1t.tar.gz cd openssl-1.1

源码解读SpringCloudAlibaba Nacos2.x

Nacos 服务注册 Nacos 服务注册时,客户端会将自己的信息注册到Nicosserver上,形成key-value组合,其中key通常是服务名称,value是实例地址信息。在二点X版本中,客户端通过Spring Boot的扩展机制(例如web_initialized事件…

Windows 11 下 Anaconda 命令修复指南及常见问题解决

Windows 11 下 Anaconda 命令修复指南及常见问题解决 在使用 Anaconda 过程中,可能会遇到环境损坏、更新失败、包依赖冲突等问题。本文整理了一套通过命令行修复 Anaconda 的完整方案,适用于 Windows 11 系统,同时补充了权威参考链接供深入学…

安宝特案例丨全球连线!安宝特Vuzix与RodsCones共筑实时手术教育平台

安宝特Vuzix与合作伙伴Rods&Cones协作,为Rocamed在布拉格UROSANIT诊所举办的创新型实时手术直播研讨会提供技术赋能。 本次直播通过合作伙伴Rods&Cones软件平台搭载安宝特Vuzix智能眼镜,成功连接来自9国、3大洲、6个时区的27位医生,…

【Spring Boot 快速开发】一、入门

目录Spring Boot 简介Web 入门Spring Boot 快速入门HTTP 协议概述请求协议响应协议解析协议TomcatSpring Boot 简介 Spring Boot 是由 Pivotal 团队(后被 VMware 收购)开发的基于 Spring 框架的开源项目,于 2014 年首次发布。其核心目标是简…

laravel chunkById导出数据乱序问题

2025年7月28日17:47:29 这几天在做数据导出优化,使用xlswriter作为导出组件,但是发现在 使用 $base->chunkById(2000, function ($list) use ($writer, $sheet1) { 发现导出的数据是乱的,偶尔有些重复,偶尔有些少了&#xff0c…