移位寄存器
编辑移位寄存器是一种数字电路,通过级联多个触发器来配置,以便数据在电路中移动(移位)。当简单地指代“移位寄存器”时,它通常指的是数字移位寄存器(而不是模拟移位寄存器)。
移位寄存器根据输入是串行还是并行而分为四种类型。串行输入并行输出类型(Serial-In,Parallel-Out,SIPO)和并行输入串行输出类型(Parallel-In,Serial-Out,PISO)用于转换串行数据和并行数据。还有串行输入串行输出类型(SISO)和并行输入并行输出类型(PIPO)。还有一个双向移位寄存器,可以改变移位方向。可以通过互连SISO移位寄存器的输入和输出来构造循环移位寄存器。另外,可以配置多维移位寄存器,并且可以执行更复杂的计算。
系列输入系列输出类型
编辑串行输入串行输出(SISO)移位寄存器是最简单的形式。数据是从输入端子串行输入,每个所述触发时钟信号被输入时,触发器由阶段前进阶段。此时,输入数据(位)被放入与输入连接的xxx触发器中,并且最终触发器所保持的数据(位)被输出并丢失。
触发器中存储的数据输出到“ Q”端子。每个触发器都保存1位数据,因此,如果使用4个触发器,它将成为4位寄存器。例如,假定移位寄存器的初始值为0000(即所有插槽均为空)。假定输入顺序为1,1,0,1,0,0,0,0。然后,流程如右表所示。最左边的列表示更靠近输入的触发器。换句话说,这种情况下的输出为11010000。如果继续输入,将以完全相同的顺序获得输出。
在简单的SISO移位寄存器中,输出数据会丢失。还可以配置一个电路,在指定输入位时保留输入位串。在这种情况下,移位寄存器的输出返回到输入,并且添加了指定用于读取和写入的新信号线,以在写入状态下用作普通移位寄存器,并在读取状态下用作循环移位寄存器。
移位寄存器的使用
编辑移位寄存器的最典型应用是串行/并行接口转换。许多逻辑电路并行处理位串,但串行接口更易于配置。移位寄存器还用作简单的延迟电路。当多个双向移位寄存器并联连接时,可以配置硬件堆栈。
移位寄存器还可用于增加脉冲宽度。与单稳态多谐振荡器相比,优点是时序不取决于组件的特性,而是需要时钟信号,并且时序的准确性取决于时钟周期。
早期的计算机使用移位寄存器进行数据处理。例如,可以通过串行加法器以最少的硬件资源来实现两个移位寄存器中包含的值的相加。
直到1970年代初,具有数千位的大型串行输入串行输出移位寄存器已被用作汞延迟线的替代产品。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/102443/