Internal channel communication query.

Internal channel communication query.

Post by Gavin Crat » Fri, 30 Oct 2009 22:26:05


I in the process of adding realistic processor instruction cycle
timing to the Transputer Emulator ( http://www.yqcomputer.com/
transputeremulator/) and have a query concerning internal channel
communications.

According to the T414 datasheet an nor utinstruction will take
2w + 19 processor cycles (where w is number of words in the message).

So if a process (called P) is executing an utinstruction using an
internal channel, and a process (called Q) is executing an n instruction using the same internal channel, do both processes
instructions 2w + 19 processor cycles to complete?

Obviously, there is a memory transfer to move the data from the
destination specified by the ninstruction, which I can see is 2w,
but why both instructions 2w?

Hence is it the actual case that utinstruction takes 19 processor
cycles, and the ninstruction takes 2w + 19 processor cycles?

Thoughts

Gavin
 
 
 

Internal channel communication query.

Post by Gavin Crat » Fri, 30 Oct 2009 22:31:23

> Hence is it the actual case that utinstruction takes 19 processor >> cycles, and the ninstruction takes 2w + 19 processor cycles?

Or that the utinstruction takes 2w + 19 processor cycles, and the
ninstruction takes 19 processor cycles, if the 'in' instruction
was executed and descheduled first?

 
 
 

Internal channel communication query.

Post by Mike B » Sun, 01 Nov 2009 01:22:49

Look into the TRANSPUTER INSTRUCTION SET - A compiler writer's guide
on Page 117:

2w+18 input message - communication procedes
20 input message - communication waits

the same for output message.

So the first ready process gets 20 cycles and the second 2w+18 cycles
regardless which is in or out.

w ... the number of words, plus non word aligned part words, in a
message

and remember:

The timings assume all memory access is to on chip RAM.
The Code for out is #0B and not #07 (which is wrongly printed in my
book).

-Mike