Cirrus-logic AN253 Manual de usuario

Busca en linea o descarga Manual de usuario para Hardware Cirrus-logic AN253. Cirrus Logic AN253 User Manual Manual de usuario

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 12
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 0
1
Copyright Cirrus Logic, Inc. 2004
(All Rights Reserved)
http://www.cirrus.com
AN253
Optimizing Code Speed for the MaverickCrunch
Coprocessor
Brett Davis
1. Introduction
This application note is intended to assist developers in optimizing their source code for use with the Mav-
erickCrunch coprocessor. This document begins with a brief overview of the MaverickCrunch coproces-
sor, followed by optimization guidelines and concludes with an example applying the guidelines
discussed.
Multiple facets of code optimization must be considered in order to realize the full benefit of the Maverick-
Crunch coprocessor. The guidelines in this document are categorized as algorithm, compiler, or hardware
optimizations. The discussion on algorithm optimization centers on high level programming details such
as compound expressions and loop unrolling. Next, the compiler optimization guidelines deal with the ef-
fects of compiler optimization on code performance - primarily code size and execution speed. Finally, the
hardware optimization section enumerates optimization guidelines related to the MaverickCrunch copro-
cessor implementation such as IEEE-754 implementation and pipeline stalls.
Note: Algorithm selection will not be discussed in this applications note. It is assumed that the
developer has selected and implemented the correct algorithm for their application.
2. MaverickCrunch
This section introduces and summarizes the features, instruction set and architecture of the Maverick-
Crunch coprocessor. For further in-depth information on these topics, please read Chapter 3 of the User's
Guide.
2.1 Features
The MaverickCrunch coprocessor accelerates IEEE-754 floating point arithmetic, and 32-bit and 64-bit
fixed point arithmetic. The MaverickCrunch coprocessor is an excellent candidate for encoding and de-
coding digital audio, digital signal processing (such as IIR, FIR, FFT) and numeric approximations. Key
features of the MaverickCrunch include:
- IEEE-754 based single and double precision floating point support
- Full IEEE-754 rounding support
- Inexact, Overflow, Underflow, and Invalid Operator IEEE-754 exceptions
- 32/64-bit fixed point integer operations
- Add, multiply, and compare functions for all data types
- Fixed point integer MAC 32-bit input with 72-bit accumulate
- Fixed point integer shifts
JAN ‘04
AN253REV1
Vista de pagina 0
1 2 3 4 5 6 ... 11 12

Indice de contenidos

Pagina 1 - Coprocessor

1Copyright Cirrus Logic, Inc. 2004(All Rights Reserved)http://www.cirrus.comAN253Optimizing Code Speed for the MaverickCrunch™ CoprocessorBrett Davi

Pagina 2

AN25310Figure 3: IIR Optimization Example To accomplish this optimization (see Figure 3): 1.) Use the additional registers in the MaverickCrunch co

Pagina 3

AN25311variables have been interleaved with data dependant instructions in order to reduce their respective stallpenalties.5. SummaryThe optimization

Pagina 4

AN25312Revision Date Changes1 23 January 2004 Initial ReleaseContacting Cirrus Logic SupportFor all product questions and inquiries contact a Cirrus L

Pagina 5

AN2532- Conversion between floating point and integer data representations- Sixteen (16) 64-bit general-purpose registers- Four (4) 72-bit accumulator

Pagina 6

AN2533Table 2. MaverickCrunch Data Manipulation MnemonicsTable 3. MaverickCrunch Arithmetic Mnemonics2.3 ArchitectureThe MaverickCrunch coprocessor us

Pagina 7

AN2534Figure 1. MaverickCrunch Pipelines3. Code Optimization for MaverickCrunchThis section describes guidelines for writing optimized code for the Ma

Pagina 8 - 4. Examples

AN2535Although not a loop optimization technique, Common Sub-Expression Elimination is a speed optimiza-tion technique that can be used in the case wh

Pagina 9

AN2536Avoid single or double floating-point division. These operations are not implemented in the Maverick-Crunch and will be carried out by a soft-fl

Pagina 10

AN2537fmuls c3, c1, c2<Independent ARM/MaverickCrunch Instruction><Independent ARM/MaverickCrunch Instruction><Independent ARM/Maverick

Pagina 11 - 5. Summary

AN25384. ExamplesThis example illustrates the process of optimizing code for the MaverickCrunch coprocessor at the archi-tecture level. The following

Pagina 12 - Revision Date Changes

AN2539in a 2-cycle increase in performance per iteration of the loop construct. This increase in performance canbe significant for FIR filters with la

Comentarios a estos manuales

Sin comentarios