[comp.arch] Endianess again

hgw@RHT32.PCS.COM (h.-g. willers) (05/14/91)

Endianess again!

We are considering to build a VME-based computer board using a
little endian processor. Is there any reason to swap bytes
and shorts going from and to the (big endian) VME, or are things just more
easy when we do not swap anything?

--
No RISC, no fun!

H.-G. Willers       PCS-Mail: hgw       internal phone ( -271 )
DOMAIN:  hgw@rht32.pcs.de   (EUR) or  hgw@rht32.pcs.com    (US)
BANG:    ..unido!pcsbst!hgw (EUR) or  ..pyramid!pcsbst!hgw (US)

davidb@brac.inmos.co.uk (David Boreham) (05/16/91)

In article <m0jd17b-0003uJC@rht32.pcs.com> hgw@RHT32.PCS.COM (h.-g. willers) writes:
>Endianess again!
>
>We are considering to build a VME-based computer board using a
>little endian processor. Is there any reason to swap bytes
>and shorts going from and to the (big endian) VME, or are things just more
>easy when we do not swap anything?

Interesting question ! 
Since the endian-swap depends upon the data (you would do it for
byte data but not for 32-bit integers), the swap needs to be
configurable. Also for VME there are about 12 potentially useful
different swap variations---caused by the mixture of 8,16 and 32-bit
datapaths to SLAVEs interworking with a 32-bit RISC.

What we do is put a big cross-point switch between the CPU and
the VMEbus. This can do pretty much any re-ordering of the data
and can hold up to 8 different swap functions on-line at any time.
We drive the swap function selection from a look-up RAM which 
is in turn hung off the CPU address bus. 

This gives you the potential to apply any mangling of the databus
you like, and up to 8 different kinds, configured to correspond
to various address regions in the CPU address space.

Probably overkill---but there's a Texas chip which does all this
for about $50.

David Boreham, INMOS Limited | mail(uk): davidb@inmos.co.uk or ukc!inmos!davidb
Bristol,  England            |     (us): uunet!inmos.com!davidb
+44 454 616616 ex 547        | Internet: davidb@inmos.com