XP (x86) or (x64)

  • Thread starter Thread starter Mike
  • Start date Start date
Pretty similar, though. :-)
It's been awhile, though, and I can't remember the difference between the
8088 and 8086 anymore. I seem to remember 20-bit *addressing*, and a 16
bit word size for the *data* bus.

16 bit word size, which meant that they used a kludge to get 20-bit
(1MB) addressing. A program on that machine set a base register first.
Then the contents of that would be left-shifted four bytes (multiplied
by 16) and added to whatever 16-bit address was specified in the
instruction. That was segmented memory: if you moved more than 64KB
from your base, you had to reset the base register. If made address
arithmetic ... interesting.

In the 80286 protected mode, there was still a base register, but it
now held an index into the "Global Selector Table". The OS (maybe the
hardware?) would go to that table to find the base address to add to
the 16-bit offset in the instruction. Address arithmetic became even
more interesting.
 
Bill said:
You mean the external *data bus*. (the term "memory bus" is a bit
ambiguous to me)

Correct, the EXTERNAL connection, internally they were both 16 bit.
 
That's not quite true. The 8088 was as much a 16 bit processor as the
8086 - at least internally. The difference lay in the width of the external
data bus. The 8088 used an 8 bit data bus whereas the 8086 used a 16 bit
bus.

Yes, that's correct. I was trying to be brief, so I eliminated that
detail.

Thanks.
 
Not correct. Although the *first* PCs did indeed use an 8088, there were
plenty of PCs that were fitted with 8086 processors


As I said earlier in another message, yes, if you mean "PC"
generically, that's correct. I was referring specifically to the IBM
PC.
 
Bob said:
Correct, the EXTERNAL connection, internally they were both 16 bit.

So the 8086 had an external 16 bit data bus, which was a bit more expensive
to utilize (and required 16 individual lines), instead of the 8 bit data bus
of the 8088 (and most other chips at that time).

What I was also getting at is that RAM memory (or ROM memory) has both an
*address* bus AND a *data* bus connected to it, so the term "memory bus" is
a bit ambiguous (at least to me).
 
Bill in Co. said:
You mean the external *data bus*. (the term "memory bus" is a bit
ambiguous to me)

What about the address bus? Well, they both had 20 bit addressing, as I
recall, so I presume that meant both had twenty *actual* address lines
(i.e. A0 thru A19), (unless some tricks were used, an example of which is
noted below).

This just reminded me; one of these older chips had a *multiplexed*
address and data bus! I think it was the 8085. What a mess.
(Well, ok, not exactly, as it was sorted out to the outside world by
another chip).

The 8086 and 8088 also both had a multiplexed adress and data bus.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top