English
Language : 

PIC32MX1XX_12 Datasheet, PDF (33/328 Pages) Microchip Technology – 32-bit Microcontrollers (up to 128 KB Flash and 32 KB SRAM) with Audio and Graphics Interfaces, USB, and Advanced Analog
PIC32MX1XX/2XX
The MIPS architecture defines that the result of a
multiply or divide operation be placed in the HI and LO
registers. Using the Move-From-HI (MFHI) and Move-
From-LO (MFLO) instructions, these values can be
transferred to the General Purpose Register file.
In addition to the HI/LO targeted operations, the
MIPS32® architecture also defines a multiply instruc-
tion, MUL, which places the least significant results in
the primary register file instead of the HI/LO register
pair. By avoiding the explicit MFLO instruction required
when using the LO register, and by supporting multiple
destination registers, the throughput of multiply-inten-
sive operations is increased.
Two other instructions, Multiply-Add (MADD) and
Multiply-Subtract (MSUB), are used to perform the
multiply-accumulate and multiply-subtract operations.
The MADD instruction multiplies two numbers and then
adds the product to the current contents of the HI and
LO registers. Similarly, the MSUB instruction multiplies
two operands and then subtracts the product from the
HI and LO registers. The MADD and MSUB operations
are commonly used in DSP algorithms.
3.2.3
SYSTEM CONTROL
COPROCESSOR (CP0)
In the MIPS architecture, CP0 is responsible for the
virtual-to-physical address translation, the exception
control system, the processor’s diagnostics capability,
the operating modes (Kernel, User and Debug) and
whether interrupts are enabled or disabled. Configura-
tion information, such as presence of options like
MIPS16e, is also available by accessing the CP0
registers, listed in Table 3-2.
TABLE 3-2: COPROCESSOR 0 REGISTERS
Register
Number
Register
Name
Function
0-6
7
8
9
10
11
12
12
12
12
13
14
15
15
16
16
16
16
17-22
23
24
25-29
30
31
Note 1:
2:
Reserved
Reserved in the PIC32MX1XX/2XX family core.
HWREna
Enables access via the RDHWR instruction to selected hardware registers.
BadVAddr(1)
Reports the address for the most recent address-related exception.
Count(1)
Processor cycle count.
Reserved
Reserved in the PIC32MX1XX/2XX family core.
Compare(1)
Timer interrupt control.
Status(1)
Processor status and control.
IntCtl(1)
Interrupt system status and control.
SRSCtl(1)
Shadow register set status and control.
SRSMap(1)
Provides mapping from vectored interrupt to a shadow set.
Cause(1)
Cause of last general exception.
EPC(1)
Program counter at last exception.
PRId
Processor identification and revision.
EBASE
Exception vector base register.
Config
Configuration register.
Config1
Configuration Register 1.
Config2
Configuration Register 2.
Config3
Configuration Register 3.
Reserved
Reserved in the PIC32MX1XX/2XX family core.
Debug(2)
Debug control and exception status.
DEPC(2)
Program counter at last debug exception.
Reserved
Reserved in the PIC32MX1XX/2XX family core.
ErrorEPC(1)
Program counter at last error.
DESAVE(2)
Debug handler scratchpad register.
Registers used in exception processing.
Registers used during debug.
 2011-2012 Microchip Technology Inc.
Preliminary
DS61168E-page 33