现代计算机组成与体系结构
上QQ阅读APP看书,第一时间看更新

2.5 触发器

如果一个器件的输出仅在指定的时钟边沿发生转换(从低到高或从高到低)时才改变,则称其为边沿敏感器件触发器类似于锁存器,关键区别在于触发器的输出在边沿改变,而锁存器的输出在电平信号控制下改变。

上升沿触发的D触发器是一种广泛应用的数字电路器件。D触发器通常包括置位和复位信号,这些信号的功能与SR锁存器中相应信号的功能相同。触发器具有和门控D锁存器功能类似的D输入端。D触发器没有使能输入端,而是具有一个时钟输入端,在时钟上升沿触发并将输入D的数值传送到输出Q,并把输入D反相之后传送到输出Q。除了在时钟上升沿周围非常窄的时间窗口内之外,触发器不响应输入D的值。当输入S或R有效时,触发器将不响应输入D和时钟上的任何动作。

图2.12 D触发器示意图

图2.12给出了D触发器的原理图。时钟输入由符号左侧的小三角形表示。

考虑表2.8。CLK列中的向上箭头表示时钟信号的上升沿。带有向上箭头的表格行中显示的Q和输出表示时钟上升沿之后的输出状态。

表2.8 D触发器真值表

可以将触发器进行串联来将数据位从一个触发器传至下一个触发器。这种串联通过将第一个触发器的输出Q连接到第二个触发器的输入D来实现,对于任意数量的串联以此类推。这种结构称为移位寄存器,并且在许多地方使用,其中两个典型应用是串并转换器和并串转换器。

如果移位寄存器末端的输出Q连接到另一端的输入D,则构成环形计数器。环形计数器用于构建有限状态机等任务。有限状态机实现的数学模型总是处于一组定义良好的状态中。当输入满足转换到不同状态的条件时,就会发生状态之间的转换。

图2.13中的环形计数器有4位。通过先将RST输入脉冲设置为高,然后将其设置为低来初始化计数器。这将使第一个(最左边)触发器的输出Q设置为1,并且将剩余触发器的输出Q设置为0。此后,每个CLK的上升沿都会将触发器的一位传送到序列中的下一个触发器。第4个CLK脉冲将1传送回最左边的触发器。除了一个输出为1的触发器外,其余触发器的输出Q始终为0。触发器是边沿敏感器件,所有触发器都由公共时钟信号驱动,使其成为同步电路

图2.13 4位环形计数器电路

该电路包含4个环形计数器状态,增加6个触发器将使状态数增加到10个。正如我们在第1章中所讨论的,ENIAC使用基于真空管的10位环形计数器来保存十进制数字的状态。采用图2.13中电路结构的10状态环形计数器可以完成相同的功能。

下一节我们将使用触发器构建用于数据存储的寄存器。