ArticleslgStudy

science

MaverickCrunch

MaverickCrunch is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand MaverickCrunch rather than just read about it. In short: The MaverickCrunch is a floating point math coprocessor core intended for digital audio. It was first presented by Cirrus Logic in June 2000 together with an ARM920T integer processor in their 200 MHz EP9302, EP9307, EP9312, and EP9315 System-on-Chip integrated circuits.

MaverickCrunch — main illustration
MaverickCrunch — illustration

Key takeaways

  • MaverickCrunch belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect MaverickCrunch to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of MaverickCrunch from memory before moving on to harder problems.

Reference excerpt

The MaverickCrunch is a floating point math coprocessor core intended for digital audio. It was first presented by Cirrus Logic in June 2000 together with an ARM920T integer processor in their 200 MHz EP9302, EP9307, EP9312, and EP9315 System-on-Chip integrated circuits. Plagued with hardware bugs and poor compiler support, it was seldom used in any of the devices based on those chips and the product line was discontinued on April 1, 2008.

Features The coprocessor has 16 64-bit registers which can be used for 32- or 64-bit integer and floating point operations and its floating point format is based on the IEEE-754 standard. It has its own instruction set which performs floating point addition, subtraction, multiplication, negation, absolute value, and comparisons as well as addition, multiplication and bit shifts on integers. It also has four 72-bit registers on which can perform a 32-bit multiply-and-accumulate instruction and a status register, as well as conversions between integer and floating point values and instructions to move data between itself and the ARM registers or memory. It operates in parallel with the main processor, both processors receiving their instructions from a single 32-bit instruction stream. Thus, to use it efficiently, integer and floating point instructions must be interleaved so as to keep both processors busy.

Hardware bugs

Five versions of the EP93xx silicon were issued: "D0" and "D1"/"E0"/"E1" and "E2", with major revisions to the MaverickCrunch core between D0 and D1 to fix its worst bugs. All have a dozen or more hardware bugs which either give imprecise or garbage results or clobber registers or memory when certain sequences of instructions are executed in a certain order.

Compiler support A set of patches was submitted to the GNU Compiler Collection by Red Hat/Cygnus Solutions in 2003 to include a code generator for it, complete with flags to work around its defects. However, these never worked well enough for it to be usable. It was removed by GCC 4.8 (Sept. 2012). Several attempts have been made to fix this work:

Cirrus Logic's Crunch tools, a repackaging of GNU tools modified by Nucleusys of Bulgaria (or was it they who did the work later submitted by RedHat?) The futaris patches for gcc 4.1.2 and 4.2.0, packaged for Open Embedded Martin Guy's gcc-crunch patches and native compilers, a development of the futaris patches, which generate reliable code and pass all testsuites.

References

External links Chapter 2 of the EP9307 Users Guide Optimizing Code Speed for the MaverickCrunch Coprocessor [1] Reportedly many issues with the implementation on the chip. Cirrus Logic's Errata for EP93XX A detailed article on the Debian Wiki exploring its problematic features, hardware bugs and the state of GCC support. Patched versions of GCC capable of generating reliable MaverickCrunch code Debian packages recompiled with MaverickCrunch acceleration

Illustrations

MaverickCrunch: A Cirrus Logic EP9315 chip containing a MaverickCrunch FPU
A Cirrus Logic EP9315 chip containing a MaverickCrunch FPU

Worked examples

Example 1 — a first encounter with MaverickCrunch

Start with the simplest possible case. Write down what MaverickCrunch claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to MaverickCrunch before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about MaverickCrunch ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of MaverickCrunch

In research
MaverickCrunch appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses MaverickCrunch in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
MaverickCrunch is common in secondary-school and first-year university syllabi. It links to neighbouring topics Digital signal processors, Floating point unit, so understanding it makes those chapters shorter.
In everyday life
Look for MaverickCrunch outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study MaverickCrunch in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what MaverickCrunch means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain MaverickCrunch out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is MaverickCrunch in simple terms?

The MaverickCrunch is a floating point math coprocessor core intended for digital audio. It was first presented by Cirrus Logic in June 2000 together with an ARM920T integer processor in their 200 MHz EP9302, EP9307, EP9312, and EP9315 System-on-Chip integrated circuits.

Why does MaverickCrunch matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study MaverickCrunch?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on MaverickCrunch.

Tags

  • Digital signal processors
  • Floating point unit

Keep exploring