answersLogoWhite

0


Best Answer

The advantages of 8086 microprocessor are:

1. It is a 16 bit processor

2. it can perform operation of 16 bit data at a time

3. It has a pipeline architecture

4. It has high sped then 8085 micro processor

5. Due to the two different parallel working of processors such as BIU and EU the time is saved

User Avatar

Wiki User

11y ago
This answer is:
User Avatar
User Avatar

Hassan Ansari

Lvl 1
10mo ago
Advantages of 8086 cpu
More answers
User Avatar

Wiki User

14y ago

Segmented addressing probably originated with Burroughs.but I could be wrong.

Suppose you have a flat memory model, and a program starting at location 4000. Here I'll write some pseudocode assembly.

4000 load A with 20h
4002 jump to subroutine at 4006h
4005 return from subroutine
4006 load X with 512
4009 store A at location X
400A increment X
400B compare X to 1024
400E branch if not equal to 4009h
4010 return from subroutine

Now this code mentions an absolute address: 4006h, then address of the subroutine. (The other address is part of a branch, and probably stored as a relative offset.) Suppose we store this code on disk, and then later we read it in. If we read it in starting at location 4000h, we are fine. If we read it in elsewhere, we might have a problem.

Now suppose we have a timeshare system, and we want to page programs in and out, and manage memory for the system. We have a problem; we have to correct all the addresses of a program when it is read in. And we can't do that.

Programs often use "jump tables" to look up an address. How do we detect a jump table and correct the address? Further, suppose I *compute* an address. I might do this by taking a value and shifting it a few places. For example, I might have a lookup table for the sine of angles. The sine of angle X is stored as a four-byte floating-point value, starting at location 2000h. I compute the sine by reading the four bytes starting at 2000h + X<<2.

ASL EAX
ASL EAX
ADD EAX, 2000h

Now how do I correct this? There's no way to know that 2000h is a memory address, and not just some value that needs to be added to EAX for some other purpose.

Now suppose I have segmented addressing. I can now write my programs as if they started at location zero. I write all my programs that way, and the loader sets my segment correctly when the program is loaded. Now I don't have to worry about correcting addresses. I can load the program almost anywhere I want in memory, and adjust the segment registers accordingly. I can also have a segment for data and the stack, so that I can lay the program out in memory however I want.

Suppose I need 16K for the program, 8K for the stack, and 8K for data. If I don't have 32K of contiguous memory I can't load the program. However thanks to segmented addressing I can load the parts of the program into different areas.

Now, segmented addressing is falling out of favor. This is because people typically use assemblers and compilers that produce symbolic object code ready for a loader to resolve all symbols when the program is loaded. This is a more complicated process. Early segmented memory allowed loaders to be simpler, and made memory management possible.

Further, when you have a device such as a disk mapped to memory, you can just point the segment there and directly read and write from offset zero.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

There are four 16-bit segment registers that allowed the 8086 CPU to access one megabyte of memory in an unusual way. Rather than concatenating the segment register with the address register, as in most processors whose address space exceeded their register size, the 8086 shifted the 16-bit segment only 4 bits left before adding it to the 16-bit offset (16×segment + offset), therefore producing a 20-bit external (or effective or physical) address from the 32-bit segment:offset pair. As a result, each external address could be referred to by 212 = 4096 different segment:offset pairs. The 16-byte separation between segment bases (due to the 4-bit shift) was called a paragraph. Although considered complicated and cumbersome by many programmers, this scheme also had advantages; a small program (less than 64 kilobytes) could be loaded starting at a fixed offset (such as 0) in its own segment, avoiding the need for relocation, with at most 15 bytes of alignment waste

This answer is:
User Avatar

User Avatar

Wiki User

14y ago

Segmented memory allowed a bigger memory model than would otherwise be possible with a 16-bit processor. In effect, the physical address is found by shifting the segment by four and adding the 16-bit address. This gives a 20-bit address space. If you know that your data, code, and stack are each going to fit into 64 kilobytes, then it is possible to set up the segment registers and leave them alone, relying on the pointer registers to access memory with 16 bit values and no explicit references to the segment registers.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

segment registers hold the starting address of the corresponding registers.By segmentation we can effectively utilize the memory.

by segmentation we can make 8086 as multitasking environment.

This answer is:
User Avatar

User Avatar

Wiki User

13y ago

The 8085 does not have segment registers.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What are advantages of 8086 microprocessor?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

How manyNumber of pins are present in 8086 microprocessor?

The 8086 microprocessor has 40 pins.


What is the meaning of postfixes of 8086?

It is mightily referring to Microprocessor 8086 . I think you saw "8086 microprocessor". The 8086 is nothing it indicates the number of microprocessor same as Digital or analog ic's . 8086 microprocessor has 20 Address buses and 8 data buses which has 1 Mb inbuilt memory for performing several type of airthmatical and logical operation.


What is queue status 8086?

queue of 8086 microprocessor is 6 bits


Which IC is used as clock generator in 8086?

The 8086 Microprocessor operate to require frequency that is provided by clock generator to 8086 Microprocessor and also Synchronization various component of 8086.


What is the advantages and disadvantages of 8086 microprocessor?

the advantages of 8086 microprocessor over 8085A microprocessor is that 1)it is a 16 bit microprocessor 2)the disadvantages in 8085A microprocessor like low speed,limited number of registers,low memory addressing capability,less powerful instruction set have been overcome in 8086 registers


What is the meaning of 8086 in microprocessor?

it is a 16 bit microprocessor &amp; it has 40 pin .


What is the function of pin's1 and 20 in 8086 microprocessor?

Pins 1 and 20 in the 8086 microprocessor are (both) power and signal ground (GND).


What are applications of 8086 microprocessor?

8086 main application is to evaluate the arithmetic operations in any systems that uses 8086


Why 2 gnd are used in microprocessor 8086?

Two ground pins are used in the 8086 microprocessor to increase the bus pull-down current capacity.


Which microprocessor accepts the program written for 8086 without any changes?

Which microprocessor accepts the program written for 8086 without any changes?


What type of microprocessor is 8086?

Its 16bit microprocessor,and-> the 8086 has a 16bit databus 20bit address bus-> the intel 8086,is designed to operate in two modes namely(1) minimum mode(2) maximum mode


Microprocessor 8086 programs and flowchat .?

ya possible