
Read
register
Operation
Read
register
Operation
Instruction
2
Fetch
instruction
Decode
instruction
Read micro
instruction
Write
result
Read
register
Operation
Instruction
3
Fetch
instruction
Decode
instruction
Read micro
instruction
Write
result
Clock
Instruction
1
Fetch
instruction
Decode
instruction
Read micro
instruction
Write
result
Hazard
processing
Top Reasons to Select the M16C Platform
™
7
1InstInst 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Instructions in the
interrupt routine
1InstInst 2 3 4 5
Instructions in the
interrupt routine
Normal
Response
Interrupt request generated
Interrupt request acknowledged
Interrupt Sequence
Interrupt Sequence
Executes in approximately one-fourth
the number of clock cycles
R32C/100
M32C/80
High-speed
Response
PC SVP
FLG SVF
ISR
Addr
VCT
A single interrupt can be set
as a high-speed interrupt.
Bank 0
Active when bank
bit “B” in flag register
= 0 (default state)
R0H R0L
R1H R1L
R2
R3
A0
A1
FB
Bank 1
Active when bank
bit “B” in flag
register = 1
R0H R0L
R1H R1L
R2
R3
A0
A1
FB
Dual
Register
Banks
SWITCH
Good for
entering
interrupt:
Do not need to
save to stack when
switching to another bank.
*The interrupt return instruction requires three cycles (one-half that required by the M16C).
Other interrupt sequences use 14 cycles on the R32C/100 and M32C/80.
R32C CPU
Core Pipeline
The number of pipeline stages
has been increased from three
(previous version) to five to
boost processing speed.
High-Speed Interrupt Processing (R32C/M32C)
Rounding modes
Exception processing
32 bits
Instruction set
• Illegal input
• Overflow
• Underflow
CNVIF: Convert integer → floating point number
ROUND: Convert floating point number → integer
ADDF: Floating point add
SUBF: Floating point subtract
MULF: Floating point multiply
DIVF: Floating point divide
CMPF: Floating point compare
• Round to nearest value
• Round towards zero
• Round towards negative infinity
Mantissa (23 bits)
Exponent (8 bits)
Sign (1 bit)
Supported numeric values
• Normalized numbers: 0 < exponent < 255
• Zero: 0 and mantissa = 0
Unsupported numeric values
• Not a number (Nan): Exponent = 255 and mantissa ≠ 0
• Infinity: Exponent = 255 and mantissa = 0
• Subnormal numbers: Exponent = 0 and mantissa ≠ 0
(–1)
sign
× 2
exponent –127
× (1 + mantissa)
Data format (single-precision floating point number)
Floating Point
Instructions (R32C)
The R32C incorporates a
single-precision 32-bit FPU
inline and supports floating
point instructions.
Comentarios a estos manuales