How far we've come (Propeller vs 80287)
pedward
Posts: 1,642
I was wondering if there was any benefit to wiring an 80287 to a Propeller to provide math functions. I downloaded the datasheet and it was quite enlightening.
The 80287 has a max clock rate of 12.5Mhz, or 80ns per clock. The Propeller runs at 80Mhz, or 6.25ns per clock.
The 80287 is capable of doing 32bit integer/real math.
To do a multiply (FMUL) of 2 integer 32bit values on the stack, it takes 25-53 clocks.
If you are multiplying by a memory value, you need to do a load (FLD) and then the operand, that takes 77-88 clocks, including all the bus time to load and present the result to the CPU.
The worst case for a 32x32 multiply in PASM appears to be 132 cycles (http://forums.parallax.com/showthread.php?114911-Fast-Faster-Fastest-Code-Superfast-Integer-Multiplication-%28from-Kenya%29)
The 80287 best case 32bit integer multiply 77*80ns = 6160ns = 6.16us
The worst case Propeller 1 PASM multiply 132*6.25ns = 825ns
So, the Propeller 1 can do a 32bit integer multiply ~7.5x faster than an 80287...how far we have come!
If you use the info from the post I linked, you could multiply that by 3-4 on average, or 825/4 = ~200ns for a 32x32 multiply
The 80386 has the following timings:
69 /r id IMUL r32,imm32 9-38/12-41 dword register := r/m32 * immediate dword
The fastest 386 AFAIK is the 40Mhz AMD 80386DX40, so a 12.5ns clock period.
A 32x32 multiply can take 9-41 clocks, depending on the operands. That's 112.5ns to 512.5ns, or 2x as fast as the Propeller 1 PASM to 2.5x as slow.
All in all, I'd say the Propeller 1 is holding it's own against the best Intel/AMD had to offer back in the day. The 386 really is a proper comparison to the Propeller 1 because it doesn't have caching. The 486 is a better comparison to the Propeller 2, which the Propeller 2 handily bests, even the fastest 120Mhz DX4 variants from AMD.
Just take in all that and process it, these dinky little microcontrollers built on "old" processes, are amazingly more powerful than many of the systems we grew up with!
The 80287 has a max clock rate of 12.5Mhz, or 80ns per clock. The Propeller runs at 80Mhz, or 6.25ns per clock.
The 80287 is capable of doing 32bit integer/real math.
To do a multiply (FMUL) of 2 integer 32bit values on the stack, it takes 25-53 clocks.
If you are multiplying by a memory value, you need to do a load (FLD) and then the operand, that takes 77-88 clocks, including all the bus time to load and present the result to the CPU.
The worst case for a 32x32 multiply in PASM appears to be 132 cycles (http://forums.parallax.com/showthread.php?114911-Fast-Faster-Fastest-Code-Superfast-Integer-Multiplication-%28from-Kenya%29)
The 80287 best case 32bit integer multiply 77*80ns = 6160ns = 6.16us
The worst case Propeller 1 PASM multiply 132*6.25ns = 825ns
So, the Propeller 1 can do a 32bit integer multiply ~7.5x faster than an 80287...how far we have come!
If you use the info from the post I linked, you could multiply that by 3-4 on average, or 825/4 = ~200ns for a 32x32 multiply
The 80386 has the following timings:
69 /r id IMUL r32,imm32 9-38/12-41 dword register := r/m32 * immediate dword
The fastest 386 AFAIK is the 40Mhz AMD 80386DX40, so a 12.5ns clock period.
A 32x32 multiply can take 9-41 clocks, depending on the operands. That's 112.5ns to 512.5ns, or 2x as fast as the Propeller 1 PASM to 2.5x as slow.
All in all, I'd say the Propeller 1 is holding it's own against the best Intel/AMD had to offer back in the day. The 386 really is a proper comparison to the Propeller 1 because it doesn't have caching. The 486 is a better comparison to the Propeller 2, which the Propeller 2 handily bests, even the fastest 120Mhz DX4 variants from AMD.
Just take in all that and process it, these dinky little microcontrollers built on "old" processes, are amazingly more powerful than many of the systems we grew up with!
Comments
Another user compared the Prop to a 68020 based Sun Workstation. The Prop out performed the 68020. But it doesn't mean squat. The Sun or Intel boxes are workstations that can run all sorts of software from CAD to word processors, the Prop can't do any of that or even do what the Amiga did 25 years ago.Then again the Prop is amazing micro-controller and not a microprocessor so I don't expect it to.
Are you sure about this? 80Mhz is 12.5ns. 6.25ns would be 160Mhz. Maybe you're thinking about Prop II?
but maybe just maybe i dunno?