Recently we have run across a problem with transputers in
distributed systems. I am hoping somebody has an elegant
solution that they will share.
The problem concerns the hazards of booting from link in a
distributed system. If a transputer system is running
along, chatting on several links and is reset, either by a
watchdog or power glitch, what happens? If it is set to
boot from link, the first data to arrive will be interpreted
as bootstrap. The data received may or may not be a valid
program load (probably not), but the results are certainly
I can think of several solutions, none of them very good:
1- Don't boot from link. The idea of a small primary bootstrap
in PROM seems like a good one, unless board space is tight.
Only a few bytes are needed, but the PROM must be 32 bits wide,
so at least a 40 pin package would be needed. (And I don't know
of any 32 by few byte PROMs).
1a- I have heard of PROMs with serial outputs. If one of these
could be used, it might help. The design that comes to mind
is a serial PROM to a shift register to a C0011 to a link, which
is messy and probably take as much space as 32 bit PROM design.
It also would tie up one link.
2- Dedicate a transputer as master, which monitors other
transputers, via a heartbeat or discrete. The link from the
master to the "slaves" would only be used for booting. This
also ties up a link and limits topology choice.
3- "We all go down together" - any processor reset resets every
processor, and the prcedure is the same as initial system start.
This seems easy, but stupid - any processor unit that is having
problems can disable the whole system.
None of these seems very good. I would like to hear from anybody
with a better scheme, or who has tried these and has any advice.