v.wales%ucla-locus@sri-unix.UUCP (11/01/83)
From: Rich Wales <v.wales@ucla-locus> We have a VAX 11/780 running 4.1BSD, with 2.5 megabytes on a single memory controller. We are seriously considering getting a second con- troller and 4 megabytes more memory, so that we would end up with 6.5 meg on two controllers. Can anyone out there describe in any detail what performance improve- ments we can reasonably expect to see as a result of adding a second memory controller to a 780? -- Rich <wales@UCLA-LOCUS>
hartwell%shasta@sri-unix.UUCP (11/02/83)
From: Steve Hartwell <hartwell@shasta> One advantage to having 2 memory controllers is that you can interleave memory, such that the 1st quadword comes from memory off of the 1st controller, the 2nd quadword comes from memory off of the 2nd controller, etc. This balances the controller load, though it is difficult [for me, anyway] to estimate the performance improvement in a paged environment, though I suspect that it is worth it in most cases. In order to interleave, you MUST have equal amounts of memory on both controllers; in your case, 3.25Mb off each controller. You must also diddle the controller registers just before loading unix off of the floppy, or autoconfig() will not "see" the 2nd bank of memory. This is done very easily by adding 2 DEPOSIT commands in the DEFBOO.CMD file on the boot floppy. I can send the magic numbers to anyone who would like to have them. Steve Hartwell, Stanford University
dmmartindale@watcgl.UUCP (Dave Martindale) (11/09/83)
There are two types of memory controllers for 780's. The MS780-C (the older one) does not do interleaving internally, and should capable of considerable speedup by having a second MS780C installed and run interleaved with the first. Not only do you get twice the available memory bandwidth for accesses to consecutive words, but the memory controller contains a 4-deep buffer for requests which is enabled only when interleaving is turned on. Thus it can handle short bursts of even higher rates without appearing busy to a device trying to access it. Interleaving must be turned on before you load any of unix into memory; if you don't, the memory in the second controller won't even be found unless the first controller has a full 4Mb on it. The newer controller, the MS780-E, has been installed on VAXES shipped since June or July or so, and does interleaving internally. It seems an all-around better controller. It stores data internally as 32-bit words, so it can accept a 32-bit longword write without doing the read-alter-rewrite cycle that the older controller must do (the old controller can do only quadword writes without a read). It fits in the same space as an old controller but takes up to 16Mb of memory. It seems uniformly faster than the old controller; for many operations the memory operates as fast as the SBI can handle the data. And you don't need to buy a CPU expansion cabinet to put the second controller in. But you have to figure out what to do with the old controller that is replaced. At Waterloo, we bought one new controller, put it in one 780 replacing the old controller, and then installed the old controller as an addition to another 780, giving it two old controllers interleaved. Thus both end up with more memory bandwidth. (you can't interleave old and new controllers).
FRANK@UTAH-20.ARPA (11/12/83)
From: Randy Frank <FRANK@UTAH-20.ARPA> One point to be aware about the new MS780-E memory controller. You MUST add memory in 2 megabyte (two board) increments so that there is always an even number of memgabytes of memory. (For purists: you can run with an odd number of megabytes, but then you can only put 8 MB of memory on the controller instead of 16, and you must run non-interleaved. It turns out the MS780E is really two internal memory controllers which look like one to the outside world, and that if you want to use both internal controllers, they MUST have the same amount of memory on both of them). -------
dmmartindale@watcgl.UUCP (Dave Martindale) (11/17/83)
Well, the MS780-E isn't really two memory controllers, and it isn't really one. It's two control boards which share a common SBI interface board. So there are two copies of some registers, and only one of another. They are sufficiently different that the 4.1/4.2 memory controller code as distributed will not handle reporting of errors from the new controller correctly, even though the autoconfig stuff has been changed to recognize the new controller in 4.2BSD.