![Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3 Manual Download Page 297](http://html.mh-extra.com/html/intel/itanium-architecture-software-developers-volume-3-rev-2-3/itanium-architecture-software-developers-volume-3-rev-2-3_manual_2073404297.webp)
Volume 2, Part 1: Addressing and Protection
2:49
4.1.1.2
Translation Cache (TC)
The Translation Cache (TC) is an implementation-specific structure defined to hold the
large working set of dynamic translations for memory references (including IA-32).
Please see the processor-specific documentation for further information on Itanium
processor TC implementation details.
The processor directly controls the replacement
policy of all TC entries.
Entries are installed by software into the translation cache with the Insert Data
Translation Cache (
itc.d
) and Insert Instruction Translation Cache (
itc.i
)
instructions. The Purge Translation Cache Local (
ptc.l
) instruction purges all ITC/DTC
entries in the local processor that match the specified virtual address range and region
identifier. Purges of all ITC/DTC entries matching a specified virtual address range and
region identifier among all processors in a TLB coherence domain can be globally
performed with the Purge Translation Cache Global (
ptc.g
,
ptc.ga
) instruction. The
TLB coherence domain covers at least the processors on the same local bus on which
the purge was broadcast. Propagation between multiple TLB coherence domains is
platform dependent. Software must handle the case where a purge does not propagate
to all processors in a multiprocessor system. Translation cache purges do not invalidate
TR entries.
All the entries in a local processor’s ITC and DTC can be purged of all entries with a
sequence of Purge Translation Cache Entry (
ptc.e
) instructions. A
ptc.e
does not
propagate to other processors.
In all processor models, the translation cache has at least 1 instruction and 1 data entry
in addition to the specified 8 instruction and 8 data translation registers.
Implementations are free to implement translation cache arrays of larger sizes.
Implementations may also choose to implement additional hierarchies for increased
performance. At least one translation cache level is required to support all implemented
page sizes. Additional hierarchy levels may or may not be performance optimized for
the preferred page size specified by the virtual region, may be set-associative or fully
associative, and may support a limited set of page sizes. Please see the
processor-specific documentation for further information on the Itanium processor
implementation details of the translation cache.
The translation cache is managed by both software and hardware. In general, software
cannot assume any entry installed will remain, nor assume the lifetime of any entry
since replacement algorithms are implementation specific. The processor may discard
or replace a translation at any point in time for any reason (subject to the forward
progress rules below). TC purges may remove more entries than explicitly requested.
In the presence of a processor hardware error, the processor may remove TC entries
and optionally raise a Corrected Machine Check Interrupt.
In order to ensure forward progress for Itanium architecture-based code, the following
rules must be observed by the processor and software.
• Software may insert multiple translation cache entries per TLB fault, provided that
only the last installed translation is required for forward progress.
• The processor may occasionally invalidate the last TC entry inserted. The processor
must eventually guarantee visibility of the last inserted TC entry to all references
while PSR.ic is zero. The processor must eventually guarantee visibility of the last
inserted TC entry until an
rfi
sets PSR.ic to 1 and at least one instruction is
executed with PSR.ic equal to 1, and completes without a fault or interrupt. The last
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...