1. A system for processing data partitioned into blocks of data, each block of data being identified by an address, comprising: (a) addressable main memory means for storing the blocks of data; (b) a plurality of processor means for accessing the blocks of data, each of said processor means having addressable secondary memory means for storing a number of the blocks of data; (c) bus means for intercoupling said plurality of processor means with said addressable main memory means and for intercoupling each one of said plurality of processor means with any other of said plurality of processor means; and (d) wherein only one of said addressable main memory means and said plurality of processor means is a current owner of an address of a block of data, wherein said current owner has the correct data for the owned address, wherein ownership of an address is dynamically changeable among said addressable main memory means and said plurality of processor means, and wherein an address of a block of data has associated with it usage mode information identifying the use that can be made of the block of data.