Newsgroups: comp.arch
Path: utzoo!henry
From: henry@zoo.toronto.edu (Henry Spencer)
Subject: Re: Is handling off-alignment important? (was Re: RISC hard to program?)
Message-ID: <1990Jul22.001925.8979@zoo.toronto.edu>
Organization: U of Toronto Zoology
References: <104037@convex.convex.com> <8840014@hpfcso.HP.COM>
Date: Sun, 22 Jul 90 00:19:25 GMT

In article <8840014@hpfcso.HP.COM> dgr@hpfcso.HP.COM (Dave Roberts) writes:
>How do processors that handle off alignment deal with getting a page
>fault in between the multiple transfers?  Couldn't this get really
>hairy?  ...

In a word, yes.  This is one of the major reasons why essentially all RISC
processors insist on "natural" alignments:  so that no operand can cross
a page boundary.

If you want *real* fun, consider that unaligned operands can overlap.
Think about the implications of overlapping operands that span a page
boundary between a normal page and a paged-out read-only page in a
machine with two levels of virtual-address cache and a deep pipeline...
with an exception-handling architecture that was nailed down in detail
on much slower and simpler implementations, and can't be changed.  This
is the sort of problem that makes chip designers quietly start sending
their resumes to RISC manufacturers... :-)
-- 
NFS:  all the nice semantics of MSDOS, | Henry Spencer at U of Toronto Zoology
and its performance and security too.  |  henry@zoo.toronto.edu   utzoo!henry
