The contents of this document are provided in connection with Advanced Micro
Devices, Inc. (“AMD”) products. AMD makes no representations or warranties with
respect to the accuracy or completeness of the contents of this publication and
reserves the right to make changes to specifications and product descriptions at
any time without notice. No license, whether express, implied, arising by estoppel
or otherwise, to any intellectual property rights is granted by this publication.
Except as set forth in AMD’s Standard Terms and Conditions of Sale, AMD
assumes no liability whatsoever, and disclaims any express or implied warranty,
relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particular purpose, or infringement of any intellectual
property right.
AMD’s products are not designed, intended, authorized or warranted for use as
components in systems intended for surgical implant into the body, or in other
applications intended to support or sustain life, or in any other application in which
the failure of AMD’s product could create a situation where personal injury, death,
or severe property or environmental damage may occur. AMD reserves the right to
discontinue or make changes to its products at any time without notice.
Contacts
www.amd.com
Trademarks
AMD, the AMD Arrow logo, AMD Athlon, Geode, GeodeLink, 3DNow!, and combinations thereof, are trademarks of
Advanced Micro Devices, Inc.
Linux is a registered trademark of Linus Torvalds.
WinBench is a registered trademark of Ziff Davis, Inc.
Windows is a registered trademark of Microsoft Corporation in the United States and/or other jurisdictions.
Pentium is a registered trademark and MMX is a trademark of Intel Corporation in the United States and/or other jurisdictions.
Other product names used in this publication are for identification purposes only and may be trademarks of their respective
companies.
Table 6-87.Bootstrap Bit Settings and Reset State of GLCP_SYS_RSTPLL (PW1 and IRQ13 = 0) . .556
Table 6-88.Bootstrap Bit Settings and Reset State of GLCP_SYS_RSTPLL (PW1 and IRQ13 vary) . . 557
AMD Geode™ LX processors are integrated x86 processors specifically designed to power embedded devices for
entertainment, education, and business. Serving the needs
of consumers and business professionals alike, it’s an
excellent solution for embedded applications, such as thin
clients, interactive set-top boxes, single board computers,
and mobile computing devices.
Available with a core voltage of 1.2V, 1.25V, or 1.4V it offers
extremely low typical power consumption leading to longer
battery life and enabling small form-factor, fanless designs.
While the processor core provides maximum compatibility
with the vast amount of Internet content available, the intelligent integration of several other functions, including
graphics and video datapaths, offers a true system-level
multimedia solution.
For implementation details and suggestions for this device,
see the supporting documentation (i.e., application notes,
schematics, etc.) on the AMD Embedded Developer Support Web site (http://wwwd.amd.com/dev
1
, NDA required).
SYSREF
DOTREF
SDCLKs
64-Bit
DDR
Test/Reset
Interface
AMD Geode™
Companion
Device
Clock Module
System PLL
CPU PLL
DOTCLK PLL
GeodeLink™
Memory
Controller (GLMC)
64-bit DDR SDRAM
GeodeLink™
Control
Processor (GLCP)
Power Mgmnt
Te s t
Diagnostic
Companion I/F
Security Block
128-bit AES
(CBC/ECB)
Tr u e
Random Number
Generator
64 KB L1 I-cache
64 KB L1 D-cache
TLB
128 KB L2 cache
GeodeLink™ Interface Unit 0
GeodeLink™ Interface Unit 1
Video Input
Port (VIP)
CPU Core
Integer
Unit
(GLIU0)
(GLIU1)
GeodeLink™
Load/Store
Bus Controller
PCI Bridge
(GLPCI)
MMU
FPU
TFT
Controller/
Video
Output
Port (VOP)
Graphics Processor (GP)
BLT Engine
ROP Unit
Alpha Compositing
Rotation BLT
Display Controller (DC)
Compression Buffer
Palette RAM
Timing
Graphics Filter/Scaling
HW VGA
RGBYUV
Video Processor (VP)
Video Scalar
Video Mixer
Alpha Blender
1 KB
LUT
3x8-Bit DAC
EEPROM on package
(optional)
VIP
PCI
TFT/VOP
CRT
Figure 1-1. Internal Block Diagram
AMD Geode™ LX Processors Data Book 11
33234H
Overview
1.2Features
General Features
■ Functional blocks include:
—CPU Core
— GeodeLink™ Control Processor
— GeodeLink Interface Units
— GeodeLink Memory Controller
— Graphics Processor
— Display Controller
— Video Processor
– TFT Controller/Video Output Port
— Video Input Port
— GeodeLink PCI Bridge
— Security Block
■ 0.13 micron process
■ Packaging:
— 481-Terminal BGU (Ball Grid Array Cavity Up) with
internal heatspreader
■ Single packaging option supports all features
■ Industrial temperature range available for the
LX 800@0.9W processor*
CPU Processor Features
■ x86/x87-compatible CPU core
■ Performance:
— Processor frequency: up to 600 MHz
— Dhrystone 2.1 MIPs: 150 to 450
— Fully pipelined FPU
■ Fully pipelined single precision FPU hardware with
microcode support for higher precisions
GeodeLink™ Control Processor
■ JTAG interface:
— ATPG, Full Scan, BIST on all arrays
— 1149.1 Boundary Scan compliant
■ ICE (in-circuit emulator) interface
■ Reset and clock control
■ Designed for improved software debug methods and
performance analysis
■ Power Management:
— LX 900@1.5W processor* (Unterminated):
Total Dissipated Power (TDP) 5.1W,
2.6W typical @ 600 MHz max power
— LX 800@0.9W processor* (Unterminated):
Total Dissipated Power (TDP) 3.6W,
1.8W typical @ 500 MHz max power
— LX 700@0.8W processor* (Unterminated):
Total Dissipated Power (TDP) 3.1W,
1.3W typical @ 433 MHz max power
— LX 600@0.7W processor* (Unterminated):
Total Dissipated Power (TDP) 2.8W,
1.2W typical @ 366 MHz max power
— GeodeLink active hardware power management
— Hardware support for standard ACPI software power
management
— I/O companion SUSP/SUSPA power controls
— Lower power I/O
— Wakeup on SMI/INTR
■ Works in conjunction with the AMD Geode™ CS5536
(USB 2.0) or CS5535 (USB 1.1) companion device
GeodeLink™ Architecture
■ High bandwidth packetized uni-directional bus for
internal peripherals
■ Standardized protocol to allow variants of products to be
developed by adding or removing modules
■ GeodeLink Control Processor (GLCP) for diagnostics
and scan control
■ Dual GeodeLink Interface Units (GLIUs) for device inter-
connect
GeodeLink™ Memory Controller
■ Integrated memory controller for low latency to CPU and
on-chip peripherals
■ 64-bit wide DDR SDRAM bus operating frequency:
— 200 MHz, 400 MT/S
■ Supports unbuffered DDR DIMMS using up to 2 GB
DRAM technology
■ Supports up to 2 DIMMS (16 devices max)
2D Graphics Processor
■ High performance 2D graphics controller
■ Alpha BLT
■ Windows
®
GDIGUI acceleration:
— Hardware support for all Microsoft RDP codes
■ Command buffer interface for asynchronous BLTs
■ Second pattern channel support
■ Hardware screen rotation
*The AMD Geode LX 900@1.5W processor operates at 600 MHz, the AMD Geode LX 800@0.9W processor operates at 500 MHz, the
AMD Geode LX 700@0.8W processor operates at 433 MHz and the AMD Geode LX 600@.07W processor operates at 366 MHz. Model
numbers reflect performance as described here: http://www.amd.com/connectivitysolutions/geodelxbenchmark
■ Electronic Code Book (ECB) or Cipher Block Chaining
(CBC)128-bit AES hardware support
■ True random number generator (TRNG)
Video Processor
■ Supports video scaling, mixing and VOP
■ Hardware video up/down scalar
■ Graphics/video alpha blending and color key muxing
■ Digital VOP (SD and HD) or TFT outputs
■ Legacy RGB mode
■ VOP supports SD and HD 480p, 480i, 720p, and 1080i
■ VESA 1.1, 2.0 and BT.601 24-bit (out only), BT.656
compliant
Integrated Analog CRT DAC, System Clock PLLs and
Dot Clock PLL
■ Integrated Dot Clock PLL with up to 350 MHz clock
■ Integrated 3x8-bit DAC with up to 350 MHz sampling
■ Integrated x86 core PLL
■ Memory PLL
AMD Geode™ LX Processors Data Book 13
33234H
Overview
14AMD Geode™ LX Processors Data Book
Architecture Overview33234H
2.0Architecture Overview
2
The CPU Core provides maximum compatibility with the
vast amount of Internet content available while the intelligent integration of several other functions, including graphics, makes the AMD Geode™ LX processor a true systemlevel multimedia solution.
The AMD Geode LX processor can be divided into major
functional blocks (as shown in Figure 1-1 on page 11):
• CPU Core
• GeodeLink™ Control Processor
• GeodeLink Interface Units
• GeodeLink Memory Controller
• Graphics Processor
• Display Controller
• Video Processor
— TFT Controller/Video Output Port
• Video Input Port
• GeodeLink PCI Bridge
• Security Block
2.1CPU Core
The x86 core consists of an Integer Unit, cache memory
subsystem, and an x87 compatible FPU (Floating Point
Unit). The Integer Unit contains the instruction pipeline and
associated logic. The memory subsystem contains the
instruction and data caches, translation look-aside buffers
(TLBs), and an interface to the GeodeLink Interface Units
(GLIUs).
The instruction set supported by the core is a combination
of Intel Pentium
AMD Geode LX processor specific instructions. Specifically, it supports the Pentium, Pentium Pro, AMD 3DNow!™
technology and MMX™ instructions for the AMD Athlon
processor. It supports a subset of the specialized
AMD Geode LX processor instructions including special
SMM instructions. The CPU Core does not support the
entire Katmai New Instruction (KNI) set as implemented in
the Pentium 3. It does support the MMX instructions for the
AMD Athlon processor, which are a subset of the
Pentium 3 KNI instructions.
®
processor, AMD Athlon™ processor, and
2.1.1Integer Unit
The Integer Unit consists of a single issue 8-stage pipeline
and all the necessary support hardware to keep the pipeline running efficiently.
The instruction pipeline in the integer unit consists of eight
stages:
1) Instruction Prefetch - Raw instruction data is fetched
from the instruction memory cache.
2) Instruction Pre-decode - Prefix bytes are extracted
from raw instruction data. This decode looks-ahead to
the next instruction and the bubble can be squashed if
the pipeline stalls down stream.
3) Instruction Decode - Performs full decode of instruction data. Indicates instruction length back to the
Prefetch Unit, allowing the Prefetch Unit to shift the
appropriate number of bytes to the beginning of the
next instruction.
4) Instruction Queue - FIFO containing decoded x86
instructions. Allows Instruction Decode to proceed
even if the pipeline is stalled downstream. Register
reads for data operand address calculations are performed during this stage.
5) Address Calculation #1 - Computes linear address of
operand data (if required) and issues request to the
Data Memory Cache. Microcode can take over the
pipeline and inject a micro-box here if multi-box
instructions require additional data operands.
6) Address Calculation #2 - Operand data (if required)
is returned and set up to the Execution stage with no
bubbles if there was a data cache hit. Segment limit
checking is performed on the data operand address.
The µROM is read for setup to Execution Unit.
7) Execution Unit - Register and/or data memory fetch
fed through the Arithmetic Logic Unit (ALU) for arithmetic or logical operations. µROM always fires for the
first instruction box down the pipeline. Microcode can
take over the pipeline and insert additional boxes here
if the instruction requires multiple Execution Unit
stages to complete.
8) Writeback - Results of the Execution Unit stages are
written to the register file or to data memory.
AMD Geode™ LX Processors Data Book 15
33234H
Architecture Overview
2.1.2Memory Management Unit
The memory management unit (MMU) translates the linear
address supplied by the integer unit into a physical address
to be used by the cache unit and the internal bus interface
unit. Memory management procedures are x86-compatible, adhering to standard paging mechanisms.
The MMU also contains a load/store unit that is responsible
for scheduling cache and external memory accesses. The
load/store unit incorporates two performance-enhancing
features:
• Load-store reordering gives memory reads required by
the integer unit a priority over writes to external memory.
• Memory-read bypassing eliminates unnecessary
memory reads by using valid data from the execution
unit.
2.1.3Cache and TLB Subsystem
The cache and TLB subsystem of the CPU Core supplies
the integer pipeline with instructions, data, and translated
addresses (when necessary). To support the efficient delivery of instructions, the cache and TLB subsystem has a
single clock access 64 KB 16-way set associative instruction cache and a 16-entry fully associative TLB. The TLB
performs necessary address translations when in protected
mode. For data, there is a 64 KB 16-way set associative
writeback cache, and a 16-entry fully associative TLB.
When there is a miss to the instruction or data TLBs, there
is a second level unified (instruction and data) 64-entry 2way set associative TLB that takes an additional clock to
access. When there is a miss to the instruction or data
caches or the TLB, the access must go to the GeodeLink
Memory Controller (GLMC) for processing. Having both an
instruction and a data cache and their associated TLBs
improves overall efficiency of the integer unit by enabling
simultaneous access to both caches.
The L1 caches are supported by a 128 KB unified L2 victim
cache. The L2 cache can be configured to hold data,
instructions, or both. The L2 cache is 4-way set associative.
integer core. The datapath is optimized for single precision
arithmetic. Extended precision instructions are handled in
microcode and require multiple passes through the pipeline. There is an execution pipeline and a load/store pipeline. This allows load/store operations to execute in parallel
with arithmetic instructions.
2.2GeodeLink™ Control Processor
The GeodeLink Control Processor (GLCP) is responsible
for reset control, macro clock management, and debug
support provided in the Geode LX processor. It contains
the JTAG interface and the scan chain control logic. It supports chip reset, including initial PLL control and programming and runtime power management macro clock control.
The JTAG support includes a TAP Controller that is IEEE
1149.1 compliant. CPU control can be obtained through
the JTAG interface into the TAP Controller, and all internal
registers, including CPU Core registers, can be accessed.
In-circuit emulation (ICE) capabilities are supported
through this JTAG and TAP Controller interface.
The GLCP also includes the companion device interface.
The companion device has several unique signals connected to this module that support Geode LX processor
reset, interrupts, and system power management.
2.3GeodeLink™ Interface Units
Together, the two GeodeLink Interface Units (GLIU0 and
GLIU1) make up the internal bus derived from the
GeodeLink architecture. GLIU0 connects five high bandwidth modules together with a seventh link to GLIU1 that
connects to the five low bandwidth modules.
2.4GeodeLink™ Memory Controller
The GeodeLink Memory Controller (GLMC) is the source
for all memory needs in a typical Geode LX processor system. The GLMC supports a memory data bus width of 64
bits and supports 200 MHz, 400 MT/S for DDR (Double
Data Rate).
2.1.4Bus Controller Unit
The bus controller unit provides a bridge from the processor to the GLIUs. When external memory access is
required, due to a cache miss, the physical address is
passed to the bus controller unit, that translates the cycle
to a GeodeLink cycle.
2.1.5Floating Point Unit
The Floating Point Unit (FPU) is a pipelined arithmetic unit
that performs floating point operations as per the IEEE 754
standard. The instruction sets supported are x87, MMX,
and AMD 3DNow! technology. The FPU is a pipelined
machine with dynamic scheduling of instructions to minimize stalls due to data dependencies. It performs out of
order execution and register renaming. It is designed to
support an instruction issue rate of one per clock from the
16AMD Geode™ LX Processors Data Book
The modules that need memory are the CPU Core, Graphics Processor, Display Controller, Video Input Port, and
Security Block. Because the GLMC supports memory
needs for both the CPU Core and the display subsystem,
the GLMC is classically called a UMA (Unified Memory
Architecture) subsystem. PCI accesses to main memory
are also supported.
Up to four banks, with eight devices maximum in each bank
of SDRAM, are supported with up to 512 MB in each bank.
Four banks means that one or two DIMM or SODIMM modules can be used in a AMD Geode LX processor system.
Some memory configurations have additional restrictions
on maximum device quantity.
Architecture Overview
33234H
2.5Graphics Processor
The Graphics Processor is based on the graphics processor used in the AMD Geode GX processor with several features added to enhance performance and functionality. Like
its predecessor, the AMD Geode LX processor’s Graphics
Processor is a BitBLT/vector engine that supports pattern
generation, source expansion, pattern/source transparency, 256 ternary raster operations, alpha blenders to support alpha-BLTs, incorporated BLT FIFOs, a GeodeLink
interface and the ability to throttle BLTs according to video
timing. Features added to the Graphics Processor include:
• Command buffer interface
• Hardware accelerated rotation BLTs
• Color depth conversion
• Paletized color
• Full 8x8 color pattern buffer
• Channel 3 - third DMA channel
• Monochrome inversion
Table 2-1 presents a comparison between the Graphics
Processor features of the AMD Geode GX and LX processors.
Color Depth ConversionNo5:6:5, 1:5:5:5, 4:4:4:4, 8:8:8:8
Ye sYe s
8x2 (16 pixels)
8x4 (8 pixels)
AMD Geode™ LX Processors Data Book 17
33234H
Architecture Overview
2.6Display Controller
The Display Controller performs the following functions:
1) Retrieves graphics, video, and cursor data.
2) Serializes the streams.
3) Performs any necessary color lookups and output for-
matting.
4) Interfaces to the Video Processor for driving the dis-
play device(s).
The Display Controller consists of a memory retrieval system for rasterized graphics data, a VGA, and a back-end filter. The AMD Geode LX processor’s Display Controller
corresponds to the Display Controller function found in the
AMD Geode GX processor with additional hardware for
graphics filter functions. The VGA provides full hardware
compatibility with the VGA graphics standard. The rasterized graphics and the VGA share a single display FIFO and
display refresh memory interface to the GeodeLink Memory Controller (GLMC). The VGA uses 8 bpp and syncs,
that are expanded to 24 bpp via the color lookup table, and
passes the information to the graphics filter for scaling and
interlaced display support. The stream is then passed to
the Video Processor, which is used for video overlay. The
Video Processor forwards this information to the DAC (Digital-to-Analog Converter), that generates the analog red,
green, and blue signals, and buffers the sync signals that
are then sent to the display. The Video Processor output
can also be rendered as YUV data, and can be output on
the Video Output Port (VOP).
2.7Video Processor
The Video Processor mixes the graphics and video
streams, and outputs either digital RGB data to the internal
DACs or the flat panel interface, or digital YUV data via the
VOP interface.
The Video Processor delivers high-resolution and truecolor graphics. It can also overlay or blend a scaled truecolor video image on the graphic background.
The Video Processor interfaces with the CPU Core via a
GLIU master/slave interface. The Video Processor is a
slave only, as it has no memory requirements.
2.7.2TFT Controller
The TFT Controller converts the digital RGB output of a
Video Mixer block to the digital output suitable for driving a
TFT flat panel LCD.
The flat panel connects to the RGB port of the Video Mixer.
It interfaces directly to industry standard 18-bit or 24-bit
active matrix thin film transistor (TFT). The digital RGB or
video data that is supplied by the video logic is converted
into a suitable format to drive a wide range of panels with
variable bits. The LCD interface includes dithering logic to
increase the apparent number of colors displayed for use
on panels with less than 6 bits per color. The LCD interface
also supports automatic power sequencing of panel power
supplies.
It supports panels up to a 24-bit interface and up to
1600x1200 resolution.
The TFT Controller interfaces with the CPU Core via a
GLIU master/slave interface. The TFT Controller is both a
GLIU master and slave.
2.7.3Video Output Port
The VOP receives YUV 4:4:4 encoded data from the Video
Processor and formats the data into a video stream that is
BT.656 compliant. Output from the VOP goes to either a
VIP or a TV encoder. The VOP is BT.656/601 compliant
since its output may go directly (or indirectly) to a display.
2.8Video Input Port
The Video Input Port (VIP) receives 8- or 16-bit video or
ancillary data, 8-bit message data, or 8-bit raw video and
passes it to data buffers located in system memory. The
VIP is a DMA engine. The primary operational mode is as a
compliant VESA 2.0 slave. The VESA 2.0 specification
defines the protocol for receiving video, VBI, and ancillary
data. The addition of the message passing and data
streaming modes provides additional flexibility in receiving
non-VESA 2.0 compliant data streams. Input data is
packed into QWORDS, buffered into a FIFO, and sent to
system memory over the GLIU. The VIP masters the internal GLIU and transfers the data from the FIFO to system
memory. The maximum input data rate (8- or 16-bits) is 150
MHz.
2.7.1CRT Interface
The internal high performance DACs support CRT resolutions up to:
— 1920x1440x32 bpp at 85 Hz
— 1600x1200x32 bpp at 100 Hz
18AMD Geode™ LX Processors Data Book
2.9GeodeLink™ PCI Bridge
The GeodeLink PCI Bridge (GLPCI) contains all the necessary logic to support an external PCI interface. The PCI
interface is PCI v2.2 specification compliant. The logic
includes the PCI and GLIU interface control, read and write
FIFOs, and a PCI arbiter.
Architecture Overview
33234H
2.10Security Block
The AMD Geode LX processor has an on-chip AES 128-bit
crypto acceleration block capable of 44 Mbps throughput
on either encryption or decryption at a processor speed of
500 MHz. The AES block runs asynchronously to the processor core and is DMA based. The AES block supports
both EBC and CBC modes and has an interface for
accessing the optional EEPROM memory for storing
unique IDs and/or security keys. The AES and EEPROM
sections have separate control registers but share a single
set of interrupt registers. The AES module has two key
sources: one hidden 128-bit key stored in the “on-package”
EEPROM, and a write only 128-bit key (reads as all zeros).
The hidden key is loaded automatically by the hardware
after reset and is not visible to the processor. The
EEPROM can be locked. The initialization vector for the
CBC mode can be generated by the True Random Number
Generator (TRNG). The TRNG is addressable separately
and generates a 32-bit random number.
AMD Geode™ LX Processors Data Book 19
33234H
Architecture Overview
20AMD Geode™ LX Processors Data Book
Signal Definitions33234H
3.0Signal Definitions
3
This chapter defines the signals and describes the external interface of the AMD Geode™ LX processor. Figure 3-1 shows
the pins organized by their functional groupings. Where signals are multiplexed, the default signal name is listed first and is
separated by a plus sign (+). Multi-function pins are described in Table 3-1 on page 22.
Note 1.Alpha RED/GREEN/BLUE: Useful for off-chip graphics digital interfaces.
Note 2.Pin usage depends on TFT mode. See Section 6.7.7 "Flat Panel Display Controller" on page 405 for details.
RGB w/16-bit
VIP
ARGB (Note 1)
w/8-bit VIP
TFT w/16-bit VIP
(not 601)
8- or 16-bit VOP
w/16-bit VIP
22AMD Geode™ LX Processors Data Book
Signal Definitions
33234H
3.1Buffer Types
The Ball Assignment tables starting on page 26 include a
column labeled “Buffer Type”. The details of each buffer
type listed in this column are given in Table 3-2. The column headings in Table 3-2 are identified as follows:
TS: Indicates whether the buffer may be put into the TRISTATE mode. Note some pins that have buffer types that
allow TRI-STATE may never actually enter the TRI-STATE
mode in practice, since they may be inputs or provide other
signals that are always driven. To determine if a particular
signal can be put in the TRI-STATE mode, consult the individual signal descriptions in Section 3.4 "Signal Descriptions" on page 33.
OD: Indicates if the buffer is open-drain, or not. Open-drain
outputs may be wire ORed together and require a discrete
pull-up resistor to operate properly.
5VT: Indicates if the buffer is 5-volt tolerant, or not. If it is 5volt tolerant, then 5 volt TTL signals may be safely applied
to this pin.
PU/PD: Indicates if an internal, programmable pull-up or
pull-down resistor may be present.
Current High/Low (mA): This column gives the current
source/sink capacities when the voltage at the pin is high,
and low. The high and low values are separated by a “/”
and values given are in milli-amps (mA).
Rise/Fall @ Load: This column indicates the rise and fall
times for the different buffer types at the load capacitance
indicated. These measurements are given in two ways:
rise/fall time between the 20%-80% voltage levels, or, the
rate of change the buffer is capable of, in volts-per-nanosecond (V/ns).
Note the presence of “Wire” type buffer in this table. Signals identified as a wire-type are not driven by a buffer,
hence no rise/fall time or other measurements are given;
these are marked “NA” in Table 3-2. The wire-type connection indicates a direct connection to internal circuits such
as power, ground, and analog signals.
Table 3-2. Buffer Type Characteristics
NameTSOD5VTPU/PD
Current
High/Low
(mA)Rise/Fall @ Load
24/Q3XX24/243 ns @ 50 pF
24/Q5XX24/245 ns @ 50 pF
24/Q7XX24/247 ns @ 50 pF
5VXX16/161.25V/ns @ 40 pF
PCIX0.5/1.51-4V/ns @ 10 pF
DDRCLK10/108.5V/ns @ 15 pF
DDR 2.4V/ns @ 50 pF
WireNANANANANA
AMD Geode™ LX Processors Data Book 23
33234H
Signal Definitions
3.2Bootstrap Options
The bootstrap options shown in Table 3-3 are supported in
the AMD Geode LX processor for configuring the system.
Table 3-3. Bootstrap Options
PinsDescription
IRQ130: Normal boot operation, TAP reset
active during PCI reset
1: Debug stall of CPU after CPU
reset, TAP reset active until V
PW10: PCI (SYSREF) is 33 MHz
1: PCI (SYSREF) is 66 MHz
PW0,
SUSPA#,
GNT[2:0]#
Select CPU and GeodeLink system
MHz options including a PLL bypass
option. Refer to Table 6-87 on page
556 for programming.
IO
valid
3.3Ball Assignments
The tables in this chapter use several common abbreviations. Table 3-4 lists the mnemonics and their meanings.
Table 3-4. Ball Type Definitions
MnemonicDefinition
AAnalog
IInput ball
I/OBidirectional ball
CAV
SS
CAV
DD
DAV
SS
DAV
DD
MAV
SS
MAV
DD
OOutput ball
VAV
SS
VAV
DD
V
CORE
V
IO
V
MEM
V
SS
#The “#” symbol at the end of a signal
Core PLL Ground ball: Analog
Core PLL Power ball: Analog
DAC PLL Ground ball: Analog
DAC PLL Power ball: Analog
GLIU PLL Ground ball: Analog
GLIU PLL Power ball: Analog
Video PLL Ground ball: Analog
Video PLL Power ball: Analog
Power ball: 1.2V (Nominal)
I/O Power ball: 3.3V (Nominal)
Power ball: 2.5V
Ground ball
name indicates that the active, or
asserted state, occurs when the signal is at a low voltage level. When “#”
is not present after the signal name,
the signal is asserted when at a high
voltage level.
I/O0-300 Mb/s3.3PowerWise Controls. Used for debug.
0-66 Mb/s3.3Interrupt Request Level 13. When a floating point
sor to the CS5536 companion device (open drain).
error occurs, the AMD Geode LX processor asserts
IRQ13. The floating point interrupt handler then performs an OUT instruction to I/O address F0h or F1h.
The AMD Geode LX processor accepts either of
these cycles and clears IRQ13.
IRQ13 is an output during normal operation. It is an
input at reset and functions as a boot strap for tester
features on a board. It must be pulled low for normal
operation.
interface uses the CIS signal to create a serial bus. It
contains INTR#, SUSP#, NMI#, INPUT_DIS#,
OUTPUT_DIS#, and SMI#. For details see
"GIO_PCI Serial Protocol" on page 538.
indicates that the AMD Geode LX processor has
entered low-power Suspend mode as a result of
SUSP# assertion (as part of the packet asserted on
the CIS signal) or execution of a HLT instruction.
(The AMD Geode LX processor enters Suspend
mode following execution of a HLT instruction if the
SUSPONHLT bit, MSR 00001210h[0], is set.)
The SYSREF input may be stopped after SUSPA#
has been asserted to further reduce power consumption if the system is configured for 3 Volt Suspend mode.
SUSPA# is an output during normal operation. It is
an input at reset and functions as a boot strap for frequency selection on a board. It must be pulled high
or low to invoke the strap.
PWx is an output during normal operation. It is an
input at reset and functions as a boot strap for frequency selection on a board. It must be pulled high
or low to invoke the strap.
AMD Geode™ LX Processors Data Book 33
33234H
Signal Definitions
3.4.1System Interface Signals (Continued)
Ball
Signal Name
TDPAL17AAnalogN/AThermal Diode Positive (TDP). TDP is the positive
TDNAK17AAnalogN/AThermal Diode Negative (TDN). TDN is the nega-
No.TypefVDescription
terminal of the thermal diode on the die. The diode is
used to do thermal characterization of the device in
a system. This signal works in conjunction with TDN.
For accurate die temperature measurements, a dual
current source remote sensor, such as the National
Semiconductor LM82, should be used. Single current source sensors may not yield the desired level
of accuracy.
If reading the CPU temperature is required while the
system is off, then a small bias (<0.25V) on V
required for the thermal diode to operate properly.
tive terminal of the thermal diode on the die. The
diode is used to do thermal characterization of the
device in a system. This signal works in conjunction
with TDP.
For accurate die temperature measurements, a dual
current source remote sensor, such as the National
Semiconductor LM82, should be used. Single current source sensors may not yield the desired level
of accuracy.
If reading the CPU temperature is required while the
system is off, then a small bias (<0.25V) on V
required for the thermal diode to operate properly.
is
IO
is
IO
3.4.2PLL Interface Signals
Ball
Signal Name
CAV
DD
CAV
SS
MAV
DD
MAV
SS
VAV
DD
VAV
SS
CLPFW29AAnalogN/ACore PLL Low Pass Filter. 220 pF to CAVSS.
MLPFV29AAnalogN/AGLIU PLL Low Pass Filter. 220 pF to MAV
VLPFAA3AAnalogN/AVideo PLL Low Pass Filter. 220 pF to VAV
No.TypefVDescription
W31APWRAnalog3.3Core PLL Analog Power. Connect to 3.3V.
W30APWRAnalog0Core PLL Analog Ground. Connect to ground.
V31APWRAnalog3.3GLIU PLL Analog Power. Connect to 3.3V.
V30APWRAnalog0GLIU PLL Analog Ground. Connect to ground.
AA1APWRAnalog3.3Video PLL Analog Power. Connect to 3.3V.
AA2APWRAnalog0Video PLL Analog Ground. Connect to ground.
SS.
SS.
34AMD Geode™ LX Processors Data Book
Signal Definitions
3.4.3Memory Interface Signals (DDR)
Signal NameBall No.TypefVDescription
33234H
SDCLK[5:0]P,
SDCLK[5:0]N
D20, D21,
D23, D24,
J28, H28,
M28, L28,
Oup to 200 MHz2.5SDRAM Clock Differential Pairs. The SDRAM
devices sample all the control, address, and
data based on these clocks. All clocks are dif-
ferential clock outputs.
J4, H4,
M4, L4
MVREFP1IAnalogV
MEM
Memory Voltage Reference. This input oper-
ates at half the V
MEM
voltage.
CKE[1:0]F4, E4I/Oup to 200 Mb/s2.5Clock Enable. For normal operation, CKE is
held high. CKE goes low during Suspend.
CKE0 is used with CS0# and CS1#. CKE1 is
used with CS2# and CS3#.
CS[3:0]#D30, F29,
F28, B28
I/Oup to 200 Mb/s2.5Chip Selects. The chip selects are used to
select the module bank within the system mem-
ory. Each chip select corresponds to a specific
module bank.
If CS# is high, the bank(s) do not respond to
RAS#, CAS#, or WE# until the bank is selected
again.
RAS[1:0]#D27, C26I/Oup to 200 Mb/s2.5Row Address Strobe. RAS#, CAS#, WE#, and
CKE are encoded to support the different
SDRAM commands. RAS0# is used with CS0#
and CS1#. RAS1# is used with CS2# and
CS3#.
CAS[1:0]#E29, E28I/Oup to 200 Mb/s2.5Column Address Strobe. RAS#, CAS#, WE#,
and CKE are encoded to support the different
SDRAM commands. CAS0# is used with CS0#
and CS1#. CAS1# is used with CS2# and
CS3#.
WE[1:0]#A28, C27I/Oup to 200 Mb/s2.5Write Enable. RAS#, CAS#, WE#, and CKE
are encoded to support the different SDRAM
commands. WE0# is used with CS0# and
CS1#. WE1# is used with CS2# and CS3#.
BA[1:0]C20, D26I/Oup to 200 Mb/s2.5Bank Address Bits. These bits are used to
select the component bank within the SDRAM.
MA[13:0]See Table
3-6 on
page 30
I/Oup to 200 Mb/s2.5Memory Address Bus. The multiplexed row/
column address lines driven to the system
memory.
Supports 256-Mbit SDRAM.
TLA[1:0]B13, B15I/Oup to 200 Mb/s2.5Memory Debug Pins. These pins provide use-
ful memory interface debug timing signals.
(Should be wired to DIMM slot.)
TLA[0] is wired to DQS[8] on the DIMM
TLA[1] is wired to CB[0] on the DIMM
DQS[7:0]N31, J29,
I/Oup to 200 MHz2.5DDR Data Strobe.
B23, C19,
A10, C6,
H3, M2
AMD Geode™ LX Processors Data Book 35
33234H
3.4.3Memory Interface Signals (DDR) (Continued)
Signal NameBall No.TypefVDescription
Signal Definitions
DQM[7:0]N30, H29,
C24, A19,
B10, A6,
G2, M1
I/O166-400 Mb/s2.5Data Mask Control Bits. During memory read
cycles, these outputs control whether the
SDRAM output buffers are driven on the Mem-
ory Data Bus or not. All DQM signals are
asserted during read cycles.
During memory write cycles, these outputs con-
trol whether or not memory data is written into
the SDRAM.
DQM[0] is associated with MD[7:0].
DQM[7] is associated with MD[63:56].
DQ[63:0]See Table
I/O166-400 Mb/s2.5Memory Data Bus.
3-6 on
page 30
3.4.4Internal Test and Measurement Interface Signals
Signal NameBall No.TypefVDescription
TCLKAC2I0-66 MHz3.3Test Clock. JTAG test clock.
TMSAA4I0-66 Mb/s3.3Test Mode Select. JTAG test mode select.
TDIAB3I0-66 Mb/s3.3Test Data Input. JTAG serial test data input.
TDOAC1O0-66 Mb/s3.3Test Data Output. JTAG serial test data output.
TDBGIAB2I0-400 Mb/s3.3Test Debug Input. The Debug Management
Interrupt (DMI) is input via TDBGI. The selects
for TDBGI are MSR programmable via the GLCP
module. When using TDBGI for DMI, it cannot be
used for other debug purposes. DMI can be
setup via the GLCP module to be edge sensitive
or level sensitive
TDBGOAB4O
(PD)
0-400 Mb/s3.3Test Debug Output. The AMD Geode LX pro-
cessor can output internal clocks on TDBGO.
The selects for TDBGO are MSR programmable
via the GLCP module. The internal clock can be
selected from any clock domain and may be
divided down by 2 or 3 before output. This
enables tester and board level visibility of the
internal clock quality.
36AMD Geode™ LX Processors Data Book
Signal Definitions
3.4.5PCI Interface Signals
Signal NameBall No.TypefVDescription
33234H
AD[31:0]See Table
3-6 on
page 30
I/O33-66 Mb/s3.3Multiplexed Address and Data. Addresses and
data are multiplexed together on the same pins.
A bus transaction consists of an address phase
in the cycle in which FRAME# is asserted followed by one or more data phases. During the
address phase, AD[31:0] contain a physical 32bit address. During data phases, AD[7:0] contain
the least significant byte (LSB) and AD[31:24]
contain the most significant byte (MSB). Write
data is stable and valid when IRDY# is asserted
and read data is stable and valid when TRDY# is
asserted. Data is transferred during the SYSREF
when both IRDY# and TRDY# are asserted.
CBE[3:0]#AH31,
AH27,
AL26,
AJ22
I/O33-66 Mb/s3.3Multiplexed Command and Byte Enables. C/
BE# are the bus commands and byte enables.
During the address phase of a transaction when
FRAME# is active, C/BE# define the bus command. During the data phase C/BE# are used as
byte enables. The byte enables are valid for the
entire data phase and determine which byte
lanes carry meaningful data. C/BE0# applies to
byte 0 (LSB) and C/BE3# applies to byte 3
(MSB). The command encoding and types are
listed below:
PARAJ27I/O33-66 Mb/s3.3Parity. PAR is used with AD[31:0] and C/BE# to
generate even parity. Parity generation is
required by all PCI agents: the master drives PAR
for address and write-data phases and the target
drives PAR for read-data phases.
For address phases, PAR is stable and valid one
SYSREF after the address phase.
For data phases, PAR is stable and valid one
SYSREF after either IRDY# is asserted on a
write transaction or after TRDY# is asserted on a
read transaction. Once PAR is valid, it remains
valid until one SYSREF after the completion of
the data phase.
AMD Geode™ LX Processors Data Book 37
33234H
Signal Definitions
3.4.5PCI Interface Signals (Continued)
Signal NameBall No.TypefVDescription
RESET#Y30I0-1 Mb/s3.3PCI Reset. RESET# aborts all operations in
progress and places the AMD Geode LX processor into a reset state. RESET# forces the CPU
and peripheral functions to begin executing at a
known state. All data in the on-chip cache is
invalidated upon a reset.
RESET# is an asynchronous input, but must
meet specified setup and hold times to guarantee
recognition at a particular clock edge. This input
is typically generated during the power-on-reset
(POR) sequence.
STOP#AJ25I/O33-66 Mb/s3.3Target Stop. STOP# is asserted to indicate that
the current target is requesting the master to stop
the current transaction. This signal is used with
DEVSEL# to indicate retry, disconnect, or target
abort. If STOP# is sampled active while a master,
FRAME# is de-asserted and the cycle is stopped
within three SYSREFs. STOP# can be asserted
when the PCI write buffers are full or a previously
buffered cycle has not completed.
FRAME#AL28I/O33-66 Mb/s3.3Frame. FRAME# is driven by the current master
to indicate the beginning and duration of an
access. FRAME# is asserted to indicate a bus
transaction is beginning. While FRAME# is
asserted, data transfers continue. When
FRAME# is de-asserted, the transaction is in the
final data phase.
IRDY#AH25I/O33-66 Mb/s3.3Initiator Ready. IRDY# is asserted to indicate
that the bus master is able to complete the current data phase of the transaction. IRDY# is used
in conjunction with TRDY#. A data phase is completed on any SYSREF in which both IRDY# and
TRDY# are sampled asserted. During a write,
IRDY# indicates valid data is present on
AD[31:0]. During a read, it indicates the master is
prepared to accept data. Wait cycles are inserted
until both IRDY# and TRDY# are asserted
together.
TRDY#AK26I/O33-66 Mb/s3.3Targ e t R e a d y. TRDY# is asserted to indicate that
the target agent is able to complete the current
data phase of the transaction. TRDY# is used in
conjunction with IRDY#. A data phase is complete on any SYSREF in which both TRDY# and
IRDY# are sampled asserted. During a read,
TRDY# indicates that valid data is present on
AD[31:0]. During a write, it indicates the target is
prepared to accept data. Wait cycles are inserted
until both IRDY# and TRDY# are asserted
together.
38AMD Geode™ LX Processors Data Book
Signal Definitions
33234H
3.4.5PCI Interface Signals (Continued)
Signal NameBall No.TypefVDescription
DEVSEL#AK25I/O33-66 Mb/s3.3Device Select. DEVSEL# indicates that the driv-
ing device has decoded its address as the target
of the current access. As an input, DEVSEL#
indicates whether any device on the bus has
been selected. DEVSEL# is also driven by any
agent that has the ability to accept cycles on a
subtractive decode basis. As a master, if no
DEVSEL# is detected within and up to the subtractive decode clock, a master abort cycle
results, except for special cycles that do not
expect a DEVSEL# returned.
REQ[2:0]#AB28,
AB31,
AA29
GNT[2:0]#AC30,
AB30,
AA28
(Strap)
I33-66 Mb/s3.3Request Lines. REQ# indicates to the arbiter
that an agent desires use of the bus. Each master has its own REQ# line. REQ# priorities are
based on the arbitration scheme chosen.
REQ2# is reserved for the interface with the
AMD Geode CS5536 companion device.
I/O33-66 Mb/s3.3Grant Lines. GNT# indicates to the requesting
master that it has been granted access to the
bus. Each master has its own GNT# line. GNT#
can be pulled away any time a higher REQ# is
received or if the master does not begin a cycle
within a set period of time.
GNT# is an output during normal operation. It is
an input at reset and functions as a boot strap for
frequency selection on a board. It must be pulled
high or low to invoke the strap.
GNT2# is reserved for the interface with the
AMD Geode CS5536 companion device.
AMD Geode™ LX Processors Data Book 39
33234H
3.4.6TFT Display Interface Signals
Signal NameBall No.TypefVDescription
Signal Definitions
DRGB[31:24]
DRGB[23:0]
DOTCLKAE1O
See Table
3-6 on
page 30
I/O
O
(PD)
0-162 Mb/s3.3Display Data Bus.
0-162 MHz3.3Dot Clock. Output clock from DOTCLK PLL.
(PD)
HSYNCAE3O
(PD)
0-162 Mb/s3.3
(5vt)
Horizontal Sync. Horizontal Sync establishes
the line rate and horizontal retrace interval for an
attached flat panel. The polarity is programmable
(See Section 6.8.3.43 on page 451, VP Memory
Offset 400h[29]).
VSYNCAD3O
(PD)
0-162 Mb/s3.3
(5vt)
Vertical Sync. Vertical Sync establishes the
screen refresh rate and vertical retrace interval
for an attached flat panel. The polarity is programmable (See Section 6.8.3.43 on page 451,
VP Memory Offset 400h[30]).
DISPENAE4O
0-162 Mb/s3.3Flat Panel Backlight Enable.
(PD)
VDDENAE2I/O
(PD)
0-162 Mb/s3.3LCD VDD FET Control. When this output is
asserted high, V
voltage is applied to the
DD
panel. This signal is intended to control a power
FET to the LCD panel. The FET may be internal
to the panel or not, depending on the panel manufacturer.
MSGSTARTAH11I0-75 Mb/s3.3Message Start. Used in VIP message passing
mode to indicate start of message.
MSGSTOPAJ11I0-75 Mb/s3.3Message Stop. Used in VIP message passing
mode to indicate end of message.
VID[15:8]See Table
3-6 on
page 30
VOP[15:0]See Table
I
(PD)
0-75 Mb/s3.3Video Input Port Data. When in 16 bit VIP
mode, these are the eight MSBs of the VIP data.
O0-75 Mb/s3.3Video Output Port Data. VOP output data.
3-6 on
page 30
VOPCLKAE1O0-75 MHz3.3Video Output Port Clock.
VOP_BLANKAE4O0-75 Mb/s3.3Video Output Port Blank.
VOP_HSYNCAE3O0-75 Mb/s3.3Video Output Port Horizontal Sync.
VOP_VSYNCAD3O0-75 Mb/s3.3Video Output Port Vertical Sync.
40AMD Geode™ LX Processors Data Book
Signal Definitions
3.4.7CRT Display Interface Signals
Signal NameBall No.TypefVDescription
33234H
HSYNCAE3I/O0-350 Mb/s3.3
(5vt)
Horizontal Sync. Horizontal Sync establishes
the line rate and horizontal retrace interval for an
attached CRT. The polarity is programmable
(See Section 6.8.3.2 on page 422, VP Memory
Offset 008h[8]).
VSYNCAD3I/O0-350 Mb/s3.3
(5vt)
Vertical Sync. Vertical Sync establishes the
screen refresh rate and vertical retrace interval
for an attached CRT. The polarity is programmable (See Section 6.8.3.2 on page 422, VP Memory Offset 008h[9]).
DVREFW1AAnalog1.235Video DAC Voltage Reference. Connect this
pin to a 1.235V voltage reference.
DRSETY1AAnalogN/ADAC Current Setting Resistor. 1.21K, 1% to
.
DAV
SS
DAVDD[3:0]W4, V4,
APWRAnalog3.3DAC Analog Power Connection.
V1, U1
DAVSS[3:0]W2, Y2,
AGNDAnalog0DAC Analog Ground Connection.
V3, U3
REDW3AAnalogN/ARed DAC Output. Red analog output.
GREENV2AAnalogN/AGreen DAC Output. Green analog output.
BLUEU2AAnalogN/ABlue DAC Output. Blue analog output.
3.4.8VIP Interface Signals
Signal NameBall No.TypefVDescription
VIPCLKAL12I/O
(PD)
VID[7:0]AK12,
AL13,
I/O
(PD)
AK13,
AJ13,
AH13,
AL15,
AK15,
AJ15
VIPSYNCAL14I/O
(PD)
VIP_HSYNCAE2I0-150 Mb/s3.3Video Input Port Horizontal Sync.
VIP_VSYNCAD4I0-150 Mb/s3.3Video Input Port Vertical Sync.
0-75 MHz3.3Video Input Port Clock.
0-150 Mb/s3.3Video Input Port Data.
0-150 Mb/s3.3Video Input Port Sync Signal.
AMD Geode™ LX Processors Data Book 41
33234H
3.4.9Power and Ground Interface Signals
Signal Name
(Note 1)Ball No.TypefVDescription
Signal Definitions
V
CORE
See Table
PWRN/A1.2Core Power Connection (Total of 32).
3-6 on
page 30
V
IO
See Table
PWRN/A3.3I/O Power Connection (Total of 30)
3-6 on
page 30
V
MEM
See Table
PWRN/A2.5Memory Power Connection (Total of 33).
3-6 on
page 30
V
SS
See Table
GNDN/A0Ground Connection (Total of 128).
3-6 on
page 30
Note 1.For module specific power and ground signals see:
Section 3.4.2 "PLL Interface Signals" on page 34
Section 3.4.7 "CRT Display Interface Signals" on page 41
For additional electrical details on pins, refer to Section 7.0 "Electrical Specifications" on page 597.
42AMD Geode™ LX Processors Data Book
Signal Definitions
33234H
Table 3-7. Signal Behavior During and After Reset
Signal NameTypeBehavior
AD[31:0]PCITRI-STATE during RESET#
INTA#
PA R
REQ#
IRDY#
FRAME#
GNT#
DEVSEL#
TRDY#
STOP#
BA[1:0]DDR
CAS[1:0]#
CBE[3:0]#
CS[3:0]#
DQ[63:0]
DQM[7:0]
DQS[7:0]
MA[13:0]
RAS[1:0]#
SDCLK[5:0]P
SDCLK[5:0]N
TLA[1:0]
WE[1:0]#
TDODebug
TDBGO
VIPSYNC (PD)VIP
IRQ13System
SUSPA#
DRGB[31:24]VideoPD during reset.
VSYNCVideoDriven low during RESET# low
HSYNC
DISPEN
DOTCLK
DRGB[23:0]
LDEMOD
VDDEN
CKE[1:0]#DDR
low
Signal NameTypeBehavior
VID[7:0] (PD)VideoInputs during RESET# low
VIPCLK
CISSystem
TDBGIDebug
TMS
TDI
TCLK
SYREFSystem
DOTREF
Power-up states after RESET#
DRGB[31:24]VideoTRI-STATE with pin PD:
— Display filter can enable
outputs to drive alpha
(disables PDs).
— VIP can enable as inputs
(disables PDs).
DRGB[23:0]Driven
DOTCLK
HSYNC
VSYNC
DISPEN
VDDENInput with PD
LDEMOD
VID[7:0]
VIPCLK
VIPSYNCInput with PD:
— PD remains if pin is used
as input.
— PD disables if VIP drives
pin.
PW[1:0]SystemTRI-STATE
AMD Geode™ LX Processors Data Book 43
33234H
Signal Definitions
44AMD Geode™ LX Processors Data Book
GeodeLink™ Interface Unit33234H
4.0GeodeLink™ Interface Unit
4
Many traditional architectures use buses to connect modules together, which usually requires unique addressing for
each register in every module. This requires that some kind
of house-keeping be done as new modules are designed
and new devices are created from the module set. Using
module select signals to create the unique addresses can
get cumbersome and requires that the module selects be
sourced from some centralized location.
To alleviate this issue, AMD developed an internal bus
architecture based on GeodeLink™ technology. The
GeodeLink architecture connects the internal modules of a
device using the data ports provided by GeodeLink Interface Units (GLIUs). Using GLIUs, all internal module port
addresses are derived from the distinct port that the module is connected to. In this way, a module’s Model Specific
Registers (MSRs) do not have unique addresses until a
device is defined. Also, as defined by the GeodeLink architecture, a module’s port address depends on the location of
the module sourcing the cycle, or source module (e.g.,
source module can be CPU Core, GLCP, and GLPCI; however, under normal operating conditions, accessing MSRs
is from the CPU Core).
Table 4-1. MSR Addressing
Module NameGLIUPort
4.1MSR Set
The AMD Geode™ LX processor incorporates two GLIUs
into its device architecture. Except for the configuration
registers that are required for x86 compatibility, all internal
registers are accessed through a Model Specific Register
(MSR) set. MSRs have a 32-bit address space and a 64-bit
data space. The full 64-bit data space is always read or
written when accessed.
An MSR can be read using the RDMSR instruction, opcode
0F32h. During an MSR read, the contents of the particular
MSR, specified by the ECX register, are loaded into the
EDX:EAX registers. An MSR can be written using the
WRMSR instruction, opcode 0F30h. During an MSR write,
the contents of EDX:EAX are loaded into the MSR specified in the ECX register. The RDMSR and WRMSR instructions are privileged instructions.
Table 4-1 shows the MSR port address to access the modules within the AMD Geode LX processor with the CPU
Core as the source module.
MSR Address
(Relative to CPU Core)
GeodeLink™ Interface Unit 0 (GLIU0)001000xxxxh
GeodeLink Memory Controller (GLMC)012000xxxxh
CPU Core (CPU Core)030000xxxxh
Display Controller (DC)048000xxxxh
Graphics Processor (GP)05A000xxxxh
GeodeLink Interface Unit 1 (GLIU1)104000xxxxh
Video Processor (VP)124800xxxxh
GeodeLink Control Processor (GLCP)134C00xxxxh
GeodeLink PCI Bridge (GLPCI)145000xxxxh
Video Input Port (VIP)155400xxxxh
Security Block (SB)165800xxxxh
AMD Geode™ LX Processors Data Book 45
33234H
4.1.1Port Address
Each GLIU has seven channels with Channel 0 being the
GLIU itself and therefore not considered a physical port.
Figure 4-1 illustrates the GeodeLink architecture in a
AMD Geode LX processor, showing how the modules are
connected to the two GLIUs. GLIU0 has five channels connected, and GLIU1 has six channels connected. To get
MSR address/data across the PCI bus, the GLPCI converts
the MSR address into PCI cycles and back again.
An MSR address is parsed into two fields, the port address
(18 bits) and the index (14 bits). The port address is further
parsed into six 3-bit channel address fields. Each 3-bit field
represents, from the perspective of the source module, the
GLIU channels that are used to get to the destination module, starting from the closest GLIU to the source (left most
3-bit field) to the farthest GLIU (right most 3-bit field).
In aN AMD Geode LX processor/CS5536 system, the companion device is connected to the processor via the PCI
bus. The internal architecture of the companion device
uses the same GeodeLink architecture with one GLIU
being in that device. Hence, in a AMD Geode LX processor/CS5536 system there are a total of three GLIUs: two in
the processor and one in the companion device. Therefore
at most, only the two left most 3-bit fields of the base
address field should be needed to access any module in
the system. There are exceptions that require more; see
Section 4.1.2 "Port Addressing Exceptions" on page 47.
For the CPU Core to access MSR Index 300h in the
GeodeLink Control Processor (GLCP) module, the address
is 010_011_000_000_000_000b (six channel fields of the
port address) + 300h (Index), or 4C000300h. The 010b
points to Channel 2 of GLIU0, which is the channel connected to GLIU1. The 011b points to the GLIU1 Channel 3,
which is the channel to the GLCP module. From this point
on, the port address is abbreviated by noting each channel
address followed by a dot. From the above example, this is
represented by 2.3.0.0.0.0. It is important to repeat here
that the port address is derived from the perspective of the
source module.
For a module to access an MSR within itself, the port
address is zero.
GeodeLink™ Interface Unit
GLMC
1
3
0
Not Used
7
GLIU0
6
Not Used
GLIU0
2
GLIU1
1
2
Not Used
0
7
GLIU1
6
SB
(AES)
4
GLPCI
GLPCI
Figure 4-1. GeodeLink™ Architecture
CPU Core
4
5
GP
VP
3
5
VIP
PCI Bus
DC
GLCP
46AMD Geode™ LX Processors Data Book
GeodeLink™ Interface Unit
33234H
4.1.2Port Addressing Exceptions
There are some exceptions to the port addressing rules.
If a module accesses an MSR from within its closest GLIU
(e.g., CPU Core accessing a GLIU0 MSR), then, by convention, the port address should be 0.0.0.0.0.0. But this
port address accesses an MSR within the source module
and not the GLIU as desired. To get around this, if the port
address contains a 0 in the first channel field and then contains a 1 in any of the other channel fields, the access goes
to the GLIU nearest the module sourcing the cycle. By convention, set the MSB of the second channel field,
0.4.0.0.0.0. If the MSR access is to a GLIU farther removed
from the module sourcing the cycle, then there is no convention conflict, so no exception is required for that situation.
If a module attempts to access an MSR to the channel that
it is connected to, a GLIU error results. This is called a
reflective address attempt. An example of this case is the
CPU Core accessing 3.0.0.0.0.0. Since the CPU Core is
connected to Channel 3 of GLIU0, the access causes a
reflective address error. This exception is continued to the
next GLIU in the chain. The CPU Core accessing
2.1.0.0.0.0 also causes a reflective address error.
To access modules in the AMD Geode companion device,
the port address must go through the GLPCI (PCI controller) in the processor and through the GLPCI in the companion device. The port address of the MSRs in the
processor’s GLPCI when accessed from the CPU Core is
2.4.0.0.0.0. To get the port address to go through the
GLPCI, the third field needs a non-zero value. By convention, this is a 2. We now have a port address of 2.4.2.0.0.0.
But this accesses the MSRs in the GLPCI in the companion device. The port to be accessed must be added in the
fourth field, 2.4.2.5.0.0, to access the AC97 audio bus master, for example.
To access the GLIU in the companion device, the same
addressing exception occurs as with GLIU0 due to the
GLPCI’s address. A port address of 2.4.2.0.0.0 accesses
the companion device’s GLPCI, not the GLIU. To solve this,
a non-zero value must be in at least one of the two rightmost port fields. By convention, a 4 in the left-most port
field is used. To access the companion device’s GLIU from
the CPU Core, the port address is 2.4.2.0.0.4.
Table 4-2 shows the MSR port address to access all the
modules in a AMD Geode LX processor/CS5536 system
with the CPU Core as the source module. Included in the
table is the MSR port address for module access using the
GLCP and GLPCI as the source module. However, under
normal operating conditions, accessing MSRs is from the
CPU Core. Therefore, all MSR addresses in the following
chapters of this data book are documented using the CPU
Core as the source.
Table 4-2. MSR Mapping
Source (Note 1)
Destination
CPU Core0000xxxxh2C00xxxxh2C00xxxxh
GLIU01000xxxxh2000xxxxh2000xxxxh
GLMC2000xxxxh2400xxxxh2400xxxxh
GLIU14000xxxxh1000xxxxh1000xxxxh
GLCP4C00xxxxh0000xxxxh6000xxxxh
GLPCI5000xxxxh8000xxxxh0000xxxxh
DC8000xxxxh3000xxxxh3000xxxxh
GPA000xxxxh3400xxxxh3400xxxxh
VP4800xxxxh4000xxxxh3800xxxxh
VIP5400xxxxh
Security Block5800xxxxh
Companion
Device
Note 1.The xxxx contains the lower two bits of the 18 bits from
the port fields plus the 14-bit MSR offset.
Note 2.Y is the hex value obtained from one bit (always a 0) plus
the port number (#) of the six port field addresses [0+#].
Example: # = 5, therefore the Y value is [0+101] which is
5h, thus the address = 5150xxxxh.
Note 3.ZK are the hex values obtained from the concatenation
of [10+#+000], where # is the port number from the six
port field address. Example # = 5, the ZK value is
[10+101+000] which is [1010,1000]. In hex. it is A8h; thus
the address is 8A80xxxxh.
CPU CoreGLCPGLPCI
51Y0xxxxh
(Note 2)
8ZK0xxxxh
(Note 3)
NA
4.1.3Memory and I/O Mapping
The GLIU decodes the destination ID of memory requests
using a series of physical to device (P2D) descriptors.
There can be up to 32 descriptors in each GLIU. The GLIU
decodes the destination ID of I/O requests using a series of
I/O descriptors (IOD).
4.1.3.1Memory Routing and Translation
Memory addresses are routed and optionally translated
from physical space to device space. Physical space is the
32-bit memory address space that is shared between all
GeodeLink devices. Device space is the unique address
space within a given device. For example, a memory controller may implement a 4 MB frame buffer region in the 1216 MB range of main memory. However, the 4 MB region
may exist in the 4 GB region of physical space. The actual
location of the frame buffer in the memory controller with
respect to itself is a device address, while the address that
all the devices see in the region of memory is in physical
space.
Memory request routing and translation is performed with a
choice of five descriptor types. Each GLIU may have any
number of each descriptor type up to a total of 32. The P2D
descriptor types satisfy different needs for various software
models.
AMD Geode™ LX Processors Data Book 47
33234H
GeodeLink™ Interface Unit
Each memory request is compared against all the P2D
descriptors. If the memory request does not hit in any of
the descriptors, the request is sent to the subtractive port. If
the memory requests hit more than one descriptor, the
P2D Range Descriptor (P2D_R)
P2D_R maps a range of addresses to a device that is NOT
a power of 2 size aligned. There is no address translation
(see Table 4-3).
results are undefined. The software must provide a consistent non-overlapping address map.
The way each descriptor checks if the request address hits
its descriptor and how to route the request address to the
device address is described in Table 4-3.
P2D Base Mask Descriptor (P2D_BM)
P2D_BM is the simplest descriptor. It usually maps a power
of two size aligned region of memory to a destination ID.
P2D_BM performs no address translation.
P2D Base Mask Offset Descriptor (P2D_BMO)
P2D_BMO has the same routing features as P2D_BM with
the addition of a 2s complement address translation to the
most-significant bits of the address.
P2D Range Offset Descriptor (P2D_RO)
P2D_RO has the same address routing as P2D_R with the
addition of address translation with a 2s complement offset.
P2D Swiss Cheese Descriptor (P2D_SC)
The P2D_SC maps a 256 KB region of memory in 16 KB
chunks to a device or the subtractive decode port. The
descriptor type is useful for legacy address mapping. The
Swiss cheese feature implies that the descriptor is used to
“poke holes” in memory.
Note: Only one P2D can hit at a time for a given port. If
the P2D descriptors are overlapping, the results
are undefined.
Table 4-3. GLIU Memory Descriptor Address Hit and Routing Description
DescriptorFunction Description
P2D_BM,
P2D_BMO
P2D_R,
P2D_RO
P2D_SCChecks that the physical address supplied by the device’s request on address bits [31:18] are equal to the PBASE field
Checks that the physical address supplied by the device’s request on address bits [31:12] with a logical AND with
PMASK bits of the descriptor register bits [19:0] are equal to the PBASE bits on the descriptor register (bits [39:20]).
Also checks that the BIZZARO bit of the request is equal to the PCMP_BIZ bit of the descriptor register bit [60].
If the above matches, then the descriptor has a hit condition and it routes the received address to the programmed destination PDID1 of the descriptor register (bits [63:61]).
Checks that the physical address supplied by the device’s request on address bits [31:12] are within the range specified by PMIN and PMASK field bits [39:20] and [19:0], respective of the descriptor register. PMIN is the minimum
address range and PMAX is the maximum address range.The condition is: PMAX > physical address [31:12] > PMIN.
Also checks that the BIZZARO bit of the request is equal to the PCMP_BIZ bit of the descriptor register bit [60].
If the above matches, then the descriptor has a hit condition and routes the received address to the programmed destination ID, PDID1 of the descriptor register (bits [63:61]).
of descriptor register bits [13:0] and that the enable write or read conditions given by the descriptor register fields WEN
and REN in bits [47:32] and [31:16], respectively matches the request type and enable fields given on the physical
address bits [17:14] of the device’s request.
If the above matches, then the descriptor has a hit condition and routes the received address to the programmed destination ID, PDID1 field of the descriptor register bits [63:61].
DEVICE_ADDR = request address
48AMD Geode™ LX Processors Data Book
GeodeLink™ Interface Unit
33234H
4.1.3.2I/O Routing and Translation
I/O addresses are routed and are never translated. I/O
request routing is performed with a choice of two descriptor
types. Each GLIU may have any number of each descriptor
type. The IOD types satisfy different needs for various software models.
Each I/O request is compared against all the IOD. If the I/O
request does not hit in any of the descriptors, the request is
sent to the subtractive port. If the I/O request hits more
than one descriptor, the results are undefined. Software
must provide a consistent non-overlapping I/O address
map. The methods of check and routing are described in
Table 4-4.
for legacy address mapping. The Swiss cheese feature
implies that the descriptor is used to “poke holes” in I/O.
4.1.3.3Special Cycles
PCI special cycles are performed using I/O writes and setting the BIZARRO flag in the write request. The BIZARRO
flag is treated as an additional address bit, providing
unaliased I/O address. The I/O descriptors are set up to
route the special cycles to the appropriate device (i.e.,
GLCP, GLPCI, etc.). The I/O descriptors are configured to
default to the appropriate device on reset. The PCI special
cycles are mapped as:
NameBIZZAROAddress
Shutdown100000000h
IOD Base Mask Descriptors (IOD_BM)
IOD_BM is the simplest descriptor. It usually maps a power
of two size aligned region of I/O to a destination ID.
Halt100000001h
x86 specific100000002h
0003h-FFFFh100000002h-0000FFFFh
IOD Swiss Cheese Descriptors (IOD_SC)
The IOD_SC maps an 8-byte region of memory in 1 byte
chunks to one of two devices. The descriptor type is useful
Table 4-4. GLIU I/O Descriptor Address Hit and Routing Description
DescriptorFunction Description
IOD_BMChecks that the physical address supplied by the device on address bits [31:12] with a logic AND with PMASK bits of
IOD_SCChecks that the physical address supplied by the device’s request on address bits [31:18] are equal to the PBASE field
the register bits [19:0] are equal to the PBASE bits of the descriptor register bits [39:20].
Also checks that the BIZZARO bit of the request is equal to the PCMP_PIZ bit of the descriptor register bit [60].
If the above matches, then the descriptor has a hit condition and routes the received address to the programmed destination of the P2D_BM register bit [63:61].
DEVICE_ADDR = request address
of descriptor register bits [13:0] and that the enable write or read conditions given by the descriptor register fields WEN
and REN in bits [47:32] and [31:16], respectively matches the request type and enable fields given on the physical
address bits [17:14] of the device’s request.
If the above matches, then the descriptor has a hit condition and routes the received address to the programmed destination ID, PDID1 field of the descriptor register bits [63:61].
DEVICE_ADDR = request address
AMD Geode™ LX Processors Data Book 49
33234H
GLIU Register Descriptions
4.2GLIU Register Descriptions
All GeodeLink™ Interface Unit (GLIU) registers are Model
Specific Registers (MSRs) and are accessed through the
RDMSR and WRMSR instructions.
The registers associated with the GLIU are the Standard
GeodeLink Device (GLD) MSRs, GLIU Specific MSRs.
GLIU Statistic and Comparator MSRs,
MSRs, and I/O Descriptor MSRs. The tables that follow are
Table 4-5. GeodeLink™ Device Standard MSRs Summary
MSR AddressTypeRegister NameReset ValueReference
P2D Descriptor
register summary tables that include reset values and page
references where the bit descriptions are provided.
Note: The MSR address is derived from the perspective
of the CPU Core. See Section 4.1 "MSR Set" on
page 45 for more details on MSR addressing.
Reserved (RSVD) fields do not have any meaningful storage elements. They always return 0.
2:0SUBPSubtractive Port. Subtractive port assignment for all negative decode requests.
000: Port 0 (GLIU0 = GLIU; GLIU1 = GLIU)
001: Port 1 (GLIU0 = GLMC; GLIU1 = Interface to GLIU0)
010: Port 2 (GLIU0 = Interface to GLIU1; GLIU1 = VP)
011: Port 3 (GLIU0 = CPU Core; GLIU1 = GLCP)
100: Port 4 (GLIU0 = DC; GLIU1 = GLPCI)
101: Port 5 (GLIU0 = GP; GLIU1 = VIP)
110: Port 6 (GLIU0 = Not Used; GLIU1 = SB)
111: Port 7 (GLIU0 = Not Used; GLIU1 = Not Used)
AMD Geode™ LX Processors Data Book 55
33234H
GLIU Register Descriptions
4.2.1.3GLD SMI MSR (GLD_MSR_SMI)
MSR AddressGLIU0: 10002002h
GLIU1: 40002002h
Ty p eR / W
Reset Value00000000_00000001h
The flags are set with internal conditions. The internal conditions are always capable of setting the flag, but if the mask is 1,
the flagged condition will not trigger the SMI signal. Reads to the flags return the value. Write = 1 to the flag, clears the
value. Write = 0 has no effect on the flag.
36SFLAG4SMI Flag4. If high, records that an SMI was generated due to a Statistic Counter 3
(GLIU0 MSR 100000ACh, GLIU1 MSR 400000ACh) event. Write 1 to clear; writing 0 has
no effect. SMASK4 (bit 4) must be low to generate SMI and set flag.
35SFLAG3SMI Flag3. If high, records that an SMI was generated due to a Statistic Counter 2
(GLIU0 MSR 100000A8h, GLIU1 MSR 400000A8h) event. Write 1 to clear; writing 0 has
no effect. SMASK3 (bit 3) must be low to generate SMI and set flag.
34SFLAG2SMI Flag2. If high, records that an SMI was generated due to a Statistic Counter 1
(GLIU0 MSR 100000A4h, GLIU1 MSR 400000A4h) event. Write 1 to clear; writing 0 has
no effect. SMASK2 (bit 2) must be low to generate SMI and set flag.
33SFLAG1SMI Flag1. If high, records that an SMI was generated due to a Statistic Counter 0
(GLIU0 MSR 100000A0h, GLIU1 MSR 400000A0h) event. Write 1 to clear; writing 0 has
no effect. SMASK1 (bit 1) must be low to generate SMI and set flag.
32SFLAG0SMI Flag0. Unexpected Type (HW Emulation).
31:5RSVDReserved.
4SMASK4SMI Mask4. Write 0 to enable SFLAG4 (bit 37) and to allow a Statistic Counter 3 (GLIU0
MSR 100000ACh, GLIU1 MSR 400000ACh) event to generate an SMI.
3SMASK3SMI Mask3. Write 0 to enable SFLAG3 (bit 36) and to allow a Statistic Counter 2 (GLIU0
MSR 100000A8h, GLIU1 MSR 400000A8h) event to generate an SMI.
2SMASK2SMI Mask2. Write 0 to enable SFLAG2 (bit 34) and to allow a Statistic Counter 1 (GLIU0
MSR 100000A4h, GLIU1 MSR 400000A4h) event to generate an SMI.
1SMASK1SMI Mask1. Write 0 to enable SFLAG1 (bit 33) and to allow a Statistic Counter 0 (GLIU0
MSR 100000A0h, GLIU1 MSR 400000A0h) event to generate an SMI.
0SMASK0SMI Mask0. Unexpected Type (HW Emulation).
56AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
33234H
4.2.1.4GLD Error MSR (GLD_MSR_ERROR)
MSR AddressGLIU0: 10002003h
GLIU1: 40002003h
Ty p eR / W
Reset Value00000000_00000000h
The flags are set with internal conditions. The internal conditions are always capable of setting the flag, but if the mask is 1,
the flagged condition will not trigger the ERR signal. Reads to the flags return the value. Write = 1 to the flag, clears the
value. Write = 0 has no effect on the flag.
46EFLAG14Data Comparator Error Flag 3. If high, records that an ERR was generated due to a
Data Comparator 3 (DA_COMPARE_VAL_LO3/DA_COMPARE_VAL_HI3, GLIU0 MSR
100000DCh/100000DDh, GLIU1 MSR 400000DCh/400000DDh) event. Write 1 to clear;
writing 0 has no effect. EMASK14 (bit 14) must be low to generate ERR and set flag.
45EFLAG13Data Comparator Error Flag 2. If high, records that an ERR was generated due to a
Data Comparator 2 (DA_COMPARE_VAL_LO2/DA_COMPARE_VAL_HI2, GLIU0 MSR
100000D8h/100000D9h, GLIU1 MSR 400000D8h/400000D9h) event. Write 1 to clear;
writing 0 has no effect. EMASK13 (bit 13) must be low to generate ERR and set flag.
44EFLAG12Data Comparator Error Flag 1. If high, records that an ERR was generated due to a
Data Comparator 1 (DA_COMPARE_VAL_LO1/DA_COMPARE_VAL_HI1, GLIU0 MSR
100000D4h/100000D5h, GLIU1 MSR 400000D4h/400000D5h) event. Write 1 to clear;
writing 0 has no effect. EMASK12 (bit 12) must be low to generate ERR and set flag.
43EFLAG11Data Comparator Error Flag 0. If high, records that an ERR was generated due to a
Data Comparator 0 (DA_COMPARE_VAL_LO0/DA_COMPARE_VAL_HI0, GLIU0 MSR
100000D0h/100000D1h, GLIU1 MSR 400000D0h/400000D1h) event. Write 1 to clear;
writing 0 has no effect. EMASK11(bit 11) must be low to generate ERR and set flag.
42EFLAG10Request Comparator Error Flag 3. If high, records that an ERR was generated due to a
Request Comparator 3 (RQ_COMPARE_VAL3, GLIU0 MSR 100000C6h, GLIU1 MSR
400000C6h) event. Write 1 to clear; writing 0 has no effect. EMASK10 (bit 10) must be
low to generate ERR and set flag.
41EFLAG9Request Comparator Error Flag 2. If high, records that an ERR was generated due to a
Request Comparator 2 (RQ_COMPARE_VAL2, GLIU0 MSR 100000C4h, GLIU1 MSR
400000C4h) event. Write 1 to clear; writing 0 has no effect. EMASK9 (bit 9) must be low
to generate ERR and set flag.
40EFLAG8Request Comparator Error Flag 1. If high, records that an ERR was generated due to a
Request Comparator 1 (RQ_COMPARE_VAL1, GLIU0 MSR 100000C2h, GLIU1 MSR
400000C2h) event. Write 1 to clear; writing 0 has no effect. EMASK8 (bit 8) must be low
to generate ERR and set flag.
AMD Geode™ LX Processors Data Book 57
33234H
_MSR_ERROR Bit Descriptions (Continued)
GLD
GLIU Register Descriptions
BitNameDescription
39EFLAG7Request Comparator Error Flag 0. If high, records that an ERR was generated due to a
Request Comparator 0 (RQ_COMPARE_VAL0, GLIU0 MSR 100000C0h, GLIU1 MSR
400000C0h) event. Write 1 to clear; writing 0 has no effect. EMASK7 (bit 7) must be low
to generate ERR and set flag.
38EFLAG6Statistic Counter Error Flag 3. If high, records that an ERR was generated due to a
Statistic Counter 3 (GLIU0 MSR 100000ACh, GLIU1 MSR 400000ACh) event. Write 1 to
clear; writing 0 has no effect. EMASK6 (bit 6) must be low to generate ERR and set flag.
37EFLAG5Statistic Counter Error Flag 2. If high, records that an ERR was generated due to a
Statistic Counter 2 (GLIU0 MSR 100000A8h, GLIU1 MSR 400000A8h) event. Write 1 to
clear; writing 0 has no effect. EMASK5 (bit 5) must be low to generate ERR and set flag.
36EFLAG4Statistic Counter Error Flag 1. If high, records that an ERR was generated due to a
Statistic Counter 1 (GLIU0 MSR 100000A4h, GLIU1 MSR 400000A4h) event. Write 1 to
clear; writing 0 has no effect. EMASK4 (bit 4) must be low to generate ERR and set flag.
35EFLAG3Statistic Counter Error Flag 0. If high, records that an ERR was generated due to a
Statistic Counter 0 (GLIU0 MSR 100000A0h, GLIU1 MSR 400000A0h) event. Write 1 to
clear; writing 0 has no effect. EMASK3 (bit 3) must be low to generate ERR and set flag.
34EFLAG2Unhandled SMI Error Flag. If high, records that an ERR was generated due an unhan-
dled SSMI (synchronous error). Write 1 to clear; writing 0 has no effect. EMASK2 (bit 2)
must be low to generate ERR and set flag Unhandled SMI.
33EFLAG1Unexpected Address Error Flag. If high, records that an ERR was generated due an
unexpected address (synchronous error). Write 1 to clear; writing 0 has no effect.
EMASK1 (bit 1) must be low to generate ERR and set flag.
32EFLAG0Unexpected Type Error Flag. If high, records that an ERR was generated due an unex-
pected type (synchronous error). Write 1 to clear; writing 0 has no effect. EMASK0 (bit 0)
must be low to generate ERR and set flag.
31:15RSVDReserved.
14EMASK14Data Comparator Error Mask 3. Write 0 to enable EFLAG14 (bit 46) and to allow a Data
Comparator 3 (DA_COMPARE_VAL_LO3/DA_COMPARE_VAL_HI3, GLIU0 MSR
100000DCh/100000DDh, GLIU1 MSR 400000DCh/400000DDh) event to generate an
ERR and set flag.
13EMASK13Data Comparator Error Mask 2. Write 0 to enable EFLAG13 (bit 45) and to allow a Data
Comparator 2 (DA_COMPARE_VAL_LO2/DA_COMPARE_VAL_HI2, GLIU0 MSR
100000D8h/100000D9h, GLIU1 MSR 400000D8h/400000D9h) event to generate an
ERR and set flag.
12EMASK12Data Comparator Error Mask 1. Write 0 to enable EFLAG12 (bit 44) and to allow a Data
Comparator 1 (DA_COMPARE_VAL_LO1/DA_COMPARE_VAL_HI1, GLIU0 MSR
100000D4h/100000D5h, GLIU1 MSR 400000D4h/400000D5h) event to generate an
ERR and set flag.
11EMASK11Data Comparator Error Mask 0. Write 0 to enable EFLAG11 (bit 43) and to allow a Data
Comparator 0 (DA_COMPARE_VAL_LO0/DA_COMPARE_VAL_HI0, GLIU0 MSR
100000D4h/100000D5h, GLIU1 MSR 400000D4h/400000D5h) event to generate an
ERR and set flag.
10EMASK10Request Comparator Error Mask 3. Write 0 to enable EFLAG10 (bit 42) and to allow a
Request Comparator 3 (RQ_COMPARE_VAL3, GLIU0 MSR 100000C6h, GLIU1 MSR
400000C6h) event to generate an ERR
9EMASK9Request Comparator Error Mask 2. Write 0 to enable EFLAG9 (bit 41) and to allow a
Request Comparator 2 (RQ_COMPARE_VAL2, GLIU0 MSR 100000C4h, GLIU1 MSR
400000C4h) event to generate an ERR.
58AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
_MSR_ERROR Bit Descriptions (Continued)
GLD
33234H
BitNameDescription
8EMASK8Request Comparator Error Mask 1. Write 0 to enable EFLAG8 (bit 40) and to allow a
Request Comparator 1 (RQ_COMPARE_VAL1, GLIU0 MSR 100000C2h, GLIU1 MSR
400000C2h) event to generate an ERR
7EMASK7Request Comparator Error Mask 0. Write 0 to enable EFLAG7 (bit 39) and to allow a
Request Comparator 0 (RQ_COMPARE_VAL0, GLIU0 MSR 100000C0h, GLIU1 MSR
400000C0h) event to generate an ERR
6EMASK6Statistic Counter Error Mask 3. Write 0 to enable EFLAG6 (bit 38) and to allow a Statis-
tic Counter 3 (GLIU0 MSR 100000ACh, GLIU1 MSR 400000ACh) event to generate an
ERR.
5EMASK5Statistic Counter Error Mask 2. Write 0 to enable EFLAG5 (bit 37) and to allow a Statis-
tic Counter 2 (GLIU0 MSR 100000A8h, GLIU1 MSR 400000A8h) event to generate an
ERR.
4EMASK4Statistic Counter Error Mask 1. Write 0 to enable EFLAG4 (bit 36) and to allow a Statis-
tic Counter 1 (GLIU0 MSR 100000A4h, GLIU1 MSR 400000A4h) event to generate an
ERR.
3EMASK3Statistic Counter Error Mask 0. Write 0 to enable EFLAG3 (bit 35) and to allow a Statis-
tic Counter 0 (GLIU0 MSR 100000A0h, GLIU1 MSR 400000A0h) event to generate an
ERR.
2EMASK2Unhandled SMI Error Mask 2. Write 0 to enable EFLAG2 (bit 34) and to allow the
unhandled SSMI (synchronous error) event to generate an ERR.
1EMASK1Unexpected Address Error Mask 1. as Write 0 to enable EFLAG1 (bit 33) and to allow
the unexpected address (synchronous error) event to generate an ERR.
0EMASK0Unexpected Type Error Mask 0. Write 0 to enable EFLAG0 (bit 32) and to allow the
unexpected type (synchronous error) event to generate an ERR.
4.2.1.5GLD Power Management MSR (GLD_MSR_PM)
MSR AddressGLIU0: 10002004h
GLIU1: 40002004h
Ty p eR / W
Reset Value00000000_00000000h
3:2PMODE_1Power Mode 1. Statistics and Time Slice Counters.
00: Disable clock gating. Clocks are always on.
01: Enable hardware clock gating. Clock goes off whenever this module’s circuits are not
busy.
10, 11: Reserved.
1:0PMODE_0Power Mode 0. Online GLIU logic.
00: Disable clock gating. Clocks are always on.
01: Enable hardware clock gating. Clock goes off whenever this module’s circuits are not
busy.
10, 11: Reserved.
4.2.1.6GLD Diagnostic MSR (GLD_MSR_DIAG)
MSR AddressGLIU0: 10002005h
GLIU1: 40002005h
Ty p eR / W
Reset Value00000000_00000000h
GLIU Register Descriptions
This register is reserved for internal use by AMD and should not be written to.
4.2.2GLIU Specific Registers
4.2.2.1Coherency (COH)
MSR AddressGLIU0: 10000080h
GLIU1: 40000080h
Ty p eR / W
Reset ValueConfiguration Dependent
2:0COHPCoherent Device Port. The port that coherents snoops are routed to. If the coherent
device is on the other side of a bridge, the COHP points to the bridge.
60AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
33234H
4.2.2.2Port Active Enable (PAE)
MSR AddressGLIU0: 10000081h
GLIU1: 40000081h
Ty p eR / W
Reset ValueBoot Strap Dependent
Ports that are not implemented return 00 (RSVD). Ports that are slave only return 11. Master/Slave ports return the values
as stated.
GLIU0 will reset all PAE to 11 (ON) except that GLIU0 PAE3 resets to 00 when the debug stall bootstrap is active (CPU port
resets inactive for debug stall).
15:14PAE0Port Active Enable for Port 0. (GLIU0 = GLIU; GLIU1 = GLIU.)
00: OFF - Master transactions are disabled.
01: LOW - Master transactions limited to 1 outstanding transaction.
10: Reserved.
11: ON - Master transactions enabled with no limitations.
13:12PAE7Port Active Enable for Port 7. (GLIU0 = Not Used; GLIU1 = Not Used.)
See bits [15:14] for decode.
11:10PAE6Port Active Enable for Port 6. (GLIU0 = Not Used; GLIU1 = SB.)
See bits [15:14] for decode.
9:8PAE5Port Active Enable for Port 5. (GLIU0 = GP; GLIU1 = VIP.)
See bits [15:14] for decode.
7:6PAE4Port Active Enable for Port 4. (GLIU0 = DC; GLIU1 = GLPCI.)
See bits [15:14] for decode.
5:4PAE3Port Active Enable for Port 3. (GLIU0 = CPU Core; GLIU1 = GLCP.)
See bits [15:14] for decode.
3:2PAE2Port Active Enable for Port 2. (GLIU0 = Interface to GLIU1; GLIU1 = VP.)
See bits [15:14] for decode.
1:0PAE1Port Active Enable for Port 1. (GLIU0 = GLMC; GLIU1 = Interface to GLIU0.)
See bits [15:14] for decode.
AMD Geode™ LX Processors Data Book 61
33234H
GLIU Register Descriptions
4.2.2.3Arbitration (ARB)
MSR AddressGLIU0: 10000082h
GLIU1: 40000082h
Ty p eR / W
Reset Value10000000_00000000h
63QUACK_ENQuadruple Acknowledge Enabled. Allow four acknowledgements in a row before
advancing round-robin arbitration. Only applies when arbitrating matching priorities.
0: Disable.
1: Enable.
62PIPE_DISPipelined Arbitration Disabled.
0: Pipelined arbitration enabled and GLIU is not limited to one outstanding transaction.
1: Limit the entire GLIU to one outstanding transaction.
61RSVDReserved.
60DACK_ENDouble Acknowledge Enabled. Allow two acknowledgements in a row before advanc-
ing round-robin arbitration. Only applies when arbitrating matching priorities.
0: Disable.
1: Enable.
59:0RSVDReserved.
4.2.2.4Asynchronous SMI (ASMI)
MSR AddressGLIU0: 10000083h
GLIU1: 40000083h
Ty p eR / W
Reset Value00000000_00000000h
ASMI is a condensed version of the port ASMI signals. The MASK bits can be used to prevent a device from issuing an
ASMI. If the MASK = 1, the device’s ASMI is disabled.
15ASMI_MASK7Asynchronous SMI Mask for Port 7. (GLIU0 = Not Used; GLIU1 = Not Used.) Write 0 to
allow Port 7 to generate an ASMI. ASMI status is reported in bit 7.
14ASMI_MASK6Asynchronous SMI Mask for Port 6. (GLIU0 = Not Used; GLIU1 = SB.) Write 0 to allow
Port 6 to generate an ASMI. ASMI status is reported in bit 6.
13ASMI_MASK5Asynchronous SMI Mask for Port 5. (GLIU0 = GP; GLIU1 = VIP.) Write 0 to allow Port 5
to generate an ASMI. ASMI status is reported in bit 5.
12ASMI_MASK4Asynchronous SMI Mask for Port 4. (GLIU0 = DC; GLIU1 = GLPCI.) Write 0 to allow
Port 4 to generate an ASMI. ASMI status is reported in bit 4.
11ASMI_MASK3Asynchronous SMI Mask for Port 3. (GLIU0 = CPU Core; GLIU1 = GLCP.) Write 0 to
allow Port 3 to generate an ASMI. ASMI status is reported in bit 3.
10ASMI_MASK2Asynchronous SMI Mask for Port 2. (GLIU0 = Interface to GLIU1; GLIU1 = VP.) Write 0
to allow Port 2 to generate an ASMI. ASMI status is reported in bit 2.
9ASMI_MASK1Asynchronous SMI Mask for Port 1. (GLIU0 = GLMC; GLIU1 = Interface to GLIU0.)
Write 0 to allow Port 1 to generate an ASMI. ASMI status is reported in bit 1.
8ASMI_MASK0Asynchronous SMI Mask for Port 0. (GLIU0 = GLIU; GLIU1 = GLIU.) Write 0 to allow
Port 0 to generate an ASMI. ASMI status is reported in bit 0.
7ASMI_FLAG7
(RO)
6ASMI_FLAG6
(RO)
5ASMI_FLAG5
(RO)
4ASMI_FLAG4
(RO)
3ASMI_FLAG3
(RO)
2ASMI_FLAG2
(RO)
1ASMI_FLAG1
(RO)
0ASMI_FLAG0
(RO)
Asynchronous SMI Flag for Port 7 (Read Only). (GLIU0 = Not Used; GLIU1 = Not
Used.). If 1, this bit indicates that an ASMI was generated by Port 7. Cleared by source.
Asynchronous SMI Flag for Port 6 (Read Only). (GLIU0 = Not Used; GLIU1 = SB.) If 1,
this bit indicates that an ASMI was generated by Port 6. Cleared by source.
Asynchronous SMI Flag for Port 5 (Read Only). (GLIU0 = GP; GLIU1 = VIP.) If 1, this
bit indicates that an ASMI was generated by Port 5. Cleared by source.
Asynchronous SMI Flag for Port 4 (Read Only). (GLIU0 = DC; GLIU1 = GLPCI.) If 1,
this bit indicates that an ASMI was generated by Port 4. Cleared by source.
Asynchronous SMI Flag for Port 3 (Read Only). (GLIU0 = CPU Core; GLIU1 = GLCP.)
If 1, this bit indicates that an ASMI was generated by Port37. Cleared by source.
Asynchronous SMI Flag for Port 2 (Read Only). (GLIU0 = Interface to GLIU1; GLIU1 =
VP.) If 1, this bit indicates that an ASMI was generated by Port 2. Cleared by source.
Asynchronous SMI Flag for Port 1 (Read Only). (GLIU0 = GLMC; GLIU1 = Interface to
GLIU0.) If 1, this bit indicates that an ASMI was generated by Port 1. Cleared by source.
Asynchronous SMI Flag for Port 0 (Read Only). (GLIU0 = GLIU; GLIU1 = GLIU.) If 1,
this bit indicates that an ASMI was generated by Port 0. Cleared by source.
4.2.2.5Asynchronous ERR (AERR)
MSR AddressGLIU0: 10000084h
GLIU1: 40000084h
Ty p eR / W
Reset Value00000000_00000000h
AERR is a condensed version of the port ERR signals. The MASK bits can be used to prevent a device from issuing an
AERR. If the MASK = 1, the device’s AERR is disabled.
15AERR_MASK7Asynchronous Error Mask for Port 7. (GLIU0 = Not Used; GLIU1 = Not Used.) Write 0
to allow Port 7 to generate an AERR. AERR status is reported in bit 7.
14AERR_MASK6Asynchronous Error Mask for Port 6. (GLIU0 = Not Used; GLIU1 = SB.) Write 0 to
allow Port 6 to generate an AERR. AERR status is reported in bit 6.
13AERR_MASK5Asynchronous Error Mask for Port 5. (GLIU0 = GP; GLIU1 = VIP.) Write 0 to allow Port
5 to generate an AERR. AERR status is reported in bit 5.
12AERR_MASK4Asynchronous Error Mask for Port 4. (GLIU0 = DC; GLIU1 = GLPCI.) Write 0 to allow
Port 4 to generate an AERR. AERR status is reported in bit 4.
11AERR_MASK3Asynchronous Error Mask for Port 3. (GLIU0 = CPU Core; GLIU1 = GLCP.) Write 0 to
allow Port 3 to generate an AERR. AERR status is reported in bit 3.
10AERR_MASK2Asynchronous Error Mask for Port 2. (GLIU0 = Interface to GLIU1; GLIU1 = VP.) Write
0 to allow Port 2 to generate an AERR. AERR status is reported in bit 2.
9AERR_MASK1Asynchronous Error Mask for Port 1. (GLIU0 = GLMC; GLIU1 = Interface to GLIU0.)
Write 0 to allow Port 1 to generate an AERR. AERR status is reported in bit 1.
8AERR_MASK0Asynchronous Error Mask for Port 0. (GLIU0 = GLIU; GLIU1 = GLIU.) Write 0 to allow
Port 0 to generate an AERR. AERR status is reported in bit 0.
7AERR_FLAG7
(RO)
6AERR_FLAG6
(RO)
5AERR_FLAG5
(RO)
4AERR_FLAG4
(RO)
3AERR_FLAG3
(RO)
2AERR_FLAG2
(RO)
1AERR_FLAG1
(RO)
0AERR_FLAG0
(RO)
Asynchronous Error for Port 7 (Read Only). (GLIU0 = Not Used; GLIU1 = Not Used.) If
1, indicates that an AERR was generated by Port 7. Cleared by source.
Asynchronous Error for Port 6 (Read Only). (GLIU0 = Not Used; GLIU1 = SB.) If 1,
indicates that an AERR was generated by Port 6. Cleared by source.
Asynchronous Error for Port 5 (Read Only). (GLIU0 = GP; GLIU1 = VIP.) If 1, indicates
that an AERR was generated by Port 5. Cleared by source.
Asynchronous Error for Port 4 (Read Only). (GLIU0 = DC; GLIU1 = GLPCI.) If 1, indicates that an AERR was generated by Port 4. Cleared by source.
Asynchronous Error for Port 3 (Read Only). (GLIU0 = CPU Core; GLIU1 = GLCP.) If 1,
indicates that an AERR was generated by Port 3. Cleared by source.
Asynchronous Error for Port 2 (Read Only). (GLIU0 = Interface to GLIU1; GLIU1 =
VP.) If 1, indicates that an AERR was generated by Port 2. Cleared by source.
Asynchronous Error for Port 1 (Read Only). (GLIU0 = GLMC; GLIU1 = Interface to
GLIU0.) If 1, indicates that an AERR was generated by Port 1. Cleared by source.
Asynchronous Error for Port 0 (Read Only). (GLIU0 = GLIU; GLIU1 = GLIU.) If 1, indicates that an AERR was generated by Port 0. Cleared by source.
64AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
33234H
4.2.2.6GLIU Physical Capabilities (PHY_CAP)
MSR AddressGLIU0: 10000086h
GLIU1: 40000086h
Ty p eR / W
Reset ValueGLIU0: 20291830_010C1086h
63:32IOD_MASKMask for Hits to Each IOD. Hits are determined after the request is arbitrated. A hit is
determined by the following logical equation: Hit = |(IOD_MASK[n-1:0] &
RQ_DESC_HIT[n-1:0] && is_io) | |(P2D_MASK[n-1:0] & RQ_DESC_HIT[n-1:0] &&
is_mem).
31:0P2D_MASKMask for Hits to Each P2D. A hit is determined by the following logical equation: Hit =
23:8PREDIVPre Divider. Used if ALWAYS_DEC (bit 4) is set. The predivider is free running and
extends the depth of the counter.
7WRAP Decrement Counter Beyond Zero and Wrap.
0: Disable wrap; counter stops when it reaches zero.
1: Enable wrap; counter decrements through 0 to all ones.
6ZERO_AERRAssert AERR on cnt = 0. Assert AERR when STATISTIC_CNT[x] reaches 0.
0: Disable.
1: Enable.
5ZERO_ASMIAssert ASMI on cnt = 0. Assert ASMI when STATISTIC_CNT[x] reaches 0.
0: Disable.
1: Enable.
4ALWAYS_DECAlways Decrement Counter. If enabled, the counter decrements on every memory
clock subject to the prescaler value PREDIV (bits [23:8]). Decrementing continues unless
loading is occurring due to another action, or if the counter reaches zero and WRAP is
disabled (bit 7).
0: Disable.
1: Enable
3HIT_AERRAssert AERR on Descirptor Hit. The descriptor hits are ANDed with the masks and
then all ORed together.
0: Disable.
1: Enable
AMD Geode™ LX Processors Data Book 73
33234H
GLIU Register Descriptions
STATISTIC_ACTION[0:3] Bit Descriptions
BitNameDescription
2HIT_ASMIAssert ASMI on Descriptor Hit. The descriptor hits are ANDed with the masks and then
all ORed together.
0: Disable.
1: Enable.
1HIT_DECDecrement Counter on Descriptor Hit. The descriptor hits are ANDed with the masks
and then all ORed together.
0: Disable.
1: Enable.
0HIT_LDENLoad Counter on Descriptor Hit. The descriptor hits are ANDed with the masks and
then all ORed together.
0: Disable.
1: Enable.
4.2.3.4Request Compare Value (RQ_COMPARE_VAL[0:3]
The RQ Compare Value and the RQ Compare Mask enable traps on specific transactions. A hit to the RQ Compare is
determined by hit = (RQ_IN & RQ_COMPARE_MASK) == RQ_COMPARE_VAL). A hit can trigger the RQ_CMP error
sources when they are enabled. The value is compared only after the packet is arbitrated.
Request Compare Value (RQ_COMPARE_VAL[0])
MSR AddressGLIU0: 100000C0h
GLIU1: 400000C0h
Ty p eR / W
Reset Value001FFFFF_FFFFFFFFh
Request Compare Value (RQ_COMPARE_VAL[1])
MSR AddressGLIU0: 100000C2h
GLIU1: 400000C2h
Ty p eR / W
Reset Value001FFFFF_FFFFFFFFh
Request Compare Value (RQ_COMPARE_VAL[2])
MSR AddressGLIU0: 100000C4h
GLIU1: 400000C4h
Ty peR /W
Reset Value001FFFFF_FFFFFFFFh
Request Compare Value (RQ_COMPARE_VAL[3])
MSR AddressGLIU0: 100000C6h
GLIU1: 400000C6h
Ty peR /W
Reset Value001FFFFF_FFFFFFFFh
52:0RQ_VALRequest Packet Value. This is the value compared against the logical bit-wise AND of
the incoming request packet and the RQ_COMPMASK in order to determine a ‘hit”.
74AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
33234H
4.2.3.5Request Compare Mask (RQ_COMPARE_MASK[0:3]
The RQ Compare Value and the RQ Compare Mask enable traps on specific transactions. A hit to the RQ Compare is
determined by hit = (RQ_IN & RQ_COMPARE_MASK) == RQ_COMPARE_VAL). A hit can trigger the RQ_CMP error
sources when they are enabled. The value is compared only after the packet is arbitrated.
Request Compare Mask (RQ_COMPARE_MASK[0])
MSR AddressGLIU0: 100000C1h
GLIU1: 400000C1h
Ty p eR / W
Reset Value00000000_00000000h
Request Compare Mask (RQ_COMPARE_MASK[1])
MSR AddressGLIU0: 100000C3h
GLIU1: 400000C3h
Ty p eR / W
Reset Value00000000_00000000h
Request Compare Mask (RQ_COMPARE_MASK[2])
MSR AddressGLIU0: 100000C5h
GLIU1: 400000C5h
Ty peR /W
Reset Value00000000_00000000h
Request Compare Mask (RQ_COMPARE_MASK[3])
MSR AddressGLIU0: 100000C7h
GLIU1: 400000C7h
Ty peR /W
Reset Value00000000_00000000h
52:0RQ_MASKRequest Packet Mask. This field is bit-wise logically ANDed with the incoming request
packet before it is compared to the RQ_COMPVAL.
AMD Geode™ LX Processors Data Book 75
33234H
GLIU Register Descriptions
4.2.3.6DA Compare Value Low (DA_COMPARE_VAL_LO[0:3]
The DA Compare Value and the DA Compare Mask enable traps on specific transactions. A hit to the DA Compare is determined by hit = (DA_IN & DA_COMPARE_MASK) == DA_COMPARE_VAL). A hit can trigger the DA_CMP error sources
when they are enabled. The value is compared only after the packet is arbitrated.
Data Compare Value Low (DA_COMPARE_VAL_LO[0])
MSR AddressGLIU0: 100000D0h
GLIU1: 400000D0h
Ty p eR / W
Reset Value00001FFF_FFFFFFFFh
Data Compare Value Low (DA_COMPARE_VAL_LO[1])
MSR AddressGLIU0: 100000D4h
GLIU1: 400000D4h
Ty p eR / W
Reset Value00001FFF_FFFFFFFFh
Data Compare Value Low (DA_COMPARE_VAL_LO[2])
MSR AddressGLIU0: 100000D8h
GLIU1: 400000D8h
Ty peR /W
Reset Value00001FFF_FFFFFFFFh
Data Compare Value Low (DA_COMPARE_VAL_LO[3])
MSR AddressGLIU0: 100000DCh
GLIU1: 400000DCh
Ty peR /W
Reset Value00001FFF_FFFFFFFFh
44:0DALO_VALDA Packet Compare Value [44:0]. This field forms the lower portion of the data value,
which is compared to the logical bit-wise AND of the incoming data value and the data
value compare mask in order to determine a ‘hit’. The “HI” and “LO” portions of the
incoming data, the compare value, and the compare mask, are assembled into complete
bit patterns before these operations occur.
76AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
33234H
4.2.3.7DA Compare Value High (DA_COMPARE_VAL_HI[0:3]
The DA Compare Value and the DA Compare Mask enable traps on specific transactions. A hit to the DA Compare is determined by hit = (DA_IN & DA_COMPARE_MASK) == DA_COMPARE_VAL). A hit can trigger the DA_CMP error sources
when they are enabled. The value is compared only after the packet is arbitrated.
Data Compare Value High (DA_COMPARE_VAL_HI[0])
MSR AddressGLIU0: 100000D1h
GLIU1: 400000D1h
Ty p eR / W
Reset Value0000000F_FFFFFFFFh
Data Compare Value High (DA_COMPARE_VAL_HI[1])
MSR AddressGLIU0: 100000D5h
GLIU1: 400000D5h
Ty p eR / W
Reset Value0000000F_FFFFFFFFh
Data Compare Value High (DA_COMPARE_VAL_HI[2])
MSR AddressGLIU0: 100000D9h
GLIU1: 400000D9h
Ty peR /W
Reset Value0000000F_FFFFFFFFh
Data Compare Value High (DA_COMPARE_VAL_HI[3])
MSR AddressGLIU0: 100000DDh
GLIU1: 400000DDh
Ty peR /W
Reset Value0000000F_FFFFFFFFh
35:0DAHI_VALDA Packet Compare Value [80:45]. This field forms the upper portion of the data value
which is compared to the logical bit-wise AND of the incoming data value AND the data
value compare mask in order to determine a ‘hit’. The “HI” and “LO” portions of the
incoming data, the compare value, and the compare mask, are assembled into complete
bit patterns before these operations occur.
GLIU1: 400000D2h
Ty p eR / W
Reset Value00000000_00000000h
Data Compare Mask Low
(DA_COMPARE_MASK_LO[1])
MSR AddressGLIU0: 100000D6h
GLIU1: 400000D6h
Ty p eR / W
Reset Value00000000_00000000h
Data Compare Mask Low
(DA_COMPARE_MASK_LO[2])
MSR AddressGLIU0: 100000DAh
GLIU1: 400000DAh
Ty peR /W
Reset Value00000000_00000000h
Data Compare Mask Low
(DA_COMPARE_MASK_LO[3])
MSR AddressGLIU0: 100000DEh
GLIU1: 400000DEh
Ty peR /W
Reset Value00000000_00000000h
The DA Compare Value and the DA Compare Mask enable traps on specific transactions. A hit to the DA Compare is determined by hit = (DA_IN & DA_COMPARE_MASK) == DA_COMPARE_VAL). A hit can trigger the DA_CMP error sources
when they are enabled. The value is compared only after the packet is arbitrated.
44:0DALO_MASKDA Packet Compare Value [44:0]. This field forms the lower portion of the data COMP-
MASK value, which is then bit-wise logically ANDed with the incoming data value before
it is compared to the DA_COMPVAL. The “HI” and “LO” portions of the incoming data,
the compare value, and the compare mask, are assembled into complete bit patterns
before these operations occur.
78AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
4.2.3.9DA Compare Mask High (DA_COMPARE_MASK_HI[0:3])
33234H
Data Compare Mask High
(DA_COMPARE_MASK_HI[0])
MSR AddressGLIU0: 100000D3h
GLIU1: 400000D3h
Ty p eR / W
Reset Value00000000_00000000h
Data Compare Mask High
(DA_COMPARE_MASK_HI[1])
MSR AddressGLIU0: 100000D7h
GLIU1: 400000D7h
Ty p eR / W
Reset Value00000000_00000000h
Data Compare Mask High
(DA_COMPARE_MASK_HI[2])
MSR AddressGLIU0: 100000DBh
GLIU1: 400000DBh
Ty peR /W
Reset Value00000000_00000000h
Data Compare Mask High
(DA_COMPARE_MASK_HI[3])
MSR AddressGLIU0: 100000DFh
GLIU1: 400000DFh
Ty peR /W
Reset Value00000000_00000000h
35:0DAHI_MASKDA Packet Compare Mask [80:45]. This field forms the upper portion of the data
COMPMASK value, which is then bit-wise logically ANDed with the incoming data value
before it is compared to the DA_COMPVAL.The “HI” and “LO” portions of the incoming
data. the compare value, and the compare mask, are assembled into complete bit patterns before these operations occur.
AMD Geode™ LX Processors Data Book 79
33234H
GLIU Register Descriptions
4.2.4P2D Descriptor Registers
P2D descriptors are ordered P2D_BM, P2D_BMO, P2D_R, P2D_RO, P2D_SC, P2D_BMK. For example if NP2D_BM=3
and NP2D_BM0=2, IMSR EO = P2D_BM[0], MSR E3 = P2D_SC[0].
4.2.4.1P2D Base Mask Descriptor (P2D_BM)
GLIU0P2D_BM[5:0]
MSR Address10000020h-10000025h
Ty p eR / W
Reset Value000000FF_FFF00000h
GLIU1P2D_BM[9:0]
MSR Address40000020h-40000029h
Ty peR /W
Reset Value000000FF_FFF00000h
See Table 4.1.3.1 "Memory Routing and Translation" on page 47 for details on the descriptor usage.
63:61PDID1Descriptor Destination ID. These bits define which Port to route the request to, if it is a
‘hit’ based on the other settings in this register.
000: Port 0 (GLIU0 = GLIU; GLIU1 = GLIU.)
001: Port 1 (GLIU0 = GLMC; GLIU1 = Interface to GLIU0.)
010: Port 2 (GLIU0 = Interface to GLIU1; GLIU1 = VP.)
011: Port 3 (GLIU0 = CPU Core; GLIU1 = GLCP.)
100: Port 4 (GLIU0 = DC; GLIU1 = GLPCI.)
101: Port 5 (GLIU0 = GP; GLIU1 = VIP.)
110: Port 6 (GLIU0 = Not Used; GLIU1 = SB.)
111: Port 7 (GLIU0 = Not Used; GLIU1 = Not Used.)
60PCMP_BIZCompare Bizzaro Flag.
0: Consider only transactions whose Bizzaro flag is low as a potentially valid address hit.
A low Bizzaro flag indicates a normal transaction cycle such as a memory or I/O.
1: Consider only transactions whose Bizzaro flag is high as a potentially valid address
hit. A high Bizzaro flag indicates a ‘special’ transaction, such as a PCI Shutdown or
Halt cycle.
59:40RSVDReserved.
39:20PBASEPhysical Memory Address Base. These bits form the matching value against which the
masked value of the physical address, bits [31:12] are directly compared. If a match is
found, then a “hit’ is declared, depending on the setting of the Bizzaro flag comparator.
19:0PMASKPhysical Memory Address Mask. These bits are used to mask address bits [31:12] for
the purposes of this ‘hit’ detection.
80AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
33234H
4.2.4.2P2D Base Mask Offset Descriptor (P2D_BMO)
GLIU0P2D_BMO[1:0]
MSR Address10000026h-10000027h
Ty p eR / W
Reset Value00000FF0_FFF00000h
See Table 4.1.3.1 "Memory Routing and Translation" on page 47 for details on the descriptor usage.
63:61PDID1Descriptor Destination ID. These bits define which Port to route the request to, if it is a
‘hit’ based on the other settings in this register.
000: Port 0 (GLIU0 = GLIU; GLIU1 = GLIU.)
001: Port 1 (GLIU0 = GLMC; GLIU1 = Interface to GLIU0.)
010: Port 2 (GLIU0 = Interface to GLIU1; GLIU1 = VP.)
011: Port 3 (GLIU0 = CPU Core; GLIU1 = GLCP.)
100: Port 4 (GLIU0 = DC; GLIU1 = GLPCI.)
101: Port 5 (GLIU0 = GP; GLIU1 = VIP.)
110: Port 6 (GLIU0 = Not Used; GLIU1 = SB.)
111: Port 7 (GLIU0 = Not Used; GLIU1 = Not Used.)
60PCMP_BIZCompare Bizzaro Flag.
0: Consider only transactions whose Bizzaro flag is low as a potentially valid address hit.
A low Bizzaro flag indicates a normal transaction cycle such as a memory or I/O.
1: Consider only transactions whose Bizzaro flag is high as a potentially valid address
hit. A high Bizzaro flag indicates a ‘special’ transaction, such as a PCI Shutdown or
Halt cycle.
59:40POFFSETPhysical Memory Address 2s Comp Offset. 2s complement offset that is added to
physical address on a hit.
39:20PBASEPhysical Memory Address Base. These bits form the matching value against which the
masked value of the physical address, bits [31:12] are directly compared. If a match is
found, then a “hit’ is declared, depending on the setting of the Bizzaro flag comparator.
19:0PMASKPhysical Memory Address Mask. These bits are used to mask address bits [31:12] for
the purposes of this ‘hit’ detection.
AMD Geode™ LX Processors Data Book 81
33234H
GLIU Register Descriptions
4.2.4.3P2D Range Descriptor (P2D_R)
GLIU0P2D_R[0]
MSR Address10000028h
Ty p eR / W
Reset Value00000000_000FFFFFh
GLIU1P2D_R[3:0]
MSR Address4000002Ah-4000002Dh
Ty peR /W
Reset Value00000000_000FFFFFh
See Table 4.1.3.1 "Memory Routing and Translation" on page 47 for details on the descriptor usage.
63:61PDID1Descriptor Destination ID 1. These bits define which Port to route the request to, if it is
a ‘hit’ based on the other settings in this register.
000: Port 0 (GLIU0 = GLIU; GLIU1 = GLIU.)
001: Port 1 (GLIU0 = GLMC; GLIU1 = Interface to GLIU0.)
010: Port 2 (GLIU0 = Interface to GLIU1; GLIU1 = VP.)
011: Port 3 (GLIU0 = CPU Core; GLIU1 = GLCP.)
100: Port 4 (GLIU0 = DC; GLIU1 = GLPCI.)
101: Port 5 (GLIU0 = GP; GLIU1 = VIP.)
110: Port 6 (GLIU0 = Not Used; GLIU1 = SB.)
111: Port 7 (GLIU0 = Not Used; GLIU1 = Not Used.)
60PCMP_BIZCompare Bizzaro Flag.
0: Consider only transactions whose Bizzaro flag is low as a potentially valid address hit.
A low Bizzaro flag indicates a normal transaction cycle such as a memory or I/O.
1: Consider only transactions whose Bizzaro flag is high as a potentially valid address
hit. A high Bizzaro flag indicates a ‘special’ transaction, such as a PCI Shutdown or
Halt cycle.
59:48RSVDReserved.
47:32WENEnable hits to the base for the ith 16K page for writes. When set to 1, causes the
incoming request to be routed to the port specified in PDID1 if the incoming request is a
write type.
31:16RENEnable hits to the base for the ith 16K page for reads. When set to 1, causes the
incoming request to be routed to the port specified in PDID1 if the incoming request is a
read type.
15:14RSVDReserved.
13:0PBASEPhysical Memory Address Base for Hit. These bits form the basis of comparison with
incoming checks that the physical address supplied by the device’s request on address
bits [31:18] are equal to PBASE. Bits [17:14] of the physical address are used to choose
the ith 16K region of WEN/REN for a hit.
84AMD Geode™ LX Processors Data Book
GLIU Register Descriptions
33234H
4.2.5SPARE MSRs (SPARE_MSR[0:9], A:F)
MSR AddressGLIU0: 10000040h-1000004Fh
GLIU1: 40000040h-4000004Fh
Ty p eR / W
Reset Value00000000_00000000h
63:61IDIDI/O Descriptor Destination ID. These bits define which Port to route the request to, if it
is a ‘hit’ based on the other settings in this register.
000: Port 0 (GLIU0 = GLIU; GLIU1 = GLIU.)
001: Port 1 (GLIU0 = GLMC; GLIU1 = Interface to GLIU0.)
010: Port 2 (GLIU0 = Interface to GLIU1; GLIU1 = VP.)
011: Port 3 (GLIU0 = CPU Core; GLIU1 = GLCP.)
100: Port 4 (GLIU0 = DC; GLIU1 = GLPCI.)
101: Port 5 (GLIU0 = GP; GLIU1 = VIP.)
110: Port 6 (GLIU0 = Not Used; GLIU1 = SB.)
111: Port 7 (GLIU0 = Not Used; GLIU1 = Not Used.)
60ICMP_BIZCompare Bizzaro Flag.
0: Consider only transactions whose Bizzaro flag is low as a potentially valid address hit.
A low Bizzaro flag indicates a normal transaction cycle such as a memory or I/O.
1: Consider only transactions whose Bizzaro flag is high as a potentially valid address
hit. A high Bizzaro flag indicates a ‘special’ transaction, such as a PCI Shutdown or
Halt cycle.
59:40RSVDReserved.
39:20IBASEPhysical I/O Address Base. These bits form the matching value against which the
masked value of the physical address, bits [19:0] are directly compared. If a match is
found, then a “hit’ is declared, depending on the setting of the Bizzaro flag comparator.
19:0IMASKPhysical I/O Address Mask. These bits are used to mask address bits [31:12] for the
63:61IDID1Descriptor Destination ID 1. Encoded port number of the destination of addresses
which produce a ‘hit’ based on the other fields in this descriptor.
60ICMP_BIZCompare Bizzaro Flag. Used to check that the Bizzaro flag of the request is equal to
the PICMP_BIZ_SC bit (this bit). If a match does not occur, then the incoming request
cannot generate a hit. The Bizzaro flag, if set in the incoming request, signifies a “special’ cycle such as a PCI Shutdown or Halt.
59:32RSVDReserved. Write as read.
31:24ENEnable for Hits to IDID1 or else SUBP. Setting these bits enables hits to IDID1. If not
enabled, subtractive port is selected per GLD_MSR_CONFIG, bits [2:0] (MSR GLIU0:
10002001h; GLIU1: 40002001h). (See Section 4.2.1.2 "GLD Master Configuration MSR
(GLD_MSR_CONFIG)" on page 55 for bit descriptions).
23:22RSVDReserved.
21WENDescriptor Hits IDID1 on Write Request Types else SUBP. If set, causes the incom-
ing request to be routed to the port specified in IDID1 if the incoming request is a Write
type. If not set, subtractive port is selected per GLD_MSR_CONFIG, bits [2:0] (MSR
GLIU0: 10002001h; GLIU1: 40002001h). (See Section 4.2.1.2 "GLD Master Configuration MSR (GLD_MSR_CONFIG)" on page 55 for bit descriptions).
20RENDescriptors Hit IDID1 on Read Request Types else SUBP. If set, causes the incom-
ing request to be routed to the port specified in IDID1 if the incoming request is a Read
type. If not set, subtractive port is selected per GLD_MSR_CONFIG, bits [2:0] (MSR
GLIU0: 10002001h; GLIU1: 40002001h). (See Section 4.2.1.2 "GLD Master Configuration MSR (GLD_MSR_CONFIG)" on page 55 for bit descriptions).
19:3IBASEI/O Memory Base. This field forms the basis of comparison with the incoming checks
that the physical address supplied by the device’s request on address bits [31:18] are
equal to the PBASE field of descriptor register bits [13:0].
2:0RSVDReserved. Write as read.
AMD Geode™ LX Processors Data Book 87
33234H
GLIU Register Descriptions
88AMD Geode™ LX Processors Data Book
CPU Core33234H
5.0CPU Core
5
This section describes the internal operations of the
AMD Geode™ LX processor’s CPU Core from a programmer’s point of view. It includes a description of the traditional “core” processing and FPU operations. The
integrated function registers are described in the next
chapter.
The primary register sets within the processor core include:
• Application Register Set
• System Register Set
5.1Core Processor Initialization
The CPU Core is initialized when the RESET# (Reset) signal is asserted. The CPU Core is placed in real mode and
the registers listed in Table 5-1 are set to their initialized
values. RESET# invalidates and disables the CPU cache,
CR0Control Register 060000010hSee Table 5-10 on page 96 for bit descriptions.
CR2Control Register 2xxxxxxxxhSee Table 5-9 on page 96 for bit descriptions.
CR3Control Register 3xxxxxxxxhSee Table 5-8 on page 96 for bit descriptions.
CR4Control Register 400000000hSee Table 5-7 on page 96 for bit descriptions.
Note 1. x = Undefined value.
(Note 1)Comments
and turns off paging. When RESET# is asserted, the CPU
terminates all local bus activity and all internal execution.
While RESET# is asserted, the internal pipeline is flushed
and no instruction execution or bus activity occurs.
Approximately 150 to 250 external clock cycles after
RESET# is de-asserted, the processor begins executing
instructions at the top of physical memory (address location
FFFFFFF0h). The actual number of clock cycles depends
on the clock scaling in use. Also, before execution begins,
an additional 2
requested.
Typically, an intersegment jump is placed at FFFFFFF0h.
This instruction forces the processor to begin execution in
the lowest 1 MB of address space. Table 5-1 lists the CPU
Core registers and illustrates how they are initialized.
20
clock cycles are needed when self-test is
AMD Geode™ LX Processors Data Book 89
33234H
CPU Core
5.2Instruction Set Overview
The CPU Core instruction set can be divided into nine
types of operations:
• Arithmetic
• Bit Manipulation
• Shift/Rotate
• String Manipulation
• Control Transfer
• Data Transfer
• Floating Point
• High-Level Language Support
• Operating System Support
The instructions operate on as few as zero operands and
as many as three operands. A NOP (no operation) instruction is an example of a zero-operand instruction. Two-operand instructions allow the specification of an explicit source
and destination pair as part of the instruction. These twooperand instructions can be divided into ten groups according to operand types:
• Register to Register
• Register to Memory
• Memory to Register
• Memory to Memory
• Register to I/O
• I/O to Register
• Memory to I/O
• I/O to Memory
• Immediate Data to Register
• Immediate Data to Memory
An operand can be held in the instruction itself (as in the
case of an immediate operand), in one of the processor’s
registers or I/O ports, or in memory. An immediate operand
is fetched as part of the opcode for the instruction.
Operand lengths of 8, 16, 32 or 48 bits are supported as
well as 64 or 80 bits associated with floating-point instructions. Operand lengths of 8 or 32 bits are generally used
when executing code written for 386- or 486-class (32-bit
code) processors. Operand lengths of 8 or 16 bits are generally used when executing existing 8086 or 80286 code
(16-bit code). The default length of an operand can be
overridden by placing one or more instruction prefixes in
front of the opcode. For example, the use of prefixes allows
a 32-bit operand to be used with 16-bit code or a 16-bit
operand to be used with 32-bit code.
The Processor Core Instruction Set (see Table 8-26 on
page 634) contains the clock count table that lists each
instruction in the CPU instruction set. Included in the table
are the associated opcodes, execution clock counts, and
effects on the EFLAGS register.
5.2.1Lock Prefix
The LOCK prefix may be placed before certain instructions
that read, modify, then write back to memory. The PCI will
not be granted access in the middle of locked instructions.
The LOCK prefix can be used with the following instructions
only when the result is a write operation to memory.
• Bit Test Instructions (BTS, BTR, BTC)
• Exchange Instructions (XADD, XCHG, CMPXCHG)
• One-Operand Arithmetic and Logical Instructions (DEC,
An invalid opcode exception is generated if the LOCK prefix is used with any other instruction or with one of the
instructions above when no write operation to memory
occurs (for example, when the destination is a register).
5.2.2Register Sets
The accessible registers in the processor are grouped into
two sets:
1) The Application Register Set contains the registers
frequently used by application programmers. Table 5-2
on page 91 shows the General Purpose, Segment,
Instruction Pointer and EFLAGS registers.
2) The System Register Set contains the registers typi-
cally reserved for operating systems programmers:
Control, System Address, Debug, Configuration, and
Test registers. All accesses to the these registers use
special CPU instructions.
Both of these register sets are discussed in detail in the
subsections that follow.
90AMD Geode™ LX Processors Data Book
CPU Core
33234H
5.3Application Register Set
The Application Register Set consists of the registers most
often used by the applications programmer. These registers are generally accessible, although some bits in the
EFLAGS registers are protected.
The General Purpose register contents are frequently
modified by instructions and typically contain arithmetic
and logical instruction operands.
In real mode, Segment registers contain the base
address for each segment. In protected mode, the Segment registers contain segment selectors. The segment
selectors provide indexing for tables (located in memory)
that contain the base address for each segment, as well as
other memory addressing information.
The Instruction Pointer register points to the next instruction that the processor will execute. This register is automatically incremented by the processor as execution
progresses.
The EFLAGS register contains control bits used to reflect
the status of previously executed instructions. This register
also contains control bits that affect the operation of some
instructions.
AX
AHAL
BX
BHBL
CX
CHCL
DX
DHDL
SI (Source Index)
DI (Destination Index)
BP (Base Pointer)
SP (Stack Pointer)
CS (Code Segment)
SS (Stack Segment)
DS (D Data Segment)
ES (E Data Segment)
FS (F Data Segment)
GS (G Data Segment)
AMD Geode™ LX Processors Data Book 91
33234H
CPU Core
5.3.1General Purpose Registers
The General Purpose registers are divided into four data
registers, two pointer registers, and two index registers as
shown in Table 5-2 on page 91.
The Data registers are used by the applications programmer to manipulate data structures and to hold the results of
logical and arithmetic operations. Different portionsof general data registers can be addressed by using different
names.
An “E” prefix identifies the complete 32-bit register. An “X”
suffix without the “E” prefix identifies the lower 16 bits of the
register.
The lower two bytes of a data register are addressed with
an “H” suffix (identifies the upper byte) or an “L” suffix (identifies the lower byte). These _L and _H portions of the data
registers act as independent registers. For example, if the
AH register is written to by an instruction, the AL register
bits remain unchanged.
The Pointer and Index registers are listed below.
SI or ESISource Index
DI or EDIDestination Index
SP or ESPStack Pointer
BP or EBPBase Pointer
These registers can be addressed as 16- or 32-bit registers,
with the “E” prefix indicating 32 bits. The Pointer and Index
registers can be used as general purpose registers; however, some instructions use a fixed assignment of these
registers. For example, repeated string operations always
use ESI as the source pointer, EDI as the destination
pointer, and ECX as a counter. The instructions that use
fixed registers include multiply and divide, I/O access,
string operations, stack operations, loop, variable shift and
rotate, and translate instructions.
The CPU Core implements a stack using the ESP register.
This stack is accessed during the PUSH and POP instructions, procedure calls, procedure returns, interrupts, exceptions, and interrupt/exception returns. The Geode LX
processor automatically adjusts the value of the ESP during operations that result from these instructions.
The EBP register may be used to refer to data passed on
the stack during procedure calls. Local data may also be
placed on the stack and accessed with BP. This register
provides a mechanism to access stack data in high-level
languages.
5.3.2Segment Registers
The 16-bit Segment registers are part of the main memory
addressing mechanism. The six segment registers are:
CS - Code Segment
DS - Data Segment
SS - Stack Segment
ES - Extra Segment
FS - Additional Data Segment
GS - Additional Data Segment
The Segment registers are used to select segments in
main memory. A segment acts as private memory for different elements of a program such as code space, data space
and stack space. There are two segment mechanisms, one
for real and virtual 8086 operating modes and one for protected mode.
The active Segment register is selected according to the
rules listed in Table 5-3 and the type of instruction being
currently processed. In general, the DS register selector is
used for data references. Stack references use the SS register, and instruction fetches use the CS register. While
some selections may be overridden, instruction fetches,
stack operations, and the destination write operation of
string operations cannot be overridden. Special segmentoverride instruction prefixes allow the use of alternate segment registers. These segment registers include the ES,
FS, and GS registers.
5.3.3Instruction Pointer Register
The Instruction Pointer (EIP) register contains the offset
into the current code segment of the next instruction to be
executed. The register is normally incremented by the
length of the current instruction with each instruction execution unless it is implicitly modified through an interrupt,
exception, or an instruction that changes the sequential
execution flow (for example JMP and CALL).
Table 5-3. Segment Register Selection Rules
Implied (Default)
Type of Memory Reference
Code FetchCSNone
Destination of PUSH, PUSHF, INT, CALL, PUSHA instructionsSSNone
Source of POP, POPA, POPF, IRET, RET instructionsSSNone
Destination of STOS, MOVS, REP STOS, REP MOVS instructionsESNone
Other data references with effective address using base registers of:
EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP
92AMD Geode™ LX Processors Data Book
Segment
DS
SS
Segment-Override
Prefix
CS, ES, FS, GS, SS
CS, DS, ES, FS, GS
CPU Core
33234H
5.3.4EFLAGS Register
The EFLAGS register contains status information and controls certain operations on the Geode LX processor. The
lower 16 bits of this register are used when executing 8086
or 80286 code. Table 5-4 gives the bit formats for the
EFLAGS register.
Table 5-4. EFLAGS Register
BitNameFlag TypeDescription
31:22RSVD--Reserved. Set to 0.
21IDSystemIdentification Bit. The ability to set and clear this bit indicates that the CPUID instruction is sup-
ported. The ID can be modified only if the CPUID bit in CCR4 (Index E8h[7]) is set.
20:19RSVD--Reserved. Set to 0.
18ACSystemAlignment Check Enable. In conjunction with the AM flag (bit 18) in CR0, the AC flag deter-
mines whether or not misaligned accesses to memory cause a fault. If AC is set, alignment
faults are enabled.
17VMSystemVirtual 8086 Mode. If set while in protected mode, the processor switches to virtual 8086 oper-
ation handling segment loads as the 8086 does, but generating exception 13 faults on privileged
opcodes. The VM bit can be set by the IRET instruction (if current privilege level is 0) or by task
switches at any privilege level.
16RFDebugResume Flag. Used in conjunction with debug register breakpoints. RF is checked at instruction
boundaries before breakpoint exception processing. If set, any debug fault is ignored on the next
instruction.
15RSVD--Reserved. Set to 0.
14NTSystemNested Task. While executing in protected mode, NT indicates that the execution of the current
task is nested within another task.
13:12IOPLSystemI/O Privilege Level. While executing in protected mode, IOPL indicates the maximum current
privilege level (CPL) permitted to execute I/O instructions without generating an exception 13
fault or consulting the I/O permission bit map. IOPL also indicates the maximum CPL allowing
alteration of the IF bit when new values are popped into the EFLAGS register.
11OFArithmeticOverflow Flag. Set if the operation resulted in a carry or borrow into the sign bit of the result but
did not result in a carry or borrow out of the high-order bit. Also set if the operation resulted in a
carry or borrow out of the high-order bit but did not result in a carry or borrow into the sign bit of
the result.
10DFControlDirection Flag. When cleared, DF causes string instructions to auto-increment (default) the
9IFSystemInterrupt Enable Flag. When set, maskable interrupts (INTR input pin) are acknowledged and
8TFDebugTrap Enable Flag. Once set, a single-step interrupt occurs after the next instruction completes
7SFArithmeticSign Flag. Set equal to high-order bit of result (0 indicates positive, 1 indicates negative).
6ZFArithmeticZero Flag. Set if result is zero; cleared otherwise.
5RSVD--Reserved. Set to 0.
4AFArithmeticAuxiliary Carry Flag. Set when a carry out of (addition) or borrow into (subtraction) bit position
3RSVD--Reserved. Set to 0.
2PFArithmeticParity Flag. Set when the low-order 8 bits of the result contain an even number of ones; other-
1RSVDReserved. Set to 1.
0CFArithmeticCarry Flag. Set when a carry out of (addition) or borrow into (subtraction) the most significant
appropriate index registers (ESI and/or EDI). Setting DF causes auto-decrement of the index
registers to occur.
serviced by the CPU.
execution. TF is cleared by the single-step interrupt.
3 of the result occurs; cleared otherwise.
wise PF is cleared.
bit of the result occurs; cleared otherwise.
AMD Geode™ LX Processors Data Book 93
33234H
5.4System Register Set
The System Register Set, shown in Table 5-5, consists of
registers not generally used by application programmers.
These registers are either initialized by the system BIOS or
employed by system level programmers who generate
operating systems and memory management programs.
Associated with the System Register Set are certain tables
and registers that are listed in Table 5-5.
The Control registers control certain aspects of the CPU
Core such as paging, coprocessor functions, and segment
protection.
The CPU Core Configuration registers are used to initialize, provide for, test or define most of the features of the
CPU Core. The attributes of these registers include:
• CPU setup - Enable cache, features, operating modes.
• Debug support - Provide debugging facilities for the
Geode™ LX processor and enable the use of data
access breakpoints and code execution breakpoints.
• Built-in Self-test (BIST) support.
• Test - Support a mechanism to test the contents of the
on-chip caches and the Translation Lookaside Buffers
(TLBs).
• In-Circuit Emulation (ICE) - Provide for a alternative
accessing path to support an ICE.
• CPU identification - Allow the BIOS and other software
to identify the specific CPU and stepping.
• Power Management.
• Performance Monitoring - Enables test software to
measure the performance of application software.
The Descriptor Table registers point to tables used to
manage memory segments and interrupts.
Table 5-5. System Register Set
GroupNameFunction
Control
Registers
CPU Core
Configuration
Registers
Descriptor
Ta bl e
Registers
Task Register
Performance
Registers
CR0System Control
Register
CR2Page Fault Linear
Address Register
CR3Page Directory Base
Register
CR4Feature Enables32
PLnPipeline
Control Registers
IMnInstruction Memory
Control Registers
DMnData Memory Con-
trol Registers
BCnBus Controller Con-
trol Registers
FPUnFloating Point Unit
Shadow Registers
GDTRGDT Register 32
IDTRIDT Register 32
LDTRLDT Register16
TRTask Register16
PCRnPerformance
Control Registers
CPU Core
Width
(Bits)
32
32
32
64
64
64
64
64
8
The Task State register points to the Task State Segment,
which is used to save and load the processor state when
switching tasks.
Table 5-5 lists the System Register Sets along with their
size and function.
94AMD Geode™ LX Processors Data Book
CPU Core
33234H
5.4.1Control Registers
A map of the Control registers (CR0, CR1, CR2, CR3, and
CR4) is shown in Table 5-6 and the bit descriptions are in
the tables that follow. (These registers should not be confused with the CRRn registers.) CR0 contains system control bits that configure operating modes and indicate the
general state of the CPU. The lower 16 bits of CR0 are
referred to as the Machine Status Word (MSW).
When operating in real mode, any program can read and
write the control registers. In protected mode, however,
only privilege level 0 (most-privileged) programs can read
and write these registers.
L1 Cache Controller
The CD bit (Cache Disable, bit 30) in CR0 globally controls
the operating mode of the L1 and L2 caches. LCD and
LWT, Local Cache Disable and Local Write-through bits in
the Translation Lookaside Buffer, control the mode on a
page-by-page basis. Additionally, memory configuration
control can specify certain memory regions as non-cacheable.
If the cache is disabled, no further cache line fills occur.
However, data already present in the cache continues to be
used. For the cache to be completely disabled, the cache
must be invalidated with a WBINVD instruction after the
cache has been disabled.
Write-back caching improves performance by relieving congestion on slower external buses.
The Geode LX processor contains an on-board 64 KB L1
instruction cache, a 64 KB L1 write-back data cache, and a
128 KB unified L2 victim cache. With the memory controller
on-board, the L1 cache requires no external logic to main-
The Geode LX processor caches SMM regions, reducing
system management overhead to allow for hardware emulation such as VGA.
tain coherency. All DMA cycles automatically snoop the L1
and L2 caches.
Read hits access the cache,
Write hits update the cache,
Read/write misses do not cause line allocations.
11Cache off, coherency not maintained (i.e., snooping disabled).
Read hits access the cache,
Write hits update the cache,
Read/write misses do not cause line allocations.
allowed to enable alignment check faults. Setting AM = 0 prevents AC faults from occurring.
read only page to be written from privilege level 0-2. WP = 1 forces a fault on a write to a
read only page from any privilege level.
NE = 0 if FPU exceptions are to be handled by external interrupts.
ing point instruction with TS = 1 causes a Device Not Available (DNA) fault. If MP = 1 and
TS = 1, a WAIT instruction also causes a DNA fault. (Note 1)
fault 7. (Note 1)
fault 7. The TS bit is set to 1 on task switches by the CPU. Floating point instructions are
not affected by the state of the MP bit. The MP bit should be set to 1 during normal operations. (Note 1)
protected mode is enabled. If PE = 0, the CPU operates in real mode and addresses are
formed as in an 8086-style CPU.
AMD Geode™ LX Processors Data Book 97
33234H
CPU Core
Table 5-11. Effects of Various Combinations of EM, TS, and MP Bits
CR0[3:1] Instruction Type
TS EM MPWAITESC
000 ExecuteExecute
001 ExecuteExecute
100ExecuteFault 7
101 Fault 7Fault 7
010ExecuteFault 7
011ExecuteFault 7
110ExecuteFault 7
111 Fault 7Fault 7
98AMD Geode™ LX Processors Data Book
CPU Core Register Descriptions
33234H
5.5CPU Core Register Descriptions
All CPU Core registers are Model Specific Registers
(MSRs) and are accessed via the RDMSR and WRMSR
instructions.
Each module inside the processor is assigned a 256 register section of the address space. The module responds to
any reads or writes in that range. Unused addresses within
a module’s address space are reserved, meaning the module returns zeroes on a read and ignores writes. Addresses
that are outside all the module address spaces are invalid,
Table 5-12. Standard GeodeLink™ Device MSRs Summary
00002002hR/WGLD SMI MSR (GLD_MSR_SMI) - Not Used00000000_00000000hPage 109
00002003hR/WGLD Error MSR (GLD_MSR_ERROR) - Not Used00000000_00000000hPage 109
00002004hR/WGLD Power Management MSR (GLD_MSR_PM) -
Not Used
00002005hR/WGLD Diagnostic Bus Control MSR
(GLD_MSR_DIAG)
meaning a RDMSR/WRMSR instruction attempting to use
the address generates a General Protection Fault.
The registers associated with the CPU Core are the Standard GeodeLink™ Device MSRs and CPU Core Specific
MSRs. Table 5-12 and Table 5-13 are register summary
tables that include reset values and page references where
the bit descriptions are provided. Note that the standard
GLD MSRs for the CPU Core start at 00002000h.