Growth from 16 bits to 32 bits did not bring entirely
new architectures, as did the change from 4 bits to
8 bits, or the change from 8 bits to 16 bits.
This permits programs from earlier
microprocessors to run (usually a lot faster) on
the new-generation microprocessor.
The advanced microprocessors are very powerful
General Purpose Computers
Typically, products which use these
microprocessors are configured as general-purpose
computers. CPU is connected to a bus along with
memory, mass storage, general-purpose I/O, and
a user interface. The user interface include an
graphic display system and data entry system.
The general purpose architecture lets you use a
wide variety of general-purpose software to make
the unit do the job you need to perform.
Dedicated systems with advanced
microprocessors typically need a great deal of
computing power. For example, the 32-bit
microprocessors are very popular for graphic
A graphic presentation can be described as a
multidimensional array with x and y dimensions
describing the different points of the display. The
z axis is used to define attributes such as color
and intensity. To manipulate these images, you
must quickly process multidimensional arrays.
Frequently, advanced microprocessors are
supported by a numeric coprocessor. It perform
such arithmetic functions as add, subtract,
multiply and divide on two variables.
It returns a result much faster than a general-
purpose CPU may also be busy handling a display
or managing mass storage devices
while the coprocessor is working.
Often products using advanced microprocessors
also require sophisticated operating and
All of this means that, to understand and
advanced microprocessor-based system, you may
require more system knowledge than hardware
Multi-user and Multi-tasking
One of the common applications for advanced
microprocessors is with multi-user and multi-
tasking operating systems.
A multi-user operating system allows more than
one user to appear to use the CPU at one time.
Likewise, a multi-tasking operating system allows
more than one task to appear to use the CPU at
Multi-user and Multi-tasking
When a microprocessor is used in this mode, it is
important to make sure that the individual users
or tasks do not have access to the program
performing the switching between users or tasks.
To do this, an advanced microprocessors offer a
special way of operating which is called supervisory,
protected, or privileged mode. The advanced
microprocessor may have access to a number of
special instruction, additional registers and other
Kernel – most privileged
Application Software – less privileged
Multi-user and Multi-tasking
Often virtual memory techniques is used where a
software require access to large quantities of data.
These data are much larger than the amount of
physical memory available to the processor. The
additional memory space is really on a disk, but
through sophisticated memory addressing
techniques. Advanced microprocessors often
include special instructions and internal hardware
to ensure the programs work properly.
Intel X86 Family
During the late 1970s, Intel introduced the 8088
and 8086. Internally, these two 16-bit
microprocessors have identical architectures. The
difference between the two is the size of the
external data bus.
The 8088 has an 8-bit external data bus, and the
8086 uses a 16-bit external data bus.
8088 and 8086
In 1981 IBM introduced a PC based on the Intel
The 8088 and 8086 evolved into faster versions
with wider external data buses, versions with
greater memory addressing space, versions with
advanced computing functions, and versions
which process 32-bit data words.
Because these versions also have a very similar
architecture, they have a common numbering
80286 to 80486
The 80286 followed the original introductions,
and it was soon followed by the 80386 and then
the Intel 486.
The latest introduction broke the numbering rule:
It is simply known as the Pentium. Often people
speak of these microprocessors by their last three
digits i.e. 286, 386, 486
Major Attributes of the X86
Scan page 230
8088 and 8086
8086 and 8088 were introduced in the year 1978.
When it came time to pick a 16-bit
microprocessor for the first IBM PC, the Intel
8088 was chosen because its 8-bit data bus made
it easy to use the low-cost 8-bit peripheral devices
built for use with the 8080/8085 and other 8-bit
The next major introduction was the Intel 80286.
IBM introduced the PC/AT (personal computer/
advanced technology) version of its PC using the
286 in 1984.
One of the features introduced with the 286 was
real and protected modes of operation. In the real
mode, the processor can address only 1 Mbytes of
memory, whereas in the protected mode it can
address 16 Mbytes.
Another new feature was the ability to work with
up to 1Gbyte of virtual memory, and yet another
feature added hardware multitasking.
The 80386 was a major next step in the X86
family. The 80386 is a full 32-bit microprocessor.
It has a 32-bit data bus and a 32-bit address bus,
and it uses 32-bit internal registers.
The base 386 internal architecture is, in many
ways, very much like the 8088, 8086, and 286
architectures. The major difference in the base
architecture is that there are a few more registers
and some register sets are now 32 bit rather than
386SX and 386DX
Intel introduced a special version of the 386
called 386SX. It uses a 16-bit data bus. The
original 80386 processor was renamed the
386DX. In addition to 32-bit processing, the 386
microprocessors offered advanced virtual
memory, advanced protected mode. And higher
386SL, 386DX2, 386DX4
Another variation of the 386DX is the 386SL. This is a
low-power version. The 386SL can operate on either 3 or
5Vdc and has special power-management circuits which
allow the processor to shut down when not being used.
Other versions of 386 are the 386DX2 and 386DX4. The
DX2 version doubles the internal clock speed, thus
speeding up many calculations and operation. The I/O,
however continues to operate at lower speed, so there are
no external interface problems if a 386DX2 is substituted
for a 386DX. The 386DX4 triples the internal clock
The 486 is basically a large integrated circuit which
contains a fast 386 processor, a math coprocessor,
a memory management unit (MMU), and an
8kbytes cache memory.
It is most frequently called the 486 or the i486.
All 486 processors have a 32-bit data bus.
Like the 386, the 486 has SL, DX2, and DX4
versions which are low-power, clock-doubled,
and clock-tripling versions respectively.
The 486 achieves its high-speed operation from
fast clock speeds, an internal pipelined
architectures, and the use of reduced instruction
set computing (RISC) to speed up the internal
Neither the 386 nor the 486 was ever licensed to
another IC manufacturer by Intel.
However, they are number of IC manufacturers
with their own versions of the 386 and 486
processors, They are clones, not licensed identical
The Pentium is the next Intel member of the X86
The Pentium introduces a number of new
features. The use of superscalar architecture
incorporates a dual-pipelined processor which
lets the Pentium process more than one
instruction per clock cycle.
The addition of both data and code caches on
chip is also a feature designed to improve
A new advanced computing technique used in
the Pentium is called branch prediction. Using
branch prediction, the Pentium makes an
educated guess where the next instruction
following a conditional instruction will be.
The Pentium has a 64-bit data bus. This means
that it can perform data transfers with an external
device (memory, for example) twice as fast as a
processor with a 32-bit data bus.
Q1: The first microprocessor in the X86 family to support an on-
chip instruction cache
Q2: The maximum physical memory space which can be
addressed by the 286 is
(Answer: Q1 a, Q2 c)
The 8080 and the 8086 define the base
programming model for the entire X86 family.
The newer members of the X86 family of
advanced microprocessors have greater
computing power because they are faster, they
use 32-bit registers instead of 16-bit registers used
in earlier advanced microprocessors (8088, 8086,
Basic Programming Model
Once you understand the basic programming
model for the 8088 and 8086 processors, you will
be able to understand the improvements made
with the newer models.
The base programming model of the 16-bit
(8088, 8086 and 286) and 32-bit (386 and 486)
processors is very much the same. The difference
is in register length, extra data segment registers,
and added features.
Three Register Group
The base programming model is made up of
three register group.
The first set contains eight general purpose
registers called the A, B, C, D, SI (source index),
DI (destination index), SP (stack pointer) and BP
(base pointer) register. Depending on the specific
processor, these are either 16- or 32-bit registers.
X86 Programming Model
Scan pg 233
The lower two bytes of the A, B, C, and D
registers are broken into low and high bytes
called AL, BL, CL, DL and AH, BH, CH, and
The full 16 bits are referred to as AX, BX, CX,
and DX, where X stands for extended.
The SI, DI, BP, and SP registers are always
treated as 16-bit register.
When the microprocessor uses 32-bit registers,
the eight general-purpose registers are called the
EAX, EBX, ECX, EDX, ESI, EDI, ESP, and
EBP registers. The E tells us that these registers
have extended length.
The ALU works with these register to give the
X86 microprocessors their computation and data
Second Set of Registers
The second set of registers are the segment registers.
This set of register consists of the code segment
(CS) and stack segment (SS) registers, and either
two (286) or four data segment register (80386).
The data segment registers are called DS, ES, FS,
The X86 registers manage operations with
external memory. Address computation and data
movement are performed here. A second ALU is
dedicated to processing memory address data
which works with the segment registers.
The Third Set of Registers
The third set of registers includes the instruction
pointer (program counter) and flags register. The
instruction pointer is either a 16-bit or a 32-bit
(for the 386 and newer processors) register.
The first five bits are identical to the flag it in the
8085 8-bit microprocessor (CF, PF, and AF). See
The 6 to 11 were introduced with the 8088/8086.
(ZF, SF, TF (Trap), IF, DF (Direction , OF)
32-bit Status Register
Scan pg 234
32-bit Status Register ..
The 12 to 14 (I/O privilege level and nested task
flag) were introduced with the 286.
The flags in bits 16 and 17 ( Resume and virtual
mode flag) were introduced with the 386, and the
flag in bit 18(alignment check) was introduced
with the 486.
These three register groups and their support
circuits let the X86 processors manage memory
operations and compute at the same time.
Pre-fetching and Data Caching
To give the X86 processors even greater speed,
the processors include various levels of
instruction pre-fetching and data caching.
The newer processors have significant amounts of
internal memory in which they can cache data as
well as code (instruction).
The next few instructions are pre-fetched
whenever the address and data buses are available.
The additional instructions are fetched and stored
in the processor’s pre-fetch queue or code cache.
These pre-fetched instructions are immediately
available for processing once the current
instruction is complete; therefore, when
executing this software, the processor does not
wait for a fetch cycle. Prefetching can
significantly speed up execution time.
This process may not work for every instruction
because software does not always execute one
instruction after the other. For example,
branching may cause the next instruction to come
from a very different location in memory.
The most advanced members of the X86 family
have special logic which analyzes the prefetched
instructions and attempts to anticipate branching
and other such changes so that the correct
instructions are prefetched.
The more advanced X86 processors also store
frequently used data in memory which is on
board the processor. Again, having this data right
at hand, in a data cache, avoids the need for an
external memory access cycle and therefore
speeds up processing time.
The main difference between the older and newer
versions of the X86 advanced microprocessors is
that the general purpose registers in the newer
a. 8 bit
You will find data segment registers called the FS
and GS registers on the ________
The length of the 8088 instruction pointer is
a. 4 bits
b. 8 bits
c. 16 bits
d. 32 bits
A prefetch queue or code cache first appeared on
A separate ALU is used with the _______
registers to perform memory location calculation.
c. Instruction Pointer