寄存器

  • cpu的缓存就是寄存器
  • 计算机cpu分为运算器和控制器。
  • 数据只有被载入运算器的寄存器才可以进行计算。如果一个变量在程序总频繁使用,系统必须多次访问内存中的该单元,影响程序的执行效率,狼覅时间。
  • 操作内存需要用到控制器,控制器扫描的数值的地址,将数值赋给寄存器变量(eax,ebx等)。
  • 寄存器在CPU内部,运算速度特别快,内存的数据必须载入寄存器,才能计算。
  • 地址是内存中的,寄存器在CPU中,故寄存器是没有内存地址的。
  • 频繁使用的变量,需要放在寄存器可以提高速度。
  • 寄存器是与机器硬件密切相关的,不同类型的计算机,寄存器的数目是不一样的,通常是2到3个,对于一个函数中说明的多与2到3个的寄存器变量,C编译程序会自动的将寄存器变量变为自自动变量。

* VC会自动优化,即使没有声明寄存器变量,VC也会自动优化。

* gcc,不会自动优化。需要把频繁使用变量声明为寄存器变量,提升程序运行速度。

*寄存器说明符只能用于说明函数中的变量和函数中的形参 ,不允许将全局变量或静态变量声明为寄存器变量

原文地址:https://www.cnblogs.com/sjxbg/p/5579344.html