A multiprocessor computer architecture incorporating a plurality of
programmable hardware memory algorithm processors ("MAP") in the memory
subsystem. The MAP may comprise one or more field programmable gate
arrays ("FPGAs") which function to perform identified algorithms in
conjunction with, and tightly coupled to, a microprocessor and each MAP
is globally accessible by all of the system processors for the purpose of
executing user definable algorithms. A circuit within the MAP signals
when the last operand has completed its flow thereby allowing a given
process to be interrupted and thereafter restarted. Through the use of
read only memory ("ROM") located adjacent the FPGA, a user program may
use a single command to select one of several possible pre-loaded
algorithms thereby decreasing system reconfiguration time. A computer
system memory structure MAP disclosed herein may function in normal or
direct memory access ("DMA") modes of operation and, in the latter mode,
one device may feed results directly to another thereby allowing
pipelining or parallelizing execution of a user defined algorithm. The
system of the present invention also provides a user programmable
performance monitoring capability and utilizes parallelizer software to
automatically detect parallel regions of user applications containing
algorithms that can be executed in the programmable hardware.