A coprocessor is an auxiliary processing unit that is used to supplement the processing
power of a microprocessor. In short, a coprocessor is an add-
Early microprocessors struggled to provide sufficient functionality on a single silicon
chip You got a device that fetched instructions and executed instructions on integers.
A processor can be designed to delegate certain operations to one or more external
coprocessors. This takes requires two elements: a means of incorporating new instructions
into the existing coprocessor architecture and a means of communicating between the
processor and coprocessor. Ideally, these tasks should be invisible to the user and
Note that there is a difference between an accelerator and a coprocessor, although
both have the same function that is, to enhance performance. The accelerator improves
the performance of a system exactly like the coprocessor, but the accelerator is
not an extension of the processor’s architecture. It is usually a memory-
The microprocessor itself fetches instructions from memory, and, if an instruction is a coprocessor instruction, the CPU passes it to the coprocessor by means of a bus (which may or may not be dedicated). Moreover, the processor is normally responsible for fetching any data required by the coprocessor. .
Coprocessors for the ARM are connected to it via its data and control buses. When the ARM first encounters an instruction that is not part of its current instruction set, the ARM regards it as a potential coprocessor operation. It is treated only as an illegal instruction exception after it has failed to be accepted buy a coprocessor.
Moreover, because the ARM offers predicated instruction, an op-
When the ARM detects a potential coprocessor instruction, is asserts CPI, coprocessor instruction, which is monitored by all coprocessors in the system. A coprocessor can read the instruction from the data bus and check for both a valid coprocessor ID and a tag (one of 16). If there’s a match, the coprocessor responds by asserting CPA, coprocessor absent. Now the coprocessor can assert, CPB, to take control until its operation has been completed.