[net.micro] z80 vs 6502 benchmark results

Chepponis@Cmu-Cs-C@sri-unix (11/25/82)

From: Mike Chepponis <Chepponis@Cmu-Cs-C>
Zilog published "Z80 CPU vs. 6502 CPU Benchmark Report" in July '81.
The report has the following table:
CPU	Memory Access Time (ns)	Clock Frequency (MHz)
z80	575			2.5
6502	650			1.0
z80a	325			4.0
6502a	310			2.0
z80b	190			6.0
6502b	170			3.0

In their Block Move example, "Move a block of memory from one location to
another.  The source and destination addresses and the block size are known at
assembly time, but no restrictions on their values are allowed.  Use a block
size of 1920 bytes (A typical CRT screen) for time calculation." produced:
z80b: 6724.17 usec;	6502b: 10605.33 usec;	ratio 6502b/z80b: 1.58
Also, # of bytes of Program Memory for this example:
z80b: 11 bytes;		6502b: 51 bytes;	ratio 6502b/z80b: 4.64
# of lines of Source code:
z80b: 4 lines;		6502b: 27 lines;	ratio 6502b/z80b: 6.75

Clearly, the 6502 isn't faster, and requires faster memory as well.
This report also benchmarks Computed GOTO implementation, 8 x 8 bit multiply,
16 x 16 bit multiply, Linear Search, Insert into Linked List, Bubble Sort,
Interrupt Handling, Character String Translation and Dynamic Memory Access.

Incidentally, some may be wondering why the 2-byte Jump Relative instruction on
the z80 takes longer than the 3-byte Jump Absolute instruction.  It's because
the z80 is a 4-bit CPU!  It needs extra cycles to propagate the carry/borrow in
address calculations. (After all, Federeco Faggin designed both the 8080 and
the z80, and the 8080 has a 4-bit CPU as well; the just-announced z800 has a
16-bit alu, so it corrects problems like this).

-Mike Chepponis (Chepponis@cmu-20c)
-------