Intel Hyper-Threading Technology(4)

版权声明:转载必须保留原出处,没有书面许可不可用于商用目的, https://blog.csdn.net/qq_43401808/article/details/85850461

Partitioned Resources

某些缓冲区是共享使用的,但是每个逻辑处理器只能使用一半的条目。这些资源被称为分区的资源。分区的目的是:

  • 操作上的公平性
  • 当一个逻辑处理器上的执行停顿时,另一个逻辑处理器有能力可以继续执行。

例如:高速缓存未命中,分支预测失败,指令依赖都可能会将逻辑处理器执行指令阻塞数个周期。资源分区可以避免停顿的逻辑器阻塞另一个逻辑处理器的继续执行。

通常,位于主流水线各级上的用于各阶段指令的缓冲区都是分区使用的。这些缓冲区包括位于执行跟踪片缓存区TC后的微指令队列,寄存器重命名阶段后的队列,用于指令退役的重排序缓冲区ROB,以及读存缓冲区与写存缓冲区。

对于读存缓冲区与写存缓冲区,分区机制还可以简化为每个逻辑处理器实现访存排序以及侦测访存排序冲突的复杂度。

Shared Resources

物理处理器中的大部分资源,包括高速缓存与所有的执行单元,都是在逻辑处理器之间完全共享的,这样可以提升资源的动态利用率。某些共享的资源是线性地址寻址的,例如DTLB,(注:即两个逻辑处理器可能会转换同样的线性地址,但是转换后对应不同的物理地址,因为是不同的代码线程)。这样的资源有一个逻辑处理器标识(ID)位,用来区分某个条目是属于哪个逻辑处理器的。

根据一个上下文标志位(context-ID bit),一级缓存可以运行在两种模式:

  • 共享模式:L1数据缓存完全在两个逻辑处理器之间共享使用。

注:一级缓存是按物理地址查找的,所以无需逻辑处理器标识位。

  • 自适应模式:在这种模式下,利用页目录的存储器访问被完全的映射在共享使用L1数据缓存的两个逻辑处理器中。英文原文如下:
  • Adpative Mode:In adaptive mode, memory accesses using the page directory is mapped identically across logical processors sharing the L1 data chache.

猜你喜欢

转载自blog.csdn.net/qq_43401808/article/details/85850461