PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

Address Invariance and Byte Swapping

Address invariance (also called byte address consistency) guarantees that individual bytes are mapped across a data bridge according to their address (or byte lane number); the address of a byte is kept the same on both sides of the bridge.

For example, the little-endian NuBus maintains address invariance when passing data between the big-endian Macintosh II computer and an expansion card. To keep track of data movement, bytes are channeled into byte lanes. Thus, byte lane 0 of the Macintosh processor bus is mapped to byte lane 0 of NuBus, and so on. But when a 32-bit word passes to NuBus, the bytes are changed in significance by a process called byte swapping. The expansion card undoes the byte swap on its side of NuBus, so that data in memory on a card is organized exactly the same way it is on the Macintosh side. The diagram in Figure A-4 shows how data is mapped from the Macintosh II system across NuBus onto an expansion card.

Figure A-4 Byte swapping in NuBus

Note

Byte-swapping is like parity. An even number of byte swaps produces the original ordering.


© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)