80960SA
Control
Compare and
Branch
Register to
Register
Memory Access---
Short
Memory Access---
Long
1.1.1
Memory Space And Addressing Modes
The
80960SA
offers
environment so that all programs running on the
processor are contained in a single address space.
Maximum address space size is 4 Gigabytes (2
bytes).
For ease of use the 80960SA has a small number of
addressing modes, but includes all those necessary
to ensure efficient execution of high-level languages
such as C. Table 2 lists the memory addressing
modes.
Table 2. Memory Addressing Modes
•
12-Bit Offset
•
32-Bit Offset
•
Register-Indirect
•
Register + 12-Bit Offset
•
Register + 32-Bit Offset
•
Register + (Index-Register x Scale-Factor)
•
Register x Scale Factor + 32-Bit Displacement
•
Register + (Index-Register x Scale-Factor) + 32-
Bit Displacement
Scale-Factor is 1, 2, 4, 8 or 16
4
Opcode
Opcode
Reg/Lit
Reg
Opcode
Reg
Reg/Lit
Opcode
Reg
Base
Opcode
Reg
Base
Figure 3. Instruction Formats
a
linear
programming
32
Displacement
M
Displacement
Modes
Ext'd Op
M
X
Mode
Scale
Displacement
1.1.2
Data Types
The 80960SA recognizes the following data types:
Numeric:
•
8-, 16-, 32- and 64-bit ordinals
•
8-, 16-, 32- and 64-bit integers
Non-Numeric:
•
Bit
•
Bit Field
•
Triple Word (96 bits)
•
Quad-Word (128 bits)
1.1.3
Large Register Set
The 80960SA programming environment includes a
large number of registers. In fact, 32 registers are
available at any time. The availability of this many
registers greatly reduces the number of memory
accesses required to perform algorithms, which
leads to greater instruction processing speed.
There are two types of general-purpose register:
local and global. The global registers consist of
sixteen 32-bit registers (g0 though g15). These
registers perform the same function as the general-
Reg/Lit
Offset
xx
Offset