Cirrus-logic AN253 Bedienungsanleitung

Stöbern Sie online oder laden Sie Bedienungsanleitung nach Hardware Cirrus-logic AN253 herunter. Cirrus Logic AN253 User Manual Benutzerhandbuch

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 12
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 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
Seitenansicht 0
1 2 3 4 5 6 ... 11 12

Inhaltsverzeichnis

Seite 1 - Coprocessor

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

Seite 2

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

Seite 3

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

Seite 4

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

Seite 5

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

Seite 6

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

Seite 7

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

Seite 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

Seite 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

Seite 10

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

Seite 11 - 5. Summary

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

Seite 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

Kommentare zu diesen Handbüchern

Keine Kommentare