Richard,
It was part of the hardware.
The low-latency from data delivery to use was a key to the
Transputer's high performance in multi-processor configurations.
Without it modern multiprocessors can't do as well - unless you
restrict the applications you run on them
Input could be a data communication or an 'event'.
If the process to be put on the queue was a high priority process then
the time from hardware signal to process running was below 1us.
Event inputs, equivalent to interrupts on traditional processors,
causing sub-microsecond 'interrupt handler' process activation was
somewhat faster than interrupt response times of other processors,
even of today's Gigahertz-clock-rate CPU's!
Barry.
Dr Barry M. Cook, BSc, PhD, CEng, MBCS, CITP, MIEEE
CTO,
4Links Limited,
The Mansion,
Bletchley Park,
MK3 6ZP,
UK.
----- Original Message ----- From: "Richard Tonge" <rtonge90@xxxxxxxxxxx>
To: <occam-com@xxxxxxxxxx>
Sent: Sunday, September 24, 2006 8:23 AM
Subject: waking up processes on external input
My current understanding is that on the transputer, processes were
not members of the process queue when they were waiting for input
from the external links. This would mean that whenever input arrived,
some mechanism would have to add to the queue any process waiting on
the link.
Was this mechanism was part of the hardware, or was it done with a
software interrupt handler?
Thanks,
Richard Tonge
Ageia Technologies inc.