I had a computer with two different CPUs 6502 and Z80 that could actually ran them in parallel.
There is nothing new about the ability to have some functionality offloaded to another processing unit regardless of the architecture.
Thus, a system with an 8087 was capable of true parallel processing, performing one operation in the integer ALU of the main CPU while at the same time performing a floating-point operation in the 8087 coprocessor. Since the 8086 or 8088 exclusively controlled the instruction flow and timing and had no direct access to the internal status of the 8087, and because the 8087 could execute only one instruction at a time, programs for the combined 8086/8087 or 8088/8087 system had to ensure that the 8087 had time to complete the last instruction issued to it before it was issued another one.
https://en.wikipedia.org/wiki/Intel_8087#Design_and_developm...