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) -------