Intel386™ EX EMBEDDED MICROPROCESSOR USER’S MANUAL
7-4
is no 64Kbyte limit. The value loaded into the selector register is shifted to the left four bits and
moved into its corresponding descriptor base, then added to the effective address. The effective
address can be generated indirectly, using a 32-bit register. However, only 16 bits of t he Extended
Instruction Pointer (EIP) register are pushed onto the stack during calls, exceptions and INTR ser-
vices. Therefore, when returning from calls, exceptions or INTRs, the upper 16 bits of the 32-bit
EIP are zero. In an SMI# handler, the EIP should not be over the 64 Kbyte boundary. The 16-bit
CS allows addressing within a 1 Mbyte boundary.
Instructions that explicitly access the stack, such as MOV instructions, can access the ent ire
4Gbyte s of logical address space by using a 32-bit address size prefix. However, instructions that
implicitly access the stack, such as POP, PUSH, CALL, and RET, still have the 64Kbytes limit.
After SMI# is recognized and the processor state is saved, t he processor state is initialized to the
default values shown in Table 7-2.
When a valid SMI# is recognized on an instruction execution boundary, the CPU immediately
begins execution of the SMM State Save sequence, asserting SMIACT# low (unless t he CPU i s
in a shutdown condition). The CPU then starts SMI# handler execution. An SMI# cannot inter-
rupt a CPU shutdown. The SMI# handler always starts at 38000H. When there are multiple cause s
of SMI#s, only one SMI# is generated, thereby ensuring that SMI#s are not nested.
7.3.2 System Management Interrupt
The Intel386 EX processor extends the standard Intel386 microprocessor architecture by a dding
a new feature called the system management inter rupt (SMI#). Thi s section describe s in detail
how the system designer uses SMI#.
The execution unit recognizes an SMI# (falling edge) on an instr uction boundary (see instruction
#3 in Figure 7-1). After all CPU bus cycles have completed, including pipeline d cycles, the state
Table 7-2. SMM Processor State Initialization Values
Register Content
General Purpose Regist er Unpredictable
EFLAGS 0000000 2H
EIP 00008000H
CS Selector 3000H
DS,ES,FS,GS,SS Selectors 0000H
CS Descriptor Base 00030000H
DS,ES,FS,GS,SS Descriptor Base 00000000H
CS,DS,ES,FS,GS,SS Descriptor Limit 0FFFFFH
DS,ES,FS,GS,SS Attributes 16-bit
CR0 Bits 0, 1, 2, 3, 31 cl eared
DR6 Unpredictable
DR7 Bits 0–10,16– 31 cleared