逻辑电路

计算机由非常多的简单逻辑单元组成, 即包含着千万以上个MOS晶体管。

本篇主要介绍MOS晶体管的工作原理和基于MOS晶体管实现逻辑门,以及逻辑门组合构建计算机的组成单元。

MOS晶体管

我们知道电路中电子的流动是通过开关来控制的,为了电子流动,电路中的各个单元需要形成回路,而通过开关的开闭来影响电路的闭合和断开,MOS晶体管就是这个开关。

     分为n型和p型MOS。

n型MOS示意图。c图是简化版,上部的横线代表正极,下部的三角形代表接地.

    逻辑电路_第1张图片

如果在栅极G加入电压,则MOS管导通,形成通路;栅极电压为0,则MOS管断开,通路断开。

p型MOS管正好相反

两种型号的简化图如下:

逻辑电路_第2张图片

 

因为n型和p型的相反性质(也可以说互补性质),如果在电路中同时包含两种型号的晶体管,则这种电路称为CMOS电路

即互补金属氧化物半导体。

 

逻辑门

         我们知道了n型和p型MOS的运行机制,我们就可以用这两种组合实现逻辑门了。

非门(NOT)

           首先实现的是非门(因为之后所有的逻辑门实现都需要和非门相组合)

       逻辑电路_第3张图片

或门和或非门(OR 和NOR)

或非门就是和或门相反的门,即两个输入任意一个不为0,结果为0,两个输入为0,则为1.

或非门的实现(先实现或非门,然后和非门组合形成或门,个人觉得原因是或非门更容易直接实现)

使用两个n型和两个p型组合形成或非门(两个p型串联在一个正极端,两个n型各连接一个接地端,输出端在中间),再和非门组合形成或门

逻辑电路_第4张图片

 

与门和与非门(AND和NAND)

  与非门也是和与门相反的门(两个输入都为1时结果为0,其余情况为1),同样先实现与非门,再和非门组合形成与门。

与非门是两个p型MOS各连接一个正极,然后串联在一个接地端上,输出端在中间。

逻辑电路_第5张图片

 

了解了3种逻辑门(其实是5种)的实现后,我们可以简化一下各逻辑门的表示

逻辑电路_第6张图片

 

摩根定律

非(P 且 Q) = (非 P) 或 (非 Q)

非(P 或 Q) = (非 P) 且 (非 Q)

电路图表示

逻辑电路_第7张图片

 

多输入门

        之前的实现都是两个输入,当然也可以有超过两个输入。实现方式本质和两个输入是相同的。

 

组合逻辑

我们将基本的逻辑门进行组合就可以构建出不同的逻辑结构,也就是构建计算机微结构的结构单元。

逻辑结构又分为两类,一类是可以存储信息的,一类是不可以存储信息的(决策单元,通常叫做组合逻辑结构)。

组合逻辑结构的输出状态完全取决于当前逻辑结构的输入(不依赖任何历史信息,不具备记录历史信息的能力)。

三种常用的组合逻辑结构

译码器:(n个输入,2^n个输出)

逻辑电路_第8张图片    

一般描述,在特定输入模式下,相应的输出线被置位。即对任一的输出线,只在一种情况下置为1。

译码器主要用于解释一个二进制数。

 

多路复用器(MUX)

 Mux的功能就是从多个输入中选择一个,并将其与输出相连。

多路复用器通常由2^n个输入,1个输出和n个选择线组成

逻辑电路_第9张图片

 

全加器

二进制加法原理和十进制类似。唯一不同是二进制加法是满二进一。

所以二进制加法需要三个单元的参与,二进制数位ai和bi和一个来自前一列的进位(carry)

逻辑电路_第10张图片

逻辑电路_第11张图片

 

逻辑电路_第12张图片

 

可编程逻辑阵列(PLA)

包含一组与门(AND阵列)和一组或门(OR阵列)。

如果逻辑函数输入数目是n,则与门数量为2^n,而或门的数目取决于真值表的输出数目。实现算法是将特定的与门的输出和对应的或门输入相连,对应关系和真值表相关。通过“编程”多个与门(不同的输入组合)和多个或门(不同的输出)之间的连接关系,可以实现我们期望的逻辑函数(或功能)。这就是编程。

逻辑电路_第13张图片

 

