[comp.sys.transputer] Memory management capability of Transputer

jhhur@sorak.kaist.ac.kr (Jin Ho Hur) (03/18/88)

Our group are now evaluating Transputer and 80386 for our project of building
a multiprocessor system for our project.  There, one question 
arised and I found no answer from the Transputer architecture reference manual 
(RM) and the compiler writer's guide (CWG).
Is there anybody out there who can answer to our questions?

Our requirements:

	Basic unit of computation in our system is object which is
	comprised of an address space and a set of execution thread.
	We need the object to be dynnmically loadable and the execution
	threads (concurrent processes in T4/T8) to be created over those
	objects. In that regard, we appreciate the capability of Transputer
	to create a process very cheaply.  But w.r.t. the program image
	loading, we want to that in run time, not just in reset or analyse
	time as is specified in RM.

Our interpretation of Tranputer:

	There are two way to load program images on Transputer from our
	understanding of the RM and CWG:
    (1) Upon reset or analyse, the transputer is ready to accept the
	program image over any links.  Based on the first byte, it loads
	the program on MemStart and jumps to it.
    (2) Upon analyse, one can peek/poke the memory of Transputer.

Questions:

    (1) Should the program image be loaded a priori for a process on
	the image to be created?
    (2) Related to (1) above, is there any way to load a part of the
	program image upon demand?  For it to be possible, there should be
	a mechamism to raise a trap upon invalid code address (a ka page
	fault) so that any pre-defined program be invoked to load the
	wanted part of the image.  RM or CWG mentions nothing about that.
    (3) Or, is there a room for a MMU circuitary to be attached to the
	external memory interface of Transputer?
    (4) Is there any way to load the program image while the transputer
	is running?  We may imaging the following scenario like we allocate
	a persistent process be running over each channel, define a protocol
	for it to recognize a program image loading phase, let it poke the
	remaining message to the specified location in the message, and
	create a process over the image.  Is it the only way we can
	imagine?

Please reply via mail.  I will summarize the responses.

JinHo Hur
Dept of Computer Science, KAIST, Seoul, Korea
UUCP: {mcvax,uunet}!sorak.kaist.ac.kr!jhhur
Internet: jhhur%sorak.kaist.ac.kr@relay.cs.net
EAN: jhhur@sorak.kaist.ac.kr