From: Paul Riley
Can you clarify something for me regarding memory? I
understand the
bottom area of memory in a Unix system is for the Kernel and it's stuff,
and that the top 8kB is set aside for device I/O
Well, technically, the top 8KB of _address space_, not of memory - it's mostly
used for device registers, etc. Here:
http://gunkies.org/wiki/Unix_V6_kernel_memory_layout
is a bit more detail on how the memory is laid out.
The LSI-11 board has 4kW of RAM on it, and I have
already a 16KW
board. If I want to further expand the RAM, and say I buy another 16kW
board, that makes an arithmetic sum of 32kW for the boards, making 36kW
total. Can the 4kW of on-board RAM be disabled, and only the 32kW on
the boards be used?
Yeah, if you look at LSI-11 documentation, there are jumpers that allow
configuration of the on-board memory. Depending on the etch revision; for my F
revision, jumper W11 (at the top, towards the handle edge, in the middle of
that edge; just below the W1/W2 jumper pair) should be out to disable the
on-board memory.
Or you could configure the two 32KB boards to be at 020000 and 0120000; there
will be 72KB of memory total on the QBUS, but the LSI-11 CPU (no memory
management) will only be able to 'see' the bottom 56KB.
Is it ok for the installed RA mto overlap the 8kW at
the high memory
area?
Yeah, what the CPU sees as the I/O page (at 0160000-0177776 in its address
space) is actually at 0760000-0777776 on the QBUS (on a Q18 QBUS); the CPU
automagically translates the 0160000-0177776 addresses up. On a PDP-11
with memory management, the MMU has to be set up to do that. E.g. in V6,
in:
https://minnie.tuhs.org//cgi-bin/utree.pl?file=V6/usr/sys/conf/m40.s
there is the following code:
/ initialize io segment
mov $IO,(r0)+
mov $77406,(r1)+ / rw 4k
to set the I/O page in kernel address space to point to the I/O page on the
bus.
Noel