概述
什么是寄存器:
寄存器是CPU内部的存储器,没有地址。寄存器用于暂时存放参与运算的数据和运算结果。寄存器包括通用寄存器、专用寄存器、控制寄存器。
- 通用寄存器:可以存取的数据不受限制 ,什么都可以存。
- 专用寄存器:存放的数据有特殊含义,比如PC,IR
- 控制寄存器:存放的是CPU的控制信息,比如存储控制CPU模式的寄存器。
C语言与寄存器:
C语言中可以使用register来修饰变量,使得该变量存入到寄存器中。此时该变量不能通过&取地址进行操作,因为寄存器没有地址;该变量的类型也不能为浮点型,只能为整型,因为寄存器只能处理整型数据;该变量也不能是全局变量,只能是局部变量,这时C语言的规定,为了防止过多寄存器被占用。
CPU计算c = a+b的过程:
当CPU计算a+b时,需要经过以下步骤:
- 从内存中获取a,b的值并放入寄存器中
- 寄存器的数据通过运算器计算出结果,并放入另一个寄存器中
- CPU将运算结果写回内存