In this script, we will discuss the most important topic of Microprocessors and Interfacing. Now we will discuss

  • What is Segmentation?
  • Segmentation of 8086 with Merits and Demerits.
  • The math of Segmentation.

If you have any electrical, or electronics science doubts, then Contact Us.

What is Segmentation?

Segmentation is the procedure in which the computer's main memory is logically stored and split into different segments and each segment has its own base address.  It is used to increase the speed of execution of the computer system so that the processor can fetch and execute the data from memory easily and fast.

Segmentation contains four 16-bit particular purpose registers known as Segment Registers.

  • Code segment register (CS): CS refers to addressing memory location in the code segment of the memory, where the executable program is stored.
  • Data segment register (DS): DS refers to the data segment of the memory where the data is stored.
  • Extra Segment Register (ES): ES refers to a segment in the memory which is another data segment in the memory.
  • Stack Segment Register (SS): ES refers to addressing the stack segment of the memory. The stack segment is that segment of memory that is used to store stack data

The number of address lines in 8086 is 20, 8086 BIU will send a 20bit address, so as to access one of the 1MB memory locations. The four segment registers(above) contain the upper 16 bits of the starting addresses of the four memory segments of 64 KB each with which the 8086 is working at that instant of time.


If you don't understand this topic, You can watch this video, Clear your concept 





Segmentation of 8086 with Merits and Demerits


Segmentation of 8086 Merits


  1. It provides a powerful memory management mechanism.

  2. Data-related or stack-related operations can be performed in different segments.

  3. Code-related operations can be done in separate code segments

  4. It allows processes to easily share data

  5. It allows extending the address ability of the processor.

I.e. Segmentation allows the use of 16bit registers to an addressing

the capability of 1 Megabyte.

  1. It is possible to enhance the memory size of code data or stack segments beyond 64KB by allotting more than one segment for each area.



Segmentation of 8086 Demerits


  1. Although total memory is 1MB(i.e. 16 x 64KB) at a time we can access only 4 x 64 (i.e. 256 KB).

  2. Costly memory management algorithms

  3. External fragmentation.

  4. find free memory area big enough.

  5. Segmentation of unequal size is not suited as well for swapping.,







The math of Segmentation :