Path: utzoo!attcan!uunet!ncrlnk!ncrcae!hubcap!gatech!ncar!tank!uxc!uxc.cso.uiuc.edu!mcdurb!aglew From: aglew@mcdurb.Urbana.Gould.COM Newsgroups: comp.arch Subject: Re: Content Addressible Memories Message-ID: <28200250@mcdurb> Date: 16 Dec 88 18:48:00 GMT References: <367@enint.Wichita.NCR.COM> Lines: 25 Nf-ID: #R:enint.Wichita.NCR.COM:367:mcdurb:28200250:000:1361 Nf-From: mcdurb.Urbana.Gould.COM!aglew Dec 16 12:48:00 1988 >/* Written 10:36 am Dec 15, 1988 by gsarff@meph.UUCP in mcdurb:comp.arch */ >The languages SNOBOL4,SPITBOL (and others of their relations) and the language >Icon all have associative tables as first class data structures, i.e. they >can be passed as arguments to functions, returned as results, assigned, >compared, an entire table can be an element of a larger aggregate type such >as a field in a record, an array element etc. CAM's sound ideal for this >since these languages pass around descriptors for these tables rather than >the tables themselves and the elements in the tables are also descriptors >that would fit into CAM memory locations. CAMs would be ideal for this, if they were large enough. Imagine trying to program on a machine where you had 64K of registers, that could not be indirectly addressed, and 256 words of randomly addressable memory. If you wanted to do things like indexing you would constantly be swapping stuff from the non-randomly-addressable memory to the randomly addressable memory. Unless you had a really good compiler that made this transparent, it would eventually become so onerous that you would try some other way, and even if the compiler were good it would probably be slow. Ideally, the entire memory would be both content and randomly addressable. Machines like the Connection Machine make this possible.