(整理)寄存器.
汇编语言寄存器和指令操作的整理

与DS联用, 指示数据段中某操作数的偏移量, 或与某一位移量共同构成操作数的偏移量. 串处理操作时, DI指示附加段中目的地址, 并有自动增量或减量的功能
段寄存器l CS 代码段
存放当前程序的指令代码
l DS 数据段
存放程序所涉及的源数据或结果
l SS 堆栈段
当运算结果的最高位为1时, SF为1, 否则为0. 最高位表示符号数的正和负
6. TF 跟踪标志位
用于调试程序时进入单步方式工作. TF=1时, 每条指令执行完后产生一个内部中断, 让用户检查指令运行后寄存器, 存储器和各标志位的内容. TF=0时, CPU工作正常, 不产生内部中断
7. IF 中断允许标志位
l POP DST ;出栈指令: 弹出栈顶元素, 后将栈顶指针向栈底方向移动一个字
l XCHG OPR1, OPR2 ;交换指令: 将这两个操作数交换
地址传送指令:
l LEA DST, SRC ;装载有效地址指令: 该指令将源操作数的偏移量OA装载到目的操作数中
算术运算指令加法指令:
l ADD DST, SRC ;DST+SRC的和存放到DST中去
l ADC DST, SRC ;带进位加法指令, DST+SRC+CF
l INC DST ;增1指令
减法指令:
l LOOPZ/LOOPE, LOOPNZ/LOOPNE ;前者用于找到第一个不为0的事件, 后者用于找到第一个为0的事件
子程序调用指令:
l imme: 立即数
l DST: 目的操作数
l SRC: 源操作数
l mem: 存储器操作数
寄存器作用

寄存器作用
寄存器是在计算机中用于暂存数据的一种硬件设备。
它是计算机体系结构中的重要组成部分,相当于一个小型的存储单元,能够快速存储和访问数据。
寄存器的主要作用包括以下几个方面:
1. 存储数据:寄存器作为计算机内部的数据存储单元,可以用来存储指令、操作数和中间结果等数据。
它的容量相对较小,但读写速度非常快,能够满足计算机对于短期存储的需求。
2. 执行运算:寄存器是执行运算和操作的数据源和目的地。
例如,在进行加法运算时,数字需要从内存中加载到寄存器中进行计算,计算结果再存储回内存。
通过使用寄存器,可以提高计算机的运算速度和性能。
3. 存储计算状态:寄存器还可以存储计算机的运算状态,例如程序计数器(PC)用来存储计算机当前执行的指令地址;标
志寄存器(FLAGS)用来存储在运算过程中产生的条件结果,如溢出、零、负等。
4. 传递参数:在函数调用过程中,寄存器用来传递参数和返回值。
由于寄存器的读写速度较快,可以节省数据在内存和寄存器之间的传输时间,提高函数调用的效率。
5. 控制程序流程:寄存器可以用来控制程序的跳转和分支。
通过修改程序计数器的值,可以实现无条件跳转、条件跳转等控
制流程的操作。
总之,寄存器在计算机中的作用非常重要。
它不仅能够存储和处理数据,还能够控制计算机的运行状态,提高计算机的运算速度和性能。
寄存器的设计和使用对于计算机的运行效率和性能有着重要的影响,是计算机体系结构中不可或缺的一部分。
51单片机寄存器(个人整理)

51单片机寄存器功能一览表fe51单片机的CPU中,有21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF存储空间中,地址空间为80H-FFH,在这片SF空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有OM,用来存放程序,有AM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):MCS-51单片机的特殊功能寄存器符号地址功能介绍BF0HB寄存器ACCE0H累加器PSWD0H程序状态字TH2*CDH定时器/计数器2(高8位)TL2*CCH定时器/计数器2(低8位)CAP2H*CBH外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位CAP2L*CAH外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位T2CON*C8HT2定时器/计数器控制寄存器IPB8H中断优先级控制寄存器P3B0HP3口锁存器IEA8H中断允许控制寄存器P2A0HP2口锁存器SBUF99H串行口锁存器SCON98H串行口控制寄存器P190HP1口锁存器TH18DH定时器/计数器1(高8位)TH08CH定时器/计数器1(低8位)TL18BH定时器/计数器0(高8位)TL08AH定时器/计数器0(低8位)TMOD89HT0、T1定时器/计数器方式控制寄存器TCON88HT0、T1定时器/计数器控制寄存器DPH83H数据地址指针(高8位)DPL82H数据地址指针(低8位)SP81H堆栈指针P080HP0口锁存器PCON87H电源控制寄存器分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
(2021年整理)mpu6050寄存器中文版

MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化为可输出的数字量。
为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16g。
在网上找了一会,好像MPU-6050没有中文的数据手册,由于本人也处于学习阶段,翻译的可能不太准确,只能表达一下简单的意思,以官方数据手册为准。
引脚说明:VDD 供电电压为2.5V±5%、3.0V±5%、3.3V±5%;VDDIO 为1.8V± 5%内建振荡器在工作温度范围内仅有±1%频率变化。
可选外部时钟输入32.768kHz 或19.2MHz找出几个重要的寄存器:1)Register 25 – Sample Rate Divider (SMPRT_DIV)1)SMPLRT_DIV 8位无符号值,通过该值将陀螺仪输出分频,得到采样频率该寄存器指定陀螺仪输出率的分频,用来产生MPU-60X0的采样率。
传感器寄存器的输出、FIFO输出、DMP采样和运动检测的都是基于该采样率。
采样率的计算公式采样率= 陀螺仪的输出率/ (1 + SMPLRT_DIV)当数字低通滤波器没有使能的时候,陀螺仪的输出平路等于8KHZ,反之等于1KHZ。
2)Register 26 – Configuration (CONFIG)1)EXT_SYNC_SET 3位无符号值,配置帧同步引脚的采样2)DLPF_CFG 3位无符号值,配置数字低通滤波器该寄存器为陀螺仪和加速度计配置外部帧同步(FSYNC)引脚采样和数字低通滤波器(DLPF)。
通过配置EXT_SYNC_SET,可以对连接到FSYNC引脚的一个外部信号进行采样。
MSP430F149寄存器整理

各个模块的寄存器:1)CPU内部寄存器(状态寄存器SR)2)外围模块寄存器和特殊寄存器中断使能寄存器(IE1)UTXIE0USART0模块的传输中断使能控制比特。
置1时模块的中断使能,0时关闭URXIE0USART0接收中断控制。
1中断使能、0中断关闭ACCVIEFLASH 存储器非法访问中断使能控制比特位。
1使能、0时关闭。
NMIE 非屏蔽中断使能控制。
1使能、0关闭OFIE 晶体出错中断使能控制。
1使能、0关闭WDTIE看门狗中断使能控制。
1使能看门狗中断、0关闭中断使能寄存器(IE2)****UTXIE15URXIE14********UTXIE1USART1模块传输中断使能控制。
1使能、0关闭URXIE1USART1模块接收中断使能控制。
1使能、0关闭中断标志寄存器(IFG1)UTXIFG07URXIFG 06**NMIIFG4****OFIFG 1WDTIFGUTXIFG0USART0传输中断标志位。
1时有中断产生、0没有URXIFG0USART0接收中断标志位。
1时有中断产生、0没有NMIIFG非屏蔽中断标志位。
1时有中断产生、0没有UTXIE07URXIE06ACCVIE5NMIIE4**3**2OFIE1WDTIEOFIFG晶体出错中断标志位。
1时有中断产生、0没有WDTIFG看门狗中断标志。
1时有中断产生、0时没有中断标志寄存器(IFG2)****UTXIFG15URXIFG14********UTXIFG1USART1传输中断标志位。
1时有中断产生、0时没有URXIFG1USART1接收中断标志位。
1时有中断产生、0时没有模块使能寄存器1(ME1)UTXE0 7URXE0USPIE0************UTXE0USART0的传输使能。
1时USART0传输模块使能、0时不工作URXE0 USPIE0USART作为UART时,该比特控制UART的接收功能,设置为1时接收模块使能,0时不工作;作为SPI时,设置为1,则SPI使能,0时SPI不工作。
(整理)锁存器、触发器、寄存器和缓冲器的区别

