《计算机组成与体系结构(原书第4版)》 —3.6.3 触发器
3.6.3 触发器
电平触发电路不论在时钟信号为高还是低时都可以改变状态。许多人互换使用术语锁存和触发器。在技术上,锁存器是电平触发,而触发器是边沿触发。在本书中,使用术语触发器。威廉·埃克尔斯和F.W.乔丹在1918年发明了第一个触发器(用真空管),所以这些电路都已经使用一段时间了。然而,它们并不总是被称为触发器。像许多其他发明一样,它们最初是以发明人命名的,称为埃克尔斯-乔丹触发电路。那么“触发器”的名字是从哪里来的?有人说是因为触发时电路产生的声音(如同扬声器连接到原电路的一个元件时产生的声音);其他人认为它来自于电路从一个状态翻转到另一个以及翻转回来的能力。
为了“记住”过去的状态,时序电路依赖于一个称为反馈的概念。简单来说,这意味着电路的输出被反馈作为这个电路的输入。一个非常简单的反馈电路使用两个非门,如图3-19所示。在该图中,如果Q为0,则它将始终为0。如果Q为1,它将始终为1。这不是一个非常有趣或有用的电路,但它能让你看到反馈是如何工作的。
更有用的反馈电路是由两个或非门组成的最基本的存储组件,称为SR触发器。SR代表“设置/复位”,SR触发器的逻辑图如图3-20所示。
图3-19 简单反馈电路 图3-20 SR触发器的逻辑图
可以通过特性表来描述任何触发器,它表示基于输入和当前状态Q下一个状态应该是什么,符号Q(t)表示当前状态,Q(t+1)表示下一状态或者在时钟脉冲之后触发器应该进入的状态。可以用时序图指示时钟的改变与触发器输出之间的信号关系。图3-21a显示了SR时序电路的实际实现;图3-21b所示为向触发器添加一个时钟;图3-21c指定了其特性表;图3-21d显示了一个时序图。这里,仅介绍时钟触发器。
图 3-21
SR触发器会表现出有趣的行为。它有3个输入:S、R和当前输出Q(t)。创建表3-12所示的真值表,以进一步说明此电路的工作原理。
表3-12 SR触发器的真值表
例如,如果S为0且R为0,并且当前状态Q(t)为0,则下一状态Q(t+1)也为0;如果S为0且R为0,并且Q(t)为1,则Q(t+1)被置位为1。实际上在时钟脉冲下当(S,R)为(0,0)的输入时结果不会改变。根据类似的论证,可以看到输入(S,R)为(0,1)时下一个状态Q(t+1)强制设置为0,而不管当前状态如何(即在电路输出进行强制复位)。当(S,R)=(1,0)时,电路输出置位为1。
看看图3-21d所示的时序图,在t1时刻时钟脉冲到来,此时S=R=0,Q不变。在t2时刻,S变为1,R仍为0,因此当时钟脉冲到来时,Q置位为1。在t3时刻,S=R=0,因此Q不变。在t4时刻,因为R变为1,所以在时钟脉冲到来时,S=0,R=1,Q复位为0。
这个特定的触发器很奇怪。如果R和S都同时置位为1会如何呢?如果检查图3-21a所示的未计时的触发器,这会得到一个最终状态,Q和Q′都为0,但是如何能使得Q=0=Q′?来看看图3-21b所示的已定时触发器,当S=R=1时会发生什么。当时钟脉冲到达时,S和R的值输入到触发器中。这使得Q和Q′都为0。当去除时钟脉冲时,不能确定触发器的最终状态,因为一旦时钟脉冲结束,S和R的输入都会消失,并且所产生的状态取决于哪一个输入首先终止(这种情况通常称为“竞争条件”)。因此,在SR触发器中不允许有这种输入组合。
可以添加一些逻辑条件到SR触发器以确保非法状态永远不会出现——只需修改SR触发器,如图3-22所示。这生成了JK触发器。JK触发器和SR触发器基本相同,除了当两个输入为1时,该电路取消当前状态。图3-22d所示的时序图说明了此电路的工作原理。在t1时刻,J=K=0,导致Q没有变化。在t2时刻,J=1和K=0,因此Q置位为1。在t3时刻,K=J=1,这会导致Q取反,将其从1变为0。在t4时刻,K=0和J=1,强制Q置位为1。
图 3-22
关于“JK”的来源似乎存在很大的分歧。有些人认为它是以集成电路的发明者杰克·基尔比(Jack Kilby)命名的。有些人认为它是以约翰·卡尔达什(John Kardash)命名的,人们经常认为他是JK触发器的发明人(如他在当前公司网站上的个人简历中所述)。还有一些人认为这是由休斯飞机公司的工人创造的,他们用输入字母标记电路输入,J和K恰好是列表中的下一个(如在1968年提交给电子杂志《EDN》的详细信件)。
SR触发器的另一种变形是D(数据)触发器。D触发器是计算机物理内存的真实表示。该时序电路可以存储一位信息。如果在输入线D上设置为1,在时钟脉冲到来时,输出线Q变为1;如果在输入线上设置为0,在时钟脉冲到来时,输出变为0。记住输出Q表示电路的当前状态。因此,输出值为1表示电路当前“存储”值为1。图3-23所示为D触发器,列出了它的特性表和时序图,并且揭示了D触发器实际上是SR触发器的变形。
图 3-23
- 点赞
- 收藏
- 关注作者
评论(0)