Multiblock: A Fastbus Protocol For Decreasing Readout Time Of Sparse Data From Multiple Slaves
H. Porten, J. Bradick, T. Phillips · 1990 IEEE Nuclear Science Symposium Conference Record · 2005
FASTBUS was designed to provlde a means for reading data from large numbers of channels at high rates. In today's systems, data rates of 320 Mbitdsec are not uncommon; systems an order of magnitude faster have been built. In an Mort to reduce the sheer volume of data being read, large data acquisition systems often have sparsification algorithms on board the individual FASTBUS slaves. At readout time, only a few words of data are read out from each slave; some slaves have no data at all. The bottleneck in FASTBUS readout systems typically lies in operations other than the actual readout of given slave's data buffers: selection of slaves containing data, primary addressing, secondary addressing, response to SS = 2 (data buffer empty). These operations may take as much as several 100 usec to complete. When thousands of words are read from each slave's data buffer, this time may not be significant; in sparse readout systems it is unacceptably large. MULTIBLOCK is protocd operating under FASTBUS that addresses this problem. Originally called MEGABLOCK, it was developed for the MEGA experiment [l] to allow readout of 28 K6 of data from approximately 200 modules in under 7.8 msec. A group of slaves may be configured as part of a MULTIBLOCK by setting appropriate bits in their CSRs. At readout time, the FASTBUS master reads only from the leftmost (highest Geographical Address) slave in the block, called the Primaw' link. When this slave's buffer is empty, contrd is automatically passed to the next MULTIBLOCK slave to the right (Middle link) and so on until the last slave in the Mock is reached (End link). This slave issues SS = 2 when empty. Thus, the slaves within a MULTIBLOCK appear to the FASTBUS Master to be all part of the Primary link alternatively, this slave may be thought of as having a large virtual data buffer that includes the buffers of the other slaves within the MULTIBLOCK. Control is passed from link to link over the daisy chain lines. The 'B' lines (DLB, DRB) carry a signal from left to right called Transferstrobe (TS); the 'A lines (DLA, DRA) carry its handshake from right to left . called TransferAcKnowledge (TK).