Abstract
This chapter addresses the design of two-level pipelined processor arrays. The parallelism of algorithms is exploited both in word-level and in bit-level operations. Given an algorithm in the form of a Fortran-like nested loop program, a two-step procedure is applied. First, any word-level parallelism is exploited by using loop transformation techniques, which include a uniformization method, if required, and a decomposition of the index space into disjoint sets, which may be executed in parallel. Second, the architecture of the processing element is specified in detail by analyzing its operation at the bit level. Processors using any arithmetic system may be described. The overall design methodology is illustrated by systematically deriving a processor array for the one-dimensional (1-D) convolution algorithm. It is based on an inner product step processor that utilizes residue number system arithmetic.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Birbas, D. Soudris, and C. Goutis. Design methodology for mapping iterative algorithms on array architectures. Proc. IEEE Int. Symp. on Circuits and Systems, Singapore, pages 3058–3061, 1991.
J. Bu. Systematic design of regular VLSI processor arrays. PhD thesis, Delft Univ. of Technology, May 1990.
E. D‘Hollander. Partitioning and labeling of index sets in do loops with constant dependence vectors. Proc. IEEE Int. Conf. on Parallel Processing, Vol. II, pages 139–144, 1989.
K. Hwang. Computer arithmetic: principles, architecture, and design. John WileyaaaaSons Inc., New York, 1979.
R. Karp, R. Miller, and S. Winograd. The organization for uniform recurrence equations. Journal of the Association for Computing Machinery, 14, pages 563–590, 1967.
H. T. Kung and M. Lam. Wafer-scale integration and two-level pipelined implementations of systolic arrays. Journal of Parallel and Distributed Computing, pages 32–63, 1984.
H. T. Kung and C. Leiserson. Systolic arrays for VLSI. SIAM Sparse Matrix Proceedings, pages 245–282, Nov 1978.
S. Y. Kung. VLSI Array Processors. Prentice-Hall, New Jersey, 1988.
E. Kyriakis-Bitzaros and C. Goutis. An efficient decomposition technique for mapping nested loops with constant dependencies onto regular array processors. Journal Parallel and Distributed Computing, 16, pages 258–264, 1992.
L. Lamport. The parallel execution of do loops. Com. of ACM, pages 83–93, Feb 1974.
J. McCanny, J. McWhirter, and S. Kung. The use of data dependence graphs in the design of bit-level systolic arrays. IEEE Trans, on Acoustics, Speech, and Signal Processing, 38, pages 787–793, May 1990.
D. Moldovan and J. Fortes, Partitioning and mapping algorithms into fixed size systolic arrays. IEEE Trans, on Computers, C-35, pages 1–12, 1986.
V. Paliouras, D. Soudris, and T. Stouraitis. Systematic derivation of the processing element of a systolic array based on residue number system. Proc. IEEE Int. Symp. on Circuits and Systems, San Diego, CA, 1992.
C. Papadimitriou and K. Steiglitz. Combinatorial optimization, algorithms and complexity. Prentice Hall, New Jersey, 1982.
J. Peir and R. Cytron. Minimum distance: a method for partitioning recurrences for multiprocessors. IEEE Trans, on Computers, C-38, number 8, pages 1203–1211, 1989.
C. Polychronopoulos. Parallel programming and compilers. Kluwer Academic Publishers, Boston, 1988.
P. Quinton and V. Van Dongen. The mapping of linear recurrence equations on regular arrays. Journal of VLSI Signal Processing, 1, pages 95–113, Kluwer, Boston, 1989.
S. Rajopadhye. Synthesizing systolic arrays with control signals from recurrence equations. Distributed Computing, 3, pages 88–105, 1989.
S. Rao and T. Kailath. Regular iterative algorithms and their implementation on processor arrays. Proc. of IEEE, 76, number 3, pages 259–269, 1988.
V. Roychowdhury, S. Rao, L. Thiele, and T. Kailath. On the localization of algorithms for VLSI processor arrays. In R. Brodersen, H. Moscovitz, editors, VLSI Signal Processing III, pages 459–470, IEEE Press, 1988.
W. Shang and J. Fortes. Independent partitioning of algorithms with uniform dependencies. Proc. of Int. Conf. on Parallel Processing, Vol. II, pages 26–33, 1988.
D. Soudris and C. Goutis. Mapping nested loops with if statements. ESPRIT 3281 technical report, PU/M30/C2/4 L. Svensson, editor, IMEC,Belgium, Feb 1992.
F. Taylor. Residue arithmetic: a tutorial with examples. IEEE Computer Magazine, pages 40–62, May 1984.
L. Thiele. On hierarchical design of VLSI processor arrays. Proc. IEEE Int. Symp. on Circuits and Systems, pages 2517–2520,1988.
V. Van Dongen. Quasi-regular arrays: definition and design methodology. Proc. IEEE Int. Conf. on Systolic Arrays, 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer Science+Business Media New York
About this chapter
Cite this chapter
Soudris, D.J., Kyriakis-Bitzaros, E.D., Paliouras, V.R., Birbas, M.K., Stouraitis, T., Goutis, C.E. (1993). On the Design of Two-Level Pipelined Processor Arrays. In: Catthoor, F., Svensson, L. (eds) Application-Driven Architecture Synthesis. The Kluwer International Series in Engineering and Computer Science, vol 228. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-3242-2_5
Download citation
DOI: https://doi.org/10.1007/978-1-4615-3242-2_5
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-6425-2
Online ISBN: 978-1-4615-3242-2
eBook Packages: Springer Book Archive