Contents UM0404
4/564 DocID13284 Rev 2
3.4.16 The constant zeros register ZEROS . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.4.17 The constant ones register ONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4 Multiply-accumulate unit (MAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.1 MAC features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.2 MAC operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.2.1 Instruction pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.2.2 Particular pipeline effects with the MAC unit . . . . . . . . . . . . . . . . . . . . . 84
4.2.3 Address generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2.4 16 x 16 signed/unsigned parallel multiplier . . . . . . . . . . . . . . . . . . . . . . 86
4.2.5 40-bit signed arithmetic unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2.6 The 40-bit signed accumulator register . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.2.7 The 40-bit adder / subtracter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.2.8 Data limiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.2.9 The accumulator shifter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2.10 Repeat unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2.11 MAC interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.2.12 Number representation & rounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.3 MAC register set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.3.1 Address registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.3.2 Accumulator & control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4 MAC instruction set summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5 Interrupt and trap functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1 Interrupt system structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.1 Normal interrupt processing and PEC service . . . . . . . . . . . . . . . . . . . 100
5.1.2 Interrupt system register description . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.1.3 Interrupt control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.1.4 Interrupt priority level and group level . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.1.5 Interrupt control functions in the PSW . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2 Operation of the PEC channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3 Prioritizing interrupt & PEC service requests . . . . . . . . . . . . . . . . . . . . . 106
5.3.1 Enabling and disabling interrupt requests . . . . . . . . . . . . . . . . . . . . . . 106
5.3.2 Interrupt class management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.4 Saving the status during interrupt service . . . . . . . . . . . . . . . . . . . . . . . 108
5.4.1 Context switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109