On 2010-10-27 00:16, ard at p850ug1.demon.co.uk (Tony Duell) wrote:
> VAX
stands for "Virtual Address eXtension", note the "extension".
I
always thought that VAX-11 meant it was a PDP11 that had the
'eXtension' of 'Virtual Addresses'.
You obviously need to pick up any PDP-11 processor handbook as well, and
check out the memory management chapter. DEC defined the PDP-11 as
having virtual addresses already from the first day the MMU was
available for the machine. :-)
>
Extension normally means that you modify/extend something that already
> exists, in this case the virtual address. On a PDP-11, the virtual
> address is 16 bits, the VAX extended it to 32 bits, which is a huge
> improvement (and the biggest bottleneck of the PDP-11, as I'm sure all
> people know). The physical address on a PDP-11 is 22 bits, while the
> physical address on a VAX varies, but on the 11/780 I only think it was
> something like 24 bits.
Hmmm. I was under the impression there was a
difference between virtual
memory/addresses and an MMU. Namely that the former impliled a larger
logical address space than the physcial address space and that if a
program tried to access a memory page that wasn't currently mapped to a
physcial area of memory, the OS would be given the chance to load the
approraite data from disk (or whatever) into RAM and map the page
appropriately.
The size of the virtual address space compared to the physical is not
really relevant. After all, on a VAX, they are actually the same. The
physical address is defined as 32 bits, and the virtual address as well.
However, no VAX actually implemented a full 32 bit physical address
space, but there were many different max physical memory limits on
different machines.
A virtual address is "virtual". It's not real. It's a fake. :-)
The MMU is what does the translation between a virtual and a physical
address. Exactly how these two domains look like have less to do with
the definition. And exactly how the translation is done is also less
relevant. As long as you can present to several programs running on the
same machine, a memory space in which they think they are the only one
playing with the memory, and they have an "unlimited" (within the size
of the address space) access to that memory in a linear fashion, it
qualified as virtual memory. (What would you call it?)
The 11/780 logica address space is larger than the
physical one, the
(memory managed) PDP11's is not.
Yes. So what? In which way would that make the virtual address in a
program running on a PDP-11 less virtual? After all, you are totally
shielded from how the actual physical memory layout, allocation,
translation or mapping is done. You are only playing within your virtual
memory space.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol