1. A method for processing multi-dimensional data, the method comprising: receiving a set of data elements representing a multi-dimensional pixel array, each data element representing a single pixel; storing the set of data elements divided among a plurality of individually addressable data arrays, wherein each of the plurality of individually addressable data arrays comprises at most a single row that stores data elements from a sub-set of the set of data elements representing a multi-dimensional sub-array of the pixel array; simultaneously accessing the single row of each of the plurality of individually addressable data arrays by accessing separate address ports for each individually addressable data array to retrieve the complete sub-set of data elements in a single computational cycle; executing one or more instructions on the sub-set of data elements; and displaying a video or image processed by executing the one or more instructions on the sub-set of data elements.