[Info-vax] In memoriam: 10 years since Alpha's passing away.

glen herrmannsfeldt gah at ugcs.caltech.edu
Wed Jul 6 17:20:54 EDT 2011


Johnny Billquist <bqt at softjar.se> wrote:
> On 2011-07-06 15.39, Bob Koehler wrote:
>> Hans Vlems<hvlems at freenet.de>  writes:
>>> The VAX was a _true_ 32 bit architecture, right?

>>     The original VAX hardware architecture was spec'ed to match the 30
>>     bit SBI on the 11/780.  For a long time VAXen had 30 bit or narrower
>>     busses.  Although laid out as a 32 bit architecture in most ways, it
>>     didn't become true 32 bit until an ECO to the spec several years later,
>>     when VAXen were designed with wider busses.

> Not really, actually. The hardware address of the original VAX design is 
> actually only 30 bits. The page address register in the MMU have 21 bits 
> for the physical address, while the virtual address provides the 9 low 
> bits, which means you can never get more than 30 address bits from the 
> architecture.

The virtual address space is (*) 32 bits, divided into three regions.
The upper half (31 bits) for the system region, the lower half split
into P0 program region (30 bits) and P1 control region (30 bits).
So, the per process (user) space can't be more than 2GB.

PTEs, in the VAX Architecture as published in 1987, have a (V) Valid
bit, a four bit (PROT) protection mode field, a (M) Modify bit,
five reserved bits, and a 21 bit (PFN) page frame number.

(snip)

> This was eventually addressed in the NVAX, which added a second mode to 
> the MMU page address registers, where 4 previously unused/undefined bits 
> were added to the address part, making the actual physical address 
> formed to be 34 bits on the VAX. But that requires you to set up the MMU 
> in a different mode.

According to the "VAX Architecture Reference Manual" four bits are
reserved for software use, two marked as (OWN) owner, and one
just reserved for DIGITAL, must be zero.

Otherwise, just like S/370 with added two previously unused page 
table bits to the physical address, allowing for 26 bit physical
address on a machine with a 24 bit virtual address.  This is,
before 370/XA extended to 31 bit addressing.

>>     None of which mattered to us programmers, who had 31 bits of process
>>     specific virtual address space and no programs to fill it up.

> Indeed.

>>     Although I'm sure others did, I never actually saw any VAX with
>>     SYSGEN parameters set up to map as many as 24 bits of virtual
>>     address space.

> It's not a SYSGEN issue, as it is not a software thing. It's a 
> hardware limitation which is very hard.

(*) The architecture exists, even if no machines exist, and machine
    do still exist.    So, present tense.

-- glen



More information about the Info-vax mailing list