- 博客(6)
- 收藏
- 关注
原创 8.1.2 总线锁
英特尔64和IA-32处理器提供了一个LOCK#信号,在某些关键的内存操作期间会自动断言,以锁定系统总线或等效链路。在输出信号置位时,来自其他处理器或总线代理的控制总线的请求被阻止。软件可以指定其他场合,在LOCK语义后跟着LOCK前缀加一个指令。 在Intel386,Intel486和Pentium处理器的情况下,明确锁定的指令将导致LOCK#信号的断言。硬件设计人员有责任使系统硬件...
2017-12-24 14:37:48 365
原创 8.1.2.1 原子锁
处理器自动遵循LOCK语义的操作如下:•执行引用存储器的XCHG指令时。•设置TSS描述符的B(忙)标志时 - 处理器切换到任务时,在TSS描述符的类型字段中测试并设置忙标志。为了确保两个处理器不能同时切换到相同的任务,处理器在测试和设置该标志的同时遵循LOCK语义。•更新段描述符时 - 加载段描述符时,如果标志清除,处理器将在段描述符中设置访问标志。在此操作期间,处理器遵循LOCK...
2017-12-24 14:31:43 100
原创 8.1.1 原子操作
Intel486处理器(以及更新的处理器)保证了以下基本的内存操作将始终以原子方式进行:•读取或写入一个字节•读取或写入在16位边界上对齐的单字•读取或写入在32位边界上对齐的双字奔腾处理器(以及更新的处理器)确保以下附加的内存操作始终以原子方式执行:•读取或写入在64位边界上对齐的四字•16位访问适合32位数据总线的未缓存内存位置P6系列处理器(以及更新的处理器)...
2017-12-24 13:11:36 115
原创 8.1 锁的原子操作
32位IA-32处理器支持在系统内存中的位置锁定原子操作。这些操作通常用于管理两个或多个处理器可能同时尝试修改相同字段或标志的共享数据结构(例如信号量,段描述符,系统段或页表)。处理器使用三个相互依赖的机制来执行锁定的原子操作:•保证原子操作 (待确认:应该是单核中处理中,指令禁止中断)•总线锁定,使用LOCK#信号和LOCK指令前缀8-2 Vol。 3A MULTIPLE-PROC...
2017-12-24 13:05:56 145
原创 第8章 多处理器管理
Intel 64和IA-32架构提供了管理和改善连接到同一系统总线的多个处理器性能的机制。这些包括:•总线锁定和/或缓存一致性管理,用于对系统内存执行原子操作。•序列化指令。•位于处理器芯片上的高级可编程中断控制器(APIC)(见第10章“高级可编程中断控制器(APIC)”)。这个特性是由奔腾处理器引入的。•二级缓存(级别2,L2)。对于Pentium 4,Intel Xeon...
2017-12-24 12:35:39 186
原创 SIMD 指令架构
SIMD全称Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄 存器的一组指令集。 ; 加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行...
2017-12-21 05:07:57 1498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人