(一)寄存器来源
cpu本身只负责运算,不负责存储。数据一般存在内存里(RAM/ROM)。cpu要用数据时就去内存读,但cpu的运算速度远高于内存的读写速度,为避免被拖慢,cpu都自带一级、二级缓存(Cache),可被看作速度最快的内存。
但缓存速度还不够快,而且缓存数据地址不固定,每次cpu寻址也会拖慢速度。所以,除了缓存,cpu还自带寄存器(register),来存储最常用的数据。即最频繁使用的变量会放在寄存器里,cpu优先读寄存器,再和内存交互数据。
寄存器不靠地址区分,靠名字区分。每个寄存器有自己的名字,直接告诉cpu去哪个寄存器读取数据,加快速度。
(二)寄存器分类
1)通用寄存器
EAX
EBX
ECX
EDX
EDI
ESI
EBP
2)专用寄存器
ESP:存Stack地址
32位、64位cpu指寄存器的大小,分别可表示2^32、2^64个数。
内存模型