[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: waking up processes on external input
When I was at IMNOS, and this must have been before 1990, we did a
benchmark with the T800 running its standard floating-point benchmark
program and set "communications events" to happen every so often.
Actually they were timer "interrupts" that did nothing, but exactly the
same mechanism was used for both the internal channel and the external
I forget the exact figures, but what I remember fits with Barry's under
one microsecond. I think that when there were 500,000 (half a million)
interrupts per second, the floating point performance reduced to about
50% of the performance with no interrupts. Like any benchmark, this is
unreal, because an interupt would have to do something, but most
processors at the time got nowhere near an order of magnitude or two of
Barry Cook wrote:
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!
Dr Barry M. Cook, BSc, PhD, CEng, MBCS, CITP, MIEEE
----- Original Message ----- From: "Richard Tonge" <rtonge90@xxxxxxxxxxx>
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
Was this mechanism was part of the hardware, or was it done with a
software interrupt handler?
Ageia Technologies inc.