P0 space and P1 space and multiple processes ...on the VAX

And now a question relevant to virtual memory.
A student writes:

	Dear Dr. Patt,

	I'm hoping you can clarify my understanding of multiple 
	processes in the VM management system. For example, in the 
	VAX, do P0 space and P1 space together define the process 
	space, in that each process has its own version of P0 space 
	and P1 space? 

Yes.  Each process in the VAX has its own P0 space and P1 space, and
therefore two page tables, which means two base registers and two 
length registers.

	Since I believe the system space holds *each* 
	process' page table, 

You believe correctly.

	will this be sequentially represented 
	in system virtual space as couplets of P0 and P1 page tables?

Up to the operating system where it stores them, but a simple way would
be as you suggest: store them as two-tuples of P0 and P1 for each process.

	If this is the case, how does one process index into its 
	unique page table using only the same P0BR or P1BR registers 
	as the other processes (or do they each have their own)? 

Each has its own.  Recall my comment in class: Each process has its own
context, which includes the PC, PSR, GPRs, AND memory mapping registers
(like P0BR, P0LR, P1BR, P1LR).  

	Since there are multiple process page tables, it seems like 
	we need multiple starting addresses.

Indeed we do.  and multiple length registers since he process has its own
size (not always the maximum).

Good luck on the final exam.

Yale Patt

	thanks,
	<<name withheld to protect the student trying to figure out how to
 	put multiple starting addresses into a single Base Register.
	...without a very large shoehorn.>>