[Info-vax] VAX VMS going forward

Arne Vajhøj arne at vajhoej.dk
Wed Jul 29 11:07:02 EDT 2020


On 7/29/2020 10:50 AM, Stephen Hoffman wrote:
> On 2020-07-28 17:19:53 +0000, Arne Vajhj said:
>> I guess there are 3 ways to go from 32 to 64 bit:
>>
>> 1) Let the CPU have a 32 and 64 bit mode and have 32 and 64 bit 
>> programs co-exist.
>>
>> 2) Only 64 bit mode and change all API's to use 64 bit 
>> addresses/pointers.
>>
>> 3) Only 64 bit mode and keep existing API's with 32 bit "compressed" 
>> addresses/pointers and add new API's with 64 bit addresses/pointers.
> 
> In the OpenVMS hybrid segmented addressing—OpenVMS hybrid addressing, 
> not Alpha addressing—the addresses are truncated and are sign-extended.
> 
> OpenVMS itself was 32-bit sign extended prior to V7.0, and then opened 
> up some app access to 64-bit addressing with V7.0.
> 
> As for your list:
> 
> 4) Allow 32-bit apps to run in parallel and in separate processes, with 
> developer and 64-bit API work toward 64-bit apps pending retirement of 
> the 32-bit APIs and apps, and allowing a transition to 64-bit apps to 
> happen over a decade or more, and which makes this 64-bit app transition 
> more incremental and thus somewhat less disruptive.

If there is no 32 and 64 bit mode in the CPU then there is no concept
of 32 bit and 64 bit apps. Apps can mix and match 32 bit "compressed"
addresses/pointers and 64 bit addresses/pointers as they want.

Your #4 is not an independent option. It is just option #3 where
the API's with 64 bit addresses/pointers are complete (and probably some
tool support to make it easy).

> Again, this isn't about instruction sets. Or the processor architecture. 
> This is about programming on OpenVMS. Go try writing a 64-bit app on 
> OpenVMS, without having it be a 32-bit app with 64-bit data. You won't 
> be able to.

A 32 bit app is an app that uses the ISA of a 32 bit CPU, so
I cannot follow your logic at all.

>> That left #2 and #3.
>>
>> DEC picked #3. It is rather unique, but given the business situation 
>> back in the early 1990's then it probably made sense.
>>
>> But the result is not pretty.
> 
> Compatibility has its costs. OpenVMS 64-bit addressing support is an 
> example.

Definitely.

Arne




More information about the Info-vax mailing list