[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: WDC and the 65C design continues to dominate!



Scott G. asked:

> What about the contention that the 65C02 is the first 8-bit RISC
> chip?  That's what the article claimed.

As a RISC processor architect, dating back to 1981 (HP's PA-RISC),
I'd like to take a shot at this!   ;-)

RISC is usually used to describe architectures which share many
characteristics--among them:

   * single-cycle, pipelined execution
   * single-cycle caches, usually separate Instruction and Data caches
   * many general registers, as wide as an address
   * fixed-width register-to-register instructions
   * memory references only by load and store instructions
   * base register + offset addressing with few variants
      (e.g. no indirect addressing, which combines two memory references)
   * generally simple instruction semantics (single-cycle execution!)
      well-suited to compiler code generation
   * etc., etc...

Certainly the 6502 architecture shares some of these characteristics,
particularly if you allow that "page zero" of memory is a surrogate
register file.  The instruction set is fairly regular and simple, and the
65xx implementations have all been simple pipelined machines.

Of course, the 6502 lives and breathes memory reference instructions,
and the registers are shorter than an address.  And the variety of
addressing modes, including indirection, are fundamental to it's
useability (although, as mentioned, page zero indirects can be thought
of as RAM-based general register references...).

Certainly anyone who has programmed a 32-bit, or even a 16-bit,
machine in assembly language and attempts writing a "move" loop to
move more than a page of data will quickly conclude that programming
a 6502 is more like "microprogramming" than programming!  ;-)
Three instructions for an address increment is a bit primitive!  This
may be where the associations with RISC begin.  This code expansion
and the primitive return stack seem to have discouraged most compiler
writers from generating native 6502 code.

Ah, well--all things considered, I'd have to say that the 6502 is not
very much like what RISC means.  (I've always thought that the CDC 6600
was the first real RISC machine...check it out!  ;-)

-michael

 Email:  mjmahon@aol.com
 Home page:  http://members.aol.com/MJMahon/