0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

晶体管如何表示0和1

凡亿PCB 来源:玩转嵌入式 作者:玩转嵌入式 2022-03-22 08:43 次阅读

我们都知道,人类进行运算的本质是查表,并且我们存储的表是有限的。那么,计算机是怎样进行四则运算的呢?也是查表吗?答案肯定不是!今天,我们就来说说CPU是如何计算1+1的。

现代计算机又叫电子计算机,肯定是由电路和电子元件来实现的。我们都知道,一台计算机的核心就是处理器(CPU),它的职责就是运算。CPU是一块超大规模的集成电路,我们要想弄清楚计算机的运算机制,就要了解集成电路是如何具有运算能力的,而集成电路是由大量晶体管等电子元件封装而成的。

所以,探究计算机的计算能力,先要从晶体管的功能入手。

晶体管如何表示0和1

从第一台计算机到EDVAC,这些计算机使用的都是电子管二极管等元件,利用这些元件的开关特性实现二进制的计算。然而电子管元件有许多明显的缺点。例如,在运行时产生的热量太多,可靠性较差,运算速度不快,价格昂贵,体积庞大,这些都使计算机发展受到限制。于是,晶体管开始被用来作计算机的元件。

晶体管利用电讯号来控制自身的开合,而且开关速度可以非常快,实验室中的切换速度可达100GHz以上。使用了晶体管以后,电子线路的结构大大改观,进入了晶体管为代表的第二代电子计算机时代。

1947年贝尔实验室的肖克利等人发明了晶体管,又叫做三极管。下图是晶体管的电路符号。需要说明的是,晶体管有很多种类型,每种类型又分为N型和P型,下面图中的电路符号就是一个N型晶体管。

ed116e7e-a922-11ec-952b-dac502259ad0.png

晶体管电路有导通和截止两种状态,这两种状态就可以作为“二进制”的基础。从模电角度来说晶体管还有放大状态,但是我们此处考虑的是晶体管应用于数字电路,只要求它作为开关电路,即能够导通和截止就可以了。

如上图所示,当b处电压>e处电压时,晶体管中c极和e极截止;当b处电压

换句话说,这个三极管的b极电压相对e极为低电平时三极管就会导通,相对e极为高电平时三极管就会截止。从这里可以看出,晶体管的导通与截止这两种状态对外可以使用b极电压的相对高低来表示,进而说明了我们可以使用高电平或者低电平状态来表示二进制。也就是说b极是一个输入量(自变量),可以作为变量存储两个数值:高电平或低电平;相应的输出值(因变量)就是电路实际的变化:导通或截止。

就上面这个N型晶体管而言,高电平截止,低电平导通。假如此时,我们把高电平作为“1”,低电平作为“0”。那么b极输入1,就会导致电路截止,如果这个电路是控制计算机开关机的,那么就会把计算机关闭。这就是机器语言的原理。

实际用于计算机和移动设备上的晶体管大多是MOSFET(金属-氧化物半导体场效应晶体管),它也分为N型和P型,NMOS就是指N型MOSFET,PMOS指的是P型MOSFET。注意,MOS中的栅极Gate可以类比为晶体管中的b极,由它的电压来控制整个MOS管的导通和截止状态。

NMOS电路符号如下图:

ed2223e0-a922-11ec-952b-dac502259ad0.png

PMOS电路符号如下图:

ed362868-a922-11ec-952b-dac502259ad0.png

NMOS在栅极高电平的情况下导通,低电平的情况下截止。所以NMOS的高电平表示“1”,低电平表示“0”;PMOS相反,即低电平为“1”,高电平为“0”。到了这个时候,你应该明白“1”和“0”只是两个电信号,具体来说是两个电压值,这两个电压可以控制电路的通断。

门电路

一个MOS只有一个栅极,即只有一个输入;而输出只是简单的电路导通、截止功能,不能输出高低电压信号,即无法表示“1”或“0”,自然无法完成计算任务。此时就要引入门电路了(提示:电压、电平、电信号在本文中是一回事)。

门电路是数字电路中最基本的逻辑单元。它可以使输出信号与输入信号之间产生一定的逻辑关系。门电路是由若干二极管、晶体管和其它电子元件组成的,用以实现基本逻辑运算和复合逻辑运算的单元电路。这里只介绍最基础的门电路:与门、或门、非门、异或门。

