[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Intel vs 6502
Exegete wrote:
> Kelli Halliburton wrote:
>> Bryan Parkoff wrote:
>>
>>> What I understand is that Intel has more instructions than 6502
>>> does. For example, 6502 does not have floating registers, but it has
>>> to build routines in order to support floating registers. It can
>>> decrease the performance. Intel does have built-in floating
>>> registers including more floating instructions that may improve
>>> performance. Does it make sense? If we WANT to design
>>> microprocessor from scratch that will add floating instructions to
>>> 65816 and 65832, it is impossible to duplicate the 65816
>>> microprocessor's schematic, but we can study using AND/OR/NOT GATES
>>> and boole truth table inside microprocessor's schematic in order to
>>> create binary instructions. If we have to break black cover
>>> before we can see naked IC wires inside microprocessor, it might
>>> provide us more information before we can be able to build one from
>>> scratch. What do you think?
>>
>>
>> Well, Roy has convinced me to give this group another chance. So
>> here I go with my attempt to contribute positively. (Watch me wind
>> up putting my foot in my mouth.)
>
> Welcome back
Thanks. As I feared, I put my foot in my mouth, regarding the 68851 and
68852 MMUs, which are not FPUs. And there are a few issues I've discovered
with some of the other things I've said.
>> The original 8086, and its stablemate with the 8-bit data bus, the
>> 8088, did not have floating point registers -- they were only
>> implemented in the 8087. This was followed in turn by the 80287 and
>> 80387 (was there an 80187 to go with the underappreciated 80186?)
>> until the floating point circuitry was integrated into the 80486.
>> The 80487SX was simply a fully working 80486DX chip that replaced
>> the functionality of the 80486SX chip, which was just an 80486DX
>> that had a disabled floating point system.
I was thinking that the 8087 was async, but wasn't sure. Turns out at least
one other person thinks so, too. I didn't remember ever hearing of an 80187,
even in embedded systems, where the 80186 saw much more use than in personal
computers. I've learned that the 80287 was basically an 8087 with different
pins (non-multiplexed pins, maybe? The 8086 and 8088 used pins for multiple
purposes, but the 80286 didn't), and that there was a 16-bit data bus
version of the 80387. Thanks to all who contributed their knowledge.
>> The 68000 series did not include an internal floating point system
>> until the 68040. Motorola floating point accelerators included, if I
>> recall correctly, the 68851, 68852, 68881, and 68882. I believe, but
>> I'm not sure, that they were designed to be the companions
>> respectively of the 68000, 68010, 68020, and 68030.
>>
>> While the various floating point chips were designed to work best
>> with their companions, it is theoretically possible for any CPU to
>> use any FPU, given the right software and interface logic.
>>
>> That is to say, for a dedicated individual, it would not be
>> impossible to use a Motorola 68851 or an Intel 8087 with a WDC
>> 65816, although a speed-matched FPU might be better suited, in order
>> to use the same clock and not require async operation. I think
>> neither the 8087 nor the 68851 were that widely sold in speeds
>> greater than about 8MHz. Given that the 65816 seems to run up to
>> about 20MHz, perhaps a 68882 or 80387 would be a better match. But
>> then, you have to deal with the 32-bit data bus of the 68882 and
>> 80387. (Was there an 80387SX with a 16-bit data bus to go with the
>> 80386SX?) So then you move your CPU up to the 65832, perhaps?
Or, given that the 8087 is apparently async anyway, it could be used with
the 65816 just fine. Latency might be a problem in waiting for results to
come back, but it could be done.
>> However, an FPGA implementation of a 65816 or 65832 might consider
>> using an array large enough to accommodate an FPU core onboard.
>> There are possibly other IEEE floating point VHDL cores out there
>> that could be used.
It has also been brought up that a freeware VHDL core exists for the 6502.
The design of the 65816 is not yet old enough to pass into public domain? I
guess that sounds about right; the IIgs came out in 1986, so if the 65816
came out two years earlier, in 1984, then it would still have a year or so
left on a 20-year patent.
Why do I guess at it being two years earlier? Well, I would imagine that it
would take about that long to design a mass-market computer around a
brand-new CPU offering. It could easily have come out much earlier than
1984, possibly as early as 1982, which would indeed put it in the public
domain now, but I personally haven't heard mention of a free VHDL core for
it being made available yet in any case.
>> I probably haven't contributed any answers to the discussion, but
>> hopefully I've contributed some points to think about, without too
>> much incorrect or incomplete information.