寄存器由触发器组成,因此,一个触发器也可以看成是一位寄存器。寄存器有普通的缓寄存器和移位寄存器。 1.缓冲寄存器。 缓冲寄存器由若干个D触发器构成,用于暂存某一数据,以便在需要时再将数据送到其他记忆元件中去。图2-19所示的是由4个D触发器组成的四位缓冲器。
在时钟脉冲CIK到来之前,从总线送至各D触发器D端的X3X2X1X0暂存于缓冲寄存器。设:
缓冲寄存器D3D2D1D0=1011,即相当于缓冲寄存器暂存了1011这个数据。当CLK脉冲到来时,就有:
即缓冲寄存器送出了暂存的数据1011。
缓冲寄存器的符号如图2-20所示。在计算机中,缓冲寄存器应用较广,除了暂存运算过程中的数据外,还被用作暂存指令(指令寄存器)和程序地址(程序地址寄存器)。
2.移位寄存器。
移位寄存器也是由多个D触发器构成,除了同样具有储存数据的功能外,还能使所存储的数据逐位左移或右移。
(1)逐位左移寄存器。
逐位左移寄存器的组成与电路原理如图2-21所示。
由于D3=Q2、D2=Q1、D1=Q0、D0=Din,当CLK脉冲到来时,就有Q3=Q2、Q2=Q1、Q1=Q0、Q0=Din,使数左移了一位。按CLK的脉冲,可实现逐位左移。从右端第一个D触发器的输入端可串行输入数据;从左端最后一个D触发器输出端可串行输出数据;也可以从各D触发器的Q端(Q3Q2Q1Q0)并行输出数据。
(2)逐位右移寄存器。
逐位右移寄存器的组成与电路原理如图2-22所示。
逐位右移寄存器的组成与逐位左移寄存器一样,只是将串行输入、串行输出及各D触发器的输入与输出端的连接关系作了改变,工作原理与左移寄存器一样。
移位寄存器再加适当的门电路,便可实现左移和右移控制。图2-23是可控左移和右移的移位寄存器符号。