28 MulTiPlieR/DiViDeR (COPRO)
28-2
Seiko epson Corporation
S1C17624/604/622/602/621 TeChniCal Manual
2.1 Mode Settings
Table 28.
Setting value
(D[6:4])
Output mode
Setting value
(D[3:0])
Operation mode
0x0
16 low-order bits output mode
The low-order 16 bits of operation results
can be read as the coprocessor output.
0x0
initialize mode 0
Clears the operation result register to 0x0.
0x1
16 high-order bits output mode
The high-order 16 bits of operation results
can be read as the coprocessor output.
0x1
initialize mode 1
Loads the 16-bit augend into the low-order
16 bits of the operation result register.
0x2–0x7
Reserved
0x2
initialize mode 2
Loads the 32-bit augend into the operation
result register.
0x3
Operation result read mode
Outputs the data in the operation result reg-
ister without computation.
0x4
unsigned multiplication mode
Performs unsigned multiplication.
0x5
Signed multiplication mode
Performs signed multiplication.
0x6
Reserved
0x7
Signed MaC mode
Performs signed MAC operation.
0x8
unsigned division mode
Performs unsigned division.
0x9
Signed division mode
Performs signed division.
0xa–0xf
Reserved
Multiplication
28.3
The multiplication function performs “A (32 bits) = B (16 bits)
×
C (16 bits).”
To perform a multiplication, set the operation mode to 0x4 (unsigned multiplication) or 0x5 (signed multiplication).
Then send the 16-bit multiplicand (B) and 16-bit multiplier (C) to the multiplier/divider using a “
ld.ca
” instruc-
tion. The one-half (16 bits according to the output mode) result (A[15:0] or A[31:16]) and the flag status will be
returned to the CPU registers. Another one-half should be read by setting the multiplier/divider into operation result
read mode.
S1C17 Core
Operation result
register
Selector
Argument 2
Argument 1
16 bits
32 bits
Coprocessor
output (16 bits)
Flag output
Operation
result
3.1 Data Path in Multiplication Mode
Figure 28.