锁存器、触发器、寄存器和缓冲器一、锁存器锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态。
锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化。
(简单地说,它有两个输入,分别是一个有效信号EN,一个输入数据信号DATA_IN,它有一个输出Q,它的功能就是在EN有效的时候把DATA_IN的值传给Q,也就是锁存的过程)。
锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。
锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。
应用场合:数据有效迟后于时钟信号有效。
这意味着时钟信号先到,数据信号后到。
在某些运算器电路中有时采用锁存器作为数据暂存器。
缺点:时序分析较困难。
不要锁存器的原因有二:1、锁存器容易产生毛刺,2、锁存器在ASIC(专用集成电路)设计中应该说比ff(触发器)要简单,但是在FPGA的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和ff来组成锁存器,这样就浪费了资源。
(用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一)优点:面积小。
锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。
latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多。
二、触发器触发器(Flip-Flop,简写为FF),也叫双稳态门,又称双稳态触发器。
是一种可以在两种状态下运行的数字逻辑电路。
触发器一直保持它们的状态,直到它们收到输入脉冲,又称为触发。
当收到输入脉冲时,触发器输出就会根据规则改变状态,然后保持这种状态直到收到另一个触发。
寄存器CPU工作原理

考虑:CPU如何产生20位的物理地址呢?
整理课件
3
16位结构的CPU
8位机:8080,8085 16位机:8086 32位机:80386,80486 N位结构的含义:
运算器一次最多可以处理N位数据; 寄存器的最大宽度为N位 寄存器和运算器之间的通路是N位
IP:指令指针寄存器 CS和IP就指示了CPU当前要读取指令的地
址 设8086机中CS中内容为M,IP中内容为N,
则8086CPU将从内存M*16+N单元开始, 读取一条指令来执行 我们又可以表示成CS:IP
整理课件
12
8086CPU的工作过程
初始状态
整理课件
13
8086CPU的工作过程(续)
了解CPU的组成; 掌握各种寄存器,尤其是通用寄存器; 理解字在寄存器中的存储; 掌握几条简单的汇编指令; 掌握8086CPU的物理地址的形成; 了解段寄存器,掌握CS和IP的合用; 掌握jmp指令; 熟悉Debug调试工具;
整理课件
29
作业
检测点2.2,2.3
整理课件
30
Debug命令
整理课件
31
D命令——Display
使用D命令查看内存中的内容
格式1:d 段地址:偏移地址
• 功能:列出从指定内存单元开始的128个内存单元 的内容
格式2:d 段地址:起始偏址 结尾偏址
使用多种不同的段地址和偏移地址来查看 同一个物理地址的内容
整理课件
32
E命令——Enter
改写内存中的内容 格式:e 起始地址 数据 数据 数据……… 或者可以用E命令提问的方式来逐个修改从
寄存器概念整理

