Each segment in the 8086/8088 is 64KB because that is how Intel designed the microprocessor. The offset address is 16 bits, making the allowable range 64KB. See the related questions link for a further discussion of segmented architecture.
Because that's the way Intel designed it.
A segment register is 16 bits. That is 65536, or 64K, different values. Also, the processor is a 16 bit processor, and offset values can only contain 65536, or 64K, different values.
hhh
The 8086/8088 is a 16 bit processor running on a 16 bit (8086) or 8 bit (8088) bus with a 20 bit address bus. In order to obtain the extra 4 bits of addressibility, Intel designed segment registers that are effectively multiplied by four and then added to the 16 bit offset address generated by the instruction. This yields 64K segments of 64KB each, although they overlap each other at a distance of 16 bytes.
The 8086 can address 1,114,080 bytes. (One Mb + 64Kb - 16) That does not count I/O space, it only counts memory space.
The 8086/8088 is a 16 bit computer running on a 20 bit address bus. Processes use a segmented memory architecture to access one of four 64kb memory segments from a physical space of 1mb.
The data bus in the 8086 is 16 bits in size, while the address bus is 20 (16bits would only address 64KB of memory, an extra 4 bits allows to address the total of 1MB, this is done trough segmentation of the memory). To form a multiplexed of data bus and address bus, four bits of 8086 address bus are grounded.
This is due to the fact that 16bits would only address 64KB of memory, which even then was very little. The answer for this was to come up with an extra 4 bits to address the total 1MB, this is done trough segmentation of the memory. Google it.
disadvantages of memory segmentation
You can access any location in memory. You need only to load its segment address and then refer to its offset address, using the appropriate segment register.
85 is a 8 bit processor,number of flags are 5 and memory capacity is 64KB while 86 is a 16 bit processor ,number of flags are 9 and memory capacity is 1 MB.The main difference between 8085 and 8086 is that 8086 uses pipelining.
The process of dividing total memory sizes to the segment of various sizes is called segmentation. The device which is used to fetch,decode and execute is called pipe lining.
You cannot address 1GB memory with the 8085 or the 8086/8088 without some kind of external demultiplexor that is software controlled. The address bus on the 8085 is 16 bits, giving addressibility of 64KB; while the address bus on the 8086/8088 is 20 bits, giving addressibility of 1MB. To address 1GB, you need a 30 bit address bus.
The extra segment in the 8086/8088 is a 64kb region of memory that is indexed by the displacement address of the destination of certain string operations, relative to DI. Contrast that with the data segment, which is a 64kb region of memory that is indexed by the displacment address of the displacement of most operand addresses. The stack segment is similar, but it is used for stack oriented data, relative to SP or BP.