VAX-11/750 memory in 11/70 ?
Johnny Billquist
bqt at update.uu.se
Wed Mar 11 11:37:03 CDT 2015
On 2015-03-11 16:53, Paul Birkel wrote:
> Perhaps the Chapters 9/10/11 on Cache, MMU and Unibus Map in
> KA-K1170-MG-003 are what you're thinking of (somehow ... :->)?
>
> http://bitsavers.trailing-edge.com/pdf/dec/pdp11/1170/KA-K1170-MG-003_1170_Maintenance_Service_Guide_Apr88.pdf
Nope. The manual I'm thinking of is for the memory subsystem only. And
it has a really nice/odd description on how you reach the MK11 CSR,
which is written in the form of a small adventure story. (Almost)
Johnny
>
> On Wed, Mar 11, 2015 at 11:39 AM, Johnny Billquist <bqt at update.uu.se> wrote:
>
>> On 2015-03-11 00:11, Ethan Dicks wrote:
>>
>>> On Tue, Mar 10, 2015 at 7:06 PM, Johnny Billquist <bqt at update.uu.se>
>>> wrote:
>>>
>>>> Which one of these, if any, could be used in an 11/70?
>>>>>>
>>>>> And if you absolutely want to use 1M cards in an 11/70, ping me, and
>>>> I'll
>>>> walk you through the howto. (Update have done this in the past. It is not
>>>> trivial, but it is possible.)
>>>>
>>>
>>> I have a crate of 256MB RAM on my 11/70s but I'd love to learn what it
>>> takes to use 1MB boards (which I have a few of from 11/750s and
>>> 11/730s and 11/725s). I might decide it's too much trouble, but I'd
>>> to know what's involved.
>>>
>>
>> 256K, not 256M, but anyway... :-)
>>
>> There are several bits to it.
>> The MK11 only have 18 address pins on the backplane, which means it cannot
>> directly address larger boards. In addition, there are 16 card select pins.
>> One for each slot. At power on, the memory controller in the MK11 writes to
>> all cards in parallel, in order to initialize the ECC bits on all cards.
>>
>> The way you get 1M cards to work is that you need to tie together 4 card
>> select lines, so that your 1M card would appear to be four 256K cards in
>> the MK11.
>>
>> In addition, you also need to code back from the four select lines into
>> the two additional address lines.
>>
>> This is not so hard. Essentially we're talking about a OR of 4 lines, and
>> a 4-2 encoder.
>>
>> Important additional detail is that you *really* want to make sure that
>> when all cards are select together, that is equivalent to the lowest
>> addressed cards.
>>
>> So far for the hardware.
>>
>> After you've done this, you then also needs to fix a software problem.
>> Like I said at the start, the MK11 initialize all the ECC of all the cards,
>> at initialization time. And it does this in parallel for all cards. That
>> means all card select lines are active together at initialization. And then
>> the address lines runs through address 0-256K doing writes.
>>
>> This means that the ECC for 3/4 of a 1M card will not be initialized. The
>> 1/4 that do get initialized, you want to be the low addresses, since those
>> you need before you can really do anything more. Having memory errors for
>> address 0 is really bad.
>>
>> Once you've come this far, you need to write a short program that will
>> initialize the ECC of the rest of your memory. This can be done through
>> software, but it requires some tricks. Normal writes of memory expects the
>> ECC to already be correct, so you need to turn off ECC checking in the MK11
>> before writing to the uninitialized memory. You can turn off ECC checking
>> in the MK11 by changing a CSR register, where you can set the operation of
>> the MK11.
>> However, there is a problem here. The CSR is in the MK11 box. But the MK11
>> box is on the memory bus, and not on the Unibus. And the CSR address is in
>> I/O space.
>> The trick for this is to use the MMU and the Unibus map to get access to
>> the I/O space on the memory bus.
>> How this actually is done is hidden deep inside one of the technical
>> manuals of the 11/70, and in a rather weird form.
>> I can't seem to find that manual online. It's something like "11/70 memory
>> subsystem manunal" or something similar. I (Update) have a hardcopy of it
>> somewhere.
>>
>> But the theory of it is not so hard. You access an address in the Unibus
>> memory address space, using the MMU. The Unibus map then remaps this
>> address into an address in the I/O space. All access of memory through the
>> Unibus map will go to the memory bus.
>>
>> Johnny
>>
>>
More information about the cctalk
mailing list