寄存器_寄存器寻址 - CSDN
寄存器 订阅
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。 [1]  按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。 [1] 展开全文
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。 [1]  按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。 [1]
信息
定    义
有限存贮容量的高速存贮部件
相    关
中央处理器
分    类
指令寄存器(IR) 程序计数器(PC)
中文名
寄存器
属    性
信息科学
外文名
Register
寄存器基本含义
寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部分。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。 [2]  在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。 [2]  Cortex-M4总共有18个寄存器,相比传统ARM(如ARM7/ARM9/Cortex-A系列)的38个寄存器已减少很多,减少了内核核心面积(Die-size)。 [2]  对于编译器非常友好易用,例如:包含灵活的寄存器配置,任意寄存器之间可实现单周期乘法,任意寄存器可以作为数据、结构或数组的指针。此外,Cortex-M4还包含4个特殊功能寄存器PRIMASK、FAUI。TMASK、BASEPRI和CONTROL。 [2] 
收起全文
精华内容
参与话题
  • 寄存器(cpu工作原理)

    万次阅读 多人点赞 2016-12-02 22:05:17
    1、一个典型的CPU由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。 区别: 内部总线实现CPU内部各个器件之间的联系。 外部总线实现CPU和主板上其它器件的联系。 8086CPU有14个寄存器 它们...

    来源:王爽老师的《汇编语言

    1、一个典型的CPU由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。

    区别:

    内部总线实现CPU内部各个器件之间的联系。

    外部总线实现CPU和主板上其它器件的联系。

    8086CPU有14个寄存器 它们的名称为:

       AX、BX、CX、DX、SI、DI、SP、BP、

       IP、CS、SS、DS、ES、PSW。


    8086CPU所有的寄存器都是16位的,可以存放两个字节,一个字节8位。

    AX、BX、CX、DX 通常用来存放一般性数据被称为通用寄存器。

    一个16位寄存器所能存储的数据的最大值为多少? 

    因为每一位存放的数据是0或1,那么最大的数值自然就是 1111 1111 1111 1111(2),也就是2^16-1。


    2、通用寄存器(重点)

    8086上一代CPU中的寄存器都是8位的,为保证兼容性,

    这四个寄存器都可以分为两个独立的8位寄存器使用。
    AX可以分为AH和AL;
    BX可以分为BH和BL;
    CX可以分为CH和CL;
    DX可以分为DH和DL。

    AX的低8位(0位~7位)构成了AL寄存器,高8位(8位~15位)构成了AH寄存器。

    AH和AL寄存器是可以独立使用的8位寄存器,如果当成是8位寄存器使用,那么他们就是独立的,没有任何关系。

    一个8位寄存器所能存储的数据的最大值是多少?二进制数值 1111 1111 ,也就是 2^8-1。


    3、字在寄存器中的存储





    注意:在进行数据传送或运算时,要注意指令的操作数的位数要匹配。


    4、物理地址的表示(重点)

    CPU访问内存单元时要给出内存单元的地址,所有的内存单元构成的存储空间是一个一维的线性空间。

    我们将这个唯一的地址称为物理地址。

    不同的CPU有不同的形成物理地址的方式。

    (1)16位结构的CPU

    8086内部为16位结构,它只能传送16位的地址,表现出的寻址能力却只有64K。

    8086外部有20位地址总线,可传送20位地址,寻址能力为1M。

    那么,8086CPU如何用内部16位的数据,转换成20位的地址呢?

    8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。

    段地址+偏移地址 -> 地址加法器 -> 20位的物理地址。

    地址加法器合成物理地址的方法:段地址×16+偏移地址=物理地址

    “段地址×16”有一个更为常用的说法就是数据左移4位。(二进制位)

    二进制的数据左移4位,意味着乘以2^4=16。

    这样做的目的主要是为了弥补内部总线16位的缺陷而设计的。






    5、关于段空间

    内存没有分段,段的划分来自于CPU,

    由于8086CPU用“(段地址×16)+偏移地址=物理地址”的方式给出内存单元的物理地址,

    使得我们可以用分段的方式来管理内存。

    以后,在编程时可以根据需要,将若干地址连续的内存单元看作一个段,

    用段地址×16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。

    (1)段地址×16 必然是 16的倍数,所以一个段的起始地址也一定是16的倍数;

    (2)偏移地址为16位,16 位地址的寻址能力为 64K,所以一个段的长度最大为64K。

    CPU可以用不同的段地址和偏移地址形成同一个物理地址。

    如果给定一个段地址,仅通过变化偏移地址来进行寻址,最多可以定位多少内存单元?

    因为偏移地址16位,变化范围为0~FFFFH,仅用偏移地址来寻址最多可寻64K个内存单元。

    比如:给定段地址1000H,用偏移地址寻址,CPU的寻址范围为:10000H~1FFFFH。

    6、地址的描

    在8086PC机中,存储单元的地址用两个元素来描述。即段地址和偏移地址。

    “数据在21F60H内存单元中。”对于8086PC机的两种描述:

    (a)数据存在内存2000:1F60单元中;

    (b)数据存在内存的2000段中的1F60H单元中。

    可根据需要,将地址连续、起始地址为16的倍数的一组内存单元定义为一个段。


    7、段寄存器就是提供段地址的。

    8086CPU有4个段寄存器: CS、DS、SS、ES。

    CS和IP是8086CPU中最关键的寄存器,它们指示了CPU当前要读取指令的地址。

    CS为代码段寄存器,IP为指令指针寄存器。

    在 8086CPU 加电启动或复位后( 即 CPU刚开始工作时)CS和IP被设置为CS=FFFFH,IP=0000H。

    即在8086PC机刚启动时,CPU从内存FFFF0H单元中读取指令执行。

    FFFF0H单元中的指令是8086PC机开机后执行的第一条指令。










    8、修改CS,IP

    mov指令不能用于设置CS、IP的值,8086CPU没有提供这样的功能。

    8086CPU为CS、IP提供了另外的指令来改变它们的值:转移指令

    JMP 段地址:偏移地址

    JMP 2AE3:3

    功能:用指令中给出的段地址修改CS,偏移地址修改IP。CS = 2AE3H, IP = 0003H。

    仅修改IP的内容:

    jmp 某一合法寄存器

    jmp ax   (类似于 mov IP,ax)

    功能:用寄存器中的值修改IP。

    8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。



    9、关于debug指令(Win7没有这个指令,XP才有)

    R命令查看、改变CPU寄存器的内容;

    D命令查看内存中的内容;

    E命令改写内存中的内容;

    U命令将内存中的机器指令翻译成汇编指令;

    T命令执行一条机器指令;

    A命令以汇编指令的格式在内存中写入一条机器指令。

    展开全文
  • 什么是寄存器

    千次阅读 2019-04-21 10:09:40
    寄存器是位于CPU和I/O的数据存储器

    寄存器是位于CPU和I/O的数据存储器

    展开全文
  • 寄存器介绍

    万次阅读 2017-04-19 19:39:09
    寄存器介绍
        寄存器是CPU的组成部分,因为在CPU内,所以CPU对其读写速度是最快的,不需要IO传输,
       但同时也决定了此类寄存器数量非常有限,有限到几乎每个存储都有自己的名字,而且有些还有多个名字。


        IA-32构架提供了16个基本寄存器,这16个基本寄存器可以归纳为如下几类:
      • 通用寄存器
      • 段寄存器
      • 状态和控制寄存器
      • 指令寄存器

    通用寄存器

    32位通用寄存器有八个,eax, ebx, ecx, edx, esi, edi, ebp, esp,

    他们主要用作逻辑运算、地址计算和内存指针,具体功能如下:

    • eax    累加和结果寄存器
    • ebx    数据指针寄存器
    • ecx    循环计数器
    • edx    i/o指针
    • esi    源地址寄存器
    • edi    目的地址寄存器
    • esp    堆栈指针
    • ebp    栈指针寄存器
    当然,以上功能并未限制寄存器的使用,特殊情况为了效率也可作其他用途。

    这八个寄存器低16位分别有一个引用别名 ax, bx, cx, dx, bp, si, di, sp, 

    其中 ax, bx, cx, dx, 的高8位又引用至 ah, bh, ch, dh,低八位引用至 al, bl, cl, dl

    在 64-bit 模式下,有16个通用寄存器,但是这16个寄存器是兼容32位模式的,
    32位方式下寄存器名分别为 eax, ebx, ecx, edx, edi, esi, ebp, esp, r8d – r15d.
    在64位模式下,他们被扩展为 rax, rbx, rcx, rdx, rdi, rsi, rbp, rsp, r8 – r15.
    其中 r8 – r15 这八个寄存器是64-bit模式下新加入的寄存器

    段寄存器

    段寄存器 cs, ds, ss, es, fs, gs, 保存16位的段选择子,一个段选择子指定了一个段在内存的指针,

    以便再内存中访问段,访问方式与内存模式有关,段模式和平坦模式其代表的意义并不相同。

    • cs    代码段寄存器

    • ds, es, fs, gs    数据段寄存器

    • ss    堆栈段寄存器

    在 64-bit 模式下,这6个寄存器并无变化,只是使用上略有区别。

    状态和控制寄存器 eflags
    这个寄存器表示的意义非常丰富,程序中并不直接操作此寄存器,并由此衍生出很多操作指令。
    除去一些保留位,其他每位都代表一个具体的含义,
    其中 bits 0, 2, 4, 6, 7, 11 是状态位
    ,标识了某此操作后的状态:
    • CF (bit 0) —— 进位标识,算术操作进行了进位和借位,则此位被设置
    • PF (bit 2) —— 奇偶标识,结果包含奇数个1,则设置此位
    • AF (bit 4) —— 辅助进位标识,结果的第3位像第4位借位,则此位被设置
    • ZF (bit 6) —— 零标识,结果为零,此位设置
    • SF (bit 7) —— 符号标识,若为负数则设置此位
    • OF (bit 11) —— 溢出标识,结果像最高位符号位进行借位或者进位,此标志被设置

    8, 9, 10 位为控制标识:

    • TF (bit 8) —— 陷阱标识,设置进程可以被单步调试

    • IF (bit 9) —— 中断标识,设置能够响应中断请求

    • DF (bit 10) —— 方向标识,用于标示字符处理过程中指针移动方向。

    64-bit模式下,该寄存器被扩展为64位,rflags,但是其高32位保留未被使用,其低32位所表示含义与32位模式相同。
    指令寄存器 EIP
    EIP —— 标志当前进程将要执行指令位置,在64位模式下扩展为 RIP 64位指令寄存器。
    控制寄存器
    cr0, cr2, cr3, cr4

    系统表指针寄存器

    • idtr —— 中断描述符表信息
    • gdtr —— 全局描述符表信息
    • ldtr —— 局部描述符表信息

    任务寄存器tr

    保存任务的状态信息 tss

    调试寄存器
    dr0 – dr7,控制和允许监视进程的调试操作
    x87 FPU 寄存器
    这组指令专门用过浮点运算,因为浮点运算尤其固有的特性,所以需要使用一组独立寄存器。
    数据寄存器包括 r0 – r7 的8个 80 位寄存器,汇编程序中通过名字 st(x) 引用,
    另外还有3个16位寄存器,分别是控制寄存器,状态寄存器,标记寄存器。这里的省略具体含义的介绍。
    MMX 寄存器
    MMX 为一种 SIMD 技术,即可通过一条指令执行多个数据运算,共有8个64位寄存器,分别为mm0 – mm7,
    他与其他普通64位寄存器的区别在于通过它的指令进行运算,可以同时计算2个32位数据,或者4个16位数据等等,
    可以应用为图像处理过程中图形 颜色的计算。
    另外需要特别注意的是,MMX并非一种新的寄存器,而是FPU 80位寄存器的低64位,也就是说,使用MMX指令集,会影响浮点运算!
    XMM 寄存器

    XMM 同 MMX,只是他有 8 个 128 位寄存器,分别为 xmm0 – xmm7,另外还包含计算过程中的状态和控制寄存器


    展开全文
  • 寄存器和存储器

    万次阅读 多人点赞 2018-04-12 12:43:48
    一、计算机硬件 先说内核:内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。...

    一、计算机硬件

    这里写图片描述
    先说内核:内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分,附一张内核体系结构照片
    这里写图片描述
    可以看到内核所处的位置:

    CPU

    中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。

    寄存器

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

    存储器

    存储器范围最大,它几乎涵盖了所有关于存储的范畴。你所说的寄存器,内存,都是存储器里面的一种。凡是有存储能力的硬件,都可以称之为存储器,这是自然,硬盘更加明显了,它归入外存储器行列,由此可见。

    内存

    内存既专业名上的内存储器,它不是个什么神秘的东西,它也只是存储器中的沧海一粟,它包涵的范围也很大,一般分为只读存储器(ROM)和随机存储器(RAM),以及最强悍的高速缓冲存储器(CACHE),只读存储器应用广泛,它通常是一块在硬件上集成的可读芯片,作用是识别与控制硬件,它的特点是只可读取,不能写入。随机存储器的特点是可读可写,断电后一切数据都消失,我们所说的内存条就是指它了。

    缓存CACHE

    缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或者32M的缓存。CACHE是在CPU中速度非常块,而容量却很小的一种存储器,它是计算机存储器中最强悍的存储器。由于技术限制,容量很难提升。

    二、主要区别

    1、寄存器存在于CPU中,速度很快,数目有限;
    存储器就是内存,速度稍慢,但数量很大;
    计算机做运算时,必须将数据读入寄存器才能运算。
    2、存储器包括寄存器,
    存储器有ROM和RAM

    三、寄存器

    简介

    寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,存器有累加器(ACC)。
    寄存器的基本单元是 D触发器,
    按照其用途分为基本寄存器和移位寄存器
    基本寄存器是由 D触发器组成,在 CP 脉冲作用下,每个 D触发器能够寄存一位二进制码。在 D=0 时,寄存器储存为 0,在 D=1 时,寄存器储存为 1。在低电平为 0、高电平为 1 时,需将信号源与 D 间连接一反相器,这样就可以完成对数据的储存。
    需要强调的是,目前大型数字系统都是基于时钟运作的,其中寄存器一般是在时钟的边缘被触发的,基于电平触发的已较少使用。(通常说的CPU的频率就是指数字集成电路的时钟频率)
    移位寄存器按照移位方向可以分为单向移位寄存器和双向移位寄存器。单向移位寄存器是由多个 D 触发器串接而成,在串口 Di 输入需要储存的数据,触发器 FF0 就能够储存当前需要储存数据,在 CP 发出一次时钟控制脉冲时,串口 Di 同时输入第二个需要储存是的数据,而第一个数据则储存到触发器 FF1 中。双向移位寄存器按图中方式排列,调换连接端顺序,可以控制寄存器向左移位,增加控制电路可以使寄存器右移,这样构成双向移位寄存器。

    特点

    寄存器又分为内部寄存器与外部寄存器,所谓内部寄存器,其实也是一些小的存储单元,也能存储数据。但同存储器相比,寄存器又有自己独有的特点:
    ①寄存器位于CPU内部,数量很少,仅十四个
    ②寄存器所能存储的数据不一定是8bit,有一些寄存器可以存储16bit数据,对于386/486处理器中的一些寄存器则能存储32bit数据
    ③每个内部寄存器都有一个名字,而没有类似存储器的地址编号。

    用途

    1.可将寄存器内的数据执行算术及逻辑运算
    2.存于寄存器内的地址可用来指向内存的某个位置,即寻址
    3.可以用来读写数据到电脑的周边设备。

    四、存储器

    存储器简介

    构成存储器的存储介质,存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元可存放一个字节(按字节编址)。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示2的20次方,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1MB。

    ROM、RAM的区别

    ROM(只读存储器或者固化存储器)RAM(随机存取存储器)ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM有两大类,一种称为静态RAM(Static RAM/SRAM),当数据被存入其中后不会消失。SRAM速度非常快,是目前读写最快的存储设备了。当这个SRAM 单元被赋予0 或者1 的状态之后,它会保持这个状态直到下次被赋予新的状态或者断电之后才会更改或者消失。但是存储1bit 的信息需要4-6 只晶体管。因此它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM 必须在一定的时间内不停的刷新才能保持其中存储的数据。DRAM 只要1 只晶体管就可以实现。DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很 多,计算机内存就是DRAM的。 DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用 得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
    ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修 改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。 最初,把只能读的存储器叫做ROM(Read Only Memory),并且掉电后数据不会丢失。由于不能改写,因而使用起来很不方便。随着技术的进步,在ROM中使用一些新技术,就可以使它具有可以编程的功能。比较早的是熔丝型的可编程ROM,由于是通过熔断熔丝来编程的,所以这类ROM编程后,就不能再写了,是一次性的(OTP)。后来又出现了EPROM,是通过紫外线来擦除的,并且通过高压来编程,这类ROM上面一般有一个透明的石英玻璃窗,看上去挺漂亮的,它就是用来给紫外线照射的。后来又出现了EEPROM,不用紫外线照射就可以擦除,因而可以直接在电路中编程。另外还有FLASH ROM,又可分为NOR FLASH和NAND FLASH。FLASH ROM一般有一个特点,就是写数据时,可以将1改为0,而不能将0改为1,因而写数据前需要擦除,擦除时将所有数据置1。之所以依然叫做ROM,归纳一下,大概有几个原因:
    ①不能像RAM那样快速的写;
    ②可能需要特殊的擦写电压;
    ③可能需要特殊的擦写时序;
    ④可能需要在写之前进行擦除操作;
    ⑤擦写次数有限,不像RAM那样可以随意写而不损坏;
    ⑥掉电后数据不会丢失;
    举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。
    FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据 (NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来 Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。
    目前Flash主要有两种NOR Flash和NADN Flash。NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一快的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户 不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。 一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的“闪盘”,可以在线擦除。

    五、CPU位数、操作系统位数、指令集、寄存器位数、机器字长等

    CPU位数 = CPU中寄存器的位数 = CPU能够一次并行处理的数据宽度 = 数据总线宽度

    CPU为了实现其功能一般设计了指令集(如:IA32指令集和x86-64指令集等),即是CPU的全部指令,这就是机器语言。计算机的所有功能都是基于CPU的指令集。指令集和CPU的位数是有联系 的。如Intel 8086 CPU 是16位,其指令集也是16位。如Intel 80386DX CPU 是32位,其指令集也是32位,但它也保持原16位指令集,这是为了向上兼容。

    注意:x86 又叫 IA32,即 Intel Architecture 32(Intel32位架构)

    操作系统位数 = 其所依赖的指令集位数 <= CPU位数

    机器字长 = 整数和指针数据的标称大小(字长决定的最重要的参数就是虚拟地址空间的最大大小)

    CPU位数与操作系统位数,这二者有区别也有联系,操作系统位数的概念是基于CPU的位数的。 CPU的位数是指CPU能一次同时寄存和处理二进制数码的位数,这和CPU中寄存器的位数对应。 操作系统的位数是说其所依赖的指令集的位数。计算机系统一般都应有向上兼容性,所以也可有64位CPU上运行32位操作系统、32位CPU上运行16位操作系统的情况。操作系统位数应该是根据指针类型的位数来定的。整数类型不一定跟位数相等,CPU位数准确地说应该是CPU一次能够并行处理的数据宽度,一般就是指数据总线宽度。
    附:
    64位CPU如:AMD Athlon64 、Intel Pentium 4 F
    32位CPU如:Intel 80386DX 到 Intel Pentium III 和部分Intel Pentium 4
    16位CPU如:Intel 8086、Intel 80286
    64位操作系统如:Windows XP Professional x64和Windows Server 2003 x64
    32位操作系统如:Windows95、Windows98、Windows NT、Windows 2000、Windows XP
    16位操作系统如:DOS
    Windows1.0到3.2是运行在DOS上的,不能算是独立的操作系统。

    链接:https://www.zhihu.com/question/24565362/answer/54451597

    展开全文
  • 寄存器---汇编学习笔记

    千次阅读 多人点赞 2018-07-07 10:17:42
    第二章 寄存器 2.0 寄存器的绪论 一个典型的CPU由运算器、控制器、寄存器(CPU工作原理)等器件构成。内部总线实现 CPU 内部各个器件之间的联系,外部总线实现CPU和主板其他器件的联系。 在CPU中(下列重要内容)...
  • 计算机寄存器分类简介: ... 32位CPU所含有的寄存器有: ... 4个数据寄存器(EAX、EBX、ECX和EDX) ... 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)  6个段寄存器(ES、CS、SS、DS、FS和GS)
  • 寄存器详解

    千次阅读 2017-02-08 10:54:09
    寄存器 注:名字以字母‘E’开头的寄存器表示32位,如EAX 32位,AX 16位,AL是低8位,AH是8-15位32位CPU的8个通用寄存器:EAX, EBX, ECX, EDX, EBP, ESP, ESI, EDI 数据寄存器EAX, EBX, ECX, EDX EAX:累加寄存器...
  • 寄存器

    千次阅读 2018-08-08 18:37:35
    1.寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑...
  • 2.3 读保持寄存器 03H 1) 说明 读保持寄存器。可读取单个或多个保持寄存器。 2) 查询 从机地址为11H。保持寄存器的起始地址为006BH,结束地址为006DH。该次查询总共访问3个保持寄存器。 表2.3.1 读保持寄存器-查询 ...
  • 4.2、GPIO相关寄存器配置详解

    万次阅读 2019-05-22 21:53:27
    一、寄存器介绍(详见中文参考手册7.4): 每组GPIO下面包含10个寄存器。也就是10个寄存器,一共可以控制一组GPIO的16个IO口。最多7组IO,也就是70个寄存器寄存器分别如下: 一个端口模式寄存器(GPIOx_MODER) ...
  • 数据寄存器:AX,BX,CX,DX 地址指针寄存器:SP,BP 变址寄存器:SI,DI 1, 指针寄存器:主要提供全部或部分偏移量 16位: SP堆栈指针寄存器 BP基址指针寄存器 SP:存放堆栈段中栈顶单元的偏移量 BP:存放堆栈段中...
  • ARM寄存器详解

    万次阅读 多人点赞 2016-10-28 23:27:26
    ARM寄存器 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式。但在任何时候,通用...
  • 寄存器重命名的思路很简单:就是当一条指令写一个结果寄存器时不直接写到这个结果寄存器,而是先写到一个中间寄存器过渡一下,当这条指令提交的时候再写到结果寄存器中。 指令重命名有两种方法:软件重命名
  • 2.7 写多个线圈寄存器 0FH 1) 说明 写多个线圈寄存器。若数据区的某位值为“1”表示被请求的相应线圈状态为ON,若某位值为“0”,则为状态为OFF。 2) 查询 从机地址为11H,线圈寄存器的起始地址为0013H,线圈...
  • 通用寄存器介绍和段寄存器的介绍

    万次阅读 2013-09-06 15:52:59
    以下内容来自百度百科: 通用寄存器 ... 通用寄存器 ...通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存...通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,
  • 使用keil调试查看寄存器方法

    万次阅读 2015-11-24 16:14:18
    最近在使用stm32f407做开发,开发环境用的是keil 4.23. 进入调试界面后, 点击"Peripherals"却只有一个"core Peripherals", 没有其他寄存器
  • 界地址寄存器(界限寄存器

    千次阅读 2008-04-03 21:48:00
    界地址寄存器(界限寄存器)方法: 1.在CPU中设置一对下限寄存器和上限寄存器,存放用户作业在主存中的下限和上限地址 2.可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)每当CPU要访问...
  • 2.5 写单个线圈寄存器 05H 1) 说明 写单个线圈寄存器。FF00H值请求线圈处于ON状态,0000H值请求线圈处于OFF状态。05H指令设置单个线圈的状态,15H指令可以设置多个线圈的状态,两个指令虽然都设定线圈的ON/OFF状态,...
  • modbus协议中的寄存器理解

    万次阅读 多人点赞 2018-02-26 09:54:35
    最近有用到modbus协议,就把之前原来收集的资料全都拿出来又复习了一遍。发现以前了解的也忘了差不多...具体如下: 0x01: 读线圈寄存器 0x02: 读离散输入寄存器 0x03: 读保持寄存器 0x04: 读输入寄存器 0x05: ...
  • 寄存器和存储器的区别?

    万次阅读 2016-05-01 11:40:15
    内存和寄存器就是为了解决存储器读写速度慢而产生的多级存储机制,从20世纪50年代开始,磁芯存储器曾一度成为主存的主要存储介质,但从20世纪70年代开始,逐步被半导体存储器所取代,目前的计算机都是用半导体存储器...
1 2 3 4 5 ... 20
收藏数 412,224
精华内容 164,889
关键字:

寄存器