An apparatus and a method dynamically reassign resources in a coprocessor
among master processors that require service from the coprocessor. The
method includes each processor, in each processor cycle, keeping track of
a number of resource units required for executing operations sent to the
coprocessor in that processor cycle and receiving from the coprocessor a
number of resource units released during the processor cycle. When the
resources need to be reassigned, the coprocessor asserts a signal to the
resource yielding processor to cause it to reduce its expectation of
resources to zero and ceasing sending service requests to the
coprocessor. The coprocessor then moves resources from the yielding
processor to the resource receiving processor. Resources are then
released to both processors over time to their respective adjusted
resource allocations. Such resources may be the number of operations that
is allowed to be executing in the coprocessor simulataneously. It may
also be the number of physical registers that the processor can use in
its operations sent to the coprocessor.