[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Transputer - schools
Larry Dickson wrote:
When I was working on KRoC, this was the main thing I concluded needed
to be done; KRoC (at the time) relied on translating one transputer
instruction at a time, and my experience with ARM was that it was
horrendously inefficient to do that, for various architectural reasons.
I started on a revamp of the KRoC backend that would enable peephole
optimisation of the transputer code as well as easier optimisation of
the translated arm code, but "stuff happened", amongst which the ETC
code updates to KRoC which rendered a lot of what I had been doing
unusable in a longer term, and so I stopped.
This is probably a lot of work, but would it be possible to revisit the Transterpreter? In the INMOS Compiler Writer's Guide, it shows the assembly commands coming in structured clumps, each corresponding to a very clear occam primitive. Since occam is such a flat language, it ought to be possible to go through output of the occam compiler and recognize these clumps, thus decompiling to the point of exposing the essential process and communication structure.
The code, as far as it went, is on www.ivimey.org, in three variations.
I implemented most of the integer transputer opcodes, and some of the FP
ones. The problem that wasn't solved was the need for literal pools,
which became a chronic headache.
Hope this helps; it would be good if the code could be taken up and
forward, though of course many things have changed since then.
Software Manager& Engineer
Tel: 01223 414180