一、锁存器
常说的锁存器其实就是电平触发的触发器
1、或非门SR锁存器
SR锁存器有两个输入端,一个SD(称为置位端或者置1输入端),一个RD(称为复位端或者置0输入端)。输出Q是原来的状态(初态),下一个状态的Q(记为Q*,称为次态)。
1、当输入SD = 0,RD = 0,数据Q保持不变;
2、当输入SD = 1,RD = 0,不管上个Q为多少,数据Q变为1,Q = 1;(这就是置位端这个名字的意义)
3、当输入SD = 0,RD = 1,不管上个Q为多少,数据Q变为0,Q = 0;(这就是复位端这个名字的意义)
注意:当RD = 1和SD = 1时,不管上个状态Q和Q’为多少,输出Q和Q’均为0,此时的状态不确定。所以输入的时候要满足:RD & SD = 0。
2、与非门SR锁存器
二、触发器
常说的触发器是边沿触发器
触发器与锁存器的不同在于,触发器除了置1、置0输入端之外,还有增加了一个触发信号输入端。只有当触发信号到来时,触发器才能按照输入的置1、置0信号转变相应的状态,并保持下去。这个触发信号通常称为CLOCK(记做 CLK)。
触发信号的方式分为:电平触发,边沿触发和脉冲触发。
按照逻辑功能的不同特点,通常将始终控制的触发器分为SR触发器、JK触发器、T触发器和D触发器。
1. SR触发器
存在约束条件(真值表是CLK在高电平的时候,)
2.JK触发器
当CP=1、R=S=1时,使=Q、
=
(即
、
不可能同时为0),可以从根本上解决当R=S=1时,触发器输出不确定的问题。将S、R输入端改写成J、K输入端,即为JK触发器
3.T触发器
当T=1时,每来一个时钟信号,触发器的状态就翻转一次;当T=0时,时钟信号到达后状态保持不变。
4.D触发器
D触发器是一种最简单的触发器,在触发边沿到来时,将输入端的值存入其中,并且这个值与当前存储的值无关。
三、寄存器
寄存器是能够存储一组二值代码的电路结构,因为触发器只能怪存储一位二值代码,所以N个触发器(锁存器)组成的寄存器可以存储N位的二值代码
N位寄存器 = N个 触发器(锁存器)构成的电路
四、存储器
1、随机存储器(RAM)
(1)静态随机存储器(SRAM)
静态随机存储器(SRAM)在工作时,只需要通电,数据就不会丢失
SRAM通常由存储阵列、地址译码器和读/写控制电路(输入/输出电路)三部分组成
存储阵列,由多个存储单元组成。
地址译码器,分为行地址译码器和列地址译码器。其中行地址译码器用于选通某一行的数据,而列地址译码器用于选通某一列的数据,这样就可以确定具体某个数据了。
读/写控制电路,用于选择时从存储器读取数据还是写入数据。从输入信号 R/W’ 可以看出,当输入高电平 R/W’ = 1,代表读取数据,;当输入低电平 R/W’ = 0,代表写入数据。
还有一个片选信号CS’,当CS’ = 0时,RAM为正常工作状态;当CS’ = 1时,RAM所有输入输出端均为高阻态。
(2)动态随机存储器(DRAM)
动态存储器因为电路简单,所以在大容量、高集成度的RAM中使用很多,比如说常用的SDRAM、DDR等。
动态存储器利用MOS电容可以存储电荷的原理支撑的,而MOS电容的容量很小(几pf),而漏电流又不绝对等于0,所以保存电荷的时间有限。为了避免电容的电荷消失,所以需要在电荷消失之前补充电荷,这种方法一般称为刷新。因此,DRAM常常配有刷新电路,虽然这样使得操作复杂化,但是顶不住容量大啊。
2、只读存储器(ROM)
只读存储器在初始化之后就不允许写入或者修改数据,只能从中读出数据。这种存储器,常用来存储固定的数据,