jiang@cs.ubc.ca (Jie C. Jiang) (12/15/89)
I am thinking about using the Error Pin on the Inmos T800 transputer to generate external events from a program(e.g., connecting the error pin of one transputer to the event pin of another). But I am not sure if it is a good idea to do that. In Colin Plumb's Transputer instruction set docu., it says that the error flag will never be set by a correct program and the error flag can be ignored if the hardware is agreeable. Does it mean that normal SIGNED arithmetic will not set the error flag? How to make the hardware "agreeable" if it isn't? I would much appreciate any suggestion from those who have experience and expert knowledge in using either the event pin or error pin of the transputer. I badly need your help. -------------------------------------------------------------------------------- Jie C. Jiang (Mr.) | E-mail: Department of Computer Science | <jiang@cs.ubc.ca>(Internet) University of British Columbia | <ubc-vision!grads.cs.ubc.ca!jiang.uucp>(UUCP) Vancouver, B.C. V6T 1W5 | Tel: Canada | (604)224-5699 --------------------------------------------------------------------------------
ccplumb@rose.waterloo.edu (Colin Plumb) (12/19/89)
I'm rather down on the error flag, but you can certainly connect it to another transputer's event input pin. Inmos describe that configuration in some of their literature. When I said that the error flag can be ignored "if the hardware is agreeable," I meant if the error pin isn't connected to anything important or non-maskable. You seem to be considering making "disagreeable" :-) hardware. This is still possible, just requires more careful code generation, since the error is one more output of an instruction that you have to be concerned about. Most of the normal arithmetic operations set the error flag on signed overflow, so while they can be used for unsigned arithmetic, the error flag will quickly get set. You have to use sum (or bsub) instead of add, diff instead of sub, etc. if you want to use unsigned arithmetic. Urg... that's not particularly clear. Unfortunetely, I'll last read mail and news tomorrow (Tue, 19 Dec) morning before going home for Christmas and New Year's. So if I've confused you, write quickly or be patient! One note about the event input pin: being edge-sensitive, many commercial interrupt controllers will trigger it multiple times, as their outputs are designed for level-sensitive processors and not particularly clean. The Am9519A, in particular, has *big* glitches on its ourput, much longer than the documented 100ns. -- -Colin