G.L.Gould@durham.ac.uk (03/22/91)
In response to Buff Whelan's comments concerning transputer\DSP hybrids: * I feel that it is more of a case of what the transputer and dsp can do for each other. Obviously, the dsp can easily outperform the transputer in applications that involve multiplication operations etc, and so it would be useful as a specialised 'accelerator' for the transputer. The transputer, on the other hand, offers the dsp a simple means of co-operating in a parallel system, without the need for extra control hardware, bus arbitration etc. Other transputer based modules may also be easily utilised by the dsp - graphics boards, disk controllers, image capture, adc/dac boards. * Many dsp applications/algorithms may easily be ported to parallel environments, especially the more complex applications. * It is true that, say, if the dsp was performing some filtering operation then the transputer may not be able to cope with the processing speed, but that is not important. It just needs to be able to match the io bandwidth of the dsp. The transputer is quite capable of keeping up with most dsps, whilst leaving enough time to do something else - which is, after all, good parallel programming practice. * The main problem with the transputer/dsp hybrid systems that I have seen is the method of inter-processor communication. They use low bandwidth methods such as the transputer links or other byte wide transfer methods. Some that I have seen do use shared memory, but only single ported. I readily admit that I certainly have not done an exhaustive study, but isn't there anyone using dual - ported memory? Here at Durham we are in the process of constructing a transputer/dsp hybrid system. The system is built from modules, each consisting of a single T801 that acts as a master to any number of dsp slaves. The dsp chip is the DSP56001, simply because it suits are purpose and it is cheap - any dsp could be used in the system. Each dsp possesses its own block of dual-ported RAM (DPR). The transputer is connected to each DPR block. Data is transferred through the DPR, data integrity is assured by the use of semaphores. Since the transputer controls tye flow of data around the dsp network, the dsp topology is effectively software defined. The network may be reconfigured 'on the fly'. Furthermore, program code may also be downloaded from the transputer, agaian, 'on the fly'. Thus the dsp network is dynamically reprogrammable and reconfigurable. These properties are advantages in large scale, multi-algorithmic signal processing systems. Although the transputer was not designed to communicate over its EMI, the initial problems encountered, which impaired performance, have been solved and the transputer is now capable of accessing and testing the semaphore in the same number of machine cycles as the dsp. This is due to a fair amount of somewhat tricky assembly coding. we have shown that the T801 can cope with six 56001 devices at full memory bandwidth. This, however, is assuming that each dsp is running a single biquad filter section - one of the simplest dsp functions - which represents a gross underuse of resources. For any realistically sized code segment running on the dsps, the number of 56001s supported by the T801 would increase accordingly. It should be stressed that each dsp runs at full speed, all the time. Communication overhead for the dsp is negligable. Work is also being carried out on the task allocation of such a system. Hope this has been some help. For further information, contact me or see the proceedings of ICASSP '91. Was there really a need for the boat-car ? Lee Gould SEAS, University of Durham, Durham, DH1 3LE, England. G L Gould @ uk.ac.dur.mts usual disclaimers