Intel 64和IA-32架构提供了管理和改善连接到同一系统总线的多个处理器性能的机制。这些包括:
•总线锁定和/或缓存一致性管理,用于对系统内存执行原子操作。
•序列化指令。
•位于处理器芯片上的高级可编程中断控制器(APIC)(见第10章“高级可编程中断控制器(APIC)”)。这个特性是由奔腾处理器引入的。
•二级缓存(级别2,L2)。对于Pentium 4,Intel Xeon和P6系列处理器,L2缓存包含在处理器软件包中,并与处理器紧密耦合。对于Pentium和Intel486处理器,提供引脚来支持外部L2缓存。
•三级缓存(级别3,L3)。对于英特尔至强处理器,三级高速缓存包含在处理器软件包中,并与处理器紧密耦合。
•英特尔超线程技术。 Intel 64和IA-32体系结构的扩展使单个处理器内核可以同时执行两个或更多线程(请参见第8.5节“英特尔®超线程技术和英特尔®多核技术”)。
这些机制在对称多处理(SMP)系统中特别有用。但是,当Intel 64或IA-32处理器和专用处理器(如通信,图形或视频处理器)共享系统总线时,也可以使用它们。
这些多处理机制具有以下特征:
•维护系统内存一致性 - 当两个或多个处理器同时尝试访问系统内存中的相同地址时,必须使用某些通信机制或内存访问协议来提高数据一致性,并且在某些情况下允许一个处理器临时锁定一个内存位置。
•保持缓存一致性 - 当一个处理器访问另一个处理器缓存的数据时,它不能接收到错误的数据。如果修改数据,则访问该数据的所有其他处理器都必须接收修改后的数据。
•允许可预测的写入内存顺序 - 在某些情况下,以与编程相同的顺序在外部观察内存写入很重要。
•在一组处理器之间分配中断处理 - 当多个处理器在一个系统中并行运行时,有一个集中的机制来接收中断并将其分发到可用的处理器进行处理是非常有用的。通过利用当代操作系统和应用程序的多线程和多进程特性来提高系统性能。
英特尔64和IA-32处理器的高速缓存机制和高速缓存一致性在第11章讨论。第10章将介绍APIC架构。总线和内存锁定,序列化指令,内存排序和英特尔超线程技术在以下部分