触发器原理以及其在CPU芯片中的作用

  组成电脑cpu芯片是微小的三极管等电子元器件。

  那么三级管这样的元器件,是怎样一步一步组成电脑的呢?

  1 三极管组成门电路

  2 门电路组成触发器

  3 触发器构成寄存器、程序计数器、控制器等

  4 寄存器,计数器,控制器等组成芯片-cpu

  如下图:

  

  

  

  

  注意到,图中的通用寄存器,标志寄存器,段寄存器,EU控制器,总线控制器等元器件。

  这些元器件都是由基本的触发器,或者逻辑电路组成的。

  基本的触发器/逻辑电路都是由门电路组成的

  门电路都是由三级管,电阻,电容等电子元器件组成的

  电子元器件都是由土地中的各种材料组成的

  因为类似电脑这种cpu的芯片是当今社会的核心中的核心技术:

  所以,土可发黄金,土可生白玉,土中自有黄金屋,土中自有颜如玉。

  

  这里是一个电子元器件

  把这种电子元器件做小了,做微小,做得非常非常小

  就是微小的电子元器件

  放到一个很小的电路板上

  如下图:

  

  就是芯片了

  就是由非常多非常多的三极管,大规模的三极管构成的电路

  所以,芯片又叫做大规模集成电路

  说了这么多,其实是为了引出今天要讨论的主角:触发器。

  触发器这个角色,可以说是承上启下。

  触发器它是由门电路构成的

  触发器又可以构成将要直接构成cpu的寄存器。

  所以,我就想先把触发器讲清楚。

  触发器里的这个触发是什么意思?

  触发,有点像点火触发的意思

  我们这里是指:一个集成门电路,这个集成门电路可以输出高低电平,代表0/1.

  那么,这个集成门电路什么情况下输出高电平,什么情况下输出低电平?当它被一个信号触发时,它就输出与触发信号相应的高/低电平。

  这就是触发器的字面意思了。

  那我们来看这样一个触发器。

  

  如表4.1.1中所示的一个触发器。

  这个触发器就是当你给它的两个引脚S’=1,R’=0时,触发器的输出Q就会被触发为0.

  这个触发的意思是,无论之前触发器的两个触发引脚 S’,R’的值为几,也无论之前触发器的输出引脚Q值为几。

  只要现在我们给这两个触发引脚设置为S’=1,R’=0,那么触发器的输出引脚必定为0.

  并且

  并且当触发信号消失以后,消失就是S=0,R=0时,即S’=1,R’=1时,触发器的输出Q仍然为0,不会因为触发器的触发信号的消失而改变。

  所以,触发器有一个重要的,让人容易忽略的性质:当触发信号消失后,触发器的输出Q需要保持住。

  为什么叫触发,就是因为用一个信号触发一下,就可以一直保持触发后的输出值。

  这里:S’ = 1-S,R’=1-R

  触发信号撤销,意味着S=0,R=0,所以S’=1,R’=1.

  所以,我们看触发信号是否消失,主要是看S’变为1,R’变为1时,触发器的输出是否改变

  我们再看4.1.1真值表

  当触发信号S’=0,R’=1时,触发器的输出为Q=1

  当触发信号撤销时,即S’=1,R’=1,触发器的输出仍然为Q=1

  我们再看4.1.1真值表

  当触发信号S’=1,R’=1时,触发器的输出为Q不变。

  这个不变的意思就是这个触发信号无效,不改变触发器的输出,因为它本来就是触发信号撤销后的信号值。

  我们再看4.1.1真值表

  当触发信号S’=0,R’=0,然后再将信号撤销,撤销后,触发信号相当于S’=1,R’=1,这时,触发器的输出为Q不确定。

  这个不确定时啥意思?

  是因为输出信号Q时而为0,时而为1,所以叫不确定。

  再详细解读一下:

  S‘=0,R’=0时,Q =Q’=1.

  然后撤销信号,即S’=1,R’=1

  经过一轮门电路输出后,Q=Q’=0

  再经过一轮门电路输出后,Q=Q’=1

  经过一轮门电路输出后,Q=Q’=0

  再经过一轮门电路输出后,Q=Q’=1

  。。。

  一直这样循环下去。

  这个是理论上的结果。

  但是,因为G1,G2是不同的与非门,所以两个门的工作时间是不同的,假设G1响应较快,而G2相对响应较慢。

  

  此时

  撤销信号到来,S’=R’=1

  G1先工作,Q=0,

  然后G2工作, Q=0,和R’=1经过G2,得到Q’=1,

  然后G1工作, Q’=1,S’=1经过G1,得到Q=0

  然后G2工作, Q=0,和R’=1经过G2,得到Q’=1,

  然后G1工作, Q’=1,S’=1经过G1,得到Q=0

  。。。

  此时,我们发现Q由由来的1变为了0,并且稳定在零上了。

  但是这是真正的稳定么?

  G1工作一定快么?万一慢呢?

  慢了的话,就是G2先工作,Q‘=0, 然后G1工作,Q就稳定在1上了。

  我们得出结论:

  如果G1较快,那么Q =0

  如果G2较快,那么Q = 1

  如果G1,G2同样快,那么 Q在变换。

  总之, 用R’=0,S’=0作为触发信号,触发器的输出是不确定了,所以,我们使用这个触发器的时候,R’=0,S’=0不是有效的触发信号。

  那,什么是有效的触发信号呢?

  S‘=1,R’=0,触发器将输出0

  S‘=0,R’=1,触发器将输出1

  这就是有效的触发信号。

  我们也就实现了触发信号触发保持的功能。

  再来说说,触发信号为啥叫 S’和R‘

  这里S 为 set,设置的意思

  这里R为reset,为清零的意思

  S=1,就是设置有效,就是S’=0(因为S’=1-S),

  R=0 就是清零无效,就是 R’=1,

  此时,Q =1,可以理解为被设置成了1。

  也就是:S端,设置端为1时,Q=1

  那么当我们S端为0时,Q是否等于0呢?

  我们验证一下:

  S=0,就是设置无效,就是S’=1(因为S’=1-S),

  R=1 就是清零有效,就是 R’=0,

  此时,Q =0,可以理解为被设置成了0。

  也就是:S端,即设置端为0时,Q=0

  也就是:R端,即清零端为1时,Q被清零了。

  举报/反馈