Normalization
- Normalization
- Normalization is the process of scaling a quantized value for its maximum dynamic range.
- Why is normalization (scaling) needed?
- Suppose sign-extended fractional data is obtained from a 12-bit ADC:
- Scaling data up prior to data processing allows us to use the full 16-bit dynamic range available through the accumulators
- Ensures data is properly aligned when transferring data from 40-bit accumulators to 16-bit data memory space
- Suppose sign-extended fractional data is obtained from a 12-bit ADC:
Bit discovery instructions are provided to facilitate normalization. They are used to find significant data among sign extended and saturated fields. These instructions assume the operands are signed, i.e. bit change from left instructions are looking for first bit in data field, not including the sign bit.
Instruction | Description |
---|---|
FBCL | Find First Bit Change from Left |
FF1L | Find First One from Left |
FF1R | Find First One from Right |
Positive Fractional Data Example
- Load ACCA with number to be normalized
- Find beginning of data from sign bit, put into W1
- Shift ACCA by value in W1, store it into W0
- Notice that we now are using 16-bits of data instead of 12-bits