逻辑完备性

 通过PLA可以实现任何形式的逻辑,但是PLA只包括了(NOT AND OR 3中逻辑门)。即只要有足够的基本逻辑门,我们可以实现任何逻辑函数,因此{NOT,AND,OR}的逻辑门集合是逻辑完备的

 

存储单元

可以存储信息的逻辑电路

R-S锁存器

逻辑电路_第14张图片

最简单的实现,两个NAND门互连,一个NAND门的输出是另一个的输入。

逻辑是这样的,如果S和R都为1,锁存器处于静态,这时候逻辑电路的状态是不会发生变化的,即输出a不会改变(可以自己试试a分别为0和1的情况)。

S为0,R为1,则锁存器输出为1,这时候把S置为1不会改变输出结果,通过这种方式,我们就把输出给保存下来了。

S为1,R为0,这时候锁存器输出为0。

注意,S和R不要同时为0,因为这时输出a和b同时为1,锁存器的状态将无法保证,这取决于MOS的电气特性了(无法从逻辑层面来保证,而电气特性层面已经不属于目前的层次了)

 

门控D锁存器

有必要对锁存器置1和置0操作采取一定的控制措施

逻辑电路_第15张图片

WE代表可写(Write Enable),当WE为1时,锁存器的输出值等于输入值D,当WE为0时,S和R均为1,这时候锁存器状态不变。

我们通过把WE设置为1,将D做为输入存入锁存器,再把WE设置为0,这样D就存在锁存器中了。

 

寄存器(register)

寄存器是这样一种结构,它将多个bit组合成一个独立单元,寄存器的bit宽度可大可小

为每位bit标识一个数字,最右边是bit[0],从右到左依次递增,对于n个bit,最左边是bit[n-1](从左到右还是从右到左是随意的,也可以最左边为0,向右递增)

A[x:y]表示第x位到第y位之间所有bit位组成的数。

逻辑电路_第16张图片

 

内存

内存是由一定数目(通常非常大)的“位置”组成,每个位置可以单独识别并独立存放1个数据,通常,称位置识别符为“地址”,

存储在各个位置中的bit数目为“寻址能力”

 

寻址空间:

内存中可独立识别的位置总数为寻址空间(有多少个地址)。

寻址能力:

每个地址中包含的bit数目。

比如一个16MB大小的内存,寻址能力是8-bit(1个字节),则总bit数为 16*2^20*8。

大多数内存都是按照字节寻址的(和原先的计算机在数据处理或接收键盘输入值时,将其转化为8-bit的ASCII码,这样就刚好占用一个存储位置,无疑方便了读写和修改操作)

 

时序电路

组合逻辑电路能处理数据,但是不具备存储信息的能力,而上面用于存储的结构又不具备处理数据的能力。这样时序电路就出现了

这种逻辑电路的输出即和当前电路输入有关,又和当前电路的状态相关,这就是“时序逻辑电路”。

逻辑电路_第17张图片

时序逻辑电路主要用于实现有限状态机,有限状态机被广泛应用于各种工程领域。在冯洛伊曼体系结构中,有限状态机控制着整个计算机的工作流程,它就是计算机的心脏

 

有限状态机:

状态是系统各相关的部件在特定时刻的一个快照,不同的时刻,系统有不同的状态

5个组成部分 状态(有限数目)、外部输入(有限数目)、对外输出(有限数目)、任意状态间的迁移(显式注明)、对外输出操作(显式注明)

状态集合表示系统可能处于的所有状态,状态迁移表示从一个状态转换到另一个状态所需要的各种条件

状态图:有限状态机的常用表达方式

逻辑电路_第18张图片

状态节点代表一个系统状态,连线和箭头代表一个状态到另一个状态的转换,如图包括3个状态和6个状态转移。

 

系统的输出既可以由当前状态唯一决定,也可以由当前状态和当前输入共同决定

 

时钟:

状态转移的触发机制,通常,状态转移是通过时钟电路来触发的。

所谓时钟就是这样一个信号,低电平0和高电平1交替变换

逻辑电路_第19张图片

时钟周期是指时钟信号不断变换的间隔时间。

通过时钟周期变换,可以触发不同的状态。然后利用锁存器和组合逻辑单元合在一起来实现各种状态的变换。

 

呼,这一章内容相对就要复杂和多一些了。

你可能感兴趣的:(计算机原理)