Roger, That is precisely the analogy I see, and that I think is useful. Øyvind, When the early telephone exchanges were being devised, they were very concerned about blocking, not just from the point of view of convenience
but mechanically. These were electro-mechanical switches with the real possibility of latching up or locking mechanically in unwanted ways like typewriters when several keys were pressed too close together in time and they arms would lock together preventing
further typing until they were manually released. Chris
Prof. Christopher C R Jones BSc. PhD C.Eng. FIET
BAE Systems Engineering Fellow
EMP Fellow of the Summa Foundation Technologist Consultant – Lightning, EMP & CEM
Military Air & Information
(
Direct: +44 (0)1772 8 54625 Electromagnetic Engineering, W423A
(
Mobile: +44 (0)7855 393833 Engineering Integrated Solutions
7
Fax: +44 (0)1772 8 55262 Warton Aerodrome
* E-mail:
chris.c.jones@xxxxxxxxxxxxxx
Preston
:
Web:
www.baesystems.com PR4 1AX BAE Systems (Operations) Limited From: Roger Shepherd [mailto:rog@xxxxxxxx]
*** WARNING ***
This message originates from outside our organisation, either from an external partner or the internet. Chris, This sounds likely and the difference between this and what happens in a (for example) occam program is interesting. In an occam program the communication channel is always available, however the “other party” is not. So, in the telephone
sense the communication is non-blocking - it’s just that the other party might not be there, and if you are making a call (output) you have have to hang on the line until the other party answers. Roger On 29 Sep 2014, at 10:55, Jones, Chris C (UK Warton) <chris.c.jones@xxxxxxxxxxxxxx> wrote:
I suspect the term has been lifted from the telecoms industry where telephone exchange equipment was considered to be non-blocking when a caller was guaranteed
always to be able to get an immediate connection to another non-busy user on a fully functioning, non-blocking exchange. In the UK, local exchanges were non-blocking while trunk connections were not. I would have thought the usage referring to the possibility of sending a communication was still pertinent. Chris Prof. Christopher C R Jones BSc. PhD C.Eng. FIET BAE Systems Engineering Fellow EMP Fellow of the Summa Foundation Technologist Consultant – Lightning, EMP & CEM <image001.jpg> Military Air & Information ( Direct:
+44 (0)1772 8 54625 Electromagnetic Engineering, W423A ( Mobile:
+44 (0)7855 393833 Engineering Integrated Solutions 7 Fax:
+44 (0)1772 8 55262 Warton Aerodrome * E-mail: chris.c.jones@xxxxxxxxxxxxxx Preston : Web: www.baesystems.com PR4 1AX BAE Systems (Operations) Limited From: occam-com-request@xxxxxxxxxx [mailto:occam-com-request@xxxxxxxxxx] On
Behalf Of Larry Dickson *** WARNING ***
This message originates from outside our organisation, either from an external partner or the internet. It seems to me that “blocking” applies to an alt as well as a one-to-one communication (or to a timer). It’s not something that CSP people need to be embarrassed about. On the contrary. Any model that does NOT account for blocking is a
false model. Think on the instruction level. Each sequential logic primitive (like an add or multiply) is a wrapper around some combinatorial logic that needs time to settle. The system clock gives it that time — so every instruction blocks! And if it did
not block, it would give incorrect results. Before an instruction completes, the conditions necessary for its completion have to hold. If this is a read, write, alt, or timeout, the required blocking can be “macroscopic,” and efficient chips yield control of the instruction stream
to other tasks at that point. Larry On Sep 26, 2014, at 2:22 AM, matt.pedersen@xxxxxxxx wrote:
Blocking is probably used because a read or write will do exactly that in a one to one straight up communication. Though used in an alt blocking might not aptly describe the state as only communications that are ready (i.e., will _not_
block) will be considered. I dislike yield because yield gives the idea that you can back off from a blocking read or write call which you cannot. Matt
******************************************************************** -- |