4.21 寄存器

文章目录

    • 常见的CPU架构
    • 寄存器
    • 缓存
    • 寄存器的分类
    • 通用寄存器

常见的CPU架构

  • x86架构:PC端主流,高性能高消耗
  • ARM架构:移动端主流,体积小低功耗
  • MIPS架构:龙芯3号 国产

寄存器

CPU上存放数据的容器,与内存条、硬盘等不同,寄存器更靠近CPU,读写数据速度远大于内存,是对数据进行临时存储。

  • 寄存器是一个存储容器,可以理解为是一个变量,而CPU在进行数据交换时一个缓存器是明显不够的。每种CPU都有相应的通用寄存器,寄存器数量越多,自然运算效率越高。

  • 为什么要了解寄存器:程序员如果想要操控CPU或者修改内存,不能直接操控,需要借助寄存器。

缓存

相当于寄存器与内存之间的桥梁,这样可以使CPU在执行指令时能够源源不断的提供数据。

寄存器的分类

  • 通用寄存器(通用):用于存放临时数据,可以简单理解为高级语言中的临时变量
  • 段寄存器(特有)
  • 浮点寄存器(特有)
  • 向量寄存器(特有)
  • ……

通用寄存器

  • x86架构中,一共有4个通用寄存器,以16位x86为例,分别命名位ax,bx,cx,dx,最大只能装16位的数据

  • 在ARM架构中,一共有31个通用寄存器,以64位arm为例,从x0~x30

  • 在MIPS架构中,一共有32个通用寄存器,以64位arm为例,从$0~$31

  • 在x86架构中,不同精度CPU通用寄存器名称有所区分:

    • rax(64 bits):字母r开头表示64位寄存
    • eax(32 bits):e开头表示32位寄存器
    • ax(16 bits):默认ax表示16位寄存器
  • 在ARM架构中,不同精度CPU通用寄存器名称有所区分:(n表示0~30)

    • xn(64 bits):x开头表示64位寄存器
    • wn(64 bits):w开头表示64位寄存器中的低32位
    • Rn(32 bits):R开头表示32位寄存器

工具:https://godbolt.org/

你可能感兴趣的:(寄存器)