寄存器、RAM、ROM、Flash相关概念区别整理寄存器寄存器是中央处理器内的组成部份。
它跟CPU有关。
寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。
在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
存储器存储器范围最大,它几乎涵盖了所有关于存储的范畴。
你所说的寄存器,内存,都是存储器里面的一种。
凡是有存储能力的硬件,都可以称之为存储器,这是自然,硬盘更加明显了,它归入外存储器行列,由此可见——。
内存内存既专业名上的内存储器,它不是个什么神秘的东西,它也只是存储器中的沧海一粟,它包涵的范围也很大,一般分为只读存储器和随即存储器,以及最强悍的高速缓冲存储器(CACHE),只读存储器应用广泛,它通常是一块在硬件上集成的可读芯片,作用是识别与控制硬件,它的特点是只可读取,不能写入。
随机存储器的特点是可读可写,断电后一切数据都消失,我们所说的内存条就是指它了。
CACHE高速缓冲存储器(Cache)其原始意义是指存取速度比一般随机存取记忆体(RAM)来得快的一种RAM,一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM技术,也有快取记忆体的名称。
CACHE是在CPU中速度非常块,而容量却很小的一种存储器,它是计算机存储器中最强悍的存储器。
由于技术限制,容量很难提升,一般都不过兆。
ROM、RAM的区别:ROM(只读存储器或者固化存储器)RAM(随机存取存储器)ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),当数据被存入其中后不会消失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 寄存器在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。
由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
1.2 锁存器由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路。
数据有效迟后于时钟信号有效。
这意味着时钟信号先到,数据信号后到。
在某些运算器电路中有时采用锁存器作为数据暂存器。
1.3 缓冲器缓冲器相当于一个寄存器,暂时保存数据.缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。
除了在关键的地方采用少量硬件缓冲器之外,大都采用软件缓冲。
软件缓冲区是指在I/O操作期间用来临时存放输入/输出数据的一块存储区域。
在操作系统中,引入缓冲的主要原因如:缓和CPU与l/0设备间速度不匹配的矛盾。
一般情况下,程序的运行过程是时而进行计算,时而进行输入或输出。
以输出为例,如果没有缓冲,则程序在输出时,必然由于打印机的速度跟不上而使CPU停下来等待;然而在计算阶段,打印机又无事可做。
如果设置一个缓冲区,程序可以将待输出的数据先输出到缓冲区中,然后继续执行;而打印机则可以从缓冲区取出数据慢慢打印。
1.4 寄存器和锁存器的区别(1)寄存器是同步时钟控制,而锁存器是电位信号控制。
(2)寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化可见,寄存器和锁存器具有不同的应用场合,取决于控制方式以及控制信号和数据之间的时间关系:若数据有效一定滞后于控制信号有效,则只能使用锁;数据提前于控制信号而到达并且要求同步操作,则可用寄存器来存放数据。
一、锁存器1. 锁存器的工作原理锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。
锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。
锁存器原理见图锁存器是锁存控制信号输入端,D数据输入端,Q和是数据互补输出端。
Ⅰ:=0,左与门被封锁,被封锁输出∴Ⅱ:时,分两种情况(a) 输出,所以D不影响(b) 输出,所以D也不影响∴结论:原来状态不被改变,D不影响.由上述分析看出:也就是说, 由01时刻将数据D锁定并保持,直到由10.本例锁存器是控制信号上升沿锁存数据,高电平保持,非号的意义是低电平时输入数据可以直达输出端。
有的锁存器是控制信号C下降沿锁存低电平保持,即加一个非门将控制信号C反相;有的锁存器在输出端加一个三态门,由另一个控制信号OC控制;另外还有的锁存器带有直接置0(清除)、置1(预置)输入端,等同于触发器的R D,S D端。
集成锁存器有多种型号,如 TTL的74LS77,74LS363等,也有CMOS的如4508,4042,74HL373等,需要使用时可以查阅手册。
二、数据寄存器寄存器用于寄存一组二值代码,它被广泛的用于各类数字系统和计算机中。
因为一个触发器能储存1位二值代码,所以N个触发器组成的寄存器能储存一组N 位二值代码。
对寄存器中的触发器只要求它们具有置1,置0的功能即可,因而无论是用同步RS结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器,一般由D触发器组成。
下图给出一个4位数码寄存器,时钟CP被称为存数指令或存数命令,在CP脉冲的上升沿时刻,各触发器将各自数据输入端D的数据存入,除此时刻,无论CP是低电平、高电平、还是下降沿,各触发器保持各自的数据不变。
四位数码寄存器三、移位寄存器寄存器只有寄存数据或代码的功能。
有时为了处理数据,需要将寄存器中的各位数据在移位控制信号作用下,依次向高位或向低位移动1位。
具有移位功能的寄存器称为移位寄存器。
移位寄存器按数码移动方向分类有左移,右移,可控制双向(可逆)移位寄存器;按数据输入端、输出方式分类有串行和并行之分。
1. 串行码与通信数据通信几乎都用串行方式将传送的数据按时间顺序一位一位地传送,以节省电缆芯线条数,但是在终端的数据处理是并行的,这就需要在发送端将要发送的并行数据变成串行数据才能发送,而在接收端需要将接收到的串行数据再转换成并行数据进行处理,这些转换工作是由移位寄存器完成的。
2. 串入并出移位寄存器4位串入并出右移寄存器上图是一个简单的4位右移寄存器,在移位指令(CP脉冲)作用下输入数据D 存入FF3,Q3的状态移存到FF2,由此得到逻辑式:在四个CP脉冲之后,将四个串行码移位存入4个触发器,取出数据方式是在所有的触发器地Q端同时取出,称为并行输出,移位寄存器即完成了串行码到并行码的转换功能。
假设输入串行码为4位二进制数1011,输入方式为低位在先,也就是按1101地顺序依次输入,可以分析动作特点:经过4个时钟脉冲后,1011出现在寄存器输出端,这样就将串行输入D的数据转换为并行输出。
同时在第八个时钟脉冲作用后,数码从端全部移出寄存器,这说明存入该寄存器中的数码也可以从端串行输出。
既可以右移,又可以左移,而且除了D边沿触发器构成移位寄存器外,还可以用诸如JK等触发器构成移位寄存器。
3. 并入串出移位寄存器。
4位并入串出右移寄存器上图是一个简单的4位右移寄存器◆取样方式M=1时,CP的作用是取样指令。
在CP的作用下,输入数据~通过与非门存入~,即出现在输出第一个数据。
◆M=0时,封锁数据输入的与门,CP脉冲的作用也相应的转变为移位指令用逻辑式表示:假设输入并形码为1011输出方式位低位在先,也就是按1、1、0、1顺序输出,我们可以画出状态表和波形图。
4位串入并出右移寄存器状态表和状态图4. 双向移位寄存器前面讲的右向移位寄存器:左边触发器的输出作为右邻触发器的数据的数据输入。
如果让右边触发器的输出作为左邻触发器的输入,则可构成左向移位寄存器。
当然如果增加一些控制门后,则可以实现双向移位寄存器。
在二进制数之计算中,左移相当于对数值乘2,右移相当于对数值除2,因而在计算机中常使用的既能左移又能右移的双向寄存器。
在移存型计数器中介绍集成双向移位寄存器74194。
四、寄存器的应用1. 可以完成数据的并串、串并转换2.可以用做显示数据锁存器许多设备需要显示计数器的记数值,以8421BCD码记数,以七段显示器显示,如果记数速度较高,人眼则无法辨认迅速变化的显示字符。
在计数器和译码器之间加入一个锁存器,控制数据的显示时间是常用的方法。
3.用作缓冲器缓冲器在数字系统中用途很多:(1)如果器件带负载能力有限,可加一级带驱动器的缓冲器;(2)前后级间逻辑电平不同,可用电平转换器加以匹配;(3)逻辑极性不同或需要将单性变量转换为互补变量时,加带反相缓冲器;(4)需要将缓变信号变为边沿陡峭信号时,加带施密特电路的缓冲器(5)数据传输和处理中不同装置间温度和时间不同时,加一级缓冲器进行弥补等等。
74LS373、74LS374即为带动驱动器的组件,可以用作缓冲器,能够完成上述(1)、(5)两个任务。
4. 组成计数器移位寄存器可以组成移位型计数器,如环形或扭环形计数器。
寄存器一般是边沿触发的触发器,电路里叫register,而触发器就是楼上所说的各种逻辑门构成的包含电平触发和边沿触发的两种,而锁存器则是电平触发的。
所以一般说来,我们只叫寄存器和锁存器两种,在时序电路中寄存器的作用就是只在时钟的边沿有效传输data(setup time和hold time满足),而锁存器则在有效电平器件都可以传输data寄存器:register,由时钟沿触发的,一般是主从的,我们这数字电路里也学过主要是由传输门和反向器构成,应用很广!锁存器:latch,由电平触发,有很很多种,有我们数字电路里学的JK,RS等,一般是用传输门和反向器构成构成在较多,其优点是面积小,但时序分析较困难!触发器一般是指寄存器:flip-flopD触发器上电时Q和Q非的电平是怎样的?D触发器刚上不定的。
只有当有反馈后才知道。
可以在R、S端加RC延时电路来预制初态锁存器在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。
由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。
触发器触发器是边沿敏感的存储单元,数据存储的动作有某一信号的上升或者下降沿进行同步的。
在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。
由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
寄存器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。
寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。
触发器是在时钟的沿进行数据的锁存的,而锁存器是用电平使能来锁存数据的。
所以触发器的Q输出端在每一个时钟沿都会被更新,而锁存器只能在使能电平有效器件才会被更新。
有一些教科书里的触发器实际是锁存器。
在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是锁存器。
钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器,钟控D触发器在使能情况下输出随输入变化,边沿触发器只有在边沿跳变的情况下输出才变化。
两个D锁存器可以构成一个D触发器,归根到底还是dff是边沿触发的,而latch是电平触发的。
锁存器的输出对输入透明的,输入是什么,输出就是什么,这就是锁存器不稳定的原因,而触发器是由两个锁存器构成的一个主从触发器,输出对输入是不透明的,必须在时钟的上升/下降沿才会将输入体现到输出,所以能够消除输入的毛刺信号。
触发器与锁存器的比较:1、latch由电平触发,非同步控制。
在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。
DFF由时钟沿触发,同步控制。
2、latch对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生;DFF则不易产生毛刺。
3、如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。