Specifications
CHAPTER 2
Hardware Design
16 Hardware Features
Byte Order 2
There are two ways of defining the order in which bytes of data are addressed.
Big endian is a type of data formatting in which each field is addressed by referring to its
most significant byte. The most significant byte is the one with the highest number. For
example, if you are accessing a 4-byte, 32-bit data word, the most significant byte is byte
03, and the most significant bit is bit 31. The most significant byte is selected by the
lowest address, and the least significant byte by the highest address. Macintosh
computers use the big-endian data format.
Little endian is a type of data formatting in which each field is addressed by referring to
its most significant byte. The most significant byte is the one with the lowest number. For
example, if you are accessing a 4-byte, 32-bit word, the most significant byte is byte 00,
and the most significant bit is bit 00. The most significant byte is selected by the highest
address, and the least significant byte by the lowest address. Computers based on Intel
architectures, such as IBM PCs, use the little-endian format.
Although the Macintosh generally uses a big-endian data format, the PCI bus by
definition is little-endian on both the PC and Macintosh sides. Byte swapping, therefore,
takes place on the Macintosh side before the Macintosh places data on the PCI bus.
Figure 2-5 Example of big-endian and little-endian data formats
For further information about big-endian and little-endian addressing, refer to Designing
Cards and Drivers for Power Macintosh Computers, Appendix B, “Big-Endian and
Little-Endian Addressing.”
Interrupts 2
The Mustard ASIC generates all interrupt requests that require Macintosh resources for
the microprocessors on the 12” and 7" cards. The controller (the 82C558 IC on the
12” card , and the 85C497 IC on the 7" card) generates the maskable interrupt that results
from the various IRQ (interrupt request) sources. In each instance, the interrupt provides
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Big-endian
format
31 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Little-endian
format
Least significant byteMost significant byte
Address bits
Least significant byteMost significant byte
Most
significant bit
Least
significant bit