Round 98 (was Re: 6502 vs Z80, round 97)

From: Eric Smith <eric_at_brouhaha.com>
Date: Tue Apr 13 14:04:02 1999

Mike Ford wrote:
> One of the things I have noticed is that great similarity exists between a
> couple of instruction sets, the 6502 and the Sparc, and the IBM 360 and
> 68000. Kind of the classics of RISC and CISC, and I love them both.

I replied:
> Having programmed all four of those processors, I would not be willing
> to concede much similarity between any two of the four.

Mike replied:
> Maybe you forgot to enhale, there aren't more than a handfull of different
> instructions between the pairs I mention.

Well, sure. How many different names for "add" can you come up with. But the
register sets are different, the addressing modes are different, the condition
codes are different, and the subroutine linkage methods are different. If
your criteria for processors being similar is that they have add and subtract
instructions, allmost all microprocessors are similar.

> I haven't programmed the Sparc,
> but I did spend about two weeks testing the feasibility of porting a 65C02
> assembly language program to the Sparc, and it looked very very good.

I've been there and done that (binary translation from 6502 to Sparc) as part
of my video game simulation project. It did not map all that directly. The
6502 is little-endian and the Sparc is big-endian. And that's just the
beginning of the story.

> As for the 360/68k, IBM made a varient of the 68k that ran 360 code native.

I've got one.

The customized 68k has *completely* different microcode, and other changes to
the instruction decode logic. And it *still* didn't implement anywhere close
to the full 370 architecture. They had a second 68000 (a normal one) that
was used to emulate the instructions that they couldn't implement in microcode
on the hacked 68k. And a majorly hacked Intel 8087 to do the IBM radix-16
floating point.

The 360/370 don't even have a *stack*! How you can say with a straight face
that the 360 is similar to a 68k is beyond me.
Received on Tue Apr 13 1999 - 14:04:02 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:31:42 BST