![](http://datasheet.mmic.net.cn/370000/-PD30101_datasheet_16680756/-PD30101_42.png)
CHAPTER 1 INTRODUCTION
11
1.5.1 Internal Structure
"
CPU
CPU has the hardware resources to execute integer instructions. It has a 64-bit register file, 64-bit
integer data path, and sum-of-products operation unit.
"
Coprocessor 0 (CP0)
Coprocessor 0 (CP0) has the memory management unit (MMU) and handles exception processing.
The MMU handles address translation and checks memory accesses that occur between different
memory segments (user, supervisor, or kernel). The translation lookaside buffer (TLB) is used to
translate virtual to physical addresses.
"
Instruction cache
Instruction cache is direct-mapped, virtually-indexed, and physically-tagged. Its capacity is 2K
bytes.
"
Data cache
Data cache is a direct-mapped, virtually-indexed, and physically-tagged write-back cache. Its
capacity is 1K bytes.
"
CPU bus interface
The CPU bus interface controls data transfer between the V
R
4100 CPU core and the BCU
peripheral unit. The V
R
4100 CPU core bus interface consists of 32-bit input and output multiplexed
address/data buses used for transferring clock and interrupt control signals.
"
Clock generator
The output frequency of the 32.768-kHz crystal is received at the internal oscillation circuit, where it
is multiplied by 1012 using a phase-lock loop (PLL) to generate the pipeline clock (PClock) pulse.
The PClock pulse is in turn used to generate the internal bus clocks (TClock and MasterOut) pulse.
1.5.2 CPU Registers
The V
R
4100 CPU core provides registers as below.
"
32 x 64-bit general-purpose registers (GPRs)
In addition, the processor provides the following special registers:
"
64-bit Program Counter (PC)
"
64-bit HI register, containing the integer multiply and divide upper doubleword result
"
64-bit LO register, containing the integer multiply and divide lower doubleword result
Two of the general-purpose registers have assigned functions:
"
r0 is hardwired to a value of zero, and can be used as the target register for any instruction whose
result is to be discarded. r0 can also be used as a source when a zero value is needed.
"
r31 is the link register used by Jump and Link (JAL/JALR) instructions. This register can be used for
other instructions. However, be careful that use of the register by a link instruction will not coincide
with use of the register for other operations.