On Fri, 23 Sep 2022, emanuel stiebler via cctalk wrote:
Hi all,
anybody has some GCC or any other tool chain for the above?
Or some pointers, which was the last version of the GCC tool chain which
supported the i860, and would be still compile-able on this days tools/OS's?
Anything?
I can't help with your quest, however I wish you both luck and the energy
to preserve your old grey cells when dealing with these beasts.
Back in the day I did some work on the i860. Fascinating chip. Very
capable of doing high speed vector math and multiply + add in a single
cycle.
As long as you were prepared to sacrifice the old grey cells to it's
dual-instruction mode programming.
I didn't do anything in C that I recall, all assembler (I was involved
mostly in test/diagnostics and low-level accesses - we had them on a
shared memory system with Transputers being relegated (by then) to nothing
more than "smart" comms chips... (Late 80s)
I think we used the Portland Group C and FORTRAN compilers, but even then
we had large librarys hand-coded in assembler to achieve that fabled 3
instructions per cycle quote - you have to effectively pump the floating
point pipeline by hand so you ran operations that assembled to a 64-bit
word which was one 32-bit instructions for the integer unit (say a load
from RAM into FPU pipeline) and one for the FPU (say, a multiply and add
instruction). So some 8 cycles later you'd actually start to get results
out as it took 8 cycles to actually do the multiply and add - however it
was one cycle after that - good for vector work, but sub-optimal for a
single number multiply.
And lets hope you never, ever, have to take an interrupt during an FP
operation. It's 100's of cycles to save/restore the pipeline. I think
there was a unix/unix-like OS for them, but I imagine context switching
was slow...
Cheers,
Gordon