[Info-vax] nice for VMS

glen herrmannsfeldt gah at ugcs.caltech.edu
Mon Apr 13 08:17:16 EDT 2009


Richard B. Gilbert <rgilbert88 at comcast.net> wrote:
(someone wrote)

>>> In this case it might be better to align the structure members
>>> manually on 4/8 byte boundaries by inserting appropriate
>>> padding members. Wastes space, but reduces headaches.
 
> I learned about alignment in the early 1970s with the IBM 360/91.  It 
> had sixteen banks of 16MB of magnetic core.  It helped immensely to 
> align things and it also mattered in what order you accessed array 
> elements.  

For S/360, including the 91, alignment was required.  That
was especially a problem with Fortran COMMON which did not
allow for padding.  For S/360 in general, there was a fixup
routine that would take control on the interrupt, copy the data
to an aligned location, redo the operation, and copy the
result back.  With imprecise interrupts on the 360/91,
that didn't work.  (The location of the failing instruction
wasn't known precisely.)   (Unaligned access came with
S/370, though still slower than aligned access.)

> Memory was "interleaved" and if you stepped through an array 
> at intervals of 16 bytes, you were banging on the same memory bank 
> with each access!  It made a significant difference in speed.

That was a problem for the 91.  The 360/85, the first machine
with cache, was often almost as fast as the 360/91, with
the advantage of cache even though the processing was much
slower.   

-- glen



More information about the Info-vax mailing list