Thread View: comp.hypercube
1 messages
1 total messages
Started by Andreas Nowatzyk
Fri, 17 Jul 1987 12:45
Re: Question on hypercube routing (Ncube-send's)
Author: Andreas Nowatzyk
Date: Fri, 17 Jul 1987 12:45
Date: Fri, 17 Jul 1987 12:45
28 lines
1917 bytes
1917 bytes
Contrary to David Bradley's interpretation of the broadcast instruction on the Ncube-machine (BPTR and BCNT), it is possible to use each of the 22 DMA-channels (10 pairs of receiver/transmitter for communication inside the cube and 1 pair for I/O) independently: To start a transfer, you should check the ready-flag to see that the channel is idle (you may use the interrupt facility to do so instead). The LPTR instruction loads the address of the data to be transfered into the address register of an specific channel and the LCNT instruction loads the byte-count and initiates the transfer - no sweat. This is much easier than programming the ethernet-chip in the iPSC. There is however a bandwidth limitation: 22 active DMA channels would cause about 28 Mbyte/sec peak memory traffic in addition to the CPU. They all share the same data path to the off-chip memory. This would exceed the memory I/O bandwidth by a factor of 3. So a node cannot have more than 8 active, independent channels at a time. Anyway, this is only of interest to bare-metal system programmer: The typical user sees generalized send- and receive-calls that hide the topology, routing issues and the queueing of unsolicited messages. -- -- Andreas Nowatzyk (DC5ZV) Carnegie-Mellon University Arpa-net: agn@unh.cs.cmu.edu Computer Science Department Usenet: ...!seismo!unh.cs.cmu.edu!agn
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads