User's Manual

80286/80386
SOFTWARE COMPATIBILITY CONSIDERATIONS
6.
Do
not change bits 15-4 of MSW.
The
80386 uses some of the undefined bits
in
the machine status word. 80286 software should
ignore bits 15-4 of the MSW.
To
change the MSW on an 80286, read the old value first with
LMSW, change bits
3-0
only, then write the
new
value with SMSW.
7.
Use a restricted LOCK protocol for multiprocessor systems.
The
80386 supports the 8086/80286 LOCK functions for simple instructions, but not the string
move instructions. Any need for locked string moves can be satisfied
by
gaining control of a status,
semaphore before using the string
move
instruction. Any attempt
to
execute a locked string
move
will cause a protection exception
on
the 80386.
The general 80286 LOCK protocol does not efficiently extend
to
large multiprocessor systems.
If
all the processors in the system frequently use the 8086/80286 LOCK, they
will
prevent other
processors from accessing memory and thereby impact system performance.
Access
to
semaphores in the future, including current 80286 Operating Systems, should use a protocol
with the following restrictions:
. " ,
Be sure the semaphore starts
at
a physical memory address that
is
a multiple of
4.
Do
not use string moves to access the variable.
All accesses by any instruction or
I/O
device (even simple reads or writes) must use the LOCK
prefix or system LOCK signal. '
0-2