05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A4.10 Coprocessor instructions<br />

The Instruction Sets<br />

There are three types of instruction for communicating with coprocessors. These permit the processor to:<br />

Initiate a coprocessor data-processing operation. For details see CDP, CDP2 on page A8-68.<br />

Transfer general-purpose registers to <strong>and</strong> from coprocessor registers. For details, see:<br />

— MCR, MCR2 on page A8-186<br />

— MCRR, MCRR2 on page A8-188<br />

— MRC, MRC2 on page A8-202<br />

— MRRC, MRRC2 on page A8-204.<br />

Load or store the values of coprocessor registers. For details, see:<br />

— LDC, LDC2 (immediate) on page A8-106<br />

— LDC, LDC2 (literal) on page A8-108<br />

— STC, STC2 on page A8-372.<br />

The instruction set distinguishes up to 16 coprocessors with a 4-bit field in each coprocessor instruction, so<br />

each coprocessor is assigned a particular number.<br />

Note<br />

One coprocessor can use more than one of the 16 numbers if a large coprocessor instruction set is required.<br />

Coprocessors 10 <strong>and</strong> 11 are used, together, for VFP <strong>and</strong> some Advanced SIMD functionality. There are<br />

different instructions for accessing these coprocessors, of similar types to the instructions for the other<br />

coprocessors, that is, to:<br />

Initiate a coprocessor data-processing operation. For details see VFP data-processing instructions on<br />

page A4-38.<br />

Transfer general-purpose registers to <strong>and</strong> from coprocessor registers. For details, see Advanced SIMD<br />

<strong>and</strong> VFP register transfer instructions on page A4-29.<br />

Load or store the values of coprocessor registers. For details, see Advanced SIMD <strong>and</strong> VFP load/store<br />

instructions on page A4-26.<br />

Coprocessors execute the same instruction stream as the processor, ignoring non-coprocessor instructions<br />

<strong>and</strong> coprocessor instructions for other coprocessors. Coprocessor instructions that cannot be executed by<br />

any coprocessor hardware cause an Undefined Instruction exception.<br />

For more information about specific coprocessors see Coprocessor support on page A2-68.<br />

<strong>ARM</strong> DDI 0406B Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. A4-25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!