This Article 
 Bibliographic References 
 Add to: 
Access and Alignment of Data in an Array Processor
December 1975 (vol. 24 no. 12)
pp. 1145-1155
D.H. Lawrie, Department of Computer Science, University of Illinois
This paper discusses the design of a primary memory system for an array processor which allows parallel, conflict-free access to various slices of data (e.g., rows, columns, diagonals, etc.), and subsequent alignment of these data for processing. Memory access requirements for an array processor are discussed in general terms and a set of common requirements are defined. The ability to meet these requirements is shown to depend on the number of independent memory units and on the mapping of the data in these memories. Next, the need to align these data for processing is demonstrated and various alignment requirements are defined. Hardware which can perform this alignment function is discussed, e.g., permutation, indexing, switching or sorting networks, and a network (the omega network) based on Stone's shuffle-exchange operation [1] is presented. Construction of this network is described and many of its useful properties are proven. Finally, as an example of these ideas, an array processor is shown which allows conflict-free access and alignment of rows, columns, diagonals, backward diagonals, and square blocks in row or column major order, as well as certain other special operations.
Index Terms:
Alignment network, array processor, array storage, conflict-free acess, data alignment, indexing network, omega network, parallel processing, permutation network, shuffle-exchange network, storage mapping, switching network.
D.H. Lawrie, "Access and Alignment of Data in an Array Processor," IEEE Transactions on Computers, vol. 24, no. 12, pp. 1145-1155, Dec. 1975, doi:10.1109/T-C.1975.224157
Usage of this product signifies your acceptance of the Terms of Use.