1、与门

与门电路是指只有在一件事情的所有条件都具备时,事情才会发生。

下面是由MOS管组成的电路图。A和B作为输入,Q作为输出。

例如A输入低电平、B输出高电平,那么Q就会输出低电平;转换为二进制就是A输入0、B输出1,那么Q就会输出0,对应的C语言运算表达式为0&&1=0。

ed56e418-a922-11ec-952b-dac502259ad0.png

2、或门

或门电路是指只要有一个或一个以上条件满足时,事情就会发生。

下面是由MOS管组成的电路图。A和B作为输入,Q作为输出。

例如A输入低电平、B输入高电平,那么Q就会输出高电平;转化为二进制就是A输入0、B输出1,那么Q就会输出1,对应的C语言运算表达式为0||1=1。

ed696aac-a922-11ec-952b-dac502259ad0.png

3、非门

非门电路又叫“否”运算,也称求“反”运算,因此非门电路又称为反相器。下

面是由MOS管组成的电路图。非门只有一个输入A,Q作为输出。

例如A输入低电平,那么Q就会输出高电平;转换为二进制就是A输入0,那么Q就会输出1;反之A输入1,Q就会得到0,对应的C语言运算表达式为!0=1。

ed7c492e-a922-11ec-952b-dac502259ad0.png

4、异或门

异或门电路是判断两个输入是否相同,“异或”代表不同则结果为真。即两个输入电平不同时得到高电平,如果输入电平相同,则得到低电平。

下面是由MOS管组成的电路图。A和B作为输入,Q作为输出。

例如A输入低电平、B输入高电平,那么Q输出高电平;转换为二进制就是A输入0,B输出1,那么Q就会输出1,对应的C语言运算表达式为0^1=1。

ed8f15ea-a922-11ec-952b-dac502259ad0.png

通过这些门电路,我们可以进行布尔运算了。

半加器和全加器

通过门电路,我们可以进行逻辑运算,但还不能进行加法运算。要进行加法运算,还需要更复杂的电路单元:加法器(加法器有半加器和全加器)。加法器就是由各种门电路组成的复杂电路。

假如我们要实现一个最简单的加法运算,计算二进制数1+1等于几。我们这时候可以使用半加器实现。半加器和全加器是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路;这里的1位就是我们经常说的“1byte=8bit”里的1bit,即如果我们想完成8位二进制的运算就需要8个全加器 。半加器这种加法没有考虑低位来的进位,所以称为半加。下图就是一个半加器电路图。

eda86842-a922-11ec-952b-dac502259ad0.png

半加器由与门和异或门电路组成,“=1”所在方框是异或门电路符号,“&”所在方框是与门电路符号。这里面A和B作为输入端,因为没有考虑低位来的进位,所以输入端A和B分别代表两个加数。输出端是S和C0,S是结果,C0是进位。

比如,当A=1,B=0的时候,进位C0=0,S=1,即1+0=1。当A=1,B=1的时候,进位C0=1,S=0,即1+1=10。这个10就是二进制,换成十进制就是用2来表示了,即1+1=2。到了这里,你应该明白了晶体管怎么计算1+1=2了吧。

然后我们利用这些,再组成全加器。下面是一个全加器电路图,同样只支持1bit计算。Ai和Bi是两个加数,Ci-1是低位进位数,Si是结果,Ci是高位进位数。

edbe1b60-a922-11ec-952b-dac502259ad0.png

如果我们将4个加法器连接到一起就可以计算4位二进制,比如计算2+3,那么4位二进制就是0010+0011,下表就是利用加法器计算的值。和普通加法一样,从低位开始计算。加数A代表0010,B代表0011。

edd3dc3e-a922-11ec-952b-dac502259ad0.png

结果Si:0101,就是十进制5,加法器实现了十进制运算2+3=5。

结 语

现在我们可以想到,CPU的运算单元是由晶体管等各种基础电子元件构成门电路,在由多个门电路组合成各种复杂运算的电路,在控制电路的控制信号的配合下完成运算,集成的电路单元越多,运算能力就越强。

原文标题:CPU工作原理:最简单的元器件,构成了最复杂的运算

