Newsgroups: comp.sys.transputer From: Jan Vorbrueggen Subject: Re: About virtual channels Organization: Institut fuer Neuroinformatik, Ruhr-Universitaet Bochum, Germany Date: 10 Jun 1998 13:58:50 +0200 Message-ID: Brian.Oneill@ntu.ac.uk writes: > I do not know all the details of the balance between hardware and software of > the T9000’s VCP. My understanding is that there is a significant software > overhead in handling virtual channels on the T9. Once they're set up? No, I don't think so. The overhead is in the necessity for the VCP to read the control block for the link; the T9's VCP had to go to memory to do that, but with today's transistor budget, you would keep a lot or even all of those in a cache local to the VCP. Basically, the first one or two bytes of the message are used as an index into a table of control blocks, which contains a buffer pointer and max. buffer length, as well as the usual suspects (the info required to reschedule the process waiting on this channel). The same goes for the output operation. As an optimization to allow end-to-end flow control to work with larger packet sizes, thus reducing latency effects on bandwidth (the bane of the T8 links), the input side has to supply a 32 byte buffer which will contain the (not yet acknowledged) first packet if an IN instruction hasn't yet been executed on the link. Jan