www.national.com
138
Revision 1.1
G
Core Logic Module
(Continued)
5.2.10.1 APM Support
Many notebook computers rely solely on an Advanced
Power Management (APM) driver for enabling the operat-
ing system to power-manage the CPU. APM provides sev-
eral services which enhance the system power
management; but in its current form, APM is imperfect for
the following reasons:
APM is an OS-specific driver, and may not be available
for some operating systems.
Application support is inconsistent. Some applications in
foreground may prevent Idle calls.
APM does not help with Suspend determination or
peripheral power management.
The Core Logic module provides two entry points for APM
support:
Software CPU Suspend control via the CPU Suspend
Command register (F0 Index AEh).
Software SMI entry via the Software SMI register (F0
Index D0h). This allows the APM BIOS to be part of the
SMI handler.
5.2.10.2 CPU Power Management
The three greatest power consumers in a system are the
display, the hard drive, and the CPU. The power manage-
ment of the first two is relatively straightforward and is dis-
cussed
in
Section
5.2.10.3
Management" on page 139.
"Peripheral
Power
APM, if available, is used primarily by CPU power manage-
ment since the operating system is most capable of report-
ing the Idle condition. Additional resources provided by the
Core Logic module supplement APM by monitoring exter-
nal activity and power managing the CPU based on the
system demands. The two processes for power managing
the CPU are Suspend Modulation and 3V Suspend.
Suspend Modulation
Suspend Modulation works by asserting and deasserting
the internal SUSP# signal to the GX1 module for config-
urable durations. When SUSP# is asserted to the GX1
module, it enters an Idle state during which time the power
consumption is significantly reduced. Even though the PCI
clock is still running, the GX1 module stops the clocks to its
core when SUSP# is asserted. By modulating SUSP# a
reduced frequency of operation is achieved.
The Suspend Modulation feature works by assuming that
the GX1 module is Idle unless external activity indicates
otherwise. This approach effectively slows down the GX1
module until external activity indicates a need to run at full
speed, thereby reducing power consumption. This
approach is the opposite of that taken by most power man-
agement schemes in the industry, which run the system at
full speed until a period of inactivity is detected, and then
slows down. Suspend Modulation, the more aggressive
approach, yields lower power consumption.
Suspend Modulation serves as the primary CPU power
management mechanism when APM is not present. It also
acts as a backup for situations where APM does not cor-
rectly detect an Idle condition in the system.
To provide high-speed performance when needed, SUSP#
modulation is temporarily disabled any time system activity
is detected. When this happens, the GX1 module is
“instantly” converted to full speed for a programmed dura-
tion. System activities in the Core Logic module are
asserted as: any unmasked IRQ, accessing Port 061h, any
asserted SMI.
The automatic speedup events (IRQ) for Suspend Modula-
tion should be used together with software-controlled
speedup registers for major I/O events such as any access
to the FDC, HDD, or parallel/serial ports, since these are
indications of major system activities. When major I/O
events occur, Suspend Modulation should be temporarily
disabled using the procedures described in the Power
Management registers in the following subsections.
If a bus master (UltraDMA/33, Audio, USB) request occurs,
the GX1 module automatically deasserts SUSPA# and
grants the bus to the requesting bus master. When the bus
master deasserts REQ#, SUSPA# reasserts. This does not
directly affect the Suspend Modulation programming.
Configuring Suspend Modulation:
Control of the Sus-
pend Modulation feature is accomplished using the Sus-
pend Modulation and Suspend Configuration registers (F0
Index 94h and 96h, respectively).
The Power Management Enable Register 1 at F0 Index 80h
on page 177 contains the Global Power Management bit
(Bit 0). The global power management bit must be enabled
for Suspend Modulation and all other power management
resources to function.
Bit 0 of the Suspend Configuration register enables the
Suspend Modulation feature. Bit 1 controls how SMI events
affect the Suspend Modulation feature. In general this bit
should be set to 1, which causes SMIs to disable Suspend
Modulation until it is re-enabled by the SMI handler.
The Suspend Modulation register controls two 8-bit
counters that represent the number of 32 μs intervals that
the internal SUSP# signal is asserted and then deasserted
to the GX1 module. These counters define a ratio which is
the effective frequency of operation of the system while
Suspend Modulation is enabled.
The IRQ Speedup Timer Count register (F0 Index 8Ch)
configures the amount of time which Suspend Modulation
is disabled when the event occurs.
F
eff
= F
GX1
x
Asserted Count
Asserted Count + Deasserted Count