> ...the Cray 1, which is, itself, way more powerful than the Z80 which is calling all the shots!
The rc2014 runs an 8MHz Z80 which is indeed laughably less-powerful than the Cray-1. However, I was curious how much faster the Cray-11 is than a Z80 in general.
The original Z80 was 2.5MHz with a non-pipelined execution unit and a 4-bit ALU. The fastest Z80 compatible I'm aware of available today is the 50MHz eZ80, which is about 3-5x as clock-efficient as the original Z80. The Cray-1 was 160MFLOPS peak which is ludicrously faster at floating-point math than the eZ80.
Normally we might expect to see some competitiveness between a 160MFLOPS vector processor and a 50MHz pipelined integer CPU to be somewhat competitive at code with low parallelism, but the Cray-1 was essentially non-parallel by today's standards and very fast at scalar code, running at 80MHz and dispatching an instruction (including multiplies) every clock-cycle for a speed of 80MIPS. The eZ80 is also very inefficient by today's standards, issuing 1 8-bit read/write per clock-cycle; an instruction encoded as a single byte that does not access memory takes 1 cycle; all other instructions take longer.
The Cray-1 could read up to 4 64-bit words per clock cycle (though access latency is slightly higher than the 50MHz eZ80 as the Cray-1 used 16 banks of RAM running at 20MHz).
I'm not saying it's impossible to write a program that would be slower on the Cray-1 than the fastest Z80 available, but it would be hard.
The rc2014 runs an 8MHz Z80 which is indeed laughably less-powerful than the Cray-1. However, I was curious how much faster the Cray-11 is than a Z80 in general.
The original Z80 was 2.5MHz with a non-pipelined execution unit and a 4-bit ALU. The fastest Z80 compatible I'm aware of available today is the 50MHz eZ80, which is about 3-5x as clock-efficient as the original Z80. The Cray-1 was 160MFLOPS peak which is ludicrously faster at floating-point math than the eZ80.
Normally we might expect to see some competitiveness between a 160MFLOPS vector processor and a 50MHz pipelined integer CPU to be somewhat competitive at code with low parallelism, but the Cray-1 was essentially non-parallel by today's standards and very fast at scalar code, running at 80MHz and dispatching an instruction (including multiplies) every clock-cycle for a speed of 80MIPS. The eZ80 is also very inefficient by today's standards, issuing 1 8-bit read/write per clock-cycle; an instruction encoded as a single byte that does not access memory takes 1 cycle; all other instructions take longer.
The Cray-1 could read up to 4 64-bit words per clock cycle (though access latency is slightly higher than the 50MHz eZ80 as the Cray-1 used 16 banks of RAM running at 20MHz).
I'm not saying it's impossible to write a program that would be slower on the Cray-1 than the fastest Z80 available, but it would be hard.