文章出处:【微信公众号:凡亿PCB】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成电路
    +关注

    关注

    5374

    文章

    11290

    浏览量

    360198
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10798

    浏览量

    210702
  • 晶体管
    +关注

    关注

    77

    文章

    9600

    浏览量

    137606

原文标题:CPU工作原理:最简单的元器件,构成了最复杂的运算

文章出处:【微信号:FANYPCB,微信公众号:凡亿PCB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    晶体管的结构特性

    1晶体管的结构晶体管内部由两PN结构成,其三个电极分别为集电极(用字母C或c表示),基极(用字母B或b表示)和发射极(用字母E或e
    发表于 08-17 14:24

    数字晶体管的原理

    晶体管是指普通晶体管上连接2个电阻器的晶体管。直流电流放大率为 输出电流/输入电流 ,因此不因输入电阻R1,放大率下降。仅有输入电阻R1的类
    发表于 04-09 21:49

    数字晶体管的原理

    2个电阻器的晶体管。直流电流放大率为 输出电流/输入电流 ,因此不因输入电阻R1,放大率下降。仅有输入电阻R1的类型 放大率表示为hFE,与个别晶体
    发表于 04-22 05:39

    晶体管的由来

    计算机等使用的数字信号中,晶体管起着切换01的开关作用。IC及LSI归根结底是晶体管的集合,其作用的基础便是晶体管的增幅作用。4. 集电阻
    发表于 05-05 00:52

    概述晶体管

    晶体管的代表形状晶体管分类图:按照该分类,掌握其种类1. 按结构分类根据工作原理不同分类,分为双极晶体管和单极晶体管。双极
    发表于 05-05 01:31

    如何改善晶体管的损耗

    。当晶体管的驱动电压突变为0时,还是因为电容电压不能突变,CB两端的电压加到VT1的发射结上,可以形成很大的反向基极抽取电流,使VT1迅速关闭并进入问题。    加速电路二  在加速电
    发表于 11-26 17:28

    晶体管如何表示01

      一、晶体管如何表示01  从第一台计算机到EDVAC,这些计算机使用的都是电子和二极
    发表于 01-13 16:23

    晶体管的h参数资料分享

    在合理设置静态工作点和输入为交流小信号的前提下,晶体管可等效为一个线性双端口电路。如图Z0212所示。               晶体管的端口电压和电流的关系可表示为如图Z0213所示。 h 参数
    发表于 05-13 07:56

    什么是晶体管 晶体管的分类及主要参数

    调制和振荡器。晶体管可以独立封装,也可以封装在非常小的区域内,容纳1亿个或更多晶体管集成电路的一部分。(英特尔 3D 晶体管技术)严格来说,晶体管
    发表于 02-03 09:36

    基本晶体管开关电路,使用晶体管开关的关键要点

    )需要几毫安才能上电,并且可以由逻辑门输出驱动。然而,螺线管、灯和电机等大功率电子设备比逻辑门电源需要更多的电力。输入晶体管开关。  晶体管开关操作和操作区域  图 1 中图表上的蓝色阴影区域
    发表于 02-20 16:35

    PNP晶体管,PNP晶体管是什么意思

    PNP晶体管,PNP晶体管是什么意思 PNP晶体管是另一种类型晶体管.它的结构如图1所示。
    发表于 03-05 11:18 6194次阅读

    晶体管的检测经验

    (一)晶体管材料与极性的判别,1.从晶体管的型号命名上识别其材料与极性 国产晶体管型号命名的第二部分用英文字母A"D表示
    发表于 09-29 14:18 3048次阅读

    晶体管的检测经验的分享

    (一)晶体管材料与极性的判别 1.从晶体管的型号命名上识别其材料与极性 国产晶体管型号命名的第二部分用英文字母AD表示
    发表于 07-23 15:38 1193次阅读

    晶体管使用手册0

    晶体管使用手册0讲解,感兴趣的可以看看。
    发表于 02-29 15:42 0次下载

    CPU运算电路:晶体管如何表示01

    从第一台计算机到EDVAC,这些计算机使用的都是电子和二极等元件,利用这些元件的开关特性实现二进制的计算。然而电子元件有许多明显的缺点。
    的头像 发表于 09-07 17:51 1.1w次阅读
    CPU运算电路:<b class='flag-5'>晶体管</b>如何<b class='flag-5'>表示</b><b class='flag-5'>0</b>和<b class='flag-5'>1</b>