当前位置: 首页 > news >正文

【计算机组成体系结构】电路基本原理与加法器设计

一、算术逻辑单元—ALU

 

1.基本的逻辑运算(1bit的运算) 

基本逻辑运算分为,。大家应该很熟悉了,与:全1为1,否则为0。或:全0为0,否则为1。非:取反。三个基本的逻辑运算可以由对应的门电路实现。(与门或门非门

这里以上图的与门为例,若输入端A为高电压5V,表示1,输入端B电压为1V,表示0。则输出端Y输出的是低电压1V,表示0。由此完成电信号表示的逻辑运算。或门同理。

(1)“与”和“或”的优先级

在加法乘法中,我们知道乘法的优先级是高于加法的。那么在逻辑运算中如果,与或运算同时出现,“与”运算的优先级是高于“或”运算的

如“A·B + C·D”应该先计算A·BC·D,再计算A·B + C·D

(2)分配律和结合律

与或操作同时满足分配律,和结合律,同时类比加法和乘法的关系。

分配律——A·(C+D)= A·C+A·D 

结合律——A·B·C=A·(B·C)

结合律——A+B+C=A+(B+C)

同一种运算的两种电路实现

这些定律的用处,以上面的 A·C + A·D 为例,如果保持原来的式子不变,我们可以用两个与门和一个或门实现(如上图左)。但如果用分配律变换为A·(C+D),我们仅仅需要一个与门和一个或门就可以实现相同的运算(如上图右),并且会节省硬件成本

2.复合逻辑(1bit的运算) 

与非就是进行运算,进行运算。

或非就是进行运算,进行运算。

异或运算则是 相同为0,不同为1。 三种符合逻辑的电路构成如上图所示。

同时,有反演律,让我们可以把或非转换成非的与,把与非转换成非的或。 

(1)异或门的逻辑实现

异或操作我们说是一种符合逻辑运算,因此我们可以用基本的逻辑运算实现,如上图所示。

分析得知A,B不同情况,A=0B=1A=1B=0,即可得出逻辑表达式从而设计电路。

(2)同或运算

同或运算其实就是异或运算的取反

(3)异或门实现奇偶校验

通过以上的基本逻辑运算和符合逻辑运算,我们可以组成更复杂的逻辑运算,比如奇偶校验。奇偶校验和我们的异或门逻辑是对应的,所以完全可以由异或门实现。同时异或门也是天然的加法运算。

如上图所示,是两种不同计算顺序的逻辑表达式实现求偶校验位对应的异或门电路。(本质上就是判断有奇数个1还是偶数个1)

(4)异或门实现加法运算

我们知道加法会产生进位,如上图8bit的加法所示。那么本位的和Si是否进位由三个数决定,被加数的本位Ai,加数的本位Bi,以及来自低位的进位Ci-1

很容易知道,SiAiBi异或结果Ci-1异或得到,如上图所示。

而是否产生进位,则有两种情况,首先至少有2个1才能产生进位。那么2个1的情况有两种,我们需要进行或运算,一种情况是两个本位Ai和Bi都为1,或者Ai,Bi其中一个为1,然后进位是1。

一位全加器

根据上面推断出的不同情况,列出逻辑表达式之后,我们就可以很容易的得到一位全加器(FA,Full Adder)的门电路表示,如上图所示。

(5)多位加法的实现——串行加法器

串行加法器,顾名思义就是串行运算。它是通过一位一位的运算来实现加法的,也正是因为如此,它只有一个一位全加器和一个进位触发器构成。 一位全加器负责我们上面提到的本位运算,而进位触发器则负责保存进位位。因为本位的进位位会决定高位的进位位。

以上图为例,最开始的Ai=1,Bi=0,Ci-1=0,经过一位全加器后得到高位进位位Ci为0,

接着进行高位运算Ai=1,Bi=1,Ci-1=0,经过一位全加器后得到高位进位位Ci为1。

继续进行高位运算Ai=1,Bi=1,Ci-1=1,经过一位全加器后得到高位进位位Ci为1。

以此类推……可以看到,由于逐位的运算,如果操作数长n位,就需要进行n次加法,并且需要串行送回寄存器,所以串行加法器的效率是比较低的。


(6)串行进位的并行加法器

我们可以把多个一位全加器串联起来,组成串行进位的并行加法器,这样就可以同时输入n位的数,同时低位的进位会作为高位全加器的一个输入信号。

虽然我们可以同时输入A,B数值位的信息,但是电信号的传递依然是串行。也就是说只有低位运算结束之后,才知道往高位进的信号是什么,而高位的进位信号可能会导致更高位的进位信号发生改变,所以我们称之为串行进位的并行加法器

以此,串行进位的并行加法器的进位信号是逐级形成的,只有来自低位的进位信号决定了,我们才能决定本位和和更高位的进位信号。因此串行进位的并行加法器的运算速度很大程度上取决于我们每一位进位的产生速度。

相关文章:

【计算机组成体系结构】电路基本原理与加法器设计

一、算术逻辑单元—ALU 1.基本的逻辑运算(1bit的运算) 基本逻辑运算分为,与、或、非。大家应该很熟悉了,与:全1为1,否则为0。或:全0为0,否则为1。非:取反。三个基本的逻…...

MyBatisPlus之基本CRUD、常用注解

文章目录 前言一、MyBatisPlus简介1.简介2.特性 二、基本CRUD1.依赖2.搭建基本结构3.BaseMapper4.使用插入删除(1)通过id删除记录(2)通过id批量删除记录(3)通过map条件删除记录 修改查询(1&…...

采集EtherNET/IP转Profinet在西门子plc中的应用

远创智控网关YC-EIPM-PN,让你的设备和云平台实时连接! 远创智控YC-EIPM-PN网关产品支持各种数据接口,无论是工业领域的仪表、PLC、计量设备,还是设备数据,都能实时采集并整合。它将这些设备中的运行数据、状态数据等信…...

Paddle build_cinn_pass_test源码阅读(fluid目录下)

代码位置在 paddle\fluid\framework\paddle2cinn\build_cinn_pass_test.cc &#xff0c;因为paddle CINN和PIR部分依旧在高频更新&#xff0c;所以各位看到的可能和我的不一样 inline bool CheckNodeExisted(const std::unordered_set<Node*>& nodes,const std::str…...

函数调用:为什么会发生stack overflow?

在开发软件的过程中我们经常会遇到错误&#xff0c;如果你用 Google 搜过出错信息&#xff0c;那你多少应该都访问过Stack Overflow这个网站。作为全球最大的程序员问答网站&#xff0c;Stack Overflow 的名字来自于一个常见的报错&#xff0c;就是栈溢出&#xff08;stack ove…...

git log

git log -p 是一个用于显示git commit历史的命令&#xff0c;它会展示每个commit的详细信息&#xff0c;包括每个修改文件的清单、添加/删除的行所在的位置以及具体的实际更改。这个命令能够让用户深入了解仓库的历史记录。 与git log相比&#xff0c;git log -p 提供了更多的…...

在面试提问环节应该问那些内容

在面试提问环节应该问那些内容 薪资和福利&#xff1a; 你可以询问关于薪资、福利和其他福利待遇的细节&#xff0c;包括工资结构、健康保险、退休计划、带薪休假等。 了解关于加班、绩效奖金和涨薪机会的信息。 工作时间和灵活性&#xff1a; 询问工作时间、工作日和工作日…...

【vb.net】轻量JSON序列及反序列化

这个代码写的有点时间了&#xff0c;可能有点小bug&#xff0c;欢迎评论区反馈 作用是将Json文本转化成一个HarryNode类进行相关的Json对象处理或者读取&#xff0c;也可以将一个HarryNode对象用ToString变为Json文本。 举例&#xff1a; 1、读取节点数据 dim harryNode N…...

【Vue】vue2与netcore webapi跨越问题解决

系列文章 C#底层库–记录日志帮助类 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/124187709 文章目录 系列文章前言一、技术介绍二、问题描述三、问题解决3.1 方法一&#xff1a;前端Vue修改3.2 方法二&#xff1a;后端允许Cors跨越访问 四、资源…...

SpringSecurity + jwt + vue2 实现权限管理 , 前端Cookie.set() 设置jwt token无效问题(已解决)

问题描述 今天也是日常写程序的一天 , 还是那个熟悉的IDEA , 还是那个熟悉的Chrome浏览器 , 还是那个熟悉的网站 , 当我准备登录系统进行登录的时候 , 发现会直接重定向到登录页 , 后端也没有报错 , 前端也没有报错 , 于是我得脸上又多了一张痛苦面具 , 紧接着在前端疯狂debug…...

【21】c++设计模式——>装饰模式

装饰模式的定义 装饰模式也可以称为封装模式&#xff0c;所谓的封装就是在原有行为之上进行扩展&#xff0c;并不会改变该行为&#xff1b; 例如网络通信&#xff1a; 在进行网络通信的时候&#xff0c;数据是基于IOS七层或四层网络模型&#xff08;某些层合并之后就是四层模型…...

【博客707】模版化拆解并获取victoriametrics的metricsql各个元素

golang解析victoriametrics的metricsql 场景&#xff1a; 需要拆解metricsql中的部分元素&#xff0c;比如&#xff1a;rollup function&#xff0c;label filter等需要对语法合法性进行判断&#xff0c;同时拒绝某些查询函数我们需要拆解metricsql并进行改造 使用victoriam…...

nodejs + express 实现 http文件下载服务程序

nodejs express 实现 http文件下载服务程序&#xff0c; 主要包括两个功能&#xff1a;指定目录的文件列表&#xff0c;某个文件的下载。 假设已经安装好 nodejs ; cd /js/node_js ; 安装在当前目录的 node_modules/ npm install express --save npm install express-gene…...

Qt多文本编辑器项目实战

0x00 引言 本文将详细讲解如何使用Qt实现一个多文本编辑器。涉及的话题包括&#xff1a;Qt框架基础、窗体布局、文本编辑、拓展功能等等。 在阅读本文之前&#xff0c;你需要掌握基本的C编程知识和Qt框架的使用方法。 0x01 新建Qt项目 在Qt Creator中&#xff0c;新建一个Q…...

CVE-2017-7529 Nginx越界读取内存漏洞

漏洞概述 当使用Nginx标准模块时&#xff0c;攻击者可以通过发送包含恶意构造range域的header请求&#xff0c;来获取响应中的缓存文件头部信息。在某些配置中&#xff0c;缓存文件头可能包含后端服务器的IP地址或其它敏感信息&#xff0c;从而导致信息泄露。 影响版本 Ngin…...

力扣每日一题136:只出现一次的数字

题目描述&#xff1a; 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。 示例 1 &#…...

导航栏参考代码

导航栏参考代码 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>导航栏参考代码</title> </head> <body> <table width"858" border"0" align"center"><tr&g…...

区块链(11):java区块链项目之页面部分实现

addPeer.html <!DOCTYPE html> <html> <head><meta charset="utf-8"> <title>java区块链</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="styles…...

RootSIFT---SIFT图像特征的扩展

RootSIFT是论文 Three things everyone should know to improve object retrieval - 2012所提出的 A Comparative Analysis of RootSIFT and SIFT Methods for Drowsy Features Extraction - 2020 当比较直方图时&#xff0c;使用欧氏距离通常比卡方距离或Hellinger核时的性能…...

ChatGPT角色扮演教程,Prompt词分享

使用指南 1、可直复制使用 2、可以前往已经添加好Prompt预设的AI系统测试使用 https://ai.idcyli.comhttps://ai.idcyli.com 雅思写作考官 我希望你假定自己是雅思写作考官&#xff0c;根据雅思评判标准&#xff0c;按我给你的雅思考题和对应答案给我评分&#xff0c;并且按…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...