0% found this document useful (0 votes)
121 views27 pages

CSE 2006 - Microprocessors and Interfacing: Module - 1

The document discusses the architecture and features of the 8086 microprocessor. It contains the following key points: 1) The 8086 is a 16-bit microprocessor that can access 1MB of memory using 20 address lines and performs arithmetic operations on 8-bit or 16-bit data. 2) It is divided into two functional units - the Bus Interface Unit which interfaces with memory and I/O, and the Execution Unit which contains registers, ALU and instruction decoder. 3) The 8086 uses segmentation to access larger memories using smaller 16-bit registers. Segment registers combined with offset registers generate a 20-bit physical address.

Uploaded by

Sayan Shaw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views27 pages

CSE 2006 - Microprocessors and Interfacing: Module - 1

The document discusses the architecture and features of the 8086 microprocessor. It contains the following key points: 1) The 8086 is a 16-bit microprocessor that can access 1MB of memory using 20 address lines and performs arithmetic operations on 8-bit or 16-bit data. 2) It is divided into two functional units - the Bus Interface Unit which interfaces with memory and I/O, and the Execution Unit which contains registers, ALU and instruction decoder. 3) The 8086 uses segmentation to access larger memories using smaller 16-bit registers. Segment registers combined with offset registers generate a 20-bit physical address.

Uploaded by

Sayan Shaw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

CSE 2006 – Microprocessors and

Interfacing
Module – 1
Introduction

Dr. K. Chitra
Professor
School of Electronics Engineering
VIT University, Chennai
1
Introduction
• Apple's A11 Bionic system-on-chip, also used in the iPhone 8
and 8 Plus, which is a six-core processor with two cores
optimized for performance
• Qualcomm Snapdragon. The Snapdragon was theTegra 2 of
last year, as it was the first to market with 1 GHz speeds.
• The Snapdragon was based on the ARM Cortex-A8
• Tegra processors used in smartphone and tablet markets

2
• Broadcom BCM2835 SoC used in the first generation Raspberry
Pi includes a 700 MHz ARM11 76JZF-S processor, VideoCore
IV graphics processing unit (GPU), and RAM
• Arduino Uno is a microcontroller board based on the
ATmega328P
• Intel Core i5 used in laptops

3
Features of 8086
• It is an 16-bit microprocessor i.e. 8086 μp can read or
write or perform any arithmetic & logical operation on
16-bit data at a time

• It is a 40 pin IC

• It can perform arithmetic operation on 8-bit or 16-bit


data including multiplication & division

• It can operate in single mode (Minimum mode) & in


multiprocessor mode (Maximum mode)
4
• It requires external clock generator
• It works on maximum clock frequency of 10
MHz & Minimum clock frequency of 5 MHz
• It has 16-bit data bus
• It provides 20 address line so 8086 μp can
access (220) = 1Mbytes of memory
• It requires single +5V power supply
• It contains 16-bit flag register
• It support multiprocessing

5
8086 Architecture

6
7
8086 Architecture

8
Internal Features
• It has ALU, flags, registers, instruction byte queue and segment
registers

• 8086 is divided into two independent functional parts namely


– The Bus Interface Unit (BIU)
– Execution Unit (EU)

• Dividing work between two units speeds up the processing

9
BIU
-It is a interface to the outside world
(memory & I/O)
-has 16 bit data bus and 20 bit address bus

BIU FUNCTIONS:
 Sends address of memory or I/O
 Fetches instruction from memory
 Reads data from port/memory
 Writes data from port/memory
 Instruction queuing
10
BIU Contains
• Instruction Queue
• Segment Registers
• Instruction Pointer
• Address Summer &
• Bus control logic

INSTRUCTION QUEUE:
 Fetches 6 instruction byte ahead of time from
memory
 Group of registers called queue
 FIFO queue (in order) 11
Segment Registers
• These are special purpose registers which acts
as pointer to the memory blocks
• It works together with general purpose
register to access the memory values

Code Segment(CS): points at the segment


containing the current program
12
Data Segment (DS):points at segment where
variables (data)are defined
Extra Segment (ES):points at the segment where
extra data are used
Stack Segment (SS):points at the segment
containing stack
Instruction Pointer (IP):
It points the next code byte
with in the code segment
-It is referred as offset

13
Execution Unit (EU)
Contains
• General Purpose register
• Pointer & Index Register
• Flag Register
• ALU
• Instruction Decoder &
• Control unit

14
• EU has 8 general purpose registers AH, AL,BH,
BL, CH, CL, DH, DL

• These are used a individual 8 bit data storage


• Pair of 8 bit register are used for 16 bit storage
AX, BX, CX, DX
15
Stack Pointer(SP):
• Contains 16 bit offset of the start of the
segment
• Physical address is found by adding the SP
register to Stack Segment SS register

Base Pointer(BP): can be used for data storage


• Used instead of SP for accessing stack

16
• Source Index(SI):used to store offset of source data in DS
• Destination Index(DI):used to store offset of destination in DS
& ES
• These registers useful for string manipulation

17
Flag Register of 8086
8086 has 9 flags and they are divided into two categories
 Condition code or status Flags
 Machine Control Flags

Carry Flag(CF):indicates an overflow condition for


unsigned integer arithmetic

Auxiliary Flag(AF):is set when carry/barrow from the


lower nibble. It is internally used by processor during
binary to BCD conversion
18
Parity Flag (PF):Indicates parity of the result. Set if lower byte
of result has even no of ones

Zero Flag(ZF):is set, if the result of arithmetic or


logical operation is zero

Sign Flag(SF):Indicates sign of result. Set if negative

Overflow Flag(OF):indicates that the result has


exceeded the capacity of
machine

Control Flag: used to control the operation of


execution unit. T, I, D 19
Trap Flag (TP): It is used for Single step execution

mode & used while debugging

Interrupt Flag(IF):It is used to enable/disable the


interrupts.

Direction Flag(DF):It is used in string operation


– If it is set, string bytes are accessed from higher
memory address to lower memory address else
from lower memory address to higher memory
address
20
Memory Segmentation
• Physical address of 8086 is 20 bit wide to
access 1Mbyte memory.
• But the register and data line width are only
16 bit.
• Hence 1 MB memory can be divided into 16
segments.
• Each segment maximum size is 64 Kbytes.
• With in this segment 16 bit address are
accessed.

21
22
• Address of segment may be assigned as 0000H
to F000H
• The offset address ranges from 0000H to
FFFFH
• So the physical address range from 00000H to
FFFFFH
• Above segments are Non-Overlapping
segments
• There may be overlapping segments

23
Generation of 20 bit Physical Address
• Content of the segment register is multiplied
by 16 (i.e.)Left shift the 4 bits by inserting
zeros.
For eg:-
Segment address->348AH-0011 0100 1000 1010
4 bit Left shifted ->0011 0100 1000 1010 0000
=348A0H
• Content of the Pointer register is summed
with shifted segment register

24
25
Example:
CS register value is 348AH and the offset value
(IP) is 4214H .Find the Physical address?
Given: CS=348AH
Left shift by 4 bits then CS=348A0H
Physical address=CS+IP
348A0 +
4214
-----------
38AB4H (20 bit physical address)
-----------
26
Note:
• Stack Pointer(SP) holds the offset summed
with Stack Segment (SS) register

• Base Pointer(BP) can be used as offset for SS

• Source Index (SI) offset is used with Data


Segment (DS)

• Destination Index(DI) offset is used with Extra


Segment (ES) in finding the physical address
27

You might also like