[Robelle] [SmugBook] [Index] [Prev] [Next]

Quadrants in PA-RISC Addressing

When the Space Id field of a PA-RISC machine instruction is 0, the target Space Register is selected by adding 4 to the upper two bits of the value in the Base Register. Two bits allows four possible values: 0 selects SR4, 1 = SR5, 2 = SR6, and 3 = SR7. However, to keep the hardware simple, the entire 32-bit value in the Base Register is the byte offset within that space, not just the 30 bits after the space selector. This is called a short pointer address since only 32 bits are used to select both the space and offset within the space.

Because the upper two bits that select the Space Register are included as part of the address, you can only address a quarter of the potential addresses in a space using a short pointer. For example, if a Base Register contains the hex value $40020000, Space Register 5 is used for the Space Id and the second Quadrant of the space is directly addressable.

[Robelle] [SmugBook] [Index] [RISC] [Prev] [Next]