AICon全球人工智能与机器学习技术大会8折特惠,购票立减¥960! 了解详情
写点什么

逻辑运算系列(二): 组合逻辑电路

2019 年 9 月 10 日

逻辑运算系列(二): 组合逻辑电路

随着半导体制作工艺的发展,许多常用的组合逻辑电路被制作成了中规模集成芯片,一直被广泛应用。作为本系列的第二篇文章,本文将重点讲解组合逻辑电路的相关概念。


算术逻辑单元,简称 ALU,是中央处理器(CPU)的执行单元和核心组成部分,由“与门”和“或门”构成的算术逻辑单元,主要功能是进行二位元算术运算,比如加、减、乘(不包括整数除法)。基本上,所有现代 CPU 的体系结构,是以二进制的补码形式表示。


关于二进制,这里稍微解释下,二进制的最高位(二进制由左到右,最左边为最高位)也叫做符号位,代表二进制的正负,正数为零,负数为一,二进制分为原码、反码和补码。当二进制为正数时,原码、反码和补码相同,当二进制为负数时,将源码按位取反,得到反码,然后最低位加一得到补码。计算机就是以补码形式储存的。


半加器

接下来看第一个 ALU——半加器。半加器和全加器是算数逻辑单元的中的基本单元,每完成一位二进制数相加都可以得到一种逻辑电路,如果只考虑两个加数本身,而不考虑低位进位本身的加法运算,称为半加,实现这个逻辑功能的电路叫做半加器,如下图:



上面是逻辑图,下面是真值表:



上图,A、B 表示加数,S 是本位和,C 表示进位数,可以看出这是一个由异或门和与门组成的逻辑电路。


全加器

全加器可以把来自被加数、加数和低位的进位信号相加,并根据求和结果给出该位的进位信号。




其中,A 和 B 为加数和被加数,其中 C 为低位进位数,S 为本位和,v 为高位进位数,,由两个半加器和一个或门组成。


多位数半加器

串行进位加法器,若由多位数相加,则可采用并行相加串行进位的方式来完成,将低位的进位输出信号接到高位的进位输出端。因此,任意 1 位加法运算必须在低一位的运算完成后才能进行,这种进位方式称为串行进位。例如,三个二进制数据相加,可以采用三个全加器,构成三位数加法器。


当然,这种方式既有好处也有坏处,好处是逻辑电路比较简单,但运算速度不够快。



由于串行进位加法器受到进位信号的限制,运行速度不是很快。所以,人们又设计出了多位数超前进位加法逻辑电路,使每位的进位只被加数决定,与低位进位无关。


超前进位的所有位数进位是同时完成的。一个 CP 脉冲就能完成整个进位过程。优点是运算速度快,明显的缺点是电路复杂。这里就不详细介绍了,后续章节会详细介绍。


还有就是减法运算,加法和减法主要通过输入的高电平或者低电平来控制,逻辑电路也是一样的。


编码器

编码器,数字系统中常用的数据是二进制码表示,用一个二进制代码表示特定含义的信息称为编码,具有这种编码逻辑的逻辑电路叫做编码器。



以 4 线-2 线为例,它有 2^n 个输入,n 位二进制码输出相对应,编码器有两种,分别是普通编码器和优先编码器,各有不同的作用,普通编码器任何时候只允许输入一位编码信号。


稍微介绍一下,四个输入接口 I0 到 I3 为高电平有效,输出的是二进制代码 Y1,Y0,任何时候 I0 到 I3 中只能有一个值为 1,并且输出一组二进制代码。除了表中四种组合有效外,其余全部无效,输出为零。


下面是真值表。



下面看看优先编码器,同样以 4 线-2 线为例,优先编码器和普通编码器的区别在于,优先编码器可以同时输入两个以上编码信号。但只对其优先权最高的一个编码,也就是说可以识别信号的优先级。


功能如下图所示,可知 I0 到 I3 的级别,相对于 I0,只有当 I1、I2、I3 均为零的时候,才有无效电平输入,而且 I0 为 1 的时候,输出 00,但是 I3 不一样,无论其他三个数是否输入有效电平,均输出为 11,由此可见,I3 的优先级别最高,这四个输入的优先级从高到低分别为 I3、I2、I1、I0。


优先编码器允许两个以上的的输入同时为 1,但只对优先级别较高的输入进行编码。当所有电路输入为 0 时,输出 Y1、Y2 均为 0。而当 Y0 为 1 时,输出的 Y1、Y0 也全为零。造成这个的原因是输入条件不同,输出代码相同。



实际使用的编码器一般输入都比较多,下面看一个典型的优先编码器。



这里的 GS 是优先编码工作状态,EI 是高电平有效的输出使能端,EO 为输出使能端。当 EI 为 1 时,允许编辑器工作,EI 为 0 时,禁止编码器工作,此时不论 8 个输入端为何种状态,输出皆为低电平,而且 GS 和 EO 也均为低电平。


