🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Andreas Nowatzyk Fri, 17 Jul 1987 12:45
Re: Question on hypercube routing (Ncube-send's)
#24
Author: Andreas Nowatzyk
Date: Fri, 17 Jul 1987 12:45
28 lines
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