精华内容
下载资源
问答
  • 寄存器的读与写

    2017-10-09 15:06:00
    寄存器由什么构成?、  寄存器,移位寄存器的电路原理以及verilog代码实现、  锁存器、触发器、寄存器和缓冲器的区别 在logicwork中绘制如图所示电路,D端代表输入,Q端代表输出。 写:上方switch置1,...

    学习参考:  寄存器是什么?寄存器由什么构成?

           寄存器,移位寄存器的电路原理以及verilog代码实现

           锁存器、触发器、寄存器和缓冲器的区别


     

    在logicwork中绘制如图所示电路,D端代表输入,Q端代表输出。

    写:上方switch置1,CLK导通

    读:上方switch置0,CLK导通

    清零:CLR导通

     

    转载于:https://www.cnblogs.com/TQCAI/p/7641164.html

    展开全文
  • 最近一直在好奇一个问题:寄存器和内存之间到底什么...寄存器由具有存储功能的触发器组合而成,1个触发器可以存储1位二进制数。那么16位的寄存器就需要16个触发器构成 寄存器的功能 寄存器可以用来暂存指令,数据和地址

    最近一直在好奇一个问题:寄存器和内存之间到底什么关系?我是知道寄存器是在CPU中的,但是内存存储空间是在硬件的哪里呢?知道这个问题的答案之后,觉得自己问这种问题确实点憨。你是不是啥傻?忘了有个东西叫做内存条?它是在CPU之外的。想了这个问题之后,更加认识到实践到底多么重要,尤其像我这种之间根本不了解硬件的人。好了下面进入正题

    寄存器

    寄存器是什么?
    寄存器由具有存储功能的触发器组合而成,1个触发器可以存储1位二进制数。那么16位的寄存器就需要16个触发器构成
    寄存器的功能
    寄存器可以用来暂存指令,数据和地址。
    寄存器的作用
    寄存器存放当前CPU的环境以及任务环境的数据。简单来说:寄存器是CPU与内存之间沟通的桥梁。

    1. 存放从内存中读取的数据和指令
    2. 告诉CPU所要读取得数据或代码在内存得什么位置
    3. 存放CPU的运算结果

    这里顺便提一下高速缓存存储器Cache :是位于CPU和主内存间的一种容量较小但速度很高的存储器。Cache中保存着CPU中刚用过或者重复多次使用的一部分数据。

    详解8086/8088中的寄存器

    8086/8088CPU的内部结构如下图所示:
    在这里插入图片描述

    1.通用寄存器:AX BX CX DX
    用于存放16位的数据和地址。也可用作8位寄存器,用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL,但只能存放数据不能存放地址。
    值得注意的是:8086中为了缩短指令代码的长度,部分通用寄存器用作专门用途。

    AX累加器:有些指令约定以AX(或AL)为源或目的寄存器。
    BX基址寄存器:可用作间接寻址的地址寄存器和基地址寄存器。
    CX计数寄存器:CX在循环和串操作中充当计数器,指令执行后CX内容自动修改。
    DX数据寄存器:在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器。

    2.指针和变址寄存器:BP SP SI DI
    BP:基址指针寄存器 SP:堆栈指针寄存器
    SI:源变址寄存器DI目的变址寄存器
    这些寄存器和寻址有关系,在学习寻址的时候会更加详细的了解

    3.段寄存器
    8086/8088CPU中,内存空间是1MB(20位地址线),但寄存器只有16位,因此1MB被分成若干逻辑段,最长是64KB(因为8088/8086中寄存器是16位的)。这些逻辑段是动态的。

    CS:代码段寄存器 DS:数据段寄存器SS:堆栈寄存器
    ES:附加段寄存器(在串指令中,目的操作数指明必须在现行附加段中)

    4.指令指针寄存器IP
    存放将要执行的下一条指令在现行代码段中的偏移地址

    5.标志位寄存器(共16位,但其中7位未用)
    在这里插入图片描述
    条件标志6位

    CF(进位标志):反映运算结果的最高位有无进位或借位。
    PF(奇偶标志):反映运算结果中“1”的个数的奇偶性,主要用于判断数据
    传送过程中是否出错。
    AF(辅助进位标准):加减运算时,若D3向D4产生了进位或借位则AF=1。否则
    AF=0。在BCD码运算时,该标志用于十进制调整。
    ZF(零标志) :反映计算结果是否为0。若结果为零则ZF=1,否则ZF=0。
    SF(符号标志):映运算结果的最高位,即符号位的状态。如果运算结果的最高位为1则SF=1(带符号数为负数),否则SF=0(为正数)。
    OF(溢出标志):反映运算结果是否超出了带符号数的表示范围。

    控制标志3位

    TF(陷阱标志):TF=1时CPU进入单步执行方式,主要用于调试程序。
    IF(中断允许标志):用于控制CPU是否允许响应可屏蔽中断请求,
    IF=1时允许中断,IF=0时禁止中断。
    DF(方向标志):控制串处理指令中地址调整的方向,DF=1时自动减量,DF=0时自动增量。

    展开全文
  • 寄存器具有存储功能的触发器组合起来构成的,是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。寄存器的功能也由于寄存器的种类不同而有所差异。 按照功能的不同,可将寄存器...

    说起寄存器可能你暂时没有印象,但是提到CPU,即使是没有计算机基础的人也知道一些,而寄存器(Cache)是中央处理器(CPU)的重要组成部分,对数据的处理起到了至关重要的作用。那么寄存器到底起到了什么作用,寄存器的种类及其功能又是怎么样的,我们拭目以待。
    寄存器是由具有存储功能的触发器组合起来构成的,是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。寄存器的功能也由于寄存器的种类不同而有所差异。
    按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。
    下面是寄存器的基本的四种功能。
    1.清除数据:将寄存器里的原有数据清除。
    2.接收数据:在接收脉冲作用下,将外输入数据存入寄存器中。
    3.存储数据:在没有新的写入脉冲来之前,寄存器能保存原有数据不变。
    4.输出数据:在输出脉冲作用下,才通过电路输出数据。
    仅具有以上功能的寄存器称为数码寄存器;除此之外,还有许多具有其他功能的寄存器。
    寄存器有串行和并行两种数码存取方式。将n位二进制数一次存入寄存器或从寄存器中读出的方式称为并行方式。将n位二进制数以每次1位,分成n次存入寄存器并从寄存器读出,这种方式称为串行方式。并行方式只需一个时钟脉冲就可以完成数据操作,工作速度快,但需要n根输入和输出数据线。串行方式要使用几个时钟脉冲完成输入或输出操作,工作速度慢,但只需要一根输入或输出数据线,传输线少,适用于远距离传输。
    8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:
    AH&AL=AX:累加寄存器,常用于运算;
    BH&BL=BX:基址寄存器,常用于地址索引;
    CH&CL=CX:计数寄存器,常用于计数;
    DH&DL=DX:数据寄存器,常用于数据传递。
    为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:
    CS(Code Segment):代码段寄存器;
    DS(Data Segment):数据段寄存器;
    SS(Stack Segment):堆栈段寄存器;
    ES(Extra Segment):附加段寄存器。
    当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。
    除了前面所提的寄存器外,还有一些特殊功能的寄存器:
    IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;
    SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。
    BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;
    SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;
    DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。
    尽管上面介绍的许多寄存器已经逐渐淡出在我们的实际开发中,但多了解一下寄存器的种类和功能还是没有坏处的,对于我们对数据的处理有着很大的帮助。当然。欢迎大家观看本站的专业课程,了解更多计算机的专业知识,学习更多专业知识,助力你的求学求职之路。

    展开全文
  • 【实验】寄存器

    2021-04-15 19:23:11
    组合逻辑最大的缺点就是会存在竞争冒险,时序逻辑最基本的单元就是寄存器寄存器具有存储功能,一般是 D 触发器构成时钟脉冲控制,每个 D 触发器(D Flip Flop ,DFF)能够存储一位二进制码。 其复位又分为...

    学完后的收获:什么是寄存器,它能做什么、有什么特性、如何用 Verilog 语言来描述。

    组合逻辑最大的缺点就是会存在竞争冒险,时序逻辑最基本的单元就是寄存器,寄存器具有存储功能,一般是由 D 触发器构成,由时钟脉冲控制,每个 D 触发器(D Flip Flop ,DFF)能够存储一位二进制码。

    其复位又分为同步复位异步复位同步复位的 D 触发器中的“同步”是和工作时钟同步的意思,异步复位的 D 触发器中的“异步”是和工作时钟不同步的意思。主要就是复位有效的条件是“立刻”执行还是等待“沿”再执行的区别。

    同步复位:sys_rst_n 被拉低后 led_out 没有立刻变为 0,而是当 syc_clk 的上升沿到来的时候 led_out 才复位成功

     

    时序电路还有一个特点,就是“延一拍”的效果。

     

    当表达时序逻辑时如果时钟和数据是对齐的,则默认当前时钟沿采集到的数据为在该时钟上升沿前一时刻的值;当表达组合逻辑时如果时钟和数据是对齐的,则默认当前时钟沿采集到的数据为在该时钟上升沿同一时刻的值。

    我们在画波形图的时候一定要记住这个“延一拍”的效果,否则我们绘制的波形图就会和最后的仿真结果不符,也可能会导致最后的逻辑混乱。


    同步复位的D触发器的HDL描述

    module	flip_flop
    (
    	input	wire	sclk	,
    	input	wire	rst_n	,
    	
    	input	wire	key_in	,
    	output	reg		led_out
    );
    
    always@(posedge sclk) begin//同步复位:当敏感列表为检测到sclk上升沿时执行下面的语句
    	if(rst_n == 1'b0)//大前提是:sclk的上升沿到来时
    		led_out <= 1'b0;
    	else
    		led_out <= key_in;
    end
    endmodule
    

    综合出的RTL图为

    异步复位的D触发器的HDL描述

    module	flip_flop_1
    (
    	input	wire	sclk	,
    	input	wire	rst_n	,
    	
    	input	wire	key_in	,
    	output	reg		led_out
    );
    
    always@(posedge sclk or negedge rst_n)//异步复位
    	if(rst_n == 1'b0)//检测到rst_n的下降沿时立即复位,不需要等待sclk的上升沿来到后载复位
    		led_out <= 1'b0;
    	else
    		led_out <= key_in;
    endmodule
    

     

     

    展开全文
  • 4 IA-32寄存器基本讲解

    2017-03-28 10:21:58
    什么是CPU寄存器寄存器是CPU内部用来存放数据的小型存储区域IA-324类寄存器构成:通用寄存器、段寄存器、程序状态与控制寄存器、指令针寄存器
  • 寄存器与内存的区别

    2018-05-18 15:23:38
    寄存器与内存的区别寄存器寄存器是有触发器或锁存器组成,通常触发器组成,寄存器拥有非常高的读写速度,所以在寄存器之间传递数据非常快 内存:内存就是存储器,半导体器件构成。 计算机的存储层次(memory...
  • 深入了解CPU结构——寄存器

    千次阅读 2013-02-27 16:51:02
    1.什么寄存器    所谓寄存器(register),它是CPU内部用来存放数据的一些...寄存器的存储电路是锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以N个锁存器或触发器可以构成N位寄存器
  • 堆栈指针寄存器-SP详解

    千次阅读 2019-11-25 18:52:23
    堆栈指针寄存器-SP是什么? 答:堆栈是计算机存储数据的一种数据结构,SP的作用就是指示当前要出栈或入栈的数据,并在操作执行后自动递增或递减。 至于是入栈递增还是入栈递减,就是CPU的生产厂家确定,通常一...
  • 计算机内部是IC...从功能来看,CPU内部由寄存器、控制器、运算器和时钟四个部分构成,各部分之间电流信号相互连通。 寄存器可以暂存指令、数据等处理对象,可以将其看成内存 的一种。 控制器负责把...
  • 首先应该明确锁存器和触发器也是与非门之类的东西构成。尤其是锁存器,虽说数字电路定义含有锁存器或触发器的电路叫时序电路,但锁存器有很多组合电路的特性。 组合电路就是一个真值表,一个函数,一组输入对应一...
  • 锁存器与寄存器的区别

    万次阅读 2016-11-14 21:22:31
    首先应该明确锁存器和触发器也是与非门之类的东西构成。尤其是锁存器,虽说数字电路定义含有锁存器或触发器的电路叫时序电路,但锁存器有很多组合电路的特性。 组合电路就是一个真值表,一个函数,一组输入对应...
  • 锁存器与寄存器的区别

    千次阅读 2007-10-25 15:22:00
    Buffer:缓冲区,一个用于促初速度不同步的设备或者...锁存器与寄存器的区别:什么是锁存器:若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫锁存器。应用场合:数据有效迟后于时钟信号有效。这意
  • 锁存器的输出对输入透明的,输入是什么,输出就是什么,这就是锁存器不稳定的原因,而触发器是两个锁存器构成的一个主从触发器,输出对输入是不透明的,必须在时钟的上升/下降沿才会将输入体现到输出,...
  • 运算器中有若干个临时存储数据的部件,成为寄存器,寄存器由触发器构成。寄存器还可保存运算的状态(是一个什么概念?) 在运算器中可以有多种不同的寄存器(??),在指定的一个寄存器时必须给每个寄存器指定一个...
  • CPU主要由什么构成?  CPU包括运算逻辑部件、寄存器部件和控制部件等。 逻辑部件:可以执行点或浮点算术远算操作、移位操作以及逻辑操作,也可以执行地址运算和转换。 寄存器部件:存储程序、数据和各种信号...
  • 微处理器只是一个中央处理器(CPU),算术逻辑部件(ALU),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。微处理器不能构成独立工作的系统,也不能独立执行程序。 微型计算机CPU,...
  • 还有就是CPU内部是运算器、控制器、寄存器和时钟构成的,CPU是寄存器的集合体。机器语言是CPU能够直接处理的语言。即用二进制表示的语言。将高级语言转换成机器语言是通过编译器实现的,汇编语言与机器语言一...
  • CPU是英文Central Processing Unit(中央处理器)的缩写,也就是计算机的大脑,其内部数以万计的晶体管构成。这些都是大家耳熟能详的,除此之外,程序员还需要理解CPU如何运行,特别是要弄清楚负责保存指令和数据...
  • 局域网SDN技术硬核内幕 - 前传 CPU里面有什么? 大家都知道,计算机的核心是CPU。...原来,它是大量的触发器和寄存器构成的。而构建寄存器和触发器的基本单元,则是中学物理课学过的一个概念——晶体管。 这个...
  • CPU的内部是由寄存器、控制器、运算器和时钟四部分构成寄存器用来暂存指令、数据等处理对象,控制器负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机。运算器负责运算从内存读入...
  • FIFO 为什么能跨时钟

    2020-03-18 16:38:41
    A fifo 一般 双口ram(dpram Array) 和 空满状态指示器(status) 外加两个寄存器构成 其中 Status 的设计是要比较两边的地址产生空满,涉及到用 clk_rd时钟下 读取写地址 和 clk_wr 时钟下读取读地址的跨时钟...
  • 20.操作系统内核

    2019-05-24 19:15:14
    指令是什么,指令由什么构成?有什么用? 指令就是CPU执行的基本单元。指令由操作码和操作数构成。它用来控制硬件执行相应动作 操作码,操作数 操作码是什么?操作数是什么?32位机指令中的操作码和操作...
  • 日常生活中说的程序,例如,音乐会的程序,指的是"行事的先后次序"。计算机的程序也是一个...CPU四个部分构成:控制器、运算器、时钟、寄存器 我们要重点关注寄存器,因为:程序是把寄存器作为对象来描述的。 决...
  • CPU是英文Center Processing Unit(中央处理器)的缩写,相当于计算机的大脑,它的内部数百万至数亿个晶体管构成,这是大家所熟知的。不过,对cpu的了解如果只限于此的话,对编程是没有任何帮助的。程序员还需要...
  • 状态机(Finite State Machine):状态机状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动 作、完成特定操作的控制中心。 类别: ~ 若输出只和状态有关而与...
  • 什么需要指针

    2020-12-23 14:03:03
    广义上的内存可以包括寄存器、缓存、常说的内存(内存条)等,这些内存空间都是一个个的字节构成的,每个字节都有地址,对于这些空间的访问,大多都是通过地址实现的。 只站在C语言自身的角度,也可以看到指针的好处。...

空空如也

空空如也

1 2 3 4 5 6
收藏数 120
精华内容 48
关键字:

寄存器由什么构成