storm@cs.mcgill.ca (Marc WANDSCHNEIDER) (06/21/91)
Could somebody please tell me the difference between the 8088 and the 8086 processors..? Obviously, both are 16bit processors, but is the width of the data bus the only difference between them...? Which was developed first, and why is it that the 386 and 486 chips create virtual 8086s instead of virtual 8088s...? ./*- storm@bart.cs.mcgill.ca storm@sizone.UUCP -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ storm@cs.mcgill.ca McGill University It's 11pm, do YOU Marc Wandschneider Montreal, CANADA know what time it is? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dj@ctron.com (DJ Delorie) (06/21/91)
In article <1991Jun21.030948.10951@cs.mcgill.ca>, storm@cs.mcgill.ca (Marc WANDSCHNEIDER) writes: > Could somebody please tell me the difference between the 8088 and the 8086 > processors..? > > Obviously, both are 16bit processors, but is the width of the data bus the > only difference between them...? > > Which was developed first, and why is it that the 386 and 486 chips create > virtual 8086s instead of virtual 8088s...? Software differences: * Timing of opcodes, but only due to memory fetch times and instruction prefetch queue size. Hardware differences: * 8-bit data bus vs. 16-bit data bus. (The 8088 had a "minimum" mode for 8085-ish compatibility; I don't recall if the 8086 had it also) Same is for 80186 vs 80188. I find that the only practical difference is the cost of the external circuitry required. With an 8088, you can use one 8-bit ROM and one 8-bit RAM. With an 8086, you need at least two of each, with special circuitry to enable byte-wide writes. As for the V86 mode, I *guess* that it's because the chip can do the 16-bit reads/writes you ask for, instead of 8-bit r/w. I don't recall which was developed first, but my recollection is that the original IBM PC had an 8088, and the IBM XT had an 8086. DJ dj@ctron.com
oneel@heawk1.gsfc.nasa.gov ( Bruce Oneel ) (06/21/91)
In article <1991Jun21.030948.10951@cs.mcgill.ca> storm@cs.mcgill.ca (Marc WANDSCHNEIDER) writes:
Could somebody please tell me the difference between the 8088 and the 8086
processors..?
Obviously, both are 16bit processors, but is the width of the data bus the
only difference between them...?
Which was developed first, and why is it that the 386 and 486 chips create
virtual 8086s instead of virtual 8088s...?
Internally, the 8086 and 8088 are divided into two units, the
execution unit and the bus interface unit. Both of them use the same
execution unit and only differ in the bus interface units. Inside,
the real CPU part (the execution units) is the same so that's my guess
as to why 386 and 486 have V86 modes.
The differences in the bus interface units are as follows (it's been a
few years on the memory)
1. The 8088 talks to the world in 8 bits at a time, the 8086 in 16
bits.
2. The Prefetch queue in the 8086 is 6 bytes while the 8088 is 4
bytes. Why? I don't remember, I do remember reading a well thought
out intel discussion about this.
3. The other signals which come out are different. The 8088 does
have a minimal mode where some of it's features aren't available (say
bus granting and such) but where the support chip count is reduced.
Not a big deal now, but in 1978 (or when ever it was designed) it was
a big deal.
As a result of the different bus interface units, the instruction
timing is different. Memory fetches are much more expensive on the
8088 then on the 8086 when the 8086 is doing word aligned fetches. A
good background reference to all of this is in Embedded Systems
Journal for (july?, the one which came to me in the mail yesterday).
Also, you could ask on comp.arch.
As I understand intel's push, the 8086 was the real processor and the
8088 was for a cheaper design. The 8086 was first.
bruce
--
Bruce O'Neel oneel@heasfs.gsfc.nasa.gov
NASA/GSFC/STX/Code 664
dmurdoch@watstat.waterloo.edu (Duncan Murdoch) (06/21/91)
In article <1722@balrog.ctron.com> dj@ctron.com writes: > >I don't recall which was developed first, but my recollection is that >the original IBM PC had an 8088, and the IBM XT had an 8086. Nope, the XT was 8088 based as well. I can't think of any machine that IBM released that used the 8086, though one of the early PS/2 machines may have. Duncan Murdoch dmurdoch@watstat.waterloo.edu
pjh@mccc.edu (Pete Holsberg) (06/22/91)
In article <1991Jun21.030948.10951@cs.mcgill.ca> storm@cs.mcgill.ca (Marc WANDSCHNEIDER) writes:
=
=Could somebody please tell me the difference between the 8088 and the 8086
=processors..?
=
=Obviously, both are 16bit processors, but is the width of the data bus the
=only difference between them...?
For all practical purposes, yes. I think that there's slightly
different instruction fetch queue, but neither a user nor a programmer
would be aware of it.
=
=Which was developed first, and why is it that the 386 and 486 chips create
=virtual 8086s instead of virtual 8088s...?
8086 was first. Because the 8086 was first. ;-)
Pete
--
Prof. Peter J. Holsberg Mercer County Community College
Voice: 609-586-4800 Engineering Technology, Computers and Math
FAX: 609-586-6944 1200 Old Trenton Road, Trenton, NJ 08690
Internet: pjh@mccc.edu TCF 92 - April ??-??, 1992
sorrow@oak.circa.ufl.edu (06/22/91)
Well, here is the Intel family as far as I can discern: Intel 8086: 16-bit processing, 16-bit data path Intel 8088: Developed based on 8086. 16-bit data path was considered too expensive, thus we have a 16/8-bit system. Intel 80188: Sames as 8088, but a bit faster since some offboard components were moved onto the chip itself (don't know which). Intel 80186: 8086 equivalent of 80188 Intel 80286: 16/16 processor, however supported up to 16MB of addressable RAM and had a protected mode. Intel 80386: 32/32 processor, however early implementations restricted the 32-bit protected mode due to some bugs. 32-bit data path not supported on ISA bus machines. Supports up to 4GB of RAM and has a built in ability to emulate virtual 8086 machines (why the 8086, I don't know -- possible because it is a closer analogy to the 80386 than the 8088). Intel 80386SX: 32/16 processor. Considered a compromise on price and performance. Intel 80486: 32/32 (I think) with on board FPU and 8k cache. Intel 80486SX: 32/32 (Again, I think) with on board FPU disabled. /* Brian Hook -- MS-DOS Programmer for Contract ----------------------------------------------------------------- "Seamus, that's my dog...I saw her today at the reception...sorry, sixTEEN inches....better save the women and children first...but this one goes to 11! ..anymore of that plutonium nyborg?....there can be only ONE!....like a finger pointing to the moon....ease the seat back...one day closer to death */
kanderse@money.prime.com (Kurt Andersen) (06/22/91)
In article <1991Jun21.153305.23525@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: >Nope, the XT was 8088 based as well. I can't think of any machine that >IBM released that used the 8086, though one of the early PS/2 machines >may have. > >Duncan Murdoch >dmurdoch@watstat.waterloo.edu As I recall the first verrsion of the IBM pc used 8086. This version failed and was shortly followed by the 8088 version of the IBM pc. Every so often you here about someone looking for IO cards for an original IBM pc. The 8086 IBM pc had a different bus design then the popular IBM pc. I think it failed pecause of bad technical desgin, and marketing. IBM started up a chain of franchised computer stores with strange rules like requiring RED carpeting etc. It turns out the most successful store had IBM blue colored carpeting. Needless to say, IBM kicked the store out for violating franchise rules. They were planing to give this dealership the best dealership award when IBM found out. -Kurt
chetl@daisy.tamu.edu (Chet Laughlin) (06/22/91)
In article <1606@cvbnetPrime.COM> kanderse@money.UUCP (Kurt Andersen) writes: >In article <1991Jun21.153305.23525@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: >>Nope, the XT was 8088 based as well. I can't think of any machine that >>IBM released that used the 8086, though one of the early PS/2 machines >>may have. >>Duncan Murdoch >>dmurdoch@watstat.waterloo.edu >As I recall the first verrsion of the IBM pc used 8086. >This version failed and was shortly followed by the >8088 version of the IBM pc. >Every so often you here about someone looking for IO cards >for an original IBM pc. The 8086 IBM pc had a different >bus design then the popular IBM pc. >-Kurt I can't vouch for the red carpet/blue carpet story, but the first IBM PCs did use Intel 8086s. They also had cassette ports in the back, as some of you may recall. The machine is called a PC-1 internally by IBM hardware reps. The motherboard came with 256K of RAM if I remember right, and could hold 512k. The PC-2 came out later, and had an Intel 8088. There was room on the motherboard for 640k and the cassette port had dissappeared - but Basic still supports it... As for the bus design, I really can't remember anymore if there was a difference between the 8088 and 8086 versions. I do know you could place the same mono or CGA cards in either machine and they worked fine. I'd have to pull out a schematic for both before making any definite calls. Anyone else remember when you got a schematic for the machine when you bought one. (a little nostalgia never hurt) oh yes, and BIOS listings to boot in the Tech manuals. No PS/2 or PS/1 machines used the 8088. -Chet Laughlin
wallyk@bicycle.WV.TEK.COM (Wally Kramer) (06/22/91)
sorrow@oak.circa.ufl.edu writes: ... > Intel 80186: 8086 equivalent of 80188 ... More like an 8086 with a couple of extra instructions (which were supposed to work in the 8086), plus a lot of additional on-chip hardware: 2 (4?) DMA controller channels, some programmable timers, and dynamic RAM support. ----- Wally Kramer contracted from Step Technology, Portland, Oregon 503 244 1239 wallyk@orca.wv.tek.com +1 503 685 2658
sorrow@oak.circa.ufl.edu (06/22/91)
Time out...the first PC came with a casette port. True. The first PC came with 256K? WRONG. The first PCs (I mean the FIRST) had 16K on the motherboard, expandable to 64K. Later ones allowed expansion to 640K I believe. Brian /* Brian Hook -- MS-DOS Programmer for Contract ----------------------------------------------------------------- "Seamus, that's my dog...I saw her today at the reception...sorry, sixTEEN inches....better save the women and children first...but this one goes to 11! ..anymore of that plutonium nyborg?....there can be only ONE!....like a finger pointing to the moon....ease the seat back...one day closer to death */
Ralf.Brown@B.GP.CS.CMU.EDU (06/22/91)
In article <17641@helios.TAMU.EDU>, chetl@daisy.tamu.edu (Chet Laughlin) wrote: }I can't vouch for the red carpet/blue carpet story, but }the first IBM PCs did use Intel 8086s. They also had }cassette ports in the back, as some of you may recall. }The machine is called a PC-1 internally by IBM hardware }reps. The motherboard came with 256K of RAM if I remember }right, and could hold 512k. The PC-2 came out later, }and had an Intel 8088. There was room on the motherboard }for 640k and the cassette port had dissappeared - but }Basic still supports it... Nope. The PC-1 had an 8088 as well, and was limited to 64K on the motherboard (using 16K chips). It also had only five expansion slots compared to the eight on the PC-2, which could hold 256K on the motherboard (though by adding one chip and replacing another, you could get it to hold 640K on the motherboard). BTW, even the newest PS/2s still have the identical BASIC interpreter in ROM (copyright 1981). Has something to do with the fact that IBM's BASIC.COM and BASICA.COM make calls to absolute addresses in the BASIC ROM.... -- {backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/53 BITnet: RALF%CS.CMU.EDU@CARNEGIE AT&Tnet: (412)268-3053 (school) FAX: ask DISCLAIMER? Did | It isn't what we don't know that gives us trouble, it's I claim something?| what we know that ain't so. --Will Rogers
sorrow@oak.circa.ufl.edu (06/23/91)
|>BTW, even the newest PS/2s still have the identical BASIC interpreter |>in ROM (copyright 1981). Has something to do with the fact that IBM's |>BASIC.COM and BASICA.COM make calls to absolute addresses in the BASIC |>ROM.... Exactly right. And because of this, a PC clone cannot run IBM BASICA or BASIC. This is one of the reasons for the existence of a separate BASIC for MS-DOS machines, GW-BASIC. |> |>-- |>{backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/53 |>BITnet: RALF%CS.CMU.EDU@CARNEGIE AT&Tnet: (412)268-3053 (school) FAX: ask |>DISCLAIMER? Did | It isn't what we don't know that gives us trouble, it's |>I claim something?| what we know that ain't so. --Will Rogers By the way Ralf, damned good book! (UnDOS). /* Brian Hook -- MS-DOS Programmer for Contract ----------------------------------------------------------------- "Seamus, that's my dog...I saw her today at the reception...sorry, sixTEEN inches....better save the women and children first...but this one goes to 11! ..anymore of that plutonium nyborg?....there can be only ONE!....like a finger pointing to the moon....ease the seat back...one day closer to death */
shaunc@gold.gvg.tek.com (Shaun Case) (06/23/91)
In article <1991Jun21.173218.1912@mccc.edu> pjh@mccc.edu (Pete Holsberg) writes: (re: 8086 vs 8088) > >For all practical purposes, yes. I think that there's slightly >different instruction fetch queue, but neither a user nor a programmer >would be aware of it. Someone mentioned that they are different lengths -- what if you have some self modifying code that modifies something that is already in the queue? Do the 8086/8 catch this and re-fetch (or modify within the queue) the altered instructions? It is my understanding that running self-modifying code is a definite no-no on the 386 and 486, although I think this is due to pipelining rather than a fetch queue. Am I right or wrong? (Please, no style flames on SMC, I don't write it (any more...) :-> ) Shaun -- shaunc@gold.gvg.tek.com -- 100,000, perhaps 200,000 or more Iraqis died in a "Turkey Shoot" inappropriately called a "war." -- Michael Albert
jorgense@irisa.fr (Finn Jorgensen) (06/24/91)
To answer the question from Shaun Case about self modifying code : One way (the only, to my knowledge) to test wether you have a '88 or a '86 is to modify code five bytes after the program counter. If the processor executes the modified code, it is a '88 (the modified code has not been fetched yet) if the original code (ie. before modification) is executed, you have a '86 (code already in prefetch queue before modification). The same test, using an adress slightly further down, can be used to distinguish the '88-'86 family from the later processors. Anyway, self-modifying code has always been considered very dangerous and bad practice. It is even more so with these prefetching processors. Greetings from Brittany, France ! Finn Jorgensen. IFSIC, Universite de RENNES I Campus de Beaulieu 35042 RENNES CEDEX FRANCE
liberato@dri.com (Jimmy Liberato) (06/25/91)
chetl@daisy.tamu.edu (Chet Laughlin) writes: >In article <1606@cvbnetPrime.COM> kanderse@money.UUCP (Kurt Andersen) writes: >>As I recall the first verrsion of the IBM pc used 8086. >>This version failed and was shortly followed by the >>8088 version of the IBM pc. >>Every so often you here about someone looking for IO cards >>for an original IBM pc. The 8086 IBM pc had a different >>bus design then the popular IBM pc. >>-Kurt > >I can't vouch for the red carpet/blue carpet story, but >the first IBM PCs did use Intel 8086s. They also had >cassette ports in the back, as some of you may recall. >The machine is called a PC-1 internally by IBM hardware >reps. The motherboard came with 256K of RAM if I remember >right, and could hold 512k. The PC-2 came out later, >and had an Intel 8088. There was room on the motherboard >for 640k and the cassette port had dissappeared - but >Basic still supports it... I just looked inside a PC-1, and, well, at least the carpet story might have some credibility! -- Jimmy Liberato liberato@dri.com ...uunet!drivax!liberato
Darius Vaskelis <U39648@uicvm.uic.edu> (06/25/91)
>>I can't vouch for the red carpet/blue carpet story, but >>the first IBM PCs did use Intel 8086s. They also had >>cassette ports in the back, as some of you may recall. >>The machine is called a PC-1 internally by IBM hardware >>reps. The motherboard came with 256K of RAM if I remember >>right, and could hold 512k. The PC-2 came out later, >>and had an Intel 8088. There was room on the motherboard >>for 640k and the cassette port had dissappeared - but >>Basic still supports it... *AHEM* Not quite right. This is from someone who actually used an original IBM PC with DOS 1.0 for a while, and now works at IBM. (Although comments in this message are NOT to be taken as official statements from IBM, this is just little old me represtenting no one but myself...) The original IBM PC (sometimes dubbed PC-1) did indeed use an Intel 8088, NOT the Intel 8086. The reason for it was that there were a great many cheap 8-bit components on the market, and not a very many 16-bit ones. IBM picked the Intel 8088 because internally it was 16-bit, so it would be more attractive than a Z80, but externally it would be 8-bit, allowing existing designs of hardware expansion to be easily modified to work in the IBM PC. The original operating system was supposed to be CP/M-86 from Digitial, but due to a few events I won't go into, it ended up being IBM PC-DOS 1.0, which they licensed from Microsoft who bought it from someone else as DOS86. IBM did market CP/M-86 along with IBM PC-DOS, and even a few other OSs. (Anyone remember the UCSD system for UCSD Pascal? Whew!) The IBM PC did indeed have a cassette port. It was located right next to the keyboard port, and was the same DIN connector. The only other IBM that had one was the PCjr, although it used a different connector. The first IBM PC had 16K of RAM soldered to the motherboard, with empty sockets to allow up to 64K of RAM. Expansion through the 8-bit slots allowed expansion to 544K of RAM. (Later BIOS upgrades which were once available through IBM supported 640K of RAM, hard disks, and EGA. The first IBM PC could use NONE of these if the original BIOS is still intact.) The next PC after it had 64K soldered to the motherboard and allowed 256K of expansion. The first PC to use the Intel 8086 that I'm aware of was a Compaq. On this fact however, I'm not so sure. I still have the PC World when it was introduced, and it seemed to refer to it as the first 8086 machine, and it explained what an 8086 was since it was new to everyone even though it's an older chip, but I wouldn't be surprised if someone digs up an older compatible design that used the 8086. IBM's first PC that used an 8086 was the IBM PS/2 Model 30. It ran it at 8MHz. The IBM PC, PC-XT, and PCjr all used an Intel 8088 running at 4.77Mhz. If anyone tells you other- wise, they are just plain wrong. If you find someone who claims it had an 8086, open 'er up and check. If it has the original IBM motherboard, it's an 8088. - Darius ========================================================================= BITNET: U39648@UICVM | "I'd rather laugh with the sinners Internet: u39648@uicvm.uic.edu | than cry with the saints, ====================================| the sinners are much more fun, "Don't set fire to strangers." | and only the good die young." - Mr. Zarniwoop | - Billy Joel
davet@cbnewsj.cb.att.com (Dave Tutelman) (06/27/91)
In article <91176.135005U39648@uicvm.uic.edu> U39648@uicvm.uic.edu (Darius Vaskelis) writes: > >The first PC to use the Intel 8086 that I'm aware of was a >Compaq. On this fact however, I'm not so sure. I still have >the PC World when it was introduced, and it seemed to refer >to it as the first 8086 machine, and it explained what an >8086 was since it was new to everyone even though it's an >older chip, but I wouldn't be surprised if someone digs up >an older compatible design that used the 8086. I believe that the Compaq used an 8088, though I could be wrong. The press (and the industry) sometimes referred to them generically as "8086 machines" because, after all, the 8086 had been around for some time, though not in desktop PCs. There were "cage" computers (S100 bus comes to mind) that used it, and I worked on a PBX (private telephone system) whose processor was an 8 MHz 8086. The first IBM-compatible PC I know that used a true 8086 chip was made by Olivetti, and sold in the USA as the AT&T PC 6300. That was about 1984 or '85. I could be wrong, and would be interested in facts to the contrary. Dave
sorrow@oak.circa.ufl.edu (06/28/91)
It is my understanding that the first machine to use an 8086 at 8mhz was a Compaq DeskPro. I remember a whopping SI of 1.9....:-) Brian /* Brian Hook -- Specialist in X to ANSI.SYS porting software ----------------------------------------------------------------- "Seamus, that's my dog...I saw her today at the reception...sorry, sixTEEN inches....better save the women and children first...but this one goes to 11! ..anymore of that plutonium nyborg?....there can be only ONE!....like a finger pointing to the moon....ease the seat back...one day closer to death */