更多的硬件更改
除了到目前为止已经描述过的更改之外,在这一部分中还将详细介绍用于实现逻辑分区的附加硬件更改。
中断控制器硬件
图 5 描述了对称多处理系统(SMP 系统)中的中断控制器硬件。
图 5. SMP 系统中的中断控制器硬件
中断控制器硬件可以将中断发送到任何 CPU。它将根据一些相关的因素(如非常好的性能),选择将中断发送到哪个 CPU。
在分区的系统中,无法将中断发送到任何处理器。中断控制器硬件需要确定中断源,以及应该接收该中断的分区。图 6 显示了在分区的环境中如何处理中断的一个示例。
图 6. 分区的环境中的中断
通过为每个分区提供一个中断队列,可以实现这个任务。在 POWER5 系统中,一共有 16 个中断队列。在分区设置期间,固件会将各个 CPU 与中断队列关联起来。在适配器设置期间,可以指定特定于该适配器的队列。因此,特定的适配器将关联于特定的逻辑分区。
寄存器
在 POWER4 中,引入了下列新的硬件寄存器,用于实现逻辑分区。
实模式偏移--RMO 寄存器
为每个分区引入了 RMO 寄存器,以便引用分区的内存空间中的逻辑零。
在分区的环境中,整个物理内存在所有的分区之间共享,并且 Hypervisor 位于物理零位置。实地址就是当禁用了虚拟地址到物理地址的转换时所生成的地址。通过计算机状态寄存器(Machine Status Register,MSR)中的各个位,可以说明实寻址模式,在配置虚拟内存管理器(Virtual Memory Manager,VMM)之前运行系统启动代码、以及处理中断的时候,都将使用实寻址模式。
当每个分区采用实模式访问内存的时候,它需要引用偏移量零。RMO 寄存器设计用于每个分区,并且可以帮助每个分区引用地址零、以及内存中有效的且唯一的地址。它包含分区的内存槽相对于物理零的偏移值。在采用实模式访问内存时,物理处理器会将 RMO 寄存器的值与分区特定的实地址相加,以使得它能够引用物理内存中的实地址。操作系统并没有意识到这个转换工作。同一个分区中的所有处理器在 RMO 寄存器中都包含相同的值。
实模式限制--RML 寄存器
这个寄存器用于限制分区在实模式中可以访问的内存量。同一个分区中的所有处理器在 RML 寄存器中都包含相同的值。
逻辑分区标识--LPI 寄存器
这个寄存器包含一个说明为该分区分配的处理器的值。同一个分区中的所有处理器在 LPI 寄存器中都包含相同的值。
处理器使用率资源--PUR 寄存器
为了对处理器使用率进行精确的度量,引入了一个称为 PUR 的新寄存器。
出于贡献或者共享的原因,为虚拟处理器分配的周期可能不同于实际使用的周期。所以,如果根据分配给 CPU 的周期来度量物理处理器的使用率,将不是十分精确的。因此,在 POWER5 中引入了 PUR 寄存器,用于存储各个虚拟处理器实际使用的周期。当两个线程正在使用同一个处理器时,与在同步多线程情况下一样,这个寄存器用于计算每个线程在相同的时间段内实际使用了多少物理处理器。AIX 性能监视命令可以使用 PUR 寄存器来计算处理器的使用率。
Hypervisor 递减器--HDECR
Hypervisor 递减器,是 POWER5 中引入的一种硬件工具,它为 Hypervisor 提供了定时的中断。它独立于任何分区,并且 Hypervisor 可以将其用于分派的目的。