Brian Hechinger wrote:
On Mon, Oct 19, 2009 at 12:31:41PM -0400, John Wilson wrote:
its behalf instead of assuming the CPU card is The Decider. I'm trying to
picture where per-CPU peripherals go in that case so the I/O page is still
private but DMA isn't ... ow my head!
If you are talking multiple CPUs on a single QBus is there much benefit to
assigning peripherals to CPUs other than CPU0? That wouldn't disallow you
to do DMA from another CPU to that peripherals I wouldn't think.
You don't do DMA from CPU to a device. Remember what DMA stands for? :-)
The benefit of assigning different devices to different CPUs are that you can balance the
CPU load of the different CPUs.
For each I/O operation, the CPU have to run through the driver, which takes a non-zero
amount of time. And the same is true when the I/O completes.
Hmm, I realized one thing, though. With a common Qbus, all interrupts will probably go to
the bus master arbiter, which means that all devices actually must be attached to CPA,
except such devices that are local to each CPU, such as the console terminal.
And in RSX speak, the CPUs are called CPA, CPB, CPC and CPD. Here is how it looks on
MIM::
.con dis full att for sys
SYS SYS Online,Accpath
PDP-11/74mP, EIS,UNIBUS_Map,D-Space,SWR,Cache,FPP,
Clock=KW11-L, $TKPS=50., $TTPRM=000002
.con dis full att for cp
CPA CPA Online,Accpath
Cache_control=000001, Timer=Off, Alarm=Off
CPB CPB Offline,Accpath
Cache_control=000001, Timer=Off, Alarm=Off
CPC CPC Online,Accpath
Cache_control=000001, Timer=Off, Alarm=Off
CPD CPD Offline,Accpath
Cache_control=000001, Timer=Off, Alarm=Off
.con dis full att for du
DUA CPA Online,Accpath,Driver
Csr=172150, Vector=000154, Pri=000005, Urm=000001
DU0: CPA DUA0: Online,Accpath,Context,Driver,Type=RZ29
DU1: CPA DUA1: Online,Accpath,Driver,Type=RD53
DU2: CPA DUA2: Online,Accpath,Driver,Type=RD52
DU3: CPA DUA3: Offline,Accpath,Driver
DU4: Online,Accpath,Context,Driver,Type=VRA82
.
Notice that CPA and CPC are online.
And DUA is attached to CPA, and so on...
Johnny