Architectural tradeoffs in the design of VLSI-based associative memories

Abstract Associative memories and algorithms for performing various operations on them have been studied extensively over the past three decades. Speedup analyses offered for such algorithms are based on the assumption of a fixed cycle time for the associative memory, independent of size. Whereas this is acceptable for small capacities which have been practical in the past, the potential for realizing extremelyy large systems by exploiting advances in the VLSI technology necessitates a reexamination of the above premise. In this paper, we offer systolic designs for associative memories whose cyclestimes are realistically constant and independent of their size. The designs are based on well-known principles of pipelining and systolic operation using small building-block associative memories. Several alternative organizations, from a simple linear array to higher-dimensional meshes and trees are examined and evaluated with respect to cost, throughput, and response latency.

[1]  Wayne A. Davis,et al.  An O(n+k) Algorithm for Ordered Retrieval from an Associative Memory , 1988, IEEE Trans. Computers.

[2]  Hartmut Schmeck,et al.  Dictionary Machines for Different Models of VLSI , 1985, IEEE Transactions on Computers.

[3]  Vinod K. Agarwal,et al.  An Efficient Unsorted VLSI Dictionary Machine , 1985, IEEE Transactions on Computers.

[4]  Nicola Santoro,et al.  Optimal VLSI Dictionary Machines on Meshes , 1987, ICPP.

[5]  W. Stallings Reduced instruction set computer architecture , 1988 .

[6]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[7]  Sally A. Browning Computations on a Tree of Processors , 1979 .

[8]  H. T. Kung Why systolic architectures? , 1982, Computer.

[9]  Carver A. Mead,et al.  A novel associative memory implemented using collective computation , 1990 .

[10]  A. G. Hanlon Content-Addressable and Associative Memory Systems a Survey , 1966, IEEE Trans. Electron. Comput..

[11]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 1: Sorting and Searching , 2011, EATCS Monographs on Theoretical Computer Science.

[12]  Behrooz Parhami Associative memory designs for VLSI implementation , 1990, Proceedings. PARBASE-90: International Conference on Databases, Parallel Architectures, and Their Applications.

[13]  Oscar H. Ibarra,et al.  Systolic Tree Implementation of Data Structures , 1988, IEEE Trans. Computers.

[14]  Isaac D. Scherson,et al.  Multi-Operand Arithmetic in a Partitioned Associative Architecture , 1988, J. Parallel Distributed Comput..

[15]  Caxton C. Foster Content Addressable Parallel Processors , 1976 .

[16]  Guy E. Blelloch,et al.  Scans as Primitive Parallel Operations , 1989, ICPP.

[17]  Stanley Y. W. Su,et al.  Database computers : principles, architectures, and techniques , 1988 .

[18]  Stephen S. Yau,et al.  Associative Processor Architecture—a Survey , 1977, CSUR.

[19]  M. Pracchi,et al.  A critique of network speed in VLSI models of computation , 1982, IEEE Journal of Solid-State Circuits.

[20]  Behrooz Parhami,et al.  A study of fault tolerance techniques for associative processors , 1974, AFIPS '74.

[21]  Arnold L. Rosenberg,et al.  A Dictionary Machine (for VLSI) , 1982, IEEE Transactions on Computers.

[22]  Mikhail J. Atallah,et al.  A Generalized Dictionary Machine for VLSI , 1985, IEEE Transactions on Computers.

[23]  H. T. Kung,et al.  Systolic (VLSI) arrays for relational database operations , 1980, SIGMOD '80.

[24]  Teuvo Kohonen,et al.  Content-addressable memories , 1980 .

[25]  Michael J. Carey,et al.  An Efficient Implementation of Search Trees on [lg N + 1] Processors , 1984, IEEE Transactions on Computers.

[26]  Wayne A. Davis,et al.  Fast Search Algorithms for Associative Memories , 1986, IEEE Transactions on Computers.

[27]  Adin D. Falkoff Algorithms for Parallel-Search Memories , 1962, JACM.

[28]  C. V. Ramamoorthy,et al.  A Design of a Fast Cellular Associative Memory for Ordered Retrieval , 1978, IEEE Transactions on Computers.

[29]  Howard Jay Siegel,et al.  Interconnection networks for large-scale parallel processing: theory and case studies (2nd ed.) , 1985 .

[30]  Behrooz Parhami,et al.  Design of fault-tolerant associative processors , 1973, ISCA 1973.

[31]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[32]  David K. Hsiao Data Base Computers , 1980, Adv. Comput..

[33]  Michael C. Loui,et al.  Dictionary Machines on Cube-Class Networks , 1987, IEEE Transactions on Computers.

[34]  Lawrence Chisvin,et al.  Content-addressable and associative memory: alternatives to the ubiquitous RAM , 1989, Computer.

[35]  Lawrence Snyder,et al.  Bounds on minimax edge length for complete binary trees , 1981, STOC '81.

[36]  A. E. Slade,et al.  A cryotron catalog memory system , 1956, AIEE-IRE '56 (Eastern).

[37]  Pankaj Goyal,et al.  Dictionary Machine with Improved Performance , 1988, Comput. J..

[38]  Caxton C. Foster,et al.  Titanic: a VLSI based content addressable parallel array processor , 1982 .

[39]  Behrooz Parhami Systolic Associative Memories , 1990, ICPP.

[40]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[41]  Behrooz Parhami A highly parallel computing system for information retrieval , 1972, AFIPS '72 (Fall, part II).

[42]  Prithviraj Banerjee,et al.  A fault secure dictionary machine , 1987, 1987 IEEE Third International Conference on Data Engineering.

[43]  Siang Wun Song A highly concurrent tree machine for database applications , 1989 .

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

[45]  Behrooz Parhami,et al.  Associative memories and processors: An overview and selected bibliography , 1973 .

[46]  Allan L. Fisher Dictionary machines with a small number of processors , 1984, ISCA 1984.

[47]  Esen A. Ozkarahan Database machines and database management , 1986 .

[48]  Bernard Chazelle,et al.  A Model of Computation for VLSI with Related Complexity Results , 1985, J. ACM.