MACD
Multiply and Accumulate With Data Move
7-108
Cycles for a Single MACD Instruction (Continued)
Operand
External
SARAM
DARAM
ROM
Operand 1: External
Operand 2: DARAM
3+p
op1
3+p
op1
3+p
op1
3+p
op1
+2p
code
Operand 1: DARAM/
ROM
Operand 2: SARAM
3
3
3
3+2p
code
Operand 1: SARAM
Operand 2: SARAM
3
3
3
4
†
5
‡
3+2p
code
4+2p
code
†
Operand 1: External
Operand 2: SARAM
3+p
op1
3+p
op1
3+p
op1
3+p
op1
+2p
code
Operand 1: DARAM/
ROM
Operand 2: External
§
3+d
op2
3+d
op2
3+d
op2
3+d
op2
+2p
code
Operand 1: SARAM
Operand 2: External
§
3+d
op2
3+d
op2
3+d
op2
3+d
op2
+2p
code
Operand 1: External
Operand 2: External
§
4+p
op1
+d
op2
4+p
op1
+d
op2
4+p
op1
+d
op2
4+p
op1
+d
op2
+2p
code
† If both operands are in the same SARAM block
‡ If both operands and code are in the same SARAM block
§ Data move operation is not performed when operand2 is in external data memory.
Cycles for a Repeat (RPT) Execution of an MACD Instruction
Operand
ROM
DARAM
SARAM
External
Operand 1: DARAM/
ROM
Operand 2: DARAM
n+2
n+2
n+2
n+2+2p
code
Operand 1: SARAM
Operand 2: DARAM
n+2
n+2
n+2
n+2+2p
code
Operand 1: External
Operand 2: DARAM
n+2+np
op1
n+2+np
op1
n+2+np
op1
n+2+np
op1
+2p
code
Operand 1: DARAM/
ROM
Operand 2: SARAM
2n
2n
2n
2n+2
†
2n+2p
code
† If operand 2 and code are in the same SARAM block
‡ If both operands are in the same SARAM block
§ If both operands and code are in the same SARAM block
¶ Data move operation is not performed when operand2 is in external data memory.