MaverickCrunch
Encyclopedia
The MaverickCrunch is a floating point math coprocessor core intended for digital audio. It was first presented by Cirrus Logic
Cirrus Logic
Cirrus Logic is a fabless semiconductor supplier specializing in analog, mixed-signal, and audio DSP integrated circuits . They are presently headquartered in Austin, Texas. Their audio processors and audio converters are found in many professional audio and consumer entertainment products,...

 in June 2000 together with an ARM920T integer processor in their 200MHz 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 1st, 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 multiple-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
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

 was submitted to the GNU Compiler Collection
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

by Red Hat/Cygnus Solutions in 2003 to include a code generator for it, complete with flags to work around its defects. Unfortunately these never worked well enough for it to be usable.

Several attempts have been made to fix this work:

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK