User's Manual

CHAPTER
1
INTRODUCTION
TO
THE
80286
The 80286
is
the most powerful 16-bit processor
in
the 8086 series of microprocessors, which includes
the
8086, the 8088, the 80186, the 80188, and the 80286.
It
is
designed for applications that require
very high performance.
It
is
also an excellent choice for sophisticated "high end" applications that
will
benefit from its advanced architectural features: memory management, protection mechanisms, task
management, and virtual memory support. The
80286 provides,
on
a single VLSI chip, computational
and architectural characteristics normally associated with much larger minicomputers.
Sections
1.1,
1.2,
and
1.3
of this chapter provide
an
overview of the 80286 architecture. Because the
80286 represents an extension of the 8086 architecture, some of this overview material may be
new
and unfamiliar to previous users of the 8086 and similar microprocessors. But the
80286
is
also an
evolutionary development, with the
new
architecture superimposed upon the industry standard 8086
in
such a
way
as
to
affect only the design and programming of operating systems and other such system
softwar~.
Section
1.4
of this chapter provides a guide
to
the organization of this manual, suggesting
which chapters are relevant
to
the needs of particular readers.
1.1
GENERAL
ATTRIBUTES
The 80286 base architecture has many features
in
common with the architecture of other members of
the 8086 family, such
as
byte addressable memory,
I/O
interfacing hardware, interrupt vectoring, and
support for both multiprocessing and processor extensions. The entire family has a common set of
addressing modes and basic instructions. The
80286 base architecture also includes a number of exten-
sions which add to the versatility of the computer.
The
80286 processor can function
in
two
modes of operation (see section
1.2
of this chapter, Modes of
Operation). In one of these modes only the base architecture
is
available
to
programmers, whereas in
the other mode a number of very powerful advanced features have been added, including support for
virtual memory, multitasking, and a sophisticated protection mechanism. These advanced features are
described
in
section
1.3
of this chapter.
The
80286 base architecture
was
designed
to
support programming
in
high-level languages, such
as
Pascal, C or
PL/M.
The register set and instructions are
well
suited
to
compiler-generated code. The
addressing modes (see section 2.6.3
in
Chapter
2)
allow efficient addressing of complex data structures,
such as static and dynamic arrays, records, and arrays within records, which are commonly supported
by high-level languages. The data types supported
by
the architecture include, along
with
bytes and
words, high level language constructs such
as
strings, BCD, and floating point.
The memory architecture of the
80286
was
designed to support modular programming techniques.
Memory
is
divided into segments, which may
be
of arbitrary size, that can
be
used
to
contain proce-
dures and data structures. Segmentation has several advantages over more conventional linear memory
architectures.
It
supports structured software, since segments can contain meaningful program units
and data, and more compact code, since references within a segment can
be
shorter (and locality of
reference usually insures that the next
few
references
will
be
within the same segment). Segmentation
also lends itself to efficient implementation of sophisticated memory management, virtual memory,
and memory protection.
In addition,
new
instructions have been added
to
the base architecture
to
give hardware support for
procedure invocations, parameter passing, and array bounds checking.
1-1