3.
2 8086 - Memory Segmentation
3.2 8086 - Memory Segmentation
Module:3 8086 Microprocessor
Course: BECE204L – Microprocessors and Microcontrollers
-Dr Richards Joe Stanislaus
Assistant Professor - SENSE
Email:
[email protected] 3.2 8086 - Memory Segmentation
Module:3 8086 Microprocessor 3 hours
• 8086 Microprocessor: Architecture and Basic configurations, System
design using 8086, Introduction to Multiprogramming, System Bus
Structure, Multiprocessor configurations, Coprocessor. Introduction
to ARM7, Intel I (i3, i5, i7) Series Processors.
3.2 8086 - Memory Segmentation
1. Memory Segmentation
• Complete physically available memory
- divided into number of logical segments
• Each segment – 64K bytes in size
Addressed by one of the segment registers
( CS, SS, DS, ES) which contains
starting location of particular segment.
- To address memory location within
particular segment - we need
offset address
• CPU is able to address 1Mbytes of
physical memory which is divided to 16 segments
each of 64K bytes of memory
3.2 8086 - Memory Segmentation
1.1 Non-overlapping Segments
• Address of each segment may be
assigned as
0000H to F000H
• Offset address values are from
0000H to FFFFH
• Physical address:
minimum of first segment:
0000H x 10H + 0000H = 00000 H
maximum of last segment:
F000H x 10H + FFFFH = FFFFFH
• Image shows non-overlapping segments
3.2 8086 - Memory Segmentation
1.2 Overlapping Segments
• A segment starts at particular address
1000 and extends until subsequent
64K bytes with offset address
ranging from 0000H to FFFFH.
• Another segment starts before this
64Kbytes locations of first segment.
• Overlap locations with Same physical address
may be generated from
either segment address of first segment
and its offset address )
or with segment address of second segment
with its corresponding offset address
)
3.2 8086 - Memory Segmentation
1.3 Advantages of segmentation scheme
• Though actual address handled are 16-bit size (64K bytes),
segmentation allows memory capacity of 1M bytes.
• For data and code protection,
code, data and stack portions of same program are stored in
different parts (segments)
• Permits program and or its data to be put into different areas of
memory , (each time the program is executed). Provision of
relocation is done.