Shared resources, Shared resources -37 – Intel ARCHITECTURE IA-32 User Manual

Page 65

Advertising
background image

IA-32 Intel® Architecture Processor Family Overview

1-37

For example: a cache miss, a branch misprediction, or instruction
dependencies may prevent a logical processor from making forward
progress for some number of cycles. The partitioning prevents the
stalled logical processor from blocking forward progress.

In general, the buffers for staging instructions between major pipe
stages are partitioned. These buffers include µop queues after the
execution trace cache, the queues after the register rename stage, the
reorder buffer which stages instructions for retirement, and the load and
store buffers.

In the case of load and store buffers, partitioning also provided an easier
implementation to maintain memory ordering for each logical processor
and detect memory ordering violations.

Shared Resources

Most resources in a physical processor are fully shared to improve the
dynamic utilization of the resource, including caches and all the
execution units. Some shared resources which are linearly addressed,
like the DTLB, include a logical processor ID bit to distinguish whether
the entry belongs to one logical processor or the other.

The first level cache can operate in two modes depending on a
context-ID bit:

Shared mode: The L1 data cache is fully shared by two logical
processors.

Adaptive mode: In adaptive mode, memory accesses using the page
directory is mapped identically across logical processors sharing the
L1 data cache.

The other resources are fully shared.

Advertising