The Parallel Enumeration Sorting Scheme for VLSI

We propose a new parallel sorting scheme, called the parallel enumeration sorting scheme, which is suitable for VLSI implementation. This scheme can be introduced to conventional computer systems without changing their architecture. In this scheme, sorting is divided into two stages, the ordering process and the rearranging one. The latter can be efficiently performed by central processing units or intelligent memory devices. For implementations of the ordering process by VLSI technology, we design a new hardware algorithm of parallel enumeration sorting circuits whose processing time is linearly proportional to the number of data for sorting. Data are serially transmitted between the sorting circuit and memory devices and the total communication between them is minimized. The basic structure used in the algorithm is called a bus connected cellular array structure with pipeline and parallel processing. The circuit consists of a linear array of one type of simple cell and two buses connecting all cells for efficient global communications in the circuit. The sorting circuit is simple, regular and small enough for realization by today's VLSI technology. We discuss several applications of the sorting circuit and evaluate its performance.

[1]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[2]  Harold Lorin,et al.  Sorting and Sort Systems (The Systems programming series) , 1975 .

[3]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[4]  David E. Muller,et al.  Bounds to Complexities of Networks for Sorting and for Switching , 1975, JACM.

[5]  H. T. Kung The Structure of Parallel Algorithms , 1980, Adv. Comput..

[6]  Yuzuru Tanaka,et al.  Pipeline Searching and Sorting Modules as Components of a Data Flow Database Computer , 1980, IFIP Congress.

[7]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1976, STOC '76.

[8]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[9]  H. T. Kung,et al.  The Design of Special-Purpose VLSI Chips , 1980, Computer.

[10]  Vincent Y. Lum,et al.  The Rebound Sorter: An Efficient Sort Engine for Large Files , 1978, VLDB.

[11]  D. T. LEE,et al.  An On-Chip Compare/Steer Bubble Sorter , 1981, IEEE Transactions on Computers.

[12]  Sartaj Sahni,et al.  Bitonic Sort on a Mesh-Connected Parallel Computer , 1979, IEEE Transactions on Computers.

[13]  Amar Mukhopadhyay,et al.  Hardware Algorithms for Nonnumeric Computation , 1978, IEEE Transactions on Computers.

[14]  Franco P. Preparata,et al.  New Parallel-Sorting Schemes , 1978, IEEE Transactions on Computers.

[15]  Daniel S. Hirschberg Fast parallel sorting algorithms , 1978, CACM.

[16]  Chak-Kuen Wong,et al.  On the Complexity of Sorting in Magnetic Bubble Memory Systems , 1980, IEEE Transactions on Computers.