Serveur © IRCAM - CENTRE POMPIDOU 1996-2005. Tous droits réservés pour tous pays. All rights reserved. |
ICMC 90, Glasgow (Ecosse), 1990
Copyright © Ircam - Centre Georges-Pompidou 1990
As a vehicle for experimentation this type of system can easily become unwieldy. There is generally a separate development environment which must be mastered for each of the processors in the system (host, control, signal processing). To implement a function a program must generally be written for each type of processor and these programs must be made to communicate reliably.
The complexity of this process tends to be discouraging to researchers, and limits the usefulness of the system. Generally research tends to be simulated on "standard" non-real-time systems and only when an algorithm is sufficiently proven is an attempt made to implement it on the real-time system.
1) Reduction of the number of types of processors and development environments in the system.
2) Minimization of specialized low level programming requirements (microcoding, etc.)
To reduce the number of processor types it is desirable to unify the roles of embedded control processor and signal processor. Until recently this has been difficult due to the lack of number crunching ability of available microprocessors. The recent introduction of the Intel i860 (Intel [5]), the first in a new generation of super-scalar processors, was important in solving this problem. Its 25ns cycle time, its ability to perform a floating point add, floating point multiply, and integer operation every cycle, its integrated caches and MMU make it ideal for vector/signal processing. Its general purpose RISC core make it well suited to general purpose scaler calculations as well. The i860 makes possible the unificalion of the real-time control and signal processing environments, turning a three Ievel system (host, control, signal processing) into a two level system (host, real-time).
Each board has two i860 processors with up to 32 vfbytes of local dynamic RAM. Processors communicate by reading or writing each others RAM. Interconnection between processors on the same board is through a crossbar switch. The crossbar switch is arranged as two blocks each with four 36 bit (32 bit as shown in Figure 1) ports. Each block receives the full address of one of the i860s on one of its four ports. One block receives the least significant 32 bits of each of the two i860s 64 bit data busses on two of its four ports. The other crossbar switch block rcccives the mos significant 32 bits of each of the i860 data busses.
When an i860 reads or writes the local RAM of its neighbor processor on the same bord thcn 64 bits of data are passed directly through the crossbar switch blocks nd the address bus of the "mster" proccssor is passed out through the fourth port of the first crossbar switch block, into the fourth port of the second block and out through the address port of the "slave" processor. This connection provides no wait-state 50ns burst transfers (160 Mbyte/sec) between neighboring processors. The bus connecting the fourth port of the crossbar switch blocks also serves as a 32 bit address/dat multiplexed bus for l/O and off-board communications. This bus is connected to a Motorola 56001 DSP processor which is used as an I/O processor. It supports four bidirectional channels of serial digital audio at a 44.1 kHz sampling rate and an RS 422 serial port for MIDI and other controller interfaces. The 56001 also serves a DMA controller for burst transfers between the local memory of i860 proccssors on different boards.
The four-slot NextBus permits three dual-processor i860 boards to be plugged into the same machine alongside the host CPU board which occupies one slot. The NextBus is an extended version of the TI NuBus with a twice speed burst mode which permits 40ns 32 bit transfers. This gives a theoretical maximum transfer rate of 100 Mbytes/sec between cards on the NextBus. The practical rate after arbitration is somewhat less than half that.
Figure 1
In the future, a daughter-board option will be offered which will provide a high speed parallel interconnection path between NeXT machines. This interconnection scheme is shown in stylized form in Figure 2. In any machine each of three boards is connected to one of three boards in one of three other machines. Each one of these connections is the equivalent of a separate NeXT/NuBus. This connection scheme was chosen over a simpler single bus extender approach because of the added bandwidth it provides and because of peculiarities of the NeXT/NuBus bus address decode mechanism (NeXT [6]) which would have made it difficult to implement a single multi machine interconnect bus and still allow complete memory mapping of all the local RAM blocks into the physical address space of every i860 processor, a symmetry which we wanted to preserve. This connection scheme allows a maximum confiuration of twenty-four i860 processors with 760 Mbytes of memory.Figure 2
[2] Lindemann E. - DSP Architectures for the Digital Audio Workstation Discusses the AudioFrame digital audio workstation. AES Preprint- 83rd.Convention (1987) New York.
[3]Moorer, J.A. - The Audio Signal Processor. Computer Music Journal, Vol 6, No. 3 Fall 1982.
[4] Di Guigno, Gerzso, et. al. - La Station de Travail Musical 4X - IRCAM 1986.
[5] Intel, i860 64-Bit Microprocessor Programmer's Reference Manual (1989)
[6] NeXT Inc., NextBus Interface Chip Preliminary Specification (1989)
____________________________
Server © IRCAM-CGP, 1996-2008 - file updated on .
____________________________
Serveur © IRCAM-CGP, 1996-2008 - document mis à jour le .