「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战」。
缓存
寄存器和缓存是两个概念, 由于cpu执行速度太快, 而内存读写数据远远跟不上, 这时需要借助缓存进行数据缓冲,相当于是寄存器和内存之间的中间桥梁, 这样cpu在执行指令的时候能够有源源不断的数据供给
了解:寄存器-->一级缓存-->二级缓存-->三级缓存-->内存
拓展: 如果内存条的读写性能过差, 那么cpu再强悍也使不上劲,巧妇难为无米之炊, 因此平常我们再自己组装电脑时,除了内存条的容量之外,还需要考虑到内存条的品质, 否则影响cpu性能,硬盘同理
为什么要了解寄存器
因为程序员如果想要操控cpu或者修改内存, 不能直接操控, 需要借助寄存器, 更改寄存器当中的数据间接地操控cpu和内存
寄存器的数量
在高级语言中如果要对两个变量进行数据交换,我们通常的做法是使用一个temp临时变量,比如:
int a=1;
int b=2;
int temp;
//数据交换
temp=a;
a=b;
b=temp;
寄存器是一个存储容器,也可以通俗理解为是一个变量, 那么cpu在进行数据交换时明显一个寄存器是不够的, 在8086cpu中,通用寄存器有好几个,比如ax,bx,cx,dx 这些名称是固定的, 根据cpu的不同名称也各不相同, 咱们只需知道每种cpu都有相应的通用寄存器, 寄存器数量越多,自然运算效率越高
寄存器的分类
- 通用寄存器 (通用): 用于存放临时数据, 可以简单理解为高级语言中的临时变量
- 段寄存器 (特有): 内存分段管理 x86架构中分为数据段,代码段和栈段 ARM架构中没有段寄存器
- 浮点寄存器 (特有): 专用于浮点数的运算
- 向量寄存器 (特有): 专用于向量运算
- 标志寄存器
- 状态寄存器
- ..........