[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