Jef*_*ser 48
它是关于锁定该地址的内存总线.英特尔64和IA-32架构软件开发人员手册 - 卷3A:系统编程指南,第1部分告诉我们:
7.1.4 LOCK操作对内部处理器高速缓存的影响.
对于Intel486和Pentium处理器,LOCK#信号在LOCK操作期间始终在总线上置位,即使被锁定的存储器区域缓存在处理器中也是如此.
对于P6和更新的处理器系列,如果在LOCK操作期间被锁定的存储器区域被高速缓存在执行LOCK操作作为回写存储器并且完全包含在高速缓存行中的处理器中,则处理器可能不会断言总线上的LOCK#信号.相反,它将在内部修改内存位置并允许[其]缓存一致性机制以确保操作以原子方式执行.此操作称为"缓存锁定".高速缓存一致性机制自动防止具有相同存储区域的两个或多个处理器同时修改该区域中的数据.(重点补充)
在这里,我们了解到P6和更新的芯片足够聪明,可以确定它们是否真的必须阻止总线,或者只能依靠智能缓存.我认为这是一个很好的优化.
我在博客文章" Hows Locks Lock? "中对此进行了更多的讨论.
归档时间: |
|
查看次数: |
12153 次 |
最近记录: |