Memory-Management Units
The instruction set has eight instruction
classes:
is round-robin within a set. The Icache can
be enabled or disabled independent of the
memory-management function. When
memory management is disabled, the
Icache control logic considers all memory
to be cacheable.
The SA-110 has two MMUs: instruction
(IMMU) and data (DMMU). Separate
translation lookaside buffers (TLBs) are
implemented for the instruction and data
streams. The TLBs each have 32 entries
that can each map a segment, a large page,
or a small page. The TLB entry
• Two instruction classes use the onchip
ALU, barrel shifter, and multiplier to
perform high-speed operations on the
data in a bank of 16 logical (31 physical)
32-bit registers.
Data Cache
The write-back Dcache supports the flush-
all-entry, flush-entry, and copyback-entry
functions. The copyback-all function is
not provided in hardware but can be
provided by software. The Dcache entries
are allocated with read transactions and
the entry replacement logic uses a round-
robin algorithm.
• Three instruction classes control data
transfer between memory and the
registers. The classes are optimized for
flexible addressing, rapid context
switching, and swapping data.
replacement algorithm is round-robin. The
data TLB supports both the flush-all and
the flush-single-entry function, while the
instruction TLB supports only the flush-
all function. Memory-management
exceptions preserve the base address
registers, eliminating the need for “fix-up”
code.
• Two instruction classes control
execution flow and execution privilege
level.
Clocks
• One instruction class accesses the
privileged state of the SA-110.
Cache
The SA-110 receives a 3.68-MHz clock
from a crystal-based clock generator. The
SA-110 uses an internal PLL to multiply
the frequency by a variable multiplier to
produce a high-speed clock. The high-
speed clock is then divided internally by a
configurable ratio to provide a system
clock for synchronous operation. The
3.68-MHz oscillator and PLL run
constantly in normal and idle mode.
The SA-110 has a 16KB, 32-way, set-
associative Icache with 32-byte blocks
and a 16KB, 32-way, set-associative,
write-back Dcache with 32-byte blocks.
The core logic implements 32-bit virtual
addresses and 32-bit physical addresses. A
12-bit multiplier with early termination
performs multiplication. The number of
cycles needed to perform a multiplication
operation depends on the magnitude of the
operands, as shown in Table 1.
Instruction Cache
The Icache supports the flush-all-entry
function, and the replacement algorithm
Boundary-Scan Test Logic
Core Logic Multiplication Functions
The SA-110 boundary-scan interface
provides for driving and sampling of all
the external pins of the device except
npwrslp, irrespective of the core logic
state. This ability permits testing of:
Multiplication Operation
(Signed or Unsigned)
Result
Size
Operation
Duration
32 x 32
32 x 32 + 32
32 x 32
32 bits
32 bits
64 bits
64 bits
2–4 cycles
2–4 cycles
3–5 cycles
3–5 cycles
• SA-110 electrical connections to the
circuit board.
32 x 32 + 64
• Integrity of connections between
devices having a similar interface on the
circuit board.
Signal Lines
Figure 2 shows the signal connects to and
from the SA-110. The signals are arranged
within functional groups.
21 May 1997
3