English
Language : 

SH7058 Datasheet, PDF (103/1130 Pages) Renesas Technology Corp – Renesas SuperHTM RISC engine
3.2 Floating-Point Registers and Floating-Point System Registers
3.2.1 Floating-Point Register File
The SH7058 has sixteen 32-bit single-precision floating-point registers. Register specifications are
always made as 4 bits. In assembly language, the floating-point registers are specified as FR0,
FR1, FR2, and so on. FR0 functions as the index register for the FMAC instruction.
3.2.2 Floating-Point Communication Register (FPUL)
Information for transfer between the FPU and the CPU is transferred via the FPUL
communication register, which resembles MACL and MACH in the integer unit. The SH7058 is
provided with this communication register since the integer and floating-point formats are
different. The 32-bit FPUL is a system register, and is accessed by the CPU by means of LDS and
STS instructions.
3.2.3 Floating-Point Status/Control Register (FPSCR)
The SH7058 has a floating-point status/control register (FPSCR) that functions as a system
register accessed by means of LDS and STS instructions (figure 3.2). FPSCR can be written to by
a user program. This register is part of the process context, and must be saved when the context is
switched. It may also be necessary to save this register when a procedure call is made.
FPSCR is a 32-bit register that controls the storage of detailed information relating to the rounding
mode, asymptotic underflow (denormalized numbers), and FPU exceptions. The module stop bit
that disables the FPU itself is provided in the module standby control register (MSTCR). For
details, see section 25, Power-Down State. After a reset start, the FPU is enabled.
Table 3.1 shows the flags corresponding the five kinds of FPU exception. A sixth flag is also
provided as an FPU error flag that indicates an floating-point unit error state not covered by the
other five flags.
Table 3.1 Floating-Point Exception Flags
Flag
E
V
Z
O
U
I
Meaning
FPU error
Invalid operation
Division by zero
Overflow (value not expressed)
Underflow (value not expressed)
Inexact (result not expressed)
Support in SH7058
—
Yes
Yes
—
—
—
Rev. 3.0, 09/04, page 62 of 1086