On Tue, 17 Aug 2010 15:27:00 -0400, Chris Craddock <[email protected]> wrote:
Why does the data for a CDS need to be on a doubleword anyway?
"It just does"
Or if you want the more gory explanation... it has to do with storage operand
consistency
rules...
More specifically, the CS, CDS, and CDSG instructions would have been a
nightmare to
implement if they could cross first-level cache block boundaries. Requiring
that the targets
of these instructions be word, double-word, or quad-word aligned, respectively,
ensures
this without tying the instructions to a particular cache block size. It does
require that
cache blocks be at least multiples of 16 bytes, but that's a pretty good bet
for any sane
design. AFAIK, cache block size has always been at least a multiple of 128 on
360 and upward
machines.
--
Cheers,
Alex Kodat
Sirius Software