EasyManua.ls Logo

AMD AMD5K86 - Virtual-8086 Mode Extensions (VME)

AMD AMD5K86
416 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
AMD~
AMD5J!16
Processor
Technical
Reference
Manual
18524BjO-Mar1996
3.1.4
Virtual-8086
Mode
Extensions
(VME)
Interrupt
Redirection
in
Virtual-8086
Mode
WithoutVME
Extensions
3-12
The
Virtual-8086
Mode
Extensions
(VME)
bit
in
CR4
(bit
0)
enable
performance
enhancements
for 8086
programs
running
as
protected
tasks
in
Virtual-8086
mode.
These
extensions
include:
Virtualizing
mask
able
external
interrupt
control
and
notifi-
cation
via
the
VIF
and
VIP
bits
in
EFLAGS
Selectively
intercepting
software
interrupts
(INTn
instruc-
tions)
via
the
Interrupt
Redirection
Bitmap
(IRB)
in
the
Task
State
Segment
(TSS)
8086
programs
expect
to
have
full
access
to
the
interrupt
flag
(IF)
in
the
EFLAGS
register,
which
enables
maskable
external
interrupts
via
the
INTR
signal.
When
8086
programs
run
in
Vir-
tual-8086
mode
on
a 386
or
486
processor,
they
run
as
pro-
tected
tasks
and
access
to
the
IF
flag
must
be
controlled
by
the
operating
system
on
a
task-by-task
basis
to
prevent
corruption
of
system
resources.
Without
the
VME
extensions
available
on
the
AMDS
K
86
pro-
cessor,
the
operating
system
controls
Virtual-8086
mode
access
to
the
IF
flag
by
trapping
instructions
that
can
read
or
write
this
flag.
These
instructions
include
ST!, CLI,
PUSHF,
POPF,
INTn,
and
IRET.
This
method
prevents
changes
to
the
real
IF
when
the
I/O
privilege
level
(IOPL)
in
EFLAGS
is
less
than
3,
the
privilege
level
at
which
all
Virtual-8086
tasks
run.
The
operating
system
maintains
an
image
of
the
IF
flag
for
each
Virtual-8086
program
by
emulating
the
instructions
that
read
or
write
IF.
When
an
external
mask
able
interrupt
occurs,
the
operating
system
checks
the
state
of
the
IF
image
for
the
cur-
rent
Virtual-8086
program
to
determine
whether
the
program
is
allowing
interrupts.
If
the
program
has
disabled
interrupts,
the
operating
system
saves
the
interrupt
information
until
the
program
attempts
to
re-enable
interrupts.
The
overhead
for
trapping
and
emulating
the
instructions
that
enable
and
disable
interrupts,
and
the
maintenance
of
virtual
interrupt
flags for
each
Virtual-8086
program,
can
degrade
the
processor's
performance.
This
performance
can
be
regained
by
running
Virtual-8086
programs
with
IOPL
set
to
3,
thus
allow-
ing
changes
to
the
real
IF
flag
from
any
privilege
level,
but
with
a loss
in
protection.
Software
Environment
and
Extensions

Table of Contents

Related product manuals