精华内容
下载资源
问答
  • 寄存器在电路组成上的特点
    2021-06-29 08:10:03

    微型计算机的基本组成电路

    教材P39习题2.1-2.7。 * 第2章 微机的基本组成电路 任何一个复杂的电路系统都可以分解为一些相对简单的电路,或者说复杂电路系统可以由多个简单电路搭建而成。构成复杂电路系统的简单电路称为该复杂电路系统的组成电路模块或电路部件。本章将对构成微型计算机电路系统的一些基本的、典型的电路模块的原理与功能作一简单介绍,主要包括算术逻辑单元、触发器、寄存器、存储器及总线结构等,同时给出数据在这些电路部件之间的流通过程以及“控制字”的概念。 2.1算术逻辑单元 算术逻辑单元(Arithmetic Logical Unit,简称ALU),用于实现算术与逻辑运算,包括加、减、乘、除等算术运算和与、或、非、异或、同或等逻辑运算。其符号表示如下: 其中,A、B为参与运算的两个输入数据,Control为控制信号,S为输出的运算结果。 第2章 微机的基本组成电路 2.2 触发器 触发器(Trigger)是构成寄存器和存储器的基本单元,是计算机的记忆细胞。 2.2.1 RS触发器 (1)电路结构:由两个交叉耦合的 “与非”或“或非”门组成,2 个输出分别为 Q和 /Q,两路输入分别为 R 和 S。如下图所示: (2)功能描述:当S=1且R=0时,Q=1,/Q=0,称为置位,在S变为0后,Q和/Q将保持不变。当S=0且R=1时,Q=0,/Q=1,称为复位,在R变为0后,Q和/Q将保持不变。当S=0且R=0时,保持原状态不变。当S=1且R=1时,状态不定。 (3)符号:见右图。 (4)带时标的RS触发器(同步RS触发器),电路图见教材P19图2-4。 s R s R Q /Q 第2章 微机的基本组成电路 2.2.2 D触发器 (1)电路结构:见右图: (2)功能描述: 当D=1时,Q=1、/Q=0, D=0时,Q=0、/Q=1。 即Q=D CLK D Q Q PR CLR CLK D Q Q PR CLR CLK D Q Q PR CLR (3)改进:加上同步时钟信号CLK、边沿触发、加上预置和清除端。符号如下: 正边沿触发 负边沿触发 低电平预置和清除 2.2.3 JK触发器 (1)电路结构:见下图。 第2章 微机的基本组成电路 (2)功能描述:J K Q 动作 0 0 保持原状 自锁状态 0 1 0 复位 1 0 1 置位 1 1 原状态的反码 翻转 JK触发器的符号如下: CLK J Q Q PR CLR K 2.3 寄存器 寄存器(Register)是由触发器组成的一种存储装置。 特点:用于暂存数据。 不同于存储器,数量少,速度快。 分类:缓冲寄存器(Buffer Register):暂存数据。 移位寄存器(Shift Register):除存储功能外,还具有移位功能。 计数器(Counter):除存储功能外,还具有计数功能。 累加器(Accumulator):用于暂存ALU的计算结果。 2.3.1 缓冲寄存器 由边沿触发的D触发器组成。例如: 第2章 微机的基本组成电路 X0 Y0 D0 Q0 X1 Y1 D1 Q1 X2 Y2 D2 Q2 X3 Y3 D3 Q3 CLK CLR 2.3.1 缓冲寄存器 可控缓冲寄存器:每个D触发器增加一个装入控制门LOAD,见下图。 Y0 CLK CLR X0 D0 Q0 X1 D0 Q0 X2 D0 Q0 X3 D0 Q0 Y1 Y2 Y3 LOAD ≥1 & & ≥1 & & ≥1 & & ≥1 & & 装入控制门 第2章 微机的基本组成电路 2.3.2 移位寄存器 (1)功能:将其所存储的数据进行移位操作。移位操作的类型: 逻辑左移 逻辑移位 逻辑右移 移位操作 循环左移 循环右移 算术移位 算术左移 算术右移 (2)电路结构:由D触发器串联在一起形成。例:4位左移寄存器电路图: 第2章 微机的基本组成电路 Din

    更多相关内容
  • 寄存器电路

    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

    展开全文
  • 寄存器

    千次阅读 2020-12-18 13:03:51
    1. 寄存器 集成8位寄存器【74HC/HCT374】 功能表 2. 移位寄存器 (1) 基本的移位寄存器 (2) 多功能双向移位寄存器 工作原理 典型的多功能4位双向移位寄存器


    注意:
    只有在寄存器中,低位在前,高位在后

    0. 基本概念

    寄存: 把二进制数据或代码暂时存储起来的操作

    寄存器: 具有寄存功能的电路

    双向移位寄存器: 能控制数据的流向,实现数据的双向移动的寄存器。

    并行输入输出: 每一位数据对应一个输出端,在CP的作用下,各位同时输入或输出。
    串行输入输出: 只有一个输入输出端,在CP的作用下,各数码逐次输入输出。

    右移: 数据从低位触发器移向高位。

    左移: 数据从高位触发器移向低位。

    1. 基本寄存器

    (1) 门电路构成的寄存器

    在这里插入图片描述

    • 工作原理: 一个触发沿的到来,时间只够触发器工作一次,所有的输入D前进到D触发器的输出端,再由三态门控制是否输出出去。

    • 功能: 用来寄存一组二进制数据或代码

    • 特点:

      • 只能并行输入,也只能并行输出
      • 一个触发器存储存储1位二进制信号

    (2) 集成8位寄存器【74HC374】

    • 功能表
      在这里插入图片描述

    2. 移位寄存器

    (1) 单向移位寄存器

    在这里插入图片描述

    • 工作原理: 一个触发沿的时刻只够各个D触发器工作一次,所以输入D一次向前一位。

    • 特点: 只能用脉冲边沿敏感的触发器,而不能用电平敏感的锁存器

    (2) 双向4位移位寄存器【74HCT194】

    ① 逻辑符号
    在这里插入图片描述
    此时低位在左,高位在右

    • C P CP CP:脉冲输入。
    • Q 0 Q 1 Q 2 Q 3 Q_0Q_1Q_2Q_3 Q0Q1Q2Q3:输出端。
    • D 0 D 1 D 2 D 3 D_0D_1D_2D_3 D0D1D2D3:输入端
    • C R CR CR:异步清零端。低电平有效
    • S 1 S 0 S_1S_0 S1S0:输入控制端。
    • D S R D_{SR} DSR:右移时串入信号。串行输入,并行输出
    • D S L D_{SL} DSL:左移时串入信号。

    ② 功能表

    在这里插入图片描述

    C R ‾ = 1 时 \overline{CR} = 1时 CR=1功能
    S1 = 0,S0 = 0保持
    S1 = 1,S0 = 0左移
    S1 = 0,S0 = 1右移
    S1 = 1,S0 = 1置数D0D1D2D3

    ③ 位数拓展

    在这里插入图片描述

    (3) 应用

    *根据状态图或时序图来判断

    • 模为n的环形计数器

    • 模为n的扭环形计数器

    • 时序脉冲产生器

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

    千次阅读 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位。具有移位功能的寄存器称为移位寄存器。

    展开全文
  • 锁存器、触发器和寄存器的比较 锁存器(latch):是电平触发的存储单元,数据存储的动作(状态转换)取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。 ...
  • 看似简单的三种门电路却是组成了整个逻辑电路的根基 真值表--其实就是根据输入输出状态枚举罗列出来的所有可能 比如有一台设备,他有两个输入A和B 无论何时,他们都有电或者都没有电的时候是正常,任何一个有电就是不...
  • 产品介绍:HQFC-B1计算机组成原理和计算机系统结构是大学许多系的两门很重要的课程。为了更好地适应这两门课程的实验需要,HQFC-B1是一个8位计算机模型实验系统,可用于...实验系统特点:1、JM-B1计算机组成原理实验...
  • 从电路结构看,时序逻辑电路的输入输出之间有反馈,主要由组合逻辑电路和存储电路组成。根据存储电路中各个触发器状态变化的特点,时序电路又可分为同步时序电路和异步时序电路两大类。同步时序电路中,所有的...
  • 它实质是一种串行移位寄存器。除了第3个触发器是通过门电路15、16构成的组合逻辑电路作用于F3的D3端以外,其余各级均是将前一级触发器的输出端连接到后一级触发器的输入端D的,计数器最后—级的端连接到第一级的D1...
  • 晶振设计是单片机应用设计的重要环节之一,因此很有必要了解晶振电路特点组成以及如何选用相关电子元件。 PIC单片机有四种振荡方式可供选择,振荡方式经配置寄存器CONFIG的F0SC1,F0SC0位加以选择,并EPROM...
  • 【单片机基础】(二)寄存器

    千次阅读 2021-02-01 16:34:58
    触发器是一种具有记忆存储功能的电路, 由门电路组成。 常见的触发器包括: RS 触发器、 D 触发器和 JK触发器等, 其中D触发器最为常用。 D触发器的逻辑符号如图1-14所示 从图1-14中可以看出, D触发器的端子包括:...
  • 寄存器和内存的区别

    千次阅读 2021-07-28 11:04:02
    寄存器和内存的区别1、寄存器是中央处理器内的组成部份。它跟CPU有关。...2、内存既专业名的内存储器,内存是由内存芯片、电路板、金手指等部分组成的。它包涵的范围也很大,一般分为只读存储器和随...
  • 时序逻辑电路由两个部分组成,组合电路和存储电路,其中存储电路是必不可少的,并且存储电路的输出必须反馈到组合电路的输入端,与输入信号一起决定组合逻辑的输出。 而根据时序逻辑电路的输出信号的特点,又将其...
  • 51单片机寄存器详解

    千次阅读 2022-06-24 20:53:26
    51单片机各功能详解,包括IO、寄存器
  • CPU 寄存器

    2019-09-27 01:41:10
    寄存器是中央处理器内的组成部分,是有限存贮容量的高速...集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储...
  • 【汇编语言】寄存器

    2021-07-06 17:59:05
    前言 对于汇编程序员来说,CPU中的主要部件是寄存器,程序员通过指令读写寄存器,然后...1.1特点 (1)8086CPU所有寄存器都是16位(bit)的,占两个字节(byte),其中AX、BX、CX、DX四个寄存器用来存放一般性的数据,它.
  • 寄存器是由触发器组成的,一个触发器...1缓冲寄存器它是用来暂存某个数据,以便适当的时间节拍和给定的计算步骤将数据输入或输出到其它记忆单元中去,下图是一个并行输入、并行输出的4位缓冲器的电路原理图,它由...
  • 这种存放的特点是,可以节约寄存器数量,而且原本的加法128+128=256可以用加1来表示:7+1=8。寄存器位置定义如下: 3、游戏主状态机 游戏主状态机中,主要操纵数据寄存器{S16}的数值,通过对这个寄存器中数值的改变来...
  • 寄存器和存储器

    2020-06-05 23:49:56
    它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机...
  • 触发器、寄存器与锁存器到底有些什么区别?
  •  表1 主要性能指标 PB-0300系列CMOS型数字图像传感器的性能特点及与单片机的接口设计 1.2 内部结构 PB-0300由五大部分组成:数字逻辑模块、像素阵列、列平行的增益电路和读出电路、8位ADC、偏置DACs,如图
  • 计算机组成原理——总线

    千次阅读 2022-04-21 20:12:10
    计算机组成原理——总线 一.为什么需要总线 因为现代计算机中需要互相连接的部件非常多,如果使各部件单独相连,难度太大,成本太高,不易实现,所以需要引入一条公共通路来实现各部件的连接功能,这条通路类似于...
  • 实验三 数据通路组成实验一 实验目的1.进一步熟悉计算机的数据通路2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法4.锻炼分析问题和...
  • 锁存器(latch) :是电平触发的存储单元, 数据存储的动作只取决于 输入信号 的电平值 ,只有当锁存器处于使能 状态, 输出才会随着 输入...(3)由一个稳态到另一稳态,必须有外界信号的触发,否则将长期稳定某个状态
  • 锁存器(latch)---对脉冲电平敏感,时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生...
  • 数字电路-时序逻辑电路

    千次阅读 2020-03-04 17:25:50
    首先,概要地讲述了时序逻辑电路在逻辑功能和电路结构特点,并详细介绍了分析时序逻辑电路的具体方法和步骤。然后分别介绍了移位寄存器、计数器、顺序脉冲发生器等各类常用时序逻辑电路的工作原理和使用方法。...
  • 组合逻辑电路

    千次阅读 2022-03-02 09:14:08
    组合逻辑一般指的是一些门电路或选择器、比较器一起组成的逻辑。
  • I/O接口与端口的不同接口(Interface)接口可以看做是两个系统或两个部件之间的交接部分,它既可以是两种硬设备之间的连接电路,也可以是两个...端口(Port)端口是指接口电路中的一些寄存器,这些寄存器分别用来存放...
  • 1:锁存器、触发器、寄存器的关联与区别 首先应该明确锁存器和触发器是由与非门之类的东西构成。尤其是锁存器,虽说数字电路定义含有锁存器或触发器的电路叫时序电路,但锁存器有很多组合逻辑电路的特性。 锁存...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,637
精华内容 5,454
热门标签
关键字:

寄存器在电路组成上的特点