精华内容
下载资源
问答
  • 寄存器是一种什么逻辑电路
    千次阅读
    2016-11-01 22:49:15
    1)组合逻辑电路:输出只与当时的输入有关,如与门、非门、或门等各种门电路;
    2)触发器:是一个具有记忆功能的、具有两个稳定状态(0或1)的信息存储器件,是构成多种时序逻辑电路的基本逻辑单元,由门电路组成,包含D触发器、JK触发器、RS触发器等;
    3)时序逻辑电路:输出不仅与当时的输入有关,还与电路原来的状态有关,可以理解包含触发器的电路称作时序逻辑电路;
    4)寄存器:寄存器是CPU内部用来存放数据的一些小型存储区域,基本单元是D触发器,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
    5)存储器:是CPU外部用来存放数据的存储区域,基本单元为触发器,用来存储数据,分为RAM和ROM。
    更多相关内容
  •  摘要:在介绍VXI总线协议的基础上,通过对器件寻址、端口地址译码、DTB总线仲裁和中断仲裁等几部分工作原理的分析,提出了一种VXI寄存器基接口电路的实现方法,并给出了用可编程逻辑器件实现的过程。该接口电路已...
  • 寄存器和移位寄存器、计数器功能介绍

    前言

    《数字电子技术基础》第6.3节学习笔记

    6.3.1 寄存器和移位寄存器

    一、寄存器

    寄存器(Register)用来寄存一组二值代码,它被广泛地用于各类数字系统和计算机中。N个触发器组成的寄存器能储存N位二进制代码。如74LS75、74HC175:

    74LS75:使用电平触发的同步SR触发器组成的4位寄存器,因此当CLK=1时,Q端跟随D端状态;当CLK=0时,Q端保持最后CLK变化时D端的状态。

    74HC175:使用CMOS边沿触发器组成的4位寄存器,因此只有当CLK处于上升沿时,Q端的状态才会跟随D端状态,否则Q端保持状态,RD'是添加三态门的复位控制端。

    以上两种寄存器都为并行输入,输出的。

    二、移位寄存器

    移位寄存器(Shift Register)除了具有储存代码的功能外,还具有移位功能(通过移位脉冲控制左移和右移),并且可以实现数据的串-并转换、数值运算及数据处理等。

    上图电路是由边沿触发的D触发器组成的4位移位寄存器。当CLK是上升沿是触发器才进行传输,例如,在4个时钟周期内(4个上升沿)输入代码依次为1011,而移位寄存器的初识状态为Q_{0}Q_{1}Q_{2}Q_{3}=0000,在移位脉冲的作用下变化如下表:

    如下图,使用JK触发器组成的4位移位寄存器:

    为分析74LS194A的功能这里以FF1为例进行说明,如图G1实现的是4选1数据选择器。

    S0S1=00时,a0导通,FF1中当CLK上升沿时Q1=Q1,锁存功能。

    S0S1=01时,a1导通,FF1中CLK上升沿时Q1=Q2,左移功能。

    S0S1=10时,a2导通,FF1中CLK上升沿时Q1=Q0,右移功能。

    S0S1=11时,a3导通,FF1中CLK上升沿时Q1=D1,并行输入功能。

    这里还增加了三态门控制端R_{D}^{'}=1时,电路才处于工作状态,否则全为0。

    当位不够时,可以通过并接74LS194A实现位扩展

    6.3.2 计数器

    • 用于计数、分频、定时、产生节拍脉冲等
    • 分类:
    1. 按时钟分:同步、异步
    2. 按计数过程运算:加、减和可逆
    3. 按数字编码:二进制、二-十进制和循环码...
    4. 按计数容量:十进制、六十进制...

    一、同步计数器

    1、同步二进制计数器

    • 同步二进制加计数器

    原理:根据二进制加法运算规则:在多位二进制数末位加1,若第i位以下皆为1时,则第i位应翻转。

    同步触发器通常用T触发器构成,结构有两种。

    当T=1时,只要有脉冲输出就翻转,对于最低为是正常的。高一位的应何时翻转?第一位的为1时,来脉冲才进行翻转。类似的可以往后推。同时可得出逻辑式:

     实际对应的常用器件:74161芯片

     逻辑图:

    另外一种结构:

    FF有clk的上升沿控制,而其上升沿的产生确是Q和CLK为高电平时控制,这样可能会有些时间延迟,并不是在CLK上升沿时进行翻转。

    •  同步二进制减计数器

    原理:根据二进制加法运算规则:在多位二进制数末位减1,若第i位以下皆为0时,则第i位应翻转。

    • 同步二进制加减计数器

    a、单时钟方式

    加、减脉冲同一输入端,由加减控制线的高低电平决定加、减。

    实际典型器件:74LS191(使用T触发器)

     a、双时钟方式

    实际对应器件为:74LS193(采用T触发器,即T=1)

    使用时谨慎使用,CLKD和CLKU时钟会产生竞争冒险,因此在使用时加入外部控制电路。

    2、同步十进制计数器 

    • 同步十进制加法计数器

    基本原理:二进制的结构实现十进制,在四位二进制计数器基础上修改,只用到了10进位

                     当计到1001时,则下一个CLK电路状态回到0000

    即1001的下一个状态为0000,原本时1010,也就是将1001的下一个状态的1010变成0000。

    相对于1010、0000来说,Q0、Q2的变化规则是正确的,而Q1、Q3需要改变。

    对于1010的变化规则是:

    T3=Q2Q1Q0,如果将1010带入T3=0,那么下一个状态依然是Q3*=1。

    T1=Q0,将1010带入T1=0,那么下一状态依然是Q0*=1.

    这里希望下一状态Q3*=0,则需要将T3=1,相对于1001来说,只需要译Q3Q0即可,因此得到T3=Q2Q1Q0+Q3Q0。

    同理希望下一状态Q1*=0,则需要将T1=1,相对于1001来说,只需要将 (Q3Q0)'即可,因此得到的T0=Q0(Q3Q0)'=Q0Q3'。

    现实器件:74160,十进制加计数,控制和74161相同。 

    •  同步十进制减法计数器

    即0000的下一个状态为1001,原本时1111。

    所以只要改变T1和T2即可。

    根据以上可以将其改成16进制以下的任意进制加减计数器。

    二、同步计数器

    1、异步二进制计数器

    • 异步二进制加法器

    在末位+1时,从地位到高位逐位进位方式工作,原则:每1位从“1”变"0"时,向高位发出进位,使得高位翻转。

     tpd的时长会越来越长

    •  异步二进制减法器

    •  异步十进制计数器

     74LS290,若CLK0为计数器的输入端、Q0为输出端,即得到二进制计数器(或二分频器);

                       若CLK1为计数器的输入端、Q3为输出端,即得到五进制计数器(或五分频器);

            若将CLK1与Q0相连,同时CLK0为输入端、Q3为输出端,则得到十进制计数器(十分频器)

     三、任意进制计数器的构成方法

    已有N进制芯片,组成M进制计数器,是常用的方法。

    1、N>M

                                  置零法:异步和同步;                预置数法:异步和同步

    利用同步十进制计数器74160接成同步六进制计数器。

    全译码:  如下图同步置0,异步置0时需要将0110这个状态赋值给RD'。红框为变成六进制后新印出来的框。

    对于图6.3.33电路来说从0101跳到0000状态的时间只有门电路的延迟时间,在进位也属于一个数的变化所以应该也属于一个数的变化时间。

    加入了一个锁存器,将输入锁存了半个周期的时间,将时延扩展了时间。

     预置数法:

    当达到进位条件时,将进位条件作为LD'置位触发,将D0D1D2D3置入到Q0Q1Q2Q3,需要关注置入状态和置入的条件。

     得CLK可以直接置入,当输出状态变为0101也就是6时,作为触发LD'的触发信号,将D0D1D2D3

    2、N<M

    • M = N1XN2,如60进制即6进制与10进制来搭

    N1和N2有两种链接方式:

    1. 并行进位方式:用同一个CLK,地位片的进位输出作为高位的计数控制信号
    2. 串行进位方式:低位片的进位输出作为高位片的CLK,两片时钟同时处于计数状态

    偶数:两片同步十进制计数器接成百进制计数器

    只有低位片进位的时候CLK才对高位片起作用进行计数。并行,同步电路

    进位信号作为高位片的时钟进行计数,串行,异步

    显示时会有问题,由于C进位的上升沿实在状态1001开始,当高位片显示1的时候地位仍然会处于1/4周期的状态9,然后再跳变1/4周期,所以显示时会出现8(1/2周期)、9(1/4周期)、19(1/4周期)、10(1/2周期)。因此这里加入了一个反相器,将下降沿变成上升沿,也就是取的1001结束的状态进行进位,将高位片进位导致的显示滞后1/4个周期。

    奇数:将两片同步十进制计数器74160接成29进制计数器

    整体置零(异步)

    只要将29时的译码出来,作为整体置0的条件。

    整体置数(同步)

    四、移位寄存器型计数器

    1、环形计数器

     由于上面电路由无效状态,不能完成自启动,因此设计成自启动电路:

    2、扭环形计数器 

    计数器应用实例:

    例1:计数器+译码器——顺序节拍脉冲发生器

    例2:计数器+数据选择器——序列脉冲发生器

    6.3.3 顺序脉冲发生器

    6.3.4 序列信号发生器

    展开全文
  • 寄存器电路

    2021-07-28 06:44:41
    在数字电路系统工作过程中,把正在处理的二进制数据或代码暂时存储起来的操作叫做寄存,寄存器电路就是实现寄存功能的电路,是数字逻辑电路的基础模块。[1]中文名寄存器电路外文名register circuit拼音jì cún qì ...

    在数字电路系统工作过程中,把正在处理的二进制数据或代码暂时存储起来的操作叫做寄存,寄存器电路就是实现寄存功能的电路,是数字逻辑电路的基础模块。[1]

    中文名

    寄存器电路

    外文名

    register circuit

    拼    音

    jì cún qì diàn lù定    义

    实现寄存功能的电路

    属    性

    数字逻辑电路的基础模块

    应用学科

    计算机

    寄存器电路概述

    编辑

    语音

    任何现代的数字电路系统,特别是一些大型的数字处理系统,往往不可能一次性地把所有的数据都处理好,因此在处理的过程中都必须把需要处理的某些数据、代码先寄存起来,以便在需要的时候随时取用。

    在数字电路系统工作过程中,把正在处理的二进制数据或代码暂时存储起来的操作叫做寄存,实现寄存功能的电路称为寄存器。寄存器是一种最基本的时序逻辑电路,在各种数字电路系统中几乎是无所不在,使用非常广泛。常用的集成电路寄存器按能够寄存数据的位数来命名,如4位寄存器、8位寄存器、16位寄存器等。

    寄存器按它具备的功能可分为两大类:数码寄存器和移位寄存器。若按照寄存器内部组成电路所使用的晶体管不同种类来区分,可以分成如晶体管一晶体管逻辑(TTL)、互补场效应晶体管逻辑(CMOS)等许多种类,目前使用最多的就是TTL寄存器和CMOS寄存器,它们都是中、小规模的集成电路器件。[1]

    14d966bbde9c93cc5939c6005482e576.png

    图1寄存器电路是数字逻辑电路的基础模块。寄存器用于寄存一组二值代码,它被广泛地用于各类数字系统和数字计算机中。由于一个触发器能够存储一位二值代码,所以用N个触发器能够存储N位二值代码。对于寄存器中的触发器,只要求它们具有置高电平1、置低电平0的功能就可以了,因此,无论是用同步R-S结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器电路。

    在计算机 CPU 中,为配合全加器的算术运算, N 个触发器串联可组成移位寄存器。例如,由四位D触发器组成的向有数据移位的移位寄存器以及移位波形图如图1所示。[2]

    寄存器电路基本寄存器电路

    编辑

    语音

    寄存器电路定义

    65b094887da72797b56375bc2c9b39f4.png

    图2基本寄存器是由触发器组成的,一个触发器就是一个寄存器,它可以储存一位二进制数码。需要存储四位二进制数码时,只要把四个触发器并联起来,就可以组成一个四位二进制寄存器,它能接受和存储四位二进制数码。图2是由4个D触发器构成的基本寄存器逻辑电路,每个触发器的cP端并联起来作为控制端。需要存储的数码加到触发器的D输入端。四个触发器的CP端接在一起,成为寄存器的控制端,需要存储的数码加到触发器的D输入端。

    寄存器电路特点

    根据D触发器的性质,上述的寄存器有以下基本特点。

    (1)CP=0

    当CP=0时,触发器保持原状态不变,即:bc08d0108a0b8dedf07cc5252edb1d3c.svg

    (2)CP=1

    当CP=1(上升沿)时,触发器的状态为D输入端的状态,即:8ab2222fe0ce5c2dfd305e7fd0228c05.svg

    由此可见,D触发器只在CP=1(上升沿)时,才会接收和存储数码。

    另外,由于4个触发器的9bff704fe8d75e5fab25e1eb058fc1f1.svg端也并联在一起。因此,如果在瓦D端加上负脉冲,就可将全部触发器均置为0态,通常将这一过程称为清零,也叫置0端。

    寄存器电路工作原理

    如果要存储二进制数1001,它们被分别加到触发器的D输入端。当时钟脉冲CP到来时,由于D触发器的特性是在CP=1时,62ba0a7193563c4d690930c9e3e4d8a2.svg,所以在CP脉冲的上升沿时,4个触发器的状态从高位到低位被分别置为1001,只要不出现清零脉冲或新的接收脉冲和数码,寄存器将一直保持这个状态不变,即输入的二进制码1001被存储在该寄存器中。 如果想从寄存器中取出1001数码,则只要从寄存器的各个Q输出端就可以获得。[3]

    寄存器电路移动寄存器电路

    编辑

    语音

    寄存器电路定义

    移位寄存器电路和锁存器电路一样,都是暂时存放数据的部件。数字电路中常要进行加减乘除运算,加法和减法运算通常是用加法器和减法器来完成,而乘除运算则是用移位以后再加减的方法完成的。数字信号在传送时,将数码一位一位按顺序传送的方式叫串行传送,将几位数码同时传送的叫并行传送。因此,对于寄存器电路除要求它能接收、存储和传送数码外,有时还要求它把数码进行移位,这种寄存器电路被称为移位寄存器电路。

    寄存器电路适用场合

    移位寄存器是数字系统中的一个重要部件,应用很广泛。例如在串行运算中,需要用移位寄存器把二进制的数据—位一位依次送入,再用全加器进行运算。运算的结果又一位一位依次存入移位寄存器中。在有些数字装置中,要将并行传送的数据转换成串行传送,或者将串行传送的数据转换成并行传送,要完成这些转换也霈要使用移位寄存器。

    寄存器电路电路特征

    从逻辑结构上看,移位寄存器电路有以下2个显著特征。

    (1)由相同寄存单元组成

    移位寄存器是由相同的寄存单元组成的。一般来说,寄存单元的个数就是移位寄存器的位数。为了完成不同的移位功能,每个寄存单元的输出与其相邻的下一个寄存单元输入之间的连接方式也不同。

    (2)公用时钟

    所有寄存单元公用一个时钟,在公共时钟作用下,各个寄存单元的工作是同步的。每输入一个时钟脉冲,7寄存器的数据就顺序伺左或向右移动一位。寄存单元一般是主从结构的触发器。

    寄存器电路移位寄存器类型

    CMOS移位寄存器属子中规模集成电路,通常可按数据传输方式的不同进行分类,从数据输入方式看,移位寄存器有串行输入和并行输入之分。串行输入就是在时钟脉冲作用下,把要输入的数据从一个输入端依次一位一位地送入寄存器。并行输入就是把要输入的数据从几个输入端同时送入寄存器。

    在CMOS移位寄存器中,有的品种只具有1种输入方式,例如只具有串行输入方式,但也有些品种同时兼有并行和串行2种方式。串行输入的数据加到第一个寄存单元的输入端,在时钟脉冲的作用下输入;数据传送速度较慢。并行输入的数据一般由寄存单元的R、S端送入,传送速度较快。[3]

    寄存器电路寄存器电路建模

    编辑

    语音

    寄存器和组合逻辑是数字逻辑电路的两大基本要素。寄存器一般和同步时序逻辑关联,其特点为仅当时钟的沿(上升沿或下降沿)到达时,才有可能发生输出的改变。根据实现目标不同,寄存器的建模结构略有不同,需要注意如下要点:

    ①寄存器信号声明:寄存器定义是reg型。但是请注意,这个命题的反命题不一定成立。某些信号虽然被定义为reg型,但是最终综合实现结果并不是寄存器,如“cnt—out—plus”虽然被指定为reg型,但是实现时是纯组合逻辑。只有定义为reg型,且always的敏感表为posedge或negedge沿敏感操作时,该信号才是寄存器。

    ②时钟输入:在每个时钟的正沿或负沿对数据进行处理。数据的正沿或负沿起作用,是在always的敏感表中通过posedge和negedge指定的。

    ③异步复位/置位:绝大多数目标器件的寄存器模型都包含异步复位/置位端。异步复位/置位是指无论时钟沿是否有效,当复位/置位信号有效沿到达时,复位/置位立即发挥功能。指定异步复位/置位时,只需在always的敏感表中加入复位/置位信号的有效沿即可。下例描述的异步复位电路是最常用的寄存器复位形式之一。

    ④同步复位/置位:任何寄存器都可实现同步复位/置位功能。指定同步复位/置位时,always的敏感表中仅有时钟沿信号,当同步复位/置位信号变化时,同步复位/置位并不立即发生,仅仅当时钟沿采到同步复位/置位的有效电平时,才会在时钟沿到达时刻进行复位/置位操作。

    ⑤同时使用时钟上升和下降沿的问题:有时因为数据采样或调整数据相位等需求,设计者会在一个always的敏感表中同时使用时钟的posedge和negedge,或者在两个always的敏感表中分别使用时钟的posedge和negedge对某些寄存器电路操作。在这两种描述下,当时钟上沿或下沿到达时,该寄存器电路都会做相应的操作。这个双沿电路往往可以等同于使用了原时钟的倍频时钟的单沿操作电路。对于实现在PLD的设计而言,同时使用时钟的上、下沿往往是不推荐的,因为PLD内嵌的PLL/DLL和一些时钟电路往往只能对时钟的一个沿保证非常好的指标,而另一个沿的抖动、偏斜、斜率等指标不见得非常优化,有时同时使用时钟的正负沿会因时钟的抖动、偏斜、占空比、斜率等问题造成一定的性能恶化。因此推荐的做法是:将原时钟通过PLL/DLL倍频,然后使用倍频时钟的单沿(如上升沿)进行操作。但是电路设计不可一概而论,如果必须使用时钟的双沿对同一个寄存器操作时,请设计者明确此时相当于使用了倍频时钟。[4]

    词条图册

    更多图册

    参考资料

    1.

    穆克.电子电路识读一本通:化学工业出版社,2011-03:120

    2.

    孙一林.微型机系统与接口技术:清华大学出版社,2015-09:18

    3.

    孙余凯.电子电路分析与实践:人民邮电出版社,2010-08

    4.

    EDA先锋工作室.轻松成为设计高手:VERILOG HDL实用精解:北京航空航天大学出版社,2012-06

    展开全文
  • 寄存器,寄存器什么意思

    千次阅读 2021-07-28 06:43:33
    寄存器,寄存器什么意思寄存器定义寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器...

    寄存器,寄存器是什么意思

    寄存器定义

    寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。

    寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个 “8 位元寄存器”或 “32 位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。

    寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为 “架构寄存器”。

    例如,x86 指令集定义八个 32 位元寄存器的集合,但一个实作 x86 指令集的 CPU 可以包含比八个更多的寄存器。

    寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

    特点及原理

    寄存器又分为内部寄存器与外部寄存器,所谓内部寄存器,其实也是一些小的存储单元,也能存储数据。但同存储器相比,寄存器又有自己独有的特点:

    ①寄存器位于CPU内部,数量很少,仅十四个;

    ②寄存器所能存储的数据不一定是8bit,有一些寄存器可以存储16bit数据,对于386/486处理器中的一些寄存器则能存储32bit数据;

    ③每个内部寄存器都有一个名字,而没有类似存储器的地址编号。

    寄存器的功能十分重要,CPU对存储器中的数据进行处理时,往往先把数据取到内部寄存器中,而后再作处理。外部寄存器是计算机中其它一些部件上用于暂存数据的寄存器,它与CPU之间通过“端口”交换数据,外部寄存器具有寄存器和内存储器双重特点。有些时候我们常把外部寄存器就称为“端口”,这种说法不太严格,但经常这样说。

    外部寄存器虽然也用于存放数据,但是它保存的数据具有特殊的用途。某些寄存器中各个位的0、1状态反映了外部设备的工作状态或方式;还有一些寄存器中的各个位可对外部设备进行控制;也有一些端口作为CPU同外部设备交换数据的通路。所以说,端口是CPU和外设间的联系桥梁。CPU对端口的访问也是依据端口的“编号”(地址),这一点又和访问存储器一样。不过考虑到机器所联接的外设数量并不多,所以在设计机器的时候仅安排了1024个端口地址,端口地址范围为0--3FFH。

    寄存器用途

    1.可将寄存器内的数据执行算术及逻辑运算;

    2.存于寄存器内的地址可用来指向内存的某个位置,即寻址;

    3.可以用来读写数据到电脑的周边设备。

    数据寄存器

    8086 有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。

    (1)通用寄存器有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).

    顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。

    数据寄存器分为:

    AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.

    BH&BL=BX(base):基址寄存器,常用于地址索引;

    CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.

    DH&DL=DX(data):数据寄存器,常用于数据传递。

    他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。

    另一组是指针寄存器和变址寄存器,包括:

    SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;

    BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;

    SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;

    DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。

    这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。

    (2) 指令指针IP(Instruction Pointer)

    指令指针IP是一个16位专用寄存器,它指向当前需要取出的指令字节,当BIU从内存中取出一个指令字节后,IP就自动加1,指向下一个指令字节。注意,IP指向的是指令地址的段内地址偏移量,又称偏移地址(Offset Address)或有效地址(EA,Effective Address)。

    (3)标志寄存器FR(Flag Register)

    8086有一个18位的标志寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。

    OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。

    DF:方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。

    IF:中断允许标志IF位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下:

    (1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;

    (2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。

    TF:跟踪标志TF。该标志可用于程序调试。TF标志没有专门的指令来设置或清楚。

    (1)如果TF=1,则CPU处于单步执行指令的工作方式,此时每执行完一条指令,就显示CPU内各个寄存器的当前值及CPU将要执行的下一条指令。

    (2)如果TF=0,则处于连续工作模式。

    SF:符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。当运算结果没有产生溢出时,运算结果等于逻辑结果(即因该得到的正确的结果),此时SF表示的是逻辑结果的正负,当运算结果产生溢出时,运算结果不等于逻辑结果,此时的SF值所表示的正负情况与逻辑结果相反,即:SF=0时,逻辑结果为负,SF=1时,逻辑结果为正。

    ZF: 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。

    AF:下列情况下,辅助进位标志AF的值被置为1,否则其值为0:

    (1)、在字操作时,发生低字节向高字节进位或借位时;

    (2)、在字节操作时,发生低4位向高4位进位或借位时。

    PF:奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。

    CF:进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。

    (4)段寄存器(Segment Register)

    为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:

    CS(Code Segment):代码段寄存器;

    DS(Data Segment):数据段寄存器;

    SS(Stack Segment):堆栈段寄存器;

    ES(Extra Segment):附加段寄存器。

    当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。 所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。

    以上是8086寄存器的整体概况, 自80386开始,PC进入32bit时代,其寻址方式,寄存器大小,功能等都发生了变化。

    =============================以下是80386的寄存器的一些资料======================================

    寄存器都是32-bits宽。

    A、通用寄存器

    下面介绍通用寄存器及其习惯用法。顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。通用寄存器最多的用途是计算。

    EAX:通用寄存器。相对其他寄存器,在进行运算方面比较常用。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器)

    EBX:通用寄存器。通常作为内存偏移指针使用(相对于EAX、ECX、EDX),DS是默认的段寄存器或选择器。在保护模式中,同样可以起这个作用。

    ECX:通用寄存器。通常用于特定指令的计数。在保护模式中,也可以作为内存偏移指针(此时,DS作为 寄存器或段选择器)。

    EDX:通用寄存器。在某些运算中作为EAX的溢出寄存器(例如乘、除)。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器)。

    同AX分为AH&AL一样,上述寄存器包括对应的16-bit分组和8-bit分组。

    B、用作内存指针的特殊寄存器

    ESI:通常在内存操作指令中作为“源地址指针”使用。当然,ESI可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。

    EDI:通常在内存操作指令中作为“目的地址指针”使用。当然,EDI也可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。

    EBP:这也是一个作为指针的寄存器。通常,它被高级语言编译器用以建造‘堆栈帧'来保存函数或过程的局部变量,不过,还是那句话,你可以在其中保存你希望的任何数据。SS是它的默认段寄存器或选择器。

    注意,这三个寄存器没有对应的8-bit分组。换言之,你可以通过SI、DI、BP作为别名访问他们的低16位,却没有办法直接访问他们的低8位。

    C、段选择器:

    实模式下的段寄存器到保护模式下摇身一变就成了选择器。不同的是,实模式下的“段寄存器”是16-bit的,而保护模式下的选择器是32-bit的。

    CS 代码段,或代码选择器。同IP寄存器(稍后介绍)一同指向当前正在执行的那个地址。处理器执行时从这个寄存器指向的段(实模式)或内存(保护模式)中获取指令。除了跳转或其他分支指令之外,你无法修改这个寄存器的内容。

    DS 数据段,或数据选择器。这个寄存器的低16 bit连同ESI一同指向的指令将要处理的内存。同时,所有的内存操作指令 默认情况下都用它指定操作段(实模式)或内存(作为选择器,在保护模式。这个寄存器可以被装入任意数值,然而在这么做的时候需要小心一些。方法是,首先把数据送给AX,然后再把它从AX传送给DS(当然,也可以通过堆栈来做).

    ES 附加段,或附加选择器。这个寄存器的低16 bit连同EDI一同指向的指令将要处理的内存。同样的,这个寄存器可以被装入任意数值,方法和DS类似。

    FS F段或F选择器(推测F可能是Free?)。可以用这个寄存器作为默认段寄存器或选择器的一个替代品。它可以被装入任何数值,方法和DS类似。

    GS G段或G选择器(G的意义和F一样,没有在Intel的文档中解释)。它和FS几乎完全一样。

    SS 堆栈段或堆栈选择器。这个寄存器的低16 bit连同ESP一同指向下一次堆栈操作(push和pop)所要使用的堆栈地址。这个寄存器也可以被装入任意数值,你可以通过入栈和出栈操作来给他赋值,不过由于堆栈对于很多操作有很重要的意义,因此,不正确的修改有可能造成对堆栈的破坏。

    * 注意 一定不要在初学汇编的阶段把这些寄存器弄混。他们非常重要,而一旦你掌握了他们,你就可以对他们做任意的操作了。段寄存器,或选择器,在没有指定的情况下都是使用默认的那个。这句话在现在看来可能有点稀里糊涂,不过你很快就会在后面知道如何去做。

    指令指针寄存器:

    EIP 这个寄存器非常的重要。这是一个32位宽的寄存器 ,同CS一同指向即将执行的那条指令的地址。不能够直接修改这个寄存器的值,修改它的唯一方法是跳转或分支指令。(CS是默认的段或选择器)

    上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能没有听说过它们。(都是32位宽):

    CR0, CR2, CR3(控制寄存器)。举一个例子,CR0的作用是切换实模式和保护模式。

    还有其他一些寄存器,D0, D1, D2, D3, D6和D7(调试寄存器)。他们可以作为调试器的硬件支持来设置条件断点。

    TR3, TR4, TR5, TR6 和 TR? 寄存器(测试寄存器)用于某些条件测试。

    寄存器分类

    数据寄存器 - 用来储存整数数字(参考以下的浮点寄存器)。在某些简单/旧的 CPU,特别的数据寄存器是累加器,作为数学计算之用。

    地址寄存器 - 持有存储器地址,以及用来访问存储器。在某些简单/旧的CPU里,特别的地址寄存器是索引寄存器(可能出现一个或多个)。

    通用目的寄存器 (GPRs) - 可以保存数据或地址两者,也就是说他们是结合 数据/地址 寄存器的功用。

    浮点寄存器 (FPRs) - 用来储存浮点数字。

    常数寄存器 - 用来持有只读的数值(例如 0、1、圆周率等等)。

    向量寄存器 - 用来储存由向量处理器运行SIMD(Single Instruction, Multiple Data)指令所得到的数据。

    特殊目的寄存器 - 储存CPU内部的数据,像是程序计数器(或称为指令指针),堆栈寄存器,以及状态寄存器(或称微处理器状态字组)。

    指令寄存器(instruction register) - 储存现在正在被运行的指令

    索引寄存器(index register) - 是在程序运行实用来更改运算对象地址之用。

    在某些架构下,模式指示寄存器(也称为“机器指示寄存器”)储存和设置跟处理器自己有关的数据。由于他们的意图目的是附加到特定处理器的设计,因此他们并不被预期会成微处理器世代之间保留的标准。

    有关从 随机存取存储器 提取信息的寄存器与CPU(位于不同芯片的储存寄存器集合)

    存储器缓冲寄存器(Memory buffer register)

    存储器数据寄存器(Memory data register)

    存储器地址寄存器(Memory address register)

    存储器型态范围寄存器(Memory Type Range Registers)[1][2]

    寄存器:

    寄存器是计算机和其他数字系统中用来存储代码或数据的逻辑部件。它的主要组成部分是触发器。一个触发器能存储1位二进制代码,所以要存储n位二进制代码的寄存器就需要用n个触发器组成。一个4位的集成寄存器74LS175的逻辑电路图和引脚图分别如图8.7.1(a)、(b)所示。其中,RD是异步清零控制端。在往寄存器中寄存数据或代码之前,必须先将寄存器清零,否则有可能出错。1D~4D 是数据输入端,在CP 脉冲上升沿作用下,1D~4D端的数据被并行地存入寄存器。输出数据可以并行从1Q~4Q 端引出,也可以并行从1Q~4Q 端引出反码输出。

    5dbab668d273ed04a3e15131558d8282.png

    74LS175的功能如表8.7.1所示。

    41ac387e577a99bfc0df96a889c5fe17.png

    上面介绍的寄存器只有寄存数据或代码的功能。有时为了处理数据,需要将寄存器中的各位数据在移位控制信号作用下,依次向高位或向低位移动1位。具有移位功能的寄存器称为移位寄存器。

    展开全文
  • 另 外,寄存器还应有执行数据接收和清除命令的 控制电路,一般由门电路构成。 按接收数码的方式不同,寄存器有双拍工 作方式和单拍工作方式两。 双拍工作方式寄存器 拍清零;拍接受指令 给个低...
  • 摘要:使用d兼容为基础的宽压缩,设计了一种用于混合式机内自动测试的新型测试生成电路。这种测试电路具有每个时钟循环都对电路进行测试的特点,特别适合于自动计数的设计和自测结构。关键字:错误覆盖;实验时钟;...
  • 什么是寄存器 寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为...
  • 单片机内部有大量寄存器寄存器一种能够存储数据的电路,由触发器构成。    (1)触发器  触发器是一种具有记忆存储功能的电路,由门电路组成。常见的触发器包括:RS 触发器、D 触发器和 JK触发器等...
  • 一种是always 模块的触发事件为电平敏感信号列表;第二种就是用assign 关键字描述的数据流赋值语句。 (1)always 模块的敏感表为电平敏感信号的电路always模块的敏感列表为所有判断条件信号和输入信号,但一定要...
  • 目录摘要 .................................................................................................................................... 11 多功能双向移位寄存器 .....................................
  • 常见时序逻辑电路

    千次阅读 2022-04-05 22:19:21
    用Verilog描述常见的时序逻辑电路
  • 组合逻辑电路

    千次阅读 2022-03-02 09:14:08
    组合逻辑一般指的是一些门电路或选择器、比较器一起组成的逻辑
  • 其实,时序逻辑电路还有个名字,那就是状态机(State Machine ,SM)或者有限状态机(Finite State Machine,FSM)。 状态机Verilog设计实例 时序逻辑电路由两个部分组成,组合电路和存储电路,其中存储电路是必不...
  • 数字电路-时序逻辑电路

    千次阅读 2020-03-04 17:25:50
    然后分别介绍了移位寄存器、计数器、顺序脉冲发生器等各类常用时序逻辑电路的工作原理和使用方法。在讲述了时序逻辑电路的设计方法后,初步介绍如何用硬件描述语言描述时序逻辑电路。最后从物理概念上讨论了时序逻辑...
  • 数电基础:时序逻辑电路

    万次阅读 多人点赞 2019-08-19 08:52:21
    虽然每个数字电路系统可能包含有组合电路,但是在实际应用中绝大多数的系统还包括存储元件,我们将这样的系统描述为时序电路。... 时序逻辑电路是数字逻辑电路的重要组成部分,时序逻辑电路又称时序电路,主...
  • 组合逻辑电路和时序逻辑电路区别

    千次阅读 2019-11-01 10:58:49
    组合逻辑电路 时序逻辑电路(状态机)(同步) 输入输出关系 任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关 不仅仅取决于当前的输入信号,而且还取决...
  • FSM.rar_寄存器fsm

    2022-09-14 18:36:11
    在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑寄存器逻辑一种组合。其中,寄存器逻辑的功能是存储有限状态机的内部状态;...
  • 移位寄存器原理图

    2022-06-05 15:42:25
    所谓“移位”,就是将移位寄存器所存各位数据,在每个移位脉冲的作用下,向左或向右移动位。根据移位方向,常把它分成左移寄存器 、右移寄存器 和双向移位寄存器。 输入-输出方式: 串行输入-串行输出 ...
  • 数字逻辑电路学习笔记

    千次阅读 2022-02-08 17:31:20
    文章目录课件01 数制和码制 ...王毓银主编《数字电路逻辑设计.第三版》.高等教育出版社 蔡惟铮主编《基础电子技术》《集成电子技术》高等教育出版社 电子工程手册编委会等编. 中外集成电路简明速查手册-TTL、CMO
  • 时序逻辑一般由锁存器、触发器、寄存器构成。 锁存器(latch):锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或使能信号)信号的电平值,即当锁存器处于使能状态时,输出才会随着数据的输入发生...
  • 有两情况会产生竞争:门电路两个输入信号同时向相反的逻辑电平跳变或同一信号经不同路径到达终点的时间有先有后的现象。 例1:信号 A、B 不可能突变,需要经历段极短的过渡时间。而门电路的传输时间也各不相同,...
  • Verilog描述——组合逻辑电路浅析

    千次阅读 2020-01-04 19:07:07
    从上面的例子看,数据流建模根据电路的逻辑功能进行描述,不必考虑电路的组成以及元件之间的连接,时描述组合逻辑电路常用的一种方法。 组合逻辑电路的行为级建模 行为级建模就是描述数字逻辑电路的功能和算法,...
  • 同步化的方向发展由此,介绍了一种32位VXI寄存器基从者仪器接口电路的设计方法,主体控制逻辑采用了同步有限状态机t FSM,来描述.并实现在1片FPGA上.详细叙述了接口电路的设计原理、结构和实现方法.本接口电路在...
  • 组合逻辑电路是没有记忆的,也就是说在任何时刻产生的输出信号都仅仅取决于该时刻电路的输入信号,而与它以前的输入信号是无关的。而有的时候,外面需要电路具有一定的记忆功能,比如自动售货机,当需要买瓶水,...
  • 组合逻辑电路&时序逻辑电路

    千次阅读 2019-06-19 19:23:39
    逻辑电路根据是否包含记忆元件,分为组合逻辑电路和时序逻辑电路。组合逻辑电路不包含记忆...也就是说,时序逻辑电路一种过去的电路状态也会对输出产生影响的逻辑电路。 时序逻辑电路分为同步时序逻辑电路和异...
  • 寄存器

    2022-07-18 17:57:45
    寄存器
  • 一文搞懂时序逻辑电路

    千次阅读 2021-05-16 17:50:00
    1 时序逻辑电路 1.1 介绍 输出往往反馈到输入端,与输入变量一起决定电路的输出状态。 1.2 特点 任意时刻输出不仅取决于该时刻输入变量的状态,而且还与原来的状态有关。 1.3 锁存器 1.3.1 特点 有两个互补的输出...
  • 运算器arithmetic unit计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。计算机运行时,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,331
精华内容 12,532
热门标签
关键字:

寄存器是一种什么逻辑电路