[Info-vax] nice for VMS

Arne Vajhøj arne at vajhoej.dk
Sun Apr 12 22:44:50 EDT 2009


Richard B. Gilbert wrote:
> Arne Vajhøj wrote:
>> Richard B. Gilbert wrote:
>>> JF Mezei wrote:
>>>> Bob Koehler wrote:
>>>>
>>>>>    There are a variety of states related to memory management, 
>>>>> including
>>>>>    PFW, COLPG, and others I could dig up somewhere.
>>>>
>>>> But virtual memory management is under the responsability of the OS. 
>>>> But
>>>> waiting for 8 bytes of physical memory to be loaded into a the register
>>>> is very much hardware based and would the OS be aware of this operation
>>>> taking a long enough time to warrant a switch processing to another
>>>> process ?
>>>
>>> If your memory is aligned properly; e.g. the three low order bits of 
>>> the address are 0, a load of 8 bytes should go quickly.  If they are 
>>> not 0, the O/S will do its best which, admittedly, is not very good.  
>>> ISTR that it must move the eight bytes to properly aligned temporary 
>>> storage and then load them into a register!  This takes many cycles 
>>> longer than a properly aligned quadword load.  The compilers know how 
>>> to do it right but if you use Macro and fail to align things 
>>> properly, your code may run like a dog!
>>
>> Most HLL compiler allow you to specify that data should not be
>> natural aligned. And take the performance hit, which even at older
>> Alphas could be >x10.
> 
> I wonder if anyone ever uses that "feature".  I'd also wonder why?

It happens - struct(ure)s that are written or read to or
from file/socket and have to be packed.

Obviously not very funny when the code later has to be ported
to Solaris/SPARC.

Arne



More information about the Info-vax mailing list