A coprocessor provides auxiliary functions or features that the main processor does not have. These might include floating point support or hardware encryption. A coprocessor is generally not usable without its main processor, whereas a processor may function in a crippled or less powerful form without a coprocessor. An example of a processor and a coprocessor pair would be the 80386 and the 80387.