Z80 vs 1802What Do I think?
Just for my notes:
- Per the z88dk site, the 4mhz z80 with an excellent compiler can do 310 dhrystones/sec.
- The table quotes 258M Z80 cycles for what I assume is 20K repetitions of the benchmark. That’s 13k cycles per pass.
- I’m guessing that translates to 1500 instructions/pass based on 8 cycles/instruction average(my guess).
- My 1.6mhz 1802 with the rhinestone compiler could squeak out 27 dhrystones/sec. At 4mhz that would be 65 dhrystones/sec.
- My notes say the 1802 was doing 3700 instructions/pass which makes sense since the 1802 is usually moving only 8 bits/inst where the z80 is often 16 and the 1802 can use three instructions to move a byte from register to register.
So 2.5X as many instructions for the 1802 and 2X as many cycles/instruction maps pretty well to the relative dhrystone performance.
As against that, I was able to develop the LCC1802 port on my own in a couple of months where the Z80 compilers have had many years of multiple contributors.
If I ever get the olduino/Z back on the rails I’ll have a good look at some low level code and see if i can learn anything applicable to the 1802.