Learning Outcome
Takes a closer look at the IBM personal computers.
Intel 8086 family.
Introduces the registers and mention some of their
special functions.
Ideas of segmented memory is discussed.
Overall structure of the IBM PC is explored.
Memory organization, I/O parts, and the DOS and BIOS
routines.
2
The Intel 8086 Family of
Microprocessors
Family consists of the IBM PC, PC XT, PC AT, PS/l, and
PS/2 models.
Based on the Intel 8086 family
Includes the 8086, 8088, 80186, 80188, 80286, 80386,
80386SX, 80486, and 80486SX.
Family Use for IBM PCs
8088 PC and PC XT
80286 PC AT and PS/1
80186 PC-compatible laptop models
8086, 80286, 80386, or 80486 PS/2 models
3
8086 and 8088 Microprocessors
8086 8088
Intel introduced in 1978 Intel introduced in 1979
It has a 16-bit data bus It has a 8-bit data bus
It has a faster clock rate, It was less expensive to
and thus has better build a computer
performance.
4
80186 and 80188 Microprocessors
80186 and 80188 are enhanced versions of the 8086
and 8088, respectively.
Incorporate all the functions of the 8086 and 8088
microprocessors
Execute some new instructions called the extended
i11struction set.
These processors offered no significant advantage over
the 8086 and 8088 and hence develop the 80286.
5
80286 Microprocessor
Introduced in 1981 and is also 16 bit microprocessor.
Offers the following important advances over its
predecessors
Two modes of operations
Real address mode and protected virtual address mode
More addressable memory.
In protected mode can address 16 megabytes of physical
memory (as opposed to 1 megabyte for the 8086 and 8088)
Virtual memory in protected mode.
Treat external storage (that is, a disk) as if it were physical
memory, and therefore execute programs that are too large to
be contained in physical memory.
6
80386 and 80386SX Microprocessors
First 32-bit microprocessor,
The 80386 (or 386) introduced in 1985.
Much faster than the 80286
Address 4 gigabytes of physical memory, and 64
terabyte (246 bytes) of virtual memory.
386SX has essentially the same internal structure as
the 386, but it has only a 16-bit data bus.
7
80486 and 80486SX Microprocessors
Another 32-bit microprocessor.
Introduced in 1989.
Fastest and most powerful processor in the family.
Performs floating-point number operations, and an 8-
KB cache memory that serves as a fast memory area to
buffer data coming from the slower memory unit.
486SX is similar to the 486 but without the floating-
point processor.
8
Organization of the 8086/8088
Microprocessors
Registers
Information inside the microprocessor is stored in
registers.
Classify according to the functions they perform.
Data registers hold data for an operation.
Address resisters hold the address of an instruction or data.
A status registers keeps the current status of the processor.
There are fourteen 16-bit registers.
9
Data
Registers
Address
Registers
Status
Registers
10
Figure: 8086 Registers
Data Registers: AX, BX, CX,DX
Available to the programmer for general data
manipulation.
Instruction is faster (requires fewer clock cycles) if the
data are stored in registers.
Modern processors
High and low bytes of the data registers can be
accessed separately.
These four registers are to being general-purpose
registers.
11
Data Registers: AX, BX, CX,DX (2)
AX (Accumulator Register)
Prefers to use in arithmetic, logic, and transfer
instructions
In multiplication and division operations, one of the
numbers involved must be in AX or AL.
Input and output operations also require the use of AL
and AX.
12
Data Registers: AX, BX, CX,DX (3)
BX (Base Register)
Serves as an address register; an example is a table look-
up . Instruction called XLAT (translate).
Locates a byte entry in a table in memory, using the
contents of the AL register as a table index,
Copies the contents of the table entry back into the AL
register.
13
Data Registers: AX, BX, CX,DX (4)
CX (Count Register)
Program loop constructions are facilitated.
Serves as a loop counter.
Controls a special class of instructions called string
operations.
Shift and rotate bits.
DX (Data Register)
DX is used in multiplication and division. It is also used
in I/O operations.
14
Segment Registers: CS, DS, SS, ES
Address registers store addresses of instructions and
data in memory.
Memory is a collection of bytes. Each memory byte has
an address, starting with 0.
8086 processor assigns a 20-bit physical address to its
memory locations.
It is possible to address 220 = 1,048,576 bytes (one
megabyte) of memory.
Introduce the idea of memory segments.
A direct consequence of using a 20-bit address in a 16-bit
processor.
15
Segment Registers: CS, DS, SS, ES (2)
Memory Segment
A block of 216 (or 64 K) consecutive memory bytes.
A segment number is 16 bits, so the highest segment
number is FFFFh.
A memory location is specified by giving an offset.
The number of bytes from the beginning of the segment.
The first byte in a segment has offset 0 and the last offset in a
segment is FFFFh
16
Segment Registers: CS, DS, SS, ES (3)
Segment: Offset Address
A memory location may be specified by providing a
segment number and an offset
the form of segment:offset that is known as a logical address.
For example, A4FB:4872h means offset 4872h within
segment A4FBh.
To obtain a 20-bit physical address.
The 8086 microprocessor first shifts the segment
address 4 bits to the left (this is equivalent to multiplying
by 10h), and then adds the offset.
17
Segment Registers: CS, DS, SS, ES (4)
Thus the physical address for A4FB:4872 is
Find the 20 bit physical address for B5EC:3654
THE ANSWER IS: B9514
18
Segment Registers: CS, DS, SS, ES (4)
Location -of Segments
the layout of the segments in memory.
segment 0 start at address 0000:0000 = 00000h
and ends at 0000: FFFF = 0FFFFh
Segment 1 starts at address 0001:0000 = 00010h and ends
at 0001 : FFFF = 1000Fh
19
Location of Memory Segments
The segments
start every 10h=
16 bytes and
the starting
address of a
segment always
ends with a hex
digit 0
20
Segment Registers: CS, DS, SS, ES (5)
Example: For the memory location whose physical
address is specified by 1256Ah, give the address in
segment:offset form for segments 1256h and 1240h.
21
Segment Registers: CS, DS, SS, ES (6)
Example: A memory location has physical address
80FD2h. In what segment does it have offset BFD2h?
22
Pointer and Index Registers:
SP, BP SI, DI
SP, BP, SI, and DI normally point to (contain the offset
addresses of) memory locations.
Use in arithmetic and other operation.
SP (Stack Pointer)
The SP (stack pointer) register is used in conjunction with SS
for accessing the stack segment.
BP (Base Pointer)
The BP (base pointer) register is used primarily to access
data on the stack.
Unlike SP
23
Pointer and Index Registers:
SP, BP SI, DI (2)
SI (Source Index)
The SI (source index) register is used to point to memory
locations in the data segment addressed by DS.
DI (Destination Index)
The DI (destination index) register performs the same
functions as SI.
Instruction Pointer: IP
To access the instructions, the 8086 uses the registers CS and
IP
CS register contains the segment number of the next
instruction, and the IP contains the offset.
24
Pointer and Index Registers:
SP, BP SI, DI (3)
FLAGS Register
To indicate the status of the microprocessor.
There are two kinds of flags:
Status flags
Control flags
Reflects the result of an instruction executed by the
processor, for instance, Zero Flag
Enable or disable certain operations of the processor, for
instance, interrupt flag
25
Organization of the PC
The Operating System
The most important piece of software for a computer is
the operating system.
To coordinate the operations of all the devices that make
up the computer system.
Some of the operating system functions are:
Reading and executing the commands typed by the user
Performing I/0 operations.
Generating error messages ·
Managing memory and other resources.
DOS
26
Organization of the PC (2)
There are several versions of DOS, with each new
version having more capabilities.
DOS is not just one program; it consists of a number of
service routines.
supports a Graphical User Interface (GUI), allowing the
use of a mouse.
There are two types of user commands, internal and
external
Routines loaded into memory
Routines that not loaded into memory
27
BIOS
System routines stored in ROM that are not destroyed
when the power is off.
BIOS (Basic Input/Output System) routines
Performs I/O operations for the PC
Routines are machine specific.
Different hardware configuration has it own BIOS
routines
28