AMD AMD-K6-2/450 Design Guide - Page 42

UC/WC Cacheability Control Register (UWCCR), Pentium II processors.

Page 42 highlights

Preliminary Information Embedded AMD-K6™ Processors BIOS Design Guide 23913A/0-November 2000 UC/WC Cacheability Control Register (UWCCR) Models 8/[F:8], 9, and D provide two variable-range Memory Type Range Registers (MTRRs)-MTRR0 and MTRR1-that each specify a range of memory. Each range can be defined as one of the following memory types: s Uncacheable (UC) Memory-Memory read cycles are sourced directly from the specified memory address, and the processor does not allocate a cache line. Memory write cycles are targeted at the specified memory address, and a write allocation does not occur. s Write-Combining (WC) Memory-Memory read cycles are sourced directly from the specified memory address, and the processor does not allocate a cache line. The processor conditionally combines data from multiple noncacheable write cycles that are addressed within this range into a merge buffer. Merging multiple write cycles into a single write cycle reduces processor bus utilization and processor stalls, thereby increasing the overall system performance. This memory type is applicable for linear video frame buffers. Note: The MTRRs defined in this document are not softwarecompatible to the MTRRs defined by the Pentium Pro and Pentium II processors. The programmer accesses the MTRRs by addressing the 64-bit MSR known as the UC/WC Cacheability Control Register (UWCCR). The MSR address of the UWCCR is C000_0085h. Following reset, all bits in the UWCCR register are set to 0. MTRR0 (lower 32 bits of the UWCCR register) defines the size and memory type of range 0 and MTRR1 (upper 32 bits) defines the size and memory type of range 1 (see Figure 7 on page 31). Prior to programming write-combining or uncacheable areas of memory in the UWCCR, the software must disable the processor's cache, then flush the cache. This can be achieved by setting the CD bit in CR0 to 1 and executing the WBINVD instruction. Following the programming of the UWCCR, the processor's cache must be enabled by setting the CD bit in CR0 to 0. 30 Model 8/[F:8] Registers

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98

30
Model 8/[F:8] Registers
Embedded AMD-K6™ Processors BIOS Design Guide
23913A/0—November 2000
Preliminary Information
UC/WC Cacheability Control Register (UWCCR)
Models 8/[F:8], 9, and D provide two variable-range Memory
Type Range Registers (MTRRs)—MTRR0 and MTRR1—that
each specify a range of memory. Each range can be defined as
one of the following memory types:
Uncacheable (UC) Memory
—Memory read cycles are sourced
directly from the specified memory address, and the
processor does not allocate a cache line. Memory write
cycles are targeted at the specified memory address, and a
write allocation does not occur.
Write-Combining (WC) Memory
—Memory read cycles are
sourced directly from the specified memory address, and the
processor does not allocate a cache line. The processor
conditionally combines data from multiple noncacheable
write cycles that are addressed within this range into a
merge buffer. Merging multiple write cycles into a single
write cycle reduces processor bus utilization and processor
stalls, thereby increasing the overall system performance.
This memory type is applicable for linear video frame
buffers.
Note:
The MTRRs defined in this document are not software-
compatible to the MTRRs defined by the Pentium Pro and
Pentium II processors.
The programmer accesses the MTRRs by addressing the 64-bit
MSR known as the UC/WC Cacheability Control Register
(UWCCR). The MSR address of the UWCCR is C000_0085h.
Following reset, all bits in the UWCCR register are set to 0.
MTRR0 (lower 32 bits of the UWCCR register) defines the size
and memory type of range 0 and MTRR1 (upper 32 bits) defines
the size and memory type of range 1 (see Figure 7 on page 31).
Prior to programming write-combining or uncacheable areas of
memory in the UWCCR, the software must disable the
processor’s cache, then flush the cache. This can be achieved by
setting the CD bit in CR0 to 1 and executing the WBINVD
instruction. Following the programming of the UWCCR, the
processor’s cache must be enabled by setting the CD bit in CR0
to 0.