Qdatasheet_Logo
Integrated circuits, Transistor, Semiconductors Search and Datasheet PDF Download Site

ST20-C1 View Datasheet(PDF) - STMicroelectronics

Part Name
Description
MFG CO.
ST20-C1
ST-Microelectronics
STMicroelectronics ST-Microelectronics
'ST20-C1' PDF : 205 Pages View PDF
5.1 Data formats
5 Multiply accumulate
This section describes the multiply-accumulate instructions and their use. All these
instructions are described in the context of their intended use. Instructions for general
use (arithmetic, loading, storing etc.) are described in Chapter 4. Instructions for
exceptions are described in Chapter 6 and multi-tasking instructions are described in
Chapter 7. The architecture of the ST20-C1, including the registers and memory
arrangement, is described in Chapter 3.
Multiply accumulate operations are provided by the signal processing instructions
listed in Table 5.1.
Mnemonic
Name
mac
multiply accumulate
umac
unsigned multiply accumulate
smacinit
initialize short multiply accumulate loop
smacloop
short multiply accumulate loop
biquad
biquad IIR filter step
Table 5.1 Multiply accumulate instructions
5.1 Data formats
A signed fractional number of N bits is described as x.y, where x+y=N. This means the
number is made up from x bits before the binary point, an implied binary point, and y
fractional bits. More details of the data formats are given in section 5.7.
5.2 mac and umac
mac and umac are general purpose multiply accumulate instructions, multiplying two
32-bit values and adding them to a 32-bit unsigned initial accumulator, giving a 64-bit
accumulator. mac treats the multiplicands as signed and umac treats them as
unsigned. Initially Areg and Breg hold the values to be multiplied and Creg holds the
initial accumulator. On completion, Areg is the least significant word of the result
accumulator, Breg the most significant and Creg holds a copy of the initial Areg.
5.3 Short multiply accumulate loop
The smacloop instruction performs a multiply-accumulate operation on two vectors of
16-bit values held in memory. It takes an initial accumulator value and two pointers,
one to each of two data vectors.
The X vector of data values is normally considered to reside within a circular
buffer of programmable size, but this can be turned off. When data fetches
reach the end of this buffer, the pointer wraps-around back to the start of the
buffer and continues. The X vector must be word aligned.
The Y vector of coefficients is always in a flat address space , and never wraps
around. The Y vector must be half-word aligned.
56/205
®
Share Link: GO URL

All Rights Reserved © qdatasheet.com  [ Privacy Policy ] [ Contact Us ]