NonStop S-Series Server Description Manual (G06.24+)
Memory Addressing and Access
HP NonStop S-Series Server Description Manual—520331-003
4-48
Defining Unallocated Space
Defining Unallocated Space
Whereas translation misses in the translation lookaside buffer (TLB) are quite 
common, invalid addresses (those that point to nonexistent memory) are rare. It is 
reasonable therefore to eliminate explicit validity checking of addresses, such as 
checking against a limit, and instead handle invalid addresses as exceptional cases. 
Thus the TLB-miss millicode can be very fast, whereas address errors can be allowed 
to suffer the consequences of special handling.
In the NonStop S-series processor, the method for handling invalid addresses is to 
have all table entries for invalid addresses point to a table entry that permanently 
specifies that the page is not valid (absent). The page fault invokes a trap handler 
because no memory exists. Figure 4-23 shows how this scheme is implemented for 
addresses in the nonprivileged space or in the Kseg2 space.
Each processor contains two null page tables (PTs), one for nonglobal addressing and 
one for global addressing. These tables are allocated during system initialization in 
physical memory. These PTs have the Valid (V) bit permanently set to 0 in all 8 entries. 
Thus any reference to a page in these PTs results in a page fault trap.
When Vseg tables (in the case of either nonprivileged space or Kseg2) are allocated, 
all unassigned unitary segment entries are made to point to one of these two null PTs. 
That action ensures that references to unassigned relative or absolute segments will 
trap.
In many cases, an entire region is unassigned. To avoid the necessity of many entire 
Vseg tables pointing to the null PT, pointers in the process data space table (PDST) 
point to one of two null Vseg tables (one for nonglobal, one for global), which in turn 
have all their 256 entries point to the corresponding null PT.










