CPU主要是负责进行计算的硬件单元,但是为了方便运算,一般第一步需要先把数据从内存读取到CPU内,那么也就需要CPU具有一定的数据临时存储能力。注意:CPU并不是当前要计算了,才把特定数据读到CPU里面,那样太慢了。
所以现代CPU内,都集成了一组叫做寄存器的硬件,用来做临时数据的保存。
文章目录
存储金字塔
所以离CPU越近,读取速度越快。
因此寄存器存在的原因:
在硬件层面上,提高计算机的运算效率。因为不需要从内存里读取数据啦。
register修饰变量
尽量将所修饰变量,放入CPU寄存区中,从而达到提高效率的目的。
那么什么样的变量会被register修饰呢?
- 局部的(全局变量会导致CPU寄存器被长时间占用)
- 不会被写入的(写入就是如果寄存器中的变量发生改变,那么这个变量的内存空间也要改变。那么寄存器就失去了高效的意义)
- 高频被读取的(提高效率)
- 如果要使用,不要大量使用,因为寄存器数量有限
另外,register修饰的变量,不能取地址,因为变量已经放在寄存区中了,而地址是内存相关的概念。
但是寄存器中的变量可以被写入,但是不建议这样做。