Coprocessor
A chip used to reduce specific processing tasks of the system microprocessor. For example, a mathematical coprocessor can control digital processing, while a graphic coprocessor can process video rendering. For example, Intel Pentium microprocessor includes a built-in mathematical coprocessor.
Coprocessor can be attached to arm processors. A coprocessor extends the kernel processing functions by extending the instruction set or providing configuration registers. One or more coprocessors can be connected to the ARM Kernel through the coprocessor interface.
The coprocessor can be accessed through a set of dedicated arm commands that provide load-store interfaces. For example, the coprocessor 15 (CP15), the ARM processor uses the coprocessor 15 registers to control cache, TCM, and memory management.
The coprocessor can also extend the instruction set by providing a set of specialized new commands. For example, a set of special commands can be added to a standard arm instruction set to process vector floating point (VFP) operations.
These new commands are processed in the decoding phase of the arm assembly line. If a coprocessor instruction is found in the decoding phase, it is sent to the coprocessor of the response. If the coprocessor does not exist or does not know this command, arm considers that an undefined command exception has occurred. This also allows programmers to use software to simulate the behavior of the coprocessor (using the undefined command exception service sub- Program).
Before 80486cpu, there was a co-processor to improve the floating point computing capability. At that time, the CPU was weak and only available co-processor. Now the speed is more than hundreds of times that of the original, and the PC generally does not have a co-processor.