Author: Robert Hyatt
Date: 20:49:25 07/04/03
Go up one level in this thread
On July 03, 2003 at 20:25:18, Tom Kerrigan wrote: >On July 03, 2003 at 19:18:36, Robert Hyatt wrote: > >>On July 03, 2003 at 15:54:34, Tom Kerrigan wrote: >> >>>On July 03, 2003 at 09:35:41, Robert Hyatt wrote: >>> >>>>>>>What x86 problems? The x86 has variable length instructions anyway, so you can't >>>>>>>say that n-bit-long instructions limit it somehow. >>>>>> >>>>>>Sure I can. It first limits the number of registers to 3 bits. I'd bet >>>>>>that if Intel could "start over" the ISA would be greatly different with a >>>>>>target of 32 bits from the beginning. Intel grew up from 8 bits. Other >>>>>>vendors started at 32 and their instruction sets are _far_ better. Motorolla >>>>>>is an example with the 680x0. The sparc has a nice instruction set, it's just >>>>>>a dog for performance. >>>>> >>>>>I don't know what in the world you're talking about. Grew up from 8 bits? Target >>>>>32 bits? Started at 32 bits? Do you know what "variable length instructions" >>>>>means? x86/680x0 didn't start at, target, or grow up from ANY length. >>>> >>>>Sorry, but the X86 _started_ as an 8-bit cpu capable of doing 16 bit math. >>>>It grew to 16 bits in the 80286 and 32 bits in the 80386. But it was >>>>originally an 8 bit ISA. >>> >>>Wrong, the 8086 (the first x86) is a 16-bit processor. The 8088 used in the >>>original PC was a variant of the 8086 with an 8-bit data bus, maybe that's why >>>you're confused. >> >>The _first_ was the 8080 and it was _not_ a 16 bit cpu. The 8086 was the > >Uhhhhhhhhhhh, Bob? Does it make a lot of sense to call the 8080 an "x86"? Hint: >there's a reason why the 8086, 80186, 80286, 80386, and 80486 are called "x86"s. >Can you think of what that reason is? Yes. Do you know why the 8086 was called the 8086? Because it was a "new and improved" 8080. Notice the number simularity? However, they "ran out of numbers" and inserted a digit in the middle. But the 8080 was the beginning of the product line. I have one sitting in my office that still runs. Alongsize a Zilog z80 that was its direct competitor and which drove Intel to develop the 8086. > >>second processor and it was compatible with the 8080. Each 80X86 processor > >No, the 8086 ISA is similar to but not compatible with the 8080 ISA. And the >8086 was not "the second processor." It was Intel's 5th processor. 4004, 8008, >8080, 8085, 8086. It was the _second_ processor in "the line." I had an 8008 for example, and it was "bare bones". The 8080 was the first usable uprocessor. Otherwise you could go back farther than the 4004. IE they had a 1, 2 and 4 bit ALU in the 7400 series. > >>ever since has maintained that compatibility. But it _started_ at 8 bits. > >Well, if you mean Intel started at 8 bits, no. The 4004 was a 4 bit processor. > Again, the first _real_ machines were 8 bit. the personal computer took off when the 8080 and then the z80 came along. the 8085 and 8086 followed right behind and with the 8086/8088 IBM's "PeeCee" was born. I'm not particularly interested in things prior to the 8080 because they were _way_ different internally. But the 8080 stuff started a trend of "upward compatibility" that stuck. (it also has hurt the basic PC itself since it is an ugly ISA, but Intel has stuck with it to keep legacy applications running, to their credit.) >>The 8088 was a kludge, but it wasn't where I was talking about either. I was > >Depends on what you mean by a kludge. If you think the 8086 is a kludge, then >yes, the 8088 is also a kludge, because they're the same except for the external >bus width. But realize that having an 8 bit bus instead of a 16 bit bus resulted >in SIGNIFICANT motherboard cost savings at the time. Saving a lot of money by >sacrificing some performance is not a kludge, it's a trade-off. The main savings was not on the motherboard. It allowed 8 bit memory boards, as used by all the 8080/z80 processors, to be used "as-is". The S-100 bus was the standard back then, of course. And the 8088 tried to leverage existing memory technology to control price. Fortunately that nonsense didn't last long. > >>talking about the _beginning_ of the product line which went back to the >>original 8080 which the current processors will still execute assembly code >>from. > >Right, the assembly is the same but the chips are not binary compatible. When >people say backward compatible they usually mean binary compatibility. OK. You may be correct there. It's too far back to remember exactly, in my case. I have a z80 in my electronic chess board in my office, built in 1979 or so. Programmed in asm using 2708 EPROMs. I later replaced the thing with an 8086 for speed's sake, but I can't for the life of me remember whether there were binary issues or not. > >>>But now you're confusing instruction length with datapath width. Check the top >>>of this post. We were talking about instruction width. Somehow you changed it to >>>datapath width. >> >>Nope. 8080 was 8 bit everything, but with 16 bit registers. 8086 was >>16 bits. 80186/286 were better. etc... but all are backwardly compatible >>in terms of ISA. > >No, the 8080 was an 8 bit processor with instructions that were 8 to 32 bits. It >had 8 bit general purpose registers. > You mean (apparently) 8 to 32 bits long? As opposed to operand size? That is not unlike the current instructions although they can be longer still. >http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?Intel+8086 > >-Tom
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.