Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64 Bit Programs

Author: Tom Kerrigan

Date: 12:33:47 07/04/03

Go up one level in this thread


On July 04, 2003 at 04:53:56, Bo Persson wrote:

>On July 03, 2003 at 20:25:18, Tom Kerrigan wrote:
>
>>On July 03, 2003 at 19:18:36, Robert Hyatt wrote:
>>
>
>>>>>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?
>
>Seems like their names ends in "86"? How about Pentium?

I suppose if you wanted to get really pedantic, you wouldn't call a Pentium an
x86. Maybe that's why Intel has been trying to rename it to "IA32." Whatever
your take on the Pentium, I don't see how you can make "x86" retroactive to
apply to the 8080.

>>>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.
>
>Make that 2nd generation?
>
>The 4004 was designed for an electronic calculator, but like the 8008 it wasn't
>used much. The 8080 was the first one in general use in computers (and not like
>controllers). The 8085 was just a revised 8080 with 2 new instructions, much
>like an Athlon and an Athlon XP.

It seems like the doubling of datapath width would make the 8008 Intel's "second
generation" processor. Anyway, I don't much care about generations. Bob said the
8086 was "the second processor" and it clearly wasn't.

>>>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.
>
>No, the assembly is not the same, but similar. Not similar enough to be used
>directly, but similar enough to *almost* allow a machine translation. Almost!
>
>Intel also added odd instructions like SAHF and LAHF, so the transalted code
>could access the flags and fix those instructions that were not the same.
>
>For Intel this was a big thing at the launch, but very soon nobody cared.
>Intel's attempt at making the processors compatible enough is Bob's first
>"cludge". The 8 bit processors *did* affect the design choices for the first 16
>bit processor, and those decisions still lives in the x86 instruction set and
>the "architecturally visible" part of the P4s. And the Opteron.
>
>>
>>>>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.
>
>BUT, some of these registers could be used in pairs to calculate things like 16
>bit addresses. Some instructions actually worked on the register pairs.
>
>>
>>http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?Intel+8086
>
>Some of us are old enough to have actually used these chips. I have written
>assemply language programs for the 8080, Z80, 8085, 8088, 286. I know the
>differences, and the annoying similarities.
>
>Bob is right here.  :-)

Instructions could work on register pairs because the microcode did 8 bit
operations to 8 bit registers to make it seem (to the programmer) like it could
do 16 bit operations on 16 bit registers. So it gets to be an issue of personal
philosophy.

Bob may have been right about the register width, in a way, but he was still
wrong about the instruction width, what chip the first x86 was, when the 8080
was developed relative to other chips, and whether or not it was compatible with
the 8086 (no).

-Tom



This page took 0 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.