GS 的主要功能是,当 EI 为 1 时,至少有一个输入端有高电平信号输入时,GS 为 1,表明编码器处于工作状态。反之,则 GS 为 0。这就相当于一个判断该编码器是否处于工作状态的一个提示。



上面是真值表,可以看出,EI 为 0 时,I7 到 I0 没有输入,也没有输出,GS 和 EO 也分别为零,此编码器处于关闭状态。等于 1 时,允许编码,I7 的优先等级最高。


接下来看译码器。译码和编码相反,译码是编码的逆过程,主要是具有特定含义的二进制码转化为对应的输出信号,这就是译码过程。后续会更新一些汇编和 CPU 指令等内容,欢迎关注。


相关文章:


《逻辑运算系列(一):入门篇》


2019 年 9 月 10 日 15:495901

评论

发布
暂无评论
发现更多内容

一文掌握GaussDB(DWS) SQL进阶技能:全文检索

华为云开发者社区

sql 全文检索 华为云 GaussDB(DWS) 字段

波卡无抵押借贷平台Bandot加入Patract Wasm合约开放平台

Patract

blockchain polkadot Patract Wasm ink!

FloydHub 2020年最佳机器学习书籍之一《可解释机器学习》中文版来啦!

博文视点Broadview

RTC技术干货 | 音频质量评价体系那些事

拍乐云Pano

音视频 WebRTC RTC 3A算法 音频

【LeetCode】笨阶乘Java题解

HQ数字卡

算法 LeetCode 4月日更

有道云笔记新版编辑器架构设计(下)

有道技术团队

架构 前端

Patract 与Apron Network就 Elara节点服务相关产品达成战略合作

Patract

rust blockchain polkadot Patract Wasm

Patract 官网升级新上线,Wasm 合约开放平台优雅启幕

Patract

智能合约 blockchain polkadot Patract Wasm

一周信创舆情观察(3.22~3.28)

统小信uos

gorm源码阅读之callback

werben

golang gorm

EGG NETWORK阿凡提以“自由匿名竞价”流通市场EFTalk

币圈那点事

Apache Flink Meetup · 上海站,超强数据湖干货等你!

Apache Flink

flink 数据湖 iceberg

愚人节快乐,但TcaplusDB永不愚你

TcaplusDB

c++ 数据库 后端 TcaplusDB

微众银行区块链开源基于Rust的Wasm合约语言框架Liquid

Patract

智能合约 rust polkadot Patract Wasm

有了人工智能技术,告警管理会发生什么变化?

睿象云

人工智能 事件管理

需求分析是什么?

Simon

架构实战营

微众银行区块链开源基于Rust的Wasm合约语言框架Liquid

Patract

rust blockchain polkadot Patract Wasm

阿里云:城市大脑数据智能解决方案

不脱发的程序猿

阿里云 大数据分析 城市大脑 数据智能解决方案 4月日更

年纪轻轻,为什么要搞中间件开发?“路怎么走,让你们自己挑”

小傅哥

Java 分布式 小傅哥 中间件 架构设计

波卡合成资产协议Coinversation与Patract合作共建Wasm合约开放平台

Patract

rust blockchain polkadot Patract Wasm

PatraStore上线,带来DApp操作系统的全新体验

Patract

rust blockchain polkadot Patract Wasm

Patract将支持隐私DeFi协议Manta Network集成Wasm合约功能

Patract

rust blockchain polkadot Patract Wasm

访谈|探索 Wasm 合约的无限可能

Patract

智能合约 blockchain polkadot Patract Wasm

答题拿奖两不误:华为云知乎金牌答题官,就是你!

华为云开发者社区

程序员 华为云 知乎答题 答案 金牌答题官

Patract转型为解决方案提供商,携手Acala首推Wasm合约开放平台计划

Patract

智能合约 blockchain polkadot Patract Wasm

LiteOS内核源码分析:任务栈信息

华为云开发者社区

LiteOS 任务栈 栈指针 LOS_StackInfo LOS_Task

Java-技术专题-Synchronized锁的分析

李浩宇/Alex

Java synchronized

Litentry基于Patract的Redspot和Europa产品进行ink!合约开发,拓展身份服务生态

Patract

rust blockchain polkadot Patract Wasm

节能降耗——搭建绿色IDC能耗与管控系统

一只数据鲸鱼

物联网 数据中心 数据可视化 IDC 机房管理

Patract 12条产品线,助力波卡打造优质Wasm合约生态

Patract

rust blockchain polkadot Patract Wasm

无人驾驶平台,让IT没有难做的测试

鲸品堂

方法论 无人驾驶

逻辑运算系列(二): 组合逻辑电路-InfoQ