Intel 64 and IA32 Store Buffer

Intel 64和IA-32处理器在把对系统内存的写操作,临时保存在store buffer中。store buffer改善了处理器的性能,使得处理器可以继续执行指令,而不需要等待写到系统内存或者cache的操作完成。同时store buffer使得写操作延迟,能够更有效的利用内存访问总线周期。

一般来说,store buffer的存在对于软件来说是完全透明的,甚至对于多处理器系统也是如此。处理器确保写操作的顺序就是程序执行的顺序。同时也确保store buffer中的内容在如下情况下仍然能够写回内存中:

  • 当异常和中断发生时。
  • 当一个序列化指令执行时
  • 当一个IO指令执行时
  • 当一个LOCK操作执行时
  • 当一个BINIT操作执行时
  • 当使用SFENCE指令进行写串行化
  • 使用MFENCE指令进行读写串行化

Store buffer是和处理器执行单元相关的,store buffer在所有的执行模式都是使能的。

你可能感兴趣的:(Intel)